@roomle/web-sdk 2.30.0 → 2.31.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/lib/banana-for-scale-141aac17.nomodule.js +2 -0
  2. package/lib/{banana-for-scale-6039ec99.nomodule.js.map → banana-for-scale-141aac17.nomodule.js.map} +1 -1
  3. package/lib/banana-for-scale-22914fa9.js +2 -0
  4. package/lib/{banana-for-scale-e0f3ceb7.js.map → banana-for-scale-22914fa9.js.map} +1 -1
  5. package/lib/{budgeteer-measure-8cfea554.js → budgeteer-measure-700b4d27.js} +2 -2
  6. package/lib/{budgeteer-measure-8cfea554.js.map → budgeteer-measure-700b4d27.js.map} +1 -1
  7. package/lib/budgeteer-measure.nomodule.js +1 -1
  8. package/lib/{component-dimensioning-a07c783b.nomodule.js → component-dimensioning-5e747b61.nomodule.js} +2 -2
  9. package/lib/component-dimensioning-5e747b61.nomodule.js.map +1 -0
  10. package/lib/{component-dimensioning-693bfa2f.js → component-dimensioning-fb7c1c69.js} +2 -2
  11. package/lib/component-dimensioning-fb7c1c69.js.map +1 -0
  12. package/lib/configurator-ac4b6505.js +2 -0
  13. package/lib/configurator-ac4b6505.js.map +1 -0
  14. package/lib/configurator-cefab5fe.nomodule.js +2 -0
  15. package/lib/configurator-cefab5fe.nomodule.js.map +1 -0
  16. package/lib/configurator-main-5779d018.js +2 -0
  17. package/lib/configurator-main-5779d018.js.map +1 -0
  18. package/lib/configurator-main.nomodule.js +1 -1
  19. package/lib/configurator-mesh-generator-5cd4381f.js +2 -0
  20. package/lib/configurator-mesh-generator-5cd4381f.js.map +1 -0
  21. package/lib/configurator-mesh-generator-719634c2.nomodule.js +2 -0
  22. package/lib/configurator-mesh-generator-719634c2.nomodule.js.map +1 -0
  23. package/lib/{default-light-setting-f8d25c8f.nomodule.js → default-light-setting-0cfc3fcd.nomodule.js} +2 -2
  24. package/lib/default-light-setting-0cfc3fcd.nomodule.js.map +1 -0
  25. package/lib/{default-light-setting-82c45035.js → default-light-setting-4c3fa180.js} +2 -2
  26. package/lib/default-light-setting-4c3fa180.js.map +1 -0
  27. package/lib/definitions/common-core/mock/kernel-instances.d.ts +4 -1
  28. package/lib/definitions/common-core/src/kernel-access.d.ts +4 -10
  29. package/lib/definitions/common-core/src/services/common-kernel-access.d.ts +18 -2
  30. package/lib/definitions/common-core/src/utils/init-data.d.ts +0 -2
  31. package/lib/definitions/common-core/src/utils/shims.d.ts +0 -11
  32. package/lib/definitions/common-core/src/utils/threejs-utils.d.ts +1 -0
  33. package/lib/definitions/common-core/src/webgl/layer.d.ts +1 -1
  34. package/lib/definitions/common-core/src/webgl/roomle-component-factory.d.ts +1 -1
  35. package/lib/definitions/common-core/src/webgl/scene-manager.d.ts +19 -8
  36. package/lib/definitions/configurator-core/mock/configurator-mock-data.d.ts +1 -0
  37. package/lib/definitions/configurator-core/src/roomle-configurator.d.ts +8 -8
  38. package/lib/definitions/configurator-core/src/static-files/geometries.d.ts +0 -3
  39. package/lib/definitions/configurator-core/src/webgl/configurator-scene-event-handler.d.ts +1 -3
  40. package/lib/definitions/configurator-core/src/webgl/{scene-helper.d.ts → configurator-scene-manager.d.ts} +18 -77
  41. package/lib/definitions/glb-viewer-core/src/webgl/glb-viewer-scene-manager.d.ts +1 -1
  42. package/lib/definitions/material-viewer/src/webgl/material-viewer-scene-manager.d.ts +1 -1
  43. package/lib/definitions/planner-core/src/roomle-planner.d.ts +32 -3
  44. package/lib/definitions/planner-core/src/services/planner-kernel-access.d.ts +0 -1
  45. package/lib/definitions/planner-core/src/view-model/node-plan-element-view-model.d.ts +6 -0
  46. package/lib/definitions/planner-core/src/view-model/plan-view-model.d.ts +6 -1
  47. package/lib/definitions/planner-core/src/view-model/wall-plan-element-view-model.d.ts +1 -0
  48. package/lib/definitions/planner-core/src/webgl/planner-scene-manager.d.ts +1 -1
  49. package/lib/definitions/typings/kernel.d.ts +4 -1
  50. package/lib/definitions/typings/planner.d.ts +16 -0
  51. package/lib/dimensioning-helper-154cc3a1.nomodule.js +2 -0
  52. package/lib/dimensioning-helper-154cc3a1.nomodule.js.map +1 -0
  53. package/lib/dimensioning-helper-3358a318.js +2 -0
  54. package/lib/dimensioning-helper-3358a318.js.map +1 -0
  55. package/lib/glb-viewer-79f4e8f2.nomodule.js +2 -0
  56. package/lib/{glb-viewer-15affc03.nomodule.js.map → glb-viewer-79f4e8f2.nomodule.js.map} +1 -1
  57. package/lib/glb-viewer-f03a2567.js +2 -0
  58. package/lib/{glb-viewer-7d23d927.js.map → glb-viewer-f03a2567.js.map} +1 -1
  59. package/lib/glb-viewer-main-0f214277.js +2 -0
  60. package/lib/glb-viewer-main-0f214277.js.map +1 -0
  61. package/lib/glb-viewer-main.nomodule.js +1 -1
  62. package/lib/image-renderer-2ef5040e.nomodule.js +2 -0
  63. package/lib/{image-renderer-c9c4c8f7.nomodule.js.map → image-renderer-2ef5040e.nomodule.js.map} +1 -1
  64. package/lib/image-renderer-aec6bf8b.js +2 -0
  65. package/lib/{image-renderer-6fc71da8.js.map → image-renderer-aec6bf8b.js.map} +1 -1
  66. package/lib/legacy/banana-for-scale-facecaed.legacy.js +2 -0
  67. package/lib/legacy/{banana-for-scale-e8b915f1.legacy.js.map → banana-for-scale-facecaed.legacy.js.map} +1 -1
  68. package/lib/legacy/budgeteer-measure.legacy.js +1 -1
  69. package/lib/legacy/{component-dimensioning-48101456.legacy.js → component-dimensioning-4caad30b.legacy.js} +2 -2
  70. package/lib/legacy/component-dimensioning-4caad30b.legacy.js.map +1 -0
  71. package/lib/legacy/configurator-8891cab5.legacy.js +2 -0
  72. package/lib/legacy/configurator-8891cab5.legacy.js.map +1 -0
  73. package/lib/legacy/configurator-main.legacy.js +1 -1
  74. package/lib/legacy/configurator-mesh-generator-d7c0f722.legacy.js +2 -0
  75. package/lib/legacy/configurator-mesh-generator-d7c0f722.legacy.js.map +1 -0
  76. package/lib/legacy/{default-light-setting-36654912.legacy.js → default-light-setting-f9c0f379.legacy.js} +2 -2
  77. package/lib/legacy/default-light-setting-f9c0f379.legacy.js.map +1 -0
  78. package/lib/legacy/dimensioning-helper-a8aa1a40.legacy.js +2 -0
  79. package/lib/legacy/dimensioning-helper-a8aa1a40.legacy.js.map +1 -0
  80. package/lib/legacy/glb-viewer-4f36a579.legacy.js +2 -0
  81. package/lib/legacy/{glb-viewer-bb4c879c.legacy.js.map → glb-viewer-4f36a579.legacy.js.map} +1 -1
  82. package/lib/legacy/glb-viewer-main.legacy.js +1 -1
  83. package/lib/legacy/image-renderer-b41c524a.legacy.js +2 -0
  84. package/lib/legacy/{image-renderer-0dcc5d03.legacy.js.map → image-renderer-b41c524a.legacy.js.map} +1 -1
  85. package/lib/legacy/{main-thread-to-worker-4c02f179.legacy.js → main-thread-to-worker-fb98950d.legacy.js} +2 -2
  86. package/lib/legacy/main-thread-to-worker-fb98950d.legacy.js.map +1 -0
  87. package/lib/legacy/material-viewer-7fab7335.legacy.js +2 -0
  88. package/lib/legacy/material-viewer-7fab7335.legacy.js.map +1 -0
  89. package/lib/legacy/material-viewer-main.legacy.js +1 -1
  90. package/lib/legacy/mesh-generator-e286194e.legacy.js +2 -0
  91. package/lib/legacy/mesh-generator-e286194e.legacy.js.map +1 -0
  92. package/lib/legacy/pixotron-2fe30835.legacy.js +2 -0
  93. package/lib/legacy/pixotron-2fe30835.legacy.js.map +1 -0
  94. package/lib/legacy/planner-68d375ba.legacy.js +2 -0
  95. package/lib/legacy/{planner-6fcb9010.legacy.js.map → planner-68d375ba.legacy.js.map} +1 -1
  96. package/lib/legacy/planner-main.legacy.js +1 -1
  97. package/lib/legacy/rapi-access-2a5f0d6e.legacy.js +16 -0
  98. package/lib/legacy/{rapi-access-3c63c74b.legacy.js.map → rapi-access-2a5f0d6e.legacy.js.map} +1 -1
  99. package/lib/legacy/roomle-sdk.legacy.js +1 -1
  100. package/lib/legacy/static/ConfiguratorKernel-2d65fb351a47e14f.wasm +0 -0
  101. package/lib/legacy/static/{ConfiguratorKernel-4ca6a302619d4901.js → ConfiguratorKernel-b3f9bde09ca9cb82.js} +3 -3
  102. package/lib/legacy/static/ConfiguratorKernelJs-0e232fcb92bd0fdf.js +143 -0
  103. package/lib/legacy/static/ConfiguratorKernelJs-5f8ff2d9e58b1c2e.mem +0 -0
  104. package/lib/legacy/static/RoomleCore-142e8c50aaf95e25.wasm +0 -0
  105. package/lib/legacy/static/{RoomleCore-0b27042fad1c1d39.js → RoomleCore-7aae58649d719a05.js} +4 -4
  106. package/lib/legacy/static/RoomleCoreJs-28f57d562097ad09.js +151 -0
  107. package/lib/legacy/static/RoomleCoreJs-7129d0003a480c2c.mem +0 -0
  108. package/lib/legacy/static/shaders-36d0319326c4463c.json +1 -0
  109. package/lib/legacy/{stats-helper-bf66b858.legacy.js → stats-helper-8a009d9b.legacy.js} +2 -2
  110. package/lib/legacy/{stats-helper-bf66b858.legacy.js.map → stats-helper-8a009d9b.legacy.js.map} +1 -1
  111. package/lib/{main-thread-to-worker-4fc95d50.nomodule.js → main-thread-to-worker-97315397.nomodule.js} +2 -2
  112. package/lib/main-thread-to-worker-97315397.nomodule.js.map +1 -0
  113. package/lib/{main-thread-to-worker-5447c1c5.js → main-thread-to-worker-9d399850.js} +2 -2
  114. package/lib/main-thread-to-worker-9d399850.js.map +1 -0
  115. package/lib/material-viewer-35a1667b.js +2 -0
  116. package/lib/material-viewer-35a1667b.js.map +1 -0
  117. package/lib/material-viewer-e9a19afe.nomodule.js +2 -0
  118. package/lib/material-viewer-e9a19afe.nomodule.js.map +1 -0
  119. package/lib/material-viewer-main-7584b24f.js +2 -0
  120. package/lib/material-viewer-main-7584b24f.js.map +1 -0
  121. package/lib/material-viewer-main.nomodule.js +1 -1
  122. package/lib/mesh-generator-d641da46.nomodule.js +2 -0
  123. package/lib/mesh-generator-d641da46.nomodule.js.map +1 -0
  124. package/lib/mesh-generator-e8cdc7cf.js +2 -0
  125. package/lib/mesh-generator-e8cdc7cf.js.map +1 -0
  126. package/lib/pixotron-9b23daa3.nomodule.js +2 -0
  127. package/lib/pixotron-9b23daa3.nomodule.js.map +1 -0
  128. package/lib/pixotron-f16e92fe.js +2 -0
  129. package/lib/pixotron-f16e92fe.js.map +1 -0
  130. package/lib/planner-92cd02ad.js +2 -0
  131. package/lib/{planner-7825b896.js.map → planner-92cd02ad.js.map} +1 -1
  132. package/lib/planner-e2d8f4ac.nomodule.js +2 -0
  133. package/lib/{planner-714bb53f.nomodule.js.map → planner-e2d8f4ac.nomodule.js.map} +1 -1
  134. package/lib/planner-main-994ac088.js +2 -0
  135. package/lib/planner-main-994ac088.js.map +1 -0
  136. package/lib/planner-main.nomodule.js +1 -1
  137. package/lib/rapi-access-184c82bc.js +16 -0
  138. package/lib/{rapi-access-6aa6bee0.js.map → rapi-access-184c82bc.js.map} +1 -1
  139. package/lib/rapi-access-5df63b00.nomodule.js +16 -0
  140. package/lib/{rapi-access-a4deb335.nomodule.js.map → rapi-access-5df63b00.nomodule.js.map} +1 -1
  141. package/lib/{roomle-sdk-b6d056a3.js → roomle-sdk-8880667c.js} +2 -2
  142. package/lib/roomle-sdk-8880667c.js.map +1 -0
  143. package/lib/roomle-sdk.nomodule.js +1 -1
  144. package/lib/static/ConfiguratorKernel-2d65fb351a47e14f.wasm +0 -0
  145. package/lib/static/{ConfiguratorKernel-4ca6a302619d4901.js → ConfiguratorKernel-b3f9bde09ca9cb82.js} +1 -1
  146. package/lib/static/ConfiguratorKernel-b3f9bde09ca9cb82.js.map +1 -0
  147. package/lib/static/ConfiguratorKernelJs-0e232fcb92bd0fdf.js +143 -0
  148. package/lib/static/ConfiguratorKernelJs-5f8ff2d9e58b1c2e.mem +0 -0
  149. package/lib/static/RoomleCore-142e8c50aaf95e25.wasm +0 -0
  150. package/lib/static/{RoomleCore-0b27042fad1c1d39.js → RoomleCore-7aae58649d719a05.js} +1 -1
  151. package/lib/static/RoomleCore-7aae58649d719a05.js.map +1 -0
  152. package/lib/static/RoomleCoreJs-28f57d562097ad09.js +151 -0
  153. package/lib/static/RoomleCoreJs-7129d0003a480c2c.mem +0 -0
  154. package/lib/static/shaders-36d0319326c4463c.json +1 -0
  155. package/lib/{stats-helper-38be1e59.nomodule.js → stats-helper-68cb7b1c.nomodule.js} +2 -2
  156. package/lib/{stats-helper-38be1e59.nomodule.js.map → stats-helper-68cb7b1c.nomodule.js.map} +1 -1
  157. package/lib/{stats-helper-3bba9132.js → stats-helper-fa2b0d75.js} +2 -2
  158. package/lib/{stats-helper-3bba9132.js.map → stats-helper-fa2b0d75.js.map} +1 -1
  159. package/package.json +2 -2
  160. package/lib/banana-for-scale-6039ec99.nomodule.js +0 -2
  161. package/lib/banana-for-scale-e0f3ceb7.js +0 -2
  162. package/lib/component-dimensioning-693bfa2f.js.map +0 -1
  163. package/lib/component-dimensioning-a07c783b.nomodule.js.map +0 -1
  164. package/lib/configurator-82d6aac4.nomodule.js +0 -2
  165. package/lib/configurator-82d6aac4.nomodule.js.map +0 -1
  166. package/lib/configurator-c8121d36.js +0 -2
  167. package/lib/configurator-c8121d36.js.map +0 -1
  168. package/lib/configurator-main-5578f7c1.js +0 -2
  169. package/lib/configurator-main-5578f7c1.js.map +0 -1
  170. package/lib/configurator-mesh-generator-202a8152.nomodule.js +0 -2
  171. package/lib/configurator-mesh-generator-202a8152.nomodule.js.map +0 -1
  172. package/lib/configurator-mesh-generator-31a1f944.js +0 -2
  173. package/lib/configurator-mesh-generator-31a1f944.js.map +0 -1
  174. package/lib/default-light-setting-82c45035.js.map +0 -1
  175. package/lib/default-light-setting-f8d25c8f.nomodule.js.map +0 -1
  176. package/lib/definitions/configurator-core/src/utils/addon-helper.d.ts +0 -39
  177. package/lib/definitions/configurator-core/src/webgl/environment/gltf-environment.d.ts +0 -18
  178. package/lib/dimensioning-helper-d3a04793.nomodule.js +0 -2
  179. package/lib/dimensioning-helper-d3a04793.nomodule.js.map +0 -1
  180. package/lib/dimensioning-helper-e6829ce0.js +0 -2
  181. package/lib/dimensioning-helper-e6829ce0.js.map +0 -1
  182. package/lib/glb-viewer-15affc03.nomodule.js +0 -2
  183. package/lib/glb-viewer-7d23d927.js +0 -2
  184. package/lib/glb-viewer-main-52c3545c.js +0 -2
  185. package/lib/glb-viewer-main-52c3545c.js.map +0 -1
  186. package/lib/image-renderer-6fc71da8.js +0 -2
  187. package/lib/image-renderer-c9c4c8f7.nomodule.js +0 -2
  188. package/lib/legacy/banana-for-scale-e8b915f1.legacy.js +0 -2
  189. package/lib/legacy/component-dimensioning-48101456.legacy.js.map +0 -1
  190. package/lib/legacy/configurator-680166a3.legacy.js +0 -2
  191. package/lib/legacy/configurator-680166a3.legacy.js.map +0 -1
  192. package/lib/legacy/configurator-mesh-generator-60b80890.legacy.js +0 -2
  193. package/lib/legacy/configurator-mesh-generator-60b80890.legacy.js.map +0 -1
  194. package/lib/legacy/default-light-setting-36654912.legacy.js.map +0 -1
  195. package/lib/legacy/dimensioning-helper-9f04bd0f.legacy.js +0 -2
  196. package/lib/legacy/dimensioning-helper-9f04bd0f.legacy.js.map +0 -1
  197. package/lib/legacy/glb-viewer-bb4c879c.legacy.js +0 -2
  198. package/lib/legacy/image-renderer-0dcc5d03.legacy.js +0 -2
  199. package/lib/legacy/main-thread-to-worker-4c02f179.legacy.js.map +0 -1
  200. package/lib/legacy/material-viewer-3e1c757c.legacy.js +0 -2
  201. package/lib/legacy/material-viewer-3e1c757c.legacy.js.map +0 -1
  202. package/lib/legacy/mesh-generator-06dd33ab.legacy.js +0 -2
  203. package/lib/legacy/mesh-generator-06dd33ab.legacy.js.map +0 -1
  204. package/lib/legacy/pixotron-5df83bdf.legacy.js +0 -2
  205. package/lib/legacy/pixotron-5df83bdf.legacy.js.map +0 -1
  206. package/lib/legacy/planner-6fcb9010.legacy.js +0 -2
  207. package/lib/legacy/rapi-access-3c63c74b.legacy.js +0 -16
  208. package/lib/legacy/scene-manager-1943ea73.legacy.js +0 -2
  209. package/lib/legacy/scene-manager-1943ea73.legacy.js.map +0 -1
  210. package/lib/legacy/static/AddButtonRound-8004fa7dffdf7501.glb +0 -0
  211. package/lib/legacy/static/ConfiguratorKernel-6713e1de96ef978c.wasm +0 -0
  212. package/lib/legacy/static/ConfiguratorKernelJs-48f878d7e377be5f.mem +0 -0
  213. package/lib/legacy/static/ConfiguratorKernelJs-df7e5e8c447ce141.js +0 -143
  214. package/lib/legacy/static/PhotoStudioRoom-5b94763849f82256.glb +0 -0
  215. package/lib/legacy/static/RoomleCore-e855c1668e7e1763.wasm +0 -0
  216. package/lib/legacy/static/RoomleCoreJs-582f2f94cdd9aadc.js +0 -151
  217. package/lib/legacy/static/RoomleCoreJs-fe17a5f3a30cab74.mem +0 -0
  218. package/lib/legacy/static/USM-config-gltf-ad488aada649b7a5.glb +0 -0
  219. package/lib/legacy/static/shaders-2fc4ae2ed0253c51.json +0 -1
  220. package/lib/main-thread-to-worker-4fc95d50.nomodule.js.map +0 -1
  221. package/lib/main-thread-to-worker-5447c1c5.js.map +0 -1
  222. package/lib/material-viewer-a13d25f9.nomodule.js +0 -2
  223. package/lib/material-viewer-a13d25f9.nomodule.js.map +0 -1
  224. package/lib/material-viewer-b38ac2ae.js +0 -2
  225. package/lib/material-viewer-b38ac2ae.js.map +0 -1
  226. package/lib/material-viewer-main-01208f3e.js +0 -2
  227. package/lib/material-viewer-main-01208f3e.js.map +0 -1
  228. package/lib/mesh-generator-21da9a0f.nomodule.js +0 -2
  229. package/lib/mesh-generator-21da9a0f.nomodule.js.map +0 -1
  230. package/lib/mesh-generator-76bdc62e.js +0 -2
  231. package/lib/mesh-generator-76bdc62e.js.map +0 -1
  232. package/lib/pixotron-102325cf.js +0 -2
  233. package/lib/pixotron-102325cf.js.map +0 -1
  234. package/lib/pixotron-b9c572b1.nomodule.js +0 -2
  235. package/lib/pixotron-b9c572b1.nomodule.js.map +0 -1
  236. package/lib/planner-714bb53f.nomodule.js +0 -2
  237. package/lib/planner-7825b896.js +0 -2
  238. package/lib/planner-main-20affea9.js +0 -2
  239. package/lib/planner-main-20affea9.js.map +0 -1
  240. package/lib/rapi-access-6aa6bee0.js +0 -16
  241. package/lib/rapi-access-a4deb335.nomodule.js +0 -16
  242. package/lib/roomle-sdk-b6d056a3.js.map +0 -1
  243. package/lib/scene-manager-65338406.nomodule.js +0 -2
  244. package/lib/scene-manager-65338406.nomodule.js.map +0 -1
  245. package/lib/scene-manager-a0e9a847.js +0 -2
  246. package/lib/scene-manager-a0e9a847.js.map +0 -1
  247. package/lib/static/AddButtonRound-8004fa7dffdf7501.glb +0 -0
  248. package/lib/static/ConfiguratorKernel-4ca6a302619d4901.js.map +0 -1
  249. package/lib/static/ConfiguratorKernel-6713e1de96ef978c.wasm +0 -0
  250. package/lib/static/ConfiguratorKernelJs-48f878d7e377be5f.mem +0 -0
  251. package/lib/static/ConfiguratorKernelJs-df7e5e8c447ce141.js +0 -143
  252. package/lib/static/PhotoStudioRoom-5b94763849f82256.glb +0 -0
  253. package/lib/static/RoomleCore-0b27042fad1c1d39.js.map +0 -1
  254. package/lib/static/RoomleCore-e855c1668e7e1763.wasm +0 -0
  255. package/lib/static/RoomleCoreJs-582f2f94cdd9aadc.js +0 -151
  256. package/lib/static/RoomleCoreJs-fe17a5f3a30cab74.mem +0 -0
  257. package/lib/static/USM-config-gltf-ad488aada649b7a5.glb +0 -0
  258. package/lib/static/shaders-2fc4ae2ed0253c51.json +0 -1
@@ -0,0 +1,16 @@
1
+ System.register(["./main-thread-to-worker-97315397.nomodule.js"],(function(e,t){var n,s,r,o,i,a,l,c,h,d,u,p;return{setters:[function(e){n=e.b,s=e.g,r=e.M,o=e.h,i=e.s,a=e.w,l=e.o,c=e.R,h=e.d,d=e.c,u=e.e,p=e.u}],execute:function(){e({R:me,_:y,i:B});class g{constructor(){this._context=new Map,this._lookups=new Map,this._singletons=new Map}getContext(e){if(this._context.has(e)){const t=this._context.get(e);return this._context.set(e,t+1),e+t}return this._context.set(e,1),e+0}addDependencyInjectionAssignments(e){e.forEach(e=>{this._lookups.set(e.className,e)})}lookup(e,t){if(!this._lookups.has(e))return null;const n=this._lookups.get(e);if(1===n.type&&void 0===t){const t="Dependency "+e+" has definition context but no context was defined!";return console.trace(t),console.error(t),null}let s=t&&1===n.type?t:"global";if(s+="_"+e,2===n.type)return new n.classDefinition;if(this._singletons.has(s))return this._singletons.get(s);const r=new n.classDefinition(t);return this._singletons.set(s,r),r}cleanUp(e){if(e){let t=[];this._singletons.forEach((n,s)=>{s.startsWith(e)&&t.push(s)}),t.forEach(e=>{this._singletons.delete(e)})}else this._singletons.clear(),this._singletons=new Map}}class m{constructor(e,t,n){this.className=e,this.classDefinition=t,this.type=void 0===n?0:n}}e("e",m);const _={JPG:".jpg",JPEG:".jpeg",PNG:".png",GIF:".gif"};class f{_base64toBlob(e,t){t=t||"";const n=atob(e),s=n.length,r=Math.ceil(s/1024),o=new Array(r);for(let e=0;e<r;++e){let t=1024*e,r=Math.min(t+1024,s);const i=new Array(r-t);for(let e=t,s=0;e<r;++s,++e)i[s]=n[e].charCodeAt(0);o[e]=new Uint8Array(i)}return new Blob(o,{type:t})}_createFormData(e,t,n,s){const r=new FormData;-1!==e.indexOf(",")&&(e=e.substr(e.indexOf(",")+1));const o=-1===Object.keys(_).map(e=>_[e]).indexOf(n)?"application":"image",i=this._base64toBlob(e,o+"/"+n.substr(1));return r.append(s,i,t+n),r}create(e,t,n,s){return this._createFormData(e,t,n,s)}}
2
+ /*! *****************************************************************************
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
15
+ ***************************************************************************** */function y(e,t,n,s){var r,o=arguments.length,i=o<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(i=(o<3?r(i):o>3?r(t,n,i):r(t,n))||i);return o>3&&i&&Object.defineProperty(t,n,i),i}class w{constructor(){this._size=256,this._maxLod=0,this._encoding=THREE.LinearEncoding,this._type=THREE.UnsignedByteType,this._format=THREE.RGBAFormat,this._cubeTextures=[],this._lightDirection=new THREE.Vector3,this._path=""}setPath(e){this._path=e}load(e){return new Promise(t=>{(new THREE.FileLoader).setResponseType("arraybuffer").load(this._path+e,e=>{this.parseData_(e),t(this._cubeTexture)})})}parseHeader_(e){let t=new DataView(e,0,30);this._size=t.getUint16(0),this._maxLod=t.getUint8(2),this._encoding=t.getUint16(3),this._type=t.getUint16(5),this._format=t.getUint16(7),this._lightDirection.x=t.getFloat32(9),this._lightDirection.y=t.getFloat32(13),this._lightDirection.z=t.getFloat32(17)}parseBufferData_(e,t){let n=this._size;const s=Math.log2(this._size)+1;this._cubeTextures=[];for(let r=0;r<s;r++){let s=new THREE.CubeTexture;this._cubeTextures.push(s),s.format=THREE.RGBAFormat,s.encoding=this._encoding,s.type=this._type,s.minFilter=THREE.LinearMipMapLinearFilter,s.magFilter=THREE.LinearFilter,s.generateMipmaps=!1;for(let r=0;r<6;r++){let o=new Uint8Array(e,t,4*n*n),i=new THREE.DataTexture(o,n,n);i.format=s.format,i.encoding=s.encoding,i.type=s.type,i.generateMipmaps=!1,t+=4*n*n,s.images[r]=i,i.needsUpdate=!0}s.needsUpdate=!0,n/=2}this._cubeTexture=new THREE.CubeTexture,this._cubeTexture.format=THREE.RGBAFormat,this._cubeTexture.encoding=this._encoding,this._cubeTexture.type=this._type,this._cubeTexture.minFilter=THREE.LinearMipMapLinearFilter,this._cubeTexture.magFilter=THREE.LinearFilter,this._cubeTexture.generateMipmaps=!1;for(let e=0;e<6;e++){this._cubeTexture.image[e]=this._cubeTextures[0].images[e];for(let e=1;e<s;e++)this._cubeTexture.mipmaps[e-1]=this._cubeTextures[e],this._cubeTextures[e].needsUpdate=!0}this._cubeTexture.needsUpdate=!0,this._cubeTexture.maxLod=this._maxLod-1}convertToRGBABuffer(e){let t=new Uint8Array(e,30,e.byteLength-30),n=4;this._format===THREE.RGBFormat&&(n=3);const s=4*t.length/n;let r=new ArrayBuffer(s),o=new DataView(r),i=0,a=t.length/n;if(3===n)for(let e=0;e<a;e++)o.setUint8(i++,t[e]),o.setUint8(i++,t[e+a]),o.setUint8(i++,t[e+2*a]),o.setUint8(i++,255);else for(let e=0;e<a;e++)o.setUint8(i++,t[e]),o.setUint8(i++,t[e+a]),o.setUint8(i++,t[e+2*a]),o.setUint8(i++,t[e+3*a]);return r}parseData_(e){this.parseHeader_(e);let t=30;t=0;let n=this.convertToRGBABuffer(e);this.parseBufferData_(n,0)}}const E=e("t",(function(e){return e*(Math.PI/180)})),b=(e("v",(function(e,t,n,s,r,o){e=Math.sqrt(e*e+n*n);const i=r/o,a=2*Math.atan(Math.tan(s*Math.PI/180/2)*i)*180/Math.PI,l=E(s),c=t/2/Math.tan(l/2),h=e/(2*Math.atan(Math.PI*a/360));return Math.max(c,h)})),function(e){return Math.round(1e3*e)/1e3}),M=(e("M",(function(e,t){return Math.abs(e.y-t.y)+Math.abs(e.x-t.x)})),e("x",(function(e,t){return Math.atan2(t.y-e.y,t.x-e.x)})),e("w",(function(e){let t=function(e){return e*(180/Math.PI)}(e);return t<0&&(t=180+(180+t)),t})),e("X","#DDDDDD")),v=(e("a5",1),e("a6",0),e("Z",1)),C=(e("g",(e,t,n,s)=>{if(!e||!t||0===n||0===s)return new THREE.Vector3;let r=e.clone(),o=n/2,i=s/2;return r.project(t),r.x=Math.floor(r.x*o+o),r.y=Math.floor(-r.y*i+i),r.z=e.distanceTo(t.position),r}),e("k",(e,t)=>{t||(t=new THREE.Vector3(0,0,0));let n=new THREE.Vector3(e.size.x/1e3,e.size.z/1e3,e.size.y/1e3),s=new THREE.Vector3(e.origin.x/1e3,e.origin.z/1e3,e.origin.y/-1e3),r=new THREE.Vector3(0,0,-n.z).add(s).sub(t),o=new THREE.Vector3(n.x,n.y,0).add(s).add(t);return new THREE.Box3(r,o)}));e("b",e=>(e.from=e.from/1e3,e.to=e.to/1e3,1===e.type.value?(e.type={value:2},e.from*=-1,e.to*=-1):2===e.type.value&&(e.type={value:1}),e)),e("s",(e,t)=>{let n=b(e.x),s=b(e.y),r=b(e.z),o=b(t.x),i=b(t.y),a=b(t.z);return n===o&&s===i&&r===a}),e("K",(e,t)=>{let n=b(e.w),s=b(e.x),r=b(e.y),o=b(e.z),i=b(t.w),a=b(t.x),l=b(t.y),c=b(t.z);return n===i&&s===a&&r===l&&o===c}),e("u",(e,t)=>{let n=b(e.x),s=b(e.y),r=b(t.x),o=b(t.y);return n===r&&s===o});let T=null;const P=()=>{if(T)return T;const e=new Uint8Array(4);for(let t=0;t<1;t++){const n=4*t;e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255}const t=new THREE.DataTexture(e,1,1,THREE.RGBAFormat);return t.needsUpdate=!0,t},R=(e,t,n,s)=>{const r=new Uint8Array(4),o=Math.floor(255*e),i=Math.floor(255*t),a=Math.floor(255*n),l=Math.floor(255*s);for(let e=0;e<4;e++){const t=4*e;r[t]=o,r[t+1]=i,r[t+2]=a,r[t+3]=l}const c=new THREE.DataTexture(r,1,1,THREE.RGBAFormat);return c.needsUpdate=!0,c},I=(e("G",(e,t)=>I(null,e,t)),e("ac",(e,t,s)=>{if(e||(e=S()),e.name=t.id?t.id.toString():"",void 0!==t.shading.metallic&&(e.metalness=1===t.shading.metallic?1:.5,e.reflectivity=n(t.shading.metallic,.5)),t.shading.transmission&&t.shading.transmission>0?(e.transmission=t.shading.transmission,e.opacity=1,e.transparent=!0,e.depthWrite=!1,e.metalness=0):void 0!==t.shading.alpha&&t.shading.alpha<1&&(e.transparent=t.shading.alpha<1,e.opacity=t.shading.alpha,e.depthWrite=t.shading.alpha>=1),e.aoMapIntensity=n(t.shading.occlusion,1),e.roughness=n(t.shading.roughness,.5),e.alphaTest=n(t.shading.alphaCutoff,0),void 0!==t.shading.basecolor){const n=new THREE.Color(t.shading.basecolor.r,t.shading.basecolor.g,t.shading.basecolor.b);e.color.copy(n.convertSRGBToLinear())}return null==s||s.setEnvMap(e),t.shading.doubleSided?e.side=THREE.DoubleSide:e.side=THREE.FrontSide,e.map||(T||(T=P()),e.map=T),e})),S=()=>new THREE.MeshPhysicalMaterial({});e("ad",e=>{let t=e.color.clone().convertLinearToSRGB(),n={alpha:e.opacity,metallic:e.reflectivity,basecolor:{r:t.r,g:t.g,b:t.b},roughness:e.roughness,doubleSided:e.side===THREE.DoubleSide,alphaCutoff:e.alphaTest,transmission:e.transmission};return 1===e.metalness?n.metallic=1:n.metallic=e.reflectivity,n});let k=null;e("H",(e,t,n,s,r,o,i=16)=>(k||(k=new THREE.TextureLoader,k.crossOrigin=""),new Promise((a,l)=>{if(!e)return console.warn("trying to add a texture without image",t),void a();k.load(e,e=>{x(e,t,n,s,r,o,i),a()},l)})));const x=e("ae",(e,t,n,s,r,o,i=16)=>{e.anisotropy=s,e.wrapS=THREE.RepeatWrapping,e.wrapT=THREE.RepeatWrapping,"ORM"===t.mapping&&i<=8?console.warn("ORM maps are not supported on devices with only "+i+" texture units"):(e.repeat.set(r,o),"XYZ"===t.mapping?(n.normalMap=e,n.map===P()&&(n.map=null)):"ORM"===t.mapping?(n.aoMap=e,n.roughnessMap=e,n.metalnessMap=e):(e.encoding=THREE.sRGBEncoding,n.map=e),"RGBA"===t.mapping&&(n.transparent=!0),n.needsUpdate=!0)}),L=(e("J",(e=!0)=>window.dat&&window.dat.GUI?(window.__RML_GUI__||(window.__RML_GUI__=new dat.GUI({autoPlace:e})),window.__RML_GUI__):null),e("a8",(e,t,n=!0)=>{let s=e.getWorldDirection(new THREE.Vector3),r=Math.abs(s.y);r<.5&&!t.transparent&&L(t,!0,n),r>.5&&t.transparent&&L(t,!1,n)}),e("a9",(e,t,n=!0)=>{if(!e.userData.tween)if(t)if(e.transparent=!0,n){let t={opacity:1};e.userData.tween=!0,new TWEEN.Tween(t).to({opacity:.2},400).easing(TWEEN.Easing.Sinusoidal.In).onUpdate(()=>{e.opacity=t.opacity}).onComplete(()=>{e.userData.tween=!1}).start()}else e.opacity=.2;else if(n){let t={opacity:.2};e.userData.tween=!0,new TWEEN.Tween(t).to({opacity:1},400).easing(TWEEN.Easing.Sinusoidal.In).onUpdate(()=>{e.opacity=t.opacity}).onComplete(()=>{e.transparent=!1,e.userData.tween=!1}).start()}else e.opacity=1,e.transparent=!1})),A=(e("Y",e=>{let t=new THREE.Color;return t.setRGB((e>>16)/255,(e>>8&255)/255,(e>>0&255)/255),t}),e("c",(e,t)=>{e.traverse(e=>{if(e instanceof THREE.Mesh&&TWEEN){const n=e.material;e.userData.tween&&e.userData.tween.stop();const s={opacity:n.opacity};t.transparent&&(n.transparent=t.transparent),e.userData.tween=new TWEEN.Tween(s).to(t,250).easing(TWEEN.Easing.Linear.None).onUpdate(()=>{n.opacity=s.opacity}).onStop(()=>{t.transparent||(n.transparent=t.transparent),n.opacity=t.opacity,n.needsUpdate=!0,e.userData.tween=void 0}).onComplete(()=>{t.transparent||(n.transparent=t.transparent),n.needsUpdate=!0,e.userData.tween=void 0}).start()}})}),e("F",e=>{e.traverse(e=>{if(e instanceof THREE.Mesh&&TWEEN){let t=e.material;if(0===t.opacity)return;let n={opacity:0,transparent:!0},s={opacity:t.opacity,transparent:t.transparent};t.transparent=n.transparent,t.opacity=n.opacity,new TWEEN.Tween(n).to(s,500).easing(TWEEN.Easing.Linear.None).onUpdate(()=>{t.opacity=n.opacity}).onComplete(()=>{t.transparent=s.transparent}).start()}})}),e("a1",(e,t)=>{let n=(new THREE.Box3).setFromObject(e),s=n.getSize(new THREE.Vector3),r=Math.min(s.x,s.y,s.z),o=!0;return r>5&&(console.warn("GLB seems to be too big ("+r+")",t),o=!1),n.min.y<-.01&&(console.warn("GLB seems to be under the floor ("+n.min.y+"): ",t),o=!1),o}),e("d",e=>{"Mesh"===e.type?D(e):A(e)}),e=>{e&&e.children&&0!==e.children.length&&e.children.forEach(e=>{D(e)})}),D=e("a4",e=>{e&&(e.material&&F(e.material),e.geometry&&H(e.geometry),e.children&&e.children.length>0&&A(e))}),H=e=>{e&&e.dispose()},F=e=>{e&&(e.map&&e.map.dispose(),e.normalMap&&e.normalMap.dispose(),e.dispose())};let O;e("W",()=>(O||(O=new THREE.MeshBasicMaterial,O.visible=!1),O)),e("$",(e,t)=>{let n=t.x/2,s=t.z/2,r=new THREE.Vector3(-n,.01,s),o=[r,new THREE.Vector3(r.x,r.y,r.z+.2),new THREE.Vector3(r.x-.2,r.y,r.z+.2),new THREE.Vector3(r.x-.2,r.y,r.z)],i=[new THREE.Face3(3,2,0),new THREE.Face3(2,1,0)],a=new THREE.Geometry;return a.vertices.push(...o),a.faces.push(...i),a.computeFaceNormals(),a.computeVertexNormals(),a}),e("a3",e=>0===e.x&&0===e.y&&0===e.z),e("V",(e,t)=>{let n="";return e.materialId&&""!==e.materialId?n=e.materialId:e.catalogItemId&&""!==e.catalogItemId?n=e.catalogItemId:e.rgbValue>0?n="rbg"+JSON.stringify(e.rgbValue):e.length>0?n=e:t&&1===t.value?n="default_wall_material_"+e.getSourceType().value:t&&7===t.value&&(n="default_ceiling_material_"+e.getSourceType().value),n}),e("z",(e,t,n=.01)=>!(!e||!t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n),e("a",e=>{let t=e.getWorldDirection(new THREE.Vector3).clone();t.y=0,t.lengthSq()<.01&&(t=new THREE.Vector3(0,1,0),t.applyQuaternion(e.quaternion),t.y=0),t.normalize();let n=Math.asin(t.x);return t.z<0&&(n=Math.PI-n),n<0&&(n+=2*Math.PI),n});const U=function(e){return e.startsWith("_")&&(e=e.substr(1)),e.replace(/[A-Z](?:(?=[^A-Z])|[A-Z]*(?=[A-Z][^A-Z]|$))/g,(function(e,t){return(t>0?"-":"")+e.toLowerCase()}))};function B(e,t){const n=Symbol("property-cache");Object.defineProperty(e,t,{get(){if(!this[n]){const e=window.__RML__DI__.lookup(U(t),this._creator_);e?this[n]=e:console.error("Dependency "+U(t)+" not found! Add dependency to /utils/injectables.ts")}return this[n]}})}let j=e("af",(()=>{class e{constructor(e){this._hdrCubeUrl="static/roomle-91862a5e7f3f46e5.envmap",this._hdrCubeUrlLowres="static/roomle64-adb0f447a54b5143.envmap",this._envMapReader=new w,this._creator_=e;const t=new THREE.Color(M);this._environmentMap=((e,t,n,s)=>{const r=new THREE.CubeTexture;r.format=THREE.RGBAFormat,r.generateMipmaps=!1;for(let o=0;o<6;++o){const i=R(e,t,n,s);i.format=r.format,i.type=r.type,i.minFilter=r.minFilter,i.magFilter=r.magFilter,i.generateMipmaps=r.generateMipmaps,i.needsUpdate=!0,r.images[o]=i}return r.needsUpdate=!0,r})(t.r,t.g,t.b,v),this._envMapReader.setPath(s()),this._loadHDREnvMap(this._hdrCubeUrlLowres)}static setEnvironmentMap(e,t){e&&t&&(e.envMap=t,e.envMapIntensity=1,e.needsUpdate=!0)}getEnvironmentMap(){return this._environmentMap}_processPMREM(e){const t=new THREE.PMREMGenerator(this._renderer);let n=t.fromCubemap(e);return e.magFilter=THREE.LinearFilter,e.needsUpdate=!0,t.dispose(),n.texture}_loadHDREnvMap(e){return this._initData.disableEnvMap?Promise.resolve():new Promise(t=>{this._envMapReader.load(e).then(n=>{n.encoding=THREE.sRGBEncoding;const s=this._renderer.extensions.get("EXT_shader_texture_lod");this._environmentMap=s?this._processPMREM(n):n,e!==this._hdrCubeUrl&&(this._environmentMap.encoding=THREE.sRGBEncoding,window.requestIdleCallback(this._loadHDREnvMap.bind(this,this._hdrCubeUrl))),this._updateEnvironmentMap(),t(),this._envChangedCallback&&this._envChangedCallback()})})}setRendererAndScene(e,t){this._renderer=e,this._scene=t}registerEnvironmentChangedCallback(e){this._envChangedCallback=e}_updateEnvironmentMap(){this._initData.disableEnvMap||this._scene.traverse(t=>{t instanceof THREE.Mesh&&(t.material instanceof THREE.MeshStandardMaterial||"MeshPhysicalMaterial"===t.material.type)&&e.setEnvironmentMap(t.material,this._environmentMap)})}setEnvMap(t){this._initData.disableEnvMap||e.setEnvironmentMap(t,this.getEnvironmentMap())}}return y([B],e.prototype,"_initData",void 0),e})());const G=e("P",{SOFA:"sofa",SHELF:"shelf",SHELF_FRONT:"shelf_front",BAKED:"baked",CAMERA:"camera",EQUAL:"equal"});class V{static createDynamicLightSettingSource(e,t){let n={};if(e)n.url=e;else if(t)switch(t){case G.SHELF:n.url=s()+"static/shelf-2975dd3f2fa9c763.json";break;case G.SHELF_FRONT:n.url=s()+"static/shelf_front-8c9566a4512f0de8.json";break;case G.SOFA:n.url=s()+"static/sofa-997b116bc5f2e92e.json";break;case G.BAKED:n.url=s()+"static/baked-6485a2b1daeb69e8.json";break;case G.CAMERA:n.url=s()+"static/camera-f4cef679615485dc.json";break;case G.EQUAL:n.url=s()+"static/equal-319f6b83c827913f.json";break;default:n.url=s()+"static/camera-f4cef679615485dc.json"}else n=null;return n}parse(e){let t=JSON.parse(e);return t.lights?this.load(t):[]}load(e){let t=[];return e.lights?(e.lights.forEach(e=>{let n;switch(e.type){case"ambient":n=this._parseAmbientLight(e);break;case"rectarea":n=this._parseRectAreaLight(e);break;case"spot":n=this._parseSpotLight(e);break;case"directional":n=this._parseDirectionalLight(e)}n&&t.push(n)}),t):[]}_parseAmbientLight(e){let t=new THREE.AmbientLight;return this._parseCommon(t,e),t}_parseRectAreaLight(e){let t=new THREE.RectAreaLight;this._parseCommon(t,e);let{intensity:n,castShadow:s,target:r,width:o,height:i}=e;return t.width=o||.8,t.height=i||.8,t.castShadow=s||!1,t.matrixAutoUpdate=!0,t.intensity=(n||240)/((o||.8)*(i||.8)),t.lookAt(r?new THREE.Vector3(r.x,r.y,r.z):new THREE.Vector3(0,0,0)),t}_parseSpotLight(e){let t=new THREE.SpotLight;this._parseCommon(t,e);let{angle:n,penumbra:s,target:r,castShadow:o}=e;return t.angle=(n||100)*Math.PI/180,t.penumbra=s||.5,t.lookAt(r?new THREE.Vector3(r.x,r.y,r.z):new THREE.Vector3(0,0,0)),t.shadow.camera.near=.1,t.shadow.camera.far=10,t.shadow.mapSize=new THREE.Vector2(1024,1024),t.castShadow=o||!1,t}_parseDirectionalLight(e){let t=new THREE.DirectionalLight;this._parseCommon(t,e);let{target:n,castShadow:s}=e;return t.castShadow=s||!1,t.shadow.camera.near=.1,t.shadow.camera.far=100,t.shadow.mapSize=new THREE.Vector2(1024,1024),t.shadow.bias=-5e-5,t.lookAt(n?new THREE.Vector3(n.x,n.y,n.z):new THREE.Vector3(0,0,0)),t}_parseCommon(e,t){let{name:n,intensity:s,color:r,position:o,movesWithCamera:i}=t;e.name=n||"",e.intensity=s||1,e.color=new THREE.Color(r||"#ffffff"),e.position.copy(o?new THREE.Vector3(o.x,o.y,o.z):new THREE.Vector3(0,0,0)),e.visible=!0,e.layers.set(1),e.userData.movesWithCamera=i}}e("D",V);const N=["127.0.0.1","localhost","0.0.0.0"],z=(e("m",(function(e){return!(!e||"string"!=typeof e||e.split(":").length>2)})),e("l",e=>{if(!e||"string"!=typeof e)return null;const t=e.split(":");return t.length<2?null:t[0]})),W=({articleNr:e,componentId:t})=>e&&""!==e?t.split(":")[0]+":"+e:null,K=(e,t)=>null!=e?"string"==typeof e?"true"===e:!0===e:("string"==typeof t&&(t=parseInt(t,10)),t>=200&&t<300);class q{constructor(){this._queue=[],this._pendingRequests=0}_nextSlot(){if(this._pendingRequests-=1,!this._queue.length)return;const{request:e,resolve:t,reject:n}=this._queue.shift();this._fetch(e).then(t,n)}_fetch(e,t={}){return this._pendingRequests+=1,new Promise((n,s)=>{self.fetch(e,t).then(function(e){if(this._nextSlot(),K(e.ok,e.status))n(...arguments);else{const t=(null==e?void 0:e.url)||"URL unknown";s(new Error(e.statusText||'Http error "'+(e&&e.status?e.status:"unknown")+'", for "'+t+'"'))}}.bind(this),e=>{this._nextSlot(),s(e)})})}fetch(e,t={}){return this._pendingRequests>=40?new Promise((t,n)=>this._queue.push({request:e,resolve:t,reject:n})):this._fetch(e,t)}}class J{info(...e){console}log(...e){console}warn(...e){console.warn.apply(console,e)}error(...e){console.warn.apply(console,e)}}e("L",J);let Q=(()=>{class e extends J{constructor(e){super(),this._creator_=e}setMeta(e){this._meta=e}get meta(){return this._meta?this._meta:{}}throw(e){const t="[Kernel Exception]: "+e;this._globalCallback.onKernelMsg("exception",e,this.meta),this.error(t)}error(e){this._globalCallback.onKernelMsg("error",e,this.meta),super.error(e)}warn(e){this._globalCallback.onKernelMsg("warning",e,this.meta),super.warn(e)}}return y([B],e.prototype,"_globalCallback",void 0),e})();const Z=new Map,$=new Map,X=new Map,Y=new Map;let ee=e("h",(()=>{class e{constructor(e){this._bootCallbacks=[],this._isStarted=!1,this._isStarting=!1,this._alwaysUseCache=!1,this._creator_=e}start(e){return this._configuratorUiCallbacks.onSyncStarted(),this._startWorker().then(()=>this._handleCatalog(e)).then(()=>{const{typeChangeTag:e,floorMaterialsTag:t}=this._initData;Promise.all([this._syncFloorTag(t),this._syncTypeChangeTag(e)]).then(()=>{Y.set(e,!0),this._configuratorUiCallbacks.onSyncDone()})})}syncCatalog(e){return this._startWorker().then(()=>this._handleCatalog(e))}syncFloorTag(e){return this._startWorker().then(()=>this._syncFloorTag(e))}syncTypeChangeTag(e){return this._startWorker().then(()=>this._syncTypeChangeTag(e))}_syncFloorTag(e){const t=[];return e&&!X.get(e)?(t.push(this._handleTags([e])),this._rapiAccess.getTag(e).then(e=>{t.push(this._handleMaterialsAndTextures(e))}),this._singlePromiseFactory.create(1,e,n=>{Promise.all(t).then(()=>{X.set(e,!0),n()},e=>this._softReject(n,'_syncFloorTag error: "'+e+'"'))})):Promise.resolve()}_syncTypeChangeTag(e){const t=[];return e&&!Y.get(e)?(t.push(this._handleTags([e])),this._rapiAccess.getTag(e).then(e=>{this._rapiAccess.getItems(e.items).then(e=>{e.forEach(e=>{this.getIsCatalogSynced(e.catalog)&&t.push(this._handleCatalog(e.catalog))})})}),this._singlePromiseFactory.create(2,e,n=>{Promise.all(t).then(()=>{X.set(e,!0),n()},e=>this._softReject(n,'_syncTypeChangeTag error: "'+e+'"'))})):Promise.resolve()}getIsCatalogSynced(e){return!!$.get(e)}_startWorker(){return new Promise((e,t)=>{if(this._isStarted)return e();this._bootCallbacks.push({resolve:e,reject:t}),this._isStarting||(this._worker=new Worker(s()+"static/asset-loader.worker-796c70f59b977071.js"),this._mainThreadToWorker=new r(this,this._worker),this._isStarting=!0,this._mainThreadToWorker.sendToWorker(1))})}onCommand(e,t,n){switch(e){case 4:this._isStarted=!0,this._bootCallbacks.forEach(({resolve:e})=>e());break;case 3:this._mainThreadToWorker.resolvePromises(t,n)}}_handleCatalog(e){return this._singlePromiseFactory.create(0,e,t=>this.getIsCatalogSynced(e)?t():this._rapiAccess.getCatalog(e).then(e=>Promise.all([this._handleContentWithAssets(this._rapiAccess.getComponentsOf(e),["perspectiveImage"]),this._handleItemsAndAdditionalContents(e),this._handleMaterialsAndTextures(e),this._handleExternalMeshes(e),this._handleTags(e.tags)])).then(()=>{$.set(e,!0),t()},e=>this._softReject(t,'Catalog sync error: "'+e+'"')))}_handleTags(e){return this._handleContentWithAssets(this._rapiAccess.getTags(e),["pngIcon","svgIcon"])}_handleExternalMeshes(e){return new Promise(t=>{this._rapiAccess.getMeshesOfCatalog(e.id).then(e=>{const n=[];e.forEach(e=>{n.push(this._handleContentWithAssets(Promise.all([this._rapiAccess.getMesh(e.id)]),["url"]))}),Promise.all(n).then(t,e=>this._softReject(t,'Sync crt files error: "'+e+'"'))},e=>this._softReject(t,'getMeshesOfCatalog error: "'+e+'"'))})}_handleItemsAndAdditionalContents(e){return new Promise(t=>{this._rapiAccess.getItemsOf(e).then(e=>{const n=[];n.push(this._handleContentWithAssets(Promise.resolve(e),["perspectiveImage"])),this._rapiAccess.getAdditionalContentsOfItems(e).then(e=>{const t=e.filter(e=>-1!==[5,6,4].indexOf(e.type));n.push(this._handleContentWithAssets(Promise.resolve(t),["content"]))},e=>this._softReject(t,'getAdditionalContentsOfItems error: "'+e+'"')),Promise.all(n).then(t,e=>this._softReject(t,'AdditionalContent image sync error:"'+e+'"'))})})}_handleMaterialsAndTextures(e){return new Promise(t=>{this._rapiAccess.getMaterialsOf(e).then(e=>{const n=[];n.push(this._handleContentWithAssets(Promise.resolve(e),["thumbnail"])),e.forEach(e=>{n.push(this._handleContentWithAssets(this._rapiAccess.getTexturesOf(e),["image"]))}),Promise.all(n).then(t,e=>this._softReject(t,'getTexturesOf error: "'+e+'"'))},e=>this._softReject(t,'getMaterialsOf error: "'+e+'"'))})}_handleContentWithAssets(e,t){return new Promise(n=>e.then(e=>this._fetchAssets(e,t).then(n,e=>this._softReject(n,'_handleContentWithAssets error: "'+e+'"')),e=>this._softReject(n,'_handleContentWithAssets promise error: "'+e+'"')))}_fetchAssets(e,t){const n=[];e||(e=[]);for(let s=0,r=e.length;s<r;s++){const r=e[s];t.forEach(e=>{const t=r[e];t&&n.push(this._preCacheAsset(t))})}return Promise.all(n)}_preCacheAsset(e){return new Promise(t=>{if(Z.get(e))return t();this._assetUrlToBase64(e).then(n=>{Z.set(e,n),t()},e=>this._softReject(t,'_preCacheAsset error: "'+e+'"'))})}_assetUrlToBase64(e){return new Promise(t=>{this._mainThreadToWorker.sendToWorker(5,e,t,e=>this._softReject(t,'_assetUrlToBase64 error: "'+e+'"'))})}_softReject(e,t){this._errorHandler.softReject(e,t,2)}requestAsset(e,t=!1){return navigator.onLine&&!this._alwaysUseCache?e:Z.get(e)||(t?e:null)}setAlwaysUseCache(e){this._alwaysUseCache=e}preFillAssetCache(e,t){Z.set(e,t)}}return y([B],e.prototype,"_rapiAccess",void 0),y([B],e.prototype,"_singlePromiseFactory",void 0),y([B],e.prototype,"_errorHandler",void 0),y([B],e.prototype,"_configuratorUiCallbacks",void 0),y([B],e.prototype,"_initData",void 0),e})());class te{constructor(e){this.info=e,this._init()}_init(){this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}resolve(e){e&&this._resolve(e),this._resolve()}reject(e){this._reject(e)}wait(){return this._promise}reset(){this._init()}}e("y",te);var ne=e("aa","static/GLTFLoader-5b296b5fb14cfe1a.js"),se=e("ab","static/DRACOLoader-5edeeab4a8dbc0bd.js");const re={"draco_wasm_wrapper.js":"static/draco_wasm_wrapper-d775f9f135cb30ff.js","draco_decoder.wasm":"static/draco_decoder-979e668167e37c95.wasm","draco_decoder.js":"static/draco_decoder-3866672a1fa2f980.js"};let oe=(()=>{class e{constructor(e){if(this._gltfLoaderGuard=new te,this._creator_=e,THREE.GLTFLoader&&THREE.DRACOLoader)this._initLoaders();else{let e=this._scriptLoader.fetch(ne,{id:"gltf-loader"}),t=this._scriptLoader.fetch(se,{id:"draco-loader"});Promise.all([e,t]).then(()=>this._initLoaders())}}_initLoaders(){this._gltfLoader=new THREE.GLTFLoader;const e=new THREE.DRACOLoader;if("function"!=typeof e._loadLibrary)throw new Error("Can not patch draco loader! Did three.js update the DracoLoader example?");const t=e._loadLibrary.bind(e._loadLibrary);e._loadLibrary=(e,n)=>{const r=re[e];if(!r)throw new Error('Can not load draco dependency "'+e+'" did three.js update DracoLoader lib? Available files'+JSON.stringify(re));return t(s()+r,n)},this._gltfLoader.setDRACOLoader(e),this._gltfLoaderGuard.resolve(this._gltfLoader)}async loadGLB(e,t,n,s,r,o,i,a){return await this._gltfLoaderGuard.wait(),new Promise((l,c)=>{this._gltfLoader.load(e,e=>{l(this._handleGLTFScene("GLB",e,t,n,s,r,o,i))},e=>{a&&a(e.loaded/e.total)},e=>{c(e)})})}async loadGLTF(e,t,n,s,r,o,i,a){return await this._gltfLoaderGuard.wait(),new Promise((l,c)=>{this._gltfLoader.parse(e,null,e=>{l(this._handleGLTFScene("GLTF",e,t,n,s,r,o,i))},e=>{a&&a(e.loaded/e.total)},e=>{c(e)})})}_handleGLTFScene(e,t,n,s,r,o,i,a){if(!t||!t.scene||!t.scene.children||0===t.scene.children.length)return null;if(n&&t.scene.position.copy(n),s&&(t.scene.rotation.y=s),r){const e=new THREE.Box3;e.setFromObject(t.scene);const{x:n,y:s,z:o}=e.getSize(new THREE.Vector3);let i=new THREE.Vector3(r.x/n,r.y/s,r.z/o);t.scene.scale.copy(i)}return o&&t.scene.scale.multiply(o),t.scene.type=e,t.scene.traverse(e=>{if(e instanceof THREE.Mesh){if(e.layers.set(3),e.material instanceof THREE.MeshStandardMaterial){const t=e.material;if(this._environmentLoader.setEnvMap(t),a&&i&&i>0){let e=new THREE.Color(i);t.color=e.copyGammaToLinear(e),t.roughness=.5,t.metalness=.1}t.needsUpdate=!0}e.castShadow=!0,e.receiveShadow=!0}}),t.scene}}return y([B],e.prototype,"_environmentLoader",void 0),y([B],e.prototype,"_scriptLoader",void 0),e})(),ie=(()=>{class e{constructor(e){this._jsonLoaded=!1,this._creator_=e}_loadShaders(){return new Promise((e,t)=>{if(this._jsonLoaded)return e();this._networkLayer.fetch(s()+"static/shaders-36d0319326c4463c.json",{credentials:"same-origin"}).then(o,t).then(t=>{window._rsl=t,this._jsonLoaded=!0,e()},t)})}fetch(){return window._rsl||(window._rsl={}),new Promise((e,t)=>this._loadShaders().then(()=>{this._scriptLoader.fetch("static/rthree-508a6ceb9a1516ce.js",{id:"three-lib"}).then(e,t)},t))}}return y([B],e.prototype,"_scriptLoader",void 0),y([B],e.prototype,"_networkLayer",void 0),e})(),ae=(()=>{class e{constructor(e){this._context_=e}getStore(e="rml_default"){return this._localStorage.getItem(e)||{entries:[]}}saveStore(e,t){this._localStorage.setItem(e,t)}addItem(e,t,n="rml_default",s=5){const r=this.getStore(n),o=r.entries.find(t=>t.id===e);if(o?(o.payload=t,o.date=Date.now()):r.entries.push({id:e,date:Date.now(),payload:t}),r.entries.length>s)for(r.entries.sort((e,t)=>t.date-e.date);r.entries.length>s;)r.entries.pop();this.saveStore(n,r)}getItem(e,t="rml_default"){const n=this.getStore(t).entries.find(t=>t.id===e);return n?n.payload:null}}return y([B],e.prototype,"_localStorage",void 0),e})();class le{set(e,t){t&&(void 0!==t.enableAA&&(e.enableAA=t.enableAA),this._setSAOPass(e,t),this._setShadowPass(e,t),this._setGroundShadow(e,t))}_setSAOPass(e,t){if(t.SAOPass){const n=t.SAOPass;void 0!==n.enabled&&(e.getSAOPass().enabled=n.enabled),void 0!==n.smoothTransition&&(e.getSAOPass().smoothTransition=n.smoothTransition),n.occlusionWorldRadius&&(e.getSAOPass().occlusionWorldRadius=n.occlusionWorldRadius),n.intensity&&(e.getSAOPass().intensity=n.intensity),n.bias&&(e.getSAOPass().bias=n.bias),n.numSamples&&(e.getSAOPass().numSamples=n.numSamples)}}_setShadowPass(e,t){if(t.shadowPass){const n=t.shadowPass;void 0!==n.enabled&&(e.getShadowPass().enabled=n.enabled),void 0!==n.smoothTransition&&(e.getShadowPass().smoothTransition=n.smoothTransition),void 0!==n.enableAccumulation&&(e.getShadowPass().enableAccumulation=n.enableAccumulation),n.shadowRadius&&(e.getShadowPass().shadowRadius=n.shadowRadius),n.shadowBiasMultiplier&&(e.getShadowPass().shadowBiasMultiplier=n.shadowBiasMultiplier),n.numSamples&&(e.getShadowPass().numSamples=n.numSamples)}}_setGroundShadow(e,t){if(t.groundShadow){const n=t.groundShadow;void 0!==n.enable&&(e.getShadowPlanePass().enable=n.enable),void 0!==n.smoothTransition&&(e.getShadowPlanePass().smoothTransition=n.smoothTransition),n.numSamples&&(e.getShadowPlanePass().numSamples=n.numSamples),n.numSamplesPerFrame&&(e.getShadowPlanePass().numSamplesPerFrame=n.numSamplesPerFrame)}}}e("N",le);const ce=e("T",e=>new THREE.Vector3(e.x/1e3,e.z/1e3,e.y/-1e3)),he=(e("a0",e=>new THREE.Vector3(e.x/1e3,e.z/1e3,e.y/1e3)),e("a7",e=>({x:1e3*e.x,y:-1e3*e.z,z:1e3*e.y}))),de=e=>decodeURIComponent(encodeURIComponent(e)),ue=e("q",e=>{if(!e){const t=typeof e;return"number"===t||"boolean"===t?e:null}if(!e.hasOwnProperty("size")&&e.size&&"function"==typeof e.size){let t=pe(e);for(let e=0;e<t.length;e++)t[e]=ue(t[e]);return"string"==typeof t?de(t):t}if("object"==typeof e)for(let t in e)e.hasOwnProperty(t)&&(e[t]=ue(e[t]));return"string"==typeof e?de(e):e}),pe=e=>{let t=[];if(e){let n=e.size();for(let s=0;s<n;s++)t.push(e.get(s))}return t},ge=e=>{let t=new THREE.Matrix4,n=ue(e);return t.fromArray(n),t.transpose(),(e=>{let t=new THREE.Matrix4;t.set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1),t.scale(new THREE.Vector3(.001,.001,.001));let n=new THREE.Matrix4;return n.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),n.scale(new THREE.Vector3(1e3,1e3,1e3)),t.multiply(e).multiply(n)})(t)};function me(){class e extends THREE.Object3D{constructor(e,t,n,s){super(),this._selected=!1,this.geometryChanged=!0,this.meshes=[],this.castShadow=!1,this.receiveShadow=!0,this._setValues(e,t,n,s)}static _generateOutline(e,t){let n=new THREE.LineSegments(new THREE.EdgesGeometry(e),new THREE.LineDashedMaterial({color:"#000000",dashSize:.03,gapSize:.01,linewidth:1}));return n.translateOnAxis(t,1),n.userData.ignoreComponentRaycast=!0,n}static cloneDockLine(e,t){let n=new THREE.LineSegments(e.geometry,e.material);return n.translateOnAxis(t.getCenter(new THREE.Vector3),1),n.name="dockline",n.layers.set(5),n.userData.ignoreComponentRaycast=!0,n}_setValues(e,t,n,s){e&&(this.runtimeId=e,this.name=e.toString()),t&&(this.roomlePosition=Object.assign({},t)),n&&(this.roomleRotation=Object.assign({},n)),s&&(this.parentObjectId=s)}get loadingMesh(){return this._loadingMesh}get boundingBoxMesh(){return this._boundingBoxMesh}get boundingBox(){return this._boundingBox}set roomlePosition(e){this._roomlePosition=e,e&&this.position.set(e.x/1e3,e.z/1e3,e.y/-1e3)}get roomlePosition(){return this._roomlePosition}set roomleRotation(e){this._roomleRotation=e,e&&this.rotation.set(e.x,e.z,-e.y)}get roomleRotation(){return this._roomleRotation}replaceMeshes(e){this.removeAllMeshes(),e.forEach(e=>{this.addMesh(new THREE.Mesh(e.geometry,e.material))})}addMesh(e,t){e.renderOrder=2,e.userData.meshType=0,t&&e.applyMatrix4(ge(t)),this.add(e),this.meshes.push(e)}getMeshById(e){return this.meshes.find(t=>t.userData.meshId===e)}removeMeshById(e){const t=this.getMeshById(e);t?this.removeMesh(t):console.warn("Could not remove mesh with id "+e,this.runtimeId,this.meshes)}removeMesh(e){const t=this.meshes.indexOf(e);this.remove(e),D(e),t<0||this.meshes.splice(t,1)}removeAllMeshes(e=!0){this.meshes.forEach(t=>{this.remove(t),e&&D(t)}),this.meshes=[],this._removeLoadingMesh(),this.remove(this._boundingBoxMesh),D(this._boundingBoxMesh),this._boundingBoxMesh=null}_hideAllMeshes(){this.meshes.forEach(e=>e.visible=!1)}_showAllMeshes(){this.meshes.forEach(e=>e.visible=!0)}select(){this._selected=!0}loading(){if(!this._kernelBoundingBox)return void console.warn("Bounding box (box for measurements) for component "+this.runtimeId+" not set, can not show external mesh loading box!");this._removeLoadingMesh(),this._hideAllMeshes();const{x:e,y:t,z:n}=this._kernelBoundingBox.getSize(new THREE.Vector3);let s=new THREE.BoxGeometry(e,t,n);this._loadingMesh=new THREE.Mesh(s,new THREE.MeshStandardMaterial({transparent:!0,opacity:v,color:new THREE.Color(M)})),this._loadingMesh.name="loading mesh",this._loadingMesh.receiveShadow=!1,this._loadingMesh.castShadow=!1,this._loadingMesh.layers.set(5),this._loadingMesh.translateOnAxis(this._kernelBoundingBox.getCenter(new THREE.Vector3),1),this._loadingMesh.renderOrder=3,this.add(this._loadingMesh)}_removeLoadingMesh(){this._loadingMesh&&(this.remove(this._loadingMesh),D(this._loadingMesh),this._loadingMesh=null)}loadingFinished(){this._removeLoadingMesh(),this._showAllMeshes()}deselect(){this._selected=!1}hoverOn(){i("pointer")}hoverOff(){i("default")}removeFromParent(){this.parent&&(this.parent.remove(this),this.removeAllMeshes())}computeBoundingBox(t,n=!1){if(this._boundingBoxMesh&&this.remove(this._boundingBoxMesh),!n&&t&&0===t.size.x&&0===t.size.y&&0===t.size.z)return;let s;if(!t||n){this._boundingBox=new THREE.Box3;let e=new THREE.Vector3;this.meshes.forEach(t=>{if(t.geometry instanceof THREE.Geometry){let n=t.geometry.vertices;for(let s=0,r=n.length;s<r;s++)e.copy(n[s]),e.applyMatrix4(t.matrix),this._boundingBox.expandByPoint(e)}else if(t.geometry instanceof THREE.BufferGeometry){let n=t.geometry.attributes.position;if(void 0!==n)for(let s=0,r=n.count;s<r;s++)e.fromBufferAttribute(n,s).applyMatrix4(t.matrix),this._boundingBox.expandByPoint(e)}}),this._kernelBoundingBox=this._boundingBox.clone();let t=this._boundingBox.max.x-this._boundingBox.min.x,n=this._boundingBox.max.y-this._boundingBox.min.y,r=this._boundingBox.max.z-this._boundingBox.min.z;s=new THREE.BoxGeometry(t,n,r)}else{this._kernelBoundingBox=C(t),this._boundingBox=this._kernelBoundingBox.clone();let{x:e,y:n,z:r}=this._boundingBox.getSize(new THREE.Vector3);s=new THREE.BoxGeometry(e,n,r)}this._boundingBoxMesh=new THREE.Mesh(s,new THREE.MeshStandardMaterial({color:"#FFFFFF",transparent:!0,opacity:0,polygonOffset:!0,polygonOffsetFactor:-1,visible:!1})),this._boundingBoxMesh.name="bounding box mesh";let r=this._boundingBox.getCenter(new THREE.Vector3);this._boundingBoxMesh.position.add(r),this._boundingBoxMesh.layers.set(5),this._boundingBoxMesh.renderOrder=3,this._boundingBoxMesh.castShadow=!1,this._boundingBoxMesh.receiveShadow=!1,this.add(this._boundingBoxMesh),this._dockline=e._generateOutline(s,r),this._dockline.name="bounding box outline",this._dockline.layers.set(5),this._selected&&this.add(this._dockline)}recursiveMeshes(){let t=this.meshes.slice();return this.children.forEach(n=>{n instanceof e&&t.push(...n.recursiveMeshes())}),t}isChild(t){let n=!1;return this.children.forEach(s=>{s instanceof e&&!n&&(n=s.runtimeId===t||s.isChild(t))}),n}getKernelPosition(e){let t=this.parent.localToWorld(this.position);return he(e.worldToLocal(t))}}class t extends e{constructor(e,t){super(e,null,null,null),this.glbUrl=t}}class n extends e{constructor(e,t,n,s){super(e,t,n,s),this._stringId=null,this.receivedPointAssociation=!1,this.castShadow=!1,this.receiveShadow=!1}get stringId(){return this._stringId?this._stringId:this.runtimeId.toString()}addMesh(e,t){super.addMesh(e,t),e.material instanceof THREE.MeshStandardMaterial&&(e.material.opacity=.6,e.material.roughness=1,e.material.metalness=0,e.material.color=new THREE.Color("#DDDDDD")),e.renderOrder=1,e.castShadow=!1,e.receiveShadow=!1}hoverOn(){this.remove(this._dockline),this.meshes.forEach(({material:e})=>{e.opacity=.9,e.roughness=1,e.metalness=0,e.color=new THREE.Color("#DDDDDD")}),i("pointer")}hoverOff(){this.add(this._dockline),this.meshes.forEach(({material:e})=>{e.opacity=.6,e.roughness=1,e.metalness=0,e.color=new THREE.Color("#DDDDDD")}),i("default")}clonePreview(t){const s=new n(this.runtimeId,this.roomlePosition,this.roomleRotation,this.parentObjectId);return s._stringId=this.runtimeId+"_"+t,this.children.forEach(e=>{e instanceof THREE.Mesh&&0===e.userData.meshType&&s.meshes.push(e.clone(!0))}),s.meshes.forEach(e=>{e.material=e.material.clone(),e.geometry=e.geometry.clone(),s.add(e)}),this._dockline&&(s._dockline=e.cloneDockLine(this._dockline,this._boundingBox)),this._boundingBoxMesh&&(s._boundingBoxMesh=this._boundingBoxMesh.clone(!0)),this._boundingBox&&(s._boundingBox=this._boundingBox.clone()),s}preparePreview(){this.add(this._dockline),this.add(this._boundingBoxMesh)}}class s extends n{constructor(e,t,n,s,r){super(e,t,n,s),r&&(this._stringId=this.runtimeId+"_has_additional_dock_point_copy")}set roomleLineFrom(e){this._roomleLineFrom=e,this.lineFrom=ce(e)}get roomleLineFrom(){return this._roomleLineFrom}set roomleLineTo(e){this._roomleLineTo=e;let t=ce(e);t.equals(this.lineFrom)&&(console.warn("lineFrom and lineTo are equal!"),t.add(new THREE.Vector3(0,.01,0))),this.lineTo=t}get roomleLineTo(){return this._roomleLineTo}set roomlePositionFrom(e){this._roomlePositionFrom=e,this.positionFrom=ce(e)}get roomlePositionFrom(){return this._roomlePositionFrom}set roomlePositionTo(e){this._roomlePositionTo=e;let t=ce(e);t.equals(this.positionFrom)&&(console.warn("positionFrom and positionTo are equal!"),t.add(new THREE.Vector3(0,.01,0))),this.positionTo=t}get roomlePositionTo(){return this._roomlePositionTo}addMesh(e,t){super.addMesh(e,t),e.visible=!1,e.renderOrder=3}hoverOn(){this._dockline.visible=!0,i("pointer")}hoverOff(){this._dockline.visible=!1,i("default")}preparePreview(){super.preparePreview(),this._dockline.visible=!1;let e=this.lineTo.clone(),t=this.lineFrom.clone();const n=(new THREE.Vector3).subVectors(e,t);let s=n.length(),r=n.normalize(),o=new THREE.ArrowHelper(r,t),i=new THREE.CylinderGeometry(.01,.01,s,16,1);this.lineMesh=new THREE.Mesh(i,new THREE.MeshStandardMaterial({color:M,transparent:!0,opacity:.4})),this.lineMesh.name="line mesh";const a=(new THREE.Quaternion).setFromEuler(o.rotation);this.lineMesh.quaternion.multiply(a),this.lineMesh.renderOrder=1;let l=(new THREE.Vector3).addVectors(e,t).multiplyScalar(.5);this.lineMesh.position.copy((new THREE.Vector3).subVectors(l,this.position.clone())),this.add(this.lineMesh);let c=this._boundingBox.getCenter(new THREE.Vector3).applyEuler(this.docklineRotation),h=null,d=0,u=Math.abs(r.x),p=Math.abs(r.y),g=Math.abs(r.z);u>=p&&u>=g?(h=new THREE.Vector3(c.x,0,0),d=Math.sqrt(c.y*c.y+c.z*c.z)):p>=u&&p>=g?(h=new THREE.Vector3(0,c.y,0),d=Math.sqrt(c.x*c.x+c.z*c.z)):g>=p&&g>=u&&(h=new THREE.Vector3(0,0,c.z),d=Math.sqrt(c.y*c.y+c.x*c.x)),d=d>0?d:.01;let m=(new THREE.Vector3).subVectors(this.positionTo.clone(),this.positionFrom.clone()).length()+h.length(),_=new THREE.CylinderGeometry(1.1*d,1.1*d,m,32,1);this.boundingLineMesh=new THREE.Mesh(_,new THREE.MeshStandardMaterial({color:"#ffffff",transparent:!0,opacity:0})),this.boundingLineMesh.name="bounding line mesh",this.boundingLineMesh.userData.ignoreComponentRaycast=!0;let f=this.positionTo.clone(),y=this.positionFrom.clone(),w=(new THREE.Vector3).subVectors(f,y).normalize(),E=new THREE.ArrowHelper(w,y);const b=(new THREE.Quaternion).setFromEuler(E.rotation);this.boundingLineMesh.quaternion.multiply(b),this.boundingLineMesh.renderOrder=3;let v=(new THREE.Vector3).addVectors(this.positionTo.clone(),this.positionFrom.clone()).multiplyScalar(.5).add(c);this.boundingLineMesh.position.copy((new THREE.Vector3).subVectors(v,this.position.clone())),this.add(this.boundingLineMesh)}clonePreviewLine(t){let n=new s(this.runtimeId,this.roomlePosition,this.roomleRotation,this.parentObjectId,this.receivedPointAssociation);return n._stringId=this.runtimeId+"_"+t,this.children.forEach(e=>{e instanceof THREE.Mesh&&0===e.userData.meshType&&n.meshes.push(e.clone(!0))}),n.meshes.forEach(e=>{e.material=e.material.clone(),e.geometry=e.geometry.clone(),n.add(e)}),this._dockline&&(n._dockline=e.cloneDockLine(this._dockline,this._boundingBox)),this._boundingBoxMesh&&(n._boundingBoxMesh=this._boundingBoxMesh.clone(!0)),this._boundingBox&&(n._boundingBox=this._boundingBox.clone()),n}getPositionForIntersectionPoint(e){let t=this._boundingBox.getCenter(new THREE.Vector3).applyEuler(this.docklineRotation),n=this.positionTo.clone().add(t),s=this.positionFrom.clone().add(t),r=new THREE.Line3(s,n).closestPointToPoint(e,!0,new THREE.Vector3);return(isNaN(r.x)||isNaN(r.y)||isNaN(r.z))&&r.copy(e),r.sub(t)}updatePreviewPosition(e){let t=this.getPositionForIntersectionPoint(e),n=this.parent.localToWorld(t);this._newPosition=this.worldToLocal(n);let s=this._boundingBox.getCenter(new THREE.Vector3).applyEuler(this.docklineRotation);this._dockline.position.copy((new THREE.Vector3).addVectors(this._newPosition,s)),this._dockline.rotation.copy(this.docklineRotation)}hideSelectionLine(){this._dockline.visible=!1}getKernelPosition(e){if(this._newPosition){let t=this.localToWorld(this._newPosition);return he(e.worldToLocal(t))}return super.getKernelPosition(e)}}class r extends THREE.PerspectiveCamera{constructor(e,t,n,s,r){super(e,t,n,s),r||(r={left:0,top:1,right:1,bottom:0}),this.offset=r}set offset(e){this._offset=e,this.updateProjectionMatrix()}get offset(){return this._offset}_calculateProjectionMatrix(){let e,t,n,s,r=this.fov*(2*Math.PI/360)/2;n=Math.tan(r),s=-n;let o=Math.atan(this.aspect*Math.tan(r));t=Math.tan(o),e=-t;let i=this._offset.left,a=this._offset.right,l=this._offset.top,c=this._offset.bottom,h=new THREE.Vector2(a-i,l-c),d=new THREE.Vector2(i+h.x/2,c+h.y/2);if(h.x<h.y){let r=(1-d.x)/(h.x/2),o=d.x/(h.x/2);t*=r,e*=o;let i=(r+o)/2;n*=i,s*=i}else{let r=(1-d.y)/(h.y/2),o=d.y/(h.y/2);n*=r,s*=o;let i=(o+r)/2;e*=i,t*=i}e*=this.near,t*=this.near,n*=this.near,s*=this.near;let u=this.near*Math.tan(Math.PI/180*.5*this.fov)/this.zoom*2,p=this.aspect*u;return this.view&&this.view.enabled&&(e+=this.view.offsetX*p/this.view.fullWidth,n-=this.view.offsetY*u/this.view.fullHeight,t+=this.view.offsetX*p/this.view.fullWidth,s-=this.view.offsetY*u/this.view.fullHeight),(new THREE.Matrix4).makePerspective(e,t,n,s,this.near,this.far)}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){this._offset?(this.projectionMatrix=this._calculateProjectionMatrix(),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()):super.updateProjectionMatrix()}}return{create:function(t,n,s,r){return new e(t,n,s,r)},createPreview:function(e,t){return new n(e,{x:0,y:0,z:0},{x:0,y:0,z:0},t)},createStatic:function(e,n){return new t(e,n)},createPreviewLine:function(e){let t=new s(e.id,e.roomlePosition,e.roomleRotation,e.parentObjectId,e.receivedPointAssociation);return e.meshes.forEach(e=>{let n=e.clone();n.material=e.material.clone(),n.geometry=e.geometry.clone(),t.addMesh(n)}),t.computeBoundingBox(),t},isPreview:function(e){return e instanceof n},isPreviewLine:function(e){return e instanceof s},createCamera:function(e,t,n,s,o){return new r(e,t,n,s,o)}}}const _e=new Map,fe=function(e,t,n){let s=_e.get(e);if(s){const r=n?[n]:void 0;s.forEach(({resolve:e,reject:n})=>t?e.apply(e,r):n.apply(n,r)),_e.delete(e)}};class ye{static finishOperation(e,t){fe(e,!0,t)}static failOperation(e,t){fe(e,!1,t)}static waitFor(e,t){return new Promise((n,s)=>{let r=_e.get(e);r||(_e.set(e,[]),r=_e.get(e)),r.push({resolve:n,reject:s}),"function"==typeof t&&t.apply(t)})}}e("n",ye);const we=new Map;class Ee{static start(e){if(!window.performance||!window.performance.getEntriesByName)return"";let t=window.performance.getEntriesByName(e).length++,n="";t<100&&(n="0"),t<10&&(n="0"+n);const s=t>0?e+"_"+n+t:e,r=s+"_start";return window.performance.mark(r),s}static addMeta(e,t){const n=Ee.getMeta(e);we.set(e,Object.assign(n,t))}static getMeta(e){return we.get(e)||{}}static end(e){}static getMeasure(e){return[]}static showBenchmarks(e){const t=window.performance.getEntriesByType("measure");t.sort((function(e,t){return e.startTime-t.startTime}));const n=[];for(let s=0,r=t.length;s<r;s++){const r=t[s];e&&-1===r.name.indexOf(e)||n.push({Start:parseFloat(r.startTime.toFixed(2)),Name:r.name,Duration:parseFloat(r.duration.toFixed(2))})}console.table(n)}}e("B",Ee);var be={isProduction:!0,isUnitTesting:!1,environment:"production",detailEnvironment:"development",features:{},APP:{RAPI:{server:"/api/v2",localReverseProxy:"https://www.roomle.com/api/v2",liveServer:"https://www.roomle.com/api/v2",testServer:"https://www.test.roomle.com/api/v2",headers:{apiKey:"roomle_portal_v2",currentTenant:9,locale:"en",language:"en",device:1,token:"anonymous",platform:"web"},itemHeaders:{assetRevision:"glb",assetFileFormat:"glb"}},SHORTENER_URL:"http://rml.co/"},environments:{PRODUCTION:"production",DEVELOPMENT:"development",TEST:"test",TEST_SERVER:"test_server",ALPHA:"alpha"}};void 0!==t&&t.exports||(window.IS_DEBUG=!0),function(e=!1){if(e){let e=JSON.parse(JSON.stringify(be));e.APP,e.features}}();const Me=JSON.parse(JSON.stringify(be));var ve=e("E",Me);const Ce=e("o",(function(e){return e.validRange&&"string"==typeof e.validRange.type})),Te=function(e){return e.validValues&&e.validValues.length>0},Pe=function(e){return"length"===e.unitType||"area"===e.unitType},Re=e("p",(function(e){return"Material"===e.type}));let Ie,Se,ke,xe,Le;const Ae={WASM:{CONFIGURATOR:{URL:"static/ConfiguratorKernel-2d65fb351a47e14f.wasm",LOADER:"static/ConfiguratorKernel-b3f9bde09ca9cb82.js"},PLANNER:{URL:"static/RoomleCore-142e8c50aaf95e25.wasm",LOADER:"static/RoomleCore-7aae58649d719a05.js"}},ASM:{CONFIGURATOR:{MEM_URL:"static/ConfiguratorKernelJs-5f8ff2d9e58b1c2e.mem",LOADER:"static/ConfiguratorKernelJs-0e232fcb92bd0fdf.js"},PLANNER:{MEM_URL:"static/RoomleCoreJs-7129d0003a480c2c.mem",LOADER:"static/RoomleCoreJs-28f57d562097ad09.js"}}},De=!!window.WebAssembly;e("O",(()=>{class e{constructor(e,t){this._requestedMaterialIds=[],this._configuratorKernelCallbackListener=new Set,this._cachedGroupIds=[],this._waitingForGroups=!1,this._subComponentsWaiters=new Map,this._shouldWait=!0,this._creator_=e,this._setupKernelPaths(t),this._setupEmsModule(t),this._useWASM=De,this._kernelPath=De?ke:xe,window.KernelCallback={isReady:this.isReady.bind(this)},this._lifeCycleManager.addEventListener(this)}_utilityToLongArray(e){const t=new this._kernelContainer.LongArray;return e.forEach(e=>t.push_back(e)),t}get kernelContainer(){return this._kernelContainer}get kernelInstance(){return this._kernelInstance}_setupKernelPaths(e){const t=0===e?"PLANNER":"CONFIGURATOR";Ie=Ae.ASM[t].MEM_URL,Se=Ae.WASM[t].URL,ke=Ae.WASM[t].LOADER,xe=Ae.ASM[t].LOADER,Le=!0}_setupEmsModule(e){const t=this;this._kernelContainer={locateFile(t){const n=0===e?/RoomleCoreJs[\-a-z0-9]*\.js\.mem/:/ConfiguratorKernelJs[\-a-z0-9]*\.js\.mem/;return t.match(n)?s()+Ie:t},wasmBinaryFile:s()+Se,preRun:[],postRun:[],setStatus:null,print(e){t._kernelIo.log(e)},printErr(e){t._kernelIo.error(e)},quit(e){t._kernelIo.throw(e)}},Le&&De&&(this._kernelContainer.instantiateWasm=function(e,t){return((e,t,n)=>{const r="function"==typeof WebAssembly.instantiateStreaming;Ee.addMeta("kernel_is_ready",{cachedInIndexedDB:!1});let o=null;r?(Ee.start("kernel_stream_compile"),o=WebAssembly.instantiateStreaming(fetch(s()+e),t),Ee.end("kernel_stream_compile")):(Ee.start("kernel_legacy_compile"),o=fetch(s()+e).then(e=>e.arrayBuffer()).then(e=>WebAssembly.instantiate(e,t))),Ee.addMeta("kernel_is_ready",{instantiateStreaming:r}),o.then(e=>{Ee.end(r?"kernel_stream_compile":"kernel_legacy_compile"),n(e.instance)},e=>console.error(e))})(Se,e,t),{}})}_passSubComponentsToKernel(e,t){const n=e.id,s=t.get(n);if(s)for(let t=0,r=s.length;t<r;t++){const{parentId:r,partId:o}=s[t];this._kernelIo.setMeta({componentId:n}),this._kernelInstance.loadedSubComponent(r,o,n,e.configuration)}}_fetchSubComponents(e){let t=[...e.keys()];t.length&&this._rapiAccess.getComponents(t).then(t=>{for(let n=0,s=t.length;n<s;n++)this._passSubComponentsToKernel(t[n],e);this._flushSubComponentsWaiters()})}_flushSubComponentsWaiters(){this._fetchSubComponents(this._subComponentsWaiters),this._subComponentsWaiters=new Map,this._shouldWait=!1}isReady(){this._kernelContainer.setExternalHelpers(this._kernelIo,{convertCObject:ue}),ve.isProduction||ve.isUnitTesting||this.addDebugInfo(),window.KernelCallback&&(window.KernelCallback=null,delete window.KernelCallback),this._unitFormatter.init(this._kernelContainer)}addDebugInfo(){const e=function(t,n=[]){const s=Object.getPrototypeOf(t),r=s?Object.getOwnPropertyNames(s):[],o=t?Object.getOwnPropertyNames(t):[];return s?e(s,[...n,...o,...r]):[...o,...r,...n]},t=e(this),n=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf"];[...new Set(t)].forEach(e=>{if(!e.startsWith("_")&&"function"==typeof this[e]&&-1===n.indexOf(e))try{const t=this[e].bind(this);this[e]=function(...n){return this._kernelIo.log("[ KernelCommunication ]: "+e),t(...n)}}catch(e){}})}getConfigurationData(e){return new Promise(t=>{var n;const s=this.kernelInstance.getPlanObject(e),r=(new Date).toISOString(),o=this.kernelInstance.getComponentId(e),i=z(o),a=(null===(n=s.boxForMeasurement)||void 0===n?void 0:n.size)||s.bounds;t({created:r,lastAccess:r,configuration:this.kernelInstance.getSerializedConfiguration(e),configurationHash:this.kernelInstance.getHashOfConfiguration(e),parts:JSON.stringify(this.kernelInstance.getPartList(e)),rootComponentId:o,width:a.x,height:a.z,depth:a.y,catalog:i,orderable:!1,requestable:!1})})}loadComponent(e,t,n){this._rapiAccess.getComponent(t.componentId).then(s=>{var r;let o=s.configuration;o||(o="error",null===(r=this._configuratorUiCallbacks)||void 0===r||r.onContentProblem({rapiPath:"components",ids:[t.componentId],message:t.componentId+" has no configuration"})),this._kernelIo.setMeta({componentId:t.componentId}),this._kernelInstance.loadComponent(e,o,t,n),this._flushSubComponentsWaiters()},s=>{var r;this._kernelInstance.loadComponent(e,"error",t,n),this.onLoadComponentError(s,t.componentId),null===(r=this._configuratorUiCallbacks)||void 0===r||r.onError(new Error(`Component with id "${t.componentId}" can not be loaded. "${s}"`)),this._flushSubComponentsWaiters()})}loadSubComponent(e,t,n){if(this._shouldWait){let s=this._subComponentsWaiters.get(n);s||this._subComponentsWaiters.set(n,[]),s=this._subComponentsWaiters.get(n),s.push({parentId:e,partId:t}),this._subComponentsWaiters.set(n,s)}else this._rapiAccess.getComponent(n).then(s=>{var r;let o=s.configuration;o||(o="error",null===(r=this._configuratorUiCallbacks)||void 0===r||r.onContentProblem({rapiPath:"components",ids:[n],message:"SubComponent "+n+" has no configuration"})),this._kernelIo.setMeta({componentId:n,parentId:e}),this._kernelInstance.loadedSubComponent(e,t,n,o)})}requestDeleteComponent(e){e&&this._kernelInstance.deleteComponent(e)}dockComponentWithPosition(e,t,n,s,r){var o;this._kernelInstance.dockComponentWithPosition(n,s,e,t,r);const i=this._kernelInstance.getComponentId(n),a=this._kernelInstance.getComponentId(e);null===(o=this._configuratorUiCallbacks)||void 0===o||o.onUserInitiatedDockDone(i,s,a,t,r)}Editor3dAddBakedMesh(e,t,n,s,r,o,i){this._configuratorKernelCallbackListener.forEach(a=>a.Editor3dAddBakedMesh(e,t,n,s,r,o,i))}Editor3dAddNamedMesh(e,t,n,s,r,o,i,a,l,c){this._configuratorKernelCallbackListener.forEach(h=>h.Editor3dAddNamedMesh(e,t,n,s,r,o,i,a,l,c))}Editor3ChangedNamedMesh(e,t,n,s,r){this._configuratorKernelCallbackListener.forEach(o=>o.Editor3ChangedNamedMesh(e,t,n,s,r))}Editor3dRemoveNamedMesh(e,t){this._configuratorKernelCallbackListener.forEach(n=>n.Editor3dRemoveNamedMesh(e,t))}Editor3dBeginConstruction(e,t){this._configuratorKernelCallbackListener.forEach(n=>n.Editor3dBeginConstruction(e,t))}Editor3dEndConstruction(e){this._configuratorKernelCallbackListener.forEach(t=>t.Editor3dEndConstruction(e))}Editor3dComponentCreated(e,t,n,s){this._configuratorKernelCallbackListener.forEach(r=>r.Editor3dComponentCreated(e,t,n,s,!1))}Editor3dComponentDocked(e,t,n,s){this._configuratorKernelCallbackListener.forEach(r=>r.Editor3dComponentDocked(e,t,n,s))}Editor3dGeometryReady(e){this._configuratorKernelCallbackListener.forEach(t=>t.Editor3dGeometryReady(e)),this.requestPlanComponentConstruction(e)}Editor3dGeometryNotReady(e){this._configuratorKernelCallbackListener.forEach(t=>t.Editor3dGeometryNotReady(e))}componentDeleted(e){this._configuratorKernelCallbackListener.forEach(t=>t.componentDeleted(e))}componentMetaUpdated(e){let t=this._kernelInstance.getComponent(e);this._configuratorKernelCallbackListener.forEach(e=>e.componentMetaUpdated(t))}sceneCleared(){this._configuratorKernelCallbackListener.forEach(e=>e.sceneCleared())}requestMaterialsInGroup(e){-1===this._cachedGroupIds.indexOf(e)&&this._cachedGroupIds.push(e),this._waitingForGroups||(this._waitingForGroups=!0,ye.waitFor(4).then(()=>{this._rapiAccess.getMaterialsByGroup(this._cachedGroupIds).then(e=>{e.forEach(e=>{const t=new this._kernelContainer.StringArray;e.materials.forEach(e=>t.push_back(e.id));const n=e.legacyId||e.id;e.legacyId||console.warn("Material group has no legacy id, please check content why this is the case"),this._kernelInstance.setMaterialsInGroup(n,t)}),this._cachedGroupIds=[]},e=>{var t;console.error(e),null===(t=this._configuratorUiCallbacks)||void 0===t||t.onError(new Error(`Material group with ids "${this._cachedGroupIds.join(",")}" can not be loaded. "${e}"`)),this._cachedGroupIds=[]})}))}requestPlanComponentConstruction(e){this._kernelInstance.requestDeltaPlanComponentConstruction(e)}addConfiguratorListener(e){this._configuratorKernelCallbackListener.add(e)}removeConfiguratorListener(e){this._configuratorKernelCallbackListener.delete(e)}cleanUpCallbacks(){"function"==typeof this._kernelContainer.unregisterConfiguratorCallback&&this._kernelContainer.unregisterConfiguratorCallback(this)}async requestMaterialProperties(e){if(this._requestedMaterialIds.push(e),await a(0),!this._requestedMaterialIds.length)return;const t=[...this._requestedMaterialIds];this._requestedMaterialIds=[],(await this._rapiAccess.getMaterials(t)).forEach(e=>{const t=new this._kernelContainer.StringStringMap,n=e.properties||{};for(let e in n)n.hasOwnProperty(e)&&t.set(e,n[e]);t.size()&&this._kernelInstance.setMaterialProperties(e.id,t)})}registerCallbacks(){this._kernelContainer.registerConfiguratorCallback(this)}pause(){this.cleanUpCallbacks()}resume(){this.cleanUpCallbacks(),this.registerCallbacks()}destroy(){}_handleCortoMesh(e,t,n){var s;try{this._kernelInstance.addMeshCorto(t,n,new Uint8Array(e))}catch(e){console.error(e),null===(s=this._configuratorUiCallbacks)||void 0===s||s.onMemoryCorruption()}}_calcPrice(){const e=new Map;if(this._initData.useRoomlePrice){let e=this._kernelInstance.getFullPartList();if(e&&e.fullList&&e.fullList.length){const t=e.fullList[0].currencySymbol,n=e.fullList.reduce((e,t)=>e+(t.count?t.count:0)*(t.price?t.price:0),0);this._configuratorUiCallbacks.onUpdatePrice(t,n)}}else if(this._initData.usePriceService){let t=this._kernelInstance.getFullPartList();if(t&&t.fullList&&t.fullList.length){const n=t.fullList.reduce((t,n)=>{const s=W(n);return s&&(e.set(s,n),t.push(s)),t},[]);return new Promise((s,r)=>{this._rapiAccess.getPrices(n).then(n=>{if(!n.length)return r(new Error("prices are empty"));const o=l(n,"priceId");let i=0;return t.fullList.forEach(e=>{const t=W(e);if(!o.has(t))return void console.warn("PriceId: "+t+" has no corresponding kernel-part");const{price:n,currencySymbol:s}=o.get(t);e.price=n,e.currencySymbol=s,i+=n*e.count}),this._configuratorUiCallbacks.onUpdatePrice(n[0].currencySymbol,i),s({totalSum:i,partMap:e})},e=>{console.error(e),r(e)})})}}return Promise.resolve({totalSum:0,partMap:e})}async addUiDataAndPriceToPartList(e,t){const{fullList:n,originPart:s}=e,r=e.perMainComponent;let o;this.addUiDataToPartList(n,t);try{const e=await this._calcPrice();o=e.partMap}catch(e){console.error(e),o=new Map}const i=this._initData.usePriceService||this._initData.useRoomlePrice,a=e=>{i||(e.price=null,e.currencySymbol=null);const t=W(e);if(!t)return;if(!o.has(t))return;const{price:n,currencySymbol:s}=o.get(t);"number"==typeof n&&(e.price=n,e.currencySymbol=s)};return n.forEach(a),r.forEach(({fullList:e,perMainComponent:n})=>{n.length>0&&console.error("Not implemented! perMainComponent is deeper than one level"),this.addUiDataToPartList(e,t),e.forEach(a)}),{fullList:n,perMainComponent:r,originPart:s}}addUiDataToPartList(e,t){const n=[];return e.forEach(e=>{const t=this._rapiAccess.peekComponent(e.componentId);!t||e.labelIsCalculated&&e.label||(e.label=t.label),e.parameters.forEach(e=>{if(this._unitFormatter.formatPartListParameter(e),Re(e)){const t=this._rapiAccess.peekMaterial(e.value);t?e.valueLabel=t.label||t.name||e.value:-1===n.indexOf(e.value)&&n.push(e.value)}})}),n.length&&this._rapiAccess.getMaterials(n).then(e=>{const n=this._lastPartListHash!==t;Array.isArray(e)&&e.length&&n&&(this._lastPartListHash=t,this.requestPartListAndUpdatePricesOfParts())}),e}async requestPartListAndUpdatePricesOfParts(e,t){let n=this._kernelInstance.getFullPartList();e||(e=this._kernelInstance.getHashOfConfiguration(this._configuratorContext.planObjectId));const s=await this.addUiDataAndPriceToPartList(n,e);this._configuratorUiCallbacks.onPartListUpdate(s,btoa(e))}}return y([B],e.prototype,"_rapiAccess",void 0),y([B],e.prototype,"_scriptLoader",void 0),y([B],e.prototype,"_kernelIo",void 0),y([B],e.prototype,"_dataSyncer",void 0),y([B],e.prototype,"_lifeCycleManager",void 0),y([B],e.prototype,"_configuratorUiCallbacks",void 0),y([B],e.prototype,"_globalCallback",void 0),y([B],e.prototype,"_initData",void 0),y([B],e.prototype,"_unitFormatter",void 0),y([B],e.prototype,"_configuratorContext",void 0),y([B],e.prototype,"_globalInitData",void 0),e})());const He=e("Q",10);e("j",9);let Fe=e("a2",(()=>{class e{constructor(e){this._mergeThreshold=3,this._componentsToMerge=new Oe,this._mergeInProgress=!1,this._components=new Map,this._previews=new Map,this._creator_=e,this._getKernelAccess().addConfiguratorListener(this),this._componentFactory=me()}get materialQueue(){return this.getMeshGenerator().materialQueue}_getKernelAccess(){return Qe.lookup("kernel-access",this._creator_)}clearReference(){this._getKernelAccess().removeConfiguratorListener(this)}_addMeshToSubPart(e,t,n,s,r,o,i,a){let l=this._generateMesh(e,t,n,r,o,i,a);s&&l.applyMatrix4(ge(s)),this._subPartObject.add(l)}_addMeshToComponent(e,t,n,s,r,o,i,a,l,c){if(this._subPartGuard&&this._subPartGuard.info===e)return void this._addMeshToSubPart(e,null,s,null,o,i,a,l);const h=this.getComponent(e);if(!h)return;const d=this._componentFactory.isPreview(h),u=this._generateMesh(e,n,d?null:s,o,i,a,l);u.userData.meshId=t,u.userData.geometryId=n,u.userData.materialId=s,r&&(u.userData.transform=ge(r),u.applyMatrix4(u.userData.transform)),d&&u.layers.set(4),h&&h.addMesh(u),h.meshes.length>this._mergeThreshold&&this._componentsToMerge.set(e,h.meshes.length)}_changeMeshOfComponent(e,t,n,s,r){const o=this.getComponent(e);if(!o)return;const i=o.getMeshById(t);i&&(i.userData.geometryId!==n&&console.warn("Geometry of mesh has changed!"),i.userData.materialId=s,this._configuratorMeshGenerator.setMaterial(i,s),r&&(i.userData.transform=ge(r),i.position.set(0,0,0),i.scale.set(1,1,1),i.rotation.set(0,0,0),i.applyMatrix4(i.userData.transform)))}_removeMeshFromComponent(e,t){const n=this.getComponent(e);n&&n.removeMeshById(t)}getComponent(e){let t=this._components.get(e);return t||(t=this._previews.get(e.toString()),t)?t:(console.warn("component not found!",e),null)}tryToMergeComponents(){this._initData.moc||this._mergeInProgress||(this._mergeInProgress=!0,this._componentsToMerge.size,this._requestMergeComponents())}_requestMergeComponents(){window.requestIdleCallback(this._mergeNextComponent.bind(this))}_mergeNextComponent(){if(this._componentsToMerge.size>0){const e=this._componentsToMerge.largestValue();this._componentsToMerge.delete(e),this._mergeComponent(e),this._requestMergeComponents()}else this._mergeInProgress=!1,this._geometriesMerged&&this._geometriesMerged(),this._components.forEach(e=>{e.loadingMesh&&console.warn("component still has loading mesh: ",e.hash)})}_mergeComponent(e){const t=this._components.get(e);if(t&&!(t.meshes.length<=this._mergeThreshold))if(this._cacheHolder.componentCache.has(t.hash)){const e=this._cacheHolder.componentCache.get(t.hash).meshes;t.replaceMeshes(e)}else{const e=new Map,n=[],s=[];t.meshes.forEach(t=>{const r=t.userData.material;if(!r)return void console.warn("mesh has no material id set");if(!e.has(r)){const s=new THREE.Mesh(new THREE.Geometry,t.material);s.userData.material=r,s.receiveShadow=!0,s.castShadow=!0,s.layers.set(3),this._setMaterial(s,r),n.push(s),e.set(r,s)}const o=e.get(r).geometry;t.userData.transform?o.merge(t.geometry,t.userData.transform):o.merge(t.geometry),s.push(t)}),n.forEach(e=>t.addMesh(e)),s.forEach(e=>t.removeMesh(e)),this._cacheHolder.componentCache.set(t.hash,t)}}_addRootComponent(e){this._listener&&this._listener.display(e)}removeDockingComponent(){this._getKernelAccess().requestDeleteComponent(this._configuratorContext.dockingRootComponentId),this._configuratorContext.dockingRootComponentId=null}dockComponent(e,t,n,s){let r=this._components.get(t),o=this._components.get(e);o&&(o.roomlePosition=n,o.roomleRotation=s,r&&r.add(o))}dockComponentWithPosition(e,t){let n,s=this._components.get(e.parentId);n=t?t.getKernelPosition(s):e.getKernelPosition(s);const r=Ee.start("dock_component_with_position_"+e.childId);this._getKernelAccess().dockComponentWithPosition(e.parentId,e.parentDockId,e.childId,e.childDockId,n),this._configuratorContext.dockingRootComponentId=null,Ee.end(r)}removePreviews(){this._previews.size>0&&(this._previews.forEach(e=>{e.removeFromParent(),e.removeAllMeshes()}),this._previews.clear())}_updatePlanObject(e){const t=this._components.get(e.rootPlanComponentId);let n=!0;t&&(n=t.geometryChanged),this._listener&&this._listener.planObjectUpdated(e,n)}Editor3dAddBakedMesh(e,t,n,s,r,o,i){this._addMeshToComponent(e,null,null,t,null,n,s,r,o,i)}Editor3dAddDockPreview(e,t){let n=this._componentFactory.createPreview(t,e);this._previews.set(t.toString(),n)}Editor3dAddNamedMesh(e,t,n,s,r,o,i,a,l,c){this._addMeshToComponent(e,t,n,s,r,o,i,a,l,c)}Editor3ChangedNamedMesh(e,t,n,s,r){this._changeMeshOfComponent(e,t,n,s,r)}Editor3dRemoveNamedMesh(e,t){this._removeMeshFromComponent(e,t)}Editor3dBeginConstruction(e,t){if(!t){const t=this._components.get(e);t&&t.removeAllMeshes()}this._subPartGuard&&e===this._subPartGuard.info&&(this._subPartObject=new THREE.Object3D)}Editor3dComponentCreated(e,t,n,s,r){r&&(this._configuratorContext.rootComponentId=e);let o=null;this._components.has(e)?(o=this._components.get(e),o.removeAllMeshes()):(o=this._componentFactory.create(e,t,n,s),o.layers.set(3)),this._components.set(e,o),r&&this._addRootComponent(o)}Editor3dComponentDocked(e,t,n,s){this.dockComponent(e,t,n,s)}Editor3dEndConstruction(e){if(this._subPartGuard&&this._subPartGuard.info===e)return void this._subPartGuard.resolve(this._subPartObject);const t=this._getKernelAccess().kernelInstance.getComponent(e),n=this._components.get(e);n&&(n.computeBoundingBox(t.boxForMeasurement),n.boundingBoxMesh&&this._listener&&this._listener.addComponentHandlers(n));let s=this._previews.get(e.toString());s&&s.computeBoundingBox(t.boxForMeasurement,!0)}Editor3dGeometryReady(e){const t=this._components.get(e);t&&t.loadingFinished()}Editor3dGeometryNotReady(e){const t=this._components.get(e);t&&t.loading()}Editor3dPlanObjectConstructionDone(e){const t=this._getKernelAccess().kernelInstance.getPlanObject(e),n=[t,this._getKernelAccess().kernelInstance.getFullPartList(),this._getKernelAccess().kernelInstance.getHashOfConfiguration(e),this._getKernelAccess().kernelInstance.getComponentId(t.rootPlanComponentId)];ye.finishOperation(2,n),this._updatePlanObject(t),this._listener&&this._listener.planObjectConstructionDone(t)}Editor3dPreviewConstructionDone(e,t){let n=!1;this._previews.forEach(e=>{null!==e.parent&&(this._listener&&(this._componentFactory.isPreviewLine(e)?this._listener.addPreviewLineHandlers(e):this._listener.addPreviewHandlers(e)),n=!0)}),this._listener&&this._listener.previewConstructionDone(this._components.get(e),n)}Editor3dSetPreviewLineAssociations(e,t){let n=this._previews.get(t.toString());if(n.clear(),!n)return;let s=this._componentFactory.createPreviewLine(n),r=this._components.get(this._configuratorContext.rootComponentId);for(let t=0;t<e.length;t++){let n;n=0===t?s:s.clonePreviewLine(t),n.name="Preview Line",n.parentDockId=e[t].parentDockId,n.parentId=e[t].parentId,n.childDockId=e[t].childDockId,n.childId=e[t].childId,n.docklineRotation=(o=e[t].rotation,new THREE.Euler(o.x,o.z,-o.y)),n.roomlePosition=e[t].position,e[t].lineFrom.x>e[t].lineTo.x||e[t].lineFrom.y>e[t].lineTo.y||e[t].lineFrom.z>e[t].lineTo.z?(n.roomleLineFrom=e[t].lineTo,n.roomleLineTo=e[t].lineFrom):(n.roomleLineFrom=e[t].lineFrom,n.roomleLineTo=e[t].lineTo),e[t].positionFrom.x>e[t].positionTo.x||e[t].positionFrom.y>e[t].positionTo.y||e[t].positionFrom.z>e[t].positionTo.z?(n.roomlePositionFrom=e[t].positionTo,n.roomlePositionTo=e[t].positionFrom):(n.roomlePositionFrom=e[t].positionFrom,n.roomlePositionTo=e[t].positionTo),r.add(n),n.preparePreview(),this._previews.set(n.stringId,n)}var o}Editor3dSetPreviewPointAssociations(e,t){let n=this._previews.get(t.toString());if(!n)return;let s=this._components.get(this._configuratorContext.rootComponentId);for(let t=0;t<e.length;t++){let r;0===t?r=n:(r=n.clonePreview(t),this._previews.set(r.stringId,r)),r.name="Preview Point",r.parentDockId=e[t].parentDockId,r.parentId=e[t].parentId,r.childDockId=e[t].childDockId,r.childId=e[t].childId,r.preparePreview(),r.receivedPointAssociation=!0,r.userData.ignoreComponentRaycast=!0,s.add(r),r.roomlePosition=e[t].position,r.roomleRotation=e[t].rotation}}componentDeleted(e){const t=this._components.get(e);t&&(this._listener&&this._listener.componentDeleted(t),t.removeFromParent(),t.removeAllMeshes(),this._components.delete(e))}componentMetaUpdated(e){const t=this._getRuntimeComponent(e.id);t&&(t.hash=e.hash,t.roomlePosition=e.position,t.roomleRotation=e.rotation,e.boxForMeasurement&&t.computeBoundingBox(e.boxForMeasurement),this._listener&&this._listener.componentUpdated(t,e))}componentConfigurationUpdated(e,t){const n=this._getRuntimeComponent(e);n&&(n.geometryChanged=t)}_getRuntimeComponent(e){let t=this._components.get(e);return t||(t=this._previews.get(e.toString()),t)?t:null}configurationLoaded(e,t,n,s,r){e===He&&(this._configuratorContext.dockingRootComponentId=n);let o=0===t;o?this._getKernelAccess().kernelInstance.requestPlanComponentConstructionRecursive(n):this._getKernelAccess().kernelInstance.requestPlanObjectConstruction(t);let i=this._getKernelAccess().kernelInstance.getComponent(n),a=this._components.get(n);a&&(a.computeBoundingBox(i.boxForMeasurement),a.hash=i.hash),this._listener&&this._listener.configurationLoaded(a,o&&void 0!==a.boundingBoxMesh)}finishParameterChange(e,t){this.materialQueue.registerCallback(e)}planObjectConfigurationUpdated(e,t,n){let s=this._getKernelAccess().kernelInstance.getPlanObject(e);this._updatePlanObject(s)}planObjectCreated(e,t){this._configuratorContext.planObjectId=t,this._listener&&this._listener.clearScene()}planObjectUpdated(e){this._updatePlanObject(e)}sceneCleared(){this._components.forEach((function(e){e.removeFromParent(),e.removeAllMeshes()})),this._components.clear(),this._previews.forEach(e=>{e.removeFromParent(),e.removeAllMeshes()}),this._previews.clear()}setListener(e){this._listener=e}getBoundingBox(){if(this._configuratorContext.planObjectId){const e=this._getKernelAccess().kernelInstance.getPlanObject(this._configuratorContext.planObjectId);if(e&&e.boxForMeasurement)return C(e.boxForMeasurement)}else if(this._configuratorContext.rootComponentId){const e=this._components.get(this._configuratorContext.rootComponentId);return(new THREE.Box3).setFromObject(e)}return null}getBoundingBoxWithPreviews(){const e=this._components.get(this._configuratorContext.rootComponentId);return e?(new THREE.Box3).setFromObject(e):null}hasPreviews(){return this._previews.size>0}clearRootComponent(){var e;null===(e=this._components.get(this._configuratorContext.rootComponentId))||void 0===e||e.hoverOff()}debugSceneGraph(e){e?this._components.has(e)?this._components.get(e):this._previews.has(e.toString())&&this._previews.get(e.toString()):this._configuratorContext}getComponentsForIds(e){let t=[];return e.forEach(e=>{const n=this._components.get(e);n&&t.push(n)}),t}getComponents(){return Array.from(this._components.values())}getPreviews(){return Array.from(this._previews.values())}isPreviewLine(e){return this._componentFactory.isPreviewLine(e)}isPreview(e){return this._componentFactory.isPreview(e)}setGeometriesMergedListener(e){this._geometriesMerged=e}removeGeometriesMergedListener(){this._geometriesMerged=void 0}setMergeThreshold(e){this._mergeThreshold=e}_generateMesh(e=0,t=null,n,s,r,o,i,a,l){return this._configuratorMeshGenerator.generateMesh(e,t,n,s,r,o,i)}_setMaterial(e,t,n){this._configuratorMeshGenerator.setMaterial(e,t)}constructComponents(e){this._getKernelAccess().kernelInstance.requestPlanObjectConstruction(e)}requestSubPartConstruction(e){return this._subPartGuard=new te(e),this._getKernelAccess().requestPlanComponentConstruction(e),this._subPartGuard.wait()}getMeshGenerator(){return this._configuratorMeshGenerator}}return y([B],e.prototype,"_configuratorMeshGenerator",void 0),y([B],e.prototype,"_configuratorContext",void 0),y([B],e.prototype,"_cacheHolder",void 0),y([B],e.prototype,"_initData",void 0),e})());class Oe extends Map{largestValue(){let e=this.entries().next().value[0],t=0;return this.forEach((n,s)=>{n>t&&(e=s,t=n)}),e}}class Ue{constructor(e){this.autoQuality=!0,this.colors=c,this.unit=null,this.unitStringType=null,this.meshSelection=!0,this.stats=!1,this._measureTraffic=!1,this.gammaOutput=!0,this.disableDebugGUI=!1,this.disableEnvMap=!1,this.dls=null,this.ls=null,this.cameraSpacing=0,this.transparentHighlighting=!0,this.mode="3D",this.edit=!1,this.moc=!1,this._creator_=e}setOverrides(e){h(this,e)}}e("ai",Ue);const Be=["language","browserLanguage","userLanguage","systemLanguage"];class je{constructor(e){this.locale=((e=null)=>{const t=window.navigator;if(e)return e.substr(0,2);if(Array.isArray(t.languages)&&t.languages.length>0)return t.languages[0].substr(0,2);for(let e=0,n=Be.length;e<n;e++){const n=t[Be[e]];if(n)return n.substr(0,2)}return"en"})()||"en",this.overrideCountry=null,this._creator_=e}setOverrides(e){h(this,e)}}e("ah",je);class Ge{constructor(e){return this._isMute=!1,this._creator_=e,d(this,"_isMute",{enumerable:!1,writable:!1}),d(Ge.prototype,"_setMute",{enumerable:!1,writable:!1}),d(Ge.prototype,"mute",{enumerable:!1,writable:!1}),d(Ge.prototype,"unmute",{enumerable:!1,writable:!1}),new Proxy(this,this)}_setMute(e){u(this,"_isMute",!0),this._isMute=e,u(this,"_isMute",!1)}mute(){this._setMute(!0)}unmute(){this._setMute(!1)}get(e,t){return this._isMute&&"function"==typeof this[t]&&"on"===t.substr(0,2)?()=>{}:this[t]}}e("U",Ge);class Ve extends Ge{constructor(){super(...arguments),this.onNetworkRequest=(e,t,n)=>{},this.onKernelMsg=(e,t,n={})=>{},this.onCheckExternalCache=async(e,t)=>Promise.resolve(null)}}e("ag",Ve),e("C",{HSC:"rml-hsc",HSP:"rml-hsp",GLB:"rml-glb",RMV:"rml-mv"});let Ne=(()=>{class e{constructor(e){this._creator_=e,this._lifeCycleManager.addEventListener(this)}get element(){return this._container}setDomElement(e){if(!this._container){this._container=document.createElement("div"),this._container.classList.add("rml-threejs-canvas-container"),this._container.setAttribute("ondragover","return false"),this._container.style.position="relative",this._container.style.width="100%",this._container.style.height="100%";const t=document.createElement("style");t.innerText=".rml-threejs-canvas-container canvas{position:absolute;top:0;left:0;right:0;bottom:0;}.rml-threejs-canvas-container .foreground{z-index:100; opacity:1;}.rml-threejs-canvas-container .background{z-index:-1; opacity:0;}",this._container.appendChild(t),e.appendChild(this._container)}this._element=e}getClientDimensions(){return new THREE.Vector2(this._element.clientWidth,this._element.clientHeight)}_removeDomElement(e){if(!e)return;const t=e.parentElement;t&&t.removeChild(e)}reset(){this._element=null,this._removeDomElement(this._container),this._container=null}pause(){this.reset()}resume(){}destroy(){}}return y([B],e.prototype,"_lifeCycleManager",void 0),e})(),ze={InchFeet:null,MM:null,CM:null},We={NoUnitString:null,LongUnitString:null,ShortUnitString:null},Ke=(()=>{class e{constructor(e){this._formatter=null,this._precision=0,this._creator_=e}init(e){const t=new e.UnitMeasureFormatter;ze=e.Unit,We=e.UnitStringType,this._initActualUnit(),this._initActualUnitStringType();const{precisionCm:n,precisionInch:s}=this._initData;this._actualUnit===ze.InchFeet?this._precision=void 0!==s?parseInt(s,10):2:this._actualUnit===ze.CM&&(this._precision=void 0!==n?parseInt(n,10):1),t.init("mm","cm","'","ft",'"',"inch","m²","sqft",!0,this._precision),this._formatter=t}_initActualUnit(){const{unit:e}=this._initData;switch(e){case"cm":this._actualUnit=ze.CM;break;case"mm":this._actualUnit=ze.MM;break;case"inchfeet":this._actualUnit=ze.InchFeet;break;default:this._actualUnit=ze.CM}}_initActualUnitStringType(){const{unitStringType:e}=this._initData;switch(e){case"none":this._actualUnitStringType=We.NoUnitString;break;case"long":this._actualUnitStringType=We.LongUnitString;break;case"short":this._actualUnitStringType=We.ShortUnitString;break;default:this._actualUnitStringType=We.ShortUnitString}}_isFormatterReady(){return!!this._formatter||(console.warn("Formatter is not ready..."),!1)}formatAngleValueToUnitString(e,t){const n="Integer"===t.type?0:2;return e.toFixed(n)+"°"}parseAngleValueFromUnitString(e){return e.replace("°","").replace(/\s/g,"")}parseValue(e,t){return null===t.unitType||"unknown"===t.unitType||"count"===t.unitType?e:"length"===t.unitType?this.parseMMValueFromUnitString(e,t.unitType):"angle"===t.unitType||"area"===t.unitType?this.parseAngleValueFromUnitString(e):e}formatValueToUnitString(e,t){return null===t.unitType||"unknown"===t.unitType||"count"===t.unitType?"Integer"===t.type?e.toString():parseFloat(e.toString()).toFixed(2):"length"===t.unitType?this.formatMMValueToUnitString(e,t.unitType):"angle"===t.unitType?this.formatAngleValueToUnitString(e,t):"area"===t.unitType?this.formatSquareMMValueToUnitString(e):e}isParseableNumber(e){return this._isFormatterReady()?this._formatter.isParseableNumber(e):null}isParseableUnitString(e,t){return this._isFormatterReady()?"angle"===t.unitType?this._formatter.isParseableUnitString(this.parseAngleValueFromUnitString(e),this._actualUnit):this._formatter.isParseableUnitString(e,this._actualUnit):null}parseMMValueFromUnitString(e,t){return this._isFormatterReady()?"count"===t?parseFloat(e):this._formatter.parseMMValueFromUnitString(e,this._actualUnit):null}parseNumber(e){return this._isFormatterReady()?this._formatter.parseNumber(e):null}formatNumber(e,t=0){return this._isFormatterReady()?this._formatter.formatNumber(e,t):null}formatSquareMMValueToUnitString(e){return this._isFormatterReady()?this._formatter.formatSquareMMValueToUnitString(e,this._actualUnit):null}formatMMValueToUnitString(e,t){return this._isFormatterReady()?"count"===t?e.toString():this._formatter.formatMMValueToUnitString(e,this._actualUnit,this._actualUnitStringType):null}formatMMValueWithReqMaxLength(e,t){return this._isFormatterReady()?this._formatter.formatMMValueWithReqMaxLength(e,this._actualUnit,t):null}_formatParameterValue(e,t){return"length"===t?this.formatMMValueToUnitString(parseFloat(e)):"area"===t?this.formatSquareMMValueToUnitString(parseFloat(e)):e}formatPartListParameter(e){Pe(e)&&(e.valueLabel=this._formatParameterValue(e.value,e.unitType))}formatParameter(e){if(Pe(e)&&Array.isArray(e.validValues)&&e.validValues.forEach(({value:t},n)=>{e.validValues[n].label=this._formatParameterValue(t,e.unitType)}),e.valueLabel=this._formatParameterValue(e.value,e.unitType),Re(e))e.uiType="Material";else if(function(e){return"Boolean"===e.type}(e))e.uiType="Boolean";else if(Ce(e)){e.uiType="Range";const t=null!==e.validRange.valueFrom?e.validRange.valueFrom:Number.MIN_SAFE_INTEGER,n=null!==e.validRange.valueTo?e.validRange.valueTo:Number.MAX_SAFE_INTEGER;e.validRangeLabels={valueFrom:this._formatParameterValue(t.toString(),e.unitType),valueTo:this._formatParameterValue(n.toString(),e.unitType),type:e.validRange.type}}else Te(e)?(e.uiType="Options",function(e){return!!Te(e)&&Array.isArray(e.validValues)&&e.validValues.length>0&&"string"==typeof e.validValues[0].thumbnail}(e)&&(e.uiType="Thumbnails")):(console.error("Could not detect uiType of param"),e.uiType=null)}isInch(){return this._actualUnit===ze.InchFeet}getPrecision(){return this._precision}getAllowedDelta(){const e=1/Math.pow(10,this._precision);return this.isInch()?25.4*e:e}}return y([B],e.prototype,"_initData",void 0),e})();e("aj",class{constructor(e){this._creator_=e}setScene(e){}setUiScene(e){}updateBounds(e){}clearScene(e,t){}moveCameraEnd(e){}moveCameraStart(e){}needsUiScene(){return!1}});let qe=(()=>{class e{constructor(e){this._plugins=[],this._creator_=e}async init(e,n,s){this._scene=e,this._uiScene=n,this._cameraPosition=s;const{bananaForScale:r}=this._initData;r&&await t.import("./banana-for-scale-141aac17.nomodule.js").then(({default:e})=>this._plugins.push(new e(this._creator_))),this._plugins.forEach(e=>e.setScene(this._scene)),this._plugins.forEach(e=>e.setUiScene(this._uiScene)),this._plugins.forEach(e=>e.updateBounds(this._bounds)),this._plugins.forEach(e=>e.moveCameraEnd(this._cameraPosition))}addPlugin(e){this._plugins.push(e),e.setScene(this._scene),e.setUiScene(this._uiScene),e.updateBounds(this._bounds),e.moveCameraEnd(this._cameraPosition)}updateBounds(e){this._bounds=e,this._plugins.forEach(t=>t.updateBounds(e))}clearScene(e,t){this._plugins.forEach(n=>n.clearScene(e,t))}getActivePlugins(){return this._plugins}getPlugin(e){for(let t of this._plugins)if(t instanceof e)return t;return null}moveCameraEnd(e){this._cameraPosition=e,this._plugins.forEach(t=>t.moveCameraEnd(e))}moveCameraStart(e){this._cameraPosition=e,this._plugins.forEach(t=>t.moveCameraStart(e))}needsUiScene(){return this._plugins.map(e=>e.needsUiScene()).reduce((e,t)=>e||t,!1)}}return y([B],e.prototype,"_initData",void 0),e})();const Je=e("I",[new m("error-handler",class{constructor(){this._listeners={}}_subscribe(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t)}subscribe(e,t){this._subscribe(e,t)}dispatch(e,t){if(!this._listeners[e])return;const n=this._listeners[e];let s=n.length;for(let e=0;e<s;e++){const s=n[e];s.apply(s,t)}}unsubscribe(e,t){if(!this._listeners[e])return;const n=this._listeners[e];let s=n.length;for(let e=0;e<s;e++)if(n[e]===t)return n.splice(e,1),s--,void e--}softReject(e,t,n){return this.dispatch(n,[t]),e()}}),new m("form-data-util",f),new m("environment-loader",j),new m("static-item-loader",oe,0),new m("form-data-util",f),new m("single-promise-factory",class{constructor(e){this._promises=new Map,this._creator_=e}create(e,t,n){return new Promise((s,r)=>{let o=this._promises.get(e),i=!0;if(!o){const t=new Map;this._promises.set(e,t),o=this._promises.get(e),i=!1}o.get(t)||(o.set(t,[]),i=!1);const a=o.get(t);a.push({resolve:s,reject:r}),o.set(t,a);const l=()=>{o.delete(t),0===o.size&&this._promises.delete(e)};i||new Promise(n).then(e=>{o.get(t).forEach(({resolve:t})=>t(e)),l()},e=>{o.get(t).forEach(({reject:t})=>t(e)),l()})})}},1),new m("dynamic-light-setting-loader",V),new m("dynamic-quality-setting-loader",le),new m("network-layer",q),new m("local-storage",class{constructor(e){this._context_=e}get _localStorage(){let e=null;try{e=window.localStorage}catch(e){console.error(e)}return e}getItem(e){if(!this._localStorage)return null;const t=this._localStorage.getItem(e);try{return JSON.parse(t)}catch(e){return t}}setItem(e,t){if(this._localStorage)try{const n=JSON.stringify(t);this._localStorage.setItem(e,n)}catch(e){console.error(e)}}}),new m("network-layer",q),new m("kernel-io",Q,0),new m("data-syncer",ee),new m("memory-manager",class{constructor(){this._configurationStringSet=new Set,this._singleLoadCounter=0}loadingConfigurationString(){this._singleLoadCounter+=1}loadingConfiguration(e){this._configurationStringSet.add(e),this._singleLoadCounter+=1}shouldHardReset(){return this._configurationStringSet.size>=15||this._singleLoadCounter>=30}executedHardReset(){this._configurationStringSet.clear(),this._singleLoadCounter=0}}),new m("life-cycle-manager",class{constructor(){this._listeners=[]}addEventListener(e){this._listeners.push(e)}removeEventListener(e){const t=this._listeners;let n=t.length;if(n)for(let s=0;s<n;s++)t[s]===e&&(t.splice(s,1),s--,n--)}pause(){this._listeners.forEach(e=>e.pause())}resume(){this._listeners.forEach(e=>e.resume())}destroy(){this._listeners.forEach(e=>e.destroy())}},1),new m("three-loader",ie),new m("local-storage-helper",ae),new m("cache-holder",class{constructor(){this._componentCache=new Map,this._geometryCache=new Map,this._materialCache=new Map}get componentCache(){return this._componentCache}get geometryCache(){return this._geometryCache}get materialCache(){return this._materialCache}clear(){for(const e of this._componentCache.values())A(e);for(const e of this._materialCache.values())F(e);for(const e of this._geometryCache.values())H(e);this._componentCache.clear(),this._geometryCache.clear(),this._materialCache.clear()}},0),new m("kernel-access-callback",class{constructor(e){this._callbackListener=new Set,this._creator_=e}addListener(e){this._callbackListener.add(e)}removeListener(e){this._callbackListener.delete(e)}isReady(){this._callbackListener.forEach(e=>e.isReady())}loadError(e){this._callbackListener.forEach(t=>t.loadError(e))}},1),new m("configurator-kernel-access-callback",class{constructor(e){this._callbackListener=new Set,this._creator_=e}addListener(e){this._callbackListener.add(e)}removeListener(e){this._callbackListener.delete(e)}isReady(){this._callbackListener.forEach(e=>e.isReady())}updatePossibleChildren(e,t,n){this._callbackListener.forEach(s=>s.updatePossibleChildren(e,t,n))}updateParameters(e,t,n,s){this._callbackListener.forEach(r=>r.updateParameters(e,t,n,s))}loadError(e){this._callbackListener.forEach(t=>t.loadError(e))}},1),new m("configurator-view-model",Fe,1),new m("configurator-context",class{constructor(){this.rootComponentParametersAsGlobal=!1,this.lastLoadedRapiId=null,this.selectedRuntimeComponentIds=[],this.selectionMode="standard"}get selectedRuntimeComponentId(){return this.selectedRuntimeComponentIds.length>0?this.selectedRuntimeComponentIds[0]:null}},1),new m("init-data",Ue,1),new m("global-init-data",je,0),new m("global-callback",Ve,0),new m("dom-helper",Ne,1),new m("unit-formatter",Ke,0),new m("plugin-system",qe,1)]);class Qe{static _ensureContainer(){window.__RML__DI__||(window.__RML__DI__=new g,window.__RML__DI__.addDependencyInjectionAssignments(Je))}static setup(e){Qe.addToContainer(e)}static lookup(e,t){return window.__RML__DI__?window.__RML__DI__.lookup(e,t):null}static getContext(e){return Qe._ensureContainer(),window.__RML__DI__.getContext(e)}static cleanUp(e){return window.__RML__DI__?window.__RML__DI__.cleanUp(e):null}static addToContainer(e){Qe._ensureContainer(),window.__RML__DI__.addDependencyInjectionAssignments(e)}}e("r",Qe);let Ze=e("A",(()=>{class e{static init(t={}){const{kernelInstance:n,kernelContainer:s,planObjectId:r}=t;e.kernelInstance=n,e.kernelContainer=s,e.planObjectId=r}static cleanUp(){e.useHDGeometry=!1,e.kernelInstance=null,e.kernelContainer=null,e.planObjectId=null}}return e.useHDGeometry=!1,e.kernelInstance=null,e.kernelContainer=null,e.planObjectId=null,e})());const{APP:$e}=ve,{RAPI:Xe}=$e,Ye=Xe.headers,et=Xe.itemHeaders,tt=Ye.token,nt=e("S","crt"),st=p();let rt=new Map,ot=new Map,it=new Map,at=new Map,lt=new Map,ct=new Map,ht=new Map,dt=new Map,ut=new Map;const pt=e=>rt.get(e)||rt.get(st+e),gt=e=>e&&e.tags&&e.tags.length,mt=e=>!gt(e)&&e.group;e("f",(()=>{class e{constructor(e){this._itemLoaded=!1,this._currentToken=null,this._creator_=e,window.addEventListener("online",this._flushOfflineQueue.bind(this))}getPreloadForItem(e){return this._getPreload(e,!0)}getPreloadForConfiguration(e){return this._getPreload(e,!1)}_getPreload(e,t){return new Promise((n,s)=>{if(!navigator.onLine)return n();if(this._dataSyncer.getIsCatalogSynced(z(e)))return n();if(ht.get(e))return n();const r=t?"?itemId=":"?configurationId=";this._get("/preloads/components/"+r+e,"preloads/components").then(t=>{if(ht.get(e))return n();t.forEach(e=>{this._prepareData(e,"components")}),ht.set(e,!0),n()},s)})}changeUseOfHDGeometry(){const e=at.get("components");ht.clear(),ct.clear(),e&&at.delete("components")}getHSCPackage(e){return new Promise((t,n)=>{if(ct.get(e))return t();this._get("/catalogs/"+e+"/package","package").then(n=>{if(ct.get(e))return t(n);n.components.forEach(e=>{this._prepareData(e,"components")}),n.materials.forEach(e=>{this._prepareData(e,"materials"),this._prepareGroups(e)}),n.textures.forEach(e=>{this._prepareData(e,"textures")}),ct.set(e,!0),t(n)},n)})}getComponent(e){return this._getById(e,"components")}getConfiguration(e){return this._getById(e,"configurations")}getConfigurations(e){return this._getByIds(e,"configurations")}getItem(e){return this._getById(e,"items",{additionalHeaders:et})}getComponents(e){return this._getByIds(e,"components")}getItems(e){return this._getByIds(e,"items",{additionalHeaders:et})}getTag(e){return this._getById(e,"tags")}getTags(e){return this._getByIds(e,"tags")}getTexture(e){return this._getById(e,"textures")}getCatalog(e){return this._getById(e,"catalogs")}getMesh(e,t=nt,n=50){return this._getById(e,"meshes",{pathSuffix:"/data?format="+t+"&targetQuality="+n.toString()})}getMeshesOfCatalog(e){return new Promise((t,n)=>{const s=lt.get(e);s?t(s):this._get("/meshes?catalog="+e,"catalogMeshes").then(n=>{lt.set(e,n),t(n)},n)})}getTexturesOf(e){return this._getRelationData(e,{rapiPath:"textures"})}getItemsOf(e){return this._getRelationData(e,{rapiPath:"items"})}async getMaterialsOf(e){return(await this._getRelationData(e,{rapiPath:"materials"},{embed:["textures"]})).filter(e=>e.active)}getComponentsOf(e){return this._getRelationData(e,{rapiPath:"components"})}getAdditionalContentsOfItems(e){const t=[],n=[];return e.forEach(e=>{const s=ot.get(e.id.toString());s?n.push(...s):t.push(e.id.toString())}),new Promise((e,s)=>{0!==t.length?this._getByIdsPackets(t,"itemAdditionalContents",{filterKey:"itemIds"}).then(t=>{t.forEach(e=>{let t=ot.get(e.itemId);t||(t=[]);for(let n=0,s=t.length;n<s;n++)if(t[n].id===e.id)return;t.push(e),ot.set(e.itemId,t)}),e([...t,...n])},s):e(n)})}getMaterial(e){return this._getById(e,"materials",{embed:["textures"]})}peekMaterial(e){return this._peekData(e,"materials")}peekComponent(e){return this._peekData(e,"components")}async getMaterials(e){return(await this._getByIds(e,"materials",{embed:["textures"]})).filter(e=>e.active)}getPlan(e){return this._getById(e,"plans")}static clearCaches(){rt=new Map,it=new Map,at=new Map,ct=new Map,ht=new Map,dt=new Map,ot=new Map}cleanUp(){e.clearCaches()}getMaterialsByGroup(e){const t=e.slice(),n=[];let s=t.length;for(let e=0;e<s;e++){const r=pt(t[e]);if(r){const o=r.length;for(let e=0;e<o;e++){const t=this._getCache("materials").get(r[e]);n.push(t)}t.splice(e,1),s--,e--}}return new Promise((e,s)=>{0!==t.length&&navigator.onLine?this._getByIdsPackets(t,"materials",{filterKey:"groups",embed:["textures"]}).then(t=>{e(this.combineMaterialsToGroups([...t,...n]))},s):e(this.combineMaterialsToGroups(n))})}_flushOfflineQueue(){return new Promise((e,t)=>{const n=this._localStorage.getItem("hsc_configurations_offline_queue_v1"),s=[];for(let e in n)if(n.hasOwnProperty(e)){const t=n[e];s.push(new Promise((e,n)=>{this.saveConfiguration(t.data).then(s=>{const r=[];t.perspectiveImage&&!s.perspectiveImage&&r.push(this.savePerspectiveImage(s,t.perspectiveImage)),t.topImage&&!s.topImage&&r.push(this.savePerspectiveImage(s,t.topImage)),Promise.all(r).then(e,n)},n)}))}Promise.all(s).then(()=>{this._localStorage.setItem("hsc_configurations_offline_queue_v1",{}),e()},t)})}_setQueuedConfiguration(e,t={}){const n=e.configurationHash,{perspectiveImage:s,topImage:r}=t;let o=this._localStorage.getItem("hsc_configurations_offline_queue_v1")||{},i=o[n]||{};i.data=e,i.perspectiveImage=s,i.topImage=r,o[n]=i,this._localStorage.setItem("hsc_configurations_offline_queue_v1",o)}async saveConfiguration(e){return navigator.onLine?await this._save("/configurations",{configuration:e},"configurations",{accept:"application/json",contentType:"application/json; charset=UTF-8"}):(e.perspectiveImage=null,e.topImage=null,this._setQueuedConfiguration(e),this._markConfigurationAsLocally(e),Promise.resolve(e))}saveTopImage(e,t){return this._saveConfigurationImage(e,t,"topImage")}savePerspectiveImage(e,t){return this._saveConfigurationImage(e,t,"perspectiveImage")}getShortUrl(e,t){return new Promise((n,s)=>this._fetchJson("/shortIds","shortIds",{method:"POST",resolve:n,reject:s,data:JSON.stringify({shortId:{type:t,referencedId:e}}),accept:"application/json",contentType:"application/json; charset=UTF-8"}))}_peekData(e,t){const n=at.get(t);return n&&n.get(e)||null}_saveConfigurationImage(e,t,n){if(!navigator.onLine){const s={};return s[n]=t,this._setQueuedConfiguration(e,s),this._markConfigurationAsLocally(e),e[n]=t.image,Promise.resolve(e)}const s=this._formDataUtil.create(t.image,e.configurationHash,_.PNG,n);return this._save("/configurations/"+e.id+"/"+n,s,"configurations",{accept:"application/json"})}_markConfigurationAsLocally(e){e.isLocally=!0,e.id=e.configurationHash}_save(e,t,n,s={}){const r=t instanceof FormData?t:JSON.stringify(t);return new Promise((t,o)=>{const i={method:s.method||"POST",data:r,resolve:t,reject:o};s.contentType&&(i.contentType=s.contentType),s.accept&&(i.accept=s.accept),this._fetchJson(e,n,i)})}combineMaterialsToGroups(e){return new Promise((t,n)=>{const s=new Map,r={id:null,label:null,materials:[]},o=[];for(let t=0,n=e.length;t<n;t++){const n=e[t],i=n.tags&&n.tags.length?n.tags.map(e=>({isTag:!0,id:e})):[];n.group&&i.push({isTag:!1,id:st+n.group,legacyId:n.group}),i.length||i.push({isTag:!1,id:null}),n.tags&&n.tags.length&&n.tags.forEach(e=>-1===o.indexOf(e)?o.push(e):null),i.forEach(({isTag:e,id:t,legacyId:o})=>{const i=n.id;let a=t?pt(t):[];a||(rt.set(t,[]),a=pt(t)),-1===a.indexOf(i.toString())&&a.push(i.toString());const l=gt(n),c=l&&e,h=mt(n);if(c||h&&!e||!l&&!h&&!t){let e=t?s.get(t):r;e||(s.set(t,{id:t,label:n.groupLabel,legacyId:o,materials:[]}),e=s.get(t)),e.materials.push(n)}})}const i=r.materials.length?[r]:[];this.getTags(o).then(e=>{const n=e.reduce((e,t)=>(e[t.id]=t,e),{});return s.forEach((e,t)=>{i.push({id:t,label:n[t]?n[t].label:e.label,materials:e.materials,legacyId:e.legacyId,sort:n[t]?n[t].sort:void 0})}),t(i)},n)})}_getByIds(e,t,n={}){const s=this._getCache(t),r=this._getErrorCache(t),o=[],i=[...new Set(e)];let a=i.length;if(s&&s.size){const e=(new Date).getTime();for(let t=0;t<a;t++){const n=i[t],l=s.get(n),c=r.get(n);let h=!1;null!=l?(o.push(l),h=!0):h=void 0!==c&&(e-c.timestamp<6e4||!1===navigator.onLine),h&&(i.splice(t,1),a--,t--)}}return new Promise((e,s)=>{0!==i.length&&navigator.onLine?this._getByIdsPackets(i,t,n).then(t=>{e([...t,...o])},s):e(o)})}_getByIdsPackets(e,t,n={}){const s=n.filterKey||"ids";let r,o="/"+t+"/",i="?",a=[];const l=e.length;if(!l)return new Promise(e=>e([]));let c=!0,h=[];for(r=0;r<l;r++){c=!1;const n=e[r],l=i+s+"[]="+n,d=l.length+o.length;h.push(n),i="&",d<=1500?o+=l:(d>1500&&(h.pop(),r--),a.push({url:o,ids:h}),c=!0,o="/"+t+"/",i="?",h=[])}c||a.push({url:o,ids:h});const d=[];return a.forEach(e=>d.push(this._getByIdsSingle(e.ids,e.url,t,n))),new Promise((e,t)=>{Promise.all(d).then(t=>{const n=[];t.length&&t.forEach(e=>n.push(...e)),e(n)},t)})}_getByIdsSingle(e,t,n,s={}){return new Promise((r,o)=>{this._get(t,n,s).then(t=>{for(let n=0,r=t.length;n<r;n++){const r=s&&s.cacheKey?t[n][s.cacheKey]:t[n].id,o=e.indexOf(r.toString());-1!==o&&e.splice(o,1)}const o=e.length;if(o){const t=this._getCache(n),s=this._getErrorCache(n),r=(new Date).getTime();for(let n=0;n<o;n++)s.set(e[n],{code:0,timestamp:r}),t.delete(e[n]);this._errorHandler.dispatch(2,[n,e.map(e=>'"'+e+'"').join(",")])}r(t)},o)})}_getById(e,t,n={}){if(!e||""===e||"string"!=typeof e)return console.error("no id passed to _getById"),Promise.reject(new Error("no id passed to _getById"));const s=this._getCache(t).get(e);if(s)return new Promise(e=>e(s));if(!navigator.onLine)return Promise.reject("Nothing cached but tried to fetch in offline mode");const r={...n,id:e},o=n.pathSuffix||"";return this._get("/"+t+"/"+e+o,t,r)}_get(e,t,n={}){const s=Ze.useHDGeometry?"includeGeometryHD=true":"";let r=-1===e.indexOf("?")?"?":"&";return""!==s&&(e+=r+s),n.embed&&Array.isArray(n.embed)&&n.embed.forEach(t=>{e+=r+"embed"+(t[0].toUpperCase()+t.substr(1))+"=true",r="&"}),new Promise((s,r)=>{const o=dt.get(e);Array.isArray(o)&&o.length>0?o.push({resolve:s,reject:r}):(dt.set(e,[{resolve:s,reject:r}]),this._fetchJson(e,t,n))})}_fetchJson(e,t,n={}){this._fetch(e,n).then(o.bind(this)).then(this._handleJson(e,t,n).bind(this)).catch(this._handleError(e,n).bind(this))}async _fetch(e,t){const n={method:t.method?t.method:"GET",headers:this._createHeaders(t),mode:"cors",cache:"default"};t.data&&(n.body=t.data);let s=Xe.server;const r=this._globalInitData.overrideRapi;r&&(s="live"===r?Xe.liveServer:Xe.testServer),(this._globalInitData.customApiUrl||""===this._globalInitData.customApiUrl)&&(s=this._globalInitData.customApiUrl);const o=new Request(s+e,n);this._globalCallback.onNetworkRequest(e,n,t);const i=await this._globalCallback.onCheckExternalCache(e,n);return i?{headers:{get:()=>"application/json"},json:()=>Promise.resolve(i)}:this._networkLayer.fetch(o)}_createHeaders(e={}){const t={...Ye};this._globalInitData.overrideTenant&&(t.currentTenant=this._globalInitData.overrideTenant),this._globalInitData.overrideCountry&&(t.country=this._globalInitData.overrideCountry);const n=this._globalInitData.locale||"en";t.language=n,t.locale=n;const{contentType:s,accept:r,additionalHeaders:o,data:i}=e;if(s&&(t["content-type"]=e.contentType),r&&(t.accept=e.accept),o)for(let e in o)o.hasOwnProperty(e)&&(t[e]=o[e]);this._globalInitData.configuratorId&&(t.configurator=this._globalInitData.configuratorId);const a=this._currentToken||tt;t.token="03-"+window.btoa((new Date).toISOString()+";"+a+";"+Ye.apiKey);const l=new Headers(t);return i instanceof FormData&&l.delete("content-type"),l}_handleJson(e,t,n={}){return s=>{let r=null,o=null;"number"==typeof s&&(r=s);for(let e in s)"meta"!==e&&s.hasOwnProperty(e)&&(r=s[e],o=e);if("error"===o)return this._handleError(e,n)(new Error(JSON.stringify(r)));if(!r)throw new TypeError("RAPI returned empty JSON");if(Array.isArray(r))for(let e=0,s=r.length;e<s;e++)this._prepareData(r[e],t,n),this._prepareEmbeddedData(r[e],t,n);else this._prepareData(r,t,n),this._prepareEmbeddedData(r,t,n);n.resolve?n.resolve(r):this._notifyWaiters(e,null,r)}}_prepareEmbeddedData(e,t,n={}){n.embed&&Array.isArray(n.embed)&&n.embed.forEach(s=>{const r=e[s.slice(0,-1)+"Objects"];if(Array.isArray(r)){for(let e=0,t=r.length;e<t;e++)this._prepareData(r[e],s,n);this._prepareRelationalData(t,s,e.id,r)}else r&&(this._prepareData(r,s,n),this._prepareRelationalData(t,s,e.id,[r]))})}_getCache(e){return this._getCacheFrom(e,at)}_getErrorCache(e){return this._getCacheFrom(e,ut)}_getCacheFrom(e,t){let n=t.get(e);return n||(t.set(e,new Map),n=t.get(e)),n}_setCache(e,t,n){n.set(e.toString(),t)}_prepareData(e,t,n=null){let s=this._getCache(t);const r=n&&n.cacheKey?e[n.cacheKey]:e.id;if(r||n&&n.id||"tenants/me"===t)if("tenants/me"!==t){{const t=r||n.id;this._setCache(t,e,s)}e.__rapi_path__=t}else this._setCache("0",e,s);else"shortIds"!==t&&console.error("Can not cache because there is no ID!")}_getRelationsCacheFor(e,t,n){let s=it.get(t);if(!s){const r=new Map,o=new Map;o.set(n,void 0),r.set(e,o),it.set(t,r),s=it.get(t)}let r=s.get(e);if(!r){const t=new Map;t.set(n,void 0),s.set(e,t),r=s.get(e)}return r.get(n)}_prepareGroups(e){const t=e.group,n=e.id;let s=pt(t);s||(rt.set(t,[]),s=pt(t)),-1===s.indexOf(n.toString())&&s.push(n.toString())}_handleError(e,t={}){return n=>{navigator.onLine?(n.rmlErrorCode=1,n.message='Failed to load "'+e+'" because of "'+n.message+'"',this._errorHandler.dispatch(1,[n])):(n.rmlErrorCode=0,n.message='Failed to load "'+e+'" because of "'+n.message+'"',this._errorHandler.dispatch(0,[n])),t.reject?t.reject(n):this._notifyWaiters(e,n,null)}}_getRelationData(e,t,n={}){const s=e.id;if(!s)return Promise.resolve([]);const r=e.__rapi_path__,o=t.rapiPath;let i=this._getCache(o),a=this._getRelationsCacheFor(s.toString(),r,o),l=[];return a?(a.forEach(e=>l.push(i.get(e))),new Promise(e=>e(l))):navigator.onLine?new Promise((e,t)=>{this._get("/"+r+"/"+s+"/"+o,o,n).then(t=>{this._prepareRelationalData(r,o,s,t),e(t)},t)}):Promise.resolve([])}_prepareRelationalData(e,t,n,s){it.has(e)||it.set(e,new Map);let r=it.get(e);const o=n.toString();r.has(o)||r.set(o,new Map);let i=r.get(o),a=this._getCache(t),l=[];for(let e=0,t=s.length;e<t;e++){const t=s[e],n=t.id.toString();l.push(n),a.set(n,t)}i.set(t,l)}_notifyWaiters(e,t,n){const s=dt.get(e);if(s&&s.length){for(let e=0,r=s.length;e<r;e++)t?s[e].reject(t):s[e].resolve(n);dt.delete(e)}}_tenantMe(){return new Promise((e,t)=>{const n=this._getCache("tenants/me"),s=this._globalInitData.overrideTenant?this._globalInitData.overrideTenant:n.get("0");if(s)return e(s);this._fetchJson("/tenants/me","tenants/me",{resolve:t=>e(t),reject:t})})}async getTenant(e){return e||(e=await this._tenantMe()),this._getById(e.toString(),"tenants")}getCurrentSkin(){return this._tenantMe().then(e=>this._getById(e.toString(),"tenants").then(e=>this._getById(e.skin.toString(),"skins")))}getPrices(e){return this._getByIds(e,"prices",{filterKey:"priceIds",cacheKey:"priceId"})}async getConfiguratorSettings(e){const t=await this._getById(e,"configurators");return t.allowedHosts||(t.allowedHosts=[]),t.allowedHosts&&!Array.isArray(t.allowedHosts)&&(t.allowedHosts=t.allowedHosts.split(" ")),t}sendUserAction(e){return this._save("/userActions",{userAction:e},"userActions",{accept:"application/json",contentType:"application/json; charset=UTF-8"})}shareConfiguration(e,t,n){const s="/configurations/"+e+"/shares",r=new FormData;return r.append("email",t),r.append("type",n.toString()),new Promise((e,t)=>{const n={method:"POST",data:r,resolve:e,reject:t,accept:"application/json",contentType:"application/json; charset=UTF-8"};this._fetch(s,n).then(n.resolve,n.reject)})}export3D(e,t,n,s={}){const r="/configurations/"+e+"/3d-exports",o={formats:[{file_format:n,pack_external_data:!0,...s}]},i=JSON.stringify(o),a=new FormData;return a.append("email",t),a.append("settings",i),new Promise((e,t)=>{const n={method:"POST",data:a,resolve:e,reject:t};this._fetch(r,n).then(n.resolve,n.reject)})}async trackView(e){if(this._itemLoaded||(t=(()=>{var e;const t=(()=>{if(window.__RML__ENV__&&window.__RML__ENV__.skipIframeCheck)return!1;try{return window.self!==window.top}catch(e){return!0}})();let n=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.href;if(!n)return null;if(t){if(!document.referrer)return null;n=document.referrer}const{hostname:s}=new URL(n);return s})())&&(N.includes(t)||t.endsWith("gitlab.io")||t.endsWith("gitlab.com")||t.endsWith("codesandbox.io")||t.endsWith("stackblitz.com")||/^(admin.*.roomle.com)$/.test(t)))return;var t;const{configuratorId:n}=this._globalInitData,s={module:3,action:1,actionId:e,actionLabel:n};await this.sendUserAction(s),this._itemLoaded=!0}signinUser(e,t){return new Promise((n,s)=>{const r={method:"POST",accept:"application/json",contentType:"application/json; charset=UTF-8",data:JSON.stringify({identification:e,passwordMD5:t}),cacheKey:"token",resolve:n,reject:s};this._fetchJson("/auth/signin","auth",r)})}async signoutUser(e){const t=this._currentToken;t!==e&&this.setCurrentToken(e),await this._fetch("/auth/signout",{}),t&&t!==e?this.setCurrentToken(t):this.removeCurrentToken()}async savePlan(e){const t=e.id?"/plans/"+e.id:"/plans";return this._save(t,{plan:e},"plans",{method:e.id?"PUT":"POST",accept:"application/json",contentType:"application/json; charset=UTF-8"})}setCurrentToken(e){this._currentToken=e}removeCurrentToken(){this._currentToken=null}createNewPlan(){return{name:"",description:"",changeDate:(new Date).toISOString(),created:(new Date).toISOString(),draftId:null,thumbnail:"data:image/png;base64,missing",planObjects:null,active:!0,open:0,planDirectory:0,changed:0,version:2,floorLevel:0,visibility:9,user:null,tenant:null,assets:[],parent:null,setting:null}}}return y([B],e.prototype,"_formDataUtil",void 0),y([B],e.prototype,"_errorHandler",void 0),y([B],e.prototype,"_dataSyncer",void 0),y([B],e.prototype,"_networkLayer",void 0),y([B],e.prototype,"_localStorage",void 0),y([B],e.prototype,"_globalInitData",void 0),y([B],e.prototype,"_globalCallback",void 0),e})())}}}));
16
+ //# sourceMappingURL=rapi-access-5df63b00.nomodule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rapi-access-a4deb335.nomodule.js","sources":["../../packages/common-core/public/textures/env/roomle.envmap","../../packages/common-core/public/textures/env/roomle64.envmap","../../packages/common-core/public/predefined_lightsettings/shelf.json","../../packages/common-core/public/predefined_lightsettings/shelf_front.json","../../packages/common-core/public/predefined_lightsettings/sofa.json","../../packages/common-core/public/predefined_lightsettings/baked.json","../../packages/common-core/public/predefined_lightsettings/camera.json","../../packages/common-core/public/predefined_lightsettings/equal.json","../../packages/workers/generated/asset-loader.worker.js","../../node_modules/three/examples/js/loaders/GLTFLoader.js","../../node_modules/three/examples/js/loaders/DRACOLoader.js","../../node_modules/three/examples/js/libs/draco/draco_wasm_wrapper.js","../../node_modules/three/examples/js/libs/draco/draco_decoder.wasm","../../node_modules/three/examples/js/libs/draco/draco_decoder.js","../../packages/common-core/generated/shaders.json","../../packages/common-core/generated/rthree.js","../../node_modules/roomle-core-hsc/wasm/ConfiguratorKernel.wasm","../../node_modules/roomle-core-hsc/wasm/ConfiguratorKernel.js","../../node_modules/roomle-core-hsc/wasm/RoomleCore.wasm","../../node_modules/roomle-core-hsc/wasm/RoomleCore.js","../../node_modules/roomle-core-hsc/ConfiguratorKernelJs.mem","../../node_modules/roomle-core-hsc/ConfiguratorKernelJs.js","../../node_modules/roomle-core-hsc/RoomleCoreJs.mem","../../node_modules/roomle-core-hsc/RoomleCoreJs.js"],"sourcesContent":["export default \"static/roomle-91862a5e7f3f46e5.envmap\"","export default \"static/roomle64-adb0f447a54b5143.envmap\"","export default \"static/shelf-2975dd3f2fa9c763.json\"","export default \"static/shelf_front-8c9566a4512f0de8.json\"","export default \"static/sofa-997b116bc5f2e92e.json\"","export default \"static/baked-6485a2b1daeb69e8.json\"","export default \"static/camera-f4cef679615485dc.json\"","export default \"static/equal-319f6b83c827913f.json\"","export default \"static/asset-loader.worker-796c70f59b977071.js\"","export default \"static/GLTFLoader-5b296b5fb14cfe1a.js\"","export default \"static/DRACOLoader-5edeeab4a8dbc0bd.js\"","export default \"static/draco_wasm_wrapper-d775f9f135cb30ff.js\"","export default \"static/draco_decoder-979e668167e37c95.wasm\"","export default \"static/draco_decoder-3866672a1fa2f980.js\"","export default \"static/shaders-2fc4ae2ed0253c51.json\"","export default \"static/rthree-508a6ceb9a1516ce.js\"","export default \"static/ConfiguratorKernel-6713e1de96ef978c.wasm\"","export default \"static/ConfiguratorKernel-4ca6a302619d4901.js\"","export default \"static/RoomleCore-e855c1668e7e1763.wasm\"","export default \"static/RoomleCore-0b27042fad1c1d39.js\"","export default \"static/ConfiguratorKernelJs-48f878d7e377be5f.mem\"","export default \"static/ConfiguratorKernelJs-df7e5e8c447ce141.js\"","export default \"static/RoomleCoreJs-fe17a5f3a30cab74.mem\"","export default \"static/RoomleCoreJs-582f2f94cdd9aadc.js\""],"names":[],"mappings":";;;;;;;;;;;;;;85UAAe,+DCAA,giECAA,wECAA,uECAA,iECAA,mECAA,mECAA,6DDAA,6iKEAA,8jHCAA,mDCAA,4ECAA,qECAA,gECAA,qvECAA,0PCAA,k6jBCAA,yDCAA,8DCAA,iDCAA,qECAA,0DCAA,oECAA,kDCAA"}
1
+ {"version":3,"file":"rapi-access-5df63b00.nomodule.js","sources":["../../packages/common-core/public/textures/env/roomle.envmap","../../packages/common-core/public/textures/env/roomle64.envmap","../../packages/common-core/public/predefined_lightsettings/shelf.json","../../packages/common-core/public/predefined_lightsettings/shelf_front.json","../../packages/common-core/public/predefined_lightsettings/sofa.json","../../packages/common-core/public/predefined_lightsettings/baked.json","../../packages/common-core/public/predefined_lightsettings/camera.json","../../packages/common-core/public/predefined_lightsettings/equal.json","../../packages/workers/generated/asset-loader.worker.js","../../node_modules/three/examples/js/loaders/GLTFLoader.js","../../node_modules/three/examples/js/loaders/DRACOLoader.js","../../node_modules/three/examples/js/libs/draco/draco_wasm_wrapper.js","../../node_modules/three/examples/js/libs/draco/draco_decoder.wasm","../../node_modules/three/examples/js/libs/draco/draco_decoder.js","../../packages/common-core/generated/shaders.json","../../packages/common-core/generated/rthree.js","../../node_modules/roomle-core-hsc/wasm/ConfiguratorKernel.wasm","../../node_modules/roomle-core-hsc/wasm/ConfiguratorKernel.js","../../node_modules/roomle-core-hsc/wasm/RoomleCore.wasm","../../node_modules/roomle-core-hsc/wasm/RoomleCore.js","../../node_modules/roomle-core-hsc/ConfiguratorKernelJs.mem","../../node_modules/roomle-core-hsc/ConfiguratorKernelJs.js","../../node_modules/roomle-core-hsc/RoomleCoreJs.mem","../../node_modules/roomle-core-hsc/RoomleCoreJs.js"],"sourcesContent":["export default \"static/roomle-91862a5e7f3f46e5.envmap\"","export default \"static/roomle64-adb0f447a54b5143.envmap\"","export default \"static/shelf-2975dd3f2fa9c763.json\"","export default \"static/shelf_front-8c9566a4512f0de8.json\"","export default \"static/sofa-997b116bc5f2e92e.json\"","export default \"static/baked-6485a2b1daeb69e8.json\"","export default \"static/camera-f4cef679615485dc.json\"","export default \"static/equal-319f6b83c827913f.json\"","export default \"static/asset-loader.worker-796c70f59b977071.js\"","export default \"static/GLTFLoader-5b296b5fb14cfe1a.js\"","export default \"static/DRACOLoader-5edeeab4a8dbc0bd.js\"","export default \"static/draco_wasm_wrapper-d775f9f135cb30ff.js\"","export default \"static/draco_decoder-979e668167e37c95.wasm\"","export default \"static/draco_decoder-3866672a1fa2f980.js\"","export default \"static/shaders-36d0319326c4463c.json\"","export default \"static/rthree-508a6ceb9a1516ce.js\"","export default \"static/ConfiguratorKernel-2d65fb351a47e14f.wasm\"","export default \"static/ConfiguratorKernel-b3f9bde09ca9cb82.js\"","export default \"static/RoomleCore-142e8c50aaf95e25.wasm\"","export default \"static/RoomleCore-7aae58649d719a05.js\"","export default \"static/ConfiguratorKernelJs-5f8ff2d9e58b1c2e.mem\"","export default \"static/ConfiguratorKernelJs-0e232fcb92bd0fdf.js\"","export default \"static/RoomleCoreJs-7129d0003a480c2c.mem\"","export default \"static/RoomleCoreJs-28f57d562097ad09.js\""],"names":[],"mappings":";;;;;;;;;;;;;;sjVAAe,+DCAA,giECAA,wECAA,uECAA,iECAA,mECAA,mECAA,6DDAA,uiKEAA,ikHCAA,mDCAA,4ECAA,qECAA,gECAA,svECAA,0PCAA,+pkBCAA,yDCAA,8DCAA,iDCAA,qECAA,0DCAA,oECAA,kDCAA"}
@@ -1,2 +1,2 @@
1
- import{s as RoomleDependencyInjection,n as DependencyInjectionAssignment,o as RapiAccess,af as GlobalCallback,ag as GlobalInitData,ah as InitData}from"./rapi-access-6aa6bee0.js";import"./main-thread-to-worker-5447c1c5.js";export default class{static getConfigurator(e,n){return n=this._setupDI("configurator",e,n),new Promise((e,t)=>import("./configurator-c8121d36.js").then((function(e){return e.c})).then(({Configurator:t})=>e(new t(n)),t))}static getPlanner(e,n){return n=this._setupDI("planner",e,n),new Promise((e,t)=>import("./planner-7825b896.js").then(({Planner:t})=>e(new t(n)),t))}static async getGlbViewer(e,n){return n=this._setupDI("glb-viewer",e,n),new Promise((e,t)=>import("./glb-viewer-7d23d927.js").then(({GlbViewer:t})=>e(new t(n)),t))}static getMaterialViewer(e,n){return n=this._setupDI("configurator",e,n),new Promise((e,t)=>import("./material-viewer-b38ac2ae.js").then(({MaterialViewer:t})=>e(new t(n)),t))}static getRapiAccess(){return RoomleDependencyInjection.addToContainer([new DependencyInjectionAssignment("rapi-access",RapiAccess,0),new DependencyInjectionAssignment("global-callback",GlobalCallback,0)]),Promise.resolve(RoomleDependencyInjection.lookup("rapi-access"))}static get callbacks(){return RoomleDependencyInjection.addToContainer([new DependencyInjectionAssignment("global-callback",GlobalCallback,0)]),Promise.resolve(RoomleDependencyInjection.lookup("global-callback"))}static setGlobalInitData(e){e&&(RoomleDependencyInjection.addToContainer([new DependencyInjectionAssignment("global-init-data",GlobalInitData,0)]),RoomleDependencyInjection.lookup("global-init-data").setOverrides(e))}static getContext(e){return RoomleDependencyInjection.getContext(e)}static _setupDI(e,n,t){return n&&(RoomleDependencyInjection.addToContainer([new DependencyInjectionAssignment("init-data",InitData,1)]),t||(t=RoomleDependencyInjection.getContext(e)),RoomleDependencyInjection.lookup("init-data",t).setOverrides(n)),t}}
2
- //# sourceMappingURL=roomle-sdk-b6d056a3.js.map
1
+ import{r as RoomleDependencyInjection,e as DependencyInjectionAssignment,f as RapiAccess,ag as GlobalCallback,ah as GlobalInitData,ai as InitData}from"./rapi-access-184c82bc.js";import"./main-thread-to-worker-9d399850.js";export default class{static getConfigurator(e,n){return n=this._setupDI("configurator",e,n),new Promise((e,t)=>import("./configurator-ac4b6505.js").then((function(e){return e.c})).then(({Configurator:t})=>e(new t(n)),t))}static getPlanner(e,n){return n=this._setupDI("planner",e,n),new Promise((e,t)=>import("./planner-92cd02ad.js").then(({Planner:t})=>e(new t(n)),t))}static async getGlbViewer(e,n){return n=this._setupDI("glb-viewer",e,n),new Promise((e,t)=>import("./glb-viewer-f03a2567.js").then(({GlbViewer:t})=>e(new t(n)),t))}static getMaterialViewer(e,n){return n=this._setupDI("configurator",e,n),new Promise((e,t)=>import("./material-viewer-35a1667b.js").then(({MaterialViewer:t})=>e(new t(n)),t))}static getRapiAccess(){return RoomleDependencyInjection.addToContainer([new DependencyInjectionAssignment("rapi-access",RapiAccess,0),new DependencyInjectionAssignment("global-callback",GlobalCallback,0)]),Promise.resolve(RoomleDependencyInjection.lookup("rapi-access"))}static get callbacks(){return RoomleDependencyInjection.addToContainer([new DependencyInjectionAssignment("global-callback",GlobalCallback,0)]),Promise.resolve(RoomleDependencyInjection.lookup("global-callback"))}static setGlobalInitData(e){e&&(RoomleDependencyInjection.addToContainer([new DependencyInjectionAssignment("global-init-data",GlobalInitData,0)]),RoomleDependencyInjection.lookup("global-init-data").setOverrides(e))}static getContext(e){return RoomleDependencyInjection.getContext(e)}static _setupDI(e,n,t){return n&&(RoomleDependencyInjection.addToContainer([new DependencyInjectionAssignment("init-data",InitData,1)]),t||(t=RoomleDependencyInjection.getContext(e)),RoomleDependencyInjection.lookup("init-data",t).setOverrides(n)),t}}
2
+ //# sourceMappingURL=roomle-sdk-8880667c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roomle-sdk-8880667c.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- System.register(["./rapi-access-a4deb335.nomodule.js","./main-thread-to-worker-4fc95d50.nomodule.js"],(function(e,t){var a,n,r,o,i,s;return{setters:[function(e){a=e.s,n=e.n,r=e.o,o=e.af,i=e.ag,s=e.ah},function(){}],execute:function(){e("default",class{static getConfigurator(e,a){return a=this._setupDI("configurator",e,a),new Promise((e,n)=>t.import("./configurator-82d6aac4.nomodule.js").then((function(e){return e.c})).then(({Configurator:t})=>e(new t(a)),n))}static getPlanner(e,a){return a=this._setupDI("planner",e,a),new Promise((e,n)=>t.import("./planner-714bb53f.nomodule.js").then(({Planner:t})=>e(new t(a)),n))}static async getGlbViewer(e,a){return a=this._setupDI("glb-viewer",e,a),new Promise((e,n)=>t.import("./glb-viewer-15affc03.nomodule.js").then(({GlbViewer:t})=>e(new t(a)),n))}static getMaterialViewer(e,a){return a=this._setupDI("configurator",e,a),new Promise((e,n)=>t.import("./material-viewer-a13d25f9.nomodule.js").then(({MaterialViewer:t})=>e(new t(a)),n))}static getRapiAccess(){return a.addToContainer([new n("rapi-access",r,0),new n("global-callback",o,0)]),Promise.resolve(a.lookup("rapi-access"))}static get callbacks(){return a.addToContainer([new n("global-callback",o,0)]),Promise.resolve(a.lookup("global-callback"))}static setGlobalInitData(e){e&&(a.addToContainer([new n("global-init-data",i,0)]),a.lookup("global-init-data").setOverrides(e))}static getContext(e){return a.getContext(e)}static _setupDI(e,t,r){return t&&(a.addToContainer([new n("init-data",s,1)]),r||(r=a.getContext(e)),a.lookup("init-data",r).setOverrides(t)),r}})}}}));
1
+ System.register(["./rapi-access-5df63b00.nomodule.js","./main-thread-to-worker-97315397.nomodule.js"],(function(e,t){var a,n,r,o,i,s;return{setters:[function(e){a=e.r,n=e.e,r=e.f,o=e.ag,i=e.ah,s=e.ai},function(){}],execute:function(){e("default",class{static getConfigurator(e,a){return a=this._setupDI("configurator",e,a),new Promise((e,n)=>t.import("./configurator-cefab5fe.nomodule.js").then((function(e){return e.c})).then(({Configurator:t})=>e(new t(a)),n))}static getPlanner(e,a){return a=this._setupDI("planner",e,a),new Promise((e,n)=>t.import("./planner-e2d8f4ac.nomodule.js").then(({Planner:t})=>e(new t(a)),n))}static async getGlbViewer(e,a){return a=this._setupDI("glb-viewer",e,a),new Promise((e,n)=>t.import("./glb-viewer-79f4e8f2.nomodule.js").then(({GlbViewer:t})=>e(new t(a)),n))}static getMaterialViewer(e,a){return a=this._setupDI("configurator",e,a),new Promise((e,n)=>t.import("./material-viewer-e9a19afe.nomodule.js").then(({MaterialViewer:t})=>e(new t(a)),n))}static getRapiAccess(){return a.addToContainer([new n("rapi-access",r,0),new n("global-callback",o,0)]),Promise.resolve(a.lookup("rapi-access"))}static get callbacks(){return a.addToContainer([new n("global-callback",o,0)]),Promise.resolve(a.lookup("global-callback"))}static setGlobalInitData(e){e&&(a.addToContainer([new n("global-init-data",i,0)]),a.lookup("global-init-data").setOverrides(e))}static getContext(e){return a.getContext(e)}static _setupDI(e,t,r){return t&&(a.addToContainer([new n("init-data",s,1)]),r||(r=a.getContext(e)),a.lookup("init-data",r).setOverrides(t)),r}})}}}));
2
2
  //# sourceMappingURL=roomle-sdk.nomodule.js.map
@@ -1 +1 @@
1
- var _scriptDir,ConfiguratorKernel=(_scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(t){var n,r,e;t=t||{},n||(n=void 0!==t?t:{}),n.ready=new Promise((function(t,n){r=t,e=n}));var i=Object.assign({},n),a="./this.program",o=(t,n)=>{throw n},c="";"undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),_scriptDir&&(c=_scriptDir),c=0!==c.indexOf("blob:")?c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1):"";var u=n.print||console.log.bind(console),f=n.printErr||console.warn.bind(console);Object.assign(n,i),i=null,n.thisProgram&&(a=n.thisProgram),n.quit&&(o=n.quit);var s,l=0;n.wasmBinary&&(s=n.wasmBinary);var h=n.noExitRuntime||!0;"object"!=typeof WebAssembly&&z("no native wasm support detected");var v,b=!1,p="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function y(t,n,r){var e=n+r;for(r=n;t[r]&&!(r>=e);)++r;if(16<r-n&&t.subarray&&p)return p.decode(t.subarray(n,r));for(e="";n<r;){var i=t[n++];if(128&i){var a=63&t[n++];if(192==(224&i))e+=String.fromCharCode((31&i)<<6|a);else{var o=63&t[n++];65536>(i=224==(240&i)?(15&i)<<12|a<<6|o:(7&i)<<18|a<<12|o<<6|63&t[n++])?e+=String.fromCharCode(i):(i-=65536,e+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else e+=String.fromCharCode(i)}return e}function d(t,n,r,e){if(0<e){e=r+e-1;for(var i=0;i<t.length;++i){var a=t.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++i)),127>=a){if(r>=e)break;n[r++]=a}else{if(2047>=a){if(r+1>=e)break;n[r++]=192|a>>6}else{if(65535>=a){if(r+2>=e)break;n[r++]=224|a>>12}else{if(r+3>=e)break;n[r++]=240|a>>18,n[r++]=128|a>>12&63}n[r++]=128|a>>6&63}n[r++]=128|63&a}}n[r]=0}}function g(t){for(var n=0,r=0;r<t.length;++r){var e=t.charCodeAt(r);55296<=e&&57343>=e&&(e=65536+((1023&e)<<10)|1023&t.charCodeAt(++r)),127>=e?++n:n=2047>=e?n+2:65535>=e?n+3:n+4}return n}var m,w,T,_,S,R,A,C,W,j="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function k(t,n){for(var r=t>>1,e=r+n/2;!(r>=e)&&S[r];)++r;if(32<(r<<=1)-t&&j)return j.decode(T.subarray(t,r));for(r="",e=0;!(e>=n/2);++e){var i=_[t+2*e>>1];if(0==i)break;r+=String.fromCharCode(i)}return r}function P(t,n,r){if(void 0===r&&(r=2147483647),2>r)return 0;var e=n;r=(r-=2)<2*t.length?r/2:t.length;for(var i=0;i<r;++i)_[n>>1]=t.charCodeAt(i),n+=2;return _[n>>1]=0,n-e}function D(t){return 2*t.length}function F(t,n){for(var r=0,e="";!(r>=n/4);){var i=R[t+4*r>>2];if(0==i)break;++r,65536<=i?(i-=65536,e+=String.fromCharCode(55296|i>>10,56320|1023&i)):e+=String.fromCharCode(i)}return e}function E(t,n,r){if(void 0===r&&(r=2147483647),4>r)return 0;var e=n;r=e+r-4;for(var i=0;i<t.length;++i){var a=t.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++i)),R[n>>2]=a,(n+=4)+4>r)break}return R[n>>2]=0,n-e}function O(t){for(var n=0,r=0;r<t.length;++r){var e=t.charCodeAt(r);55296<=e&&57343>=e&&++r,n+=4}return n}function U(){var t=v.buffer;m=t,n.HEAP8=w=new Int8Array(t),n.HEAP16=_=new Int16Array(t),n.HEAP32=R=new Int32Array(t),n.HEAPU8=T=new Uint8Array(t),n.HEAPU16=S=new Uint16Array(t),n.HEAPU32=A=new Uint32Array(t),n.HEAPF32=C=new Float32Array(t),n.HEAPF64=W=new Float64Array(t)}var M,x=[],Y=[],I=[],V=[];function H(){var t=n.preRun.shift();x.unshift(t)}var X,B=0,Z=null,$=null;function z(t){throw n.onAbort&&n.onAbort(t),f(t="Aborted("+t+")"),b=!0,t=new WebAssembly.RuntimeError(t+". Build with -s ASSERTIONS=1 for more info."),e(t),t}function q(){return X.startsWith("data:application/octet-stream;base64,")}if(n.preloadedImages={},n.preloadedAudios={},X="ConfiguratorKernel.wasm",!q()){var N=X;X=n.locateFile?n.locateFile(N,c):c+N}function K(){var t=X;try{if(t==X&&s)return new Uint8Array(s);throw"both async and sync fetching of the wasm failed"}catch(t){z(t)}}function L(t){for(;0<t.length;){var r=t.shift();if("function"==typeof r)r(n);else{var e=r.jd;"number"==typeof e?void 0===r.yc?G(e)():G(e)(r.yc):e(void 0===r.yc?null:r.yc)}}}function G(t){return M.get(t)}function J(t){this.Fc=t,this.Sb=t-16,this.wc=function(t){R[this.Sb+4>>2]=t},this.lc=function(){return R[this.Sb+4>>2]},this.cc=function(t){R[this.Sb+8>>2]=t},this.Qc=function(){return R[this.Sb+8>>2]},this.ec=function(){R[this.Sb>>2]=0},this.Dc=function(t){w[this.Sb+12>>0]=t?1:0},this.Pc=function(){return 0!=w[this.Sb+12>>0]},this.sc=function(t){w[this.Sb+13>>0]=t?1:0},this.Hc=function(){return 0!=w[this.Sb+13>>0]},this.bc=function(t,n){this.wc(t),this.cc(n),this.ec(),this.Dc(!1),this.sc(!1)},this.xc=function(){R[this.Sb>>2]+=1},this.Zc=function(){var t=R[this.Sb>>2];return R[this.Sb>>2]=t-1,1===t}}function Q(t){this.zc=function(){kn(this.Sb),this.Sb=0},this.cc=function(t){R[this.Sb>>2]=t},this.hc=function(){return R[this.Sb>>2]},this.bc=function(t){R[this.Sb+4>>2]=t},this.ec=function(){return this.Sb+4},this.wc=function(){return R[this.Sb+4>>2]},this.Jc=function(){if(xn(this.ic().lc()))return R[this.hc()>>2];var t=this.wc();return 0!==t?t:this.hc()},this.ic=function(){return new J(this.hc())},void 0===t?(this.Sb=Pn(8),this.bc(0)):this.Sb=t}var tt=[],nt=0;function rt(t){return kn(new J(t).Sb)}function et(t){if(t.Zc()&&!t.Hc()){var n=t.Qc();n&&G(n)(t.Fc),rt(t.Fc)}}var it=0;function at(){var t=tt.pop();t||z("no exception to throw");var n=t.ic(),r=t.hc();throw n.Hc()?t.zc():(tt.push(t),n.sc(!0),n.Dc(!1),nt++),it=r,r}var ot={};function ct(t){for(;t.length;){var n=t.pop();t.pop()(n)}}function ut(t){return this.fromWireType(A[t>>2])}var ft={},st={},lt={};function ht(t){if(void 0===t)return"_unknown";var n=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=n&&57>=n?"_"+t:t}function vt(t,n){return t=ht(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(n)}function bt(t){var n=Error,r=vt(t,(function(n){this.name=t,this.message=n,void 0!==(n=Error(n).stack)&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(n.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var pt=void 0;function yt(t){throw new pt(t)}function dt(t,n,r){function e(n){(n=r(n)).length!==t.length&&yt("Mismatched type converter count");for(var e=0;e<t.length;++e)St(t[e],n[e])}t.forEach((function(t){lt[t]=n}));var i=Array(n.length),a=[],o=0;n.forEach((function(t,n){st.hasOwnProperty(t)?i[n]=st[t]:(a.push(t),ft.hasOwnProperty(t)||(ft[t]=[]),ft[t].push((function(){i[n]=st[t],++o===a.length&&e(i)})))})),0===a.length&&e(i)}function gt(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}var mt=void 0;function wt(t){for(var n="";T[t];)n+=mt[T[t++]];return n}var Tt=void 0;function _t(t){throw new Tt(t)}function St(t,n,r={}){if(!("argPackAdvance"in n))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=n.name;if(t||_t('type "'+e+'" must have a positive integer typeid pointer'),st.hasOwnProperty(t)){if(r.Uc)return;_t("Cannot register type '"+e+"' twice")}st[t]=n,delete lt[t],ft.hasOwnProperty(t)&&(n=ft[t],delete ft[t],n.forEach((function(t){t()})))}function Rt(t){_t(t.Rb.Ub.Tb.name+" instance already deleted")}var At=!1;function Ct(){}function Wt(t){--t.count.value,0===t.count.value&&(t.Wb?t.Zb.ac(t.Wb):t.Ub.Tb.ac(t.Sb))}var jt={},kt=[];function Pt(){for(;kt.length;){var t=kt.pop();t.Rb.fc=!1,t.delete()}}var Dt=void 0,Ft={};function Et(t,n){return n.Ub&&n.Sb||yt("makeClassHandle requires ptr and ptrType"),!!n.Zb!=!!n.Wb&&yt("Both smartPtrType and smartPtr must be specified"),n.count={value:1},Ot(Object.create(t,{Rb:{value:n}}))}function Ot(t){return"undefined"==typeof FinalizationRegistry?(Ot=t=>t,t):(At=new FinalizationRegistry(t=>{Wt(t.Rb)}),Ct=t=>{At.unregister(t)},(Ot=t=>{var n=t.Rb;return n.Wb&&At.register(t,{Rb:n},t),t})(t))}function Ut(){}function Mt(t,n,r){if(void 0===t[n].Vb){var e=t[n];t[n]=function(){return t[n].Vb.hasOwnProperty(arguments.length)||_t("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[n].Vb+")!"),t[n].Vb[arguments.length].apply(this,arguments)},t[n].Vb=[],t[n].Vb[e.pc]=e}}function xt(t,r,e){n.hasOwnProperty(t)?((void 0===e||void 0!==n[t].Vb&&void 0!==n[t].Vb[e])&&_t("Cannot register public name '"+t+"' twice"),Mt(n,t,t),n.hasOwnProperty(e)&&_t("Cannot register multiple overloads of a function with the same number of arguments ("+e+")!"),n[t].Vb[e]=r):(n[t]=r,void 0!==e&&(n[t].ld=e))}function Yt(t,n,r,e,i,a,o,c){this.name=t,this.constructor=n,this.jc=r,this.ac=e,this.$b=i,this.Nc=a,this.oc=o,this.Lc=c,this.Xc=[]}function It(t,n,r){for(;n!==r;)n.oc||_t("Expected null or instance of "+r.name+", got an instance of "+n.name),t=n.oc(t),n=n.$b;return t}function Vt(t,n){return null===n?(this.Ac&&_t("null is not a valid "+this.name),0):(n.Rb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Rb.Sb||_t("Cannot pass deleted object as a pointer of type "+this.name),It(n.Rb.Sb,n.Rb.Ub.Tb,this.Tb))}function Ht(t,n){if(null===n){if(this.Ac&&_t("null is not a valid "+this.name),this.rc){var r=this.Bc();return null!==t&&t.push(this.ac,r),r}return 0}if(n.Rb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Rb.Sb||_t("Cannot pass deleted object as a pointer of type "+this.name),!this.qc&&n.Rb.Ub.qc&&_t("Cannot convert argument of type "+(n.Rb.Zb?n.Rb.Zb.name:n.Rb.Ub.name)+" to parameter type "+this.name),r=It(n.Rb.Sb,n.Rb.Ub.Tb,this.Tb),this.rc)switch(void 0===n.Rb.Wb&&_t("Passing raw pointer to smart pointer is illegal"),this.cd){case 0:n.Rb.Zb===this?r=n.Rb.Wb:_t("Cannot convert argument of type "+(n.Rb.Zb?n.Rb.Zb.name:n.Rb.Ub.name)+" to parameter type "+this.name);break;case 1:r=n.Rb.Wb;break;case 2:if(n.Rb.Zb===this)r=n.Rb.Wb;else{var e=n.clone();r=this.Yc(r,rn((function(){e.delete()}))),null!==t&&t.push(this.ac,r)}break;default:_t("Unsupporting sharing policy")}return r}function Xt(t,n){return null===n?(this.Ac&&_t("null is not a valid "+this.name),0):(n.Rb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Rb.Sb||_t("Cannot pass deleted object as a pointer of type "+this.name),n.Rb.Ub.qc&&_t("Cannot convert argument of type "+n.Rb.Ub.name+" to parameter type "+this.name),It(n.Rb.Sb,n.Rb.Ub.Tb,this.Tb))}function Bt(t,n,r,e,i,a,o,c,u,f,s){this.name=t,this.Tb=n,this.Ac=r,this.qc=e,this.rc=i,this.Wc=a,this.cd=o,this.Ic=c,this.Bc=u,this.Yc=f,this.ac=s,i||void 0!==n.$b?this.toWireType=Ht:(this.toWireType=e?Vt:Xt,this.Yb=null)}function Zt(t,r,e){n.hasOwnProperty(t)||yt("Replacing nonexistant public symbol"),void 0!==n[t].Vb&&void 0!==e?n[t].Vb[e]=r:(n[t]=r,n[t].pc=e)}function $t(t,r){var e=(t=wt(t)).includes("j")?function(t,r){var e=[];return function(){if(e.length=0,Object.assign(e,arguments),t.includes("j")){var i=n["dynCall_"+t];i=e&&e.length?i.apply(null,[r].concat(e)):i.call(null,r)}else i=G(r).apply(null,e);return i}}(t,r):G(r);return"function"!=typeof e&&_t("unknown function pointer with signature "+t+": "+r),e}var zt=void 0;function qt(t){var n=wt(t=Dn(t));return kn(t),n}function Nt(t,n){var r=[],e={};throw n.forEach((function t(n){e[n]||st[n]||(lt[n]?lt[n].forEach(t):(r.push(n),e[n]=!0))})),new zt(t+": "+r.map(qt).join([", "]))}function Kt(t,n){for(var r=[],e=0;e<t;e++)r.push(R[(n>>2)+e]);return r}function Lt(t){var n=Function;if(!(n instanceof Function))throw new TypeError("new_ called with constructor type "+typeof n+" which is not a function");var r=vt(n.name||"unknownFunctionName",(function(){}));return r.prototype=n.prototype,r=new r,(t=n.apply(r,t))instanceof Object?t:r}function Gt(t,n,r,e,i){var a=n.length;2>a&&_t("argTypes array size mismatch! Must at least get return value and 'this' types!");var o=null!==n[1]&&null!==r,c=!1;for(r=1;r<n.length;++r)if(null!==n[r]&&void 0===n[r].Yb){c=!0;break}var u="void"!==n[0].name,f="",s="";for(r=0;r<a-2;++r)f+=(0!==r?", ":"")+"arg"+r,s+=(0!==r?", ":"")+"arg"+r+"Wired";t="return function "+ht(t)+"("+f+") {\nif (arguments.length !== "+(a-2)+") {\nthrowBindingError('function "+t+" called with ' + arguments.length + ' arguments, expected "+(a-2)+" args!');\n}\n",c&&(t+="var destructors = [];\n");var l=c?"destructors":"null";for(f="throwBindingError invoker fn runDestructors retType classParam".split(" "),e=[_t,e,i,ct,n[0],n[1]],o&&(t+="var thisWired = classParam.toWireType("+l+", this);\n"),r=0;r<a-2;++r)t+="var arg"+r+"Wired = argType"+r+".toWireType("+l+", arg"+r+"); // "+n[r+2].name+"\n",f.push("argType"+r),e.push(n[r+2]);if(o&&(s="thisWired"+(0<s.length?", ":"")+s),t+=(u?"var rv = ":"")+"invoker(fn"+(0<s.length?", ":"")+s+");\n",c)t+="runDestructors(destructors);\n";else for(r=o?1:2;r<n.length;++r)a=1===r?"thisWired":"arg"+(r-2)+"Wired",null!==n[r].Yb&&(t+=a+"_dtor("+a+"); // "+n[r].name+"\n",f.push(a+"_dtor"),e.push(n[r].Yb));return u&&(t+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),f.push(t+"}\n"),Lt(f).apply(null,e)}var Jt=[],Qt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function tn(t){4<t&&0==--Qt[t].Cc&&(Qt[t]=void 0,Jt.push(t))}function nn(t){return t||_t("Cannot use deleted val. handle = "+t),Qt[t].value}function rn(t){switch(t){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var n=Jt.length?Jt.pop():Qt.length;return Qt[n]={Cc:1,value:t},n}}function en(t,n,r){switch(n){case 0:return function(t){return this.fromWireType((r?w:T)[t])};case 1:return function(t){return this.fromWireType((r?_:S)[t>>1])};case 2:return function(t){return this.fromWireType((r?R:A)[t>>2])};default:throw new TypeError("Unknown integer type: "+t)}}function an(t,n){var r=st[t];return void 0===r&&_t(n+" has unknown type "+qt(t)),r}function on(t){if(null===t)return"null";var n=typeof t;return"object"===n||"array"===n||"function"===n?t.toString():""+t}function cn(t,n){switch(n){case 2:return function(t){return this.fromWireType(C[t>>2])};case 3:return function(t){return this.fromWireType(W[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function un(t,n,r){switch(n){case 0:return r?function(t){return w[t]}:function(t){return T[t]};case 1:return r?function(t){return _[t>>1]}:function(t){return S[t>>1]};case 2:return r?function(t){return R[t>>2]}:function(t){return A[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}function fn(t,n){for(var r=Array(t),e=0;e<t;++e)r[e]=an(R[(n>>2)+e],"parameter "+e);return r}var sn={};function ln(t){var n=sn[t];return void 0===n?wt(t):n}var hn=[];function vn(){return"object"==typeof globalThis?globalThis:Function("return this")()}var bn=[],pn={},yn={};function dn(){if(!gn){var t,n={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",_:a||"./this.program"};for(t in yn)void 0===yn[t]?delete n[t]:n[t]=yn[t];var r=[];for(t in n)r.push(t+"="+n[t]);gn=r}return gn}var gn,mn=[null,[],[]],wn={};function Tn(t){return 0==t%4&&(0!=t%100||0==t%400)}function _n(t,n){for(var r=0,e=0;e<=n;r+=t[e++]);return r}var Sn=[31,29,31,30,31,30,31,31,30,31,30,31],Rn=[31,28,31,30,31,30,31,31,30,31,30,31];function An(t,n){for(t=new Date(t.getTime());0<n;){var r=t.getMonth(),e=(Tn(t.getFullYear())?Sn:Rn)[r];if(!(n>e-t.getDate())){t.setDate(t.getDate()+n);break}n-=e-t.getDate()+1,t.setDate(1),11>r?t.setMonth(r+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}pt=n.InternalError=bt("InternalError");for(var Cn=Array(256),Wn=0;256>Wn;++Wn)Cn[Wn]=String.fromCharCode(Wn);mt=Cn,Tt=n.BindingError=bt("BindingError"),Ut.prototype.isAliasOf=function(t){if(!(this instanceof Ut&&t instanceof Ut))return!1;var n=this.Rb.Ub.Tb,r=this.Rb.Sb,e=t.Rb.Ub.Tb;for(t=t.Rb.Sb;n.$b;)r=n.oc(r),n=n.$b;for(;e.$b;)t=e.oc(t),e=e.$b;return n===e&&r===t},Ut.prototype.clone=function(){if(this.Rb.Sb||Rt(this),this.Rb.mc)return this.Rb.count.value+=1,this;var t=Ot,n=Object,r=n.create,e=Object.getPrototypeOf(this),i=this.Rb;return(t=t(r.call(n,e,{Rb:{value:{count:i.count,fc:i.fc,mc:i.mc,Sb:i.Sb,Ub:i.Ub,Wb:i.Wb,Zb:i.Zb}}}))).Rb.count.value+=1,t.Rb.fc=!1,t},Ut.prototype.delete=function(){this.Rb.Sb||Rt(this),this.Rb.fc&&!this.Rb.mc&&_t("Object already scheduled for deletion"),Ct(this),Wt(this.Rb),this.Rb.mc||(this.Rb.Wb=void 0,this.Rb.Sb=void 0)},Ut.prototype.isDeleted=function(){return!this.Rb.Sb},Ut.prototype.deleteLater=function(){return this.Rb.Sb||Rt(this),this.Rb.fc&&!this.Rb.mc&&_t("Object already scheduled for deletion"),kt.push(this),1===kt.length&&Dt&&Dt(Pt),this.Rb.fc=!0,this},n.getInheritedInstanceCount=function(){return Object.keys(Ft).length},n.getLiveInheritedInstances=function(){var t,n=[];for(t in Ft)Ft.hasOwnProperty(t)&&n.push(Ft[t]);return n},n.flushPendingDeletes=Pt,n.setDelayFunction=function(t){Dt=t,kt.length&&Dt&&Dt(Pt)},Bt.prototype.Oc=function(t){return this.Ic&&(t=this.Ic(t)),t},Bt.prototype.Ec=function(t){this.ac&&this.ac(t)},Bt.prototype.argPackAdvance=8,Bt.prototype.readValueFromPointer=ut,Bt.prototype.deleteObject=function(t){null!==t&&t.delete()},Bt.prototype.fromWireType=function(t){function n(){return this.rc?Et(this.Tb.jc,{Ub:this.Wc,Sb:r,Zb:this,Wb:t}):Et(this.Tb.jc,{Ub:this,Sb:t})}var r=this.Oc(t);if(!r)return this.Ec(t),null;var e=function(t,n){for(void 0===n&&_t("ptr should not be undefined");t.$b;)n=t.oc(n),t=t.$b;return Ft[n]}(this.Tb,r);if(void 0!==e)return 0===e.Rb.count.value?(e.Rb.Sb=r,e.Rb.Wb=t,e.clone()):(e=e.clone(),this.Ec(t),e);if(e=this.Tb.Nc(r),!(e=jt[e]))return n.call(this);e=this.qc?e.Kc:e.pointerType;var i=function t(n,r,e){return r===e?n:void 0===e.$b||null===(n=t(n,r,e.$b))?null:e.Lc(n)}(r,this.Tb,e.Tb);return null===i?n.call(this):this.rc?Et(e.Tb.jc,{Ub:e,Sb:i,Zb:this,Wb:t}):Et(e.Tb.jc,{Ub:e,Sb:i})},zt=n.UnboundTypeError=bt("UnboundTypeError"),n.count_emval_handles=function(){for(var t=0,n=5;n<Qt.length;++n)void 0!==Qt[n]&&++t;return t},n.get_first_emval=function(){for(var t=5;t<Qt.length;++t)if(void 0!==Qt[t])return Qt[t];return null};var jn={n:function(t){return Pn(t+16)+16},p:function(t){var n=(t=new Q(t)).ic();return n.Pc()||(n.Dc(!0),nt--),n.sc(!1),tt.push(t),n.xc(),t.Jc()},Oa:function(t){throw f("Unexpected exception thrown, this is not properly supported - aborting"),b=!0,t},Ua:function(){if(!tt.length)return 0;var t=tt[tt.length-1];return t.ic().xc(),t.hc()},ta:function(t){t&&et(new J(t))},u:function(){En(0);var t=tt.pop();et(t.ic()),t.zc(),it=0},b:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},h:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},H:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},Aa:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},o:rt,sa:function(t){t&&new J(t).xc()},ra:at,Ta:function(t){if(t){var n=new Q;n.cc(t),t=n.ic(),tt.push(n),t.sc(!0),at()}},G:function(t,n,r){throw new J(t).bc(n,r),it=t,nt++,t},Va:function(){return nt},e:function(t){var n=(t=new Q(t)).hc();throw it||(it=n),t.zc(),n},cb:function(t){var n=ot[t];delete ot[t];var r=n.Bc,e=n.ac,i=n.Gc;dt([t],i.map((function(t){return t.Tc})).concat(i.map((function(t){return t.ad}))),(function(t){var a={};return i.forEach((function(n,r){var e=t[r],o=n.Rc,c=n.Sc,u=t[r+i.length],f=n.$c,s=n.bd;a[n.Mc]={read:function(t){return e.fromWireType(o(c,t))},write:function(t,n){var r=[];f(s,t,u.toWireType(r,n)),ct(r)}}})),[{name:n.name,fromWireType:function(t){var n,r={};for(n in a)r[n]=a[n].read(t);return e(t),r},toWireType:function(t,n){for(var i in a)if(!(i in n))throw new TypeError('Missing field: "'+i+'"');var o=r();for(i in a)a[i].write(o,n[i]);return null!==t&&t.push(e,o),o},argPackAdvance:8,readValueFromPointer:ut,Yb:e}]}))},lb:function(){},Za:function(t,n,r,e,i){var a=gt(r);St(t,{name:n=wt(n),fromWireType:function(t){return!!t},toWireType:function(t,n){return n?e:i},argPackAdvance:8,readValueFromPointer:function(t){if(1===r)var e=w;else if(2===r)e=_;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+n);e=R}return this.fromWireType(e[t>>a])},Yb:null})},z:function(t,n,r,e,i,a,o,c,u,f,s,l,h){s=wt(s),a=$t(i,a),c&&(c=$t(o,c)),f&&(f=$t(u,f)),h=$t(l,h);var v=ht(s);xt(v,(function(){Nt("Cannot construct "+s+" due to unbound types",[e])})),dt([t,n,r],e?[e]:[],(function(n){if(n=n[0],e)var r=n.Tb,i=r.jc;else i=Ut.prototype;n=vt(v,(function(){if(Object.getPrototypeOf(this)!==o)throw new Tt("Use 'new' to construct "+s);if(void 0===u.dc)throw new Tt(s+" has no accessible constructor");var t=u.dc[arguments.length];if(void 0===t)throw new Tt("Tried to invoke ctor of "+s+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.dc).toString()+") parameters instead!");return t.apply(this,arguments)}));var o=Object.create(i,{constructor:{value:n}});n.prototype=o;var u=new Yt(s,n,o,h,r,a,c,f);r=new Bt(s,u,!0,!1,!1),i=new Bt(s+"*",u,!1,!1,!1);var l=new Bt(s+" const*",u,!1,!0,!1);return jt[t]={pointerType:i,Kc:l},Zt(v,n),[r,i,l]}))},y:function(t,n,r,e,i,a){0<n||z(void 0);var o=Kt(n,r);i=$t(e,i),dt([],[t],(function(t){var r="constructor "+(t=t[0]).name;if(void 0===t.Tb.dc&&(t.Tb.dc=[]),void 0!==t.Tb.dc[n-1])throw new Tt("Cannot register multiple constructors with identical number of parameters ("+(n-1)+") for class '"+t.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t.Tb.dc[n-1]=()=>{Nt("Cannot construct "+t.name+" due to unbound types",o)},dt([],o,(function(e){return e.splice(1,0,null),t.Tb.dc[n-1]=Gt(r,e,null,i,a),[]})),[]}))},m:function(t,n,r,e,i,a,o,c){var u=Kt(r,e);n=wt(n),a=$t(i,a),dt([],[t],(function(t){function e(){Nt("Cannot call "+i+" due to unbound types",u)}var i=(t=t[0]).name+"."+n;n.startsWith("@@")&&(n=Symbol[n.substring(2)]),c&&t.Tb.Xc.push(n);var f=t.Tb.jc,s=f[n];return void 0===s||void 0===s.Vb&&s.className!==t.name&&s.pc===r-2?(e.pc=r-2,e.className=t.name,f[n]=e):(Mt(f,n,i),f[n].Vb[r-2]=e),dt([],u,(function(e){return e=Gt(i,e,t,a,o),void 0===f[n].Vb?(e.pc=r-2,f[n]=e):f[n].Vb[r-2]=e,[]})),[]}))},Ya:function(t,n){St(t,{name:n=wt(n),fromWireType:function(t){var n=nn(t);return tn(t),n},toWireType:function(t,n){return rn(n)},argPackAdvance:8,readValueFromPointer:ut,Yb:null})},Z:function(t,n,r,e){function i(){}r=gt(r),n=wt(n),i.values={},St(t,{name:n,constructor:i,fromWireType:function(t){return this.constructor.values[t]},toWireType:function(t,n){return n.value},argPackAdvance:8,readValueFromPointer:en(n,r,e),Yb:null}),xt(n,i)},Y:function(t,n,r){var e=an(t,"enum");n=wt(n),t=e.constructor,e=Object.create(e.constructor.prototype,{value:{value:r},constructor:{value:vt(e.name+"_"+n,(function(){}))}}),t.values[r]=e,t[n]=e},ua:function(t,n,r){r=gt(r),St(t,{name:n=wt(n),fromWireType:function(t){return t},toWireType:function(t,n){return n},argPackAdvance:8,readValueFromPointer:cn(n,r),Yb:null})},X:function(t,n,r,e,i,a){var o=Kt(n,r);t=wt(t),i=$t(e,i),xt(t,(function(){Nt("Cannot call "+t+" due to unbound types",o)}),n-1),dt([],o,(function(r){return Zt(t,Gt(t,[r[0],null].concat(r.slice(1)),null,i,a),n-1),[]}))},L:function(t,n,r,e,i){n=wt(n),-1===i&&(i=4294967295),i=gt(r);var a=t=>t;if(0===e){var o=32-8*r;a=t=>t<<o>>>o}r=n.includes("unsigned")?function(t,n){return n>>>0}:function(t,n){return n},St(t,{name:n,fromWireType:a,toWireType:r,argPackAdvance:8,readValueFromPointer:un(n,i,0!==e),Yb:null})},I:function(t,n,r){function e(t){var n=A;return new i(m,n[1+(t>>=2)],n[t])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][n];St(t,{name:r=wt(r),fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{Uc:!0})},wa:function(t,n,r,e,i,a,o,c,u,f,s,l){r=wt(r),a=$t(i,a),c=$t(o,c),f=$t(u,f),l=$t(s,l),dt([t],[n],(function(t){return t=t[0],[new Bt(r,t.Tb,!1,!1,!0,t,e,a,c,f,l)]}))},va:function(t,n){var r="std::string"===(n=wt(n));St(t,{name:n,fromWireType:function(t){var n=A[t>>2];if(r)for(var e=t+4,i=0;i<=n;++i){var a=t+4+i;if(i==n||0==T[a]){if(e=e?y(T,e,a-e):"",void 0===o)var o=e;else o+=String.fromCharCode(0),o+=e;e=a+1}}else{for(o=Array(n),i=0;i<n;++i)o[i]=String.fromCharCode(T[t+4+i]);o=o.join("")}return kn(t),o},toWireType:function(t,n){n instanceof ArrayBuffer&&(n=new Uint8Array(n));var e="string"==typeof n;e||n instanceof Uint8Array||n instanceof Uint8ClampedArray||n instanceof Int8Array||_t("Cannot pass non-string to std::string");var i=(r&&e?()=>g(n):()=>n.length)(),a=Pn(4+i+1);if(A[a>>2]=i,r&&e)d(n,T,a+4,i+1);else if(e)for(e=0;e<i;++e){var o=n.charCodeAt(e);255<o&&(kn(a),_t("String has UTF-16 code units that do not fit in 8 bits")),T[a+4+e]=o}else for(e=0;e<i;++e)T[a+4+e]=n[e];return null!==t&&t.push(kn,a),a},argPackAdvance:8,readValueFromPointer:ut,Yb:function(t){kn(t)}})},ia:function(t,n,r){if(r=wt(r),2===n)var e=k,i=P,a=D,o=()=>S,c=1;else 4===n&&(e=F,i=E,a=O,o=()=>A,c=2);St(t,{name:r,fromWireType:function(t){for(var r,i=A[t>>2],a=o(),u=t+4,f=0;f<=i;++f){var s=t+4+f*n;f!=i&&0!=a[s>>c]||(u=e(u,s-u),void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),u=s+n)}return kn(t),r},toWireType:function(t,e){"string"!=typeof e&&_t("Cannot pass non-string to C++ string type "+r);var o=a(e),u=Pn(4+o+n);return A[u>>2]=o>>c,i(e,u+4,o+n),null!==t&&t.push(kn,u),u},argPackAdvance:8,readValueFromPointer:ut,Yb:function(t){kn(t)}})},A:function(t,n,r,e,i,a){ot[t]={name:wt(n),Bc:$t(r,e),ac:$t(i,a),Gc:[]}},s:function(t,n,r,e,i,a,o,c,u,f){ot[t].Gc.push({Mc:wt(n),Tc:r,Rc:$t(e,i),Sc:a,ad:o,$c:$t(c,u),bd:f})},_a:function(t,n){St(t,{Vc:!0,name:n=wt(n),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},pb:function(t,n,r){t=nn(t),n=an(n,"emval::as");var e=[],i=rn(e);return R[r>>2]=i,n.toWireType(e,t)},bb:function(t,n,r,e){t=nn(t),r=fn(n,r);for(var i=Array(n),a=0;a<n;++a){var o=r[a];i[a]=o.readValueFromPointer(e),e+=o.argPackAdvance}return rn(t=t.apply(void 0,i))},T:function(t,n,r,e,i){t=hn[t],n=nn(n),r=ln(r);var a=[];return R[e>>2]=rn(a),t(n,r,a,i)},E:function(t,n,r,e){(t=hn[t])(n=nn(n),r=ln(r),null,e)},ja:tn,$a:function(t){return 0===t?rn(vn()):(t=ln(t),rn(vn()[t]))},x:function(t,n){var r=fn(t,n),e=r[0];n=e.name+"_$"+r.slice(1).map((function(t){return t.name})).join("_")+"$";var i=bn[n];if(void 0!==i)return i;i=["retType"];for(var a=[e],o="",c=0;c<t-1;++c)o+=(0!==c?", ":"")+"arg"+c,i.push("argType"+c),a.push(r[1+c]);var u="return function "+ht("methodCaller_"+n)+"(handle, name, destructors, args) {\n",f=0;for(c=0;c<t-1;++c)u+=" var arg"+c+" = argType"+c+".readValueFromPointer(args"+(f?"+"+f:"")+");\n",f+=r[c+1].argPackAdvance;for(u+=" var rv = handle[name]("+o+");\n",c=0;c<t-1;++c)r[c+1].deleteObject&&(u+=" argType"+c+".deleteObject(arg"+c+");\n");return e.Vc||(u+=" return retType.toWireType(destructors, rv);\n"),i.push(u+"};\n"),i=function(t){var n=hn.length;return hn.push(t),n}(t=Lt(i).apply(null,a)),bn[n]=i},fb:function(t){return t=ln(t),rn(n[t])},Ia:function(t,n){return rn((t=nn(t))[n=nn(n)])},xa:function(t){4<t&&(Qt[t].Cc+=1)},eb:function(t,r,e,i){t=nn(t);var a=pn[r];if(!a){a="";for(var o=0;o<r;++o)a+=(0!==o?", ":"")+"arg"+o;var c="return function emval_allocator_"+r+"(constructor, argTypes, args) {\n";for(o=0;o<r;++o)c+="var argType"+o+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+o+'], "parameter '+o+'");\nvar arg'+o+" = argType"+o+".readValueFromPointer(args);\nargs += argType"+o+"['argPackAdvance'];\n";a=new Function("requireRegisteredType","Module","valueToHandle",c+"var obj = new constructor("+a+");\nreturn valueToHandle(obj);\n}\n")(an,n,rn),pn[r]=a}return a(t,e,i)},ab:function(){return rn([])},ub:function(t){return rn(ln(t))},Ma:function(t){ct(nn(t)),tn(t)},db:function(t,n){return(t=nn(t))===nn(n)},B:function(t,n){return rn(t=(t=an(t,"_emval_take_value")).readValueFromPointer(n))},ga:function(){z("")},ha:function(t){var n=T.length;if(2147483648<(t>>>=0))return!1;for(var r=1;4>=r;r*=2){var e=n*(1+.2/r);e=Math.min(e,t+100663296);var i=Math;e=Math.max(t,e),i=i.min.call(i,2147483648,e+(65536-e%65536)%65536);t:{try{v.grow(i-m.byteLength+65535>>>16),U();var a=1;break t}catch(t){}a=void 0}if(a)return!0}return!1},Wa:function(t,n){var r=0;return dn().forEach((function(e,i){var a=n+r;for(i=R[t+4*i>>2]=a,a=0;a<e.length;++a)w[i++>>0]=e.charCodeAt(a);w[i>>0]=0,r+=e.length+1})),0},Xa:function(t,n){var r=dn();R[t>>2]=r.length;var e=0;return r.forEach((function(t){e+=t.length+1})),R[n>>2]=e,0},Qa:function(){return 0},Sa:function(t,n,r,e){return t=wn.kd(t),n=wn.hd(t,n,r),R[e>>2]=n,0},kb:function(){},Ra:function(t,n,r,e){for(var i=0,a=0;a<r;a++){var o=R[n>>2],c=R[n+4>>2];n+=8;for(var s=0;s<c;s++){var l=T[o+s],h=mn[t];0===l||10===l?((1===t?u:f)(y(h,0)),h.length=0):h.push(l)}i+=c}return R[e>>2]=i,0},a:function(){return l},Na:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},ma:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},mb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},F:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},ob:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},sb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},Q:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},P:function(t,n,r,e,i){var a=On();try{return G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},$:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},W:function(t){var n=On();try{return G(t)()}catch(t){if(Un(n),t!==t+0)throw t;En(1,0)}},V:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},Ka:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},g:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},fa:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},N:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},rb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},c:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},qb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},oa:function(t,n,r,e,i,a,o){var c=On();try{return G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},i:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},Ha:function(t,n,r,e,i,a,o,c,u,f,s,l,h,v){var b=On();try{return G(t)(n,r,e,i,a,o,c,u,f,s,l,h,v)}catch(t){if(Un(b),t!==t+0)throw t;En(1,0)}},r:function(t,n,r,e,i){var a=On();try{return G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},za:function(t,n,r,e,i,a){var o=On();try{return G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},w:function(t,n,r,e,i,a){var o=On();try{return G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},D:function(t,n,r,e,i,a,o){var c=On();try{return G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},K:function(t,n,r,e,i,a,o,c){var u=On();try{return G(t)(n,r,e,i,a,o,c)}catch(t){if(Un(u),t!==t+0)throw t;En(1,0)}},ca:function(t,n,r,e,i,a,o,c,u){var f=On();try{return G(t)(n,r,e,i,a,o,c,u)}catch(t){if(Un(f),t!==t+0)throw t;En(1,0)}},_:function(t,n,r,e,i,a,o,c,u,f){var s=On();try{return G(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(Un(s),t!==t+0)throw t;En(1,0)}},ba:function(t,n,r,e,i,a,o,c,u,f,s,l){var h=On();try{return G(t)(n,r,e,i,a,o,c,u,f,s,l)}catch(t){if(Un(h),t!==t+0)throw t;En(1,0)}},gb:function(t,n,r,e){var i=On();try{return Vn(t,n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},jb:function(t,n,r){var e=On();try{return Yn(t,n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},k:function(t){var n=On();try{G(t)()}catch(t){if(Un(n),t!==t+0)throw t;En(1,0)}},l:function(t,n){var r=On();try{G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},tb:function(t,n,r){var e=On();try{G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},pa:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},ka:function(t,n,r){var e=On();try{G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},qa:function(t,n,r,e,i,a,o,c,u,f){var s=On();try{G(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(Un(s),t!==t+0)throw t;En(1,0)}},Fa:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},Ea:function(t,n,r,e,i,a,o,c){var u=On();try{G(t)(n,r,e,i,a,o,c)}catch(t){if(Un(u),t!==t+0)throw t;En(1,0)}},Da:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},d:function(t,n,r){var e=On();try{G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},na:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},S:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},R:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},Ca:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},La:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},ea:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},Ja:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},f:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},nb:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},J:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},Ga:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},j:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},da:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},la:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},t:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},v:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},C:function(t,n,r,e,i,a,o,c){var u=On();try{G(t)(n,r,e,i,a,o,c)}catch(t){if(Un(u),t!==t+0)throw t;En(1,0)}},O:function(t,n,r,e,i,a,o,c,u){var f=On();try{G(t)(n,r,e,i,a,o,c,u)}catch(t){if(Un(f),t!==t+0)throw t;En(1,0)}},U:function(t,n,r,e,i,a,o,c,u,f){var s=On();try{G(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(Un(s),t!==t+0)throw t;En(1,0)}},M:function(t,n,r,e,i,a,o,c,u,f,s){var l=On();try{G(t)(n,r,e,i,a,o,c,u,f,s)}catch(t){if(Un(l),t!==t+0)throw t;En(1,0)}},Ba:function(t,n,r,e,i,a,o,c,u,f,s,l){var h=On();try{G(t)(n,r,e,i,a,o,c,u,f,s,l)}catch(t){if(Un(h),t!==t+0)throw t;En(1,0)}},aa:function(t,n,r,e,i,a,o,c,u,f,s,l,h,v,b,p){var y=On();try{G(t)(n,r,e,i,a,o,c,u,f,s,l,h,v,b,p)}catch(t){if(Un(y),t!==t+0)throw t;En(1,0)}},hb:function(t,n,r,e,i,a){var o=On();try{In(t,n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},ib:function(t,n,r,e){var i=On();try{Hn(t,n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},q:function(t){return t},ya:function(t){l=t},Pa:function(t,n,r,e){return function(t,n,r,e){function i(t,n,r){for(t="number"==typeof t?t.toString():t||"";t.length<n;)t=r[0]+t;return t}function a(t,n){return i(t,n,"0")}function o(t,n){function r(t){return 0>t?-1:0<t?1:0}var e;return 0===(e=r(t.getFullYear()-n.getFullYear()))&&0===(e=r(t.getMonth()-n.getMonth()))&&(e=r(t.getDate()-n.getDate())),e}function c(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function u(t){t=An(new Date(t.Xb+1900,0,1),t.vc);var n=new Date(t.getFullYear()+1,0,4),r=c(new Date(t.getFullYear(),0,4));return n=c(n),0>=o(r,t)?0>=o(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var f=R[e+40>>2];for(var s in e={fd:R[e>>2],ed:R[e+4>>2],tc:R[e+8>>2],nc:R[e+12>>2],kc:R[e+16>>2],Xb:R[e+20>>2],uc:R[e+24>>2],vc:R[e+28>>2],md:R[e+32>>2],dd:R[e+36>>2],gd:f&&f?y(T,f,void 0):""},r=r?y(T,r,void 0):"",f={"%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"})r=r.replace(new RegExp(s,"g"),f[s]);var l="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),h="January February March April May June July August September October November December".split(" ");for(s in f={"%a":function(t){return l[t.uc].substring(0,3)},"%A":function(t){return l[t.uc]},"%b":function(t){return h[t.kc].substring(0,3)},"%B":function(t){return h[t.kc]},"%C":function(t){return a((t.Xb+1900)/100|0,2)},"%d":function(t){return a(t.nc,2)},"%e":function(t){return i(t.nc,2," ")},"%g":function(t){return u(t).toString().substring(2)},"%G":function(t){return u(t)},"%H":function(t){return a(t.tc,2)},"%I":function(t){return 0==(t=t.tc)?t=12:12<t&&(t-=12),a(t,2)},"%j":function(t){return a(t.nc+_n(Tn(t.Xb+1900)?Sn:Rn,t.kc-1),3)},"%m":function(t){return a(t.kc+1,2)},"%M":function(t){return a(t.ed,2)},"%n":function(){return"\n"},"%p":function(t){return 0<=t.tc&&12>t.tc?"AM":"PM"},"%S":function(t){return a(t.fd,2)},"%t":function(){return"\t"},"%u":function(t){return t.uc||7},"%U":function(t){var n=new Date(t.Xb+1900,0,1),r=0===n.getDay()?n:An(n,7-n.getDay());return 0>o(r,t=new Date(t.Xb+1900,t.kc,t.nc))?a(Math.ceil((31-r.getDate()+(_n(Tn(t.getFullYear())?Sn:Rn,t.getMonth()-1)-31)+t.getDate())/7),2):0===o(r,n)?"01":"00"},"%V":function(t){var n=new Date(t.Xb+1901,0,4),r=c(new Date(t.Xb+1900,0,4));n=c(n);var e=An(new Date(t.Xb+1900,0,1),t.vc);return 0>o(e,r)?"53":0>=o(n,e)?"01":a(Math.ceil((r.getFullYear()<t.Xb+1900?t.vc+32-r.getDate():t.vc+1-r.getDate())/7),2)},"%w":function(t){return t.uc},"%W":function(t){var n=new Date(t.Xb,0,1),r=1===n.getDay()?n:An(n,0===n.getDay()?1:7-n.getDay()+1);return 0>o(r,t=new Date(t.Xb+1900,t.kc,t.nc))?a(Math.ceil((31-r.getDate()+(_n(Tn(t.getFullYear())?Sn:Rn,t.getMonth()-1)-31)+t.getDate())/7),2):0===o(r,n)?"01":"00"},"%y":function(t){return(t.Xb+1900).toString().substring(2)},"%Y":function(t){return t.Xb+1900},"%z":function(t){var n=0<=(t=t.dd);return t=Math.abs(t)/60,(n?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.gd},"%%":function(){return"%"}},r=r.replace(/%%/g,"\0\0"),f)r.includes(s)&&(r=r.replace(new RegExp(s,"g"),f[s](e)));return(s=function(t){var n=Array(g(t)+1);return d(t,n,0,n.length),n}(r=r.replace(/\0\0/g,"%"))).length>n?0:(w.set(s,t),s.length-1)}(t,n,r,e)}};!function(){function t(t){n.asm=t.exports,v=n.asm.vb,U(),M=n.asm.Cb,Y.unshift(n.asm.wb),B--,n.monitorRunDependencies&&n.monitorRunDependencies(B),0==B&&(null!==Z&&(clearInterval(Z),Z=null),$&&(t=$,$=null,t()))}function r(n){t(n.instance)}function i(t){return(s||"function"!=typeof fetch?Promise.resolve().then((function(){return K()})):fetch(X,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+X+"'";return t.arrayBuffer()})).catch((function(){return K()}))).then((function(t){return WebAssembly.instantiate(t,a)})).then((function(t){return t})).then(t,(function(t){f("failed to asynchronously prepare wasm: "+t),z(t)}))}var a={a:jn};if(B++,n.monitorRunDependencies&&n.monitorRunDependencies(B),n.instantiateWasm)try{return n.instantiateWasm(a,t)}catch(t){return f("Module.instantiateWasm callback failed with error: "+t),!1}(s||"function"!=typeof WebAssembly.instantiateStreaming||q()||"function"!=typeof fetch?i(r):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,a).then(r,(function(t){return f("wasm streaming compile failed: "+t),f("falling back to ArrayBuffer instantiation"),i(r)}))}))).catch(e)}(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.wb).apply(null,arguments)};var kn=n._free=function(){return(kn=n._free=n.asm.xb).apply(null,arguments)},Pn=n._malloc=function(){return(Pn=n._malloc=n.asm.yb).apply(null,arguments)};n._main=function(){return(n._main=n.asm.zb).apply(null,arguments)};var Dn=n.___getTypeName=function(){return(Dn=n.___getTypeName=n.asm.Ab).apply(null,arguments)};n.___embind_register_native_and_builtin_types=function(){return(n.___embind_register_native_and_builtin_types=n.asm.Bb).apply(null,arguments)};var Fn,En=n._setThrew=function(){return(En=n._setThrew=n.asm.Db).apply(null,arguments)},On=n.stackSave=function(){return(On=n.stackSave=n.asm.Eb).apply(null,arguments)},Un=n.stackRestore=function(){return(Un=n.stackRestore=n.asm.Fb).apply(null,arguments)},Mn=n.___cxa_can_catch=function(){return(Mn=n.___cxa_can_catch=n.asm.Gb).apply(null,arguments)},xn=n.___cxa_is_pointer_type=function(){return(xn=n.___cxa_is_pointer_type=n.asm.Hb).apply(null,arguments)},Yn=n.dynCall_jii=function(){return(Yn=n.dynCall_jii=n.asm.Ib).apply(null,arguments)},In=n.dynCall_viiji=function(){return(In=n.dynCall_viiji=n.asm.Jb).apply(null,arguments)},Vn=n.dynCall_iij=function(){return(Vn=n.dynCall_iij=n.asm.Kb).apply(null,arguments)},Hn=n.dynCall_vij=function(){return(Hn=n.dynCall_vij=n.asm.Lb).apply(null,arguments)};function Xn(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function Bn(){function t(){if(!Fn&&(Fn=!0,n.calledRun=!0,!b)){if(L(Y),L(I),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),Zn){var t=n._main;try{var e=t(0,0);h||(n.onExit&&n.onExit(e),b=!0),o(e,new Xn(e))}catch(t){t instanceof Xn||"unwind"==t||o(1,t)}}if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)t=n.postRun.shift(),V.unshift(t);L(V)}}if(!(0<B)){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)H();L(x),0<B||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),t()}),1)):t())}}if(n.dynCall_viijii=function(){return(n.dynCall_viijii=n.asm.Mb).apply(null,arguments)},n.dynCall_jiji=function(){return(n.dynCall_jiji=n.asm.Nb).apply(null,arguments)},n.dynCall_iiiiij=function(){return(n.dynCall_iiiiij=n.asm.Ob).apply(null,arguments)},n.dynCall_iiiiijj=function(){return(n.dynCall_iiiiijj=n.asm.Pb).apply(null,arguments)},n.dynCall_iiiiiijj=function(){return(n.dynCall_iiiiiijj=n.asm.Qb).apply(null,arguments)},$=function t(){Fn||Bn(),Fn||($=t)},n.run=Bn,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.pop()();var Zn=!0;return n.noInitialRun&&(Zn=!1),Bn(),t.ready});"object"==typeof exports&&"object"==typeof module?module.exports=ConfiguratorKernel:"function"==typeof define&&define.amd?define([],(function(){return ConfiguratorKernel})):"object"==typeof exports&&(exports.ConfiguratorKernel=ConfiguratorKernel);
1
+ var _scriptDir,ConfiguratorKernel=(_scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(t){var n,r,e;t=t||{},n||(n=void 0!==t?t:{}),n.ready=new Promise((function(t,n){r=t,e=n}));var i=Object.assign({},n),a="./this.program",o=(t,n)=>{throw n},c="";"undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),_scriptDir&&(c=_scriptDir),c=0!==c.indexOf("blob:")?c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1):"";var u=n.print||console.log.bind(console),f=n.printErr||console.warn.bind(console);Object.assign(n,i),i=null,n.thisProgram&&(a=n.thisProgram),n.quit&&(o=n.quit);var s,l=0;n.wasmBinary&&(s=n.wasmBinary);var h=n.noExitRuntime||!0;"object"!=typeof WebAssembly&&z("no native wasm support detected");var v,b=!1,p="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function y(t,n,r){var e=n+r;for(r=n;t[r]&&!(r>=e);)++r;if(16<r-n&&t.subarray&&p)return p.decode(t.subarray(n,r));for(e="";n<r;){var i=t[n++];if(128&i){var a=63&t[n++];if(192==(224&i))e+=String.fromCharCode((31&i)<<6|a);else{var o=63&t[n++];65536>(i=224==(240&i)?(15&i)<<12|a<<6|o:(7&i)<<18|a<<12|o<<6|63&t[n++])?e+=String.fromCharCode(i):(i-=65536,e+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else e+=String.fromCharCode(i)}return e}function d(t,n,r,e){if(0<e){e=r+e-1;for(var i=0;i<t.length;++i){var a=t.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++i)),127>=a){if(r>=e)break;n[r++]=a}else{if(2047>=a){if(r+1>=e)break;n[r++]=192|a>>6}else{if(65535>=a){if(r+2>=e)break;n[r++]=224|a>>12}else{if(r+3>=e)break;n[r++]=240|a>>18,n[r++]=128|a>>12&63}n[r++]=128|a>>6&63}n[r++]=128|63&a}}n[r]=0}}function g(t){for(var n=0,r=0;r<t.length;++r){var e=t.charCodeAt(r);55296<=e&&57343>=e&&(e=65536+((1023&e)<<10)|1023&t.charCodeAt(++r)),127>=e?++n:n=2047>=e?n+2:65535>=e?n+3:n+4}return n}var m,w,T,_,S,R,A,C,W,j="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function k(t,n){for(var r=t>>1,e=r+n/2;!(r>=e)&&S[r];)++r;if(32<(r<<=1)-t&&j)return j.decode(T.subarray(t,r));for(r="",e=0;!(e>=n/2);++e){var i=_[t+2*e>>1];if(0==i)break;r+=String.fromCharCode(i)}return r}function P(t,n,r){if(void 0===r&&(r=2147483647),2>r)return 0;var e=n;r=(r-=2)<2*t.length?r/2:t.length;for(var i=0;i<r;++i)_[n>>1]=t.charCodeAt(i),n+=2;return _[n>>1]=0,n-e}function D(t){return 2*t.length}function F(t,n){for(var r=0,e="";!(r>=n/4);){var i=R[t+4*r>>2];if(0==i)break;++r,65536<=i?(i-=65536,e+=String.fromCharCode(55296|i>>10,56320|1023&i)):e+=String.fromCharCode(i)}return e}function E(t,n,r){if(void 0===r&&(r=2147483647),4>r)return 0;var e=n;r=e+r-4;for(var i=0;i<t.length;++i){var a=t.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++i)),R[n>>2]=a,(n+=4)+4>r)break}return R[n>>2]=0,n-e}function O(t){for(var n=0,r=0;r<t.length;++r){var e=t.charCodeAt(r);55296<=e&&57343>=e&&++r,n+=4}return n}function U(){var t=v.buffer;m=t,n.HEAP8=w=new Int8Array(t),n.HEAP16=_=new Int16Array(t),n.HEAP32=R=new Int32Array(t),n.HEAPU8=T=new Uint8Array(t),n.HEAPU16=S=new Uint16Array(t),n.HEAPU32=A=new Uint32Array(t),n.HEAPF32=C=new Float32Array(t),n.HEAPF64=W=new Float64Array(t)}var M,x=[],Y=[],I=[],V=[];function H(){var t=n.preRun.shift();x.unshift(t)}var X,B=0,Z=null,$=null;function z(t){throw n.onAbort&&n.onAbort(t),f(t="Aborted("+t+")"),b=!0,t=new WebAssembly.RuntimeError(t+". Build with -s ASSERTIONS=1 for more info."),e(t),t}function q(){return X.startsWith("data:application/octet-stream;base64,")}if(n.preloadedImages={},n.preloadedAudios={},X="ConfiguratorKernel.wasm",!q()){var N=X;X=n.locateFile?n.locateFile(N,c):c+N}function K(){var t=X;try{if(t==X&&s)return new Uint8Array(s);throw"both async and sync fetching of the wasm failed"}catch(t){z(t)}}function L(t){for(;0<t.length;){var r=t.shift();if("function"==typeof r)r(n);else{var e=r.jd;"number"==typeof e?void 0===r.yc?G(e)():G(e)(r.yc):e(void 0===r.yc?null:r.yc)}}}function G(t){return M.get(t)}function J(t){this.Fc=t,this.Sb=t-16,this.wc=function(t){R[this.Sb+4>>2]=t},this.lc=function(){return R[this.Sb+4>>2]},this.cc=function(t){R[this.Sb+8>>2]=t},this.Qc=function(){return R[this.Sb+8>>2]},this.ec=function(){R[this.Sb>>2]=0},this.Dc=function(t){w[this.Sb+12>>0]=t?1:0},this.Pc=function(){return 0!=w[this.Sb+12>>0]},this.sc=function(t){w[this.Sb+13>>0]=t?1:0},this.Hc=function(){return 0!=w[this.Sb+13>>0]},this.bc=function(t,n){this.wc(t),this.cc(n),this.ec(),this.Dc(!1),this.sc(!1)},this.xc=function(){R[this.Sb>>2]+=1},this.Zc=function(){var t=R[this.Sb>>2];return R[this.Sb>>2]=t-1,1===t}}function Q(t){this.zc=function(){kn(this.Sb),this.Sb=0},this.cc=function(t){R[this.Sb>>2]=t},this.hc=function(){return R[this.Sb>>2]},this.bc=function(t){R[this.Sb+4>>2]=t},this.ec=function(){return this.Sb+4},this.wc=function(){return R[this.Sb+4>>2]},this.Jc=function(){if(xn(this.ic().lc()))return R[this.hc()>>2];var t=this.wc();return 0!==t?t:this.hc()},this.ic=function(){return new J(this.hc())},void 0===t?(this.Sb=Pn(8),this.bc(0)):this.Sb=t}var tt=[],nt=0;function rt(t){return kn(new J(t).Sb)}function et(t){if(t.Zc()&&!t.Hc()){var n=t.Qc();n&&G(n)(t.Fc),rt(t.Fc)}}var it=0;function at(){var t=tt.pop();t||z("no exception to throw");var n=t.ic(),r=t.hc();throw n.Hc()?t.zc():(tt.push(t),n.sc(!0),n.Dc(!1),nt++),it=r,r}var ot={};function ct(t){for(;t.length;){var n=t.pop();t.pop()(n)}}function ut(t){return this.fromWireType(A[t>>2])}var ft={},st={},lt={};function ht(t){if(void 0===t)return"_unknown";var n=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=n&&57>=n?"_"+t:t}function vt(t,n){return t=ht(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(n)}function bt(t){var n=Error,r=vt(t,(function(n){this.name=t,this.message=n,void 0!==(n=Error(n).stack)&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(n.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var pt=void 0;function yt(t){throw new pt(t)}function dt(t,n,r){function e(n){(n=r(n)).length!==t.length&&yt("Mismatched type converter count");for(var e=0;e<t.length;++e)St(t[e],n[e])}t.forEach((function(t){lt[t]=n}));var i=Array(n.length),a=[],o=0;n.forEach((function(t,n){st.hasOwnProperty(t)?i[n]=st[t]:(a.push(t),ft.hasOwnProperty(t)||(ft[t]=[]),ft[t].push((function(){i[n]=st[t],++o===a.length&&e(i)})))})),0===a.length&&e(i)}function gt(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}var mt=void 0;function wt(t){for(var n="";T[t];)n+=mt[T[t++]];return n}var Tt=void 0;function _t(t){throw new Tt(t)}function St(t,n,r={}){if(!("argPackAdvance"in n))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=n.name;if(t||_t('type "'+e+'" must have a positive integer typeid pointer'),st.hasOwnProperty(t)){if(r.Uc)return;_t("Cannot register type '"+e+"' twice")}st[t]=n,delete lt[t],ft.hasOwnProperty(t)&&(n=ft[t],delete ft[t],n.forEach((function(t){t()})))}function Rt(t){_t(t.Rb.Ub.Tb.name+" instance already deleted")}var At=!1;function Ct(){}function Wt(t){--t.count.value,0===t.count.value&&(t.Wb?t.Zb.ac(t.Wb):t.Ub.Tb.ac(t.Sb))}var jt={},kt=[];function Pt(){for(;kt.length;){var t=kt.pop();t.Rb.fc=!1,t.delete()}}var Dt=void 0,Ft={};function Et(t,n){return n.Ub&&n.Sb||yt("makeClassHandle requires ptr and ptrType"),!!n.Zb!=!!n.Wb&&yt("Both smartPtrType and smartPtr must be specified"),n.count={value:1},Ot(Object.create(t,{Rb:{value:n}}))}function Ot(t){return"undefined"==typeof FinalizationRegistry?(Ot=t=>t,t):(At=new FinalizationRegistry(t=>{Wt(t.Rb)}),Ct=t=>{At.unregister(t)},(Ot=t=>{var n=t.Rb;return n.Wb&&At.register(t,{Rb:n},t),t})(t))}function Ut(){}function Mt(t,n,r){if(void 0===t[n].Vb){var e=t[n];t[n]=function(){return t[n].Vb.hasOwnProperty(arguments.length)||_t("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[n].Vb+")!"),t[n].Vb[arguments.length].apply(this,arguments)},t[n].Vb=[],t[n].Vb[e.pc]=e}}function xt(t,r,e){n.hasOwnProperty(t)?((void 0===e||void 0!==n[t].Vb&&void 0!==n[t].Vb[e])&&_t("Cannot register public name '"+t+"' twice"),Mt(n,t,t),n.hasOwnProperty(e)&&_t("Cannot register multiple overloads of a function with the same number of arguments ("+e+")!"),n[t].Vb[e]=r):(n[t]=r,void 0!==e&&(n[t].ld=e))}function Yt(t,n,r,e,i,a,o,c){this.name=t,this.constructor=n,this.jc=r,this.ac=e,this.$b=i,this.Nc=a,this.oc=o,this.Lc=c,this.Xc=[]}function It(t,n,r){for(;n!==r;)n.oc||_t("Expected null or instance of "+r.name+", got an instance of "+n.name),t=n.oc(t),n=n.$b;return t}function Vt(t,n){return null===n?(this.Ac&&_t("null is not a valid "+this.name),0):(n.Rb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Rb.Sb||_t("Cannot pass deleted object as a pointer of type "+this.name),It(n.Rb.Sb,n.Rb.Ub.Tb,this.Tb))}function Ht(t,n){if(null===n){if(this.Ac&&_t("null is not a valid "+this.name),this.rc){var r=this.Bc();return null!==t&&t.push(this.ac,r),r}return 0}if(n.Rb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Rb.Sb||_t("Cannot pass deleted object as a pointer of type "+this.name),!this.qc&&n.Rb.Ub.qc&&_t("Cannot convert argument of type "+(n.Rb.Zb?n.Rb.Zb.name:n.Rb.Ub.name)+" to parameter type "+this.name),r=It(n.Rb.Sb,n.Rb.Ub.Tb,this.Tb),this.rc)switch(void 0===n.Rb.Wb&&_t("Passing raw pointer to smart pointer is illegal"),this.cd){case 0:n.Rb.Zb===this?r=n.Rb.Wb:_t("Cannot convert argument of type "+(n.Rb.Zb?n.Rb.Zb.name:n.Rb.Ub.name)+" to parameter type "+this.name);break;case 1:r=n.Rb.Wb;break;case 2:if(n.Rb.Zb===this)r=n.Rb.Wb;else{var e=n.clone();r=this.Yc(r,rn((function(){e.delete()}))),null!==t&&t.push(this.ac,r)}break;default:_t("Unsupporting sharing policy")}return r}function Xt(t,n){return null===n?(this.Ac&&_t("null is not a valid "+this.name),0):(n.Rb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Rb.Sb||_t("Cannot pass deleted object as a pointer of type "+this.name),n.Rb.Ub.qc&&_t("Cannot convert argument of type "+n.Rb.Ub.name+" to parameter type "+this.name),It(n.Rb.Sb,n.Rb.Ub.Tb,this.Tb))}function Bt(t,n,r,e,i,a,o,c,u,f,s){this.name=t,this.Tb=n,this.Ac=r,this.qc=e,this.rc=i,this.Wc=a,this.cd=o,this.Ic=c,this.Bc=u,this.Yc=f,this.ac=s,i||void 0!==n.$b?this.toWireType=Ht:(this.toWireType=e?Vt:Xt,this.Yb=null)}function Zt(t,r,e){n.hasOwnProperty(t)||yt("Replacing nonexistant public symbol"),void 0!==n[t].Vb&&void 0!==e?n[t].Vb[e]=r:(n[t]=r,n[t].pc=e)}function $t(t,r){var e=(t=wt(t)).includes("j")?function(t,r){var e=[];return function(){if(e.length=0,Object.assign(e,arguments),t.includes("j")){var i=n["dynCall_"+t];i=e&&e.length?i.apply(null,[r].concat(e)):i.call(null,r)}else i=G(r).apply(null,e);return i}}(t,r):G(r);return"function"!=typeof e&&_t("unknown function pointer with signature "+t+": "+r),e}var zt=void 0;function qt(t){var n=wt(t=Dn(t));return kn(t),n}function Nt(t,n){var r=[],e={};throw n.forEach((function t(n){e[n]||st[n]||(lt[n]?lt[n].forEach(t):(r.push(n),e[n]=!0))})),new zt(t+": "+r.map(qt).join([", "]))}function Kt(t,n){for(var r=[],e=0;e<t;e++)r.push(R[(n>>2)+e]);return r}function Lt(t){var n=Function;if(!(n instanceof Function))throw new TypeError("new_ called with constructor type "+typeof n+" which is not a function");var r=vt(n.name||"unknownFunctionName",(function(){}));return r.prototype=n.prototype,r=new r,(t=n.apply(r,t))instanceof Object?t:r}function Gt(t,n,r,e,i){var a=n.length;2>a&&_t("argTypes array size mismatch! Must at least get return value and 'this' types!");var o=null!==n[1]&&null!==r,c=!1;for(r=1;r<n.length;++r)if(null!==n[r]&&void 0===n[r].Yb){c=!0;break}var u="void"!==n[0].name,f="",s="";for(r=0;r<a-2;++r)f+=(0!==r?", ":"")+"arg"+r,s+=(0!==r?", ":"")+"arg"+r+"Wired";t="return function "+ht(t)+"("+f+") {\nif (arguments.length !== "+(a-2)+") {\nthrowBindingError('function "+t+" called with ' + arguments.length + ' arguments, expected "+(a-2)+" args!');\n}\n",c&&(t+="var destructors = [];\n");var l=c?"destructors":"null";for(f="throwBindingError invoker fn runDestructors retType classParam".split(" "),e=[_t,e,i,ct,n[0],n[1]],o&&(t+="var thisWired = classParam.toWireType("+l+", this);\n"),r=0;r<a-2;++r)t+="var arg"+r+"Wired = argType"+r+".toWireType("+l+", arg"+r+"); // "+n[r+2].name+"\n",f.push("argType"+r),e.push(n[r+2]);if(o&&(s="thisWired"+(0<s.length?", ":"")+s),t+=(u?"var rv = ":"")+"invoker(fn"+(0<s.length?", ":"")+s+");\n",c)t+="runDestructors(destructors);\n";else for(r=o?1:2;r<n.length;++r)a=1===r?"thisWired":"arg"+(r-2)+"Wired",null!==n[r].Yb&&(t+=a+"_dtor("+a+"); // "+n[r].name+"\n",f.push(a+"_dtor"),e.push(n[r].Yb));return u&&(t+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),f.push(t+"}\n"),Lt(f).apply(null,e)}var Jt=[],Qt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function tn(t){4<t&&0==--Qt[t].Cc&&(Qt[t]=void 0,Jt.push(t))}function nn(t){return t||_t("Cannot use deleted val. handle = "+t),Qt[t].value}function rn(t){switch(t){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var n=Jt.length?Jt.pop():Qt.length;return Qt[n]={Cc:1,value:t},n}}function en(t,n,r){switch(n){case 0:return function(t){return this.fromWireType((r?w:T)[t])};case 1:return function(t){return this.fromWireType((r?_:S)[t>>1])};case 2:return function(t){return this.fromWireType((r?R:A)[t>>2])};default:throw new TypeError("Unknown integer type: "+t)}}function an(t,n){var r=st[t];return void 0===r&&_t(n+" has unknown type "+qt(t)),r}function on(t){if(null===t)return"null";var n=typeof t;return"object"===n||"array"===n||"function"===n?t.toString():""+t}function cn(t,n){switch(n){case 2:return function(t){return this.fromWireType(C[t>>2])};case 3:return function(t){return this.fromWireType(W[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function un(t,n,r){switch(n){case 0:return r?function(t){return w[t]}:function(t){return T[t]};case 1:return r?function(t){return _[t>>1]}:function(t){return S[t>>1]};case 2:return r?function(t){return R[t>>2]}:function(t){return A[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}function fn(t,n){for(var r=Array(t),e=0;e<t;++e)r[e]=an(R[(n>>2)+e],"parameter "+e);return r}var sn={};function ln(t){var n=sn[t];return void 0===n?wt(t):n}var hn=[];function vn(){return"object"==typeof globalThis?globalThis:Function("return this")()}var bn=[],pn={},yn={};function dn(){if(!gn){var t,n={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",_:a||"./this.program"};for(t in yn)void 0===yn[t]?delete n[t]:n[t]=yn[t];var r=[];for(t in n)r.push(t+"="+n[t]);gn=r}return gn}var gn,mn=[null,[],[]],wn={};function Tn(t){return 0==t%4&&(0!=t%100||0==t%400)}function _n(t,n){for(var r=0,e=0;e<=n;r+=t[e++]);return r}var Sn=[31,29,31,30,31,30,31,31,30,31,30,31],Rn=[31,28,31,30,31,30,31,31,30,31,30,31];function An(t,n){for(t=new Date(t.getTime());0<n;){var r=t.getMonth(),e=(Tn(t.getFullYear())?Sn:Rn)[r];if(!(n>e-t.getDate())){t.setDate(t.getDate()+n);break}n-=e-t.getDate()+1,t.setDate(1),11>r?t.setMonth(r+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}pt=n.InternalError=bt("InternalError");for(var Cn=Array(256),Wn=0;256>Wn;++Wn)Cn[Wn]=String.fromCharCode(Wn);mt=Cn,Tt=n.BindingError=bt("BindingError"),Ut.prototype.isAliasOf=function(t){if(!(this instanceof Ut&&t instanceof Ut))return!1;var n=this.Rb.Ub.Tb,r=this.Rb.Sb,e=t.Rb.Ub.Tb;for(t=t.Rb.Sb;n.$b;)r=n.oc(r),n=n.$b;for(;e.$b;)t=e.oc(t),e=e.$b;return n===e&&r===t},Ut.prototype.clone=function(){if(this.Rb.Sb||Rt(this),this.Rb.mc)return this.Rb.count.value+=1,this;var t=Ot,n=Object,r=n.create,e=Object.getPrototypeOf(this),i=this.Rb;return(t=t(r.call(n,e,{Rb:{value:{count:i.count,fc:i.fc,mc:i.mc,Sb:i.Sb,Ub:i.Ub,Wb:i.Wb,Zb:i.Zb}}}))).Rb.count.value+=1,t.Rb.fc=!1,t},Ut.prototype.delete=function(){this.Rb.Sb||Rt(this),this.Rb.fc&&!this.Rb.mc&&_t("Object already scheduled for deletion"),Ct(this),Wt(this.Rb),this.Rb.mc||(this.Rb.Wb=void 0,this.Rb.Sb=void 0)},Ut.prototype.isDeleted=function(){return!this.Rb.Sb},Ut.prototype.deleteLater=function(){return this.Rb.Sb||Rt(this),this.Rb.fc&&!this.Rb.mc&&_t("Object already scheduled for deletion"),kt.push(this),1===kt.length&&Dt&&Dt(Pt),this.Rb.fc=!0,this},n.getInheritedInstanceCount=function(){return Object.keys(Ft).length},n.getLiveInheritedInstances=function(){var t,n=[];for(t in Ft)Ft.hasOwnProperty(t)&&n.push(Ft[t]);return n},n.flushPendingDeletes=Pt,n.setDelayFunction=function(t){Dt=t,kt.length&&Dt&&Dt(Pt)},Bt.prototype.Oc=function(t){return this.Ic&&(t=this.Ic(t)),t},Bt.prototype.Ec=function(t){this.ac&&this.ac(t)},Bt.prototype.argPackAdvance=8,Bt.prototype.readValueFromPointer=ut,Bt.prototype.deleteObject=function(t){null!==t&&t.delete()},Bt.prototype.fromWireType=function(t){function n(){return this.rc?Et(this.Tb.jc,{Ub:this.Wc,Sb:r,Zb:this,Wb:t}):Et(this.Tb.jc,{Ub:this,Sb:t})}var r=this.Oc(t);if(!r)return this.Ec(t),null;var e=function(t,n){for(void 0===n&&_t("ptr should not be undefined");t.$b;)n=t.oc(n),t=t.$b;return Ft[n]}(this.Tb,r);if(void 0!==e)return 0===e.Rb.count.value?(e.Rb.Sb=r,e.Rb.Wb=t,e.clone()):(e=e.clone(),this.Ec(t),e);if(e=this.Tb.Nc(r),!(e=jt[e]))return n.call(this);e=this.qc?e.Kc:e.pointerType;var i=function t(n,r,e){return r===e?n:void 0===e.$b||null===(n=t(n,r,e.$b))?null:e.Lc(n)}(r,this.Tb,e.Tb);return null===i?n.call(this):this.rc?Et(e.Tb.jc,{Ub:e,Sb:i,Zb:this,Wb:t}):Et(e.Tb.jc,{Ub:e,Sb:i})},zt=n.UnboundTypeError=bt("UnboundTypeError"),n.count_emval_handles=function(){for(var t=0,n=5;n<Qt.length;++n)void 0!==Qt[n]&&++t;return t},n.get_first_emval=function(){for(var t=5;t<Qt.length;++t)if(void 0!==Qt[t])return Qt[t];return null};var jn={n:function(t){return Pn(t+16)+16},p:function(t){var n=(t=new Q(t)).ic();return n.Pc()||(n.Dc(!0),nt--),n.sc(!1),tt.push(t),n.xc(),t.Jc()},Oa:function(t){throw f("Unexpected exception thrown, this is not properly supported - aborting"),b=!0,t},Ua:function(){if(!tt.length)return 0;var t=tt[tt.length-1];return t.ic().xc(),t.hc()},ta:function(t){t&&et(new J(t))},u:function(){En(0);var t=tt.pop();et(t.ic()),t.zc(),it=0},b:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},h:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},H:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},Aa:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},o:rt,sa:function(t){t&&new J(t).xc()},ra:at,Ta:function(t){if(t){var n=new Q;n.cc(t),t=n.ic(),tt.push(n),t.sc(!0),at()}},G:function(t,n,r){throw new J(t).bc(n,r),it=t,nt++,t},Va:function(){return nt},e:function(t){var n=(t=new Q(t)).hc();throw it||(it=n),t.zc(),n},cb:function(t){var n=ot[t];delete ot[t];var r=n.Bc,e=n.ac,i=n.Gc;dt([t],i.map((function(t){return t.Tc})).concat(i.map((function(t){return t.ad}))),(function(t){var a={};return i.forEach((function(n,r){var e=t[r],o=n.Rc,c=n.Sc,u=t[r+i.length],f=n.$c,s=n.bd;a[n.Mc]={read:function(t){return e.fromWireType(o(c,t))},write:function(t,n){var r=[];f(s,t,u.toWireType(r,n)),ct(r)}}})),[{name:n.name,fromWireType:function(t){var n,r={};for(n in a)r[n]=a[n].read(t);return e(t),r},toWireType:function(t,n){for(var i in a)if(!(i in n))throw new TypeError('Missing field: "'+i+'"');var o=r();for(i in a)a[i].write(o,n[i]);return null!==t&&t.push(e,o),o},argPackAdvance:8,readValueFromPointer:ut,Yb:e}]}))},lb:function(){},Za:function(t,n,r,e,i){var a=gt(r);St(t,{name:n=wt(n),fromWireType:function(t){return!!t},toWireType:function(t,n){return n?e:i},argPackAdvance:8,readValueFromPointer:function(t){if(1===r)var e=w;else if(2===r)e=_;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+n);e=R}return this.fromWireType(e[t>>a])},Yb:null})},z:function(t,n,r,e,i,a,o,c,u,f,s,l,h){s=wt(s),a=$t(i,a),c&&(c=$t(o,c)),f&&(f=$t(u,f)),h=$t(l,h);var v=ht(s);xt(v,(function(){Nt("Cannot construct "+s+" due to unbound types",[e])})),dt([t,n,r],e?[e]:[],(function(n){if(n=n[0],e)var r=n.Tb,i=r.jc;else i=Ut.prototype;n=vt(v,(function(){if(Object.getPrototypeOf(this)!==o)throw new Tt("Use 'new' to construct "+s);if(void 0===u.dc)throw new Tt(s+" has no accessible constructor");var t=u.dc[arguments.length];if(void 0===t)throw new Tt("Tried to invoke ctor of "+s+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.dc).toString()+") parameters instead!");return t.apply(this,arguments)}));var o=Object.create(i,{constructor:{value:n}});n.prototype=o;var u=new Yt(s,n,o,h,r,a,c,f);r=new Bt(s,u,!0,!1,!1),i=new Bt(s+"*",u,!1,!1,!1);var l=new Bt(s+" const*",u,!1,!0,!1);return jt[t]={pointerType:i,Kc:l},Zt(v,n),[r,i,l]}))},y:function(t,n,r,e,i,a){0<n||z(void 0);var o=Kt(n,r);i=$t(e,i),dt([],[t],(function(t){var r="constructor "+(t=t[0]).name;if(void 0===t.Tb.dc&&(t.Tb.dc=[]),void 0!==t.Tb.dc[n-1])throw new Tt("Cannot register multiple constructors with identical number of parameters ("+(n-1)+") for class '"+t.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t.Tb.dc[n-1]=()=>{Nt("Cannot construct "+t.name+" due to unbound types",o)},dt([],o,(function(e){return e.splice(1,0,null),t.Tb.dc[n-1]=Gt(r,e,null,i,a),[]})),[]}))},m:function(t,n,r,e,i,a,o,c){var u=Kt(r,e);n=wt(n),a=$t(i,a),dt([],[t],(function(t){function e(){Nt("Cannot call "+i+" due to unbound types",u)}var i=(t=t[0]).name+"."+n;n.startsWith("@@")&&(n=Symbol[n.substring(2)]),c&&t.Tb.Xc.push(n);var f=t.Tb.jc,s=f[n];return void 0===s||void 0===s.Vb&&s.className!==t.name&&s.pc===r-2?(e.pc=r-2,e.className=t.name,f[n]=e):(Mt(f,n,i),f[n].Vb[r-2]=e),dt([],u,(function(e){return e=Gt(i,e,t,a,o),void 0===f[n].Vb?(e.pc=r-2,f[n]=e):f[n].Vb[r-2]=e,[]})),[]}))},Ya:function(t,n){St(t,{name:n=wt(n),fromWireType:function(t){var n=nn(t);return tn(t),n},toWireType:function(t,n){return rn(n)},argPackAdvance:8,readValueFromPointer:ut,Yb:null})},Z:function(t,n,r,e){function i(){}r=gt(r),n=wt(n),i.values={},St(t,{name:n,constructor:i,fromWireType:function(t){return this.constructor.values[t]},toWireType:function(t,n){return n.value},argPackAdvance:8,readValueFromPointer:en(n,r,e),Yb:null}),xt(n,i)},Y:function(t,n,r){var e=an(t,"enum");n=wt(n),t=e.constructor,e=Object.create(e.constructor.prototype,{value:{value:r},constructor:{value:vt(e.name+"_"+n,(function(){}))}}),t.values[r]=e,t[n]=e},ua:function(t,n,r){r=gt(r),St(t,{name:n=wt(n),fromWireType:function(t){return t},toWireType:function(t,n){return n},argPackAdvance:8,readValueFromPointer:cn(n,r),Yb:null})},X:function(t,n,r,e,i,a){var o=Kt(n,r);t=wt(t),i=$t(e,i),xt(t,(function(){Nt("Cannot call "+t+" due to unbound types",o)}),n-1),dt([],o,(function(r){return Zt(t,Gt(t,[r[0],null].concat(r.slice(1)),null,i,a),n-1),[]}))},L:function(t,n,r,e,i){n=wt(n),-1===i&&(i=4294967295),i=gt(r);var a=t=>t;if(0===e){var o=32-8*r;a=t=>t<<o>>>o}r=n.includes("unsigned")?function(t,n){return n>>>0}:function(t,n){return n},St(t,{name:n,fromWireType:a,toWireType:r,argPackAdvance:8,readValueFromPointer:un(n,i,0!==e),Yb:null})},I:function(t,n,r){function e(t){var n=A;return new i(m,n[1+(t>>=2)],n[t])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][n];St(t,{name:r=wt(r),fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{Uc:!0})},wa:function(t,n,r,e,i,a,o,c,u,f,s,l){r=wt(r),a=$t(i,a),c=$t(o,c),f=$t(u,f),l=$t(s,l),dt([t],[n],(function(t){return t=t[0],[new Bt(r,t.Tb,!1,!1,!0,t,e,a,c,f,l)]}))},va:function(t,n){var r="std::string"===(n=wt(n));St(t,{name:n,fromWireType:function(t){var n=A[t>>2];if(r)for(var e=t+4,i=0;i<=n;++i){var a=t+4+i;if(i==n||0==T[a]){if(e=e?y(T,e,a-e):"",void 0===o)var o=e;else o+=String.fromCharCode(0),o+=e;e=a+1}}else{for(o=Array(n),i=0;i<n;++i)o[i]=String.fromCharCode(T[t+4+i]);o=o.join("")}return kn(t),o},toWireType:function(t,n){n instanceof ArrayBuffer&&(n=new Uint8Array(n));var e="string"==typeof n;e||n instanceof Uint8Array||n instanceof Uint8ClampedArray||n instanceof Int8Array||_t("Cannot pass non-string to std::string");var i=(r&&e?()=>g(n):()=>n.length)(),a=Pn(4+i+1);if(A[a>>2]=i,r&&e)d(n,T,a+4,i+1);else if(e)for(e=0;e<i;++e){var o=n.charCodeAt(e);255<o&&(kn(a),_t("String has UTF-16 code units that do not fit in 8 bits")),T[a+4+e]=o}else for(e=0;e<i;++e)T[a+4+e]=n[e];return null!==t&&t.push(kn,a),a},argPackAdvance:8,readValueFromPointer:ut,Yb:function(t){kn(t)}})},ia:function(t,n,r){if(r=wt(r),2===n)var e=k,i=P,a=D,o=()=>S,c=1;else 4===n&&(e=F,i=E,a=O,o=()=>A,c=2);St(t,{name:r,fromWireType:function(t){for(var r,i=A[t>>2],a=o(),u=t+4,f=0;f<=i;++f){var s=t+4+f*n;f!=i&&0!=a[s>>c]||(u=e(u,s-u),void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),u=s+n)}return kn(t),r},toWireType:function(t,e){"string"!=typeof e&&_t("Cannot pass non-string to C++ string type "+r);var o=a(e),u=Pn(4+o+n);return A[u>>2]=o>>c,i(e,u+4,o+n),null!==t&&t.push(kn,u),u},argPackAdvance:8,readValueFromPointer:ut,Yb:function(t){kn(t)}})},A:function(t,n,r,e,i,a){ot[t]={name:wt(n),Bc:$t(r,e),ac:$t(i,a),Gc:[]}},s:function(t,n,r,e,i,a,o,c,u,f){ot[t].Gc.push({Mc:wt(n),Tc:r,Rc:$t(e,i),Sc:a,ad:o,$c:$t(c,u),bd:f})},_a:function(t,n){St(t,{Vc:!0,name:n=wt(n),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},pb:function(t,n,r){t=nn(t),n=an(n,"emval::as");var e=[],i=rn(e);return R[r>>2]=i,n.toWireType(e,t)},bb:function(t,n,r,e){t=nn(t),r=fn(n,r);for(var i=Array(n),a=0;a<n;++a){var o=r[a];i[a]=o.readValueFromPointer(e),e+=o.argPackAdvance}return rn(t=t.apply(void 0,i))},T:function(t,n,r,e,i){t=hn[t],n=nn(n),r=ln(r);var a=[];return R[e>>2]=rn(a),t(n,r,a,i)},E:function(t,n,r,e){(t=hn[t])(n=nn(n),r=ln(r),null,e)},ja:tn,$a:function(t){return 0===t?rn(vn()):(t=ln(t),rn(vn()[t]))},x:function(t,n){var r=fn(t,n),e=r[0];n=e.name+"_$"+r.slice(1).map((function(t){return t.name})).join("_")+"$";var i=bn[n];if(void 0!==i)return i;i=["retType"];for(var a=[e],o="",c=0;c<t-1;++c)o+=(0!==c?", ":"")+"arg"+c,i.push("argType"+c),a.push(r[1+c]);var u="return function "+ht("methodCaller_"+n)+"(handle, name, destructors, args) {\n",f=0;for(c=0;c<t-1;++c)u+=" var arg"+c+" = argType"+c+".readValueFromPointer(args"+(f?"+"+f:"")+");\n",f+=r[c+1].argPackAdvance;for(u+=" var rv = handle[name]("+o+");\n",c=0;c<t-1;++c)r[c+1].deleteObject&&(u+=" argType"+c+".deleteObject(arg"+c+");\n");return e.Vc||(u+=" return retType.toWireType(destructors, rv);\n"),i.push(u+"};\n"),i=function(t){var n=hn.length;return hn.push(t),n}(t=Lt(i).apply(null,a)),bn[n]=i},fb:function(t){return t=ln(t),rn(n[t])},Ia:function(t,n){return rn((t=nn(t))[n=nn(n)])},xa:function(t){4<t&&(Qt[t].Cc+=1)},eb:function(t,r,e,i){t=nn(t);var a=pn[r];if(!a){a="";for(var o=0;o<r;++o)a+=(0!==o?", ":"")+"arg"+o;var c="return function emval_allocator_"+r+"(constructor, argTypes, args) {\n";for(o=0;o<r;++o)c+="var argType"+o+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+o+'], "parameter '+o+'");\nvar arg'+o+" = argType"+o+".readValueFromPointer(args);\nargs += argType"+o+"['argPackAdvance'];\n";a=new Function("requireRegisteredType","Module","valueToHandle",c+"var obj = new constructor("+a+");\nreturn valueToHandle(obj);\n}\n")(an,n,rn),pn[r]=a}return a(t,e,i)},ab:function(){return rn([])},ub:function(t){return rn(ln(t))},Ma:function(t){ct(nn(t)),tn(t)},db:function(t,n){return(t=nn(t))===nn(n)},B:function(t,n){return rn(t=(t=an(t,"_emval_take_value")).readValueFromPointer(n))},ga:function(){z("")},ha:function(t){var n=T.length;if(2147483648<(t>>>=0))return!1;for(var r=1;4>=r;r*=2){var e=n*(1+.2/r);e=Math.min(e,t+100663296);var i=Math;e=Math.max(t,e),i=i.min.call(i,2147483648,e+(65536-e%65536)%65536);t:{try{v.grow(i-m.byteLength+65535>>>16),U();var a=1;break t}catch(t){}a=void 0}if(a)return!0}return!1},Wa:function(t,n){var r=0;return dn().forEach((function(e,i){var a=n+r;for(i=R[t+4*i>>2]=a,a=0;a<e.length;++a)w[i++>>0]=e.charCodeAt(a);w[i>>0]=0,r+=e.length+1})),0},Xa:function(t,n){var r=dn();R[t>>2]=r.length;var e=0;return r.forEach((function(t){e+=t.length+1})),R[n>>2]=e,0},Qa:function(){return 0},Sa:function(t,n,r,e){return t=wn.kd(t),n=wn.hd(t,n,r),R[e>>2]=n,0},kb:function(){},Ra:function(t,n,r,e){for(var i=0,a=0;a<r;a++){var o=R[n>>2],c=R[n+4>>2];n+=8;for(var s=0;s<c;s++){var l=T[o+s],h=mn[t];0===l||10===l?((1===t?u:f)(y(h,0)),h.length=0):h.push(l)}i+=c}return R[e>>2]=i,0},a:function(){return l},Na:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},ma:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},mb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},F:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},ob:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},sb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},Q:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},P:function(t,n,r,e,i){var a=On();try{return G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},$:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},W:function(t){var n=On();try{return G(t)()}catch(t){if(Un(n),t!==t+0)throw t;En(1,0)}},V:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},Ka:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},g:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},fa:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},N:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},rb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},c:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},qb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},oa:function(t,n,r,e,i,a,o){var c=On();try{return G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},i:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},Ha:function(t,n,r,e,i,a,o,c,u,f,s,l,h,v){var b=On();try{return G(t)(n,r,e,i,a,o,c,u,f,s,l,h,v)}catch(t){if(Un(b),t!==t+0)throw t;En(1,0)}},r:function(t,n,r,e,i){var a=On();try{return G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},za:function(t,n,r,e,i,a){var o=On();try{return G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},w:function(t,n,r,e,i,a){var o=On();try{return G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},D:function(t,n,r,e,i,a,o){var c=On();try{return G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},K:function(t,n,r,e,i,a,o,c){var u=On();try{return G(t)(n,r,e,i,a,o,c)}catch(t){if(Un(u),t!==t+0)throw t;En(1,0)}},ca:function(t,n,r,e,i,a,o,c,u){var f=On();try{return G(t)(n,r,e,i,a,o,c,u)}catch(t){if(Un(f),t!==t+0)throw t;En(1,0)}},_:function(t,n,r,e,i,a,o,c,u,f){var s=On();try{return G(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(Un(s),t!==t+0)throw t;En(1,0)}},ba:function(t,n,r,e,i,a,o,c,u,f,s,l){var h=On();try{return G(t)(n,r,e,i,a,o,c,u,f,s,l)}catch(t){if(Un(h),t!==t+0)throw t;En(1,0)}},gb:function(t,n,r,e){var i=On();try{return Vn(t,n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},jb:function(t,n,r){var e=On();try{return Yn(t,n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},k:function(t){var n=On();try{G(t)()}catch(t){if(Un(n),t!==t+0)throw t;En(1,0)}},l:function(t,n){var r=On();try{G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},tb:function(t,n,r){var e=On();try{G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},pa:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},ka:function(t,n,r){var e=On();try{G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},qa:function(t,n,r,e,i,a,o,c,u,f){var s=On();try{G(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(Un(s),t!==t+0)throw t;En(1,0)}},Fa:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},Ea:function(t,n,r,e,i,a,o,c){var u=On();try{G(t)(n,r,e,i,a,o,c)}catch(t){if(Un(u),t!==t+0)throw t;En(1,0)}},Da:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},d:function(t,n,r){var e=On();try{G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},na:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},S:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},R:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},Ca:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},La:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},ea:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},Ja:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},f:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},nb:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},J:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},Ga:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},j:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},da:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},la:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},t:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},v:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},C:function(t,n,r,e,i,a,o,c){var u=On();try{G(t)(n,r,e,i,a,o,c)}catch(t){if(Un(u),t!==t+0)throw t;En(1,0)}},O:function(t,n,r,e,i,a,o,c,u){var f=On();try{G(t)(n,r,e,i,a,o,c,u)}catch(t){if(Un(f),t!==t+0)throw t;En(1,0)}},U:function(t,n,r,e,i,a,o,c,u,f){var s=On();try{G(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(Un(s),t!==t+0)throw t;En(1,0)}},M:function(t,n,r,e,i,a,o,c,u,f,s){var l=On();try{G(t)(n,r,e,i,a,o,c,u,f,s)}catch(t){if(Un(l),t!==t+0)throw t;En(1,0)}},Ba:function(t,n,r,e,i,a,o,c,u,f,s,l){var h=On();try{G(t)(n,r,e,i,a,o,c,u,f,s,l)}catch(t){if(Un(h),t!==t+0)throw t;En(1,0)}},aa:function(t,n,r,e,i,a,o,c,u,f,s,l,h,v,b,p){var y=On();try{G(t)(n,r,e,i,a,o,c,u,f,s,l,h,v,b,p)}catch(t){if(Un(y),t!==t+0)throw t;En(1,0)}},hb:function(t,n,r,e,i,a,o){var c=On();try{In(t,n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},ib:function(t,n,r,e){var i=On();try{Hn(t,n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},q:function(t){return t},ya:function(t){l=t},Pa:function(t,n,r,e){return function(t,n,r,e){function i(t,n,r){for(t="number"==typeof t?t.toString():t||"";t.length<n;)t=r[0]+t;return t}function a(t,n){return i(t,n,"0")}function o(t,n){function r(t){return 0>t?-1:0<t?1:0}var e;return 0===(e=r(t.getFullYear()-n.getFullYear()))&&0===(e=r(t.getMonth()-n.getMonth()))&&(e=r(t.getDate()-n.getDate())),e}function c(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function u(t){t=An(new Date(t.Xb+1900,0,1),t.vc);var n=new Date(t.getFullYear()+1,0,4),r=c(new Date(t.getFullYear(),0,4));return n=c(n),0>=o(r,t)?0>=o(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var f=R[e+40>>2];for(var s in e={fd:R[e>>2],ed:R[e+4>>2],tc:R[e+8>>2],nc:R[e+12>>2],kc:R[e+16>>2],Xb:R[e+20>>2],uc:R[e+24>>2],vc:R[e+28>>2],md:R[e+32>>2],dd:R[e+36>>2],gd:f&&f?y(T,f,void 0):""},r=r?y(T,r,void 0):"",f={"%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"})r=r.replace(new RegExp(s,"g"),f[s]);var l="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),h="January February March April May June July August September October November December".split(" ");for(s in f={"%a":function(t){return l[t.uc].substring(0,3)},"%A":function(t){return l[t.uc]},"%b":function(t){return h[t.kc].substring(0,3)},"%B":function(t){return h[t.kc]},"%C":function(t){return a((t.Xb+1900)/100|0,2)},"%d":function(t){return a(t.nc,2)},"%e":function(t){return i(t.nc,2," ")},"%g":function(t){return u(t).toString().substring(2)},"%G":function(t){return u(t)},"%H":function(t){return a(t.tc,2)},"%I":function(t){return 0==(t=t.tc)?t=12:12<t&&(t-=12),a(t,2)},"%j":function(t){return a(t.nc+_n(Tn(t.Xb+1900)?Sn:Rn,t.kc-1),3)},"%m":function(t){return a(t.kc+1,2)},"%M":function(t){return a(t.ed,2)},"%n":function(){return"\n"},"%p":function(t){return 0<=t.tc&&12>t.tc?"AM":"PM"},"%S":function(t){return a(t.fd,2)},"%t":function(){return"\t"},"%u":function(t){return t.uc||7},"%U":function(t){var n=new Date(t.Xb+1900,0,1),r=0===n.getDay()?n:An(n,7-n.getDay());return 0>o(r,t=new Date(t.Xb+1900,t.kc,t.nc))?a(Math.ceil((31-r.getDate()+(_n(Tn(t.getFullYear())?Sn:Rn,t.getMonth()-1)-31)+t.getDate())/7),2):0===o(r,n)?"01":"00"},"%V":function(t){var n=new Date(t.Xb+1901,0,4),r=c(new Date(t.Xb+1900,0,4));n=c(n);var e=An(new Date(t.Xb+1900,0,1),t.vc);return 0>o(e,r)?"53":0>=o(n,e)?"01":a(Math.ceil((r.getFullYear()<t.Xb+1900?t.vc+32-r.getDate():t.vc+1-r.getDate())/7),2)},"%w":function(t){return t.uc},"%W":function(t){var n=new Date(t.Xb,0,1),r=1===n.getDay()?n:An(n,0===n.getDay()?1:7-n.getDay()+1);return 0>o(r,t=new Date(t.Xb+1900,t.kc,t.nc))?a(Math.ceil((31-r.getDate()+(_n(Tn(t.getFullYear())?Sn:Rn,t.getMonth()-1)-31)+t.getDate())/7),2):0===o(r,n)?"01":"00"},"%y":function(t){return(t.Xb+1900).toString().substring(2)},"%Y":function(t){return t.Xb+1900},"%z":function(t){var n=0<=(t=t.dd);return t=Math.abs(t)/60,(n?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.gd},"%%":function(){return"%"}},r=r.replace(/%%/g,"\0\0"),f)r.includes(s)&&(r=r.replace(new RegExp(s,"g"),f[s](e)));return(s=function(t){var n=Array(g(t)+1);return d(t,n,0,n.length),n}(r=r.replace(/\0\0/g,"%"))).length>n?0:(w.set(s,t),s.length-1)}(t,n,r,e)}};!function(){function t(t){n.asm=t.exports,v=n.asm.vb,U(),M=n.asm.Cb,Y.unshift(n.asm.wb),B--,n.monitorRunDependencies&&n.monitorRunDependencies(B),0==B&&(null!==Z&&(clearInterval(Z),Z=null),$&&(t=$,$=null,t()))}function r(n){t(n.instance)}function i(t){return(s||"function"!=typeof fetch?Promise.resolve().then((function(){return K()})):fetch(X,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+X+"'";return t.arrayBuffer()})).catch((function(){return K()}))).then((function(t){return WebAssembly.instantiate(t,a)})).then((function(t){return t})).then(t,(function(t){f("failed to asynchronously prepare wasm: "+t),z(t)}))}var a={a:jn};if(B++,n.monitorRunDependencies&&n.monitorRunDependencies(B),n.instantiateWasm)try{return n.instantiateWasm(a,t)}catch(t){return f("Module.instantiateWasm callback failed with error: "+t),!1}(s||"function"!=typeof WebAssembly.instantiateStreaming||q()||"function"!=typeof fetch?i(r):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,a).then(r,(function(t){return f("wasm streaming compile failed: "+t),f("falling back to ArrayBuffer instantiation"),i(r)}))}))).catch(e)}(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.wb).apply(null,arguments)};var kn=n._free=function(){return(kn=n._free=n.asm.xb).apply(null,arguments)},Pn=n._malloc=function(){return(Pn=n._malloc=n.asm.yb).apply(null,arguments)};n._main=function(){return(n._main=n.asm.zb).apply(null,arguments)};var Dn=n.___getTypeName=function(){return(Dn=n.___getTypeName=n.asm.Ab).apply(null,arguments)};n.___embind_register_native_and_builtin_types=function(){return(n.___embind_register_native_and_builtin_types=n.asm.Bb).apply(null,arguments)};var Fn,En=n._setThrew=function(){return(En=n._setThrew=n.asm.Db).apply(null,arguments)},On=n.stackSave=function(){return(On=n.stackSave=n.asm.Eb).apply(null,arguments)},Un=n.stackRestore=function(){return(Un=n.stackRestore=n.asm.Fb).apply(null,arguments)},Mn=n.___cxa_can_catch=function(){return(Mn=n.___cxa_can_catch=n.asm.Gb).apply(null,arguments)},xn=n.___cxa_is_pointer_type=function(){return(xn=n.___cxa_is_pointer_type=n.asm.Hb).apply(null,arguments)},Yn=n.dynCall_jii=function(){return(Yn=n.dynCall_jii=n.asm.Ib).apply(null,arguments)},In=n.dynCall_viiiji=function(){return(In=n.dynCall_viiiji=n.asm.Jb).apply(null,arguments)},Vn=n.dynCall_iij=function(){return(Vn=n.dynCall_iij=n.asm.Kb).apply(null,arguments)},Hn=n.dynCall_vij=function(){return(Hn=n.dynCall_vij=n.asm.Lb).apply(null,arguments)};function Xn(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function Bn(){function t(){if(!Fn&&(Fn=!0,n.calledRun=!0,!b)){if(L(Y),L(I),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),Zn){var t=n._main;try{var e=t(0,0);h||(n.onExit&&n.onExit(e),b=!0),o(e,new Xn(e))}catch(t){t instanceof Xn||"unwind"==t||o(1,t)}}if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)t=n.postRun.shift(),V.unshift(t);L(V)}}if(!(0<B)){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)H();L(x),0<B||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),t()}),1)):t())}}if(n.dynCall_viijii=function(){return(n.dynCall_viijii=n.asm.Mb).apply(null,arguments)},n.dynCall_jiji=function(){return(n.dynCall_jiji=n.asm.Nb).apply(null,arguments)},n.dynCall_iiiiij=function(){return(n.dynCall_iiiiij=n.asm.Ob).apply(null,arguments)},n.dynCall_iiiiijj=function(){return(n.dynCall_iiiiijj=n.asm.Pb).apply(null,arguments)},n.dynCall_iiiiiijj=function(){return(n.dynCall_iiiiiijj=n.asm.Qb).apply(null,arguments)},$=function t(){Fn||Bn(),Fn||($=t)},n.run=Bn,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.pop()();var Zn=!0;return n.noInitialRun&&(Zn=!1),Bn(),t.ready});"object"==typeof exports&&"object"==typeof module?module.exports=ConfiguratorKernel:"function"==typeof define&&define.amd?define([],(function(){return ConfiguratorKernel})):"object"==typeof exports&&(exports.ConfiguratorKernel=ConfiguratorKernel);