@hatiolab/things-scene 9.0.2 → 10.0.0-beta.10

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 (599) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +59 -29
  3. package/dist-types/animation/animate.d.ts +8 -0
  4. package/dist-types/animation/animate.d.ts.map +1 -0
  5. package/dist-types/animation/animations/animation.d.ts +90 -0
  6. package/dist-types/animation/animations/animation.d.ts.map +1 -0
  7. package/dist-types/animation/animations/fade.d.ts +25 -0
  8. package/dist-types/animation/animations/fade.d.ts.map +1 -0
  9. package/dist-types/animation/animations/heartbeat.d.ts +24 -0
  10. package/dist-types/animation/animations/heartbeat.d.ts.map +1 -0
  11. package/dist-types/animation/animations/moving.d.ts +25 -0
  12. package/dist-types/animation/animations/moving.d.ts.map +1 -0
  13. package/dist-types/animation/animations/outline.d.ts +58 -0
  14. package/dist-types/animation/animations/outline.d.ts.map +1 -0
  15. package/dist-types/animation/animations/rotation.d.ts +24 -0
  16. package/dist-types/animation/animations/rotation.d.ts.map +1 -0
  17. package/dist-types/animation/animations/vibration.d.ts +24 -0
  18. package/dist-types/animation/animations/vibration.d.ts.map +1 -0
  19. package/dist-types/animation/animations/waypoint.d.ts +60 -0
  20. package/dist-types/animation/animations/waypoint.d.ts.map +1 -0
  21. package/dist-types/animation/compile.d.ts +16 -0
  22. package/dist-types/animation/compile.d.ts.map +1 -0
  23. package/dist-types/animation/delta.d.ts +57 -0
  24. package/dist-types/animation/delta.d.ts.map +1 -0
  25. package/dist-types/animation/index.d.ts +7 -0
  26. package/dist-types/animation/index.d.ts.map +1 -0
  27. package/dist-types/animation/interfaces.d.ts +123 -0
  28. package/dist-types/animation/interfaces.d.ts.map +1 -0
  29. package/dist-types/command/command-change.d.ts +10 -0
  30. package/dist-types/command/command-change.d.ts.map +1 -0
  31. package/dist-types/command/command-migrate.d.ts +5 -0
  32. package/dist-types/command/command-migrate.d.ts.map +1 -0
  33. package/dist-types/command/command.d.ts +6 -0
  34. package/dist-types/command/command.d.ts.map +1 -0
  35. package/dist-types/command/snapshot-commander.d.ts +17 -0
  36. package/dist-types/command/snapshot-commander.d.ts.map +1 -0
  37. package/dist-types/components/anchor/anchor.d.ts +65 -0
  38. package/dist-types/components/anchor/anchor.d.ts.map +1 -0
  39. package/dist-types/components/anchor/ellipse-anchors.d.ts +16 -0
  40. package/dist-types/components/anchor/ellipse-anchors.d.ts.map +1 -0
  41. package/dist-types/components/anchor/rect-anchors.d.ts +16 -0
  42. package/dist-types/components/anchor/rect-anchors.d.ts.map +1 -0
  43. package/dist-types/components/audio.d.ts +284 -0
  44. package/dist-types/components/audio.d.ts.map +1 -0
  45. package/dist-types/components/cloud.d.ts +17 -0
  46. package/dist-types/components/cloud.d.ts.map +1 -0
  47. package/dist-types/components/component-data.d.ts +19 -0
  48. package/dist-types/components/component-data.d.ts.map +1 -0
  49. package/dist-types/components/component-drawing.d.ts +27 -0
  50. package/dist-types/components/component-drawing.d.ts.map +1 -0
  51. package/dist-types/components/component-geometry.d.ts +54 -0
  52. package/dist-types/components/component-geometry.d.ts.map +1 -0
  53. package/dist-types/components/component-hierarchy.d.ts +22 -0
  54. package/dist-types/components/component-hierarchy.d.ts.map +1 -0
  55. package/dist-types/components/component-text.d.ts +18 -0
  56. package/dist-types/components/component-text.d.ts.map +1 -0
  57. package/dist-types/components/component.d.ts +286 -0
  58. package/dist-types/components/component.d.ts.map +1 -0
  59. package/dist-types/components/container-abstract.d.ts +515 -0
  60. package/dist-types/components/container-abstract.d.ts.map +1 -0
  61. package/dist-types/components/container.d.ts +286 -0
  62. package/dist-types/components/container.d.ts.map +1 -0
  63. package/dist-types/components/data/data-mapping.d.ts +19 -0
  64. package/dist-types/components/data/data-mapping.d.ts.map +1 -0
  65. package/dist-types/components/data/data.d.ts +6 -0
  66. package/dist-types/components/data/data.d.ts.map +1 -0
  67. package/dist-types/components/data/evaluator.d.ts +2 -0
  68. package/dist-types/components/data/evaluator.d.ts.map +1 -0
  69. package/dist-types/components/donut.d.ts +15 -0
  70. package/dist-types/components/donut.d.ts.map +1 -0
  71. package/dist-types/components/drawer/draw-image-pendable.d.ts +2 -0
  72. package/dist-types/components/drawer/draw-image-pendable.d.ts.map +1 -0
  73. package/dist-types/components/drawer/effect.d.ts +2 -0
  74. package/dist-types/components/drawer/effect.d.ts.map +1 -0
  75. package/dist-types/components/drawer/fill.d.ts +5 -0
  76. package/dist-types/components/drawer/fill.d.ts.map +1 -0
  77. package/dist-types/components/drawer/format.d.ts +2 -0
  78. package/dist-types/components/drawer/format.d.ts.map +1 -0
  79. package/dist-types/components/drawer/line.d.ts +4 -0
  80. package/dist-types/components/drawer/line.d.ts.map +1 -0
  81. package/dist-types/components/drawer/stroke.d.ts +2 -0
  82. package/dist-types/components/drawer/stroke.d.ts.map +1 -0
  83. package/dist-types/components/drawer/text-wrapper.d.ts +2 -0
  84. package/dist-types/components/drawer/text-wrapper.d.ts.map +1 -0
  85. package/dist-types/components/drawer/text.d.ts +4 -0
  86. package/dist-types/components/drawer/text.d.ts.map +1 -0
  87. package/dist-types/components/ellipse.d.ts +260 -0
  88. package/dist-types/components/ellipse.d.ts.map +1 -0
  89. package/dist-types/components/file/ondropfile.d.ts +2 -0
  90. package/dist-types/components/file/ondropfile.d.ts.map +1 -0
  91. package/dist-types/components/geometry/transcoord.d.ts +43 -0
  92. package/dist-types/components/geometry/transcoord.d.ts.map +1 -0
  93. package/dist-types/components/geometry/union.d.ts +3 -0
  94. package/dist-types/components/geometry/union.d.ts.map +1 -0
  95. package/dist-types/components/gif-view.d.ts +29 -0
  96. package/dist-types/components/gif-view.d.ts.map +1 -0
  97. package/dist-types/components/global-ref.d.ts +49 -0
  98. package/dist-types/components/global-ref.d.ts.map +1 -0
  99. package/dist-types/components/group.d.ts +27 -0
  100. package/dist-types/components/group.d.ts.map +1 -0
  101. package/dist-types/components/html/elements.d.ts +2 -0
  102. package/dist-types/components/html/elements.d.ts.map +1 -0
  103. package/dist-types/components/html/fill.d.ts +2 -0
  104. package/dist-types/components/html/fill.d.ts.map +1 -0
  105. package/dist-types/components/html/reposition.d.ts +2 -0
  106. package/dist-types/components/html/reposition.d.ts.map +1 -0
  107. package/dist-types/components/html/shadow.d.ts +2 -0
  108. package/dist-types/components/html/shadow.d.ts.map +1 -0
  109. package/dist-types/components/html-overlay-container.d.ts +250 -0
  110. package/dist-types/components/html-overlay-container.d.ts.map +1 -0
  111. package/dist-types/components/html-overlay-element.d.ts +481 -0
  112. package/dist-types/components/html-overlay-element.d.ts.map +1 -0
  113. package/dist-types/components/image-view.d.ts +298 -0
  114. package/dist-types/components/image-view.d.ts.map +1 -0
  115. package/dist-types/components/index.d.ts +34 -0
  116. package/dist-types/components/index.d.ts.map +1 -0
  117. package/dist-types/components/info-window.d.ts +272 -0
  118. package/dist-types/components/info-window.d.ts.map +1 -0
  119. package/dist-types/components/line.d.ts +72 -0
  120. package/dist-types/components/line.d.ts.map +1 -0
  121. package/dist-types/components/local-ref.d.ts +277 -0
  122. package/dist-types/components/local-ref.d.ts.map +1 -0
  123. package/dist-types/components/mixins/connectable.d.ts +266 -0
  124. package/dist-types/components/mixins/connectable.d.ts.map +1 -0
  125. package/dist-types/components/mixins/data-source.d.ts +233 -0
  126. package/dist-types/components/mixins/data-source.d.ts.map +1 -0
  127. package/dist-types/components/mixins/html-element.d.ts +244 -0
  128. package/dist-types/components/mixins/html-element.d.ts.map +1 -0
  129. package/dist-types/components/mixins/move-handle.d.ts +234 -0
  130. package/dist-types/components/mixins/move-handle.d.ts.map +1 -0
  131. package/dist-types/components/mixins/rect-path.d.ts +246 -0
  132. package/dist-types/components/mixins/rect-path.d.ts.map +1 -0
  133. package/dist-types/components/mixins/value-holder.d.ts +238 -0
  134. package/dist-types/components/mixins/value-holder.d.ts.map +1 -0
  135. package/dist-types/components/mutater/bounds.d.ts +2 -0
  136. package/dist-types/components/mutater/bounds.d.ts.map +1 -0
  137. package/dist-types/components/mutater/path.d.ts +2 -0
  138. package/dist-types/components/mutater/path.d.ts.map +1 -0
  139. package/dist-types/components/node.d.ts +259 -0
  140. package/dist-types/components/node.d.ts.map +1 -0
  141. package/dist-types/components/ortholine.d.ts +8 -0
  142. package/dist-types/components/ortholine.d.ts.map +1 -0
  143. package/dist-types/components/outline/ellipse-outline.d.ts +2 -0
  144. package/dist-types/components/outline/ellipse-outline.d.ts.map +1 -0
  145. package/dist-types/components/outline/path-outline.d.ts +2 -0
  146. package/dist-types/components/outline/path-outline.d.ts.map +1 -0
  147. package/dist-types/components/path.d.ts +8 -0
  148. package/dist-types/components/path.d.ts.map +1 -0
  149. package/dist-types/components/polygon.d.ts +27 -0
  150. package/dist-types/components/polygon.d.ts.map +1 -0
  151. package/dist-types/components/polyline.d.ts +26 -0
  152. package/dist-types/components/polyline.d.ts.map +1 -0
  153. package/dist-types/components/popup.d.ts +281 -0
  154. package/dist-types/components/popup.d.ts.map +1 -0
  155. package/dist-types/components/position/absolute.d.ts +48 -0
  156. package/dist-types/components/position/absolute.d.ts.map +1 -0
  157. package/dist-types/components/position/popup-position.d.ts +24 -0
  158. package/dist-types/components/position/popup-position.d.ts.map +1 -0
  159. package/dist-types/components/rect.d.ts +499 -0
  160. package/dist-types/components/rect.d.ts.map +1 -0
  161. package/dist-types/components/retention/retention-manager.d.ts +10 -0
  162. package/dist-types/components/retention/retention-manager.d.ts.map +1 -0
  163. package/dist-types/components/root-container.d.ts +112 -0
  164. package/dist-types/components/root-container.d.ts.map +1 -0
  165. package/dist-types/components/ruler.d.ts +246 -0
  166. package/dist-types/components/ruler.d.ts.map +1 -0
  167. package/dist-types/components/shape.d.ts +26 -0
  168. package/dist-types/components/shape.d.ts.map +1 -0
  169. package/dist-types/components/star.d.ts +14 -0
  170. package/dist-types/components/star.d.ts.map +1 -0
  171. package/dist-types/components/text/substitutor.d.ts +4 -0
  172. package/dist-types/components/text/substitutor.d.ts.map +1 -0
  173. package/dist-types/components/text.d.ts +245 -0
  174. package/dist-types/components/text.d.ts.map +1 -0
  175. package/dist-types/components/triangle.d.ts +31 -0
  176. package/dist-types/components/triangle.d.ts.map +1 -0
  177. package/dist-types/const.d.ts +59 -0
  178. package/dist-types/const.d.ts.map +1 -0
  179. package/dist-types/core/collection.d.ts +25 -0
  180. package/dist-types/core/collection.d.ts.map +1 -0
  181. package/dist-types/core/debug.d.ts +2 -0
  182. package/dist-types/core/debug.d.ts.map +1 -0
  183. package/dist-types/core/deep-equals.d.ts +2 -0
  184. package/dist-types/core/deep-equals.d.ts.map +1 -0
  185. package/dist-types/core/dom-to-image.d.ts +132 -0
  186. package/dist-types/core/dom-to-image.d.ts.map +1 -0
  187. package/dist-types/core/event.d.ts +9 -0
  188. package/dist-types/core/event.d.ts.map +1 -0
  189. package/dist-types/core/index.d.ts +3 -0
  190. package/dist-types/core/index.d.ts.map +1 -0
  191. package/dist-types/core/list.d.ts +82 -0
  192. package/dist-types/core/list.d.ts.map +1 -0
  193. package/dist-types/core/logger.d.ts +4 -0
  194. package/dist-types/core/logger.d.ts.map +1 -0
  195. package/dist-types/core/memoize.d.ts +20 -0
  196. package/dist-types/core/memoize.d.ts.map +1 -0
  197. package/dist-types/core/mixin.d.ts +2 -0
  198. package/dist-types/core/mixin.d.ts.map +1 -0
  199. package/dist-types/core/obj-accessor.d.ts +2 -0
  200. package/dist-types/core/obj-accessor.d.ts.map +1 -0
  201. package/dist-types/core/reference-map.d.ts +20 -0
  202. package/dist-types/core/reference-map.d.ts.map +1 -0
  203. package/dist-types/core/round-rect.d.ts +26 -0
  204. package/dist-types/core/round-rect.d.ts.map +1 -0
  205. package/dist-types/core/safe-round.d.ts +2 -0
  206. package/dist-types/core/safe-round.d.ts.map +1 -0
  207. package/dist-types/core/script-loader.d.ts +4 -0
  208. package/dist-types/core/script-loader.d.ts.map +1 -0
  209. package/dist-types/core/snapshot-taker.d.ts +14 -0
  210. package/dist-types/core/snapshot-taker.d.ts.map +1 -0
  211. package/dist-types/core/stack.d.ts +3 -0
  212. package/dist-types/core/stack.d.ts.map +1 -0
  213. package/dist-types/core/timecapsule.d.ts +29 -0
  214. package/dist-types/core/timecapsule.d.ts.map +1 -0
  215. package/dist-types/core/utils.d.ts +10 -0
  216. package/dist-types/core/utils.d.ts.map +1 -0
  217. package/dist-types/decorator/decorator-registry.d.ts +82 -0
  218. package/dist-types/decorator/decorator-registry.d.ts.map +1 -0
  219. package/dist-types/decorator/decorator.d.ts +123 -0
  220. package/dist-types/decorator/decorator.d.ts.map +1 -0
  221. package/dist-types/decorator/decorators/anchors-decorator.d.ts +77 -0
  222. package/dist-types/decorator/decorators/anchors-decorator.d.ts.map +1 -0
  223. package/dist-types/decorator/decorators/animated-icon-decorator.d.ts +168 -0
  224. package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -0
  225. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts +96 -0
  226. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -0
  227. package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts +56 -0
  228. package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts.map +1 -0
  229. package/dist-types/decorator/decorators/data-spread-decorator.d.ts +52 -0
  230. package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -0
  231. package/dist-types/decorator/decorators/decotag-decorator.d.ts +41 -0
  232. package/dist-types/decorator/decorators/decotag-decorator.d.ts.map +1 -0
  233. package/dist-types/decorator/decorators/link-decorator.d.ts +60 -0
  234. package/dist-types/decorator/decorators/link-decorator.d.ts.map +1 -0
  235. package/dist-types/decorator/index.d.ts +13 -0
  236. package/dist-types/decorator/index.d.ts.map +1 -0
  237. package/dist-types/decorator/raster-decorator.d.ts +126 -0
  238. package/dist-types/decorator/raster-decorator.d.ts.map +1 -0
  239. package/dist-types/decorator/vector-decorator.d.ts +185 -0
  240. package/dist-types/decorator/vector-decorator.d.ts.map +1 -0
  241. package/dist-types/diagnostics/inspector.d.ts +147 -0
  242. package/dist-types/diagnostics/inspector.d.ts.map +1 -0
  243. package/dist-types/diagnostics/metrics.d.ts +55 -0
  244. package/dist-types/diagnostics/metrics.d.ts.map +1 -0
  245. package/dist-types/effect/gradation.d.ts +2 -0
  246. package/dist-types/effect/gradation.d.ts.map +1 -0
  247. package/dist-types/effect/index.d.ts +2 -0
  248. package/dist-types/effect/index.d.ts.map +1 -0
  249. package/dist-types/effect/shadow.d.ts +3 -0
  250. package/dist-types/effect/shadow.d.ts.map +1 -0
  251. package/dist-types/effect/turn.d.ts +2 -0
  252. package/dist-types/effect/turn.d.ts.map +1 -0
  253. package/dist-types/event/event-engine.d.ts +13 -0
  254. package/dist-types/event/event-engine.d.ts.map +1 -0
  255. package/dist-types/event/event-pump.d.ts +12 -0
  256. package/dist-types/event/event-pump.d.ts.map +1 -0
  257. package/dist-types/event/event-tracker.d.ts +23 -0
  258. package/dist-types/event/event-tracker.d.ts.map +1 -0
  259. package/dist-types/event/index.d.ts +3 -0
  260. package/dist-types/event/index.d.ts.map +1 -0
  261. package/dist-types/event/ua-event-handler.d.ts +38 -0
  262. package/dist-types/event/ua-event-handler.d.ts.map +1 -0
  263. package/dist-types/event-map/event-map.d.ts +12 -0
  264. package/dist-types/event-map/event-map.d.ts.map +1 -0
  265. package/dist-types/event-map/index.d.ts +8 -0
  266. package/dist-types/event-map/index.d.ts.map +1 -0
  267. package/dist-types/event-map/move-handler.d.ts +2 -0
  268. package/dist-types/event-map/move-handler.d.ts.map +1 -0
  269. package/dist-types/event-map/paste-handler.d.ts +2 -0
  270. package/dist-types/event-map/paste-handler.d.ts.map +1 -0
  271. package/dist-types/event-map/shift-handler.d.ts +2 -0
  272. package/dist-types/event-map/shift-handler.d.ts.map +1 -0
  273. package/dist-types/event-map/text-editor-lite.d.ts +2 -0
  274. package/dist-types/event-map/text-editor-lite.d.ts.map +1 -0
  275. package/dist-types/event-map/waypoint-handler.d.ts +2 -0
  276. package/dist-types/event-map/waypoint-handler.d.ts.map +1 -0
  277. package/dist-types/event-map/zoom-handler.d.ts +2 -0
  278. package/dist-types/event-map/zoom-handler.d.ts.map +1 -0
  279. package/dist-types/index.d.ts +6 -0
  280. package/dist-types/index.d.ts.map +1 -0
  281. package/dist-types/interfaces/animation.d.ts +40 -0
  282. package/dist-types/interfaces/animation.d.ts.map +1 -0
  283. package/dist-types/interfaces/data.d.ts +66 -0
  284. package/dist-types/interfaces/data.d.ts.map +1 -0
  285. package/dist-types/interfaces/index.d.ts +5 -0
  286. package/dist-types/interfaces/index.d.ts.map +1 -0
  287. package/dist-types/interfaces/layout.d.ts +23 -0
  288. package/dist-types/interfaces/layout.d.ts.map +1 -0
  289. package/dist-types/interfaces/model.d.ts +8 -0
  290. package/dist-types/interfaces/model.d.ts.map +1 -0
  291. package/dist-types/interfaces/providers.d.ts +57 -0
  292. package/dist-types/interfaces/providers.d.ts.map +1 -0
  293. package/dist-types/interfaces/real-object.d.ts +35 -0
  294. package/dist-types/interfaces/real-object.d.ts.map +1 -0
  295. package/dist-types/interfaces/rendering.d.ts +92 -0
  296. package/dist-types/interfaces/rendering.d.ts.map +1 -0
  297. package/dist-types/interfaces/types.d.ts +139 -0
  298. package/dist-types/interfaces/types.d.ts.map +1 -0
  299. package/dist-types/layer/action/emphasize.d.ts +3 -0
  300. package/dist-types/layer/action/emphasize.d.ts.map +1 -0
  301. package/dist-types/layer/action/popup.d.ts +19 -0
  302. package/dist-types/layer/action/popup.d.ts.map +1 -0
  303. package/dist-types/layer/action/pressed.d.ts +3 -0
  304. package/dist-types/layer/action/pressed.d.ts.map +1 -0
  305. package/dist-types/layer/add-layer.d.ts +40 -0
  306. package/dist-types/layer/add-layer.d.ts.map +1 -0
  307. package/dist-types/layer/dual-canvas-layer.d.ts +16 -0
  308. package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -0
  309. package/dist-types/layer/guide-layer.d.ts +39 -0
  310. package/dist-types/layer/guide-layer.d.ts.map +1 -0
  311. package/dist-types/layer/index.d.ts +8 -0
  312. package/dist-types/layer/index.d.ts.map +1 -0
  313. package/dist-types/layer/layer.d.ts +42 -0
  314. package/dist-types/layer/layer.d.ts.map +1 -0
  315. package/dist-types/layer/minimap-layer.d.ts +22 -0
  316. package/dist-types/layer/minimap-layer.d.ts.map +1 -0
  317. package/dist-types/layer/model-layer.d.ts +183 -0
  318. package/dist-types/layer/model-layer.d.ts.map +1 -0
  319. package/dist-types/layer/modeler/anchor-handler.d.ts +19 -0
  320. package/dist-types/layer/modeler/anchor-handler.d.ts.map +1 -0
  321. package/dist-types/layer/modeler/control-handler.d.ts +15 -0
  322. package/dist-types/layer/modeler/control-handler.d.ts.map +1 -0
  323. package/dist-types/layer/modeler/focus-outline.d.ts +6 -0
  324. package/dist-types/layer/modeler/focus-outline.d.ts.map +1 -0
  325. package/dist-types/layer/modeler/group-outline.d.ts +9 -0
  326. package/dist-types/layer/modeler/group-outline.d.ts.map +1 -0
  327. package/dist-types/layer/modeler/index.d.ts +8 -0
  328. package/dist-types/layer/modeler/index.d.ts.map +1 -0
  329. package/dist-types/layer/modeler/path-handler.d.ts +17 -0
  330. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -0
  331. package/dist-types/layer/modeler/resizer.d.ts +15 -0
  332. package/dist-types/layer/modeler/resizer.d.ts.map +1 -0
  333. package/dist-types/layer/modeler/rotator.d.ts +14 -0
  334. package/dist-types/layer/modeler/rotator.d.ts.map +1 -0
  335. package/dist-types/layer/modeling-layer.d.ts +75 -0
  336. package/dist-types/layer/modeling-layer.d.ts.map +1 -0
  337. package/dist-types/layer/scroll-layer.d.ts +27 -0
  338. package/dist-types/layer/scroll-layer.d.ts.map +1 -0
  339. package/dist-types/layer/selection/selected-finder.d.ts +2 -0
  340. package/dist-types/layer/selection/selected-finder.d.ts.map +1 -0
  341. package/dist-types/layer/selection-layer.d.ts +39 -0
  342. package/dist-types/layer/selection-layer.d.ts.map +1 -0
  343. package/dist-types/layer/shift-layer.d.ts +22 -0
  344. package/dist-types/layer/shift-layer.d.ts.map +1 -0
  345. package/dist-types/layout/absolute.d.ts +12 -0
  346. package/dist-types/layout/absolute.d.ts.map +1 -0
  347. package/dist-types/layout/card.d.ts +11 -0
  348. package/dist-types/layout/card.d.ts.map +1 -0
  349. package/dist-types/layout/html-absolute.d.ts +12 -0
  350. package/dist-types/layout/html-absolute.d.ts.map +1 -0
  351. package/dist-types/layout/index.d.ts +8 -0
  352. package/dist-types/layout/index.d.ts.map +1 -0
  353. package/dist-types/layout/layout.d.ts +15 -0
  354. package/dist-types/layout/layout.d.ts.map +1 -0
  355. package/dist-types/layout/linear-horizontal.d.ts +11 -0
  356. package/dist-types/layout/linear-horizontal.d.ts.map +1 -0
  357. package/dist-types/layout/linear-vertical.d.ts +11 -0
  358. package/dist-types/layout/linear-vertical.d.ts.map +1 -0
  359. package/dist-types/layout/table.d.ts +13 -0
  360. package/dist-types/layout/table.d.ts.map +1 -0
  361. package/dist-types/license/license.d.ts +21 -0
  362. package/dist-types/license/license.d.ts.map +1 -0
  363. package/dist-types/model/compile.d.ts +4 -0
  364. package/dist-types/model/compile.d.ts.map +1 -0
  365. package/dist-types/model/duplicate.d.ts +3 -0
  366. package/dist-types/model/duplicate.d.ts.map +1 -0
  367. package/dist-types/model/index.d.ts +4 -0
  368. package/dist-types/model/index.d.ts.map +1 -0
  369. package/dist-types/model/selector.d.ts +42 -0
  370. package/dist-types/model/selector.d.ts.map +1 -0
  371. package/dist-types/style/compile.d.ts +2 -0
  372. package/dist-types/style/compile.d.ts.map +1 -0
  373. package/dist-types/style/index.d.ts +2 -0
  374. package/dist-types/style/index.d.ts.map +1 -0
  375. package/dist-types/things-scene/api/add-start.d.ts +2 -0
  376. package/dist-types/things-scene/api/add-start.d.ts.map +1 -0
  377. package/dist-types/things-scene/api/add.d.ts +2 -0
  378. package/dist-types/things-scene/api/add.d.ts.map +1 -0
  379. package/dist-types/things-scene/api/align.d.ts +2 -0
  380. package/dist-types/things-scene/api/align.d.ts.map +1 -0
  381. package/dist-types/things-scene/api/center-to.d.ts +2 -0
  382. package/dist-types/things-scene/api/center-to.d.ts.map +1 -0
  383. package/dist-types/things-scene/api/change.d.ts +3 -0
  384. package/dist-types/things-scene/api/change.d.ts.map +1 -0
  385. package/dist-types/things-scene/api/clipboard.d.ts +4 -0
  386. package/dist-types/things-scene/api/clipboard.d.ts.map +1 -0
  387. package/dist-types/things-scene/api/distribute.d.ts +2 -0
  388. package/dist-types/things-scene/api/distribute.d.ts.map +1 -0
  389. package/dist-types/things-scene/api/duplicate.d.ts +2 -0
  390. package/dist-types/things-scene/api/duplicate.d.ts.map +1 -0
  391. package/dist-types/things-scene/api/fullscreen.d.ts +2 -0
  392. package/dist-types/things-scene/api/fullscreen.d.ts.map +1 -0
  393. package/dist-types/things-scene/api/group.d.ts +3 -0
  394. package/dist-types/things-scene/api/group.d.ts.map +1 -0
  395. package/dist-types/things-scene/api/ids.d.ts +2 -0
  396. package/dist-types/things-scene/api/ids.d.ts.map +1 -0
  397. package/dist-types/things-scene/api/index.d.ts +18 -0
  398. package/dist-types/things-scene/api/index.d.ts.map +1 -0
  399. package/dist-types/things-scene/api/listener.d.ts +4 -0
  400. package/dist-types/things-scene/api/listener.d.ts.map +1 -0
  401. package/dist-types/things-scene/api/paste-start.d.ts +5 -0
  402. package/dist-types/things-scene/api/paste-start.d.ts.map +1 -0
  403. package/dist-types/things-scene/api/place.d.ts +2 -0
  404. package/dist-types/things-scene/api/place.d.ts.map +1 -0
  405. package/dist-types/things-scene/api/remove.d.ts +2 -0
  406. package/dist-types/things-scene/api/remove.d.ts.map +1 -0
  407. package/dist-types/things-scene/api/symmetry.d.ts +3 -0
  408. package/dist-types/things-scene/api/symmetry.d.ts.map +1 -0
  409. package/dist-types/things-scene/api/to-data-url.d.ts +2 -0
  410. package/dist-types/things-scene/api/to-data-url.d.ts.map +1 -0
  411. package/dist-types/things-scene/api/zorder.d.ts +3 -0
  412. package/dist-types/things-scene/api/zorder.d.ts.map +1 -0
  413. package/dist-types/things-scene/application-context.d.ts +51 -0
  414. package/dist-types/things-scene/application-context.d.ts.map +1 -0
  415. package/dist-types/things-scene/config.d.ts +5 -0
  416. package/dist-types/things-scene/config.d.ts.map +1 -0
  417. package/dist-types/things-scene/create.d.ts +19 -0
  418. package/dist-types/things-scene/create.d.ts.map +1 -0
  419. package/dist-types/things-scene/fps.d.ts +7 -0
  420. package/dist-types/things-scene/fps.d.ts.map +1 -0
  421. package/dist-types/things-scene/index.d.ts +40 -0
  422. package/dist-types/things-scene/index.d.ts.map +1 -0
  423. package/dist-types/things-scene/polyfill.d.ts +3 -0
  424. package/dist-types/things-scene/polyfill.d.ts.map +1 -0
  425. package/dist-types/things-scene/scene.d.ts +98 -0
  426. package/dist-types/things-scene/scene.d.ts.map +1 -0
  427. package/dist-types/things-scene/version.d.ts +3 -0
  428. package/dist-types/things-scene/version.d.ts.map +1 -0
  429. package/dist-types/threed/arrow-3d.d.ts +54 -0
  430. package/dist-types/threed/arrow-3d.d.ts.map +1 -0
  431. package/dist-types/threed/common.d.ts +28 -0
  432. package/dist-types/threed/common.d.ts.map +1 -0
  433. package/dist-types/threed/environments/factory-environment.d.ts +11 -0
  434. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -0
  435. package/dist-types/threed/environments/home-environment.d.ts +11 -0
  436. package/dist-types/threed/environments/home-environment.d.ts.map +1 -0
  437. package/dist-types/threed/environments/index.d.ts +6 -0
  438. package/dist-types/threed/environments/index.d.ts.map +1 -0
  439. package/dist-types/threed/environments/office-environment.d.ts +11 -0
  440. package/dist-types/threed/environments/office-environment.d.ts.map +1 -0
  441. package/dist-types/threed/environments/studio-environment.d.ts +12 -0
  442. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -0
  443. package/dist-types/threed/environments/warehouse-environment.d.ts +11 -0
  444. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -0
  445. package/dist-types/threed/factories/banner.d.ts +257 -0
  446. package/dist-types/threed/factories/banner.d.ts.map +1 -0
  447. package/dist-types/threed/factories/camera.d.ts +261 -0
  448. package/dist-types/threed/factories/camera.d.ts.map +1 -0
  449. package/dist-types/threed/factories/cube.d.ts +253 -0
  450. package/dist-types/threed/factories/cube.d.ts.map +1 -0
  451. package/dist-types/threed/factories/cylinder.d.ts +14 -0
  452. package/dist-types/threed/factories/cylinder.d.ts.map +1 -0
  453. package/dist-types/threed/factories/donut.d.ts +6 -0
  454. package/dist-types/threed/factories/donut.d.ts.map +1 -0
  455. package/dist-types/threed/factories/ellipse.d.ts +6 -0
  456. package/dist-types/threed/factories/ellipse.d.ts.map +1 -0
  457. package/dist-types/threed/factories/gltf-object.d.ts +276 -0
  458. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -0
  459. package/dist-types/threed/factories/html-overlay.d.ts +2 -0
  460. package/dist-types/threed/factories/html-overlay.d.ts.map +1 -0
  461. package/dist-types/threed/factories/light.d.ts +18 -0
  462. package/dist-types/threed/factories/light.d.ts.map +1 -0
  463. package/dist-types/threed/factories/polygon.d.ts +18 -0
  464. package/dist-types/threed/factories/polygon.d.ts.map +1 -0
  465. package/dist-types/threed/factories/rect.d.ts +6 -0
  466. package/dist-types/threed/factories/rect.d.ts.map +1 -0
  467. package/dist-types/threed/factories/sphere.d.ts +14 -0
  468. package/dist-types/threed/factories/sphere.d.ts.map +1 -0
  469. package/dist-types/threed/factories/sprite.d.ts +249 -0
  470. package/dist-types/threed/factories/sprite.d.ts.map +1 -0
  471. package/dist-types/threed/factories/star.d.ts +6 -0
  472. package/dist-types/threed/factories/star.d.ts.map +1 -0
  473. package/dist-types/threed/factories/text.d.ts +2 -0
  474. package/dist-types/threed/factories/text.d.ts.map +1 -0
  475. package/dist-types/threed/factories/triangle.d.ts +6 -0
  476. package/dist-types/threed/factories/triangle.d.ts.map +1 -0
  477. package/dist-types/threed/factories/wall.d.ts +253 -0
  478. package/dist-types/threed/factories/wall.d.ts.map +1 -0
  479. package/dist-types/threed/floor/floor.d.ts +4 -0
  480. package/dist-types/threed/floor/floor.d.ts.map +1 -0
  481. package/dist-types/threed/gltf-specgloss-compat.d.ts +7 -0
  482. package/dist-types/threed/gltf-specgloss-compat.d.ts.map +1 -0
  483. package/dist-types/threed/html/elements.d.ts +3 -0
  484. package/dist-types/threed/html/elements.d.ts.map +1 -0
  485. package/dist-types/threed/index.d.ts +65 -0
  486. package/dist-types/threed/index.d.ts.map +1 -0
  487. package/dist-types/threed/interfaces.d.ts +17 -0
  488. package/dist-types/threed/interfaces.d.ts.map +1 -0
  489. package/dist-types/threed/managers/camera-manager.d.ts +30 -0
  490. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -0
  491. package/dist-types/threed/managers/controls-manager.d.ts +76 -0
  492. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -0
  493. package/dist-types/threed/managers/event-manager3d.d.ts +21 -0
  494. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -0
  495. package/dist-types/threed/managers/gizmo-manager.d.ts +45 -0
  496. package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -0
  497. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +57 -0
  498. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -0
  499. package/dist-types/threed/managers/index.d.ts +12 -0
  500. package/dist-types/threed/managers/index.d.ts.map +1 -0
  501. package/dist-types/threed/managers/interaction-manager.d.ts +100 -0
  502. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -0
  503. package/dist-types/threed/managers/light-manager.d.ts +27 -0
  504. package/dist-types/threed/managers/light-manager.d.ts.map +1 -0
  505. package/dist-types/threed/managers/placement-manager.d.ts +66 -0
  506. package/dist-types/threed/managers/placement-manager.d.ts.map +1 -0
  507. package/dist-types/threed/managers/renderer-manager.d.ts +37 -0
  508. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -0
  509. package/dist-types/threed/managers/scene-manager.d.ts +34 -0
  510. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -0
  511. package/dist-types/threed/managers/types.d.ts +40 -0
  512. package/dist-types/threed/managers/types.d.ts.map +1 -0
  513. package/dist-types/threed/material-3d.d.ts +36 -0
  514. package/dist-types/threed/material-3d.d.ts.map +1 -0
  515. package/dist-types/threed/real-object-camera-meshed.d.ts +13 -0
  516. package/dist-types/threed/real-object-camera-meshed.d.ts.map +1 -0
  517. package/dist-types/threed/real-object-camera.d.ts +10 -0
  518. package/dist-types/threed/real-object-camera.d.ts.map +1 -0
  519. package/dist-types/threed/real-object-dom-element.d.ts +24 -0
  520. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -0
  521. package/dist-types/threed/real-object-dom-texture.d.ts +21 -0
  522. package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -0
  523. package/dist-types/threed/real-object-dummy.d.ts +7 -0
  524. package/dist-types/threed/real-object-dummy.d.ts.map +1 -0
  525. package/dist-types/threed/real-object-extrude.d.ts +32 -0
  526. package/dist-types/threed/real-object-extrude.d.ts.map +1 -0
  527. package/dist-types/threed/real-object-gltf.d.ts +90 -0
  528. package/dist-types/threed/real-object-gltf.d.ts.map +1 -0
  529. package/dist-types/threed/real-object-group.d.ts +6 -0
  530. package/dist-types/threed/real-object-group.d.ts.map +1 -0
  531. package/dist-types/threed/real-object-mesh.d.ts +16 -0
  532. package/dist-types/threed/real-object-mesh.d.ts.map +1 -0
  533. package/dist-types/threed/real-object-plane-2d.d.ts +18 -0
  534. package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -0
  535. package/dist-types/threed/real-object-plane.d.ts +6 -0
  536. package/dist-types/threed/real-object-plane.d.ts.map +1 -0
  537. package/dist-types/threed/real-object-registry.d.ts +8 -0
  538. package/dist-types/threed/real-object-registry.d.ts.map +1 -0
  539. package/dist-types/threed/real-object-scene.d.ts +21 -0
  540. package/dist-types/threed/real-object-scene.d.ts.map +1 -0
  541. package/dist-types/threed/real-object-sprite-2d.d.ts +15 -0
  542. package/dist-types/threed/real-object-sprite-2d.d.ts.map +1 -0
  543. package/dist-types/threed/real-object-sprite.d.ts +12 -0
  544. package/dist-types/threed/real-object-sprite.d.ts.map +1 -0
  545. package/dist-types/threed/real-object-text.d.ts +13 -0
  546. package/dist-types/threed/real-object-text.d.ts.map +1 -0
  547. package/dist-types/threed/real-object.d.ts +100 -0
  548. package/dist-types/threed/real-object.d.ts.map +1 -0
  549. package/dist-types/threed/texture/canvas-texture.d.ts +5 -0
  550. package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -0
  551. package/dist-types/threed/texture/text-texture.d.ts +9 -0
  552. package/dist-types/threed/texture/text-texture.d.ts.map +1 -0
  553. package/dist-types/threed/three-capability.d.ts +325 -0
  554. package/dist-types/threed/three-capability.d.ts.map +1 -0
  555. package/dist-types/threed/three-container.d.ts +63 -0
  556. package/dist-types/threed/three-container.d.ts.map +1 -0
  557. package/dist-types/threed/three-dimensional-container.d.ts +9 -0
  558. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -0
  559. package/dist-types/threed/three-layout.d.ts +10 -0
  560. package/dist-types/threed/three-layout.d.ts.map +1 -0
  561. package/dist-types/threed/utils/bound-uv-generator.d.ts +17 -0
  562. package/dist-types/threed/utils/bound-uv-generator.d.ts.map +1 -0
  563. package/dist-types/threed/utils/dispose.d.ts +3 -0
  564. package/dist-types/threed/utils/dispose.d.ts.map +1 -0
  565. package/dist-types/threed/utils/project.d.ts +11 -0
  566. package/dist-types/threed/utils/project.d.ts.map +1 -0
  567. package/dist-types/types/bounding.d.ts +52 -0
  568. package/dist-types/types/bounding.d.ts.map +1 -0
  569. package/dist-types/types/component.d.ts +178 -0
  570. package/dist-types/types/component.d.ts.map +1 -0
  571. package/dist-types/types/event.d.ts +9 -0
  572. package/dist-types/types/event.d.ts.map +1 -0
  573. package/dist-types/types/index.d.ts +8 -0
  574. package/dist-types/types/index.d.ts.map +1 -0
  575. package/dist-types/types/layer.d.ts +80 -0
  576. package/dist-types/types/layer.d.ts.map +1 -0
  577. package/dist-types/types/scene-component.d.ts +28 -0
  578. package/dist-types/types/scene-component.d.ts.map +1 -0
  579. package/dist-types/types/scene.d.ts +18 -0
  580. package/dist-types/types/scene.d.ts.map +1 -0
  581. package/package.json +43 -67
  582. package/things-scene-min.js +27 -27
  583. package/things-scene-min.js.map +1 -1
  584. package/things-scene.mjs +9 -31
  585. package/things-scene.mjs.map +1 -1
  586. package/EULA.md +0 -67
  587. package/monitor-extension/background.js +0 -21
  588. package/monitor-extension/content.js +0 -71
  589. package/monitor-extension/devtools.html +0 -68
  590. package/monitor-extension/devtools.js +0 -143
  591. package/monitor-extension/icons/icon128.png +0 -0
  592. package/monitor-extension/icons/icon16.png +0 -0
  593. package/monitor-extension/icons/icon48.png +0 -0
  594. package/monitor-extension/injected.js +0 -25
  595. package/monitor-extension/libs/Chart.min.js +0 -10129
  596. package/monitor-extension/manifest.json +0 -34
  597. package/monitor-extension/popup.html +0 -68
  598. package/monitor-extension/popup.js +0 -142
  599. package/things-scene.d.ts +0 -799
package/things-scene.mjs CHANGED
@@ -1,28 +1,6 @@
1
- var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},e=function(t){return t&&t.Math===Math&&t},r=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof t&&t)||e("object"==typeof t&&t)||function(){return this}()||Function("return this")(),n={},i=function(t){try{return!!t()}catch(t){return!0}},o=!i(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}),a=!i(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}),s=a,c=Function.prototype.call,l=s?c.bind(c):function(){return c.apply(c,arguments)},u={},h={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,d=f&&!h.call({1:2},1);u.f=d?function(t){var e=f(this,t);return!!e&&e.enumerable}:h;var p,g,v=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},y=a,m=Function.prototype,b=m.call,x=y&&m.bind.bind(b,b),w=y?x:function(t){return function(){return b.apply(t,arguments)}},A=w,_=A({}.toString),E=A("".slice),k=function(t){return E(_(t),8,-1)},S=i,M=k,O=Object,T=w("".split),P=S(function(){return!O("z").propertyIsEnumerable(0)})?function(t){return"String"===M(t)?T(t,""):O(t)}:O,I=function(t){return null==t},C=I,R=TypeError,D=function(t){if(C(t))throw new R("Can't call method on "+t);return t},j=P,L=D,N=function(t){return j(L(t))},F="object"==typeof document&&document.all,z=void 0===F&&void 0!==F?function(t){return"function"==typeof t||t===F}:function(t){return"function"==typeof t},U=z,B=function(t){return"object"==typeof t?null!==t:U(t)},$=r,Y=z,G=function(t,e){return arguments.length<2?(r=$[t],Y(r)?r:void 0):$[t]&&$[t][e];var r},H=w({}.isPrototypeOf),W=r.navigator,q=W&&W.userAgent,V=q?String(q):"",X=r,K=V,Q=X.process,J=X.Deno,Z=Q&&Q.versions||J&&J.version,tt=Z&&Z.v8;tt&&(g=(p=tt.split("."))[0]>0&&p[0]<4?1:+(p[0]+p[1])),!g&&K&&(!(p=K.match(/Edge\/(\d+)/))||p[1]>=74)&&(p=K.match(/Chrome\/(\d+)/))&&(g=+p[1]);var et=g,rt=et,nt=i,it=r.String,ot=!!Object.getOwnPropertySymbols&&!nt(function(){var t=Symbol("symbol detection");return!it(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&rt&&rt<41}),at=ot&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,st=G,ct=z,lt=H,ut=Object,ht=at?function(t){return"symbol"==typeof t}:function(t){var e=st("Symbol");return ct(e)&&lt(e.prototype,ut(t))},ft=String,dt=function(t){try{return ft(t)}catch(t){return"Object"}},pt=z,gt=dt,vt=TypeError,yt=function(t){if(pt(t))return t;throw new vt(gt(t)+" is not a function")},mt=yt,bt=I,xt=function(t,e){var r=t[e];return bt(r)?void 0:mt(r)},wt=l,At=z,_t=B,Et=TypeError,kt=function(t,e){var r,n;if("string"===e&&At(r=t.toString)&&!_t(n=wt(r,t)))return n;if(At(r=t.valueOf)&&!_t(n=wt(r,t)))return n;if("string"!==e&&At(r=t.toString)&&!_t(n=wt(r,t)))return n;throw new Et("Can't convert object to primitive value")},St={exports:{}},Mt=r,Ot=Object.defineProperty,Tt=function(t,e){try{Ot(Mt,t,{value:e,configurable:!0,writable:!0})}catch(r){Mt[t]=e}return e},Pt=r,It=Tt,Ct="__core-js_shared__",Rt=St.exports=Pt[Ct]||It(Ct,{});(Rt.versions||(Rt.versions=[])).push({version:"3.47.0",mode:"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)",license:"https://github.com/zloirock/core-js/blob/v3.47.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Dt=St.exports,jt=function(t,e){return Dt[t]||(Dt[t]=e||{})},Lt=D,Nt=Object,Ft=function(t){return Nt(Lt(t))},zt=Ft,Ut=w({}.hasOwnProperty),Bt=Object.hasOwn||function(t,e){return Ut(zt(t),e)},$t=w,Yt=0,Gt=Math.random(),Ht=$t(1.1.toString),Wt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+Ht(++Yt+Gt,36)},qt=jt,Vt=Bt,Xt=Wt,Kt=ot,Qt=at,Jt=r.Symbol,Zt=qt("wks"),te=Qt?Jt.for||Jt:Jt&&Jt.withoutSetter||Xt,ee=function(t){return Vt(Zt,t)||(Zt[t]=Kt&&Vt(Jt,t)?Jt[t]:te("Symbol."+t)),Zt[t]},re=l,ne=B,ie=ht,oe=xt,ae=kt,se=TypeError,ce=ee("toPrimitive"),le=function(t,e){if(!ne(t)||ie(t))return t;var r,n=oe(t,ce);if(n){if(void 0===e&&(e="default"),r=re(n,t,e),!ne(r)||ie(r))return r;throw new se("Can't convert object to primitive value")}return void 0===e&&(e="number"),ae(t,e)},ue=le,he=ht,fe=function(t){var e=ue(t,"string");return he(e)?e:e+""},de=B,pe=r.document,ge=de(pe)&&de(pe.createElement),ve=function(t){return ge?pe.createElement(t):{}},ye=ve,me=!o&&!i(function(){return 7!==Object.defineProperty(ye("div"),"a",{get:function(){return 7}}).a}),be=o,xe=l,we=u,Ae=v,_e=N,Ee=fe,ke=Bt,Se=me,Me=Object.getOwnPropertyDescriptor;n.f=be?Me:function(t,e){if(t=_e(t),e=Ee(e),Se)try{return Me(t,e)}catch(t){}if(ke(t,e))return Ae(!xe(we.f,t,e),t[e])};var Oe={},Te=o&&i(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype}),Pe=B,Ie=String,Ce=TypeError,Re=function(t){if(Pe(t))return t;throw new Ce(Ie(t)+" is not an object")},De=o,je=me,Le=Te,Ne=Re,Fe=fe,ze=TypeError,Ue=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,$e="enumerable",Ye="configurable",Ge="writable";Oe.f=De?Le?function(t,e,r){if(Ne(t),e=Fe(e),Ne(r),"function"==typeof t&&"prototype"===e&&"value"in r&&Ge in r&&!r[Ge]){var n=Be(t,e);n&&n[Ge]&&(t[e]=r.value,r={configurable:Ye in r?r[Ye]:n[Ye],enumerable:$e in r?r[$e]:n[$e],writable:!1})}return Ue(t,e,r)}:Ue:function(t,e,r){if(Ne(t),e=Fe(e),Ne(r),je)try{return Ue(t,e,r)}catch(t){}if("get"in r||"set"in r)throw new ze("Accessors not supported");return"value"in r&&(t[e]=r.value),t};var He=Oe,We=v,qe=o?function(t,e,r){return He.f(t,e,We(1,r))}:function(t,e,r){return t[e]=r,t},Ve={exports:{}},Xe=o,Ke=Bt,Qe=Function.prototype,Je=Xe&&Object.getOwnPropertyDescriptor,Ze=Ke(Qe,"name"),tr={EXISTS:Ze,PROPER:Ze&&"something"===function(){}.name,CONFIGURABLE:Ze&&(!Xe||Xe&&Je(Qe,"name").configurable)},er=w,rr=z,nr=St.exports,ir=er(Function.toString);rr(nr.inspectSource)||(nr.inspectSource=function(t){return ir(t)});var or,ar,sr,cr=nr.inspectSource,lr=z,ur=r.WeakMap,hr=lr(ur)&&/native code/.test(String(ur)),fr=Wt,dr=jt("keys"),pr=function(t){return dr[t]||(dr[t]=fr(t))},gr={},vr=hr,yr=r,mr=B,br=qe,xr=Bt,wr=St.exports,Ar=pr,_r=gr,Er="Object already initialized",kr=yr.TypeError,Sr=yr.WeakMap;if(vr||wr.state){var Mr=wr.state||(wr.state=new Sr);Mr.get=Mr.get,Mr.has=Mr.has,Mr.set=Mr.set,or=function(t,e){if(Mr.has(t))throw new kr(Er);return e.facade=t,Mr.set(t,e),e},ar=function(t){return Mr.get(t)||{}},sr=function(t){return Mr.has(t)}}else{var Or=Ar("state");_r[Or]=!0,or=function(t,e){if(xr(t,Or))throw new kr(Er);return e.facade=t,br(t,Or,e),e},ar=function(t){return xr(t,Or)?t[Or]:{}},sr=function(t){return xr(t,Or)}}var Tr={set:or,get:ar,has:sr,enforce:function(t){return sr(t)?ar(t):or(t,{})},getterFor:function(t){return function(e){var r;if(!mr(e)||(r=ar(e)).type!==t)throw new kr("Incompatible receiver, "+t+" required");return r}}},Pr=w,Ir=i,Cr=z,Rr=Bt,Dr=o,jr=tr.CONFIGURABLE,Lr=cr,Nr=Tr.enforce,Fr=Tr.get,zr=String,Ur=Object.defineProperty,Br=Pr("".slice),$r=Pr("".replace),Yr=Pr([].join),Gr=Dr&&!Ir(function(){return 8!==Ur(function(){},"length",{value:8}).length}),Hr=String(String).split("String"),Wr=Ve.exports=function(t,e,r){"Symbol("===Br(zr(e),0,7)&&(e="["+$r(zr(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!Rr(t,"name")||jr&&t.name!==e)&&(Dr?Ur(t,"name",{value:e,configurable:!0}):t.name=e),Gr&&r&&Rr(r,"arity")&&t.length!==r.arity&&Ur(t,"length",{value:r.arity});try{r&&Rr(r,"constructor")&&r.constructor?Dr&&Ur(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=Nr(t);return Rr(n,"source")||(n.source=Yr(Hr,"string"==typeof e?e:"")),t};Function.prototype.toString=Wr(function(){return Cr(this)&&Fr(this).source||Lr(this)},"toString");var qr=z,Vr=Oe,Xr=Ve.exports,Kr=Tt,Qr=function(t,e,r,n){n||(n={});var i=n.enumerable,o=void 0!==n.name?n.name:e;if(qr(r)&&Xr(r,o,n),n.global)i?t[e]=r:Kr(e,r);else{try{n.unsafe?t[e]&&(i=!0):delete t[e]}catch(t){}i?t[e]=r:Vr.f(t,e,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return t},Jr={},Zr=Math.ceil,tn=Math.floor,en=Math.trunc||function(t){var e=+t;return(e>0?tn:Zr)(e)},rn=en,nn=function(t){var e=+t;return e!=e||0===e?0:rn(e)},on=nn,an=Math.max,sn=Math.min,cn=function(t,e){var r=on(t);return r<0?an(r+e,0):sn(r,e)},ln=nn,un=Math.min,hn=function(t){var e=ln(t);return e>0?un(e,9007199254740991):0},fn=hn,dn=function(t){return fn(t.length)},pn=N,gn=cn,vn=dn,yn=function(t){return function(e,r,n){var i=pn(e),o=vn(i);if(0===o)return!t&&-1;var a,s=gn(n,o);if(t&&r!=r){for(;o>s;)if((a=i[s++])!=a)return!0}else for(;o>s;s++)if((t||s in i)&&i[s]===r)return t||s||0;return!t&&-1}},mn={includes:yn(!0),indexOf:yn(!1)},bn=Bt,xn=N,wn=mn.indexOf,An=gr,_n=w([].push),En=function(t,e){var r,n=xn(t),i=0,o=[];for(r in n)!bn(An,r)&&bn(n,r)&&_n(o,r);for(;e.length>i;)bn(n,r=e[i++])&&(~wn(o,r)||_n(o,r));return o},kn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Sn=En,Mn=kn.concat("length","prototype");Jr.f=Object.getOwnPropertyNames||function(t){return Sn(t,Mn)};var On={};On.f=Object.getOwnPropertySymbols;var Tn=G,Pn=Jr,In=On,Cn=Re,Rn=w([].concat),Dn=Tn("Reflect","ownKeys")||function(t){var e=Pn.f(Cn(t)),r=In.f;return r?Rn(e,r(t)):e},jn=Bt,Ln=Dn,Nn=n,Fn=Oe,zn=function(t,e,r){for(var n=Ln(e),i=Fn.f,o=Nn.f,a=0;a<n.length;a++){var s=n[a];jn(t,s)||r&&jn(r,s)||i(t,s,o(e,s))}},Un=i,Bn=z,$n=/#|\.prototype\./,Yn=function(t,e){var r=Hn[Gn(t)];return r===qn||r!==Wn&&(Bn(e)?Un(e):!!e)},Gn=Yn.normalize=function(t){return String(t).replace($n,".").toLowerCase()},Hn=Yn.data={},Wn=Yn.NATIVE="N",qn=Yn.POLYFILL="P",Vn=Yn,Xn=r,Kn=n.f,Qn=qe,Jn=Qr,Zn=Tt,ti=zn,ei=Vn,ri=function(t,e){var r,n,i,o,a,s=t.target,c=t.global,l=t.stat;if(r=c?Xn:l?Xn[s]||Zn(s,{}):Xn[s]&&Xn[s].prototype)for(n in e){if(o=e[n],i=t.dontCallGetSet?(a=Kn(r,n))&&a.value:r[n],!ei(c?n:s+(l?".":"#")+n,t.forced)&&void 0!==i){if(typeof o==typeof i)continue;ti(o,i)}(t.sham||i&&i.sham)&&Qn(o,"sham",!0),Jn(r,n,o,t)}},ni={};ni[ee("toStringTag")]="z";var ii="[object z]"===String(ni),oi=ii,ai=z,si=k,ci=ee("toStringTag"),li=Object,ui="Arguments"===si(function(){return arguments}()),hi=oi?si:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=li(t),ci))?r:ui?si(e):"Object"===(n=si(e))&&ai(e.callee)?"Arguments":n},fi=hi,di=String,pi=function(t){if("Symbol"===fi(t))throw new TypeError("Cannot convert a Symbol value to a string");return di(t)},gi={},vi=En,yi=kn,mi=Object.keys||function(t){return vi(t,yi)},bi=o,xi=Te,wi=Oe,Ai=Re,_i=N,Ei=mi;gi.f=bi&&!xi?Object.defineProperties:function(t,e){Ai(t);for(var r,n=_i(e),i=Ei(e),o=i.length,a=0;o>a;)wi.f(t,r=i[a++],n[r]);return t};var ki,Si=G("document","documentElement"),Mi=Re,Oi=gi,Ti=kn,Pi=gr,Ii=Si,Ci=ve,Ri="prototype",Di="script",ji=pr("IE_PROTO"),Li=function(){},Ni=function(t){return"<"+Di+">"+t+"</"+Di+">"},Fi=function(t){t.write(Ni("")),t.close();var e=t.parentWindow.Object;return t=null,e},zi=function(){try{ki=new ActiveXObject("htmlfile")}catch(t){}var t,e,r;zi="undefined"!=typeof document?document.domain&&ki?Fi(ki):(e=Ci("iframe"),r="java"+Di+":",e.style.display="none",Ii.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(Ni("document.F=Object")),t.close(),t.F):Fi(ki);for(var n=Ti.length;n--;)delete zi[Ri][Ti[n]];return zi()};Pi[ji]=!0;var Ui=Object.create||function(t,e){var r;return null!==t?(Li[Ri]=Mi(t),r=new Li,Li[Ri]=null,r[ji]=t):r=zi(),void 0===e?r:Oi.f(r,e)},Bi={},$i=w([].slice),Yi=k,Gi=N,Hi=Jr.f,Wi=$i,qi="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];Bi.f=function(t){return qi&&"Window"===Yi(t)?function(t){try{return Hi(t)}catch(t){return Wi(qi)}}(t):Hi(Gi(t))};var Vi=Ve.exports,Xi=Oe,Ki=function(t,e,r){return r.get&&Vi(r.get,e,{getter:!0}),r.set&&Vi(r.set,e,{setter:!0}),Xi.f(t,e,r)},Qi={},Ji=ee;Qi.f=Ji;var Zi=r,to=Zi,eo=Bt,ro=Qi,no=Oe.f,io=function(t){var e=to.Symbol||(to.Symbol={});eo(e,t)||no(e,t,{value:ro.f(t)})},oo=l,ao=G,so=ee,co=Qr,lo=function(){var t=ao("Symbol"),e=t&&t.prototype,r=e&&e.valueOf,n=so("toPrimitive");e&&!e[n]&&co(e,n,function(t){return oo(r,this)},{arity:1})},uo=Oe.f,ho=Bt,fo=ee("toStringTag"),po=function(t,e,r){t&&!r&&(t=t.prototype),t&&!ho(t,fo)&&uo(t,fo,{configurable:!0,value:e})},go=k,vo=w,yo=function(t){if("Function"===go(t))return vo(t)},mo=yt,bo=a,xo=yo(yo.bind),wo=function(t,e){return mo(t),void 0===e?t:bo?xo(t,e):function(){return t.apply(e,arguments)}},Ao=k,_o=Array.isArray||function(t){return"Array"===Ao(t)},Eo=w,ko=i,So=z,Mo=hi,Oo=cr,To=function(){},Po=G("Reflect","construct"),Io=/^\s*(?:class|function)\b/,Co=Eo(Io.exec),Ro=!Io.test(To),Do=function(t){if(!So(t))return!1;try{return Po(To,[],t),!0}catch(t){return!1}},jo=function(t){if(!So(t))return!1;switch(Mo(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Ro||!!Co(Io,Oo(t))}catch(t){return!0}};jo.sham=!0;var Lo=!Po||ko(function(){var t;return Do(Do.call)||!Do(Object)||!Do(function(){t=!0})||t})?jo:Do,No=_o,Fo=Lo,zo=B,Uo=ee("species"),Bo=Array,$o=function(t){var e;return No(t)&&(e=t.constructor,(Fo(e)&&(e===Bo||No(e.prototype))||zo(e)&&null===(e=e[Uo]))&&(e=void 0)),void 0===e?Bo:e},Yo=function(t,e){return new($o(t))(0===e?0:e)},Go=wo,Ho=P,Wo=Ft,qo=dn,Vo=Yo,Xo=w([].push),Ko=function(t){var e=1===t,r=2===t,n=3===t,i=4===t,o=6===t,a=7===t,s=5===t||o;return function(c,l,u,h){for(var f,d,p=Wo(c),g=Ho(p),v=qo(g),y=Go(l,u),m=0,b=h||Vo,x=e?b(c,v):r||a?b(c,0):void 0;v>m;m++)if((s||m in g)&&(d=y(f=g[m],m,p),t))if(e)x[m]=d;else if(d)switch(t){case 3:return!0;case 5:return f;case 6:return m;case 2:Xo(x,f)}else switch(t){case 4:return!1;case 7:Xo(x,f)}return o?-1:n||i?i:x}},Qo={forEach:Ko(0),map:Ko(1),filter:Ko(2),some:Ko(3),every:Ko(4),find:Ko(5),findIndex:Ko(6),filterReject:Ko(7)},Jo=ri,Zo=r,ta=l,ea=w,ra=o,na=ot,ia=i,oa=Bt,aa=H,sa=Re,ca=N,la=fe,ua=pi,ha=v,fa=Ui,da=mi,pa=Jr,ga=Bi,va=On,ya=n,ma=Oe,ba=gi,xa=u,wa=Qr,Aa=Ki,_a=jt,Ea=gr,ka=Wt,Sa=ee,Ma=Qi,Oa=io,Ta=lo,Pa=po,Ia=Tr,Ca=Qo.forEach,Ra=pr("hidden"),Da="Symbol",ja="prototype",La=Ia.set,Na=Ia.getterFor(Da),Fa=Object[ja],za=Zo.Symbol,Ua=za&&za[ja],Ba=Zo.RangeError,$a=Zo.TypeError,Ya=Zo.QObject,Ga=ya.f,Ha=ma.f,Wa=ga.f,qa=xa.f,Va=ea([].push),Xa=_a("symbols"),Ka=_a("op-symbols"),Qa=_a("wks"),Ja=!Ya||!Ya[ja]||!Ya[ja].findChild,Za=function(t,e,r){var n=Ga(Fa,e);n&&delete Fa[e],Ha(t,e,r),n&&t!==Fa&&Ha(Fa,e,n)},ts=ra&&ia(function(){return 7!==fa(Ha({},"a",{get:function(){return Ha(this,"a",{value:7}).a}})).a})?Za:Ha,es=function(t,e){var r=Xa[t]=fa(Ua);return La(r,{type:Da,tag:t,description:e}),ra||(r.description=e),r},rs=function(t,e,r){t===Fa&&rs(Ka,e,r),sa(t);var n=la(e);return sa(r),oa(Xa,n)?(r.enumerable?(oa(t,Ra)&&t[Ra][n]&&(t[Ra][n]=!1),r=fa(r,{enumerable:ha(0,!1)})):(oa(t,Ra)||Ha(t,Ra,ha(1,fa(null))),t[Ra][n]=!0),ts(t,n,r)):Ha(t,n,r)},ns=function(t,e){sa(t);var r=ca(e),n=da(r).concat(ss(r));return Ca(n,function(e){ra&&!ta(is,r,e)||rs(t,e,r[e])}),t},is=function(t){var e=la(t),r=ta(qa,this,e);return!(this===Fa&&oa(Xa,e)&&!oa(Ka,e))&&(!(r||!oa(this,e)||!oa(Xa,e)||oa(this,Ra)&&this[Ra][e])||r)},os=function(t,e){var r=ca(t),n=la(e);if(r!==Fa||!oa(Xa,n)||oa(Ka,n)){var i=Ga(r,n);return!i||!oa(Xa,n)||oa(r,Ra)&&r[Ra][n]||(i.enumerable=!0),i}},as=function(t){var e=Wa(ca(t)),r=[];return Ca(e,function(t){oa(Xa,t)||oa(Ea,t)||Va(r,t)}),r},ss=function(t){var e=t===Fa,r=Wa(e?Ka:ca(t)),n=[];return Ca(r,function(t){!oa(Xa,t)||e&&!oa(Fa,t)||Va(n,Xa[t])}),n};na||(za=function(){if(aa(Ua,this))throw new $a("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?ua(arguments[0]):void 0,e=ka(t),r=function(t){var n=void 0===this?Zo:this;n===Fa&&ta(r,Ka,t),oa(n,Ra)&&oa(n[Ra],e)&&(n[Ra][e]=!1);var i=ha(1,t);try{ts(n,e,i)}catch(t){if(!(t instanceof Ba))throw t;Za(n,e,i)}};return ra&&Ja&&ts(Fa,e,{configurable:!0,set:r}),es(e,t)},wa(Ua=za[ja],"toString",function(){return Na(this).tag}),wa(za,"withoutSetter",function(t){return es(ka(t),t)}),xa.f=is,ma.f=rs,ba.f=ns,ya.f=os,pa.f=ga.f=as,va.f=ss,Ma.f=function(t){return es(Sa(t),t)},ra&&(Aa(Ua,"description",{configurable:!0,get:function(){return Na(this).description}}),wa(Fa,"propertyIsEnumerable",is,{unsafe:!0}))),Jo({global:!0,constructor:!0,wrap:!0,forced:!na,sham:!na},{Symbol:za}),Ca(da(Qa),function(t){Oa(t)}),Jo({target:Da,stat:!0,forced:!na},{useSetter:function(){Ja=!0},useSimple:function(){Ja=!1}}),Jo({target:"Object",stat:!0,forced:!na,sham:!ra},{create:function(t,e){return void 0===e?fa(t):ns(fa(t),e)},defineProperty:rs,defineProperties:ns,getOwnPropertyDescriptor:os}),Jo({target:"Object",stat:!0,forced:!na},{getOwnPropertyNames:as}),Ta(),Pa(za,Da),Ea[Ra]=!0;var cs=ot&&!!Symbol.for&&!!Symbol.keyFor,ls=ri,us=G,hs=Bt,fs=pi,ds=jt,ps=cs,gs=ds("string-to-symbol-registry"),vs=ds("symbol-to-string-registry");ls({target:"Symbol",stat:!0,forced:!ps},{for:function(t){var e=fs(t);if(hs(gs,e))return gs[e];var r=us("Symbol")(e);return gs[e]=r,vs[r]=e,r}});var ys=ri,ms=Bt,bs=ht,xs=dt,ws=cs,As=jt("symbol-to-string-registry");ys({target:"Symbol",stat:!0,forced:!ws},{keyFor:function(t){if(!bs(t))throw new TypeError(xs(t)+" is not a symbol");if(ms(As,t))return As[t]}});var _s=a,Es=Function.prototype,ks=Es.apply,Ss=Es.call,Ms="object"==typeof Reflect&&Reflect.apply||(_s?Ss.bind(ks):function(){return Ss.apply(ks,arguments)}),Os=B,Ts=Tr.get,Ps=function(t){if(!Os(t))return!1;var e=Ts(t);return!!e&&"RawJSON"===e.type},Is=w,Cs=Bt,Rs=SyntaxError,Ds=parseInt,js=String.fromCharCode,Ls=Is("".charAt),Ns=Is("".slice),Fs=Is(/./.exec),zs={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},Us=/^[\da-f]{4}$/i,Bs=/^[\u0000-\u001F]$/,$s=function(t,e){for(var r=!0,n="";e<t.length;){var i=Ls(t,e);if("\\"===i){var o=Ns(t,e,e+2);if(Cs(zs,o))n+=zs[o],e+=2;else{if("\\u"!==o)throw new Rs('Unknown escape sequence: "'+o+'"');var a=Ns(t,e+=2,e+4);if(!Fs(Us,a))throw new Rs("Bad Unicode escape at: "+e);n+=js(Ds(a,16)),e+=4}}else{if('"'===i){r=!1,e++;break}if(Fs(Bs,i))throw new Rs("Bad control character in string literal at: "+e);n+=i,e++}}if(r)throw new Rs("Unterminated string at: "+e);return{value:n,end:e}},Ys=!i(function(){var t="9007199254740993",e=JSON.rawJSON(t);return!JSON.isRawJSON(e)||JSON.stringify(e)!==t}),Gs=ri,Hs=G,Ws=Ms,qs=l,Vs=w,Xs=i,Ks=_o,Qs=z,Js=Ps,Zs=ht,tc=k,ec=pi,rc=$i,nc=$s,ic=Wt,oc=ot,ac=Ys,sc=String,cc=Hs("JSON","stringify"),lc=Vs(/./.exec),uc=Vs("".charAt),hc=Vs("".charCodeAt),fc=Vs("".replace),dc=Vs("".slice),pc=Vs([].push),gc=Vs(1.1.toString),vc=/[\uD800-\uDFFF]/g,yc=/^[\uD800-\uDBFF]$/,mc=/^[\uDC00-\uDFFF]$/,bc=ic(),xc=bc.length,wc=!oc||Xs(function(){var t=Hs("Symbol")("stringify detection");return"[null]"!==cc([t])||"{}"!==cc({a:t})||"{}"!==cc(Object(t))}),Ac=Xs(function(){return'"\\udf06\\ud834"'!==cc("\udf06\ud834")||'"\\udead"'!==cc("\udead")}),_c=wc?function(t,e){var r=rc(arguments),n=kc(e);if(Qs(n)||void 0!==t&&!Zs(t))return r[1]=function(t,e){if(Qs(n)&&(e=qs(n,this,sc(t),e)),!Zs(e))return e},Ws(cc,null,r)}:cc,Ec=function(t,e,r){var n=uc(r,e-1),i=uc(r,e+1);return lc(yc,t)&&!lc(mc,i)||lc(mc,t)&&!lc(yc,n)?"\\u"+gc(hc(t,0),16):t},kc=function(t){if(Qs(t))return t;if(Ks(t)){for(var e=t.length,r=[],n=0;n<e;n++){var i=t[n];"string"==typeof i?pc(r,i):"number"!=typeof i&&"Number"!==tc(i)&&"String"!==tc(i)||pc(r,ec(i))}var o=r.length,a=!0;return function(t,e){if(a)return a=!1,e;if(Ks(this))return e;for(var n=0;n<o;n++)if(r[n]===t)return e}}};cc&&Gs({target:"JSON",stat:!0,arity:3,forced:wc||Ac||!ac},{stringify:function(t,e,r){var n=kc(e),i=[],o=_c(t,function(t,e){var r=Qs(n)?qs(n,this,sc(t),e):e;return!ac&&Js(r)?bc+(pc(i,r.rawJSON)-1):r},r);if("string"!=typeof o)return o;if(Ac&&(o=fc(o,vc,Ec)),ac)return o;for(var a="",s=o.length,c=0;c<s;c++){var l=uc(o,c);if('"'===l){var u=nc(o,++c).end-1,h=dc(o,c,u);a+=dc(h,0,xc)===bc?i[dc(h,xc)]:'"'+h+'"',c=u}else a+=l}return a}});var Sc=On,Mc=Ft;ri({target:"Object",stat:!0,forced:!ot||i(function(){Sc.f(1)})},{getOwnPropertySymbols:function(t){var e=Sc.f;return e?e(Mc(t)):[]}});var Oc=ri,Tc=o,Pc=w,Ic=Bt,Cc=z,Rc=H,Dc=pi,jc=Ki,Lc=zn,Nc=r.Symbol,Fc=Nc&&Nc.prototype;if(Tc&&Cc(Nc)&&(!("description"in Fc)||void 0!==Nc().description)){var zc={},Uc=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:Dc(arguments[0]),e=Rc(Fc,this)?new Nc(t):void 0===t?Nc():Nc(t);return""===t&&(zc[e]=!0),e};Lc(Uc,Nc),Uc.prototype=Fc,Fc.constructor=Uc;var Bc="Symbol(description detection)"===String(Nc("description detection")),$c=Pc(Fc.valueOf),Yc=Pc(Fc.toString),Gc=/^Symbol\((.*)\)[^)]+$/,Hc=Pc("".replace),Wc=Pc("".slice);jc(Fc,"description",{configurable:!0,get:function(){var t=$c(this);if(Ic(zc,t))return"";var e=Yc(t),r=Bc?Wc(e,7,-1):Hc(e,Gc,"$1");return""===r?void 0:r}}),Oc({global:!0,constructor:!0,forced:!0},{Symbol:Uc})}var qc=r,Vc=io,Xc=Oe.f,Kc=n.f,Qc=qc.Symbol;if(Vc("asyncDispose"),Qc){var Jc=Kc(Qc,"asyncDispose");Jc.enumerable&&Jc.configurable&&Jc.writable&&Xc(Qc,"asyncDispose",{value:Jc.value,enumerable:!1,configurable:!1,writable:!1})}io("asyncIterator");var Zc=r,tl=io,el=Oe.f,rl=n.f,nl=Zc.Symbol;if(tl("dispose"),nl){var il=rl(nl,"dispose");il.enumerable&&il.configurable&&il.writable&&el(nl,"dispose",{value:il.value,enumerable:!1,configurable:!1,writable:!1})}io("hasInstance"),io("isConcatSpreadable"),io("iterator"),io("match"),io("matchAll"),io("replace"),io("search"),io("species"),io("split");var ol=lo;io("toPrimitive"),ol();var al=G,sl=po;io("toStringTag"),sl(al("Symbol"),"Symbol"),io("unscopables");var cl=w,ll=yt,ul=function(t,e,r){try{return cl(ll(Object.getOwnPropertyDescriptor(t,e)[r]))}catch(t){}},hl=B,fl=function(t){return hl(t)||null===t},dl=fl,pl=String,gl=TypeError,vl=function(t){if(dl(t))return t;throw new gl("Can't set "+pl(t)+" as a prototype")},yl=ul,ml=B,bl=D,xl=vl,wl=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=yl(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return bl(r),xl(n),ml(r)?(e?t(r,n):r.__proto__=n,r):r}}():void 0),Al=Oe.f,_l=function(t,e,r){r in t||Al(t,r,{configurable:!0,get:function(){return e[r]},set:function(t){e[r]=t}})},El=z,kl=B,Sl=wl,Ml=function(t,e,r){var n,i;return Sl&&El(n=e.constructor)&&n!==r&&kl(i=n.prototype)&&i!==r.prototype&&Sl(t,i),t},Ol=pi,Tl=function(t,e){return void 0===t?arguments.length<2?"":e:Ol(t)},Pl=B,Il=qe,Cl=function(t,e){Pl(e)&&"cause"in e&&Il(t,"cause",e.cause)},Rl=Error,Dl=w("".replace),jl=String(new Rl("zxcasd").stack),Ll=/\n\s*at [^:]*:[^\n]*/,Nl=Ll.test(jl),Fl=function(t,e){if(Nl&&"string"==typeof t&&!Rl.prepareStackTrace)for(;e--;)t=Dl(t,Ll,"");return t},zl=v,Ul=!i(function(){var t=new Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",zl(1,7)),7!==t.stack)}),Bl=qe,$l=Fl,Yl=Ul,Gl=Error.captureStackTrace,Hl=function(t,e,r,n){Yl&&(Gl?Gl(t,e):Bl(t,"stack",$l(r,n)))},Wl=G,ql=Bt,Vl=qe,Xl=H,Kl=wl,Ql=zn,Jl=_l,Zl=Ml,tu=Tl,eu=Cl,ru=Hl,nu=o,iu=function(t,e,r,n){var i="stackTraceLimit",o=n?2:1,a=t.split("."),s=a[a.length-1],c=Wl.apply(null,a);if(c){var l=c.prototype;if(ql(l,"cause")&&delete l.cause,!r)return c;var u=Wl("Error"),h=e(function(t,e){var r=tu(n?e:t,void 0),i=n?new c(t):new c;return void 0!==r&&Vl(i,"message",r),ru(i,h,i.stack,2),this&&Xl(l,this)&&Zl(i,this,h),arguments.length>o&&eu(i,arguments[o]),i});h.prototype=l,"Error"!==s?Kl?Kl(h,u):Ql(h,u,{name:!0}):nu&&i in c&&(Jl(h,c,i),Jl(h,c,"prepareStackTrace")),Ql(h,c);try{l.name!==s&&Vl(l,"name",s),l.constructor=h}catch(t){}return h}},ou=ri,au=Ms,su=iu,cu="WebAssembly",lu=r[cu],uu=7!==new Error("e",{cause:7}).cause,hu=function(t,e){var r={};r[t]=su(t,e,uu),ou({global:!0,constructor:!0,arity:1,forced:uu},r)},fu=function(t,e){if(lu&&lu[t]){var r={};r[t]=su(cu+"."+t,e,uu),ou({target:cu,stat:!0,constructor:!0,arity:1,forced:uu},r)}};hu("Error",function(t){return function(e){return au(t,this,arguments)}}),hu("EvalError",function(t){return function(e){return au(t,this,arguments)}}),hu("RangeError",function(t){return function(e){return au(t,this,arguments)}}),hu("ReferenceError",function(t){return function(e){return au(t,this,arguments)}}),hu("SyntaxError",function(t){return function(e){return au(t,this,arguments)}}),hu("TypeError",function(t){return function(e){return au(t,this,arguments)}}),hu("URIError",function(t){return function(e){return au(t,this,arguments)}}),fu("CompileError",function(t){return function(e){return au(t,this,arguments)}}),fu("LinkError",function(t){return function(e){return au(t,this,arguments)}}),fu("RuntimeError",function(t){return function(e){return au(t,this,arguments)}});var du=ri,pu=G,gu=B,vu=hi,yu=i,mu="Error",bu="DOMException",xu=Object.setPrototypeOf||{}.__proto__,wu=pu(bu),Au=Error,_u=Au.isError;du({target:"Error",stat:!0,sham:!0,forced:!_u||!xu||yu(function(){return wu&&!_u(new wu(bu))||!_u(new Au(mu,{cause:function(){}}))||_u(pu("Object","create")(Au.prototype))})},{isError:function(t){if(!gu(t))return!1;var e=vu(t);return e===mu||e===bu}});var Eu=o,ku=i,Su=Re,Mu=Tl,Ou=Error.prototype.toString,Tu=ku(function(){if(Eu){var t=Object.create(Object.defineProperty({},"name",{get:function(){return this===t}}));if("true"!==Ou.call(t))return!0}return"2: 1"!==Ou.call({message:1,name:2})||"Error"!==Ou.call({})}),Pu=Tu?function(){var t=Su(this),e=Mu(t.name,"Error"),r=Mu(t.message);return e?r?e+": "+r:e:r}:Ou,Iu=Qr,Cu=Pu,Ru=Error.prototype;Ru.toString!==Cu&&Iu(Ru,"toString",Cu);var Du=!i(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),ju=Bt,Lu=z,Nu=Ft,Fu=Du,zu=pr("IE_PROTO"),Uu=Object,Bu=Uu.prototype,$u=Fu?Uu.getPrototypeOf:function(t){var e=Nu(t);if(ju(e,zu))return e[zu];var r=e.constructor;return Lu(r)&&e instanceof r?r.prototype:e instanceof Uu?Bu:null},Yu={},Gu=Yu,Hu=ee("iterator"),Wu=Array.prototype,qu=function(t){return void 0!==t&&(Gu.Array===t||Wu[Hu]===t)},Vu=hi,Xu=xt,Ku=I,Qu=Yu,Ju=ee("iterator"),Zu=function(t){if(!Ku(t))return Xu(t,Ju)||Xu(t,"@@iterator")||Qu[Vu(t)]},th=l,eh=yt,rh=Re,nh=dt,ih=Zu,oh=TypeError,ah=function(t,e){var r=arguments.length<2?ih(t):e;if(eh(r))return rh(th(r,t));throw new oh(nh(t)+" is not iterable")},sh=l,ch=Re,lh=xt,uh=function(t,e,r){var n,i;ch(t);try{if(!(n=lh(t,"return"))){if("throw"===e)throw r;return r}n=sh(n,t)}catch(t){i=!0,n=t}if("throw"===e)throw r;if(i)throw n;return ch(n),r},hh=wo,fh=l,dh=Re,ph=dt,gh=qu,vh=dn,yh=H,mh=ah,bh=Zu,xh=uh,wh=TypeError,Ah=function(t,e){this.stopped=t,this.result=e},_h=Ah.prototype,Eh=function(t,e,r){var n,i,o,a,s,c,l,u=r&&r.that,h=!(!r||!r.AS_ENTRIES),f=!(!r||!r.IS_RECORD),d=!(!r||!r.IS_ITERATOR),p=!(!r||!r.INTERRUPTED),g=hh(e,u),v=function(t){return n&&xh(n,"normal"),new Ah(!0,t)},y=function(t){return h?(dh(t),p?g(t[0],t[1],v):g(t[0],t[1])):p?g(t,v):g(t)};if(f)n=t.iterator;else if(d)n=t;else{if(!(i=bh(t)))throw new wh(ph(t)+" is not iterable");if(gh(i)){for(o=0,a=vh(t);a>o;o++)if((s=y(t[o]))&&yh(_h,s))return s;return new Ah(!1)}n=mh(t,i)}for(c=f?t.next:n.next;!(l=fh(c,n)).done;){try{s=y(l.value)}catch(t){xh(n,"throw",t)}if("object"==typeof s&&s&&yh(_h,s))return s}return new Ah(!1)},kh=ri,Sh=H,Mh=$u,Oh=wl,Th=zn,Ph=Ui,Ih=qe,Ch=v,Rh=Cl,Dh=Hl,jh=Eh,Lh=Tl,Nh=ee("toStringTag"),Fh=Error,zh=[].push,Uh=function(t,e){var r,n=Sh(Bh,this);Oh?r=Oh(new Fh,n?Mh(this):Bh):(r=n?this:Ph(Bh),Ih(r,Nh,"Error")),void 0!==e&&Ih(r,"message",Lh(e)),Dh(r,Uh,r.stack,1),arguments.length>2&&Rh(r,arguments[2]);var i=[];return jh(t,zh,{that:i}),Ih(r,"errors",i),r};Oh?Oh(Uh,Fh):Th(Uh,Fh,{name:!0});var Bh=Uh.prototype=Ph(Fh.prototype,{constructor:Ch(1,Uh),message:Ch(1,""),name:Ch(1,"AggregateError")});kh({global:!0,constructor:!0,arity:2},{AggregateError:Uh});var $h=ri,Yh=Ms,Gh=i,Hh=iu,Wh="AggregateError",qh=G(Wh),Vh=!Gh(function(){return 1!==qh([1]).errors[0]})&&Gh(function(){return 7!==qh([1],Wh,{cause:7}).cause});$h({global:!0,constructor:!0,arity:2,forced:Vh},{AggregateError:Hh(Wh,function(t){return function(e,r){return Yh(t,this,arguments)}},Vh,!0)});var Xh=ri,Kh=H,Qh=$u,Jh=wl,Zh=zn,tf=Ui,ef=qe,rf=v,nf=Hl,of=Tl,af=ee,sf=i,cf=r.SuppressedError,lf=af("toStringTag"),uf=Error,hf=!!cf&&3!==cf.length,ff=!!cf&&sf(function(){return 4===new cf(1,2,3,{cause:4}).cause}),df=hf||ff,pf=function(t,e,r){var n,i=Kh(gf,this);return Jh?n=!df||i&&Qh(this)!==gf?Jh(new uf,i?Qh(this):gf):new cf:(n=i?this:tf(gf),ef(n,lf,"Error")),void 0!==r&&ef(n,"message",of(r)),nf(n,pf,n.stack,1),ef(n,"error",t),ef(n,"suppressed",e),n};Jh?Jh(pf,uf):Zh(pf,uf,{name:!0});var gf=pf.prototype=df?cf.prototype:tf(uf.prototype,{constructor:rf(1,pf),message:rf(1,""),name:rf(1,"SuppressedError")});df&&(gf.constructor=pf),Xh({global:!0,constructor:!0,arity:3,forced:df},{SuppressedError:pf});var vf=ee,yf=Ui,mf=Oe.f,bf=vf("unscopables"),xf=Array.prototype;void 0===xf[bf]&&mf(xf,bf,{configurable:!0,value:yf(null)});var wf=function(t){xf[bf][t]=!0},Af=Ft,_f=dn,Ef=nn,kf=wf;ri({target:"Array",proto:!0},{at:function(t){var e=Af(this),r=_f(e),n=Ef(t),i=n>=0?n:r+n;return i<0||i>=r?void 0:e[i]}}),kf("at");var Sf=TypeError,Mf=function(t){if(t>9007199254740991)throw Sf("Maximum allowed index exceeded");return t},Of=o,Tf=Oe,Pf=v,If=function(t,e,r){Of?Tf.f(t,e,Pf(0,r)):t[e]=r},Cf=i,Rf=et,Df=ee("species"),jf=function(t){return Rf>=51||!Cf(function(){var e=[];return(e.constructor={})[Df]=function(){return{foo:1}},1!==e[t](Boolean).foo})},Lf=ri,Nf=i,Ff=_o,zf=B,Uf=Ft,Bf=dn,$f=Mf,Yf=If,Gf=Yo,Hf=jf,Wf=et,qf=ee("isConcatSpreadable"),Vf=Wf>=51||!Nf(function(){var t=[];return t[qf]=!1,t.concat()[0]!==t}),Xf=function(t){if(!zf(t))return!1;var e=t[qf];return void 0!==e?!!e:Ff(t)};Lf({target:"Array",proto:!0,arity:1,forced:!Vf||!Hf("concat")},{concat:function(t){var e,r,n,i,o,a=Uf(this),s=Gf(a,0),c=0;for(e=-1,n=arguments.length;e<n;e++)if(Xf(o=-1===e?a:arguments[e]))for(i=Bf(o),$f(c+i),r=0;r<i;r++,c++)r in o&&Yf(s,c,o[r]);else $f(c+1),Yf(s,c++,o);return s.length=c,s}});var Kf=dt,Qf=TypeError,Jf=function(t,e){if(!delete t[e])throw new Qf("Cannot delete property "+Kf(e)+" of "+Kf(t))},Zf=Ft,td=cn,ed=dn,rd=Jf,nd=Math.min,id=[].copyWithin||function(t,e){var r=Zf(this),n=ed(r),i=td(t,n),o=td(e,n),a=arguments.length>2?arguments[2]:void 0,s=nd((void 0===a?n:td(a,n))-o,n-i),c=1;for(o<i&&i<o+s&&(c=-1,o+=s-1,i+=s-1);s-- >0;)o in r?r[i]=r[o]:rd(r,i),i+=c,o+=c;return r},od=wf;ri({target:"Array",proto:!0},{copyWithin:id}),od("copyWithin");var ad=i,sd=function(t,e){var r=[][t];return!!r&&ad(function(){r.call(null,e||function(){return 1},1)})},cd=Qo.every;ri({target:"Array",proto:!0,forced:!sd("every")},{every:function(t){return cd(this,t,arguments.length>1?arguments[1]:void 0)}});var ld=Ft,ud=cn,hd=dn,fd=function(t){for(var e=ld(this),r=hd(e),n=arguments.length,i=ud(n>1?arguments[1]:void 0,r),o=n>2?arguments[2]:void 0,a=void 0===o?r:ud(o,r);a>i;)e[i++]=t;return e},dd=wf;ri({target:"Array",proto:!0},{fill:fd}),dd("fill");var pd=Qo.filter;ri({target:"Array",proto:!0,forced:!jf("filter")},{filter:function(t){return pd(this,t,arguments.length>1?arguments[1]:void 0)}});var gd=ri,vd=Qo.find,yd=wf,md="find",bd=!0;md in[]&&Array(1)[md](function(){bd=!1}),gd({target:"Array",proto:!0,forced:bd},{find:function(t){return vd(this,t,arguments.length>1?arguments[1]:void 0)}}),yd(md);var xd=ri,wd=Qo.findIndex,Ad=wf,_d="findIndex",Ed=!0;_d in[]&&Array(1)[_d](function(){Ed=!1}),xd({target:"Array",proto:!0,forced:Ed},{findIndex:function(t){return wd(this,t,arguments.length>1?arguments[1]:void 0)}}),Ad(_d);var kd=wo,Sd=P,Md=Ft,Od=dn,Td=function(t){var e=1===t;return function(r,n,i){for(var o,a=Md(r),s=Sd(a),c=Od(s),l=kd(n,i);c-- >0;)if(l(o=s[c],c,a))switch(t){case 0:return o;case 1:return c}return e?-1:void 0}},Pd={findLast:Td(0),findLastIndex:Td(1)},Id=Pd.findLast,Cd=wf;ri({target:"Array",proto:!0},{findLast:function(t){return Id(this,t,arguments.length>1?arguments[1]:void 0)}}),Cd("findLast");var Rd=Pd.findLastIndex,Dd=wf;ri({target:"Array",proto:!0},{findLastIndex:function(t){return Rd(this,t,arguments.length>1?arguments[1]:void 0)}}),Dd("findLastIndex");var jd=_o,Ld=dn,Nd=Mf,Fd=wo,zd=function(t,e,r,n,i,o,a,s){for(var c,l,u=i,h=0,f=!!a&&Fd(a,s);h<n;)h in r&&(c=f?f(r[h],h,e):r[h],o>0&&jd(c)?(l=Ld(c),u=zd(t,e,c,l,u,o-1)-1):(Nd(u+1),t[u]=c),u++),h++;return u},Ud=zd,Bd=Ud,$d=Ft,Yd=dn,Gd=nn,Hd=Yo;ri({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=$d(this),r=Yd(e),n=Hd(e,0);return n.length=Bd(n,e,e,r,0,void 0===t?1:Gd(t)),n}});var Wd=Ud,qd=yt,Vd=Ft,Xd=dn,Kd=Yo;ri({target:"Array",proto:!0},{flatMap:function(t){var e,r=Vd(this),n=Xd(r);return qd(t),(e=Kd(r,0)).length=Wd(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}});var Qd=Qo.forEach,Jd=sd("forEach")?[].forEach:function(t){return Qd(this,t,arguments.length>1?arguments[1]:void 0)};ri({target:"Array",proto:!0,forced:[].forEach!==Jd},{forEach:Jd});var Zd=Re,tp=uh,ep=function(t,e,r,n){try{return n?e(Zd(r)[0],r[1]):e(r)}catch(e){tp(t,"throw",e)}},rp=wo,np=l,ip=Ft,op=ep,ap=qu,sp=Lo,cp=dn,lp=If,up=ah,hp=Zu,fp=Array,dp=function(t){var e=ip(t),r=sp(this),n=arguments.length,i=n>1?arguments[1]:void 0,o=void 0!==i;o&&(i=rp(i,n>2?arguments[2]:void 0));var a,s,c,l,u,h,f=hp(e),d=0;if(!f||this===fp&&ap(f))for(a=cp(e),s=r?new this(a):fp(a);a>d;d++)h=o?i(e[d],d):e[d],lp(s,d,h);else for(s=r?new this:[],u=(l=up(e,f)).next;!(c=np(u,l)).done;d++)h=o?op(l,i,[c.value,d],!0):c.value,lp(s,d,h);return s.length=d,s},pp=ee("iterator"),gp=!1;try{var vp=0,yp={next:function(){return{done:!!vp++}},return:function(){gp=!0}};yp[pp]=function(){return this},Array.from(yp,function(){throw 2})}catch(t){}var mp=function(t,e){try{if(!e&&!gp)return!1}catch(t){return!1}var r=!1;try{var n={};n[pp]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},bp=dp;ri({target:"Array",stat:!0,forced:!mp(function(t){Array.from(t)})},{from:bp});var xp=mn.includes,wp=wf;ri({target:"Array",proto:!0,forced:i(function(){return!Array(1).includes()})},{includes:function(t){return xp(this,t,arguments.length>1?arguments[1]:void 0)}}),wp("includes");var Ap=ri,_p=mn.indexOf,Ep=sd,kp=yo([].indexOf),Sp=!!kp&&1/kp([1],1,-0)<0;Ap({target:"Array",proto:!0,forced:Sp||!Ep("indexOf")},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return Sp?kp(this,t,e)||0:_p(this,t,e)}}),ri({target:"Array",stat:!0},{isArray:_o});var Mp,Op,Tp,Pp=i,Ip=z,Cp=B,Rp=$u,Dp=Qr,jp=ee("iterator"),Lp=!1;[].keys&&("next"in(Tp=[].keys())?(Op=Rp(Rp(Tp)))!==Object.prototype&&(Mp=Op):Lp=!0);var Np=!Cp(Mp)||Pp(function(){var t={};return Mp[jp].call(t)!==t});Np&&(Mp={}),Ip(Mp[jp])||Dp(Mp,jp,function(){return this});var Fp={IteratorPrototype:Mp,BUGGY_SAFARI_ITERATORS:Lp},zp=Fp.IteratorPrototype,Up=Ui,Bp=v,$p=po,Yp=Yu,Gp=function(){return this},Hp=function(t,e,r,n){var i=e+" Iterator";return t.prototype=Up(zp,{next:Bp(+!n,r)}),$p(t,i,!1),Yp[i]=Gp,t},Wp=ri,qp=l,Vp=z,Xp=Hp,Kp=$u,Qp=wl,Jp=po,Zp=qe,tg=Qr,eg=Yu,rg=tr.PROPER,ng=tr.CONFIGURABLE,ig=Fp.IteratorPrototype,og=Fp.BUGGY_SAFARI_ITERATORS,ag=ee("iterator"),sg="keys",cg="values",lg="entries",ug=function(){return this},hg=function(t,e,r,n,i,o,a){Xp(r,e,n);var s,c,l,u=function(t){if(t===i&&g)return g;if(!og&&t&&t in d)return d[t];switch(t){case sg:case cg:case lg:return function(){return new r(this,t)}}return function(){return new r(this)}},h=e+" Iterator",f=!1,d=t.prototype,p=d[ag]||d["@@iterator"]||i&&d[i],g=!og&&p||u(i),v="Array"===e&&d.entries||p;if(v&&(s=Kp(v.call(new t)))!==Object.prototype&&s.next&&(Kp(s)!==ig&&(Qp?Qp(s,ig):Vp(s[ag])||tg(s,ag,ug)),Jp(s,h,!0)),rg&&i===cg&&p&&p.name!==cg&&(ng?Zp(d,"name",cg):(f=!0,g=function(){return qp(p,this)})),i)if(c={values:u(cg),keys:o?g:u(sg),entries:u(lg)},a)for(l in c)(og||f||!(l in d))&&tg(d,l,c[l]);else Wp({target:e,proto:!0,forced:og||f},c);return d[ag]!==g&&tg(d,ag,g,{name:i}),eg[e]=g,c},fg=function(t,e){return{value:t,done:e}},dg=N,pg=wf,gg=Yu,vg=Tr,yg=Oe.f,mg=hg,bg=fg,xg=o,wg="Array Iterator",Ag=vg.set,_g=vg.getterFor(wg),Eg=mg(Array,"Array",function(t,e){Ag(this,{type:wg,target:dg(t),index:0,kind:e})},function(){var t=_g(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,bg(void 0,!0);switch(t.kind){case"keys":return bg(r,!1);case"values":return bg(e[r],!1)}return bg([r,e[r]],!1)},"values"),kg=gg.Arguments=gg.Array;if(pg("keys"),pg("values"),pg("entries"),xg&&"values"!==kg.name)try{yg(kg,"name",{value:"values"})}catch(t){}var Sg=ri,Mg=P,Og=N,Tg=sd,Pg=w([].join);Sg({target:"Array",proto:!0,forced:Mg!==Object||!Tg("join",",")},{join:function(t){return Pg(Og(this),void 0===t?",":t)}});var Ig=Ms,Cg=N,Rg=nn,Dg=dn,jg=sd,Lg=Math.min,Ng=[].lastIndexOf,Fg=!!Ng&&1/[1].lastIndexOf(1,-0)<0,zg=jg("lastIndexOf"),Ug=Fg||!zg?function(t){if(Fg)return Ig(Ng,this,arguments)||0;var e=Cg(this),r=Dg(e);if(0===r)return-1;var n=r-1;for(arguments.length>1&&(n=Lg(n,Rg(arguments[1]))),n<0&&(n=r+n);n>=0;n--)if(n in e&&e[n]===t)return n||0;return-1}:Ng;ri({target:"Array",proto:!0,forced:Ug!==[].lastIndexOf},{lastIndexOf:Ug});var Bg=Qo.map;ri({target:"Array",proto:!0,forced:!jf("map")},{map:function(t){return Bg(this,t,arguments.length>1?arguments[1]:void 0)}});var $g=Lo,Yg=If,Gg=Array;ri({target:"Array",stat:!0,forced:i(function(){function t(){}return!(Gg.of.call(t)instanceof t)})},{of:function(){for(var t=0,e=arguments.length,r=new($g(this)?this:Gg)(e);e>t;)Yg(r,t,arguments[t++]);return r.length=e,r}});var Hg=o,Wg=_o,qg=TypeError,Vg=Object.getOwnPropertyDescriptor,Xg=Hg&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}()?function(t,e){if(Wg(t)&&!Vg(t,"length").writable)throw new qg("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e},Kg=Ft,Qg=dn,Jg=Xg,Zg=Mf;ri({target:"Array",proto:!0,arity:1,forced:i(function(){return 4294967297!==[].push.call({length:4294967296},1)})||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}()},{push:function(t){var e=Kg(this),r=Qg(e),n=arguments.length;Zg(r+n);for(var i=0;i<n;i++)e[r]=arguments[i],r++;return Jg(e,r),r}});var tv=yt,ev=Ft,rv=P,nv=dn,iv=TypeError,ov="Reduce of empty array with no initial value",av=function(t){return function(e,r,n,i){var o=ev(e),a=rv(o),s=nv(o);if(tv(r),0===s&&n<2)throw new iv(ov);var c=t?s-1:0,l=t?-1:1;if(n<2)for(;;){if(c in a){i=a[c],c+=l;break}if(c+=l,t?c<0:s<=c)throw new iv(ov)}for(;t?c>=0:s>c;c+=l)c in a&&(i=r(i,a[c],c,o));return i}},sv={left:av(!1),right:av(!0)},cv=r,lv=V,uv=k,hv=function(t){return lv.slice(0,t.length)===t},fv=hv("Bun/")?"BUN":hv("Cloudflare-Workers")?"CLOUDFLARE":hv("Deno/")?"DENO":hv("Node.js/")?"NODE":cv.Bun&&"string"==typeof Bun.version?"BUN":cv.Deno&&"object"==typeof Deno.version?"DENO":"process"===uv(cv.process)?"NODE":cv.window&&cv.document?"BROWSER":"REST",dv="NODE"===fv,pv=sv.left;ri({target:"Array",proto:!0,forced:!dv&&et>79&&et<83||!sd("reduce")},{reduce:function(t){var e=arguments.length;return pv(this,t,e,e>1?arguments[1]:void 0)}});var gv=sv.right;ri({target:"Array",proto:!0,forced:!dv&&et>79&&et<83||!sd("reduceRight")},{reduceRight:function(t){return gv(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}});var vv=ri,yv=_o,mv=w([].reverse),bv=[1,2];vv({target:"Array",proto:!0,forced:String(bv)===String(bv.reverse())},{reverse:function(){return yv(this)&&(this.length=this.length),mv(this)}});var xv=ri,wv=_o,Av=Lo,_v=B,Ev=cn,kv=dn,Sv=N,Mv=If,Ov=ee,Tv=$i,Pv=jf("slice"),Iv=Ov("species"),Cv=Array,Rv=Math.max;xv({target:"Array",proto:!0,forced:!Pv},{slice:function(t,e){var r,n,i,o=Sv(this),a=kv(o),s=Ev(t,a),c=Ev(void 0===e?a:e,a);if(wv(o)&&(r=o.constructor,(Av(r)&&(r===Cv||wv(r.prototype))||_v(r)&&null===(r=r[Iv]))&&(r=void 0),r===Cv||void 0===r))return Tv(o,s,c);for(n=new(void 0===r?Cv:r)(Rv(c-s,0)),i=0;s<c;s++,i++)s in o&&Mv(n,i,o[s]);return n.length=i,n}});var Dv=Qo.some;ri({target:"Array",proto:!0,forced:!sd("some")},{some:function(t){return Dv(this,t,arguments.length>1?arguments[1]:void 0)}});var jv=$i,Lv=Math.floor,Nv=function(t,e){var r=t.length;if(r<8)for(var n,i,o=1;o<r;){for(i=o,n=t[o];i&&e(t[i-1],n)>0;)t[i]=t[--i];i!==o++&&(t[i]=n)}else for(var a=Lv(r/2),s=Nv(jv(t,0,a),e),c=Nv(jv(t,a),e),l=s.length,u=c.length,h=0,f=0;h<l||f<u;)t[h+f]=h<l&&f<u?e(s[h],c[f])<=0?s[h++]:c[f++]:h<l?s[h++]:c[f++];return t},Fv=Nv,zv=V.match(/firefox\/(\d+)/i),Uv=!!zv&&+zv[1],Bv=/MSIE|Trident/.test(V),$v=V.match(/AppleWebKit\/(\d+)\./),Yv=!!$v&&+$v[1],Gv=ri,Hv=w,Wv=yt,qv=Ft,Vv=dn,Xv=Jf,Kv=pi,Qv=i,Jv=Fv,Zv=sd,ty=Uv,ey=Bv,ry=et,ny=Yv,iy=[],oy=Hv(iy.sort),ay=Hv(iy.push),sy=Qv(function(){iy.sort(void 0)}),cy=Qv(function(){iy.sort(null)}),ly=Zv("sort"),uy=!Qv(function(){if(ry)return ry<70;if(!(ty&&ty>3)){if(ey)return!0;if(ny)return ny<603;var t,e,r,n,i="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)iy.push({k:e+n,v:r})}for(iy.sort(function(t,e){return e.v-t.v}),n=0;n<iy.length;n++)e=iy[n].k.charAt(0),i.charAt(i.length-1)!==e&&(i+=e);return"DGBEFHACIJK"!==i}});Gv({target:"Array",proto:!0,forced:sy||!cy||!ly||!uy},{sort:function(t){void 0!==t&&Wv(t);var e=qv(this);if(uy)return void 0===t?oy(e):oy(e,t);var r,n,i=[],o=Vv(e);for(n=0;n<o;n++)n in e&&ay(i,e[n]);for(Jv(i,function(t){return function(e,r){return void 0===r?-1:void 0===e?1:void 0!==t?+t(e,r)||0:Kv(e)>Kv(r)?1:-1}}(t)),r=Vv(i),n=0;n<r;)e[n]=i[n++];for(;n<o;)Xv(e,n++);return e}});var hy=G,fy=Ki,dy=o,py=ee("species"),gy=function(t){var e=hy(t);dy&&e&&!e[py]&&fy(e,py,{configurable:!0,get:function(){return this}})};gy("Array");var vy=ri,yy=Ft,my=cn,by=nn,xy=dn,wy=Xg,Ay=Mf,_y=Yo,Ey=If,ky=Jf,Sy=jf("splice"),My=Math.max,Oy=Math.min;vy({target:"Array",proto:!0,forced:!Sy},{splice:function(t,e){var r,n,i,o,a,s,c=yy(this),l=xy(c),u=my(t,l),h=arguments.length;for(0===h?r=n=0:1===h?(r=0,n=l-u):(r=h-2,n=Oy(My(by(e),0),l-u)),Ay(l+r-n),i=_y(c,n),o=0;o<n;o++)(a=u+o)in c&&Ey(i,o,c[a]);if(i.length=n,r<n){for(o=u;o<l-n;o++)s=o+r,(a=o+n)in c?c[s]=c[a]:ky(c,s);for(o=l;o>l-n+r;o--)ky(c,o-1)}else if(r>n)for(o=l-n;o>u;o--)s=o+r-1,(a=o+n-1)in c?c[s]=c[a]:ky(c,s);for(o=0;o<r;o++)c[o+u]=arguments[o+2];return wy(c,l-n+r),i}});var Ty=dn,Py=function(t,e){for(var r=Ty(t),n=new e(r),i=0;i<r;i++)n[i]=t[r-i-1];return n},Iy=Py,Cy=N,Ry=wf,Dy=Array;ri({target:"Array",proto:!0},{toReversed:function(){return Iy(Cy(this),Dy)}}),Ry("toReversed");var jy=dn,Ly=function(t,e,r){for(var n=0,i=arguments.length>2?r:jy(e),o=new t(i);i>n;)o[n]=e[n++];return o},Ny=r,Fy=function(t,e){var r=Ny[t],n=r&&r.prototype;return n&&n[e]},zy=ri,Uy=yt,By=N,$y=Ly,Yy=wf,Gy=Array,Hy=w(Fy("Array","sort"));zy({target:"Array",proto:!0},{toSorted:function(t){void 0!==t&&Uy(t);var e=By(this),r=$y(Gy,e);return Hy(r,t)}}),Yy("toSorted");var Wy=ri,qy=wf,Vy=Mf,Xy=dn,Ky=cn,Qy=N,Jy=nn,Zy=Array,tm=Math.max,em=Math.min;Wy({target:"Array",proto:!0},{toSpliced:function(t,e){var r,n,i,o,a=Qy(this),s=Xy(a),c=Ky(t,s),l=arguments.length,u=0;for(0===l?r=n=0:1===l?(r=0,n=s-c):(r=l-2,n=em(tm(Jy(e),0),s-c)),i=Vy(s+r-n),o=Zy(i);u<c;u++)o[u]=a[u];for(;u<c+r;u++)o[u]=arguments[u-c+2];for(;u<i;u++)o[u]=a[u+n-r];return o}}),qy("toSpliced"),wf("flat"),wf("flatMap");var rm=Ft,nm=dn,im=Xg,om=Jf,am=Mf;ri({target:"Array",proto:!0,arity:1,forced:1!==[].unshift(0)||!function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(t){return t instanceof TypeError}}()},{unshift:function(t){var e=rm(this),r=nm(e),n=arguments.length;if(n){am(r+n);for(var i=r;i--;){var o=i+n;i in e?e[o]=e[i]:om(e,o)}for(var a=0;a<n;a++)e[a]=arguments[a]}return im(e,r+n)}});var sm=dn,cm=nn,lm=RangeError,um=function(t,e,r,n){var i=sm(t),o=cm(r),a=o<0?i+o:o;if(a>=i||a<0)throw new lm("Incorrect index");for(var s=new e(i),c=0;c<i;c++)s[c]=c===a?n:t[c];return s},hm=um,fm=N,dm=Array;ri({target:"Array",proto:!0,forced:function(){try{[].with({valueOf:function(){throw 4}},null)}catch(t){return 4!==t}}()},{with:function(t,e){return hm(fm(this),dm,t,e)}});var pm="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,gm=Qr,vm=function(t,e,r){for(var n in e)gm(t,n,e[n],r);return t},ym=H,mm=TypeError,bm=function(t,e){if(ym(e,t))return t;throw new mm("Incorrect invocation")},xm=nn,wm=hn,Am=RangeError,_m=function(t){if(void 0===t)return 0;var e=xm(t),r=wm(e);if(e!==r)throw new Am("Wrong length or index");return r},Em=Math.sign||function(t){var e=+t;return 0===e||e!=e?e:e<0?-1:1},km=4503599627370496,Sm=function(t){return t+km-km},Mm=Em,Om=Sm,Tm=Math.abs,Pm=function(t,e,r,n){var i=+t,o=Tm(i),a=Mm(i);if(o<n)return a*Om(o/n/e)*n*e;var s=(1+e/2220446049250313e-31)*o,c=s-(s-o);return c>r||c!=c?a*(1/0):a*c},Im=Pm,Cm=Math.fround||function(t){return Im(t,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)},Rm=Array,Dm=Math.abs,jm=Math.pow,Lm=Math.floor,Nm=Math.log,Fm=Math.LN2,zm={pack:function(t,e,r){var n,i,o,a=Rm(r),s=8*r-e-1,c=(1<<s)-1,l=c>>1,u=23===e?jm(2,-24)-jm(2,-77):0,h=t<0||0===t&&1/t<0?1:0,f=0;for((t=Dm(t))!=t||t===1/0?(i=t!=t?1:0,n=c):(n=Lm(Nm(t)/Fm),t*(o=jm(2,-n))<1&&(n--,o*=2),(t+=n+l>=1?u/o:u*jm(2,1-l))*o>=2&&(n++,o/=2),n+l>=c?(i=0,n=c):n+l>=1?(i=(t*o-1)*jm(2,e),n+=l):(i=t*jm(2,l-1)*jm(2,e),n=0));e>=8;)a[f++]=255&i,i/=256,e-=8;for(n=n<<e|i,s+=e;s>0;)a[f++]=255&n,n/=256,s-=8;return a[f-1]|=128*h,a},unpack:function(t,e){var r,n=t.length,i=8*n-e-1,o=(1<<i)-1,a=o>>1,s=i-7,c=n-1,l=t[c--],u=127&l;for(l>>=7;s>0;)u=256*u+t[c--],s-=8;for(r=u&(1<<-s)-1,u>>=-s,s+=e;s>0;)r=256*r+t[c--],s-=8;if(0===u)u=1-a;else{if(u===o)return r?NaN:l?-1/0:1/0;r+=jm(2,e),u-=a}return(l?-1:1)*r*jm(2,u-e)}},Um=r,Bm=w,$m=o,Ym=pm,Gm=qe,Hm=Ki,Wm=vm,qm=i,Vm=bm,Xm=nn,Km=hn,Qm=_m,Jm=Cm,Zm=zm,tb=$u,eb=wl,rb=fd,nb=$i,ib=Ml,ob=zn,ab=po,sb=Tr,cb=tr.PROPER,lb=tr.CONFIGURABLE,ub="ArrayBuffer",hb="DataView",fb="prototype",db="Wrong index",pb=sb.getterFor(ub),gb=sb.getterFor(hb),vb=sb.set,yb=Um[ub],mb=yb,bb=mb&&mb[fb],xb=Um[hb],wb=xb&&xb[fb],Ab=Object.prototype,_b=Um.Array,Eb=Um.RangeError,kb=Bm(rb),Sb=Bm([].reverse),Mb=Zm.pack,Ob=Zm.unpack,Tb=function(t){return[255&t]},Pb=function(t){return[255&t,t>>8&255]},Ib=function(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]},Cb=function(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]},Rb=function(t){return Mb(Jm(t),23,4)},Db=function(t){return Mb(t,52,8)},jb=function(t,e,r){Hm(t[fb],e,{configurable:!0,get:function(){return r(this)[e]}})},Lb=function(t,e,r,n){var i=gb(t),o=Qm(r),a=!!n;if(o+e>i.byteLength)throw new Eb(db);var s=i.bytes,c=o+i.byteOffset,l=nb(s,c,c+e);return a?l:Sb(l)},Nb=function(t,e,r,n,i,o){var a=gb(t),s=Qm(r),c=n(+i),l=!!o;if(s+e>a.byteLength)throw new Eb(db);for(var u=a.bytes,h=s+a.byteOffset,f=0;f<e;f++)u[h+f]=c[l?f:e-f-1]};if(Ym){var Fb=cb&&yb.name!==ub;qm(function(){yb(1)})&&qm(function(){new yb(-1)})&&!qm(function(){return new yb,new yb(1.5),new yb(NaN),1!==yb.length||Fb&&!lb})?Fb&&lb&&Gm(yb,"name",ub):((mb=function(t){return Vm(this,bb),ib(new yb(Qm(t)),this,mb)})[fb]=bb,bb.constructor=mb,ob(mb,yb)),eb&&tb(wb)!==Ab&&eb(wb,Ab);var zb=new xb(new mb(2)),Ub=Bm(wb.setInt8);zb.setInt8(0,2147483648),zb.setInt8(1,2147483649),!zb.getInt8(0)&&zb.getInt8(1)||Wm(wb,{setInt8:function(t,e){Ub(this,t,e<<24>>24)},setUint8:function(t,e){Ub(this,t,e<<24>>24)}},{unsafe:!0})}else bb=(mb=function(t){Vm(this,bb);var e=Qm(t);vb(this,{type:ub,bytes:kb(_b(e),0),byteLength:e}),$m||(this.byteLength=e,this.detached=!1)})[fb],xb=function(t,e,r){Vm(this,wb),Vm(t,bb);var n=pb(t),i=n.byteLength,o=Xm(e);if(o<0||o>i)throw new Eb("Wrong offset");if(o+(r=void 0===r?i-o:Km(r))>i)throw new Eb("Wrong length");vb(this,{type:hb,buffer:t,byteLength:r,byteOffset:o,bytes:n.bytes}),$m||(this.buffer=t,this.byteLength=r,this.byteOffset=o)},wb=xb[fb],$m&&(jb(mb,"byteLength",pb),jb(xb,"buffer",gb),jb(xb,"byteLength",gb),jb(xb,"byteOffset",gb)),Wm(wb,{getInt8:function(t){return Lb(this,1,t)[0]<<24>>24},getUint8:function(t){return Lb(this,1,t)[0]},getInt16:function(t){var e=Lb(this,2,t,arguments.length>1&&arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=Lb(this,2,t,arguments.length>1&&arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return Cb(Lb(this,4,t,arguments.length>1&&arguments[1]))},getUint32:function(t){return Cb(Lb(this,4,t,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(t){return Ob(Lb(this,4,t,arguments.length>1&&arguments[1]),23)},getFloat64:function(t){return Ob(Lb(this,8,t,arguments.length>1&&arguments[1]),52)},setInt8:function(t,e){Nb(this,1,t,Tb,e)},setUint8:function(t,e){Nb(this,1,t,Tb,e)},setInt16:function(t,e){Nb(this,2,t,Pb,e,arguments.length>2&&arguments[2])},setUint16:function(t,e){Nb(this,2,t,Pb,e,arguments.length>2&&arguments[2])},setInt32:function(t,e){Nb(this,4,t,Ib,e,arguments.length>2&&arguments[2])},setUint32:function(t,e){Nb(this,4,t,Ib,e,arguments.length>2&&arguments[2])},setFloat32:function(t,e){Nb(this,4,t,Rb,e,arguments.length>2&&arguments[2])},setFloat64:function(t,e){Nb(this,8,t,Db,e,arguments.length>2&&arguments[2])}});ab(mb,ub),ab(xb,hb);var Bb={ArrayBuffer:mb,DataView:xb},$b=gy,Yb="ArrayBuffer",Gb=Bb[Yb];ri({global:!0,constructor:!0,forced:r[Yb]!==Gb},{ArrayBuffer:Gb}),$b(Yb);var Hb,Wb,qb,Vb=pm,Xb=o,Kb=r,Qb=z,Jb=B,Zb=Bt,tx=hi,ex=dt,rx=qe,nx=Qr,ix=Ki,ox=H,ax=$u,sx=wl,cx=ee,lx=Wt,ux=Tr.enforce,hx=Tr.get,fx=Kb.Int8Array,dx=fx&&fx.prototype,px=Kb.Uint8ClampedArray,gx=px&&px.prototype,vx=fx&&ax(fx),yx=dx&&ax(dx),mx=Object.prototype,bx=Kb.TypeError,xx=cx("toStringTag"),wx=lx("TYPED_ARRAY_TAG"),Ax="TypedArrayConstructor",_x=Vb&&!!sx&&"Opera"!==tx(Kb.opera),Ex=!1,kx={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Sx={BigInt64Array:8,BigUint64Array:8},Mx=function(t){var e=ax(t);if(Jb(e)){var r=hx(e);return r&&Zb(r,Ax)?r[Ax]:Mx(e)}},Ox=function(t){if(!Jb(t))return!1;var e=tx(t);return Zb(kx,e)||Zb(Sx,e)};for(Hb in kx)(qb=(Wb=Kb[Hb])&&Wb.prototype)?ux(qb)[Ax]=Wb:_x=!1;for(Hb in Sx)(qb=(Wb=Kb[Hb])&&Wb.prototype)&&(ux(qb)[Ax]=Wb);if((!_x||!Qb(vx)||vx===Function.prototype)&&(vx=function(){throw new bx("Incorrect invocation")},_x))for(Hb in kx)Kb[Hb]&&sx(Kb[Hb],vx);if((!_x||!yx||yx===mx)&&(yx=vx.prototype,_x))for(Hb in kx)Kb[Hb]&&sx(Kb[Hb].prototype,yx);if(_x&&ax(gx)!==yx&&sx(gx,yx),Xb&&!Zb(yx,xx))for(Hb in Ex=!0,ix(yx,xx,{configurable:!0,get:function(){return Jb(this)?this[wx]:void 0}}),kx)Kb[Hb]&&rx(Kb[Hb],wx,Hb);var Tx={NATIVE_ARRAY_BUFFER_VIEWS:_x,TYPED_ARRAY_TAG:Ex&&wx,aTypedArray:function(t){if(Ox(t))return t;throw new bx("Target is not a typed array")},aTypedArrayConstructor:function(t){if(Qb(t)&&(!sx||ox(vx,t)))return t;throw new bx(ex(t)+" is not a typed array constructor")},exportTypedArrayMethod:function(t,e,r,n){if(Xb){if(r)for(var i in kx){var o=Kb[i];if(o&&Zb(o.prototype,t))try{delete o.prototype[t]}catch(r){try{o.prototype[t]=e}catch(t){}}}yx[t]&&!r||nx(yx,t,r?e:_x&&dx[t]||e,n)}},exportTypedArrayStaticMethod:function(t,e,r){var n,i;if(Xb){if(sx){if(r)for(n in kx)if((i=Kb[n])&&Zb(i,t))try{delete i[t]}catch(t){}if(vx[t]&&!r)return;try{return nx(vx,t,r?e:_x&&vx[t]||e)}catch(t){}}for(n in kx)!(i=Kb[n])||i[t]&&!r||nx(i,t,e)}},getTypedArrayConstructor:Mx,isView:function(t){if(!Jb(t))return!1;var e=tx(t);return"DataView"===e||Zb(kx,e)||Zb(Sx,e)},isTypedArray:Ox,TypedArray:vx,TypedArrayPrototype:yx};ri({target:"ArrayBuffer",stat:!0,forced:!Tx.NATIVE_ARRAY_BUFFER_VIEWS},{isView:Tx.isView});var Px=ri,Ix=yo,Cx=i,Rx=Re,Dx=cn,jx=hn,Lx=Bb.ArrayBuffer,Nx=Bb.DataView,Fx=Nx.prototype,zx=Ix(Lx.prototype.slice),Ux=Ix(Fx.getUint8),Bx=Ix(Fx.setUint8);Px({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:Cx(function(){return!new Lx(2).slice(1,void 0).byteLength})},{slice:function(t,e){if(zx&&void 0===e)return zx(Rx(this),t);for(var r=Rx(this).byteLength,n=Dx(t,r),i=Dx(void 0===e?r:e,r),o=new Lx(jx(i-n)),a=new Nx(this),s=new Nx(o),c=0;n<i;)Bx(s,c++,Ux(a,n++));return o}}),ri({global:!0,constructor:!0,forced:!pm},{DataView:Bb.DataView});var $x=ri,Yx=w,Gx=Math.pow,Hx=Gx(2,-24),Wx=.0009765625,qx=Yx(DataView.prototype.getUint16);$x({target:"DataView",proto:!0},{getFloat16:function(t){return function(t){var e=t>>>15,r=t>>>10&31,n=1023&t;return 31===r?0===n?0===e?1/0:-1/0:NaN:0===r?n*(0===e?Hx:-Hx):Gx(2,r-15)*(0===e?1+n*Wx:-1-n*Wx)}(qx(this,t,arguments.length>1&&arguments[1]))}});var Vx=hi,Xx=TypeError,Kx=Math.log,Qx=Math.LN2,Jx=Math.log2||function(t){return Kx(t)/Qx},Zx=ri,tw=w,ew=function(t){if("DataView"===Vx(t))return t;throw new Xx("Argument is not a DataView")},rw=_m,nw=Jx,iw=Sm,ow=Math.pow,aw=1024,sw=tw(DataView.prototype.setUint16);Zx({target:"DataView",proto:!0},{setFloat16:function(t,e){sw(ew(this),rw(t),function(t){if(t!=t)return 32256;if(0===t)return(1/t==-1/0)<<15;var e=t<0;if(e&&(t=-t),t>=65520)return e<<15|31744;if(t<61005353927612305e-21)return e<<15|iw(16777216*t);var r=0|nw(t);if(-15===r)return e<<15|aw;var n=iw((t*ow(2,-r)-1)*aw);return n===aw?e<<15|r+16<<10:e<<15|r+15<<10|n}(+e),arguments.length>2&&arguments[2])}});var cw=r,lw=ul,uw=k,hw=cw.ArrayBuffer,fw=cw.TypeError,dw=hw&&lw(hw.prototype,"byteLength","get")||function(t){if("ArrayBuffer"!==uw(t))throw new fw("ArrayBuffer expected");return t.byteLength},pw=pm,gw=dw,vw=r.DataView,yw=function(t){if(!pw||0!==gw(t))return!1;try{return new vw(t),!1}catch(t){return!0}},mw=o,bw=Ki,xw=yw,ww=ArrayBuffer.prototype;mw&&!("detached"in ww)&&bw(ww,"detached",{configurable:!0,get:function(){return xw(this)}});var Aw,_w,Ew,kw,Sw=yw,Mw=TypeError,Ow=function(t){if(Sw(t))throw new Mw("ArrayBuffer is detached");return t},Tw=r,Pw=dv,Iw=function(t){if(Pw){try{return Tw.process.getBuiltinModule(t)}catch(t){}try{return Function('return require("'+t+'")')()}catch(t){}}},Cw=i,Rw=et,Dw=fv,jw=r.structuredClone,Lw=!!jw&&!Cw(function(){if("DENO"===Dw&&Rw>92||"NODE"===Dw&&Rw>94||"BROWSER"===Dw&&Rw>97)return!1;var t=new ArrayBuffer(8),e=jw(t,{transfer:[t]});return 0!==t.byteLength||8!==e.byteLength}),Nw=r,Fw=Iw,zw=Lw,Uw=Nw.structuredClone,Bw=Nw.ArrayBuffer,$w=Nw.MessageChannel,Yw=!1;if(zw)Yw=function(t){Uw(t,{transfer:[t]})};else if(Bw)try{$w||(Aw=Fw("worker_threads"))&&($w=Aw.MessageChannel),$w&&(_w=new $w,Ew=new Bw(2),kw=function(t){_w.port1.postMessage(null,[t])},2===Ew.byteLength&&(kw(Ew),0===Ew.byteLength&&(Yw=kw)))}catch(t){}var Gw=Yw,Hw=r,Ww=w,qw=ul,Vw=_m,Xw=Ow,Kw=dw,Qw=Gw,Jw=Lw,Zw=Hw.structuredClone,tA=Hw.ArrayBuffer,eA=Hw.DataView,rA=Math.min,nA=tA.prototype,iA=eA.prototype,oA=Ww(nA.slice),aA=qw(nA,"resizable","get"),sA=qw(nA,"maxByteLength","get"),cA=Ww(iA.getInt8),lA=Ww(iA.setInt8),uA=(Jw||Qw)&&function(t,e,r){var n,i=Kw(t),o=void 0===e?i:Vw(e),a=!aA||!aA(t);if(Xw(t),Jw&&(t=Zw(t,{transfer:[t]}),i===o&&(r||a)))return t;if(i>=o&&(!r||a))n=oA(t,0,o);else{var s=r&&!a&&sA?{maxByteLength:sA(t)}:void 0;n=new tA(o,s);for(var c=new eA(t),l=new eA(n),u=rA(o,i),h=0;h<u;h++)lA(l,h,cA(c,h))}return Jw||Qw(t),n},hA=uA;hA&&ri({target:"ArrayBuffer",proto:!0},{transfer:function(){return hA(this,arguments.length?arguments[0]:void 0,!0)}});var fA=uA;fA&&ri({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return fA(this,arguments.length?arguments[0]:void 0,!1)}});var dA=ri,pA=w,gA=i(function(){return 120!==new Date(16e11).getYear()}),vA=pA(Date.prototype.getFullYear);dA({target:"Date",proto:!0,forced:gA},{getYear:function(){return vA(this)-1900}});var yA=ri,mA=Date,bA=w(mA.prototype.getTime);yA({target:"Date",stat:!0},{now:function(){return bA(new mA)}});var xA=ri,wA=w,AA=nn,_A=Date.prototype,EA=wA(_A.getTime),kA=wA(_A.setFullYear);xA({target:"Date",proto:!0},{setYear:function(t){EA(this);var e=AA(t);return kA(this,e>=0&&e<=99?e+1900:e)}}),ri({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString});var SA=nn,MA=pi,OA=D,TA=RangeError,PA=function(t){var e=MA(OA(this)),r="",n=SA(t);if(n<0||n===1/0)throw new TA("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},IA=w,CA=hn,RA=pi,DA=D,jA=IA(PA),LA=IA("".slice),NA=Math.ceil,FA=function(t){return function(e,r,n){var i,o,a=RA(DA(e)),s=CA(r),c=a.length,l=void 0===n?" ":RA(n);return s<=c||""===l?a:((o=jA(l,NA((i=s-c)/l.length))).length>i&&(o=LA(o,0,i)),t?a+o:o+a)}},zA={start:FA(!1),end:FA(!0)},UA=w,BA=i,$A=zA.start,YA=RangeError,GA=isFinite,HA=Math.abs,WA=Date.prototype,qA=WA.toISOString,VA=UA(WA.getTime),XA=UA(WA.getUTCDate),KA=UA(WA.getUTCFullYear),QA=UA(WA.getUTCHours),JA=UA(WA.getUTCMilliseconds),ZA=UA(WA.getUTCMinutes),t_=UA(WA.getUTCMonth),e_=UA(WA.getUTCSeconds),r_=BA(function(){return"0385-07-25T07:06:39.999Z"!==qA.call(new Date(-50000000000001))})||!BA(function(){qA.call(new Date(NaN))})?function(){if(!GA(VA(this)))throw new YA("Invalid time value");var t=this,e=KA(t),r=JA(t),n=e<0?"-":e>9999?"+":"";return n+$A(HA(e),n?6:4,0)+"-"+$A(t_(t)+1,2,0)+"-"+$A(XA(t),2,0)+"T"+$A(QA(t),2,0)+":"+$A(ZA(t),2,0)+":"+$A(e_(t),2,0)+"."+$A(r,3,0)+"Z"}:qA,n_=r_;ri({target:"Date",proto:!0,forced:Date.prototype.toISOString!==n_},{toISOString:n_});var i_=Ft,o_=le;ri({target:"Date",proto:!0,arity:1,forced:i(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})},{toJSON:function(t){var e=i_(this),r=o_(e,"number");return"number"!=typeof r||isFinite(r)?e.toISOString():null}});var a_=Re,s_=kt,c_=TypeError,l_=Bt,u_=Qr,h_=function(t){if(a_(this),"string"===t||"default"===t)t="string";else if("number"!==t)throw new c_("Incorrect hint");return s_(this,t)},f_=ee("toPrimitive"),d_=Date.prototype;l_(d_,f_)||u_(d_,f_,h_);var p_=w,g_=Qr,v_=Date.prototype,y_="Invalid Date",m_="toString",b_=p_(v_[m_]),x_=p_(v_.getTime);String(new Date(NaN))!==y_&&g_(v_,m_,function(){var t=x_(this);return t==t?b_(this):y_});var w_=G,A_=l,__=w,E_=wo,k_=Re,S_=yt,M_=I,O_=xt,T_=ee,P_=T_("asyncDispose"),I_=T_("dispose"),C_=__([].push),R_=function(t,e,r){return arguments.length<3&&!M_(t)&&(r=S_(function(t,e){if("async-dispose"===e){var r=O_(t,P_);return void 0!==r||void 0===(r=O_(t,I_))?r:function(){var t=this;return new(w_("Promise"))(function(e){A_(r,t),e(void 0)})}}return O_(t,I_)}(k_(t),e))),void 0===r?function(){}:E_(r,t)},D_=function(t,e,r,n){var i;if(arguments.length<4){if(M_(e)&&"sync-dispose"===r)return;i=R_(e,r)}else i=R_(void 0,r,n);C_(t.stack,i)},j_=ri,L_=o,N_=yt,F_=bm,z_=Qr,U_=vm,B_=Ki,$_=ee,Y_=Tr,G_=D_,H_=G("SuppressedError"),W_=ReferenceError,q_=$_("dispose"),V_=$_("toStringTag"),X_="DisposableStack",K_=Y_.set,Q_=Y_.getterFor(X_),J_="sync-dispose",Z_="disposed",tE=function(t){var e=Q_(t);if(e.state===Z_)throw new W_(X_+" already disposed");return e},eE=function(){K_(F_(this,rE),{type:X_,state:"pending",stack:[]}),L_||(this.disposed=!1)},rE=eE.prototype;U_(rE,{dispose:function(){var t=Q_(this);if(t.state!==Z_){t.state=Z_,L_||(this.disposed=!0);for(var e,r=t.stack,n=r.length,i=!1;n;){var o=r[--n];r[n]=null;try{o()}catch(t){i?e=new H_(t,e):(i=!0,e=t)}}if(t.stack=null,i)throw e}},use:function(t){return G_(tE(this),t,J_),t},adopt:function(t,e){var r=tE(this);return N_(e),G_(r,void 0,J_,function(){e(t)}),t},defer:function(t){var e=tE(this);N_(t),G_(e,void 0,J_,t)},move:function(){var t=tE(this),e=new eE;return Q_(e).stack=t.stack,t.stack=[],t.state=Z_,L_||(this.disposed=!0),e}}),L_&&B_(rE,"disposed",{configurable:!0,get:function(){return Q_(this).state===Z_}}),z_(rE,q_,rE.dispose,{name:"dispose"}),z_(rE,V_,X_,{nonWritable:!0}),j_({global:!0,constructor:!0},{DisposableStack:eE});var nE=ri,iE=w,oE=pi,aE=iE("".charAt),sE=iE("".charCodeAt),cE=iE(/./.exec),lE=iE(1.1.toString),uE=iE("".toUpperCase),hE=/[\w*+\-./@]/,fE=function(t,e){for(var r=lE(t,16);r.length<e;)r="0"+r;return r};nE({global:!0},{escape:function(t){for(var e,r,n=oE(t),i="",o=n.length,a=0;a<o;)e=aE(n,a++),cE(hE,e)?i+=e:i+=(r=sE(e,0))<256?"%"+fE(r,2):"%u"+uE(fE(r,4));return i}});var dE=w,pE=yt,gE=B,vE=Bt,yE=$i,mE=a,bE=Function,xE=dE([].concat),wE=dE([].join),AE={},_E=mE?bE.bind:function(t){var e=pE(this),r=e.prototype,n=yE(arguments,1),i=function(){var r=xE(n,yE(arguments));return this instanceof i?function(t,e,r){if(!vE(AE,e)){for(var n=[],i=0;i<e;i++)n[i]="a["+i+"]";AE[e]=bE("C,a","return new C("+wE(n,",")+")")}return AE[e](t,r)}(e,r.length,r):e.apply(t,r)};return gE(r)&&(i.prototype=r),i},EE=_E;ri({target:"Function",proto:!0,forced:Function.bind!==EE},{bind:EE});var kE=z,SE=B,ME=Oe,OE=H,TE=ee,PE=Ve.exports,IE=TE("hasInstance"),CE=Function.prototype;IE in CE||ME.f(CE,IE,{value:PE(function(t){if(!kE(this)||!SE(t))return!1;var e=this.prototype;return SE(e)?OE(e,t):t instanceof this},IE)});var RE=o,DE=tr.EXISTS,jE=w,LE=Ki,NE=Function.prototype,FE=jE(NE.toString),zE=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,UE=jE(zE.exec);RE&&!DE&&LE(NE,"name",{configurable:!0,get:function(){try{return UE(zE,FE(this))[1]}catch(t){return""}}});var BE=r;ri({global:!0,forced:BE.globalThis!==BE},{globalThis:BE});var $E=ri,YE=r,GE=bm,HE=Re,WE=z,qE=$u,VE=Ki,XE=If,KE=i,QE=Bt,JE=Fp.IteratorPrototype,ZE=o,tk="constructor",ek="Iterator",rk=ee("toStringTag"),nk=TypeError,ik=YE[ek],ok=!WE(ik)||ik.prototype!==JE||!KE(function(){ik({})}),ak=function(){if(GE(this,JE),qE(this)===JE)throw new nk("Abstract class Iterator not directly constructable")},sk=function(t,e){ZE?VE(JE,t,{configurable:!0,get:function(){return e},set:function(e){if(HE(this),this===JE)throw new nk("You can't redefine this property");QE(this,t)?this[t]=e:XE(this,t,e)}}):JE[t]=e};QE(JE,rk)||sk(rk,ek),!ok&&QE(JE,tk)&&JE[tk]!==Object||sk(tk,ak),ak.prototype=JE,$E({global:!0,constructor:!0,forced:ok},{Iterator:ak});var ck=uh,lk=l,uk=Ui,hk=qe,fk=vm,dk=Tr,pk=xt,gk=Fp.IteratorPrototype,vk=fg,yk=uh,mk=function(t,e,r){for(var n=t.length-1;n>=0;n--)if(void 0!==t[n])try{r=ck(t[n].iterator,e,r)}catch(t){e="throw",r=t}if("throw"===e)throw r;return r},bk=ee("toStringTag"),xk="IteratorHelper",wk="WrapForValidIterator",Ak="normal",_k="throw",Ek=dk.set,kk=function(t){var e=dk.getterFor(t?wk:xk);return fk(uk(gk),{next:function(){var r=e(this);if(t)return r.nextHandler();if(r.done)return vk(void 0,!0);try{var n=r.nextHandler();return r.returnHandlerResult?n:vk(n,r.done)}catch(t){throw r.done=!0,t}},return:function(){var r=e(this),n=r.iterator;if(r.done=!0,t){var i=pk(n,"return");return i?lk(i,n):vk(void 0,!0)}if(r.inner)try{yk(r.inner.iterator,Ak)}catch(t){return yk(n,_k,t)}if(r.openIters)try{mk(r.openIters,Ak)}catch(t){return yk(n,_k,t)}return n&&yk(n,Ak),vk(void 0,!0)}})},Sk=kk(!0),Mk=kk(!1);hk(Mk,bk,"Iterator Helper");var Ok=function(t,e,r){var n=function(n,i){i?(i.iterator=n.iterator,i.next=n.next):i=n,i.type=e?wk:xk,i.returnHandlerResult=!!r,i.nextHandler=t,i.counter=0,i.done=!1,Ek(this,i)};return n.prototype=e?Sk:Mk,n},Tk=ri,Pk=l,Ik=yt,Ck=Re,Rk=Zu,Dk=Array,jk=Ok(function(){for(;;){var t=this.iterator;if(!t){var e=this.nextIterableIndex++,r=this.iterables;if(e>=r.length)return void(this.done=!0);var n=r[e];this.iterables[e]=null,t=this.iterator=Pk(n.method,n.iterable),this.next=t.next}var i=Ck(Pk(this.next,t));if(!i.done)return i.value;this.iterator=null,this.next=null}});Tk({target:"Iterator",stat:!0},{concat:function(){for(var t=arguments.length,e=Dk(t),r=0;r<t;r++){var n=Ck(arguments[r]);e[r]={iterable:n,method:Ik(Rk(n))}}return new jk({iterables:e,nextIterableIndex:0,iterator:null,next:null})}});var Lk=l,Nk=Qr,Fk=xt,zk=Bt,Uk=Fp.IteratorPrototype,Bk=ee("dispose");zk(Uk,Bk)||Nk(Uk,Bk,function(){var t=Fk(this,"return");t&&Lk(t,this)});var $k=function(t){return{iterator:t,next:t.next,done:!1}},Yk=RangeError,Gk=function(t){if(t==t)return t;throw new Yk("NaN is not allowed")},Hk=nn,Wk=RangeError,qk=function(t){var e=Hk(t);if(e<0)throw new Wk("The argument can't be less than 0");return e},Vk=function(t,e){var r="function"==typeof Iterator&&Iterator.prototype[t];if(r)try{r.call({next:null},e).next()}catch(t){return!0}},Xk=r,Kk=function(t,e){var r=Xk.Iterator,n=r&&r.prototype,i=n&&n[t],o=!1;if(i)try{i.call({next:function(){return{done:!0}},return:function(){o=!0}},-1)}catch(t){t instanceof e||(o=!1)}if(!o)return i},Qk=ri,Jk=l,Zk=Re,tS=$k,eS=Gk,rS=qk,nS=uh,iS=Ok,oS=Kk,aS=!Vk("drop",0),sS=!aS&&oS("drop",RangeError),cS=aS||sS,lS=iS(function(){for(var t,e=this.iterator,r=this.next;this.remaining;)if(this.remaining--,t=Zk(Jk(r,e)),this.done=!!t.done)return;if(t=Zk(Jk(r,e)),!(this.done=!!t.done))return t.value});Qk({target:"Iterator",proto:!0,real:!0,forced:cS},{drop:function(t){var e;Zk(this);try{e=rS(eS(+t))}catch(t){nS(this,"throw",t)}return sS?Jk(sS,this,e):new lS(tS(this),{remaining:e})}});var uS=ri,hS=l,fS=Eh,dS=yt,pS=Re,gS=$k,vS=uh,yS=Kk("every",TypeError);uS({target:"Iterator",proto:!0,real:!0,forced:yS},{every:function(t){pS(this);try{dS(t)}catch(t){vS(this,"throw",t)}if(yS)return hS(yS,this,t);var e=gS(this),r=0;return!fS(e,function(e,n){if(!t(e,r++))return n()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}});var mS=ri,bS=l,xS=yt,wS=Re,AS=$k,_S=Ok,ES=ep,kS=uh,SS=Kk,MS=!Vk("filter",function(){}),OS=!MS&&SS("filter",TypeError),TS=MS||OS,PS=_S(function(){for(var t,e,r=this.iterator,n=this.predicate,i=this.next;;){if(t=wS(bS(i,r)),this.done=!!t.done)return;if(e=t.value,ES(r,n,[e,this.counter++],!0))return e}});mS({target:"Iterator",proto:!0,real:!0,forced:TS},{filter:function(t){wS(this);try{xS(t)}catch(t){kS(this,"throw",t)}return OS?bS(OS,this,t):new PS(AS(this),{predicate:t})}});var IS=ri,CS=l,RS=Eh,DS=yt,jS=Re,LS=$k,NS=uh,FS=Kk("find",TypeError);IS({target:"Iterator",proto:!0,real:!0,forced:FS},{find:function(t){jS(this);try{DS(t)}catch(t){NS(this,"throw",t)}if(FS)return CS(FS,this,t);var e=LS(this),r=0;return RS(e,function(e,n){if(t(e,r++))return n(e)},{IS_RECORD:!0,INTERRUPTED:!0}).result}});var zS=l,US=Re,BS=$k,$S=Zu,YS=function(t,e){e&&"string"==typeof t||US(t);var r=$S(t);return BS(US(void 0!==r?zS(r,t):t))},GS=ri,HS=l,WS=yt,qS=Re,VS=$k,XS=YS,KS=Ok,QS=uh,JS=Kk,ZS=!Vk("flatMap",function(){}),tM=!ZS&&JS("flatMap",TypeError),eM=ZS||tM,rM=KS(function(){for(var t,e,r=this.iterator,n=this.mapper;;){if(e=this.inner)try{if(!(t=qS(HS(e.next,e.iterator))).done)return t.value;this.inner=null}catch(t){QS(r,"throw",t)}if(t=qS(HS(this.next,r)),this.done=!!t.done)return;try{this.inner=XS(n(t.value,this.counter++),!1)}catch(t){QS(r,"throw",t)}}});GS({target:"Iterator",proto:!0,real:!0,forced:eM},{flatMap:function(t){qS(this);try{WS(t)}catch(t){QS(this,"throw",t)}return tM?HS(tM,this,t):new rM(VS(this),{mapper:t,inner:null})}});var nM=ri,iM=l,oM=Eh,aM=yt,sM=Re,cM=$k,lM=uh,uM=Kk("forEach",TypeError);nM({target:"Iterator",proto:!0,real:!0,forced:uM},{forEach:function(t){sM(this);try{aM(t)}catch(t){lM(this,"throw",t)}if(uM)return iM(uM,this,t);var e=cM(this),r=0;oM(e,function(e){t(e,r++)},{IS_RECORD:!0})}});var hM=ri,fM=l,dM=Ft,pM=H,gM=Fp.IteratorPrototype,vM=Ok,yM=YS,mM=function(){try{Iterator.from({return:null}).return()}catch(t){return!0}}(),bM=vM(function(){return fM(this.next,this.iterator)},!0);hM({target:"Iterator",stat:!0,forced:mM},{from:function(t){var e=yM("string"==typeof t?dM(t):t,!0);return pM(gM,e.iterator)?e.iterator:new bM(e)}});var xM=ri,wM=l,AM=yt,_M=Re,EM=$k,kM=Ok,SM=ep,MM=uh,OM=Kk,TM=!Vk("map",function(){}),PM=!TM&&OM("map",TypeError),IM=TM||PM,CM=kM(function(){var t=this.iterator,e=_M(wM(this.next,t));if(!(this.done=!!e.done))return SM(t,this.mapper,[e.value,this.counter++],!0)});xM({target:"Iterator",proto:!0,real:!0,forced:IM},{map:function(t){_M(this);try{AM(t)}catch(t){MM(this,"throw",t)}return PM?wM(PM,this,t):new CM(EM(this),{mapper:t})}});var RM=ri,DM=Eh,jM=yt,LM=Re,NM=$k,FM=uh,zM=Kk,UM=Ms,BM=TypeError,$M=i(function(){[].keys().reduce(function(){},void 0)}),YM=!$M&&zM("reduce",BM);RM({target:"Iterator",proto:!0,real:!0,forced:$M||YM},{reduce:function(t){LM(this);try{jM(t)}catch(t){FM(this,"throw",t)}var e=arguments.length<2,r=e?void 0:arguments[1];if(YM)return UM(YM,this,e?[t]:[t,r]);var n=NM(this),i=0;if(DM(n,function(n){e?(e=!1,r=n):r=t(r,n,i),i++},{IS_RECORD:!0}),e)throw new BM("Reduce of empty iterator with no initial value");return r}});var GM=ri,HM=l,WM=Eh,qM=yt,VM=Re,XM=$k,KM=uh,QM=Kk("some",TypeError);GM({target:"Iterator",proto:!0,real:!0,forced:QM},{some:function(t){VM(this);try{qM(t)}catch(t){KM(this,"throw",t)}if(QM)return HM(QM,this,t);var e=XM(this),r=0;return WM(e,function(e,n){if(t(e,r++))return n()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}});var JM=ri,ZM=l,tO=Re,eO=$k,rO=Gk,nO=qk,iO=Ok,oO=uh,aO=Kk("take",RangeError),sO=iO(function(){var t=this.iterator;if(!this.remaining--)return this.done=!0,oO(t,"normal",void 0);var e=tO(ZM(this.next,t));return(this.done=!!e.done)?void 0:e.value});JM({target:"Iterator",proto:!0,real:!0,forced:aO},{take:function(t){var e;tO(this);try{e=nO(rO(+t))}catch(t){oO(this,"throw",t)}return aO?ZM(aO,this,e):new sO(eO(this),{remaining:e})}});var cO=Re,lO=Eh,uO=$k,hO=[].push;ri({target:"Iterator",proto:!0,real:!0},{toArray:function(){var t=[];return lO(uO(cO(this)),hO,{that:t,IS_RECORD:!0}),t}}),ri({target:"JSON",stat:!0,forced:!Ys},{isRawJSON:Ps});var fO=ri,dO=o,pO=r,gO=G,vO=w,yO=l,mO=z,bO=B,xO=_o,wO=Bt,AO=pi,_O=dn,EO=If,kO=i,SO=$s,MO=ot,OO=pO.JSON,TO=pO.Number,PO=pO.SyntaxError,IO=OO&&OO.parse,CO=gO("Object","keys"),RO=Object.getOwnPropertyDescriptor,DO=vO("".charAt),jO=vO("".slice),LO=vO(/./.exec),NO=vO([].push),FO=/^\d$/,zO=/^[1-9]$/,UO=/^[\d-]$/,BO=/^[\t\n\r ]$/,$O=function(t,e,r,n){var i,o,a,s,c,l=t[e],u=n&&l===n.value,h=u&&"string"==typeof n.source?{source:n.source}:{};if(bO(l)){var f=xO(l),d=u?n.nodes:f?[]:{};if(f)for(i=d.length,a=_O(l),s=0;s<a;s++)YO(l,s,$O(l,""+s,r,s<i?d[s]:void 0));else for(o=CO(l),a=_O(o),s=0;s<a;s++)c=o[s],YO(l,c,$O(l,c,r,wO(d,c)?d[c]:void 0))}return yO(r,t,e,l,h)},YO=function(t,e,r){if(dO){var n=RO(t,e);if(n&&!n.configurable)return}void 0===r?delete t[e]:EO(t,e,r)},GO=function(t,e,r,n){this.value=t,this.end=e,this.source=r,this.nodes=n},HO=function(t,e){this.source=t,this.index=e};HO.prototype={fork:function(t){return new HO(this.source,t)},parse:function(){var t=this.source,e=this.skip(BO,this.index),r=this.fork(e),n=DO(t,e);if(LO(UO,n))return r.number();switch(n){case"{":return r.object();case"[":return r.array();case'"':return r.string();case"t":return r.keyword(!0);case"f":return r.keyword(!1);case"n":return r.keyword(null)}throw new PO('Unexpected character: "'+n+'" at: '+e)},node:function(t,e,r,n,i){return new GO(e,n,t?null:jO(this.source,r,n),i)},object:function(){for(var t=this.source,e=this.index+1,r=!1,n={},i={};e<t.length;){if(e=this.until(['"',"}"],e),"}"===DO(t,e)&&!r){e++;break}var o=this.fork(e).string(),a=o.value;e=o.end,e=this.until([":"],e)+1,e=this.skip(BO,e),o=this.fork(e).parse(),EO(i,a,o),EO(n,a,o.value),e=this.until([",","}"],o.end);var s=DO(t,e);if(","===s)r=!0,e++;else if("}"===s){e++;break}}return this.node(1,n,this.index,e,i)},array:function(){for(var t=this.source,e=this.index+1,r=!1,n=[],i=[];e<t.length;){if(e=this.skip(BO,e),"]"===DO(t,e)&&!r){e++;break}var o=this.fork(e).parse();if(NO(i,o),NO(n,o.value),e=this.until([",","]"],o.end),","===DO(t,e))r=!0,e++;else if("]"===DO(t,e)){e++;break}}return this.node(1,n,this.index,e,i)},string:function(){var t=this.index,e=SO(this.source,this.index+1);return this.node(0,e.value,t,e.end)},number:function(){var t=this.source,e=this.index,r=e;if("-"===DO(t,r)&&r++,"0"===DO(t,r))r++;else{if(!LO(zO,DO(t,r)))throw new PO("Failed to parse number at: "+r);r=this.skip(FO,r+1)}if(("."===DO(t,r)&&(r=this.skip(FO,r+1)),"e"===DO(t,r)||"E"===DO(t,r))&&(r++,"+"!==DO(t,r)&&"-"!==DO(t,r)||r++,r===(r=this.skip(FO,r))))throw new PO("Failed to parse number's exponent value at: "+r);return this.node(0,TO(jO(t,e,r)),e,r)},keyword:function(t){var e=""+t,r=this.index,n=r+e.length;if(jO(this.source,r,n)!==e)throw new PO("Failed to parse value at: "+r);return this.node(0,t,r,n)},skip:function(t,e){for(var r=this.source;e<r.length&&LO(t,DO(r,e));e++);return e},until:function(t,e){e=this.skip(BO,e);for(var r=DO(this.source,e),n=0;n<t.length;n++)if(t[n]===r)return e;throw new PO('Unexpected character: "'+r+'" at: '+e)}};var WO=kO(function(){var t,e="9007199254740993";return IO(e,function(e,r,n){t=n.source}),t!==e}),qO=MO&&!kO(function(){return 1/IO("-0 \t")!=-1/0});fO({target:"JSON",stat:!0,forced:WO},{parse:function(t,e){return qO&&!mO(e)?IO(t):function(t,e){t=AO(t);var r=new HO(t,0),n=r.parse(),i=n.value,o=r.skip(BO,n.end);if(o<t.length)throw new PO('Unexpected extra character: "'+DO(t,o)+'" after the parsed data at: '+o);return mO(e)?$O({"":i},"",e,n):i}(t,e)}});var VO=!i(function(){return Object.isExtensible(Object.preventExtensions({}))}),XO=ri,KO=VO,QO=Ys,JO=G,ZO=w,tT=pi,eT=If,rT=Tr.set,nT=SyntaxError,iT=JO("JSON","parse"),oT=JO("Object","create"),aT=JO("Object","freeze"),sT=ZO("".charAt),cT="Unacceptable as raw JSON",lT=function(t){return" "===t||"\t"===t||"\n"===t||"\r"===t};XO({target:"JSON",stat:!0,forced:!QO},{rawJSON:function(t){var e=tT(t);if(""===e||lT(sT(e,0))||lT(sT(e,e.length-1)))throw new nT(cT);var r=iT(e);if("object"==typeof r&&null!==r)throw new nT(cT);var n=oT(null);return rT(n,{type:"RawJSON"}),eT(n,"rawJSON",e),KO?aT(n):n}}),po(r.JSON,"JSON",!0);var uT={exports:{}},hT=i(function(){if("function"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,"a",{value:8})}}),fT=i,dT=B,pT=k,gT=hT,vT=Object.isExtensible,yT=fT(function(){vT(1)})||gT?function(t){return!!dT(t)&&((!gT||"ArrayBuffer"!==pT(t))&&(!vT||vT(t)))}:vT,mT=ri,bT=w,xT=gr,wT=B,AT=Bt,_T=Oe.f,ET=Jr,kT=Bi,ST=yT,MT=VO,OT=!1,TT=Wt("meta"),PT=0,IT=function(t){_T(t,TT,{value:{objectID:"O"+PT++,weakData:{}}})},CT=uT.exports={enable:function(){CT.enable=function(){},OT=!0;var t=ET.f,e=bT([].splice),r={};r[TT]=1,t(r).length&&(ET.f=function(r){for(var n=t(r),i=0,o=n.length;i<o;i++)if(n[i]===TT){e(n,i,1);break}return n},mT({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:kT.f}))},fastKey:function(t,e){if(!wT(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!AT(t,TT)){if(!ST(t))return"F";if(!e)return"E";IT(t)}return t[TT].objectID},getWeakData:function(t,e){if(!AT(t,TT)){if(!ST(t))return!0;if(!e)return!1;IT(t)}return t[TT].weakData},onFreeze:function(t){return MT&&OT&&ST(t)&&!AT(t,TT)&&IT(t),t}};xT[TT]=!0;var RT=ri,DT=r,jT=w,LT=Vn,NT=Qr,FT=uT.exports,zT=Eh,UT=bm,BT=z,$T=I,YT=B,GT=i,HT=mp,WT=po,qT=Ml,VT=function(t,e,r){var n=-1!==t.indexOf("Map"),i=-1!==t.indexOf("Weak"),o=n?"set":"add",a=DT[t],s=a&&a.prototype,c=a,l={},u=function(t){var e=jT(s[t]);NT(s,t,"add"===t?function(t){return e(this,0===t?0:t),this}:"delete"===t?function(t){return!(i&&!YT(t))&&e(this,0===t?0:t)}:"get"===t?function(t){return i&&!YT(t)?void 0:e(this,0===t?0:t)}:"has"===t?function(t){return!(i&&!YT(t))&&e(this,0===t?0:t)}:function(t,r){return e(this,0===t?0:t,r),this})};if(LT(t,!BT(a)||!(i||s.forEach&&!GT(function(){(new a).entries().next()}))))c=r.getConstructor(e,t,n,o),FT.enable();else if(LT(t,!0)){var h=new c,f=h[o](i?{}:-0,1)!==h,d=GT(function(){h.has(1)}),p=HT(function(t){new a(t)}),g=!i&&GT(function(){for(var t=new a,e=5;e--;)t[o](e,e);return!t.has(-0)});p||((c=e(function(t,e){UT(t,s);var r=qT(new a,t,c);return $T(e)||zT(e,r[o],{that:r,AS_ENTRIES:n}),r})).prototype=s,s.constructor=c),(d||g)&&(u("delete"),u("has"),n&&u("get")),(g||f)&&u(o),i&&s.clear&&delete s.clear}return l[t]=c,RT({global:!0,constructor:!0,forced:c!==a},l),WT(c,t),i||r.setStrong(c,t,n),c},XT=Ui,KT=Ki,QT=vm,JT=wo,ZT=bm,tP=I,eP=Eh,rP=hg,nP=fg,iP=gy,oP=o,aP=uT.exports.fastKey,sP=Tr.set,cP=Tr.getterFor,lP={getConstructor:function(t,e,r,n){var i=t(function(t,i){ZT(t,o),sP(t,{type:e,index:XT(null),first:null,last:null,size:0}),oP||(t.size=0),tP(i)||eP(i,t[n],{that:t,AS_ENTRIES:r})}),o=i.prototype,a=cP(e),s=function(t,e,r){var n,i,o=a(t),s=c(t,e);return s?s.value=r:(o.last=s={index:i=aP(e,!0),key:e,value:r,previous:n=o.last,next:null,removed:!1},o.first||(o.first=s),n&&(n.next=s),oP?o.size++:t.size++,"F"!==i&&(o.index[i]=s)),t},c=function(t,e){var r,n=a(t),i=aP(e);if("F"!==i)return n.index[i];for(r=n.first;r;r=r.next)if(r.key===e)return r};return QT(o,{clear:function(){for(var t=a(this),e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=null),e=e.next;t.first=t.last=null,t.index=XT(null),oP?t.size=0:this.size=0},delete:function(t){var e=this,r=a(e),n=c(e,t);if(n){var i=n.next,o=n.previous;delete r.index[n.index],n.removed=!0,o&&(o.next=i),i&&(i.previous=o),r.first===n&&(r.first=i),r.last===n&&(r.last=o),oP?r.size--:e.size--}return!!n},forEach:function(t){for(var e,r=a(this),n=JT(t,arguments.length>1?arguments[1]:void 0);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!c(this,t)}}),QT(o,r?{get:function(t){var e=c(this,t);return e&&e.value},set:function(t,e){return s(this,0===t?0:t,e)}}:{add:function(t){return s(this,t=0===t?0:t,t)}}),oP&&KT(o,"size",{configurable:!0,get:function(){return a(this).size}}),i},setStrong:function(t,e,r){var n=e+" Iterator",i=cP(e),o=cP(n);rP(t,e,function(t,e){sP(this,{type:n,target:t,state:i(t),kind:e,last:null})},function(){for(var t=o(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?nP("keys"===e?r.key:"values"===e?r.value:[r.key,r.value],!1):(t.target=null,nP(void 0,!0))},r?"entries":"values",!r,!0),iP(e)}};VT("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},lP);var uP=w,hP=Map.prototype,fP={Map:Map,set:uP(hP.set),get:uP(hP.get),has:uP(hP.has),remove:uP(hP.delete),proto:hP},dP=ri,pP=yt,gP=D,vP=Eh,yP=i,mP=fP.Map,bP=fP.has,xP=fP.get,wP=fP.set,AP=w([].push);dP({target:"Map",stat:!0,forced:yP(function(){return 1!==mP.groupBy("ab",function(t){return t}).get("a").length})},{groupBy:function(t,e){gP(t),pP(e);var r=new mP,n=0;return vP(t,function(t){var i=e(t,n++);bP(r,i)?AP(xP(r,i),t):wP(r,i,[t])}),r}});var _P=Math.log,EP=Math.log1p||function(t){var e=+t;return e>-1e-8&&e<1e-8?e-e*e/2:_P(1+e)},kP=ri,SP=EP,MP=Math.acosh,OP=Math.log,TP=Math.sqrt,PP=Math.LN2;kP({target:"Math",stat:!0,forced:!MP||710!==Math.floor(MP(Number.MAX_VALUE))||MP(1/0)!==1/0},{acosh:function(t){var e=+t;return e<1?NaN:e>94906265.62425156?OP(e)+PP:SP(e-1+TP(e-1)*TP(e+1))}});var IP=ri,CP=Math.asinh,RP=Math.log,DP=Math.sqrt;IP({target:"Math",stat:!0,forced:!(CP&&1/CP(0)>0)},{asinh:function t(e){var r=+e;return isFinite(r)&&0!==r?r<0?-t(-r):RP(r+DP(r*r+1)):r}});var jP=ri,LP=Math.atanh,NP=Math.log;jP({target:"Math",stat:!0,forced:!(LP&&1/LP(-0)<0)},{atanh:function(t){var e=+t;return 0===e?e:NP((1+e)/(1-e))/2}});var FP=ri,zP=Em,UP=Math.abs,BP=Math.pow;FP({target:"Math",stat:!0},{cbrt:function(t){var e=+t;return zP(e)*BP(UP(e),1/3)}});var $P=ri,YP=Math.floor,GP=Math.log,HP=Math.LOG2E;$P({target:"Math",stat:!0},{clz32:function(t){var e=t>>>0;return e?31-YP(GP(e+.5)*HP):32}});var WP=Math.expm1,qP=Math.exp,VP=!WP||WP(10)>22025.465794806718||WP(10)<22025.465794806718||-2e-17!==WP(-2e-17)?function(t){var e=+t;return 0===e?e:e>-1e-6&&e<1e-6?e+e*e/2:qP(e)-1}:WP,XP=ri,KP=VP,QP=Math.cosh,JP=Math.abs,ZP=Math.E;XP({target:"Math",stat:!0,forced:!QP||QP(710)===1/0},{cosh:function(t){var e=KP(JP(t)-1)+1;return(e+1/(e*ZP*ZP))*(ZP/2)}});var tI=VP;ri({target:"Math",stat:!0,forced:tI!==Math.expm1},{expm1:tI}),ri({target:"Math",stat:!0},{fround:Cm});var eI=Pm;ri({target:"Math",stat:!0},{f16round:function(t){return eI(t,.0009765625,65504,6103515625e-14)}});var rI=ri,nI=Math.hypot,iI=Math.abs,oI=Math.sqrt;rI({target:"Math",stat:!0,arity:2,forced:!!nI&&nI(1/0,NaN)!==1/0},{hypot:function(t,e){for(var r,n,i=0,o=0,a=arguments.length,s=0;o<a;)s<(r=iI(arguments[o++]))?(i=i*(n=s/r)*n+1,s=r):i+=r>0?(n=r/s)*n:r;return s===1/0?1/0:s*oI(i)}});var aI=ri,sI=i,cI=Math.imul;aI({target:"Math",stat:!0,forced:sI(function(){return-5!==cI(4294967295,5)||2!==cI.length})},{imul:function(t,e){var r=65535,n=+t,i=+e,o=r&n,a=r&i;return 0|o*a+((r&n>>>16)*a+o*(r&i>>>16)<<16>>>0)}});var lI=Math.log,uI=Math.LOG10E,hI=Math.log10||function(t){return lI(t)*uI};ri({target:"Math",stat:!0},{log10:hI}),ri({target:"Math",stat:!0},{log1p:EP}),ri({target:"Math",stat:!0},{log2:Jx}),ri({target:"Math",stat:!0},{sign:Em});var fI=ri,dI=i,pI=VP,gI=Math.abs,vI=Math.exp,yI=Math.E;fI({target:"Math",stat:!0,forced:dI(function(){return-2e-17!==Math.sinh(-2e-17)})},{sinh:function(t){var e=+t;return gI(e)<1?(pI(e)-pI(-e))/2:(vI(e-1)-vI(-e-1))*(yI/2)}});var mI=ri,bI=w,xI=Eh,wI=RangeError,AI=TypeError,_I=1/0,EI=Math.abs,kI=Math.pow,SI=bI([].push),MI=kI(2,1023),OI=kI(2,53)-1,TI=Number.MAX_VALUE,PI=kI(2,971),II={},CI={},RI={},DI={},jI={},LI=function(t,e){var r=t+e;return{hi:r,lo:e-(r-t)}};mI({target:"Math",stat:!0},{sumPrecise:function(t){var e=[],r=0,n=DI;switch(xI(t,function(t){if(++r>=OI)throw new wI("Maximum allowed index exceeded");if("number"!=typeof t)throw new AI("Value is not a number");n!==II&&(t!=t?n=II:t===_I?n=n===CI?II:RI:t===-1/0?n=n===RI?II:CI:0===t&&1/t!==_I||n!==DI&&n!==jI||(n=jI,SI(e,t)))}),n){case II:return NaN;case CI:return-1/0;case RI:return _I;case DI:return-0}for(var i,o,a,s,c,l,u=[],h=0,f=0;f<e.length;f++){i=e[f];for(var d=0,p=0;p<u.length;p++){if(o=u[p],EI(i)<EI(o)&&(l=i,i=o,o=l),s=(a=LI(i,o)).hi,c=a.lo,EI(s)===_I){var g=s===_I?1:-1;h+=g,EI(i=i-g*MI-g*MI)<EI(o)&&(l=i,i=o,o=l),s=(a=LI(i,o)).hi,c=a.lo}0!==c&&(u[d++]=c),i=s}u.length=d,0!==i&&SI(u,i)}var v=u.length-1;if(s=0,c=0,0!==h){var y=v>=0?u[v]:0;if(v--,EI(h)>1||h>0&&y>0||h<0&&y<0)return h>0?_I:-1/0;if(s=(a=LI(h*MI,y/2)).hi,c=a.lo,c*=2,EI(2*s)===_I)return s>0?s===MI&&c===-PI/2&&v>=0&&u[v]<0?TI:_I:s===-MI&&c===PI/2&&v>=0&&u[v]>0?-TI:-1/0;0!==c&&(u[++v]=c,c=0),s*=2}for(;v>=0&&(s=(a=LI(s,u[v--])).hi,0===(c=a.lo)););return v>=0&&(c<0&&u[v]<0||c>0&&u[v]>0)&&(o=2*c)===(i=s+o)-s&&(s=i),s}});var NI=ri,FI=VP,zI=Math.exp;NI({target:"Math",stat:!0},{tanh:function(t){var e=+t,r=FI(e),n=FI(-e);return r===1/0?1:n===1/0?-1:(r-n)/(zI(e)+zI(-e))}}),po(Math,"Math",!0),ri({target:"Math",stat:!0},{trunc:en});var UI=w(1.1.valueOf),BI="\t\n\v\f\r                 \u2028\u2029\ufeff",$I=D,YI=pi,GI=BI,HI=w("".replace),WI=RegExp("^["+GI+"]+"),qI=RegExp("(^|[^"+GI+"])["+GI+"]+$"),VI=function(t){return function(e){var r=YI($I(e));return 1&t&&(r=HI(r,WI,"")),2&t&&(r=HI(r,qI,"$1")),r}},XI={start:VI(1),end:VI(2),trim:VI(3)},KI=ri,QI=o,JI=r,ZI=Zi,tC=w,eC=Vn,rC=Bt,nC=Ml,iC=H,oC=ht,aC=le,sC=i,cC=Jr.f,lC=n.f,uC=Oe.f,hC=UI,fC=XI.trim,dC="Number",pC=JI[dC];ZI[dC];var gC=pC.prototype,vC=JI.TypeError,yC=tC("".slice),mC=tC("".charCodeAt),bC=function(t){var e,r,n,i,o,a,s,c,l=aC(t,"number");if(oC(l))throw new vC("Cannot convert a Symbol value to a number");if("string"==typeof l&&l.length>2)if(l=fC(l),43===(e=mC(l,0))||45===e){if(88===(r=mC(l,2))||120===r)return NaN}else if(48===e){switch(mC(l,1)){case 66:case 98:n=2,i=49;break;case 79:case 111:n=8,i=55;break;default:return+l}for(a=(o=yC(l,2)).length,s=0;s<a;s++)if((c=mC(o,s))<48||c>i)return NaN;return parseInt(o,n)}return+l},xC=eC(dC,!pC(" 0o1")||!pC("0b1")||pC("+0x1")),wC=function(t){var e,r=arguments.length<1?0:pC(function(t){var e=aC(t,"number");return"bigint"==typeof e?e:bC(e)}(t));return iC(gC,e=this)&&sC(function(){hC(e)})?nC(Object(r),this,wC):r};wC.prototype=gC,xC&&(gC.constructor=wC),KI({global:!0,constructor:!0,wrap:!0,forced:xC},{Number:wC});xC&&function(t,e){for(var r,n=QI?cC(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),i=0;n.length>i;i++)rC(e,r=n[i])&&!rC(t,r)&&uC(t,r,lC(e,r))}(ZI[dC],pC),ri({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)});var AC=r.isFinite;ri({target:"Number",stat:!0},{isFinite:Number.isFinite||function(t){return"number"==typeof t&&AC(t)}});var _C=B,EC=Math.floor,kC=Number.isInteger||function(t){return!_C(t)&&isFinite(t)&&EC(t)===t};ri({target:"Number",stat:!0},{isInteger:kC}),ri({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var SC=ri,MC=kC,OC=Math.abs;SC({target:"Number",stat:!0},{isSafeInteger:function(t){return MC(t)&&OC(t)<=9007199254740991}}),ri({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991}),ri({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991});var TC=r,PC=i,IC=pi,CC=XI.trim,RC=BI,DC=w("".charAt),jC=TC.parseFloat,LC=TC.Symbol,NC=LC&&LC.iterator,FC=1/jC(RC+"-0")!=-1/0||NC&&!PC(function(){jC(Object(NC))})?function(t){var e=CC(IC(t)),r=jC(e);return 0===r&&"-"===DC(e,0)?-0:r}:jC,zC=FC;ri({target:"Number",stat:!0,forced:Number.parseFloat!==zC},{parseFloat:zC});var UC=r,BC=i,$C=w,YC=pi,GC=XI.trim,HC=BI,WC=UC.parseInt,qC=UC.Symbol,VC=qC&&qC.iterator,XC=/^[+-]?0x/i,KC=$C(XC.exec),QC=8!==WC(HC+"08")||22!==WC(HC+"0x16")||VC&&!BC(function(){WC(Object(VC))})?function(t,e){var r=GC(YC(t));return WC(r,e>>>0||(KC(XC,r)?16:10))}:WC,JC=QC;ri({target:"Number",stat:!0,forced:Number.parseInt!==JC},{parseInt:JC});var ZC=ri,tR=w,eR=nn,rR=UI,nR=PA,iR=hI,oR=i,aR=RangeError,sR=String,cR=isFinite,lR=Math.abs,uR=Math.floor,hR=Math.pow,fR=Math.round,dR=tR(1.1.toExponential),pR=tR(nR),gR=tR("".slice),vR="-6.9000e-11"===dR(-69e-12,4)&&"1.25e+0"===dR(1.255,2)&&"1.235e+4"===dR(12345,3)&&"3e+1"===dR(25,0);ZC({target:"Number",proto:!0,forced:!vR||!(oR(function(){dR(1,1/0)})&&oR(function(){dR(1,-1/0)}))||!!oR(function(){dR(1/0,1/0),dR(NaN,1/0)})},{toExponential:function(t){var e=rR(this);if(void 0===t)return dR(e);var r=eR(t);if(!cR(e))return String(e);if(r<0||r>20)throw new aR("Incorrect fraction digits");if(vR)return dR(e,r);var n,i,o,a,s="";if(e<0&&(s="-",e=-e),0===e)i=0,n=pR("0",r+1);else{var c=iR(e);i=uR(c);var l=hR(10,i-r),u=fR(e/l);2*e>=(2*u+1)*l&&(u+=1),u>=hR(10,r+1)&&(u/=10,i+=1),n=sR(u)}return 0!==r&&(n=gR(n,0,1)+"."+gR(n,1)),0===i?(o="+",a="0"):(o=i>0?"+":"-",a=sR(lR(i))),s+(n+="e"+o+a)}});var yR=ri,mR=w,bR=nn,xR=UI,wR=PA,AR=i,_R=RangeError,ER=String,kR=Math.floor,SR=mR(wR),MR=mR("".slice),OR=mR(1.1.toFixed),TR=function(t,e,r){return 0===e?r:e%2==1?TR(t,e-1,r*t):TR(t*t,e/2,r)},PR=function(t,e,r){for(var n=-1,i=r;++n<6;)i+=e*t[n],t[n]=i%1e7,i=kR(i/1e7)},IR=function(t,e){for(var r=6,n=0;--r>=0;)n+=t[r],t[r]=kR(n/e),n=n%e*1e7},CR=function(t){for(var e=6,r="";--e>=0;)if(""!==r||0===e||0!==t[e]){var n=ER(t[e]);r=""===r?n:r+SR("0",7-n.length)+n}return r};yR({target:"Number",proto:!0,forced:AR(function(){return"0.000"!==OR(8e-5,3)||"1"!==OR(.9,0)||"1.25"!==OR(1.255,2)||"1000000000000000128"!==OR(0xde0b6b3a7640080,0)})||!AR(function(){OR({})})},{toFixed:function(t){var e,r,n,i,o=xR(this),a=bR(t),s=[0,0,0,0,0,0],c="",l="0";if(a<0||a>20)throw new _R("Incorrect fraction digits");if(o!=o)return"NaN";if(o<=-1e21||o>=1e21)return ER(o);if(o<0&&(c="-",o=-o),o>1e-21)if(e=function(t){for(var e=0,r=t;r>=4096;)e+=12,r/=4096;for(;r>=2;)e+=1,r/=2;return e}(o*TR(2,69,1))-69,r=e<0?o*TR(2,-e,1):o/TR(2,e,1),r*=4503599627370496,(e=52-e)>0){for(PR(s,0,r),n=a;n>=7;)PR(s,1e7,0),n-=7;for(PR(s,TR(10,n,1),0),n=e-1;n>=23;)IR(s,1<<23),n-=23;IR(s,1<<n),PR(s,1,1),IR(s,2),l=CR(s)}else PR(s,0,r),PR(s,1<<-e,0),l=CR(s)+SR("0",a);return l=a>0?c+((i=l.length)<=a?"0."+SR("0",a-i)+l:MR(l,0,i-a)+"."+MR(l,i-a)):c+l}});var RR=ri,DR=i,jR=UI,LR=w(1.1.toPrecision);RR({target:"Number",proto:!0,forced:DR(function(){return"1"!==LR(1,void 0)})||!DR(function(){LR({})})},{toPrecision:function(t){return void 0===t?LR(jR(this)):LR(jR(this),t)}});var NR=o,FR=w,zR=l,UR=i,BR=mi,$R=On,YR=u,GR=Ft,HR=P,WR=Object.assign,qR=Object.defineProperty,VR=FR([].concat),XR=!WR||UR(function(){if(NR&&1!==WR({b:1},WR(qR({},"a",{enumerable:!0,get:function(){qR(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol("assign detection"),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach(function(t){e[t]=t}),7!==WR({},t)[r]||BR(WR({},e)).join("")!==n})?function(t,e){for(var r=GR(t),n=arguments.length,i=1,o=$R.f,a=YR.f;n>i;)for(var s,c=HR(arguments[i++]),l=o?VR(BR(c),o(c)):BR(c),u=l.length,h=0;u>h;)s=l[h++],NR&&!zR(a,c,s)||(r[s]=c[s]);return r}:WR,KR=XR;ri({target:"Object",stat:!0,arity:2,forced:Object.assign!==KR},{assign:KR}),ri({target:"Object",stat:!0,sham:!o},{create:Ui});var QR=r,JR=Yv,ZR=!i(function(){if(!(JR&&JR<535)){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete QR[t]}}),tD=yt,eD=Ft,rD=Oe;o&&ri({target:"Object",proto:!0,forced:ZR},{__defineGetter__:function(t,e){rD.f(eD(this),t,{get:tD(e),enumerable:!0,configurable:!0})}});var nD=ri,iD=o,oD=gi.f;nD({target:"Object",stat:!0,forced:Object.defineProperties!==oD,sham:!iD},{defineProperties:oD});var aD=ri,sD=o,cD=Oe.f;aD({target:"Object",stat:!0,forced:Object.defineProperty!==cD,sham:!sD},{defineProperty:cD});var lD=yt,uD=Ft,hD=Oe;o&&ri({target:"Object",proto:!0,forced:ZR},{__defineSetter__:function(t,e){hD.f(uD(this),t,{set:lD(e),enumerable:!0,configurable:!0})}});var fD=o,dD=i,pD=w,gD=$u,vD=mi,yD=N,mD=pD(u.f),bD=pD([].push),xD=fD&&dD(function(){var t=Object.create(null);return t[2]=2,!mD(t,2)}),wD=function(t){return function(e){for(var r,n=yD(e),i=vD(n),o=xD&&null===gD(n),a=i.length,s=0,c=[];a>s;)r=i[s++],fD&&!(o?r in n:mD(n,r))||bD(c,t?[r,n[r]]:n[r]);return c}},AD={entries:wD(!0),values:wD(!1)},_D=AD.entries;ri({target:"Object",stat:!0},{entries:function(t){return _D(t)}});var ED=ri,kD=VO,SD=i,MD=B,OD=uT.exports.onFreeze,TD=Object.freeze;ED({target:"Object",stat:!0,forced:SD(function(){TD(1)}),sham:!kD},{freeze:function(t){return TD&&MD(t)?TD(OD(t)):t}});var PD=Eh,ID=If;ri({target:"Object",stat:!0},{fromEntries:function(t){var e={};return PD(t,function(t,r){ID(e,t,r)},{AS_ENTRIES:!0}),e}});var CD=ri,RD=i,DD=N,jD=n.f,LD=o;CD({target:"Object",stat:!0,forced:!LD||RD(function(){jD(1)}),sham:!LD},{getOwnPropertyDescriptor:function(t,e){return jD(DD(t),e)}});var ND=Dn,FD=N,zD=n,UD=If;ri({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){for(var e,r,n=FD(t),i=zD.f,o=ND(n),a={},s=0;o.length>s;)void 0!==(r=i(n,e=o[s++]))&&UD(a,e,r);return a}});var BD=ri,$D=i,YD=Bi.f;BD({target:"Object",stat:!0,forced:$D(function(){return!Object.getOwnPropertyNames(1)})},{getOwnPropertyNames:YD});var GD=Ft,HD=$u,WD=Du;ri({target:"Object",stat:!0,forced:i(function(){HD(1)}),sham:!WD},{getPrototypeOf:function(t){return HD(GD(t))}});var qD=ri,VD=If,XD=G,KD=w,QD=yt,JD=D,ZD=fe,tj=Eh,ej=i,rj=Object.groupBy,nj=XD("Object","create"),ij=KD([].push);qD({target:"Object",stat:!0,forced:!rj||ej(function(){return 1!==rj("ab",function(t){return t}).a.length})},{groupBy:function(t,e){JD(t),QD(e);var r=nj(null),n=0;return tj(t,function(t){var i=ZD(e(t,n++));i in r?ij(r[i],t):VD(r,i,[t])}),r}}),ri({target:"Object",stat:!0},{hasOwn:Bt});var oj=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};ri({target:"Object",stat:!0},{is:oj});var aj=yT;ri({target:"Object",stat:!0,forced:Object.isExtensible!==aj},{isExtensible:aj});var sj=ri,cj=i,lj=B,uj=k,hj=hT,fj=Object.isFrozen;sj({target:"Object",stat:!0,forced:hj||cj(function(){fj(1)})},{isFrozen:function(t){return!lj(t)||(!(!hj||"ArrayBuffer"!==uj(t))||!!fj&&fj(t))}});var dj=ri,pj=i,gj=B,vj=k,yj=hT,mj=Object.isSealed;dj({target:"Object",stat:!0,forced:yj||pj(function(){mj(1)})},{isSealed:function(t){return!gj(t)||(!(!yj||"ArrayBuffer"!==vj(t))||!!mj&&mj(t))}});var bj=Ft,xj=mi;ri({target:"Object",stat:!0,forced:i(function(){xj(1)})},{keys:function(t){return xj(bj(t))}});var wj=ri,Aj=o,_j=ZR,Ej=Ft,kj=fe,Sj=$u,Mj=n.f;Aj&&wj({target:"Object",proto:!0,forced:_j},{__lookupGetter__:function(t){var e,r=Ej(this),n=kj(t);do{if(e=Mj(r,n))return e.get}while(r=Sj(r))}});var Oj=ri,Tj=o,Pj=ZR,Ij=Ft,Cj=fe,Rj=$u,Dj=n.f;Tj&&Oj({target:"Object",proto:!0,forced:Pj},{__lookupSetter__:function(t){var e,r=Ij(this),n=Cj(t);do{if(e=Dj(r,n))return e.set}while(r=Rj(r))}});var jj=ri,Lj=B,Nj=uT.exports.onFreeze,Fj=VO,zj=i,Uj=Object.preventExtensions;jj({target:"Object",stat:!0,forced:zj(function(){Uj(1)}),sham:!Fj},{preventExtensions:function(t){return Uj&&Lj(t)?Uj(Nj(t)):t}});var Bj=o,$j=Ki,Yj=B,Gj=fl,Hj=Ft,Wj=D,qj=Object.getPrototypeOf,Vj=Object.setPrototypeOf,Xj=Object.prototype,Kj="__proto__";if(Bj&&qj&&Vj&&!(Kj in Xj))try{$j(Xj,Kj,{configurable:!0,get:function(){return qj(Hj(this))},set:function(t){var e=Wj(this);Gj(t)&&Yj(e)&&Vj(e,t)}})}catch(t){}var Qj=ri,Jj=B,Zj=uT.exports.onFreeze,tL=VO,eL=i,rL=Object.seal;Qj({target:"Object",stat:!0,forced:eL(function(){rL(1)}),sham:!tL},{seal:function(t){return rL&&Jj(t)?rL(Zj(t)):t}}),ri({target:"Object",stat:!0},{setPrototypeOf:wl});var nL=hi,iL=ii?{}.toString:function(){return"[object "+nL(this)+"]"};ii||Qr(Object.prototype,"toString",iL,{unsafe:!0});var oL=AD.values;ri({target:"Object",stat:!0},{values:function(t){return oL(t)}});ri({global:!0,forced:parseFloat!==FC},{parseFloat:FC});ri({global:!0,forced:parseInt!==QC},{parseInt:QC});var aL,sL,cL,lL,uL=Lo,hL=dt,fL=TypeError,dL=function(t){if(uL(t))return t;throw new fL(hL(t)+" is not a constructor")},pL=Re,gL=dL,vL=I,yL=ee("species"),mL=function(t,e){var r,n=pL(t).constructor;return void 0===n||vL(r=pL(n)[yL])?e:gL(r)},bL=TypeError,xL=function(t,e){if(t<e)throw new bL("Not enough arguments");return t},wL=/(?:ipad|iphone|ipod).*applewebkit/i.test(V),AL=r,_L=Ms,EL=wo,kL=z,SL=Bt,ML=i,OL=Si,TL=$i,PL=ve,IL=xL,CL=wL,RL=dv,DL=AL.setImmediate,jL=AL.clearImmediate,LL=AL.process,NL=AL.Dispatch,FL=AL.Function,zL=AL.MessageChannel,UL=AL.String,BL=0,$L={},YL="onreadystatechange";ML(function(){aL=AL.location});var GL=function(t){if(SL($L,t)){var e=$L[t];delete $L[t],e()}},HL=function(t){return function(){GL(t)}},WL=function(t){GL(t.data)},qL=function(t){AL.postMessage(UL(t),aL.protocol+"//"+aL.host)};DL&&jL||(DL=function(t){IL(arguments.length,1);var e=kL(t)?t:FL(t),r=TL(arguments,1);return $L[++BL]=function(){_L(e,void 0,r)},sL(BL),BL},jL=function(t){delete $L[t]},RL?sL=function(t){LL.nextTick(HL(t))}:NL&&NL.now?sL=function(t){NL.now(HL(t))}:zL&&!CL?(lL=(cL=new zL).port2,cL.port1.onmessage=WL,sL=EL(lL.postMessage,lL)):AL.addEventListener&&kL(AL.postMessage)&&!AL.importScripts&&aL&&"file:"!==aL.protocol&&!ML(qL)?(sL=qL,AL.addEventListener("message",WL,!1)):sL=YL in PL("script")?function(t){OL.appendChild(PL("script"))[YL]=function(){OL.removeChild(this),GL(t)}}:function(t){setTimeout(HL(t),0)});var VL={set:DL,clear:jL},XL=r,KL=o,QL=Object.getOwnPropertyDescriptor,JL=function(t){if(!KL)return XL[t];var e=QL(XL,t);return e&&e.value},ZL=function(){this.head=null,this.tail=null};ZL.prototype={add:function(t){var e={item:t,next:null},r=this.tail;r?r.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}};var tN,eN,rN,nN,iN,oN=ZL,aN=/ipad|iphone|ipod/i.test(V)&&"undefined"!=typeof Pebble,sN=/web0s(?!.*chrome)/i.test(V),cN=r,lN=JL,uN=wo,hN=VL.set,fN=oN,dN=wL,pN=aN,gN=sN,vN=dv,yN=cN.MutationObserver||cN.WebKitMutationObserver,mN=cN.document,bN=cN.process,xN=cN.Promise,wN=lN("queueMicrotask");if(!wN){var AN=new fN,_N=function(){var t,e;for(vN&&(t=bN.domain)&&t.exit();e=AN.get();)try{e()}catch(t){throw AN.head&&tN(),t}t&&t.enter()};dN||vN||gN||!yN||!mN?!pN&&xN&&xN.resolve?((nN=xN.resolve(void 0)).constructor=xN,iN=uN(nN.then,nN),tN=function(){iN(_N)}):vN?tN=function(){bN.nextTick(_N)}:(hN=uN(hN,cN),tN=function(){hN(_N)}):(eN=!0,rN=mN.createTextNode(""),new yN(_N).observe(rN,{characterData:!0}),tN=function(){rN.data=eN=!eN}),wN=function(t){AN.head||tN(),AN.add(t)}}var EN=wN,kN=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},SN=r.Promise,MN=r,ON=SN,TN=z,PN=Vn,IN=cr,CN=ee,RN=fv,DN=et;ON&&ON.prototype;var jN=CN("species"),LN=!1,NN=TN(MN.PromiseRejectionEvent),FN=PN("Promise",function(){var t=IN(ON),e=t!==String(ON);if(!e&&66===DN)return!0;if(!DN||DN<51||!/native code/.test(t)){var r=new ON(function(t){t(1)}),n=function(t){t(function(){},function(){})};if((r.constructor={})[jN]=n,!(LN=r.then(function(){})instanceof n))return!0}return!(e||"BROWSER"!==RN&&"DENO"!==RN||NN)}),zN={CONSTRUCTOR:FN,REJECTION_EVENT:NN,SUBCLASSING:LN},UN={},BN=yt,$N=TypeError,YN=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw new $N("Bad Promise constructor");e=t,r=n}),this.resolve=BN(e),this.reject=BN(r)};UN.f=function(t){return new YN(t)};var GN,HN,WN,qN,VN=ri,XN=dv,KN=r,QN=Zi,JN=l,ZN=Qr,tF=wl,eF=po,rF=gy,nF=yt,iF=z,oF=B,aF=bm,sF=mL,cF=VL.set,lF=EN,uF=function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(t){}},hF=kN,fF=oN,dF=Tr,pF=SN,gF=UN,vF="Promise",yF=zN.CONSTRUCTOR,mF=zN.REJECTION_EVENT,bF=zN.SUBCLASSING,xF=dF.getterFor(vF),wF=dF.set,AF=pF&&pF.prototype,_F=pF,EF=AF,kF=KN.TypeError,SF=KN.document,MF=KN.process,OF=gF.f,TF=OF,PF=!!(SF&&SF.createEvent&&KN.dispatchEvent),IF="unhandledrejection",CF=function(t){var e;return!(!oF(t)||!iF(e=t.then))&&e},RF=function(t,e){var r,n,i,o=e.value,a=1===e.state,s=a?t.ok:t.fail,c=t.resolve,l=t.reject,u=t.domain;try{s?(a||(2===e.rejection&&FF(e),e.rejection=1),!0===s?r=o:(u&&u.enter(),r=s(o),u&&(u.exit(),i=!0)),r===t.promise?l(new kF("Promise-chain cycle")):(n=CF(r))?JN(n,r,c,l):c(r)):l(o)}catch(t){u&&!i&&u.exit(),l(t)}},DF=function(t,e){t.notified||(t.notified=!0,lF(function(){for(var r,n=t.reactions;r=n.get();)RF(r,t);t.notified=!1,e&&!t.rejection&&LF(t)}))},jF=function(t,e,r){var n,i;PF?((n=SF.createEvent("Event")).promise=e,n.reason=r,n.initEvent(t,!1,!0),KN.dispatchEvent(n)):n={promise:e,reason:r},!mF&&(i=KN["on"+t])?i(n):t===IF&&uF("Unhandled promise rejection",r)},LF=function(t){JN(cF,KN,function(){var e,r=t.facade,n=t.value;if(NF(t)&&(e=hF(function(){XN?MF.emit("unhandledRejection",n,r):jF(IF,r,n)}),t.rejection=XN||NF(t)?2:1,e.error))throw e.value})},NF=function(t){return 1!==t.rejection&&!t.parent},FF=function(t){JN(cF,KN,function(){var e=t.facade;XN?MF.emit("rejectionHandled",e):jF("rejectionhandled",e,t.value)})},zF=function(t,e,r){return function(n){t(e,n,r)}},UF=function(t,e,r){t.done||(t.done=!0,r&&(t=r),t.value=e,t.state=2,DF(t,!0))},BF=function(t,e,r){if(!t.done){t.done=!0,r&&(t=r);try{if(t.facade===e)throw new kF("Promise can't be resolved itself");var n=CF(e);n?lF(function(){var r={done:!1};try{JN(n,e,zF(BF,r,t),zF(UF,r,t))}catch(e){UF(r,e,t)}}):(t.value=e,t.state=1,DF(t,!1))}catch(e){UF({done:!1},e,t)}}};if(yF&&(EF=(_F=function(t){aF(this,EF),nF(t),JN(GN,this);var e=xF(this);try{t(zF(BF,e),zF(UF,e))}catch(t){UF(e,t)}}).prototype,(GN=function(t){wF(this,{type:vF,done:!1,notified:!1,parent:!1,reactions:new fF,rejection:!1,state:0,value:null})}).prototype=ZN(EF,"then",function(t,e){var r=xF(this),n=OF(sF(this,_F));return r.parent=!0,n.ok=!iF(t)||t,n.fail=iF(e)&&e,n.domain=XN?MF.domain:void 0,0===r.state?r.reactions.add(n):lF(function(){RF(n,r)}),n.promise}),HN=function(){var t=new GN,e=xF(t);this.promise=t,this.resolve=zF(BF,e),this.reject=zF(UF,e)},gF.f=OF=function(t){return t===_F||t===WN?new HN(t):TF(t)},iF(pF)&&AF!==Object.prototype)){qN=AF.then,bF||ZN(AF,"then",function(t,e){var r=this;return new _F(function(t,e){JN(qN,r,t,e)}).then(t,e)},{unsafe:!0});try{delete AF.constructor}catch(t){}tF&&tF(AF,EF)}VN({global:!0,constructor:!0,wrap:!0,forced:yF},{Promise:_F}),WN=QN.Promise,eF(_F,vF,!1),rF(vF);var $F=SN,YF=zN.CONSTRUCTOR||!mp(function(t){$F.all(t).then(void 0,function(){})}),GF=l,HF=yt,WF=UN,qF=kN,VF=Eh;ri({target:"Promise",stat:!0,forced:YF},{all:function(t){var e=this,r=WF.f(e),n=r.resolve,i=r.reject,o=qF(function(){var r=HF(e.resolve),o=[],a=0,s=1;VF(t,function(t){var c=a++,l=!1;s++,GF(r,e,t).then(function(t){l||(l=!0,o[c]=t,--s||n(o))},i)}),--s||n(o)});return o.error&&i(o.value),r.promise}});var XF=ri,KF=zN.CONSTRUCTOR,QF=SN,JF=G,ZF=z,tz=Qr,ez=QF&&QF.prototype;if(XF({target:"Promise",proto:!0,forced:KF,real:!0},{catch:function(t){return this.then(void 0,t)}}),ZF(QF)){var rz=JF("Promise").prototype.catch;ez.catch!==rz&&tz(ez,"catch",rz,{unsafe:!0})}var nz=l,iz=yt,oz=UN,az=kN,sz=Eh;ri({target:"Promise",stat:!0,forced:YF},{race:function(t){var e=this,r=oz.f(e),n=r.reject,i=az(function(){var i=iz(e.resolve);sz(t,function(t){nz(i,e,t).then(r.resolve,n)})});return i.error&&n(i.value),r.promise}});var cz=UN;ri({target:"Promise",stat:!0,forced:zN.CONSTRUCTOR},{reject:function(t){var e=cz.f(this);return(0,e.reject)(t),e.promise}});var lz=Re,uz=B,hz=UN,fz=function(t,e){if(lz(t),uz(e)&&e.constructor===t)return e;var r=hz.f(t);return(0,r.resolve)(e),r.promise},dz=ri,pz=zN.CONSTRUCTOR,gz=fz;G("Promise"),dz({target:"Promise",stat:!0,forced:pz},{resolve:function(t){return gz(this,t)}});var vz=l,yz=yt,mz=UN,bz=kN,xz=Eh;ri({target:"Promise",stat:!0,forced:YF},{allSettled:function(t){var e=this,r=mz.f(e),n=r.resolve,i=r.reject,o=bz(function(){var r=yz(e.resolve),i=[],o=0,a=1;xz(t,function(t){var s=o++,c=!1;a++,vz(r,e,t).then(function(t){c||(c=!0,i[s]={status:"fulfilled",value:t},--a||n(i))},function(t){c||(c=!0,i[s]={status:"rejected",reason:t},--a||n(i))})}),--a||n(i)});return o.error&&i(o.value),r.promise}});var wz=l,Az=yt,_z=G,Ez=UN,kz=kN,Sz=Eh,Mz="No one promise resolved";ri({target:"Promise",stat:!0,forced:YF},{any:function(t){var e=this,r=_z("AggregateError"),n=Ez.f(e),i=n.resolve,o=n.reject,a=kz(function(){var n=Az(e.resolve),a=[],s=0,c=1,l=!1;Sz(t,function(t){var u=s++,h=!1;c++,wz(n,e,t).then(function(t){h||l||(l=!0,i(t))},function(t){h||l||(h=!0,a[u]=t,--c||o(new r(a,Mz)))})}),--c||o(new r(a,Mz))});return a.error&&o(a.value),n.promise}});var Oz=ri,Tz=SN,Pz=i,Iz=G,Cz=z,Rz=mL,Dz=fz,jz=Qr,Lz=Tz&&Tz.prototype;if(Oz({target:"Promise",proto:!0,real:!0,forced:!!Tz&&Pz(function(){Lz.finally.call({then:function(){}},function(){})})},{finally:function(t){var e=Rz(this,Iz("Promise")),r=Cz(t);return this.then(r?function(r){return Dz(e,t()).then(function(){return r})}:t,r?function(r){return Dz(e,t()).then(function(){throw r})}:t)}}),Cz(Tz)){var Nz=Iz("Promise").prototype.finally;Lz.finally!==Nz&&jz(Lz,"finally",Nz,{unsafe:!0})}var Fz=ri,zz=Ms,Uz=$i,Bz=UN,$z=yt,Yz=kN,Gz=r.Promise,Hz=!1;Fz({target:"Promise",stat:!0,forced:!Gz||!Gz.try||Yz(function(){Gz.try(function(t){Hz=8===t},8)}).error||!Hz},{try:function(t){var e=arguments.length>1?Uz(arguments,1):[],r=Bz.f(this),n=Yz(function(){return zz($z(t),void 0,e)});return(n.error?r.reject:r.resolve)(n.value),r.promise}});var Wz=UN;ri({target:"Promise",stat:!0},{withResolvers:function(){var t=Wz.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}});var qz,Vz,Xz=r,Kz=St.exports,Qz=z,Jz=$u,Zz=Qr,tU="USE_FUNCTION_CONSTRUCTOR",eU=ee("asyncIterator"),rU=Xz.AsyncIterator,nU=Kz.AsyncIteratorPrototype;if(nU)qz=nU;else if(Qz(rU))qz=rU.prototype;else if(Kz[tU]||Xz[tU])try{Vz=Jz(Jz(Jz(Function("return async function*(){}()")()))),Jz(Vz)===Object.prototype&&(qz=Vz)}catch(t){}qz||(qz={}),Qz(qz[eU])||Zz(qz,eU,function(){return this});var iU=qz,oU=l,aU=Re,sU=Ui,cU=xt,lU=vm,uU=Tr,hU=uh,fU=iU,dU=fg,pU=G("Promise"),gU="AsyncFromSyncIterator",vU=uU.set,yU=uU.getterFor(gU),mU=function(t,e,r,n,i){var o=t.done;pU.resolve(t.value).then(function(t){e(dU(t,o))},function(t){if(!o&&i)try{hU(n,"throw",t)}catch(e){t=e}r(t)})},bU=function(t){t.type=gU,vU(this,t)};bU.prototype=lU(sU(fU),{next:function(){var t=yU(this);return new pU(function(e,r){var n=aU(oU(t.next,t.iterator));mU(n,e,r,t.iterator,!0)})},return:function(){var t=yU(this).iterator;return new pU(function(e,r){var n=cU(t,"return");if(void 0===n)return e(dU(void 0,!0));var i=aU(oU(n,t));mU(i,e,r,t)})}});var xU=bU,wU=l,AU=xU,_U=Re,EU=ah,kU=$k,SU=xt,MU=ee("asyncIterator"),OU=l,TU=G,PU=xt,IU=l,CU=yt,RU=Re,DU=B,jU=Mf,LU=G,NU=$k,FU=function(t,e,r,n){try{var i=PU(t,"return");if(i)return TU("Promise").resolve(OU(i,t)).then(function(){e(r)},function(t){n(t)})}catch(t){return n(t)}e(r)},zU=function(t){var e=0===t,r=1===t,n=2===t,i=3===t;return function(t,o,a){RU(t);var s=void 0!==o;!s&&e||CU(o);var c=NU(t),l=LU("Promise"),u=c.iterator,h=c.next,f=0;return new l(function(t,c){var d=function(t){FU(u,c,t,c)},p=function(){try{if(s)try{jU(f)}catch(t){d(t)}l.resolve(RU(IU(h,u))).then(function(h){try{if(RU(h).done)e?(a.length=f,t(a)):t(!i&&(n||void 0));else{var g=h.value;try{if(s){var v=o(g,f),y=function(o){if(r)p();else if(n)o?p():FU(u,t,!1,c);else if(e)try{a[f++]=o,p()}catch(t){d(t)}else o?FU(u,t,i||g,c):p()};DU(v)?l.resolve(v).then(y,d):y(v)}else a[f++]=g,p()}catch(t){d(t)}}}catch(t){c(t)}},c)}catch(t){c(t)}};p()})}},UU={toArray:zU(0),forEach:zU(1),every:zU(2),some:zU(3),find:zU(4)},BU=wo,$U=w,YU=Ft,GU=Lo,HU=function(t,e){var r=arguments.length<2?SU(t,MU):e;return r?_U(wU(r,t)):new AU(kU(EU(t)))},WU=ah,qU=$k,VU=Zu,XU=xt,KU=G,QU=Fy,JU=xU,ZU=UU.toArray,tB=ee("asyncIterator"),eB=$U(QU("Array","values")),rB=$U(eB([]).next),nB=function(){return new iB(this)},iB=function(t){this.iterator=eB(t)};iB.prototype.next=function(){return rB(this.iterator)};var oB=ri,aB=function(t){var e=this,r=arguments.length,n=r>1?arguments[1]:void 0,i=r>2?arguments[2]:void 0;return new(KU("Promise"))(function(r){var o=YU(t);void 0!==n&&(n=BU(n,i));var a=XU(o,tB),s=a?void 0:VU(o)||nB,c=GU(e)?new e:[],l=a?HU(o,a):new JU(qU(WU(o,s)));r(ZU(l,n,c))})},sB=i,cB=Array.fromAsync,lB=!cB||sB(function(){var t=0;return cB.call(function(){return t++,[]},{length:0}),1!==t});oB({target:"Array",stat:!0,forced:lB},{fromAsync:aB});var uB=ri,hB=o,fB=G,dB=yt,pB=bm,gB=Qr,vB=vm,yB=Ki,mB=ee,bB=Tr,xB=D_,wB=et,AB=fB("Promise"),_B=fB("SuppressedError"),EB=ReferenceError,kB=mB("asyncDispose"),SB=mB("toStringTag"),MB="AsyncDisposableStack",OB=bB.set,TB=bB.getterFor(MB),PB="async-dispose",IB="disposed",CB=function(t){var e=TB(t);if(e.state===IB)throw new EB(MB+" already disposed");return e},RB=function(){OB(pB(this,DB),{type:MB,state:"pending",stack:[]}),hB||(this.disposed=!1)},DB=RB.prototype;vB(DB,{disposeAsync:function(){var t=this;return new AB(function(e,r){var n=TB(t);if(n.state===IB)return e(void 0);n.state=IB,hB||(t.disposed=!0);var i,o=n.stack,a=o.length,s=!1,c=function(t){s?i=new _B(t,i):(s=!0,i=t),l()},l=function(){if(a){var t=o[--a];o[a]=null;try{AB.resolve(t()).then(l,c)}catch(t){c(t)}}else n.stack=null,s?r(i):e(void 0)};l()})},use:function(t){return xB(CB(this),t,PB),t},adopt:function(t,e){var r=CB(this);return dB(e),xB(r,void 0,PB,function(){return e(t)}),t},defer:function(t){var e=CB(this);dB(t),xB(e,void 0,PB,t)},move:function(){var t=CB(this),e=new RB;return TB(e).stack=t.stack,t.stack=[],t.state=IB,hB||(this.disposed=!0),e}}),hB&&yB(DB,"disposed",{configurable:!0,get:function(){return TB(this).state===IB}}),gB(DB,kB,DB.disposeAsync,{name:"disposeAsync"}),gB(DB,SB,MB,{nonWritable:!0}),uB({global:!0,constructor:!0,forced:wB&&wB<136},{AsyncDisposableStack:RB});var jB=l,LB=Qr,NB=G,FB=xt,zB=Bt,UB=iU,BB=ee("asyncDispose"),$B=NB("Promise");zB(UB,BB)||LB(UB,BB,function(){var t=this;return new $B(function(e,r){var n=FB(t,"return");n?$B.resolve(jB(n,t)).then(function(){e(void 0)},r):e(void 0)})});var YB=Ms,GB=yt,HB=Re;ri({target:"Reflect",stat:!0,forced:!i(function(){Reflect.apply(function(){})})},{apply:function(t,e,r){return YB(GB(t),e,HB(r))}});var WB=ri,qB=Ms,VB=_E,XB=dL,KB=Re,QB=B,JB=Ui,ZB=i,t$=G("Reflect","construct"),e$=Object.prototype,r$=[].push,n$=ZB(function(){function t(){}return!(t$(function(){},[],t)instanceof t)}),i$=!ZB(function(){t$(function(){})}),o$=n$||i$;WB({target:"Reflect",stat:!0,forced:o$,sham:o$},{construct:function(t,e){XB(t),KB(e);var r=arguments.length<3?t:XB(arguments[2]);if(i$&&!n$)return t$(t,e,r);if(t===r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return qB(r$,n,e),new(qB(VB,t,n))}var i=r.prototype,o=JB(QB(i)?i:e$),a=qB(t,o,e);return QB(a)?a:o}});var a$=o,s$=Re,c$=fe,l$=Oe;ri({target:"Reflect",stat:!0,forced:i(function(){Reflect.defineProperty(l$.f({},1,{value:1}),1,{value:2})}),sham:!a$},{defineProperty:function(t,e,r){s$(t);var n=c$(e);s$(r);try{return l$.f(t,n,r),!0}catch(t){return!1}}});var u$=ri,h$=Re,f$=n.f;u$({target:"Reflect",stat:!0},{deleteProperty:function(t,e){var r=f$(h$(t),e);return!(r&&!r.configurable)&&delete t[e]}});var d$=Bt,p$=function(t){return void 0!==t&&(d$(t,"value")||d$(t,"writable"))},g$=l,v$=B,y$=Re,m$=p$,b$=n,x$=$u;ri({target:"Reflect",stat:!0},{get:function t(e,r){var n,i,o=arguments.length<3?e:arguments[2];return y$(e)===o?e[r]:(n=b$.f(e,r))?m$(n)?n.value:void 0===n.get?void 0:g$(n.get,o):v$(i=x$(e))?t(i,r,o):void 0}});var w$=Re,A$=n;ri({target:"Reflect",stat:!0,sham:!o},{getOwnPropertyDescriptor:function(t,e){return A$.f(w$(t),e)}});var _$=Re,E$=$u;ri({target:"Reflect",stat:!0,sham:!Du},{getPrototypeOf:function(t){return E$(_$(t))}}),ri({target:"Reflect",stat:!0},{has:function(t,e){return e in t}});var k$=Re,S$=yT;ri({target:"Reflect",stat:!0},{isExtensible:function(t){return k$(t),S$(t)}}),ri({target:"Reflect",stat:!0},{ownKeys:Dn});var M$=G,O$=Re;ri({target:"Reflect",stat:!0,sham:!VO},{preventExtensions:function(t){O$(t);try{var e=M$("Object","preventExtensions");return e&&e(t),!0}catch(t){return!1}}});var T$=ri,P$=l,I$=Re,C$=B,R$=p$,D$=Oe,j$=n,L$=$u,N$=v;var F$=i(function(){var t=function(){},e=D$.f(new t,"a",{configurable:!0});return!1!==Reflect.set(t.prototype,"a",1,e)});T$({target:"Reflect",stat:!0,forced:F$},{set:function t(e,r,n){var i,o,a,s=arguments.length<4?e:arguments[3],c=j$.f(I$(e),r);if(!c){if(C$(o=L$(e)))return t(o,r,n,s);c=N$(0)}if(R$(c)){if(!1===c.writable||!C$(s))return!1;if(i=j$.f(s,r)){if(i.get||i.set||!1===i.writable)return!1;i.value=n,D$.f(s,r,i)}else D$.f(s,r,N$(0,n))}else{if(void 0===(a=c.set))return!1;P$(a,s,n)}return!0}});var z$=Re,U$=vl,B$=wl;B$&&ri({target:"Reflect",stat:!0},{setPrototypeOf:function(t,e){z$(t),U$(e);try{return B$(t,e),!0}catch(t){return!1}}});var $$=r,Y$=po;ri({global:!0},{Reflect:{}}),Y$($$.Reflect,"Reflect",!0);var G$=B,H$=k,W$=ee("match"),q$=function(t){var e;return G$(t)&&(void 0!==(e=t[W$])?!!e:"RegExp"===H$(t))},V$=i,X$=r.RegExp,K$=!V$(function(){var t=!0;try{X$(".","d")}catch(e){t=!1}var e={},r="",n=t?"dgimsy":"gimsy",i=function(t,n){Object.defineProperty(e,t,{get:function(){return r+=n,!0}})},o={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var a in t&&(o.hasIndices="d"),o)i(a,o[a]);return Object.getOwnPropertyDescriptor(X$.prototype,"flags").get.call(e)!==n||r!==n}),Q$={correct:K$},J$=Re,Z$=function(){var t=J$(this),e="";return t.hasIndices&&(e+="d"),t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.unicodeSets&&(e+="v"),t.sticky&&(e+="y"),e},tY=l,eY=Bt,rY=H,nY=Q$,iY=Z$,oY=RegExp.prototype,aY=nY.correct?function(t){return t.flags}:function(t){return nY.correct||!rY(oY,t)||eY(t,"flags")?t.flags:tY(iY,t)},sY=i,cY=r.RegExp,lY=sY(function(){var t=cY("a","y");return t.lastIndex=2,null!==t.exec("abcd")}),uY=lY||sY(function(){return!cY("a","y").sticky}),hY=lY||sY(function(){var t=cY("^r","gy");return t.lastIndex=2,null!==t.exec("str")}),fY={BROKEN_CARET:hY,MISSED_STICKY:uY,UNSUPPORTED_Y:lY},dY=i,pY=r.RegExp,gY=dY(function(){var t=pY(".","s");return!(t.dotAll&&t.test("\n")&&"s"===t.flags)}),vY=i,yY=r.RegExp,mY=vY(function(){var t=yY("(?<a>b)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$<a>c")}),bY=o,xY=r,wY=w,AY=Vn,_Y=Ml,EY=qe,kY=Ui,SY=Jr.f,MY=H,OY=q$,TY=pi,PY=aY,IY=fY,CY=_l,RY=Qr,DY=i,jY=Bt,LY=Tr.enforce,NY=gy,FY=gY,zY=mY,UY=ee("match"),BY=xY.RegExp,$Y=BY.prototype,YY=xY.SyntaxError,GY=wY($Y.exec),HY=wY("".charAt),WY=wY("".replace),qY=wY("".indexOf),VY=wY("".slice),XY=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,KY=/a/g,QY=/a/g,JY=new BY(KY)!==KY,ZY=IY.MISSED_STICKY,tG=IY.UNSUPPORTED_Y,eG=bY&&(!JY||ZY||FY||zY||DY(function(){return QY[UY]=!1,BY(KY)!==KY||BY(QY)===QY||"/a/i"!==String(BY(KY,"i"))}));if(AY("RegExp",eG)){for(var rG=function(t,e){var r,n,i,o,a,s,c=MY($Y,this),l=OY(t),u=void 0===e,h=[],f=t;if(!c&&l&&u&&t.constructor===rG)return t;if((l||MY($Y,t))&&(t=t.source,u&&(e=PY(f))),t=void 0===t?"":TY(t),e=void 0===e?"":TY(e),f=t,FY&&"dotAll"in KY&&(n=!!e&&qY(e,"s")>-1)&&(e=WY(e,/s/g,"")),r=e,ZY&&"sticky"in KY&&(i=!!e&&qY(e,"y")>-1)&&tG&&(e=WY(e,/y/g,"")),zY&&(o=function(t){for(var e,r=t.length,n=0,i="",o=[],a=kY(null),s=!1,c=!1,l=0,u="";n<=r;n++){if("\\"===(e=HY(t,n)))e+=HY(t,++n);else if("]"===e)s=!1;else if(!s)switch(!0){case"["===e:s=!0;break;case"("===e:if(i+=e,"?:"===VY(t,n+1,n+3))continue;GY(XY,VY(t,n+1))&&(n+=2,c=!0),l++;continue;case">"===e&&c:if(""===u||jY(a,u))throw new YY("Invalid capture group name");a[u]=!0,o[o.length]=[u,l],c=!1,u="";continue}c?u+=e:i+=e}return[i,o]}(t),t=o[0],h=o[1]),a=_Y(BY(t,e),c?this:$Y,rG),(n||i||h.length)&&(s=LY(a),n&&(s.dotAll=!0,s.raw=rG(function(t){for(var e,r=t.length,n=0,i="",o=!1;n<=r;n++)"\\"!==(e=HY(t,n))?o||"."!==e?("["===e?o=!0:"]"===e&&(o=!1),i+=e):i+="[\\s\\S]":i+=e+HY(t,++n);return i}(t),r)),i&&(s.sticky=!0),h.length&&(s.groups=h)),t!==f)try{EY(a,"source",""===f?"(?:)":f)}catch(t){}return a},nG=SY(BY),iG=0;nG.length>iG;)CY(rG,BY,nG[iG++]);$Y.constructor=rG,rG.prototype=$Y,RY(xY,"RegExp",rG,{constructor:!0})}NY("RegExp");var oG=TypeError,aG=function(t){if("string"==typeof t)return t;throw new oG("Argument is not a string")},sG=ri,cG=w,lG=aG,uG=Bt,hG=zA.start,fG=BI,dG=Array,pG=RegExp.escape,gG=cG("".charAt),vG=cG("".charCodeAt),yG=cG(1.1.toString),mG=cG([].join),bG=/^[0-9a-z]/i,xG=/^[$()*+./?[\\\]^{|}]/,wG=RegExp("^[!\"#%&',\\-:;<=>@`~"+fG+"]"),AG=cG(bG.exec),_G={"\t":"t","\n":"n","\v":"v","\f":"f","\r":"r"},EG=function(t){var e=yG(vG(t,0),16);return e.length<3?"\\x"+hG(e,2,"0"):"\\u"+hG(e,4,"0")};sG({target:"RegExp",stat:!0,forced:!pG||"\\x61b"!==pG("ab")},{escape:function(t){lG(t);for(var e=t.length,r=dG(e),n=0;n<e;n++){var i=gG(t,n);if(0===n&&AG(bG,i))r[n]=EG(i);else if(uG(_G,i))r[n]="\\"+_G[i];else if(AG(xG,i))r[n]="\\"+i;else if(AG(wG,i))r[n]=EG(i);else{var o=vG(i,0);55296!=(63488&o)?r[n]=i:o>=56320||n+1>=e||56320!=(64512&vG(t,n+1))?r[n]=EG(i):(r[n]=i,r[++n]=gG(t,n))}}return mG(r,"")}});var kG=o,SG=gY,MG=k,OG=Ki,TG=Tr.get,PG=RegExp.prototype,IG=TypeError;kG&&SG&&OG(PG,"dotAll",{configurable:!0,get:function(){if(this!==PG){if("RegExp"===MG(this))return!!TG(this).dotAll;throw new IG("Incompatible receiver, RegExp required")}}});var CG=l,RG=w,DG=pi,jG=Z$,LG=fY,NG=Ui,FG=Tr.get,zG=gY,UG=mY,BG=jt("native-string-replace",String.prototype.replace),$G=RegExp.prototype.exec,YG=$G,GG=RG("".charAt),HG=RG("".indexOf),WG=RG("".replace),qG=RG("".slice),VG=function(){var t=/a/,e=/b*/g;return CG($G,t,"a"),CG($G,e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),XG=LG.BROKEN_CARET,KG=void 0!==/()??/.exec("")[1];(VG||KG||XG||zG||UG)&&(YG=function(t){var e,r,n,i,o,a,s,c=this,l=FG(c),u=DG(t),h=l.raw;if(h)return h.lastIndex=c.lastIndex,e=CG(YG,h,u),c.lastIndex=h.lastIndex,e;var f=l.groups,d=XG&&c.sticky,p=CG(jG,c),g=c.source,v=0,y=u;if(d&&(p=WG(p,"y",""),-1===HG(p,"g")&&(p+="g"),y=qG(u,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==GG(u,c.lastIndex-1))&&(g="(?: "+g+")",y=" "+y,v++),r=new RegExp("^(?:"+g+")",p)),KG&&(r=new RegExp("^"+g+"$(?!\\s)",p)),VG&&(n=c.lastIndex),i=CG($G,d?r:c,y),d?i?(i.input=qG(i.input,v),i[0]=qG(i[0],v),i.index=c.lastIndex,c.lastIndex+=i[0].length):c.lastIndex=0:VG&&i&&(c.lastIndex=c.global?i.index+i[0].length:n),KG&&i&&i.length>1&&CG(BG,i[0],r,function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(i[o]=void 0)}),i&&f)for(i.groups=a=NG(null),o=0;o<f.length;o++)a[(s=f[o])[0]]=i[s[1]];return i});var QG=YG;ri({target:"RegExp",proto:!0,forced:/./.exec!==QG},{exec:QG});var JG=Ki,ZG=Q$,tH=Z$;o&&!ZG.correct&&(JG(RegExp.prototype,"flags",{configurable:!0,get:tH}),ZG.correct=!0);var eH=o,rH=fY.MISSED_STICKY,nH=k,iH=Ki,oH=Tr.get,aH=RegExp.prototype,sH=TypeError;eH&&rH&&iH(aH,"sticky",{configurable:!0,get:function(){if(this!==aH){if("RegExp"===nH(this))return!!oH(this).sticky;throw new sH("Incompatible receiver, RegExp required")}}});var cH,lH,uH=ri,hH=l,fH=z,dH=Re,pH=pi,gH=(cH=!1,(lH=/[ac]/).exec=function(){return cH=!0,/./.exec.apply(this,arguments)},!0===lH.test("abc")&&cH),vH=/./.test;uH({target:"RegExp",proto:!0,forced:!gH},{test:function(t){var e=dH(this),r=pH(t),n=e.exec;if(!fH(n))return hH(vH,e,r);var i=hH(n,e,r);return null!==i&&(dH(i),!0)}});var yH=tr.PROPER,mH=Qr,bH=Re,xH=pi,wH=i,AH=aY,_H="toString",EH=RegExp.prototype,kH=EH[_H],SH=wH(function(){return"/a/b"!==kH.call({source:"a",flags:"b"})}),MH=yH&&kH.name!==_H;(SH||MH)&&mH(EH,_H,function(){var t=bH(this);return"/"+xH(t.source)+"/"+xH(AH(t))},{unsafe:!0}),VT("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},lP);var OH=w,TH=Set.prototype,PH={Set:Set,add:OH(TH.add),has:OH(TH.has),remove:OH(TH.delete),proto:TH},IH=PH.has,CH=function(t){return IH(t),t},RH=l,DH=function(t,e,r){for(var n,i,o=r?t:t.iterator,a=t.next;!(n=RH(a,o)).done;)if(void 0!==(i=e(n.value)))return i},jH=w,LH=DH,NH=PH.Set,FH=PH.proto,zH=jH(FH.forEach),UH=jH(FH.keys),BH=UH(new NH).next,$H=function(t,e,r){return r?LH({iterator:UH(t),next:BH},e):zH(t,e)},YH=$H,GH=PH.Set,HH=PH.add,WH=function(t){var e=new GH;return YH(t,function(t){HH(e,t)}),e},qH=ul(PH.proto,"size","get")||function(t){return t.size},VH=yt,XH=Re,KH=l,QH=nn,JH=$k,ZH="Invalid size",tW=RangeError,eW=TypeError,rW=Math.max,nW=function(t,e){this.set=t,this.size=rW(e,0),this.has=VH(t.has),this.keys=VH(t.keys)};nW.prototype={getIterator:function(){return JH(XH(KH(this.keys,this.set)))},includes:function(t){return KH(this.has,this.set,t)}};var iW=function(t){XH(t);var e=+t.size;if(e!=e)throw new eW(ZH);var r=QH(e);if(r<0)throw new tW(ZH);return new nW(t,r)},oW=CH,aW=WH,sW=qH,cW=iW,lW=$H,uW=DH,hW=PH.has,fW=PH.remove,dW=G,pW=function(t){return{size:t,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},gW=function(t){return{size:t,has:function(){return!0},keys:function(){throw new Error("e")}}},vW=function(t,e){var r=dW("Set");try{(new r)[t](pW(0));try{return(new r)[t](pW(-1)),!1}catch(n){if(!e)return!0;try{return(new r)[t](gW(-1/0)),!1}catch(n){return e(new r([1,2])[t](gW(1/0)))}}}catch(t){return!1}},yW=ri,mW=function(t){var e=oW(this),r=cW(t),n=aW(e);return sW(e)<=r.size?lW(e,function(t){r.includes(t)&&fW(n,t)}):uW(r.getIterator(),function(t){hW(n,t)&&fW(n,t)}),n},bW=i,xW=!vW("difference",function(t){return 0===t.size})||bW(function(){var t={size:1,has:function(){return!0},keys:function(){var t=0;return{next:function(){var r=t++>1;return e.has(1)&&e.clear(),{done:r,value:2}}}}},e=new Set([1,2,3,4]);return 3!==e.difference(t).size});yW({target:"Set",proto:!0,real:!0,forced:xW},{difference:mW});var wW=CH,AW=qH,_W=iW,EW=$H,kW=DH,SW=PH.Set,MW=PH.add,OW=PH.has,TW=i,PW=function(t){var e=wW(this),r=_W(t),n=new SW;return AW(e)>r.size?kW(r.getIterator(),function(t){OW(e,t)&&MW(n,t)}):EW(e,function(t){r.includes(t)&&MW(n,t)}),n};ri({target:"Set",proto:!0,real:!0,forced:!vW("intersection",function(t){return 2===t.size&&t.has(1)&&t.has(2)})||TW(function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))})},{intersection:PW});var IW=CH,CW=PH.has,RW=qH,DW=iW,jW=$H,LW=DH,NW=uh,FW=function(t){var e=IW(this),r=DW(t);if(RW(e)<=r.size)return!1!==jW(e,function(t){if(r.includes(t))return!1},!0);var n=r.getIterator();return!1!==LW(n,function(t){if(CW(e,t))return NW(n,"normal",!1)})};ri({target:"Set",proto:!0,real:!0,forced:!vW("isDisjointFrom",function(t){return!t})},{isDisjointFrom:FW});var zW=CH,UW=qH,BW=$H,$W=iW,YW=function(t){var e=zW(this),r=$W(t);return!(UW(e)>r.size)&&!1!==BW(e,function(t){if(!r.includes(t))return!1},!0)};ri({target:"Set",proto:!0,real:!0,forced:!vW("isSubsetOf",function(t){return t})},{isSubsetOf:YW});var GW=CH,HW=PH.has,WW=qH,qW=iW,VW=DH,XW=uh,KW=function(t){var e=GW(this),r=qW(t);if(WW(e)<r.size)return!1;var n=r.getIterator();return!1!==VW(n,function(t){if(!HW(e,t))return XW(n,"normal",!1)})};ri({target:"Set",proto:!0,real:!0,forced:!vW("isSupersetOf",function(t){return!t})},{isSupersetOf:KW});var QW=CH,JW=WH,ZW=iW,tq=DH,eq=PH.add,rq=PH.has,nq=PH.remove,iq=function(t){try{var e=new Set,r={size:0,has:function(){return!0},keys:function(){return Object.defineProperty({},"next",{get:function(){return e.clear(),e.add(4),function(){return{done:!0}}}})}},n=e[t](r);return 1===n.size&&4===n.values().next().value}catch(t){return!1}},oq=function(t){var e=QW(this),r=ZW(t).getIterator(),n=JW(e);return tq(r,function(t){rq(e,t)?nq(n,t):eq(n,t)}),n},aq=iq;ri({target:"Set",proto:!0,real:!0,forced:!vW("symmetricDifference")||!aq("symmetricDifference")},{symmetricDifference:oq});var sq=CH,cq=PH.add,lq=WH,uq=iW,hq=DH,fq=function(t){var e=sq(this),r=uq(t).getIterator(),n=lq(e);return hq(r,function(t){cq(n,t)}),n},dq=iq;ri({target:"Set",proto:!0,real:!0,forced:!vW("union")||!dq("union")},{union:fq});var pq=ri,gq=D,vq=nn,yq=pi,mq=i,bq=w("".charAt);pq({target:"String",proto:!0,forced:mq(function(){return"\ud842"!=="𠮷".at(-2)})},{at:function(t){var e=yq(gq(this)),r=e.length,n=vq(t),i=n>=0?n:r+n;return i<0||i>=r?void 0:bq(e,i)}});var xq=w,wq=nn,Aq=pi,_q=D,Eq=xq("".charAt),kq=xq("".charCodeAt),Sq=xq("".slice),Mq=function(t){return function(e,r){var n,i,o=Aq(_q(e)),a=wq(r),s=o.length;return a<0||a>=s?t?"":void 0:(n=kq(o,a))<55296||n>56319||a+1===s||(i=kq(o,a+1))<56320||i>57343?t?Eq(o,a):n:t?Sq(o,a,a+2):i-56320+(n-55296<<10)+65536}},Oq={codeAt:Mq(!1),charAt:Mq(!0)},Tq=Oq.codeAt;ri({target:"String",proto:!0},{codePointAt:function(t){return Tq(this,t)}});var Pq=q$,Iq=TypeError,Cq=function(t){if(Pq(t))throw new Iq("The method doesn't accept regular expressions");return t},Rq=ee("match"),Dq=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[Rq]=!1,"/./"[t](e)}catch(t){}}return!1},jq=ri,Lq=yo,Nq=n.f,Fq=hn,zq=pi,Uq=Cq,Bq=D,$q=Dq,Yq=Lq("".slice),Gq=Math.min,Hq=$q("endsWith"),Wq=!Hq&&!!function(){var t=Nq(String.prototype,"endsWith");return t&&!t.writable}();jq({target:"String",proto:!0,forced:!Wq&&!Hq},{endsWith:function(t){var e=zq(Bq(this));Uq(t);var r=arguments.length>1?arguments[1]:void 0,n=e.length,i=void 0===r?n:Gq(Fq(r),n),o=zq(t);return Yq(e,i-o.length,i)===o}});var qq=ri,Vq=w,Xq=cn,Kq=RangeError,Qq=String.fromCharCode,Jq=String.fromCodePoint,Zq=Vq([].join);qq({target:"String",stat:!0,arity:1,forced:!!Jq&&1!==Jq.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,i=0;n>i;){if(e=+arguments[i++],Xq(e,1114111)!==e)throw new Kq(e+" is not a valid code point");r[i]=e<65536?Qq(e):Qq(55296+((e-=65536)>>10),e%1024+56320)}return Zq(r,"")}});var tV=ri,eV=Cq,rV=D,nV=pi,iV=Dq,oV=w("".indexOf);tV({target:"String",proto:!0,forced:!iV("includes")},{includes:function(t){return!!~oV(nV(rV(this)),nV(eV(t)),arguments.length>1?arguments[1]:void 0)}});var aV=ri,sV=D,cV=pi,lV=w("".charCodeAt);aV({target:"String",proto:!0},{isWellFormed:function(){for(var t=cV(sV(this)),e=t.length,r=0;r<e;r++){var n=lV(t,r);if(55296==(63488&n)&&(n>=56320||++r>=e||56320!=(64512&lV(t,r))))return!1}return!0}});var uV=Oq.charAt,hV=pi,fV=Tr,dV=hg,pV=fg,gV="String Iterator",vV=fV.set,yV=fV.getterFor(gV);dV(String,"String",function(t){vV(this,{type:gV,string:hV(t),index:0})},function(){var t,e=yV(this),r=e.string,n=e.index;return n>=r.length?pV(void 0,!0):(t=uV(r,n),e.index+=t.length,pV(t,!1))});var mV=l,bV=Qr,xV=QG,wV=i,AV=ee,_V=qe,EV=AV("species"),kV=RegExp.prototype,SV=function(t,e,r,n){var i=AV(t),o=!wV(function(){var e={};return e[i]=function(){return 7},7!==""[t](e)}),a=o&&!wV(function(){var e=!1,r=/a/;if("split"===t){var n={};n[EV]=function(){return r},(r={constructor:n,flags:""})[i]=/./[i]}return r.exec=function(){return e=!0,null},r[i](""),!e});if(!o||!a||r){var s=/./[i],c=e(i,""[t],function(t,e,r,n,i){var a=e.exec;return a===xV||a===kV.exec?o&&!i?{done:!0,value:mV(s,e,r,n)}:{done:!0,value:mV(t,r,e,n)}:{done:!1}});bV(String.prototype,t,c[0]),bV(kV,i,c[1])}n&&_V(kV[i],"sham",!0)},MV=Oq.charAt,OV=function(t,e,r){return e+(r?MV(t,e).length:1)},TV=l,PV=Re,IV=z,CV=k,RV=QG,DV=TypeError,jV=function(t,e){var r=t.exec;if(IV(r)){var n=TV(r,t,e);return null!==n&&PV(n),n}if("RegExp"===CV(t))return TV(RV,t,e);throw new DV("RegExp#exec called on incompatible receiver")},LV=l,NV=SV,FV=Re,zV=B,UV=hn,BV=pi,$V=D,YV=xt,GV=OV,HV=aY,WV=jV,qV=w("".indexOf);NV("match",function(t,e,r){return[function(e){var r=$V(this),n=zV(e)?YV(e,t):void 0;return n?LV(n,e,r):new RegExp(e)[t](BV(r))},function(t){var n=FV(this),i=BV(t),o=r(e,n,i);if(o.done)return o.value;var a=BV(HV(n));if(-1===qV(a,"g"))return WV(n,i);var s=-1!==qV(a,"u");n.lastIndex=0;for(var c,l=[],u=0;null!==(c=WV(n,i));){var h=BV(c[0]);l[u]=h,""===h&&(n.lastIndex=GV(i,UV(n.lastIndex),s)),u++}return 0===u?null:l}]});var VV=ri,XV=l,KV=yo,QV=Hp,JV=fg,ZV=D,tX=hn,eX=pi,rX=Re,nX=B,iX=q$,oX=aY,aX=xt,sX=Qr,cX=i,lX=mL,uX=OV,hX=jV,fX=Tr,dX=ee("matchAll"),pX="RegExp String",gX=pX+" Iterator",vX=fX.set,yX=fX.getterFor(gX),mX=RegExp.prototype,bX=TypeError,xX=KV("".indexOf),wX=KV("".matchAll),AX=!!wX&&!cX(function(){wX("a",/./)}),_X=QV(function(t,e,r,n){vX(this,{type:gX,regexp:t,string:e,global:r,unicode:n,done:!1})},pX,function(){var t=yX(this);if(t.done)return JV(void 0,!0);var e=t.regexp,r=t.string,n=hX(e,r);return null===n?(t.done=!0,JV(void 0,!0)):t.global?(""===eX(n[0])&&(e.lastIndex=uX(r,tX(e.lastIndex),t.unicode)),JV(n,!1)):(t.done=!0,JV(n,!1))}),EX=function(t){var e,r,n,i=rX(this),o=eX(t),a=lX(i,RegExp),s=eX(oX(i));return e=new a(a===RegExp?i.source:i,s),r=!!~xX(s,"g"),n=!!~xX(s,"u"),e.lastIndex=tX(i.lastIndex),new _X(e,o,r,n)};VV({target:"String",proto:!0,forced:AX},{matchAll:function(t){var e,r,n,i=ZV(this);if(nX(t)){if(iX(t)&&(e=eX(ZV(oX(t))),!~xX(e,"g")))throw new bX("`.matchAll` does not allow non-global regexes");if(AX)return wX(i,t);if(n=aX(t,dX))return XV(n,t,i)}else if(AX)return wX(i,t);return r=eX(i),new RegExp(t,"g")[dX](r)}}),dX in mX||sX(mX,dX,EX);var kX=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(V),SX=zA.end;ri({target:"String",proto:!0,forced:kX},{padEnd:function(t){return SX(this,t,arguments.length>1?arguments[1]:void 0)}});var MX=zA.start;ri({target:"String",proto:!0,forced:kX},{padStart:function(t){return MX(this,t,arguments.length>1?arguments[1]:void 0)}});var OX=ri,TX=w,PX=N,IX=Ft,CX=pi,RX=dn,DX=TX([].push),jX=TX([].join);OX({target:"String",stat:!0},{raw:function(t){var e=PX(IX(t).raw),r=RX(e);if(!r)return"";for(var n=arguments.length,i=[],o=0;;){if(DX(i,CX(e[o++])),o===r)return jX(i,"");o<n&&DX(i,CX(arguments[o]))}}}),ri({target:"String",proto:!0},{repeat:PA});var LX=w,NX=Ft,FX=Math.floor,zX=LX("".charAt),UX=LX("".replace),BX=LX("".slice),$X=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,YX=/\$([$&'`]|\d{1,2})/g,GX=function(t,e,r,n,i,o){var a=r+t.length,s=n.length,c=YX;return void 0!==i&&(i=NX(i),c=$X),UX(o,c,function(o,c){var l;switch(zX(c,0)){case"$":return"$";case"&":return t;case"`":return BX(e,0,r);case"'":return BX(e,a);case"<":l=i[BX(c,1,-1)];break;default:var u=+c;if(0===u)return o;if(u>s){var h=FX(u/10);return 0===h?o:h<=s?void 0===n[h-1]?zX(c,1):n[h-1]+zX(c,1):o}l=n[u-1]}return void 0===l?"":l})},HX=Ms,WX=l,qX=w,VX=SV,XX=i,KX=Re,QX=z,JX=B,ZX=nn,tK=hn,eK=pi,rK=D,nK=OV,iK=xt,oK=GX,aK=aY,sK=jV,cK=ee("replace"),lK=Math.max,uK=Math.min,hK=qX([].concat),fK=qX([].push),dK=qX("".indexOf),pK=qX("".slice),gK=function(t){return void 0===t?t:String(t)},vK="$0"==="a".replace(/./,"$0"),yK=!!/./[cK]&&""===/./[cK]("a","$0"),mK=!XX(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")});VX("replace",function(t,e,r){var n=yK?"$":"$0";return[function(t,r){var n=rK(this),i=JX(t)?iK(t,cK):void 0;return i?WX(i,t,n,r):WX(e,eK(n),t,r)},function(t,i){var o=KX(this),a=eK(t);if("string"==typeof i&&-1===dK(i,n)&&-1===dK(i,"$<")){var s=r(e,o,a,i);if(s.done)return s.value}var c=QX(i);c||(i=eK(i));var l,u=eK(aK(o)),h=-1!==dK(u,"g");h&&(l=-1!==dK(u,"u"),o.lastIndex=0);for(var f,d=[];null!==(f=sK(o,a))&&(fK(d,f),h);){""===eK(f[0])&&(o.lastIndex=nK(a,tK(o.lastIndex),l))}for(var p="",g=0,v=0;v<d.length;v++){for(var y,m=eK((f=d[v])[0]),b=lK(uK(ZX(f.index),a.length),0),x=[],w=1;w<f.length;w++)fK(x,gK(f[w]));var A=f.groups;if(c){var _=hK([m],x,b,a);void 0!==A&&fK(_,A),y=eK(HX(i,void 0,_))}else y=oK(m,a,b,x,A,i);b>=g&&(p+=pK(a,g,b)+y,g=b+m.length)}return p+pK(a,g)}]},!mK||!vK||yK);var bK=ri,xK=l,wK=w,AK=D,_K=z,EK=B,kK=q$,SK=pi,MK=xt,OK=aY,TK=GX,PK=ee("replace"),IK=TypeError,CK=wK("".indexOf);wK("".replace);var RK=wK("".slice),DK=Math.max;bK({target:"String",proto:!0},{replaceAll:function(t,e){var r,n,i,o,a,s,c,l,u,h=AK(this),f=0,d="";if(EK(t)){if(kK(t)&&(r=SK(AK(OK(t))),!~CK(r,"g")))throw new IK("`.replaceAll` does not allow non-global regexes");if(n=MK(t,PK))return xK(n,t,h,e)}for(i=SK(h),o=SK(t),(a=_K(e))||(e=SK(e)),s=o.length,c=DK(1,s),l=CK(i,o);-1!==l;)u=a?SK(e(o,l,i)):TK(o,i,l,[],void 0,e),d+=RK(i,f,l)+u,f=l+s,l=l+c>i.length?-1:CK(i,o,l+c);return f<i.length&&(d+=RK(i,f)),d}});var jK=l,LK=Re,NK=B,FK=D,zK=oj,UK=pi,BK=xt,$K=jV;SV("search",function(t,e,r){return[function(e){var r=FK(this),n=NK(e)?BK(e,t):void 0;return n?jK(n,e,r):new RegExp(e)[t](UK(r))},function(t){var n=LK(this),i=UK(t),o=r(e,n,i);if(o.done)return o.value;var a=n.lastIndex;zK(a,0)||(n.lastIndex=0);var s=$K(n,i);return zK(n.lastIndex,a)||(n.lastIndex=a),null===s?-1:s.index}]});var YK=l,GK=w,HK=SV,WK=Re,qK=B,VK=D,XK=mL,KK=OV,QK=hn,JK=pi,ZK=xt,tQ=jV,eQ=i,rQ=fY.UNSUPPORTED_Y,nQ=Math.min,iQ=GK([].push),oQ=GK("".slice),aQ=!eQ(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),sQ="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;HK("split",function(t,e,r){var n="0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:YK(e,this,t,r)}:e;return[function(e,r){var i=VK(this),o=qK(e)?ZK(e,t):void 0;return o?YK(o,e,i,r):YK(n,JK(i),e,r)},function(t,i){var o=WK(this),a=JK(t);if(!sQ){var s=r(n,o,a,i,n!==e);if(s.done)return s.value}var c=XK(o,RegExp),l=o.unicode,u=(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.unicode?"u":"")+(rQ?"g":"y"),h=new c(rQ?"^(?:"+o.source+")":o,u),f=void 0===i?4294967295:i>>>0;if(0===f)return[];if(0===a.length)return null===tQ(h,a)?[a]:[];for(var d=0,p=0,g=[];p<a.length;){h.lastIndex=rQ?0:p;var v,y=tQ(h,rQ?oQ(a,p):a);if(null===y||(v=nQ(QK(h.lastIndex+(rQ?p:0)),a.length))===d)p=KK(a,p,l);else{if(iQ(g,oQ(a,d,p)),g.length===f)return g;for(var m=1;m<=y.length-1;m++)if(iQ(g,y[m]),g.length===f)return g;p=d=v}}return iQ(g,oQ(a,d)),g}]},sQ||!aQ,rQ);var cQ=ri,lQ=yo,uQ=n.f,hQ=hn,fQ=pi,dQ=Cq,pQ=D,gQ=Dq,vQ=lQ("".slice),yQ=Math.min,mQ=gQ("startsWith"),bQ=!mQ&&!!function(){var t=uQ(String.prototype,"startsWith");return t&&!t.writable}();cQ({target:"String",proto:!0,forced:!bQ&&!mQ},{startsWith:function(t){var e=fQ(pQ(this));dQ(t);var r=hQ(yQ(arguments.length>1?arguments[1]:void 0,e.length)),n=fQ(t);return vQ(e,r,r+n.length)===n}});var xQ=ri,wQ=D,AQ=nn,_Q=pi,EQ=w("".slice),kQ=Math.max,SQ=Math.min;xQ({target:"String",proto:!0,forced:!"".substr||"b"!=="ab".substr(-1)},{substr:function(t,e){var r,n,i=_Q(wQ(this)),o=i.length,a=AQ(t);return a===1/0&&(a=0),a<0&&(a=kQ(o+a,0)),(r=void 0===e?o:AQ(e))<=0||r===1/0||a>=(n=SQ(a+r,o))?"":EQ(i,a,n)}});var MQ=ri,OQ=l,TQ=w,PQ=D,IQ=pi,CQ=i,RQ=Array,DQ=TQ("".charAt),jQ=TQ("".charCodeAt),LQ=TQ([].join),NQ="".toWellFormed,FQ=NQ&&CQ(function(){return"1"!==OQ(NQ,1)});MQ({target:"String",proto:!0,forced:FQ},{toWellFormed:function(){var t=IQ(PQ(this));if(FQ)return OQ(NQ,t);for(var e=t.length,r=RQ(e),n=0;n<e;n++){var i=jQ(t,n);55296!=(63488&i)?r[n]=DQ(t,n):i>=56320||n+1>=e||56320!=(64512&jQ(t,n+1))?r[n]="�":(r[n]=DQ(t,n),r[++n]=DQ(t,n))}return LQ(r,"")}});var zQ=tr.PROPER,UQ=i,BQ=BI,$Q=function(t){return UQ(function(){return!!BQ[t]()||"​…᠎"!=="​…᠎"[t]()||zQ&&BQ[t].name!==t})},YQ=XI.trim;ri({target:"String",proto:!0,forced:$Q("trim")},{trim:function(){return YQ(this)}});var GQ=XI.end,HQ=$Q("trimEnd")?function(){return GQ(this)}:"".trimEnd;ri({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==HQ},{trimRight:HQ});ri({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==HQ},{trimEnd:HQ});var WQ=XI.start,qQ=$Q("trimStart")?function(){return WQ(this)}:"".trimStart;ri({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==qQ},{trimLeft:qQ});ri({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==qQ},{trimStart:qQ});var VQ=D,XQ=pi,KQ=/"/g,QQ=w("".replace),JQ=function(t,e,r,n){var i=XQ(VQ(t)),o="<"+e;return""!==r&&(o+=" "+r+'="'+QQ(XQ(n),KQ,"&quot;")+'"'),o+">"+i+"</"+e+">"},ZQ=i,tJ=function(t){return ZQ(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3})},eJ=JQ;ri({target:"String",proto:!0,forced:tJ("anchor")},{anchor:function(t){return eJ(this,"a","name",t)}});var rJ=JQ;ri({target:"String",proto:!0,forced:tJ("big")},{big:function(){return rJ(this,"big","","")}});var nJ=JQ;ri({target:"String",proto:!0,forced:tJ("blink")},{blink:function(){return nJ(this,"blink","","")}});var iJ=JQ;ri({target:"String",proto:!0,forced:tJ("bold")},{bold:function(){return iJ(this,"b","","")}});var oJ=JQ;ri({target:"String",proto:!0,forced:tJ("fixed")},{fixed:function(){return oJ(this,"tt","","")}});var aJ=JQ;ri({target:"String",proto:!0,forced:tJ("fontcolor")},{fontcolor:function(t){return aJ(this,"font","color",t)}});var sJ=JQ;ri({target:"String",proto:!0,forced:tJ("fontsize")},{fontsize:function(t){return sJ(this,"font","size",t)}});var cJ=JQ;ri({target:"String",proto:!0,forced:tJ("italics")},{italics:function(){return cJ(this,"i","","")}});var lJ=JQ;ri({target:"String",proto:!0,forced:tJ("link")},{link:function(t){return lJ(this,"a","href",t)}});var uJ=JQ;ri({target:"String",proto:!0,forced:tJ("small")},{small:function(){return uJ(this,"small","","")}});var hJ=JQ;ri({target:"String",proto:!0,forced:tJ("strike")},{strike:function(){return hJ(this,"strike","","")}});var fJ=JQ;ri({target:"String",proto:!0,forced:tJ("sub")},{sub:function(){return fJ(this,"sub","","")}});var dJ=JQ;ri({target:"String",proto:!0,forced:tJ("sup")},{sup:function(){return dJ(this,"sup","","")}});var pJ={exports:{}},gJ=r,vJ=i,yJ=mp,mJ=Tx.NATIVE_ARRAY_BUFFER_VIEWS,bJ=gJ.ArrayBuffer,xJ=gJ.Int8Array,wJ=!mJ||!vJ(function(){xJ(1)})||!vJ(function(){new xJ(-1)})||!yJ(function(t){new xJ,new xJ(null),new xJ(1.5),new xJ(t)},!0)||vJ(function(){return 1!==new xJ(new bJ(2),1,void 0).length}),AJ=qk,_J=RangeError,EJ=function(t,e){var r=AJ(t);if(r%e)throw new _J("Wrong offset");return r},kJ=Math.round,SJ=hi,MJ=function(t){var e=SJ(t);return"BigInt64Array"===e||"BigUint64Array"===e},OJ=le,TJ=TypeError,PJ=function(t){var e=OJ(t,"number");if("number"==typeof e)throw new TJ("Can't convert number to bigint");return BigInt(e)},IJ=wo,CJ=l,RJ=dL,DJ=Ft,jJ=dn,LJ=ah,NJ=Zu,FJ=qu,zJ=MJ,UJ=Tx.aTypedArrayConstructor,BJ=PJ,$J=function(t){var e,r,n,i,o,a,s,c,l=RJ(this),u=DJ(t),h=arguments.length,f=h>1?arguments[1]:void 0,d=void 0!==f,p=NJ(u);if(p&&!FJ(p))for(c=(s=LJ(u,p)).next,u=[];!(a=CJ(c,s)).done;)u.push(a.value);for(d&&h>2&&(f=IJ(f,arguments[2])),r=jJ(u),n=new(UJ(l))(r),i=zJ(n),e=0;r>e;e++)o=d?f(u[e],e):u[e],n[e]=i?BJ(o):+o;return n},YJ=ri,GJ=r,HJ=l,WJ=o,qJ=wJ,VJ=Tx,XJ=Bb,KJ=bm,QJ=v,JJ=qe,ZJ=kC,tZ=hn,eZ=_m,rZ=EJ,nZ=function(t){var e=kJ(t);return e<0?0:e>255?255:255&e},iZ=fe,oZ=Bt,aZ=hi,sZ=B,cZ=ht,lZ=Ui,uZ=H,hZ=wl,fZ=Jr.f,dZ=$J,pZ=Qo.forEach,gZ=gy,vZ=Ki,yZ=Oe,mZ=n,bZ=Ly,xZ=Ml,wZ=Tr.get,AZ=Tr.set,_Z=Tr.enforce,EZ=yZ.f,kZ=mZ.f,SZ=GJ.RangeError,MZ=XJ.ArrayBuffer,OZ=MZ.prototype,TZ=XJ.DataView,PZ=VJ.NATIVE_ARRAY_BUFFER_VIEWS,IZ=VJ.TYPED_ARRAY_TAG,CZ=VJ.TypedArray,RZ=VJ.TypedArrayPrototype,DZ=VJ.isTypedArray,jZ="BYTES_PER_ELEMENT",LZ="Wrong length",NZ=function(t,e){vZ(t,e,{configurable:!0,get:function(){return wZ(this)[e]}})},FZ=function(t){var e;return uZ(OZ,t)||"ArrayBuffer"===(e=aZ(t))||"SharedArrayBuffer"===e},zZ=function(t,e){return DZ(t)&&!cZ(e)&&e in t&&ZJ(+e)&&e>=0},UZ=function(t,e){return e=iZ(e),zZ(t,e)?QJ(2,t[e]):kZ(t,e)},BZ=function(t,e,r){return e=iZ(e),!(zZ(t,e)&&sZ(r)&&oZ(r,"value"))||oZ(r,"get")||oZ(r,"set")||r.configurable||oZ(r,"writable")&&!r.writable||oZ(r,"enumerable")&&!r.enumerable?EZ(t,e,r):(t[e]=r.value,t)};WJ?(PZ||(mZ.f=UZ,yZ.f=BZ,NZ(RZ,"buffer"),NZ(RZ,"byteOffset"),NZ(RZ,"byteLength"),NZ(RZ,"length")),YJ({target:"Object",stat:!0,forced:!PZ},{getOwnPropertyDescriptor:UZ,defineProperty:BZ}),pJ.exports=function(t,e,r){var n=t.match(/\d+/)[0]/8,i=t+(r?"Clamped":"")+"Array",o="get"+t,a="set"+t,s=GJ[i],c=s,l=c&&c.prototype,u={},h=function(t,e){EZ(t,e,{get:function(){return function(t,e){var r=wZ(t);return r.view[o](e*n+r.byteOffset,!0)}(this,e)},set:function(t){return function(t,e,i){var o=wZ(t);o.view[a](e*n+o.byteOffset,r?nZ(i):i,!0)}(this,e,t)},enumerable:!0})};PZ?qJ&&(c=e(function(t,e,r,i){return KJ(t,l),xZ(sZ(e)?FZ(e)?void 0!==i?new s(e,rZ(r,n),i):void 0!==r?new s(e,rZ(r,n)):new s(e):DZ(e)?bZ(c,e):HJ(dZ,c,e):new s(eZ(e)),t,c)}),hZ&&hZ(c,CZ),pZ(fZ(s),function(t){t in c||JJ(c,t,s[t])}),c.prototype=l):(c=e(function(t,e,r,i){KJ(t,l);var o,a,s,u=0,f=0;if(sZ(e)){if(!FZ(e))return DZ(e)?bZ(c,e):HJ(dZ,c,e);o=e,f=rZ(r,n);var d=e.byteLength;if(void 0===i){if(d%n)throw new SZ(LZ);if((a=d-f)<0)throw new SZ(LZ)}else if((a=tZ(i)*n)+f>d)throw new SZ(LZ);s=a/n}else s=eZ(e),o=new MZ(a=s*n);for(AZ(t,{buffer:o,byteOffset:f,byteLength:a,length:s,view:new TZ(o)});u<s;)h(t,u++)}),hZ&&hZ(c,CZ),l=c.prototype=lZ(RZ)),l.constructor!==c&&JJ(l,"constructor",c),_Z(l).TypedArrayConstructor=c,IZ&&JJ(l,IZ,i);var f=c!==s;u[i]=c,YJ({global:!0,constructor:!0,forced:f,sham:!PZ},u),jZ in c||JJ(c,jZ,n),jZ in l||JJ(l,jZ,n),gZ(i)}):pJ.exports=function(){},(0,pJ.exports)("Float32",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,pJ.exports)("Float64",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,pJ.exports)("Int8",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,pJ.exports)("Int16",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,pJ.exports)("Int32",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,pJ.exports)("Uint8",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,pJ.exports)("Uint8",function(t){return function(e,r,n){return t(this,e,r,n)}},!0),(0,pJ.exports)("Uint16",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,pJ.exports)("Uint32",function(t){return function(e,r,n){return t(this,e,r,n)}});var $Z=dn,YZ=nn,GZ=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("at",function(t){var e=GZ(this),r=$Z(e),n=YZ(t),i=n>=0?n:r+n;return i<0||i>=r?void 0:e[i]});var HZ=Tx,WZ=w(id),qZ=HZ.aTypedArray;(0,HZ.exportTypedArrayMethod)("copyWithin",function(t,e){return WZ(qZ(this),t,e,arguments.length>2?arguments[2]:void 0)});var VZ=Qo.every,XZ=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("every",function(t){return VZ(XZ(this),t,arguments.length>1?arguments[1]:void 0)});var KZ=fd,QZ=PJ,JZ=hi,ZZ=l,t0=i,e0=Tx.aTypedArray,r0=Tx.exportTypedArrayMethod,n0=w("".slice),i0=t0(function(){var t=0;return new Int8Array(2).fill({valueOf:function(){return t++}}),1!==t});r0("fill",function(t){var e=arguments.length;e0(this);var r="Big"===n0(JZ(this),0,3)?QZ(t):+t;return ZZ(KZ,this,r,e>1?arguments[1]:void 0,e>2?arguments[2]:void 0)},i0);var o0=Ly,a0=Tx.getTypedArrayConstructor,s0=Qo.filter,c0=function(t,e){return o0(a0(t),e)},l0=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("filter",function(t){var e=s0(l0(this),t,arguments.length>1?arguments[1]:void 0);return c0(this,e)});var u0=Qo.find,h0=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("find",function(t){return u0(h0(this),t,arguments.length>1?arguments[1]:void 0)});var f0=Qo.findIndex,d0=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("findIndex",function(t){return f0(d0(this),t,arguments.length>1?arguments[1]:void 0)});var p0=Pd.findLast,g0=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("findLast",function(t){return p0(g0(this),t,arguments.length>1?arguments[1]:void 0)});var v0=Pd.findLastIndex,y0=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("findLastIndex",function(t){return v0(y0(this),t,arguments.length>1?arguments[1]:void 0)});var m0=Qo.forEach,b0=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("forEach",function(t){m0(b0(this),t,arguments.length>1?arguments[1]:void 0)}),(0,Tx.exportTypedArrayStaticMethod)("from",$J,wJ);var x0=mn.includes,w0=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("includes",function(t){return x0(w0(this),t,arguments.length>1?arguments[1]:void 0)});var A0=mn.indexOf,_0=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("indexOf",function(t){return A0(_0(this),t,arguments.length>1?arguments[1]:void 0)});var E0=r,k0=i,S0=w,M0=Tx,O0=Eg,T0=ee("iterator"),P0=E0.Uint8Array,I0=S0(O0.values),C0=S0(O0.keys),R0=S0(O0.entries),D0=M0.aTypedArray,j0=M0.exportTypedArrayMethod,L0=P0&&P0.prototype,N0=!k0(function(){L0[T0].call([1])}),F0=!!L0&&L0.values&&L0[T0]===L0.values&&"values"===L0.values.name,z0=function(){return I0(D0(this))};j0("entries",function(){return R0(D0(this))},N0),j0("keys",function(){return C0(D0(this))},N0),j0("values",z0,N0||!F0,{name:"values"}),j0(T0,z0,N0||!F0,{name:"values"});var U0=Tx.aTypedArray,B0=Tx.exportTypedArrayMethod,$0=w([].join);B0("join",function(t){return $0(U0(this),t)});var Y0=Ms,G0=Ug,H0=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("lastIndexOf",function(t){var e=arguments.length;return Y0(G0,H0(this),e>1?[t,arguments[1]]:[t])});var W0=Qo.map,q0=Tx.aTypedArray,V0=Tx.getTypedArrayConstructor;(0,Tx.exportTypedArrayMethod)("map",function(t){return W0(q0(this),t,arguments.length>1?arguments[1]:void 0,function(t,e){return new(V0(t))(e)})});var X0=Tx.aTypedArrayConstructor;(0,Tx.exportTypedArrayStaticMethod)("of",function(){for(var t=0,e=arguments.length,r=new(X0(this))(e);e>t;)r[t]=arguments[t++];return r},wJ);var K0=sv.left,Q0=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("reduce",function(t){var e=arguments.length;return K0(Q0(this),t,e,e>1?arguments[1]:void 0)});var J0=sv.right,Z0=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("reduceRight",function(t){var e=arguments.length;return J0(Z0(this),t,e,e>1?arguments[1]:void 0)});var t1=Tx.aTypedArray,e1=Tx.exportTypedArrayMethod,r1=Math.floor;e1("reverse",function(){for(var t,e=this,r=t1(e).length,n=r1(r/2),i=0;i<n;)t=e[i],e[i++]=e[--r],e[r]=t;return e});var n1=r,i1=l,o1=Tx,a1=dn,s1=EJ,c1=Ft,l1=i,u1=n1.RangeError,h1=n1.Int8Array,f1=h1&&h1.prototype,d1=f1&&f1.set,p1=o1.aTypedArray,g1=o1.exportTypedArrayMethod,v1=!l1(function(){var t=new Uint8ClampedArray(2);return i1(d1,t,{length:1,0:3},1),3!==t[1]}),y1=v1&&o1.NATIVE_ARRAY_BUFFER_VIEWS&&l1(function(){var t=new h1(2);return t.set(1),t.set("2",1),0!==t[0]||2!==t[1]});g1("set",function(t){p1(this);var e=s1(arguments.length>1?arguments[1]:void 0,1),r=c1(t);if(v1)return i1(d1,this,r,e);var n=this.length,i=a1(r),o=0;if(i+e>n)throw new u1("Wrong length");for(;o<i;)this[e+o]=r[o++]},!v1||y1);var m1=$i,b1=Tx.aTypedArray,x1=Tx.getTypedArrayConstructor;(0,Tx.exportTypedArrayMethod)("slice",function(t,e){for(var r=m1(b1(this),t,e),n=x1(this),i=0,o=r.length,a=new n(o);o>i;)a[i]=r[i++];return a},i(function(){new Int8Array(1).slice()}));var w1=Qo.some,A1=Tx.aTypedArray;(0,Tx.exportTypedArrayMethod)("some",function(t){return w1(A1(this),t,arguments.length>1?arguments[1]:void 0)});var _1=yo,E1=i,k1=yt,S1=Fv,M1=Uv,O1=Bv,T1=et,P1=Yv,I1=Tx.aTypedArray,C1=Tx.exportTypedArrayMethod,R1=r.Uint16Array,D1=R1&&_1(R1.prototype.sort),j1=!(!D1||E1(function(){D1(new R1(2),null)})&&E1(function(){D1(new R1(2),{})})),L1=!!D1&&!E1(function(){if(T1)return T1<74;if(M1)return M1<67;if(O1)return!0;if(P1)return P1<602;var t,e,r=new R1(516),n=Array(516);for(t=0;t<516;t++)e=t%4,r[t]=515-t,n[t]=t-2*e+3;for(D1(r,function(t,e){return(t/4|0)-(e/4|0)}),t=0;t<516;t++)if(r[t]!==n[t])return!0});C1("sort",function(t){return void 0!==t&&k1(t),L1?D1(this,t):S1(I1(this),function(t){return function(e,r){return void 0!==t?+t(e,r)||0:r!=r?-1:e!=e?1:0===e&&0===r?1/e>0&&1/r<0?1:-1:e>r}}(t))},!L1||j1);var N1=hn,F1=cn,z1=Tx.aTypedArray,U1=Tx.getTypedArrayConstructor;(0,Tx.exportTypedArrayMethod)("subarray",function(t,e){var r=z1(this),n=r.length,i=F1(t,n);return new(U1(r))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,N1((void 0===e?n:F1(e,n))-i))});var B1=Ms,$1=Tx,Y1=i,G1=$i,H1=r.Int8Array,W1=$1.aTypedArray,q1=$1.exportTypedArrayMethod,V1=[].toLocaleString,X1=!!H1&&Y1(function(){V1.call(new H1(1))});q1("toLocaleString",function(){return B1(V1,X1?G1(W1(this)):W1(this),G1(arguments))},Y1(function(){return[1,2].toLocaleString()!==new H1([1,2]).toLocaleString()})||!Y1(function(){H1.prototype.toLocaleString.call([1,2])}));var K1=Py,Q1=Tx.aTypedArray,J1=Tx.getTypedArrayConstructor;(0,Tx.exportTypedArrayMethod)("toReversed",function(){return K1(Q1(this),J1(this))});var Z1=yt,t2=Ly,e2=Tx.aTypedArray,r2=Tx.getTypedArrayConstructor,n2=Tx.exportTypedArrayMethod,i2=w(Tx.TypedArrayPrototype.sort);n2("toSorted",function(t){void 0!==t&&Z1(t);var e=e2(this),r=t2(r2(e),e);return i2(r,t)});var o2=Tx.exportTypedArrayMethod,a2=i,s2=w,c2=r.Uint8Array,l2=c2&&c2.prototype||{},u2=[].toString,h2=s2([].join);a2(function(){u2.call({})})&&(u2=function(){return h2(this)});var f2=l2.toString!==u2;o2("toString",u2,f2);var d2=um,p2=MJ,g2=nn,v2=PJ,y2=Tx.aTypedArray,m2=Tx.getTypedArrayConstructor,b2=Tx.exportTypedArrayMethod,x2=function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(t){return 8===t}}(),w2=x2&&function(){try{new Int8Array(1).with(-.5,1)}catch(t){return!0}}();b2("with",{with:function(t,e){var r=y2(this),n=g2(t),i=p2(r)?v2(e):+e;return d2(r,m2(r),n,i)}}.with,!x2||w2);var A2=B,_2=String,E2=TypeError,k2=function(t){if(void 0===t||A2(t))return t;throw new E2(_2(t)+" is not an object or undefined")},S2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",M2=S2+"+/",O2=S2+"-_",T2=function(t){for(var e={},r=0;r<64;r++)e[t.charAt(r)]=r;return e},P2={i2c:M2,c2i:T2(M2),i2cUrl:O2,c2iUrl:T2(O2)},I2=TypeError,C2=function(t){var e=t&&t.alphabet;if(void 0===e||"base64"===e||"base64url"===e)return e||"base64";throw new I2("Incorrect `alphabet` option")},R2=r,D2=w,j2=k2,L2=aG,N2=Bt,F2=C2,z2=Ow,U2=P2.c2i,B2=P2.c2iUrl,$2=R2.SyntaxError,Y2=R2.TypeError,G2=D2("".charAt),H2=function(t,e){for(var r=t.length;e<r;e++){var n=G2(t,e);if(" "!==n&&"\t"!==n&&"\n"!==n&&"\f"!==n&&"\r"!==n)break}return e},W2=function(t,e,r){var n=t.length;n<4&&(t+=2===n?"AA":"A");var i=(e[G2(t,0)]<<18)+(e[G2(t,1)]<<12)+(e[G2(t,2)]<<6)+e[G2(t,3)],o=[i>>16&255,i>>8&255,255&i];if(2===n){if(r&&0!==o[1])throw new $2("Extra bits");return[o[0]]}if(3===n){if(r&&0!==o[2])throw new $2("Extra bits");return[o[0],o[1]]}return o},q2=function(t,e,r){for(var n=e.length,i=0;i<n;i++)t[r+i]=e[i];return r+n},V2=function(t,e,r,n){L2(t),j2(e);var i="base64"===F2(e)?U2:B2,o=e?e.lastChunkHandling:void 0;if(void 0===o&&(o="loose"),"loose"!==o&&"strict"!==o&&"stop-before-partial"!==o)throw new Y2("Incorrect `lastChunkHandling` option");r&&z2(r.buffer);var a=t.length,s=r||[],c=0,l=0,u="",h=0;if(n)for(;;){if((h=H2(t,h))===a){if(u.length>0){if("stop-before-partial"===o)break;if("loose"!==o)throw new $2("Missing padding");if(1===u.length)throw new $2("Malformed padding: exactly one additional character");c=q2(s,W2(u,i,!1),c)}l=a;break}var f=G2(t,h);if(++h,"="===f){if(u.length<2)throw new $2("Padding is too early");if(h=H2(t,h),2===u.length){if(h===a){if("stop-before-partial"===o)break;throw new $2("Malformed padding: only one =")}"="===G2(t,h)&&(++h,h=H2(t,h))}if(h<a)throw new $2("Unexpected character after padding");c=q2(s,W2(u,i,"strict"===o),c),l=a;break}if(!N2(i,f))throw new $2("Unexpected character");var d=n-c;if(1===d&&2===u.length||2===d&&3===u.length)break;if(4===(u+=f).length&&(c=q2(s,W2(u,i,!1),c),u="",l=h,c===n))break}return{bytes:s,read:l,written:c}},X2=ri,K2=Ly,Q2=V2,J2=r.Uint8Array,Z2=!J2||!J2.fromBase64||!function(){try{return void J2.fromBase64("a")}catch(t){}try{J2.fromBase64("",null)}catch(t){return!0}}();J2&&X2({target:"Uint8Array",stat:!0,forced:Z2},{fromBase64:function(t){var e=Q2(t,arguments.length>1?arguments[1]:void 0,null,9007199254740991);return K2(J2,e.bytes)}});var t3=r,e3=w,r3=t3.Uint8Array,n3=t3.SyntaxError,i3=t3.parseInt,o3=Math.min,a3=/[^\da-f]/i,s3=e3(a3.exec),c3=e3("".slice),l3=function(t,e){var r=t.length;if(r%2!=0)throw new n3("String should be an even number of characters");for(var n=e?o3(e.length,r/2):r/2,i=e||new r3(n),o=0,a=0;a<n;){var s=c3(t,o,o+=2);if(s3(a3,s))throw new n3("String should only contain hex characters");i[a++]=i3(s,16)}return{bytes:i,read:o}},u3=ri,h3=aG,f3=l3;r.Uint8Array&&u3({target:"Uint8Array",stat:!0},{fromHex:function(t){return f3(h3(t)).bytes}});var d3=hi,p3=TypeError,g3=function(t){if("Uint8Array"===d3(t))return t;throw new p3("Argument is not an Uint8Array")},v3=ri,y3=V2,m3=g3,b3=r.Uint8Array,x3=!b3||!b3.prototype.setFromBase64||!function(){var t=new b3([255,255,255,255,255]);try{return void t.setFromBase64("",null)}catch(t){}try{return void t.setFromBase64("a")}catch(t){}try{t.setFromBase64("MjYyZg===")}catch(e){return 50===t[0]&&54===t[1]&&50===t[2]&&255===t[3]&&255===t[4]}}();b3&&v3({target:"Uint8Array",proto:!0,forced:x3},{setFromBase64:function(t){m3(this);var e=y3(t,arguments.length>1?arguments[1]:void 0,this,this.length);return{read:e.read,written:e.written}}});var w3=ri,A3=aG,_3=g3,E3=Ow,k3=l3;r.Uint8Array&&w3({target:"Uint8Array",proto:!0},{setFromHex:function(t){_3(this),A3(t),E3(this.buffer);var e=k3(t,this).read;return{read:e,written:e/2}}});var S3=ri,M3=r,O3=k2,T3=g3,P3=Ow,I3=C2,C3=P2.i2c,R3=P2.i2cUrl,D3=w("".charAt),j3=M3.Uint8Array,L3=!j3||!j3.prototype.toBase64||!function(){try{(new j3).toBase64(null)}catch(t){return!0}}();j3&&S3({target:"Uint8Array",proto:!0,forced:L3},{toBase64:function(){var t=T3(this),e=arguments.length?O3(arguments[0]):void 0,r="base64"===I3(e)?C3:R3,n=!!e&&!!e.omitPadding;P3(this.buffer);for(var i,o="",a=0,s=t.length,c=function(t){return D3(r,i>>6*t&63)};a+2<s;a+=3)i=(t[a]<<16)+(t[a+1]<<8)+t[a+2],o+=c(3)+c(2)+c(1)+c(0);return a+2===s?(i=(t[a]<<16)+(t[a+1]<<8),o+=c(3)+c(2)+c(1)+(n?"":"=")):a+1===s&&(i=t[a]<<16,o+=c(3)+c(2)+(n?"":"==")),o}});var N3=ri,F3=r,z3=g3,U3=Ow,B3=w(1.1.toString),$3=F3.Uint8Array,Y3=!$3||!$3.prototype.toHex||!function(){try{return"ffffffffffffffff"===new $3([255,255,255,255,255,255,255,255]).toHex()}catch(t){return!1}}();$3&&N3({target:"Uint8Array",proto:!0,forced:Y3},{toHex:function(){z3(this),U3(this.buffer);for(var t="",e=0,r=this.length;e<r;e++){var n=B3(this[e],16);t+=1===n.length?"0"+n:n}return t}});var G3=ri,H3=w,W3=pi,q3=String.fromCharCode,V3=H3("".charAt),X3=H3(/./.exec),K3=H3("".slice),Q3=/^[\da-f]{2}$/i,J3=/^[\da-f]{4}$/i;G3({global:!0},{unescape:function(t){for(var e,r,n=W3(t),i="",o=n.length,a=0;a<o;){if("%"===(e=V3(n,a++)))if("u"===V3(n,a)){if(r=K3(n,a+1,a+5),X3(J3,r)){i+=q3(parseInt(r,16)),a+=5;continue}}else if(r=K3(n,a,a+2),X3(Q3,r)){i+=q3(parseInt(r,16)),a+=2;continue}i+=e}return i}});var Z3=w,t5=vm,e5=uT.exports.getWeakData,r5=bm,n5=Re,i5=I,o5=B,a5=Eh,s5=Bt,c5=Tr.set,l5=Tr.getterFor,u5=Qo.find,h5=Qo.findIndex,f5=Z3([].splice),d5=0,p5=function(t){return t.frozen||(t.frozen=new g5)},g5=function(){this.entries=[]},v5=function(t,e){return u5(t.entries,function(t){return t[0]===e})};g5.prototype={get:function(t){var e=v5(this,t);if(e)return e[1]},has:function(t){return!!v5(this,t)},set:function(t,e){var r=v5(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=h5(this.entries,function(e){return e[0]===t});return~e&&f5(this.entries,e,1),!!~e}};var y5,m5={getConstructor:function(t,e,r,n){var i=t(function(t,i){r5(t,o),c5(t,{type:e,id:d5++,frozen:null}),i5(i)||a5(i,t[n],{that:t,AS_ENTRIES:r})}),o=i.prototype,a=l5(e),s=function(t,e,r){var n=a(t),i=e5(n5(e),!0);return!0===i?p5(n).set(e,r):i[n.id]=r,t};return t5(o,{delete:function(t){var e=a(this);if(!o5(t))return!1;var r=e5(t);return!0===r?p5(e).delete(t):r&&s5(r,e.id)&&delete r[e.id]},has:function(t){var e=a(this);if(!o5(t))return!1;var r=e5(t);return!0===r?p5(e).has(t):r&&s5(r,e.id)}}),t5(o,r?{get:function(t){var e=a(this);if(o5(t)){var r=e5(t);if(!0===r)return p5(e).get(t);if(r)return r[e.id]}},set:function(t,e){return s(this,t,e)}}:{add:function(t){return s(this,t,!0)}}),i}},b5=VO,x5=r,w5=w,A5=vm,_5=uT.exports,E5=VT,k5=m5,S5=B,M5=Tr.enforce,O5=i,T5=hr,P5=Object,I5=Array.isArray,C5=P5.isExtensible,R5=P5.isFrozen,D5=P5.isSealed,j5=P5.freeze,L5=P5.seal,N5=!x5.ActiveXObject&&"ActiveXObject"in x5,F5=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},z5=E5("WeakMap",F5,k5),U5=z5.prototype,B5=w5(U5.set);if(T5)if(N5){y5=k5.getConstructor(F5,"WeakMap",!0),_5.enable();var $5=w5(U5.delete),Y5=w5(U5.has),G5=w5(U5.get);A5(U5,{delete:function(t){if(S5(t)&&!C5(t)){var e=M5(this);return e.frozen||(e.frozen=new y5),$5(this,t)||e.frozen.delete(t)}return $5(this,t)},has:function(t){if(S5(t)&&!C5(t)){var e=M5(this);return e.frozen||(e.frozen=new y5),Y5(this,t)||e.frozen.has(t)}return Y5(this,t)},get:function(t){if(S5(t)&&!C5(t)){var e=M5(this);return e.frozen||(e.frozen=new y5),Y5(this,t)?G5(this,t):e.frozen.get(t)}return G5(this,t)},set:function(t,e){if(S5(t)&&!C5(t)){var r=M5(this);r.frozen||(r.frozen=new y5),Y5(this,t)?B5(this,t,e):r.frozen.set(t,e)}else B5(this,t,e);return this}})}else b5&&O5(function(){var t=j5([]);return B5(new z5,t,1),!R5(t)})&&A5(U5,{set:function(t,e){var r;return I5(t)&&(R5(t)?r=j5:D5(t)&&(r=L5)),B5(this,t,e),r&&r(t),this}});VT("WeakSet",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},m5);var H5=ri,W5=r,q5=G,V5=w,X5=l,K5=i,Q5=pi,J5=xL,Z5=P2.c2i,t4=/[^\d+/a-z]/i,e4=/[\t\n\f\r ]+/g,r4=/[=]{1,2}$/,n4=q5("atob"),i4=String.fromCharCode,o4=V5("".charAt),a4=V5("".replace),s4=V5(t4.exec),c4=!!n4&&!K5(function(){return"hi"!==n4("aGk=")}),l4=c4&&K5(function(){return""!==n4(" ")}),u4=c4&&!K5(function(){n4("a")}),h4=c4&&!K5(function(){n4()}),f4=c4&&1!==n4.length;H5({global:!0,bind:!0,enumerable:!0,forced:!c4||l4||u4||h4||f4},{atob:function(t){if(J5(arguments.length,1),c4&&!l4&&!u4)return X5(n4,W5,t);var e,r,n,i=a4(Q5(t),e4,""),o="",a=0,s=0;if(i.length%4==0&&(i=a4(i,r4,"")),(e=i.length)%4==1||s4(t4,i))throw new(q5("DOMException"))("The string is not correctly encoded","InvalidCharacterError");for(;a<e;)r=o4(i,a++),n=s%4?64*n+Z5[r]:Z5[r],s++%4&&(o+=i4(255&n>>(-2*s&6)));return o}});var d4=ri,p4=r,g4=G,v4=w,y4=l,m4=i,b4=pi,x4=xL,w4=P2.i2c,A4=g4("btoa"),_4=v4("".charAt),E4=v4("".charCodeAt),k4=!!A4&&!m4(function(){return"aGk="!==A4("hi")}),S4=k4&&!m4(function(){A4()}),M4=k4&&m4(function(){return"bnVsbA=="!==A4(null)}),O4=k4&&1!==A4.length;d4({global:!0,bind:!0,enumerable:!0,forced:!k4||S4||M4||O4},{btoa:function(t){if(x4(arguments.length,1),k4)return y4(A4,p4,b4(t));for(var e,r,n=b4(t),i="",o=0,a=w4;_4(n,o)||(a="=",o%1);){if((r=E4(n,o+=3/4))>255)throw new(g4("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");i+=_4(a,63&(e=e<<8|r)>>8-o%1*8)}return i}});var T4={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},P4=ve("span").classList,I4=P4&&P4.constructor&&P4.constructor.prototype,C4=I4===Object.prototype?void 0:I4,R4=r,D4=T4,j4=C4,L4=Jd,N4=qe,F4=function(t){if(t&&t.forEach!==L4)try{N4(t,"forEach",L4)}catch(e){t.forEach=L4}};for(var z4 in D4)D4[z4]&&F4(R4[z4]&&R4[z4].prototype);F4(j4);var U4=r,B4=T4,$4=C4,Y4=Eg,G4=qe,H4=po,W4=ee("iterator"),q4=Y4.values,V4=function(t,e){if(t){if(t[W4]!==q4)try{G4(t,W4,q4)}catch(e){t[W4]=q4}if(H4(t,e,!0),B4[e])for(var r in Y4)if(t[r]!==Y4[r])try{G4(t,r,Y4[r])}catch(e){t[r]=Y4[r]}}};for(var X4 in B4)V4(U4[X4]&&U4[X4].prototype,X4);V4($4,"DOMTokenList");var K4={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}},Q4=ri,J4=G,Z4=Iw,t6=i,e6=Ui,r6=v,n6=Oe.f,i6=Qr,o6=Ki,a6=Bt,s6=bm,c6=Re,l6=Pu,u6=Tl,h6=K4,f6=Fl,d6=Tr,p6=o,g6="DOMException",v6="DATA_CLONE_ERR",y6=J4("Error"),m6=J4(g6)||function(){try{(new(J4("MessageChannel")||Z4("worker_threads").MessageChannel)).port1.postMessage(new WeakMap)}catch(t){if(t.name===v6&&25===t.code)return t.constructor}}(),b6=m6&&m6.prototype,x6=y6.prototype,w6=d6.set,A6=d6.getterFor(g6),_6="stack"in new y6(g6),E6=function(t){return a6(h6,t)&&h6[t].m?h6[t].c:0},k6=function(){s6(this,S6);var t=arguments.length,e=u6(t<1?void 0:arguments[0]),r=u6(t<2?void 0:arguments[1],"Error"),n=E6(r);if(w6(this,{type:g6,name:r,message:e,code:n}),p6||(this.name=r,this.message=e,this.code=n),_6){var i=new y6(e);i.name=g6,n6(this,"stack",r6(1,f6(i.stack,1)))}},S6=k6.prototype=e6(x6),M6=function(t){return{enumerable:!0,configurable:!0,get:t}},O6=function(t){return M6(function(){return A6(this)[t]})};p6&&(o6(S6,"code",O6("code")),o6(S6,"message",O6("message")),o6(S6,"name",O6("name"))),n6(S6,"constructor",r6(1,k6));var T6=t6(function(){return!(new m6 instanceof y6)}),P6=T6||t6(function(){return x6.toString!==l6||"2: 1"!==String(new m6(1,2))}),I6=T6||t6(function(){return 25!==new m6(1,"DataCloneError").code});T6||25!==m6[v6]||b6[v6];Q4({global:!0,constructor:!0,forced:T6},{DOMException:T6?k6:m6});var C6=J4(g6),R6=C6.prototype;for(var D6 in P6&&m6===C6&&i6(R6,"toString",l6),I6&&p6&&m6===C6&&o6(R6,"code",M6(function(){return E6(c6(this).name)})),h6)if(a6(h6,D6)){var j6=h6[D6],L6=j6.s,N6=r6(6,j6.c);a6(C6,L6)||n6(C6,L6,N6),a6(R6,L6)||n6(R6,L6,N6)}var F6=ri,z6=r,U6=G,B6=v,$6=Oe.f,Y6=Bt,G6=bm,H6=Ml,W6=Tl,q6=K4,V6=Fl,X6=o,K6="DOMException",Q6=U6("Error"),J6=U6(K6),Z6=function(){G6(this,t8);var t=arguments.length,e=W6(t<1?void 0:arguments[0]),r=W6(t<2?void 0:arguments[1],"Error"),n=new J6(e,r),i=new Q6(e);return i.name=K6,$6(n,"stack",B6(1,V6(i.stack,1))),H6(n,this,Z6),n},t8=Z6.prototype=J6.prototype,e8="stack"in new Q6(K6),r8="stack"in new J6(1,2),n8=J6&&X6&&Object.getOwnPropertyDescriptor(z6,K6),i8=!(!n8||n8.writable&&n8.configurable),o8=e8&&!i8&&!r8;F6({global:!0,constructor:!0,forced:o8},{DOMException:o8?Z6:J6});var a8=U6(K6),s8=a8.prototype;if(s8.constructor!==a8)for(var c8 in $6(s8,"constructor",B6(1,a8)),q6)if(Y6(q6,c8)){var l8=q6[c8],u8=l8.s;Y6(a8,u8)||$6(a8,u8,B6(6,l8.c))}var h8="DOMException";po(G(h8),h8);var f8=VL.clear;ri({global:!0,bind:!0,enumerable:!0,forced:r.clearImmediate!==f8},{clearImmediate:f8});var d8=r,p8=Ms,g8=z,v8=fv,y8=V,m8=$i,b8=xL,x8=d8.Function,w8=/MSIE .\./.test(y8)||"BUN"===v8&&function(){var t=d8.Bun.version.split(".");return t.length<3||"0"===t[0]&&(t[1]<3||"3"===t[1]&&"0"===t[2])}(),A8=function(t,e){var r=e?2:1;return w8?function(n,i){var o=b8(arguments.length,1)>r,a=g8(n)?n:x8(n),s=o?m8(arguments,r):[],c=o?function(){p8(a,this,s)}:a;return e?t(c,i):t(c)}:t},_8=ri,E8=r,k8=VL.set,S8=A8,M8=E8.setImmediate?S8(k8,!1):k8;_8({global:!0,bind:!0,enumerable:!0,forced:E8.setImmediate!==M8},{setImmediate:M8});var O8=r,T8=EN,P8=yt,I8=xL,C8=o;ri({global:!0,enumerable:!0,dontCallGetSet:!0,forced:i(function(){return C8&&1!==Object.getOwnPropertyDescriptor(O8,"queueMicrotask").value.length})},{queueMicrotask:function(t){I8(arguments.length,1),T8(P8(t))}});var R8=ri,D8=r,j8=Ki,L8=o,N8=TypeError,F8=Object.defineProperty,z8=D8.self!==D8;try{if(L8){var U8=Object.getOwnPropertyDescriptor(D8,"self");!z8&&U8&&U8.get&&U8.enumerable||j8(D8,"self",{get:function(){return D8},set:function(t){if(this!==D8)throw new N8("Illegal invocation");F8(D8,"self",{value:t,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else R8({global:!0,simple:!0,forced:z8},{self:D8})}catch(t){}var B8,$8=ri,Y8=r,G8=G,H8=w,W8=i,q8=Wt,V8=z,X8=Lo,K8=I,Q8=B,J8=ht,Z8=Eh,t7=Re,e7=hi,r7=Bt,n7=If,i7=qe,o7=dn,a7=xL,s7=aY,c7=fP,l7=PH,u7=$H,h7=Gw,f7=Ul,d7=Lw,p7=Y8.Object,g7=Y8.Array,v7=Y8.Date,y7=Y8.Error,m7=Y8.TypeError,b7=Y8.PerformanceMark,x7=G8("DOMException"),w7=c7.Map,A7=c7.has,_7=c7.get,E7=c7.set,k7=l7.Set,S7=l7.add,M7=l7.has,O7=G8("Object","keys"),T7=H8([].push),P7=H8((!0).valueOf),I7=H8(1.1.valueOf),C7=H8("".valueOf),R7=H8(v7.prototype.getTime),D7=q8("structuredClone"),j7="DataCloneError",L7="Transferring",N7=function(t){return!W8(function(){var e=new Y8.Set([7]),r=t(e),n=t(p7(7));return r===e||!r.has(7)||!Q8(n)||7!==+n})&&t},F7=function(t,e){return!W8(function(){var r=new e,n=t({a:r,b:r});return!(n&&n.a===n.b&&n.a instanceof e&&n.a.stack===r.stack)})},z7=Y8.structuredClone,U7=!F7(z7,y7)||!F7(z7,x7)||(B8=z7,!!W8(function(){var t=B8(new Y8.AggregateError([1],D7,{cause:3}));return"AggregateError"!==t.name||1!==t.errors[0]||t.message!==D7||3!==t.cause})),B7=!z7&&N7(function(t){return new b7(D7,{detail:t}).detail}),$7=N7(z7)||B7,Y7=function(t){throw new x7("Uncloneable type: "+t,j7)},G7=function(t,e){throw new x7((e||"Cloning")+" of "+t+" cannot be properly polyfilled in this engine",j7)},H7=function(t,e){return $7||G7(e),$7(t)},W7=function(t,e,r){if(A7(e,t))return _7(e,t);var n,i,o,a,s,c;if("SharedArrayBuffer"===(r||e7(t)))n=$7?$7(t):t;else{var l=Y8.DataView;l||V8(t.slice)||G7("ArrayBuffer");try{if(V8(t.slice)&&!t.resizable)n=t.slice(0);else{i=t.byteLength,o="maxByteLength"in t?{maxByteLength:t.maxByteLength}:void 0,n=new ArrayBuffer(i,o),a=new l(t),s=new l(n);for(c=0;c<i;c++)s.setUint8(c,a.getUint8(c))}}catch(t){throw new x7("ArrayBuffer is detached",j7)}}return E7(e,t,n),n},q7=function(t,e){if(J8(t)&&Y7("Symbol"),!Q8(t))return t;if(e){if(A7(e,t))return _7(e,t)}else e=new w7;var r,n,i,o,a,s,c,l,u=e7(t);switch(u){case"Array":i=g7(o7(t));break;case"Object":i={};break;case"Map":i=new w7;break;case"Set":i=new k7;break;case"RegExp":i=new RegExp(t.source,s7(t));break;case"Error":switch(n=t.name){case"AggregateError":i=new(G8(n))([]);break;case"EvalError":case"RangeError":case"ReferenceError":case"SuppressedError":case"SyntaxError":case"TypeError":case"URIError":i=new(G8(n));break;case"CompileError":case"LinkError":case"RuntimeError":i=new(G8("WebAssembly",n));break;default:i=new y7}break;case"DOMException":i=new x7(t.message,t.name);break;case"ArrayBuffer":case"SharedArrayBuffer":i=W7(t,e,u);break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float16Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":s="DataView"===u?t.byteLength:t.length,i=function(t,e,r,n,i){var o=Y8[e];return Q8(o)||G7(e),new o(W7(t.buffer,i),r,n)}(t,u,t.byteOffset,s,e);break;case"DOMQuad":try{i=new DOMQuad(q7(t.p1,e),q7(t.p2,e),q7(t.p3,e),q7(t.p4,e))}catch(e){i=H7(t,u)}break;case"File":if($7)try{i=$7(t),e7(i)!==u&&(i=void 0)}catch(t){}if(!i)try{i=new File([t],t.name,t)}catch(t){}i||G7(u);break;case"FileList":if(o=function(){var t;try{t=new Y8.DataTransfer}catch(e){try{t=new Y8.ClipboardEvent("").clipboardData}catch(t){}}return t&&t.items&&t.files?t:null}()){for(a=0,s=o7(t);a<s;a++)o.items.add(q7(t[a],e));i=o.files}else i=H7(t,u);break;case"ImageData":try{i=new ImageData(q7(t.data,e),t.width,t.height,{colorSpace:t.colorSpace})}catch(e){i=H7(t,u)}break;default:if($7)i=$7(t);else switch(u){case"BigInt":i=p7(t.valueOf());break;case"Boolean":i=p7(P7(t));break;case"Number":i=p7(I7(t));break;case"String":i=p7(C7(t));break;case"Date":i=new v7(R7(t));break;case"Blob":try{i=t.slice(0,t.size,t.type)}catch(t){G7(u)}break;case"DOMPoint":case"DOMPointReadOnly":r=Y8[u];try{i=r.fromPoint?r.fromPoint(t):new r(t.x,t.y,t.z,t.w)}catch(t){G7(u)}break;case"DOMRect":case"DOMRectReadOnly":r=Y8[u];try{i=r.fromRect?r.fromRect(t):new r(t.x,t.y,t.width,t.height)}catch(t){G7(u)}break;case"DOMMatrix":case"DOMMatrixReadOnly":r=Y8[u];try{i=r.fromMatrix?r.fromMatrix(t):new r(t)}catch(t){G7(u)}break;case"AudioData":case"VideoFrame":V8(t.clone)||G7(u);try{i=t.clone()}catch(t){Y7(u)}break;case"CropTarget":case"CryptoKey":case"FileSystemDirectoryHandle":case"FileSystemFileHandle":case"FileSystemHandle":case"GPUCompilationInfo":case"GPUCompilationMessage":case"ImageBitmap":case"RTCCertificate":case"WebAssembly.Module":G7(u);default:Y7(u)}}switch(E7(e,t,i),u){case"Array":case"Object":for(c=O7(t),a=0,s=o7(c);a<s;a++)l=c[a],n7(i,l,q7(t[l],e));break;case"Map":t.forEach(function(t,r){E7(i,q7(r,e),q7(t,e))});break;case"Set":t.forEach(function(t){S7(i,q7(t,e))});break;case"Error":i7(i,"message",q7(t.message,e)),r7(t,"cause")&&i7(i,"cause",q7(t.cause,e)),"AggregateError"===n?i.errors=q7(t.errors,e):"SuppressedError"===n&&(i.error=q7(t.error,e),i.suppressed=q7(t.suppressed,e));case"DOMException":f7&&i7(i,"stack",q7(t.stack,e))}return i};$8({global:!0,enumerable:!0,sham:!d7,forced:U7},{structuredClone:function(t){var e,r,n=a7(arguments.length,1)>1&&!K8(arguments[1])?t7(arguments[1]):void 0,i=n?n.transfer:void 0;void 0!==i&&(r=function(t,e){if(!Q8(t))throw new m7("Transfer option cannot be converted to a sequence");var r=[];Z8(t,function(t){T7(r,t7(t))});for(var n,i,o,a,s,c=0,l=o7(r),u=new k7;c<l;){if(n=r[c++],"ArrayBuffer"===(i=e7(n))?M7(u,n):A7(e,n))throw new x7("Duplicate transferable",j7);if("ArrayBuffer"!==i){if(d7)a=z7(n,{transfer:[n]});else switch(i){case"ImageBitmap":o=Y8.OffscreenCanvas,X8(o)||G7(i,L7);try{(s=new o(n.width,n.height)).getContext("bitmaprenderer").transferFromImageBitmap(n),a=s.transferToImageBitmap()}catch(t){}break;case"AudioData":case"VideoFrame":V8(n.clone)&&V8(n.close)||G7(i,L7);try{a=n.clone(),n.close()}catch(t){}break;case"MediaSourceHandle":case"MessagePort":case"MIDIAccess":case"OffscreenCanvas":case"ReadableStream":case"RTCDataChannel":case"TransformStream":case"WebTransportReceiveStream":case"WebTransportSendStream":case"WritableStream":G7(i,L7)}if(void 0===a)throw new x7("This object cannot be transferred: "+i,j7);E7(e,n,a)}else S7(u,n)}return u}(i,e=new w7));var o=q7(t,e);return r&&function(t){u7(t,function(t){d7?$7(t,{transfer:[t]}):V8(t.transfer)?t.transfer():h7?h7(t):G7("ArrayBuffer",L7)})}(r),o}});var V7=ri,X7=r,K7=A8(X7.setInterval,!0);V7({global:!0,bind:!0,forced:X7.setInterval!==K7},{setInterval:K7});var Q7=ri,J7=r,Z7=A8(J7.setTimeout,!0);Q7({global:!0,bind:!0,forced:J7.setTimeout!==Z7},{setTimeout:Z7});var t9=i,e9=o,r9=ee("iterator"),n9=!t9(function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),n="";return t.pathname="c%20d",e.forEach(function(t,r){e.delete("b"),n+=r+t}),r.delete("a",2),r.delete("b",void 0),!e.size&&!e9||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[r9]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==n||"x"!==new URL("https://x",void 0).host}),i9=w,o9=2147483647,a9=/[^\0-\u007E]/,s9=/[.\u3002\uFF0E\uFF61]/g,c9="Overflow: input needs wider integers to process",l9=RangeError,u9=i9(s9.exec),h9=Math.floor,f9=String.fromCharCode,d9=i9("".charCodeAt),p9=i9([].join),g9=i9([].push),v9=i9("".replace),y9=i9("".split),m9=i9("".toLowerCase),b9=function(t){return t+22+75*(t<26)},x9=function(t,e,r){var n=0;for(t=r?h9(t/700):t>>1,t+=h9(t/e);t>455;)t=h9(t/35),n+=36;return h9(n+36*t/(t+38))},w9=function(t){var e=[];t=function(t){for(var e=[],r=0,n=t.length;r<n;){var i=d9(t,r++);if(i>=55296&&i<=56319&&r<n){var o=d9(t,r++);56320==(64512&o)?g9(e,((1023&i)<<10)+(1023&o)+65536):(g9(e,i),r--)}else g9(e,i)}return e}(t);var r,n,i=t.length,o=128,a=0,s=72;for(r=0;r<t.length;r++)(n=t[r])<128&&g9(e,f9(n));var c=e.length,l=c;for(c&&g9(e,"-");l<i;){var u=o9;for(r=0;r<t.length;r++)(n=t[r])>=o&&n<u&&(u=n);var h=l+1;if(u-o>h9((o9-a)/h))throw new l9(c9);for(a+=(u-o)*h,o=u,r=0;r<t.length;r++){if((n=t[r])<o&&++a>o9)throw new l9(c9);if(n===o){for(var f=a,d=36;;){var p=d<=s?1:d>=s+26?26:d-s;if(f<p)break;var g=f-p,v=36-p;g9(e,f9(b9(p+g%v))),f=h9(g/v),d+=36}g9(e,f9(b9(f))),s=x9(a,h,l===c),a=0,l++}}a++,o++}return p9(e,"")},A9=ri,_9=r,E9=JL,k9=G,S9=l,M9=w,O9=o,T9=n9,P9=Qr,I9=Ki,C9=vm,R9=po,D9=Hp,j9=Tr,L9=bm,N9=z,F9=Bt,z9=wo,U9=hi,B9=Re,$9=B,Y9=pi,G9=Ui,H9=v,W9=ah,q9=Zu,V9=fg,X9=xL,K9=Fv,Q9=ee("iterator"),J9="URLSearchParams",Z9=J9+"Iterator",ttt=j9.set,ett=j9.getterFor(J9),rtt=j9.getterFor(Z9),ntt=E9("fetch"),itt=E9("Request"),ott=E9("Headers"),att=itt&&itt.prototype,stt=ott&&ott.prototype,ctt=_9.TypeError,ltt=_9.encodeURIComponent,utt=String.fromCharCode,htt=k9("String","fromCodePoint"),ftt=parseInt,dtt=M9("".charAt),ptt=M9([].join),gtt=M9([].push),vtt=M9("".replace),ytt=M9([].shift),mtt=M9([].splice),btt=M9("".split),xtt=M9("".slice),wtt=M9(/./.exec),Att=/\+/g,_tt=/^[0-9a-f]+$/i,Ett=function(t,e){var r=xtt(t,e,e+2);return wtt(_tt,r)?ftt(r,16):NaN},ktt=function(t){for(var e=0,r=128;r>0&&0!==(t&r);r>>=1)e++;return e},Stt=function(t){var e=null;switch(t.length){case 1:e=t[0];break;case 2:e=(31&t[0])<<6|63&t[1];break;case 3:e=(15&t[0])<<12|(63&t[1])<<6|63&t[2];break;case 4:e=(7&t[0])<<18|(63&t[1])<<12|(63&t[2])<<6|63&t[3]}return e>1114111?null:e},Mtt=function(t){for(var e=(t=vtt(t,Att," ")).length,r="",n=0;n<e;){var i=dtt(t,n);if("%"===i){if("%"===dtt(t,n+1)||n+3>e){r+="%",n++;continue}var o=Ett(t,n+1);if(o!=o){r+=i,n++;continue}n+=2;var a=ktt(o);if(0===a)i=utt(o);else{if(1===a||a>4){r+="�",n++;continue}for(var s=[o],c=1;c<a&&!(++n+3>e||"%"!==dtt(t,n));){var l=Ett(t,n+1);if(l!=l){n+=3;break}if(l>191||l<128)break;gtt(s,l),n+=2,c++}if(s.length!==a){r+="�";continue}var u=Stt(s);null===u?r+="�":i=htt(u)}}r+=i,n++}return r},Ott=/[!'()~]|%20/g,Ttt={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Ptt=function(t){return Ttt[t]},Itt=function(t){return vtt(ltt(t),Ott,Ptt)},Ctt=D9(function(t,e){ttt(this,{type:Z9,target:ett(t).entries,index:0,kind:e})},J9,function(){var t=rtt(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,V9(void 0,!0);var n=e[r];switch(t.kind){case"keys":return V9(n.key,!1);case"values":return V9(n.value,!1)}return V9([n.key,n.value],!1)},!0),Rtt=function(t){this.entries=[],this.url=null,void 0!==t&&($9(t)?this.parseObject(t):this.parseQuery("string"==typeof t?"?"===dtt(t,0)?xtt(t,1):t:Y9(t)))};Rtt.prototype={type:J9,bindURL:function(t){this.url=t,this.update()},parseObject:function(t){var e,r,n,i,o,a,s,c=this.entries,l=q9(t);if(l)for(r=(e=W9(t,l)).next;!(n=S9(r,e)).done;){if(o=(i=W9(B9(n.value))).next,(a=S9(o,i)).done||(s=S9(o,i)).done||!S9(o,i).done)throw new ctt("Expected sequence with length 2");gtt(c,{key:Y9(a.value),value:Y9(s.value)})}else for(var u in t)F9(t,u)&&gtt(c,{key:u,value:Y9(t[u])})},parseQuery:function(t){if(t)for(var e,r,n=this.entries,i=btt(t,"&"),o=0;o<i.length;)(e=i[o++]).length&&(r=btt(e,"="),gtt(n,{key:Mtt(ytt(r)),value:Mtt(ptt(r,"="))}))},serialize:function(){for(var t,e=this.entries,r=[],n=0;n<e.length;)t=e[n++],gtt(r,Itt(t.key)+"="+Itt(t.value));return ptt(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Dtt=function(){L9(this,jtt);var t=ttt(this,new Rtt(arguments.length>0?arguments[0]:void 0));O9||(this.size=t.entries.length)},jtt=Dtt.prototype;if(C9(jtt,{append:function(t,e){var r=ett(this);X9(arguments.length,2),gtt(r.entries,{key:Y9(t),value:Y9(e)}),O9||this.size++,r.updateURL()},delete:function(t){for(var e=ett(this),r=X9(arguments.length,1),n=e.entries,i=Y9(t),o=r<2?void 0:arguments[1],a=void 0===o?o:Y9(o),s=0;s<n.length;){var c=n[s];if(c.key!==i||void 0!==a&&c.value!==a)s++;else if(mtt(n,s,1),void 0!==a)break}O9||(this.size=n.length),e.updateURL()},get:function(t){var e=ett(this).entries;X9(arguments.length,1);for(var r=Y9(t),n=0;n<e.length;n++)if(e[n].key===r)return e[n].value;return null},getAll:function(t){var e=ett(this).entries;X9(arguments.length,1);for(var r=Y9(t),n=[],i=0;i<e.length;i++)e[i].key===r&&gtt(n,e[i].value);return n},has:function(t){for(var e=ett(this).entries,r=X9(arguments.length,1),n=Y9(t),i=r<2?void 0:arguments[1],o=void 0===i?i:Y9(i),a=0;a<e.length;){var s=e[a++];if(s.key===n&&(void 0===o||s.value===o))return!0}return!1},set:function(t,e){var r=ett(this);X9(arguments.length,1);for(var n,i=r.entries,o=!1,a=Y9(t),s=Y9(e),c=0;c<i.length;c++)(n=i[c]).key===a&&(o?mtt(i,c--,1):(o=!0,n.value=s));o||gtt(i,{key:a,value:s}),O9||(this.size=i.length),r.updateURL()},sort:function(){var t=ett(this);K9(t.entries,function(t,e){return t.key>e.key?1:-1}),t.updateURL()},forEach:function(t){for(var e,r=ett(this).entries,n=z9(t,arguments.length>1?arguments[1]:void 0),i=0;i<r.length;)n((e=r[i++]).value,e.key,this)},keys:function(){return new Ctt(this,"keys")},values:function(){return new Ctt(this,"values")},entries:function(){return new Ctt(this,"entries")}},{enumerable:!0}),P9(jtt,Q9,jtt.entries,{name:"entries"}),P9(jtt,"toString",function(){return ett(this).serialize()},{enumerable:!0}),O9&&I9(jtt,"size",{get:function(){return ett(this).entries.length},configurable:!0,enumerable:!0}),R9(Dtt,J9),A9({global:!0,constructor:!0,forced:!T9},{URLSearchParams:Dtt}),!T9&&N9(ott)){var Ltt=M9(stt.has),Ntt=M9(stt.set),Ftt=function(t){if($9(t)){var e,r=t.body;if(U9(r)===J9)return e=t.headers?new ott(t.headers):new ott,Ltt(e,"content-type")||Ntt(e,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),G9(t,{body:H9(0,Y9(r)),headers:H9(0,e)})}return t};if(N9(ntt)&&A9({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(t){return ntt(t,arguments.length>1?Ftt(arguments[1]):{})}}),N9(itt)){var ztt=function(t){return L9(this,att),new itt(t,arguments.length>1?Ftt(arguments[1]):{})};att.constructor=ztt,ztt.prototype=att,A9({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:ztt})}}var Utt,Btt=ri,$tt=o,Ytt=n9,Gtt=r,Htt=wo,Wtt=w,qtt=Qr,Vtt=Ki,Xtt=bm,Ktt=Bt,Qtt=XR,Jtt=dp,Ztt=$i,tet=Oq.codeAt,eet=function(t){var e,r,n=[],i=y9(v9(m9(t),s9,"."),".");for(e=0;e<i.length;e++)r=i[e],g9(n,u9(a9,r)?"xn--"+w9(r):r);return p9(n,".")},ret=pi,net=po,iet=xL,oet={URLSearchParams:Dtt,getState:ett},aet=Tr,set=aet.set,cet=aet.getterFor("URL"),uet=oet.URLSearchParams,het=oet.getState,fet=Gtt.URL,det=Gtt.TypeError,pet=Gtt.parseInt,get=Math.floor,vet=Math.pow,yet=Wtt("".charAt),met=Wtt(/./.exec),bet=Wtt([].join),xet=Wtt(1.1.toString),wet=Wtt([].pop),Aet=Wtt([].push),_et=Wtt("".replace),Eet=Wtt([].shift),ket=Wtt("".split),Met=Wtt("".slice),Oet=Wtt("".toLowerCase),Tet=Wtt([].unshift),Pet="Invalid scheme",Iet="Invalid host",Cet="Invalid port",Ret=/[a-z]/i,Det=/[\d+-.a-z]/i,jet=/\d/,Let=/^0x/i,Net=/^[0-7]+$/,Fet=/^\d+$/,zet=/^[\da-f]+$/i,Uet=/[\0\t\n\r #%/:<>?@[\\\]^|]/,Bet=/[\0\t\n\r #/:<>?@[\\\]^|]/,$et=/^[\u0000-\u0020]+/,Yet=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,Get=/[\t\n\r]/g,Het=function(t){var e,r,n,i;if("number"==typeof t){for(e=[],r=0;r<4;r++)Tet(e,t%256),t=get(t/256);return bet(e,".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,i=0,o=0;o<8;o++)0!==t[o]?(i>r&&(e=n,r=i),n=null,i=0):(null===n&&(n=o),++i);return i>r?n:e}(t),r=0;r<8;r++)i&&0===t[r]||(i&&(i=!1),n===r?(e+=r?":":"::",i=!0):(e+=xet(t[r],16),r<7&&(e+=":")));return"["+e+"]"}return t},Wet={},qet=Qtt({},Wet,{" ":1,'"':1,"<":1,">":1,"`":1}),Vet=Qtt({},qet,{"#":1,"?":1,"{":1,"}":1}),Xet=Qtt({},Vet,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Ket=function(t,e){var r=tet(t,0);return r>32&&r<127&&!Ktt(e,t)?t:encodeURIComponent(t)},Qet={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Jet=function(t,e){var r;return 2===t.length&&met(Ret,yet(t,0))&&(":"===(r=yet(t,1))||!e&&"|"===r)},Zet=function(t){var e;return t.length>1&&Jet(Met(t,0,2))&&(2===t.length||"/"===(e=yet(t,2))||"\\"===e||"?"===e||"#"===e)},trt=function(t){return"."===t||"%2e"===Oet(t)},ert=function(t){return".."===(t=Oet(t))||"%2e."===t||".%2e"===t||"%2e%2e"===t},rrt={},nrt={},irt={},ort={},art={},srt={},crt={},lrt={},urt={},hrt={},frt={},drt={},prt={},grt={},vrt={},yrt={},mrt={},brt={},xrt={},wrt={},Art={},_rt=function(t,e,r){var n,i,o,a=ret(t);if(e){if(i=this.parse(a))throw new det(i);this.searchParams=null}else{if(void 0!==r&&(n=new _rt(r,!0)),i=this.parse(a,null,n))throw new det(i);(o=het(new uet)).bindURL(this),this.searchParams=o}};_rt.prototype={type:"URL",parse:function(t,e,r){var n,i,o,a,s=this,c=e||rrt,l=0,u="",h=!1,f=!1,d=!1;for(t=ret(t),e||(s.scheme="",s.username="",s.password="",s.host=null,s.port=null,s.path=[],s.query=null,s.fragment=null,s.cannotBeABaseURL=!1,t=_et(t,$et,""),t=_et(t,Yet,"$1")),t=_et(t,Get,""),n=Jtt(t);l<=n.length;){switch(i=n[l],c){case rrt:if(!i||!met(Ret,i)){if(e)return Pet;c=irt;continue}u+=Oet(i),c=nrt;break;case nrt:if(i&&(met(Det,i)||"+"===i||"-"===i||"."===i))u+=Oet(i);else{if(":"!==i){if(e)return Pet;u="",c=irt,l=0;continue}if(e&&(s.isSpecial()!==Ktt(Qet,u)||"file"===u&&(s.includesCredentials()||null!==s.port)||"file"===s.scheme&&!s.host))return;if(s.scheme=u,e)return void(s.isSpecial()&&Qet[s.scheme]===s.port&&(s.port=null));u="","file"===s.scheme?c=grt:s.isSpecial()&&r&&r.scheme===s.scheme?c=ort:s.isSpecial()?c=lrt:"/"===n[l+1]?(c=art,l++):(s.cannotBeABaseURL=!0,Aet(s.path,""),c=xrt)}break;case irt:if(!r||r.cannotBeABaseURL&&"#"!==i)return Pet;if(r.cannotBeABaseURL&&"#"===i){s.scheme=r.scheme,s.path=Ztt(r.path),s.query=r.query,s.fragment="",s.cannotBeABaseURL=!0,c=Art;break}c="file"===r.scheme?grt:srt;continue;case ort:if("/"!==i||"/"!==n[l+1]){c=srt;continue}c=urt,l++;break;case art:if("/"===i){c=hrt;break}c=brt;continue;case srt:if(s.scheme=r.scheme,i===Utt)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=Ztt(r.path),s.query=r.query;else if("/"===i||"\\"===i&&s.isSpecial())c=crt;else if("?"===i)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=Ztt(r.path),s.query="",c=wrt;else{if("#"!==i){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=Ztt(r.path),s.path.length--,c=brt;continue}s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=Ztt(r.path),s.query=r.query,s.fragment="",c=Art}break;case crt:if(!s.isSpecial()||"/"!==i&&"\\"!==i){if("/"!==i){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,c=brt;continue}c=hrt}else c=urt;break;case lrt:if(c=urt,"/"!==i||"/"!==yet(u,l+1))continue;l++;break;case urt:if("/"!==i&&"\\"!==i){c=hrt;continue}break;case hrt:if("@"===i){h&&(u="%40"+u),h=!0,o=Jtt(u);for(var p=0;p<o.length;p++){var g=o[p];if(":"!==g||d){var v=Ket(g,Xet);d?s.password+=v:s.username+=v}else d=!0}u=""}else if(i===Utt||"/"===i||"?"===i||"#"===i||"\\"===i&&s.isSpecial()){if(h&&""===u)return"Invalid authority";l-=Jtt(u).length+1,u="",c=frt}else u+=i;break;case frt:case drt:if(e&&"file"===s.scheme){c=yrt;continue}if(":"!==i||f){if(i===Utt||"/"===i||"?"===i||"#"===i||"\\"===i&&s.isSpecial()){if(s.isSpecial()&&""===u)return Iet;if(e&&""===u&&(s.includesCredentials()||null!==s.port))return;if(a=s.parseHost(u))return a;if(u="",c=mrt,e)return;continue}"["===i?f=!0:"]"===i&&(f=!1),u+=i}else{if(""===u)return Iet;if(a=s.parseHost(u))return a;if(u="",c=prt,e===drt)return}break;case prt:if(!met(jet,i)){if(i===Utt||"/"===i||"?"===i||"#"===i||"\\"===i&&s.isSpecial()||e){if(""!==u){var y=pet(u,10);if(y>65535)return Cet;s.port=s.isSpecial()&&y===Qet[s.scheme]?null:y,u=""}if(e)return;c=mrt;continue}return Cet}u+=i;break;case grt:if(s.scheme="file","/"===i||"\\"===i)c=vrt;else{if(!r||"file"!==r.scheme){c=brt;continue}switch(i){case Utt:s.host=r.host,s.path=Ztt(r.path),s.query=r.query;break;case"?":s.host=r.host,s.path=Ztt(r.path),s.query="",c=wrt;break;case"#":s.host=r.host,s.path=Ztt(r.path),s.query=r.query,s.fragment="",c=Art;break;default:Zet(bet(Ztt(n,l),""))||(s.host=r.host,s.path=Ztt(r.path),s.shortenPath()),c=brt;continue}}break;case vrt:if("/"===i||"\\"===i){c=yrt;break}r&&"file"===r.scheme&&!Zet(bet(Ztt(n,l),""))&&(Jet(r.path[0],!0)?Aet(s.path,r.path[0]):s.host=r.host),c=brt;continue;case yrt:if(i===Utt||"/"===i||"\\"===i||"?"===i||"#"===i){if(!e&&Jet(u))c=brt;else if(""===u){if(s.host="",e)return;c=mrt}else{if(a=s.parseHost(u))return a;if("localhost"===s.host&&(s.host=""),e)return;u="",c=mrt}continue}u+=i;break;case mrt:if(s.isSpecial()){if(c=brt,"/"!==i&&"\\"!==i)continue}else if(e||"?"!==i)if(e||"#"!==i){if(i!==Utt&&(c=brt,"/"!==i))continue}else s.fragment="",c=Art;else s.query="",c=wrt;break;case brt:if(i===Utt||"/"===i||"\\"===i&&s.isSpecial()||!e&&("?"===i||"#"===i)){if(ert(u)?(s.shortenPath(),"/"===i||"\\"===i&&s.isSpecial()||Aet(s.path,"")):trt(u)?"/"===i||"\\"===i&&s.isSpecial()||Aet(s.path,""):("file"===s.scheme&&!s.path.length&&Jet(u)&&(s.host&&(s.host=""),u=yet(u,0)+":"),Aet(s.path,u)),u="","file"===s.scheme&&(i===Utt||"?"===i||"#"===i))for(;s.path.length>1&&""===s.path[0];)Eet(s.path);"?"===i?(s.query="",c=wrt):"#"===i&&(s.fragment="",c=Art)}else u+=Ket(i,Vet);break;case xrt:"?"===i?(s.query="",c=wrt):"#"===i?(s.fragment="",c=Art):i!==Utt&&(s.path[0]+=Ket(i,Wet));break;case wrt:e||"#"!==i?i!==Utt&&("'"===i&&s.isSpecial()?s.query+="%27":s.query+="#"===i?"%23":Ket(i,Wet)):(s.fragment="",c=Art);break;case Art:i!==Utt&&(s.fragment+=Ket(i,qet))}l++}},parseHost:function(t){var e,r,n;if("["===yet(t,0)){if("]"!==yet(t,t.length-1))return Iet;if(e=function(t){var e,r,n,i,o,a,s,c=[0,0,0,0,0,0,0,0],l=0,u=null,h=0,f=function(){return yet(t,h)};if(":"===f()){if(":"!==yet(t,1))return;h+=2,u=++l}for(;f();){if(8===l)return;if(":"!==f()){for(e=r=0;r<4&&met(zet,f());)e=16*e+pet(f(),16),h++,r++;if("."===f()){if(0===r)return;if(h-=r,l>6)return;for(n=0;f();){if(i=null,n>0){if(!("."===f()&&n<4))return;h++}if(!met(jet,f()))return;for(;met(jet,f());){if(o=pet(f(),10),null===i)i=o;else{if(0===i)return;i=10*i+o}if(i>255)return;h++}c[l]=256*c[l]+i,2!==++n&&4!==n||l++}if(4!==n)return;break}if(":"===f()){if(h++,!f())return}else if(f())return;c[l++]=e}else{if(null!==u)return;h++,u=++l}}if(null!==u)for(a=l-u,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[u+a-1],c[u+--a]=s;else if(8!==l)return;return c}(Met(t,1,-1)),!e)return Iet;this.host=e}else if(this.isSpecial()){if(t=eet(t),met(Uet,t))return Iet;if(e=function(t){var e,r,n,i,o,a,s,c=ket(t,".");if(c.length&&""===c[c.length-1]&&c.length--,(e=c.length)>4)return t;for(r=[],n=0;n<e;n++){if(""===(i=c[n]))return t;if(o=10,i.length>1&&"0"===yet(i,0)&&(o=met(Let,i)?16:8,i=Met(i,8===o?1:2)),""===i)a=0;else{if(!met(10===o?Fet:8===o?Net:zet,i))return t;a=pet(i,o)}Aet(r,a)}for(n=0;n<e;n++)if(a=r[n],n===e-1){if(a>=vet(256,5-e))return null}else if(a>255)return null;for(s=wet(r),n=0;n<r.length;n++)s+=r[n]*vet(256,3-n);return s}(t),null===e)return Iet;this.host=e}else{if(met(Bet,t))return Iet;for(e="",r=Jtt(t),n=0;n<r.length;n++)e+=Ket(r[n],Wet);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return Ktt(Qet,this.scheme)},shortenPath:function(){var t=this.path,e=t.length;!e||"file"===this.scheme&&1===e&&Jet(t[0],!0)||t.length--},serialize:function(){var t=this,e=t.scheme,r=t.username,n=t.password,i=t.host,o=t.port,a=t.path,s=t.query,c=t.fragment,l=e+":";return null!==i?(l+="//",t.includesCredentials()&&(l+=r+(n?":"+n:"")+"@"),l+=Het(i),null!==o&&(l+=":"+o)):"file"===e&&(l+="//"),l+=t.cannotBeABaseURL?a[0]:a.length?"/"+bet(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(t){var e=this.parse(t);if(e)throw new det(e);this.searchParams.update()},getOrigin:function(){var t=this.scheme,e=this.port;if("blob"===t)try{return new Ert(t.path[0]).origin}catch(t){return"null"}return"file"!==t&&this.isSpecial()?t+"://"+Het(this.host)+(null!==e?":"+e:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(t){this.parse(ret(t)+":",rrt)},getUsername:function(){return this.username},setUsername:function(t){var e=Jtt(ret(t));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<e.length;r++)this.username+=Ket(e[r],Xet)}},getPassword:function(){return this.password},setPassword:function(t){var e=Jtt(ret(t));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<e.length;r++)this.password+=Ket(e[r],Xet)}},getHost:function(){var t=this.host,e=this.port;return null===t?"":null===e?Het(t):Het(t)+":"+e},setHost:function(t){this.cannotBeABaseURL||this.parse(t,frt)},getHostname:function(){var t=this.host;return null===t?"":Het(t)},setHostname:function(t){this.cannotBeABaseURL||this.parse(t,drt)},getPort:function(){var t=this.port;return null===t?"":ret(t)},setPort:function(t){this.cannotHaveUsernamePasswordPort()||(""===(t=ret(t))?this.port=null:this.parse(t,prt))},getPathname:function(){var t=this.path;return this.cannotBeABaseURL?t[0]:t.length?"/"+bet(t,"/"):""},setPathname:function(t){this.cannotBeABaseURL||(this.path=[],this.parse(t,mrt))},getSearch:function(){var t=this.query;return t?"?"+t:""},setSearch:function(t){""===(t=ret(t))?this.query=null:("?"===yet(t,0)&&(t=Met(t,1)),this.query="",this.parse(t,wrt)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var t=this.fragment;return t?"#"+t:""},setHash:function(t){""!==(t=ret(t))?("#"===yet(t,0)&&(t=Met(t,1)),this.fragment="",this.parse(t,Art)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var Ert=function(t){var e=Xtt(this,krt),r=iet(arguments.length,1)>1?arguments[1]:void 0,n=set(e,new _rt(t,!1,r));$tt||(e.href=n.serialize(),e.origin=n.getOrigin(),e.protocol=n.getProtocol(),e.username=n.getUsername(),e.password=n.getPassword(),e.host=n.getHost(),e.hostname=n.getHostname(),e.port=n.getPort(),e.pathname=n.getPathname(),e.search=n.getSearch(),e.searchParams=n.getSearchParams(),e.hash=n.getHash())},krt=Ert.prototype,Srt=function(t,e){return{get:function(){return cet(this)[t]()},set:e&&function(t){return cet(this)[e](t)},configurable:!0,enumerable:!0}};if($tt&&(Vtt(krt,"href",Srt("serialize","setHref")),Vtt(krt,"origin",Srt("getOrigin")),Vtt(krt,"protocol",Srt("getProtocol","setProtocol")),Vtt(krt,"username",Srt("getUsername","setUsername")),Vtt(krt,"password",Srt("getPassword","setPassword")),Vtt(krt,"host",Srt("getHost","setHost")),Vtt(krt,"hostname",Srt("getHostname","setHostname")),Vtt(krt,"port",Srt("getPort","setPort")),Vtt(krt,"pathname",Srt("getPathname","setPathname")),Vtt(krt,"search",Srt("getSearch","setSearch")),Vtt(krt,"searchParams",Srt("getSearchParams")),Vtt(krt,"hash",Srt("getHash","setHash"))),qtt(krt,"toJSON",function(){return cet(this).serialize()},{enumerable:!0}),qtt(krt,"toString",function(){return cet(this).serialize()},{enumerable:!0}),fet){var Mrt=fet.createObjectURL,Ort=fet.revokeObjectURL;Mrt&&qtt(Ert,"createObjectURL",Htt(Mrt,fet)),Ort&&qtt(Ert,"revokeObjectURL",Htt(Ort,fet))}net(Ert,"URL"),Btt({global:!0,constructor:!0,forced:!Ytt,sham:!$tt},{URL:Ert});var Trt=ri,Prt=i,Irt=xL,Crt=pi,Rrt=n9,Drt=G("URL"),jrt=Rrt&&Prt(function(){Drt.canParse()}),Lrt=Prt(function(){return 1!==Drt.canParse.length});Trt({target:"URL",stat:!0,forced:!jrt||Lrt},{canParse:function(t){var e=Irt(arguments.length,1),r=Crt(t),n=e<2||void 0===arguments[1]?void 0:Crt(arguments[1]);try{return!!new Drt(r,n)}catch(t){return!1}}});var Nrt=ri,Frt=xL,zrt=pi,Urt=n9,Brt=G("URL");Nrt({target:"URL",stat:!0,forced:!Urt},{parse:function(t){var e=Frt(arguments.length,1),r=zrt(t),n=e<2||void 0===arguments[1]?void 0:zrt(arguments[1]);try{return new Brt(r,n)}catch(t){return null}}});var $rt=l;ri({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return $rt(URL.prototype.toString,this)}});var Yrt=Qr,Grt=w,Hrt=pi,Wrt=xL,qrt=URLSearchParams,Vrt=qrt.prototype,Xrt=Grt(Vrt.append),Krt=Grt(Vrt.delete),Qrt=Grt(Vrt.forEach),Jrt=Grt([].push),Zrt=new qrt("a=1&a=2&b=3");Zrt.delete("a",1),Zrt.delete("b",void 0),Zrt+""!="a=2"&&Yrt(Vrt,"delete",function(t){var e=arguments.length,r=e<2?void 0:arguments[1];if(e&&void 0===r)return Krt(this,t);var n=[];Qrt(this,function(t,e){Jrt(n,{key:e,value:t})}),Wrt(e,1);for(var i,o=Hrt(t),a=Hrt(r),s=0,c=0,l=!1,u=n.length;s<u;)i=n[s++],l||i.key===o?(l=!0,Krt(this,i.key)):c++;for(;c<u;)(i=n[c++]).key===o&&i.value===a||Xrt(this,i.key,i.value)},{enumerable:!0,unsafe:!0});var tnt=Qr,ent=w,rnt=pi,nnt=xL,int=URLSearchParams,ont=int.prototype,ant=ent(ont.getAll),snt=ent(ont.has),cnt=new int("a=1");!cnt.has("a",2)&&cnt.has("a",void 0)||tnt(ont,"has",function(t){var e=arguments.length,r=e<2?void 0:arguments[1];if(e&&void 0===r)return snt(this,t);var n=ant(this,t);nnt(e,1);for(var i=rnt(r),o=0;o<n.length;)if(n[o++]===i)return!0;return!1},{enumerable:!0,unsafe:!0});var lnt=o,unt=w,hnt=Ki,fnt=URLSearchParams.prototype,dnt=unt(fnt.forEach);lnt&&!("size"in fnt)&&hnt(fnt,"size",{get:function(){var t=0;return dnt(this,function(){t++}),t},configurable:!0,enumerable:!0});!function(t){var e=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,i=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,a=Object.create(o.prototype),s=new P(n||[]);return i(a,"_invoke",{value:S(t,r,s)}),a}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f="suspendedStart",d="suspendedYield",p="executing",g="completed",v={};function y(){}function m(){}function b(){}var x={};l(x,a,function(){return this});var w=Object.getPrototypeOf,A=w&&w(w(I([])));A&&A!==r&&n.call(A,a)&&(x=A);var _=b.prototype=y.prototype=Object.create(x);function E(t){["next","throw","return"].forEach(function(e){l(t,e,function(t){return this._invoke(e,t)})})}function k(t,e){function r(i,o,a,s){var c=h(t[i],t,o);if("throw"!==c.type){var l=c.arg,u=l.value;return u&&"object"==typeof u&&n.call(u,"__await")?e.resolve(u.__await).then(function(t){r("next",t,a,s)},function(t){r("throw",t,a,s)}):e.resolve(u).then(function(t){l.value=t,a(l)},function(t){return r("throw",t,a,s)})}s(c.arg)}var o;i(this,"_invoke",{value:function(t,n){function i(){return new e(function(e,i){r(t,n,e,i)})}return o=o?o.then(i,i):i()}})}function S(t,e,r){var n=f;return function(i,o){if(n===p)throw new Error("Generator is already running");if(n===g){if("throw"===i)throw o;return C()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=M(a,r);if(s){if(s===v)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=p;var c=h(t,e,r);if("normal"===c.type){if(n=r.done?g:d,c.arg===v)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=g,r.method="throw",r.arg=c.arg)}}}function M(t,r){var n=r.method,i=t.iterator[n];if(i===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,M(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=h(i,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function I(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function r(){for(;++i<t.length;)if(n.call(t,i))return r.value=t[i],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}return{next:C}}function C(){return{value:e,done:!0}}return m.prototype=b,i(_,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:m,configurable:!0}),m.displayName=l(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,l(t,c,"GeneratorFunction")),t.prototype=Object.create(_),t},t.awrap=function(t){return{__await:t}},E(k.prototype),l(k.prototype,s,function(){return this}),t.AsyncIterator=k,t.async=function(e,r,n,i,o){void 0===o&&(o=Promise);var a=new k(u(e,r,n,i),o);return t.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next()})},E(_),l(_,c,"Generator"),l(_,a,function(){return this}),l(_,"toString",function(){return"[object Generator]"}),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=I,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function i(n,i){return s.type="throw",s.arg=t,r.next=n,i&&(r.method="next",r.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(c&&l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),T(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;T(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:I(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}}({exports:{}}),(()=>{function t(t,r,n,i,o){if(![t,r,n,i].every(t=>Number.isFinite(t)))return;let a,s,c,l;if(o=function(t){const e=typeof t;if("undefined"===e||null===t)return[0];if("function"===e)return[NaN];if("object"===e)return"function"==typeof t[Symbol.iterator]?[...t].map(t=>{const e=typeof t;return"undefined"===e||null===t?0:"function"===e?NaN:"object"===e?f(t):d(t)}):[f(t)];return[d(t)]}(o),4===o.length)a=p(o[0]),s=p(o[1]),c=p(o[2]),l=p(o[3]);else if(3===o.length)a=p(o[0]),s=p(o[1]),l=p(o[1]),c=p(o[2]);else if(2===o.length)a=p(o[0]),c=p(o[0]),s=p(o[1]),l=p(o[1]);else{if(1!==o.length)throw new RangeError(`${e(this)} ${o.length} is not a valid size for radii sequence.`);a=p(o[0]),s=p(o[0]),c=p(o[0]),l=p(o[0])}const u=[a,s,c,l],h=u.find(({x:t,y:e})=>t<0||e<0);if(h?.x<0&&h.x,!u.some(({x:t,y:e})=>!Number.isFinite(t)||!Number.isFinite(e))){if(h)throw new RangeError(`${e(this)} Radius value ${h} is negative.`);!function(t){const[e,r,o,a]=t,s=[Math.abs(n)/(e.x+r.x),Math.abs(i)/(r.y+o.y),Math.abs(n)/(o.x+a.x),Math.abs(i)/(e.y+a.y)],c=Math.min(...s);if(c<=1)for(const e of t)e.x*=c,e.y*=c}(u),n<0&&i<0?(this.moveTo(t-a.x,r),this.ellipse(t+n+s.x,r-s.y,s.x,s.y,0,1.5*-Math.PI,-Math.PI),this.ellipse(t+n+c.x,r+i+c.y,c.x,c.y,0,-Math.PI,-Math.PI/2),this.ellipse(t-l.x,r+i+l.y,l.x,l.y,0,-Math.PI/2,0),this.ellipse(t-a.x,r-a.y,a.x,a.y,0,0,-Math.PI/2)):n<0?(this.moveTo(t-a.x,r),this.ellipse(t+n+s.x,r+s.y,s.x,s.y,0,-Math.PI/2,-Math.PI,1),this.ellipse(t+n+c.x,r+i-c.y,c.x,c.y,0,-Math.PI,1.5*-Math.PI,1),this.ellipse(t-l.x,r+i-l.y,l.x,l.y,0,Math.PI/2,0,1),this.ellipse(t-a.x,r+a.y,a.x,a.y,0,0,-Math.PI/2,1)):i<0?(this.moveTo(t+a.x,r),this.ellipse(t+n-s.x,r-s.y,s.x,s.y,0,Math.PI/2,0,1),this.ellipse(t+n-c.x,r+i+c.y,c.x,c.y,0,0,-Math.PI/2,1),this.ellipse(t+l.x,r+i+l.y,l.x,l.y,0,-Math.PI/2,-Math.PI,1),this.ellipse(t+a.x,r-a.y,a.x,a.y,0,-Math.PI,1.5*-Math.PI,1)):(this.moveTo(t+a.x,r),this.ellipse(t+n-s.x,r+s.y,s.x,s.y,0,-Math.PI/2,0),this.ellipse(t+n-c.x,r+i-c.y,c.x,c.y,0,0,Math.PI/2),this.ellipse(t+l.x,r+i-l.y,l.x,l.y,0,Math.PI/2,Math.PI),this.ellipse(t+a.x,r+a.y,a.x,a.y,0,Math.PI,1.5*Math.PI)),this.closePath(),this.moveTo(t,r)}function f(t){const{x:e,y:r,z:n,w:i}=t;return{x:e,y:r,z:n,w:i}}function d(t){return+t}function p(t){const e=d(t);return Number.isFinite(e)?{x:e,y:e}:Object(t)===t?{x:d(t.x??0),y:d(t.y??0)}:{x:NaN,y:NaN}}}function e(t){return`Failed to execute 'roundRect' on '${function(t){return Object(t)===t&&t instanceof Path2D?"Path2D":t instanceof globalThis?.CanvasRenderingContext2D?"CanvasRenderingContext2D":t instanceof globalThis?.OffscreenCanvasRenderingContext2D?"OffscreenCanvasRenderingContext2D":t?.constructor.name||t}(t)}':`}Path2D.prototype.roundRect??=t,globalThis.CanvasRenderingContext2D&&(globalThis.CanvasRenderingContext2D.prototype.roundRect??=t),globalThis.OffscreenCanvasRenderingContext2D&&(globalThis.OffscreenCanvasRenderingContext2D.prototype.roundRect??=t)})();var pnt="done";function gnt(t,e){return t===e||t!=t&&e!=e}function vnt(t,e){for(var r=t.length;r--;)if(gnt(t[r][0],e))return r;return-1}"function"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),r=1;r<arguments.length;r++){var n=arguments[r];if(null!=n)for(var i in n)n.hasOwnProperty(i)&&(e[i]=n[i])}return e}),"function"!=typeof Object.values&&(Object.values=function(t){let e=[];for(let r in t)e.push(t[r]);return e}),"function"!=typeof Object.keys&&(Object.values=function(t){let e=[];for(let r in t)e.push(r);return e}),"undefined"!=typeof CanvasRenderingContext2D&&null==CanvasRenderingContext2D.prototype.ellipse&&(CanvasRenderingContext2D.prototype.ellipse=function(t,e,r,n,i,o,a,s){this.save(),this.translate(t,e),this.rotate(i),this.translate(-r,-n),this.scale(r,n),this.arc(1,1,1,o,a,s),this.restore()}),function(){for(var t=0,e=["ms","moz","webkit","o"],r=0;r<e.length&&!window.requestAnimationFrame;++r)window.requestAnimationFrame=window[e[r]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[r]+"CancelAnimationFrame"]||window[e[r]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(console.warn("requestAnimationFrame not supported"),window.requestAnimationFrame=function(e,r){var n=performance.now(),i=Math.max(0,33-(n-t)),o=window.setTimeout(function(){e(n+i)},i);return t=n+i,o}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)})}(),String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return e=e||0,this.substr(e,t.length)===t});var ynt=Array.prototype.splice;function mnt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}mnt.prototype.clear=function(){this.__data__=[],this.size=0},mnt.prototype.delete=function(t){var e=this.__data__,r=vnt(e,t);return!(r<0)&&(r==e.length-1?e.pop():ynt.call(e,r,1),--this.size,!0)},mnt.prototype.get=function(t){var e=this.__data__,r=vnt(e,t);return r<0?void 0:e[r][1]},mnt.prototype.has=function(t){return vnt(this.__data__,t)>-1},mnt.prototype.set=function(t,e){var r=this.__data__,n=vnt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var bnt="object"==typeof global&&global&&global.Object===Object&&global,xnt="object"==typeof self&&self&&self.Object===Object&&self,wnt=bnt||xnt||Function("return this")(),Ant=wnt.Symbol,_nt=Object.prototype,Ent=_nt.hasOwnProperty,knt=_nt.toString,Snt=Ant?Ant.toStringTag:void 0;var Mnt=Object.prototype.toString;var Ont=Ant?Ant.toStringTag:void 0;function Tnt(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Ont&&Ont in Object(t)?function(t){var e=Ent.call(t,Snt),r=t[Snt];try{t[Snt]=void 0;var n=!0}catch(t){}var i=knt.call(t);return n&&(e?t[Snt]=r:delete t[Snt]),i}(t):function(t){return Mnt.call(t)}(t)}function Pnt(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Int(t){if(!Pnt(t))return!1;var e=Tnt(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var Cnt=wnt["__core-js_shared__"],Rnt=function(){var t=/[^.]+$/.exec(Cnt&&Cnt.keys&&Cnt.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();var Dnt=Function.prototype.toString;function jnt(t){if(null!=t){try{return Dnt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Lnt=/^\[object .+?Constructor\]$/,Nnt=Function.prototype,Fnt=Object.prototype,znt=Nnt.toString,Unt=Fnt.hasOwnProperty,Bnt=RegExp("^"+znt.call(Unt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function $nt(t){return!(!Pnt(t)||(e=t,Rnt&&Rnt in e))&&(Int(t)?Bnt:Lnt).test(jnt(t));var e}function Ynt(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return $nt(r)?r:void 0}var Gnt=Ynt(wnt,"Map"),Hnt=Ynt(Object,"create");var Wnt=Object.prototype.hasOwnProperty;var qnt=Object.prototype.hasOwnProperty;function Vnt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Xnt(t,e){var r=t.__data__;return function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}(e)?r["string"==typeof e?"string":"hash"]:r.map}function Knt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Vnt.prototype.clear=function(){this.__data__=Hnt?Hnt(null):{},this.size=0},Vnt.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Vnt.prototype.get=function(t){var e=this.__data__;if(Hnt){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return Wnt.call(e,t)?e[t]:void 0},Vnt.prototype.has=function(t){var e=this.__data__;return Hnt?void 0!==e[t]:qnt.call(e,t)},Vnt.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Hnt&&void 0===e?"__lodash_hash_undefined__":e,this},Knt.prototype.clear=function(){this.size=0,this.__data__={hash:new Vnt,map:new(Gnt||mnt),string:new Vnt}},Knt.prototype.delete=function(t){var e=Xnt(this,t).delete(t);return this.size-=e?1:0,e},Knt.prototype.get=function(t){return Xnt(this,t).get(t)},Knt.prototype.has=function(t){return Xnt(this,t).has(t)},Knt.prototype.set=function(t,e){var r=Xnt(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Qnt(t){var e=this.__data__=new mnt(t);this.size=e.size}Qnt.prototype.clear=function(){this.__data__=new mnt,this.size=0},Qnt.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Qnt.prototype.get=function(t){return this.__data__.get(t)},Qnt.prototype.has=function(t){return this.__data__.has(t)},Qnt.prototype.set=function(t,e){var r=this.__data__;if(r instanceof mnt){var n=r.__data__;if(!Gnt||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Knt(n)}return r.set(t,e),this.size=r.size,this};function Jnt(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new Knt;++e<r;)this.add(t[e])}function Znt(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function tit(t,e){return t.has(e)}Jnt.prototype.add=Jnt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Jnt.prototype.has=function(t){return this.__data__.has(t)};function eit(t,e,r,n,i,o){var a=1&r,s=t.length,c=e.length;if(s!=c&&!(a&&c>s))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var h=-1,f=!0,d=2&r?new Jnt:void 0;for(o.set(t,e),o.set(e,t);++h<s;){var p=t[h],g=e[h];if(n)var v=a?n(g,p,h,e,t,o):n(p,g,h,t,e,o);if(void 0!==v){if(v)continue;f=!1;break}if(d){if(!Znt(e,function(t,e){if(!tit(d,e)&&(p===t||i(p,t,r,n,o)))return d.push(e)})){f=!1;break}}else if(p!==g&&!i(p,g,r,n,o)){f=!1;break}}return o.delete(t),o.delete(e),f}var rit=wnt.Uint8Array;function nit(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}function iit(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}var oit=Ant?Ant.prototype:void 0,ait=oit?oit.valueOf:void 0;function sit(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var cit=Array.isArray;function lit(t,e,r){var n=e(t);return cit(t)?n:sit(n,r(t))}function uit(){return[]}var hit=Object.prototype.propertyIsEnumerable,fit=Object.getOwnPropertySymbols,dit=fit?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r<n;){var a=t[r];e(a,r,t)&&(o[i++]=a)}return o}(fit(t),function(e){return hit.call(t,e)}))}:uit;function pit(t){return null!=t&&"object"==typeof t}function git(t){return pit(t)&&"[object Arguments]"==Tnt(t)}var vit=Object.prototype,yit=vit.hasOwnProperty,mit=vit.propertyIsEnumerable,bit=git(function(){return arguments}())?git:function(t){return pit(t)&&yit.call(t,"callee")&&!mit.call(t,"callee")};var xit="object"==typeof exports&&exports&&!exports.nodeType&&exports,wit=xit&&"object"==typeof module&&module&&!module.nodeType&&module,Ait=wit&&wit.exports===xit?wnt.Buffer:void 0,_it=(Ait?Ait.isBuffer:void 0)||function(){return!1},Eit=/^(?:0|[1-9]\d*)$/;function kit(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&Eit.test(t))&&t>-1&&t%1==0&&t<e}function Sit(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var Mit={};function Oit(t){return function(e){return t(e)}}Mit["[object Float32Array]"]=Mit["[object Float64Array]"]=Mit["[object Int8Array]"]=Mit["[object Int16Array]"]=Mit["[object Int32Array]"]=Mit["[object Uint8Array]"]=Mit["[object Uint8ClampedArray]"]=Mit["[object Uint16Array]"]=Mit["[object Uint32Array]"]=!0,Mit["[object Arguments]"]=Mit["[object Array]"]=Mit["[object ArrayBuffer]"]=Mit["[object Boolean]"]=Mit["[object DataView]"]=Mit["[object Date]"]=Mit["[object Error]"]=Mit["[object Function]"]=Mit["[object Map]"]=Mit["[object Number]"]=Mit["[object Object]"]=Mit["[object RegExp]"]=Mit["[object Set]"]=Mit["[object String]"]=Mit["[object WeakMap]"]=!1;var Tit="object"==typeof exports&&exports&&!exports.nodeType&&exports,Pit=Tit&&"object"==typeof module&&module&&!module.nodeType&&module,Iit=Pit&&Pit.exports===Tit&&bnt.process,Cit=function(){try{var t=Pit&&Pit.require&&Pit.require("util").types;return t||Iit&&Iit.binding&&Iit.binding("util")}catch(t){}}(),Rit=Cit&&Cit.isTypedArray,Dit=Rit?Oit(Rit):function(t){return pit(t)&&Sit(t.length)&&!!Mit[Tnt(t)]},jit=Object.prototype.hasOwnProperty;function Lit(t,e){var r=cit(t),n=!r&&bit(t),i=!r&&!n&&_it(t),o=!r&&!n&&!i&&Dit(t),a=r||n||i||o,s=a?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],c=s.length;for(var l in t)!e&&!jit.call(t,l)||a&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||kit(l,c))||s.push(l);return s}var Nit=Object.prototype;function Fit(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Nit)}function zit(t,e){return function(r){return t(e(r))}}var Uit=zit(Object.keys,Object),Bit=Object.prototype.hasOwnProperty;function $it(t){if(!Fit(t))return Uit(t);var e=[];for(var r in Object(t))Bit.call(t,r)&&"constructor"!=r&&e.push(r);return e}function Yit(t){return null!=t&&Sit(t.length)&&!Int(t)}function Git(t){return Yit(t)?Lit(t):$it(t)}function Hit(t){return lit(t,Git,dit)}var Wit=Object.prototype.hasOwnProperty;var qit=Ynt(wnt,"DataView"),Vit=Ynt(wnt,"Promise"),Xit=Ynt(wnt,"Set"),Kit=Ynt(wnt,"WeakMap"),Qit="[object Map]",Jit="[object Promise]",Zit="[object Set]",tot="[object WeakMap]",eot="[object DataView]",rot=jnt(qit),not=jnt(Gnt),iot=jnt(Vit),oot=jnt(Xit),aot=jnt(Kit),sot=Tnt;(qit&&sot(new qit(new ArrayBuffer(1)))!=eot||Gnt&&sot(new Gnt)!=Qit||Vit&&sot(Vit.resolve())!=Jit||Xit&&sot(new Xit)!=Zit||Kit&&sot(new Kit)!=tot)&&(sot=function(t){var e=Tnt(t),r="[object Object]"==e?t.constructor:void 0,n=r?jnt(r):"";if(n)switch(n){case rot:return eot;case not:return Qit;case iot:return Jit;case oot:return Zit;case aot:return tot}return e});var cot=sot,lot="[object Arguments]",uot="[object Array]",hot="[object Object]",fot=Object.prototype.hasOwnProperty;function dot(t,e,r,n,i,o){var a=cit(t),s=cit(e),c=a?uot:cot(t),l=s?uot:cot(e),u=(c=c==lot?hot:c)==hot,h=(l=l==lot?hot:l)==hot,f=c==l;if(f&&_it(t)){if(!_it(e))return!1;a=!0,u=!1}if(f&&!u)return o||(o=new Qnt),a||Dit(t)?eit(t,e,r,n,i,o):function(t,e,r,n,i,o,a){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!o(new rit(t),new rit(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return gnt(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=nit;case"[object Set]":var c=1&n;if(s||(s=iit),t.size!=e.size&&!c)return!1;var l=a.get(t);if(l)return l==e;n|=2,a.set(t,e);var u=eit(s(t),s(e),n,i,o,a);return a.delete(t),u;case"[object Symbol]":if(ait)return ait.call(t)==ait.call(e)}return!1}(t,e,c,r,n,i,o);if(!(1&r)){var d=u&&fot.call(t,"__wrapped__"),p=h&&fot.call(e,"__wrapped__");if(d||p){var g=d?t.value():t,v=p?e.value():e;return o||(o=new Qnt),i(g,v,r,n,o)}}return!!f&&(o||(o=new Qnt),function(t,e,r,n,i,o){var a=1&r,s=Hit(t),c=s.length;if(c!=Hit(e).length&&!a)return!1;for(var l=c;l--;){var u=s[l];if(!(a?u in e:Wit.call(e,u)))return!1}var h=o.get(t),f=o.get(e);if(h&&f)return h==e&&f==t;var d=!0;o.set(t,e),o.set(e,t);for(var p=a;++l<c;){var g=t[u=s[l]],v=e[u];if(n)var y=a?n(v,g,u,e,t,o):n(g,v,u,t,e,o);if(!(void 0===y?g===v||i(g,v,r,n,o):y)){d=!1;break}p||(p="constructor"==u)}if(d&&!p){var m=t.constructor,b=e.constructor;m==b||!("constructor"in t)||!("constructor"in e)||"function"==typeof m&&m instanceof m&&"function"==typeof b&&b instanceof b||(d=!1)}return o.delete(t),o.delete(e),d}(t,e,r,n,i,o))}function pot(t,e,r,n,i){return t===e||(null==t||null==e||!pit(t)&&!pit(e)?t!=t&&e!=e:dot(t,e,r,n,pot,i))}function got(t,e){return pot(t,e)}var vot=function(){try{var t=Ynt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function yot(t,e,r){"__proto__"==e&&vot?vot(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var mot=Object.prototype.hasOwnProperty;function bot(t,e,r){var n=t[e];mot.call(t,e)&&gnt(n,r)&&(void 0!==r||e in t)||yot(t,e,r)}function xot(t,e,r,n){var i=!r;r||(r={});for(var o=-1,a=e.length;++o<a;){var s=e[o],c=n?n(r[s],t[s],s,r,t):void 0;void 0===c&&(c=t[s]),i?yot(r,s,c):bot(r,s,c)}return r}function wot(t){return t}function Aot(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var _ot=Math.max;function Eot(t){return function(){return t}}var kot=vot?function(t,e){return vot(t,"toString",{configurable:!0,enumerable:!1,value:Eot(e),writable:!0})}:wot,Sot=Date.now;var Mot=function(t){var e=0,r=0;return function(){var n=Sot(),i=16-(n-r);if(r=n,i>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(kot);function Oot(t,e){return Mot(function(t,e,r){return e=_ot(void 0===e?t.length-1:e,0),function(){for(var n=arguments,i=-1,o=_ot(n.length-e,0),a=Array(o);++i<o;)a[i]=n[e+i];i=-1;for(var s=Array(e+1);++i<e;)s[i]=n[i];return s[e]=r(a),Aot(t,this,s)}}(t,e,wot),t+"")}function Tot(t,e,r){if(!Pnt(r))return!1;var n=typeof e;return!!("number"==n?Yit(r)&&kit(e,r.length):"string"==n&&e in r)&&gnt(r[e],t)}var Pot=Object.prototype.hasOwnProperty;function Iot(t){if(!Pnt(t))return function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}(t);var e=Fit(t),r=[];for(var n in t)("constructor"!=n||!e&&Pot.call(t,n))&&r.push(n);return r}function Cot(t){return Yit(t)?Lit(t,!0):Iot(t)}var Rot,Dot=(Rot=function(t,e,r,n){xot(e,Cot(e),t,n)},Oot(function(t,e){var r=-1,n=e.length,i=n>1?e[n-1]:void 0,o=n>2?e[2]:void 0;for(i=Rot.length>3&&"function"==typeof i?(n--,i):void 0,o&&Tot(e[0],e[1],o)&&(i=n<3?void 0:i,n=1),t=Object(t);++r<n;){var a=e[r];a&&Rot(t,a,r,i)}return t})),jot=zit(Object.getPrototypeOf,Object),Lot=Function.prototype,Not=Object.prototype,Fot=Lot.toString,zot=Not.hasOwnProperty,Uot=Fot.call(Object);function Bot(t){if(!pit(t))return!1;var e=Tnt(t);return"[object Error]"==e||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!function(t){if(!pit(t)||"[object Object]"!=Tnt(t))return!1;var e=jot(t);if(null===e)return!0;var r=zot.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&Fot.call(r)==Uot}(t)}var $ot=Oot(function(t,e){try{return Aot(t,void 0,e)}catch(t){return Bot(t)?t:new Error(t)}});function Yot(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var Got=Object.prototype,Hot=Got.hasOwnProperty;function Wot(t,e,r,n){return void 0===t||gnt(t,Got[r])&&!Hot.call(n,r)?e:t}var qot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};function Vot(t){return"\\"+qot[t]}var Xot=/<%=([\s\S]+?)%>/g;var Kot,Qot=(Kot={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},function(t){return null==Kot?void 0:Kot[t]});function Jot(t){return"symbol"==typeof t||pit(t)&&"[object Symbol]"==Tnt(t)}var Zot=Ant?Ant.prototype:void 0,tat=Zot?Zot.toString:void 0;function eat(t){if("string"==typeof t)return t;if(cit(t))return Yot(t,eat)+"";if(Jot(t))return tat?tat.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function rat(t){return null==t?"":eat(t)}var nat=/[&<>"']/g,iat=RegExp(nat.source);var oat={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:Xot,variable:"",imports:{_:{escape:function(t){return(t=rat(t))&&iat.test(t)?t.replace(nat,Qot):t}}}},aat=/\b__p \+= '';/g,sat=/\b(__p \+=) '' \+/g,cat=/(__e\(.*?\)|\b__t\)) \+\n'';/g,lat=/[()=,{}\[\]\/\s]/,uat=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,hat=/($^)/,fat=/['\n\r\u2028\u2029\\]/g,dat=Object.prototype.hasOwnProperty;function pat(t){return t}function gat(t){return Math.pow(t,2)}function vat(t){return 1-Math.sin(Math.acos(t))}function yat(t,e={x:1.5}){return Math.pow(t,2)*((e.x+1)*t-e.x)}function mat(t){for(let e=0,r=1;;e+=r,r/=2)if(t>=(7-4*e)/11)return-Math.pow((11-6*e-11*t)/4,2)+Math.pow(r,2)}function bat(t,e={x:1.5}){return Math.pow(2,10*(t-1))*Math.cos(20*Math.PI*e.x/3*t)}var xat={linear:pat,quad:gat,circ:vat,back:yat,bounce:mat,elastic:bat},wat=Object.freeze({__proto__:null,linear:pat,quad:gat,circ:vat,back:yat,bounce:mat,elastic:bat,default:xat});function Aat(t){var{duration:e=1e3,easing:r,component:n,step:i=()=>{},onStart:o,onProgress:a,onComplete:s,options:c,repeat:l=!1,delta:u}=t;let h;h="string"==typeof u?wat[u]:u||pat,"out"===r?h=function(t,e){return function(r){return 1-t(1-r,e)}}(h,c):"inout"===r&&(h=function(t,e){return function(r){return r<.5?t(2*r,e)/2:(2-t(2*(1-r),e))/2}}(h,c));var f=!1;return{start:function(){if(f)return this;f=!0,o&&o();var t=0,r=()=>{if(f){0===t&&(t=performance.now());var n=(performance.now()-t)/e,o=l?n%1:Math.min(n,1);i(h(o,c)),a&&a(o),!(n>=1)||l&&f||(this.stop(),t=0),f&&requestAnimationFrame(r)}};return requestAnimationFrame(r),this},stop:function(){return f=!1,s&&s(),this}}}class _at{constructor(t,e){this._started=!1,this._raf=null,this._timeout=null,this.client=t,this.config=e,this._started=!1;const{delta:r="linear",options:n,ease:i}=this.config;let o;o="string"==typeof r?xat[r]:r,this.delta="out"===i?function(t,e){return function(r){return 1-t(1-r,e)}}(o,n):"inout"===i?function(t,e){return function(r){return r<.5?t(2*r,e)/2:(2-t(2*(1-r),e))/2}}(o,n):o,this.init()}dispose(){this.stop(),delete this.client}init(){}start(){if(this._started)return;const{duration:t=2e3,delay:e=0,repeat:r=!1,interval:n=0,onComplete:i}=this.config;this._started=!0;let o=0,a=0;const s=()=>{if(this._raf=null,this._timeout=null,!this._started)return;0==o&&(o=performance.now(),this.client?.touch?.());const c=performance.now()-o,l=Math.max((c-e)%(t+n),0)/t,u=n<=0&&a>l;if(a=l,l>=1||u){if(this.step(1),this.client&&this.client.invalidate?.(),!r||!this._started)return this.stop(i),void(o=0);if(n>0)return void(this._timeout=setTimeout(()=>{this.step(0),this.client&&this.client.invalidate?.(),this._timeout=setTimeout(s,n/2)},n/2))}else this.step(this.delta(l)),this.client&&this.client.invalidate?.();this._raf=requestAnimationFrame(s)};this._raf=requestAnimationFrame(s)}stop(t){this._raf&&cancelAnimationFrame(this._raf),this._timeout&&clearTimeout(this._timeout),this._raf=null,this._timeout=null,this._started=!1,t?.()}step(t){}get started(){return this._started}set started(t){this.started!=!!t&&(t?this.start():this.stop())}}const Eat={rotation:class extends _at{step(t){const{theta:e=6.28}=this.config;this.client.delta?.("theta",t*e)}},vibration:class extends _at{step(t){const{theta:e=.2617993877991494}=this.config,r=4*e;let n=t*r;t<1/4?n*=-1:t<3/4?n-=2*e:n=r-n,this.client.delta?.("theta",n)}},heartbeat:class extends _at{step(t){const{scale:e=1.3}=this.config,r=2*(e-1);let n;n=t<.5?1+r*t:1+(1-t)*r,this.client.delta?.({sx:n,sy:n})}},moving:class extends _at{step(t){const{x:e=0,y:r=0}=this.config;this.client.delta?.({tx:t*e,ty:t*r})}},outline:class extends _at{step(t){const{rideOn:e}=this.config;if(!e||!this.client)return;const r=this.client.root.findById(e);if(!r)return;let n={tx:0,ty:0};const i=this.client.delta("");i&&"object"==typeof i&&"tx"in i&&"ty"in i&&(n=i);const{tx:o,ty:a}=n,s=r.outline(t),{x:c,y:l}=this.client.center,u=this.client.toScene(c,l);this.client.delta({tx:s.x-u.x+o,ty:s.y-u.y+a})}},fade:class extends _at{step(t){const{startAlpha:e=1,endAlpha:r=0}=this.config,n=Math.max(Math.min(e,r,1),0),i=2*(Math.min(Math.max(e,r,1),1)-n);let o;o=t<.5?i*t:(1-t)*i,this.client.delta?.("fade",o)}},waypoint:class extends _at{start(){let{toComponent:t,fromComponent:e}=this.config;e||(e=t);const r=e.center,n=t.center,{x:i,y:o}=e.toScene(r.x,r.y),{x:a,y:s}=t.toScene(n.x,n.y),c=Math.atan2(s-o,a-i)+Math.PI/2;this.client.location={x:i,y:o},this.client.setState("rotation",c),super.start()}stop(){const{toComponent:t}=this.config;super.stop();const e=t.center,r=t.toScene(e.x,e.y);this.client.delta({tx:0,ty:0}),this.client.location=r}step(t){let{toComponent:e,fromComponent:r}=this.config;r||(r=e);const n=r.center,i=e.center,{x:o,y:a}=r.toScene(n.x,n.y),{x:s,y:c}=e.toScene(i.x,i.y),l=(s-o)*t,u=(c-a)*t;this.client.location={x:o+l,y:a+u}}}};function kat(t,e){const r=Eat[e.type];return r?new r(t,e):null}var Sat="object"==typeof exports&&exports&&!exports.nodeType&&exports,Mat=Sat&&"object"==typeof module&&module&&!module.nodeType&&module,Oat=Mat&&Mat.exports===Sat?wnt.Buffer:void 0,Tat=Oat?Oat.allocUnsafe:void 0;var Pat=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)sit(e,dit(t)),t=jot(t);return e}:uit;function Iat(t){return lit(t,Cot,Pat)}var Cat=Object.prototype.hasOwnProperty;function Rat(t){var e=new t.constructor(t.byteLength);return new rit(e).set(new rit(t)),e}var Dat=/\w*$/;var jat=Ant?Ant.prototype:void 0,Lat=jat?jat.valueOf:void 0;function Nat(t,e,r){var n,i=t.constructor;switch(e){case"[object ArrayBuffer]":return Rat(t);case"[object Boolean]":case"[object Date]":return new i(+t);case"[object DataView]":return function(t,e){var r=e?Rat(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t,e){var r=e?Rat(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}(t,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,Dat.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return n=t,Lat?Object(Lat.call(n)):{}}}var Fat=Object.create,zat=function(){function t(){}return function(e){if(!Pnt(e))return{};if(Fat)return Fat(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();var Uat=Cit&&Cit.isMap,Bat=Uat?Oit(Uat):function(t){return pit(t)&&"[object Map]"==cot(t)};var $at=Cit&&Cit.isSet,Yat=$at?Oit($at):function(t){return pit(t)&&"[object Set]"==cot(t)},Gat="[object Arguments]",Hat="[object Function]",Wat="[object Object]",qat={};function Vat(t,e,r,n,i,o){var a,s=1&e,c=2&e,l=4&e;if(r&&(a=i?r(t,n,i,o):r(t)),void 0!==a)return a;if(!Pnt(t))return t;var u=cit(t);if(u){if(a=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&Cat.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!s)return function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}(t,a)}else{var h=cot(t),f=h==Hat||"[object GeneratorFunction]"==h;if(_it(t))return function(t,e){if(e)return t.slice();var r=t.length,n=Tat?Tat(r):new t.constructor(r);return t.copy(n),n}(t,s);if(h==Wat||h==Gat||f&&!i){if(a=c||f?{}:function(t){return"function"!=typeof t.constructor||Fit(t)?{}:zat(jot(t))}(t),!s)return c?function(t,e){return xot(t,Pat(t),e)}(t,function(t,e){return t&&xot(e,Cot(e),t)}(a,t)):function(t,e){return xot(t,dit(t),e)}(t,function(t,e){return t&&xot(e,Git(e),t)}(a,t))}else{if(!qat[h])return i?t:{};a=Nat(t,h,s)}}o||(o=new Qnt);var d=o.get(t);if(d)return d;o.set(t,a),Yat(t)?t.forEach(function(n){a.add(Vat(n,e,r,n,t,o))}):Bat(t)&&t.forEach(function(n,i){a.set(i,Vat(n,e,r,i,t,o))});var p=u?void 0:(l?c?Iat:Hit:c?Cot:Git)(t);return function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););}(p||t,function(n,i){p&&(n=t[i=n]),bot(a,i,Vat(n,e,r,i,t,o))}),a}qat[Gat]=qat["[object Array]"]=qat["[object ArrayBuffer]"]=qat["[object DataView]"]=qat["[object Boolean]"]=qat["[object Date]"]=qat["[object Float32Array]"]=qat["[object Float64Array]"]=qat["[object Int8Array]"]=qat["[object Int16Array]"]=qat["[object Int32Array]"]=qat["[object Map]"]=qat["[object Number]"]=qat[Wat]=qat["[object RegExp]"]=qat["[object Set]"]=qat["[object String]"]=qat["[object Symbol]"]=qat["[object Uint8Array]"]=qat["[object Uint8ClampedArray]"]=qat["[object Uint16Array]"]=qat["[object Uint32Array]"]=!0,qat["[object Error]"]=qat[Hat]=qat["[object WeakMap]"]=!1;function Xat(t){return Vat(t,4)}var Kat=function(){return wnt.Date.now()},Qat=/\s/;var Jat=/^\s+/;function Zat(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Qat.test(t.charAt(e)););return e}(t)+1).replace(Jat,""):t}var tst=/^[-+]0x[0-9a-f]+$/i,est=/^0b[01]+$/i,rst=/^0o[0-7]+$/i,nst=parseInt;function ist(t){if("number"==typeof t)return t;if(Jot(t))return NaN;if(Pnt(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Pnt(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Zat(t);var r=est.test(t);return r||rst.test(t)?nst(t.slice(2),r?2:8):tst.test(t)?NaN:+t}var ost=Math.max,ast=Math.min;function sst(t,e,r){var n,i,o,a,s,c,l=0,u=!1,h=!1,f=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function d(e){var r=n,o=i;return n=i=void 0,l=e,a=t.apply(o,r)}function p(t){var r=t-c;return void 0===c||r>=e||r<0||h&&t-l>=o}function g(){var t=Kat();if(p(t))return v(t);s=setTimeout(g,function(t){var r=e-(t-c);return h?ast(r,o-(t-l)):r}(t))}function v(t){return s=void 0,f&&n?d(t):(n=i=void 0,a)}function y(){var t=Kat(),r=p(t);if(n=arguments,i=this,c=t,r){if(void 0===s)return function(t){return l=t,s=setTimeout(g,e),u?d(t):a}(c);if(h)return clearTimeout(s),s=setTimeout(g,e),d(c)}return void 0===s&&(s=setTimeout(g,e)),a}return e=ist(e)||0,Pnt(r)&&(u=!!r.leading,o=(h="maxWait"in r)?ost(ist(r.maxWait)||0,e):o,f="trailing"in r?!!r.trailing:f),y.cancel=function(){void 0!==s&&clearTimeout(s),l=0,n=c=i=s=void 0},y.flush=function(){return void 0===s?a:v(Kat())},y}function cst(t,e,r){var n=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return Pnt(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),sst(t,e,{leading:n,maxWait:e,trailing:i})}var lst=1/0;function ust(t){var e=function(t){return t?(t=ist(t))===lst||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}(t),r=e%1;return e==e?r?e-r:e:0}function hst(t){return function(t,e){var r;if("function"!=typeof e)throw new TypeError("Expected a function");return t=ust(t),function(){return--t>0&&(r=e.apply(this,arguments)),t<=1&&(e=void 0),r}}(2,t)}var fst=Object.prototype.hasOwnProperty;function dst(t){if(null==t)return!0;if(Yit(t)&&(cit(t)||"string"==typeof t||"function"==typeof t.splice||_it(t)||Dit(t)||bit(t)))return!t.length;var e=cot(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(Fit(t))return!$it(t).length;for(var r in t)if(fst.call(t,r))return!1;return!0}var pst=0;function gst(t={},...e){return"object"!=typeof t&&(t={}),e.forEach(e=>{for(let r in e)"object"!=typeof e[r]?t[r]=e[r]:e[r].length>0?t[r]=e[r].map(t=>{let n;return n="object"!=typeof e[r]?t:gst({},t),n}):t[r]=gst(t[r],e[r])}),t}function vst(t){for(;t&&"object"==typeof t;){let e=t;for(let e in t){t=t[e];break}if(t===e){t=void 0;break}}return t}var yst=Object.freeze({__proto__:null,insertAt:function(t,e){return this.__collection__?(-1==this.__collection__.indexOf(e)&&this.__collection__.splice(t,0,e),this):this},append:function(t){return this.__collection__||(this.__collection__=[]),-1==this.__collection__.indexOf(t)&&this.__collection__.push(t),this},prepend:function(t){return this.__collection__||(this.__collection__=[]),-1==this.__collection__.indexOf(t)&&this.__collection__.unshift(t),this},remove:function(t){if(!this.__collection__)return this;const e=this.__collection__.indexOf(t);return e>=0&&this.__collection__.splice(e,1),this},getAt:function(t){if(this.__collection__)return this.__collection__[t]},forEach:function(t,e){this.__collection__&&this.__collection__.forEach(t,e)},indexOf:function(t){return this.__collection__?this.__collection__.indexOf(t):-1},size:function(){return this.__collection__?this.__collection__.length:0},clear:function(){this.__collection__=[]},moveForward:function(t){const e=this.indexOf(t);-1!=e&&0!=e&&(this.__collection__[e]=this.__collection__[e-1],this.__collection__[e-1]=t)},moveBackward:function(t){const e=this.indexOf(t);-1!=e&&e!=this.size()-1&&(this.__collection__[e]=this.__collection__[e+1],this.__collection__[e+1]=t)},moveToHead:function(t){const e=this.indexOf(t);if(-1==e||0==e)return;const r=this.__collection__.splice(0,e),n=this.__collection__.splice(1);this.__collection__=this.__collection__.concat(r,n)},moveToTail:function(t){const e=this.indexOf(t);if(-1==e||e==this.size()-1)return;const r=this.__collection__.splice(0,e),n=this.__collection__.splice(1);this.__collection__=r.concat(n,this.__collection__)}});function mst(){}mst.prototype=yst;var bst=/\s+/;function xst(t,e,r,n){if(!r)return!0;if("object"==typeof r){for(let n in r){let i=r[n];t[e].apply(t,[n,i])}return!1}return!bst.test(r)||(r.split(bst).forEach(r=>t[e].apply(t,[r].concat(n))),!1)}const wst=["on","off","once","delegate_on","delegate_off","trigger","listenTo"];var Ast={withEvent(){wst.forEach(t=>this[t]=Ast[t])},on(t,e,r){return xst(this,"on",t,[e,r])&&e?(this._listeners||(this._listeners={}),(this._listeners[t]||(this._listeners[t]=[])).push({callback:e,context:r,ctx:r||this}),this):this},once(t,e,r){if(!xst(this,"once",t,[e,r])||!e)return this;var n=this,i=hst(function(){n.off(t,i,r),e.apply(n,arguments)});return i._callback=e,this.on(t,i,r),this},off(t,e,r){if(!this._listeners||!xst(this,"off",t,[e,r]))return this;if(!t&&!e&&!r)return this._listeners=void 0,this;var n;n=t&&"string"==typeof t?[t]:Object.keys(this._listeners||{});for(let t=0;t<n.length;t++){let i=n[t],o=this._listeners?.[i];if(o){let t=[];if(this._listeners[i]=t,e||r)for(let n=0;n<o.length;n++){let i=o[n];(e&&e!==i.callback&&e!==i.callback._callback||r&&r!==i.context)&&t.push(i)}t.length||delete this._listeners[i]}}return this},delegate_on(t){return this._delegators||(this._delegators=new mst),this._delegators.append(t),this},delegate_off(t){return this._delegators?(this._delegators.remove(t),this):this},delegate(){if(this._delegators&&this._delegators.size()>0&&Est(this._delegators,arguments),!this._listeners)return this;var t=arguments.length-1,e=arguments[t];arguments[t]={origin:e.origin,name:e.name,deliverer:this};var r=this._listeners[e.name],n=this._listeners["(all)"];return r&&_st(r,arguments),n&&_st(n,arguments),this},trigger(t){var e=[].slice.call(arguments,1);if(e.push({origin:this,name:t,deliverer:this}),this._delegators&&this._delegators.size()>0&&Est(this._delegators,e),!this._listeners)return this;if(!xst(this,"trigger",t,e))return this;var r=this._listeners[t],n=this._listeners["(all)"];return r&&_st(r,e),n&&_st(n,e),this},stopListening(t,e,r){var n=this._listeningTo;if(!n)return this;var i=!e&&!r;r||"object"!=typeof e||(r=this),t&&((n={})[t._listenId]=t);for(let t in n){let o=n[t];o.off(e,r,this),(i||dst(o._events))&&delete this._listeningTo[t]}return this}};function _st(t,e){t.forEach(t=>t.callback.apply(t.ctx,e))}function Est(t,e){t.forEach(t=>Ast.delegate.apply(t,e))}var kst={listenTo:"on",listenToOnce:"once"};for(let t in kst){var Sst=kst[t];Ast[t]=function(t,e,r){this._listeningTo||(this._listeningTo={});var n=this._listeningTo;return t._listenId||(t._listenId=`${"l"||""}${++pst}`),n[t._listenId]=t,r||"object"!=typeof e||(r=this),t[Sst](e,r,this),this}}function Mst(t,e){if(e instanceof Array)e.forEach(e=>Mst(t,e));else{if(t.mixedIn=t.hasOwnProperty("mixedIn")?t.mixedIn:[],t.mixingIn=t.hasOwnProperty("mixingIn")?t.mixingIn:[],t.mixedIn.indexOf(e)>=0)return t;if(t.mixingIn.indexOf(e)>=0)throw new Error(`found cyclic dependencies between ${t.mixingIn}`);t.mixingIn.push(e),e.call(t),t.mixingIn.pop(),t.mixedIn.push(e)}return t}var Ost=(...t)=>{var e=[];t.forEach(t=>t&&t.stack&&e.push(t.stack)),console.error("[ERROR]",...t,e.join(" "))},Tst=(...t)=>{var e=[];t.forEach(t=>t&&t.stack&&e.push(t.stack)),console.warn("[WARN]",...t,e.join(" "))},Pst=(...t)=>console.log("[DEBUG]",...t);function Ist(t,e,r){const n=t.__lookupGetter__(e);n?r?t.__defineGetter__(e,function(){return void 0===this.__cache__[e]&&(this.__cache__[e]=n.call(this)),Xat(this.__cache__[e])}):t.__defineGetter__(e,function(){return void 0===this.__cache__[e]&&(this.__cache__[e]=n.call(this)),this.__cache__[e]}):Ost(`${String(e)} is not defined in ${t.constructor.name}`)}const Cst={},Rst=0,Dst=1,jst=2,Lst=3,Nst=4,Fst=5,zst={VIEW:0,EDIT:1,SHIFT:2,ADD:3},Ust=30,Bst="undefined"==typeof window?1:window.devicePixelRatio||(window.matchMedia&&window.matchMedia("(min-resolution: 2dppx), (-webkit-min-device-pixel-ratio: 1.5),(-moz-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)").matches?2:1)||1,$st=["mousemove","mouseup","mousedown","mouseout","wheel","touchstart","touchmove","touchend","dblclick"],Yst=["keydown","keyup"],Gst={ALPHA:1,FONT_SIZE:15,FONT_FAMILY:"Roboto, sans-serif",FONT_COLOR:"black",TEXT_ALIGN:"center",TEXT_BASELINE:"middle",TEXT_WRAP:!1,BOLD:!1,ITALIC:!1,STROKE_STYLE:"#999",LINE_DASH:"solid",LETTER_SPACING:0},Hst=()=>{const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim(),r=t.fontFamily||"sans-serif";Gst.FONT_FAMILY=e||r},Wst=()=>{window.addEventListener("load",()=>{Hst()}),"fonts"in document&&"ready"in document.fonts&&document.fonts.ready.then(Hst);new MutationObserver(()=>{Hst()}).observe(document.documentElement,{attributes:!0,attributeFilter:["style","class"]})};Wst(),Hst();const qst={x:1,y:1};function Vst(t,e,r){var{left:n=0,top:i=0,blurSize:o=0,color:a="transparent"}=e,s=r.rootModel.get("scale")||qst;t.shadowOffsetX=n*s.x*Bst,t.shadowOffsetY=i*s.y*Bst,t.shadowBlur=o*s.x*Bst,t.shadowColor=a}var Xst={gradation:function(t,e,r){var{type:n,subType:i,from:o,to:a,colors:s}=r;switch(i){case"linear":var c=e.createLinearGradient(o.x,o.y,a.x,a.y);break;case"radial":c=e.createRadialGradient(o.x,o.y,o.r,a.x,a.y,a.r);break;default:c=e.createLinearGradient(o.x,o.y,a.x,a.y)}s&&(s.forEach(function(t){c.addColorStop(t.endPoint,t.color)}),e.fillStyle=c,e.fill())},shadow:Vst};function Kst(t,e,r,n){var i=e.get("class");return!!i&&(i.split(" ")||[]).indexOf(t.substr(1))>=0}function Qst(t,e,r,n){return t==e.get("type")}function Jst(t,e,r,n){if("(all)"==t)return!0;switch(t.charAt(0)){case"#":return function(t,e){return t.substring(1)==e.get("id")}(t,e);case".":return Kst(t,e);case"(":return function(t,e,r,n){switch(t){case"(all)":return!0;case"(self)":return n===e;case"(root)":return!n.parent&&n===e;case"(descendant)":return n!==e;case"(child)":return n===e.parent;default:return!1}}(t,e,0,n);default:return Qst(t,e)}}function Zst(t,e,r,n,i,o){return t(e,r,n,i)&&o.push(r),r.components&&r.components.forEach(r=>{Zst(t,e,r,n,i,o)}),o}function tct(t,e,r,n){switch(t){case"(all)":return!0;case"(parent)":return r&&r.parent===e;case"(child)":case"(children)":return r&&r===e.parent;case"(sibling)":case"(siblings)":return r&&r.parent===e.parent&&r!==e;default:return!1}}function ect(t,e,r){if("(root)"==t)return[e];if("(self)"==t)return r?[r]:[];var n;switch(t.charAt(0)){case"#":let r=e.root.findAllById(t.substring(1));return r||[];case".":n=Kst;break;case"(":n=tct;break;default:n=Qst}return Zst(n,t,e,r,e,[])}function rct(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var nct={exports:{}};!function(e){var r=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,i=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,a=Object.create(o.prototype),s=new P(n||[]);return i(a,"_invoke",{value:S(t,r,s)}),a}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f="suspendedStart",d="suspendedYield",p="executing",g="completed",v={};function y(){}function m(){}function b(){}var x={};l(x,a,function(){return this});var w=Object.getPrototypeOf,A=w&&w(w(I([])));A&&A!==r&&n.call(A,a)&&(x=A);var _=b.prototype=y.prototype=Object.create(x);function E(t){["next","throw","return"].forEach(function(e){l(t,e,function(t){return this._invoke(e,t)})})}function k(t,e){function r(i,o,a,s){var c=h(t[i],t,o);if("throw"!==c.type){var l=c.arg,u=l.value;return u&&"object"==typeof u&&n.call(u,"__await")?e.resolve(u.__await).then(function(t){r("next",t,a,s)},function(t){r("throw",t,a,s)}):e.resolve(u).then(function(t){l.value=t,a(l)},function(t){return r("throw",t,a,s)})}s(c.arg)}var o;i(this,"_invoke",{value:function(t,n){function i(){return new e(function(e,i){r(t,n,e,i)})}return o=o?o.then(i,i):i()}})}function S(t,r,n){var i=f;return function(o,a){if(i===p)throw new Error("Generator is already running");if(i===g){if("throw"===o)throw a;return{value:e,done:!0}}for(n.method=o,n.arg=a;;){var s=n.delegate;if(s){var c=M(s,n);if(c){if(c===v)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===f)throw i=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=p;var l=h(t,r,n);if("normal"===l.type){if(i=n.done?g:d,l.arg===v)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(i=g,n.method="throw",n.arg=l.arg)}}}function M(t,r){var n=r.method,i=t.iterator[n];if(i===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,M(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=h(i,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function I(t){if(null!=t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function r(){for(;++i<t.length;)if(n.call(t,i))return r.value=t[i],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}throw new TypeError(typeof t+" is not iterable")}return m.prototype=b,i(_,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:m,configurable:!0}),m.displayName=l(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,l(t,c,"GeneratorFunction")),t.prototype=Object.create(_),t},t.awrap=function(t){return{__await:t}},E(k.prototype),l(k.prototype,s,function(){return this}),t.AsyncIterator=k,t.async=function(e,r,n,i,o){void 0===o&&(o=Promise);var a=new k(u(e,r,n,i),o);return t.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next()})},E(_),l(_,c,"Generator"),l(_,a,function(){return this}),l(_,"toString",function(){return"[object Generator]"}),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=I,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function i(n,i){return s.type="throw",s.arg=t,r.next=n,i&&(r.method="next",r.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(c&&l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),T(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;T(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:I(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(e.exports);try{regeneratorRuntime=r}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}Number.isInteger=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},String.fromCodePoint||function(t){var e=function(e){for(var r=[],n=0,i="",o=0,a=arguments.length;o!==a;++o){var s=+arguments[o];if(!(s<1114111&&s>>>0===s))throw RangeError("Invalid code point: "+s);s<=65535?n=r.push(s):(s-=65536,n=r.push(55296+(s>>10),s%1024+56320)),n>=16383&&(i+=t.apply(null,r),r.length=0)}return i+t.apply(null,r)};try{Object.defineProperty(String,"fromCodePoint",{value:e,configurable:!0,writable:!0})}catch(t){String.fromCodePoint=e}}(String.fromCharCode),Object.is||(Object.is=function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e})
2
- /*! https://mths.be/codepointat v0.2.0 by @mathias */,String.prototype.codePointAt||function(){var t=function(){try{var t={},e=Object.defineProperty,r=e(t,t,t)&&e}catch(t){}return r}(),e=function(t){if(null==this)throw TypeError();var e=String(this),r=e.length,n=t?Number(t):0;if(n!=n&&(n=0),!(n<0||n>=r)){var i,o=e.charCodeAt(n);return o>=55296&&o<=56319&&r>n+1&&(i=e.charCodeAt(n+1))>=56320&&i<=57343?1024*(o-55296)+i-56320+65536:o}};t?t(String.prototype,"codePointAt",{value:e,configurable:!0,writable:!0}):String.prototype.codePointAt=e}(),Math.log10=Math.log10||function(t){return Math.log(t)*Math.LOG10E},e.exports=function(){function t(e,r,n){function i(a,s){if(!r[a]){if(!e[a]){if(!s&&rct)return rct(a);if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[a]={exports:{}};e[a][0].call(l.exports,function(t){return i(e[a][1][t]||t)},l,l.exports,t,e,r,n)}return r[a].exports}for(var o=rct,a=0;a<n.length;a++)i(n[a]);return i}return t}()({1:[function(t,e,r){var n=t("./utils"),i=function(){var t=n.stringToArray,e=["Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"],r=["Zeroth","First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Ninth","Tenth","Eleventh","Twelfth","Thirteenth","Fourteenth","Fifteenth","Sixteenth","Seventeenth","Eighteenth","Nineteenth"],i=["Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety","Hundred"],o=["Thousand","Million","Billion","Trillion"];function a(t,n){var a=function t(n,a,s){var c="";if(n<=19)c=(a?" and ":"")+(s?r[n]:e[n]);else if(n<100){var l=Math.floor(n/10),u=n%10;c=(a?" and ":"")+i[l-2],u>0?c+="-"+t(u,!1,s):s&&(c=c.substring(0,c.length-1)+"ieth")}else if(n<1e3){var h=Math.floor(n/100),f=n%100;c=(a?", ":"")+e[h]+" Hundred",f>0?c+=t(f,!0,s):s&&(c+="th")}else{var d=Math.floor(Math.log10(n)/3);d>o.length&&(d=o.length);var p=Math.pow(10,3*d),g=Math.floor(n/p),v=n-g*p;c=(a?", ":"")+t(g,!1,!1)+" "+o[d-1],v>0?c+=t(v,!0,s):s&&(c+="th")}return c};return a(t,!1,n)}var s={};function c(t){var e=t.split(/,\s|\sand\s|[\s\\-]/).map(function(t){return s[t]}),r=[0];e.forEach(function(t){if(t<100){var e=r.pop();e>=1e3&&(r.push(e),e=0),r.push(e+t)}else r.push(r.pop()*t)});var n=r.reduce(function(t,e){return t+e},0);return n}e.forEach(function(t,e){s[t.toLowerCase()]=e}),r.forEach(function(t,e){s[t.toLowerCase()]=e}),i.forEach(function(t,e){var r=t.toLowerCase();s[r]=10*(e+2),s[r.substring(0,t.length-1)+"ieth"]=s[r]}),s.hundredth=100,o.forEach(function(t,e){var r=t.toLowerCase(),n=Math.pow(10,3*(e+1));s[r]=n,s[r+"th"]=n});var l=[[1e3,"m"],[900,"cm"],[500,"d"],[400,"cd"],[100,"c"],[90,"xc"],[50,"l"],[40,"xl"],[10,"x"],[9,"ix"],[5,"v"],[4,"iv"],[1,"i"]],u={M:1e3,D:500,C:100,L:50,X:10,V:5,I:1};function h(t){for(var e=0;e<l.length;e++){var r=l[e];if(t>=r[0])return r[1]+h(t-r[0])}return""}function f(t){for(var e=0,r=1,n=t.length-1;n>=0;n--){var i=t[n],o=u[i];o<r?e-=o:(r=o,e+=o)}return e}function d(t,e){for(var r=[],n=e.charCodeAt(0);t>0;)r.unshift(String.fromCharCode((t-1)%26+n)),t=Math.floor((t-1)/26);return r.join("")}function p(t,e){for(var r=e.charCodeAt(0),n=0,i=0;i<t.length;i++)n+=(t.charCodeAt(t.length-i-1)-r+1)*Math.pow(26,i);return n}function g(t,e){if(void 0!==t)return m(t=Math.floor(t),x(e))}var v={DECIMAL:"decimal",LETTERS:"letters",ROMAN:"roman",WORDS:"words",SEQUENCE:"sequence"},y={UPPER:"upper",LOWER:"lower",TITLE:"title"};function m(e,r){var n,i=e<0;switch(e=Math.abs(e),r.primary){case v.LETTERS:n=d(e,r.case===y.UPPER?"A":"a");break;case v.ROMAN:n=h(e),r.case===y.UPPER&&(n=n.toUpperCase());break;case v.WORDS:n=a(e,r.ordinal),r.case===y.UPPER?n=n.toUpperCase():r.case===y.LOWER&&(n=n.toLowerCase());break;case v.DECIMAL:n=""+e;var o=r.mandatoryDigits-n.length;if(o>0){var s=new Array(o+1).join("0");n=s+n}if(48!==r.zeroCode&&(n=t(n).map(function(t){return String.fromCodePoint(t.codePointAt(0)+r.zeroCode-48)}).join("")),r.regular)for(var c=Math.floor((n.length-1)/r.groupingSeparators.position);c>0;c--){var l=n.length-c*r.groupingSeparators.position;n=n.substr(0,l)+r.groupingSeparators.character+n.substr(l)}else r.groupingSeparators.reverse().forEach(function(t){var e=n.length-t.position;n=n.substr(0,e)+t.character+n.substr(e)});if(r.ordinal){var u={1:"st",2:"nd",3:"rd"}[n[n.length-1]];(!u||n.length>1&&"1"===n[n.length-2])&&(u="th"),n+=u}break;case v.SEQUENCE:throw{code:"D3130",value:r.token}}return i&&(n="-"+n),n}var b=[48,1632,1776,1984,2406,2534,2662,2790,2918,3046,3174,3302,3430,3558,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,42528,43216,43264,43472,43504,43600,44016,65296];function x(e){var r,n={type:"integer",primary:v.DECIMAL,case:y.LOWER,ordinal:!1},i=e.lastIndexOf(";");switch(-1===i?r=e:(r=e.substring(0,i),"o"===e.substring(i+1)[0]&&(n.ordinal=!0)),r){case"A":n.case=y.UPPER;case"a":n.primary=v.LETTERS;break;case"I":n.case=y.UPPER;case"i":n.primary=v.ROMAN;break;case"W":n.case=y.UPPER,n.primary=v.WORDS;break;case"Ww":n.case=y.TITLE,n.primary=v.WORDS;break;case"w":n.primary=v.WORDS;break;default:var o=null,a=0,s=0,c=[],l=0,u=t(r).map(function(t){return t.codePointAt(0)}).reverse();if(u.forEach(function(t){for(var e=!1,r=0;r<b.length;r++){var n=b[r];if(t>=n&&t<=n+9){if(e=!0,a++,l++,null===o)o=n;else if(n!==o)throw{code:"D3131"};break}}e||(35===t?(l++,s++):c.push({position:l,character:String.fromCodePoint(t)}))}),a>0){n.primary=v.DECIMAL,n.zeroCode=o,n.mandatoryDigits=a,n.optionalDigits=s;var h=function(t){if(0===t.length)return 0;for(var e=t[0].character,r=1;r<t.length;r++)if(t[r].character!==e)return 0;for(var n=t.map(function(t){return t.position}),i=function t(e,r){return 0===r?e:t(r,e%r)},o=n.reduce(i),a=1;a<=n.length;a++)if(-1===n.indexOf(a*o))return 0;return o},f=h(c);f>0?(n.regular=!0,n.groupingSeparators={position:f,character:c[0].character}):(n.regular=!1,n.groupingSeparators=c)}else n.primary=v.SEQUENCE,n.token=r}return n}var w={Y:"1",M:"1",D:"1",d:"1",F:"n",W:"1",w:"1",X:"1",x:"1",H:"1",h:"1",P:"n",m:"01",s:"01",f:"1",Z:"01:01",z:"01:01",C:"n",E:"n"};function A(t){for(var e=[],r={type:"datetime",parts:e},n=function(r,n){if(n>r){var i=t.substring(r,n);i=i.split("]]").join("]"),e.push({type:"literal",value:i})}},i=0,o=0;o<t.length;){if("["===t.charAt(o)){if("["===t.charAt(o+1)){n(i,o),e.push({type:"literal",value:"["}),i=o+=2;continue}if(n(i,o),i=o,-1===(o=t.indexOf("]",i)))throw{code:"D3135"};var a,s=t.substring(i+1,o),c={type:"marker",component:(s=s.split(/\s+/).join("")).charAt(0)},l=s.lastIndexOf(",");if(-1!==l){var u=s.substring(l+1),h=u.indexOf("-"),f=void 0,d=void 0,p=function(t){return void 0===t||"*"===t?void 0:parseInt(t)};-1===h?f=u:(f=u.substring(0,h),d=u.substring(h+1));var g={min:p(f),max:p(d)};c.width=g,a=s.substring(1,l)}else a=s.substring(1);if(1===a.length)c.presentation1=a;else if(a.length>1){var v=a.charAt(a.length-1);-1!=="atco".indexOf(v)?(c.presentation2=v,"o"===v&&(c.ordinal=!0),c.presentation1=a.substring(0,a.length-1)):c.presentation1=a}else c.presentation1=w[c.component];if(void 0===c.presentation1)throw{code:"D3132",value:c.component};if("n"===c.presentation1[0])c.names=y.LOWER;else if("N"===c.presentation1[0])"n"===c.presentation1[1]?c.names=y.TITLE:c.names=y.UPPER;else if(-1!=="YMDdFWwXxHhmsf".indexOf(c.component)){var m=c.presentation1;if(c.presentation2&&(m+=";"+c.presentation2),c.integerFormat=x(m),c.width&&void 0!==c.width.min&&c.integerFormat.mandatoryDigits<c.width.min&&(c.integerFormat.mandatoryDigits=c.width.min),-1!=="YMD".indexOf(c.component))if(c.n=-1,c.width&&void 0!==c.width.max)c.n=c.width.max,c.integerFormat.mandatoryDigits=c.n;else{var b=c.integerFormat.mandatoryDigits+c.integerFormat.optionalDigits;b>=2&&(c.n=b)}}"Z"!==c.component&&"z"!==c.component||(c.integerFormat=x(c.presentation1)),e.push(c),i=o+1}o++}return n(i,o),r}var _=["","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],E=["January","February","March","April","May","June","July","August","September","October","November","December"],k=864e5,S=function(t){var e=Date.UTC(t.year,t.month),r=new Date(e).getUTCDay();return 0===r&&(r=7),r>4?e+(8-r)*k:e-(r-1)*k},M=function t(e,r){return{year:e,month:r,nextMonth:function(){return 11===r?t(e+1,0):t(e,r+1)},previousMonth:function(){return 0===r?t(e-1,11):t(e,r-1)},nextYear:function(){return t(e+1,r)},previousYear:function(){return t(e-1,r)}}},O=function(t,e){return(e-t)/(7*k)+1},T=function(t,e){var r;switch(e){case"Y":r=t.getUTCFullYear();break;case"M":r=t.getUTCMonth()+1;break;case"D":r=t.getUTCDate();break;case"d":r=(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())-Date.UTC(t.getUTCFullYear(),0))/k+1;break;case"F":0===(r=t.getUTCDay())&&(r=7);break;case"W":var n=M(t.getUTCFullYear(),0),i=S(n),o=Date.UTC(n.year,t.getUTCMonth(),t.getUTCDate()),a=O(i,o);if(a>52)o>=S(n.nextYear())&&(a=1);else if(a<1){var s=S(n.previousYear());a=O(s,o)}r=Math.floor(a);break;case"w":var c=M(t.getUTCFullYear(),t.getUTCMonth()),l=S(c),u=Date.UTC(c.year,c.month,t.getUTCDate()),h=O(l,u);if(h>4)u>=S(c.nextMonth())&&(h=1);else if(h<1){var f=S(c.previousMonth());h=O(f,u)}r=Math.floor(h);break;case"X":var d=M(t.getUTCFullYear(),0),p=S(d),g=S(d.nextYear()),v=t.getTime();r=v<p?d.year-1:v>=g?d.year+1:d.year;break;case"x":var y=M(t.getUTCFullYear(),t.getUTCMonth()),m=S(y),b=y.nextMonth(),x=S(b),w=t.getTime();r=w<m?y.previousMonth().month+1:w>=x?b.month+1:y.month+1;break;case"H":r=t.getUTCHours();break;case"h":r=t.getUTCHours(),0==(r%=12)&&(r=12);break;case"P":r=t.getUTCHours()>=12?"pm":"am";break;case"m":r=t.getUTCMinutes();break;case"s":r=t.getUTCSeconds();break;case"f":r=t.getUTCMilliseconds();break;case"Z":case"z":break;case"C":case"E":r="ISO"}return r},P=null;function I(t,e,r){var n=0,i=0;if(void 0!==r){var o=parseInt(r);n=Math.floor(o/100),i=o%100}var a,s=function(t,e){var r=T(t,e.component);if(-1!=="YMDdFWwXxHhms".indexOf(e.component))if("Y"===e.component&&-1!==e.n&&(r%=Math.pow(10,e.n)),e.names){if("M"===e.component||"x"===e.component)r=E[r-1];else{if("F"!==e.component)throw{code:"D3133",value:e.component};r=_[r]}e.names===y.UPPER?r=r.toUpperCase():e.names===y.LOWER&&(r=r.toLowerCase()),e.width&&r.length>e.width.max&&(r=r.substring(0,e.width.max))}else r=m(r,e.integerFormat);else if("f"===e.component)r=m(r,e.integerFormat);else if("Z"===e.component||"z"===e.component){var o=100*n+i;if(e.integerFormat.regular)r=m(o,e.integerFormat);else{var a=e.integerFormat.mandatoryDigits;if(1===a||2===a)r=m(n,e.integerFormat),0!==i&&(r+=":"+g(i,"00"));else{if(3!==a&&4!==a)throw{code:"D3134",value:a};r=m(o,e.integerFormat)}}o>=0&&(r="+"+r),"z"===e.component&&(r="GMT"+r),0===o&&"t"===e.presentation2&&(r="Z")}return r};void 0===e?(null===P&&(P=A("[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01].[f001][Z01:01t]")),a=P):a=A(e);var c=new Date(t+60*(60*n+i)*1e3),l="";return a.parts.forEach(function(t){"literal"===t.type?l+=t.value:l+=s(c,t)}),l}function C(t){var e={};if("datetime"===t.type)e.type="datetime",e.parts=t.parts.map(function(t){var e={};if("literal"===t.type)e.regex=t.value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");else if("Z"===t.component||"z"===t.component){var r;Array.isArray(t.integerFormat.groupingSeparators)||(r=t.integerFormat.groupingSeparators),e.regex="","z"===t.component&&(e.regex="GMT"),e.regex+="[-+][0-9]+",r&&(e.regex+=r.character+"[0-9]+"),e.parse=function(e){"z"===t.component&&(e=e.substring(3));var n=0,i=0;return r?(n=Number.parseInt(e.substring(0,e.indexOf(r.character))),i=Number.parseInt(e.substring(e.indexOf(r.character)+1))):e.length-1<=2?n=Number.parseInt(e):(n=Number.parseInt(e.substring(0,3)),i=Number.parseInt(e.substring(3))),60*n+i}}else if(t.integerFormat)t.integerFormat.n=t.n,e=C(t.integerFormat);else{e.regex="[a-zA-Z]+";var n={};if("M"===t.component||"x"===t.component)E.forEach(function(e,r){t.width&&t.width.max?n[e.substring(0,t.width.max)]=r+1:n[e]=r+1});else if("F"===t.component)_.forEach(function(e,r){r>0&&(t.width&&t.width.max?n[e.substring(0,t.width.max)]=r:n[e]=r)});else{if("P"!==t.component)throw{code:"D3133",value:t.component};n={am:0,AM:0,pm:1,PM:1}}e.parse=function(t){return n[t]}}return e.component=t.component,e});else{e.type="integer";var r,n=t.case===y.UPPER;switch(r=t.n&&t.n>0?0===t.optionalDigits?"{".concat(t.n,"}"):"{".concat(t.n-t.optionalDigits,",").concat(t.n,"}"):"+",t.primary){case v.LETTERS:e.regex=n?"[A-Z]+":"[a-z]+",e.parse=function(t){return p(t,n?"A":"a")};break;case v.ROMAN:e.regex=n?"[MDCLXVI]+":"[mdclxvi]+",e.parse=function(t){return f(n?t:t.toUpperCase())};break;case v.WORDS:e.regex="(?:"+Object.keys(s).concat("and","[\\-, ]").join("|")+")+",e.parse=function(t){return c(t.toLowerCase())};break;case v.DECIMAL:e.regex="[0-9]".concat(r),t.ordinal&&(e.regex+="(?:th|st|nd|rd)"),e.parse=function(e){var r=e;return t.ordinal&&(r=e.substring(0,e.length-2)),t.regular?r=r.split(",").join(""):t.groupingSeparators.forEach(function(t){r=r.split(t.character).join("")}),48!==t.zeroCode&&(r=r.split("").map(function(e){return String.fromCodePoint(e.codePointAt(0)-t.zeroCode+48)}).join("")),parseInt(r)};break;case v.SEQUENCE:throw{code:"D3130",value:t.token}}}return e}function R(t,e){if(void 0!==t)return C(x(e)).parse(t)}function D(t,e){var r=C(A(e)),n="^"+r.parts.map(function(t){return"("+t.regex+")"}).join("")+"$",i=new RegExp(n,"i").exec(t);if(null!==i){for(var o=161,a=130,s=84,c=72,l=23,u=47,h={},f=1;f<i.length;f++){var d=r.parts[f-1];d.parse&&(h[d.component]=d.parse(i[f]))}if(0===Object.getOwnPropertyNames(h).length)return;var p=0,g=function(t){p<<=1,p+=t?1:0},v=function(t){return!(~t&p||!(t&p))};"YXMxWwdD".split("").forEach(function(t){return g(h[t])});var y=!v(o)&&v(a),m=v(s),b=!m&&v(c);p=0,"PHhmsf".split("").forEach(function(t){return g(h[t])});var x=!v(l)&&v(u),w=(y?"YD":m?"XxwF":b?"XWF":"YMD")+(x?"Phmsf":"Hmsf"),_=this.environment.timestamp,E=!1,k=!1;if(w.split("").forEach(function(t){if(void 0===h[t])E?(h[t]=-1!=="MDd".indexOf(t)?1:0,k=!0):h[t]=T(_,t);else if(E=!0,k)throw{code:"D3136"}}),h.M>0?h.M-=1:h.M=0,y){var S=Date.UTC(h.Y,0),M=1e3*(h.d-1)*60*60*24,O=new Date(S+M);h.M=O.getUTCMonth(),h.D=O.getUTCDate()}if(m)throw{code:"D3136"};if(b)throw{code:"D3136"};x&&(h.H=12===h.h?0:h.h,1===h.P&&(h.H+=12));var P=Date.UTC(h.Y,h.M,h.D,h.H,h.m,h.s,h.f);return(h.Z||h.z)&&(P-=60*(h.Z||h.z)*1e3),P}}var j=new RegExp("^\\d{4}(-[01]\\d)*(-[0-3]\\d)*(T[0-2]\\d:[0-5]\\d:[0-5]\\d)*(\\.\\d+)?([+-][0-2]\\d:?[0-5]\\d|Z)?$");function L(t,e){if(void 0!==t){if(void 0===e){if(!j.test(t))throw{stack:(new Error).stack,code:"D3110",value:t};return Date.parse(t)}return D.call(this,t,e)}}function N(t,e,r){if(void 0!==t)return I.call(this,t,e,r)}return{formatInteger:g,parseInteger:R,fromMillis:N,toMillis:L}}();e.exports=i},{"./utils":6}],2:[function(e,r,n){(function(t){(function(){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function i(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */i=function(){return e};var t,e={},r=Object.prototype,o=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},s="function"==typeof Symbol?Symbol:{},c=s.iterator||"@@iterator",l=s.asyncIterator||"@@asyncIterator",u=s.toStringTag||"@@toStringTag";function h(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var i=e&&e.prototype instanceof b?e:b,o=Object.create(i.prototype),s=new C(n||[]);return a(o,"_invoke",{value:O(t,r,s)}),o}function d(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var p="suspendedStart",g="suspendedYield",v="executing",y="completed",m={};function b(){}function x(){}function w(){}var A={};h(A,c,function(){return this});var _=Object.getPrototypeOf,E=_&&_(_(R([])));E&&E!==r&&o.call(E,c)&&(A=E);var k=w.prototype=b.prototype=Object.create(A);function S(t){["next","throw","return"].forEach(function(e){h(t,e,function(t){return this._invoke(e,t)})})}function M(t,e){function r(i,a,s,c){var l=d(t[i],t,a);if("throw"!==l.type){var u=l.arg,h=u.value;return h&&"object"==n(h)&&o.call(h,"__await")?e.resolve(h.__await).then(function(t){r("next",t,s,c)},function(t){r("throw",t,s,c)}):e.resolve(h).then(function(t){u.value=t,s(u)},function(t){return r("throw",t,s,c)})}c(l.arg)}var i;a(this,"_invoke",{value:function(t,n){function o(){return new e(function(e,i){r(t,n,e,i)})}return i=i?i.then(o,o):o()}})}function O(e,r,n){var i=p;return function(o,a){if(i===v)throw new Error("Generator is already running");if(i===y){if("throw"===o)throw a;return{value:t,done:!0}}for(n.method=o,n.arg=a;;){var s=n.delegate;if(s){var c=T(s,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===p)throw i=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=v;var l=d(e,r,n);if("normal"===l.type){if(i=n.done?y:g,l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(i=y,n.method="throw",n.arg=l.arg)}}}function T(e,r){var n=r.method,i=e.iterator[n];if(i===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,T(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var o=d(i,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,m;var a=o.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,m):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function R(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,a=function r(){for(;++i<e.length;)if(o.call(e,i))return r.value=e[i],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(n(e)+" is not iterable")}return x.prototype=w,a(k,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:x,configurable:!0}),x.displayName=h(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,h(t,u,"GeneratorFunction")),t.prototype=Object.create(k),t},e.awrap=function(t){return{__await:t}},S(M.prototype),h(M.prototype,l,function(){return this}),e.AsyncIterator=M,e.async=function(t,r,n,i,o){void 0===o&&(o=Promise);var a=new M(f(t,r,n,i),o);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next()})},S(k),h(k,u,"Generator"),h(k,c,function(){return this}),h(k,"toString",function(){return"[object Generator]"}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=R,C.prototype={constructor:C,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(I),!e)for(var r in this)"t"===r.charAt(0)&&o.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,i){return s.type="throw",s.arg=e,r.next=n,i&&(r.method="next",r.arg=t),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=o.call(a,"catchLoc"),l=o.call(a,"finallyLoc");if(c&&l){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),I(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;I(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:R(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),m}},e}var o=e("./utils"),a=function(){var e=i().mark(B),r=i().mark($),a=i().mark(Y),s=i().mark(G),c=i().mark(Q),l=i().mark(ft),u=i().mark(dt),h=i().mark(pt),f=i().mark(vt),d=i().mark(Et),p=i().mark(Ot),g=i().mark(It),v=o.isNumeric,y=o.isArrayOfStrings,m=o.isArrayOfNumbers,b=o.createSequence,x=o.isSequence,w=o.isFunction,A=o.isLambda,_=o.isIterable,E=o.getFunctionArity,k=o.isDeepEqual,S=o.stringToArray;function M(t){if(void 0!==t){var e=0;return t.forEach(function(t){e+=t}),e}}function O(t){return void 0===t?0:t.length}function T(t){if(void 0!==t&&0!==t.length)return Math.max.apply(Math,t)}function P(t){if(void 0!==t&&0!==t.length)return Math.min.apply(Math,t)}function I(t){if(void 0!==t&&0!==t.length){var e=0;return t.forEach(function(t){e+=t}),e/t.length}}function C(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(void 0!==t){var r;if("string"==typeof t)r=t;else if(w(t))r="";else{if("number"==typeof t&&!isFinite(t))throw{code:"D3001",value:t,stack:(new Error).stack};var n=e?2:0;Array.isArray(t)&&t.outerWrapper&&(t=t[0]),r=JSON.stringify(t,function(t,e){return null!=e&&e.toPrecision&&v(e)?Number(e.toPrecision(15)):e&&w(e)?"":e},n)}return r}}function R(t,e,r){if(void 0!==t){var n=S(t),i=n.length;if(i+e<0&&(e=0),void 0!==r){if(r<=0)return"";var o=e>=0?e+r:i+e+r;return n.slice(e,o).join("")}return n.slice(e).join("")}}function D(t,e){if(void 0!==t){var r=t.indexOf(e);return r>-1?t.substr(0,r):t}}function j(t,e){if(void 0!==t){var r=t.indexOf(e);return r>-1?t.substr(r+e.length):t}}function L(t){if(void 0!==t)return t.toLowerCase()}function N(t){if(void 0!==t)return t.toUpperCase()}function F(t){if(void 0!==t)return S(t).length}function z(t){if(void 0!==t){var e=t.replace(/[ \t\n\r]+/gm," ");return" "===e.charAt(0)&&(e=e.substring(1))," "===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e}}function U(t,e,r){if(void 0!==t){var n;void 0!==r&&0!==r.length||(r=" ");var i=Math.abs(e)-F(t);if(i>0){var o=new Array(i+1).join(r);r.length>1&&(o=R(o,0,i)),n=e>0?t+o:o+t}else n=t;return n}}function B(t,r){var n;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.apply(this,[r]),!_(n)){e.next=4;break}return e.delegateYield(n,"t0",3);case 3:n=e.t0;case 4:if(!n||"number"==typeof n.start||"number"===n.end||Array.isArray(n.groups)||w(n.next)){e.next=6;break}throw{code:"T1010",stack:(new Error).stack};case 6:return e.abrupt("return",n);case 7:case"end":return e.stop()}},e,this)}function $(t,e){var n,o;return i().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(void 0!==t){r.next=2;break}return r.abrupt("return",void 0);case 2:if("string"!=typeof e){r.next=6;break}n=-1!==t.indexOf(e),r.next=9;break;case 6:return r.delegateYield(B(e,t),"t0",7);case 7:o=r.t0,n=void 0!==o;case 9:return r.abrupt("return",n);case 10:case"end":return r.stop()}},r)}function Y(t,e,r){var n,o,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!(r<0)){i.next=4;break}throw{stack:(new Error).stack,value:r,code:"D3040",index:3};case 4:if(n=b(),!(void 0===r||r>0)){i.next=17;break}return o=0,i.delegateYield(B(e,t),"t0",8);case 8:if(void 0===(s=i.t0)){i.next=17;break}case 10:if(void 0===s||!(void 0===r||o<r)){i.next=17;break}return n.push({match:s.match,index:s.start,groups:s.groups}),i.delegateYield(B(s.next),"t1",13);case 13:s=i.t1,o++,i.next=10;break;case 17:return i.abrupt("return",n);case 18:case"end":return i.stop()}},a)}function G(t,e,r,n){var o,a,c,l,u,h,f,d;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(o=this,""!==e){i.next=5;break}throw{code:"D3010",stack:(new Error).stack,value:e,index:2};case 5:if(!(n<0)){i.next=7;break}throw{code:"D3011",stack:(new Error).stack,value:n,index:4};case 7:if(a="string"==typeof r?function(t){for(var e="",n=0,i=r.indexOf("$",n);-1!==i&&n<r.length;){e+=r.substring(n,i),n=i+1;var o=r.charAt(n);if("$"===o)e+="$",n++;else if("0"===o)e+=t.match,n++;else{var a;if(a=0===t.groups.length?1:Math.floor(Math.log(t.groups.length)*Math.LOG10E)+1,i=parseInt(r.substring(n,n+a),10),a>1&&i>t.groups.length&&(i=parseInt(r.substring(n,n+a-1),10)),isNaN(i))e+="$";else{if(t.groups.length>0){var s=t.groups[i-1];void 0!==s&&(e+=s)}n+=i.toString().length}}i=r.indexOf("$",n)}return e+=r.substring(n)}:r,c="",l=0,!(void 0===n||n>0)){i.next=44;break}if(u=0,"string"!=typeof e){i.next=18;break}for(h=t.indexOf(e,l);-1!==h&&(void 0===n||u<n);)c+=t.substring(l,h),c+=r,l=h+e.length,u++,h=t.indexOf(e,l);c+=t.substring(l),i.next=42;break;case 18:return i.delegateYield(B(e,t),"t0",19);case 19:if(void 0===(f=i.t0)){i.next=41;break}case 21:if(void 0===f||!(void 0===n||u<n)){i.next=38;break}if(c+=t.substring(l,f.start),d=a.apply(o,[f]),!_(d)){i.next=27;break}return i.delegateYield(d,"t1",26);case 26:d=i.t1;case 27:if("string"!=typeof d){i.next=31;break}c+=d,i.next=32;break;case 31:throw{code:"D3012",stack:(new Error).stack,value:d};case 32:return l=f.start+f.match.length,u++,i.delegateYield(B(f.next),"t2",35);case 35:f=i.t2,i.next=21;break;case 38:c+=t.substring(l),i.next=42;break;case 41:c=t;case 42:i.next=45;break;case 44:c=t;case 45:return i.abrupt("return",c);case 46:case"end":return i.stop()}},s,this)}function H(e){if(void 0!==e){var r="undefined"!=typeof window?window.btoa:function(e){return new t.Buffer.from(e,"binary").toString("base64")};return r(e)}}function W(e){if(void 0!==e){var r="undefined"!=typeof window?window.atob:function(e){return new t.Buffer.from(e,"base64").toString("binary")};return r(e)}}function q(t){if(void 0!==t){var e;try{e=encodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrlComponent"}}return e}}function V(t){if(void 0!==t){var e;try{e=encodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrl"}}return e}}function X(t){if(void 0!==t){var e;try{e=decodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrlComponent"}}return e}}function K(t){if(void 0!==t){var e;try{e=decodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrl"}}return e}}function Q(t,e,r){var n,o,a,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!(r<0)){i.next=4;break}throw{code:"D3020",stack:(new Error).stack,value:r,index:3};case 4:if(n=[],!(void 0===r||r>0)){i.next=27;break}if("string"!=typeof e){i.next=10;break}n=t.split(e,r),i.next=27;break;case 10:return o=0,i.delegateYield(B(e,t),"t0",12);case 12:if(void 0===(a=i.t0)){i.next=26;break}s=0;case 15:if(void 0===a||!(void 0===r||o<r)){i.next=23;break}return n.push(t.substring(s,a.start)),s=a.end,i.delegateYield(B(a.next),"t1",19);case 19:a=i.t1,o++,i.next=15;break;case 23:(void 0===r||o<r)&&n.push(t.substring(s)),i.next=27;break;case 26:n.push(t);case 27:return i.abrupt("return",n);case 28:case"end":return i.stop()}},c)}function J(t,e){if(void 0!==t)return void 0===e&&(e=""),t.join(e)}function Z(t,e,r){if(void 0!==t){var n={"decimal-separator":".","grouping-separator":",","exponent-separator":"e",infinity:"Infinity","minus-sign":"-",NaN:"NaN",percent:"%","per-mille":"‰","zero-digit":"0",digit:"#","pattern-separator":";"};void 0!==r&&Object.keys(r).forEach(function(t){n[t]=r[t]});for(var i=[],o=n["zero-digit"].charCodeAt(0),a=o;a<o+10;a++)i.push(String.fromCharCode(a));var s=i.concat([n["decimal-separator"],n["exponent-separator"],n["grouping-separator"],n.digit,n["pattern-separator"]]),c=e.split(n["pattern-separator"]);if(c.length>2)throw{code:"D3080",stack:(new Error).stack};var l=function(t){var e,r,i,o,a=function(){for(var e,r=0;r<t.length;r++)if(e=t.charAt(r),-1!==s.indexOf(e)&&e!==n["exponent-separator"])return t.substring(0,r)}(),c=function(){for(var e,r=t.length-1;r>=0;r--)if(e=t.charAt(r),-1!==s.indexOf(e)&&e!==n["exponent-separator"])return t.substring(r+1)}(),l=t.substring(a.length,t.length-c.length),u=t.indexOf(n["exponent-separator"],a.length);-1===u||u>t.length-c.length?(e=l,r=void 0):(e=l.substring(0,u),r=l.substring(u+1));var h=e.indexOf(n["decimal-separator"]);return-1===h?(i=e,o=c):(i=e.substring(0,h),o=e.substring(h+1)),{prefix:a,suffix:c,activePart:l,mantissaPart:e,exponentPart:r,integerPart:i,fractionalPart:o,subpicture:t}},u=function(t){var e,r,o=t.subpicture,a=o.indexOf(n["decimal-separator"]);a!==o.lastIndexOf(n["decimal-separator"])&&(e="D3081"),o.indexOf(n.percent)!==o.lastIndexOf(n.percent)&&(e="D3082"),o.indexOf(n["per-mille"])!==o.lastIndexOf(n["per-mille"])&&(e="D3083"),-1!==o.indexOf(n.percent)&&-1!==o.indexOf(n["per-mille"])&&(e="D3084");var c=!1;for(r=0;r<t.mantissaPart.length;r++){var l=t.mantissaPart.charAt(r);if(-1!==i.indexOf(l)||l===n.digit){c=!0;break}}c||(e="D3085"),-1!==t.activePart.split("").map(function(t){return-1===s.indexOf(t)?"p":"a"}).join("").indexOf("p")&&(e="D3086"),-1!==a?o.charAt(a-1)!==n["grouping-separator"]&&o.charAt(a+1)!==n["grouping-separator"]||(e="D3087"):t.integerPart.charAt(t.integerPart.length-1)===n["grouping-separator"]&&(e="D3088"),-1!==o.indexOf(n["grouping-separator"]+n["grouping-separator"])&&(e="D3089");var u=t.integerPart.indexOf(n.digit);-1!==u&&t.integerPart.substring(0,u).split("").filter(function(t){return i.indexOf(t)>-1}).length>0&&(e="D3090"),-1!==(u=t.fractionalPart.lastIndexOf(n.digit))&&t.fractionalPart.substring(u).split("").filter(function(t){return i.indexOf(t)>-1}).length>0&&(e="D3091");var h="string"==typeof t.exponentPart;if(h&&t.exponentPart.length>0&&(-1!==o.indexOf(n.percent)||-1!==o.indexOf(n["per-mille"]))&&(e="D3092"),h&&(0===t.exponentPart.length||t.exponentPart.split("").filter(function(t){return-1===i.indexOf(t)}).length>0)&&(e="D3093"),e)throw{code:e,stack:(new Error).stack}},h=function(t){var e=function(e,r){for(var o=[],a=e.indexOf(n["grouping-separator"]);-1!==a;){var s=(r?e.substring(0,a):e.substring(a)).split("").filter(function(t){return-1!==i.indexOf(t)||t===n.digit}).length;o.push(s),a=t.integerPart.indexOf(n["grouping-separator"],a+1)}return o},r=e(t.integerPart),o=function(t){if(0===t.length)return 0;for(var e=function t(e,r){return 0===r?e:t(r,e%r)},r=t.reduce(e),n=1;n<=t.length;n++)if(-1===t.indexOf(n*r))return 0;return r},a=o(r),s=e(t.fractionalPart,!0),c=t.integerPart.split("").filter(function(t){return-1!==i.indexOf(t)}).length,l=c,u=t.fractionalPart.split(""),h=u.filter(function(t){return-1!==i.indexOf(t)}).length,f=u.filter(function(t){return-1!==i.indexOf(t)||t===n.digit}).length,d="string"==typeof t.exponentPart;0===c&&0===f&&(d?(h=1,f=1):c=1),d&&0===c&&-1!==t.integerPart.indexOf(n.digit)&&(c=1),0===c&&0===h&&(h=1);var p=0;return d&&(p=t.exponentPart.split("").filter(function(t){return-1!==i.indexOf(t)}).length),{integerPartGroupingPositions:r,regularGrouping:a,minimumIntegerPartSize:c,scalingFactor:l,prefix:t.prefix,fractionalPartGroupingPositions:s,minimumFactionalPartSize:h,maximumFactionalPartSize:f,minimumExponentSize:p,suffix:t.suffix,picture:t.subpicture}},f=c.map(l);f.forEach(u);var d,p,g,v,y=f.map(h),m=n["minus-sign"],b=n["zero-digit"],x=n["decimal-separator"],w=n["grouping-separator"];if(1===y.length&&(y.push(JSON.parse(JSON.stringify(y[0]))),y[1].prefix=m+y[1].prefix),p=-1!==(d=t>=0?y[0]:y[1]).picture.indexOf(n.percent)?100*t:-1!==d.picture.indexOf(n["per-mille"])?1e3*t:t,0===d.minimumExponentSize)g=p;else{var A=Math.pow(10,d.scalingFactor),_=Math.pow(10,d.scalingFactor-1);for(g=p,v=0;g<_;)g*=10,v-=1;for(;g>A;)g/=10,v+=1}var E=function(t,e){var r=Math.abs(t).toFixed(e);return"0"!==b&&(r=r.split("").map(function(t){return t>="0"&&t<="9"?i[t.charCodeAt(0)-48]:t}).join("")),r},k=E(ot(g,d.maximumFactionalPartSize),d.maximumFactionalPartSize),S=k.indexOf(".");for(-1===S?k+=x:k=k.replace(".",x);k.charAt(0)===b;)k=k.substring(1);for(;k.charAt(k.length-1)===b;)k=k.substring(0,k.length-1);S=k.indexOf(x);var M=d.minimumIntegerPartSize-S,O=d.minimumFactionalPartSize-(k.length-S-1);if(k=(M>0?new Array(M+1).join(b):"")+k,k+=O>0?new Array(O+1).join(b):"",S=k.indexOf(x),d.regularGrouping>0)for(var T=Math.floor((S-1)/d.regularGrouping),P=1;P<=T;P++)k=[k.slice(0,S-P*d.regularGrouping),w,k.slice(S-P*d.regularGrouping)].join("");else d.integerPartGroupingPositions.forEach(function(t){k=[k.slice(0,S-t),w,k.slice(S-t)].join(""),S++});if(S=k.indexOf(x),d.fractionalPartGroupingPositions.forEach(function(t){k=[k.slice(0,t+S+1),w,k.slice(t+S+1)].join("")}),S=k.indexOf(x),-1!==d.picture.indexOf(x)&&S!==k.length-1||(k=k.substring(0,k.length-1)),void 0!==v){var I=E(v,0);(M=d.minimumExponentSize-I.length)>0&&(I=new Array(M+1).join(b)+I),k=k+n["exponent-separator"]+(v<0?m:"")+I}return k=d.prefix+k+d.suffix}}function tt(t,e){if(void 0!==t){if(t=ot(t),(e=void 0===e?10:ot(e))<2||e>36)throw{code:"D3100",stack:(new Error).stack,value:e};return t.toString(e)}}function et(t){var e;if(void 0!==t){if("number"==typeof t)e=t;else if("string"==typeof t&&/^-?[0-9]+(\.[0-9]+)?([Ee][-+]?[0-9]+)?$/.test(t)&&!isNaN(parseFloat(t))&&isFinite(t))e=parseFloat(t);else if(!0===t)e=1;else{if(!1!==t)throw{code:"D3030",value:t,stack:(new Error).stack,index:1};e=0}return e}}function rt(t){if(void 0!==t)return Math.abs(t)}function nt(t){if(void 0!==t)return Math.floor(t)}function it(t){if(void 0!==t)return Math.ceil(t)}function ot(t,e){var r;if(void 0!==t){if(e){var n=t.toString().split("e");t=+(n[0]+"e"+(n[1]?+n[1]+e:e))}var i=(r=Math.round(t))-t;return.5===Math.abs(i)&&1===Math.abs(r%2)&&(r-=1),e&&(n=r.toString().split("e"),r=+(n[0]+"e"+(n[1]?+n[1]-e:-e))),Object.is(r,-0)&&(r=0),r}}function at(t){if(void 0!==t){if(t<0)throw{stack:(new Error).stack,code:"D3060",index:1,value:t};return Math.sqrt(t)}}function st(t,e){var r;if(void 0!==t){if(r=Math.pow(t,e),!isFinite(r))throw{stack:(new Error).stack,code:"D3061",index:1,value:t,exp:e};return r}}function ct(){return Math.random()}function lt(t){if(void 0!==t){var e=!1;return Array.isArray(t)?1===t.length?e=lt(t[0]):t.length>1&&(e=t.filter(function(t){return lt(t)}).length>0):"string"==typeof t?t.length>0&&(e=!0):v(t)?0!==t&&(e=!0):null!==t&&"object"===n(t)?Object.keys(t).length>0&&(e=!0):"boolean"==typeof t&&!0===t&&(e=!0),e}}function ut(t){if(void 0!==t)return!lt(t)}function ht(t,e,r,n){var i=[e],o=E(t);return o>=2&&i.push(r),o>=3&&i.push(n),i}function ft(t,e){var r,n,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:r=b(),n=0;case 4:if(!(n<t.length)){i.next=12;break}return o=ht(e,t[n],n,t),i.delegateYield(e.apply(this,o),"t0",7);case 7:void 0!==(a=i.t0)&&r.push(a);case 9:n++,i.next=4;break;case 12:return i.abrupt("return",r);case 13:case"end":return i.stop()}},l,this)}function dt(t,e){var r,n,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:r=b(),n=0;case 4:if(!(n<t.length)){i.next=13;break}return o=t[n],a=ht(e,o,n,t),i.delegateYield(e.apply(this,a),"t0",8);case 8:lt(i.t0)&&r.push(o);case 10:n++,i.next=4;break;case 13:return i.abrupt("return",r);case 14:case"end":return i.stop()}},u,this)}function pt(t,e){var r,n,o,a,s,c,l;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:r=!1,o=0;case 4:if(!(o<t.length)){i.next=22;break}if(a=t[o],s=!0,void 0===e){i.next=12;break}return c=ht(e,a,o,t),i.delegateYield(e.apply(this,c),"t0",10);case 10:l=i.t0,s=lt(l);case 12:if(!s){i.next=19;break}if(r){i.next=18;break}n=a,r=!0,i.next=19;break;case 18:throw{stack:(new Error).stack,code:"D3138",index:o};case 19:o++,i.next=4;break;case 22:if(r){i.next=24;break}throw{stack:(new Error).stack,code:"D3139"};case 24:return i.abrupt("return",n);case 25:case"end":return i.stop()}},h,this)}function gt(){for(var t=[],e=Array.prototype.slice.call(arguments),r=Math.min.apply(Math,e.map(function(t){return Array.isArray(t)?t.length:0})),n=0;n<r;n++){var i=e.map(function(t){return t[n]});t.push(i)}return t}function vt(t,e,r){var n,o,a,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!((o=E(e))<2)){i.next=5;break}throw{stack:(new Error).stack,code:"D3050",index:1};case 5:void 0===r&&t.length>0?(n=t[0],a=1):(n=r,a=0);case 6:if(!(a<t.length)){i.next=15;break}return s=[n,t[a]],o>=3&&s.push(a),o>=4&&s.push(t),i.delegateYield(e.apply(this,s),"t0",11);case 11:n=i.t0,a++,i.next=6;break;case 15:return i.abrupt("return",n);case 16:case"end":return i.stop()}},f,this)}function yt(t){var e=b();if(Array.isArray(t)){var r={};t.forEach(function(t){yt(t).forEach(function(t){r[t]=!0})}),e=yt(r)}else null===t||"object"!==n(t)||A(t)||Object.keys(t).forEach(function(t){return e.push(t)});return e}function mt(t,e){var r;if(Array.isArray(t)){r=b();for(var i=0;i<t.length;i++){var o=mt(t[i],e);void 0!==o&&(Array.isArray(o)?o.forEach(function(t){return r.push(t)}):r.push(o))}}else null!==t&&"object"===n(t)&&(r=t[e]);return r}function bt(t,e){return void 0===t?e:void 0===e?t:(Array.isArray(t)||(t=b(t)),Array.isArray(e)||(e=[e]),t.concat(e))}function xt(t){return void 0!==t}function wt(t){var e=b();if(Array.isArray(t))t.forEach(function(t){e=bt(e,wt(t))});else if(null===t||"object"!==n(t)||A(t))e=t;else for(var r in t){var i={};i[r]=t[r],e.push(i)}return e}function At(t){if(void 0!==t){var e={};return t.forEach(function(t){for(var r in t)e[r]=t[r]}),e}}function _t(t){if(void 0!==t){if(t.length<=1)return t;for(var e=t.length,r=new Array(e),n=0;n<e;n++)r[e-n-1]=t[n];return r}}function Et(t,e){var r,n,o,a;return i().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:r=b(),s.t0=i().keys(t);case 2:if((s.t1=s.t0()).done){s.next=10;break}return n=s.t1.value,o=ht(e,t[n],n,t),s.delegateYield(e.apply(this,o),"t2",6);case 6:void 0!==(a=s.t2)&&r.push(a),s.next=2;break;case 10:return s.abrupt("return",r);case 11:case"end":return s.stop()}},d,this)}function kt(t){throw{code:"D3137",stack:(new Error).stack,message:t||"$error() function evaluated"}}function St(t,e){if(!t)throw{code:"D3141",stack:(new Error).stack,message:e||"$assert() statement failed"}}function Mt(t){if(void 0!==t)return null===t?"null":v(t)?"number":"string"==typeof t?"string":"boolean"==typeof t?"boolean":Array.isArray(t)?"array":w(t)?"function":"object"}function Ot(t,e){var r,n,o,a;return i().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(void 0!==t){s.next=2;break}return s.abrupt("return",void 0);case 2:if(!(t.length<=1)){s.next=4;break}return s.abrupt("return",t);case 4:if(void 0!==e){s.next=10;break}if(m(t)||y(t)){s.next=7;break}throw{stack:(new Error).stack,code:"D3070",index:1};case 7:r=i().mark(function t(e,r){return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e>r);case 1:case"end":return t.stop()}},t)}),s.next=11;break;case 10:r=e;case 11:return n=i().mark(function t(e,n){var o,a;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return o=i().mark(function t(e,n,o){return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(0!==n.length){i.next=4;break}Array.prototype.push.apply(e,o),i.next=16;break;case 4:if(0!==o.length){i.next=8;break}Array.prototype.push.apply(e,n),i.next=16;break;case 8:return i.delegateYield(r(n[0],o[0]),"t0",9);case 9:if(!i.t0){i.next=14;break}return e.push(o[0]),i.delegateYield(t(e,n,o.slice(1)),"t1",12);case 12:i.next=16;break;case 14:return e.push(n[0]),i.delegateYield(t(e,n.slice(1),o),"t2",16);case 16:case"end":return i.stop()}},t)}),a=[],t.delegateYield(o(a,e,n),"t0",3);case 3:return t.abrupt("return",a);case 4:case"end":return t.stop()}},t)}),o=i().mark(function t(e){var r,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(Array.isArray(e)&&!(e.length<=1)){i.next=4;break}return i.abrupt("return",e);case 4:return r=Math.floor(e.length/2),o=e.slice(0,r),a=e.slice(r),i.delegateYield(t(o),"t0",8);case 8:return o=i.t0,i.delegateYield(t(a),"t1",10);case 10:return a=i.t1,i.delegateYield(n(o,a),"t2",12);case 12:return i.abrupt("return",i.t2);case 13:case"end":return i.stop()}},t)}),s.delegateYield(o(t),"t0",14);case 14:return a=s.t0,s.abrupt("return",a);case 16:case"end":return s.stop()}},p)}function Tt(t){if(void 0!==t){if(t.length<=1)return t;for(var e=new Array(t.length),r=0;r<t.length;r++){var n=Math.floor(Math.random()*(r+1));r!==n&&(e[r]=e[n]),e[n]=t[r]}return e}}function Pt(t){if(void 0!==t){if(!Array.isArray(t)||t.length<=1)return t;for(var e=x(t)?b():[],r=0;r<t.length;r++){for(var n=t[r],i=!1,o=0;o<e.length;o++)if(k(n,e[o])){i=!0;break}i||e.push(n)}return e}}function It(t,e){var r,n,o,a;return i().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:r={},s.t0=i().keys(t);case 2:if((s.t1=s.t0()).done){s.next=11;break}return n=s.t1.value,o=t[n],a=ht(e,o,n,t),s.delegateYield(e.apply(this,a),"t2",7);case 7:lt(s.t2)&&(r[n]=o),s.next=2;break;case 11:return 0===Object.keys(r).length&&(r=void 0),s.abrupt("return",r);case 13:case"end":return s.stop()}},g,this)}return{sum:M,count:O,max:T,min:P,average:I,string:C,substring:R,substringBefore:D,substringAfter:j,lowercase:L,uppercase:N,length:F,trim:z,pad:U,match:Y,contains:$,replace:G,split:Q,join:J,formatNumber:Z,formatBase:tt,number:et,floor:nt,ceil:it,round:ot,abs:rt,sqrt:at,power:st,random:ct,boolean:lt,not:ut,map:ft,zip:gt,filter:dt,single:pt,foldLeft:vt,sift:It,keys:yt,lookup:mt,append:bt,exists:xt,spread:wt,merge:At,reverse:_t,each:Et,error:kt,assert:St,type:Mt,sort:Ot,shuffle:Tt,distinct:Pt,base64encode:H,base64decode:W,encodeUrlComponent:q,encodeUrl:V,decodeUrlComponent:X,decodeUrl:K}}();r.exports=a}).call(this)}).call(this,void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils":6}],3:[function(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function i(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */i=function(){return e};var t,e={},r=Object.prototype,o=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},s="function"==typeof Symbol?Symbol:{},c=s.iterator||"@@iterator",l=s.asyncIterator||"@@asyncIterator",u=s.toStringTag||"@@toStringTag";function h(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var i=e&&e.prototype instanceof b?e:b,o=Object.create(i.prototype),s=new C(n||[]);return a(o,"_invoke",{value:O(t,r,s)}),o}function d(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var p="suspendedStart",g="suspendedYield",v="executing",y="completed",m={};function b(){}function x(){}function w(){}var A={};h(A,c,function(){return this});var _=Object.getPrototypeOf,E=_&&_(_(R([])));E&&E!==r&&o.call(E,c)&&(A=E);var k=w.prototype=b.prototype=Object.create(A);function S(t){["next","throw","return"].forEach(function(e){h(t,e,function(t){return this._invoke(e,t)})})}function M(t,e){function r(i,a,s,c){var l=d(t[i],t,a);if("throw"!==l.type){var u=l.arg,h=u.value;return h&&"object"==n(h)&&o.call(h,"__await")?e.resolve(h.__await).then(function(t){r("next",t,s,c)},function(t){r("throw",t,s,c)}):e.resolve(h).then(function(t){u.value=t,s(u)},function(t){return r("throw",t,s,c)})}c(l.arg)}var i;a(this,"_invoke",{value:function(t,n){function o(){return new e(function(e,i){r(t,n,e,i)})}return i=i?i.then(o,o):o()}})}function O(e,r,n){var i=p;return function(o,a){if(i===v)throw new Error("Generator is already running");if(i===y){if("throw"===o)throw a;return{value:t,done:!0}}for(n.method=o,n.arg=a;;){var s=n.delegate;if(s){var c=T(s,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===p)throw i=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=v;var l=d(e,r,n);if("normal"===l.type){if(i=n.done?y:g,l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(i=y,n.method="throw",n.arg=l.arg)}}}function T(e,r){var n=r.method,i=e.iterator[n];if(i===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,T(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var o=d(i,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,m;var a=o.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,m):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function R(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,a=function r(){for(;++i<e.length;)if(o.call(e,i))return r.value=e[i],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(n(e)+" is not iterable")}return x.prototype=w,a(k,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:x,configurable:!0}),x.displayName=h(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,h(t,u,"GeneratorFunction")),t.prototype=Object.create(k),t},e.awrap=function(t){return{__await:t}},S(M.prototype),h(M.prototype,l,function(){return this}),e.AsyncIterator=M,e.async=function(t,r,n,i,o){void 0===o&&(o=Promise);var a=new M(f(t,r,n,i),o);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next()})},S(k),h(k,u,"Generator"),h(k,c,function(){return this}),h(k,"toString",function(){return"[object Generator]"}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=R,C.prototype={constructor:C,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(I),!e)for(var r in this)"t"===r.charAt(0)&&o.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,i){return s.type="throw",s.arg=e,r.next=n,i&&(r.method="next",r.arg=t),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=o.call(a,"catchLoc"),l=o.call(a,"finallyLoc");if(c&&l){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),I(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;I(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:R(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),m}},e}var o=t("./datetime"),a=t("./functions"),s=t("./utils"),c=t("./parser"),l=t("./signature"),u=function(){var t=i().mark(U),e=i().mark(B),r=i().mark(Y),u=i().mark(G),h=i().mark(H),f=i().mark(W),d=i().mark(q),p=i().mark(V),g=i().mark(ot),v=i().mark(ct),y=i().mark(ht),m=i().mark(ft),b=i().mark(dt),x=i().mark(vt),w=i().mark(bt),A=i().mark(xt),_=i().mark(wt),E=i().mark(At),k=i().mark(Et),S=i().mark(St),M=i().mark(Tt),O=i().mark(Ct),T=s.isNumeric,P=s.isArrayOfStrings,I=s.isArrayOfNumbers,C=s.createSequence,R=s.isSequence,D=s.isFunction,j=s.isLambda,L=s.isIterable,N=s.getFunctionArity,F=s.isDeepEqual,z=Dt(null);function U(e,r,n){var o,a,s,c;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:(a=n.lookup("__evaluate_entry"))&&a(e,r,n),t.t0=e.type,t.next="path"===t.t0?5:"binary"===t.t0?8:"unary"===t.t0?11:"name"===t.t0?14:"string"===t.t0||"number"===t.t0||"value"===t.t0?16:"wildcard"===t.t0?18:"descendant"===t.t0?20:"parent"===t.t0?22:"condition"===t.t0?24:"block"===t.t0?27:"bind"===t.t0?30:"regex"===t.t0?33:"function"===t.t0?35:"variable"===t.t0?38:"lambda"===t.t0?40:"partial"===t.t0?42:"apply"===t.t0?45:"transform"===t.t0?48:50;break;case 5:return t.delegateYield(B(e,r,n),"t1",6);case 6:return o=t.t1,t.abrupt("break",50);case 8:return t.delegateYield(q(e,r,n),"t2",9);case 9:return o=t.t2,t.abrupt("break",50);case 11:return t.delegateYield(V(e,r,n),"t3",12);case 12:return o=t.t3,t.abrupt("break",50);case 14:return o=X(e,r),t.abrupt("break",50);case 16:return o=K(e),t.abrupt("break",50);case 18:return o=Q(e,r),t.abrupt("break",50);case 20:return o=Z(e,r),t.abrupt("break",50);case 22:return o=n.lookup(e.slot.label),t.abrupt("break",50);case 24:return t.delegateYield(ft(e,r,n),"t4",25);case 25:return o=t.t4,t.abrupt("break",50);case 27:return t.delegateYield(dt(e,r,n),"t5",28);case 28:return o=t.t5,t.abrupt("break",50);case 30:return t.delegateYield(ht(e,r,n),"t6",31);case 31:return o=t.t6,t.abrupt("break",50);case 33:return o=pt(e),t.abrupt("break",50);case 35:return t.delegateYield(xt(e,r,n),"t7",36);case 36:return o=t.t7,t.abrupt("break",50);case 38:return o=gt(e,r,n),t.abrupt("break",50);case 40:return o=_t(e,r,n),t.abrupt("break",50);case 42:return t.delegateYield(Et(e,r,n),"t8",43);case 43:return o=t.t8,t.abrupt("break",50);case 45:return t.delegateYield(bt(e,r,n),"t9",46);case 46:return o=t.t9,t.abrupt("break",50);case 48:return o=yt(e,r,n),t.abrupt("break",50);case 50:if(!n.async||null!=o&&"function"==typeof o.then||(o=Promise.resolve(o)),!n.async||"function"!=typeof o.then||!e.nextFunction||"function"!=typeof o[e.nextFunction]){t.next=54;break}t.next=57;break;case 54:return t.next=56,o;case 56:o=t.sent;case 57:if(!Object.prototype.hasOwnProperty.call(e,"predicate")){t.next=65;break}s=0;case 59:if(!(s<e.predicate.length)){t.next=65;break}return t.delegateYield(W(e.predicate[s].expr,o,n),"t10",61);case 61:o=t.t10;case 62:s++,t.next=59;break;case 65:if("path"===e.type||!Object.prototype.hasOwnProperty.call(e,"group")){t.next=68;break}return t.delegateYield(ct(e.group,o,n),"t11",67);case 67:o=t.t11;case 68:return(c=n.lookup("__evaluate_exit"))&&c(e,r,n,o),o&&R(o)&&!o.tupleStream&&(e.keepArray&&(o.keepSingleton=!0),0===o.length?o=void 0:1===o.length&&(o=o.keepSingleton?o:o[0])),t.abrupt("return",o);case 72:case"end":return t.stop()}},t)}function B(t,r,n){var o,a,s,c,l,u;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:o=Array.isArray(r)&&"variable"!==t.steps[0].type?r:C(r),s=!1,c=void 0,l=0;case 4:if(!(l<t.steps.length)){e.next=25;break}if((u=t.steps[l]).tuple&&(s=!0),0!==l||!u.consarray){e.next=12;break}return e.delegateYield(U(u,o,n),"t0",9);case 9:a=e.t0,e.next=19;break;case 12:if(!s){e.next=17;break}return e.delegateYield(H(u,o,c,n),"t1",14);case 14:c=e.t1,e.next=19;break;case 17:return e.delegateYield(Y(u,o,n,l===t.steps.length-1),"t2",18);case 18:a=e.t2;case 19:if(s||void 0!==a&&0!==a.length){e.next=21;break}return e.abrupt("break",25);case 21:void 0===u.focus&&(o=a);case 22:l++,e.next=4;break;case 25:if(s)if(t.tuple)a=c;else for(a=C(),l=0;l<c.length;l++)a.push(c[l]["@"]);if(t.keepSingletonArray&&(Array.isArray(a)&&a.cons&&!a.sequence&&(a=C(a)),a.keepSingleton=!0),!t.hasOwnProperty("group")){e.next=30;break}return e.delegateYield(ct(t.group,s?c:a,n),"t3",29);case 29:a=e.t3;case 30:return e.abrupt("return",a);case 31:case"end":return e.stop()}},e)}function $(t,e){var r=Dt(t);for(var n in e)r.bind(n,e[n]);return r}function Y(t,e,n,o){var a,s,c,l,u;return i().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if("sort"!==t.type){r.next=7;break}return r.delegateYield(vt(t,e,n),"t0",2);case 2:if(a=r.t0,!t.stages){r.next=6;break}return r.delegateYield(G(t.stages,a,n),"t1",5);case 5:a=r.t1;case 6:return r.abrupt("return",a);case 7:a=C(),s=0;case 9:if(!(s<e.length)){r.next=24;break}return r.delegateYield(U(t,e[s],n),"t2",11);case 11:if(c=r.t2,!t.stages){r.next=20;break}l=0;case 14:if(!(l<t.stages.length)){r.next=20;break}return r.delegateYield(W(t.stages[l].expr,c,n),"t3",16);case 16:c=r.t3;case 17:l++,r.next=14;break;case 20:void 0!==c&&a.push(c);case 21:s++,r.next=9;break;case 24:return u=C(),o&&1===a.length&&Array.isArray(a[0])&&!R(a[0])?u=a[0]:a.forEach(function(t){!Array.isArray(t)||t.cons?u.push(t):t.forEach(function(t){return u.push(t)})}),r.abrupt("return",u);case 27:case"end":return r.stop()}},r)}function G(t,e,r){var n,o,a,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:n=e,o=0;case 2:if(!(o<t.length)){i.next=15;break}a=t[o],i.t0=a.type,i.next="filter"===i.t0?7:"index"===i.t0?10:12;break;case 7:return i.delegateYield(W(a.expr,n,r),"t1",8);case 8:return n=i.t1,i.abrupt("break",12);case 10:for(s=0;s<n.length;s++)n[s][a.value]=s;return i.abrupt("break",12);case 12:o++,i.next=2;break;case 15:return i.abrupt("return",n);case 16:case"end":return i.stop()}},u)}function H(t,e,r,n){var o,a,s,c,l,u,f,d;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if("sort"!==t.type){i.next=15;break}if(!r){i.next=6;break}return i.delegateYield(vt(t,r,n),"t0",3);case 3:o=i.t0,i.next=11;break;case 6:return i.delegateYield(vt(t,e,n),"t1",7);case 7:for(a=i.t1,(o=C()).tupleStream=!0,s=0;s<a.length;s++)(c={"@":a[s]})[t.index]=s,o.push(c);case 11:if(!t.stages){i.next=14;break}return i.delegateYield(G(t.stages,o,n),"t2",13);case 13:o=i.t2;case 14:return i.abrupt("return",o);case 15:(o=C()).tupleStream=!0,l=n,void 0===r&&(r=e.map(function(t){return{"@":t}})),u=0;case 20:if(!(u<r.length)){i.next=28;break}return l=$(n,r[u]),i.delegateYield(U(t,r[u]["@"],l),"t3",23);case 23:if(void 0!==(f=i.t3))for(Array.isArray(f)||(f=[f]),d=0;d<f.length;d++)c={},Object.assign(c,r[u]),f.tupleStream?Object.assign(c,f[d]):(t.focus?(c[t.focus]=f[d],c["@"]=r[u]["@"]):c["@"]=f[d],t.index&&(c[t.index]=d),t.ancestor&&(c[t.ancestor.label]=r[u]["@"])),o.push(c);case 25:u++,i.next=20;break;case 28:if(!t.stages){i.next=31;break}return i.delegateYield(G(t.stages,o,n),"t4",30);case 30:o=i.t4;case 31:return i.abrupt("return",o);case 32:case"end":return i.stop()}},h)}function W(t,e,r){var n,o,s,c,l,u;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(n=C(),e&&e.tupleStream&&(n.tupleStream=!0),Array.isArray(e)||(e=C(e)),"number"!==t.type){i.next=10;break}(o=Math.floor(t.value))<0&&(o=e.length+o),void 0!==(s=e[o])&&(Array.isArray(s)?n=s:n.push(s)),i.next=23;break;case 10:o=0;case 11:if(!(o<e.length)){i.next=23;break}return s=e[o],c=s,l=r,e.tupleStream&&(c=s["@"],l=$(r,s)),i.delegateYield(U(t,c,l),"t0",17);case 17:u=i.t0,T(u)&&(u=[u]),I(u)?u.forEach(function(t){var r=Math.floor(t);r<0&&(r=e.length+r),r===o&&n.push(s)}):a.boolean(u)&&n.push(s);case 20:o++,i.next=11;break;case 23:return i.abrupt("return",n);case 24:case"end":return i.stop()}},f)}function q(t,e,r){var n,o,a,s,c;return i().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return l.delegateYield(U(t.lhs,e,r),"t0",1);case 1:if(o=l.t0,a=t.value,s=i().mark(function n(){return i().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.delegateYield(U(t.rhs,e,r),"t0",1);case 1:return n.abrupt("return",n.t0);case 2:case"end":return n.stop()}},n)}),"and"!==a&&"or"!==a){l.next=15;break}return l.prev=5,l.delegateYield(ot(o,s,a),"t1",7);case 7:return l.abrupt("return",l.t1);case 10:throw l.prev=10,l.t2=l.catch(5),l.t2.position=t.position,l.t2.token=a,l.t2;case 15:return l.delegateYield(s(),"t3",16);case 16:c=l.t3,l.prev=17,l.t4=a,l.next="+"===l.t4||"-"===l.t4||"*"===l.t4||"/"===l.t4||"%"===l.t4?21:"="===l.t4||"!="===l.t4?23:"<"===l.t4||"<="===l.t4||">"===l.t4||">="===l.t4?25:"&"===l.t4?27:".."===l.t4?29:"in"===l.t4?31:33;break;case 21:return n=et(o,c,a),l.abrupt("break",33);case 23:return n=rt(o,c,a),l.abrupt("break",33);case 25:return n=nt(o,c,a),l.abrupt("break",33);case 27:return n=st(o,c),l.abrupt("break",33);case 29:return n=ut(o,c),l.abrupt("break",33);case 31:return n=it(o,c),l.abrupt("break",33);case 33:l.next=40;break;case 35:throw l.prev=35,l.t5=l.catch(17),l.t5.position=t.position,l.t5.token=a,l.t5;case 40:return l.abrupt("return",n);case 41:case"end":return l.stop()}},d,null,[[5,10],[17,35]])}function V(t,e,r){var n,o,s,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:i.t0=t.value,i.next="-"===i.t0?3:"["===i.t0?15:"{"===i.t0?27:30;break;case 3:return i.delegateYield(U(t.expression,e,r),"t1",4);case 4:if(void 0!==(n=i.t1)){i.next=9;break}n=void 0,i.next=14;break;case 9:if(!T(n)){i.next=13;break}n=-n,i.next=14;break;case 13:throw{code:"D1002",stack:(new Error).stack,position:t.position,token:t.value,value:n};case 14:return i.abrupt("break",30);case 15:n=[],o=0;case 17:if(!(o<t.expressions.length)){i.next=25;break}return s=t.expressions[o],i.delegateYield(U(s,e,r),"t2",20);case 20:void 0!==(c=i.t2)&&("["===s.value?n.push(c):n=a.append(n,c));case 22:o++,i.next=17;break;case 25:return t.consarray&&Object.defineProperty(n,"cons",{enumerable:!1,configurable:!1,value:!0}),i.abrupt("break",30);case 27:return i.delegateYield(ct(t,e,r),"t3",28);case 28:return n=i.t3,i.abrupt("break",30);case 30:return i.abrupt("return",n);case 31:case"end":return i.stop()}},p)}function X(t,e,r){return a.lookup(e,t.value)}function K(t){return t.value}function Q(t,e){var r=C();return Array.isArray(e)&&e.outerWrapper&&e.length>0&&(e=e[0]),null!==e&&"object"===n(e)&&Object.keys(e).forEach(function(t){var n=e[t];Array.isArray(n)?(n=J(n),r=a.append(r,n)):r.push(n)}),r}function J(t,e){return void 0===e&&(e=[]),Array.isArray(t)?t.forEach(function(t){J(t,e)}):e.push(t),e}function Z(t,e){var r,n=C();return void 0!==e&&(tt(e,n),r=1===n.length?n[0]:n),r}function tt(t,e){Array.isArray(t)||e.push(t),Array.isArray(t)?t.forEach(function(t){tt(t,e)}):null!==t&&"object"===n(t)&&Object.keys(t).forEach(function(r){tt(t[r],e)})}function et(t,e,r){var n;if(void 0!==t&&!T(t))throw{code:"T2001",stack:(new Error).stack,value:t};if(void 0!==e&&!T(e))throw{code:"T2002",stack:(new Error).stack,value:e};if(void 0===t||void 0===e)return n;switch(r){case"+":n=t+e;break;case"-":n=t-e;break;case"*":n=t*e;break;case"/":n=t/e;break;case"%":n=t%e}return n}function rt(t,e,r){var i,o=n(t),a=n(e);if("undefined"===o||"undefined"===a)return!1;switch(r){case"=":i=F(t,e);break;case"!=":i=!F(t,e)}return i}function nt(t,e,r){var i,o=n(t),a=n(e);if("undefined"!==o&&"string"!==o&&"number"!==o||"undefined"!==a&&"string"!==a&&"number"!==a)throw{code:"T2010",stack:(new Error).stack,value:"string"!==o&&"number"!==o?t:e};if("undefined"!==o&&"undefined"!==a){if(o!==a)throw{code:"T2009",stack:(new Error).stack,value:t,value2:e};switch(r){case"<":i=t<e;break;case"<=":i=t<=e;break;case">":i=t>e;break;case">=":i=t>=e}return i}}function it(t,e){var r=!1;if(void 0===t||void 0===e)return!1;Array.isArray(e)||(e=[e]);for(var n=0;n<e.length;n++)if(e[n]===t){r=!0;break}return r}function ot(t,e,r){var n,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:o=at(t),i.t0=r,i.next="and"===i.t0?4:"or"===i.t0?12:20;break;case 4:if(i.t1=o,!i.t1){i.next=10;break}return i.t2=at,i.delegateYield(e(),"t3",8);case 8:i.t4=i.t3,i.t1=(0,i.t2)(i.t4);case 10:return n=i.t1,i.abrupt("break",20);case 12:if(i.t5=o,i.t5){i.next=18;break}return i.t6=at,i.delegateYield(e(),"t7",16);case 16:i.t8=i.t7,i.t5=(0,i.t6)(i.t8);case 18:return n=i.t5,i.abrupt("break",20);case 20:return i.abrupt("return",n);case 21:case"end":return i.stop()}},g)}function at(t){var e=a.boolean(t);return void 0!==e&&e}function st(t,e){var r="",n="";return void 0!==t&&(r=a.string(t)),void 0!==e&&(n=a.string(e)),r.concat(n)}function ct(t,e,r){var n,o,s,c,l,u,h,f,d,p,g,y,m;return i().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:n={},o={},s=!(!e||!e.tupleStream),Array.isArray(e)||(e=C(e)),0===e.length&&e.push(void 0),c=0;case 6:if(!(c<e.length)){v.next=31;break}l=e[c],u=s?$(r,l):r,h=0;case 10:if(!(h<t.lhs.length)){v.next=28;break}return f=t.lhs[h],v.delegateYield(U(f[0],s?l["@"]:l,u),"t0",13);case 13:if("string"==typeof(d=v.t0)||void 0===d){v.next=16;break}throw{code:"T1003",stack:(new Error).stack,position:t.position,value:d};case 16:if(void 0===d){v.next=25;break}if(p={data:l,exprIndex:h},!o.hasOwnProperty(d)){v.next=24;break}if(o[d].exprIndex===h){v.next=21;break}throw{code:"D1009",stack:(new Error).stack,position:t.position,value:d};case 21:o[d].data=a.append(o[d].data,l),v.next=25;break;case 24:o[d]=p;case 25:h++,v.next=10;break;case 28:c++,v.next=6;break;case 31:v.t1=i().keys(o);case 32:if((v.t2=v.t1()).done){v.next=43;break}return d=v.t2.value,p=o[d],g=p.data,u=r,s&&(y=lt(p.data),g=y["@"],delete y["@"],u=$(r,y)),v.delegateYield(U(t.lhs[p.exprIndex][1],g,u),"t3",39);case 39:void 0!==(m=v.t3)&&(n[d]=m),v.next=32;break;case 43:return v.abrupt("return",n);case 44:case"end":return v.stop()}},v)}function lt(t){if(!Array.isArray(t))return t;var e={};Object.assign(e,t[0]);for(var r=1;r<t.length;r++)for(var n in t[r])e[n]=a.append(e[n],t[r][n]);return e}function ut(t,e){var r;if(void 0!==t&&!Number.isInteger(t))throw{code:"T2003",stack:(new Error).stack,value:t};if(void 0!==e&&!Number.isInteger(e))throw{code:"T2004",stack:(new Error).stack,value:e};if(void 0===t||void 0===e)return r;if(t>e)return r;var n=e-t+1;if(n>1e7)throw{code:"D2014",stack:(new Error).stack,value:n};r=new Array(n);for(var i=t,o=0;i<=e;i++,o++)r[o]=i;return r.sequence=!0,r}function ht(t,e,r){var n;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(U(t.rhs,e,r),"t0",1);case 1:return n=i.t0,r.bind(t.lhs.value,n),i.abrupt("return",n);case 4:case"end":return i.stop()}},y)}function ft(t,e,r){var n,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(U(t.condition,e,r),"t0",1);case 1:if(o=i.t0,!a.boolean(o)){i.next=7;break}return i.delegateYield(U(t.then,e,r),"t1",4);case 4:n=i.t1,i.next=10;break;case 7:if(void 0===t.else){i.next=10;break}return i.delegateYield(U(t.else,e,r),"t2",9);case 9:n=i.t2;case 10:return i.abrupt("return",n);case 11:case"end":return i.stop()}},m)}function dt(t,e,r){var n,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:o=Dt(r),a=0;case 2:if(!(a<t.expressions.length)){i.next=8;break}return i.delegateYield(U(t.expressions[a],e,o),"t0",4);case 4:n=i.t0;case 5:a++,i.next=2;break;case 8:return i.abrupt("return",n);case 9:case"end":return i.stop()}},b)}function pt(t){var e=new Nt.RegexEngine(t.value),r=function r(n,i){var o;e.lastIndex=i||0;var a=e.exec(n);if(null!==a){if(o={match:a[0],start:a.index,end:a.index+a[0].length,groups:[]},a.length>1)for(var s=1;s<a.length;s++)o.groups.push(a[s]);o.next=function(){if(!(e.lastIndex>=n.length)){var i=r(n,e.lastIndex);if(i&&""===i.match)throw{code:"D1004",stack:(new Error).stack,position:t.position,value:t.value.source};return i}}}return o};return r}function gt(t,e,r){return""===t.value?e&&e.outerWrapper?e[0]:e:r.lookup(t.value)}function vt(t,e,r){var o,s,c,l,u;return i().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return s=e,c=!!e.tupleStream,l=i().mark(function e(o,a){var s,l,u,h,f,d,p,g,v;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:s=0,l=0;case 2:if(!(0===s&&l<t.terms.length)){e.next=35;break}return u=t.terms[l],h=o,f=r,c&&(h=o["@"],f=$(r,o)),e.delegateYield(U(u.expression,h,f),"t0",8);case 8:return d=e.t0,h=a,f=r,c&&(h=a["@"],f=$(r,a)),e.delegateYield(U(u.expression,h,f),"t1",13);case 13:if(p=e.t1,g=n(d),v=n(p),"undefined"!==g){e.next=19;break}return s="undefined"===v?0:1,e.abrupt("continue",32);case 19:if("undefined"!==v){e.next=22;break}return s=-1,e.abrupt("continue",32);case 22:if(!("string"!==g&&"number"!==g||"string"!==v&&"number"!==v)){e.next=24;break}throw{code:"T2008",stack:(new Error).stack,position:t.position,value:"string"!==g&&"number"!==g?d:p};case 24:if(g===v){e.next=26;break}throw{code:"T2007",stack:(new Error).stack,position:t.position,value:d,value2:p};case 26:if(d!==p){e.next=30;break}return e.abrupt("continue",32);case 30:s=d<p?-1:1;case 31:!0===u.descending&&(s=-s);case 32:l++,e.next=2;break;case 35:return e.abrupt("return",1===s);case 36:case"end":return e.stop()}},e)}),u={environment:r,input:e},h.delegateYield(a.sort.apply(u,[s,l]),"t0",5);case 5:return o=h.t0,h.abrupt("return",o);case 7:case"end":return h.stop()}},x)}function yt(t,e,r){var o=i().mark(function e(o){var a,s,c,l,u,h,f,d,p,g,v;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==o){e.next=2;break}return e.abrupt("return",void 0);case 2:if(a=r.lookup("clone"),D(a)){e.next=5;break}throw{code:"T2013",stack:(new Error).stack,position:t.position};case 5:return e.delegateYield(wt(a,[o],null,r),"t0",6);case 6:return s=e.t0,e.delegateYield(U(t.pattern,s,r),"t1",8);case 8:if(void 0===(c=e.t1)){e.next=35;break}Array.isArray(c)||(c=[c]),l=0;case 12:if(!(l<c.length)){e.next=35;break}if(!(u=c[l])||!(u.isPrototypeOf(s)||u instanceof Object.constructor)){e.next=16;break}throw{code:"D1010",stack:(new Error).stack,position:t.position};case 16:return e.delegateYield(U(t.update,u,r),"t2",17);case 17:if(h=e.t2,"undefined"===(f=n(h))){e.next=23;break}if("object"===f&&null!==h&&!Array.isArray(h)){e.next=22;break}throw{code:"T2011",stack:(new Error).stack,position:t.update.position,value:h};case 22:for(d in h)u[d]=h[d];case 23:if(void 0===t.delete){e.next=32;break}return e.delegateYield(U(t.delete,u,r),"t3",25);case 25:if(void 0===(p=e.t3)){e.next=32;break}if(g=p,Array.isArray(p)||(p=[p]),P(p)){e.next=31;break}throw{code:"T2012",stack:(new Error).stack,position:t.delete.position,value:g};case 31:for(v=0;v<p.length;v++)"object"===n(u)&&null!==u&&delete u[p[v]];case 32:l++,e.next=12;break;case 35:return e.abrupt("return",s);case 36:case"end":return e.stop()}},e)});return It(o,"<(oa):o>")}var mt=c("function($f, $g) { function($x){ $g($f($x)) } }");function bt(t,e,r){var n,o,a,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(U(t.lhs,e,r),"t0",1);case 1:if(o=i.t0,"function"!==t.rhs.type){i.next=7;break}return i.delegateYield(xt(t.rhs,e,r,{context:o}),"t1",4);case 4:n=i.t1,i.next=20;break;case 7:return i.delegateYield(U(t.rhs,e,r),"t2",8);case 8:if(a=i.t2,D(a)){i.next=11;break}throw{code:"T2006",stack:(new Error).stack,position:t.position,value:a};case 11:if(!D(o)){i.next=18;break}return i.delegateYield(U(mt,null,r),"t3",13);case 13:return s=i.t3,i.delegateYield(wt(s,[o,a],null,r),"t4",15);case 15:n=i.t4,i.next=20;break;case 18:return i.delegateYield(wt(a,[o],null,r),"t5",19);case 19:n=i.t5;case 20:return i.abrupt("return",n);case 21:case"end":return i.stop()}},w)}function xt(t,e,r,o){var a,s,c,l,u,h;return i().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return f.delegateYield(U(t.procedure,e,r),"t0",1);case 1:if(void 0!==(s=f.t0)||"path"!==t.procedure.type||!r.lookup(t.procedure.steps[0].value)){f.next=4;break}throw{code:"T1005",stack:(new Error).stack,position:t.position,token:t.procedure.steps[0].value};case 4:c=[],void 0!==o&&c.push(o.context),l=i().mark(function n(){var o,a;return i().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.delegateYield(U(t.arguments[u],e,r),"t0",1);case 1:o=n.t0,D(o)?(a=i().mark(function t(){var e,n,a,s=arguments;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:for(e=s.length,n=new Array(e),a=0;a<e;a++)n[a]=s[a];return t.delegateYield(wt(o,n,null,r),"t0",2);case 2:return t.abrupt("return",t.t0);case 3:case"end":return t.stop()}},t)}),a.arity=N(o),c.push(a)):c.push(o);case 3:case"end":return n.stop()}},n)}),u=0;case 8:if(!(u<t.arguments.length)){f.next=13;break}return f.delegateYield(l(),"t1",10);case 10:u++,f.next=8;break;case 13:return h="path"===t.procedure.type?t.procedure.steps[0].value:t.procedure.value,f.prev=14,"object"===n(s)&&(s.token=h,s.position=t.position),f.delegateYield(wt(s,c,e,r),"t2",17);case 17:a=f.t2,f.next=25;break;case 20:throw f.prev=20,f.t3=f.catch(14),f.t3.position||(f.t3.position=t.position),f.t3.token||(f.t3.token=h),f.t3;case 25:return f.abrupt("return",a);case 26:case"end":return f.stop()}},A,null,[[14,20]])}function wt(t,e,r,n){var o,a,s,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(At(t,e,r,n),"t0",1);case 1:o=i.t0;case 2:if(!j(o)||!0!==o.thunk){i.next=21;break}return i.delegateYield(U(o.body.procedure,o.input,o.environment),"t1",4);case 4:a=i.t1,"variable"===o.body.procedure.type&&(a.token=o.body.procedure.value),a.position=o.body.procedure.position,s=[],c=0;case 9:if(!(c<o.body.arguments.length)){i.next=17;break}return i.t2=s,i.delegateYield(U(o.body.arguments[c],o.input,o.environment),"t3",12);case 12:i.t4=i.t3,i.t2.push.call(i.t2,i.t4);case 14:c++,i.next=9;break;case 17:return i.delegateYield(At(a,s,r,n),"t5",18);case 18:o=i.t5,i.next=2;break;case 21:return i.abrupt("return",o);case 22:case"end":return i.stop()}},_)}function At(t,e,r,n){var o,a,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(i.prev=0,a=e,t&&(a=kt(t.signature,e,r)),!j(t)){i.next=8;break}return i.delegateYield(St(t,a),"t0",5);case 5:o=i.t0,i.next=24;break;case 8:if(!t||!0!==t._jsonata_function){i.next=16;break}if(s={environment:n,input:r},o=t.implementation.apply(s,a),!L(o)){i.next=14;break}return i.delegateYield(o,"t1",13);case 13:o=i.t1;case 14:i.next=24;break;case 16:if("function"!=typeof t){i.next=23;break}if(o=t.apply(r,a),!L(o)){i.next=21;break}return i.delegateYield(o,"t2",20);case 20:o=i.t2;case 21:i.next=24;break;case 23:throw{code:"T1006",stack:(new Error).stack};case 24:i.next=30;break;case 26:throw i.prev=26,i.t3=i.catch(0),t&&(void 0===i.t3.token&&void 0!==t.token&&(i.t3.token=t.token),i.t3.position=t.position||i.t3.position),i.t3;case 30:return i.abrupt("return",o);case 31:case"end":return i.stop()}},E,null,[[0,26]])}function _t(t,e,r){var n={_jsonata_lambda:!0,input:e,environment:r,arguments:t.arguments,signature:t.signature,body:t.body};return!0===t.thunk&&(n.thunk=!0),n.apply=i().mark(function t(r,o){return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(wt(n,o,e,r.environment),"t0",1);case 1:return t.abrupt("return",t.t0);case 2:case"end":return t.stop()}},t)}),n}function Et(t,e,r){var n,o,a,s,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:o=[],a=0;case 2:if(!(a<t.arguments.length)){i.next=15;break}if("operator"!==(s=t.arguments[a]).type||"?"!==s.value){i.next=8;break}o.push(s),i.next=12;break;case 8:return i.t0=o,i.delegateYield(U(s,e,r),"t1",10);case 10:i.t2=i.t1,i.t0.push.call(i.t0,i.t2);case 12:a++,i.next=2;break;case 15:return i.delegateYield(U(t.procedure,e,r),"t3",16);case 16:if(void 0!==(c=i.t3)||"path"!==t.procedure.type||!r.lookup(t.procedure.steps[0].value)){i.next=19;break}throw{code:"T1007",stack:(new Error).stack,position:t.position,token:t.procedure.steps[0].value};case 19:if(!j(c)){i.next=23;break}n=Mt(c,o),i.next=32;break;case 23:if(!c||!0!==c._jsonata_function){i.next=27;break}n=Ot(c.implementation,o),i.next=32;break;case 27:if("function"!=typeof c){i.next=31;break}n=Ot(c,o),i.next=32;break;case 31:throw{code:"T1008",stack:(new Error).stack,position:t.position,token:"path"===t.procedure.type?t.procedure.steps[0].value:t.procedure.value};case 32:return i.abrupt("return",n);case 33:case"end":return i.stop()}},k)}function kt(t,e,r){return void 0===t?e:t.validate(e,r)}function St(t,e){var r,n;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(n=Dt(t.environment),t.arguments.forEach(function(t,r){n.bind(t.value,e[r])}),"function"!=typeof t.body){i.next=7;break}return i.delegateYield(Tt(t.body,n),"t0",4);case 4:r=i.t0,i.next=9;break;case 7:return i.delegateYield(U(t.body,t.input,n),"t1",8);case 8:r=i.t1;case 9:return i.abrupt("return",r);case 10:case"end":return i.stop()}},S)}function Mt(t,e){var r=Dt(t.environment),n=[];return t.arguments.forEach(function(t,i){var o=e[i];o&&"operator"===o.type&&"?"===o.value?n.push(t):r.bind(t.value,o)}),{_jsonata_lambda:!0,input:t.input,environment:r,arguments:n,body:t.body}}function Ot(t,e){var r=Pt(t),n="function("+(r=r.map(function(t){return"$"+t.trim()})).join(", ")+"){ _ }",i=c(n);return i.body=t,Mt(i,e)}function Tt(t,e){var r,n,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(r=Pt(t),n=r.map(function(t){return e.lookup(t.trim())}),o={environment:e},a=t.apply(o,n),!L(a)){i.next=7;break}return i.delegateYield(a,"t0",6);case 6:a=i.t0;case 7:return i.abrupt("return",a);case 8:case"end":return i.stop()}},M)}function Pt(t){var e=t.toString();return/\(([^)]*)\)/.exec(e)[1].split(",")}function It(t,e){var r={_jsonata_function:!0,implementation:t};return void 0!==e&&(r.signature=l(e)),r}function Ct(t,e){var r,n,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:r=this.input,void 0!==e&&(r=e,Array.isArray(r)&&!R(r)&&((r=C(r)).outerWrapper=!0)),i.prev=4,n=c(t,!1),i.next=12;break;case 8:throw i.prev=8,i.t0=i.catch(4),Lt(i.t0),{stack:(new Error).stack,code:"D3120",value:i.t0.message,error:i.t0};case 12:return i.prev=12,i.delegateYield(U(n,r,this.environment),"t1",14);case 14:o=i.t1,i.next=21;break;case 17:throw i.prev=17,i.t2=i.catch(12),Lt(i.t2),{stack:(new Error).stack,code:"D3121",value:i.t2.message,error:i.t2};case 21:return i.abrupt("return",o);case 22:case"end":return i.stop()}},O,this,[[4,8],[12,17]])}function Rt(t){if(void 0!==t)return JSON.parse(a.string(t))}function Dt(t){var e={};return{bind:function(t,r){e[t]=r},lookup:function(r){var n;return e.hasOwnProperty(r)?n=e[r]:t&&(n=t.lookup(r)),n},timestamp:t?t.timestamp:null,async:!!t&&t.async,global:t?t.global:{ancestry:[null]}}}z.bind("sum",It(a.sum,"<a<n>:n>")),z.bind("count",It(a.count,"<a:n>")),z.bind("max",It(a.max,"<a<n>:n>")),z.bind("min",It(a.min,"<a<n>:n>")),z.bind("average",It(a.average,"<a<n>:n>")),z.bind("string",It(a.string,"<x-b?:s>")),z.bind("substring",It(a.substring,"<s-nn?:s>")),z.bind("substringBefore",It(a.substringBefore,"<s-s:s>")),z.bind("substringAfter",It(a.substringAfter,"<s-s:s>")),z.bind("lowercase",It(a.lowercase,"<s-:s>")),z.bind("uppercase",It(a.uppercase,"<s-:s>")),z.bind("length",It(a.length,"<s-:n>")),z.bind("trim",It(a.trim,"<s-:s>")),z.bind("pad",It(a.pad,"<s-ns?:s>")),z.bind("match",It(a.match,"<s-f<s:o>n?:a<o>>")),z.bind("contains",It(a.contains,"<s-(sf):b>")),z.bind("replace",It(a.replace,"<s-(sf)(sf)n?:s>")),z.bind("split",It(a.split,"<s-(sf)n?:a<s>>")),z.bind("join",It(a.join,"<a<s>s?:s>")),z.bind("formatNumber",It(a.formatNumber,"<n-so?:s>")),z.bind("formatBase",It(a.formatBase,"<n-n?:s>")),z.bind("formatInteger",It(o.formatInteger,"<n-s:s>")),z.bind("parseInteger",It(o.parseInteger,"<s-s:n>")),z.bind("number",It(a.number,"<(nsb)-:n>")),z.bind("floor",It(a.floor,"<n-:n>")),z.bind("ceil",It(a.ceil,"<n-:n>")),z.bind("round",It(a.round,"<n-n?:n>")),z.bind("abs",It(a.abs,"<n-:n>")),z.bind("sqrt",It(a.sqrt,"<n-:n>")),z.bind("power",It(a.power,"<n-n:n>")),z.bind("random",It(a.random,"<:n>")),z.bind("boolean",It(a.boolean,"<x-:b>")),z.bind("not",It(a.not,"<x-:b>")),z.bind("map",It(a.map,"<af>")),z.bind("zip",It(a.zip,"<a+>")),z.bind("filter",It(a.filter,"<af>")),z.bind("single",It(a.single,"<af?>")),z.bind("reduce",It(a.foldLeft,"<afj?:j>")),z.bind("sift",It(a.sift,"<o-f?:o>")),z.bind("keys",It(a.keys,"<x-:a<s>>")),z.bind("lookup",It(a.lookup,"<x-s:x>")),z.bind("append",It(a.append,"<xx:a>")),z.bind("exists",It(a.exists,"<x:b>")),z.bind("spread",It(a.spread,"<x-:a<o>>")),z.bind("merge",It(a.merge,"<a<o>:o>")),z.bind("reverse",It(a.reverse,"<a:a>")),z.bind("each",It(a.each,"<o-f:a>")),z.bind("error",It(a.error,"<s?:x>")),z.bind("assert",It(a.assert,"<bs?:x>")),z.bind("type",It(a.type,"<x:s>")),z.bind("sort",It(a.sort,"<af?:a>")),z.bind("shuffle",It(a.shuffle,"<a:a>")),z.bind("distinct",It(a.distinct,"<x:x>")),z.bind("base64encode",It(a.base64encode,"<s-:s>")),z.bind("base64decode",It(a.base64decode,"<s-:s>")),z.bind("encodeUrlComponent",It(a.encodeUrlComponent,"<s-:s>")),z.bind("encodeUrl",It(a.encodeUrl,"<s-:s>")),z.bind("decodeUrlComponent",It(a.decodeUrlComponent,"<s-:s>")),z.bind("decodeUrl",It(a.decodeUrl,"<s-:s>")),z.bind("eval",It(Ct,"<sx?:x>")),z.bind("toMillis",It(o.toMillis,"<s-s?:n>")),z.bind("fromMillis",It(o.fromMillis,"<n-s?s?:s>")),z.bind("clone",It(Rt,"<(oa)-:o>"));var jt={S0101:"String literal must be terminated by a matching quote",S0102:"Number out of range: {{token}}",S0103:"Unsupported escape sequence: \\{{token}}",S0104:"The escape sequence \\u must be followed by 4 hex digits",S0105:"Quoted property name must be terminated with a backquote (`)",S0106:"Comment has no closing tag",S0201:"Syntax error: {{token}}",S0202:"Expected {{value}}, got {{token}}",S0203:"Expected {{value}} before end of expression",S0204:"Unknown operator: {{token}}",S0205:"Unexpected token: {{token}}",S0206:"Unknown expression type: {{token}}",S0207:"Unexpected end of expression",S0208:"Parameter {{value}} of function definition must be a variable name (start with $)",S0209:"A predicate cannot follow a grouping expression in a step",S0210:"Each step can only have one grouping expression",S0211:"The symbol {{token}} cannot be used as a unary operator",S0212:"The left side of := must be a variable name (start with $)",S0213:"The literal value {{value}} cannot be used as a step within a path expression",S0214:"The right side of {{token}} must be a variable name (start with $)",S0215:"A context variable binding must precede any predicates on a step",S0216:"A context variable binding must precede the 'order-by' clause on a step",S0217:"The object representing the 'parent' cannot be derived from this expression",S0301:"Empty regular expressions are not allowed",S0302:"No terminating / in regular expression",S0402:"Choice groups containing parameterized types are not supported",S0401:"Type parameters can only be applied to functions and arrays",S0500:"Attempted to evaluate an expression containing syntax error(s)",T0410:"Argument {{index}} of function {{token}} does not match function signature",T0411:"Context value is not a compatible type with argument {{index}} of function {{token}}",T0412:"Argument {{index}} of function {{token}} must be an array of {{type}}",D1001:"Number out of range: {{value}}",D1002:"Cannot negate a non-numeric value: {{value}}",T1003:"Key in object structure must evaluate to a string; got: {{value}}",D1004:"Regular expression matches zero length string",T1005:"Attempted to invoke a non-function. Did you mean ${{{token}}}?",T1006:"Attempted to invoke a non-function",T1007:"Attempted to partially apply a non-function. Did you mean ${{{token}}}?",T1008:"Attempted to partially apply a non-function",D1009:"Multiple key definitions evaluate to same key: {{value}}",D1010:"Attempted to access the Javascript object prototype",T1010:"The matcher function argument passed to function {{token}} does not return the correct object structure",T2001:"The left side of the {{token}} operator must evaluate to a number",T2002:"The right side of the {{token}} operator must evaluate to a number",T2003:"The left side of the range operator (..) must evaluate to an integer",T2004:"The right side of the range operator (..) must evaluate to an integer",D2005:"The left side of := must be a variable name (start with $)",T2006:"The right side of the function application operator ~> must be a function",T2007:"Type mismatch when comparing values {{value}} and {{value2}} in order-by clause",T2008:"The expressions within an order-by clause must evaluate to numeric or string values",T2009:"The values {{value}} and {{value2}} either side of operator {{token}} must be of the same data type",T2010:"The expressions either side of operator {{token}} must evaluate to numeric or string values",T2011:"The insert/update clause of the transform expression must evaluate to an object: {{value}}",T2012:"The delete clause of the transform expression must evaluate to a string or array of strings: {{value}}",T2013:"The transform expression clones the input object using the $clone() function. This has been overridden in the current scope by a non-function.",D2014:"The size of the sequence allocated by the range operator (..) must not exceed 1e6. Attempted to allocate {{value}}.",D3001:"Attempting to invoke string function on Infinity or NaN",D3010:"Second argument of replace function cannot be an empty string",D3011:"Fourth argument of replace function must evaluate to a positive number",D3012:"Attempted to replace a matched string with a non-string value",D3020:"Third argument of split function must evaluate to a positive number",D3030:"Unable to cast value to a number: {{value}}",D3040:"Third argument of match function must evaluate to a positive number",D3050:"The second argument of reduce function must be a function with at least two arguments",D3060:"The sqrt function cannot be applied to a negative number: {{value}}",D3061:"The power function has resulted in a value that cannot be represented as a JSON number: base={{value}}, exponent={{exp}}",D3070:"The single argument form of the sort function can only be applied to an array of strings or an array of numbers. Use the second argument to specify a comparison function",D3080:"The picture string must only contain a maximum of two sub-pictures",D3081:"The sub-picture must not contain more than one instance of the 'decimal-separator' character",D3082:"The sub-picture must not contain more than one instance of the 'percent' character",D3083:"The sub-picture must not contain more than one instance of the 'per-mille' character",D3084:"The sub-picture must not contain both a 'percent' and a 'per-mille' character",D3085:"The mantissa part of a sub-picture must contain at least one character that is either an 'optional digit character' or a member of the 'decimal digit family'",D3086:"The sub-picture must not contain a passive character that is preceded by an active character and that is followed by another active character",D3087:"The sub-picture must not contain a 'grouping-separator' character that appears adjacent to a 'decimal-separator' character",D3088:"The sub-picture must not contain a 'grouping-separator' at the end of the integer part",D3089:"The sub-picture must not contain two adjacent instances of the 'grouping-separator' character",D3090:"The integer part of the sub-picture must not contain a member of the 'decimal digit family' that is followed by an instance of the 'optional digit character'",D3091:"The fractional part of the sub-picture must not contain an instance of the 'optional digit character' that is followed by a member of the 'decimal digit family'",D3092:"A sub-picture that contains a 'percent' or 'per-mille' character must not contain a character treated as an 'exponent-separator'",D3093:"The exponent part of the sub-picture must comprise only of one or more characters that are members of the 'decimal digit family'",D3100:"The radix of the formatBase function must be between 2 and 36. It was given {{value}}",D3110:"The argument of the toMillis function must be an ISO 8601 formatted timestamp. Given {{value}}",D3120:"Syntax error in expression passed to function eval: {{value}}",D3121:"Dynamic error evaluating the expression passed to function eval: {{value}}",D3130:"Formatting or parsing an integer as a sequence starting with {{value}} is not supported by this implementation",D3131:"In a decimal digit pattern, all digits must be from the same decimal group",D3132:"Unknown component specifier {{value}} in date/time picture string",D3133:"The 'name' modifier can only be applied to months and days in the date/time picture string, not {{value}}",D3134:"The timezone integer format specifier cannot have more than four digits",D3135:"No matching closing bracket ']' in date/time picture string",D3136:"The date/time picture string is missing specifiers required to parse the timestamp",D3137:"{{{message}}}",D3138:"The $single() function expected exactly 1 matching result. Instead it matched more.",D3139:"The $single() function expected exactly 1 matching result. Instead it matched 0.",D3140:"Malformed URL passed to ${{{functionName}}}(): {{value}}",D3141:"{{{message}}}"};function Lt(t){var e=jt[t.code];if(void 0!==e){var r=e.replace(/\{\{\{([^}]+)}}}/g,function(){return t[arguments[1]]});r=r.replace(/\{\{([^}]+)}}/g,function(){return JSON.stringify(t[arguments[1]])}),t.message=r}}function Nt(t,e){var r,n;try{r=c(t,e&&e.recover),n=r.errors,delete r.errors}catch(t){throw Lt(t),t}var i=Dt(z),a=new Date;return i.bind("now",It(function(t,e){return o.fromMillis(a.getTime(),t,e)},"<s?s?:s>")),i.bind("millis",It(function(){return a.getTime()},"<:n>")),e&&e.RegexEngine?Nt.RegexEngine=e.RegexEngine:Nt.RegexEngine=RegExp,{evaluate:function(t,e,o){if(void 0!==n){var s={code:"S0500",position:0};throw Lt(s),s}var c,l,u;if(void 0!==e)for(var h in c=Dt(i),e)c.bind(h,e[h]);else c=i;if(c.bind("$",t),a=new Date,c.timestamp=a,Array.isArray(t)&&!R(t)&&((t=C(t)).outerWrapper=!0),"function"==typeof o){c.async=!0;var f=function(t){Lt(t),o(t,null)},d=function t(e){(l=u.next(e)).done?o(null,l.value):l.value.then(t).catch(f)};u=U(r,t,c),(l=u.next()).value.then(d).catch(f)}else try{for(u=U(r,t,c),l=u.next();!l.done;)l=u.next(l.value);return l.value}catch(s){throw Lt(s),s}},assign:function(t,e){i.bind(t,e)},registerFunction:function(t,e,r){var n=It(e,r);i.bind(t,n)},ast:function(){return r},errors:function(){return n}}}return Nt.parser=c,Nt}();e.exports=u},{"./datetime":1,"./functions":2,"./parser":4,"./signature":5,"./utils":6}],4:[function(t,e,r){var n=t("./signature"),i=function(){var t={".":75,"[":80,"]":0,"{":70,"}":0,"(":80,")":0,",":0,"@":80,"#":80,";":80,":":80,"?":20,"+":50,"-":50,"*":60,"/":60,"%":60,"|":20,"=":40,"<":40,">":40,"^":40,"**":60,"..":20,":=":10,"!=":40,"<=":40,">=":40,"~>":40,and:30,or:25,in:40,"&":50,"!":0,"~":0},e={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},r=function(r){var n=0,i=r.length,o=function(t,e){return{type:t,value:e,position:n}},a=function(){for(var t,e,o=n,a=0;n<i;){var s=r.charAt(n);if("/"===s&&"\\"!==r.charAt(n-1)&&0===a){if(""===(t=r.substring(o,n)))throw{code:"S0301",stack:(new Error).stack,position:n};for(n++,s=r.charAt(n),o=n;"i"===s||"m"===s;)n++,s=r.charAt(n);return e=r.substring(o,n)+"g",new RegExp(t,e)}"("!==s&&"["!==s&&"{"!==s||"\\"===r.charAt(n-1)||a++,")"!==s&&"]"!==s&&"}"!==s||"\\"===r.charAt(n-1)||a--,n++}throw{code:"S0302",stack:(new Error).stack,position:n}},s=function s(c){if(n>=i)return null;for(var l=r.charAt(n);n<i&&" \t\n\r\v".indexOf(l)>-1;)n++,l=r.charAt(n);if("/"===l&&"*"===r.charAt(n+1)){var u=n;for(n+=2,l=r.charAt(n);"*"!==l||"/"!==r.charAt(n+1);)if(l=r.charAt(++n),n>=i)throw{code:"S0106",stack:(new Error).stack,position:u};return n+=2,l=r.charAt(n),s(c)}if(!0!==c&&"/"===l)return n++,o("regex",a());if("."===l&&"."===r.charAt(n+1))return n+=2,o("operator","..");if(":"===l&&"="===r.charAt(n+1))return n+=2,o("operator",":=");if("!"===l&&"="===r.charAt(n+1))return n+=2,o("operator","!=");if(">"===l&&"="===r.charAt(n+1))return n+=2,o("operator",">=");if("<"===l&&"="===r.charAt(n+1))return n+=2,o("operator","<=");if("*"===l&&"*"===r.charAt(n+1))return n+=2,o("operator","**");if("~"===l&&">"===r.charAt(n+1))return n+=2,o("operator","~>");if(Object.prototype.hasOwnProperty.call(t,l))return n++,o("operator",l);if('"'===l||"'"===l){var h=l;n++;for(var f="";n<i;){if("\\"===(l=r.charAt(n)))if(n++,l=r.charAt(n),Object.prototype.hasOwnProperty.call(e,l))f+=e[l];else{if("u"!==l)throw{code:"S0103",stack:(new Error).stack,position:n,token:l};var d=r.substr(n+1,4);if(!/^[0-9a-fA-F]+$/.test(d))throw{code:"S0104",stack:(new Error).stack,position:n};var p=parseInt(d,16);f+=String.fromCharCode(p),n+=4}else{if(l===h)return n++,o("string",f);f+=l}n++}throw{code:"S0101",stack:(new Error).stack,position:n}}var g,v=/^-?(0|([1-9][0-9]*))(\.[0-9]+)?([Ee][-+]?[0-9]+)?/.exec(r.substring(n));if(null!==v){var y=parseFloat(v[0]);if(!isNaN(y)&&isFinite(y))return n+=v[0].length,o("number",y);throw{code:"S0102",stack:(new Error).stack,position:n,token:v[0]}}if("`"===l){n++;var m=r.indexOf("`",n);if(-1!==m)return g=r.substring(n,m),n=m+1,o("name",g);throw n=i,{code:"S0105",stack:(new Error).stack,position:n}}for(var b,x=n;;)if(b=r.charAt(x),x===i||" \t\n\r\v".indexOf(b)>-1||Object.prototype.hasOwnProperty.call(t,b)){if("$"===r.charAt(n))return g=r.substring(n+1,x),n=x,o("variable",g);switch(g=r.substring(n,x),n=x,g){case"or":case"in":case"and":return o("operator",g);case"true":return o("value",!0);case"false":return o("value",!1);case"null":return o("value",null);default:return n===i&&""===g?null:o("name",g)}}else x++};return s},i=function(e,i){var o,a,s={},c=[],l=function(){var t=[];"(end)"!==o.id&&t.push({type:o.type,value:o.value,position:o.position});for(var e=a();null!==e;)t.push(e),e=a();return t},u={nud:function(){var t={code:"S0211",token:this.value,position:this.position};if(i)return t.remaining=l(),t.type="error",c.push(t),t;throw t.stack=(new Error).stack,t}},h=function(t,e){var r=s[t];return e=e||0,r?e>=r.lbp&&(r.lbp=e):((r=Object.create(u)).id=r.value=t,r.lbp=e,s[t]=r),r},f=function(t){if(i){t.remaining=l(),c.push(t);var e=s["(error)"];return(o=Object.create(e)).error=t,o.type="(error)",o}throw t.stack=(new Error).stack,t},d=function(t,r){if(t&&o.id!==t){var n={code:"(end)"===o.id?"S0203":"S0202",position:o.position,token:o.value,value:t};return f(n)}var i=a(r);if(null===i)return(o=s["(end)"]).position=e.length,o;var c,l=i.value,u=i.type;switch(u){case"name":case"variable":c=s["(name)"];break;case"operator":if(!(c=s[l]))return f({code:"S0204",stack:(new Error).stack,position:i.position,token:l});break;case"string":case"number":case"value":c=s["(literal)"];break;case"regex":u="regex",c=s["(regex)"];break;default:return f({code:"S0205",stack:(new Error).stack,position:i.position,token:l})}return(o=Object.create(c)).value=l,o.type=u,o.position=i.position,o},p=function(t){var e,r=o;for(d(null,!0),e=r.nud();t<o.lbp;)r=o,d(),e=r.led(e);return e},g=function(t){h(t,0).nud=function(){return this}},v=function(e,r,n){var i=r||t[e],o=h(e,i);return o.led=n||function(t){return this.lhs=t,this.rhs=p(i),this.type="binary",this},o},y=function(t,e,r){var n=h(t,e);return n.led=r,n},m=function(t,e){var r=h(t);return r.nud=e||function(){return this.expression=p(70),this.type="unary",this},r};g("(end)"),g("(name)"),g("(literal)"),g("(regex)"),h(":"),h(";"),h(","),h(")"),h("]"),h("}"),h(".."),v("."),v("+"),v("-"),v("*"),v("/"),v("%"),v("="),v("<"),v(">"),v("!="),v("<="),v(">="),v("&"),v("and"),v("or"),v("in"),g("and"),g("or"),g("in"),m("-"),v("~>"),y("(error)",10,function(t){return this.lhs=t,this.error=o.error,this.remaining=l(),this.type="error",this}),m("*",function(){return this.type="wildcard",this}),m("**",function(){return this.type="descendant",this}),m("%",function(){return this.type="parent",this}),v("(",t["("],function(t){if(this.procedure=t,this.type="function",this.arguments=[],")"!==o.id)for(;"operator"===o.type&&"?"===o.id?(this.type="partial",this.arguments.push(o),d("?")):this.arguments.push(p(0)),","===o.id;)d(",");if(d(")",!0),"name"===t.type&&("function"===t.value||"λ"===t.value)){if(this.arguments.forEach(function(t,e){if("variable"!==t.type)return f({code:"S0208",stack:(new Error).stack,position:t.position,token:t.value,value:e+1})}),this.type="lambda","<"===o.id){for(var e=o.position,r=1,i="<";r>0&&"{"!==o.id&&"(end)"!==o.id;){var a=d();">"===a.id?r--:"<"===a.id&&r++,i+=a.value}d(">");try{this.signature=n(i)}catch(t){return t.position=e+t.offset,f(t)}}d("{"),this.body=p(0),d("}")}return this}),m("(",function(){for(var t=[];")"!==o.id&&(t.push(p(0)),";"===o.id);)d(";");return d(")",!0),this.type="block",this.expressions=t,this}),m("[",function(){var t=[];if("]"!==o.id)for(;;){var e=p(0);if(".."===o.id){var r={type:"binary",value:"..",position:o.position,lhs:e};d(".."),r.rhs=p(0),e=r}if(t.push(e),","!==o.id)break;d(",")}return d("]",!0),this.expressions=t,this.type="unary",this}),v("[",t["["],function(e){if("]"===o.id){for(var r=e;r&&"binary"===r.type&&"["===r.value;)r=r.lhs;return r.keepArray=!0,d("]"),e}return this.lhs=e,this.rhs=p(t["]"]),this.type="binary",d("]",!0),this}),v("^",t["^"],function(t){d("(");for(var e=[];;){var r={descending:!1};if("<"===o.id?d("<"):">"===o.id&&(r.descending=!0,d(">")),r.expression=p(0),e.push(r),","!==o.id)break;d(",")}return d(")"),this.lhs=t,this.rhs=e,this.type="binary",this});var b=function(t){var e=[];if("}"!==o.id)for(;;){var r=p(0);d(":");var n=p(0);if(e.push([r,n]),","!==o.id)break;d(",")}return d("}",!0),void 0===t?(this.lhs=e,this.type="unary"):(this.lhs=t,this.rhs=e,this.type="binary"),this};m("{",b),v("{",t["{"],b),y(":=",t[":="],function(e){return"variable"!==e.type?f({code:"S0212",stack:(new Error).stack,position:e.position,token:e.value}):(this.lhs=e,this.rhs=p(t[":="]-1),this.type="binary",this)}),v("@",t["@"],function(e){return this.lhs=e,this.rhs=p(t["@"]),"variable"!==this.rhs.type?f({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"@"}):(this.type="binary",this)}),v("#",t["#"],function(e){return this.lhs=e,this.rhs=p(t["#"]),"variable"!==this.rhs.type?f({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"#"}):(this.type="binary",this)}),v("?",t["?"],function(t){return this.type="condition",this.condition=t,this.then=p(0),":"===o.id&&(d(":"),this.else=p(0)),this}),m("|",function(){return this.type="transform",this.pattern=p(0),d("|"),this.update=p(0),","===o.id&&(d(","),this.delete=p(0)),d("|"),this});var x=function t(e){var r;if("function"!==e.type||e.predicate)if("condition"===e.type)e.then=t(e.then),void 0!==e.else&&(e.else=t(e.else)),r=e;else if("block"===e.type){var n=e.expressions.length;n>0&&(e.expressions[n-1]=t(e.expressions[n-1])),r=e}else r=e;else{var i={type:"lambda",thunk:!0,arguments:[],position:e.position};i.body=e,r=i}return r},w=0,A=0,_=[],E=function t(e,r){switch(e.type){case"name":case"wildcard":r.level--,0===r.level&&(void 0===e.ancestor||(_[r.index].slot.label=e.ancestor.label),e.ancestor=r,e.tuple=!0);break;case"parent":r.level++;break;case"block":e.expressions.length>0&&(e.tuple=!0,r=t(e.expressions[e.expressions.length-1],r));break;case"path":e.tuple=!0;var n=e.steps.length-1;for(r=t(e.steps[n--],r);r.level>0&&n>=0;)r=t(e.steps[n--],r);break;default:throw{code:"S0217",token:e.type,position:e.position}}return r},k=function(t,e){if(void 0!==e.seekingParent||"parent"===e.type){var r=void 0!==e.seekingParent?e.seekingParent:[];"parent"===e.type&&r.push(e.slot),void 0===t.seekingParent?t.seekingParent=r:Array.prototype.push.apply(t.seekingParent,r)}},S=function(t){var e=t.steps.length-1,r=t.steps[e],n=void 0!==r.seekingParent?r.seekingParent:[];"parent"===r.type&&n.push(r.slot);for(var i=0;i<n.length;i++){var o=n[i];for(e=t.steps.length-2;o.level>0;){if(e<0){void 0===t.seekingParent?t.seekingParent=[o]:t.seekingParent.push(o);break}for(var a=t.steps[e--];e>=0&&a.focus&&t.steps[e].focus;)a=t.steps[e--];o=E(a,o)}}},M=function t(e){var r;switch(e.type){case"binary":switch(e.value){case".":var n=t(e.lhs);r="path"===n.type?n:{type:"path",steps:[n]},"parent"===n.type&&(r.seekingParent=[n.slot]);var o=t(e.rhs);"function"===o.type&&"path"===o.procedure.type&&1===o.procedure.steps.length&&"name"===o.procedure.steps[0].type&&"function"===r.steps[r.steps.length-1].type&&(r.steps[r.steps.length-1].nextFunction=o.procedure.steps[0].value),"path"===o.type?Array.prototype.push.apply(r.steps,o.steps):(void 0!==o.predicate&&(o.stages=o.predicate,delete o.predicate),r.steps.push(o)),r.steps.filter(function(t){if("number"===t.type||"value"===t.type)throw{code:"S0213",stack:(new Error).stack,position:t.position,value:t.value};return"string"===t.type}).forEach(function(t){t.type="name"}),r.steps.filter(function(t){return!0===t.keepArray}).length>0&&(r.keepSingletonArray=!0);var a=r.steps[0];"unary"===a.type&&"["===a.value&&(a.consarray=!0);var s=r.steps[r.steps.length-1];"unary"===s.type&&"["===s.value&&(s.consarray=!0),S(r);break;case"[":var l=r=t(e.lhs),u="predicate";if("path"===r.type&&(l=r.steps[r.steps.length-1],u="stages"),void 0!==l.group)throw{code:"S0209",stack:(new Error).stack,position:e.position};void 0===l[u]&&(l[u]=[]);var h=t(e.rhs);void 0!==h.seekingParent&&(h.seekingParent.forEach(function(t){1===t.level?E(l,t):t.level--}),k(l,h)),l[u].push({type:"filter",expr:h,position:e.position});break;case"{":if(void 0!==(r=t(e.lhs)).group)throw{code:"S0210",stack:(new Error).stack,position:e.position};r.group={lhs:e.rhs.map(function(e){return[t(e[0]),t(e[1])]}),position:e.position};break;case"^":"path"!==(r=t(e.lhs)).type&&(r={type:"path",steps:[r]});var f={type:"sort",position:e.position};f.terms=e.rhs.map(function(e){var r=t(e.expression);return k(f,r),{descending:e.descending,expression:r}}),r.steps.push(f),S(r);break;case":=":(r={type:"bind",value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs),k(r,r.rhs);break;case"@":if(r=t(e.lhs),l=r,"path"===r.type&&(l=r.steps[r.steps.length-1]),void 0!==l.stages||void 0!==l.predicate)throw{code:"S0215",stack:(new Error).stack,position:e.position};if("sort"===l.type)throw{code:"S0216",stack:(new Error).stack,position:e.position};e.keepArray&&(l.keepArray=!0),l.focus=e.rhs.value,l.tuple=!0;break;case"#":r=t(e.lhs),l=r,"path"===r.type?l=r.steps[r.steps.length-1]:(r={type:"path",steps:[r]},void 0!==l.predicate&&(l.stages=l.predicate,delete l.predicate)),void 0===l.stages?l.index=e.rhs.value:l.stages.push({type:"index",value:e.rhs.value,position:e.position}),l.tuple=!0;break;case"~>":(r={type:"apply",value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs);break;default:(r={type:e.type,value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs),k(r,r.lhs),k(r,r.rhs)}break;case"unary":r={type:e.type,value:e.value,position:e.position},"["===e.value?r.expressions=e.expressions.map(function(e){var n=t(e);return k(r,n),n}):"{"===e.value?r.lhs=e.lhs.map(function(e){var n=t(e[0]);k(r,n);var i=t(e[1]);return k(r,i),[n,i]}):(r.expression=t(e.expression),"-"===e.value&&"number"===r.expression.type?(r=r.expression).value=-r.value:k(r,r.expression));break;case"function":case"partial":(r={type:e.type,name:e.name,value:e.value,position:e.position}).arguments=e.arguments.map(function(e){var n=t(e);return k(r,n),n}),r.procedure=t(e.procedure);break;case"lambda":r={type:e.type,arguments:e.arguments,signature:e.signature,position:e.position};var d=t(e.body);r.body=x(d);break;case"condition":(r={type:e.type,position:e.position}).condition=t(e.condition),k(r,r.condition),r.then=t(e.then),k(r,r.then),void 0!==e.else&&(r.else=t(e.else),k(r,r.else));break;case"transform":(r={type:e.type,position:e.position}).pattern=t(e.pattern),r.update=t(e.update),void 0!==e.delete&&(r.delete=t(e.delete));break;case"block":(r={type:e.type,position:e.position}).expressions=e.expressions.map(function(e){var n=t(e);return k(r,n),(n.consarray||"path"===n.type&&n.steps[0].consarray)&&(r.consarray=!0),n});break;case"name":r={type:"path",steps:[e]},e.keepArray&&(r.keepSingletonArray=!0);break;case"parent":r={type:"parent",slot:{label:"!"+w++,level:1,index:A++}},_.push(r);break;case"string":case"number":case"value":case"wildcard":case"descendant":case"variable":case"regex":r=e;break;case"operator":if("and"===e.value||"or"===e.value||"in"===e.value)e.type="name",r=t(e);else{if("?"!==e.value)throw{code:"S0201",stack:(new Error).stack,position:e.position,token:e.value};r=e}break;case"error":r=e,e.lhs&&(r=t(e.lhs));break;default:var p="S0206";"(end)"===e.id&&(p="S0207");var g={code:p,position:e.position,token:e.value};if(i)return c.push(g),{type:"error",error:g};throw g.stack=(new Error).stack,g}return e.keepArray&&(r.keepArray=!0),r};a=r(e),d();var O=p(0);if("(end)"!==o.id){var T={code:"S0201",position:o.position,token:o.value};f(T)}if("parent"===(O=M(O)).type||void 0!==O.seekingParent)throw{code:"S0217",token:O.type,position:O.position};return c.length>0&&(O.errors=c),O};return i}();e.exports=i},{"./signature":5}],5:[function(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}var i=t("./utils"),o=function(){var t={a:"arrays",b:"booleans",f:"functions",n:"numbers",o:"objects",s:"strings"};function e(e){for(var r=1,o=[],a={},s=a;r<e.length;){var c=e.charAt(r);if(":"===c)break;var l=function(){o.push(a),s=a,a={}},u=function(t,e,r,n){for(var i=1,o=e;o<t.length;)if(o++,(c=t.charAt(o))===n){if(0===--i)break}else c===r&&i++;return o};switch(c){case"s":case"n":case"b":case"l":case"o":a.regex="["+c+"m]",a.type=c,l();break;case"a":a.regex="[asnblfom]",a.type=c,a.array=!0,l();break;case"f":a.regex="f",a.type=c,l();break;case"j":a.regex="[asnblom]",a.type=c,l();break;case"x":a.regex="[asnblfom]",a.type=c,l();break;case"-":s.context=!0,s.contextRegex=new RegExp(s.regex),s.regex+="?";break;case"?":case"+":s.regex+=c;break;case"(":var h=u(e,r,"(",")"),f=e.substring(r+1,h);if(-1!==f.indexOf("<"))throw{code:"S0402",stack:(new Error).stack,value:f,offset:r};a.regex="["+f+"m]",a.type="("+f+")",r=h,l();break;case"<":if("a"!==s.type&&"f"!==s.type)throw{code:"S0401",stack:(new Error).stack,value:s.type,offset:r};var d=u(e,r,"<",">");s.subtype=e.substring(r+1,d),r=d}r++}var p="^"+o.map(function(t){return"("+t.regex+")"}).join("")+"$",g=new RegExp(p),v=function(t){var e;if(i.isFunction(t))e="f";else switch(n(t)){case"string":e="s";break;case"number":e="n";break;case"boolean":e="b";break;case"object":e=null===t?"l":Array.isArray(t)?"a":"o";break;default:e="m"}return e},y=function(t,e){for(var r="^",n=0,i=0;i<o.length;i++){r+=o[i].regex;var a=e.match(r);if(null===a)throw{code:"T0410",stack:(new Error).stack,value:t[n],index:n+1};n=a[0].length}throw{code:"T0410",stack:(new Error).stack,value:t[n],index:n+1}};return{definition:e,validate:function(e,r){var n="";e.forEach(function(t){n+=v(t)});var i=g.exec(n);if(i){var a=[],s=0;return o.forEach(function(n,o){var c=e[s],l=i[o+1];if(""===l)if(n.context&&n.contextRegex){var u=v(r);if(!n.contextRegex.test(u))throw{code:"T0411",stack:(new Error).stack,value:r,index:s+1};a.push(r)}else a.push(c),s++;else l.split("").forEach(function(r){if("a"===n.type){if("m"===r)c=void 0;else{c=e[s];var i=!0;if(void 0!==n.subtype)if("a"!==r&&l!==n.subtype)i=!1;else if("a"===r&&c.length>0){var o=v(c[0]);i=o===n.subtype.charAt(0)&&0===c.filter(function(t){return v(t)!==o}).length}if(!i)throw{code:"T0412",stack:(new Error).stack,value:c,index:s+1,type:t[n.subtype]};"a"!==r&&(c=[c])}a.push(c),s++}else a.push(c),s++})}),a}y(e,n)}}}return e}();e.exports=o},{"./utils":6}],6:[function(t,e,r){function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=i(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(c)throw a}}}}function i(t,e){if(t){if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}var s=function(){function t(t){var e=!1;if("number"==typeof t&&(e=!isNaN(t))&&!isFinite(t))throw{code:"D1001",value:t,stack:(new Error).stack};return e}function e(t){var e=!1;return Array.isArray(t)&&(e=0===t.filter(function(t){return"string"!=typeof t}).length),e}function r(e){var r=!1;return Array.isArray(e)&&(r=0===e.filter(function(e){return!t(e)}).length),r}function i(){var t=[];return t.sequence=!0,1===arguments.length&&t.push(arguments[0]),t}function o(t){return!0===t.sequence&&Array.isArray(t)}function s(t){return t&&(!0===t._jsonata_function||!0===t._jsonata_lambda)||"function"==typeof t}function c(t){return"number"==typeof t.arity?t.arity:"function"==typeof t.implementation?t.implementation.length:"number"==typeof t.length?t.length:t.arguments.length}function l(t){return t&&!0===t._jsonata_lambda}var u=("function"==typeof Symbol?Symbol:{}).iterator||"@@iterator";function h(t){return"object"===a(t)&&null!==t&&u in t&&"next"in t&&"function"==typeof t.next}function f(t,e){if(t===e)return!0;if("object"===a(t)&&"object"===a(e)&&null!==t&&null!==e){if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(!f(t[r],e[r]))return!1;return!0}var n=Object.getOwnPropertyNames(t),i=Object.getOwnPropertyNames(e);if(n.length!==i.length)return!1;for(n=n.sort(),i=i.sort(),r=0;r<n.length;r++)if(n[r]!==i[r])return!1;for(r=0;r<n.length;r++){var o=n[r];if(!f(t[o],e[o]))return!1}return!0}return!1}function d(t){var e,r=[],i=n(t);try{for(i.s();!(e=i.n()).done;){var o=e.value;r.push(o)}}catch(t){i.e(t)}finally{i.f()}return r}return{isNumeric:t,isArrayOfStrings:e,isArrayOfNumbers:r,createSequence:i,isSequence:o,isFunction:s,isLambda:l,isIterable:h,getFunctionArity:c,isDeepEqual:f,stringToArray:d}}();e.exports=s},{}]},{},[3])(3)}(nct);var ict=nct.exports;const oct=function(t){return t};function act(t){if(!t)return oct;try{var e=ict(t);return function(t){return e.evaluate(t)}}catch(t){return console.error(t),oct}}function sct(t){var e=vst(t);return null==e?"":String(e)}function cct(t){return Number(vst(t))}function lct(t){return t}function uct(t){return sct(t)}function hct(t){return cct(t)}function fct(t){if(this.param)return t=sct(t),this.param.hasOwnProperty(t)?this.param[t]:this.param.default}function dct(t){var{param:e}=this;if(e){for(let r in e){let[n,i]=r.split("~"),o=!!n,a=!!i;if(n=parseFloat(n),i=parseFloat(i),t=cct(t),o&&!a&&t>=n)return e[r];if(!o&&a&&t<n)return e[r];if(t>=n&&t<i)return e[r]}return e.default}}function pct(t){return cct(t)*Math.PI/180}function gct(){}function vct(t,e,r,n,i){switch(r){case"value":return"text"===i||"string"===i?uct.bind(t):"number"===i?hct.bind(t):lct.bind(e);case"map":return fct.bind(t);case"range":return dct.bind(t);case"radian":return pct.bind(t);case"eval":return function(t){try{return new Function("value","targets",t)}catch(t){return Ost(t),gct}}(n).bind(e);default:return lct.bind(e)}}class yct{constructor(t,e){this.owner=e,this.model=t}dispose(){delete this._model,delete this.owner,delete this.evaluator,delete this.accessor,delete this.source}get model(){return this._model}set model(t){var{target:e,property:r,rule:n,param:i,accessor:o}=t;this._model=t,this.evaluator=vct(this,this.owner,n,i,function(t){switch(t){case"ref":case"fillStyle":case"strokeStyle":return"string";default:return}}(r)),this.accessor=act(o);const a=e.match(/\[(.*?)\]/);if(a){var[s,c]=a[1].split(":");this.propAccessor=act(s),this.partAccessor=act(c)}}get target(){return this.model.target}get property(){return this.model.property}get source(){return this.model.source}get param(){return this.model.param}get ndnsp(){return!!this.model.ndnsp}get partial(){return!!this.model.partial}}function mct(t,e,r,n){n?t.forEach(t=>t[e]={...t[e],...r}):t.forEach(t=>t[e]=r)}function bct(t=!1){(t||void 0!==this.data)&&this.mappings&&this.mappings.forEach(t=>{try{var e,{source:r,target:n,property:i,accessor:o,propAccessor:a,partAccessor:s,ndnsp:c=!1,partial:l=!1}=t;r&&"(self)"!=r?(r.startsWith("#")&&(r=r.substring(1)),e=this.root.findById(r)?.data||{}):e=this.data;var u=o(e);if("(root)"==(n=n.trim())||"(key)"==n){if(null==u)return;let e=Object.keys(u||{}).map(t=>this.root.findOrCreate(t)).filter(Boolean).flat();e.length>0&&e.forEach(e=>{let r=t.evaluator(u[e.get("id")],[e]);!i||"(action)"===i||c&&!r&&0!==r&&!1!==r||(e[i]=l?{...e[i],...r}:r)})}else if(n.startsWith("[")){if(null==u)return;if(u instanceof Array)u.forEach(e=>{let r=a(e);if(r){let n=this.root.findOrCreate(r);if(n){let r=t.evaluator(s(e),n);!i||"(action)"===i||c&&!r&&0!==r&&!1!==r||mct(n,i,r,l)}}});else{if(!(u instanceof Object))throw String("mapping data should be an object to target property-id.("+u+")");{let e=a(u);if(e){let r=this.root.findOrCreate(e);if(r){let e=t.evaluator(s(u),r);!i||"(action)"===i||c&&!e&&0!==e&&!1!==e||mct(r,i,e,l)}}}}}else{let e=this.root.findAll(n,this);if(e.length>0){let r=t.evaluator(u,e);!i||"(action)"===i||c&&!r&&0!==r&&!1!==r||mct(e,i,r,l)}}}catch(e){Ost(e,this,t)}})}var xct;function wct(t,e,r,n,i){var{alpha:o=1}=n,a=i.fillStyle;if(t.globalAlpha*=o,a)if("string"==typeof a)t.fillStyle=a,t.fill();else if("object"==typeof a)if("gradient"==a.type){t.translate(r.x,r.y);let n,{width:i,height:o}=e;if("linear"==a.gradientType){let e=3.141592653589793,r=a.rotation;if(r>=.436332&&r<=1.13446||r>=2.00713&&r<=2.70526||r>=3.57792&&r<=4.27606||r>=5.14872&&r<=5.84685){let a=Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((o-4)/2,2));a-=a-(i+o)/3,n=t.createLinearGradient(a*Math.cos(r+e),a*Math.sin(r+e),a*Math.cos(r),a*Math.sin(r))}else n=t.createLinearGradient((i-4)/2*Math.cos(r+e),(o-4)/2*Math.sin(r+e),(i-4)/2*Math.cos(r),(o-4)/2*Math.sin(r))}else if("radial"==a.gradientType){let e=.95*Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((o-4)/2,2));switch(a.center){case"center":default:n=t.createRadialGradient(0,0,0,0,0,e);break;case"left-top":n=t.createRadialGradient(-i/2,-o/2,0,-i/2,-o/2,2*e);break;case"right-top":n=t.createRadialGradient(i/2,-o/2,0,i/2,-o/2,2*e);break;case"left-bottom":n=t.createRadialGradient(-i/2,o/2,0,-i/2,o/2,2*e);break;case"right-bottom":n=t.createRadialGradient(i/2,o/2,0,i/2,o/2,2*e)}}a.colorStops.forEach(t=>{if(t.position>=0&&t.position<=1)try{n.addColorStop(t.position,t.color)}catch(e){Tst("Invalid Color for colorstop : ",t.color),n.addColorStop(t.position,"#fff")}}),t.fillStyle=n,t.fill(),t.translate(-r.x,-r.y)}else if("pattern"==a.type&&a.image)if(a.guideOnly&&1!=i.app.mode)a.color&&(t.fillStyle=a.color,t.fill());else{i.prepareFillIf(!i._pattern_image_origin);var s=i._pattern_image;if(!s)return;let r=0,n=0,o=0,c=0,l=e.left,u=e.top;if(!a.fitPattern){r=a.offsetX,n=a.offsetY;const t=a.width?a.width:s.width,i=a.height?a.height:s.height;switch(a.align){case"center":o=e.width/2-t/2,c=e.height/2-i/2;break;case"left-top":o=0,c=0;break;case"left-bottom":o=0,c=e.height-i;break;case"right-top":o=e.width-t,c=0;break;case"right-bottom":o=e.width-t,c=e.height-i;break;case"left":o=0,c=e.height/2-i/2;break;case"right":o=e.width-t,c=e.height/2-i/2;break;case"top":o=e.width/2-t/2,c=0;break;case"bottom":o=e.width/2-t/2,c=e.height-i}l+=r+o,u+=n+c}t.translate(l,u),a.color&&(t.fillStyle=a.color,t.fill()),a.fitPattern?Math.abs((s.width-e.width)*(s.height-e.height))>1?(delete i._pattern_image,delete i._pattern_image_origin):t.fillStyle=t.createPattern(s,"no-repeat"):t.fillStyle=t.createPattern(s,a.noRepeat?"no-repeat":"repeat"),t.fill(),t.translate(-l,-u)}}function Act(t,e,r){var{strokeStyle:n,lineDash:i,lineWidth:o,lineCap:a,lineJoin:s,alpha:c}=e;if(n&&0!=o){if(a&&(t.lineCap=a),i){var l="round"==a;switch(i){case"solid":i=[0,0];break;case"round-dot":i=l?[0,2*o]:[o,o];break;case"square-dot":i=l?[o,2*o]:[2*o,o];break;case"dash":i=l?[3*o,2.5*o]:[4*o,1.5*o];break;case"dash-dot":i=l?[3*o,3*o,0,3*o]:[4*o,2*o,o,2*o];break;case"long-dash":i=l?[5*o,4*o]:[6*o,3*o];break;case"long-dash-dot":i=l?[5*o,3*o,0,3*o]:[6*o,2*o,o,2*o];break;case"long-dash-dot-dot":i=l?[5*o,2*o,0,2*o,0,2*o]:[6*o,o,o,o,o,o]}t.setLineDash(i)}t.globalAlpha*=c,t.strokeStyle=n,t.lineWidth=o,t.lineJoin=s,t.stroke()}}function _ct(t){const e=/(\*\*|__)(.*?)\1|(\*|_)(.*?)\3|([^\*_]+)/g;let r,n=[];for(;null!==(r=e.exec(t));)r[1]?n.push({text:r[2],bold:!0,italic:!1}):r[3]?n.push({text:r[4],bold:!1,italic:!0}):r[5]&&n.push({text:r[5],bold:!1,italic:!1});return n}function Ect(t,e,r,n=0){if(e.text.length<2)return e;let i=2;for(;i<e.text.length;i++){const o=e.text.substring(0,i);if(!(t.measureText(o).width+(i-1)*n<r))break}return{...e,text:e.text.substring(0,i-1)}}function kct(t,e,r,n,i,o=0){const a=String(e).split("\n");return n?[].concat.apply([],a.map(e=>function(t,e,r,n=0){const i=[];let o=[],a=0;return e.forEach(e=>{let s=e.text;for(;s.length>0;){const c=r-a,l=t.measureText(s).width+(s.length-1)*n;if(l<=c)o.push({...e,text:s}),a+=l,s="";else{const r=Ect(t,{...e,text:s},c,n);o.push(r),i.push(o),o=[],a=0,s=s.substring(r.text.length)}}}),o.length>0&&i.push(o),i}(t,i?_ct(e):[{text:e,bold:!1,italic:!1}],r,o))):a.map(t=>i?_ct(t):[{text:t,bold:!1,italic:!1}])}function Sct(t,e,r,n,i,o,a=0){if(!n)return[];t.save(),t.font=r;var s=kct(t,n,e,!!i,o,a);return t.restore(),s}function Mct(t){var{fontFamily:e=Gst.FONT_FAMILY,bold:r=Gst.BOLD,italic:n=Gst.ITALIC,fontSize:i=Gst.FONT_SIZE}=t,o=[];return r&&o.push("bold"),n&&o.push("italic"),o.push(i+"px"),o.push(e),o.join(" ")}function Oct(t,e){let r=t.bold||e.bold,n=t.italic||e.italic;return Mct({...t,bold:r,italic:n})}function Tct(t,e,r,n){var{alpha:i,rotation:o,keepTextAngle:a=!1,fontColor:s=Gst.FONT_COLOR,textAlign:c=Gst.TEXT_ALIGN,textBaseline:l=Gst.TEXT_BASELINE,textBackgroundStyle:u,fontSize:h,lineHeight:f,textWrap:d,textOverflow:p,letterSpacing:g=0}=n;i=void 0!==i?i:1,h||=Gst.FONT_SIZE,f||=1.2*h,t.save();const{left:v,top:y,width:m,height:b}=e;if(o&&a&&(t.translate(v+m/2,y+b/2),t.rotate(-o),t.translate(-(v+m/2),-(y+b/2))),t.beginPath(),t.font=Mct(n),!d&&p){const e=function(t,e,r,n){const i="ellipsis"===t?"…":"",o=e.measureText(i).width;let a=[],s=0;for(let i of r){let r=[];for(let c of i){let i=e.measureText(c.text).width;if(!(s+i<=n-("ellipsis"===t?o:0))){let i=Pct(e,c,n-s-("ellipsis"===t?o:0),t);return r.push(i),a.push(r),a}r.push(c),s+=i}a.push(r),s=0}return a}(p,t,r,m);r=e}var x,w=r.length*f;switch(l){case"top":x=y,t.textBaseline="top";break;case"bottom":x=y+b-w+f,t.textBaseline="bottom";break;default:x=y+b/2-w/2+f/2,t.textBaseline="middle"}t.globalAlpha*=i,t.fillStyle=s,r.forEach((e,i)=>{let o=x+i*f,a=function(t,e,r,n=0){return e.reduce((e,i)=>(t.font=Oct(r,i),e+t.measureText(i.text).width+n*(i.text.length-1)),0)}(t,e,n,g),l=v;switch(c){case"left":case"justify":l=v;break;case"right":l=v+m-a;break;case"center":l=v+(m-a)/2}if(u&&(t.fillStyle=u,function(t,e,r,n,i,o=0,a=!1,s=!0){o="number"==typeof o?{tl:o,tr:o,br:o,bl:o}:{tl:0,tr:0,br:0,bl:0,...o},t.beginPath(),t.moveTo(e+o.tl,r),t.lineTo(e+n-o.tr,r),t.quadraticCurveTo(e+n,r,e+n,r+o.tr),t.lineTo(e+n,r+i-o.br),t.quadraticCurveTo(e+n,r+i,e+n-o.br,r+i),t.lineTo(e+o.bl,r+i),t.quadraticCurveTo(e,r+i,e,r+i-o.bl),t.lineTo(e,r+o.tl),t.quadraticCurveTo(e,r,e+o.tl,r),t.closePath(),a&&t.fill(),s&&t.stroke()}(t,l-4,o-h/2-4,a+8,h+8,4,!0,!1),t.fillStyle=s),"justify"===c&&i<r.length-1&&e.length>1){let r=m-a,i=e.length-1,s=r/i;e.forEach((e,r)=>{t.font=Oct(n,e),t.fillText(e.text,l,o),l+=t.measureText(e.text).width+(r<i?s:0)})}else e.forEach(e=>{t.font=Oct(n,e),[...e.text].forEach(e=>{t.fillText(e,l,o),l+=t.measureText(e).width+g})})}),t.restore()}function Pct(t,e,r,n){let i="";for(let n=0;n<e.text.length;n++){let o=i+e.text[n];if(t.measureText(o).width>r)break;i=o}return{...e,text:i+("ellipsis"===n?"…":"")}}function Ict(t,e,r={x:0,y:0},n=0,i={x:1,y:1}){const o=Math.cos(-n),a=Math.sin(-n);return{x:((t-=r.x)*o-(e-=r.y)*a+r.x)/i.x,y:(t*a+e*o+r.y)/i.y}}function Cct(t,e,r={x:0,y:0},n=0,i={x:1,y:1}){const o=Math.cos(n),a=Math.sin(n);return{x:((t-=r.x)*o-(e-=r.y)*a+r.x)*i.x,y:(t*a+e*o+r.y)*i.y}}function Rct(t,e,r){if(!this.parent)return{x:t,y:e};const{rotation:n=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){const r=this.state.translate;let o=Ict(t,e,r,n,i);return r&&(o.x-=r.x/i.x,o.y-=r.y/i.y),o}const o=Ict(t,e,r=r||this.rotatePoint,n,i);return{x:o.x+(r.x-r.x/i.x),y:o.y+(r.y-r.y/i.y)}}function Dct(t,e,r){if(!this.parent)return{x:t,y:e};let{rotation:n=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){const r=this.state.translate;let o=Cct(t,e,void 0,n+this._delta.theta,i);return r&&(o.x+=r.x,o.y+=r.y),o}r=r||this.rotatePoint;const{theta:o=0,tx:a=0,ty:s=0,sx:c=1,sy:l=1}=this._delta||{};r={x:r.x+a,y:r.y+s},i={x:i.x*c,y:i.y*l};const u=Cct(t+a,e+s,r,n+o,i);return{x:u.x-(r.x*i.x-r.x),y:u.y-(r.y*i.y-r.y)}}function jct(t,e,r){r=r||this.rootModel;const n=[];for(let t=this.parent;t&&t!==r;t=t.parent)n.push(t);let i=this.transcoordS2P(t,e);return n.forEach(t=>{const{scale:e}=t.model,r=t.bounds;if(e){const n=t.rotatePoint;i.x+=(n.x-r.left)*e.x,i.y+=(n.y-r.top)*e.y}else i.x+=r.left,i.y+=r.top;i=t.transcoordS2P(i.x,i.y)}),i}function Lct(t,e,r){const n=this.transcoordT2P(t,e,r);return this.transcoordP2S(n.x,n.y)}function Nct(t,e,r){const n=this.rootModel,i=this.transcoordS2T(t,e,n);return r.transcoordT2S(i.x,i.y,n)}function Fct(t,e,r){if(!r)for(r=this;r&&!r.isLayer();)r=r.parent;const{translate:n={x:0,y:0},scale:i={x:1,y:1},rotation:o=0}=r.model;let a=Ict(t,e,n,o,i);return n&&(a.x-=n.x/i.x,a.y-=n.y/i.y),r===this?a:this.transcoordT2S(a.x,a.y,r)}function zct(t,e,r){if(!r)for(r=this;r&&!r.isLayer();)r=r.parent;let n;if(n=r!==this?this.transcoordS2T(t,e,r):{x:t,y:e},!this.scalable)return n;const{translate:i={x:0,y:0},rotation:o=0,scale:a={x:1,y:1}}=r.model;return n=Cct(n.x,n.y,void 0,o+r._delta.theta,a),i&&(n.x+=i.x,n.y+=i.y),n}function Uct(t){var e=t.element,r=t.fillStyle,n=e.style;if(r)if("string"==typeof r)n.backgroundColor=r;else switch(r.type){case"pattern":if(n.backgroundImage="url("+r.image+")",n.backgroundColor="transparent",r.fitPattern?n.backgroundSize="100% 100%":r.width||r.height?n.backgroundSize=`${r.width?r.width+"px":"auto"} ${r.height?r.height+"px":"auto"}`:n.backgroundSize="contain",r.fitPattern)n.backgroundRepeat="no-repeat";else{const{offsetX:t,offsetY:e,noRepeat:i,align:o,color:a}=r;if(i&&(n.backgroundRepeat="no-repeat"),a&&(n.backgroundColor=a),o)switch(o){case"center":n.backgroundPosition="center center";break;case"left-top":n.backgroundPosition="left top";break;case"left-bottom":n.backgroundPosition="left bottom";break;case"right-top":n.backgroundPosition="right top";break;case"right-bottom":n.backgroundPosition="right bottom";break;case"left":n.backgroundPosition="left center";break;case"right":n.backgroundPosition="right center";break;case"top":n.backgroundPosition="center top";break;case"bottom":n.backgroundPosition="center bottom"}else t||e?n.backgroundPosition=`${Number(t)||0}px ${Number(e)||0}px`:delete n.backgroundPosition}break;case"gradient":n.background=function(t,e){var r=e.colorStops,n=e.gradientType;if(r instanceof Array&&r.length>0)switch(n){case"radial":return"radial-gradient(farthest-corner at "+function(t,e){var{width:r,height:n}=t.bounds;switch(e){case"center":return[r/2,n/2];case"left-top":return[0,0];case"right-top":return[r,0];case"left-bottom":return[0,n];default:return[r,n]}}(t,e.center||"center").map(t=>t+"px").join(" ")+","+r.map(t=>`${t.color} ${100*t.position}%`).join(",")+")";case"linear":return"linear-gradient("+(180*(e.rotation||0)/3.141592653589793+90+"deg")+", "+r.map(t=>`${t.color} ${100*t.position}%`).join(",")+")"}return""}(t,r)}else n.background="transparent"}xct="undefined"==typeof document?function(t,e){return new Canvas(t,e)}:function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,r};const Bct={x:1,y:1},$ct={x:0,y:0},Yct={boxSizing:"border-box",margin:"0px",position:"absolute",outline:"none"};function Gct(t){var{id:e,scale:r=Bct,translate:n=$ct,bold:i,italic:o,fontFamily:a="",textAlign:s,textBaseline:c,textOverflow:l,paddingTop:u,paddingBottom:h,paddingLeft:f,paddingRight:d,fontSize:p=Gst.FONT_SIZE,lineWidth:g=0,lineHeight:v,lineDash:y}=t.state;h||=0,u||=0,f||=0,d||=0;var m=t.state.class;t.text;var{strokeStyle:b,fillStyle:x,rotation:w=0,fontColor:A,hidden:_}=t,{left:E,top:k,width:S,height:M}=t.bounds,O=t.element;if(O.hidden=_,e&&(O.id=e),m&&(O.className=m),Object.assign(O.style,Yct,{fontFamily:a,fontSize:p+"px",width:S+"px",height:M+"px",paddingTop:u+"px",paddingRight:d+"px",paddingBottom:h+"px",paddingLeft:f+"px",border:g+"px",borderColor:b,borderStyle:g>0?y||Gst.LINE_DASH:"",color:A,fontWeight:i?"bold":"",fontStyle:o?"italic":"",textAlign:"end"==s?"right":"start"==s?"left":s,verticalAlign:c,lineHeight:void 0===v?"":v+"px",whiteSpace:l?"nowrap":"",overflow:l?"hidden":"",textOverflow:l||""},t.isIn3DSpace()?{}:{left:E+"px",top:k+"px"}),Uct(t),function(t){if(t.isShadowable()&&t.state.shadow){var e=t.element,{left:r=0,top:n=0,blurSize:i=0,color:o="transparent"}=t.state.shadow;e.style.boxShadow=`${r}px ${n}px ${i}px ${o}`}}(t),!t.isIn3DSpace()){var T=t.delta(),P=(r&&r.x||1)*T.sx,I=(r&&r.y||1)*T.sy,C=(w||0)+T.theta,R=T.tx||0,D=T.ty||0;O.style.transform=`rotate(${C}rad) translate(${R}px, ${D}px) scale(${P}, ${I}) perspective(1px)`}}var Hct,Wct=[];function qct(){Hct=null;var t=performance.now(),e=(Wct=Wct.filter(t=>Vct(t))).reduce((e,r)=>{let n=t-r.updatedAt;return n>=r.retention?e.kills.push(r):e.next=0==e.next?r.retention-n:Math.min(e.next,r.retention-n),e},{next:0,kills:[]});e.kills.forEach(t=>{let e=Wct.indexOf(t);-1!=e?(Wct.splice(e,1),t.removeSelf(!0)):Ost("Should not be here. Maybe reentrance problem.")}),e.next>0&&(Hct=setTimeout(Xct,Math.max(e.next,500)))}function Vct(t){return!t.disposed&&t.retention>0&&!t.isTemplate()&&t.app&&t.app.isViewMode}var Xct=cst(function(){requestAnimationFrame(qct)},500);var Kct=new class{add(t){Vct(t)&&-1==Wct.indexOf(t)&&(Wct.push(t),t.touch()),this.touch()}remove(t){var e=Wct.indexOf(t);e>0&&Wct.splice(e,1),this.touch()}touch(){null!==Hct&&(clearTimeout(Hct),Hct=null),Xct()}get length(){return Wct.length}};const Qct=function(t){return t};function Jct(t){var e=t.indexOf("||"),r="",n="";-1!=e&&(r=t,n=t.substring(e+2,t.length-1).trim(),t=t.replace(t.substring(e,t.length-1),"").trim());var i=t.substr(2,t.length-3).trim().replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".").filter(t=>!!t.trim()),o=i.slice(1);return{defaultValue:n,match:t,originText:r||t,target:i[0],accessor:o.length>0?function(t){return o.reduce((t,e)=>t?t[e]:void 0,t)}:Qct}}function Zct(t,e,r){if(t){var n=r||vst,i=String(t),o=(i.match(/#{[^}]*}/gi)||[]).map(t=>Jct(t)),a=(i.match(/\${[^}]*}/gi)||[]).map(t=>Jct(t));if(0!=o.length||0!=a.length)return function(){var t=i;return o.forEach(r=>{let i=n(r.accessor(e.getState(r.target)));t=t.replace(r.originText,void 0===i?r.defaultValue||"":i)}),a.forEach(r=>{let i=e.root.findById(r.target),o=n(r.accessor(i&&i.data));t=t.replace(r.originText,void 0===o?r.defaultValue||"":o)}),t}}}class tlt{constructor(){}static registerDecorator(t,e){tlt.constructors.set(t,e)}static create(t,e,r={},n){const i=tlt.constructors.get(t);if(!i)throw new Error(`unknown decorator type: ${t}`);return new i(n,e,r)}}tlt.constructors=new Map;class elt{constructor(){this.overlays=new WeakMap}static getInstance(){return elt.instance||(elt.instance=new elt),elt.instance}addOverlay(t){if(this.overlays.has(t))return!1;const e={element:t,registry:new Map};return this.overlays.set(t,e),!0}removeOverlay(t){if(!this.overlays.has(t))return!1;const e=this.overlays.get(t);for(const[r]of e.registry)this.removeFromOverlay(t,r);return this.overlays.delete(t),!0}addToOverlay(t,e,r,n={}){this.overlays.has(t)||this.addOverlay(t);const i=this.overlays.get(t);i.registry.has(e)||i.registry.set(e,new Map);const o=i.registry.get(e);o.has(r)&&o.get(r).stop();const a=tlt.create(r,e,n,t);return o.set(r,a),a.start(),a}removeFromOverlay(t,e,r){if(!this.overlays.has(t))return;const n=this.overlays.get(t);if(!n.registry.has(e))return;const i=n.registry.get(e);let o=null;if(r){if(i.has(r))try{const t=i.get(r);o=r,t&&"function"==typeof t.stop&&t.stop(),i.delete(r)}catch(t){console.error(`데코레이터(${r}) 제거 중 오류:`,t)}}else{const t=Array.from(i.keys());for(const e of t)try{const t=i.get(e);t&&"function"==typeof t.stop&&t.stop(),i.delete(e)}catch(t){console.error(`데코레이터(${e}) 제거 중 오류:`,t)}o="_all_"}0===i.size&&n.registry.delete(e),!o||"data-spread"!==o&&"_all_"!==o||this.restartBorderAnimations(t,e)}restartBorderAnimations(t,e){if(!this.overlays.has(t))return;const r=this.overlays.get(t);for(const[t,n]of r.registry.entries()){if(e&&t===e)continue;const r=n.get("border-highlighting");if(r)try{"function"==typeof r.invalidate&&r.invalidate();const t=r;"function"==typeof t.startAnimations&&t.options&&t.options.animation&&t.startAnimations()}catch(t){console.error("애니메이션 재시작 중 오류:",t)}}}removeAllFromOverlay(t,e){if(!this.overlays.has(t))return;const r=this.overlays.get(t);if(e)for(const[n]of r.registry)this.removeFromOverlay(t,n,e);else{for(const[t,e]of r.registry)for(const t of e.values())t.stop();r.registry.clear()}}getDecoratorFromOverlay(t,e,r){const n=this.overlays.get(t);return n?.registry.get(e)?.get(r)}getDecoratorsFromOverlay(t,e){const r=this.overlays.get(t);return r&&r.registry.has(e)?Array.from(r.registry.get(e).values()):[]}updateInOverlay(t,e,r,n){const i=this.getDecoratorFromOverlay(t,e,r);i&&i.update(n)}invalidateOverlay(t){if(!this.overlays.has(t))return;const e=this.overlays.get(t),r=Array.from(e.registry.entries());for(const[e,n]of r){if(e.disposed){this.removeFromOverlay(t,e);continue}this.getDecoratorsFromOverlay(t,e).forEach(t=>{t.invalidate()})}}}var rlt={};const nlt={mutable:!1,resizable:!0,rotatable:!0,properties:[],"value-property":"text"},ilt=[],olt={theta:0,tx:0,ty:0,sx:1,sy:1,fade:0};var alt=0,slt={};const clt=new FinalizationRegistry(t=>{!function(t){alt--;var e=slt[t];e||(e=slt[t]={up:0,down:0}),e.down++}(t)});class llt{static get nature(){return nlt}static register(t,e){if(!e)return rlt[t];rlt[t]=e}static get residents(){return slt}static get residentsCount(){return alt}static registerDecorator(t,e){elt.registerDecorator(t,e)}constructor(t,e){this._app=e,this._model=t||{},this._state={},this._delta=Xat(olt),e&&this.animation?.config&&(1==this.animation.config.autoplay||(this.animation.config.autoplay??1))&&(this.animation.started=!0),this.clearCache(),Kct.add(this),function(t){alt++;var e=slt[t];e||(e=slt[t]={up:0,down:0}),e.up++}(t.type),clt.register(this,t.type)}created(){}added(t){}removed(t){}async ready(){if(this.state.persistent){const{isViewMode:t,dataStorage:e}=this.app;t&&(this.data=await e.load(this))}}touch(){this.updatedAt=performance.now()}clearCache(...t){!function(t,...e){0==e.length?t.__cache__={}:e.forEach(e=>delete t.__cache__[e])}(this,...t)}removeSelf(t){t?this.dispose():this.parent&&this.parent.removeComponent(this)}resetAnimation(){this._animation&&(this._animation.dispose(),this._animation=null,this._delta=Xat(olt))}dispose(){this.resetAnimation(),this.disposeMappings(),this.parent&&this.parent.removeComponent(this),delete this._text_substitutor,delete this._value_substitutor,this._disposed=!0,this.retention&&Kct.touch(),this.clearCache(),delete this._app}get nature(){return this.constructor.nature}get disposed(){return!!this._disposed}isLayer(){return!1}isGroup(){return!1}isContainer(){return!1}isLine(){return!1}isRoot(){return!1}isRootModel(){return!1}is3dish(){return!1}isIn3DSpace(){return!1}isTemplate(){return!!this.get("templatePrefix")}isHTMLElement(){return!1}isConnectable(){return!1}isIdentifiable(){return!0}isPositionable(){return this.parent?.isRootModel()}replaceRefids(t){}get retention(){return Number(this.get("retention"))||0}get hasTextProperty(){return!0}get position(){return this.app?.isViewMode&&this.isPositionable()?this.state.position??"static":"static"}get origin(){return this.app&&this.app.isViewMode&&this.state.origin||""}get offset(){const{offsetX:t=0,offsetY:e=0}=this.state;return{x:t,y:e}}get scalable(){let t=this.position,e=this;for(;"static"===t&&e.parent;)e=e.parent,t=e.position;return"static"==t}get app(){return!this._app&&this.parent&&(this._app=this.parent.app),this._app}get model(){return this._model}get state(){return Object.assign({},this._model,this._state)}get hierarchy(){var t=Xat(this._model);return this.volatile.forEach(e=>{delete t[e]}),t}get volatile(){return ilt}get textHidden(){return!!this._textHidden}set textHidden(t){this._textHidden=!!t,this.invalidate()}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});var r={},n={},i=!1,o=(t=Xat(t),this);return Object.getOwnPropertyNames(t).forEach(function(e){let a=o._model[e],s=t[e];got(a,s)||(n[e]=a,r[e]=s,o._model[e]=s,delete o._state[e],i=!0)}),i&&(this.clearCache(),r.hasOwnProperty("text")&&delete this._text_substitutor,r.hasOwnProperty("retention")&&Kct.add(this),r.hasOwnProperty("fillStyle")&&this.onchangeFill(r,n),r.hasOwnProperty("mappings")&&this.onchangeMappings(r,n),r.hasOwnProperty("data")&&this.onchangeData(r,n),this.onchange&&this.onchange(r,n),this.trigger("change",r,n)),this}getState(t){return this._state.hasOwnProperty(t)?this._state[t]:this.get(t)}setState(t,e){if("string"==typeof t)return this.setState({[t]:e});var r={},n={},i=!1,o=(t=Xat(t),this),a=this.getState("sensitive");return Object.getOwnPropertyNames(t).forEach(function(e){let s=o.getState(e),c=t[e];!a&&got(s,c)||(n[e]=s,r[e]=c,o._state[e]=c,i=!0)}),i&&(this.clearCache(),r.hasOwnProperty("text")&&delete this._text_substitutor,r.hasOwnProperty("fillStyle")&&this.onchangeFill(r,n),r.hasOwnProperty("data")&&this.onchangeData(r,n),this.onchange&&this.onchange(r,n),this.trigger("change",r,n)),this}get root(){return this.isRoot()?this:this.parent&&this.parent.root}get rootModel(){return this.isRootModel()?this:this.parent&&this.parent.rootModel}get parent(){return this._parent}set parent(t){this._parent=t}get anchors(){return this.nature.anchors||[]}findAnchor(t){return this.anchors.find(e=>e.name===t)}isDescendible(t){return!0}getContext(t){return this._parent.getContext(t??this)}get center(){var t=this.bounds;return{x:t.left+t.width/2,y:t.top+t.height/2}}set center(t){if(t&&!isNaN(t.x)&&!isNaN(t.y)){var e=this.center;if(Math.round(100*t.x)/100!=Math.round(100*e.x)/100||Math.round(100*t.y)/100!=Math.round(100*e.y)/100){var r=t.x-e.x,n=t.y-e.y;this.path=this.path.map(t=>({x:t.x+r,y:t.y+n}))}}}get location(){const{x:t,y:e}=this.center;return{x:t,y:e,z:this.state.zPos}}set location(t){const{x:e,y:r,z:n}=t||{};this.center={x:e,y:r},isNaN(n)||this.setState("zPos",Number(n))}get rotate(){const{rotationX:t,rotationY:e,rotation:r}=this.state;return{x:t,y:e,z:-r}}set rotate(t){const{x:e,y:r,z:n}=t;this.setState({rotationX:e,rotationY:r,rotation:-n})}get dimension(){const{width:t,height:e}=this.bounds,{depth:r}=this.state;return{width:t,height:e,depth:r}}set dimension(t){const{width:e,height:r,depth:n}=t,{top:i,left:o}=this.bounds;this.bounds={top:i,left:o,width:e,height:r},this.setState("depth",n)}get bounds(){var t,e,r,n,i=this.path;t=e=i[0].x,r=n=i[0].y;for(let o=1;o<i.length;o++){let a=i[o];a.x<t?t=a.x:a.x>e&&(e=a.x),a.y<r?r=a.y:a.y>n&&(n=a.y)}return{left:t,top:r,width:e-t,height:n-r}}set bounds(t){var e=this.bounds;if(Math.round(100*t.width)/100!=Math.round(100*e.width)/100||Math.round(100*t.height)/100!=Math.round(100*e.height)/100||Math.round(100*t.left)/100!=Math.round(100*e.left)/100||Math.round(100*t.top)/100!=Math.round(100*e.top)/100){var r=0==e.width?1:t.width/e.width,n=0==e.height?1:t.height/e.height;this.path=this.path.map(i=>({x:t.left+(i.x-e.left)*r,y:t.top+(i.y-e.top)*n}))}}get path(){return Ost("이 컴포넌트에 get path 가 구현되어있지 않음.",this),[]}set path(t){Ost("이 컴포넌트에 get path 가 구현되어있지 않음.",this)}get drawPath(){return this.path}outline(t){return function(t,e){var r=t.path.slice();if(r&&r.length){var n=1,i=[];if(t.isLine()||r.push(r[0]),e<=0)return t.toScene(r[0].x,r[0].y);if(e>=1)return t.toScene(r[r.length-1].x,r[r.length-1].y);for(;r[n];){let t=r[n-1],e=r[n],o=e.x-t.x,a=e.y-t.y;i.push(Math.sqrt(o*o+a*a)),n++}var o=i.reduce(function(t,e){return t+e},0);n=0;var a=0;do{a+=i[n++]}while(a/o<e);e=(e-(a-=i[--n])/o)*(o/i[n]);var s=r[n%r.length],c=r[(n+1)%r.length],l=s.x+Math.round((c.x-s.x)*e),u=s.y+Math.round((c.y-s.y)*e);return t.toScene(l,u)}Ost("path should not be empty")}(this,t||0)}get strokeStyle(){return this.get("strokeStyle")}set strokeStyle(t){this.set("strokeStyle",t)}get fillStyle(){return this.getState("fillStyle")}set fillStyle(t){this.setState("fillStyle",t)}get fontColor(){return this.get("fontColor")}set fontColor(t){this.set("fontColor",String(vst(t)))}get rotation(){return this.getState("rotation")}set rotation(t){this.setState("rotation",Number(vst(t)))}contains(t,e){return!1}get mutable(){return this.nature.mutable}get resizable(){return this.nature.resizable&&!this.stuck}adjustResize(t,e,r){if(r){let e=this.bounds,r=e.height/e.width,n=t.width-e.width,i=t.height-e.height;n*r>i?i=n*r:n=i/r;let o=t.left-e.left,a=t.top-e.top;return 0!=o&&0!=a?(a=-i,o=-n):0!=o?o=-n:0!=a&&(a=-i),{left:e.left+o,top:e.top+a,width:e.width+n,height:e.height+i}}return t}get rotatable(){return this.nature.rotatable&&!this.stuck}adjustRotation(t,e){if(e||this.app.rotateStepForced){let e=this.app.rotateStep;return Math.floor((t+e/2)/e)*e}return t}get capturable(){return!1!==this.get("capturable")&&(this.app.isEditMode||!this.hidden)}get stuck(){return!!(this.parent&&this.parent.layout.isStuck(this)||this.get("locked"))}findFirst(t,...e){if(t(this,...e))return this}findAll(t,...e){return"string"==typeof t?ect(t,this,e[0]||this):"function"==typeof t&&t(this,...e)?[this]:void 0}capture(t,e,r){if(!this.capturable||r?.(this))return!1;var n=this.fromParent(t,e);return this.contains(n.x,n.y)?this:void 0}prepare(t,e){t(this)}prepareIf(t){t&&this.prepare&&this.prepare(t=>{this.invalidate()},t=>{Ost(t)})}get decotag(){const{id:t,tag:e}=this.state;return(t?`#${t}`:"")+(e?`@${e}`:"")}get decorators(){return this.app.isEditMode?["decotag","data-spread"]:[]}get tag(){return this.state.tag}set tag(t){this.setState("tag",t)}get appendum(){}set appendum(t){this.data instanceof Array?this.data=this.data.concat(t):this.data instanceof Object?this.data={...this.data,...t}:this.data??=t}get hidden(){return this.getState("hidden")||!this.data&&0!==this.data&&this.getState("ndns")||this.isTemplate()}set hidden(t){this.setState("hidden",t)}draw(t){t.save(),this.prerender(t),this.render(t),this.postrender(t),t.restore()}delta(t,e){return t?"object"==typeof t?(this._delta={...this._delta,...t},this._delta):void 0!==e?(this._delta[t]=e,this._delta[t]):void 0:this._delta}prerender(t){var e=this.rotatePoint,{scale:r,rotation:n,shadow:i,alpha:o}=this.state,a=(r&&r.x||1)*this._delta.sx,s=(r&&r.y||1)*this._delta.sy,c=(n||0)+this._delta.theta,{tx:l=0,ty:u=0}=this._delta,h=(o||1)-this._delta.fade;(l||u)&&t.translate(l,u),(1!=a||1!=s||c)&&(t.translate(e.x,e.y),1==a&&1==s||t.scale(a,s),c&&t.rotate(c),t.translate(-e.x,-e.y)),h&&(t.globalAlpha=h),i&&Vst(t,i,this),this.app.isEditMode&&this.hidden&&(t.globalAlpha*=.5)}render(t){}postrender(t){this.drawText(t)}drawText(t){!this.textHidden&&this.text&&this.hasTextProperty&&Tct(t,this.textBounds,this.textLines(t),this.state)}drawStroke(t,e){Act(t,e?{...this.state,...e}:this.state)}drawFill(t,e){this.fillStyle&&"transparent"!=this.fillStyle&&(wct(t,this.bounds,this.center,e?{...this.state,...e}:this.state,this),function(t){t.shadowColor="transparent"}(t))}animate(t){return this._animate&&this._animate.stop(),this._animate=Aat(t),this._animate}move({x:t,y:e}){var r=this.path,n=t,i=e;this.path=r.map(t=>({x:t.x+n,y:t.y+i}))}symmetryX(t){"number"!=typeof t&&(t=this.center.x);var{rotation:e}=this.state,r=this.fillStyle;if(this.set("rotation",2*Math.PI-e),r&&"gradient"===r.type&&"linear"===r.gradientType){var n=Xat(r);n.rotation=(Math.PI-parseFloat(r.rotation||0))%(2*Math.PI),this.set("fillStyle",n)}this.path=this.path.map(e=>({x:2*t-e.x,y:e.y}))}symmetryY(t){this.symmetryX(),this.set("rotation",(Math.PI+this.model.rotation)%(2*Math.PI)),t&&this.move({x:0,y:2*(t-this.center.y)},!1)}get animation(){if(this.app.isViewMode&&!this.isTemplate()){if(!this._animation){var t=this.state.animation;t&&t.oncreate&&(this._animation=kat(this,t.oncreate))}return this._animation}}effect(t,e){return function(t,e,r){var n=Xst[r.type];n&&n(t,e,r)}(this,t,e)}get started(){return!!this.animation?.started}set started(t){this.animation&&(this.animation.started=t)}invalidate(){this.parent&&this.parent.invalidate()}get font(){return Mct(this.model)}get lineHeight(){var t=this.get("lineHeight");return t||1.2*this.fontSize}defaultTextSubstitutor(){var t=this.getState("text");return null==t?"":String(t)}get textSubstitutor(){return this._text_substitutor||(this._text_substitutor=Zct(this.getState("text"),this)||this.defaultTextSubstitutor),this._text_substitutor}get text(){var t=this.get("textFormat");return t?function(t,e){if(!t||isNaN(+e))return e;var r,n,i,o,a,s,c,l,u,h=t.length,f=t.search(/[0-9\-\+#]/),d=f>0?t.substring(0,f):"",p=t.split("").reverse().join(""),g=p.search(/[0-9\-\+#]/),v=h-g,y=t.substring(v,v+1),m=v+("."===y||","===y?1:0),b=g>0?t.substring(m,h):"";if(r=(e="-"===(t=t.substring(f,m)).charAt(0)?-e:+e)<0?e=-e:0,i=(n=t.match(/[^\d\-\+#]/g))&&n[1]&&n[0]||",",t=t.split("."),e=+(e=e.toFixed(t[1]&&t[1].length))+"",a=t[1]&&t[1].lastIndexOf("0"),(!(c=e.split("."))[1]||c[1]&&c[1].length<=a)&&(e=(+e).toFixed(a+1)),l=t[0].split(i),t[0]=l.join(""),(o=t[0]&&t[0].indexOf("0"))>-1)for(;c[0].length<t[0].length-o;)c[0]="0"+c[0];else 0===+c[0]&&(c[0]="");if((e=e.split("."))[0]=c[0],s=l[1]&&l[l.length-1].length){for(p="",v=(u=e[0]).length%s,h=u.length,m=0;m<h;m++)p+=u.charAt(m),!((m-v+1)%s)&&m<h-s&&(p+=i);e[0]=p}return e[1]=t[1]&&e[1]?"."+e[1]:"","0"!==(n=e.join(""))&&""!==n||(r=!1),d+("+"==t[0].substring(0,1)?r?"-":"+":r?"-":"")+n+b}(t,this.textSubstitutor()):this.textSubstitutor()}set text(t){delete this._text_substitutor;var e=vst(t);this.setState("text",null==e?"":String(e))}textLines(t){const{textWrap:e,supportMarkdown:r}=this.state;return Sct(t||this.getContext(),this.textBounds.width,this.font,this.text,e,r)}get textBounds(){var{paddingTop:t,paddingLeft:e,paddingRight:r,paddingBottom:n}=this.state;n||=0,t||=0,e||=0,r||=0;var{left:i,top:o,width:a,height:s}=this.bounds;return{left:i+e,top:o+t,width:Math.max(a-e-r,0),height:Math.max(s-t-n,0)}}get textRotation(){return 0}get rotatePoint(){return this.center}trim(){delete this._model[""],"chartjs"!==this._model.type&&delete this._model.chart}get value(){var t=this.nature["value-property"]||"text";return"value"==t?this.getState("value"):this[t]}set value(t){var e=this.nature["value-property"]||"text";"value"==e?this.setState("value",t):this[e]=t}get data(){return this.getState("data")}set data(t){this.setState("data",t),this.touch()}set tap(t){var e=this.model.event?.tap;if(e){const{cx:t,cy:r}=this.center;this.rootModel?._doEventAction(e,this,!0,new CustomEvent("click",{offsetX:t,offsetY:r}))}}get mappings(){return!this._mappings&&this.parent&&this.buildMappings(),this._mappings}serialize(...t){return JSON.stringify(this.hierarchy,...t)}get controls(){}closeScene(t){this.rootModel.closeScene(t)}}llt.union=function(t){var e,r,n,i;return t.forEach(t=>{void 0===e?(e=t.left,r=t.top,n=t.left+t.width,i=t.top+t.height):(e=Math.min(t.left,e),r=Math.min(t.top,r),n=Math.max(t.left+t.width,n),i=Math.max(t.top+t.height,i))}),{left:e,top:r,width:n-e,height:i-r}},llt.transcoordR=Ict,llt.transcoordRR=Cct,llt.createCanvas=xct,llt.memoize=Ist,llt.mixin=Mst,llt.drawText=Tct,llt.font=Mct,llt.textLines=Sct,llt.drawStroke=Act,llt.drawFill=wct,llt.reposition=Gct,llt.RetentionManager=Kct,llt.template=function(t,e,r){var n=oat.imports._.templateSettings||oat;r&&Tot(t,e,r)&&(e=void 0),t=rat(t),e=Dot({},e,n,Wot);var i,o,a=Dot({},e.imports,n.imports,Wot),s=Git(a),c=function(t,e){return Yot(e,function(e){return t[e]})}(a,s),l=0,u=e.interpolate||hat,h="__p += '",f=RegExp((e.escape||hat).source+"|"+u.source+"|"+(u===Xot?uat:hat).source+"|"+(e.evaluate||hat).source+"|$","g"),d=dat.call(e,"sourceURL")?"//# sourceURL="+(e.sourceURL+"").replace(/\s/g," ")+"\n":"";t.replace(f,function(e,r,n,a,s,c){return n||(n=a),h+=t.slice(l,c).replace(fat,Vot),r&&(i=!0,h+="' +\n__e("+r+") +\n'"),s&&(o=!0,h+="';\n"+s+";\n__p += '"),n&&(h+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=c+e.length,e}),h+="';\n";var p=dat.call(e,"variable")&&e.variable;if(p){if(lat.test(p))throw new Error("Invalid `variable` option passed into `_.template`")}else h="with (obj) {\n"+h+"\n}\n";h=(o?h.replace(aat,""):h).replace(sat,"$1").replace(cat,"$1;"),h="function("+(p||"obj")+") {\n"+(p?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var g=$ot(function(){return Function(s,d+"return "+h).apply(void 0,c)});if(g.source=h,Bot(g))throw g;return g},llt.buildSubstitutor=Zct,Object.assign(llt.prototype,{drawEffect:function(t){const{effects:e}=this.state;(e||[]).forEach(e=>{this.effect(t,e)})},prepareFill:function(t,e){var r=this.fillStyle;if(r&&"pattern"==r.type&&r.image){if("string"!=typeof r.image)return this._pattern_image_origin=this._pattern_image=r.image,void t(this);this._pattern_image=null,this._pattern_image_origin=new Image;var n=this;this._pattern_image_origin.onload=function(){if(!r.fitPattern&&!r.width&&!r.height)return n._pattern_image=n._pattern_image_origin,void t(this);let e=r.width||this.width,i=r.height||this.height;r.fitPattern&&(e=n.bounds.width,i=n.bounds.height);let o=xct(e,i);o.getContext("2d").drawImage(this,0,0,this.width,this.height,0,0,e,i),n._pattern_image=o,t(this)},this._pattern_image_origin.onerror=function(t){e(t)};try{"data"!==String(r.image).substring(0,4)?this._pattern_image_origin.crossOrigin="use-credentials":this._pattern_image_origin.crossOrigin=null,this._pattern_image_origin.src=this.app.url(r.image)}catch(t){e(t)}}else t(this)},prepareFillIf:function(t){t&&this.prepareFill(t=>{this.invalidate()},t=>{Ost(t)})},onchangeFill:function(t,e){var r=this.fillStyle;r&&"pattern"!==r.type?this._pattern_image&&(this._pattern_image=null,this._pattern_image_origin=null):r?.image&&this.prepareFillIf(r.image)},drawImage:function(t,e,r,n,i,o){e.complete?t.drawImage(e,r,n,i,o):e.addEventListener("load",()=>{this.invalidate()})},mutateBounds:function(t,e){var r=this.bounds,n=this.rotatePoint,i=this.get("rotation"),o=this.get("scale");if(t){var a=t.call(e,r);a&&(r=a)}var{left:s,top:c,width:l,height:u}=r,h=[{x:s,y:c},{x:s+l,y:c+u}],f=(h=h.map(t=>Cct(t.x,t.y,n,i,o)))[0],d=h[1];n={x:(f.x+d.x)/2,y:(f.y+d.y)/2},f=(h=h.map(t=>Ict(t.x,t.y,n,i,o)))[0],d=h[1],this.bounds={left:f.x,top:f.y,width:d.x-f.x,height:d.y-f.y}},mutatePath:function(t,e,r){var n=this.path,i=this.rotatePoint;this.get("rotation"),this.get("scale"),t&&(n=t.call(r,n));var o=n.map(t=>this.toParent(t.x,t.y));e&&(n=e.call(r,o))&&(o=n);var a,s,c,l,u={x:0,y:0};a=s=(n=o.map(t=>this.fromParent(t.x,t.y,u)))[0].x,c=l=n[0].y;for(let t=1;t<n.length;t++){let e=n[t];e.x<a?a=e.x:e.x>s&&(s=e.x),e.y<c?c=e.y:e.y>l&&(l=e.y)}i={x:(a+s)/2,y:(c+l)/2},i=this.toParent(i.x,i.y,u),this.path=o.map(t=>this.fromParent(t.x,t.y,i))},access:function(t){if(t){var e=String(t),r=(e.match(/#{(\S*)}/)||[]).map(t=>Jct(t))[0];if(r)return r.accessor(this.getState(r.target));var n=(e.match(/\${[^}]*}/)||[]).map(t=>Jct(t))[0];if(n){let t=this.root.findById(n.target);return n.accessor(this.getState(t))}return t}},substitute:function(t,e){if(t){var r=String(t),n=e||vst,i=(r.match(/#{(\S*)}/gi)||[]).map(t=>Jct(t)),o=(r.match(/\${[^}]*}/gi)||[]).map(t=>Jct(t));if(0==i.length&&0==o.length)return r;var a=r;return i.forEach(t=>{let e=n(t.accessor(this.getState(t.target)));a=a.replace(t.match,void 0===e?"":e)}),o.forEach(t=>{let e=this.root.findById(t.target),r=n(t.accessor(e&&e.data));a=a.replace(t.match,void 0===r?"":r)}),a}},onchangeMappings:function(t,e){this.disposeMappings(),bct.call(this)},onchangeData:function(t,e){this.state.persistent&&this.app?.isViewMode&&this.app?.dataStorage.save(this,t.data),bct.call(this,[!0])},buildMappings:function(){if(this._model.mappings)return!this._model.mappings instanceof Array?(Ost("Mappings model is invalid (should be a Array) ..",this._model.mappings),void(this._mappings=[])):void(this._mappings=(this._model.mappings||[]).filter(t=>t.rule&&t.target).map(t=>new yct(t,this)));this._mappings=[]},executeMappings:bct,disposeMappings:function(){this._mappings&&this._mappings.forEach(t=>t.dispose()),delete this._mappings},ondropfile:function(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("image/"))return void this.set("fillStyle",{type:"pattern",image:e[r],fitPattern:!0})},transcoordS2P:Dct,transcoordP2S:Rct,transcoordS2T:jct,transcoordT2P:function(t,e,r){r=r||this.rootModel;const n=[];for(let t=this.parent;t&&t!==r;t=t.parent)n.splice(0,0,t);let i={x:t,y:e};return n.forEach(t=>{const{scale:e}=t.model;i=t.transcoordP2S(i.x,i.y);const r=t.bounds;if(e){const n=t.rotatePoint;i.x-=(n.x-r.left)/e.x,i.y-=(n.y-r.top)/e.y}else i.x-=r.left,i.y-=r.top}),i},transcoordT2S:Lct,transcoordS2TR:function(t,e,r){r=r||this.rootModel;const n=this.transcoordS2T(t,e,r);return Cct(n.x,n.y,void 0,(r.get("rotation")||0)+r._delta.theta)},transcoordS2O:Nct,transcoordC2S:Fct,transcoordS2C:zct,toParent:Dct,fromParent:Rct,toScene:jct,fromScene:Lct,toLocal:Fct,toGlobal:zct,toOther:Nct}),["rotatePoint","font","lineHeight","retention"].forEach(t=>llt.memoize(llt.prototype,t,!1)),["bounds","center","textBounds"].forEach(t=>llt.memoize(llt.prototype,t,!0)),llt.mixin(llt.prototype,Ast.withEvent);class ult extends llt{set rotationX(t){this.setState("rotationX",t)}get rotationX(){return this.getState("rotationX")}set rotationY(t){this.setState("rotationY",t)}get rotationY(){return this.getState("rotationY")}set rotationZ(t){this.setState("rotation",t)}get rotationZ(){return this.getState("rotation")}set zPos(t){this.setState("zPos",t)}get zPos(){return this.getState("zPos")}set depth(t){this.setState("depth",t)}get depth(){return this.getState("depth")}postrender(t){this.drawFill(t),this.drawStroke(t),super.postrender(t)}render(t){var e=this.drawPath,{round:r=0}=this.state;if(!(e.length<=1)){t.beginPath();for(var n=0;n<e.length;n++){const c=e[(n-1+e.length)%e.length],l=e[(n+e.length)%e.length],u=e[(n+1)%e.length];if(c.x===l.x&&c.y===l.y)continue;var i=0!==(s=Math.sqrt((c.x-l.x)*(c.x-l.x)+(c.y-l.y)*(c.y-l.y)))?Math.atan2(c.x-l.x,c.y-l.y):0,o=Math.sin(i)*Math.min(r,s/2)+l.x,a=Math.cos(i)*Math.min(r,s/2)+l.y;const h=r>0||0!==s?{x:o,y:a}:l;var s;i=0!==(s=Math.sqrt((u.x-l.x)*(u.x-l.x)+(u.y-l.y)*(u.y-l.y)))?Math.atan2(u.x-l.x,u.y-l.y):0,o=Math.sin(i)*Math.min(r,s/2)+l.x,a=Math.cos(i)*Math.min(r,s/2)+l.y;const f=r>0||0!==s?{x:o,y:a}:l;0==n?t.moveTo(h.x,h.y):t.lineTo(h.x,h.y),r>0&&t.quadraticCurveTo(l.x,l.y,f.x,f.y)}t.closePath()}}}function hlt(t,e,r){return Math.max(0,Math.min(t,Math.min(r,e)/2))}var flt=t=>{var e=class extends t{contains(t,e){var{left:r,top:n,width:i,height:o,lineWidth:a=0}=this.state,s=a/2;return t<Math.max(r+i,r)+s&&t>Math.min(r+i,r)-s&&e<Math.max(n+o,n)+s&&e>Math.min(n+o,n)-s}set path(t){var e=t[0],r=t[2];this.set({left:e.x,top:e.y,width:r.x-e.x,height:r.y-e.y})}get path(){var{left:t=0,top:e=0,width:r=0,height:n=0}=this.state;return[{x:t,y:e},{x:t+r,y:e},{x:t+r,y:e+n},{x:t,y:e+n}]}get anchors(){return function(t){var{left:e,top:r,width:n,height:i}=t.bounds,o=e+n/2,a=r+i/2;return[{name:"TOP",position:{x:o,y:r}},{name:"RIGHT",position:{x:e+n,y:a}},{name:"BOTTOM",position:{x:o,y:r+i}},{name:"LEFT",position:{x:e,y:a}}]}(this)}get bounds(){const{left:t=0,top:e=0,width:r=0,height:n=0}=this.state;return{left:t,top:e,width:r,height:n}}set bounds(t){this.set({left:0,top:0,width:0,height:0,...t})}render(t){var{round:e=0}=this.model,{left:r,top:n,width:i,height:o}=this.bounds;t.translate(r,n),t.beginPath(),(e=hlt(e,i,o))>0?t.roundRect(0,0,i,o,e):t.rect(0,0,i,o),t.translate(-r,-n)}};return Ist(e.prototype,"path",!1),e};const dlt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"textarea",label:"front-side-template",name:"frontSideTemplate",property:{language:"html"}},{type:"textarea",label:"back-side-template",name:"backSideTemplate",property:{language:"html"}},{type:"textarea",label:"style",name:"style",property:{language:"css"}}],help:"scene/component/info-window"};const plt=20;function glt(t,e){var r=t.split(/\s+/),n=r.indexOf(e);return-1!=n?r.splice(n,1):r.splice(-1,0,e),r.join(" ")}class vlt extends(flt(ult)){static get image(){return vlt._image||(vlt._image=new Image,vlt._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAY1BMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAbxiAAAAIHRSTlMA+gPshCwwWFzYCeLRm7QRG6rLeDZI9JOJJDtjb1HAf1sAT80AAAQQSURBVHhe7MCBAAAAAMKw/KkzOMG2BAAAAKeu3lUohIEggO7jQi5qHqpgwML5/6+0F0y02z31FlvMMLKt86QMQ1ined2Evih1hFFjLfRWjgzDOGZ6JSiM00B9EuHALtQxJLiQBmqSBCeSUEuEGzs1BDjSaHxWOKK5Eyz/4SoMV/hp4+vtcPkdwZD/udwevNg7t1xXYRiKmkB7C+ENlPLq8fxHeX+RGjWQ1D45ldcIulBIvCvYJGBEadyTzxAcfY57NBjpLScOO/bzugcTHe7IMwiSLMcdHZhocMcMgTLjjgZM7F1bCJZ2v27ARGzYDwIk2Z+JYGJ/iiwQLMv+JAEThjkmRG64Q0Q+gIiIiIiIiIiIyFy0KRFt0bOJZAWSUigmkQaJaXhENiRnYBEpkZySRSRGcmIWEaQnYhHRSI5mESmQnIJFZIqQmGhiEYEbEnPjGlEGjYTogW/WUkOXENENSqZfEXmDiIiIiIiIiIiIiIiIiIiImq5ETIpRpBpjJCMeKy6Ri0ZS9MQjkmkkJs1YRDokp2MRyZGclkUkQnIiEQltaX3Lzb6yiGTpl2y/avqSAxGgelCOKI+Kc2isL0TUSsZ4EREREREREREREREREREREfnIQzXrNWSRTeNxnlOwIgueIr6AAyE+CpiqMEUK71IDO4E+LluEKYKnKcMUifEsTZgiJZ5lDVNkwJPcqzBFoPF/HplfxL/w6b4EPGv1h18Weya1TL8iIiIeiIiIiIiIiEjkPefxV+5YA9PPHylB+u5aqgZ39H+jKOxrqtu+pkzvr9YbzoZ6w2OFkzcrA3yE4WZlSSyFk54VoA/wR43+FaD+r9w32QdWvgvjp2ty2xq8qHPHmtyPFxfrK3hw1ejERlAlfR/Ame2OTow05d4rOLLSlHtDVhI0uRO01JeZ405op6zgNNXT+bIRfpIgn+AkU4pOxBscohojdCHu4RRzjC5EYwVHqRONDkSnEvK/CB3QSU32IRW3ZPnj9iEVoGCNTLVrh8ia1x+6wq8xvB5mz8pxu7oPwIn9lcR0AiuX1+1KX+BXqdvXzWsAC0NsGjzZsS/2Bd6yRA5RgIHkXNhSD3whASZ8rrB9mItuEAizac0fDlHxDMEwpQfD1tW4y3Hjfy5s9nOHH3uwWA+EqEJBWCjoTL/S5toBB/7hu6zer74NgqSP39zJU+qQX3ix763mHTqvIVRUVprCljlElRkEjBqNYevH8veBJ2xhiyhE8YctmhDFH7ZoQhR/2KIJUfxhiyRE8YctmhDFH7ZoQhR/2OIJUfxhC9Ppf/t1jgJACERRsHGyYRZB0Ujvf0xD8w6kP7y6RZmgf/oTFTtbbzJVxZWo2Nlqw6TVy5GowNl6ssm7v50obamfSxQAAAAAAAsKLM15fb3vpQAAAABJRU5ErkJggg=="),vlt._image}static toggle(t,e,r,n){if(e){var i=t.root.findById(e);i?i._findInfoWindowByComponent(t)?vlt.hide(t,e):vlt.show(t,e,r,n):console.warn("InfoWindow Not Found.",e)}else console.warn("InfoWindow not defined.")}static hide(t,e){if(e){var r=t.root.findById(e);r?r._removeInfoWindow(t):console.warn("InfoWindow Not Found.",e)}}static show(t,e,r,n){if(e){var i=t.root.findById(e);if(i){if(!i._findInfoWindowByComponent(t)){var{frontSideTemplate:o="",backSideTemplate:a=""}=i.model,s=[o,a].filter(t=>String(t).trim());if(s=s.map(t=>llt.template(function(t,e,r){return(e||r?['<div class="info-window-btns">',e?'<button class="closable">&#88</button>':"",r?'<button class="flipable">&#8652</button>':"","</div>"]:[]).concat(['<div class="info-window-content">',t,"</div>"]).join("")}(t,!r,2==s.length))),0!=s.length){var c='\n.flip {\n backface-visibility: hidden;\n border-radius: 7px;\n height: auto;\n font: normal 14px helvetica, arial, san serif;\n position: absolute;\n opacity: 0.9;\n transform-origin: 50% 50% 0px;\n transition: all 2s;\n min-width: 100px;\n min-height: 50px;\n background-color: #3e424e;\n box-shadow: 2px 3px 2px 0px rgba(0,0,0,0.15);\n}\n\n#side-1 {\n transform: rotateY(0deg);\n}\n\n.flip:after {\n content: "";\n display: block;\n position: absolute;\n opacity: 0.9;\n width: 0;\n height: 0;\n}\n\n.flip.arrow-top:after {\n left: 45%;\n top: -17px;\n border-left: 10px solid transparent;\n border-bottom: 18px solid #323b44;\n border-right: 10px solid transparent;\n}\n\n.flip.arrow-right:after {\n left: 100%;\n top: 48%;\n border-top: 10px solid transparent;\n border-left: 18px solid #323b44;\n border-bottom: 10px solid transparent;\n}\n\n.flip.arrow-bottom:after {\n left: 45%;\n top: 100%;\n border-left: 10px solid transparent;\n border-top: 18px solid #323b44;\n border-right: 10px solid transparent;\n}\n\n.flip.arrow-left:after {\n right: 100%;\n top: 48%;\n border-top: 10px solid transparent;\n border-right: 18px solid #323b44;\n border-bottom: 10px solid transparent;\n}\n\n#side-2 {\n transform: rotateY(180deg);\n}\n\n.flip-side-1 {\n transform: rotateY(0deg) !important;\n}\n\n.flip-side-2 {\n transform: rotateY(180deg) !important;\n}\n\n.info-window-btns {\n position: absolute;\n top: -18px;\n right: 5px;\n overflow: hidden;\n}\n\n.info-window-content {\n padding: 10px;\n color: #efefef;\n font-size: 13px;\n line-height: 1.4;\n}\n\n.info-window-btns button {\n width: 40px;\n height: 40px;\n float: right;\n border: 0;\n border-radius: 50%;\n background-color: #2a7da1;\n margin-right: 3px;\n text-align: center;\n cursor: pointer;\n font-size: 35px;\n color: #fff;\n line-height: 0;\n}\n\n.info-window-btns button:hover {\n background-color: #60bb23;\n}\n'+i.get("style"),{left:l,top:u}=t.bounds,{x:h,y:f}=n?t.rootModel.toLocal(n.x,n.y):t.toScene(l,u);l=h,u=f;var d=document.createElement("span");d.style.position="absolute";var p=document.createElement("style");if(p.type="text/css",p.appendChild(document.createTextNode(c)),d.appendChild(p),s[0]){var g=document.createElement("div");g.id="side-1",g.className="flip",g.style.display="inline-block",g.innerHTML=s[0](t)}if(s[1]){var v=document.createElement("div");v.id="side-2",v.className="flip",v.style.display="inline-block",v.innerHTML=s[1](t)}$st.forEach(function(t){d.addEventListener(t,function(t){t.stopPropagation()})}),Yst.forEach(function(t){d.addEventListener(t,function(t){t.stopPropagation()})});var y=t.rootModel.getOverlay(t);if(g&&d.appendChild(g),v&&d.appendChild(v),y.appendChild(d),i._addInfoWindow(t,d,p),g){let r=g.querySelector(".info-window-btns > .flipable");r&&r.addEventListener("click",function(t){t.preventDefault(),v.className=glt(v.className,"flip-side-1"),g.className=glt(g.className,"flip-side-2")},!1);let n=g.querySelector(".info-window-btns > .closable");n&&n.addEventListener("click",function(r){r.preventDefault(),vlt.hide(t,e)},!1)}if(v){let r=v.querySelector(".info-window-btns > .flipable");r&&r.addEventListener("click",function(t){t.preventDefault(),v.className=glt(v.className,"flip-side-1"),g.className=glt(g.className,"flip-side-2")},!1);let n=v.querySelector(".info-window-btns > .closable");n&&n.addEventListener("click",function(r){r.preventDefault(),vlt.hide(t,e)},!1)}var m=g.offsetWidth,b=g.offsetHeight;window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var x=t.rootModel.target.getBoundingClientRect(),w=[];g&&w.push(g),v&&w.push(v);var A={x:l,y:u},_=t.toGlobal(A.x,A.y);if(_.x+m/2+x.left<x.right&&_.x-m/2>x.left){if(b+plt<_.y)return d.style.marginLeft=A.x-m/2+"px",d.style.marginTop=A.y-b-plt+"px",void w.forEach(t=>t.className+=" arrow-bottom");if(_=t.toGlobal(A.x,A.y+b+plt),x.bottom>_.y+x.top)return d.style.marginLeft=A.x-m/2+"px",d.style.marginTop=A.y+plt+"px",void w.forEach(t=>t.className+=" arrow-top")}if((_=t.toGlobal(A.x,A.y)).x-(m+plt)>x.left)return d.style.marginLeft=A.x-m-plt+"px",d.style.marginTop=A.y-b/2+"px",void w.forEach(t=>t.className+=" arrow-right");d.style.marginLeft=A.x+plt+"px",d.style.marginTop=A.y-b/2+"px",w.forEach(t=>t.className+=" arrow-left")}}}else console.warn("InfoWindow Not Found.",e)}else console.warn("InfoWindow not defined.")}dispose(){this.infoWindows.map(t=>t.component).forEach(t=>this._removeInfoWindow(t)),super.dispose()}get infoWindows(){return this._windows||(this._windows=[]),this._windows}_findInfoWindowByComponent(t){return this.infoWindows.find(e=>e.component===t)}_addInfoWindow(t,e,r){this._findInfoWindowByComponent(t)||this._windows.push({component:t,window:e,styleElement:r})}_removeInfoWindow(t){var e=this._findInfoWindowByComponent(t);if(!e)return;let r=e.window;r&&r.parentNode.removeChild(r);var n=this.infoWindows.lastIndexOf(e);this.infoWindows.splice(n,1)}render(t){var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),this.drawImage(t,vlt.image,e,r,n,i)}get hasTextProperty(){return!1}get nature(){return dlt}}llt.register("info-window",vlt);const ylt={};var mlt={list:function(){return{...ylt}},register:function(t,e){ylt[t]=e},unregister:function(t){delete ylt[t]},get:function(t){if(t){var e=ylt[t];return e||Ost("Layout Not Found - ",t),e}}};const blt=new class{constructor(){this.ABSOLUTE=!0}reflow(t,e){this.drawables(t).filter(t=>t.isHTMLElement()).forEach(t=>t.reposition())}capturables(t){return t.components}drawables(t){return t.app&&!t.app.isViewMode?t.components:t.components.filter(t=>!t.hidden)}isStuck(t){return!1}};mlt.register("html-absolute",blt);const xlt=20;function wlt(t,e="static",r,n,i,o,a={}){const{title:s="",gap:c=xlt}=a;if("auto"===r){const{x:e,y:r}=function(t,e,r,n="",i=xlt){const o=Math.max(e.width/4-r.width/2,i),a=Math.min(3*e.width/4+r.width/2,e.width-i)-r.width,s=Math.max(e.height/4-r.height/2,i),c=Math.min(3*e.height/4+r.height/2,e.height-i)-r.height+(n?-30:0);return{x:t.x<e.width/2?Math.min(a,t.x+20):Math.max(o,t.x-(r.width+20)),y:t.y<e.height/2?Math.min(c,t.y+20+(n?30:0)):Math.max(s,t.y-(r.height+20))}}(n,i,o,s,c);Object.assign(t.style,{position:"absolute",left:`${e}px`,top:`${r}px`})}else"static"===e?function(t,e,r,n,i){const o=t.style,a=e.includes("left")?i:e.includes("right")?r.width-n.width-i:r.width/2-n.width/2,s=e.includes("top")?i:e.includes("bottom")?r.height-n.height-i:r.height/2-n.height/2;Object.assign(o,{left:`${a}px`,top:`${s}px`})}(t,r,i,o,c):function(t,e,r=xlt){const n=t.style;switch(Object.assign(n,{position:"absolute",left:"",right:"",top:"",bottom:"",transform:""}),e){case"center-middle":default:Object.assign(n,{left:"50%",top:"50%",transform:"translate(-50%, -50%)"});break;case"center-top":Object.assign(n,{left:"50%",top:`${r}px`,transform:"translateX(-50%)"});break;case"center-bottom":Object.assign(n,{left:"50%",bottom:`${r}px`,transform:"translateX(-50%)"});break;case"left-middle":Object.assign(n,{left:`${r}px`,top:"50%",transform:"translateY(-50%)"});break;case"right-middle":Object.assign(n,{right:`${r}px`,top:"50%",transform:"translateY(-50%)"});break;case"left-top":Object.assign(n,{left:`${r}px`,top:`${r}px`});break;case"right-top":Object.assign(n,{right:`${r}px`,top:`${r}px`});break;case"left-bottom":Object.assign(n,{left:`${r}px`,bottom:`${r}px`});break;case"right-bottom":Object.assign(n,{right:`${r}px`,bottom:`${r}px`})}}(t,r,c)}function Alt(t,e,r={sx:1,sy:1}){let n,i,o=0,a=0,s=!1;const c=/translate\(([-\d.]+)px,\s*([-\d.]+)px\)/;function l(){const e=(t.style.transform||"").match(c);return{x:e?parseFloat(e[1]):0,y:e?parseFloat(e[2]):0}}function u(t,e){s=!0;const r=l();o=r.x,a=r.y,n=t,i=e}function h(e,c){if(!s)return;const l=e-n,u=c-i,{sx:h,sy:f}=r;!function(e,r){t.style.transform=`translate(${e}px, ${r}px)`}(o+l/h,a+u/f)}function f(){const t=l();o=t.x,a=t.y,s=!1}e?.addEventListener("mousedown",t=>{t.preventDefault(),t.stopPropagation(),u(t.clientX,t.clientY);const e=t=>{t.preventDefault(),h(t.clientX,t.clientY)},r=t=>{t.preventDefault(),f(),window.removeEventListener("mousemove",e,!0),window.removeEventListener("mouseup",r,!0)};window.addEventListener("mousemove",e,!0),window.addEventListener("mouseup",r,!0)}),e?.addEventListener("touchstart",t=>{if(1!==t.touches.length)return;t.preventDefault(),t.stopPropagation(),u(t.touches[0].clientX,t.touches[0].clientY);const e=t=>{1===t.touches.length&&(t.preventDefault(),h(t.touches[0].clientX,t.touches[0].clientY))},r=t=>{f(),window.removeEventListener("touchmove",e,!0),window.removeEventListener("touchend",r,!0),window.removeEventListener("touchcancel",r,!0)};window.addEventListener("touchmove",e,!0),window.addEventListener("touchend",r,!0),window.addEventListener("touchcancel",r,!0)})}const _lt=["run","goto","goto-playlist","link-open","link-move","route-page","start-scenario","run-scenario","export-data","import-data"];const Elt=new WeakMap;function klt(t){const e=t.root,r=Elt.get(e);if(!r)return;if(e===t)return r.forEach(t=>klt(t[0])),void Elt.delete(e);const n=r.findIndex(e=>e[0]===t);if(-1===n)return;const i=r[n][1];i.div.parentNode?.removeChild(i.div),i.scene.target=null,i.scene.release?.(),r.splice(n,1)}class Slt{static hideAll(t){(Elt.get(t)||[]).forEach(([t])=>klt(t))}static hide(t){const e=t.root,r=Elt.get(e);if(!r)return;const n=r.findIndex(e=>e[0]===t);if(-1===n)return;const i=r[n][1];i.div.style.backgroundColor="transparent",function(t,e){t.style.opacity=1;const r=(t.style.transform||"").replace(/scale\([^)]+\)/,"").trim();t.style.transform=`${r} scale(1)`;const n=Date.now(),i=()=>{const o=Math.min((Date.now()-n)/200,1);t.style.opacity=1-o,t.style.transform=`${r} scale(${1-o})`.trim(),o<1?requestAnimationFrame(i):(t.style.display="none",e&&e())};i()}(i.div,()=>{klt(t)})}static show(t,e,r={}){const{data:n,modal:i=!1,closable:o=!0,minimizable:a=!1,draggable:s=!1,output:c=!0,popupPosition:l="static",origin:u="center-middle",title:h=""}=r,f=t.app.refProvider,d=!l||"static"===l;f?.get(e,!0).then(e=>{const r=document.createElement("div");r.setAttribute("popup",""),"absolute"==l&&(r.style.zIndex="100");const f=r.style;if(i){const{width:e,height:r}=d?t.rootModel.bounds:t.rootModel.auxOverlay.getBoundingClientRect();Object.assign(f,{position:"absolute",zIndex:"100",left:0,top:0,width:d?`${e}px`:"100%",height:d?`${r}px`:"100%",overflow:"hidden",backgroundColor:"transparent"})}else Object.assign(f,{position:"absolute",display:"inline-block"});r.innerHTML=h?'\n<div class="popup-wrap">\n <div class="popup-translate">\n <div class="popup-title-bar">\n <div class="popup-title"></div>\n <div class="popup-buttons-wrap">\n <button class="closable">close</button>\n <button class="minimizable">minimize</button>\n <button class="draggable">drag_pan</button>\n </div>\n </div>\n <div class="popup-content"></div>\n </div>\n</div>\n':'\n<div class="popup-wrap">\n <div class="popup-translate">\n <div class="popup-buttons-wrap float-right">\n <button class="closable">close</button>\n <button class="minimizable">minimize</button>\n <button class="draggable">drag_pan</button>\n </div>\n <div class="popup-content">\n </div>\n </div>\n</div>\n';const p=r.querySelector(".popup-content"),{width:g,height:v}=e.root.model;Object.assign(p.style,{width:`${g}px`,height:`${v}px`});const y=document.createElement("style");y.appendChild(document.createTextNode("\n\n.popup-wrap .popup-translate {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n min-width: 120px;\n overflow: hidden;\n transition: height 0.5s ease;\n}\n\n.popup-wrap .popup-translate > * {\n pointer-events: auto;\n}\n\n.popup-wrap .popup-content {\n background-color: var(--md-sys-color-surface, white);\n}\n\n.popup-wrap .popup-title-bar {\n display: flex;\n align-items: center;\n top: 0;\n left: 0;\n width: 100%;\n height: 30px;\n background-color: var(--md-sys-color-primary, #f1f1f1);\n color: var(--md-sys-color-on-primary, black);\n padding: 5px;\n box-sizing: border-box;\n border-bottom: 1px solid #ccc;\n}\n\n.popup-wrap .popup-title {\n flex: 1;\n text-align: center;\n}\n\n.popup-wrap .popup-buttons-wrap {\n position: relative;\n display: flex;\n flex-direction: row-reverse;\n gap: 4px;\n min-width: 100px;\n align-items: center;\n justify-items: center;\n margin: 0;\n padding: 0;\n}\n\n.popup-wrap .popup-buttons-wrap.float-right {\n position: absolute;\n right: 0;\n top: 0;\n height: 30px;\n margin-right: 5px;\n}\n\n.popup-wrap button.closable, \n.popup-wrap button.minimizable, \n.popup-wrap button.draggable {\n display: none;\n color: white; \n background-color: black; \n opacity: .3;\n width: 20px;\n height: 20px;\n top: 5px; \n z-index: 1;\n padding: 0;\n margin: 0;\n border: 0px;\n text-align: center;\n cursor: pointer;\n border-radius: 4px;\n font-family: Material Symbols Outlined;\n font-size: 16px;\n}\n\n.popup-wrap button.draggable {\n cursor: move;\n}\n\n.popup-wrap button.closable:hover, \n.popup-wrap button.minimizable:hover, \n.popup-wrap button.draggable:hover {\n opacity: .6; \n}\n")),r.appendChild(y),_lt.forEach(r=>{e.on(r,(...e)=>{t.trigger(r,...e)})});const m=r.querySelector(".draggable");[...$st,...Yst].forEach(t=>{p.addEventListener(t,t=>{t.stopPropagation()})}),[...$st,...Yst].forEach(t=>{r.addEventListener(t,t=>{t.stopPropagation()})}),i&&o&&r.addEventListener("click",e=>{e.target===r&&Slt.hide(t)});if(t.rootModel.getOverlay({...t,scalable:!l||"static"==l}).appendChild(r),function(t,e,r){const n=t.root;if(n===t)return;klt(t);let i=Elt.get(n)||[];i=[...i,[t,{div:e,scene:r}]],Elt.set(n,i)}(t,r,e),h){r.querySelector(".popup-title-bar .popup-title").textContent=h}const b=r.querySelector(".popup-translate");if(s&&(Alt(b,h?r.querySelector(".popup-title-bar"):r.querySelector(".draggable"),function(t,e){if(!(e=e||t.position)||"static"===e){const e=(t.rootModel.getOverlay(t).style.transform||"").match(/scale\(([^,\s)]+)(?:,\s*([^)]+))?\)/),r=e?parseFloat(e[1]):1;return{sx:r,sy:e&&e[2]?parseFloat(e[2]):r}}return{sx:1,sy:1}}(t,l)),h?m&&(m.style.display="block"):(b.addEventListener("mouseenter",()=>{m&&(m.style.display="block")}),b.addEventListener("mouseleave",()=>{m&&(m.style.display="none")}))),a){const t=r.querySelector(".minimizable");let e=!1;t.addEventListener("click",t=>{t.preventDefault(),e=!e;const n=r.querySelector(".popup-wrap");!function(t,e,r){const n=e.querySelector(".minimizable"),i=e.querySelector(".popup-translate");i&&(r?(n.innerHTML="crop_square",i.style.height="30px"):(n.innerHTML="minimize",i.style.height="100%"))}(0,i?n:r,e)}),h?t&&(t.style.display="block"):(b.addEventListener("mouseenter",()=>{t&&(t.style.display="block")}),b.addEventListener("mouseleave",()=>{t&&(t.style.display="none")}))}if(o){const t=r.querySelector(".closable");h?t&&(t.style.display="block"):(b.addEventListener("mouseenter",()=>{t&&(t.style.display="block")}),b.addEventListener("mouseleave",()=>{t&&(t.style.display="none")}))}r.querySelector(".closable")?.addEventListener("click",e=>{e.preventDefault(),Slt.hide(t)}),r.addEventListener("close-scene",e=>{e.preventDefault(),e.stopPropagation(),Slt.hide(t),c&&(t.data=e.detail)}),e.target=p,e.data=n||t.data,e.fit("both");const{x:x,y:w}=t.center,A=t.toScene(x,w),_=i?r.querySelector(".popup-wrap"):r;wlt(_,l,u,A,e.root.bounds,{width:g,height:v},{title:h}),i?Object.assign(_.style,{position:"absolute",pointerEvents:"none",width:`${g}px`,height:`${h?v+30:v}px`}):Object.assign(_.style,{pointerEvents:"none",width:`${g}px`,height:`${h?v+30:v}px`}),function(t,e){t.style.opacity=0;const r=(t.style.transform||"").replace(/scale\([^)]+\)/,"").trim();t.style.transform=`${r} scale(0)`,t.style.display="block";const n=Date.now(),i=()=>{const o=Math.min((Date.now()-n)/200,1);t.style.opacity=o,t.style.transform=`${r} scale(${o})`.trim(),o<1?requestAnimationFrame(i):e&&e()};i()}(r,()=>{i&&(r.style.backgroundColor="rgba(0,0,0,0.3)")})},t=>{console.error("cannot fetch board: "+e,t)})}}const Mlt=new class{constructor(){this.ABSOLUTE=!0}reflow(t,e){}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!1}};function Olt(t){var e=t.components.filter(t=>!t.hidden),r=t.getState("layoutConfig")||{},n=e[r&&r.activeIndex||0];return n&&[n]||[]}mlt.register("absolute",Mlt);const Tlt=new class{reflow(t){var e=t.bounds,r=t.getState("layoutConfig")||{},n={left:0,top:0,width:e.width,height:e.height};t.forEach((t,e)=>{let i=e!=(r.activeIndex||0);t.bounds=n,t.setState("rotation",0),"element"in t&&t.element&&(t.element.style.visibility=i?"hidden":"visible")})}capturables(t){return Olt(t)}drawables(t){return Olt(t)}isStuck(t){return!0}};function Plt(t){var e=t.getState("layoutConfig");return e&&e.weight||1}mlt.register("card",Tlt);const Ilt=new class{reflow(t){var e=this.drawables(t),r=t.getState("padding")||{},n=e.reduce((t,e)=>t+Plt(e),0),i=t.bounds,o=n>0?(i.width-((r.left||0)+(r.right||0)))/n:i.width,a=i.height-((r.top||0)+(r.bottom||0)),s=0;e.forEach(t=>{let e=Plt(t),n=t.getState("margin")||{};t.bounds={left:o*s+(r.left||0)+(n.left||0),top:0+(r.top||0)+(n.top||0),width:e*o-((n.left||0)+(n.right||0)),height:a-((n.top||0)+(n.bottom||0))},t.setState("rotation",0),s+=e})}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!0}};function Clt(t){var e=t.getState("layoutConfig");return e&&e.weight||1}mlt.register("linear-horizontal",Ilt);const Rlt=new class{reflow(t){var e=this.drawables(t),r=t.getState("padding")||{},n=e.reduce((t,e)=>t+Clt(e),0),i=t.bounds,o=n>0?(i.height-((r.top||0)+(r.bottom||0)))/n:i.height,a=i.width-((r.left||0)+(r.right||0)),s=0;e.forEach(t=>{let e=Clt(t),n=t.getState("margin")||{};t.bounds={left:0+(r.left||0)+(n.left||0),top:o*s+(r.top||0)+(n.top||0),width:a-((n.left||0)+(n.right||0)),height:e*o-((n.top||0)+(n.bottom||0))},t.setState("rotation",0),s+=e})}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!0}};mlt.register("linear-vertical",Rlt);const Dlt=new class{constructor(){this.joinType=!0}reflow(t){var e=t.getState("layoutConfig"),r=e&&e.columns||t.getState("columns"),n=e&&e.rows||t.getState("rows"),i=e&&e.widths||t.getState("widths"),o=e&&e.heights||t.getState("heights"),a=i?i.filter((t,e)=>e<r).reduce((t,e)=>t+e,0):r,s=o?o.filter((t,e)=>e<n).reduce((t,e)=>t+e,0):n,c=t.textBounds,l=t.getState("paddingLeft")||0,u=t.getState("paddingTop")||0,h=c.width/a,f=c.height/s,d=0,p=0;t.components.forEach((t,e)=>{let n=i?i[e%r]:1,a=o?o[Math.floor(e/r)]:1,s=t.colspan||1,c=0;for(;--s>0;)c+=i?i[(e+s)%r]:1;let g=t.rowspan||1,v=0;for(;--g>0;)v+=o?o[Math.floor(e/r)+g]:1;t.bounds={left:l+d,top:u+p,width:h*(n+c),height:f*(a+v)},t.setState("rotation",0),e%r==r-1?(d=0,p+=a*f):d+=n*h})}capturables(t){return t.components.filter(t=>!t.merged)}drawables(t){return t.components.filter(t=>!t.merged&&!t.hidden)}isStuck(t){return!0}keyNavigate(t,e,r){var n=t.getState("layoutConfig"),i=n&&n.columns||t.getState("columns"),o=n&&n.rows||t.getState("rows"),{row:a,column:s}=t.getRowColumn(e);switch(r.code){case"ArrowUp":if(a>0)return t.getAt((a-1)*i+s);break;case"ArrowDown":if(a<o-1)return t.getAt((a+1)*i+s);break;case"ArrowRight":if(s<i-1)return t.getAt(a*i+s+1);break;case"ArrowLeft":if(s>0)return t.getAt(a*i+s-1);break;default:return e}}};mlt.register("table",Dlt);const jlt=new Image;jlt.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAclBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BbqFAAAAJXRSTlMAgAP3VSI6/g9fBk5FavJsMrariSjzPnO1enRRL5SMhmOOWB9keFTE0wAAANxJREFUOMutk9kWgyAMRLFuiLjUtdp9yf//YglVsQXz1HniMPcEMgHGvpX2O0Ypi+EgCL+IAShC+wB7QfubRDT7AFcnUPoLMLiP4PyJbsb55i05AgnR5iaQDsICgtH0cotBWoAP1c7kC6kFxEseCfZfB6gEgbNeBrira2QmH1uVYCXlA3is8UmgUCPIyQJKEmu8QtQJN0e9DPXVpzG2G216c1CqRmcBOdxXk07sWUSPv07zo0amCNQycv+NzmR6cRcwmfbuI7p2nZ/z4be0P83Foz6vIkhfZXr82XgDlZsspIq4peUAAAAASUVORK5CYII=";var Llt=t=>class extends t{postrender(t){super.postrender(t),this.app.isEditMode&&this._focused&&this.showMoveHandle&&this._draw_move_handle(t)}_draw_move_handle(t){var{left:e,top:r,width:n}=this.bounds;t.save(),t.beginPath(),t.globalAlpha=1,t.rect(e+n,r,25,25);t.fillStyle="rgba(235, 235, 235, 1)",t.fill(),t.drawImage(jlt,e+n+3.75,r+3.75,17.5,17.5),t.closePath(),t.restore()}contains(t,e){var r=super.contains(t,e);if(this.app.isViewMode)return r;if(!r){var{left:n,top:i,width:o,height:a}=this.bounds,s=n+o;this.showMoveHandle&&(r=t<Math.max(s+25,s)&&t>Math.min(s+25,s)&&e<Math.max(i+25,i)&&e>Math.min(i+25,i))}return this._focustd!==r&&(this._focused=r,this.invalidate()),r}};const Nlt=[];class Flt extends(Llt(flt(llt))){constructor(t,e){super(t,e),this._components=[]}replaceRefids(t){this.components.forEach(e=>e.replaceRefids(t))}get showMoveHandle(){return!0}get showOverflow(){return!1}dispose(){this.components.slice().forEach(t=>t.dispose()),super.dispose()}isContainer(){return!0}containable(t){return t.isDescendible(this)}get hasTextProperty(){return!1}get components(){return this._components}get focusible(){return!0}get layout(){return mlt.get(this.get("layout"))||Mlt}reflow(){this.layout.reflow(this),this.components&&this.components.forEach(t=>{t.isContainer()&&t.reflow()})}get hierarchy(){var t=super.hierarchy;return this.components&&(t.components=this.components.map(t=>t.hierarchy)),t}addComponent(t,e=!1){var r=t.parent;if(r){if(this===r)return;r.removeComponent(t,e)}var n=this._components.push(t)-1;t.parent=this,t.added(this),e||this.trigger("add",this,t,n),t.delegate_on(this),e||t.trigger("added",this,t,n),this.root&&this.root.isReady&&t.ready()}removeComponent(t,e=!1){var r=this._components.indexOf(t);-1!=r&&(this._components.splice(r,1),t.parent=null,t.removed(this),e||(this.trigger("remove",this,t),t.trigger("removed",this,t)),t.delegate_off(this))}insertComponentAt(t,e,r=!1){var n=t.parent;n&&n.removeComponent(t,r);var i=this._components.splice(0,e);this._components=i.concat(t,this._components),e=this._components.indexOf(t),t.parent=this,t.added(this),r||this.trigger("add",this,t,e),t.delegate_on(this),r||t.trigger("added",this,t,e)}add(t,e=!1){return t instanceof Array?(t.forEach(t=>{-1==this._components.indexOf(t)&&this.addComponent(t,e)}),this):this.add.call(this,[t],e)}remove(t,e=!1){return t instanceof Array?this._components?(t.forEach(t=>{this.removeComponent(t,e)}),this):this:this.remove.call(this,[t],e)}getAt(t){if(this._components)return this._components[t]}forEach(t,e){this._components&&this._components.forEach(t,e)}traverse(t,e){t.call(e,this),this._components&&this._components.forEach(r=>{r.isContainer()?r.traverse(t,e):t.call(e,r)})}indexOf(t){return(this._components||Nlt).indexOf(t)}size(){return(this._components||Nlt).length}moveChildAt(t,e){var r=this.indexOf(e);if(-1!=r){var n=this._components.splice(0,r),i=this._components.splice(1);this._components=n.concat(i),t=Math.max(0,t),t=Math.min(t,this._components.length),n=this._components.splice(0,t),this._components=n.concat(e,this._components)}}moveChildForward(t){var e=this.indexOf(t);-1!=e&&e!=this.size()-1&&(this._components[e]=this._components[e+1],this._components[e+1]=t)}moveChildBackward(t){var e=this.indexOf(t);-1!=e&&0!=e&&(this._components[e]=this._components[e-1],this._components[e-1]=t)}moveChildToFront(t){var e=this.indexOf(t);if(-1!=e&&e!=this.size()-1){var r=this._components.splice(0,e),n=this._components.splice(1);this._components=r.concat(n,this._components)}}moveChildToBack(t){var e=this.indexOf(t);if(-1!=e&&0!=e){var r=this._components.splice(0,e),n=this._components.splice(0);this._components=this._components.concat(r,n)}}symmetryX(t){super.symmetryX(t),this.components.map(t=>{t.symmetryX(0)})}findAll(t,...e){if("string"==typeof t)return ect(t,this,e[0]||this);if("function"==typeof t){var r=[];for(let n=this.components.length-1;n>=0;n--){let i=this.components[n].findAll(t,...e);i&&(r=r.concat(i))}return t(this,...e)&&r.push(this),r}}findFirst(t,...e){if("string"==typeof t)return ect(t,this,e[0])[0];if("function"==typeof t){for(let n=this.components.length-1;n>=0;n--){var r=this.components[n].findFirst(t,...e);if(null!=r)return r}return t(this,...e)?this:null}}findById(t){return this.root.findById(t)}findByRefid(t){return this.root.findByRefid(t)}contains(t,e){var r=super.contains(t,e);if(!r){var{left:n,top:i,width:o,height:a}=this.state;r=t<Math.max(n+o,n)&&t>Math.min(n+o,n)&&e<Math.max(i+a,i)&&e>Math.min(i+a,i)}return r}capture(t,e,r){if(!this.app.isEditMode&&this.hidden)return!1;var n=this.fromParent(t,e);if(!this.contains(n.x,n.y))return!1;var i=this.bounds;n.x-=i.left,n.y-=i.top;var o=this.layout.capturables(this);for(let i=o.length-1;i>=0;i--){if("static"==o[i].position)var a=o[i].capture(n.x,n.y,r);else a=o[i].capture(t,e,r);if(a)return a}return this.capturable&&!r?.(this)&&this}capturePath(t,e){if(e){if(e.indexOf(this)>-1)return!1;for(let t=0;t<e.length;t++)if(!this.containable(e[t]))return!1}var r=[],{left:n,top:i,width:o,height:a}=this.bounds;for(let e=0;e<t.length;e++){let s=this.fromParent(t[e].x,t[e].y);if(s.x<n||s.x>n+o||s.y<i||s.y>i+a)return!1;s.x-=n,s.y-=i,r.push(s)}let s=this.layout.capturables(this);for(let t=s.length-1;t>=0;t--){let n=s[t];if(!n.isContainer())continue;let i=n.capturePath(r,e);if(i)return i}return this.focusible&&this}render(t){var{left:e=0,top:r=0,width:n,height:i}=this.bounds;t.beginPath(),t.rect(e,r,n,i),t.closePath(),this.drawFill(t),this.drawStroke(t)}postrender(t){const e=this.layout.drawables(this);if(e.length>0){var{left:r=0,top:n=0,width:i,height:o}=this.bounds;t.save(),this.showOverflow||(t.beginPath(),t.rect(r,n,i,o),t.clip(),t.closePath());var{top:n,left:r}=this.state;t.translate(r,n),e.forEach(e=>{e.draw(this.position&&"static"!==this.position?t:this.getContext(e))}),t.translate(-r,-n),t.restore()}super.postrender(t)}trim(){this.components.forEach(t=>{t.trim()}),super.trim()}}["layout"].forEach(t=>llt.memoize(Flt.prototype,t,!1));class zlt extends Flt{constructor(t,e){super(t,e),t.translate=t.translate||{x:0,y:0},this._draw_reserved=!1,this.__draw__=()=>{this._draw_reserved=!1,this.trigger("redraw"),this.reflow(),this.draw()},this.throttle_render=()=>{this._draw_reserved||requestAnimationFrame(this.__draw__),this._draw_reserved=!0}}fitSize(t,e,r,n){if(this.target){if(e){let t=getComputedStyle(this.target);r=r||(t?parseFloat(t.getPropertyValue("width")):this.target.clientWidth),n=n||(t?parseFloat(t.getPropertyValue("height")):this.target.clientHeight)}else r=this.model.width,n=this.model.height;"CANVAS"==t.tagName&&(t.setAttribute("width",r*Bst),t.setAttribute("height",n*Bst)),t.style.width=r+"px",t.style.height=n+"px"}}resize(){this.fitSize(this.element,!0)}isLayer(){return!0}get showOverflow(){return this.app.isEditMode}get anchors(){}createElement(){var t=llt.createCanvas(1,1);return t.setAttribute("scene",this.state.type),t.style.position="absolute",t.style.pointerEvents=this.pointerEvents,t}get pointerEvents(){return"auto"}get target(){return this._target}set target(t){this._target&&this.element&&this._target.removeChild(this.element),this._target=t,this.element||(this.element=this.createElement()),this.resize(),t?.appendChild(this.element)}get canvas(){return this.element}dispose(){super.dispose(),this.target=null,this.element=null}get selected(){return this.root.selected}set selected(t){this.root.selected=t}get hasSameParentForAllSelected(){return this.root.hasSameParentForAllSelected}get focused(){return this.root.focused}set focused(t){this.root.focused=t}get context2D(){if(!this._context2D&&(this._context2D=this.canvas&&this.canvas.getContext("2d"),this._context2D)){const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._context2D.font=["10px",e].join(" "),this._context2D.save()}return this._context2D}getContext(t){return this._context2D||this.context2D}draw(t){this.canvas&&(t=t||this.getContext())&&(t.save(),super.draw(t),t.restore())}prerender(t){var{translate:e,scale:r={x:1,y:1},rotation:n}=this.model;t.clearRect(0,0,t.canvas.width,t.canvas.height),e&&t.translate(e.x*Bst,e.y*Bst),t.scale(r.x*Bst,r.y*Bst),n&&t.rotate(n)}get rotatePoint(){return{x:0,y:0}}contains(t,e){return!1}invalidate(){this.throttle_render()}move(t){var e=this.get("translate")||{x:0,y:0};this.set({translate:{x:e.x+t.x,y:e.y+t.y}})}centerTo(t,e){const r=t.rootModel.toLocal(this.canvas.clientWidth/2,this.canvas.clientHeight/2),{x:n,y:i}=t.center,{x:o,y:a}=t.fromParent(n,i),{x:s,y:c}=t.toScene(o,a),{x:l,y:u}=t.rootModel.get("translate"),{x:h,y:f}=t.rootModel.get("scale");e?Aat({step:function(e){t.rootModel.set({translate:{x:l+(r.x-s)*h*e,y:u+(r.y-c)*f*e}})},duration:1e3,delta:"circ",ease:"in"}).start():t.rootModel.set({translate:{x:l+(r.x-s)*h,y:u+(r.y-c)*f}})}}class Ult extends zlt{dispose(){super.dispose(),delete this._canvas,delete this._auxCanvas}createElement(){var t=document.createElement("div");return t.style.position="absolute",t.setAttribute("scene",`${this.state.type}-anchor`),t.style["user-select"]="none",t.style.overflow="hidden",this._canvas=llt.createCanvas(1,1),this._canvas.style.position="absolute",this._canvas.style.pointerEvents="none",this._canvas.setAttribute("scene",`${this.state.type}-canvas`),t.appendChild(this._canvas),this._auxCanvas=llt.createCanvas(1,1),this._auxCanvas.style.position="absolute",this._auxCanvas.style.pointerEvents="none",this._auxCanvas.style.zIndex="100",this._auxCanvas.setAttribute("scene",`${this.state.type}-aux-canvas`),t.appendChild(this._auxCanvas),t}resize(){this.fitSize(this.element,!0);const t=this.element.clientWidth,e=this.element.clientHeight;this.fitSize(this.canvas,!0,t,e),this.fitSize(this.auxCanvas,!0,t,e)}get canvas(){return this._canvas}get auxCanvas(){return this._auxCanvas}get context2D(){if(!this._context2D){this._context2D=this.canvas&&this.canvas.getContext("2d");const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._context2D.font=["10px",e].join(" "),this._context2D.save()}return this._context2D}get auxContext2D(){if(!this._auxContext2D){this._auxContext2D=this.auxCanvas&&this.auxCanvas.getContext("2d");const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._auxContext2D.font=["10px",e].join(" "),this._auxContext2D.save()}return this._auxContext2D}getContext(t){/*!this.app.isViewMode || */
3
- return!t||t.scalable?this.context2D:this.auxContext2D}draw(t){this.canvas&&this.element&&(t=t||this.getContext())&&(this.auxContext2D.clearRect(0,0,this.auxCanvas.width,this.auxCanvas.height),this.auxContext2D.save(),this.auxContext2D.scale(Bst,Bst),super.draw(t),this.auxContext2D.restore())}}var Blt,$lt,Ylt,Glt;!function(t){t.CANVAS="canvas",t.DOM="dom"}(Blt||(Blt={}));class Hlt{get overlay(){return this._overlay}constructor(t,e,r={}){if(this.element=null,this.isActive=!1,this._overlay=null,this.target=e,this.options={animation:!0,repeat:!0,duration:3e3,color:"#ff0000",opacity:1,fadeOut:!1,...r},this.mode=r.mode||this.determineOptimalMode(),t){this._overlay=t;elt.getInstance().addOverlay(t)}}determineOptimalMode(){return!1!==this.options.animation?Blt.DOM:Blt.CANVAS}start(){if(!this.isActive&&(this.isActive=!0,this.mode===Blt.DOM)){this.overlay?(this.createDOMElements(),this.target.on("change",this.handleTargetChange,this),this.target.on("removed",this.handleTargetRemoved,this)):(console.warn("오버레이가 설정되지 않아 DOM 모드 데코레이터를 시작할 수 없습니다."),this.isActive=!1)}}stop(){this.isActive&&(this.isActive=!1,this.mode===Blt.DOM&&(this.target.off("change",this.handleTargetChange,this),this.target.off("removed",this.handleTargetRemoved,this),this.removeDOMElements()))}update(t){if(t&&(this.options={...this.options,...t},t.mode&&t.mode!==this.mode))return this.stop(),this.mode=t.mode,void this.start();this.mode===Blt.DOM&&this.isActive&&this.updateDOMElements()}render(t,e){return!(this.mode!==Blt.CANVAS||!this.isActive)&&this.renderCanvas(t,e)}removeDOMElements(){this.element&&this.element.parentNode&&(this.element.parentNode.removeChild(this.element),this.element=null)}updateDOMElements(){this.removeDOMElements(),this.createDOMElements()}getComponentPosition(){const{left:t,top:e,width:r,height:n}=this.target.bounds;if("function"==typeof this.target.toGlobal)try{const{x:i,y:o}=this.target.toGlobal(t,e,this.target.rootModel);return{x:i,y:o,width:r,height:n}}catch(t){console.warn("좌표 변환 실패, 기본값 사용:",t)}return{x:t,y:e,width:r,height:n}}handleTargetChange(t,e){this.target.disposed?this.stop():this.invalidate()}handleTargetRemoved(){this.stop()}invalidate(){}}class Wlt extends Hlt{constructor(t,e,r={}){super(t,e,{strokeWidth:2,strokeColor:"#FF0000",strokeOpacity:1,fillColor:"none",fillOpacity:.5,scale:1,rotation:0,x:0,y:0,zIndex:0,mode:Blt.DOM,...r}),this.vectorElement=null,this.animationElements=[],this.svgContainer=null,this.animationElement=null}getDecoratorType(){return this.constructor.DECORATOR_TYPE}dispose(){this.removeDOMElements()}determineOptimalMode(){return Blt.DOM}renderCanvas(t,e){return console.warn("VectorDecorator는 Canvas 렌더링을 지원하지 않습니다. DOM 모드를 사용하세요."),!1}getSvgContainer(){if(!this.overlay)throw new Error("오버레이 요소가 없습니다.");if(!Wlt.svgContainerCache.has(this.overlay)){const t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.setAttribute("class","vector-decorator-container"),t.setAttribute("pointer-events","none"),t.style.overflow="visible",t.style.position="absolute",t.style.top="0",t.style.left="0",this.overlay.appendChild(t),Wlt.svgContainerCache.set(this.overlay,t)}return Wlt.svgContainerCache.get(this.overlay)}getOrCreateDecoratorGroup(t=!1){const e=this.getSvgContainer(),r=this.getVectorGroupId(),n=this.getDecoratorType();let i=e.querySelector(`g[data-decorator-type-container="${n}"]`);if(!i){i=document.createElementNS("http://www.w3.org/2000/svg","g"),i.setAttribute("data-decorator-type-container",n),i.setAttribute("class",`${n}-container`),e.appendChild(i);const t=document.createElementNS("http://www.w3.org/2000/svg","defs");t.setAttribute("data-defs-for",n),i.appendChild(t)}let o=i.querySelector(`g[data-decorator-group-id="${r}"]`);if(!o){const{id:t}=this.target.state;return o=document.createElementNS("http://www.w3.org/2000/svg","g"),o.setAttribute("data-decorator-group-id",r),o.setAttribute("data-decorator-type",n),t&&o.setAttribute("data-component-id",t),i.appendChild(o),o}if(t)for(;o.firstChild;)o.removeChild(o.firstChild);return o}getDefsForType(){const t=this.getSvgContainer(),e=this.getDecoratorType();let r=t.querySelector(`g[data-decorator-type-container="${e}"]`);r||(this.getOrCreateDecoratorGroup(),r=t.querySelector(`g[data-decorator-type-container="${e}"]`));let n=r.querySelector(`defs[data-defs-for="${e}"]`);return n||(n=document.createElementNS("http://www.w3.org/2000/svg","defs"),n.setAttribute("data-defs-for",e),r.appendChild(n)),n}getDecoratorGroup(){const t=this.getSvgContainer(),e=this.getVectorGroupId();let r=t.querySelector(`g[data-decorator-group-id="${e}"]`);if(r)return r}createFadeAnimation(t=0,e=1,r=1e3,n={}){const i=document.createElementNS("http://www.w3.org/2000/svg","animate");return i.setAttribute("attributeName","opacity"),i.setAttribute("from",t.toString()),i.setAttribute("to",e.toString()),i.setAttribute("dur",`${r}ms`),n.delay&&i.setAttribute("begin",`${n.delay}ms`),i.setAttribute("fill","freeze"),n.repeat?i.setAttribute("repeatCount","indefinite"):i.setAttribute("repeatCount","1"),i}createTranslateAnimation(t,e=[],r=1e3,n={}){const i=document.createElementNS("http://www.w3.org/2000/svg","animateTransform");return i.setAttribute("attributeName","transform"),i.setAttribute("type","translate"),i.setAttribute("values",t.join(";")),e.length>0&&i.setAttribute("keyTimes",e.join(";")),i.setAttribute("dur",`${r}ms`),n.delay&&i.setAttribute("begin",`${n.delay}ms`),n.repeat?i.setAttribute("repeatCount","indefinite"):i.setAttribute("repeatCount","1"),i}createRotateAnimation(t=0,e=360,r=0,n=0,i=1e3,o={}){const a=document.createElementNS("http://www.w3.org/2000/svg","animateTransform");return a.setAttribute("attributeName","transform"),a.setAttribute("type","rotate"),a.setAttribute("from",`${t} ${r} ${n}`),a.setAttribute("to",`${e} ${r} ${n}`),a.setAttribute("dur",`${i}ms`),o.delay&&a.setAttribute("begin",`${o.delay}ms`),o.repeat?a.setAttribute("repeatCount","indefinite"):a.setAttribute("repeatCount","1"),a}addAnimations(t,e){e.forEach(e=>{t.appendChild(e),this.animationElements.push(e)})}updatePosition(){if(!this.vectorElement)return;const t=this.options,{left:e,top:r}=this.target.bounds;let{x:n,y:i}=this.target.toGlobal(e,r,this.target.rootModel);n+=t.x,i+=t.y,this.vectorElement.setAttribute("transform",`translate(${n}, ${i})`)}updateDOMElements(){this.createDOMElements()}getVectorGroupId(){const t=this.getDecoratorType(),{refid:e="unknown"}=this.target.state;return`decorator-${t}-${e}`}removeVectorElements(){if(this.overlay)try{const t=Wlt.svgContainerCache.get(this.overlay);if(!t)return;const e=this.getVectorGroupId(),r=this.getDecoratorType(),n=t.querySelector(`g[data-decorator-type-container="${r}"]`);if(n){const t=n.querySelector(`g[data-decorator-group-id="${e}"]`);if(t&&(this.vectorElement&&(this.vectorElement===t||t.contains(this.vectorElement))&&(this.vectorElement=null),this.animationElements=this.animationElements.filter(e=>!t.contains(e)),t.remove()),!n.querySelector("g[data-decorator-group-id]")){const t=n.querySelector(`defs[data-defs-for="${r}"]`);t&&t.remove(),n.remove()}}0===t.children.length&&(t.remove(),Wlt.svgContainerCache.delete(this.overlay))}catch(t){console.error("벡터 요소 제거 실패:",t)}}removeDOMElements(){this.removeVectorElements()}delta(t,e){if("string"==typeof t)return"fade"===t?this.applyFadeValue(e):"theta"===t&&this.applyRotationValue(e),{tx:0,ty:0};if("object"==typeof t){const e=t;("tx"in e||"ty"in e)&&this.applyTranslateValues(e.tx||0,e.ty||0),("sx"in e||"sy"in e)&&this.applyScaleValues(e.sx||1,e.sy||1)}return null}invalidate(){this.mode===Blt.DOM&&this.isActive&&this.updateDOMElements()}touch(){}applyFadeValue(t){if(this.vectorElement){const e=t.toFixed(2);this.vectorElement.setAttribute("opacity",e)}}applyRotationValue(t){if(this.vectorElement){const e=this.getComponentBounds(),r=e.width/2,n=e.height/2,i=(180*t/Math.PI).toFixed(1);this.vectorElement.setAttribute("transform",`rotate(${i} ${r} ${n})`)}}applyTranslateValues(t,e){if(this.vectorElement){const r=this.vectorElement.getAttribute("transform")||"";if(r.includes("translate")){const n=r.replace(/translate\([^)]+\)/,`translate(${t}, ${e})`);this.vectorElement.setAttribute("transform",n)}else this.vectorElement.setAttribute("transform",`${r} translate(${t}, ${e})`.trim())}}applyScaleValues(t,e){if(this.vectorElement){const r=this.vectorElement.getAttribute("transform")||"";if(r.includes("scale")){const n=r.replace(/scale\([^)]+\)/,`scale(${t}, ${e})`);this.vectorElement.setAttribute("transform",n)}else this.vectorElement.setAttribute("transform",`${r} scale(${t}, ${e})`.trim())}}getComponentBounds(){return this.target&&this.target.bounds?this.target.bounds:{top:0,left:0,width:100,height:100}}}Wlt.svgContainerCache=new WeakMap,Wlt.DECORATOR_TYPE="vector";class qlt extends Hlt{constructor(t,e,r={}){super(t,e,{scale:1,strokeColor:"#000000",strokeWidth:1,rotation:0,shadow:!1,shadowColor:"rgba(0,0,0,0.5)",shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,...r}),this.animationId=null,this.canvasElement=null,this.context=null,this.animationFrame=null,this.deltaValue=0}determineOptimalMode(){return Blt.CANVAS}createDOMElements(){console.warn("RasterDecorator는 DOM 렌더링을 지원하지 않습니다. Canvas 모드를 사용하세요.")}setAnimationState(t=3e3,e=!1){qlt.animationStateMap.set(this.target,{startTime:Date.now(),duration:t,repeat:e})}getAnimationState(){const t=qlt.animationStateMap.get(this.target);if(!t)return{delta:0,finished:!0};const{startTime:e,duration:r,repeat:n}=t,i=Date.now()-e;let o=Math.min(1,i/r),a=o>=1;return n&&a&&(qlt.animationStateMap.set(this.target,{startTime:Date.now(),duration:r,repeat:n}),o=0,a=!1),{delta:o,finished:a}}bounceEffect(t,e=10){const r=Math.min(1,4*t);return Math.sin(r*Math.PI*10)*e*(1-r)}fadeEffect(t,e=!1){return e?t:1-t}pulseEffect(t,e=.8,r=1.2){return e+(.5*Math.sin(t*Math.PI*2)+.5)*(r-e)}rotateEffect(t,e=360){return t*e}applyShadowEffect(t){if(this.options.shadow){const e=this.options;t.shadowColor=e.shadowColor||"rgba(0,0,0,0.5)",t.shadowBlur=e.shadowBlur||5,t.shadowOffsetX=e.shadowOffsetX||2,t.shadowOffsetY=e.shadowOffsetY||2}}removeShadowEffect(t){t.shadowColor="transparent",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0}start(){super.start(),this.isActive&&this.options.animation&&this.setAnimationState(this.options.duration||3e3,this.options.repeat||!1)}stop(){super.stop(),qlt.animationStateMap.delete(this.target)}applyTransform(t,e,r){const n=this.options,i=n.scale||1,o=n.rotation||0;if(1!==i||0!==o){if(t.translate(e,r),0!==o){const e=o*Math.PI/180;t.rotate(e)}1!==i&&t.scale(i,i),t.translate(-e,-r)}}delta(t,e){return"string"==typeof t?("fade"===t?(this.deltaValue=e,this.context&&(this.context.globalAlpha=e)):"theta"===t&&(this.deltaValue=e),{tx:0,ty:0}):null}invalidate(){this.context&&this.isActive&&(this.animationFrame||(this.animationFrame=requestAnimationFrame(()=>{this.animationFrame=null,this.renderCanvas(this.context,this.deltaValue)})))}touch(){this.deltaValue=0}}qlt.animationStateMap=new WeakMap;class Vlt extends Wlt{constructor(t,e,r={}){super(t,e,{size:1,showId:!1,animation:!1,...r}),this.arrowElement=null,this.labelElement=null,this.decoratorGroup=null}createDOMElements(){if(this.overlay)try{const t=this.getOrCreateDecoratorGroup(!0);this.decoratorGroup=t,t.setAttribute("transform","translate(0, 0)");const{size:e=1,showId:r=!1,duration:n=3e3,repeat:i=!0}=this.options,o=this.options.color||"#FF0000",a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("d",this.createArrowPath(0,0,e)),a.setAttribute("fill",o),a.setAttribute("stroke",o),a.setAttribute("stroke-width","1"),a.setAttribute("class","bouncing-arrow");const s=[];if(this.options.animation){const t=this.createBounceAnimation(n,i);if(s.push(t),this.options.fadeOut){const t=this.createFadeAnimation(1,0,n,{repeat:i});s.push(t)}}if(this.addAnimations(a,s),t.appendChild(a),this.arrowElement=a,r&&this.target.state?.id){const r=this.createArrowLabel(0,0,o,this.target.state.id,e);if(this.options.animation){const t=[],e=this.createBounceAnimation(n,i);if(t.push(e),this.options.fadeOut){const e=this.createFadeAnimation(1,0,n,{repeat:i});t.push(e)}this.addAnimations(r,t)}t.appendChild(r),this.labelElement=r}this.vectorElement=t,this.updatePosition(),this.options.animation&&this.startAnimations()}catch(t){console.error("화살표 SVG 요소 생성 실패:",t)}}createArrowPath(t,e,r=1){const n=r/this.getScale();return`\n M${t-10*n},${e-16*n} \n L${t+10*n},${e-16*n} \n L${t+10*n},${e-8*n} \n L${t+16*n},${e-8*n} \n L${t},${e} \n L${t-16*n},${e-8*n} \n L${t-10*n},${e-8*n} \n Z\n `}getScale(){try{if(this.target.rootModel&&"number"==typeof this.target.rootModel.scale)return this.target.rootModel.scale||1}catch(t){console.warn("스케일 계산 실패, 기본값 사용",t)}return 1}createBounceAnimation(t,e){let r=["0,-10"],n=["0"];for(let t=1;t<=20;t++){const e=t/20;let i=Math.pow(e,.5).toFixed(3);parseFloat(n[n.length-1])>=parseFloat(i)&&(i=(parseFloat(n[n.length-1])+.01).toFixed(3)),r.push("0,0"),r.push("0,-10"),n.push(i),n.push((parseFloat(i)+.01).toFixed(3))}return n[n.length-1]="1.000",this.createTranslateAnimation(r,n,t,{repeat:e})}createArrowLabel(t,e,r,n,i=1){const o=document.createElementNS("http://www.w3.org/2000/svg","g");o.setAttribute("class","bouncing-arrow-label");const a=document.createElementNS("http://www.w3.org/2000/svg","rect");a.setAttribute("x",`${t+20*i}`),a.setAttribute("y",""+(e-20*i)),a.setAttribute("width",""+40*i),a.setAttribute("height",""+20*i),a.setAttribute("rx","3"),a.setAttribute("fill",r);const s=document.createElementNS("http://www.w3.org/2000/svg","text");return s.setAttribute("x",`${t+40*i}`),s.setAttribute("y",""+(e-6*i)),s.setAttribute("fill","white"),s.setAttribute("font-size",12*i+"px"),s.setAttribute("text-anchor","middle"),s.textContent=n,o.appendChild(a),o.appendChild(s),o}startAnimations(){setTimeout(()=>{this.animationElements.forEach(t=>{try{t instanceof SVGElement&&"beginElement"in t&&t.beginElement()}catch(t){console.error("애니메이션 시작 오류:",t)}})},10)}invalidate(){this.updatePosition()}updatePosition(){if(!this.vectorElement)return;const{bounds:t}=this.target,{left:e,top:r,width:n}=t;let{x:i,y:o}=this.target.toGlobal(e+n/2,r,this.target.rootModel);i=Math.max(i,20),o=Math.max(o,20),this.vectorElement.setAttribute("transform",`translate(${i}, ${o})`)}}Vlt.DECORATOR_TYPE="bouncing-arrow",function(t){t.ROTATE="rotate",t.TRANSLATE_X="translateX",t.TRANSLATE_Y="translateY",t.SCALE="scale",t.FADE="fade"}($lt||($lt={})),function(t){t.VIBRATION="vibration",t.ROTATION="rotation",t.HEARTBEAT="heartbeat",t.MOVING="moving",t.OUTLINE="outline",t.FADE="fade",t.WAYPOINT="waypoint"}(Ylt||(Ylt={})),function(t){t.CENTER="center",t.TOP="top",t.RIGHT="right",t.BOTTOM="bottom",t.LEFT="left",t.TOP_RIGHT="top-right",t.BOTTOM_RIGHT="bottom-right",t.BOTTOM_LEFT="bottom-left",t.TOP_LEFT="top-left",t.TOP_LEFT_CORNER="top-left-corner",t.TOP_RIGHT_CORNER="top-right-corner",t.BOTTOM_LEFT_CORNER="bottom-left-corner",t.BOTTOM_RIGHT_CORNER="bottom-right-corner",t.LEFT_TOP="left-top",t.LEFT_BOTTOM="left-bottom",t.RIGHT_TOP="right-top",t.RIGHT_BOTTOM="right-bottom"}(Glt||(Glt={}));class Xlt extends Wlt{constructor(t,e,r={}){const{animations:n,...i}=r;super(t,e,{icon:"arrow_forward",size:24,color:"#FF0000",deltaX:0,deltaY:0,...i}),this.animations=[],this._location=null,this.element=null,this._delta={theta:0,tx:0,ty:0,sx:1,sy:1,fade:0},this.animations=this.createAnimations(n)}delta(t,e){if(!t)return this._delta;switch(typeof t){case"object":this._delta={...this._delta,...t};break;case"string":if(void 0===e)return this._delta[t];this._delta[t]=e}const{tx:r,ty:n,sx:i,sy:o,theta:a,fade:s}=this._delta;return this.element&&Object.assign(this._getElement().style,{opacity:1-s,transform:`rotate(${a}rad) translate(${r}px, ${n}px) scale(${i}, ${o}) perspective(1px)`}),this._delta}getScaledSize(){const t=this.options.size||24,{x:e}=this.target.rootModel?.state.scale||{x:1},{x:r}=this.target.state.scale||{x:1};return t*e*r}get location(){if(this._location)return this._location;const{location:t,position:e,size:r}=this.options,{bounds:n}=this.target,{left:i,top:o,width:a,height:s}=n,c=r/2;let l;switch(e||t||Glt.CENTER){case Glt.TOP_LEFT:case"top-left":l={x:i,y:o-r};break;case Glt.TOP:case"top":l={x:i+(a-r)/2,y:o-r};break;case Glt.TOP_RIGHT:case"top-right":l={x:i+a-r,y:o-r};break;case Glt.BOTTOM_LEFT:case"bottom-left":l={x:i,y:o+s};break;case Glt.BOTTOM:case"bottom":l={x:i+(a-r)/2,y:o+s};break;case Glt.BOTTOM_RIGHT:case"bottom-right":l={x:i+a-r,y:o+s};break;case Glt.LEFT_TOP:case"left-top":l={x:i-r,y:o};break;case Glt.LEFT:case"left":l={x:i-r,y:o+(s-r)/2};break;case Glt.LEFT_BOTTOM:case"left-bottom":l={x:i-r,y:o+(s-r)};break;case Glt.RIGHT_TOP:case"right-top":l={x:i+a,y:o};break;case Glt.RIGHT:case"right":l={x:i+a,y:o+(s-r)/2};break;case Glt.RIGHT_BOTTOM:case"right-bottom":l={x:i+a,y:o+(s-r)};break;case Glt.TOP_LEFT_CORNER:case"top-left-corner":l={x:i-c,y:o-c};break;case Glt.TOP_RIGHT_CORNER:case"top-right-corner":l={x:i+a-c,y:o-c};break;case Glt.BOTTOM_LEFT_CORNER:case"bottom-left-corner":l={x:i-c,y:o+s-c};break;case Glt.BOTTOM_RIGHT_CORNER:case"bottom-right-corner":l={x:i+a-c,y:o+s-c};break;case Glt.CENTER:default:l={x:i+a/2-r/2,y:o+s/2-r/2}}return this._location=this.toGlobal(l.x,l.y),this._location}_getElement(){return this.element||this._createElementIfNeeded(),this.element}_createElementIfNeeded(){if(this.element)return;const{icon:t="arrow_forward",color:e="#FF0000"}=this.options,r=this.getScaledSize(),{x:n,y:i}=this.location,o=document.createElement("div");o.setAttribute("scene","animated-icon"),Object.assign(o.style,{position:"absolute",fontVariationSettings:"'FILL' 1",fontFamily:"Material Symbols Outlined",fontSize:r+"px",width:r+"px",height:r+"px",lineHeight:r+"px",padding:0,margin:0,color:e,textAlign:"center",verticalAlign:"middle",left:n+"px",top:i+"px",pointerEvents:"none"}),o.textContent=t,this.element=o}updateIconSizeAndPosition(){if(!this.element)return;this._location=null;const t=this.getScaledSize(),{x:e,y:r}=this.location;Object.assign(this.element.style,{fontSize:t+"px",width:t+"px",height:t+"px",lineHeight:t+"px",left:e+"px",top:r+"px"})}touch(){}invalidate(){this.updateIconSizeAndPosition()}start(){super.start(),this.isActive&&(this.overlay&&this._getElement().parentNode!==this.overlay&&this.overlay.appendChild(this._getElement()),this.animations.forEach(t=>t.start()))}stop(){this.animations.forEach(t=>t.stop()),this.element&&this._getElement().parentNode&&this._getElement().parentNode.removeChild(this._getElement()),this._location=null,super.stop()}get center(){const t=this.getScaledSize(),{x:e,y:r}=this.location;return{x:e+t/2,y:r+t/2}}toGlobal(t,e){const{tx:r,ty:n}=this._delta;return this.target.toGlobal(t+r,e+n)}get root(){return this.target.root}createDOMElements(){this._getElement()}updateDOMElements(){this.element?this.updateIconSizeAndPosition():this._getElement()}updatePosition(){this.updateIconSizeAndPosition()}createAnimations(t){if(Array.isArray(t))return t.map(t=>("theta"in t&&(t={...t,theta:t.theta*(Math.PI/180)}),kat(this,t)));if(t){const e={...t};return"theta"in e&&(e.theta=e.theta*(Math.PI/180)),[kat(this,e)]}return[]}}Xlt.DECORATOR_TYPE="animated-icon";class Klt extends Wlt{constructor(t,e,r={}){super(t,e,{distance:10,lineWidth:2,fillStyle:"rgba(0, 0, 0, 0.5)",animation:!1,...r}),this.pathElement=null,this.decoratorGroup=null,this.elementId=""}createDOMElements(){if(this.overlay)try{this.getSvgContainer();const t=this.getOrCreateDecoratorGroup(!0);this.decoratorGroup=t;const e=this.getDefsForType(),r=this.getVectorGroupId();this.elementId=`${r}-border`;const{color:n="#FF0000",animation:i=!1}=this.options,{fillStyle:o}=this.target.state||{},a=this.createFilter(this.elementId,this.options.fillStyle||o||"rgba(0, 0, 0, 0.5)");if(e.appendChild(a),i){const t=this.createGradient(this.elementId,n);e.appendChild(t)}const s=document.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("fill","none"),s.setAttribute("stroke-width",(this.options.lineWidth||2).toString()),s.setAttribute("stroke-linejoin","round"),s.setAttribute("pointer-events","none"),s.setAttribute("class","border-highlighting-path"),s.setAttribute("filter",`url(#${this.elementId}-filter)`),i?s.setAttribute("stroke",`url(#${this.elementId})`):s.setAttribute("stroke",n),t.appendChild(s),this.pathElement=s,this.vectorElement=t,this.updatePathData(),this.options.animation&&this.startAnimations()}catch(t){console.error("테두리 하이라이팅 요소 생성 실패:",t)}}updatePathData(){if(!this.pathElement)return;this.pathElement.setAttribute("visibility","visible"),this.pathElement.setAttribute("opacity","1"),this.decoratorGroup&&(this.decoratorGroup.setAttribute("visibility","visible"),this.decoratorGroup.setAttribute("opacity","1"));const t=this.getPathPoints(),e=this.createOffsetPath(t,this.options.distance),{round:r=0}=this.target.state||{},n=this.pointsToPathData(e,r);this.pathElement.setAttribute("d",n)}invalidate(){this.updatePathData()}startAnimations(){if(!this.isActive||!this.options.animation||!this.pathElement)return;this.pathElement.setAttribute("visibility","visible"),this.pathElement.setAttribute("opacity","1"),this.decoratorGroup&&(this.decoratorGroup.setAttribute("visibility","visible"),this.decoratorGroup.setAttribute("opacity","1")),this.elementId&&(this.options,this.pathElement.setAttribute("stroke",`url(#${this.elementId})`),this.pathElement.setAttribute("filter",`url(#${this.elementId}-filter)`));const t=this.getDefsForType();if(t){const e=t.querySelector(`#${this.elementId}`);if(e){e.querySelectorAll("animate").forEach(t=>{try{t instanceof SVGElement&&"beginElement"in t&&(t.setAttribute("restart","always"),t.beginElement())}catch(t){console.error("애니메이션 시작 오류:",t)}})}}}createDefsElement(t){const e=document.createElementNS("http://www.w3.org/2000/svg","defs");return t.appendChild(e),e}getPathPoints(){if(!this.target.path||!Array.isArray(this.target.path)){const{left:t,top:e,width:r,height:n}=this.target.bounds;return[{x:t,y:e},{x:t+r,y:e},{x:t+r,y:e+n},{x:t,y:e+n}]}return this.target.path.map(t=>this.target.toGlobal(t.x,t.y))}createOffsetPath(t,e){const r=[],n=t.length;for(let i=0;i<n;i++){const o=t[(i-1+n)%n],a=t[i],s=t[(i+1)%n],c=a.x-o.x,l=a.y-o.y,u=s.x-a.x,h=s.y-a.y,f=this.normalize({x:l,y:-c}),d=this.normalize({x:h,y:-u}),p=this.normalize({x:(f.x+d.x)/2,y:(f.y+d.y)/2}),g={x:a.x+p.x*e,y:a.y+p.y*e};r.push(g)}return r}normalize(t){const e=Math.sqrt(t.x*t.x+t.y*t.y);return{x:t.x/e||0,y:t.y/e||0}}pointsToPathData(t,e=0){if(t.length<2)return"";let r="";const n=t.length,i=(t,e,r)=>{const n=e.x-t.x,i=e.y-t.y,o=Math.sqrt(n*n+i*i);return{x:t.x+n/o*r,y:t.y+i/o*r}};for(let o=0;o<n;o++){const a=t[o],s=t[(o+1)%n],c=t[(o-1+n)%n],l=Math.sqrt((a.x-c.x)**2+(a.y-c.y)**2),u=Math.sqrt((a.x-s.x)**2+(a.y-s.y)**2),h=Math.min(e,l/2,u/2),f=i(a,c,h),d=i(a,s,h);r+=0===o?`M${f.x},${f.y}`:` L${f.x},${f.y}`,r+=` Q${a.x},${a.y} ${d.x},${d.y}`}return r+=" Z",r}createFilter(t,e){const r=document.createElementNS("http://www.w3.org/2000/svg","filter");r.setAttribute("id",`${t}-filter`);const n=document.createElementNS("http://www.w3.org/2000/svg","feFlood");n.setAttribute("flood-color",e),n.setAttribute("result","flood");const i=document.createElementNS("http://www.w3.org/2000/svg","feComposite");i.setAttribute("in","flood"),i.setAttribute("in2","SourceAlpha"),i.setAttribute("operator","in"),i.setAttribute("result","mask");const o=document.createElementNS("http://www.w3.org/2000/svg","feMerge"),a=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode");a.setAttribute("in","mask");const s=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode");return s.setAttribute("in","SourceGraphic"),o.appendChild(a),o.appendChild(s),r.appendChild(n),r.appendChild(i),r.appendChild(o),r}createGradient(t,e){const r=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");r.setAttribute("id",t),r.setAttribute("x1","0%"),r.setAttribute("y1","0%"),r.setAttribute("x2","100%"),r.setAttribute("y2","0%");const n=this.alterColor(e,120),i=this.alterColor(e,240),o=document.createElementNS("http://www.w3.org/2000/svg","stop");o.setAttribute("offset","0%"),o.setAttribute("stop-color",e);const a=document.createElementNS("http://www.w3.org/2000/svg","animate");a.setAttribute("attributeName","stop-color"),a.setAttribute("values",`${e};${n};${i};${e}`),a.setAttribute("dur","5s"),a.setAttribute("repeatCount","indefinite");const s=document.createElementNS("http://www.w3.org/2000/svg","stop");s.setAttribute("offset","100%"),s.setAttribute("stop-color",i);const c=document.createElementNS("http://www.w3.org/2000/svg","animate");return c.setAttribute("attributeName","stop-color"),c.setAttribute("values",`${i};${e};${n};${i}`),c.setAttribute("dur","5s"),c.setAttribute("repeatCount","indefinite"),o.appendChild(a),s.appendChild(c),r.appendChild(o),r.appendChild(s),r}alterColor(t,e){const r=this.convertToHex(t),n=parseInt(r.substring(1,3),16),i=parseInt(r.substring(3,5),16),o=parseInt(r.substring(5,7),16),a=this.rgbToHsl(n,i,o);a[0]=(a[0]+e/360)%1;const s=this.hslToRgb(a[0],a[1],a[2]);return`#${s[0].toString(16).padStart(2,"0")}${s[1].toString(16).padStart(2,"0")}${s[2].toString(16).padStart(2,"0")}`}rgbToHsl(t,e,r){t/=255,e/=255,r/=255;const n=Math.max(t,e,r),i=Math.min(t,e,r);let o=0,a=0;const s=(n+i)/2;if(n!==i){const c=n-i;switch(a=s>.5?c/(2-n-i):c/(n+i),n){case t:o=(e-r)/c+(e<r?6:0);break;case e:o=(r-t)/c+2;break;case r:o=(t-e)/c+4}o/=6}return[o,a,s]}hslToRgb(t,e,r){let n,i,o;if(0===e)n=i=o=r;else{const a=(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t),s=r<.5?r*(1+e):r+e-r*e,c=2*r-s;n=a(c,s,t+1/3),i=a(c,s,t),o=a(c,s,t-1/3)}return[Math.round(255*n),Math.round(255*i),Math.round(255*o)]}convertToHex(t){if(/^#([0-9A-F]{6})$/i.test(t))return t;const e=document.createElement("canvas");e.width=1,e.height=1;const r=e.getContext("2d");if(!r)return"#FF0000";r.fillStyle=t,r.fillRect(0,0,1,1);const n=r.getImageData(0,0,1,1).data;return`#${n[0].toString(16).padStart(2,"0")}${n[1].toString(16).padStart(2,"0")}${n[2].toString(16).padStart(2,"0")}`}start(){super.start(),this.isActive&&this.options.animation&&this.startAnimations()}removeDOMElements(){try{if(this.pathElement&&this.pathElement.parentNode&&this.pathElement.parentNode.removeChild(this.pathElement),this.pathElement=null,this.overlay){const t=this.getDefsForType();if(t&&this.elementId){const e=t.querySelector(`#${this.elementId}-filter`);e&&e.remove();const r=t.querySelector(`#${this.elementId}`);r&&r.remove()}}super.removeDOMElements()}catch(t){console.error("테두리 하이라이팅 요소 제거 중 오류:",t)}}}Klt.DECORATOR_TYPE="border-highlighting";class Qlt extends Wlt{constructor(t,e,r={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:3,padding:3,fontSize:"12px",fontFamily:"Arial",...r}),this.textElements=[],this.rectElements=[]}updateDOMElements(){if(!this.target.anchors||!this.target.anchors.length)return void this.removeDOMElements();const t=this.options,e=this.target.anchors,r=this.getOrCreateDecoratorGroup(!0);this.textElements=[],this.rectElements=[];const n=this.getComponentBounds();e.forEach(e=>{const{name:i,position:o,inout:a="inout"}=e;let{x:s,y:c}=o||{};if(!i)return;let l=this.calculateOffsetX(s,n),u=this.calculateOffsetY(c,n);const h=this.target.toGlobal(s,c);s=h.x,c=h.y;const f=document.createElementNS("http://www.w3.org/2000/svg","text");f.setAttribute("fill",t.textColor),f.setAttribute("font-family",t.fontFamily),f.setAttribute("font-size",t.fontSize),f.textContent=i,r.appendChild(f);const d=f.getBBox();r.removeChild(f);const p=d.width,g=d.height;l=-1==l?-p-9:3,u=-1==u?-g-9:3,f.setAttribute("x",(s+l+3).toString()),f.setAttribute("y",(c+u+g).toString());const v=document.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("x",(s+l).toString()),v.setAttribute("y",(c+u).toString()),v.setAttribute("width",(p+6).toString()),v.setAttribute("height",(g+6).toString()),v.setAttribute("rx",t.cornerRadius.toString()),v.setAttribute("ry",t.cornerRadius.toString()),v.setAttribute("fill",t.bgColor),r.appendChild(v),r.appendChild(f),this.rectElements.push(v),this.textElements.push(f)})}calculateOffsetX(t,e){return t<e.left+1?-1:1}calculateOffsetY(t,e){return t<e.top+1?-1:1}updatePosition(){super.updatePosition(),this.updateDOMElements()}invalidate(){this.updatePosition()}createDOMElements(){this.updateDOMElements()}}Qlt.DECORATOR_TYPE="anchors";class Jlt extends Wlt{constructor(t,e,r={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:3,padding:3,fontSize:"12px",fontFamily:"Arial",offsetX:3,offsetY:-8,animation:!1,...r}),this.textElement=null,this.backgroundElement=null,this.currentTag=""}createDOMElements(){const t=this.target.decotag;if(!t)return;this.currentTag=t;const{fontFamily:e,fontSize:r,textColor:n,padding:i,cornerRadius:o,bgColor:a,animation:s,repeat:c,duration:l}=this.options,u=this.getOrCreateDecoratorGroup(!0);u.setAttribute("transform","translate(0, 0)"),this.textElement=document.createElementNS("http://www.w3.org/2000/svg","text"),this.textElement.textContent=t,this.textElement.setAttribute("x",`${i}`),this.textElement.setAttribute("y",`-${r}`),this.textElement.setAttribute("font-family",e),this.textElement.setAttribute("font-size",r),this.textElement.setAttribute("fill",n),this.textElement.setAttribute("dominant-baseline","middle"),u.appendChild(this.textElement);const h=this.textElement.getBBox();if(this.backgroundElement=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.backgroundElement.setAttribute("x",(h.x-i).toString()),this.backgroundElement.setAttribute("y",(h.y-i).toString()),this.backgroundElement.setAttribute("width",(h.width+2*i).toString()),this.backgroundElement.setAttribute("height",(h.height+2*i).toString()),this.backgroundElement.setAttribute("rx",o.toString()),this.backgroundElement.setAttribute("ry",o.toString()),this.backgroundElement.setAttribute("fill",a),u.innerHTML="",u.appendChild(this.backgroundElement),u.appendChild(this.textElement),s){const t=this.createFadeAnimation(.3,1,l,{repeat:c});this.addAnimations(u,[t])}this.vectorElement=u,this.updatePosition()}updateDOMElements(){const t=this.target.decotag;t&&t===this.currentTag?this.vectorElement&&this.updatePosition():(this.removeDOMElements(),this.createDOMElements())}updatePosition(){super.updatePosition()}invalidate(){this.updatePosition()}}Jlt.DECORATOR_TYPE="decotag";class Zlt extends Wlt{constructor(t,e,r={}){super(t,e,{arrowColor:"#FFA500",arrowHeadLength:12,lineWidth:1.5,startAlpha:.6,endAlpha:1,animated:!0,animationDuration:5e3,repeat:!1,...r}),this.currentMappings=null}createDOMElements(){if(this.removeDOMElements(),!this.target.mappings||!this.target.mappings.length)return;this.currentMappings=this.target.mappings;const t=this.options,e=this.getOrCreateDecoratorGroup(!0),r=this.getDefsForType(),n=`data-spread-style-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,i=document.createElementNS("http://www.w3.org/2000/svg","style");i.setAttribute("id",n),i.textContent=`\n @keyframes fadeOut {\n from { opacity: 1; }\n to { opacity: ${t.repeat?"0.2":"0"}; }\n }\n .arrow-animated {\n animation: fadeOut ${t.animationDuration||2e3}ms linear ${t.repeat?"infinite":"1"} forwards;\n }\n `,r.appendChild(i);const o=`arrow-gradient-${Date.now()}-${Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}`,a=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");a.setAttribute("id",o),a.setAttribute("gradientUnits","userSpaceOnUse");const s=document.createElementNS("http://www.w3.org/2000/svg","stop");s.setAttribute("offset","0%"),s.setAttribute("stop-color",t.arrowColor||"#FFA500"),s.setAttribute("stop-opacity",(t.startAlpha||.5).toString());const c=document.createElementNS("http://www.w3.org/2000/svg","stop");c.setAttribute("offset","100%"),c.setAttribute("stop-color",t.arrowColor||"#FFA500"),c.setAttribute("stop-opacity",(t.endAlpha||1).toString()),a.appendChild(s),a.appendChild(c),r.appendChild(a);const l=document.createElementNS("http://www.w3.org/2000/svg","g");l.setAttribute("class",t.animated?"arrow-animated":""),e.appendChild(l);this.target.mappings.forEach(e=>{let r=this.target.root.findAll(e.target,this.target);r&&r.length&&r.forEach(e=>{let r=this.target.center,n=e.center;r=this.target.toGlobal(r.x,r.y,this.target.rootModel),n=e.toGlobal(n.x,n.y,e.rootModel),a.setAttribute("x1",r.x.toString()),a.setAttribute("y1",r.y.toString()),a.setAttribute("x2",n.x.toString()),a.setAttribute("y2",n.y.toString());const{linePath:i,headPath:s}=this.createArrowPaths(r,n,t.arrowHeadLength),c=document.createElementNS("http://www.w3.org/2000/svg","path");c.setAttribute("d",i),c.setAttribute("stroke",`url(#${o})`),c.setAttribute("stroke-width",String(t.lineWidth||2)),c.setAttribute("fill","none"),c.setAttribute("data-target-id",e.state?.id||""),c.setAttribute("data-source-id",this.target.state?.id||"");const u=document.createElementNS("http://www.w3.org/2000/svg","path");u.setAttribute("d",s),u.setAttribute("fill",t.arrowColor||"#FFA500"),u.setAttribute("stroke","none"),l.appendChild(c),l.appendChild(u)})}),this.vectorElement=e}createArrowPaths(t,e,r){const n=e.x-t.x,i=e.y-t.y,o=Math.atan2(i,n),a=e.x+r*Math.cos(o+Zlt.ARROW_ANGLE_1),s=e.y+r*Math.sin(o+Zlt.ARROW_ANGLE_1),c=e.x+r*Math.cos(o+Zlt.ARROW_ANGLE_2),l=e.y+r*Math.sin(o+Zlt.ARROW_ANGLE_2);return{linePath:`M ${t.x} ${t.y} L ${e.x} ${e.y}`,headPath:`M ${e.x} ${e.y} L ${a} ${s} L ${c} ${l} Z`}}updateDOMElements(){if(!this.target.app?.isEditMode)return void this.removeDOMElements();const t=this.target.mappings;t&&t===this.currentMappings?this.vectorElement&&this.updatePosition():(this.removeDOMElements(),requestAnimationFrame(()=>{this.createDOMElements()}))}updatePosition(){const t=this.getDecoratorType(),e=this.getSvgContainer().querySelector(`g[data-decorator-type-container="${t}"]`);if(!e)return;const r=this.getVectorGroupId(),n=e.querySelector(`g[data-decorator-group-id="${r}"]`);if(!n)return;const i=this.options;if(!this.target.mappings||!this.target.mappings.length)return;const o=n.querySelector("g.arrow-animated")||n,a=Array.from(o.querySelectorAll('path[fill="none"]')),s=Array.from(o.querySelectorAll('path[stroke="none"]'));if(0===a.length)return;const c=e.querySelector(`defs[data-defs-for="${t}"]`);if(!c)return;const l=c.querySelector("linearGradient");if(!l)return;const u=this.target.mappings;let h=[];u.forEach(t=>{const e=this.target.root.findAll(t.target,this.target);e&&e.length&&(h=[...h,...e])});for(let t=0;t<Math.min(a.length,s.length,h.length);t++){const e=a[t],r=s[t],n=h[t];let o=this.target.center,c=n.center;o=this.target.toGlobal(o.x,o.y,this.target.rootModel),c=n.toGlobal(c.x,c.y,n.rootModel);const{linePath:u,headPath:f}=this.createArrowPaths(o,c,i.arrowHeadLength);e.setAttribute("d",u),r.setAttribute("d",f),0===t&&l&&(l.setAttribute("x1",o.x.toString()),l.setAttribute("y1",o.y.toString()),l.setAttribute("x2",c.x.toString()),l.setAttribute("y2",c.y.toString()))}}removeDOMElements(){this.currentMappings=null;try{if(this.overlay){const t=this.getSvgContainer();if(t){const e=this.getDecoratorType(),r=t.querySelector(`g[data-decorator-type-container="${e}"]`);if(r){const t=r.querySelector(`defs[data-defs-for="${e}"]`);if(t){t.querySelectorAll("style").forEach(t=>t.remove());t.querySelectorAll("linearGradient").forEach(t=>t.remove())}}}}this.animationElements=[],super.removeDOMElements()}catch(t){console.error("데이터 스프레드 데코레이터 요소 제거 중 오류:",t)}}invalidate(){this.updatePosition()}}Zlt.DECORATOR_TYPE="data-spread",Zlt.ARROW_ANGLE_1=160*Math.PI/180,Zlt.ARROW_ANGLE_2=200*Math.PI/180;class tut extends Wlt{constructor(t,e,r={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:2,padding:2,fontSize:"12px",fontFamily:"Arial",offsetX:4,offsetY:4,...r}),this.textElements=[],this.rectElements=[]}createDOMElements(){this.updateDOMElements()}updateDOMElements(){if(!this.target.isLine||!this.target.isLine())return void this.removeDOMElements();const{offsetX:t,offsetY:e,padding:r,textColor:n,bgColor:i,cornerRadius:o,fontSize:a,fontFamily:s}=this.options,c=this.getOrCreateDecoratorGroup(!0);this.textElements=[],this.rectElements=[];const{fromEnd:l,toEnd:u}=this.target;[l,u].filter(Boolean).forEach(l=>{const{component:u,anchor:h}=l;if(!h)return;const{name:f,position:d}=h||{},p=u.rootModel;if(!p||!f||!d)return;let{x:g,y:v}=u.toGlobal(d.x,d.y,p);const y=document.createElementNS("http://www.w3.org/2000/svg","g"),m=document.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("text-anchor","middle"),m.setAttribute("dominant-baseline","middle"),m.setAttribute("x","0"),m.setAttribute("y","0"),m.setAttribute("fill",n),m.setAttribute("font-family",s),m.setAttribute("font-size",a),m.textContent=f,c.appendChild(m);const b=m.getBBox();c.removeChild(m);const x=document.createElementNS("http://www.w3.org/2000/svg","rect"),w=b.width+2*r,A=b.height+2*r;g+=t+w/2,v+=e+A/2,x.setAttribute("x",(-w/2).toString()),x.setAttribute("y",(-A/2).toString()),x.setAttribute("width",w.toString()),x.setAttribute("height",A.toString()),x.setAttribute("rx",o.toString()),x.setAttribute("ry",o.toString()),x.setAttribute("fill",i),y.appendChild(x),y.appendChild(m),y.setAttribute("transform",`translate(${g}, ${v})`),c.appendChild(y),this.rectElements.push(x),this.textElements.push(m)})}updatePosition(){super.updatePosition(),this.updateDOMElements()}invalidate(){this.updatePosition()}}tut.DECORATOR_TYPE="link",tlt.registerDecorator("bouncing-arrow",Vlt),tlt.registerDecorator("animated-icon",Xlt),tlt.registerDecorator("border-highlighting",Klt),tlt.registerDecorator("anchors",Qlt),tlt.registerDecorator("decotag",Jlt),tlt.registerDecorator("data-spread",Zlt),tlt.registerDecorator("link",tut);const eut={x:1,y:1},rut={x:0,y:0};class nut extends Ult{dispose(){super.dispose(),this._overlay=null,this._decoratorOverlay&&(elt.getInstance().removeOverlay(this._decoratorOverlay),this._decoratorOverlay.parentNode&&this._decoratorOverlay.parentNode.removeChild(this._decoratorOverlay),this._decoratorOverlay=null),this._decoratorAuxOverlay&&(elt.getInstance().removeOverlay(this._decoratorAuxOverlay),this._decoratorAuxOverlay.parentNode&&this._decoratorAuxOverlay.parentNode.removeChild(this._decoratorAuxOverlay),this._decoratorAuxOverlay=null)}contains(t,e){return!0}isRootModel(){return!0}get stuck(){return!0}get layout(){return blt}get overlay(){if(!this._overlay){var t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","model-layer-overlay"),this.element.insertBefore(t,this.auxCanvas),this._overlay=t,this._repositionOverlay()}return this._overlay}get auxOverlay(){return this.element}get decoratorOverlay(){if(!this._decoratorOverlay){const t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","decorator-overlay"),t.id=`decorator-overlay-${Date.now()}`,this.element.insertBefore(t,this.overlay),this._decoratorOverlay=t,elt.getInstance().addOverlay(t)}return this._decoratorOverlay}get decoratorAuxOverlay(){if(!this._decoratorAuxOverlay){const t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style.zIndex="100",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","decorator-aux-overlay"),t.id=`decorator-overlay-${Date.now()}`,this.element.appendChild(t),this._decoratorAuxOverlay=t,elt.getInstance().addOverlay(t)}return this._decoratorAuxOverlay}createElement(){const t=super.createElement();return this._overlay&&t.appendChild(this._overlay),t}resize(){if(this.target){var{width:t,height:e,fitMode:r}=this.model;this.root.fitMode?r=this.root.fitMode:r||(r="ratio");try{var n=getComputedStyle(this.target)}catch(t){return void console.error(t,this.target)}var i=n?parseFloat(n.getPropertyValue("width")):this.target.clientWidth,o=n?parseFloat(n.getPropertyValue("height")):this.target.clientHeight;switch(r){case"both":case"ratio":break;case"width":o=e*i/t,this.element.style.overflowX="hidden",this.element.style.overflowY="auto";break;case"height":i=t*o/e,this.element.style.overflowX="auto",this.element.style.overflowY="hidden";break;default:i=Math.max(t,i),o=Math.max(e,o),this.element.style.overflowX=i>t?"hidden":"auto",this.element.style.overflowY=o>e?"hidden":"auto"}this.fitSize(this.element,!0),this.fitSize(this.canvas,!0,i,o),this.fitSize(this.auxCanvas,!0,i,o)}}get MPP(){var{scale:t={x:1,y:1},unit:e}=this.model;switch(e){case"mm":case"cm":return 1/this.app.PPM/t.x;case"in":return 1/this.app.PPI/t.x;default:return 1/t.x}}capturePath(t,e){var r=this.layout.capturables(this);for(let n=r.length-1;n>=0;n--){let i=r[n];if(!i.isContainer())continue;let o=i.capturePath(t,e);if(o)return o}return!1}getOverlay(t){return t&&!t.scalable?this.auxOverlay:this.overlay}getDecoratorOverlay(t){return t&&!t.scalable?this.decoratorAuxOverlay:this.decoratorOverlay}get eventMap(){return{"(self)":{"(all)":{change:this._onchanged_all,mouseenter:this._onmouseenter_all,mouseleave:this._onmouseleave_all,click:this._onclick,mousedown:this._onmousedownup,mouseup:this._onmousedownup,touchstart:this._onmousedownup,touchend:this._onmousedownup,"deco-reset":t=>this.resetDecorator(null,t.origin)},"(descendant)":{"deco-anchors":(t,e)=>this.applyDecorator(e.origin,"anchors",t),"deco-anchors-off":t=>this.offdecorator(t.origin,"anchors"),"deco-anchors-reset":t=>this.resetDecorator("anchors"),"deco-dataspread":(t,e)=>this.applyDecorator(e.origin,"data-spread",t),"deco-dataspread-off":t=>this.offdecorator(t.origin,"data-spread"),"deco-dataspread-reset":t=>this.resetDecorator("data-spread"),"deco-link":(t,e)=>this.applyDecorator(e.origin,"link",t),"deco-link-off":t=>this.offdecorator(t.origin,"link"),"deco-link-reset":t=>this.resetDecorator("link"),"deco-arrow":(t,e)=>this.applyDecorator(e.origin,"bouncing-arrow",t),"deco-arrow-off":t=>this.offdecorator(t.origin,"bouncing-arrow"),"deco-arrow-reset":t=>this.resetDecorator("bouncing-arrow"),"deco-icon":(t,e)=>this.applyDecorator(e.origin,"animated-icon",t),"deco-icon-off":t=>this.offdecorator(t.origin,"animated-icon"),"deco-icon-reset":t=>this.resetDecorator("animated-icon"),"deco-border":(t,e)=>this.applyDecorator(e.origin,"border-highlighting",t),"deco-border-off":t=>this.offdecorator(t.origin,"border-highlighting"),"deco-border-reset":t=>this.resetDecorator("border-highlighting"),"deco-tag":(t,e)=>this.applyDecorator(e.origin,"decotag",t),"deco-tag-off":t=>this.offdecorator(t.origin,"decotag"),"deco-tag-reset":t=>this.resetDecorator("decotag",t.origin),"deco-off":t=>this.offdecorator(t.origin),mouseenter:this.onmouseenterForDecorator,mouseleave:this.onmouseleaveForDecorator},"(self)":{change:this.onChangeForDecorator,redraw:this.onRedrawForDecorator}}}}onRedrawForDecorator(){elt.getInstance().invalidateOverlay(this.decoratorOverlay),elt.getInstance().invalidateOverlay(this.decoratorAuxOverlay)}closeScene(t){requestAnimationFrame(()=>this.overlay.dispatchEvent(new CustomEvent("close-scene",{bubbles:!0,composed:!0,detail:t})))}_repositionOverlay(){var t=this._overlay;if(t){var{translate:e=rut,scale:r=eut,rotation:n=0}=this.model,{left:i,top:o,width:a,height:s}=this.bounds;t.style.left=i+"px",t.style.top=o+"px",t.style.transform=`rotate(${n}rad) scale(${r.x}, ${r.y}) perspective(1px)`,t.style.marginLeft=`${e.x}px`,t.style.marginTop=`${e.y}px`}}onchange(t){var e=this._model;delete e.id,delete e.text,delete e.class,this._repositionOverlay()}_onchanged_all(t,e,r){this.invalidate()}_onmouseenter_all(t,e){if(t.stopPropagation(),this.app&&!this.app.isEditMode&&e){var r=e.origin;if(!(r instanceof nut)&&r.model.event&&r.model.event.hover&&!r.hidden){var n=r.model.event.hover;n&&this._doEventAction(n,r,!0,t)}}}_onmouseleave_all(t,e){if(t.stopPropagation(),e){var r=e.origin;if(this.app&&!this.app.isEditMode){var n=r.model.event&&r.model.event.hover;n&&this._doEventAction(n,r,!1,t)}}}_onclick(t,e){if(t.stopPropagation(),!this.app.isEditMode&&e){var r=e.origin,n=r.model.event?.tap;n&&this._doEventAction(n,r,!0,t)}}_onmousedownup(t,e){if(t.stopPropagation(),!this.app.isEditMode&&e){var r=e.origin,n=r.model.event?.tap;n&&n.pressed&&this._doMouseDownUpEventAction(n,r,"mousedown"==t.type||"touchstart"==t.type,t)}}_doMouseDownUpEventAction(t,e,r,n){var{pressed:i=!1}=t;i&&(r?function(t){if(!t.hasOwnProperty("_backupShadow")){var e=t.get("shadow");t._backupShadow=e;var{left:r=0,top:n=0}=e||{};t.delta("tx",r),t.delta("ty",n),t.set("shadow",{})}}(e):function(t){t.hasOwnProperty("_backupShadow")&&(t.delta("tx",0),t.delta("ty",0),t.set("shadow",t._backupShadow),delete t._backupShadow)}(e))}_doEventAction(t,e,r,n){var{action:i,target:o,value:a,emphasize:s=!1,restore:c=!1,pressed:l=!1,options:u}=t;if(o&&(o=e.access(o)),a&&(a=e.access(a)),s&&(r?function(t){const{hover:e}=t.state.event||{},{emphasize:r}=e||{};if(t.hasOwnProperty("_backupStrokeStyle"))return;if("__backup_emphasize"in t)return;const{strokeStyle:n,lineWidth:i,fillStyle:o}=t.state;t.__backup_emphasize={strokeStyle:n,lineWidth:i,fillStyle:o},t.setState(r)}(e):c&&function(t){"__backup_emphasize"in t&&(t.setState(t.__backup_emphasize),delete t.__backup_emphasize)}(e)),i)switch(i){case"data-toggle":if(!o)return;(r||c)&&this.root.findAll(o,e).forEach(t=>{t.data=!t.data});break;case"data-tristate":if(!o)return;(r||c)&&this.root.findAll(o,e).forEach(t=>{let e=Math.round(Math.max(Number(t.data)||0,0));t.data=(e+(r?1:2))%3});break;case"data-spreading":if(!o)return;if(r){var h=e.access(a);this.root.findAll(o,e).forEach(t=>{t.executeMappings(!0)})}break;case"data-set":if(!o)return;if(r){h=e.access(a);this.root.findAll(o,e).forEach(t=>{t.data=h})}break;case"partial-data-set":if(!o)return;if(r){h=e.access(a);this.root.findAll(o,e).forEach(t=>{t.data={...t.data,...h}})}break;case"value-set":if(!o)return;if(r){h=e.access(a);this.root.findAll(o,e).forEach(t=>{t.value=h})}break;case"partial-value-set":if(!o)return;if(r){h=e.access(a);this.root.findAll(o,e).forEach(t=>{t.value={...t.value,...h}})}break;case"infoWindow":case"info-window":if(!o)return;"click"==n.type||r?vlt.show(e,o,c,{x:n.offsetX,y:n.offsetY}):c&&vlt.hide(e,o);break;case"toggle-info-window":if(!o)return;vlt.toggle(e,o,!1,{x:n.offsetX,y:n.offsetY});break;case"popup":case"modal-popup":if(!o)return;let t=u&&"input"in u?u.input:"(self)",s=!u||(!("output"in u)||u.output);Slt.show(e,o,{data:t&&this.root.findFirst(t,e)?.data,output:s,modal:"modal-popup"===i,closable:!0,draggable:!0,origin:"auto"});break;case"close-scene":this.closeScene(e.data);break;case"goto":case"goto-playlist":this.trigger(i,o,u,e);break;case"mouse-cursor":r?this.target.style.cursor=o||"auto":c&&(this.target.style.cursor="auto");break;default:this.trigger(i,o,a,e)}}applyDecorator(t,e,r={}){const n=this.getDecoratorOverlay(t);if(n){elt.getInstance().addToOverlay(n,t,e,r)}}offdecorator(t,e){const r=this.getDecoratorOverlay(t);if(r){elt.getInstance().removeFromOverlay(r,t,e)}}resetDecorator(t,e){const r=this.getDecoratorOverlay(e);r&&elt.getInstance().removeAllFromOverlay(r,t)}onChangeForDecorator(t,e,r){const{origin:n}=r,i=this.getDecoratorOverlay(n);elt.getInstance().invalidateOverlay(i)}onmouseenterForDecorator(t,e){const{origin:r}=e;r.decorators&&r.decorators.forEach(t=>{this.applyDecorator(r,t)})}onmouseleaveForDecorator(t,e){const{origin:r}=e;r.decorators&&r.decorators.forEach(t=>{this.offdecorator(r,t)})}}function iut(t,e){const r=t.state.refid;return t.root.findAll(t=>t.isLine()&&t.from.component===r&&(!e||t.from.anchor===e))}function out(t,e){const r=t.state.refid;return t.root.findAll(t=>t.isLine()&&t.to.component===r&&(!e||t.to.anchor===e))}nut.Popup=Slt,llt.register("model-layer",nut);var aut=t=>class extends t{isConnectable(){return!0}postrender(t){super.postrender(t),this._draw_anchors(t)}_draw_anchors(t){var e=this.anchors||[];t.save(),e.forEach(e=>{var{position:{x:r,y:n},draw:i}=e;if(i){t.beginPath();try{i.call(e,t,this)}catch(t){console.error(t)}t.closePath()}}),t.restore()}contains(t,e){if(n=super.contains(t,e))return n;var r=this.anchors||[];for(let i of r){const r=i.bounds;if(!r)continue;const{left:o,top:a,width:s,height:c}=r;var n;if(n=t<Math.max(o+s,o)&&t>Math.min(o+s,o)&&e<Math.max(a+c,a)&&e>Math.min(a+c,a))return n}return!1}findInOutLines(t){return function(t,e){const r=t.state.refid;return t.root.findAll(t=>!(!t.isLine()||(t.from.component!==r||e&&t.from.anchor!==e)&&(t.to.component!==r||e&&t.to.anchor!==e)))}(this,t)}findOutletLines(t){return iut(this,t)}findOutletEnds(t){return function(t,e){return iut(t,e).map(t=>t.toEnd?.component).filter(Boolean)}(this,t)}findInletLines(t){return out(this,t)}findInletEnds(t){return function(t,e){return out(t,e).map(t=>t.fromEnd?.component).filter(Boolean)}(this,t)}};const sut={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0}}],help:"scene/component/rect"};var cut={ondragmove:function(t,e,r){var{left:n,top:i,width:o,height:a}=r.model,s=(r.fromParent(t.x,t.y).x-n)/(o/2)*100;s=hlt(s,o,a),r.set({round:s})}};class lut extends(aut(flt(ult))){is3dish(){return!0}get controls(){var{left:t,top:e,width:r,round:n,height:i}=this.state;return[{x:t+r/2*((n=null==n?0:hlt(n,r,i))/100),y:e,handler:cut}]}get nature(){return sut}}llt.register("rect",lut);const uut=[1,2,10,20,50,50,50,50,50,50];class hut extends(flt(ult)){render(t){const{lineWidth:e=1,fillStyle:r="lightgray",font:n="15px Arial",left:i,top:o,rotation:a,origin:s,margin:c,width:l,height:u,side:h="bottom",strokeStyle:f="#000000",scale:d=1}=this.state;t.translate(i,o),t.beginPath();const p=Math.round(e/2);t.rect(-p,-p,l+2*p,u+2*p),t.clip(),t.beginPath(),t.rect(0,0,l,u),r&&(t.fillStyle=r,t.fill()),t.lineWidth=e,t.strokeStyle=f,t.stroke(),t.beginPath(),t.font=n;var g="bottom"!==h,v=g?0:u,y=4*u/5,m=2*u/3,b=1*u/2,x=3*u/5;g&&(y=u-y,m=u-m,b=u-b,x=u-1.5*u/5);var w=d*this.app.PPM/this.root.unitScale,A=Math.ceil(s/w),_=this.app.PPM/w,E=_<=1.1?1:uut[Math.round(_)]||100;1!=E&&(A+=(E-A%E)%E);var k=Math.ceil(A*w),S=s+l;for(t.fillStyle=f;k<S;){if(A%10==0){t.moveTo(k-s,b),t.lineTo(k-s,v);let e=(A/10).toString(),r=t.measureText(e);t.fillText(e,k-s-r.width-6,x)}else A%5==0?(t.moveTo(k-s,m),t.lineTo(k-s,v)):(t.moveTo(k-s,y),t.lineTo(k-s,v));A+=E,k=Math.ceil(A*w)}}}llt.register("ruler",hut);const fut=20,dut=20,put=90*Math.PI/180,gut="9px Verdana",vut=20,yut="#f4f4f4",mut="#999";function but(t,e,r){return{left:-t.x,top:-t.y,width:fut,height:vut}}function xut(t,e,r,n){return{left:fut-t.x,top:0-t.y,origin:20-t.x,width:e-fut,height:vut}}function wut(t,e,r,n){var i={x:0-t.x+10,y:-t.y+dut+(r-dut)/2},o=llt.transcoordRR(0-t.x,-t.y+dut,i,put);return{left:o.x-(r-dut),top:o.y,origin:20-t.y,width:r-dut,height:vut}}function Aut(t){var e=t.get("translate");return{left:-e.x,top:-e.y,width:t.canvas.width/Bst,height:t.canvas.height/Bst}}llt.register("guide-layer",class extends zlt{constructor(t,e){super(t,e),this.appScale={x:1,y:1},"disabled"!==t.ruler&&(this.hruler=new hut({left:fut,top:0,origin:20,margin:0,height:vut,unit:"m",rotation:0,font:gut,fillStyle:yut,strokeStyle:mut,capturable:!1}),this.vruler=new hut({left:0,top:0,origin:20,margin:0,height:vut,unit:"m",rotation:put,font:gut,side:"top",fillStyle:yut,strokeStyle:mut,capturable:!1}),this.origin_rect=new lut({left:-20,top:-20,width:20,height:20,fillStyle:yut,strokeStyle:mut,lineWidth:1}),this.addComponent(this.hruler),this.addComponent(this.vruler),this.addComponent(this.origin_rect)),this.invalidate()}get capturable(){return!1}ready(){if(super.ready(),this.hruler){var t=this.rootModel,e=Object.assign({},t.get("translate"));e.x<fut&&(e.x+=fut),e.y<dut&&(e.y+=dut);var r=t.get("scale")||{x:1,y:1};this.appScale=r,this.hruler.set("scale",r.x),this.vruler.set("scale",r.y),t.set("translate",e),this.set("translate",e),this.screen_coord=Aut(this);var{width:n,height:i}=this.screen_coord;this.hruler.set(xut(e,n,0,this.hruler)),this.vruler.set(wut(e,0,i,this.vruler)),this.origin_rect.set(but(e))}else this.screen_coord=Aut(this)}resize(){super.resize(),this.screen_coord=Aut(this);var{width:t,height:e}=this.screen_coord;this.hruler&&(this.hruler.set(xut(this.model.translate,t,0,this.hruler)),this.vruler.set(wut(this.model.translate,0,e,this.vruler)),this.origin_rect.set(but(this.model.translate)))}render(t){if(this.guide){t.save();var{x:e,y:r}=this.guide,{top:n,left:i,width:o,height:a}=this.screen_coord;t.beginPath(),t.moveTo(e,n),t.lineTo(e,n+a),t.moveTo(i,r),t.lineTo(i+o,r),t.lineWidth=1,t.strokeStyle="tomato",t.setLineDash([2,3]),t.font="10px tahoma",t.fillStyle="#333";var s=this.toGlobal(e,r,this.rootModel);t.textBaseline=s.y>200?"bottom":"top",t.textAlign=s.x>200?"right":"left";var c=s.y>200?-5:5,l=s.x>200?-5:5,u=Math.round(e/this.appScale.x),h=Math.round(r/this.appScale.y);t.fillText(` ${u}, ${h} `,e+l,r+c),t.stroke(),t.restore()}}get guide(){return this._guide}set guide(t){this._guide=t,this.invalidate()}contains(t,e){return!0}get eventMap(){return{"(root)":{"(descendant)":{mousemove:this.onmousemove_child,mouseout:this.onmouseout_child,dragmove:this.onmousemove_child},"model-layer":{change:this.onchange_root_model}},"(self)":{"(descendant)":{mousedown:this.onmousedown_origin}}}}onmousedown_origin(t,e){this.rootModel.set("translate",{x:20,y:20})}onchange_root_model(t,e,r){if(t.scale&&(this.appScale=t.scale,this.hruler&&(this.hruler.set("scale",t.scale.x),this.vruler.set("scale",t.scale.y))),t.translate&&this.set({translate:{x:t.translate.x,y:t.translate.y}}),t.scale||t.translate){if(this.screen_coord=Aut(this),this.hruler){var{translate:n}=this.model,{width:i,height:o}=this.screen_coord;this.hruler.set(xut(n,i,0,this.hruler)),this.vruler.set(wut(n,0,o,this.vruler)),this.origin_rect.set(but(n))}this._guide=null}this.invalidate()}onmouseout_child(t){this._guide=null,this.invalidate()}onmousemove_child(t,e){t.target&&"CANVAS"!==t.target.tagName?this.guide=null:this.guide=this.toLocal(t.offsetX,t.offsetY)}});llt.register("shift-layer",class extends zlt{ready(){super.ready();var t=this.rootModel.get("translate");this.set("translate",t)}render(t){}get pointerEvents(){return"none"}contains(t,e){return!(2!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown,keyup:this.onkeyup}}}}onkeydown(t){"Space"===t.code&&void 0===this.before_mode&&(this.before_mode=this.app.mode,this.app.mode=2)}onkeyup(t){"Space"===t.code&&(void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode)}ondragstart(t){this.last_position=this.toLocal(t.offsetX,t.offsetY)}ondragmove(t){var{x:e,y:r}=this.toLocal(t.offsetX,t.offsetY);this.rootModel.move({x:e-this.last_position.x,y:r-this.last_position.y},!1),this.last_position=this.toLocal(t.offsetX,t.offsetY)}});class _ut{constructor(t){this.params=Object.assign({},t)}excute(){}}class Eut extends _ut{execute(){this.params.changes.forEach(t=>t.component.set(t.after))}static before(t){return t.map(t=>({component:t}))}static after(t,e){e.execute(null,!1)}static around(t,e,r){e.call(r),t.execute(null,!1)}}const kut="left",Sut="right",Mut="center",Out="bottom",Tut="middle",Put=[kut,Sut,Mut,"top",Tut,Out];function Iut(t){if(this.hasSameParentForAllSelected&&-1!=Put.indexOf(t)){var e=this.selected.filter(t=>!t.stuck);if(!(e.length<=1)){var r=this.app.commander;Eut.around(r,function(){!function(t,e){var r=JSON.parse(JSON.stringify(e[0].bounds)),n=r.left+r.width,i=r.top+r.height;for(let t=0;t<e.length;t++){let o=e[t].bounds;r.left=o.left>r.left?r.left:o.left,r.top=o.top>r.top?r.top:o.top,n=o.left+o.width>n?o.left+o.width:n,i=o.top+o.height>i?o.top+o.height:i}switch(r.width=n-r.left,r.height=i-r.top,t){case kut:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:r.left,top:n.top,width:n.width,height:n.height}}break;case Mut:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:r.left+r.width/2-n.width/2,top:n.top,width:n.width,height:n.height}}break;case Sut:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={left:n-r.width,top:r.top,width:r.width,height:r.height}}break;case"top":for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:n.left,top:r.top,width:n.width,height:n.height}}break;case Tut:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:n.left,top:r.top+r.height/2-n.height/2,width:n.width,height:n.height}}break;case Out:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={left:r.left,top:i-r.height,width:r.width,height:r.height}}break;default:;}}(t,e)})}}}const Cut="VERTICAL",Rut=[Cut,"HORIZONTAL"];function Dut(t){if(this.hasSameParentForAllSelected&&-1!=Rut.indexOf(t)){var e=this.selected;if(!(e.length<=1)){var r=this.app.commander;Eut.around(r,function(){!function(t,e){var r=e.filter(t=>!t.stuck).slice(0);r.sort(function(e,r){let n=e.center,i=r.center;return t===Cut?n.y-i.y:n.x-i.x});var n=r.reduce((e,r)=>e+(t===Cut?r.bounds.height:r.bounds.width),0),i=r[0].bounds,o=r[r.length-1].bounds,a=((t===Cut?o.top+o.height-i.top:o.left+o.width-i.left)-n)/(r.length-1),s=t===Cut?i.top+i.height:i.left+i.width;for(let e=1;e<r.length-1;e++){let n=r[e],i=n.bounds;s+=a,t===Cut?(i.top=s,s+=i.height):(i.left=s,s+=i.width),n.bounds=i}}(t,e)})}}}function jut(t){for(var e=0;t&&!t.isRootModel();)e+=t.get("rotation")||0,t=t.parent;return e%(2*Math.PI)}class Lut extends _ut{execute(){this.params.changes.forEach(t=>{let{component:e,to_container:r,to_index:n,to_left:i,to_top:o,hint:a}=t,s=function(t){if(t.isRootModel())return t.bounds;var{bounds:e,rotatePoint:r}=t,n=r;return{left:(n=t.toScene(n.x,n.y)).x-(r.x-e.left),top:n.y-(r.y-e.top),width:e.width,height:e.height}}(e),c=jut(e);if(e.removeSelf(!r),e.bounds=s,e.set("rotation",c),r){e.set("rotation",function(t,e){return((t.get("rotation")||0)-jut(e))%(2*Math.PI)}(e,r));let a=function(t,e){if(e.isRootModel())return t.bounds;var{bounds:r,rotatePoint:n}=t,i=e.fromScene(n.x,n.y),o=e.bounds;return{left:i.x-(n.x-r.left)-o.left,top:i.y-(n.y-r.top)-o.top,width:r.width,height:r.height}}(e,r);t.to_left=void 0!==i?i:a.left,t.to_top=void 0!==o?o:a.top,e.bounds={left:t.to_left,top:t.to_top,width:a.width,height:a.height},void 0===n?r.addComponent(e):r.insertComponentAt(e,n)}})}}function Nut(t,e,r){this.app.commander.execute(new Lut({changes:[{component:t,to_container:e,to_index:r}]}))}function Fut(t){var e=this.selected.filter(t=>!t.stuck);if(!(0==e.length||e[0].isRootModel()||e.length>1&&("forward"==t||"backward"==t))){var r,n=e[0].parent;if("forward"==t){let t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t+1}]}else if("backward"==t){let t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t-1}]}else r=e.filter(t=>t.parent===n).sort((e,r)=>{let i=n.indexOf(e)<n.indexOf(r);return"front"==t?i:!i}).map((e,r)=>(n.indexOf(e),{component:e,to_container:n,to_index:"front"==t?n.components.length-r-1:r}));var i=new Lut({changes:r});this.app.commander.execute(i)}}function zut(t,e,r,n){var i=llt.register(t.type);if(!i)return Tst("Class not found",t.type),null;r&&(t.refid=r(t.refid)),t.id&&n&&n(t.id)&&delete t.id;var o=new i(t,e);return t.components&&o.isContainer()&&(t.components.forEach(t=>{var i=zut(t,e,r,n);i&&o.addComponent(i)}),delete t.components),o.created(),o}function Uut(t,e){var r=Xat(t.hierarchy);return delete r.id,zut(r,t.app,e)}var But=Object.freeze({__proto__:null,compile:zut,duplicate:Uut,select:ect,match:Jst});function $ut(t,e,r){t instanceof Array||(t=[t]),r||(r=this.model_layer);var n=[],i=new Map;this.selected=t.map(t=>{try{return zut(t,r.app,t=>{const e=this.getNewRefid();return void 0!==t&&i.set(t,e),e},t=>(this.indexMap[t]||[])[0])}catch(t){return console.warn(t),!1}}).filter(Boolean).map(t=>{let{left:o,top:a,width:s,height:c,x:l,y:u,cx:h,cy:f}=e;return t.replaceRefids(i),isNaN(o)||isNaN(a)||isNaN(s)||isNaN(c)||(t.bounds={left:o,top:a,width:s,height:c}),isNaN(l)||isNaN(u)||t.move({x:l,y:u},!1),isNaN(h)||isNaN(f)||(t.center={x:h,y:f}),n.push({component:t,to_container:r}),t}),this.app.commander.execute(new Lut({changes:n}))}function Yut(){var t=[],e=new Map;if(this.selected=this.selected.filter(t=>!t.isRootModel()).map(r=>{let n=Uut(r,t=>{const r=this.getNewRefid();return void 0!==t&&e.set(t,r),r});return n.move({x:20,y:20},!1),t.push({component:n,to_container:r.parent}),n}).map(t=>(t.replaceRefids(e),t)),0!=t.length){var r=new Lut({changes:t});this.app.commander.execute(r)}}function Gut(){var t=this.selected;this.selected=[];for(var e=null,r=t.filter(t=>!t.isRootModel()&&(t.parent.focusible||t.parent.isGroup())).map(t=>(e||(e=t.parent),{component:t,to_container:null}));e&&e.isGroup();){let t=[];if(e.components.filter(t=>!r.find(e=>e.component===t)).forEach(e=>t.push(e)),t.length>1)break;let n=e.parent;t.forEach(t=>r.push({component:t,to_container:n})),r.push({component:e,to_container:null}),e=n}r.length>0&&this.app.commander.execute(new Lut({changes:r})),e&&e.calculateBounds&&e.calculateBounds()}function Hut(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.on(t,e,r);break;case"mode":this.app?.on(t,e,r);break;default:this.on(t,e,r)}}function Wut(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.once(t,e,r);break;case"mode":this.app.once(t,e,r);break;default:this.once(t,e,r)}}function qut(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.off(t,e,r);break;case"mode":this.app?.off(t,e,r);break;default:this.off(t,e,r)}}function Vut(t){var e=this.target_element,r=t||this.fitMode,n=this;function i(t){n.fit(r),document.fullscreen||document.mozFullScreen||document.webkitIsFullScreen||document.msFullscreenElement||["fullscreenchange","mozfullscreenchange","webkitfullscreenchange","MSFullscreenChange"].forEach(t=>document.removeEventListener(t,i))}["fullscreenchange","mozfullscreenchange","webkitfullscreenchange","MSFullscreenChange"].forEach(t=>document.addEventListener(t,i)),e.requestFullScreen?e.requestFullScreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen&&e.msRequestFullscreen()}var Xut=0;function Kut(){var t=this.selected.filter(t=>!t.isRootModel()).map(t=>t.hierarchy);if(0!=t.length)return Xut=0,JSON.stringify(t,null,2)}function Qut(){Xut=0;var t=Kut.call(this);return Gut.call(this),t}function Jut(t){if(t)try{Xut++,$ut.call(this,JSON.parse(t),{x:15*Xut,y:15*Xut})}catch(e){Ost(e,t)}}var Zut=function(){return{escape:function(t){return t.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")},parseExtension:t,mimeType:function(e){var r=t(e).toLowerCase();return(n="application/font-woff",i="image/jpeg",{woff:n,woff2:n,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:i,jpeg:i,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"})[r]||"";var n,i},dataAsUrl:function(t,e){return"data:"+e+";base64,"+t},isDataUrl:function(t){return-1!==t.search(/^(data:)/)},canvasToBlob:function(t){return t.toBlob?new Promise(function(e){t.toBlob(e)}):function(t){return new Promise(function(e){for(var r=window.atob(t.toDataURL().split(",")[1]),n=r.length,i=new Uint8Array(n),o=0;o<n;o++)i[o]=r.charCodeAt(o);e(new Blob([i],{type:"image/png"}))})}(t)},resolveUrl:function(t,e){var r=document.implementation.createHTMLDocument(),n=r.createElement("base");r.head.appendChild(n);var i=r.createElement("a");return r.body.appendChild(i),n.href=e,i.href=t,i.href},getAndEncode:function(t){var e=3e4;cht.impl.options.cacheBust&&(t+=(/\?/.test(t)?"&":"?")+(new Date).getTime());return new Promise(function(r){var n,i=new XMLHttpRequest;if(i.onreadystatechange=a,i.ontimeout=s,i.responseType="blob",i.timeout=e,i.open("GET",t,!0),i.send(),cht.impl.options.imagePlaceholder){var o=cht.impl.options.imagePlaceholder.split(/,/);o&&o[1]&&(n=o[1])}function a(){if(4===i.readyState)if(200===i.status){var e=new FileReader;e.onloadend=function(){var t=e.result.split(/,/)[1];r(t)},e.readAsDataURL(i.response)}else n?r(n):c("cannot fetch resource: "+t+", status: "+i.status)}function s(){n?r(n):c("timeout of "+e+"ms occured while fetching resource: "+t)}function c(t){console.error(t),r("")}})},uid:function(){var t=0;return function(){return"u"+e()+t++;function e(){return("0000"+(Math.random()*Math.pow(36,4)|0).toString(36)).slice(-4)}}}(),delay:function(t){return function(e){return new Promise(function(r){setTimeout(function(){r(e)},t)})}},asArray:function(t){for(var e=[],r=t.length,n=0;n<r;n++)e.push(t[n]);return e},escapeXhtml:function(t){return t.replace(/#/g,"%23").replace(/\n/g,"%0A")},makeImage:function(t){return new Promise(function(e,r){var n=new Image;n.onload=function(){e(n)},n.onerror=r,n.src=t})},width:function(t){var r=e(t,"border-left-width"),n=e(t,"border-right-width");return t.scrollWidth+r+n},height:function(t){var r=e(t,"border-top-width"),n=e(t,"border-bottom-width");return t.scrollHeight+r+n}};function t(t){var e=/\.([^\.\/]*?)$/g.exec(t);return e?e[1]:""}function e(t,e){var r=window.getComputedStyle(t).getPropertyValue(e);return parseFloat(r.replace("px",""))}}(),tht=function(){var t=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:function(t,i,o){return a()?Promise.resolve(t):Promise.resolve(t).then(r).then(function(e){var r=Promise.resolve(t);return e.forEach(function(t){r=r.then(function(e){return n(e,t,i,o)})}),r});function a(){return!e(t)}},shouldProcess:e,impl:{readUrls:r,inline:n}};function e(e){return-1!==e.search(t)}function r(e){for(var r,n=[];null!==(r=t.exec(e));)n.push(r[1]);return n.filter(function(t){return!Zut.isDataUrl(t)})}function n(t,e,r,n){return Promise.resolve(e).then(function(t){return r?Zut.resolveUrl(t,r):t}).then(n||Zut.getAndEncode).then(function(t){return Zut.dataAsUrl(t,Zut.mimeType(e))}).then(function(r){return t.replace(function(t){return new RegExp("(url\\(['\"]?)("+Zut.escape(t)+")(['\"]?\\))","g")}(e),"$1"+r+"$3")})}}(),eht=function(){return{resolveAll:function(){return t().then(function(t){return Promise.all(t.map(function(t){return t.resolve()}))}).then(function(t){return t.join("\n")})},impl:{readAll:t}};function t(){return Promise.resolve(Zut.asArray(document.styleSheets)).then(function(t){var e=[];return t.forEach(function(t){try{Zut.asArray(t.cssRules||[]).forEach(e.push.bind(e))}catch(e){console.log("Error while reading CSS rules from "+t.href,e.toString())}}),e}).then(function(t){return t.filter(function(t){return t.type===CSSRule.FONT_FACE_RULE}).filter(function(t){return tht.shouldProcess(t.style.getPropertyValue("src"))})}).then(function(e){return e.map(t)});function t(t){return{resolve:function(){var e=(t.parentStyleSheet||{}).href;return tht.inlineAll(t.cssText,e)},src:function(){return t.style.getPropertyValue("src")}}}}}(),rht=function(){return{inlineAll:function e(r){return r instanceof Element?n(r).then(function(){return r instanceof HTMLImageElement?t(r).inline().then(()=>r):Promise.all(Zut.asArray(r.childNodes).map(function(t){return e(t)})).then(()=>r)}):Promise.resolve(r);function n(t){var e=t.style.getPropertyValue("background");return e?tht.inlineAll(e).then(function(e){t.style.setProperty("background",e,t.style.getPropertyPriority("background"))}).then(function(){return t}):Promise.resolve(t)}},impl:{newImage:t}};function t(t){return{inline:function(e){return Zut.isDataUrl(t.src)?Promise.resolve():Promise.resolve(t.src).then(e||Zut.getAndEncode).then(function(e){return Zut.dataAsUrl(e,Zut.mimeType(t.src))}).then(function(e){return new Promise(function(r,n){t.onload=r,t.onerror=n,t.src=e})})}}}}(),nht={imagePlaceholder:void 0,cacheBust:!1};function iht(t,e){return function(t){void 0===t.imagePlaceholder?cht.impl.options.imagePlaceholder=nht.imagePlaceholder:cht.impl.options.imagePlaceholder=t.imagePlaceholder;void 0===t.cacheBust?cht.impl.options.cacheBust=nht.cacheBust:cht.impl.options.cacheBust=t.cacheBust}(e=e||{}),Promise.resolve(t).then(function(t){return aht(t,e.filter,!0)}).then(sht).then(function(t){var{bgcolor:r,width:n,height:i,style:o,sx:a=1,sy:s=1}=e||{},c=t.style;r&&(c.backgroundColor=r);n&&(c.width=n+"px");i&&(c.height=i+"px");c["margin-left"]="0px",c["margin-top"]="0px",c.transform=`rotate(0rad) translate(0px, 0px) scale(${a}, ${s}) perspective(1px)`,o&&Object.keys(o).forEach(function(t){c[t]=o[t]});return t}).then(function(r){return function(t,e,r){return Promise.resolve(t).then(function(t){return t.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(t)}).then(Zut.escapeXhtml).then(function(t){return'<foreignObject x="0" y="0" width="100%" height="100%">'+t+"</foreignObject>"}).then(function(t){return'<svg xmlns="http://www.w3.org/2000/svg" width="'+e+'" height="'+r+'">'+t+"</svg>"}).then(function(t){return"data:image/svg+xml;charset=utf-8,"+t})}(r,e.width||Zut.width(t),e.height||Zut.height(t))})}function oht(t,e){return iht(t,e).then(Zut.makeImage).then(Zut.delay(100)).then(function(r){var n=function(t){var r=document.createElement("canvas");if(r.width=e.width||Zut.width(t),r.height=e.height||Zut.height(t),e.bgcolor){var n=r.getContext("2d");n.fillStyle=e.bgcolor,n.fillRect(0,0,r.width,r.height)}return r}(t);return n.getContext("2d").drawImage(r,0,0),n})}function aht(t,e,r){return r||!e||e(t)?Promise.resolve(t).then(function(t){if(t instanceof HTMLCanvasElement)try{return Zut.makeImage(t.toDataURL()).then(t=>t)}catch(t){Tst(t)}return t.cloneNode(!1)}).then(function(r){return function(t,e,r){var n=t.childNodes;return 0===n.length?Promise.resolve(e):i(e,Zut.asArray(n),r).then(function(){return e});function i(t,e,r){var n=Promise.resolve();return e.forEach(function(e){n=n.then(function(){return aht(e,r,!1)}).then(function(e){e&&t.appendChild(e)})}),n}}(t,r,e)}).then(function(e){return function(t,e){return e instanceof Element?Promise.resolve().then(r).then(n).then(i).then(o).then(function(){return e}):e;function r(){function r(t,e){function r(t,e){Zut.asArray(t).forEach(function(r){e.setProperty(r,t.getPropertyValue(r),t.getPropertyPriority(r))})}t.cssText?e.cssText=t.cssText:r(t,e)}r(window.getComputedStyle(t),e.style)}function n(){function r(r){var n=window.getComputedStyle(t,r),i=n.getPropertyValue("content");if(""===i||"none"===i)return;var o=Zut.uid();const a=e;a.className=a.className+" "+o;var s=document.createElement("style");function c(t,e,r){var n="."+t+":"+e,i=r.cssText?o(r):a(r);return document.createTextNode(n+"{"+i+"}");function o(t){var e=t.getPropertyValue("content");return t.cssText+" content: "+e+";"}function a(t){return Zut.asArray(t).map(e).join("; ")+";";function e(e){return e+": "+t.getPropertyValue(e)+(t.getPropertyPriority(e)?" !important":"")}}}s.appendChild(c(o,r,n)),e.appendChild(s)}[":before",":after"].forEach(function(t){r(t)})}function i(){t instanceof HTMLTextAreaElement&&e instanceof HTMLTextAreaElement&&(e.innerHTML=t.value),t instanceof HTMLInputElement&&e instanceof HTMLInputElement&&e.setAttribute("value",t.value)}function o(){e instanceof SVGElement&&(e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e instanceof SVGRectElement&&["width","height"].forEach(function(t){var r=e.getAttribute(t);r&&e.style.setProperty(t,r)}))}}(t,e)}):Promise.resolve(void 0)}function sht(t){return rht.inlineAll(t).then(function(){return t})}var cht={toSvg:iht,toPng:function(t,e){return oht(t,e||{}).then(function(t){return t.toDataURL()})},toJpeg:function(t,e){return oht(t,e=e||{}).then(function(t){return t.toDataURL("image/jpeg",e.quality||1)})},toBlob:function(t,e){return oht(t,e||{}).then(t=>Zut.canvasToBlob(t))},toPixelData:function(t,e){return oht(t,e||{}).then(function(e){return e.getContext("2d").getImageData(0,0,Zut.width(t),Zut.height(t)).data})},impl:{fontFaces:eht,images:rht,util:Zut,inliner:tht,options:{}}};function lht(t,e,r,n){var i=this.model_layer,o=i._overlay;return new Promise(function(a,s){if(i){var c=i.get("width"),l=i.get("height");r=r||c,n=n||l;var u=i.get("translate"),h=i.get("scale"),f=Math.min(r/c,n/l);r=c*f,n=l*f,i.set("translate",{x:0,y:0}),i.set("scale",{x:f/Bst,y:f/Bst});var d=llt.createCanvas(r,n),p=d.getContext("2d");if(i.draw(p),i.set("translate",u),i.set("scale",h),!o)return a(d.toDataURL(t,e)),void(d=null);cht.toPng(o,{sx:f,sy:f,width:r,height:n}).then(function(i){var o=new Image;o.onload=function(){p.drawImage(o,0,0,r,n),a(d.toDataURL(t,e)),d=null},o.src=i},function(r){Ost(r),a(d.toDataURL(t,e)),d=null})}else s("No target model")})}function uht(){if(this.hasSameParentForAllSelected){var t=this.selected.filter(t=>!!t.parent&&!t.stuck);if(!(t.length<2)){var e=t[0].parent,r=[],n=t.sort((t,r)=>e.components.indexOf(t)-e.components.indexOf(r));n.forEach(t=>{r.push(t.bounds)});var i=llt.union(r),o=t[0].fromParent(i.left,i.top);o=t[0].toScene(o.x,o.y);var a=new Map,s=zut({type:"group",left:o.x,top:o.y,width:i.width,height:i.height},e.app,t=>{const e=this.getNewRefid();return void 0!==t&&a.set(t,e),e});s.replaceRefids(a);var c=[{component:s,to_container:e}];n.forEach(t=>{c.push({component:t,to_container:s})}),this.app.commander.execute(new Lut({changes:c})),this.selected=[s]}}}function hht(){if(0!==this.selected.length){var t=[],e=[];this.selected.forEach(r=>{if(r.isGroup()){var n=r.parent;r.components.forEach(r=>{t.push(r),e.push({component:r,to_container:n})}),e.push({component:r,to_container:null})}}),this.app.commander.execute(new Lut({changes:e})),this.selected=t}}function fht(){var t=this.selected;if(0!=t.length){var e=t.map(t=>t.bounds),r=llt.union(e),n=r.left+r.width/2;t.map(t=>{t.symmetryX(n)})}}function dht(){var t=this.selected;if(0!=t.length){var e=t.map(t=>t.bounds),r=llt.union(e),n=r.top+r.height/2;t.map(t=>{t.symmetryY(n)})}}function pht(){Eut.around(this.app.commander,fht,this)}function ght(){Eut.around(this.app.commander,dht,this)}function vht(t,e,r){var n=this.findAll(t,r);return n.forEach(t=>{t.set(e)}),n}function yht(t){Eut.around(this.app.commander,t)}function mht(){return Object.values(this.indexMap).map(t=>t.map(t=>{let{id:e,data:r}=t.model;return{key:e,value:r}})).flat().sort((t,e)=>t.key>e.key?1:-1)}const bht="left",xht="right",wht="center",Aht="bottom",_ht="middle",Eht=[bht,xht,wht,"top",_ht,Aht];function kht(t){if(this.hasSameParentForAllSelected&&-1!=Eht.indexOf(t)){var e=this.selected.filter(t=>!t.stuck),r=this.app.commander;Eut.around(r,function(){!function(t,e){const r=e[0].parent,{width:n,height:i}=r.bounds;switch(t){case bht:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,left:0}}break;case wht:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,left:n/2-r.width/2}}break;case xht:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,left:n-r.width}}break;case"top":for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,top:0}}break;case _ht:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,top:i/2-r.height/2}}break;case Aht:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,top:i-r.height}}break;default:;}}(t,e)})}}function Sht(t){t instanceof Array||(t=[t]),this.trigger("addstart",t)}function Mht(){this.trigger("stylepastestart")}function Oht(){this.trigger("stylepastestop")}function Tht(){this.trigger("databindpastestart")}function Pht(){this.trigger("databindpastestop")}function Iht(t,e,r,n){var i=t.selected,o=n?i.slice(0):[];n&&o.length>0?e=o[0].parent:e.isContainer()||(e=e.parent);var a=e.layout.capturables(e),s=!!e.layout.joinType;if(n&&r.selected.forEach(t=>{o.splice(o.indexOf(t),1)}),r.selected=[],a.forEach(t=>{t.capturable&&function(t,e,r){var n,i,o,a,{sx:s,sy:c,ex:l,ey:u}=e;if(s>l?(n=l,i=s):(n=s,i=l),c>u?(o=u,a=c):(o=c,a=u),r){var h=t.bounds,f=t.transcoordS2TR(h.left,h.top),d=t.transcoordS2TR(h.left+h.width,h.top+h.height),p=f.x,g=d.x,v=f.y,y=d.y,m=Math.min(n,p,i,g),b=Math.max(n,p,i,g),x=Math.min(o,v,a,y),w=Math.max(o,v,a,y);return!(b-m>Math.abs(i-n)+Math.abs(g-p)||w-x>Math.abs(a-o)+Math.abs(y-v))}var A=t.path;if(!A)return error("컴포넌트에 get path가 잘못 구현되어있음.",t),!1;for(let e=0;e<A.length;e++){let r=t.transcoordS2TR(A[e].x,A[e].y);if(n>r.x||i<r.x||o>r.y||a<r.y)return!1}return!0}(t,r,s)&&-1==o.indexOf(t)&&r.selected.push(t)}),o=o.concat(r.selected),i.length!==o.length)t.selected=o;else for(let e=0;e<o.length;e++)if(i[e]!=o[e]){t.selected=o;break}}function Cht(t,e,r,n,i){i||Iht(t,e,r,n)}function Rht(t,e){var r=t.components||[];for(let t of r){Rht(t,e);let r=e.indexOf(t);-1!=r&&e.splice(r,1)}}llt.register("add-layer",class extends zlt{ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}get pointerEvents(){return"none"}render(t){var e=this.addbox;if(e){let{sx:r,sy:n,ex:i,ey:o}=e,a=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(r,n,i-r,o-n),t.setLineDash([2/a.x,4/a.y]),t.lineWidth=1/a.x,t.strokeStyle="black",t.stroke()}}contains(t,e){return!(3!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{addstart:this.onaddstart,addstop:this.onaddstop,keydown:this.onkeydown,dragstart:this.ondragstart,dragmove:this.ondragmove,dragend:this.ondragend,mousedown:this.onmousedown,mouseup:this.onmouseup}},"model-layer":{"(self)":{change:this.onchange_root_model}}}}onchange_root_model(t,e,r){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}onaddstart(t,e){void 0===this.before_mode&&(this.before_mode=this.app.mode,this.models=t,this.app.mode=3)}onaddstop(){void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode,delete this.addbox,this.invalidate()}onkeydown(t){3!==this.app.mode||"Esc"!=t.code&&"Escape"!=t.code||this.root.trigger("addstop")}ondragstart(t){var{x:e,y:r}=this.toLocal(t.offsetX,t.offsetY);this.addbox={sx:e,sy:r}}ondragmove(t){if(3===this.app.mode){var{x:e,y:r}=this.toLocal(t.offsetX,t.offsetY);this.addbox&&(this.addbox.ex=e,this.addbox.ey=r,this.invalidate())}}ondragend(t,e){if(3!==this.app.mode)return;const{sx:r,sy:n,ex:i,ey:o}=this.addbox;$ut.call(this.root,this.models,{left:Math.min(r,i),top:Math.min(n,o),width:Math.abs(i-r),height:Math.abs(o-n)}),this.root.trigger("addstop")}onmousedown(t,e){3===this.app.mode&&(this.downpoint={x:t.offsetX,y:t.offsetY})}onmouseup(t,e){if(this.downpoint.x===t.offsetX&&this.downpoint.y===t.offsetY){var{x:r,y:n}=this.toLocal(t.offsetX,t.offsetY);$ut.call(this.root,this.models,{cx:r,cy:n}),this.root.trigger("addstop")}}});llt.register("selection-layer",class extends zlt{ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}contains(t,e){return!1}render(t){var e=this.selbox;if(e){let{sx:r,sy:n,ex:i,ey:o}=e,a=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(r,n,i-r,o-n),t.setLineDash([2/a.x,4/a.y]),t.lineWidth=1/a.x,t.strokeStyle="black",t.stroke()}}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown}},"model-layer":{"(self)":{change:this.onchange_root_model},"(all)":{dragstart:this.ondragstart_selbox,dragmove:this.ondragmove_selbox,dragend:this.ondragend_selbox,mousedown:this.onmousedown_comp,mouseup:this.onmouseup_comp}}}}onkeydown(t,e){var{origin:r,deliverer:n}=e,i=n.selected;if(1!==i.length)return!1;var o=i[0],a=o.parent;if(!a||a===n)return!1;if("Tab"===t.code){var s=a.layout.capturables(a),c=s.indexOf(o);if(-1==c){if(!a.indexOf(o))return Tst("Container not contains [",o,"] as a component"),!1;c=0}var l=s.length;t.shiftKey?c--:c++,o=s[(c+l)%l]}else{if(!a.layout.keyNavigate)return!1;o=a.layout.keyNavigate(a,o,t)||o}n.selected=[o],t.preventDefault()}onchange_root_model(t,e,r){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}_pendingDecision(t){this.downpoint={x:t.offsetX,y:t.offsetY}}_selectGroupItem(t,e){var r=this.selected.indexOf(t);let n=t.parent;for(;n.parent.isGroup();)n=n.parent;let i=[],o=!1,a=!1;if(this.selected.forEach(t=>{let e=t.parent;if(t!==n){for(;e.parent&&e.parent.isGroup();)e=e.parent;e===n&&(i.push(t),o=!0)}else a=!0}),o)if(e.shiftKey){if(-1!=r)return void this._pendingDecision(e);i.push(t)}else{if(-1!=r)return void this._pendingDecision(e);i=[t]}else{if(a)return void this._pendingDecision(e);if(e.shiftKey)if(this.selected.length>0){if(-1!=this.selected.indexOf(n))return;i=[...this.selected,n]}else i=[n];else i=[n]}this.selected=i}onmousedown_comp(t,e){var{origin:r}=e;if(this.downpoint=null,t.shiftKey){if(r.parent.isGroup())return void this._selectGroupItem(r,t);if(-1!=this.selected.indexOf(r))return void this._pendingDecision(t);{let t=this.selected.filter(t=>!t.isRootModel()&&!!t.parent),e=t.length>0&&t[0].parent;e&&e!==r.parent&&(!function(t,e){for(var r=t.parent;r;){let t=e.indexOf(r);-1!=t&&e.splice(t,1),r=r.parent}}(r,t),Rht(r,t)),t.push(r),this.selected=t}}else{if(r.parent.isGroup())return void this._selectGroupItem(r,t);if(-1!=this.selected.indexOf(r))return;this.selected=[r],this.sameParent=!0}}onmouseup_comp(t,e){if(!this.downpoint)return;if(this.downpoint.x!==t.offsetX||this.downpoint.y!==t.offsetY)return;var{origin:r}=e;let n=this.selected.indexOf(r);if(-1==n&&r.parent.isGroup()&&(n=this.selected.indexOf(r.parent)),-1!==n&&t.shiftKey){let t=this.selected.slice();return n>-1&&t.splice(n,1),void(this.selected=t)}r.parent.isGroup()&&(this.selected=[r])}ondragstart_selbox(t,e){var{origin:r}=e;if(r.stuck){var{x:n,y:i}=this.toLocal(t.offsetX,t.offsetY);this.selbox={sx:n,sy:i,selected:[]}}}ondragmove_selbox(t,e){var{origin:r}=e;if(r.stuck){var{x:n,y:i}=this.toLocal(t.offsetX,t.offsetY);this.selbox&&(this.selbox.ex=n,this.selbox.ey=i,Cht(this,r,this.selbox,t.shiftKey),this.invalidate())}}ondragend_selbox(t,e){var{origin:r}=e;r.stuck&&(this.last_pos=null,this.selbox=null,Cht(this,null,null,!1,!0),this.invalidate())}});class Dht{constructor(t){this.layer=t}draw(t,e,r){var{left:n,top:i,width:o,height:a}=e.bounds;0!=o&&0!=a&&(t.beginPath(),t.rect(n,i,o,a),t.clip(),t.beginPath(),t.strokeStyle="#f26522",t.lineWidth=4,t.shadowBlur=10,t.shadowColor="black",t.shadowOffsetX=0,t.shadowOffsetY=0,t.rect(n,i,o,a),t.stroke(),t.closePath())}}class jht{constructor(t){this.layer=t}draw(t,e,r){var n=e.bounds;t.beginPath(),t.rect(n.left-4/r.x,n.top-4/r.y,n.width+8/r.x,n.height+8/r.y),t.setLineDash([3/r.x,4/r.y]),t.lineWidth=1/r.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),t.closePath()}}class Lht{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){let i=r.controls;return!!i&&(i.every((i,o)=>(Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r,index:o,handler:i.handler}),!this.active)),!!this.active)}draw(t,e,r){var n=e.controls;n&&n.forEach((e,n)=>{t.beginPath(),t.lineWidth=1/r.x,t.ellipse(e.x,e.y,4/r.x,4/r.y,0,0,2*Math.PI,!0),t.fillStyle="#ff5d72",t.fill(),t.strokeStyle="#fff",t.stroke()})}onevent(t,e){var{handler:r,component:n,index:i}=this.active,o=n.toLocal(e.offsetX,e.offsetY);o=n.toParent(o.x,o.y),r&&"function"==typeof r[t]&&r[t](o,i,n)}onmousedown(t){this.onevent("onmousedown",t)}ondragstart(t){var e=this.active;e.changes=Eut.before([e.component]),this.onevent("ondragstart",t)}ondragmove(t){this.onevent("ondragmove",t)}ondragend(t){this.onevent("ondragend",t);var{component:e,changes:r}=this.active;Eut.after(r,e.app.commander),e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}function Nht(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}const Fht=15*Math.PI/180;class zht{constructor(t){this.layer=t}reset(){this.active=null,this.created=null}get selected(){return this.layer.selected}contains(t,e,r,n){return!!r.mutable&&(r.path.every((i,o)=>(Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r,index:o}),!this.active)),!!this.active)}startLinkProcess(t,e,r){try{var n=zut(e,t.app);return t.rootModel.addComponent(n),this.layer.selected=[n],this.active={component:n,index:1},this.ondragstart(r),n}catch(t){console.warn(r)}}draw(t,e,r){if(e.mutable&&!e.stuck){var n=e.path,i=this.active;n.forEach((n,o)=>{t.beginPath(),t.ellipse(n.x,n.y,4/r.x,4/r.y,0,0,2*Math.PI,!0),t.lineWidth=1/r.x,t.strokeStyle="#656565",t.fillStyle="#fff",i&&i.component===e&&i.index===o&&(t.strokeStyle="#fa7703",i.toFill&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke()})}}ondblclick(t){var e=this.active.component;if(e.pathExtendable){var r=e.path.slice();r.length<3||(r.splice(this.active.index,1),e.path=r)}}onmousedown(t){this.active.toFill=!0}ondragstart(t){var{index:e,component:r}=this.active;this.created||(this.active.changes=Eut.before([r])),0!==e&&e!==r.path.length-1||(this.layer.counterEnd=0===e?r.toEnd||{fromto:"to"}:r.fromEnd||{fromto:"from"})}ondragmove(t){var{component:e,index:r}=this.active||{};const{offsetX:n,offsetY:i}=t;var o,a,s=e.toLocal(n,i);if(s=e.toParent(s.x,s.y),t.shiftKey){var c=e.path.length,l=e.isLine()&&0==r?e.path[1]:e.path[(r-1+c)%c];l=e.toParent(l.x,l.y);var u,h=0;if(c>2)e.isLine()?0==r?u=e.path[2]:1!=r&&(u=e.path[r-2]):u=e.path[(r-2+c)%c],u&&(h=Nht(u=e.toParent(u.x,u.y),l));var f=Math.round((Nht(l,s)-h)/Fht)*Fht+h;s=function(t,e,r){return{x:Math.cos(e)*r+t.x,y:Math.sin(e)*r+t.y}}(l,f,(o=l,a=s,Math.sqrt((a.x-o.x)*(a.x-o.x)+(a.y-o.y)*(a.y-o.y))))}if(0===r||r===e.path.length-1){const t=this.layer.anchorTarget=e.rootModel.capture(n,i,t=>!t.isConnectable());if(t){const{x:o,y:a}=t.toLocal(n,i),c=this.layer.get("scale")||{x:1,y:1},l=this.layer.counterEnd,u=(t.anchors||[]).find(r=>{const{name:n,inout:i,multiplicity:s=1/0,position:u,filter:h}=r;if(l){const{anchor:t,fromto:e}=l;if(t&&("out"===t.inout&&"out"===i||"in"===t.inout&&"in"===i))return!1;if("from"===e&&"out"===i||"to"===e&&"in"===i)return!1}else console.error("should not be here.");if(Math.abs(o-u.x)>8/c.x||Math.abs(a-u.y)>8/c.y)return!1;const f=t.findInOutLines(n);return!!f.includes(e)||!(s!==1/0&&f.length>=s)&&(!l||!h||!!h.call(r,l))});u?0==r?e.from={component:t.get("refid"),anchor:u.name,position:s}:e.to={component:t.get("refid"),anchor:u.name,position:s}:0==r?e.from={position:s}:e.to={position:s}}}e.mutatePath(null,function(t){t[r]=s})}ondragend(t){var{component:e,index:r,changes:n}=this.active;if(0===r||r===e.path.length-1){const{offsetX:n,offsetY:i}=t,o=e.rootModel.capture(n,i,t=>t===e||t.isLine()),{x:a,y:s}=o.toLocal(n,i),c=this.layer.get("scale")||{x:1,y:1},l=(o.anchors||[]).find(t=>t&&Math.abs(a-t.position.x)<=8/c.x&&Math.abs(s-t.position.y)<=8/c.y);l&&(0==r?e.from={component:o.get("refid"),anchor:l.name}:e.to={component:o.get("refid"),anchor:l.name}),this.layer.endLinkProcess()}if(this.created){let t=new Lut({changes:[{component:this.created,to_container:this.created.parent}]});created.app.commander.execute(t)}else Eut.after(n,e.app.commander);e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}class Uht{constructor(t){this.layer=t}get active(){return this._active?.component.disposed&&(this._active=null),this._active}set active(t){this._active=t}reset(){this.active=null}contains(t,e,r,n){const i=this.active?.component===r&&this.active?.anchor;this.active=null;const o=this.layer.counterEnd;return(r.isConnectable()&&!r.disposed&&this.getAnchorHandles(r,n)||[]).filter(t=>{const{name:e,inout:n,multiplicity:i=1/0,filter:a}=t;if(o){const{anchor:t,fromto:e}=o;if(t&&("out"===t.inout&&"out"===n||"in"===t.inout&&"in"===n))return!1;if("from"===e&&"out"===n||"to"===e&&"in"===n)return!1}else if("in"===n)return!1;return!(i!==1/0&&r.findInOutLines(e).length>=i)&&(!a||!o||!!a.call(t,o))}).every(o=>{const a=i===o.name?2:1;return o&&o.position&&Math.abs(t-o.position.x)<=4*a/n.x&&Math.abs(e-o.position.y)<=4*a/n.y&&(this.active={component:r,anchor:o.name,template:o.template}),!this.active}),!!this.active}getAnchorHandles(t,e){var{left:r,top:n,width:i,height:o}=t.bounds;return i*e.x<30||o*e.y<30?[]:t.anchors}draw(t,e,r){if(!e.get("refid")||e.isLine())return;var n=this.active;const i=this.active?.component===e&&this.active?.anchor,o=this.layer.counterEnd;(e.isConnectable()&&!e.disposed&&this.getAnchorHandles(e,r)||[]).filter(t=>{const{name:r,inout:n,multiplicity:i=1/0,filter:a}=t;if(o){const{anchor:t,fromto:e}=o;if(t&&("out"===t.inout&&"out"===n||"in"===t.inout&&"in"===n))return!1;if("from"===e&&"out"===n||"to"===e&&"in"===n)return!1}else if("in"===n)return!1;return!(i!==1/0&&e.findInOutLines(r).length>=i)&&(!o||!a||!!a.call(t,o))}).forEach(o=>{const{name:a,position:s}=o,c=i===a?2:1;s&&(t.beginPath(),t.ellipse(s.x,s.y,4*c/r.x,4*c/r.y,0,0,2*Math.PI),t.setLineDash([0,0]),t.lineWidth=1/r.x,t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",n&&n.component===e&&n.anchor===a&&(t.strokeStyle="#fa7703",n.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())})}onmousedown(t){this.active.focus=!0}ondragstart(t){const{component:e,anchor:r,template:n}=this.active,i=this.layer.toLocal(t.offsetX,t.offsetY);this.layer.startLinkProcess(e,{type:"ortholine",lineWidth:1,strokeStyle:"black",begin:"oval",beginSize:"size9",end:"arrow",endSize:"size9",lineDash:"solid",lineCap:"butt",round:10,...n,from:{component:e.get("refid"),anchor:r,position:i},to:{position:i}},t)}ondragmove(t){}ondragend(t){}}function Bht(t,e,r){var n,i,{left:o,top:a,width:s,height:c}=t.bounds;switch(e){case 0:n=o,i=a;break;case 1:n=o+s/2,i=a;break;case 2:n=o+s,i=a;break;case 3:n=o+s,i=a+c/2;break;case 4:n=o+s,i=a+c;break;case 5:n=o+s/2,i=a+c;break;case 6:n=o,i=a+c;break;case 7:n=o,i=a+c/2}var l=n,u=i,h=t.fromScene(r.x,r.y);return{dx:h.x-l,dy:h.y-u}}function $ht(t,e,r,n,i,o){var{left:a,top:s,width:c,height:l}=t.bounds,u={left:a,top:s,width:c,height:l};switch(e){case 0:a+=n,s+=i,c-=n,l-=i;break;case 1:s+=i,l-=i;break;case 2:s+=i,c+=n,l-=i;break;case 3:c+=n;break;case 4:c+=n,l+=i;break;case 5:l+=i;break;case 6:a+=n,c-=n,l+=i;break;case 7:a+=n,c-=n}if(t.mutateBounds(function(e){return Math.abs(c)<=.001&&(c=.001),Math.abs(l)<=.001&&(l=.001),t.adjustResize({left:a,top:s,width:c,height:l},u,r)},this),t.isContainer()&&t.layout.ABSOLUTE&&!t.isGroup()){var h=u.left-a,f=u.top-s;o?t.components.forEach(t=>{t.delta("tx",0),t.delta("ty",0),t.move({x:h,y:f},!1)}):t.components.forEach(t=>{t.delta("tx",h),t.delta("ty",f)})}else{var d=o&&t.parent;d&&d.isGroup()&&d.calculateBounds()}}function Yht(t,e){const{left:r,top:n,width:i,height:o}=t,a=r+i/2,s=n+o/2,c=r+i,l=n+o,u=i*e.x>50,h=o*e.y>50;return[{x:r,y:n},u?{x:a,y:n}:{x:null,y:null},{x:c,y:n},h?{x:c,y:s}:{x:null,y:null},{x:c,y:l},u?{x:a,y:l}:{x:null,y:null},{x:r,y:l},h?{x:r,y:s}:{x:null,y:null}]}class Ght{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){if(!r.resizable)return!1;const i=Yht(r.bounds,n);for(let o=0;o<i.length;o++){const a=i[o];if(null!=a.x&&null!=a.y&&Math.abs(t-a.x)<=4/n.x&&Math.abs(e-a.y)<=4/n.y)return this.active={component:r,index:o},!0}return!1}draw(t,e,r){if(!e.isLine()){var{left:n,top:i,width:o,height:a}=e.bounds;if(t.beginPath(),t.rect(n-4/r.x,i-4/r.y,o+8/r.x,a+8/r.y),t.setLineDash([3/r.x,4/r.y]),t.lineWidth=1/r.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),e.resizable){var s=this.active;Yht(e.bounds,r).forEach((n,i)=>{null!=n.x&&null!=n.y&&(t.beginPath(),t.rect(n.x-4/r.x,n.y-4/r.y,8/r.x,8/r.y),t.setLineDash([]),t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",s&&s.component===e&&s.index===i&&(t.strokeStyle="#fa7703",s.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())})}}}onmousedown(t){this.active.focus=!0}ondragstart(t){var{component:e}=this.active;this.active.bounds=e.bounds,this.active.boundsList=this.layer.selected.filter(t=>t.resizable).map(t=>t.bounds)}ondragmove(t){var{component:e,index:r,boundsList:n,bounds:i}=this.active;if(e.scalable)var o=this.layer.toLocal(t.offsetX,t.offsetY);else o={x:t.offsetX,y:t.offsetY};e.bounds=i;var a=Bht(e,r,o);this.layer.selected.filter(t=>t.resizable).forEach((e,i)=>{e.bounds=n[i],$ht(e,r,t.shiftKey,a.dx,a.dy,!1)})}ondragend(t){var{component:e,index:r,boundsList:n,bounds:i}=this.active;if(e.scalable)var o=this.layer.toLocal(t.offsetX,t.offsetY);else o={x:t.offsetX,y:t.offsetY};e.bounds=i;var a=Bht(e,r,o);this.layer.selected.filter(t=>t.resizable).forEach((e,i)=>{e.bounds=n[i],$ht(e,r,t.shiftKey,a.dx,a.dy,!0)}),this.active.component.app.commander.execute(null,!1)}}const Hht=2*Math.PI,Wht=Math.PI/2;function qht(t,e){var r=t.bounds;return{x:r.left+r.width/2,y:r.top-20/e.y}}class Vht{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){if(!r.rotatable)return!1;var i=qht(r,n);return Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r},!0)}draw(t,e,r){if(e.rotatable){t.beginPath();var n=qht(e,r);t.lineWidth=1.5/r.x,t.moveTo(n.x,n.y+20/r.y),t.lineTo(n.x,n.y),t.strokeStyle="#656565",t.stroke(),t.beginPath(),t.ellipse(n.x,n.y,4/r.x,4/r.y,0,0,Hht,!0),t.stroke(),t.fillStyle="#fff",t.fill();var i=this.active;i&&i.component===e&&(t.strokeStyle="#fa7703",t.stroke(),i.toFill&&(t.fillStyle="#ffb80c",t.fill()))}}onmousedown(t){this.active.toFill=!0}ondragstart(t){var e=this.active;e.component,e.start_rotation=e.component.get("rotation"),e.rotations=this.layer.selected.filter(t=>t.rotatable).map(t=>t.get("rotation"))}ondragmove(t){var{component:e}=this.active;if(e.scalable){var r=e.toLocal(t.offsetX,t.offsetY);r=e.toParent(r.x,r.y)}else{r={x:t.offsetX,y:t.offsetY};e.parent?.isRootModel()||(r=e.toParent(r.x,r.y))}var n=e.rotatePoint,i=e.get("rotation")||0,o=Math.atan((n.y-r.y)/(n.x-r.x)),a=(o=n.x>=r.x?o-Wht:Wht+o)-i;this.layer.selected.filter(t=>t.rotatable).forEach((e,r)=>{let n=((e.get("rotation")||0)+a)%Hht;e.set("rotation",e.adjustRotation(n,t.shiftKey))})}ondragend(t){var{component:e}=this.active;e.app.commander.execute(null,!1)}}llt.register("modeling-layer",class extends Ult{constructor(t,e){super(t,e),this.pathHandler=new zht(this);var r=this.pathHandler,n=new Lht(this),i=new Ght(this),o=new Vht(this);this._modelers=[r,n,i,o],this._control_mode_modelers=[n,r,i,o],this.focusOutline=new Dht(this),this.groupOutline=new jht(this),this.anchorHandler=new Uht(this),this._reversed_modelers=this._modelers.slice().reverse(),this._control_mode_reverse_modelers=this._control_mode_modelers.slice().reverse(),this.hovered=null,this.hoveredDest=null}get modelers(){return this._control_mode?this._control_mode_modelers:this._modelers}get reversedModelers(){return this._control_mode?this._control_mode_reverse_modelers:this._reversed_modelers}ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}capture(t,e,r){return!!this.contains(t,e)&&this}contains(t,e){var r=this.selected.filter(t=>!!t.parent),n=this.fromParent(t,e),i=this.get("scale")||{x:1,y:1};if(this._state_dragging){if(this._counter_end){let r=i;if(this.anchorTarget.scalable)var o=this.anchorTarget.fromScene(n.x,n.y);else{o=this.anchorTarget.fromScene(t,e);r={x:1,y:1}}if(this.anchorHandler.contains(o.x,o.y,this.anchorTarget,r))return!0}return!0}this.modelers.forEach(t=>t.reset());r=this.selected.filter(t=>!!t.parent);for(let a=0;a<r.length;a++){let s=r[a],c=i;if(s.scalable)o=s.fromScene(n.x,n.y);else{o=s.fromScene(t,e);c={x:1,y:1}}for(let t=0;t<this.modelers.length;t++){let e=this.modelers[t];if(e.contains(o.x,o.y,s,c))return this.currentModeler=e,!0}}if(this.anchorTarget){let r=i;if(this.anchorTarget.scalable)o=this.anchorTarget.fromScene(n.x,n.y);else{o=this.anchorTarget.fromScene(t,e);r={x:1,y:1}}if(this.anchorHandler.contains(o.x,o.y,this.anchorTarget,r))return this.currentModeler=this.anchorHandler,!0}else this.anchorHandler.reset();return this.currentModeler=null,!1}_componentDrawer(t,e,r,n){let i=[],o=e.parent;if(e.isRootModel())return t.save(),n(t,e,r),void t.restore();for((t=this.getContext(e))==this.auxContext2D&&(r={x:1,y:1});o&&!o.isRootModel();)i.push(o),o=o.parent;t.save(),i.reverse().forEach(function(e){let r=e.rotatePoint;t.translate(r.x,r.y);let n=e.get("scale");n&&t.scale(n.x,n.y),t.rotate(e.get("rotation")),t.translate(-r.x,-r.y);let i=e.bounds;t.translate(i.left,i.top)});let a=e.rotatePoint;t.translate(a.x,a.y);let s=e.get("scale");s&&t.scale(s.x,s.y),t.rotate(e.get("rotation")),t.translate(-a.x,-a.y),n(t,e,r),t.restore()}prerender(t){var{translate:e,scale:r={x:1,y:1},rotation:n}=this.model;t.save(),t.beginPath(),t.clearRect(0,0,t.canvas.width,t.canvas.height),t.rect(0,0,t.canvas.width,t.canvas.height),t.fillStyle="black",t.globalAlpha=.5,t.fill(),t.restore(),e&&t.translate(e.x*Bst,e.y*Bst),t.scale(r.x*Bst,r.y*Bst),n&&t.rotate(n),t.clearRect(0,0,this.rootModel.get("width"),this.rootModel.get("height"))}render(t){t.beginPath();var e=this.get("scale")||{x:1,y:1},r=this.selected.filter(t=>!!t.parent);if(this.anchorTarget&&this._componentDrawer(t,this.anchorTarget,e,(t,e,r)=>{this.anchorHandler.draw(t,e,r)}),this.focused&&this._componentDrawer(t,this.focused,e,(t,e,r)=>{this.focusOutline.draw(t,e,r)}),r.length>0&&r[0].parent.isGroup()){let n=r[0].parent;for(;n.parent.isGroup();)n=n.parent;this._componentDrawer(t,n,e,(t,e,r)=>{this.groupOutline.draw(t,e,r)})}r.forEach(r=>{this._componentDrawer(t,r,e,(t,e,r)=>{this.reversedModelers.forEach(n=>n.draw(t,e,r))})})}get anchorTarget(){return this.currentModeler===this.anchorHandler||this.currentModeler===this.pathHandler||this.hovered?.isLine()||(this._anchorTarget=this.hovered),this._anchorTarget}set anchorTarget(t){this._anchorTarget=t}get hovered(){return this._hovered}set hovered(t){this._hovered=t,this.invalidate()}startLinkProcess(t,e,r){this.currentModeler=this.pathHandler,this.processingLink=this.pathHandler.startLinkProcess(t,e,r),this.counterEnd=this.processingLink.fromEnd,this.processingLink.trigger("tag")}set counterEnd(t){this.currentModeler=this.pathHandler,this._counter_end=t}get counterEnd(){return this._counter_end}endLinkProcess(){this.processingLink?.trigger("tagreset"),this.processingLink=null,this._counter_end=null}get eventMap(){return{"model-layer":{"(all)":{change:this.onchange_model,wheel:this.onwheel_scale,drop:this.ondrop},"(descendant)":{mouseenter:this.onmouseenter,mouseleave:this.onmouseleave},"(self)":{dblclick:this.ondblclick_model}},"(root)":{"(self)":{selected:this.onselected,keydown:this.onkeydown,keyup:this.onkeyup}}}}onmouseenter(t,e){this.hovered=e?.origin}onmouseleave(t,e){this.hovered=null}onkeydown(t){"Alt"==t.key&&(this._control_mode=!0,this.invalidate())}onkeyup(t){"Alt"==t.key&&(this._control_mode=!1,this.invalidate())}onselected(t,e){this.invalidate()}onchange_model(t,e,r){var{origin:n,deliverer:i}=r;n===i&&(t.translate&&this.set("translate",t.translate),void 0!==t.rotation&&this.set("rotation",t.rotation),t.scale&&this.set("scale",t.scale)),this.invalidate()}ondblclick_model(t,e){const r=e.origin;r?.root.fit()}ondblclick(t){"function"==typeof this.currentModeler.ondblclick&&this.currentModeler.ondblclick(t),this.invalidate()}onmousedown(t){this.currentModeler.onmousedown(t),this.invalidate()}onmouseup(t){"function"==typeof this.currentModeler.onmouseup&&this.currentModeler.onmouseup(t),this.invalidate()}ondragstart(t){this.currentModeler.ondragstart(t),this._state_dragging=!0}ondragmove(t){this.currentModeler.ondragmove(t),this.invalidate()}ondragend(t){this._state_dragging=!1,this.currentModeler.ondragend(t),this.invalidate()}ondrop(t,e){var{origin:r}=e,n=t.dataTransfer.files;if(n.length<1)return;let i=this.rootModel.toLocal(t.offsetX,t.offsetY),o=this.rootModel;Promise.all(Array.from(n).map(t=>new Promise((e,r)=>{let n=new FileReader;n.addEventListener("loadend",t=>{e(n.result)}),["error","abort"].forEach(t=>n.addEventListener(t,t=>{r(t)})),n.readAsDataURL(t)}))).then(e=>{if(t.altKey)return Eut.around(this.app.commander,()=>{r.ondropfile(n,e)}),void(this.selected=[r]);let a=[],s=e.map((t,e)=>{let r,s=n[e].type,c=n[e].name;return s.startsWith("image/")?(r=zut({type:s.startsWith("image/gif")?"gif-view":"image-view",top:0,left:0,width:200,height:200,src:t},o.app),a.push(new Promise((e,n)=>{let i=new Image;i.src=t,i.onload=()=>{r.set({width:i.width,height:i.height}),e()},i.onerror=t=>{n(t)}}))):s.startsWith("audio/")?r=zut({type:"audio",top:0,left:0,width:100,height:100,src:t},o.app):s.startsWith("vnd.ms-excel/")||/\.xlsx?$/.test(c)?r=zut({type:"excel",top:0,left:0,width:100,height:100,src:t},o.app):console.log("droped file",n[e]),r&&(r.center=i,i.x+=50,i.y+=50),r}).filter(Boolean).map(t=>({component:t,to_container:o}));s.length>0&&Promise.all(a).then(()=>{this.app.commander.execute(new Lut({changes:s})),this.selected=s.map(t=>t.component)},t=>{console.error(t)})},t=>{console.error(t)})}onwheel_scale(t,e){if(0!=t.deltaY||0!=t.deltaX){var r=e.deliverer;if(t.shiftKey){if(-1!=navigator.userAgent.indexOf("Win"))var n=t.deltaY<0?1:-1;else n=t.deltaX<0?1:-1;t.altKey?Eut.around(this.app.commander,()=>{r.selected.forEach(t=>{let e=t.get("letterSpacing")||Gst.LETTER_SPACING;e+=n,t.set("letterSpacing",e)})}):Eut.around(this.app.commander,()=>{r.selected.forEach(t=>{let e=t.get("fontSize")||Gst.FONT_SIZE;e<1&&(e=1),e+=n,t.set("fontSize",e)})})}else{n=t.deltaY<0?1:-1;let e=r.get("scale")||{x:1,y:1},i=r.get("translate"),o=t.offsetX,a=t.offsetY,s=r.toLocal(o,a),c=.1*n,l={x:e.x+c,y:e.y+c};if(n<0&&e.x<.2||n>0&&e.x>10)return;r.set("scale",l);let u=r.toLocal(o,a);r.set("translate",{x:i.x+(u.x-s.x)*l.x,y:i.y+(u.y-s.y)*l.y})}}}});function Xht(){var t=arguments,e=t[t.length-1],r=this.event_pump;r.listeners.forEach(n=>{!function(t,e,r,n,i){for(let o in r){let a=r[o];if(Jst(o,n.origin,0,t))for(let t in a){let r=a[t];t==n.name&&(n.listener=e,r.apply(e,i))}}}(r.deliverer,n.listener,n.cloned_handlers,e,t)})}llt.register("scroll-layer",class extends zlt{get capturable(){return!0}get pointerEvents(){return"none"}render(t){const{scrolling:e}=this.state;if(t.save(),t.beginPath(),t.fillStyle="#777",this.vscroller){const{left:r,top:n,width:i,height:o}=this.vscroller;t.globalAlpha="v"==e?1:.3,t.fillRect(r,n,i,o)}if(this.hscroller){const{left:r,top:n,width:i,height:o}=this.hscroller;t.globalAlpha="h"==e?1:.3,t.fillRect(r,n,i,o)}t.stroke(),t.restore()}resize(){super.resize(),this.calcScrollerBounds()}contains(t,e){const r=this.vscroller,n=this.hscroller;return this.setState("scrolling",r&&t>=r.left&&t<=r.left+r.width&&e>=r.top&&e<=r.top+r.height?"v":n&&t>=n.left&&t<=n.left+n.width&&e>=n.top&&e<=n.top+n.height?"h":null),!!this.getState("scrolling")}get eventMap(){return{"(root)":{"model-layer":{change:this.onchangeModelLayer}}}}onchange(t){"scrolling"in t&&this.invalidate()}ondragstart(t,e){this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragmove(t,e){const r=this.root,{clientWidth:n,clientHeight:i}=this.canvas,{width:o,height:a}=this.rootModel.model,{x:s,y:c}={x:t.offsetX,y:t.offsetY},{x:l,y:u}=this._scale,{scrolling:h}=this.state,f=o/n,d=a/i;h&&r.rootModel.move({x:"h"==h?(-s+this.lastPosition.x)*l*f:0,y:"v"==h?(-c+this.lastPosition.y)*u*d:0},!1),this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragend(){delete this.lastPosition,this.setState({scrolling:null})}calcScrollerBounds(){if(!this.rootModel)return;var{clientWidth:t,clientHeight:e}=this.canvas;const{width:r,height:n}=this.rootModel.model,{x:i=1,y:o=1}=this._scale||{},{x:a=0,y:s=0}=this._translate||{},c=r/t,l=n/e;var u={left:-a/i/c,top:e-10,width:t/i/c,height:10};this.hscroller=u.left>1||u.width+u.left<t-1?u:null,u={left:t-10,top:-s/o/l,width:10,height:e/o/l},this.vscroller=u.top>1||u.height+u.top<e-1?u:null,this.invalidate()}onchangeModelLayer(t,e,r){if(t.scale){const{x:e=1,y:r=1}=t?.scale||{};this._scale={x:e,y:r},this.calcScrollerBounds()}if(t.translate){const{x:e=0,y:r=0}=t.translate||{};this._translate={x:e,y:r},this.calcScrollerBounds()}}});class Kht{constructor(t){if(void 0===t.on)throw new Error("Deliverer should be a event handlable object.");this.deliverer=t,this.listeners=[]}start(){this.deliverer.on("(all)",Xht,{event_pump:this})}stop(){this.deliverer.off("(all)",Xht)}on(t,e){var r=Object.assign({},e);Object.keys(r).forEach(e=>{if(0==e.indexOf("?")){let n=r[e],i=e.substr(1),o=t.get(i);delete r[e],o?r[o]=n:Tst("EventPump#on","variable #{selector} is not evaluated on listener")}}),this.listeners.push({listener:t,handlers:e,cloned_handlers:r})}off(t,e){for(let r=0;r<this.listeners.length;r++){let n=this.listeners[r];n.listener!==t||e&&n.handlers!==e||this.listeners.splice(r,1)}}clear(){this.listeners=[]}dispose(){this.stop(),this.clear()}}class Qht{constructor(t){this.eventMaps=[],this.root=t,t.eventMap&&this.add(t,t.eventMap)}set root(t){this._root=t}get root(){return this._root}stop(){this.eventMaps.forEach(t=>t.eventPump.stop())}add(t,e){if(this.root)for(let r in e){let n=e[r];if("(self)"===r&&void 0===t.on)throw new Error("(self) selector not available when deliverer is not a event handlable object.");ect(r,this.root,t).forEach(r=>{var i=new Kht(r);i.on(t,n),i.start(),this.eventMaps.push({eventPump:i,listener:t,handlerMap:e,deliverer:r})})}}remove(t,e){var r=this.eventMaps.slice(0);for(let n=0;n<r.length;n++){let i=r[n];i.listener!==t||e&&i.handlerMap!==e||(this.eventMaps.splice(n,1),i.eventPump.dispose())}}clear(){this.eventMaps.slice(0).forEach(t=>t.eventPump.dispose()),this.eventMaps=[]}dispose(){this.stop(),this.clear()}}const Jht=0,Zht=1,tft=2,eft=0,rft=1,nft=2;var ift={},oft=0;class aft{constructor(t,e){this._type=e||t.type,this._ctrlKey=t.ctrlKey,this._altKey=t.altKey,this._shiftKey=t.shiftKey,this._metaKey=t.metaKey;var r=function(t){if(t.touches){let e=t.touches[0];if(!e)return ift;let r=e.target.getBoundingClientRect();return ift={x:t.offsetX||e.clientX-(r.x||r.left),y:t.offsetY||e.clientY-(r.y||r.top)}}return{x:t.offsetX,y:t.offsetY}}(t);if(this._offsetX=r.x,this._offsetY=r.y,t.touches&&t.touches[0]?(this._clientX=t.touches[0].clientX,this._clientY=t.touches[0].clientY):(this._clientX=t.clientX,this._clientY=t.clientY),"wheel"==t.type)this.deltaX=t.deltaX,this.deltaY=t.deltaY,this.deltaZ=t.deltaZ;else if("drop"==t.type)this.dataTransfer=t.dataTransfer;else if(t.type.match(/^touch/)&&(this._scale=t.scale,this._touches=t.touches,this._changedTouches=t.changedTouches,null==this._scale)){var n=function(t){var e,r,n=0,i=0,o=0;if(1===t.touches.length)return o;Array.from(t.touches).forEach(t=>{e=null!=e?Math.min(t.screenX,e):t.screenX,n=Math.max(t.screenX,n),r=null!=r?Math.min(t.screenY,r):t.screenY,i=Math.max(t.screenY,i)});var a=n-e||0,s=i-r||0;return Math.sqrt(Math.pow(a,2)+Math.pow(s,2))||0}(t);oft>0&&(this._scale=n/oft),oft=n}}get type(){return this._type}set type(t){this._type=t}get offsetX(){return this._offsetX}get offsetY(){return this._offsetY}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get shiftKey(){return this._shiftKey}get metaKey(){return this._metaKey}get clientX(){return this._clientX}get clientY(){return this._clientY}get touches(){return this._touches}get changedTouches(){return this._changedTouches}get scale(){return this._scale}stopPropagation(){this._stop_=!0,this.originalEvent&&"function"==typeof this.originalEvent.stopPropagation&&this.originalEvent.stopPropagation()}isPropagationStopped(){return this._stop_}preventDefault(){this._prevented=!0}isDefaultPrevented(){return this._prevented}}function sft(t,e,r){if(t&&t.app&&(!t.app.isViewMode||!t.hidden)){r instanceof aft&&e===r.type||(r=new aft(r,e));var n="on"+e;t[n]&&t[n](r),r.isPropagationStopped()||t.trigger(e,r)}}class cft{constructor(t,e){this.gestureHandlerBuilder=t=>{var e=this[`on${t}`];return t=>{const r=new aft(t),n=this.getChildScrollOffset();return r._offsetX+=this.html_element.scrollLeft+n.scrollLeft,r._offsetY+=this.html_element.scrollTop+n.scrollTop,e(r),r.isDefaultPrevented()&&t.preventDefault(),!1}},this.keyeventHandlerBuilder=t=>this[`on${t}`],this.ondragover=t=>(sft(this.findTarget(t),t.type,t),!1),this.ondrop=t=>(sft(this.findTarget(t),t.type,t),!1),this.ondblclick=t=>(sft(this.findTarget(t),t.type,t),this.last_target=null,!1),this.onkeydown=t=>(this.container.trigger(t.type,t),!1),this.onkeyup=t=>(this.container.trigger(t.type,t),!1),this.onmousemove=t=>{switch(this.status){case Zht:let r=t.offsetX-this.__dragstart_e.offsetX,n=t.offsetY-this.__dragstart_e.offsetY;if(r*r+n*n<16)break;this.status=tft,sft(this.last_target,"dragstart",this.__dragstart_e),this.__dragmove_e=t,sft(this.last_target,"dragmove",t);break;case tft:this.__dragmove_e=t,sft(this.last_target,"dragmove",t);break;default:var e=this.findTarget(t);this.last_enter_target!==e&&(this.last_enter_target&&sft(this.last_enter_target,"mouseleave",t),e&&sft(e,"mouseenter",t),this.last_enter_target=e),sft(e,t.type,t),this.last_target=e}return!1},this.onmousedown=t=>{if(this.status===tft)sft(this.last_target,"dragend",t),this.last_target=null,this.status=Jht;else{var e=this.findTarget(t);this.last_target=e,this.status=Zht,this.__dragstart_e=t,sft(e,t.type,t)}return!1},this.onmouseup=t=>{if(this.status===tft)sft(this.last_target,"dragend",t);else{var e=this.findTarget(t);sft(e,t.type,t),this.last_target===e&&sft(e,"click",t)}return this.last_target=null,this.status=Jht,!1},this.onmouseout=t=>{var e=this.findTarget(t);if(this.status===tft)sft(this.last_target,"dragend",t);else{if(this.last_target&&this.last_target===e)return;this.last_enter_target&&(sft(this.last_enter_target,"mouseleave",t),delete this.last_enter_target)}return this.last_target=null,this.status=Jht,!1},this.ontouchstart=t=>{var e=this.findTarget(t);return this.last_target=e,this.status=rft,this.touchPoints||(this.touchPoints=[]),this.touchPoints.push(t.changedTouches[0]),this.holdTimer=setTimeout(()=>{this.status=eft,sft(this.last_target,"hold",t),delete this.holdTimer},500),sft(e,t.type,t),!1},this.ontouchmove=t=>{if(!t.touches||!t.changedTouches)return sft(this.last_target,"dragstart",t),sft(this.last_target,"dragmove",t),!1;var e=this.findTarget(t);switch(this.status){case rft:Array.from(t.changedTouches).forEach(t=>{var e=this.touchPoints.find(e=>e.identifier===t.identifier);if(e){var r=e.clientX-t.clientX,n=e.clientY-t.clientY;return Math.sqrt(Math.pow(r,2)+Math.pow(n,2))>=16?(this.status=nft,void(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer))):void 0}});break;case nft:if(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer),2===t.changedTouches.length&&null!=t.scale&&1!==t.scale&&(t.scale<.9||t.scale>1.1))return sft(this.last_target,"pinch",t),!1;sft(this.last_target,"pan",t),e=this.last_target;break;default:this.last_enter_target!==e&&(this.last_enter_target&&sft(this.last_enter_target,"mouseleave",t),e&&sft(e,"mouseenter",t),this.last_enter_target=e),this.last_target=e}return sft(e,"touchmove",t),!1},this.ontouchend=t=>{var e=this.findTarget(t);switch(this.status){case nft:e=this.last_target;break;case rft:var r=performance.now(),n=r-this.touchedAt;this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer,sft(e,n<500?"doubletap":"tap",t),this.touchedAt=r)}sft(e,"touchend",t);var i=this.touchPoints.findIndex(e=>e.identifier===t.changedTouches[0].identifier);return this.touchPoints.splice(i,1),this.last_target=null,this.status=eft,!1},this.onwheel=t=>(sft(this.findTarget(t),t.type,t),!1),this.container=t,this.html_element=e,this.status=Jht,this.last_target=null,this.gesture_handlers=$st.map(t=>this.gestureHandlerBuilder(t)),this.keyevent_handlers=Yst.map(t=>this.keyeventHandlerBuilder(t)),$st.forEach((t,r)=>e.addEventListener(t,this.gesture_handlers[r]),{passive:!1}),Yst.forEach((t,r)=>e.addEventListener(t,this.keyevent_handlers[r])),e.ondragover=this.gestureHandlerBuilder("dragover"),e.ondrop=this.gestureHandlerBuilder("drop"),e.tabIndex=1}dispose(){this.last_enter_target&&sft(this.last_enter_target,"mouseleave",new CustomEvent("mouseleave")),$st.forEach((t,e)=>this.html_element.removeEventListener(t,this.gesture_handlers[e])),Yst.forEach((t,e)=>this.html_element.removeEventListener(t,this.keyevent_handlers[e])),delete this.gesture_handlers,delete this.keyevent_handlers,delete this.last_target}getChildScrollOffset(){for(const t of this.html_element.children)if(t.scrollTop>0||t.scrollLeft>0)return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop};return{scrollLeft:0,scrollTop:0}}findTarget(t){const e=this.html_element.getBoundingClientRect(),r=this.getChildScrollOffset(),n=t.clientX-e.left+this.html_element.scrollLeft+r.scrollLeft,i=t.clientY-e.top+this.html_element.scrollTop+r.scrollTop;return this.container.capture(n,i)}}function lft(t,e,r,n=0){if(e.length<2)return e;let i=2;for(;i<e.length;i++){const o=e.substring(0,i);if(!(t.measureText(o).width+(o.length-1)*n<r))break}return e.substring(0,i-1)}function uft(t,e,r,n,i=0){const o=String(e).split("\n");return n?[].concat.apply([],o.map(e=>function(t,e,r,n=0){const i=e.split(" "),o=[];let a,s,c=[];for(a=0,s=1;s<=i.length;s++)if(c=i.slice(a,s),t.measureText(c.join(" ")).width+(c.join("").length-1)*n>r){if(s-a==1){const e=lft(t,c[0],r,n);o.push([e]),i.splice(a,1,e,c[0].substring(e.length))}else{for(;""==i[s-1];)s++;o.push(i.slice(a,--s))}a=s}return s-a>1&&o.push(c),0==o.length&&o.push([""]),o}(t,e,r,i))):o.map(t=>t.split(" "))}var hft={},fft={};const dft=()=>{};var pft={register:function(t,e,r){hft[t]=e,r&&(fft[t]=r)},unregister:function(t){delete hft[t],delete fft[t]},get:function(t){return hft[t]},getDisposer:function(t){return fft[t]||dft}};function gft(t){if(!t.hasTextProperty||t.textHidden)return;var{text:e="",bold:r=Gst.BOLD,italic:n=Gst.ITALIC,textWrap:i=Gst.TEXT_WRAP,letterSpacing:o=0,fontFamily:a=Gst.FONT_FAMILY,fontColor:s=Gst.FONT_COLOR,textAlign:c=Gst.TEXT_ALIGN,textBaseline:l=Gst.TEXT_BASELINE,fontSize:u=Gst.FONT_SIZE,lineHeight:h=1.2*u}=t.model,{left:f,top:d,width:p,height:g}=t.textBounds;u||=Gst.FONT_SIZE,h||=1.2*u,t.textHidden=!0;var v=document.createElement("textarea");$st.forEach(function(t){v.addEventListener(t,function(t){t.stopPropagation()},!0)});const y=t.toGlobal(f,d),{rotation:m,scale:b}=function(t){for(var e=0,r=1,n=t;n;){e+=n.get("rotation")||0;let{x:t,y:i}=n.get("scale")||{x:1,y:1};r*=Math.max(t,i)||1,n=n.parent}return{rotation:e,scale:r}}(t);v.value=e;const x={position:"absolute",width:p+"px",height:g+"px",padding:"0",fontFamily:a,fontSize:u+"px",lineHeight:h+"px",overflow:"hidden",resize:"none",outline:"none",border:"0",backgroundColor:"transparent",display:"inline-block",color:s};switch(r&&(x.fontWeight="bold"),n&&(x.fontStyle="italic"),c){case"right":case"end":x.textAlign="right";break;case"justify":x.textAlign="justify";break;case"left":case"start":x.textAlign="left";break;default:x.textAlign="center"}var w=[r,n,u+"px",a].filter(Boolean).join(" ");function A(e){var r={left:0,top:0},n=h*function(t,e,r,n,i=0){var o,a=t.getContext();return a.save(),a.font=r,o=uft(a,e,n,t.get("textWrap"),i).length,a.restore(),o}(t,e,w,p,o);switch(x.height=n+"px",l){case"top":case"hanging":break;case"bottom":case"alphabetic":r.top=g-n;break;default:r.top=g/2-n/2}if(!i){var a=function(t,e,r,n){var i=e.split("\n"),o=n;let a=t.getContext();return a.save(),a.font=r,i.forEach(t=>{let e=a.measureText(t).width;e>o&&(o=e)}),a.restore(),o}(t,e,w,p);switch(x.width=a+"px",c){case"right":case"end":r.left=p-a;break;case"left":case"start":break;default:r.left=(p-a)/2}}x.marginLeft=r.left+"px",x.marginTop=r.top+"px",x.transform=`translate(${y.x}px, ${y.y}px) scale(${b}) rotate(${m}rad)`,x.transformOrigin=`${-r.left}px ${-r.top}px`,Object.assign(v.style,x)}A(e);var _=t.root.target_element;_.appendChild(v),v.select();var E,k=!1;v.addEventListener("keydown",function(t){t.stopPropagation(),"Escape"!=t.code&&(t.shiftKey||"Enter"!=t.code&&"NumpadEnter"!=t.code)?setTimeout(()=>{A(v.value)}):(k=E.skipUpdate="Escape"==t.code,document.createEvent?v.dispatchEvent(E):v.fireEvent(E.eventType,E))}),document.createEvent?(E=document.createEvent("HTMLEvents")).initEvent("blur",!0,!1):(E=document.createEventObject()).eventType="blur";var S=t.root.selected,M=function(r){t.root.selected=S,t.textHidden=!1,v.removeEventListener("blur",M,!1),v.parentElement&&v.parentElement.removeChild(v),_.focus(),r.skipUpdate||k||t.app.commander.execute(new Eut({changes:[{component:t,before:{text:e},after:{text:v.value}}]}))};v.addEventListener("blur",M,!1)}pft.register("text-editor",{"(root)":{"(self)":{keydown:function(t,e){var{origin:r,deliverer:n}=e,i=n.selected;return!(1!==i.length||!i[0].hasTextProperty)&&(("Enter"==t.code||"NumpadEnter"==t.code)&&(gft(i[0]),t.preventDefault(),!0))}}},"model-layer":{"(descendant)":{dblclick:function(t,e){gft(e.origin)}}}});var vft,yft,mft,bft=sst(function(t,e,r){if(t.hasSameParentForAllSelected&&!r){var n=[];e[0].parent.isGroup()?t.focused=e[0].parent:(e.forEach(t=>{t.path.forEach(e=>{n.push(t.toScene(e.x,e.y))})}),t.focused=t.capturePath(n,e))}else t.focused=null},300);pft.register("move-handler",{"model-layer":{"(descendant)":{dragstart:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected,o=n.selected.filter(t=>!t.stuck);if(i.length!==o.length&&(i=n.selected=o),0!=i.length){if(i[0].scalable){var a=i[0].toLocal(t.offsetX,t.offsetY);a=i[0].toParent(a.x,a.y)}else a={x:t.offsetX,y:t.offsetY};if(this.last_pos=a,this.direction=0,n.focused=i[0].parent,t.altKey){var s=[],c=new Map;n.selected=n.selected.filter(t=>!t.isRootModel()).map(t=>{let e=Uut(t,t=>{const e=n.root.getNewRefid();return void 0!==t&&c.set(t,e),e});return s.push({component:e,to_container:t.parent}),e}).map(t=>(t.replaceRefids(c),t)),s.forEach(({component:t,to_container:e})=>{e.addComponent(t)}),this.duplicates=n.selected.map(t=>({component:t}))}else this.changes=Eut.before(i)}}},dragmove:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected;if(0!=i.length){if(i[0].scalable){var o=i[0].toLocal(t.offsetX,t.offsetY);o=i[0].toParent(o.x,o.y)}else o={x:t.offsetX,y:t.offsetY};t.shiftKey?2==this.direction&&(this.direction=0):this.direction=2;var a=o.x-this.last_pos.x,s=o.y-this.last_pos.y;if(0==this.direction){if(a*a+s*s<25)return;Math.abs(a)>Math.abs(s)?this.direction=3:this.direction=4}3==this.direction?s=0:4==this.direction&&(a=0),i.forEach(t=>{t.move({x:a,y:s},1===i.length)}),this.last_pos=o,bft(n,i)}}},dragend:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected;if(0!=i.length){var o=i[0].parent,a=n.focused||e.deliverer;if(this.changes&&!a.isGroup())if(n.hasSameParentForAllSelected&&a&&a!==o){var s=this.changes.map(t=>{let{component:e,before:r}=t;return{component:e,to_container:a}});n.app.commander.execute(new Lut({changes:s}))}else Eut.after(this.changes,n.app.commander);else if(this.duplicates){this.duplicates=this.duplicates.map(t=>(t.to_container=a,t));let t=new Lut({changes:this.duplicates});n.app.commander.execute(t)}i.forEach(t=>{t.parent&&t.parent.calculateBounds&&t.parent.calculateBounds()}),this.last_pos=null,this.changes=null,this.duplicates=null,bft(n,i,!0)}}}}},"(root)":{"(self)":{keydown:function(t,e){var{origin:r,deliverer:n}=e,i={},o=t.shiftKey?r.rootModel.MPP:1;switch(t.which){case 37:i.x=-o,i.y=0;break;case 38:i.x=0,i.y=-o;break;case 39:i.x=o,i.y=0;break;case 40:i.x=0,i.y=o;break;default:return}var a=n.selected;Eut.around(n.app.commander,function(){a.forEach(t=>{!t.stuck&&t.move(i,!1)})})}}}});const xft=cst(()=>{const{x:t,y:e}=mft,r=yft.deref();r&&(r.rootModel.move({x:t-vft.x,y:e-vft.y},!1),vft={x:t,y:e})},60,{leading:!0,trailing:!0});pft.register("shift-handler",{"model-layer":{"(all)":{dragstart:function(t,e){vft={x:t.offsetX,y:t.offsetY}},dragmove:function(t,e){yft=new WeakRef(e.deliverer),mft={x:t.offsetX,y:t.offsetY},xft()}}}}),pft.register("zoom-handler",{"model-layer":{"(all)":{wheel:function(t,e){if(0==t.deltaY&&0==t.deltaX)return;var r=e.deliverer,n=t.deltaY<0?1:-1;let i=r.get("scale")||{x:1,y:1},o=r.get("translate"),a=t.offsetX,s=t.offsetY,c=r.toLocal(a,s),l=.1*n,u={x:i.x+l,y:i.y+l};if(n<0&&i.x<.2||n>0&&i.x>10)return;r.set("scale",u);let h=r.toLocal(a,s);r.set("translate",{x:o.x+(h.x-c.x)*u.x,y:o.y+(h.y-c.y)*u.y})}},"(self)":{dblclick:function(t,e){const r=e.origin;r?.root.fit()}}}});var wft={},Aft={};function _ft(t){const e={};for(const r in t)t.hasOwnProperty(r)&&void 0!==t[r]&&(e[r]=t[r]);return e}pft.register("paste-handler",{"(root)":{"(self)":{stylepastestart:function(t){const{deliverer:e}=t,r=e.app;var n=e.selected;if(n&&n[0]&&n!==e.rootModel){const t=n[0],{fillStyle:e,strokeStyle:i,alpha:o,lineWidth:a,lineDash:s,lineCap:c,lineJoin:l,fontColor:u,fontSize:h,fontFamily:f,bold:d,italic:p,textAlign:g,textBaseline:v,textOverflow:y,paddingTop:m,paddingBottom:b,paddingLeft:x,paddingRight:w}=t.state;wft=Xat({fillStyle:e,strokeStyle:i,alpha:o,lineWidth:a,lineDash:s,lineCap:c,lineJoin:l,fontColor:u,fontSize:h,fontFamily:f,bold:d,italic:p,textAlign:g,textBaseline:v,textOverflow:y,paddingTop:m,paddingBottom:b,paddingLeft:x,paddingRight:w}),r.mode=4}},stylepastestop:function(t){const{deliverer:e}=t,r=e.app;wft={},4==r.mode&&(r.mode=1)},databindpastestart:function(t){const{deliverer:e}=t,r=e.app;var n=e.selected;if(n&&n[0]&&n!==e.rootModel){const t=n[0],{mappings:e}=t.state;Aft=Xat({mappings:e}),r.mode=5}},databindpastestop:function(t){const{deliverer:e}=t,r=e.app;Aft={},5==r.mode&&(r.mode=1)},keydown:function(t,e){const{deliverer:r}=e;"Esc"!=t.code&&"Escape"!=t.code||(4==r.app.mode?r.trigger("stylepastestop"):5==r.app.mode&&r.trigger("databindpastestop"))}}},"model-layer":{"(all)":{click:function(t,e){const{deliverer:r}=e,n=r.app;if(4!=n.mode&&5!=n.mode)return;const i=e.origin;4==n.mode?i===r?r.root.trigger("stylepastestop"):i&&Eut.around(n.commander,()=>{const t=_ft({...i.model,...wft});i?.set(t)}):i===r?r.root.trigger("databindpastestop"):i&&Eut.around(n.commander,()=>{const t=_ft({...i.model,...Aft});i?.set(t)})}}}});class Eft{constructor(){this.animatorMap=new Map}waypoint(t,e){this.animatorMap.has(t)&&this.off(t);var{from:r,to:n}=e;if("string"==typeof r&&(r=t.root?.findById(r)),"string"==typeof n&&(n=t.root.findById(n)),!n)return void console.warn("WaypointAnimation: Source or target component not found");const i=kat(t,{type:"waypoint",fromComponent:r,toComponent:n,...e,onComplete:()=>{this.off(t)}});this.animatorMap.set(t,i),i.start()}off(t){const e=this.animatorMap.get(t);e&&(e.stop(),this.animatorMap.delete(t))}reset(t){if(this.animatorMap.size>0){for(const t of this.animatorMap.values())t.stop();this.animatorMap.clear()}}dispose(){this.reset(null),this.animatorMap=null}}function kft(t){const{origin:e}=t,r=e.root,{waypointHandler:n}=r;n?.reset()}pft.register("waypoint-handler",{"model-layer":{"(descendant)":{waypoint:function(t,e){const{origin:r}=e,n=r.root;let{waypointHandler:i}=n;i||(i=new Eft,n.waypointHandler=i),i.waypoint(r,t)},waypointoff:function(t){const{origin:e}=t,r=e.root,{waypointHandler:n}=r;n?n.off(e):console.warn("waypoint-handler not found")},waypointreset:kft},"(self)":{waypointreset:kft}}},function(t){const{waypointHandler:e}=t;e&&(e.dispose(),delete t.waypointHandler)});var Sft=[],Mft=sst(function(){Sft.forEach(t=>{t.resize()})},100);"undefined"!=typeof window&&window.addEventListener("resize",Mft);class Oft extends Flt{constructor(t,e){super(Object.assign({type:"root",scale:{x:1,y:1}},t||{}),e),this._maxRefid=e.isViewMode?1e6:0,t=t||{},this.fitMode=t.model&&t.model.fitMode,this._app=e,this.style=t.style,this.indexMap=new Map,this.refidIndexMap=new Map,this.templateMap={},this.target_element=t.target_element,this.rebuildContentModel(this.model.model),Sft.push(this)}dispose(){Slt.hideAll(this),this._app&&this._app.dispose(),super.dispose(),this._disposeAllResources(),this.target_element=null,this._refresh_mapping_debouncer&&"function"==typeof this._refresh_mapping_debouncer.cancel&&this._refresh_mapping_debouncer.cancel(),delete this._refresh_mapping_debouncer;var t=Sft.indexOf(this);t>=0&&Sft.splice(t,1),this.refidIndexMap.clear(),this.indexMap.clear(),this._maxRefid=0}isRoot(){return!0}get app(){return this._app}get target_element(){return this._target_element}set target_element(t){this._ua_event_handler&&(this._ua_event_handler.dispose(),delete this._ua_event_handler),t&&(t.style.position="absolute",t.style.cursor="default",t.style.overflow="hidden",t.setAttribute("scene","root-container"),this._ua_event_handler=new cft(this,t)),this.forEach(e=>e.target=t),this._target_element=t}get unitScale(){switch(this.model_layer&&this.model_layer.get("unit")){case"mm":case"cm":case"in":return this.app.PPM/10;default:return 1}}addTemplate(t,e){var r=this.templateMap[t];r&&Ost("Template replaced (duplicated)",t,e,r),this.templateMap[t]=e,delete this.templatePrefixes}removeTemplate(t,e){var r=this.templateMap[t];r!==e?Tst("Removing template failed (different)",t,e,r):delete this.templateMap[t],delete this.templatePrefixes}findTemplateFor(t){this.templatePrefixes||(this.templatePrefixes=Object.keys(this.templateMap).sort().reverse());var e=this.templatePrefixes.find(e=>t.startsWith(e));if(e)return this.templateMap[e]}addIndex(t,e){if(!t)return;const r=t.toString().replace(/^#/,""),n=this.indexMap.get(r)||[];n.push(e),this.indexMap.set(r,n)}removeIndex(t,e){if(!t)return;const r=t.toString().replace(/^#/,""),n=this.indexMap.get(r)||[],i=n.indexOf(e);-1===i?Tst("Removing index failed (not found)",t,e):(n.splice(i,1),0===n.length?this.indexMap.delete(r):this.indexMap.set(r,n))}addRefidIndex(t,e){null==t&&(t=this.getNewRefid(),e.set("refid",t)),this._maxRefid=Math.max(t,this._maxRefid);var r=this.refidIndexMap.get(t);r&&Ost("Refid Index replaced (has not to be)",t,e,r),this.refidIndexMap.set(t,e)}removeRefidIndex(t,e){if(null!=t){var r=this.refidIndexMap.get(t);r!==e?Ost("Refid Removing index failed (has not to be)",t,e,r):this.refidIndexMap.delete(t)}}getNewRefid(){return this._maxRefid=(this._maxRefid||0)+1,this._maxRefid}async subscribe(t,e){this._app.isViewMode&&t&&this._app&&(e._subscription=await this._app.subscribe(t,e))}async unsubscribe(t,e){e._subscription&&(await e._subscription.unsubscribe(),delete e._subscription)}findById(t){if(!t)return null;const e=t.toString().replace(/^#/,"");return(this.indexMap.get(e)||[])[0]}findAllById(t){if(!t)return[];const e=t.toString().replace(/^#/,"");return this.indexMap.get(e)||[]}findByRefid(t){return this.refidIndexMap.get(t)}findOrCreate(t){var e=this.findAllById(t);if(!e||0===e.length){if(this.app&&!this.app.isEditMode){let e=this.findTemplateFor(t);if(e){let r=zut(Object.assign(Xat(e.hierarchy),{id:t,templatePrefix:""}),this.app);return this.model_layer.addComponent(r),[r]}}return[]}return e}resize(){this.components.forEach(t=>{t.resize&&t.resize()}),this.invalidate()}_disposeAllResources(){this.selected=[],this._focused=null,this._ready=!1,this.eventEngine&&(this.assist_handlers&&this.assist_handlers.forEach(t=>{this.eventEngine.remove(t)}),this.eventEngine.dispose(),delete this.eventEngine),(this.model.handlers||[]).map(t=>{pft.getDisposer(t).call(null,this)}),this.assist_layers&&this.assist_layers.forEach(t=>{t.dispose(),this.removeComponent(t)}),delete this.assist_layers,this.model_layer&&this.model_layer.dispose(),this.model_layer&&this.removeComponent(this.model_layer),delete this.model_layer,this.indexMap=new Map,this.refidIndexMap=new Map,this.templateMap={}}rebuildContentModel(t){this._disposeAllResources(),this.eventEngine=new Qht(this),(t=t||{}).type="model-layer",this.model_layer=zut(t,this.app),this.addComponent(this.model_layer),this.model_layer.target=this.target_element,this.assist_layers=(this.model.layers||[]).map(t=>{var e=zut(t,this.app);if(e)return this.addComponent(e),e.target=this.target_element,e;Ost("Layer compile failed",t)}).filter(Boolean),this.assist_handlers=(this.model.handlers||[]).map(t=>{var e={};return this.eventEngine.add(e,pft.get(t)),e}),this._ready=!0,this.traverse(t=>t.ready())}get root(){return this}get anchors(){}get isReady(){return this._ready}get rootModel(){return this.model_layer}get stuck(){return!0}get data(){const t={};for(const[e,r]of this.indexMap.entries())r.length>0&&(t[e]=r[0].data);return t}set data(t){for(var e in t){var r=this.findOrCreate(e);r&&0!==r.length&&r.forEach(r=>r.data=t[e])}}get dataByRefid(){var t={};for(let[e,r]of this.refidIndexMap.entries())t[e]=r.data;return t}set dataByRefid(t){for(var e in t){var r=this.findByRefid(Number(e));r&&(r.data=t[e])}}get values(){const t={};for(const[e,r]of this.indexMap.entries())r.length>0&&(t[e]=r[0].value);return t}set values(t){for(var e in t){var r=this.findOrCreate(e);r&&0!==r.length&&r.forEach(r=>r.value=t[e])}}get valuesByRefid(){var t={};for(let[e,r]of this.refidIndexMap.entries())t[e]=r.value;return t}set valuesByRefid(t){for(var e in t){var r=this.findByRefid(Number(e));r&&(r.value=t[e])}}get selected(){return(this._selected||[]).filter(t=>t.parent)}set selected(t){var e=this._selected;if(this._selected=t,!t||t.length<=1)this.hasSameParentForAllSelected=!0;else{let e=t[0].parent;this.hasSameParentForAllSelected=!t.find(t=>t.parent!=e)}this.trigger("selected",t,e)}get focused(){return this._focused}set focused(t){this._focused!==t&&(this._focused=t,this.invalidate())}get style(){return this._style}set style(t){this._style=t,this._compiled_style=t}get hasTextProperty(){return!1}render(){this.components.forEach(t=>t.draw())}contains(t,e){return!0}capturePath(t,e){return this.model_layer.capturePath(t,e)}invalidate(){this.components.forEach(t=>t.invalidate())}_areAliasesEqual(t,e){if(!Array.isArray(t)&&!Array.isArray(e))return!0;if(!Array.isArray(t)||!Array.isArray(e))return!1;if(t.length!==e.length)return!1;const r=[...t].sort(),n=[...e].sort();return r.every((t,e)=>t===n[e])}get eventMap(){return{"(root)":{"(descendant)":{added:this.onadded,removed:this.onremoved,change:this.onchanged}}}}refreshMappings(){if(!this._refresh_mapping_debouncer){if(this.disposed)return;this._refresh_mapping_debouncer=sst(function t(e){e.executeMappings(),e.components&&e.components.forEach(e=>t(e))},1e3)}this._refresh_mapping_debouncer(this.model_layer)}_addTraverse(t){t.components&&t.components.forEach(t=>this._addTraverse(t));var{id:e,alias:r,refid:n,tag:i,templatePrefix:o}=t.model;this.addRefidIndex(n,t),e&&this.addIndex(e,t),Array.isArray(r)&&r.forEach(e=>{e&&this.addIndex(e,t)}),i&&this.subscribe(i,t),o&&this.addTemplate(o,t);var a=gst({},t.eventMap,t.model.eventMap);this.eventEngine.add(t,a)}_removeTraverse(t){t.components&&t.components.forEach(t=>this._removeTraverse(t));var{id:e,alias:r,refid:n,tag:i,templatePrefix:o}=t.model;this.removeRefidIndex(n,t),e&&this.removeIndex(e,t),Array.isArray(r)&&r.forEach(e=>{e&&this.removeIndex(e,t)}),i&&this.unsubscribe(i,t),o&&this.removeTemplate(o,t),this.eventEngine.remove(t)}onadded(t,e){this._addTraverse(e),this.refreshMappings(),this.invalidate()}onremoved(t,e){this._removeTraverse(e),this.invalidate()}onchanged(t,e,r){e.templatePrefix&&this.removeTemplate(e.templatePrefix,r.origin),t.templatePrefix&&this.addTemplate(t.templatePrefix,r.origin),e.id&&this.removeIndex(e.id,r.origin),t.id&&this.addIndex(t.id,r.origin),Array.isArray(e.alias)&&e.alias.forEach(t=>{t&&this.removeIndex(t,r.origin)}),Array.isArray(t.alias)&&t.alias.forEach(t=>{t&&this.addIndex(t,r.origin)}),e.tag&&this.unsubscribe(e.tag,r.origin),t.tag&&this.subscribe(t.tag,r.origin),e.id==t.id&&e.class==t.class&&this._areAliasesEqual(e.alias,t.alias)||this.refreshMappings()}}Object.assign(Oft.prototype,{fit:function(t){var{width:e,height:r,fitMode:n}=this.model_layer.model,i=this.target_element,o=this.model_layer;if(this.fitMode=t||this.fitMode||n||"ratio",e&&r&&i&&i.clientWidth&&i.clientHeight){switch(this.fitMode){case"center":!function(t,e,r){var n=t.unitScale,{width:i,height:o}=e.model;e.set("scale",{x:n,y:n}),e.set("translate",{x:Math.max((r.clientWidth-i*n)/2,0),y:Math.max((r.clientHeight-o*n)/2,0)})}(this,o,i);break;case"both":!function(t,e,r){var{width:n,height:i}=e.model,o=r.clientWidth,a=r.clientHeight;e.set("scale",{x:o/n,y:a/i}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"width":!function(t,e,r){var n=r.clientWidth/e.get("width");e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"height":!function(t,e,r){var n=r.clientHeight/e.get("height");e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"ratio":!function(t,e,r){var{width:n,height:i}=e.model,o=r.clientWidth,a=r.clientHeight,s=o/n,c=a/i,l=Math.min(s,c);e.set("scale",{x:l,y:l}),e.set("translate",{x:(o-n*l)/2,y:(a-i*l)/2})}(0,o,i);break;default:!function(t,e){var r=t.unitScale;e.set("scale",{x:r,y:r}),e.set("translate",{x:0,y:0})}(this,o)}this.resize()}}}),llt.memoize(Oft.prototype,"unitScale",!1);var Tft=13.3,Pft=function(t){return void 0!==t&&(Tft=t),Tft};const Ift="$base_url";const Cft=Math.PI/12;class Rft{constructor(t,e){this._mode=t,this.screen=Pft(),this._baseUrl="undefined"!=typeof window?window.location.origin:null,this._refProvider=e,this.isEditMode&&(this._rotateStep=Cft,this._rotateStepForced=!1)}dispose(){this._dataSubscriptionProvider&&this._dataSubscriptionProvider.dispose(),delete this._dataStorage}_calcScreen(){var t={width:screen.width,height:screen.height};this._PPI=function(t,e,r,n){t>0||(t=1),e>0||(e=1),n||(n="d");var i=("d"==n?Math.sqrt(t*t+e*e):"w"==n?t:e)/r;return i>0?Math.round(i):0}(t.width,t.height,this.screen),this._PPM=this._PPI/25.4}subscribe(t,e){return this._dataSubscriptionProvider?.subscribe(t,e)}get refProvider(){return this._refProvider}set dataSubscriptionProvider(t){this._dataSubscriptionProvider=t}get dataSubscriptionProvider(){return this._dataSubscriptionProvider}set commander(t){this._commander=t}get commander(){return this._commander}get screen(){return this._screen}set screen(t){this._screen=t,this._calcScreen()}get DPPX(){return Bst}get PPI(){return this._PPI}get PPM(){return this._PPM}get mode(){return this._mode}set mode(t){var e=this._mode;e!==t&&(this._mode=t,this.trigger("mode",t,e))}get isViewMode(){return 0==this._mode}get isEditMode(){return 1==this._mode}get baseUrl(){return this._baseUrl}set baseUrl(t){t&&this._baseUrl!=t&&(this._baseUrl=t)}url(t){try{return(t.includes(Ift)?new URL(t.replace(Ift,this.baseUrl),this.baseUrl):new URL(t,location.origin)).href}catch(e){Tst(e,t)}}get rotateStep(){return this._rotateStep}set rotateStep(t){this._rotateStep=Number(t)||Cft}get rotateStepForced(){return this._rotateStepForced}set rotateStepForced(t){this._rotateStepForced=!!t}get dataStorage(){return this._dataStorage}set dataStorage(t){this._dataStorage=t}}Mst(Rft.prototype,Ast.withEvent);class Dft{constructor(t,e){!(t=Number(t))||t<=0?(Ost("TimeCapsule maxsize should be greater than 0.",t),this.maxsize=10):this.maxsize=t,this.reset(),e&&(this.snapshot(e),this.preserve())}preserve(){this.checkPoint=this.pos}hasUnpreservedChanges(){return this.checkPoint!=this.pos}dispose(){this.reset()}snapshot(t){if(this.q.splice(this.pos+1,this.q.length-(this.pos+1),t),this.q.length>this.maxsize){const t=this.q.splice(0,this.q.length-this.maxsize);this.checkPoint=Math.max(-1,this.checkPoint-t.length)}this.pos=this.q.length-1}forward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.forwardable)return this.q[++this.pos];Tst("Not forwardable.")}backward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.backwardable)return this.q[--this.pos];Tst("Not backwardable.")}get current(){if(-1!==this.pos)return this.q[this.pos];Tst("Non state has been recorded.")}get length(){return this.q.length}get forwardable(){return this.pos<this.q.length-1}get backwardable(){return this.pos>0}get snapshot_taker(){return this._snapshot_taker}set snapshot_taker(t){this._snapshot_taker=t}reset(){this.q=[],this.pos=-1,this.checkPoint=-1}}var jft=sst(t=>{t.brake||t.take()},1e3,{leading:!0,trailing:!1});function Lft(t){!t.brake&&t.dirty&&jft(t)}class Nft{constructor(t,e){this._brake=!1,this.dirty=!1,this.brake=!1,this.dirty=!1,this.state_holder=t,this.timecapsule=e,this.timecapsule.snapshot_taker=this}dispose(){delete this.state_holder,delete this.timecapsule}touch(){this.dirty=!0,Lft(this)}take(t=!1){(this.dirty||t)&&(this.timecapsule.snapshot(this.state_holder.state),this.dirty=!1)}get brake(){return this._brake}set brake(t){this._brake=!!t,Lft(this)}}function Fft(t,e){var r=e.model_layer.get("scale"),n=e.model_layer.get("translate");if(t){let i=JSON.parse(t);i.scale=r,i.translate=n,e.rebuildContentModel(i)}}class zft{constructor(t){this.container=t,this.timecapsule=new Dft(20);var e=this;this.snapshot_taker=new Nft({get state(){let t=e.container.model_layer.hierarchy;return JSON.stringify(t)}},this.timecapsule),this.snapshot_taker.take(!0),this.timecapsule.preserve()}dispose(){this.reset(),this.timecapsule&&this.timecapsule.dispose(),this.snapshot_taker&&this.snapshot_taker.dispose(),delete this.container,delete this.timecapsule,delete this.snapshot_taker}preserve(){this.timecapsule.preserve()}hasUnpreservedChanges(){return this.timecapsule.hasUnpreservedChanges()}execute(t,e){!1!==e&&t&&t.execute(),this.snapshot_taker.touch(),this.trigger("execute",t,!0,!1)}undo(){this.timecapsule.backwardable&&(Fft(this.timecapsule.backward(),this.container),this.trigger("undo",this.undoable(),this.redoable()))}redo(){this.timecapsule.forwardable&&(Fft(this.timecapsule.forward(),this.container),this.trigger("redo",this.undoable(),this.redoable()))}undoable(){return this.timecapsule.backwardable}redoable(){return this.timecapsule.forwardable}reset(){this.timecapsule&&this.timecapsule.reset(),this.trigger("command-reset")}}Mst(zft.prototype,Ast.withEvent);var Uft=0;const Bft=new FinalizationRegistry(t=>{Uft--});class $ft{static get residents(){return Uft}static get residentsCount(){return Uft}constructor(t){this._container=t,this.app=t.app,this._commander=new zft(this._container),this.app.commander=this._commander,Uft++,Bft.register(this,Uft)}add(){return $ut.apply(this._container,arguments)}duplicate(){return Yut.apply(this._container,arguments)}remove(){return Gut.apply(this._container,arguments)}animate(){return Aat.apply(this,arguments)}fullscreen(){return Vut.apply(this._container,arguments)}get target(){return this._container.target_element}set target(t){var e;if("string"==typeof t){if(!(e=document.getElementById(t)))throw`target element '${t}' is not exist`;if(e.firstChild)throw`target element '${t}' already has children`}else e=t;e&&e.style&&(e.style.cursor="default"),this._container.target_element=e,this._container.invalidate()}get scale(){return this.root.get("scale")}set scale(t){this.root.set("scale",t)}get translate(){return this.root.get("translate")}set translate(t){this.root.set("translate",t)}get unit(){return this.root.get("unit")||"px"}get PPM(){return this.app.PPM}get PPI(){return this.app.PPI}get DPPX(){return this.app.DPPX}static get DPPX(){return Bst}get unitScale(){return this._container.unitScale}get screen(){return this.app.screen}set screen(t){this.app.screen=t,this._container.resize()}resize(){this._container.resize()}release(){this.dispose()}dispose(){this._commander&&this._commander.dispose(),this._container&&this._container.dispose()}get selected(){return this._container.selected.slice()}set selected(t){this._container.selected=t}select(t,...e){return this._container.selected=this.root?.findAll(t,...e),this.selected}get commander(){return this._commander}undo(){this.commander.undo()}undoable(){return this.commander.undoable()}redo(){this.commander.redo()}redoable(){return this.commander.redoable()}preserve(){this.commander.preserve()}hasUnpreservedChanges(){return this.commander.hasUnpreservedChanges()}cut(){return Qut.apply(this._container,arguments)}copy(){return Kut.apply(this._container,arguments)}paste(){return Jut.apply(this._container,arguments)}undoableChange(){return yht.apply(this._container,arguments)}change(){return vht.apply(this.root,arguments)}get model(){return this.root.hierarchy}set model(t){this._container.rebuildContentModel(t)}get rootContainer(){return this._container}get root(){return this._container?.model_layer}findAll(){return this.root.findAll.apply(this.root,arguments)}findFirst(){return this.root.findFirst.apply(this.root,arguments)}findById(){return this._container.findById.apply(this._container,arguments)}findAllById(){return this._container.findAllById.apply(this._container,arguments)}serialize(){return this.root.trim(),this.root.serialize.apply(this.root,arguments)}align(){return Iut.apply(this._container,arguments)}place(){return kht.apply(this._container,arguments)}distribute(){return Dut.apply(this._container,arguments)}move(){return Nut.apply(this._container,arguments)}zorder(){return Fut.apply(this._container,arguments)}symmetryX(){return pht.apply(this._container,arguments)}symmetryY(){return ght.apply(this._container,arguments)}on(){return Hut.apply(this._container,arguments)}once(){return Wut.apply(this._container,arguments)}off(){return this._container&&qut.apply(this._container,arguments)}centerTo(t,e){return this.root.centerTo(t,e)}get mode(){return this.app.mode}set mode(t){void 0!==t&&(this.app.mode=t)}toDataURL(){return lht.apply(this._container,arguments)}group(){return uht.apply(this._container,arguments)}ungroup(){return hht.apply(this._container,arguments)}fit(t){this._container.once("redraw",()=>this._container.fit(t)),this._container.invalidate()}get fitMode(){return this._container.fitMode}get ids(){return mht.apply(this._container)}get data(){return this._container.data}set data(t){this._container.data=t}get dataByRefid(){return this._container.dataByRefid}set dataByRefid(t){this._container.dataByRefid=t}get values(){return this._container.values}set values(t){this._container.values=t}get valuesByRefid(){return this._container.valuesByRefid}set valuesByRefid(t){this._container.valuesByRefid=t}get baseUrl(){return this.app.baseUrl}set baseUrl(t){this.app.baseUrl=t}startAddMode(){return Sht.apply(this._container,arguments)}startStylePasteMode(){return Mht.apply(this._container,arguments)}stopStylePasteMode(){return Oht.apply(this._container,arguments)}startDatabindPasteMode(){return Tht.apply(this._container,arguments)}stopDatabindPasteMode(){return Pht.apply(this._container,arguments)}}const Yft=new class{load(t){}save(t,e){}clear(t){}};function Gft({target:t,model:e,style:r,layers:n=[],handlers:i=[],mode:o=0,refProvider:a,dataSubscriptionProvider:s,dataStorage:c=Yft,baseUrl:l,fitMode:u}){var h=null;if("string"==typeof t){if(!(h=document.getElementById(t)))throw`target element '${t}' is not exist`;if(h.firstChild)throw`target element '${t}' is not empty`}else h=t;h&&h.style&&(h.style.position="absolute",h.style.cursor="default",h.style.overflow="hidden");var f=new Rft(o,a);return f.baseUrl=l,f.dataSubscriptionProvider=s,f.dataStorage=c,new $ft(new Oft({target_element:h,model:e,style:r,layers:n,handlers:i,fitMode:u},f))}function Hft(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)}function Wft(t,e,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(t,r):i?i.value=r:e.set(t,r),r}"function"==typeof SuppressedError&&SuppressedError;
4
- /**
5
- * @license
6
- * Copyright 2019 Google LLC
7
- * SPDX-License-Identifier: BSD-3-Clause
8
- */
9
- const qft=globalThis,Vft=qft.ShadowRoot&&(void 0===qft.ShadyCSS||qft.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Xft=Symbol(),Kft=new WeakMap;class Qft{constructor(t,e,r){if(this._$cssResult$=!0,r!==Xft)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(Vft&&void 0===t){const r=void 0!==e&&1===e.length;r&&(t=Kft.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&Kft.set(e,t))}return t}toString(){return this.cssText}}const Jft=Vft?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const r of t.cssRules)e+=r.cssText;return(t=>new Qft("string"==typeof t?t:t+"",void 0,Xft))(e)})(t):t,{is:Zft,defineProperty:tdt,getOwnPropertyDescriptor:edt,getOwnPropertyNames:rdt,getOwnPropertySymbols:ndt,getPrototypeOf:idt}=Object,odt=globalThis,adt=odt.trustedTypes,sdt=adt?adt.emptyScript:"",cdt=odt.reactiveElementPolyfillSupport,ldt=(t,e)=>t,udt={toAttribute(t,e){switch(e){case Boolean:t=t?sdt:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=null!==t;break;case Number:r=null===t?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch(t){r=null}}return r}},hdt=(t,e)=>!Zft(t,e),fdt={attribute:!0,type:String,converter:udt,reflect:!1,useDefault:!1,hasChanged:hdt};
10
- /**
11
- * @license
12
- * Copyright 2017 Google LLC
13
- * SPDX-License-Identifier: BSD-3-Clause
14
- */Symbol.metadata??=Symbol("metadata"),odt.litPropertyMetadata??=new WeakMap;class ddt extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=fdt){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const r=Symbol(),n=this.getPropertyDescriptor(t,r,e);void 0!==n&&tdt(this.prototype,t,n)}}static getPropertyDescriptor(t,e,r){const{get:n,set:i}=edt(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:n,set(e){const o=n?.call(this);i?.call(this,e),this.requestUpdate(t,o,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??fdt}static _$Ei(){if(this.hasOwnProperty(ldt("elementProperties")))return;const t=idt(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(ldt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(ldt("properties"))){const t=this.properties,e=[...rdt(t),...ndt(t)];for(const r of e)this.createProperty(r,t[r])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,r]of e)this.elementProperties.set(t,r)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const r=this._$Eu(t,e);void 0!==r&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(Jft(t))}else void 0!==t&&e.push(Jft(t));return e}static _$Eu(t,e){const r=e.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,e)=>{if(Vft)t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const r of e){const e=document.createElement("style"),n=qft.litNonce;void 0!==n&&e.setAttribute("nonce",n),e.textContent=r.cssText,t.appendChild(e)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$ET(t,e){const r=this.constructor.elementProperties.get(t),n=this.constructor._$Eu(t,r);if(void 0!==n&&!0===r.reflect){const i=(void 0!==r.converter?.toAttribute?r.converter:udt).toAttribute(e,r.type);this._$Em=t,null==i?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(t,e){const r=this.constructor,n=r._$Eh.get(t);if(void 0!==n&&this._$Em!==n){const t=r.getPropertyOptions(n),i="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:udt;this._$Em=n;const o=i.fromAttribute(e,t.type);this[n]=o??this._$Ej?.get(n)??o,this._$Em=null}}requestUpdate(t,e,r){if(void 0!==t){const n=this.constructor,i=this[t];if(r??=n.getPropertyOptions(t),!((r.hasChanged??hdt)(i,e)||r.useDefault&&r.reflect&&i===this._$Ej?.get(t)&&!this.hasAttribute(n._$Eu(t,r))))return;this.C(t,e,r)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:r,reflect:n,wrapped:i},o){r&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??e??this[t]),!0!==i||void 0!==o)||(this._$AL.has(t)||(this.hasUpdated||r||(e=void 0),this._$AL.set(t,e)),!0===n&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,r]of t){const{wrapped:t}=r,n=this[e];!0!==t||this._$AL.has(e)||void 0===n||this.C(e,void 0,r,n)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}ddt.elementStyles=[],ddt.shadowRootOptions={mode:"open"},ddt[ldt("elementProperties")]=new Map,ddt[ldt("finalized")]=new Map,cdt?.({ReactiveElement:ddt}),(odt.reactiveElementVersions??=[]).push("2.1.1");
15
- /**
16
- * @license
17
- * Copyright 2017 Google LLC
18
- * SPDX-License-Identifier: BSD-3-Clause
19
- */
20
- const pdt=globalThis,gdt=pdt.trustedTypes,vdt=gdt?gdt.createPolicy("lit-html",{createHTML:t=>t}):void 0,ydt="$lit$",mdt=`lit$${Math.random().toFixed(9).slice(2)}$`,bdt="?"+mdt,xdt=`<${bdt}>`,wdt=document,Adt=()=>wdt.createComment(""),_dt=t=>null===t||"object"!=typeof t&&"function"!=typeof t,Edt=Array.isArray,kdt="[ \t\n\f\r]",Sdt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Mdt=/-->/g,Odt=/>/g,Tdt=RegExp(`>|${kdt}(?:([^\\s"'>=/]+)(${kdt}*=${kdt}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),Pdt=/'/g,Idt=/"/g,Cdt=/^(?:script|style|textarea|title)$/i,Rdt=(t=>(e,...r)=>({_$litType$:t,strings:e,values:r}))(1),Ddt=Symbol.for("lit-noChange"),jdt=Symbol.for("lit-nothing"),Ldt=new WeakMap,Ndt=wdt.createTreeWalker(wdt,129);function Fdt(t,e){if(!Edt(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==vdt?vdt.createHTML(e):e}const zdt=(t,e)=>{const r=t.length-1,n=[];let i,o=2===e?"<svg>":3===e?"<math>":"",a=Sdt;for(let e=0;e<r;e++){const r=t[e];let s,c,l=-1,u=0;for(;u<r.length&&(a.lastIndex=u,c=a.exec(r),null!==c);)u=a.lastIndex,a===Sdt?"!--"===c[1]?a=Mdt:void 0!==c[1]?a=Odt:void 0!==c[2]?(Cdt.test(c[2])&&(i=RegExp("</"+c[2],"g")),a=Tdt):void 0!==c[3]&&(a=Tdt):a===Tdt?">"===c[0]?(a=i??Sdt,l=-1):void 0===c[1]?l=-2:(l=a.lastIndex-c[2].length,s=c[1],a=void 0===c[3]?Tdt:'"'===c[3]?Idt:Pdt):a===Idt||a===Pdt?a=Tdt:a===Mdt||a===Odt?a=Sdt:(a=Tdt,i=void 0);const h=a===Tdt&&t[e+1].startsWith("/>")?" ":"";o+=a===Sdt?r+xdt:l>=0?(n.push(s),r.slice(0,l)+ydt+r.slice(l)+mdt+h):r+mdt+(-2===l?e:h)}return[Fdt(t,o+(t[r]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),n]};class Udt{constructor({strings:t,_$litType$:e},r){let n;this.parts=[];let i=0,o=0;const a=t.length-1,s=this.parts,[c,l]=zdt(t,e);if(this.el=Udt.createElement(c,r),Ndt.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(n=Ndt.nextNode())&&s.length<a;){if(1===n.nodeType){if(n.hasAttributes())for(const t of n.getAttributeNames())if(t.endsWith(ydt)){const e=l[o++],r=n.getAttribute(t).split(mdt),a=/([.?@])?(.*)/.exec(e);s.push({type:1,index:i,name:a[2],strings:r,ctor:"."===a[1]?Hdt:"?"===a[1]?Wdt:"@"===a[1]?qdt:Gdt}),n.removeAttribute(t)}else t.startsWith(mdt)&&(s.push({type:6,index:i}),n.removeAttribute(t));if(Cdt.test(n.tagName)){const t=n.textContent.split(mdt),e=t.length-1;if(e>0){n.textContent=gdt?gdt.emptyScript:"";for(let r=0;r<e;r++)n.append(t[r],Adt()),Ndt.nextNode(),s.push({type:2,index:++i});n.append(t[e],Adt())}}}else if(8===n.nodeType)if(n.data===bdt)s.push({type:2,index:i});else{let t=-1;for(;-1!==(t=n.data.indexOf(mdt,t+1));)s.push({type:7,index:i}),t+=mdt.length-1}i++}}static createElement(t,e){const r=wdt.createElement("template");return r.innerHTML=t,r}}function Bdt(t,e,r=t,n){if(e===Ddt)return e;let i=void 0!==n?r._$Co?.[n]:r._$Cl;const o=_dt(e)?void 0:e._$litDirective$;return i?.constructor!==o&&(i?._$AO?.(!1),void 0===o?i=void 0:(i=new o(t),i._$AT(t,r,n)),void 0!==n?(r._$Co??=[])[n]=i:r._$Cl=i),void 0!==i&&(e=Bdt(t,i._$AS(t,e.values),i,n)),e}class $dt{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:r}=this._$AD,n=(t?.creationScope??wdt).importNode(e,!0);Ndt.currentNode=n;let i=Ndt.nextNode(),o=0,a=0,s=r[0];for(;void 0!==s;){if(o===s.index){let e;2===s.type?e=new Ydt(i,i.nextSibling,this,t):1===s.type?e=new s.ctor(i,s.name,s.strings,this,t):6===s.type&&(e=new Vdt(i,this,t)),this._$AV.push(e),s=r[++a]}o!==s?.index&&(i=Ndt.nextNode(),o++)}return Ndt.currentNode=wdt,n}p(t){let e=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}}class Ydt{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,r,n){this.type=2,this._$AH=jdt,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=n,this._$Cv=n?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=Bdt(this,t,e),_dt(t)?t===jdt||null==t||""===t?(this._$AH!==jdt&&this._$AR(),this._$AH=jdt):t!==this._$AH&&t!==Ddt&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>Edt(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==jdt&&_dt(this._$AH)?this._$AA.nextSibling.data=t:this.T(wdt.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:r}=t,n="number"==typeof r?this._$AC(t):(void 0===r.el&&(r.el=Udt.createElement(Fdt(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===n)this._$AH.p(e);else{const t=new $dt(n,this),r=t.u(this.options);t.p(e),this.T(r),this._$AH=t}}_$AC(t){let e=Ldt.get(t.strings);return void 0===e&&Ldt.set(t.strings,e=new Udt(t)),e}k(t){Edt(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,n=0;for(const i of t)n===e.length?e.push(r=new Ydt(this.O(Adt()),this.O(Adt()),this,this.options)):r=e[n],r._$AI(i),n++;n<e.length&&(this._$AR(r&&r._$AB.nextSibling,n),e.length=n)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class Gdt{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,n,i){this.type=1,this._$AH=jdt,this._$AN=void 0,this.element=t,this.name=e,this._$AM=n,this.options=i,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=jdt}_$AI(t,e=this,r,n){const i=this.strings;let o=!1;if(void 0===i)t=Bdt(this,t,e,0),o=!_dt(t)||t!==this._$AH&&t!==Ddt,o&&(this._$AH=t);else{const n=t;let a,s;for(t=i[0],a=0;a<i.length-1;a++)s=Bdt(this,n[r+a],e,a),s===Ddt&&(s=this._$AH[a]),o||=!_dt(s)||s!==this._$AH[a],s===jdt?t=jdt:t!==jdt&&(t+=(s??"")+i[a+1]),this._$AH[a]=s}o&&!n&&this.j(t)}j(t){t===jdt?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class Hdt extends Gdt{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===jdt?void 0:t}}class Wdt extends Gdt{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==jdt)}}class qdt extends Gdt{constructor(t,e,r,n,i){super(t,e,r,n,i),this.type=5}_$AI(t,e=this){if((t=Bdt(this,t,e,0)??jdt)===Ddt)return;const r=this._$AH,n=t===jdt&&r!==jdt||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,i=t!==jdt&&(r===jdt||n);n&&this.element.removeEventListener(this.name,this,r),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Vdt{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){Bdt(this,t)}}const Xdt=pdt.litHtmlPolyfillSupport;Xdt?.(Udt,Ydt),(pdt.litHtmlVersions??=[]).push("3.3.1");const Kdt=(t,e,r)=>{const n=r?.renderBefore??e;let i=n._$litPart$;if(void 0===i){const t=r?.renderBefore??null;n._$litPart$=i=new Ydt(e.insertBefore(Adt(),t),t,void 0,r??{})}return i._$AI(t),i
21
- /**
22
- * @license
23
- * Copyright 2017 Google LLC
24
- * SPDX-License-Identifier: BSD-3-Clause
25
- */},Qdt=globalThis;class Jdt extends ddt{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Kdt(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Ddt}}Jdt._$litElement$=!0,Jdt.finalized=!0,Qdt.litElementHydrateSupport?.({LitElement:Jdt});const Zdt=Qdt.litElementPolyfillSupport;Zdt?.({LitElement:Jdt}),(Qdt.litElementVersions??=[]).push("4.2.1");const tpt=["mousemove","mouseup","mousedown","mouseout","wheel","tap","click","touchstart","touchmove","touchend","mouseenter","mouseleave","dragstart","dragmove","dragend","dblclick"];var ept,rpt=t=>class extends t{constructor(){super(...arguments),this.userInputEventHandler=t=>{sft(this,t.type,t),t.stopPropagation()}}isHTMLElement(){return!0}isShadowable(){return!0}get element(){return this._element}set element(t){this._element=t}get tagName(){return this.get("type")}setElementProperties(t){throw new Error("Not Implemented Yet")}createElement(){this.element=document.createElement(this.tagName),this.element&&(this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.rootModel.getOverlay(this).appendChild(this.element),this.scalable||(this.element.style.zIndex="100"),tpt.forEach(t=>{this.element.addEventListener(t,this.userInputEventHandler)}),Yst.forEach(t=>{this.element.addEventListener(t,this.userInputEventHandler)}),this.oncreate_element&&this.oncreate_element(this.element))}reposition(){this.element&&Gct(this)}disposeElement(){if(this.element){tpt.forEach(t=>{this.element.removeEventListener(t,this.userInputEventHandler)}),Yst.forEach(t=>{this.element.removeEventListener(t,this.userInputEventHandler)});var t=this.element;t&&t.parentElement&&t.parentElement.removeChild(t),this.element=null}}ready(){super.ready(),!this.element&&this.createElement(),this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.rootModel.getOverlay(this).appendChild(this.element),this.setElementProperties(this.element),this.reposition()}dispose(){this.disposeElement(this),super.dispose()}get hasTextProperty(){return!0}get textHidden(){return!0}get hidden(){return super.hidden}set hidden(t){super.hidden=t,this.element.style.display=t?"none":"block"}onchange(t,e){this.element&&this.setElementProperties(this.element),"position"in t&&this.onchangePosition(),this.reposition()}onchangePosition(){this.element&&("static"==this.position&&this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.rootModel.getOverlay(this).appendChild(this.element))}isDescendible(t){return t.isHTMLElement()}};const npt={x:1,y:1},ipt={boxSizing:"border-box",margin:"0px",position:"absolute",outline:"none"},opt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"select",label:"position-origin",name:"origin",property:{options:[{display:"",value:""},{display:"left-top",value:"left-top"},{display:"center-top",value:"center-top"},{display:"right-top",value:"right-top"},{display:"left-middle",value:"left-middle"},{display:"center-middle",value:"center-middle"},{display:"right-middle",value:"right-middle"},{display:"left-bottom",value:"left-bottom"},{display:"center-bottom",value:"center-bottom"},{display:"right-bottom",value:"right-bottom"}]}},{type:"number",label:"offset-x",name:"offsetX"},{type:"number",label:"offset-y",name:"offsetY"},{type:"layout",label:"layout",name:"layoutOption"},{type:"checkbox",label:"closable",name:"closable"},{type:"checkbox",label:"draggable",name:"draggable"},{type:"checkbox",label:"minimizable",name:"minimizable"},{type:"checkbox",label:"minimized",name:"minimized"}],help:"scene/component/container"};class apt extends(rpt(Flt)){constructor(){super(...arguments),ept.set(this,null),this.startDragging=t=>{if(!this.state.draggable)return;t.preventDefault(),t.stopPropagation();let e=t.clientX,r=t.clientY;const{left:n,top:i}=this.bounds,o=this.rootModel.getOverlay(this).style.transform.match(/scale\(([^,]+),\s*([^)]+)\)/),a=o?parseFloat(o[1]):1,s=o?parseFloat(o[2]):a,c=t=>{t.preventDefault(),t.stopPropagation();const o=(t.clientX-e)/a,c=(t.clientY-r)/s;this.setState({left:n+o,top:i+c})},l=t=>{t.preventDefault(),t.stopPropagation(),document.removeEventListener("mousemove",c,!0),document.removeEventListener("mouseup",l,!0)};document.addEventListener("mousemove",c,!0),document.addEventListener("mouseup",l,!0)},this.toggleMinimizable=()=>{const{minimized:t}=this.state;this.setState("minimized",!t)},this.closeContainer=()=>{this.setState("hidden",!0)}}get tagName(){return"div"}get nature(){return opt}isPositionable(){return!0}setElementProperties(t){}get layout(){return mlt.get(this.get("layout"))||blt}reposition(){if(this.element){var t=this,{id:e,class:r,scale:n=npt}=t.state,{rotation:i=0,hidden:o}=t,{left:a,top:s,width:c,height:l}=t.bounds,u=c/2,h=l/2,f=t.element;f.hidden=o,e&&(f.id=e),r&&(f.className=r),Object.assign(f.style,ipt,{left:a+"px",top:s+"px",width:"0px",height:"0px",backgroundColor:"transparent"});var d=t.delta(),p=(n&&n.x||1)*d.sx,g=(n&&n.y||1)*d.sy,v=(i||0)+d.theta,y=d.tx||0,m=d.ty||0;f.style.transform=`translate(${y+u}px, ${m+h}px) rotate(${v}rad) translate(${-u}px, ${-h}px) scale(${p}, ${g}) perspective(1px)`}}set path(t){const{minimized:e}=this.state;var r=t[0],n=t[2];e?this.set({left:r.x,top:r.y,width:n.x-r.x}):this.set({left:r.x,top:r.y,width:n.x-r.x,height:n.y-r.y})}get path(){var{left:t=0,top:e=0,width:r=0,height:n=0}=this.state;return[{x:t,y:e},{x:t+r,y:e},{x:t+r,y:e+n},{x:t,y:e+n}]}get bounds(){const{left:t=0,top:e=0,width:r=0,height:n=0}=this.state;return{left:t,top:e,width:r,height:n}}set bounds(t){const{minimized:e}=this.state,{left:r=0,top:n=0,width:i=0,height:o=0}=t;let a={left:r,top:n};e?this.set({...a,width:i}):this.set({...a,width:i,height:o})}updatePosition(){if(!this.origin)return void(Hft(this,ept,"f")&&(Hft(this,ept,"f").disconnect(),Wft(this,ept,null,"f")));const t=this.rootModel.auxOverlay,e=this.bounds,{width:r,height:n}="static"!==this.position?t.getBoundingClientRect():this.parent.bounds,{x:i,y:o}=function(t,e,r){const{left:n,top:i,width:o,height:a}=e,{width:s,height:c}=r;return t?{x:t.includes("left")?n:t.includes("center")?n+(o-s)/2:n+(o-s),y:t.includes("top")?i:t.includes("middle")?i+(a-c)/2:i+(a-c)}:{x:r.left,y:r.top}}(this.origin,{left:0,top:0,width:r,height:n},e),a=this.offset;this.bounds={left:i+(this.origin.includes("right")?-a.x:+a.x),top:o+(this.origin.includes("bottom")?-a.y:+a.y),width:e.width,height:e.height},Hft(this,ept,"f")||(Wft(this,ept,new ResizeObserver(()=>{requestAnimationFrame(()=>this.updatePosition())}),"f"),Hft(this,ept,"f").observe(t))}onchange(t,e){const r=["draggable","minimizable","closable","minimized","width","height","origin","offsetX","offsetY","hidden"];super.onchange(t,e),Object.keys(t).some(t=>r.includes(t))&&this.onchangeButtons(),"minimized"in t&&this.onchangeMinimized(),("origin"in t||"offsetX"in t||"offsetY"in t)&&this.updatePosition()}ready(){super.ready(),this.updatePosition()}dispose(){Hft(this,ept,"f")&&(Hft(this,ept,"f").disconnect(),Wft(this,ept,null,"f")),super.dispose()}createElement(){super.createElement(),this.element.setAttribute("scene","container"),this.onchangeButtons(),this.onchangeMinimized()}onchangeButtons(){if(!this.element)return;const{draggable:t,minimizable:e,closable:r,minimized:n,hidden:i}=this.state,{width:o}=this.bounds;this.element.style.setProperty("--container-width",`${o}px`),Kdt(i?jdt:Rdt`
1
+ import t from"dompurify";import*as e from"three";import{Scene as n,BoxGeometry as r,MeshStandardMaterial as i,BackSide as s,Mesh as o,PointLight as a,MeshLambertMaterial as c,Color as l,LinearSRGBColorSpace as h,SRGBColorSpace as d}from"three";import{Line2 as u}from"three/examples/jsm/lines/Line2.js";import{LineMaterial as p}from"three/examples/jsm/lines/LineMaterial.js";import{LineGeometry as f}from"three/examples/jsm/lines/LineGeometry.js";import{CSS3DObject as g,CSS3DRenderer as m}from"three/examples/jsm/renderers/CSS3DRenderer.js";import y from"tinycolor2";import{EffectComposer as b}from"three/examples/jsm/postprocessing/EffectComposer.js";import{RenderPass as v}from"three/examples/jsm/postprocessing/RenderPass.js";import{OutlinePass as x}from"three/examples/jsm/postprocessing/OutlinePass.js";import{OutputPass as w}from"three/examples/jsm/postprocessing/OutputPass.js";import{SMAAPass as _}from"three/examples/jsm/postprocessing/SMAAPass.js";import{TransformControls as A}from"three/examples/jsm/controls/TransformControls.js";import{GLTFLoader as S}from"three/examples/jsm/loaders/GLTFLoader.js";import{DRACOLoader as M}from"three/examples/jsm/loaders/DRACOLoader.js";import{KTX2Loader as k}from"three/examples/jsm/loaders/KTX2Loader.js";import{MeshoptDecoder as E}from"three/examples/jsm/libs/meshopt_decoder.module.js";import{render as C,nothing as T,html as P}from"lit";function O(t,e){return t===e||t!=t&&e!=e}function D(t,e){for(var n=t.length;n--;)if(O(t[n][0],e))return n;return-1}var I=Array.prototype.splice;function z(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}z.prototype.clear=function(){this.__data__=[],this.size=0},z.prototype.delete=function(t){var e=this.__data__,n=D(e,t);return!(n<0)&&(n==e.length-1?e.pop():I.call(e,n,1),--this.size,!0)},z.prototype.get=function(t){var e=this.__data__,n=D(e,t);return n<0?void 0:e[n][1]},z.prototype.has=function(t){return D(this.__data__,t)>-1},z.prototype.set=function(t,e){var n=this.__data__,r=D(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var j="object"==typeof global&&global&&global.Object===Object&&global,R="object"==typeof self&&self&&self.Object===Object&&self,L=j||R||Function("return this")(),F=L.Symbol,N=Object.prototype,B=N.hasOwnProperty,Y=N.toString,G=F?F.toStringTag:void 0;var V=Object.prototype.toString;var U=F?F.toStringTag:void 0;function H(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":U&&U in Object(t)?function(t){var e=B.call(t,G),n=t[G];try{t[G]=void 0;var r=!0}catch(t){}var i=Y.call(t);return r&&(e?t[G]=n:delete t[G]),i}(t):function(t){return V.call(t)}(t)}function W(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function X(t){if(!W(t))return!1;var e=H(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var q,K=L["__core-js_shared__"],$=(q=/[^.]+$/.exec(K&&K.keys&&K.keys.IE_PROTO||""))?"Symbol(src)_1."+q:"";var Q=Function.prototype.toString;function Z(t){if(null!=t){try{return Q.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var J=/^\[object .+?Constructor\]$/,tt=Function.prototype,et=Object.prototype,nt=tt.toString,rt=et.hasOwnProperty,it=RegExp("^"+nt.call(rt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function st(t){return!(!W(t)||(e=t,$&&$ in e))&&(X(t)?it:J).test(Z(t));var e}function ot(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return st(n)?n:void 0}var at=ot(L,"Map"),ct=ot(Object,"create");var lt=Object.prototype.hasOwnProperty;var ht=Object.prototype.hasOwnProperty;function dt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function ut(t,e){var n=t.__data__;return function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}(e)?n["string"==typeof e?"string":"hash"]:n.map}function pt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}dt.prototype.clear=function(){this.__data__=ct?ct(null):{},this.size=0},dt.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},dt.prototype.get=function(t){var e=this.__data__;if(ct){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return lt.call(e,t)?e[t]:void 0},dt.prototype.has=function(t){var e=this.__data__;return ct?void 0!==e[t]:ht.call(e,t)},dt.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=ct&&void 0===e?"__lodash_hash_undefined__":e,this},pt.prototype.clear=function(){this.size=0,this.__data__={hash:new dt,map:new(at||z),string:new dt}},pt.prototype.delete=function(t){var e=ut(this,t).delete(t);return this.size-=e?1:0,e},pt.prototype.get=function(t){return ut(this,t).get(t)},pt.prototype.has=function(t){return ut(this,t).has(t)},pt.prototype.set=function(t,e){var n=ut(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};function ft(t){var e=this.__data__=new z(t);this.size=e.size}ft.prototype.clear=function(){this.__data__=new z,this.size=0},ft.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},ft.prototype.get=function(t){return this.__data__.get(t)},ft.prototype.has=function(t){return this.__data__.has(t)},ft.prototype.set=function(t,e){var n=this.__data__;if(n instanceof z){var r=n.__data__;if(!at||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new pt(r)}return n.set(t,e),this.size=n.size,this};function gt(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new pt;++e<n;)this.add(t[e])}function mt(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}gt.prototype.add=gt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},gt.prototype.has=function(t){return this.__data__.has(t)};function yt(t,e,n,r,i,s){var o=1&n,a=t.length,c=e.length;if(a!=c&&!(o&&c>a))return!1;var l=s.get(t),h=s.get(e);if(l&&h)return l==e&&h==t;var d=-1,u=!0,p=2&n?new gt:void 0;for(s.set(t,e),s.set(e,t);++d<a;){var f=t[d],g=e[d];if(r)var m=o?r(g,f,d,e,t,s):r(f,g,d,t,e,s);if(void 0!==m){if(m)continue;u=!1;break}if(p){if(!mt(e,function(t,e){if(o=e,!p.has(o)&&(f===t||i(f,t,n,r,s)))return p.push(e);var o})){u=!1;break}}else if(f!==g&&!i(f,g,n,r,s)){u=!1;break}}return s.delete(t),s.delete(e),u}var bt=L.Uint8Array;function vt(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function xt(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}var wt=F?F.prototype:void 0,_t=wt?wt.valueOf:void 0;function At(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var St=Array.isArray;function Mt(){return[]}var kt=Object.prototype.propertyIsEnumerable,Et=Object.getOwnPropertySymbols,Ct=Et?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,s=[];++n<r;){var o=t[n];e(o,n,t)&&(s[i++]=o)}return s}(Et(t),function(e){return kt.call(t,e)}))}:Mt;function Tt(t){return null!=t&&"object"==typeof t}function Pt(t){return Tt(t)&&"[object Arguments]"==H(t)}var Ot=Object.prototype,Dt=Ot.hasOwnProperty,It=Ot.propertyIsEnumerable,zt=Pt(function(){return arguments}())?Pt:function(t){return Tt(t)&&Dt.call(t,"callee")&&!It.call(t,"callee")};var jt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Rt=jt&&"object"==typeof module&&module&&!module.nodeType&&module,Lt=Rt&&Rt.exports===jt?L.Buffer:void 0,Ft=(Lt?Lt.isBuffer:void 0)||function(){return!1},Nt=/^(?:0|[1-9]\d*)$/;function Bt(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&Nt.test(t))&&t>-1&&t%1==0&&t<e}function Yt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var Gt={};function Vt(t){return function(e){return t(e)}}Gt["[object Float32Array]"]=Gt["[object Float64Array]"]=Gt["[object Int8Array]"]=Gt["[object Int16Array]"]=Gt["[object Int32Array]"]=Gt["[object Uint8Array]"]=Gt["[object Uint8ClampedArray]"]=Gt["[object Uint16Array]"]=Gt["[object Uint32Array]"]=!0,Gt["[object Arguments]"]=Gt["[object Array]"]=Gt["[object ArrayBuffer]"]=Gt["[object Boolean]"]=Gt["[object DataView]"]=Gt["[object Date]"]=Gt["[object Error]"]=Gt["[object Function]"]=Gt["[object Map]"]=Gt["[object Number]"]=Gt["[object Object]"]=Gt["[object RegExp]"]=Gt["[object Set]"]=Gt["[object String]"]=Gt["[object WeakMap]"]=!1;var Ut="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ht=Ut&&"object"==typeof module&&module&&!module.nodeType&&module,Wt=Ht&&Ht.exports===Ut&&j.process,Xt=function(){try{var t=Ht&&Ht.require&&Ht.require("util").types;return t||Wt&&Wt.binding&&Wt.binding("util")}catch(t){}}(),qt=Xt&&Xt.isTypedArray,Kt=qt?Vt(qt):function(t){return Tt(t)&&Yt(t.length)&&!!Gt[H(t)]},$t=Object.prototype.hasOwnProperty;function Qt(t,e){var n=St(t),r=!n&&zt(t),i=!n&&!r&&Ft(t),s=!n&&!r&&!i&&Kt(t),o=n||r||i||s,a=o?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],c=a.length;for(var l in t)!e&&!$t.call(t,l)||o&&("length"==l||i&&("offset"==l||"parent"==l)||s&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Bt(l,c))||a.push(l);return a}var Zt=Object.prototype;function Jt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Zt)}function te(t,e){return function(n){return t(e(n))}}var ee=te(Object.keys,Object),ne=Object.prototype.hasOwnProperty;function re(t){if(!Jt(t))return ee(t);var e=[];for(var n in Object(t))ne.call(t,n)&&"constructor"!=n&&e.push(n);return e}function ie(t){return null!=t&&Yt(t.length)&&!X(t)}function se(t){return ie(t)?Qt(t):re(t)}function oe(t){return function(t,e,n){var r=e(t);return St(t)?r:At(r,n(t))}(t,se,Ct)}var ae=Object.prototype.hasOwnProperty;var ce=ot(L,"DataView"),le=ot(L,"Promise"),he=ot(L,"Set"),de=ot(L,"WeakMap"),ue="[object Map]",pe="[object Promise]",fe="[object Set]",ge="[object WeakMap]",me="[object DataView]",ye=Z(ce),be=Z(at),ve=Z(le),xe=Z(he),we=Z(de),_e=H;(ce&&_e(new ce(new ArrayBuffer(1)))!=me||at&&_e(new at)!=ue||le&&_e(le.resolve())!=pe||he&&_e(new he)!=fe||de&&_e(new de)!=ge)&&(_e=function(t){var e=H(t),n="[object Object]"==e?t.constructor:void 0,r=n?Z(n):"";if(r)switch(r){case ye:return me;case be:return ue;case ve:return pe;case xe:return fe;case we:return ge}return e});var Ae="[object Arguments]",Se="[object Array]",Me="[object Object]",ke=Object.prototype.hasOwnProperty;function Ee(t,e,n,r,i,s){var o=St(t),a=St(e),c=o?Se:_e(t),l=a?Se:_e(e),h=(c=c==Ae?Me:c)==Me,d=(l=l==Ae?Me:l)==Me,u=c==l;if(u&&Ft(t)){if(!Ft(e))return!1;o=!0,h=!1}if(u&&!h)return s||(s=new ft),o||Kt(t)?yt(t,e,n,r,i,s):function(t,e,n,r,i,s,o){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!s(new bt(t),new bt(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return O(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var a=vt;case"[object Set]":var c=1&r;if(a||(a=xt),t.size!=e.size&&!c)return!1;var l=o.get(t);if(l)return l==e;r|=2,o.set(t,e);var h=yt(a(t),a(e),r,i,s,o);return o.delete(t),h;case"[object Symbol]":if(_t)return _t.call(t)==_t.call(e)}return!1}(t,e,c,n,r,i,s);if(!(1&n)){var p=h&&ke.call(t,"__wrapped__"),f=d&&ke.call(e,"__wrapped__");if(p||f){var g=p?t.value():t,m=f?e.value():e;return s||(s=new ft),i(g,m,n,r,s)}}return!!u&&(s||(s=new ft),function(t,e,n,r,i,s){var o=1&n,a=oe(t),c=a.length;if(c!=oe(e).length&&!o)return!1;for(var l=c;l--;){var h=a[l];if(!(o?h in e:ae.call(e,h)))return!1}var d=s.get(t),u=s.get(e);if(d&&u)return d==e&&u==t;var p=!0;s.set(t,e),s.set(e,t);for(var f=o;++l<c;){var g=t[h=a[l]],m=e[h];if(r)var y=o?r(m,g,h,e,t,s):r(g,m,h,t,e,s);if(!(void 0===y?g===m||i(g,m,n,r,s):y)){p=!1;break}f||(f="constructor"==h)}if(p&&!f){var b=t.constructor,v=e.constructor;b==v||!("constructor"in t)||!("constructor"in e)||"function"==typeof b&&b instanceof b&&"function"==typeof v&&v instanceof v||(p=!1)}return s.delete(t),s.delete(e),p}(t,e,n,r,i,s))}function Ce(t,e,n,r,i){return t===e||(null==t||null==e||!Tt(t)&&!Tt(e)?t!=t&&e!=e:Ee(t,e,n,r,Ce,i))}var Te=function(){try{var t=ot(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function Pe(t,e,n){"__proto__"==e&&Te?Te(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}var Oe=Object.prototype.hasOwnProperty;function De(t,e,n){var r=t[e];Oe.call(t,e)&&O(r,n)&&(void 0!==n||e in t)||Pe(t,e,n)}function Ie(t,e,n,r){var i=!n;n||(n={});for(var s=-1,o=e.length;++s<o;){var a=e[s],c=r?r(n[a],t[a],a,n,t):void 0;void 0===c&&(c=t[a]),i?Pe(n,a,c):De(n,a,c)}return n}function ze(t){return t}function je(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var Re=Math.max;function Le(t){return function(){return t}}var Fe=Te?function(t,e){return Te(t,"toString",{configurable:!0,enumerable:!1,value:Le(e),writable:!0})}:ze,Ne=Date.now;var Be=function(t){var e=0,n=0;return function(){var r=Ne(),i=16-(r-n);if(n=r,i>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Fe);function Ye(t,e){return Be(function(t,e,n){return e=Re(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=Re(r.length-e,0),o=Array(s);++i<s;)o[i]=r[e+i];i=-1;for(var a=Array(e+1);++i<e;)a[i]=r[i];return a[e]=n(o),je(t,this,a)}}(t,e,ze),t+"")}function Ge(t,e,n){if(!W(n))return!1;var r=typeof e;return!!("number"==r?ie(n)&&Bt(e,n.length):"string"==r&&e in n)&&O(n[e],t)}var Ve=Object.prototype.hasOwnProperty;function Ue(t){if(!W(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=Jt(t),n=[];for(var r in t)("constructor"!=r||!e&&Ve.call(t,r))&&n.push(r);return n}function He(t){return ie(t)?Qt(t,!0):Ue(t)}var We,Xe=(We=function(t,e,n,r){Ie(e,He(e),t,r)},Ye(function(t,e){var n=-1,r=e.length,i=r>1?e[r-1]:void 0,s=r>2?e[2]:void 0;for(i=We.length>3&&"function"==typeof i?(r--,i):void 0,s&&Ge(e[0],e[1],s)&&(i=r<3?void 0:i,r=1),t=Object(t);++n<r;){var o=e[n];o&&We(t,o,n,i)}return t})),qe=te(Object.getPrototypeOf,Object),Ke=Function.prototype,$e=Object.prototype,Qe=Ke.toString,Ze=$e.hasOwnProperty,Je=Qe.call(Object);function tn(t){if(!Tt(t))return!1;var e=H(t);return"[object Error]"==e||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!function(t){if(!Tt(t)||"[object Object]"!=H(t))return!1;var e=qe(t);if(null===e)return!0;var n=Ze.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&Qe.call(n)==Je}(t)}var en=Ye(function(t,e){try{return je(t,void 0,e)}catch(t){return tn(t)?t:new Error(t)}});function nn(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var rn=Object.prototype,sn=rn.hasOwnProperty;function on(t,e,n,r){return void 0===t||O(t,rn[n])&&!sn.call(r,n)?e:t}var an={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};function cn(t){return"\\"+an[t]}var ln=/<%=([\s\S]+?)%>/g;var hn,dn=(hn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},function(t){return null==hn?void 0:hn[t]});function un(t){return"symbol"==typeof t||Tt(t)&&"[object Symbol]"==H(t)}var pn=F?F.prototype:void 0,fn=pn?pn.toString:void 0;function gn(t){if("string"==typeof t)return t;if(St(t))return nn(t,gn)+"";if(un(t))return fn?fn.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function mn(t){return null==t?"":gn(t)}var yn=/[&<>"']/g,bn=RegExp(yn.source);var vn={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:ln,variable:"",imports:{_:{escape:function(t){return(t=mn(t))&&bn.test(t)?t.replace(yn,dn):t}}}},xn=/\b__p \+= '';/g,wn=/\b(__p \+=) '' \+/g,_n=/(__e\(.*?\)|\b__t\)) \+\n'';/g,An=/[()=,{}\[\]\/\s]/,Sn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Mn=/($^)/,kn=/['\n\r\u2028\u2029\\]/g,En=Object.prototype.hasOwnProperty;var Cn="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tn=Cn&&"object"==typeof module&&module&&!module.nodeType&&module,Pn=Tn&&Tn.exports===Cn?L.Buffer:void 0,On=Pn?Pn.allocUnsafe:void 0;var Dn=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)At(e,Ct(t)),t=qe(t);return e}:Mt;var In=Object.prototype.hasOwnProperty;var zn=/\w*$/;var jn=F?F.prototype:void 0,Rn=jn?jn.valueOf:void 0;function Ln(t,e,n){var r,i,s,o,a,c=t.constructor;switch(e){case"[object ArrayBuffer]":return a=new(o=t).constructor(o.byteLength),new bt(a).set(new bt(o)),a;case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return s=(i=t).buffer,new i.constructor(s,i.byteOffset,i.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t){var e=t.buffer;return new t.constructor(e,t.byteOffset,t.length)}(t);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,zn.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return r=t,Rn?Object(Rn.call(r)):{}}}var Fn=Object.create,Nn=function(){function t(){}return function(e){if(!W(e))return{};if(Fn)return Fn(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();var Bn=Xt&&Xt.isMap,Yn=Bn?Vt(Bn):function(t){return Tt(t)&&"[object Map]"==_e(t)};var Gn=Xt&&Xt.isSet,Vn=Gn?Vt(Gn):function(t){return Tt(t)&&"[object Set]"==_e(t)},Un="[object Arguments]",Hn="[object Function]",Wn="[object Object]",Xn={};function qn(t,e,n,r,i,s){var o,a=2&e;if(void 0!==o)return o;if(!W(t))return t;var c=St(t);if(c)return o=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&In.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}(t,o);var l=_e(t),h=l==Hn||"[object GeneratorFunction]"==l;if(Ft(t))return function(t){var e=t.length,n=On?On(e):new t.constructor(e);return t.copy(n),n}(t);if(l==Wn||l==Un||h&&!i)return o=h?{}:function(t){return"function"!=typeof t.constructor||Jt(t)?{}:Nn(qe(t))}(t),a?function(t,e){return Ie(t,Dn(t),e)}(t,function(t,e){return t&&Ie(e,He(e),t)}(o,t)):function(t,e){return Ie(t,Ct(t),e)}(t,function(t,e){return t&&Ie(e,se(e),t)}(o,t));if(!Xn[l])return i?t:{};o=Ln(t,l),s||(s=new ft);var d=s.get(t);if(d)return d;s.set(t,o),Vn(t)?t.forEach(function(r){o.add(qn(r,e,n,r,t,s))}):Yn(t)&&t.forEach(function(r,i){o.set(i,qn(r,e,n,i,t,s))});var u=c?void 0:oe(t);return function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););}(u||t,function(r,i){u&&(r=t[i=r]),De(o,i,qn(r,e,n,i,t,s))}),o}Xn[Un]=Xn["[object Array]"]=Xn["[object ArrayBuffer]"]=Xn["[object DataView]"]=Xn["[object Boolean]"]=Xn["[object Date]"]=Xn["[object Float32Array]"]=Xn["[object Float64Array]"]=Xn["[object Int8Array]"]=Xn["[object Int16Array]"]=Xn["[object Int32Array]"]=Xn["[object Map]"]=Xn["[object Number]"]=Xn[Wn]=Xn["[object RegExp]"]=Xn["[object Set]"]=Xn["[object String]"]=Xn["[object Symbol]"]=Xn["[object Uint8Array]"]=Xn["[object Uint8ClampedArray]"]=Xn["[object Uint16Array]"]=Xn["[object Uint32Array]"]=!0,Xn["[object Error]"]=Xn[Hn]=Xn["[object WeakMap]"]=!1;function Kn(t){return qn(t,4)}var $n=function(){return L.Date.now()},Qn=/\s/;var Zn=/^\s+/;function Jn(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Qn.test(t.charAt(e)););return e}(t)+1).replace(Zn,""):t}var tr=/^[-+]0x[0-9a-f]+$/i,er=/^0b[01]+$/i,nr=/^0o[0-7]+$/i,rr=parseInt;function ir(t){if("number"==typeof t)return t;if(un(t))return NaN;if(W(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=W(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Jn(t);var n=er.test(t);return n||nr.test(t)?rr(t.slice(2),n?2:8):tr.test(t)?NaN:+t}var sr=Math.max,or=Math.min;function ar(t,e,n){var r,i,s,o,a,c,l=0,h=!1,d=!1,u=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function p(e){var n=r,s=i;return r=i=void 0,l=e,o=t.apply(s,n)}function f(t){var n=t-c;return void 0===c||n>=e||n<0||d&&t-l>=s}function g(){var t=$n();if(f(t))return m(t);a=setTimeout(g,function(t){var n=e-(t-c);return d?or(n,s-(t-l)):n}(t))}function m(t){return a=void 0,u&&r?p(t):(r=i=void 0,o)}function y(){var t=$n(),n=f(t);if(r=arguments,i=this,c=t,n){if(void 0===a)return function(t){return l=t,a=setTimeout(g,e),h?p(t):o}(c);if(d)return clearTimeout(a),a=setTimeout(g,e),p(c)}return void 0===a&&(a=setTimeout(g,e)),o}return e=ir(e)||0,W(n)&&(h=!!n.leading,s=(d="maxWait"in n)?sr(ir(n.maxWait)||0,e):s,u="trailing"in n?!!n.trailing:u),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,r=c=i=a=void 0},y.flush=function(){return void 0===a?o:m($n())},y}function cr(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return W(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),ar(t,e,{leading:r,maxWait:e,trailing:i})}var lr=1/0;function hr(t){var e=function(t){return t?(t=ir(t))===lr||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}(t),n=e%1;return e==e?n?e-n:e:0}function dr(t){return function(t,e){var n;if("function"!=typeof e)throw new TypeError("Expected a function");return t=hr(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=void 0),n}}(2,t)}var ur=Object.prototype.hasOwnProperty;function pr(t){if(null==t)return!0;if(ie(t)&&(St(t)||"string"==typeof t||"function"==typeof t.splice||Ft(t)||Kt(t)||zt(t)))return!t.length;var e=_e(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(Jt(t))return!re(t).length;for(var n in t)if(ur.call(t,n))return!1;return!0}let fr=0;function gr(t={},...e){return"object"!=typeof t&&(t={}),e.forEach(e=>{for(const n in e)"object"!=typeof e[n]?t[n]=e[n]:e[n].length>0?t[n]=e[n].map(t=>{let r;return r="object"!=typeof e[n]?t:gr({},t),r}):t[n]=gr(t[n],e[n])}),t}function mr(t){for(;t&&"object"==typeof t;){const e=t;for(const e in t){t=t[e];break}if(t===e){t=void 0;break}}return t}function yr(t,e){if(!this.__collection__)return this;return-1==this.__collection__.indexOf(e)&&this.__collection__.splice(t,0,e),this}function br(t){return this.__collection__||(this.__collection__=[]),-1==this.__collection__.indexOf(t)&&this.__collection__.push(t),this}function vr(t){return this.__collection__||(this.__collection__=[]),-1==this.__collection__.indexOf(t)&&this.__collection__.unshift(t),this}function xr(t){if(!this.__collection__)return this;const e=this.__collection__.indexOf(t);return e>=0&&this.__collection__.splice(e,1),this}function wr(t){if(this.__collection__)return this.__collection__[t]}function _r(t,e){this.__collection__&&this.__collection__.forEach(t,e)}function Ar(t){return this.__collection__?this.__collection__.indexOf(t):-1}function Sr(){return this.__collection__?this.__collection__.length:0}function Mr(){this.__collection__=[]}function kr(t){const e=this.indexOf(t);-1!=e&&0!=e&&(this.__collection__[e]=this.__collection__[e-1],this.__collection__[e-1]=t)}function Er(t){const e=this.indexOf(t);-1!=e&&e!=this.size()-1&&(this.__collection__[e]=this.__collection__[e+1],this.__collection__[e+1]=t)}function Cr(t){const e=this.indexOf(t);if(-1==e||0==e)return;const n=this.__collection__.splice(0,e),r=this.__collection__.splice(1);this.__collection__=this.__collection__.concat(n,r)}function Tr(t){const e=this.indexOf(t);if(-1==e||e==this.size()-1)return;const n=this.__collection__.splice(0,e),r=this.__collection__.splice(1);this.__collection__=n.concat(r,this.__collection__)}class Pr{constructor(){this.__collection__=[],this.insertAt=yr,this.append=br,this.prepend=vr,this.remove=xr,this.getAt=wr,this.forEach=_r,this.indexOf=Ar,this.size=Sr,this.clear=Mr,this.moveForward=kr,this.moveBackward=Er,this.moveToHead=Cr,this.moveToTail=Tr}}const Or=new class{constructor(){this.drawCount=0,this.drawTimeSum=0,this.drawTimeLast=0,this.invalidateCount=0,this.triggerCount=0,this.cacheHit=0,this.cacheMiss=0,this._lastSnapshotTime=0,this._frameCount=0,this._getResidents=null}registerResidents(t){this._getResidents=t}countFrame(){this._frameCount++}snapshot(){const t=performance.now(),e=this.drawCount,n=this.cacheHit+this.cacheMiss,r=this._getResidents?.()??null;let i=0;if(this._lastSnapshotTime>0){const e=t-this._lastSnapshotTime;e>0&&(i=Math.round(1e3*this._frameCount/e))}this._lastSnapshotTime=t,this._frameCount=0;const s={fps:i,drawCount:e,drawTimeAvg:e>0?Math.round(this.drawTimeSum/e*100)/100:0,drawTimeLast:Math.round(100*this.drawTimeLast)/100,invalidateCount:this.invalidateCount,triggerCount:this.triggerCount,cacheHitRate:n>0?Math.round(this.cacheHit/n*1e3)/10:0,...r??{}};return this.drawCount=0,this.drawTimeSum=0,this.invalidateCount=0,this.triggerCount=0,this.cacheHit=0,this.cacheMiss=0,s}},Dr=/\s+/;function Ir(t,e,n,r){if(!n)return!0;if("object"==typeof n){for(const r in n){const i=n[r];t[e].apply(t,[r,i])}return!1}if(Dr.test(n)){return n.split(Dr).forEach(n=>t[e].apply(t,[n].concat(r))),!1}return!0}const zr=["on","off","once","delegate_on","delegate_off","trigger","listenTo"],jr={withEvent(){zr.forEach(t=>this[t]=jr[t])},on(t,e,n){if(!Ir(this,"on",t,[e,n])||!e)return this;this._listeners||(this._listeners={});return(this._listeners[t]||(this._listeners[t]=[])).push({callback:e,context:n,ctx:n||this}),this},once(t,e,n){if(!Ir(this,"once",t,[e,n])||!e)return this;const r=this,i=dr(function(){r.off(t,i,n),e.apply(r,arguments)});return i._callback=e,this.on(t,i,n),this},off(t,e,n){if(!this._listeners||!Ir(this,"off",t,[e,n]))return this;if(!t&&!e&&!n)return this._listeners=void 0,this;let r;r=t&&"string"==typeof t?[t]:Object.keys(this._listeners||{});for(let t=0;t<r.length;t++){const i=r[t],s=this._listeners?.[i];if(s){const t=[];if(this._listeners[i]=t,e||n)for(let r=0;r<s.length;r++){const i=s[r];(e&&e!==i.callback&&e!==i.callback._callback||n&&n!==i.context)&&t.push(i)}t.length||delete this._listeners[i]}}return this},delegate_on(t){return this._delegators||(this._delegators=new Pr),this._delegators.append(t),this},delegate_off(t){return this._delegators?(this._delegators.remove(t),this):this},delegate(){if(this._delegators&&this._delegators.size()>0&&Lr(this._delegators,arguments),!this._listeners)return this;const t=arguments.length-1,e=arguments[t];arguments[t]={origin:e.origin,name:e.name,deliverer:this};const n=this._listeners[e.name],r=this._listeners["(all)"];return n&&Rr(n,arguments),r&&Rr(r,arguments),this},trigger(t){Or.triggerCount++;const e=[].slice.call(arguments,1);if(e.push({origin:this,name:t,deliverer:this}),this._delegators&&this._delegators.size()>0&&Lr(this._delegators,e),!this._listeners)return this;if(!Ir(this,"trigger",t,e))return this;const n=this._listeners[t],r=this._listeners["(all)"];return n&&Rr(n,e),r&&Rr(r,e),this},stopListening(t,e,n){let r=this._listeningTo;if(!r)return this;const i=!e&&!n;n||"object"!=typeof e||(n=this),t&&(r={},r[t._listenId]=t);for(const t in r){const s=r[t];s.off(e,n,this),(i||pr(s._events))&&delete this._listeningTo[t]}return this}};function Rr(t,e){t.forEach(t=>t.callback.apply(t.ctx,e))}function Lr(t,e){t.forEach(t=>jr.delegate.apply(t,e))}const Fr={listenTo:"on",listenToOnce:"once"};for(const t in Fr){const e=Fr[t];jr[t]=function(t,n,r){this._listeningTo||(this._listeningTo={});const i=this._listeningTo;t._listenId||(t._listenId=`${"l"}${++fr}`);return i[t._listenId]=t,r||"object"!=typeof n||(r=this),t[e](n,r,this),this}}const Nr=jr.on,Br=jr.off,Yr=jr.once,Gr=jr.trigger,Vr=jr.delegate_on,Ur=jr.delegate_off;function Hr(t,e){if(e instanceof Array)e.forEach(e=>Hr(t,e));else{if(t.mixedIn=t.hasOwnProperty("mixedIn")?t.mixedIn:[],t.mixingIn=t.hasOwnProperty("mixingIn")?t.mixingIn:[],t.mixedIn.indexOf(e)>=0)return t;if(t.mixingIn.indexOf(e)>=0)throw new Error(`found cyclic dependencies between ${t.mixingIn}`);t.mixingIn.push(e),e.call(t),t.mixingIn.pop(),t.mixedIn.push(e)}return t}const Wr=(...t)=>{const e=[];t.forEach(t=>t&&t.stack&&e.push(t.stack)),console.error("[ERROR]",...t,e.join(" "))},Xr=(...t)=>{const e=[];t.forEach(t=>t&&t.stack&&e.push(t.stack)),console.warn("[WARN]",...t,e.join(" "))},qr=(...t)=>console.log("[DEBUG]",...t);function Kr(t,e,n){const r=function(t,e){let n=t;for(;n;){const t=Object.getOwnPropertyDescriptor(n,e);if(t?.get)return t;n=Object.getPrototypeOf(n)}}(t,e);if(!r?.get)return void Wr(`${String(e)} is not defined in ${t.constructor.name}`);const i=r.get,s={get:n?function(){return e in this.__cache__?Or.cacheHit++:(Or.cacheMiss++,this.__cache__[e]=Object.freeze(i.call(this))),this.__cache__[e]}:function(){return e in this.__cache__?Or.cacheHit++:(Or.cacheMiss++,this.__cache__[e]=i.call(this)),this.__cache__[e]},configurable:!0};r.set&&(s.set=r.set),Object.defineProperty(t,e,s)}var $r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Qr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Zr(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Jr,ti={exports:{}};var ei=(Jr||(Jr=1,function(t){var e=function(t){var e,n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},s="function"==typeof Symbol?Symbol:{},o=s.iterator||"@@iterator",a=s.asyncIterator||"@@asyncIterator",c=s.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function h(t,e,n,r){var s=e&&e.prototype instanceof y?e:y,o=Object.create(s.prototype),a=new P(r||[]);return i(o,"_invoke",{value:k(t,n,a)}),o}function d(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=h;var u="suspendedStart",p="suspendedYield",f="executing",g="completed",m={};function y(){}function b(){}function v(){}var x={};l(x,o,function(){return this});var w=Object.getPrototypeOf,_=w&&w(w(O([])));_&&_!==n&&r.call(_,o)&&(x=_);var A=v.prototype=y.prototype=Object.create(x);function S(t){["next","throw","return"].forEach(function(e){l(t,e,function(t){return this._invoke(e,t)})})}function M(t,e){function n(i,s,o,a){var c=d(t[i],t,s);if("throw"!==c.type){var l=c.arg,h=l.value;return h&&"object"==typeof h&&r.call(h,"__await")?e.resolve(h.__await).then(function(t){n("next",t,o,a)},function(t){n("throw",t,o,a)}):e.resolve(h).then(function(t){l.value=t,o(l)},function(t){return n("throw",t,o,a)})}a(c.arg)}var s;i(this,"_invoke",{value:function(t,r){function i(){return new e(function(e,i){n(t,r,e,i)})}return s=s?s.then(i,i):i()}})}function k(t,n,r){var i=u;return function(s,o){if(i===f)throw new Error("Generator is already running");if(i===g){if("throw"===s)throw o;return{value:e,done:!0}}for(r.method=s,r.arg=o;;){var a=r.delegate;if(a){var c=E(a,r);if(c){if(c===m)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===u)throw i=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=f;var l=d(t,n,r);if("normal"===l.type){if(i=r.done?g:p,l.arg===m)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(i=g,r.method="throw",r.arg=l.arg)}}}function E(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,E(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),m;var s=d(i,t.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,m;var o=s.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,m):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(null!=t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,s=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return s.next=s}}throw new TypeError(typeof t+" is not iterable")}return b.prototype=v,i(A,"constructor",{value:v,configurable:!0}),i(v,"constructor",{value:b,configurable:!0}),b.displayName=l(v,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===b||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,l(t,c,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},S(M.prototype),l(M.prototype,a,function(){return this}),t.AsyncIterator=M,t.async=function(e,n,r,i,s){void 0===s&&(s=Promise);var o=new M(h(e,n,r,i),s);return t.isGeneratorFunction(n)?o:o.next().then(function(t){return t.done?t.value:o.next()})},S(A),l(A,c,"Generator"),l(A,o,function(){return this}),l(A,"toString",function(){return"[object Generator]"}),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return a.type="throw",a.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var s=this.tryEntries.length-1;s>=0;--s){var o=this.tryEntries[s],a=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var c=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(c&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var s=i;break}}s&&("break"===t||"continue"===t)&&s.tryLoc<=e&&e<=s.finallyLoc&&(s=null);var o=s?s.completion:{};return o.type=t,o.arg=e,s?(this.method="next",this.next=s.finallyLoc,m):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),T(n),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:O(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),m}},t}(t.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}Number.isInteger=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},String.fromCodePoint||function(t){var e=function(e){for(var n=[],r=0,i="",s=0,o=arguments.length;s!==o;++s){var a=+arguments[s];if(!(a<1114111&&a>>>0===a))throw RangeError("Invalid code point: "+a);a<=65535?r=n.push(a):(a-=65536,r=n.push(55296+(a>>10),a%1024+56320)),r>=16383&&(i+=t.apply(null,n),n.length=0)}return i+t.apply(null,n)};try{Object.defineProperty(String,"fromCodePoint",{value:e,configurable:!0,writable:!0})}catch(t){String.fromCodePoint=e}}(String.fromCharCode),Object.is||(Object.is=function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e})
2
+ /*! https://mths.be/codepointat v0.2.0 by @mathias */,String.prototype.codePointAt||function(){var t=function(){try{var t={},e=Object.defineProperty,n=e(t,t,t)&&e}catch(t){}return n}(),e=function(t){if(null==this)throw TypeError();var e=String(this),n=e.length,r=t?Number(t):0;if(r!=r&&(r=0),!(r<0||r>=n)){var i,s=e.charCodeAt(r);return s>=55296&&s<=56319&&n>r+1&&(i=e.charCodeAt(r+1))>=56320&&i<=57343?1024*(s-55296)+i-56320+65536:s}};t?t(String.prototype,"codePointAt",{value:e,configurable:!0,writable:!0}):String.prototype.codePointAt=e}(),Math.log10=Math.log10||function(t){return Math.log(t)*Math.LOG10E},t.exports=function(){function t(e,n,r){function i(o,a){if(!n[o]){if(!e[o]){if(!a&&Zr)return Zr(o);if(s)return s(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[o]={exports:{}};e[o][0].call(l.exports,function(t){return i(e[o][1][t]||t)},l,l.exports,t,e,n,r)}return n[o].exports}for(var s=Zr,o=0;o<r.length;o++)i(r[o]);return i}return t}()({1:[function(t,e,n){var r=t("./utils"),i=function(){var t=r.stringToArray,e=["Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"],n=["Zeroth","First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Ninth","Tenth","Eleventh","Twelfth","Thirteenth","Fourteenth","Fifteenth","Sixteenth","Seventeenth","Eighteenth","Nineteenth"],i=["Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety","Hundred"],s=["Thousand","Million","Billion","Trillion"];function o(t,r){var o=function t(r,o,a){var c="";if(r<=19)c=(o?" and ":"")+(a?n[r]:e[r]);else if(r<100){var l=Math.floor(r/10),h=r%10;c=(o?" and ":"")+i[l-2],h>0?c+="-"+t(h,!1,a):a&&(c=c.substring(0,c.length-1)+"ieth")}else if(r<1e3){var d=Math.floor(r/100),u=r%100;c=(o?", ":"")+e[d]+" Hundred",u>0?c+=t(u,!0,a):a&&(c+="th")}else{var p=Math.floor(Math.log10(r)/3);p>s.length&&(p=s.length);var f=Math.pow(10,3*p),g=Math.floor(r/f),m=r-g*f;c=(o?", ":"")+t(g,!1,!1)+" "+s[p-1],m>0?c+=t(m,!0,a):a&&(c+="th")}return c};return o(t,!1,r)}var a={};function c(t){var e=t.split(/,\s|\sand\s|[\s\\-]/).map(function(t){return a[t]}),n=[0];return e.forEach(function(t){if(t<100){var e=n.pop();e>=1e3&&(n.push(e),e=0),n.push(e+t)}else n.push(n.pop()*t)}),n.reduce(function(t,e){return t+e},0)}e.forEach(function(t,e){a[t.toLowerCase()]=e}),n.forEach(function(t,e){a[t.toLowerCase()]=e}),i.forEach(function(t,e){var n=t.toLowerCase();a[n]=10*(e+2),a[n.substring(0,t.length-1)+"ieth"]=a[n]}),a.hundredth=100,s.forEach(function(t,e){var n=t.toLowerCase(),r=Math.pow(10,3*(e+1));a[n]=r,a[n+"th"]=r});var l=[[1e3,"m"],[900,"cm"],[500,"d"],[400,"cd"],[100,"c"],[90,"xc"],[50,"l"],[40,"xl"],[10,"x"],[9,"ix"],[5,"v"],[4,"iv"],[1,"i"]],h={M:1e3,D:500,C:100,L:50,X:10,V:5,I:1};function d(t){for(var e=0;e<l.length;e++){var n=l[e];if(t>=n[0])return n[1]+d(t-n[0])}return""}function u(t){for(var e=0,n=1,r=t.length-1;r>=0;r--){var i=t[r],s=h[i];s<n?e-=s:(n=s,e+=s)}return e}function p(t,e){for(var n=[],r=e.charCodeAt(0);t>0;)n.unshift(String.fromCharCode((t-1)%26+r)),t=Math.floor((t-1)/26);return n.join("")}function f(t,e){for(var n=e.charCodeAt(0),r=0,i=0;i<t.length;i++)r+=(t.charCodeAt(t.length-i-1)-n+1)*Math.pow(26,i);return r}function g(t,e){if(void 0!==t)return b(t=Math.floor(t),x(e))}var m={DECIMAL:"decimal",LETTERS:"letters",ROMAN:"roman",WORDS:"words",SEQUENCE:"sequence"},y={UPPER:"upper",LOWER:"lower",TITLE:"title"};function b(e,n){var r,i=e<0;switch(e=Math.abs(e),n.primary){case m.LETTERS:r=p(e,n.case===y.UPPER?"A":"a");break;case m.ROMAN:r=d(e),n.case===y.UPPER&&(r=r.toUpperCase());break;case m.WORDS:r=o(e,n.ordinal),n.case===y.UPPER?r=r.toUpperCase():n.case===y.LOWER&&(r=r.toLowerCase());break;case m.DECIMAL:r=""+e;var s=n.mandatoryDigits-r.length;if(s>0){var a=new Array(s+1).join("0");r=a+r}if(48!==n.zeroCode&&(r=t(r).map(function(t){return String.fromCodePoint(t.codePointAt(0)+n.zeroCode-48)}).join("")),n.regular)for(var c=Math.floor((r.length-1)/n.groupingSeparators.position);c>0;c--){var l=r.length-c*n.groupingSeparators.position;r=r.substr(0,l)+n.groupingSeparators.character+r.substr(l)}else n.groupingSeparators.reverse().forEach(function(t){var e=r.length-t.position;r=r.substr(0,e)+t.character+r.substr(e)});if(n.ordinal){var h={1:"st",2:"nd",3:"rd"}[r[r.length-1]];(!h||r.length>1&&"1"===r[r.length-2])&&(h="th"),r+=h}break;case m.SEQUENCE:throw{code:"D3130",value:n.token}}return i&&(r="-"+r),r}var v=[48,1632,1776,1984,2406,2534,2662,2790,2918,3046,3174,3302,3430,3558,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,42528,43216,43264,43472,43504,43600,44016,65296];function x(e){var n,r={type:"integer",primary:m.DECIMAL,case:y.LOWER,ordinal:!1},i=e.lastIndexOf(";");switch(-1===i?n=e:(n=e.substring(0,i),"o"===e.substring(i+1)[0]&&(r.ordinal=!0)),n){case"A":r.case=y.UPPER;case"a":r.primary=m.LETTERS;break;case"I":r.case=y.UPPER;case"i":r.primary=m.ROMAN;break;case"W":r.case=y.UPPER,r.primary=m.WORDS;break;case"Ww":r.case=y.TITLE,r.primary=m.WORDS;break;case"w":r.primary=m.WORDS;break;default:var s=null,o=0,a=0,c=[],l=0;if(t(n).map(function(t){return t.codePointAt(0)}).reverse().forEach(function(t){for(var e=!1,n=0;n<v.length;n++){var r=v[n];if(t>=r&&t<=r+9){if(e=!0,o++,l++,null===s)s=r;else if(r!==s)throw{code:"D3131"};break}}e||(35===t?(l++,a++):c.push({position:l,character:String.fromCodePoint(t)}))}),o>0){r.primary=m.DECIMAL,r.zeroCode=s,r.mandatoryDigits=o,r.optionalDigits=a;var h=function(t){if(0===t.length)return 0;for(var e=t[0].character,n=1;n<t.length;n++)if(t[n].character!==e)return 0;for(var r=t.map(function(t){return t.position}),i=function t(e,n){return 0===n?e:t(n,e%n)},s=r.reduce(i),o=1;o<=r.length;o++)if(-1===r.indexOf(o*s))return 0;return s}(c);h>0?(r.regular=!0,r.groupingSeparators={position:h,character:c[0].character}):(r.regular=!1,r.groupingSeparators=c)}else r.primary=m.SEQUENCE,r.token=n}return r}var w={Y:"1",M:"1",D:"1",d:"1",F:"n",W:"1",w:"1",X:"1",x:"1",H:"1",h:"1",P:"n",m:"01",s:"01",f:"1",Z:"01:01",z:"01:01",C:"n",E:"n"};function _(t){for(var e=[],n={type:"datetime",parts:e},r=function(n,r){if(r>n){var i=t.substring(n,r);i=i.split("]]").join("]"),e.push({type:"literal",value:i})}},i=0,s=0;s<t.length;){if("["===t.charAt(s)){if("["===t.charAt(s+1)){r(i,s),e.push({type:"literal",value:"["}),i=s+=2;continue}if(r(i,s),i=s,-1===(s=t.indexOf("]",i)))throw{code:"D3135"};var o,a=t.substring(i+1,s),c={type:"marker",component:(a=a.split(/\s+/).join("")).charAt(0)},l=a.lastIndexOf(",");if(-1!==l){var h=a.substring(l+1),d=h.indexOf("-"),u=void 0,p=void 0,f=function(t){return void 0===t||"*"===t?void 0:parseInt(t)};-1===d?u=h:(u=h.substring(0,d),p=h.substring(d+1));var g={min:f(u),max:f(p)};c.width=g,o=a.substring(1,l)}else o=a.substring(1);if(1===o.length)c.presentation1=o;else if(o.length>1){var m=o.charAt(o.length-1);-1!=="atco".indexOf(m)?(c.presentation2=m,"o"===m&&(c.ordinal=!0),c.presentation1=o.substring(0,o.length-1)):c.presentation1=o}else c.presentation1=w[c.component];if(void 0===c.presentation1)throw{code:"D3132",value:c.component};if("n"===c.presentation1[0])c.names=y.LOWER;else if("N"===c.presentation1[0])"n"===c.presentation1[1]?c.names=y.TITLE:c.names=y.UPPER;else if(-1!=="YMDdFWwXxHhmsf".indexOf(c.component)){var b=c.presentation1;if(c.presentation2&&(b+=";"+c.presentation2),c.integerFormat=x(b),c.width&&void 0!==c.width.min&&c.integerFormat.mandatoryDigits<c.width.min&&(c.integerFormat.mandatoryDigits=c.width.min),-1!=="YMD".indexOf(c.component))if(c.n=-1,c.width&&void 0!==c.width.max)c.n=c.width.max,c.integerFormat.mandatoryDigits=c.n;else{var v=c.integerFormat.mandatoryDigits+c.integerFormat.optionalDigits;v>=2&&(c.n=v)}}"Z"!==c.component&&"z"!==c.component||(c.integerFormat=x(c.presentation1)),e.push(c),i=s+1}s++}return r(i,s),n}var A=["","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],S=["January","February","March","April","May","June","July","August","September","October","November","December"],M=864e5,k=function(t){var e=Date.UTC(t.year,t.month),n=new Date(e).getUTCDay();return 0===n&&(n=7),n>4?e+(8-n)*M:e-(n-1)*M},E=function t(e,n){return{year:e,month:n,nextMonth:function(){return 11===n?t(e+1,0):t(e,n+1)},previousMonth:function(){return 0===n?t(e-1,11):t(e,n-1)},nextYear:function(){return t(e+1,n)},previousYear:function(){return t(e-1,n)}}},C=function(t,e){return(e-t)/(7*M)+1},T=function(t,e){var n;switch(e){case"Y":n=t.getUTCFullYear();break;case"M":n=t.getUTCMonth()+1;break;case"D":n=t.getUTCDate();break;case"d":n=(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())-Date.UTC(t.getUTCFullYear(),0))/M+1;break;case"F":0===(n=t.getUTCDay())&&(n=7);break;case"W":var r=E(t.getUTCFullYear(),0),i=k(r),s=Date.UTC(r.year,t.getUTCMonth(),t.getUTCDate()),o=C(i,s);if(o>52)s>=k(r.nextYear())&&(o=1);else if(o<1){var a=k(r.previousYear());o=C(a,s)}n=Math.floor(o);break;case"w":var c=E(t.getUTCFullYear(),t.getUTCMonth()),l=k(c),h=Date.UTC(c.year,c.month,t.getUTCDate()),d=C(l,h);if(d>4)h>=k(c.nextMonth())&&(d=1);else if(d<1){var u=k(c.previousMonth());d=C(u,h)}n=Math.floor(d);break;case"X":var p=E(t.getUTCFullYear(),0),f=k(p),g=k(p.nextYear()),m=t.getTime();n=m<f?p.year-1:m>=g?p.year+1:p.year;break;case"x":var y=E(t.getUTCFullYear(),t.getUTCMonth()),b=k(y),v=y.nextMonth(),x=k(v),w=t.getTime();n=w<b?y.previousMonth().month+1:w>=x?v.month+1:y.month+1;break;case"H":n=t.getUTCHours();break;case"h":n=t.getUTCHours(),0==(n%=12)&&(n=12);break;case"P":n=t.getUTCHours()>=12?"pm":"am";break;case"m":n=t.getUTCMinutes();break;case"s":n=t.getUTCSeconds();break;case"f":n=t.getUTCMilliseconds();break;case"Z":case"z":break;case"C":case"E":n="ISO"}return n},P=null;function O(t,e,n){var r=0,i=0;if(void 0!==n){var s=parseInt(n);r=Math.floor(s/100),i=s%100}var o,a=function(t,e){var n=T(t,e.component);if(-1!=="YMDdFWwXxHhms".indexOf(e.component))if("Y"===e.component&&-1!==e.n&&(n%=Math.pow(10,e.n)),e.names){if("M"===e.component||"x"===e.component)n=S[n-1];else{if("F"!==e.component)throw{code:"D3133",value:e.component};n=A[n]}e.names===y.UPPER?n=n.toUpperCase():e.names===y.LOWER&&(n=n.toLowerCase()),e.width&&n.length>e.width.max&&(n=n.substring(0,e.width.max))}else n=b(n,e.integerFormat);else if("f"===e.component)n=b(n,e.integerFormat);else if("Z"===e.component||"z"===e.component){var s=100*r+i;if(e.integerFormat.regular)n=b(s,e.integerFormat);else{var o=e.integerFormat.mandatoryDigits;if(1===o||2===o)n=b(r,e.integerFormat),0!==i&&(n+=":"+g(i,"00"));else{if(3!==o&&4!==o)throw{code:"D3134",value:o};n=b(s,e.integerFormat)}}s>=0&&(n="+"+n),"z"===e.component&&(n="GMT"+n),0===s&&"t"===e.presentation2&&(n="Z")}return n};void 0===e?(null===P&&(P=_("[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01].[f001][Z01:01t]")),o=P):o=_(e);var c=new Date(t+60*(60*r+i)*1e3),l="";return o.parts.forEach(function(t){"literal"===t.type?l+=t.value:l+=a(c,t)}),l}function D(t){var e={};if("datetime"===t.type)e.type="datetime",e.parts=t.parts.map(function(t){var e={};if("literal"===t.type)e.regex=t.value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");else if("Z"===t.component||"z"===t.component){var n;Array.isArray(t.integerFormat.groupingSeparators)||(n=t.integerFormat.groupingSeparators),e.regex="","z"===t.component&&(e.regex="GMT"),e.regex+="[-+][0-9]+",n&&(e.regex+=n.character+"[0-9]+"),e.parse=function(e){"z"===t.component&&(e=e.substring(3));var r=0,i=0;return n?(r=Number.parseInt(e.substring(0,e.indexOf(n.character))),i=Number.parseInt(e.substring(e.indexOf(n.character)+1))):e.length-1<=2?r=Number.parseInt(e):(r=Number.parseInt(e.substring(0,3)),i=Number.parseInt(e.substring(3))),60*r+i}}else if(t.integerFormat)t.integerFormat.n=t.n,e=D(t.integerFormat);else{e.regex="[a-zA-Z]+";var r={};if("M"===t.component||"x"===t.component)S.forEach(function(e,n){t.width&&t.width.max?r[e.substring(0,t.width.max)]=n+1:r[e]=n+1});else if("F"===t.component)A.forEach(function(e,n){n>0&&(t.width&&t.width.max?r[e.substring(0,t.width.max)]=n:r[e]=n)});else{if("P"!==t.component)throw{code:"D3133",value:t.component};r={am:0,AM:0,pm:1,PM:1}}e.parse=function(t){return r[t]}}return e.component=t.component,e});else{e.type="integer";var n,r=t.case===y.UPPER;switch(n=t.n&&t.n>0?0===t.optionalDigits?"{".concat(t.n,"}"):"{".concat(t.n-t.optionalDigits,",").concat(t.n,"}"):"+",t.primary){case m.LETTERS:e.regex=r?"[A-Z]+":"[a-z]+",e.parse=function(t){return f(t,r?"A":"a")};break;case m.ROMAN:e.regex=r?"[MDCLXVI]+":"[mdclxvi]+",e.parse=function(t){return u(r?t:t.toUpperCase())};break;case m.WORDS:e.regex="(?:"+Object.keys(a).concat("and","[\\-, ]").join("|")+")+",e.parse=function(t){return c(t.toLowerCase())};break;case m.DECIMAL:e.regex="[0-9]".concat(n),t.ordinal&&(e.regex+="(?:th|st|nd|rd)"),e.parse=function(e){var n=e;return t.ordinal&&(n=e.substring(0,e.length-2)),t.regular?n=n.split(",").join(""):t.groupingSeparators.forEach(function(t){n=n.split(t.character).join("")}),48!==t.zeroCode&&(n=n.split("").map(function(e){return String.fromCodePoint(e.codePointAt(0)-t.zeroCode+48)}).join("")),parseInt(n)};break;case m.SEQUENCE:throw{code:"D3130",value:t.token}}}return e}function I(t,e){if(void 0!==t)return D(x(e)).parse(t)}function z(t,e){var n=D(_(e)),r="^"+n.parts.map(function(t){return"("+t.regex+")"}).join("")+"$",i=new RegExp(r,"i").exec(t);if(null!==i){for(var s=161,o=130,a=84,c=72,l=23,h=47,d={},u=1;u<i.length;u++){var p=n.parts[u-1];p.parse&&(d[p.component]=p.parse(i[u]))}if(0===Object.getOwnPropertyNames(d).length)return;var f=0,g=function(t){f<<=1,f+=t?1:0},m=function(t){return!(~t&f||!(t&f))};"YXMxWwdD".split("").forEach(function(t){return g(d[t])});var y=!m(s)&&m(o),b=m(a),v=!b&&m(c);f=0,"PHhmsf".split("").forEach(function(t){return g(d[t])});var x=!m(l)&&m(h),w=(y?"YD":b?"XxwF":v?"XWF":"YMD")+(x?"Phmsf":"Hmsf"),A=this.environment.timestamp,S=!1,M=!1;if(w.split("").forEach(function(t){if(void 0===d[t])S?(d[t]=-1!=="MDd".indexOf(t)?1:0,M=!0):d[t]=T(A,t);else if(S=!0,M)throw{code:"D3136"}}),d.M>0?d.M-=1:d.M=0,y){var k=Date.UTC(d.Y,0),E=1e3*(d.d-1)*60*60*24,C=new Date(k+E);d.M=C.getUTCMonth(),d.D=C.getUTCDate()}if(b)throw{code:"D3136"};if(v)throw{code:"D3136"};x&&(d.H=12===d.h?0:d.h,1===d.P&&(d.H+=12));var P=Date.UTC(d.Y,d.M,d.D,d.H,d.m,d.s,d.f);return(d.Z||d.z)&&(P-=60*(d.Z||d.z)*1e3),P}}var j=new RegExp("^\\d{4}(-[01]\\d)*(-[0-3]\\d)*(T[0-2]\\d:[0-5]\\d:[0-5]\\d)*(\\.\\d+)?([+-][0-2]\\d:?[0-5]\\d|Z)?$");function R(t,e){if(void 0!==t){if(void 0===e){if(!j.test(t))throw{stack:(new Error).stack,code:"D3110",value:t};return Date.parse(t)}return z.call(this,t,e)}}function L(t,e,n){if(void 0!==t)return O.call(this,t,e,n)}return{formatInteger:g,parseInteger:I,fromMillis:L,toMillis:R}}();e.exports=i},{"./utils":6}],2:[function(t,e,n){(function(n){(function(){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function i(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */i=function(){return e};var t,e={},n=Object.prototype,s=n.hasOwnProperty,o=Object.defineProperty||function(t,e,n){t[e]=n.value},a="function"==typeof Symbol?Symbol:{},c=a.iterator||"@@iterator",l=a.asyncIterator||"@@asyncIterator",h=a.toStringTag||"@@toStringTag";function d(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},"")}catch(t){d=function(t,e,n){return t[e]=n}}function u(t,e,n,r){var i=e&&e.prototype instanceof v?e:v,s=Object.create(i.prototype),a=new D(r||[]);return o(s,"_invoke",{value:C(t,n,a)}),s}function p(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=u;var f="suspendedStart",g="suspendedYield",m="executing",y="completed",b={};function v(){}function x(){}function w(){}var _={};d(_,c,function(){return this});var A=Object.getPrototypeOf,S=A&&A(A(I([])));S&&S!==n&&s.call(S,c)&&(_=S);var M=w.prototype=v.prototype=Object.create(_);function k(t){["next","throw","return"].forEach(function(e){d(t,e,function(t){return this._invoke(e,t)})})}function E(t,e){function n(i,o,a,c){var l=p(t[i],t,o);if("throw"!==l.type){var h=l.arg,d=h.value;return d&&"object"==r(d)&&s.call(d,"__await")?e.resolve(d.__await).then(function(t){n("next",t,a,c)},function(t){n("throw",t,a,c)}):e.resolve(d).then(function(t){h.value=t,a(h)},function(t){return n("throw",t,a,c)})}c(l.arg)}var i;o(this,"_invoke",{value:function(t,r){function s(){return new e(function(e,i){n(t,r,e,i)})}return i=i?i.then(s,s):s()}})}function C(e,n,r){var i=f;return function(s,o){if(i===m)throw new Error("Generator is already running");if(i===y){if("throw"===s)throw o;return{value:t,done:!0}}for(r.method=s,r.arg=o;;){var a=r.delegate;if(a){var c=T(a,r);if(c){if(c===b)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=y,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=m;var l=p(e,n,r);if("normal"===l.type){if(i=r.done?y:g,l.arg===b)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(i=y,r.method="throw",r.arg=l.arg)}}}function T(e,n){var r=n.method,i=e.iterator[r];if(i===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),b;var s=p(i,e.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,b;var o=s.arg;return o?o.done?(n[e.resultName]=o.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,b):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,b)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function D(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function I(e){if(e||""===e){var n=e[c];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,o=function n(){for(;++i<e.length;)if(s.call(e,i))return n.value=e[i],n.done=!1,n;return n.value=t,n.done=!0,n};return o.next=o}}throw new TypeError(r(e)+" is not iterable")}return x.prototype=w,o(M,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:x,configurable:!0}),x.displayName=d(w,h,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,d(t,h,"GeneratorFunction")),t.prototype=Object.create(M),t},e.awrap=function(t){return{__await:t}},k(E.prototype),d(E.prototype,l,function(){return this}),e.AsyncIterator=E,e.async=function(t,n,r,i,s){void 0===s&&(s=Promise);var o=new E(u(t,n,r,i),s);return e.isGeneratorFunction(n)?o:o.next().then(function(t){return t.done?t.value:o.next()})},k(M),d(M,h,"Generator"),d(M,c,function(){return this}),d(M,"toString",function(){return"[object Generator]"}),e.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},e.values=I,D.prototype={constructor:D,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(O),!e)for(var n in this)"t"===n.charAt(0)&&s.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function r(r,i){return a.type="throw",a.arg=e,n.next=r,i&&(n.method="next",n.arg=t),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=s.call(o,"catchLoc"),l=s.call(o,"finallyLoc");if(c&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&s.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=t,o.arg=e,i?(this.method="next",this.next=i.finallyLoc,b):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),b},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),O(n),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:I(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),b}},e}var s=t("./utils"),o=function(){var t=i().mark(Y),e=i().mark(G),o=i().mark(V),a=i().mark(U),c=i().mark(Q),l=i().mark(ut),h=i().mark(pt),d=i().mark(ft),u=i().mark(mt),p=i().mark(St),f=i().mark(Ct),g=i().mark(Ot),m=s.isNumeric,y=s.isArrayOfStrings,b=s.isArrayOfNumbers,v=s.createSequence,x=s.isSequence,w=s.isFunction,_=s.isLambda,A=s.isIterable,S=s.getFunctionArity,M=s.isDeepEqual,k=s.stringToArray;function E(t){if(void 0!==t){var e=0;return t.forEach(function(t){e+=t}),e}}function C(t){return void 0===t?0:t.length}function T(t){if(void 0!==t&&0!==t.length)return Math.max.apply(Math,t)}function P(t){if(void 0!==t&&0!==t.length)return Math.min.apply(Math,t)}function O(t){if(void 0!==t&&0!==t.length){var e=0;return t.forEach(function(t){e+=t}),e/t.length}}function D(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(void 0!==t){var n;if("string"==typeof t)n=t;else if(w(t))n="";else{if("number"==typeof t&&!isFinite(t))throw{code:"D3001",value:t,stack:(new Error).stack};var r=e?2:0;Array.isArray(t)&&t.outerWrapper&&(t=t[0]),n=JSON.stringify(t,function(t,e){return null!=e&&e.toPrecision&&m(e)?Number(e.toPrecision(15)):e&&w(e)?"":e},r)}return n}}function I(t,e,n){if(void 0!==t){var r=k(t),i=r.length;if(i+e<0&&(e=0),void 0!==n){if(n<=0)return"";var s=e>=0?e+n:i+e+n;return r.slice(e,s).join("")}return r.slice(e).join("")}}function z(t,e){if(void 0!==t){var n=t.indexOf(e);return n>-1?t.substr(0,n):t}}function j(t,e){if(void 0!==t){var n=t.indexOf(e);return n>-1?t.substr(n+e.length):t}}function R(t){if(void 0!==t)return t.toLowerCase()}function L(t){if(void 0!==t)return t.toUpperCase()}function F(t){if(void 0!==t)return k(t).length}function N(t){if(void 0!==t){var e=t.replace(/[ \t\n\r]+/gm," ");return" "===e.charAt(0)&&(e=e.substring(1))," "===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e}}function B(t,e,n){if(void 0!==t){var r;void 0!==n&&0!==n.length||(n=" ");var i=Math.abs(e)-F(t);if(i>0){var s=new Array(i+1).join(n);n.length>1&&(s=I(s,0,i)),r=e>0?t+s:s+t}else r=t;return r}}function Y(e,n){var r;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.apply(this,[n]),!A(r)){t.next=4;break}return t.delegateYield(r,"t0",3);case 3:r=t.t0;case 4:if(!r||"number"==typeof r.start||"number"===r.end||Array.isArray(r.groups)||w(r.next)){t.next=6;break}throw{code:"T1010",stack:(new Error).stack};case 6:return t.abrupt("return",r);case 7:case"end":return t.stop()}},t,this)}function G(t,n){var r,s;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==t){e.next=2;break}return e.abrupt("return",void 0);case 2:if("string"!=typeof n){e.next=6;break}r=-1!==t.indexOf(n),e.next=9;break;case 6:return e.delegateYield(Y(n,t),"t0",7);case 7:s=e.t0,r=void 0!==s;case 9:return e.abrupt("return",r);case 10:case"end":return e.stop()}},e)}function V(t,e,n){var r,s,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!(n<0)){i.next=4;break}throw{stack:(new Error).stack,value:n,code:"D3040",index:3};case 4:if(r=v(),!(void 0===n||n>0)){i.next=17;break}return s=0,i.delegateYield(Y(e,t),"t0",8);case 8:if(void 0===(a=i.t0)){i.next=17;break}case 10:if(void 0===a||!(void 0===n||s<n)){i.next=17;break}return r.push({match:a.match,index:a.start,groups:a.groups}),i.delegateYield(Y(a.next),"t1",13);case 13:a=i.t1,s++,i.next=10;break;case 17:return i.abrupt("return",r);case 18:case"end":return i.stop()}},o)}function U(t,e,n,r){var s,o,c,l,h,d,u,p;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(s=this,""!==e){i.next=5;break}throw{code:"D3010",stack:(new Error).stack,value:e,index:2};case 5:if(!(r<0)){i.next=7;break}throw{code:"D3011",stack:(new Error).stack,value:r,index:4};case 7:if(o="string"==typeof n?function(t){for(var e="",r=0,i=n.indexOf("$",r);-1!==i&&r<n.length;){e+=n.substring(r,i),r=i+1;var s=n.charAt(r);if("$"===s)e+="$",r++;else if("0"===s)e+=t.match,r++;else{var o;if(o=0===t.groups.length?1:Math.floor(Math.log(t.groups.length)*Math.LOG10E)+1,i=parseInt(n.substring(r,r+o),10),o>1&&i>t.groups.length&&(i=parseInt(n.substring(r,r+o-1),10)),isNaN(i))e+="$";else{if(t.groups.length>0){var a=t.groups[i-1];void 0!==a&&(e+=a)}r+=i.toString().length}}i=n.indexOf("$",r)}return e+=n.substring(r)}:n,c="",l=0,!(void 0===r||r>0)){i.next=44;break}if(h=0,"string"!=typeof e){i.next=18;break}for(d=t.indexOf(e,l);-1!==d&&(void 0===r||h<r);)c+=t.substring(l,d),c+=n,l=d+e.length,h++,d=t.indexOf(e,l);c+=t.substring(l),i.next=42;break;case 18:return i.delegateYield(Y(e,t),"t0",19);case 19:if(void 0===(u=i.t0)){i.next=41;break}case 21:if(void 0===u||!(void 0===r||h<r)){i.next=38;break}if(c+=t.substring(l,u.start),p=o.apply(s,[u]),!A(p)){i.next=27;break}return i.delegateYield(p,"t1",26);case 26:p=i.t1;case 27:if("string"!=typeof p){i.next=31;break}c+=p,i.next=32;break;case 31:throw{code:"D3012",stack:(new Error).stack,value:p};case 32:return l=u.start+u.match.length,h++,i.delegateYield(Y(u.next),"t2",35);case 35:u=i.t2,i.next=21;break;case 38:c+=t.substring(l),i.next=42;break;case 41:c=t;case 42:i.next=45;break;case 44:c=t;case 45:return i.abrupt("return",c);case 46:case"end":return i.stop()}},a,this)}function H(t){if(void 0!==t){var e="undefined"!=typeof window?window.btoa:function(t){return new n.Buffer.from(t,"binary").toString("base64")};return e(t)}}function W(t){if(void 0!==t){var e="undefined"!=typeof window?window.atob:function(t){return new n.Buffer.from(t,"base64").toString("binary")};return e(t)}}function X(t){if(void 0!==t){var e;try{e=encodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrlComponent"}}return e}}function q(t){if(void 0!==t){var e;try{e=encodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrl"}}return e}}function K(t){if(void 0!==t){var e;try{e=decodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrlComponent"}}return e}}function $(t){if(void 0!==t){var e;try{e=decodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrl"}}return e}}function Q(t,e,n){var r,s,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!(n<0)){i.next=4;break}throw{code:"D3020",stack:(new Error).stack,value:n,index:3};case 4:if(r=[],!(void 0===n||n>0)){i.next=27;break}if("string"!=typeof e){i.next=10;break}r=t.split(e,n),i.next=27;break;case 10:return s=0,i.delegateYield(Y(e,t),"t0",12);case 12:if(void 0===(o=i.t0)){i.next=26;break}a=0;case 15:if(void 0===o||!(void 0===n||s<n)){i.next=23;break}return r.push(t.substring(a,o.start)),a=o.end,i.delegateYield(Y(o.next),"t1",19);case 19:o=i.t1,s++,i.next=15;break;case 23:(void 0===n||s<n)&&r.push(t.substring(a)),i.next=27;break;case 26:r.push(t);case 27:return i.abrupt("return",r);case 28:case"end":return i.stop()}},c)}function Z(t,e){if(void 0!==t)return void 0===e&&(e=""),t.join(e)}function J(t,e,n){if(void 0!==t){var r={"decimal-separator":".","grouping-separator":",","exponent-separator":"e",infinity:"Infinity","minus-sign":"-",NaN:"NaN",percent:"%","per-mille":"‰","zero-digit":"0",digit:"#","pattern-separator":";"};void 0!==n&&Object.keys(n).forEach(function(t){r[t]=n[t]});for(var i=[],s=r["zero-digit"].charCodeAt(0),o=s;o<s+10;o++)i.push(String.fromCharCode(o));var a=i.concat([r["decimal-separator"],r["exponent-separator"],r["grouping-separator"],r.digit,r["pattern-separator"]]),c=e.split(r["pattern-separator"]);if(c.length>2)throw{code:"D3080",stack:(new Error).stack};var l=function(t){var e,n,i,s,o=function(){for(var e,n=0;n<t.length;n++)if(e=t.charAt(n),-1!==a.indexOf(e)&&e!==r["exponent-separator"])return t.substring(0,n)}(),c=function(){for(var e,n=t.length-1;n>=0;n--)if(e=t.charAt(n),-1!==a.indexOf(e)&&e!==r["exponent-separator"])return t.substring(n+1)}(),l=t.substring(o.length,t.length-c.length),h=t.indexOf(r["exponent-separator"],o.length);-1===h||h>t.length-c.length?(e=l,n=void 0):(e=l.substring(0,h),n=l.substring(h+1));var d=e.indexOf(r["decimal-separator"]);return-1===d?(i=e,s=c):(i=e.substring(0,d),s=e.substring(d+1)),{prefix:o,suffix:c,activePart:l,mantissaPart:e,exponentPart:n,integerPart:i,fractionalPart:s,subpicture:t}},h=function(t){var e,n,s=t.subpicture,o=s.indexOf(r["decimal-separator"]);o!==s.lastIndexOf(r["decimal-separator"])&&(e="D3081"),s.indexOf(r.percent)!==s.lastIndexOf(r.percent)&&(e="D3082"),s.indexOf(r["per-mille"])!==s.lastIndexOf(r["per-mille"])&&(e="D3083"),-1!==s.indexOf(r.percent)&&-1!==s.indexOf(r["per-mille"])&&(e="D3084");var c=!1;for(n=0;n<t.mantissaPart.length;n++){var l=t.mantissaPart.charAt(n);if(-1!==i.indexOf(l)||l===r.digit){c=!0;break}}c||(e="D3085"),-1!==t.activePart.split("").map(function(t){return-1===a.indexOf(t)?"p":"a"}).join("").indexOf("p")&&(e="D3086"),-1!==o?s.charAt(o-1)!==r["grouping-separator"]&&s.charAt(o+1)!==r["grouping-separator"]||(e="D3087"):t.integerPart.charAt(t.integerPart.length-1)===r["grouping-separator"]&&(e="D3088"),-1!==s.indexOf(r["grouping-separator"]+r["grouping-separator"])&&(e="D3089");var h=t.integerPart.indexOf(r.digit);-1!==h&&t.integerPart.substring(0,h).split("").filter(function(t){return i.indexOf(t)>-1}).length>0&&(e="D3090"),-1!==(h=t.fractionalPart.lastIndexOf(r.digit))&&t.fractionalPart.substring(h).split("").filter(function(t){return i.indexOf(t)>-1}).length>0&&(e="D3091");var d="string"==typeof t.exponentPart;if(d&&t.exponentPart.length>0&&(-1!==s.indexOf(r.percent)||-1!==s.indexOf(r["per-mille"]))&&(e="D3092"),d&&(0===t.exponentPart.length||t.exponentPart.split("").filter(function(t){return-1===i.indexOf(t)}).length>0)&&(e="D3093"),e)throw{code:e,stack:(new Error).stack}},d=function(t){var e=function(e,n){for(var s=[],o=e.indexOf(r["grouping-separator"]);-1!==o;){var a=(n?e.substring(0,o):e.substring(o)).split("").filter(function(t){return-1!==i.indexOf(t)||t===r.digit}).length;s.push(a),o=t.integerPart.indexOf(r["grouping-separator"],o+1)}return s},n=e(t.integerPart),s=function(t){if(0===t.length)return 0;for(var e=function t(e,n){return 0===n?e:t(n,e%n)},n=t.reduce(e),r=1;r<=t.length;r++)if(-1===t.indexOf(r*n))return 0;return n}(n),o=e(t.fractionalPart,!0),a=t.integerPart.split("").filter(function(t){return-1!==i.indexOf(t)}).length,c=a,l=t.fractionalPart.split(""),h=l.filter(function(t){return-1!==i.indexOf(t)}).length,d=l.filter(function(t){return-1!==i.indexOf(t)||t===r.digit}).length,u="string"==typeof t.exponentPart;0===a&&0===d&&(u?(h=1,d=1):a=1),u&&0===a&&-1!==t.integerPart.indexOf(r.digit)&&(a=1),0===a&&0===h&&(h=1);var p=0;return u&&(p=t.exponentPart.split("").filter(function(t){return-1!==i.indexOf(t)}).length),{integerPartGroupingPositions:n,regularGrouping:s,minimumIntegerPartSize:a,scalingFactor:c,prefix:t.prefix,fractionalPartGroupingPositions:o,minimumFactionalPartSize:h,maximumFactionalPartSize:d,minimumExponentSize:p,suffix:t.suffix,picture:t.subpicture}},u=c.map(l);u.forEach(h);var p,f,g,m,y=u.map(d),b=r["minus-sign"],v=r["zero-digit"],x=r["decimal-separator"],w=r["grouping-separator"];if(1===y.length&&(y.push(JSON.parse(JSON.stringify(y[0]))),y[1].prefix=b+y[1].prefix),f=-1!==(p=t>=0?y[0]:y[1]).picture.indexOf(r.percent)?100*t:-1!==p.picture.indexOf(r["per-mille"])?1e3*t:t,0===p.minimumExponentSize)g=f;else{var _=Math.pow(10,p.scalingFactor),A=Math.pow(10,p.scalingFactor-1);for(g=f,m=0;g<A;)g*=10,m-=1;for(;g>_;)g/=10,m+=1}var S=function(t,e){var n=Math.abs(t).toFixed(e);return"0"!==v&&(n=n.split("").map(function(t){return t>="0"&&t<="9"?i[t.charCodeAt(0)-48]:t}).join("")),n},M=S(st(g,p.maximumFactionalPartSize),p.maximumFactionalPartSize),k=M.indexOf(".");for(-1===k?M+=x:M=M.replace(".",x);M.charAt(0)===v;)M=M.substring(1);for(;M.charAt(M.length-1)===v;)M=M.substring(0,M.length-1);k=M.indexOf(x);var E=p.minimumIntegerPartSize-k,C=p.minimumFactionalPartSize-(M.length-k-1);if(M=(E>0?new Array(E+1).join(v):"")+M,M+=C>0?new Array(C+1).join(v):"",k=M.indexOf(x),p.regularGrouping>0)for(var T=Math.floor((k-1)/p.regularGrouping),P=1;P<=T;P++)M=[M.slice(0,k-P*p.regularGrouping),w,M.slice(k-P*p.regularGrouping)].join("");else p.integerPartGroupingPositions.forEach(function(t){M=[M.slice(0,k-t),w,M.slice(k-t)].join(""),k++});if(k=M.indexOf(x),p.fractionalPartGroupingPositions.forEach(function(t){M=[M.slice(0,t+k+1),w,M.slice(t+k+1)].join("")}),k=M.indexOf(x),-1!==p.picture.indexOf(x)&&k!==M.length-1||(M=M.substring(0,M.length-1)),void 0!==m){var O=S(m,0);(E=p.minimumExponentSize-O.length)>0&&(O=new Array(E+1).join(v)+O),M=M+r["exponent-separator"]+(m<0?b:"")+O}return M=p.prefix+M+p.suffix}}function tt(t,e){if(void 0!==t){if(t=st(t),(e=void 0===e?10:st(e))<2||e>36)throw{code:"D3100",stack:(new Error).stack,value:e};return t.toString(e)}}function et(t){var e;if(void 0!==t){if("number"==typeof t)e=t;else if("string"==typeof t&&/^-?[0-9]+(\.[0-9]+)?([Ee][-+]?[0-9]+)?$/.test(t)&&!isNaN(parseFloat(t))&&isFinite(t))e=parseFloat(t);else if(!0===t)e=1;else{if(!1!==t)throw{code:"D3030",value:t,stack:(new Error).stack,index:1};e=0}return e}}function nt(t){if(void 0!==t)return Math.abs(t)}function rt(t){if(void 0!==t)return Math.floor(t)}function it(t){if(void 0!==t)return Math.ceil(t)}function st(t,e){var n;if(void 0!==t){if(e){var r=t.toString().split("e");t=+(r[0]+"e"+(r[1]?+r[1]+e:e))}var i=(n=Math.round(t))-t;return.5===Math.abs(i)&&1===Math.abs(n%2)&&(n-=1),e&&(r=n.toString().split("e"),n=+(r[0]+"e"+(r[1]?+r[1]-e:-e))),Object.is(n,-0)&&(n=0),n}}function ot(t){if(void 0!==t){if(t<0)throw{stack:(new Error).stack,code:"D3060",index:1,value:t};return Math.sqrt(t)}}function at(t,e){var n;if(void 0!==t){if(n=Math.pow(t,e),!isFinite(n))throw{stack:(new Error).stack,code:"D3061",index:1,value:t,exp:e};return n}}function ct(){return Math.random()}function lt(t){if(void 0!==t){var e=!1;return Array.isArray(t)?1===t.length?e=lt(t[0]):t.length>1&&(e=t.filter(function(t){return lt(t)}).length>0):"string"==typeof t?t.length>0&&(e=!0):m(t)?0!==t&&(e=!0):null!==t&&"object"===r(t)?Object.keys(t).length>0&&(e=!0):"boolean"==typeof t&&!0===t&&(e=!0),e}}function ht(t){if(void 0!==t)return!lt(t)}function dt(t,e,n,r){var i=[e],s=S(t);return s>=2&&i.push(n),s>=3&&i.push(r),i}function ut(t,e){var n,r,s,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:n=v(),r=0;case 4:if(!(r<t.length)){i.next=12;break}return s=dt(e,t[r],r,t),i.delegateYield(e.apply(this,s),"t0",7);case 7:void 0!==(o=i.t0)&&n.push(o);case 9:r++,i.next=4;break;case 12:return i.abrupt("return",n);case 13:case"end":return i.stop()}},l,this)}function pt(t,e){var n,r,s,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:n=v(),r=0;case 4:if(!(r<t.length)){i.next=13;break}return s=t[r],o=dt(e,s,r,t),i.delegateYield(e.apply(this,o),"t0",8);case 8:lt(i.t0)&&n.push(s);case 10:r++,i.next=4;break;case 13:return i.abrupt("return",n);case 14:case"end":return i.stop()}},h,this)}function ft(t,e){var n,r,s,o,a,c,l;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:n=!1,s=0;case 4:if(!(s<t.length)){i.next=22;break}if(o=t[s],a=!0,void 0===e){i.next=12;break}return c=dt(e,o,s,t),i.delegateYield(e.apply(this,c),"t0",10);case 10:l=i.t0,a=lt(l);case 12:if(!a){i.next=19;break}if(n){i.next=18;break}r=o,n=!0,i.next=19;break;case 18:throw{stack:(new Error).stack,code:"D3138",index:s};case 19:s++,i.next=4;break;case 22:if(n){i.next=24;break}throw{stack:(new Error).stack,code:"D3139"};case 24:return i.abrupt("return",r);case 25:case"end":return i.stop()}},d,this)}function gt(){for(var t=[],e=Array.prototype.slice.call(arguments),n=Math.min.apply(Math,e.map(function(t){return Array.isArray(t)?t.length:0})),r=0;r<n;r++){var i=e.map(function(t){return t[r]});t.push(i)}return t}function mt(t,e,n){var r,s,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!((s=S(e))<2)){i.next=5;break}throw{stack:(new Error).stack,code:"D3050",index:1};case 5:void 0===n&&t.length>0?(r=t[0],o=1):(r=n,o=0);case 6:if(!(o<t.length)){i.next=15;break}return a=[r,t[o]],s>=3&&a.push(o),s>=4&&a.push(t),i.delegateYield(e.apply(this,a),"t0",11);case 11:r=i.t0,o++,i.next=6;break;case 15:return i.abrupt("return",r);case 16:case"end":return i.stop()}},u,this)}function yt(t){var e=v();if(Array.isArray(t)){var n={};t.forEach(function(t){yt(t).forEach(function(t){n[t]=!0})}),e=yt(n)}else null===t||"object"!==r(t)||_(t)||Object.keys(t).forEach(function(t){return e.push(t)});return e}function bt(t,e){var n;if(Array.isArray(t)){n=v();for(var i=0;i<t.length;i++){var s=bt(t[i],e);void 0!==s&&(Array.isArray(s)?s.forEach(function(t){return n.push(t)}):n.push(s))}}else null!==t&&"object"===r(t)&&(n=t[e]);return n}function vt(t,e){return void 0===t?e:void 0===e?t:(Array.isArray(t)||(t=v(t)),Array.isArray(e)||(e=[e]),t.concat(e))}function xt(t){return void 0!==t}function wt(t){var e=v();if(Array.isArray(t))t.forEach(function(t){e=vt(e,wt(t))});else if(null===t||"object"!==r(t)||_(t))e=t;else for(var n in t){var i={};i[n]=t[n],e.push(i)}return e}function _t(t){if(void 0!==t){var e={};return t.forEach(function(t){for(var n in t)e[n]=t[n]}),e}}function At(t){if(void 0!==t){if(t.length<=1)return t;for(var e=t.length,n=new Array(e),r=0;r<e;r++)n[e-r-1]=t[r];return n}}function St(t,e){var n,r,s,o;return i().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:n=v(),a.t0=i().keys(t);case 2:if((a.t1=a.t0()).done){a.next=10;break}return r=a.t1.value,s=dt(e,t[r],r,t),a.delegateYield(e.apply(this,s),"t2",6);case 6:void 0!==(o=a.t2)&&n.push(o),a.next=2;break;case 10:return a.abrupt("return",n);case 11:case"end":return a.stop()}},p,this)}function Mt(t){throw{code:"D3137",stack:(new Error).stack,message:t||"$error() function evaluated"}}function kt(t,e){if(!t)throw{code:"D3141",stack:(new Error).stack,message:e||"$assert() statement failed"}}function Et(t){if(void 0!==t)return null===t?"null":m(t)?"number":"string"==typeof t?"string":"boolean"==typeof t?"boolean":Array.isArray(t)?"array":w(t)?"function":"object"}function Ct(t,e){var n,r,s,o;return i().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(void 0!==t){a.next=2;break}return a.abrupt("return",void 0);case 2:if(!(t.length<=1)){a.next=4;break}return a.abrupt("return",t);case 4:if(void 0!==e){a.next=10;break}if(b(t)||y(t)){a.next=7;break}throw{stack:(new Error).stack,code:"D3070",index:1};case 7:n=i().mark(function t(e,n){return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e>n);case 1:case"end":return t.stop()}},t)}),a.next=11;break;case 10:n=e;case 11:return r=i().mark(function t(e,r){var s,o;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return s=i().mark(function t(e,r,s){return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(0!==r.length){i.next=4;break}Array.prototype.push.apply(e,s),i.next=16;break;case 4:if(0!==s.length){i.next=8;break}Array.prototype.push.apply(e,r),i.next=16;break;case 8:return i.delegateYield(n(r[0],s[0]),"t0",9);case 9:if(!i.t0){i.next=14;break}return e.push(s[0]),i.delegateYield(t(e,r,s.slice(1)),"t1",12);case 12:i.next=16;break;case 14:return e.push(r[0]),i.delegateYield(t(e,r.slice(1),s),"t2",16);case 16:case"end":return i.stop()}},t)}),o=[],t.delegateYield(s(o,e,r),"t0",3);case 3:return t.abrupt("return",o);case 4:case"end":return t.stop()}},t)}),s=i().mark(function t(e){var n,s,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(Array.isArray(e)&&!(e.length<=1)){i.next=4;break}return i.abrupt("return",e);case 4:return n=Math.floor(e.length/2),s=e.slice(0,n),o=e.slice(n),i.delegateYield(t(s),"t0",8);case 8:return s=i.t0,i.delegateYield(t(o),"t1",10);case 10:return o=i.t1,i.delegateYield(r(s,o),"t2",12);case 12:return i.abrupt("return",i.t2);case 13:case"end":return i.stop()}},t)}),a.delegateYield(s(t),"t0",14);case 14:return o=a.t0,a.abrupt("return",o);case 16:case"end":return a.stop()}},f)}function Tt(t){if(void 0!==t){if(t.length<=1)return t;for(var e=new Array(t.length),n=0;n<t.length;n++){var r=Math.floor(Math.random()*(n+1));n!==r&&(e[n]=e[r]),e[r]=t[n]}return e}}function Pt(t){if(void 0!==t){if(!Array.isArray(t)||t.length<=1)return t;for(var e=x(t)?v():[],n=0;n<t.length;n++){for(var r=t[n],i=!1,s=0;s<e.length;s++)if(M(r,e[s])){i=!0;break}i||e.push(r)}return e}}function Ot(t,e){var n,r,s,o;return i().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:n={},a.t0=i().keys(t);case 2:if((a.t1=a.t0()).done){a.next=11;break}return r=a.t1.value,s=t[r],o=dt(e,s,r,t),a.delegateYield(e.apply(this,o),"t2",7);case 7:lt(a.t2)&&(n[r]=s),a.next=2;break;case 11:return 0===Object.keys(n).length&&(n=void 0),a.abrupt("return",n);case 13:case"end":return a.stop()}},g,this)}return{sum:E,count:C,max:T,min:P,average:O,string:D,substring:I,substringBefore:z,substringAfter:j,lowercase:R,uppercase:L,length:F,trim:N,pad:B,match:V,contains:G,replace:U,split:Q,join:Z,formatNumber:J,formatBase:tt,number:et,floor:rt,ceil:it,round:st,abs:nt,sqrt:ot,power:at,random:ct,boolean:lt,not:ht,map:ut,zip:gt,filter:pt,single:ft,foldLeft:mt,sift:Ot,keys:yt,lookup:bt,append:vt,exists:xt,spread:wt,merge:_t,reverse:At,each:St,error:Mt,assert:kt,type:Et,sort:Ct,shuffle:Tt,distinct:Pt,base64encode:H,base64decode:W,encodeUrlComponent:X,encodeUrl:q,decodeUrlComponent:K,decodeUrl:$}}();e.exports=o}).call(this)}).call(this,void 0!==$r?$r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils":6}],3:[function(t,e,n){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function i(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */i=function(){return e};var t,e={},n=Object.prototype,s=n.hasOwnProperty,o=Object.defineProperty||function(t,e,n){t[e]=n.value},a="function"==typeof Symbol?Symbol:{},c=a.iterator||"@@iterator",l=a.asyncIterator||"@@asyncIterator",h=a.toStringTag||"@@toStringTag";function d(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},"")}catch(t){d=function(t,e,n){return t[e]=n}}function u(t,e,n,r){var i=e&&e.prototype instanceof v?e:v,s=Object.create(i.prototype),a=new D(r||[]);return o(s,"_invoke",{value:C(t,n,a)}),s}function p(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=u;var f="suspendedStart",g="suspendedYield",m="executing",y="completed",b={};function v(){}function x(){}function w(){}var _={};d(_,c,function(){return this});var A=Object.getPrototypeOf,S=A&&A(A(I([])));S&&S!==n&&s.call(S,c)&&(_=S);var M=w.prototype=v.prototype=Object.create(_);function k(t){["next","throw","return"].forEach(function(e){d(t,e,function(t){return this._invoke(e,t)})})}function E(t,e){function n(i,o,a,c){var l=p(t[i],t,o);if("throw"!==l.type){var h=l.arg,d=h.value;return d&&"object"==r(d)&&s.call(d,"__await")?e.resolve(d.__await).then(function(t){n("next",t,a,c)},function(t){n("throw",t,a,c)}):e.resolve(d).then(function(t){h.value=t,a(h)},function(t){return n("throw",t,a,c)})}c(l.arg)}var i;o(this,"_invoke",{value:function(t,r){function s(){return new e(function(e,i){n(t,r,e,i)})}return i=i?i.then(s,s):s()}})}function C(e,n,r){var i=f;return function(s,o){if(i===m)throw new Error("Generator is already running");if(i===y){if("throw"===s)throw o;return{value:t,done:!0}}for(r.method=s,r.arg=o;;){var a=r.delegate;if(a){var c=T(a,r);if(c){if(c===b)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=y,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=m;var l=p(e,n,r);if("normal"===l.type){if(i=r.done?y:g,l.arg===b)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(i=y,r.method="throw",r.arg=l.arg)}}}function T(e,n){var r=n.method,i=e.iterator[r];if(i===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),b;var s=p(i,e.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,b;var o=s.arg;return o?o.done?(n[e.resultName]=o.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,b):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,b)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function D(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function I(e){if(e||""===e){var n=e[c];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,o=function n(){for(;++i<e.length;)if(s.call(e,i))return n.value=e[i],n.done=!1,n;return n.value=t,n.done=!0,n};return o.next=o}}throw new TypeError(r(e)+" is not iterable")}return x.prototype=w,o(M,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:x,configurable:!0}),x.displayName=d(w,h,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,d(t,h,"GeneratorFunction")),t.prototype=Object.create(M),t},e.awrap=function(t){return{__await:t}},k(E.prototype),d(E.prototype,l,function(){return this}),e.AsyncIterator=E,e.async=function(t,n,r,i,s){void 0===s&&(s=Promise);var o=new E(u(t,n,r,i),s);return e.isGeneratorFunction(n)?o:o.next().then(function(t){return t.done?t.value:o.next()})},k(M),d(M,h,"Generator"),d(M,c,function(){return this}),d(M,"toString",function(){return"[object Generator]"}),e.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},e.values=I,D.prototype={constructor:D,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(O),!e)for(var n in this)"t"===n.charAt(0)&&s.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function r(r,i){return a.type="throw",a.arg=e,n.next=r,i&&(n.method="next",n.arg=t),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=s.call(o,"catchLoc"),l=s.call(o,"finallyLoc");if(c&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&s.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=t,o.arg=e,i?(this.method="next",this.next=i.finallyLoc,b):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),b},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),O(n),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:I(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),b}},e}var s=t("./datetime"),o=t("./functions"),a=t("./utils"),c=t("./parser"),l=t("./signature"),h=function(){var t=i().mark(B),e=i().mark(Y),n=i().mark(V),h=i().mark(U),d=i().mark(H),u=i().mark(W),p=i().mark(X),f=i().mark(q),g=i().mark(st),m=i().mark(ct),y=i().mark(dt),b=i().mark(ut),v=i().mark(pt),x=i().mark(mt),w=i().mark(vt),_=i().mark(xt),A=i().mark(wt),S=i().mark(_t),M=i().mark(St),k=i().mark(kt),E=i().mark(Tt),C=i().mark(Dt),T=a.isNumeric,P=a.isArrayOfStrings,O=a.isArrayOfNumbers,D=a.createSequence,I=a.isSequence,z=a.isFunction,j=a.isLambda,R=a.isIterable,L=a.getFunctionArity,F=a.isDeepEqual,N=zt(null);function B(e,n,r){var s,o,a,c;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:(o=r.lookup("__evaluate_entry"))&&o(e,n,r),t.t0=e.type,t.next="path"===t.t0?5:"binary"===t.t0?8:"unary"===t.t0?11:"name"===t.t0?14:"string"===t.t0||"number"===t.t0||"value"===t.t0?16:"wildcard"===t.t0?18:"descendant"===t.t0?20:"parent"===t.t0?22:"condition"===t.t0?24:"block"===t.t0?27:"bind"===t.t0?30:"regex"===t.t0?33:"function"===t.t0?35:"variable"===t.t0?38:"lambda"===t.t0?40:"partial"===t.t0?42:"apply"===t.t0?45:"transform"===t.t0?48:50;break;case 5:return t.delegateYield(Y(e,n,r),"t1",6);case 6:return s=t.t1,t.abrupt("break",50);case 8:return t.delegateYield(X(e,n,r),"t2",9);case 9:return s=t.t2,t.abrupt("break",50);case 11:return t.delegateYield(q(e,n,r),"t3",12);case 12:return s=t.t3,t.abrupt("break",50);case 14:return s=K(e,n),t.abrupt("break",50);case 16:return s=$(e),t.abrupt("break",50);case 18:return s=Q(e,n),t.abrupt("break",50);case 20:return s=J(e,n),t.abrupt("break",50);case 22:return s=r.lookup(e.slot.label),t.abrupt("break",50);case 24:return t.delegateYield(ut(e,n,r),"t4",25);case 25:return s=t.t4,t.abrupt("break",50);case 27:return t.delegateYield(pt(e,n,r),"t5",28);case 28:return s=t.t5,t.abrupt("break",50);case 30:return t.delegateYield(dt(e,n,r),"t6",31);case 31:return s=t.t6,t.abrupt("break",50);case 33:return s=ft(e),t.abrupt("break",50);case 35:return t.delegateYield(xt(e,n,r),"t7",36);case 36:return s=t.t7,t.abrupt("break",50);case 38:return s=gt(e,n,r),t.abrupt("break",50);case 40:return s=At(e,n,r),t.abrupt("break",50);case 42:return t.delegateYield(St(e,n,r),"t8",43);case 43:return s=t.t8,t.abrupt("break",50);case 45:return t.delegateYield(vt(e,n,r),"t9",46);case 46:return s=t.t9,t.abrupt("break",50);case 48:return s=yt(e,n,r),t.abrupt("break",50);case 50:if(!r.async||null!=s&&"function"==typeof s.then||(s=Promise.resolve(s)),!r.async||"function"!=typeof s.then||!e.nextFunction||"function"!=typeof s[e.nextFunction]){t.next=54;break}t.next=57;break;case 54:return t.next=56,s;case 56:s=t.sent;case 57:if(!Object.prototype.hasOwnProperty.call(e,"predicate")){t.next=65;break}a=0;case 59:if(!(a<e.predicate.length)){t.next=65;break}return t.delegateYield(W(e.predicate[a].expr,s,r),"t10",61);case 61:s=t.t10;case 62:a++,t.next=59;break;case 65:if("path"===e.type||!Object.prototype.hasOwnProperty.call(e,"group")){t.next=68;break}return t.delegateYield(ct(e.group,s,r),"t11",67);case 67:s=t.t11;case 68:return(c=r.lookup("__evaluate_exit"))&&c(e,n,r,s),s&&I(s)&&!s.tupleStream&&(e.keepArray&&(s.keepSingleton=!0),0===s.length?s=void 0:1===s.length&&(s=s.keepSingleton?s:s[0])),t.abrupt("return",s);case 72:case"end":return t.stop()}},t)}function Y(t,n,r){var s,o,a,c,l,h;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:s=Array.isArray(n)&&"variable"!==t.steps[0].type?n:D(n),a=!1,c=void 0,l=0;case 4:if(!(l<t.steps.length)){e.next=25;break}if((h=t.steps[l]).tuple&&(a=!0),0!==l||!h.consarray){e.next=12;break}return e.delegateYield(B(h,s,r),"t0",9);case 9:o=e.t0,e.next=19;break;case 12:if(!a){e.next=17;break}return e.delegateYield(H(h,s,c,r),"t1",14);case 14:c=e.t1,e.next=19;break;case 17:return e.delegateYield(V(h,s,r,l===t.steps.length-1),"t2",18);case 18:o=e.t2;case 19:if(a||void 0!==o&&0!==o.length){e.next=21;break}return e.abrupt("break",25);case 21:void 0===h.focus&&(s=o);case 22:l++,e.next=4;break;case 25:if(a)if(t.tuple)o=c;else for(o=D(),l=0;l<c.length;l++)o.push(c[l]["@"]);if(t.keepSingletonArray&&(Array.isArray(o)&&o.cons&&!o.sequence&&(o=D(o)),o.keepSingleton=!0),!t.hasOwnProperty("group")){e.next=30;break}return e.delegateYield(ct(t.group,a?c:o,r),"t3",29);case 29:o=e.t3;case 30:return e.abrupt("return",o);case 31:case"end":return e.stop()}},e)}function G(t,e){var n=zt(t);for(var r in e)n.bind(r,e[r]);return n}function V(t,e,r,s){var o,a,c,l,h;return i().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if("sort"!==t.type){n.next=7;break}return n.delegateYield(mt(t,e,r),"t0",2);case 2:if(o=n.t0,!t.stages){n.next=6;break}return n.delegateYield(U(t.stages,o,r),"t1",5);case 5:o=n.t1;case 6:return n.abrupt("return",o);case 7:o=D(),a=0;case 9:if(!(a<e.length)){n.next=24;break}return n.delegateYield(B(t,e[a],r),"t2",11);case 11:if(c=n.t2,!t.stages){n.next=20;break}l=0;case 14:if(!(l<t.stages.length)){n.next=20;break}return n.delegateYield(W(t.stages[l].expr,c,r),"t3",16);case 16:c=n.t3;case 17:l++,n.next=14;break;case 20:void 0!==c&&o.push(c);case 21:a++,n.next=9;break;case 24:return h=D(),s&&1===o.length&&Array.isArray(o[0])&&!I(o[0])?h=o[0]:o.forEach(function(t){!Array.isArray(t)||t.cons?h.push(t):t.forEach(function(t){return h.push(t)})}),n.abrupt("return",h);case 27:case"end":return n.stop()}},n)}function U(t,e,n){var r,s,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:r=e,s=0;case 2:if(!(s<t.length)){i.next=15;break}o=t[s],i.t0=o.type,i.next="filter"===i.t0?7:"index"===i.t0?10:12;break;case 7:return i.delegateYield(W(o.expr,r,n),"t1",8);case 8:return r=i.t1,i.abrupt("break",12);case 10:for(a=0;a<r.length;a++)r[a][o.value]=a;return i.abrupt("break",12);case 12:s++,i.next=2;break;case 15:return i.abrupt("return",r);case 16:case"end":return i.stop()}},h)}function H(t,e,n,r){var s,o,a,c,l,h,u,p;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if("sort"!==t.type){i.next=15;break}if(!n){i.next=6;break}return i.delegateYield(mt(t,n,r),"t0",3);case 3:s=i.t0,i.next=11;break;case 6:return i.delegateYield(mt(t,e,r),"t1",7);case 7:for(o=i.t1,(s=D()).tupleStream=!0,a=0;a<o.length;a++)(c={"@":o[a]})[t.index]=a,s.push(c);case 11:if(!t.stages){i.next=14;break}return i.delegateYield(U(t.stages,s,r),"t2",13);case 13:s=i.t2;case 14:return i.abrupt("return",s);case 15:(s=D()).tupleStream=!0,l=r,void 0===n&&(n=e.map(function(t){return{"@":t}})),h=0;case 20:if(!(h<n.length)){i.next=28;break}return l=G(r,n[h]),i.delegateYield(B(t,n[h]["@"],l),"t3",23);case 23:if(void 0!==(u=i.t3))for(Array.isArray(u)||(u=[u]),p=0;p<u.length;p++)c={},Object.assign(c,n[h]),u.tupleStream?Object.assign(c,u[p]):(t.focus?(c[t.focus]=u[p],c["@"]=n[h]["@"]):c["@"]=u[p],t.index&&(c[t.index]=p),t.ancestor&&(c[t.ancestor.label]=n[h]["@"])),s.push(c);case 25:h++,i.next=20;break;case 28:if(!t.stages){i.next=31;break}return i.delegateYield(U(t.stages,s,r),"t4",30);case 30:s=i.t4;case 31:return i.abrupt("return",s);case 32:case"end":return i.stop()}},d)}function W(t,e,n){var r,s,a,c,l,h;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(r=D(),e&&e.tupleStream&&(r.tupleStream=!0),Array.isArray(e)||(e=D(e)),"number"!==t.type){i.next=10;break}(s=Math.floor(t.value))<0&&(s=e.length+s),void 0!==(a=e[s])&&(Array.isArray(a)?r=a:r.push(a)),i.next=23;break;case 10:s=0;case 11:if(!(s<e.length)){i.next=23;break}return a=e[s],c=a,l=n,e.tupleStream&&(c=a["@"],l=G(n,a)),i.delegateYield(B(t,c,l),"t0",17);case 17:h=i.t0,T(h)&&(h=[h]),O(h)?h.forEach(function(t){var n=Math.floor(t);n<0&&(n=e.length+n),n===s&&r.push(a)}):o.boolean(h)&&r.push(a);case 20:s++,i.next=11;break;case 23:return i.abrupt("return",r);case 24:case"end":return i.stop()}},u)}function X(t,e,n){var r,s,o,a,c;return i().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return l.delegateYield(B(t.lhs,e,n),"t0",1);case 1:if(s=l.t0,o=t.value,a=i().mark(function r(){return i().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(B(t.rhs,e,n),"t0",1);case 1:return r.abrupt("return",r.t0);case 2:case"end":return r.stop()}},r)}),"and"!==o&&"or"!==o){l.next=15;break}return l.prev=5,l.delegateYield(st(s,a,o),"t1",7);case 7:return l.abrupt("return",l.t1);case 10:throw l.prev=10,l.t2=l.catch(5),l.t2.position=t.position,l.t2.token=o,l.t2;case 15:return l.delegateYield(a(),"t3",16);case 16:c=l.t3,l.prev=17,l.t4=o,l.next="+"===l.t4||"-"===l.t4||"*"===l.t4||"/"===l.t4||"%"===l.t4?21:"="===l.t4||"!="===l.t4?23:"<"===l.t4||"<="===l.t4||">"===l.t4||">="===l.t4?25:"&"===l.t4?27:".."===l.t4?29:"in"===l.t4?31:33;break;case 21:return r=et(s,c,o),l.abrupt("break",33);case 23:return r=nt(s,c,o),l.abrupt("break",33);case 25:return r=rt(s,c,o),l.abrupt("break",33);case 27:return r=at(s,c),l.abrupt("break",33);case 29:return r=ht(s,c),l.abrupt("break",33);case 31:return r=it(s,c),l.abrupt("break",33);case 33:l.next=40;break;case 35:throw l.prev=35,l.t5=l.catch(17),l.t5.position=t.position,l.t5.token=o,l.t5;case 40:return l.abrupt("return",r);case 41:case"end":return l.stop()}},p,null,[[5,10],[17,35]])}function q(t,e,n){var r,s,a,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:i.t0=t.value,i.next="-"===i.t0?3:"["===i.t0?15:"{"===i.t0?27:30;break;case 3:return i.delegateYield(B(t.expression,e,n),"t1",4);case 4:if(void 0!==(r=i.t1)){i.next=9;break}r=void 0,i.next=14;break;case 9:if(!T(r)){i.next=13;break}r=-r,i.next=14;break;case 13:throw{code:"D1002",stack:(new Error).stack,position:t.position,token:t.value,value:r};case 14:return i.abrupt("break",30);case 15:r=[],s=0;case 17:if(!(s<t.expressions.length)){i.next=25;break}return a=t.expressions[s],i.delegateYield(B(a,e,n),"t2",20);case 20:void 0!==(c=i.t2)&&("["===a.value?r.push(c):r=o.append(r,c));case 22:s++,i.next=17;break;case 25:return t.consarray&&Object.defineProperty(r,"cons",{enumerable:!1,configurable:!1,value:!0}),i.abrupt("break",30);case 27:return i.delegateYield(ct(t,e,n),"t3",28);case 28:return r=i.t3,i.abrupt("break",30);case 30:return i.abrupt("return",r);case 31:case"end":return i.stop()}},f)}function K(t,e,n){return o.lookup(e,t.value)}function $(t){return t.value}function Q(t,e){var n=D();return Array.isArray(e)&&e.outerWrapper&&e.length>0&&(e=e[0]),null!==e&&"object"===r(e)&&Object.keys(e).forEach(function(t){var r=e[t];Array.isArray(r)?(r=Z(r),n=o.append(n,r)):n.push(r)}),n}function Z(t,e){return void 0===e&&(e=[]),Array.isArray(t)?t.forEach(function(t){Z(t,e)}):e.push(t),e}function J(t,e){var n,r=D();return void 0!==e&&(tt(e,r),n=1===r.length?r[0]:r),n}function tt(t,e){Array.isArray(t)||e.push(t),Array.isArray(t)?t.forEach(function(t){tt(t,e)}):null!==t&&"object"===r(t)&&Object.keys(t).forEach(function(n){tt(t[n],e)})}function et(t,e,n){var r;if(void 0!==t&&!T(t))throw{code:"T2001",stack:(new Error).stack,value:t};if(void 0!==e&&!T(e))throw{code:"T2002",stack:(new Error).stack,value:e};if(void 0===t||void 0===e)return r;switch(n){case"+":r=t+e;break;case"-":r=t-e;break;case"*":r=t*e;break;case"/":r=t/e;break;case"%":r=t%e}return r}function nt(t,e,n){var i,s=r(t),o=r(e);if("undefined"===s||"undefined"===o)return!1;switch(n){case"=":i=F(t,e);break;case"!=":i=!F(t,e)}return i}function rt(t,e,n){var i,s=r(t),o=r(e);if("undefined"!==s&&"string"!==s&&"number"!==s||"undefined"!==o&&"string"!==o&&"number"!==o)throw{code:"T2010",stack:(new Error).stack,value:"string"!==s&&"number"!==s?t:e};if("undefined"!==s&&"undefined"!==o){if(s!==o)throw{code:"T2009",stack:(new Error).stack,value:t,value2:e};switch(n){case"<":i=t<e;break;case"<=":i=t<=e;break;case">":i=t>e;break;case">=":i=t>=e}return i}}function it(t,e){var n=!1;if(void 0===t||void 0===e)return!1;Array.isArray(e)||(e=[e]);for(var r=0;r<e.length;r++)if(e[r]===t){n=!0;break}return n}function st(t,e,n){var r,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:s=ot(t),i.t0=n,i.next="and"===i.t0?4:"or"===i.t0?12:20;break;case 4:if(i.t1=s,!i.t1){i.next=10;break}return i.t2=ot,i.delegateYield(e(),"t3",8);case 8:i.t4=i.t3,i.t1=(0,i.t2)(i.t4);case 10:return r=i.t1,i.abrupt("break",20);case 12:if(i.t5=s,i.t5){i.next=18;break}return i.t6=ot,i.delegateYield(e(),"t7",16);case 16:i.t8=i.t7,i.t5=(0,i.t6)(i.t8);case 18:return r=i.t5,i.abrupt("break",20);case 20:return i.abrupt("return",r);case 21:case"end":return i.stop()}},g)}function ot(t){var e=o.boolean(t);return void 0!==e&&e}function at(t,e){var n="",r="";return void 0!==t&&(n=o.string(t)),void 0!==e&&(r=o.string(e)),n.concat(r)}function ct(t,e,n){var r,s,a,c,l,h,d,u,p,f,g,y,b;return i().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:r={},s={},a=!(!e||!e.tupleStream),Array.isArray(e)||(e=D(e)),0===e.length&&e.push(void 0),c=0;case 6:if(!(c<e.length)){m.next=31;break}l=e[c],h=a?G(n,l):n,d=0;case 10:if(!(d<t.lhs.length)){m.next=28;break}return u=t.lhs[d],m.delegateYield(B(u[0],a?l["@"]:l,h),"t0",13);case 13:if("string"==typeof(p=m.t0)||void 0===p){m.next=16;break}throw{code:"T1003",stack:(new Error).stack,position:t.position,value:p};case 16:if(void 0===p){m.next=25;break}if(f={data:l,exprIndex:d},!s.hasOwnProperty(p)){m.next=24;break}if(s[p].exprIndex===d){m.next=21;break}throw{code:"D1009",stack:(new Error).stack,position:t.position,value:p};case 21:s[p].data=o.append(s[p].data,l),m.next=25;break;case 24:s[p]=f;case 25:d++,m.next=10;break;case 28:c++,m.next=6;break;case 31:m.t1=i().keys(s);case 32:if((m.t2=m.t1()).done){m.next=43;break}return p=m.t2.value,f=s[p],g=f.data,h=n,a&&(y=lt(f.data),g=y["@"],delete y["@"],h=G(n,y)),m.delegateYield(B(t.lhs[f.exprIndex][1],g,h),"t3",39);case 39:void 0!==(b=m.t3)&&(r[p]=b),m.next=32;break;case 43:return m.abrupt("return",r);case 44:case"end":return m.stop()}},m)}function lt(t){if(!Array.isArray(t))return t;var e={};Object.assign(e,t[0]);for(var n=1;n<t.length;n++)for(var r in t[n])e[r]=o.append(e[r],t[n][r]);return e}function ht(t,e){var n;if(void 0!==t&&!Number.isInteger(t))throw{code:"T2003",stack:(new Error).stack,value:t};if(void 0!==e&&!Number.isInteger(e))throw{code:"T2004",stack:(new Error).stack,value:e};if(void 0===t||void 0===e)return n;if(t>e)return n;var r=e-t+1;if(r>1e7)throw{code:"D2014",stack:(new Error).stack,value:r};n=new Array(r);for(var i=t,s=0;i<=e;i++,s++)n[s]=i;return n.sequence=!0,n}function dt(t,e,n){var r;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(B(t.rhs,e,n),"t0",1);case 1:return r=i.t0,n.bind(t.lhs.value,r),i.abrupt("return",r);case 4:case"end":return i.stop()}},y)}function ut(t,e,n){var r,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(B(t.condition,e,n),"t0",1);case 1:if(s=i.t0,!o.boolean(s)){i.next=7;break}return i.delegateYield(B(t.then,e,n),"t1",4);case 4:r=i.t1,i.next=10;break;case 7:if(void 0===t.else){i.next=10;break}return i.delegateYield(B(t.else,e,n),"t2",9);case 9:r=i.t2;case 10:return i.abrupt("return",r);case 11:case"end":return i.stop()}},b)}function pt(t,e,n){var r,s,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:s=zt(n),o=0;case 2:if(!(o<t.expressions.length)){i.next=8;break}return i.delegateYield(B(t.expressions[o],e,s),"t0",4);case 4:r=i.t0;case 5:o++,i.next=2;break;case 8:return i.abrupt("return",r);case 9:case"end":return i.stop()}},v)}function ft(t){var e=new Lt.RegexEngine(t.value),n=function n(r,i){var s;e.lastIndex=i||0;var o=e.exec(r);if(null!==o){if(s={match:o[0],start:o.index,end:o.index+o[0].length,groups:[]},o.length>1)for(var a=1;a<o.length;a++)s.groups.push(o[a]);s.next=function(){if(!(e.lastIndex>=r.length)){var i=n(r,e.lastIndex);if(i&&""===i.match)throw{code:"D1004",stack:(new Error).stack,position:t.position,value:t.value.source};return i}}}return s};return n}function gt(t,e,n){return""===t.value?e&&e.outerWrapper?e[0]:e:n.lookup(t.value)}function mt(t,e,n){var s,a,c,l,h;return i().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return a=e,c=!!e.tupleStream,l=i().mark(function e(s,o){var a,l,h,d,u,p,f,g,m;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=0,l=0;case 2:if(!(0===a&&l<t.terms.length)){e.next=35;break}return h=t.terms[l],d=s,u=n,c&&(d=s["@"],u=G(n,s)),e.delegateYield(B(h.expression,d,u),"t0",8);case 8:return p=e.t0,d=o,u=n,c&&(d=o["@"],u=G(n,o)),e.delegateYield(B(h.expression,d,u),"t1",13);case 13:if(f=e.t1,g=r(p),m=r(f),"undefined"!==g){e.next=19;break}return a="undefined"===m?0:1,e.abrupt("continue",32);case 19:if("undefined"!==m){e.next=22;break}return a=-1,e.abrupt("continue",32);case 22:if(!("string"!==g&&"number"!==g||"string"!==m&&"number"!==m)){e.next=24;break}throw{code:"T2008",stack:(new Error).stack,position:t.position,value:"string"!==g&&"number"!==g?p:f};case 24:if(g===m){e.next=26;break}throw{code:"T2007",stack:(new Error).stack,position:t.position,value:p,value2:f};case 26:if(p!==f){e.next=30;break}return e.abrupt("continue",32);case 30:a=p<f?-1:1;case 31:!0===h.descending&&(a=-a);case 32:l++,e.next=2;break;case 35:return e.abrupt("return",1===a);case 36:case"end":return e.stop()}},e)}),h={environment:n,input:e},d.delegateYield(o.sort.apply(h,[a,l]),"t0",5);case 5:return s=d.t0,d.abrupt("return",s);case 7:case"end":return d.stop()}},x)}function yt(t,e,n){var s=i().mark(function e(s){var o,a,c,l,h,d,u,p,f,g,m;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==s){e.next=2;break}return e.abrupt("return",void 0);case 2:if(o=n.lookup("clone"),z(o)){e.next=5;break}throw{code:"T2013",stack:(new Error).stack,position:t.position};case 5:return e.delegateYield(wt(o,[s],null,n),"t0",6);case 6:return a=e.t0,e.delegateYield(B(t.pattern,a,n),"t1",8);case 8:if(void 0===(c=e.t1)){e.next=35;break}Array.isArray(c)||(c=[c]),l=0;case 12:if(!(l<c.length)){e.next=35;break}if(!(h=c[l])||!(h.isPrototypeOf(a)||h instanceof Object.constructor)){e.next=16;break}throw{code:"D1010",stack:(new Error).stack,position:t.position};case 16:return e.delegateYield(B(t.update,h,n),"t2",17);case 17:if(d=e.t2,"undefined"===(u=r(d))){e.next=23;break}if("object"===u&&null!==d&&!Array.isArray(d)){e.next=22;break}throw{code:"T2011",stack:(new Error).stack,position:t.update.position,value:d};case 22:for(p in d)h[p]=d[p];case 23:if(void 0===t.delete){e.next=32;break}return e.delegateYield(B(t.delete,h,n),"t3",25);case 25:if(void 0===(f=e.t3)){e.next=32;break}if(g=f,Array.isArray(f)||(f=[f]),P(f)){e.next=31;break}throw{code:"T2012",stack:(new Error).stack,position:t.delete.position,value:g};case 31:for(m=0;m<f.length;m++)"object"===r(h)&&null!==h&&delete h[f[m]];case 32:l++,e.next=12;break;case 35:return e.abrupt("return",a);case 36:case"end":return e.stop()}},e)});return Ot(s,"<(oa):o>")}var bt=c("function($f, $g) { function($x){ $g($f($x)) } }");function vt(t,e,n){var r,s,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(B(t.lhs,e,n),"t0",1);case 1:if(s=i.t0,"function"!==t.rhs.type){i.next=7;break}return i.delegateYield(xt(t.rhs,e,n,{context:s}),"t1",4);case 4:r=i.t1,i.next=20;break;case 7:return i.delegateYield(B(t.rhs,e,n),"t2",8);case 8:if(o=i.t2,z(o)){i.next=11;break}throw{code:"T2006",stack:(new Error).stack,position:t.position,value:o};case 11:if(!z(s)){i.next=18;break}return i.delegateYield(B(bt,null,n),"t3",13);case 13:return a=i.t3,i.delegateYield(wt(a,[s,o],null,n),"t4",15);case 15:r=i.t4,i.next=20;break;case 18:return i.delegateYield(wt(o,[s],null,n),"t5",19);case 19:r=i.t5;case 20:return i.abrupt("return",r);case 21:case"end":return i.stop()}},w)}function xt(t,e,n,s){var o,a,c,l,h,d;return i().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.delegateYield(B(t.procedure,e,n),"t0",1);case 1:if(void 0!==(a=u.t0)||"path"!==t.procedure.type||!n.lookup(t.procedure.steps[0].value)){u.next=4;break}throw{code:"T1005",stack:(new Error).stack,position:t.position,token:t.procedure.steps[0].value};case 4:c=[],void 0!==s&&c.push(s.context),l=i().mark(function r(){var s,o;return i().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(B(t.arguments[h],e,n),"t0",1);case 1:s=r.t0,z(s)?(o=i().mark(function t(){var e,r,o,a=arguments;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:for(e=a.length,r=new Array(e),o=0;o<e;o++)r[o]=a[o];return t.delegateYield(wt(s,r,null,n),"t0",2);case 2:return t.abrupt("return",t.t0);case 3:case"end":return t.stop()}},t)}),o.arity=L(s),c.push(o)):c.push(s);case 3:case"end":return r.stop()}},r)}),h=0;case 8:if(!(h<t.arguments.length)){u.next=13;break}return u.delegateYield(l(),"t1",10);case 10:h++,u.next=8;break;case 13:return d="path"===t.procedure.type?t.procedure.steps[0].value:t.procedure.value,u.prev=14,"object"===r(a)&&(a.token=d,a.position=t.position),u.delegateYield(wt(a,c,e,n),"t2",17);case 17:o=u.t2,u.next=25;break;case 20:throw u.prev=20,u.t3=u.catch(14),u.t3.position||(u.t3.position=t.position),u.t3.token||(u.t3.token=d),u.t3;case 25:return u.abrupt("return",o);case 26:case"end":return u.stop()}},_,null,[[14,20]])}function wt(t,e,n,r){var s,o,a,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(_t(t,e,n,r),"t0",1);case 1:s=i.t0;case 2:if(!j(s)||!0!==s.thunk){i.next=21;break}return i.delegateYield(B(s.body.procedure,s.input,s.environment),"t1",4);case 4:o=i.t1,"variable"===s.body.procedure.type&&(o.token=s.body.procedure.value),o.position=s.body.procedure.position,a=[],c=0;case 9:if(!(c<s.body.arguments.length)){i.next=17;break}return i.t2=a,i.delegateYield(B(s.body.arguments[c],s.input,s.environment),"t3",12);case 12:i.t4=i.t3,i.t2.push.call(i.t2,i.t4);case 14:c++,i.next=9;break;case 17:return i.delegateYield(_t(o,a,n,r),"t5",18);case 18:s=i.t5,i.next=2;break;case 21:return i.abrupt("return",s);case 22:case"end":return i.stop()}},A)}function _t(t,e,n,r){var s,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(i.prev=0,o=e,t&&(o=Mt(t.signature,e,n)),!j(t)){i.next=8;break}return i.delegateYield(kt(t,o),"t0",5);case 5:s=i.t0,i.next=24;break;case 8:if(!t||!0!==t._jsonata_function){i.next=16;break}if(a={environment:r,input:n},s=t.implementation.apply(a,o),!R(s)){i.next=14;break}return i.delegateYield(s,"t1",13);case 13:s=i.t1;case 14:i.next=24;break;case 16:if("function"!=typeof t){i.next=23;break}if(s=t.apply(n,o),!R(s)){i.next=21;break}return i.delegateYield(s,"t2",20);case 20:s=i.t2;case 21:i.next=24;break;case 23:throw{code:"T1006",stack:(new Error).stack};case 24:i.next=30;break;case 26:throw i.prev=26,i.t3=i.catch(0),t&&(void 0===i.t3.token&&void 0!==t.token&&(i.t3.token=t.token),i.t3.position=t.position||i.t3.position),i.t3;case 30:return i.abrupt("return",s);case 31:case"end":return i.stop()}},S,null,[[0,26]])}function At(t,e,n){var r={_jsonata_lambda:!0,input:e,environment:n,arguments:t.arguments,signature:t.signature,body:t.body};return!0===t.thunk&&(r.thunk=!0),r.apply=i().mark(function t(n,s){return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(wt(r,s,e,n.environment),"t0",1);case 1:return t.abrupt("return",t.t0);case 2:case"end":return t.stop()}},t)}),r}function St(t,e,n){var r,s,o,a,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:s=[],o=0;case 2:if(!(o<t.arguments.length)){i.next=15;break}if("operator"!==(a=t.arguments[o]).type||"?"!==a.value){i.next=8;break}s.push(a),i.next=12;break;case 8:return i.t0=s,i.delegateYield(B(a,e,n),"t1",10);case 10:i.t2=i.t1,i.t0.push.call(i.t0,i.t2);case 12:o++,i.next=2;break;case 15:return i.delegateYield(B(t.procedure,e,n),"t3",16);case 16:if(void 0!==(c=i.t3)||"path"!==t.procedure.type||!n.lookup(t.procedure.steps[0].value)){i.next=19;break}throw{code:"T1007",stack:(new Error).stack,position:t.position,token:t.procedure.steps[0].value};case 19:if(!j(c)){i.next=23;break}r=Et(c,s),i.next=32;break;case 23:if(!c||!0!==c._jsonata_function){i.next=27;break}r=Ct(c.implementation,s),i.next=32;break;case 27:if("function"!=typeof c){i.next=31;break}r=Ct(c,s),i.next=32;break;case 31:throw{code:"T1008",stack:(new Error).stack,position:t.position,token:"path"===t.procedure.type?t.procedure.steps[0].value:t.procedure.value};case 32:return i.abrupt("return",r);case 33:case"end":return i.stop()}},M)}function Mt(t,e,n){return void 0===t?e:t.validate(e,n)}function kt(t,e){var n,r;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(r=zt(t.environment),t.arguments.forEach(function(t,n){r.bind(t.value,e[n])}),"function"!=typeof t.body){i.next=7;break}return i.delegateYield(Tt(t.body,r),"t0",4);case 4:n=i.t0,i.next=9;break;case 7:return i.delegateYield(B(t.body,t.input,r),"t1",8);case 8:n=i.t1;case 9:return i.abrupt("return",n);case 10:case"end":return i.stop()}},k)}function Et(t,e){var n=zt(t.environment),r=[];return t.arguments.forEach(function(t,i){var s=e[i];s&&"operator"===s.type&&"?"===s.value?r.push(t):n.bind(t.value,s)}),{_jsonata_lambda:!0,input:t.input,environment:n,arguments:r,body:t.body}}function Ct(t,e){var n=Pt(t),r="function("+(n=n.map(function(t){return"$"+t.trim()})).join(", ")+"){ _ }",i=c(r);return i.body=t,Et(i,e)}function Tt(t,e){var n,r,s,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(n=Pt(t),r=n.map(function(t){return e.lookup(t.trim())}),s={environment:e},o=t.apply(s,r),!R(o)){i.next=7;break}return i.delegateYield(o,"t0",6);case 6:o=i.t0;case 7:return i.abrupt("return",o);case 8:case"end":return i.stop()}},E)}function Pt(t){var e=t.toString();return/\(([^)]*)\)/.exec(e)[1].split(",")}function Ot(t,e){var n={_jsonata_function:!0,implementation:t};return void 0!==e&&(n.signature=l(e)),n}function Dt(t,e){var n,r,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:n=this.input,void 0!==e&&(n=e,Array.isArray(n)&&!I(n)&&((n=D(n)).outerWrapper=!0)),i.prev=4,r=c(t,!1),i.next=12;break;case 8:throw i.prev=8,i.t0=i.catch(4),Rt(i.t0),{stack:(new Error).stack,code:"D3120",value:i.t0.message,error:i.t0};case 12:return i.prev=12,i.delegateYield(B(r,n,this.environment),"t1",14);case 14:s=i.t1,i.next=21;break;case 17:throw i.prev=17,i.t2=i.catch(12),Rt(i.t2),{stack:(new Error).stack,code:"D3121",value:i.t2.message,error:i.t2};case 21:return i.abrupt("return",s);case 22:case"end":return i.stop()}},C,this,[[4,8],[12,17]])}function It(t){if(void 0!==t)return JSON.parse(o.string(t))}function zt(t){var e={};return{bind:function(t,n){e[t]=n},lookup:function(n){var r;return e.hasOwnProperty(n)?r=e[n]:t&&(r=t.lookup(n)),r},timestamp:t?t.timestamp:null,async:!!t&&t.async,global:t?t.global:{ancestry:[null]}}}N.bind("sum",Ot(o.sum,"<a<n>:n>")),N.bind("count",Ot(o.count,"<a:n>")),N.bind("max",Ot(o.max,"<a<n>:n>")),N.bind("min",Ot(o.min,"<a<n>:n>")),N.bind("average",Ot(o.average,"<a<n>:n>")),N.bind("string",Ot(o.string,"<x-b?:s>")),N.bind("substring",Ot(o.substring,"<s-nn?:s>")),N.bind("substringBefore",Ot(o.substringBefore,"<s-s:s>")),N.bind("substringAfter",Ot(o.substringAfter,"<s-s:s>")),N.bind("lowercase",Ot(o.lowercase,"<s-:s>")),N.bind("uppercase",Ot(o.uppercase,"<s-:s>")),N.bind("length",Ot(o.length,"<s-:n>")),N.bind("trim",Ot(o.trim,"<s-:s>")),N.bind("pad",Ot(o.pad,"<s-ns?:s>")),N.bind("match",Ot(o.match,"<s-f<s:o>n?:a<o>>")),N.bind("contains",Ot(o.contains,"<s-(sf):b>")),N.bind("replace",Ot(o.replace,"<s-(sf)(sf)n?:s>")),N.bind("split",Ot(o.split,"<s-(sf)n?:a<s>>")),N.bind("join",Ot(o.join,"<a<s>s?:s>")),N.bind("formatNumber",Ot(o.formatNumber,"<n-so?:s>")),N.bind("formatBase",Ot(o.formatBase,"<n-n?:s>")),N.bind("formatInteger",Ot(s.formatInteger,"<n-s:s>")),N.bind("parseInteger",Ot(s.parseInteger,"<s-s:n>")),N.bind("number",Ot(o.number,"<(nsb)-:n>")),N.bind("floor",Ot(o.floor,"<n-:n>")),N.bind("ceil",Ot(o.ceil,"<n-:n>")),N.bind("round",Ot(o.round,"<n-n?:n>")),N.bind("abs",Ot(o.abs,"<n-:n>")),N.bind("sqrt",Ot(o.sqrt,"<n-:n>")),N.bind("power",Ot(o.power,"<n-n:n>")),N.bind("random",Ot(o.random,"<:n>")),N.bind("boolean",Ot(o.boolean,"<x-:b>")),N.bind("not",Ot(o.not,"<x-:b>")),N.bind("map",Ot(o.map,"<af>")),N.bind("zip",Ot(o.zip,"<a+>")),N.bind("filter",Ot(o.filter,"<af>")),N.bind("single",Ot(o.single,"<af?>")),N.bind("reduce",Ot(o.foldLeft,"<afj?:j>")),N.bind("sift",Ot(o.sift,"<o-f?:o>")),N.bind("keys",Ot(o.keys,"<x-:a<s>>")),N.bind("lookup",Ot(o.lookup,"<x-s:x>")),N.bind("append",Ot(o.append,"<xx:a>")),N.bind("exists",Ot(o.exists,"<x:b>")),N.bind("spread",Ot(o.spread,"<x-:a<o>>")),N.bind("merge",Ot(o.merge,"<a<o>:o>")),N.bind("reverse",Ot(o.reverse,"<a:a>")),N.bind("each",Ot(o.each,"<o-f:a>")),N.bind("error",Ot(o.error,"<s?:x>")),N.bind("assert",Ot(o.assert,"<bs?:x>")),N.bind("type",Ot(o.type,"<x:s>")),N.bind("sort",Ot(o.sort,"<af?:a>")),N.bind("shuffle",Ot(o.shuffle,"<a:a>")),N.bind("distinct",Ot(o.distinct,"<x:x>")),N.bind("base64encode",Ot(o.base64encode,"<s-:s>")),N.bind("base64decode",Ot(o.base64decode,"<s-:s>")),N.bind("encodeUrlComponent",Ot(o.encodeUrlComponent,"<s-:s>")),N.bind("encodeUrl",Ot(o.encodeUrl,"<s-:s>")),N.bind("decodeUrlComponent",Ot(o.decodeUrlComponent,"<s-:s>")),N.bind("decodeUrl",Ot(o.decodeUrl,"<s-:s>")),N.bind("eval",Ot(Dt,"<sx?:x>")),N.bind("toMillis",Ot(s.toMillis,"<s-s?:n>")),N.bind("fromMillis",Ot(s.fromMillis,"<n-s?s?:s>")),N.bind("clone",Ot(It,"<(oa)-:o>"));var jt={S0101:"String literal must be terminated by a matching quote",S0102:"Number out of range: {{token}}",S0103:"Unsupported escape sequence: \\{{token}}",S0104:"The escape sequence \\u must be followed by 4 hex digits",S0105:"Quoted property name must be terminated with a backquote (`)",S0106:"Comment has no closing tag",S0201:"Syntax error: {{token}}",S0202:"Expected {{value}}, got {{token}}",S0203:"Expected {{value}} before end of expression",S0204:"Unknown operator: {{token}}",S0205:"Unexpected token: {{token}}",S0206:"Unknown expression type: {{token}}",S0207:"Unexpected end of expression",S0208:"Parameter {{value}} of function definition must be a variable name (start with $)",S0209:"A predicate cannot follow a grouping expression in a step",S0210:"Each step can only have one grouping expression",S0211:"The symbol {{token}} cannot be used as a unary operator",S0212:"The left side of := must be a variable name (start with $)",S0213:"The literal value {{value}} cannot be used as a step within a path expression",S0214:"The right side of {{token}} must be a variable name (start with $)",S0215:"A context variable binding must precede any predicates on a step",S0216:"A context variable binding must precede the 'order-by' clause on a step",S0217:"The object representing the 'parent' cannot be derived from this expression",S0301:"Empty regular expressions are not allowed",S0302:"No terminating / in regular expression",S0402:"Choice groups containing parameterized types are not supported",S0401:"Type parameters can only be applied to functions and arrays",S0500:"Attempted to evaluate an expression containing syntax error(s)",T0410:"Argument {{index}} of function {{token}} does not match function signature",T0411:"Context value is not a compatible type with argument {{index}} of function {{token}}",T0412:"Argument {{index}} of function {{token}} must be an array of {{type}}",D1001:"Number out of range: {{value}}",D1002:"Cannot negate a non-numeric value: {{value}}",T1003:"Key in object structure must evaluate to a string; got: {{value}}",D1004:"Regular expression matches zero length string",T1005:"Attempted to invoke a non-function. Did you mean ${{{token}}}?",T1006:"Attempted to invoke a non-function",T1007:"Attempted to partially apply a non-function. Did you mean ${{{token}}}?",T1008:"Attempted to partially apply a non-function",D1009:"Multiple key definitions evaluate to same key: {{value}}",D1010:"Attempted to access the Javascript object prototype",T1010:"The matcher function argument passed to function {{token}} does not return the correct object structure",T2001:"The left side of the {{token}} operator must evaluate to a number",T2002:"The right side of the {{token}} operator must evaluate to a number",T2003:"The left side of the range operator (..) must evaluate to an integer",T2004:"The right side of the range operator (..) must evaluate to an integer",D2005:"The left side of := must be a variable name (start with $)",T2006:"The right side of the function application operator ~> must be a function",T2007:"Type mismatch when comparing values {{value}} and {{value2}} in order-by clause",T2008:"The expressions within an order-by clause must evaluate to numeric or string values",T2009:"The values {{value}} and {{value2}} either side of operator {{token}} must be of the same data type",T2010:"The expressions either side of operator {{token}} must evaluate to numeric or string values",T2011:"The insert/update clause of the transform expression must evaluate to an object: {{value}}",T2012:"The delete clause of the transform expression must evaluate to a string or array of strings: {{value}}",T2013:"The transform expression clones the input object using the $clone() function. This has been overridden in the current scope by a non-function.",D2014:"The size of the sequence allocated by the range operator (..) must not exceed 1e6. Attempted to allocate {{value}}.",D3001:"Attempting to invoke string function on Infinity or NaN",D3010:"Second argument of replace function cannot be an empty string",D3011:"Fourth argument of replace function must evaluate to a positive number",D3012:"Attempted to replace a matched string with a non-string value",D3020:"Third argument of split function must evaluate to a positive number",D3030:"Unable to cast value to a number: {{value}}",D3040:"Third argument of match function must evaluate to a positive number",D3050:"The second argument of reduce function must be a function with at least two arguments",D3060:"The sqrt function cannot be applied to a negative number: {{value}}",D3061:"The power function has resulted in a value that cannot be represented as a JSON number: base={{value}}, exponent={{exp}}",D3070:"The single argument form of the sort function can only be applied to an array of strings or an array of numbers. Use the second argument to specify a comparison function",D3080:"The picture string must only contain a maximum of two sub-pictures",D3081:"The sub-picture must not contain more than one instance of the 'decimal-separator' character",D3082:"The sub-picture must not contain more than one instance of the 'percent' character",D3083:"The sub-picture must not contain more than one instance of the 'per-mille' character",D3084:"The sub-picture must not contain both a 'percent' and a 'per-mille' character",D3085:"The mantissa part of a sub-picture must contain at least one character that is either an 'optional digit character' or a member of the 'decimal digit family'",D3086:"The sub-picture must not contain a passive character that is preceded by an active character and that is followed by another active character",D3087:"The sub-picture must not contain a 'grouping-separator' character that appears adjacent to a 'decimal-separator' character",D3088:"The sub-picture must not contain a 'grouping-separator' at the end of the integer part",D3089:"The sub-picture must not contain two adjacent instances of the 'grouping-separator' character",D3090:"The integer part of the sub-picture must not contain a member of the 'decimal digit family' that is followed by an instance of the 'optional digit character'",D3091:"The fractional part of the sub-picture must not contain an instance of the 'optional digit character' that is followed by a member of the 'decimal digit family'",D3092:"A sub-picture that contains a 'percent' or 'per-mille' character must not contain a character treated as an 'exponent-separator'",D3093:"The exponent part of the sub-picture must comprise only of one or more characters that are members of the 'decimal digit family'",D3100:"The radix of the formatBase function must be between 2 and 36. It was given {{value}}",D3110:"The argument of the toMillis function must be an ISO 8601 formatted timestamp. Given {{value}}",D3120:"Syntax error in expression passed to function eval: {{value}}",D3121:"Dynamic error evaluating the expression passed to function eval: {{value}}",D3130:"Formatting or parsing an integer as a sequence starting with {{value}} is not supported by this implementation",D3131:"In a decimal digit pattern, all digits must be from the same decimal group",D3132:"Unknown component specifier {{value}} in date/time picture string",D3133:"The 'name' modifier can only be applied to months and days in the date/time picture string, not {{value}}",D3134:"The timezone integer format specifier cannot have more than four digits",D3135:"No matching closing bracket ']' in date/time picture string",D3136:"The date/time picture string is missing specifiers required to parse the timestamp",D3137:"{{{message}}}",D3138:"The $single() function expected exactly 1 matching result. Instead it matched more.",D3139:"The $single() function expected exactly 1 matching result. Instead it matched 0.",D3140:"Malformed URL passed to ${{{functionName}}}(): {{value}}",D3141:"{{{message}}}"};function Rt(t){var e=jt[t.code];if(void 0!==e){var n=e.replace(/\{\{\{([^}]+)}}}/g,function(){return t[arguments[1]]});n=n.replace(/\{\{([^}]+)}}/g,function(){return JSON.stringify(t[arguments[1]])}),t.message=n}}function Lt(t,e){var n,r;try{n=c(t,e&&e.recover),r=n.errors,delete n.errors}catch(t){throw Rt(t),t}var i=zt(N),o=new Date;return i.bind("now",Ot(function(t,e){return s.fromMillis(o.getTime(),t,e)},"<s?s?:s>")),i.bind("millis",Ot(function(){return o.getTime()},"<:n>")),e&&e.RegexEngine?Lt.RegexEngine=e.RegexEngine:Lt.RegexEngine=RegExp,{evaluate:function(t,e,s){if(void 0!==r){var a={code:"S0500",position:0};throw Rt(a),a}var c,l,h;if(void 0!==e)for(var d in c=zt(i),e)c.bind(d,e[d]);else c=i;if(c.bind("$",t),o=new Date,c.timestamp=o,Array.isArray(t)&&!I(t)&&((t=D(t)).outerWrapper=!0),"function"==typeof s){c.async=!0;var u=function(t){Rt(t),s(t,null)},p=function t(e){(l=h.next(e)).done?s(null,l.value):l.value.then(t).catch(u)};h=B(n,t,c),(l=h.next()).value.then(p).catch(u)}else try{for(h=B(n,t,c),l=h.next();!l.done;)l=h.next(l.value);return l.value}catch(a){throw Rt(a),a}},assign:function(t,e){i.bind(t,e)},registerFunction:function(t,e,n){var r=Ot(e,n);i.bind(t,r)},ast:function(){return n},errors:function(){return r}}}return Lt.parser=c,Lt}();e.exports=h},{"./datetime":1,"./functions":2,"./parser":4,"./signature":5,"./utils":6}],4:[function(t,e,n){var r=t("./signature"),i=function(){var t={".":75,"[":80,"]":0,"{":70,"}":0,"(":80,")":0,",":0,"@":80,"#":80,";":80,":":80,"?":20,"+":50,"-":50,"*":60,"/":60,"%":60,"|":20,"=":40,"<":40,">":40,"^":40,"**":60,"..":20,":=":10,"!=":40,"<=":40,">=":40,"~>":40,and:30,or:25,in:40,"&":50,"!":0,"~":0},e={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},n=function(n){var r=0,i=n.length,s=function(t,e){return{type:t,value:e,position:r}},o=function(){for(var t,e,s=r,o=0;r<i;){var a=n.charAt(r);if("/"===a&&"\\"!==n.charAt(r-1)&&0===o){if(""===(t=n.substring(s,r)))throw{code:"S0301",stack:(new Error).stack,position:r};for(r++,a=n.charAt(r),s=r;"i"===a||"m"===a;)r++,a=n.charAt(r);return e=n.substring(s,r)+"g",new RegExp(t,e)}"("!==a&&"["!==a&&"{"!==a||"\\"===n.charAt(r-1)||o++,")"!==a&&"]"!==a&&"}"!==a||"\\"===n.charAt(r-1)||o--,r++}throw{code:"S0302",stack:(new Error).stack,position:r}},a=function a(c){if(r>=i)return null;for(var l=n.charAt(r);r<i&&" \t\n\r\v".indexOf(l)>-1;)r++,l=n.charAt(r);if("/"===l&&"*"===n.charAt(r+1)){var h=r;for(r+=2,l=n.charAt(r);"*"!==l||"/"!==n.charAt(r+1);)if(l=n.charAt(++r),r>=i)throw{code:"S0106",stack:(new Error).stack,position:h};return r+=2,l=n.charAt(r),a(c)}if(!0!==c&&"/"===l)return r++,s("regex",o());if("."===l&&"."===n.charAt(r+1))return r+=2,s("operator","..");if(":"===l&&"="===n.charAt(r+1))return r+=2,s("operator",":=");if("!"===l&&"="===n.charAt(r+1))return r+=2,s("operator","!=");if(">"===l&&"="===n.charAt(r+1))return r+=2,s("operator",">=");if("<"===l&&"="===n.charAt(r+1))return r+=2,s("operator","<=");if("*"===l&&"*"===n.charAt(r+1))return r+=2,s("operator","**");if("~"===l&&">"===n.charAt(r+1))return r+=2,s("operator","~>");if(Object.prototype.hasOwnProperty.call(t,l))return r++,s("operator",l);if('"'===l||"'"===l){var d=l;r++;for(var u="";r<i;){if("\\"===(l=n.charAt(r)))if(r++,l=n.charAt(r),Object.prototype.hasOwnProperty.call(e,l))u+=e[l];else{if("u"!==l)throw{code:"S0103",stack:(new Error).stack,position:r,token:l};var p=n.substr(r+1,4);if(!/^[0-9a-fA-F]+$/.test(p))throw{code:"S0104",stack:(new Error).stack,position:r};var f=parseInt(p,16);u+=String.fromCharCode(f),r+=4}else{if(l===d)return r++,s("string",u);u+=l}r++}throw{code:"S0101",stack:(new Error).stack,position:r}}var g,m=/^-?(0|([1-9][0-9]*))(\.[0-9]+)?([Ee][-+]?[0-9]+)?/.exec(n.substring(r));if(null!==m){var y=parseFloat(m[0]);if(!isNaN(y)&&isFinite(y))return r+=m[0].length,s("number",y);throw{code:"S0102",stack:(new Error).stack,position:r,token:m[0]}}if("`"===l){r++;var b=n.indexOf("`",r);if(-1!==b)return g=n.substring(r,b),r=b+1,s("name",g);throw r=i,{code:"S0105",stack:(new Error).stack,position:r}}for(var v,x=r;;)if(v=n.charAt(x),x===i||" \t\n\r\v".indexOf(v)>-1||Object.prototype.hasOwnProperty.call(t,v)){if("$"===n.charAt(r))return g=n.substring(r+1,x),r=x,s("variable",g);switch(g=n.substring(r,x),r=x,g){case"or":case"in":case"and":return s("operator",g);case"true":return s("value",!0);case"false":return s("value",!1);case"null":return s("value",null);default:return r===i&&""===g?null:s("name",g)}}else x++};return a},i=function(e,i){var s,o,a={},c=[],l=function(){var t=[];"(end)"!==s.id&&t.push({type:s.type,value:s.value,position:s.position});for(var e=o();null!==e;)t.push(e),e=o();return t},h={nud:function(){var t={code:"S0211",token:this.value,position:this.position};if(i)return t.remaining=l(),t.type="error",c.push(t),t;throw t.stack=(new Error).stack,t}},d=function(t,e){var n=a[t];return e=e||0,n?e>=n.lbp&&(n.lbp=e):((n=Object.create(h)).id=n.value=t,n.lbp=e,a[t]=n),n},u=function(t){if(i){t.remaining=l(),c.push(t);var e=a["(error)"];return(s=Object.create(e)).error=t,s.type="(error)",s}throw t.stack=(new Error).stack,t},p=function(t,n){if(t&&s.id!==t){var r={code:"(end)"===s.id?"S0203":"S0202",position:s.position,token:s.value,value:t};return u(r)}var i=o(n);if(null===i)return(s=a["(end)"]).position=e.length,s;var c,l=i.value,h=i.type;switch(h){case"name":case"variable":c=a["(name)"];break;case"operator":if(!(c=a[l]))return u({code:"S0204",stack:(new Error).stack,position:i.position,token:l});break;case"string":case"number":case"value":c=a["(literal)"];break;case"regex":h="regex",c=a["(regex)"];break;default:return u({code:"S0205",stack:(new Error).stack,position:i.position,token:l})}return(s=Object.create(c)).value=l,s.type=h,s.position=i.position,s},f=function(t){var e,n=s;for(p(null,!0),e=n.nud();t<s.lbp;)n=s,p(),e=n.led(e);return e},g=function(t){d(t,0).nud=function(){return this}},m=function(e,n,r){var i=n||t[e],s=d(e,i);return s.led=r||function(t){return this.lhs=t,this.rhs=f(i),this.type="binary",this},s},y=function(t,e,n){var r=d(t,e);return r.led=n,r},b=function(t,e){var n=d(t);return n.nud=e||function(){return this.expression=f(70),this.type="unary",this},n};g("(end)"),g("(name)"),g("(literal)"),g("(regex)"),d(":"),d(";"),d(","),d(")"),d("]"),d("}"),d(".."),m("."),m("+"),m("-"),m("*"),m("/"),m("%"),m("="),m("<"),m(">"),m("!="),m("<="),m(">="),m("&"),m("and"),m("or"),m("in"),g("and"),g("or"),g("in"),b("-"),m("~>"),y("(error)",10,function(t){return this.lhs=t,this.error=s.error,this.remaining=l(),this.type="error",this}),b("*",function(){return this.type="wildcard",this}),b("**",function(){return this.type="descendant",this}),b("%",function(){return this.type="parent",this}),m("(",t["("],function(t){if(this.procedure=t,this.type="function",this.arguments=[],")"!==s.id)for(;"operator"===s.type&&"?"===s.id?(this.type="partial",this.arguments.push(s),p("?")):this.arguments.push(f(0)),","===s.id;)p(",");if(p(")",!0),"name"===t.type&&("function"===t.value||"λ"===t.value)){if(this.arguments.forEach(function(t,e){if("variable"!==t.type)return u({code:"S0208",stack:(new Error).stack,position:t.position,token:t.value,value:e+1})}),this.type="lambda","<"===s.id){for(var e=s.position,n=1,i="<";n>0&&"{"!==s.id&&"(end)"!==s.id;){var o=p();">"===o.id?n--:"<"===o.id&&n++,i+=o.value}p(">");try{this.signature=r(i)}catch(t){return t.position=e+t.offset,u(t)}}p("{"),this.body=f(0),p("}")}return this}),b("(",function(){for(var t=[];")"!==s.id&&(t.push(f(0)),";"===s.id);)p(";");return p(")",!0),this.type="block",this.expressions=t,this}),b("[",function(){var t=[];if("]"!==s.id)for(;;){var e=f(0);if(".."===s.id){var n={type:"binary",value:"..",position:s.position,lhs:e};p(".."),n.rhs=f(0),e=n}if(t.push(e),","!==s.id)break;p(",")}return p("]",!0),this.expressions=t,this.type="unary",this}),m("[",t["["],function(e){if("]"===s.id){for(var n=e;n&&"binary"===n.type&&"["===n.value;)n=n.lhs;return n.keepArray=!0,p("]"),e}return this.lhs=e,this.rhs=f(t["]"]),this.type="binary",p("]",!0),this}),m("^",t["^"],function(t){p("(");for(var e=[];;){var n={descending:!1};if("<"===s.id?p("<"):">"===s.id&&(n.descending=!0,p(">")),n.expression=f(0),e.push(n),","!==s.id)break;p(",")}return p(")"),this.lhs=t,this.rhs=e,this.type="binary",this});var v=function(t){var e=[];if("}"!==s.id)for(;;){var n=f(0);p(":");var r=f(0);if(e.push([n,r]),","!==s.id)break;p(",")}return p("}",!0),void 0===t?(this.lhs=e,this.type="unary"):(this.lhs=t,this.rhs=e,this.type="binary"),this};b("{",v),m("{",t["{"],v),y(":=",t[":="],function(e){return"variable"!==e.type?u({code:"S0212",stack:(new Error).stack,position:e.position,token:e.value}):(this.lhs=e,this.rhs=f(t[":="]-1),this.type="binary",this)}),m("@",t["@"],function(e){return this.lhs=e,this.rhs=f(t["@"]),"variable"!==this.rhs.type?u({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"@"}):(this.type="binary",this)}),m("#",t["#"],function(e){return this.lhs=e,this.rhs=f(t["#"]),"variable"!==this.rhs.type?u({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"#"}):(this.type="binary",this)}),m("?",t["?"],function(t){return this.type="condition",this.condition=t,this.then=f(0),":"===s.id&&(p(":"),this.else=f(0)),this}),b("|",function(){return this.type="transform",this.pattern=f(0),p("|"),this.update=f(0),","===s.id&&(p(","),this.delete=f(0)),p("|"),this});var x=function t(e){var n;if("function"!==e.type||e.predicate)if("condition"===e.type)e.then=t(e.then),void 0!==e.else&&(e.else=t(e.else)),n=e;else if("block"===e.type){var r=e.expressions.length;r>0&&(e.expressions[r-1]=t(e.expressions[r-1])),n=e}else n=e;else{var i={type:"lambda",thunk:!0,arguments:[],position:e.position};i.body=e,n=i}return n},w=0,_=0,A=[],S=function t(e,n){switch(e.type){case"name":case"wildcard":n.level--,0===n.level&&(void 0===e.ancestor||(A[n.index].slot.label=e.ancestor.label),e.ancestor=n,e.tuple=!0);break;case"parent":n.level++;break;case"block":e.expressions.length>0&&(e.tuple=!0,n=t(e.expressions[e.expressions.length-1],n));break;case"path":e.tuple=!0;var r=e.steps.length-1;for(n=t(e.steps[r--],n);n.level>0&&r>=0;)n=t(e.steps[r--],n);break;default:throw{code:"S0217",token:e.type,position:e.position}}return n},M=function(t,e){if(void 0!==e.seekingParent||"parent"===e.type){var n=void 0!==e.seekingParent?e.seekingParent:[];"parent"===e.type&&n.push(e.slot),void 0===t.seekingParent?t.seekingParent=n:Array.prototype.push.apply(t.seekingParent,n)}},k=function(t){var e=t.steps.length-1,n=t.steps[e],r=void 0!==n.seekingParent?n.seekingParent:[];"parent"===n.type&&r.push(n.slot);for(var i=0;i<r.length;i++){var s=r[i];for(e=t.steps.length-2;s.level>0;){if(e<0){void 0===t.seekingParent?t.seekingParent=[s]:t.seekingParent.push(s);break}for(var o=t.steps[e--];e>=0&&o.focus&&t.steps[e].focus;)o=t.steps[e--];s=S(o,s)}}},E=function t(e){var n;switch(e.type){case"binary":switch(e.value){case".":var r=t(e.lhs);n="path"===r.type?r:{type:"path",steps:[r]},"parent"===r.type&&(n.seekingParent=[r.slot]);var s=t(e.rhs);"function"===s.type&&"path"===s.procedure.type&&1===s.procedure.steps.length&&"name"===s.procedure.steps[0].type&&"function"===n.steps[n.steps.length-1].type&&(n.steps[n.steps.length-1].nextFunction=s.procedure.steps[0].value),"path"===s.type?Array.prototype.push.apply(n.steps,s.steps):(void 0!==s.predicate&&(s.stages=s.predicate,delete s.predicate),n.steps.push(s)),n.steps.filter(function(t){if("number"===t.type||"value"===t.type)throw{code:"S0213",stack:(new Error).stack,position:t.position,value:t.value};return"string"===t.type}).forEach(function(t){t.type="name"}),n.steps.filter(function(t){return!0===t.keepArray}).length>0&&(n.keepSingletonArray=!0);var o=n.steps[0];"unary"===o.type&&"["===o.value&&(o.consarray=!0);var a=n.steps[n.steps.length-1];"unary"===a.type&&"["===a.value&&(a.consarray=!0),k(n);break;case"[":var l=n=t(e.lhs),h="predicate";if("path"===n.type&&(l=n.steps[n.steps.length-1],h="stages"),void 0!==l.group)throw{code:"S0209",stack:(new Error).stack,position:e.position};void 0===l[h]&&(l[h]=[]);var d=t(e.rhs);void 0!==d.seekingParent&&(d.seekingParent.forEach(function(t){1===t.level?S(l,t):t.level--}),M(l,d)),l[h].push({type:"filter",expr:d,position:e.position});break;case"{":if(void 0!==(n=t(e.lhs)).group)throw{code:"S0210",stack:(new Error).stack,position:e.position};n.group={lhs:e.rhs.map(function(e){return[t(e[0]),t(e[1])]}),position:e.position};break;case"^":"path"!==(n=t(e.lhs)).type&&(n={type:"path",steps:[n]});var u={type:"sort",position:e.position};u.terms=e.rhs.map(function(e){var n=t(e.expression);return M(u,n),{descending:e.descending,expression:n}}),n.steps.push(u),k(n);break;case":=":(n={type:"bind",value:e.value,position:e.position}).lhs=t(e.lhs),n.rhs=t(e.rhs),M(n,n.rhs);break;case"@":if(n=t(e.lhs),l=n,"path"===n.type&&(l=n.steps[n.steps.length-1]),void 0!==l.stages||void 0!==l.predicate)throw{code:"S0215",stack:(new Error).stack,position:e.position};if("sort"===l.type)throw{code:"S0216",stack:(new Error).stack,position:e.position};e.keepArray&&(l.keepArray=!0),l.focus=e.rhs.value,l.tuple=!0;break;case"#":n=t(e.lhs),l=n,"path"===n.type?l=n.steps[n.steps.length-1]:(n={type:"path",steps:[n]},void 0!==l.predicate&&(l.stages=l.predicate,delete l.predicate)),void 0===l.stages?l.index=e.rhs.value:l.stages.push({type:"index",value:e.rhs.value,position:e.position}),l.tuple=!0;break;case"~>":(n={type:"apply",value:e.value,position:e.position}).lhs=t(e.lhs),n.rhs=t(e.rhs);break;default:(n={type:e.type,value:e.value,position:e.position}).lhs=t(e.lhs),n.rhs=t(e.rhs),M(n,n.lhs),M(n,n.rhs)}break;case"unary":n={type:e.type,value:e.value,position:e.position},"["===e.value?n.expressions=e.expressions.map(function(e){var r=t(e);return M(n,r),r}):"{"===e.value?n.lhs=e.lhs.map(function(e){var r=t(e[0]);M(n,r);var i=t(e[1]);return M(n,i),[r,i]}):(n.expression=t(e.expression),"-"===e.value&&"number"===n.expression.type?(n=n.expression).value=-n.value:M(n,n.expression));break;case"function":case"partial":(n={type:e.type,name:e.name,value:e.value,position:e.position}).arguments=e.arguments.map(function(e){var r=t(e);return M(n,r),r}),n.procedure=t(e.procedure);break;case"lambda":n={type:e.type,arguments:e.arguments,signature:e.signature,position:e.position};var p=t(e.body);n.body=x(p);break;case"condition":(n={type:e.type,position:e.position}).condition=t(e.condition),M(n,n.condition),n.then=t(e.then),M(n,n.then),void 0!==e.else&&(n.else=t(e.else),M(n,n.else));break;case"transform":(n={type:e.type,position:e.position}).pattern=t(e.pattern),n.update=t(e.update),void 0!==e.delete&&(n.delete=t(e.delete));break;case"block":(n={type:e.type,position:e.position}).expressions=e.expressions.map(function(e){var r=t(e);return M(n,r),(r.consarray||"path"===r.type&&r.steps[0].consarray)&&(n.consarray=!0),r});break;case"name":n={type:"path",steps:[e]},e.keepArray&&(n.keepSingletonArray=!0);break;case"parent":n={type:"parent",slot:{label:"!"+w++,level:1,index:_++}},A.push(n);break;case"string":case"number":case"value":case"wildcard":case"descendant":case"variable":case"regex":n=e;break;case"operator":if("and"===e.value||"or"===e.value||"in"===e.value)e.type="name",n=t(e);else{if("?"!==e.value)throw{code:"S0201",stack:(new Error).stack,position:e.position,token:e.value};n=e}break;case"error":n=e,e.lhs&&(n=t(e.lhs));break;default:var f="S0206";"(end)"===e.id&&(f="S0207");var g={code:f,position:e.position,token:e.value};if(i)return c.push(g),{type:"error",error:g};throw g.stack=(new Error).stack,g}return e.keepArray&&(n.keepArray=!0),n};o=n(e),p();var C=f(0);if("(end)"!==s.id){var T={code:"S0201",position:s.position,token:s.value};u(T)}if("parent"===(C=E(C)).type||void 0!==C.seekingParent)throw{code:"S0217",token:C.type,position:C.position};return c.length>0&&(C.errors=c),C};return i}();e.exports=i},{"./signature":5}],5:[function(t,e,n){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}var i=t("./utils"),s=function(){var t={a:"arrays",b:"booleans",f:"functions",n:"numbers",o:"objects",s:"strings"};function e(e){for(var n=1,s=[],o={},a=o;n<e.length;){var c=e.charAt(n);if(":"===c)break;var l=function(){s.push(o),a=o,o={}},h=function(t,e,n,r){for(var i=1,s=e;s<t.length;)if(s++,(c=t.charAt(s))===r){if(0===--i)break}else c===n&&i++;return s};switch(c){case"s":case"n":case"b":case"l":case"o":o.regex="["+c+"m]",o.type=c,l();break;case"a":o.regex="[asnblfom]",o.type=c,o.array=!0,l();break;case"f":o.regex="f",o.type=c,l();break;case"j":o.regex="[asnblom]",o.type=c,l();break;case"x":o.regex="[asnblfom]",o.type=c,l();break;case"-":a.context=!0,a.contextRegex=new RegExp(a.regex),a.regex+="?";break;case"?":case"+":a.regex+=c;break;case"(":var d=h(e,n,"(",")"),u=e.substring(n+1,d);if(-1!==u.indexOf("<"))throw{code:"S0402",stack:(new Error).stack,value:u,offset:n};o.regex="["+u+"m]",o.type="("+u+")",n=d,l();break;case"<":if("a"!==a.type&&"f"!==a.type)throw{code:"S0401",stack:(new Error).stack,value:a.type,offset:n};var p=h(e,n,"<",">");a.subtype=e.substring(n+1,p),n=p}n++}var f="^"+s.map(function(t){return"("+t.regex+")"}).join("")+"$",g=new RegExp(f),m=function(t){var e;if(i.isFunction(t))e="f";else switch(r(t)){case"string":e="s";break;case"number":e="n";break;case"boolean":e="b";break;case"object":e=null===t?"l":Array.isArray(t)?"a":"o";break;default:e="m"}return e},y=function(t,e){for(var n="^",r=0,i=0;i<s.length;i++){n+=s[i].regex;var o=e.match(n);if(null===o)throw{code:"T0410",stack:(new Error).stack,value:t[r],index:r+1};r=o[0].length}throw{code:"T0410",stack:(new Error).stack,value:t[r],index:r+1}};return{definition:e,validate:function(e,n){var r="";e.forEach(function(t){r+=m(t)});var i=g.exec(r);if(i){var o=[],a=0;return s.forEach(function(r,s){var c=e[a],l=i[s+1];if(""===l)if(r.context&&r.contextRegex){var h=m(n);if(!r.contextRegex.test(h))throw{code:"T0411",stack:(new Error).stack,value:n,index:a+1};o.push(n)}else o.push(c),a++;else l.split("").forEach(function(n){if("a"===r.type){if("m"===n)c=void 0;else{c=e[a];var i=!0;if(void 0!==r.subtype)if("a"!==n&&l!==r.subtype)i=!1;else if("a"===n&&c.length>0){var s=m(c[0]);i=s===r.subtype.charAt(0)&&0===c.filter(function(t){return m(t)!==s}).length}if(!i)throw{code:"T0412",stack:(new Error).stack,value:c,index:a+1,type:t[r.subtype]};"a"!==n&&(c=[c])}o.push(c),a++}else o.push(c),a++})}),o}y(e,r)}}}return e}();e.exports=s},{"./utils":6}],6:[function(t,e,n){function r(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=i(t))||e){n&&(t=n);var r=0,s=function(){};return{s:s,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){c=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw o}}}}function i(t,e){if(t){if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(t,e):void 0}}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}var a=function(){function t(t){var e=!1;if("number"==typeof t&&(e=!isNaN(t))&&!isFinite(t))throw{code:"D1001",value:t,stack:(new Error).stack};return e}function e(t){var e=!1;return Array.isArray(t)&&(e=0===t.filter(function(t){return"string"!=typeof t}).length),e}function n(e){var n=!1;return Array.isArray(e)&&(n=0===e.filter(function(e){return!t(e)}).length),n}function i(){var t=[];return t.sequence=!0,1===arguments.length&&t.push(arguments[0]),t}function s(t){return!0===t.sequence&&Array.isArray(t)}function a(t){return t&&(!0===t._jsonata_function||!0===t._jsonata_lambda)||"function"==typeof t}function c(t){return"number"==typeof t.arity?t.arity:"function"==typeof t.implementation?t.implementation.length:"number"==typeof t.length?t.length:t.arguments.length}function l(t){return t&&!0===t._jsonata_lambda}var h=("function"==typeof Symbol?Symbol:{}).iterator||"@@iterator";function d(t){return"object"===o(t)&&null!==t&&h in t&&"next"in t&&"function"==typeof t.next}function u(t,e){if(t===e)return!0;if("object"===o(t)&&"object"===o(e)&&null!==t&&null!==e){if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(!u(t[n],e[n]))return!1;return!0}var r=Object.getOwnPropertyNames(t),i=Object.getOwnPropertyNames(e);if(r.length!==i.length)return!1;for(r=r.sort(),i=i.sort(),n=0;n<r.length;n++)if(r[n]!==i[n])return!1;for(n=0;n<r.length;n++){var s=r[n];if(!u(t[s],e[s]))return!1}return!0}return!1}function p(t){var e,n=[],i=r(t);try{for(i.s();!(e=i.n()).done;){var s=e.value;n.push(s)}}catch(t){i.e(t)}finally{i.f()}return n}return{isNumeric:t,isArrayOfStrings:e,isArrayOfNumbers:n,createSequence:i,isSequence:s,isFunction:a,isLambda:l,isIterable:d,getFunctionArity:c,isDeepEqual:u,stringToArray:p}}();e.exports=a},{}]},{},[3])(3)}(ti)),ti.exports),ni=Qr(ei);const ri=function(t){return t};function ii(t){if(!t)return ri;try{const e=ni(function(t){return t.replace(/(?<=^|\.|\[)([a-zA-Z_][\w]*-[\w-]*)(?=\.|$|\[|])/g,"`$1`")}(t));return function(t){return e.evaluate(t)}}catch(t){return Wr(t),ri}}function si(t){const e=mr(t);return null==e?"":String(e)}function oi(t){return Number(mr(t))}function ai(t){return t}function ci(t){return si(t)}function li(t){return oi(t)}function hi(t){if(this.param)return t=si(t),this.param.hasOwnProperty(t)?this.param[t]:this.param.default}function di(t){const{param:e}=this;if(e){for(const n in e){let[r,i]=n.split("~");const s=!!r,o=!!i,a=parseFloat(r),c=parseFloat(i);if(t=oi(t),s&&!o&&t>=a)return e[n];if(!s&&o&&t<a)return e[n];if(t>=a&&t<c)return e[n]}return e.default}}function ui(t){return oi(t)*Math.PI/180}function pi(){}const fi=[/\bimport\b/,/\brequire\b/,/\b__proto__\b/,/\bconstructor\s*\[/,/\bprototype\b/];const gi=["globalThis","self","top","parent","frames","fetch","XMLHttpRequest","eval","Function","require","importScripts","process"],mi=new Array(gi.length).fill(void 0);function yi(t){try{!function(t){for(const e of fi)if(e.test(t))throw new Error(`Blocked pattern detected: ${e}`)}(t);const e=new Function("value","targets","scene",...gi,t);return function(t,n){try{return e.call(this,t,n,globalThis.scene,...mi)}catch(t){return void Wr(t)}}}catch(t){return Wr(t),pi}}function bi(t,e,n,r,i){switch(n){case"value":return"text"===i||"string"===i?ci.bind(t):"number"===i?li.bind(t):ai.bind(e);case"map":return hi.bind(t);case"range":return di.bind(t);case"radian":return ui.bind(t);case"eval":return yi(r).bind(e);default:return ai.bind(e)}}class vi{constructor(t,e){this.owner=e,this.model=t}dispose(){this._model=null,this.owner=null,this.evaluator=null,this.accessor=null}get model(){return this._model}set model(t){const{target:e,property:n,rule:r,param:i,accessor:s}=t;this._model=t,this.evaluator=bi(this,this.owner,r,i,function(t){switch(t){case"ref":case"fillStyle":case"strokeStyle":return"string";default:return}}(n)),this.accessor=ii(s);const o=e.match(/\[(.*?)\]/);if(o){const[t,e]=o[1].split(":");this.propAccessor=ii(t),this.partAccessor=ii(e)}}get target(){return this.model.target}get property(){return this.model.property}get source(){return this.model.source}get param(){return this.model.param}get ndnsp(){return!!this.model.ndnsp}get partial(){return!!this.model.partial}}function xi(t,e,n,r){r?t.forEach(t=>t[e]={...t[e],...n}):t.forEach(t=>t[e]=n)}function wi(t=!1){(t||void 0!==this.data)&&this.mappings&&this.mappings.forEach(t=>{try{let e,{source:n,target:r,property:i,accessor:s,propAccessor:o,partAccessor:a,ndnsp:c=!1,partial:l=!1}=t;n&&"(self)"!=n?(n.startsWith("#")&&(n=n.substring(1)),e=this.root.findById(n)?.data||{}):e=this.data;const h=s(e);if(r=r.trim(),"(root)"==r||"(key)"==r){if(null==h)return;const e=Object.keys(h||{}).map(t=>this.root.findOrCreate(t)).filter(Boolean).flat();e.length>0&&e.forEach(e=>{const n=t.evaluator(h[e.get("id")],[e]);!i||"(action)"===i||c&&!n&&0!==n&&!1!==n||(e[i]=l?{...e[i],...n}:n)})}else if(r.startsWith("[")){if(null==h)return;if(h instanceof Array)h.forEach(e=>{const n=o(e);if(n){const r=this.root.findOrCreate(n);if(r){const n=t.evaluator(a(e),r);!i||"(action)"===i||c&&!n&&0!==n&&!1!==n||xi(r,i,n,l)}}});else{if(!(h instanceof Object))throw String("mapping data should be an object to target property-id.("+h+")");{const e=o(h);if(e){const n=this.root.findOrCreate(e);if(n){const e=t.evaluator(a(h),n);!i||"(action)"===i||c&&!e&&0!==e&&!1!==e||xi(n,i,e,l)}}}}}else{const e=this.root.findAll(r,this);if(e.length>0){const n=t.evaluator(h,e);!i||"(action)"===i||c&&!n&&0!==n&&!1!==n||xi(e,i,n,l)}}}catch(e){Wr(e,this,t)}})}function _i(t,e){this.state.persistent&&this.app?.isViewMode&&this.app?.dataStorage.save(this,t.data),wi.call(this,!0)}function Ai(){if(this._model.mappings)return this._model.mappings instanceof Array?void(this._mappings=(this._model.mappings||[]).filter(t=>t.rule&&t.target).map(t=>new vi(t,this))):(Wr("Mappings model is invalid (should be a Array) ..",this._model.mappings),void(this._mappings=[]));this._mappings=[]}function Si(){this._mappings&&this._mappings.forEach(t=>t.dispose()),delete this._mappings}function Mi(t,e){this.disposeMappings(),wi.call(this)}function ki(t,e,n,r,i,s){e.complete?t.drawImage(e,n,r,i,s):e.addEventListener("load",()=>{this.invalidate()})}function Ei(t){const{effects:e}=this.state;(e||[]).forEach(e=>{this.effect(t,e)})}const Ci={},Ti=0,Pi=1,Oi=2,Di=3,Ii=4,zi=5,ji={VIEW:0,EDIT:1,SHIFT:2,ADD:3},Ri=30,Li="undefined"==typeof window?1:window.devicePixelRatio||(window.matchMedia&&window.matchMedia("(min-resolution: 2dppx), (-webkit-min-device-pixel-ratio: 1.5),(-moz-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)").matches?2:1),Fi=["mousemove","mouseup","mousedown","mouseout","wheel","touchstart","touchmove","touchend","dblclick"],Ni=["keydown","keyup"],Bi={ALPHA:1,FONT_SIZE:15,FONT_FAMILY:"Roboto, sans-serif",FONT_COLOR:"black",TEXT_ALIGN:"center",TEXT_BASELINE:"middle",TEXT_WRAP:!1,BOLD:!1,ITALIC:!1,STROKE_STYLE:"#999",LINE_DASH:"solid",LETTER_SPACING:0},Yi=()=>{if("undefined"==typeof document||"function"!=typeof getComputedStyle||!document.documentElement)return;const t=getComputedStyle(document.documentElement);if(!t)return;const e=t.getPropertyValue?.("--scene-theme-font-family")?.trim(),n=t.fontFamily||"sans-serif";Bi.FONT_FAMILY=e||n},Gi=()=>{if("undefined"!=typeof window&&"undefined"!=typeof document&&(window.addEventListener("load",()=>{Yi()}),"fonts"in document&&"ready"in document.fonts&&document.fonts.ready.then(Yi),"undefined"!=typeof MutationObserver&&document.documentElement)){new MutationObserver(()=>{Yi()}).observe(document.documentElement,{attributes:!0,attributeFilter:["style","class"]})}};let Vi;function Ui(t,e,n,r,i){const{alpha:s=1}=r,o=i.fillStyle;if(t.globalAlpha*=s,o)if("string"==typeof o)t.fillStyle=o,t.fill();else if("object"==typeof o)if("gradient"==o.type){t.translate(n.x,n.y);let r,{width:i,height:s}=e;if("linear"==o.gradientType){const e=3.141592653589793,n=o.rotation;if(n>=.436332&&n<=1.13446||n>=2.00713&&n<=2.70526||n>=3.57792&&n<=4.27606||n>=5.14872&&n<=5.84685){let o=Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((s-4)/2,2));o-=o-(i+s)/3,r=t.createLinearGradient(o*Math.cos(n+e),o*Math.sin(n+e),o*Math.cos(n),o*Math.sin(n))}else r=t.createLinearGradient((i-4)/2*Math.cos(n+e),(s-4)/2*Math.sin(n+e),(i-4)/2*Math.cos(n),(s-4)/2*Math.sin(n))}else if("radial"==o.gradientType){const e=.95*Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((s-4)/2,2));switch(o.center){case"center":default:r=t.createRadialGradient(0,0,0,0,0,e);break;case"left-top":r=t.createRadialGradient(-i/2,-s/2,0,-i/2,-s/2,2*e);break;case"right-top":r=t.createRadialGradient(i/2,-s/2,0,i/2,-s/2,2*e);break;case"left-bottom":r=t.createRadialGradient(-i/2,s/2,0,-i/2,s/2,2*e);break;case"right-bottom":r=t.createRadialGradient(i/2,s/2,0,i/2,s/2,2*e)}}o.colorStops.forEach(t=>{if(t.position>=0&&t.position<=1)try{r.addColorStop(t.position,t.color)}catch(e){Xr("Invalid Color for colorstop : ",t.color),r.addColorStop(t.position,"#fff")}}),t.fillStyle=r,t.fill(),t.translate(-n.x,-n.y)}else if("pattern"==o.type&&o.image)if(o.guideOnly&&1!=i.app.mode)o.color&&(t.fillStyle=o.color,t.fill());else{i.prepareFillIf(!i._pattern_image_origin);const n=i._pattern_image;if(!n)return;let r=0,s=0,a=0,c=0,l=e.left,h=e.top;if(!o.fitPattern){r=o.offsetX,s=o.offsetY;const t=o.width?o.width:n.width,i=o.height?o.height:n.height;switch(o.align){case"center":a=e.width/2-t/2,c=e.height/2-i/2;break;case"left-top":a=0,c=0;break;case"left-bottom":a=0,c=e.height-i;break;case"right-top":a=e.width-t,c=0;break;case"right-bottom":a=e.width-t,c=e.height-i;break;case"left":a=0,c=e.height/2-i/2;break;case"right":a=e.width-t,c=e.height/2-i/2;break;case"top":a=e.width/2-t/2,c=0;break;case"bottom":a=e.width/2-t/2,c=e.height-i}l+=r+a,h+=s+c}t.translate(l,h),o.color&&(t.fillStyle=o.color,t.fill()),o.fitPattern?Math.abs((n.width-e.width)*(n.height-e.height))>1?(delete i._pattern_image,delete i._pattern_image_origin):t.fillStyle=t.createPattern(n,"no-repeat"):t.fillStyle=t.createPattern(n,o.noRepeat?"no-repeat":"repeat"),t.fill(),t.translate(-l,-h)}}function Hi(t,e){const n=this.fillStyle;if(!n||"pattern"!=n.type||!n.image)return void t(this);if("string"!=typeof n.image)return this._pattern_image_origin=this._pattern_image=n.image,void t(this);this._pattern_image=null,this._pattern_image_origin=new Image;const r=this;this._pattern_image_origin.onload=function(){if(!n.fitPattern&&!n.width&&!n.height)return r._pattern_image=r._pattern_image_origin,void t(this);let e=n.width||this.width,i=n.height||this.height;n.fitPattern&&(e=r.bounds.width,i=r.bounds.height);const s=Vi(e,i);s.getContext("2d").drawImage(this,0,0,this.width,this.height,0,0,e,i),r._pattern_image=s,t(this)},this._pattern_image_origin.onerror=function(t){e(t)};try{"data"!==String(n.image).substring(0,4)?this._pattern_image_origin.crossOrigin="use-credentials":this._pattern_image_origin.crossOrigin=null,this._pattern_image_origin.src=this.app.url(n.image)}catch(t){e(t)}}function Wi(t){t&&this.prepareFill(t=>{this.invalidate()},t=>{Wr(t)})}function Xi(t,e){const n=this.fillStyle;n&&"pattern"!==n.type?this._pattern_image&&(this._pattern_image=null,this._pattern_image_origin=null):n?.image&&this.prepareFillIf(n.image)}function qi(t,e,n){let{strokeStyle:r,lineDash:i,lineWidth:s,lineCap:o,lineJoin:a,alpha:c}=e;if(r&&0!=s){if(o&&(t.lineCap=o),i){const e="round"==o;switch(i){case"solid":i=[0,0];break;case"round-dot":i=e?[0,2*s]:[s,s];break;case"square-dot":i=e?[s,2*s]:[2*s,s];break;case"dash":i=e?[3*s,2.5*s]:[4*s,1.5*s];break;case"dash-dot":i=e?[3*s,3*s,0,3*s]:[4*s,2*s,s,2*s];break;case"long-dash":i=e?[5*s,4*s]:[6*s,3*s];break;case"long-dash-dot":i=e?[5*s,3*s,0,3*s]:[6*s,2*s,s,2*s];break;case"long-dash-dot-dot":i=e?[5*s,2*s,0,2*s,0,2*s]:[6*s,s,s,s,s,s]}t.setLineDash(i)}t.globalAlpha*=c,t.strokeStyle=r,t.lineWidth=s,t.lineJoin=a,t.stroke()}}function Ki(t){const e=/(\*\*|__)(.*?)\1|(\*|_)(.*?)\3|([^\*_]+)/g,n=[];let r;for(;null!==(r=e.exec(t));)r[1]?n.push({text:r[2],bold:!0,italic:!1}):r[3]?n.push({text:r[4],bold:!1,italic:!0}):r[5]&&n.push({text:r[5],bold:!1,italic:!1});return n}function $i(t,e,n,r=0){if(e.text.length<2)return e;let i=2;for(;i<e.text.length;i++){const s=e.text.substring(0,i);if(!(t.measureText(s).width+(i-1)*r<n))break}return{...e,text:e.text.substring(0,i-1)}}function Qi(t,e,n,r,i,s=0){const o=String(e).split("\n");return r?[].concat(...o.map(e=>function(t,e,n,r=0){const i=[];let s=[],o=0;return e.forEach(e=>{let a=e.text;for(;a.length>0;){const c=n-o,l=t.measureText(a).width+(a.length-1)*r;if(l<=c)s.push({...e,text:a}),o+=l,a="";else{const n=$i(t,{...e,text:a},c,r);s.push(n),i.push(s),s=[],o=0,a=a.substring(n.text.length)}}}),s.length>0&&i.push(s),i}(t,i?Ki(e):[{text:e,bold:!1,italic:!1}],n,s))):o.map(t=>i?Ki(t):[{text:t,bold:!1,italic:!1}])}function Zi(t,e,n,r,i,s,o=0){if(!r)return[];t.save(),t.font=n;const a=Qi(t,r,e,!!i,s,o);return t.restore(),a}function Ji(t){const{fontFamily:e=Bi.FONT_FAMILY,bold:n=Bi.BOLD,italic:r=Bi.ITALIC,fontSize:i=Bi.FONT_SIZE}=t,s=[];return n&&s.push("bold"),r&&s.push("italic"),s.push(i+"px"),s.push(e),s.join(" ")}function ts(t,e){const n=t.bold||e.bold,r=t.italic||e.italic;return Ji({...t,bold:n,italic:r})}function es(t,e,n,r){let{alpha:i,rotation:s,keepTextAngle:o=!1,fontColor:a=Bi.FONT_COLOR,textAlign:c=Bi.TEXT_ALIGN,textBaseline:l=Bi.TEXT_BASELINE,textBackgroundStyle:h,fontSize:d,lineHeight:u,textWrap:p,textOverflow:f,letterSpacing:g=0}=r;i=void 0!==i?i:1,d||=Bi.FONT_SIZE,u||=1.2*d,t.save();const{left:m,top:y,width:b,height:v}=e;if(s&&o&&(t.translate(m+b/2,y+v/2),t.rotate(-s),t.translate(-(m+b/2),-(y+v/2))),t.beginPath(),t.font=Ji(r),!p&&f){const e=function(t,e,n,r){const i="ellipsis"===t?"…":"",s=e.measureText(i).width,o=[];let a=0;for(const i of n){const n=[];for(const c of i){const i=e.measureText(c.text).width;if(!(a+i<=r-("ellipsis"===t?s:0))){const i=ns(e,c,r-a-("ellipsis"===t?s:0),t);return n.push(i),o.push(n),o}n.push(c),a+=i}o.push(n),a=0}return o}(f,t,n,b);n=e}const x=n.length*u;let w;switch(l){case"top":w=y,t.textBaseline="top";break;case"bottom":w=y+v-x+u,t.textBaseline="bottom";break;default:w=y+v/2-x/2+u/2,t.textBaseline="middle"}t.globalAlpha*=i,t.fillStyle=a,n.forEach((e,i)=>{const s=w+i*u,o=function(t,e,n,r=0){return e.reduce((e,i)=>(t.font=ts(n,i),e+t.measureText(i.text).width+r*(i.text.length-1)),0)}(t,e,r,g);let l=m;switch(c){case"left":case"justify":l=m;break;case"right":l=m+b-o;break;case"center":l=m+(b-o)/2}if(h&&(t.fillStyle=h,function(t,e,n,r,i,s=0,o=!1,a=!0){s="number"==typeof s?{tl:s,tr:s,br:s,bl:s}:{tl:0,tr:0,br:0,bl:0,...s},t.beginPath(),t.moveTo(e+s.tl,n),t.lineTo(e+r-s.tr,n),t.quadraticCurveTo(e+r,n,e+r,n+s.tr),t.lineTo(e+r,n+i-s.br),t.quadraticCurveTo(e+r,n+i,e+r-s.br,n+i),t.lineTo(e+s.bl,n+i),t.quadraticCurveTo(e,n+i,e,n+i-s.bl),t.lineTo(e,n+s.tl),t.quadraticCurveTo(e,n,e+s.tl,n),t.closePath(),o&&t.fill(),a&&t.stroke()}(t,l-4,s-d/2-4,o+8,d+8,4,!0,!1),t.fillStyle=a),"justify"===c&&i<n.length-1&&e.length>1){const n=b-o,i=e.length-1,a=n/i;e.forEach((e,n)=>{t.font=ts(r,e),t.fillText(e.text,l,s),l+=t.measureText(e.text).width+(n<i?a:0)})}else e.forEach(e=>{t.font=ts(r,e),[...e.text].forEach(e=>{t.fillText(e,l,s),l+=t.measureText(e).width+g})})}),t.restore()}function ns(t,e,n,r){let i="";for(let r=0;r<e.text.length;r++){const s=i+e.text[r];if(t.measureText(s).width>n)break;i=s}return{...e,text:i+("ellipsis"===r?"…":"")}}function rs(t,e){for(let n=0;n<t.length;n++)if(t[n].type.startsWith("image/"))return void this.set("fillStyle",{type:"pattern",image:e[n],fitPattern:!0})}Gi(),Yi(),Vi="undefined"==typeof document?function(t,e){return new Canvas(t,e)}:function(t,e){const n=document.createElement("canvas");return n.width=t,n.height=e,n};const is=[];function ss(t,e,n={x:0,y:0},r=0,i={x:1,y:1}){const s=Math.cos(-r),o=Math.sin(-r);return{x:((t-=n.x)*s-(e-=n.y)*o+n.x)/i.x,y:(t*o+e*s+n.y)/i.y}}function os(t,e,n={x:0,y:0},r=0,i={x:1,y:1}){const s=Math.cos(r),o=Math.sin(r);return{x:((t-=n.x)*s-(e-=n.y)*o+n.x)*i.x,y:(t*o+e*s+n.y)*i.y}}function as(t,e,n){if(!this.parent)return{x:t,y:e};const{rotation:r=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){const n=this.state.translate,s=ss(t,e,n,r,i);return n&&(s.x-=n.x/i.x,s.y-=n.y/i.y),s}const s=ss(t,e,n=n||this.rotatePoint,r,i);return{x:s.x+(n.x-n.x/i.x),y:s.y+(n.y-n.y/i.y)}}function cs(t,e,n){if(!this.parent)return{x:t,y:e};let{rotation:r=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){const n=this.state.translate,s=os(t,e,void 0,r+(this._delta?.theta??0),i);return n&&(s.x+=n.x,s.y+=n.y),s}n=n||this.rotatePoint;const{theta:s=0,tx:o=0,ty:a=0,sx:c=1,sy:l=1}=this._delta||{};n={x:n.x+o,y:n.y+a},i={x:i.x*c,y:i.y*l};const h=os(t+o,e+a,n,r+s,i);return{x:h.x-(n.x*i.x-n.x),y:h.y-(n.y*i.y-n.y)}}function ls(t,e,n){n=n||this.rootModel;const r=this.transcoordS2T(t,e,n);return os(r.x,r.y,void 0,(n.get("rotation")||0)+n._delta.theta)}function hs(t,e,n){n=n||this.rootModel,is.length=0;for(let t=this.parent;t&&t!==n;t=t.parent)is.push(t);let r=this.transcoordS2P(t,e);for(let t=0;t<is.length;t++){const e=is[t],{scale:n}=e.model,i=e.bounds;if(n){const t=e.rotatePoint;r.x+=(t.x-i.left)*n.x,r.y+=(t.y-i.top)*n.y}else r.x+=i.left,r.y+=i.top;r=e.transcoordS2P(r.x,r.y)}return r}function ds(t,e,n){n=n||this.rootModel,is.length=0;for(let t=this.parent;t&&t!==n;t=t.parent)is.push(t);let r={x:t,y:e};for(let t=is.length-1;t>=0;t--){const e=is[t],{scale:n}=e.model;r=e.transcoordP2S(r.x,r.y);const i=e.bounds;if(n){const t=e.rotatePoint;r.x-=(t.x-i.left)/n.x,r.y-=(t.y-i.top)/n.y}else r.x-=i.left,r.y-=i.top}return r}function us(t,e,n){const r=this.transcoordT2P(t,e,n);return this.transcoordP2S(r.x,r.y)}function ps(t,e,n){const r=this.rootModel,i=this.transcoordS2T(t,e,r);return n.transcoordT2S(i.x,i.y,r)}function fs(t,e,n){if(!n)for(n=this;n&&!n.isLayer();)n=n.parent;const{translate:r={x:0,y:0},scale:i={x:1,y:1},rotation:s=0}=n.model,o=ss(t,e,r,s,i);return r&&(o.x-=r.x/i.x,o.y-=r.y/i.y),n===this?o:this.transcoordT2S(o.x,o.y,n)}function gs(t,e,n){if(!n)for(n=this;n&&!n.isLayer();)n=n.parent;let r;if(r=n!==this?this.transcoordS2T(t,e,n):{x:t,y:e},!this.scalable)return r;const{translate:i={x:0,y:0},rotation:s=0,scale:o={x:1,y:1}}=n.model;return r=os(r.x,r.y,void 0,s+n._delta.theta,o),i&&(r.x+=i.x,r.y+=i.y),r}function ms(t){const e=t.element,n=t.fillStyle,r=e.style;if(n)if("string"==typeof n)r.backgroundColor=n;else switch(n.type){case"pattern":if(r.backgroundImage="url("+n.image+")",r.backgroundColor="transparent",n.fitPattern?r.backgroundSize="100% 100%":n.width||n.height?r.backgroundSize=`${n.width?n.width+"px":"auto"} ${n.height?n.height+"px":"auto"}`:r.backgroundSize="contain",n.fitPattern)r.backgroundRepeat="no-repeat";else{const{offsetX:t,offsetY:e,noRepeat:i,align:s,color:o}=n;if(i&&(r.backgroundRepeat="no-repeat"),o&&(r.backgroundColor=o),s)switch(s){case"center":r.backgroundPosition="center center";break;case"left-top":r.backgroundPosition="left top";break;case"left-bottom":r.backgroundPosition="left bottom";break;case"right-top":r.backgroundPosition="right top";break;case"right-bottom":r.backgroundPosition="right bottom";break;case"left":r.backgroundPosition="left center";break;case"right":r.backgroundPosition="right center";break;case"top":r.backgroundPosition="center top";break;case"bottom":r.backgroundPosition="center bottom"}else t||e?r.backgroundPosition=`${Number(t)||0}px ${Number(e)||0}px`:delete r.backgroundPosition}break;case"gradient":r.background=function(t,e){const n=e.colorStops,r=e.gradientType;if(n instanceof Array&&n.length>0)switch(r){case"radial":return"radial-gradient(farthest-corner at "+function(t,e){const{width:n,height:r}=t.bounds;switch(e){case"center":return[n/2,r/2];case"left-top":return[0,0];case"right-top":return[n,0];case"left-bottom":return[0,r];default:return[n,r]}}(t,e.center||"center").map(t=>t+"px").join(" ")+","+n.map(t=>`${t.color} ${100*t.position}%`).join(",")+")";case"linear":return"linear-gradient("+(180*(e.rotation||0)/3.141592653589793+90+"deg")+", "+n.map(t=>`${t.color} ${100*t.position}%`).join(",")+")"}return""}(t,n)}else r.background="transparent"}const ys={x:1,y:1},bs={boxSizing:"border-box",margin:"0px",position:"absolute",outline:"none"};function vs(t){let{id:e,scale:n=ys,bold:r,italic:i,fontFamily:s="",textAlign:o,textBaseline:a,textOverflow:c,paddingTop:l,paddingBottom:h,paddingLeft:d,paddingRight:u,fontSize:p=Bi.FONT_SIZE,lineWidth:f=0,lineHeight:g,lineDash:m}=t.state;h||=0,l||=0,d||=0,u||=0;const y=t.state.class,{strokeStyle:b,rotation:v=0,fontColor:x,hidden:w}=t,{left:_,top:A,width:S,height:M}=t.bounds,k=t.element;if(k.hidden=w,e&&(k.id=e),y&&(k.className=y),Object.assign(k.style,bs,{fontFamily:s,fontSize:p+"px",width:S+"px",height:M+"px",paddingTop:l+"px",paddingRight:u+"px",paddingBottom:h+"px",paddingLeft:d+"px",border:f+"px",borderColor:b,borderStyle:f>0?m||Bi.LINE_DASH:"",color:x,fontWeight:r?"bold":"",fontStyle:i?"italic":"",textAlign:"end"==o?"right":"start"==o?"left":o,verticalAlign:a,lineHeight:void 0===g?"":g+"px",whiteSpace:c?"nowrap":"",overflow:c?"hidden":"",textOverflow:c||""},t.isIn3DSpace()?{}:{left:_+"px",top:A+"px"}),ms(t),function(t){if(!t.isShadowable()||!t.state.shadow)return;const e=t.element,{left:n=0,top:r=0,blurSize:i=0,color:s="transparent"}=t.state.shadow;e.style.boxShadow=`${n}px ${r}px ${i}px ${s}`}(t),t.isIn3DSpace())return;const E=t.delta(),C=(n&&n.x||1)*E.sx,T=(n&&n.y||1)*E.sy,P=(v||0)+E.theta,O=E.tx||0,D=E.ty||0;k.style.transform=`rotate(${P}rad) translate(${O}px, ${D}px) scale(${C}, ${T}) perspective(1px)`}function xs(t,e){let n=this.bounds,r=this.rotatePoint;const i=this.get("rotation"),s=this.get("scale");if(t){const r=t.call(e,n);r&&(n=r)}const{left:o,top:a,width:c,height:l}=n;let h=[{x:o,y:a},{x:o+c,y:a+l}];h=h.map(t=>os(t.x,t.y,r,i,s));let d=h[0],u=h[1];r={x:(d.x+u.x)/2,y:(d.y+u.y)/2},h=h.map(t=>ss(t.x,t.y,r,i,s)),d=h[0],u=h[1],this.bounds={left:d.x,top:d.y,width:u.x-d.x,height:u.y-d.y}}function ws(t,e,n){let r=this.path,i=this.rotatePoint;this.get("rotation"),this.get("scale"),t&&(r=t.call(n,r));let s=r.map(t=>this.toParent(t.x,t.y));if(e){const t=e.call(n,s);t&&(s=t)}const o={x:0,y:0};let a,c,l,h;r=s.map(t=>this.fromParent(t.x,t.y,o)),a=c=r[0].x,l=h=r[0].y;for(let t=1;t<r.length;t++){const e=r[t];e.x<a?a=e.x:e.x>c&&(c=e.x),e.y<l?l=e.y:e.y>h&&(h=e.y)}i={x:(a+c)/2,y:(l+h)/2},i=this.toParent(i.x,i.y,o),this.path=s.map(t=>this.fromParent(t.x,t.y,i))}let _s,As=[];function Ss(){_s=null;const t=performance.now();As=As.filter(t=>Ms(t));const e=As.reduce((e,n)=>{const r=t-n.updatedAt;return r>=n.retention?e.kills.push(n):e.next=0==e.next?n.retention-r:Math.min(e.next,n.retention-r),e},{next:0,kills:[]});e.kills.forEach(t=>{const e=As.indexOf(t);-1!=e?(As.splice(e,1),t.removeSelf(!0)):Wr("Should not be here. Maybe reentrance problem.")}),e.next>0&&(_s=setTimeout(ks,Math.max(e.next,500)))}function Ms(t){return!t.disposed&&t.retention>0&&!t.isTemplate()&&t.app&&t.app.isViewMode}const ks=cr(function(){requestAnimationFrame(Ss)},500);var Es=new class{add(t){Ms(t)&&-1==As.indexOf(t)&&(As.push(t),t.touch()),this.touch()}remove(t){const e=As.indexOf(t);e>0&&As.splice(e,1),this.touch()}touch(){null!==_s&&(clearTimeout(_s),_s=null),ks()}dispose(){ks.cancel(),null!==_s&&(clearTimeout(_s),_s=null),As=[]}get length(){return As.length}};const Cs=function(t){return t};function Ts(t){const e=t.indexOf("||");let n="",r="";-1!=e&&(n=t,r=t.substring(e+2,t.length-1).trim(),t=t.replace(t.substring(e,t.length-1),"").trim());const i=t.substr(2,t.length-3).trim().replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".").filter(t=>!!t.trim()),s=i.slice(1);return{defaultValue:r,match:t,originText:n||t,target:i[0],accessor:s.length>0?function(t){return s.reduce((t,e)=>t?t[e]:void 0,t)}:Cs}}function Ps(t){if(!t)return;const e=String(t),n=(e.match(/#{(\S*)}/)||[]).map(t=>Ts(t))[0];if(n)return n.accessor(this.getState(n.target));const r=(e.match(/\${[^}]*}/)||[]).map(t=>Ts(t))[0];if(r){const t=this.root.findById(r.target);return r.accessor(this.getState(t))}return t}function Os(t,e){if(!t)return;const n=String(t),r=e||mr,i=(n.match(/#{(\S*)}/gi)||[]).map(t=>Ts(t)),s=(n.match(/\${[^}]*}/gi)||[]).map(t=>Ts(t));if(0==i.length&&0==s.length)return n;let o=n;return i.forEach(t=>{const e=r(t.accessor(this.getState(t.target)));o=o.replace(t.match,void 0===e?"":e)}),s.forEach(t=>{const e=this.root.findById(t.target),n=r(t.accessor(e&&e.data));o=o.replace(t.match,void 0===n?"":n)}),o}function Ds(t,e,n){if(!t)return;const r=n||mr,i=String(t),s=(i.match(/#{[^}]*}/gi)||[]).map(t=>Ts(t)),o=(i.match(/\${[^}]*}/gi)||[]).map(t=>Ts(t));return 0!=s.length||0!=o.length?function(){let t=i;return s.forEach(n=>{const i=r(n.accessor(e.getState(n.target)));t=t.replace(n.originText,void 0===i?n.defaultValue||"":i)}),o.forEach(n=>{const i=e.root.findById(n.target),s=r(n.accessor(i&&i.data));t=t.replace(n.originText,void 0===s?n.defaultValue||"":s)}),t}:void 0}class Is{constructor(){}static registerDecorator(t,e){Is.constructors.set(t,e)}static create(t,e,n={},r){const i=Is.constructors.get(t);if(!i)throw new Error(`unknown decorator type: ${t}`);return new i(r,e,n)}}Is.constructors=new Map;class zs{constructor(){this.overlays=new WeakMap}static getInstance(){return zs.instance||(zs.instance=new zs),zs.instance}addOverlay(t){if(this.overlays.has(t))return!1;const e={element:t,registry:new Map};return this.overlays.set(t,e),!0}removeOverlay(t){if(!this.overlays.has(t))return!1;const e=this.overlays.get(t);for(const[n]of e.registry)this.removeFromOverlay(t,n);return this.overlays.delete(t),!0}addToOverlay(t,e,n,r={}){this.overlays.has(t)||this.addOverlay(t);const i=this.overlays.get(t);i.registry.has(e)||i.registry.set(e,new Map);const s=i.registry.get(e);s.has(n)&&s.get(n).stop();const o=Is.create(n,e,r,t);return s.set(n,o),o.start(),o}removeFromOverlay(t,e,n){if(!this.overlays.has(t))return;const r=this.overlays.get(t);if(!r.registry.has(e))return;const i=r.registry.get(e);let s=null;if(n){if(i.has(n))try{const t=i.get(n);s=n,t&&"function"==typeof t.stop&&t.stop(),i.delete(n)}catch(t){Wr(`데코레이터(${n}) 제거 중 오류:`,t)}}else{const t=Array.from(i.keys());for(const e of t)try{const t=i.get(e);t&&"function"==typeof t.stop&&t.stop(),i.delete(e)}catch(t){Wr(`데코레이터(${e}) 제거 중 오류:`,t)}s="_all_"}0===i.size&&r.registry.delete(e),!s||"data-spread"!==s&&"_all_"!==s||this.restartBorderAnimations(t,e)}restartBorderAnimations(t,e){if(!this.overlays.has(t))return;const n=this.overlays.get(t);for(const[t,r]of n.registry.entries()){if(e&&t===e)continue;const n=r.get("border-highlighting");if(n)try{"function"==typeof n.invalidate&&n.invalidate();const t=n;"function"==typeof t.startAnimations&&t.options&&t.options.animation&&t.startAnimations()}catch(t){Wr("애니메이션 재시작 중 오류:",t)}}}removeAllFromOverlay(t,e){if(!this.overlays.has(t))return;const n=this.overlays.get(t);if(e)for(const[r]of n.registry)this.removeFromOverlay(t,r,e);else{for(const[t,e]of n.registry)for(const t of e.values())t.stop();n.registry.clear()}}getDecoratorFromOverlay(t,e,n){const r=this.overlays.get(t);return r?.registry.get(e)?.get(n)}getDecoratorsFromOverlay(t,e){const n=this.overlays.get(t);return n&&n.registry.has(e)?Array.from(n.registry.get(e).values()):[]}updateInOverlay(t,e,n,r){const i=this.getDecoratorFromOverlay(t,e,n);i&&i.update(r)}invalidateOverlay(t){if(!this.overlays.has(t))return;const e=this.overlays.get(t),n=Array.from(e.registry.entries());for(const[e,r]of n){if(e.disposed){this.removeFromOverlay(t,e);continue}this.getDecoratorsFromOverlay(t,e).forEach(t=>{t.invalidate()})}}}function js(t,e){return!1}function Rs({x:t,y:e},...n){const r=this.path,i=t,s=e;this.path=r.map(t=>({x:t.x+i,y:t.y+s}))}function Ls(t){const e=t??this.center.x,{rotation:n}=this.state,r=this.fillStyle;if(this.set("rotation",2*Math.PI-n),r&&"gradient"===r.type&&"linear"===r.gradientType){const t=Kn(r);t.rotation=(Math.PI-parseFloat(r.rotation||0))%(2*Math.PI),this.set("fillStyle",t)}this.path=this.path.map(t=>({x:2*e-t.x,y:t.y}))}function Fs(t){this.symmetryX(),this.set("rotation",(Math.PI+this.model.rotation)%(2*Math.PI)),t&&this.move({x:0,y:2*(t-this.center.y)},!1)}function Ns(t,e,n){if(n){const e=this.bounds,n=e.height/e.width;let r=t.width-e.width,i=t.height-e.height;r*n>i?i=r*n:r=i/n;let s=t.left-e.left,o=t.top-e.top;return 0!=s&&0!=o?(o=-i,s=-r):0!=s?s=-r:0!=o&&(o=-i),{left:e.left+s,top:e.top+o,width:e.width+r,height:e.height+i}}return t}function Bs(t,e){if(e||this.app.rotateStepForced){const e=this.app.rotateStep;return Math.floor((t+e/2)/e)*e}return t}function Ys(t){return function(t,e){const n=t.path.slice();if(!n||!n.length)return void Wr("path should not be empty");let r=1;const i=[];if(t.isLine()||n.push(n[0]),e<=0)return t.toScene(n[0].x,n[0].y);if(e>=1)return t.toScene(n[n.length-1].x,n[n.length-1].y);for(;n[r];){const t=n[r-1],e=n[r],s=e.x-t.x,o=e.y-t.y;i.push(Math.sqrt(s*s+o*o)),r++}const s=i.reduce(function(t,e){return t+e},0);r=0;let o=0;do{o+=i[r++]}while(o/s<e);o-=i[--r],e=(e-o/s)*(s/i[r]);const a=n[r%n.length],c=n[(r+1)%n.length],l=a.x+Math.round((c.x-a.x)*e),h=a.y+Math.round((c.y-a.y)*e);return t.toScene(l,h)}(this,t||0)}function Gs(){const t=this.path;let e,n,r,i;e=n=t[0].x,r=i=t[0].y;for(let s=1;s<t.length;s++){const o=t[s];o.x<e?e=o.x:o.x>n&&(n=o.x),o.y<r?r=o.y:o.y>i&&(i=o.y)}return{left:e,top:r,width:n-e,height:i-r}}function Vs(t){const e=this.bounds;if(Math.round(100*t.width)/100==Math.round(100*e.width)/100&&Math.round(100*t.height)/100==Math.round(100*e.height)/100&&Math.round(100*t.left)/100==Math.round(100*e.left)/100&&Math.round(100*t.top)/100==Math.round(100*e.top)/100)return;const n=0==e.width?1:t.width/e.width,r=0==e.height?1:t.height/e.height;this.path=this.path.map(i=>({x:t.left+(i.x-e.left)*n,y:t.top+(i.y-e.top)*r}))}function Us(){const t=this.bounds;return{x:t.left+t.width/2,y:t.top+t.height/2}}function Hs(t){if(!t||isNaN(t.x)||isNaN(t.y))return;const e=this.center;if(Math.round(100*t.x)/100==Math.round(100*e.x)/100&&Math.round(100*t.y)/100==Math.round(100*e.y)/100)return;const n=t.x-e.x,r=t.y-e.y;this.path=this.path.map(t=>({x:t.x+n,y:t.y+r}))}function Ws(){const{x:t,y:e}=this.center;return{x:t,y:e,z:this.state.zPos}}function Xs(t){const{x:e,y:n,z:r}=t||{};this.center={x:e,y:n},isNaN(r)||this.setState("zPos",Number(r))}function qs(){const{rotationX:t,rotationY:e,rotation:n}=this.state;return{x:t,y:e,z:-n}}function Ks(t){const{x:e,y:n,z:r}=t;this.setState({rotationX:e,rotationY:n,rotation:-r})}function $s(){const{width:t,height:e}=this.bounds,{depth:n}=this.state;return{width:t,height:e,depth:n}}function Qs(t){const{width:e,height:n,depth:r}=t,{top:i,left:s}=this.bounds;this.bounds={top:i,left:s,width:e,height:n},this.setState("depth",r)}function Zs(){return Wr("이 컴포넌트에 get path 가 구현되어있지 않음.",this),[]}function Js(t){Wr("이 컴포넌트에 get path 가 구현되어있지 않음.",this)}function to(){return this.path}function eo(){return this.center}function no(){return this.nature.mutable}function ro(){return this.nature.resizable&&!this.stuck}function io(){return this.nature.rotatable&&!this.stuck}const so={x:1,y:1};function oo(t,e,n){const{left:r=0,top:i=0,blurSize:s=0,color:o="transparent"}=e,a=n.rootModel.get("scale")||so;t.shadowOffsetX=r*a.x*Li,t.shadowOffsetY=i*a.y*Li,t.shadowBlur=s*a.x*Li,t.shadowColor=o}function ao(t){t.save(),this.prerender(t),this.render(t),this.postrender(t),t.restore()}function co(t){const e=this.rotatePoint,{scale:n,rotation:r,shadow:i,alpha:s}=this.state,o=(n&&n.x||1)*this._delta.sx,a=(n&&n.y||1)*this._delta.sy,c=(r||0)+this._delta.theta,{tx:l=0,ty:h=0}=this._delta,d=(s||1)-this._delta.fade;(l||h)&&t.translate(l,h),(1!=o||1!=a||c)&&(t.translate(e.x,e.y),1==o&&1==a||t.scale(o,a),c&&t.rotate(c),t.translate(-e.x,-e.y)),d&&(t.globalAlpha=d),i&&oo(t,i,this),this.app.isEditMode&&this.hidden&&(t.globalAlpha*=.5)}function lo(t){}function ho(t){this.drawText(t)}function uo(t,e){t(this)}function po(t){t&&this.prepare&&this.prepare(t=>{this.invalidate()},t=>{Wr(t)})}function fo(t){!this.textHidden&&this.text&&this.hasTextProperty&&es(t,this.textBounds,this.textLines(t),this.state)}function go(t,e){qi(t,e?{...this.state,...e}:this.state)}function mo(t,e){this.fillStyle&&"transparent"!=this.fillStyle&&(Ui(t,this.bounds,this.center,e?{...this.state,...e}:this.state,this),function(t){t.shadowColor="transparent"}(t))}function yo(){return this.get("strokeStyle")}function bo(t){this.set("strokeStyle",t)}function vo(){return this.getState("fillStyle")}function xo(t){this.setState("fillStyle",t)}function wo(){return this.get("fontColor")}function _o(t){this.set("fontColor",String(mr(t)))}function Ao(){return this.getState("rotation")}function So(t){this.setState("rotation",Number(mr(t)))}function Mo(){return this.app.isEditMode?["decotag","data-spread"]:[]}function ko(){const{id:t,tag:e}=this.state;return(t?`#${t}`:"")+(e?`@${e}`:"")}function Eo(){return this.getState("hidden")||!this.data&&0!==this.data&&this.getState("ndns")||this.isTemplate()}function Co(t){this.setState("hidden",t)}function To(){return this.state.tag}function Po(t){this.setState("tag",t)}function Oo(){}function Do(t){this.data instanceof Array?this.data=this.data.concat(t):this.data instanceof Object?this.data={...this.data,...t}:this.data??=t}function Io(){const t=this.getState("text");return null==t?"":String(t)}function zo(t){const{textWrap:e,supportMarkdown:n}=this.state;return Zi(t||this.getContext(),this.textBounds.width,this.font,this.text,e,n)}function jo(){return Ji(this.model)}function Ro(){const t=this.get("lineHeight");return t||1.2*this.fontSize}function Lo(){return this._text_substitutor||(this._text_substitutor=Ds(this.getState("text"),this,void 0)||this.defaultTextSubstitutor),this._text_substitutor}function Fo(){const t=this.get("textFormat");return t?function(t,e){if(!t||isNaN(+e))return e;let n,r,i,s,o,a,c,l,h,d,u,p=t.length,f=t.search(/[0-9\-\+#]/),g=f>0?t.substring(0,f):"",m=t.split("").reverse().join(""),y=m.search(/[0-9\-\+#]/),b=p-y,v=t.substring(b,b+1),x=b+("."===v||","===v?1:0),w=y>0?t.substring(x,p):"";if(n=(e="-"===(t=t.substring(f,x)).charAt(0)?-e:+e)<0?e=-e:0,r=t.match(/[^\d\-\+#]/g),i=".",s=r&&r[1]&&r[0]||",",t=t.split("."),e=+(e=e.toFixed(t[1]&&t[1].length))+"",a=t[1]&&t[1].lastIndexOf("0"),l=e.split("."),(!l[1]||l[1]&&l[1].length<=a)&&(e=(+e).toFixed(a+1)),h=t[0].split(s),t[0]=h.join(""),o=t[0]&&t[0].indexOf("0"),o>-1)for(;l[0].length<t[0].length-o;)l[0]="0"+l[0];else 0===+l[0]&&(l[0]="");if((e=e.split("."))[0]=l[0],c=h[1]&&h[h.length-1].length,c){for(d=e[0],m="",b=d.length%c,p=d.length,x=0;x<p;x++)m+=d.charAt(x),!((x-b+1)%c)&&x<p-c&&(m+=s);e[0]=m}return e[1]=t[1]&&e[1]?"."+e[1]:"",r=e.join(""),"0"!==r&&""!==r||(n=!1),u="+"==t[0].substring(0,1)?n?"-":"+":n?"-":"",g+(u+r)+w}(t,this.textSubstitutor()):this.textSubstitutor()}function No(t){delete this._text_substitutor;const e=mr(t);this.setState("text",null==e?"":String(e))}function Bo(){let{paddingTop:t,paddingLeft:e,paddingRight:n,paddingBottom:r}=this.state;r||=0,t||=0,e||=0,n||=0;const{left:i,top:s,width:o,height:a}=this.bounds;return{left:i+e,top:s+t,width:Math.max(o-e-n,0),height:Math.max(a-t-r,0)}}function Yo(){return 0}function Go(){return!!this._textHidden}function Vo(t){this._textHidden=!!t,this.invalidate()}function Uo(){return!0}function Ho(t){return t}function Wo(t){return Math.pow(t,2)}function Xo(t){return 1-Math.sin(Math.acos(t))}function qo(t,e={x:1.5}){return Math.pow(t,2)*((e.x+1)*t-e.x)}function Ko(t){for(let e=0,n=1;;e+=n,n/=2)if(t>=(7-4*e)/11)return-Math.pow((11-6*e-11*t)/4,2)+Math.pow(n,2)}function $o(t,e={x:1.5}){return Math.pow(2,10*(t-1))*Math.cos(20*Math.PI*e.x/3*t)}var Qo={linear:Ho,quad:Wo,circ:Xo,back:qo,bounce:Ko,elastic:$o},Zo=Object.freeze({__proto__:null,back:qo,bounce:Ko,circ:Xo,default:Qo,elastic:$o,linear:Ho,quad:Wo});function Jo(t){const{duration:e=1e3,easing:n,step:r=()=>{},onStart:i,onProgress:s,onComplete:o,options:a,repeat:c=!1,delta:l}=t;let h;h="string"==typeof l?Zo[l]:l||Ho,"out"===n?h=function(t,e){return function(n){return 1-t(1-n,e)}}(h,a):"inout"===n&&(h=function(t,e){return function(n){return n<.5?t(2*n,e)/2:(2-t(2*(1-n),e))/2}}(h,a));let d=!1,u=null;return{start:function(){if(d)return this;d=!0,i&&i();let t=0;const n=()=>{if(!d)return;0===t&&(t=performance.now());const i=(performance.now()-t)/e,o=c?i%1:Math.min(i,1);r(h(o,a)),s&&s(o),!(i>=1)||c&&d||(this.stop(),t=0),d&&(u=requestAnimationFrame(n))};return u=requestAnimationFrame(n),this},stop:function(){return d=!1,null!==u&&(cancelAnimationFrame(u),u=null),o&&o(),this}}}class ta{constructor(t,e){this._started=!1,this._raf=null,this._timeout=null,this.client=t,this.config=e,this._started=!1;const{delta:n="linear",options:r,ease:i}=this.config;let s;s="string"==typeof n?Qo[n]:n,this.delta="out"===i?function(t,e){return function(n){return 1-t(1-n,e)}}(s,r):"inout"===i?function(t,e){return function(n){return n<.5?t(2*n,e)/2:(2-t(2*(1-n),e))/2}}(s,r):s,this.init()}dispose(){this.stop(),delete this.client}init(){}start(){if(this._started)return;const{duration:t=2e3,delay:e=0,repeat:n=!1,interval:r=0,onComplete:i}=this.config;this._started=!0;let s=0,o=0;const a=()=>{if(this._raf=null,this._timeout=null,!this._started)return;0==s&&(s=performance.now(),this.client?.touch?.());const c=performance.now()-s,l=Math.max((c-e)%(t+r),0)/t,h=r<=0&&o>l;if(o=l,l>=1||h){if(this.step(1),this.client&&this.client.invalidate?.(),!n||!this._started)return this.stop(i),void(s=0);if(r>0)return void(this._timeout=setTimeout(()=>{this.step(0),this.client&&this.client.invalidate?.(),this._timeout=setTimeout(a,r/2)},r/2))}else this.step(this.delta(l)),this.client&&this.client.invalidate?.();this._raf=requestAnimationFrame(a)};this._raf=requestAnimationFrame(a)}stop(t){this._raf&&cancelAnimationFrame(this._raf),this._timeout&&clearTimeout(this._timeout),this._raf=null,this._timeout=null,this._started=!1,t?.()}step(t){}get started(){return this._started}set started(t){this.started!=!!t&&(t?this.start():this.stop())}}const ea={rotation:class extends ta{step(t){const{theta:e=6.28}=this.config;this.client.delta?.("theta",t*e)}},vibration:class extends ta{step(t){const{theta:e=.2617993877991494}=this.config,n=4*e;let r=t*n;t<1/4?r*=-1:t<3/4?r-=2*e:r=n-r,this.client.delta?.("theta",r)}},heartbeat:class extends ta{step(t){const{scale:e=1.3}=this.config,n=2*(e-1);let r;r=t<.5?1+n*t:1+(1-t)*n,this.client.delta?.({sx:r,sy:r})}},moving:class extends ta{step(t){const{x:e=0,y:n=0}=this.config;this.client.delta?.({tx:t*e,ty:t*n})}},outline:class extends ta{step(t){const{rideOn:e}=this.config;if(!e||!this.client)return;const n=this.client.root.findById(e);if(!n)return;let r={tx:0,ty:0};const i=this.client.delta("");i&&"object"==typeof i&&"tx"in i&&"ty"in i&&(r=i);const{tx:s,ty:o}=r,a=n.outline(t),{x:c,y:l}=this.client.center,h=this.client.toScene(c,l);this.client.delta({tx:a.x-h.x+s,ty:a.y-h.y+o})}},fade:class extends ta{step(t){const{startAlpha:e=1,endAlpha:n=0}=this.config,r=Math.max(Math.min(e,n,1),0),i=2*(Math.min(Math.max(e,n,1),1)-r);let s;s=t<.5?i*t:(1-t)*i,this.client.delta?.("fade",s)}},waypoint:class extends ta{start(){let{toComponent:t,fromComponent:e}=this.config;e||(e=t);const n=e.center,r=t.center,{x:i,y:s}=e.toScene(n.x,n.y),{x:o,y:a}=t.toScene(r.x,r.y),c=Math.atan2(a-s,o-i)+Math.PI/2;this.client.location={x:i,y:s},this.client.setState("rotation",c),super.start()}stop(){const{toComponent:t}=this.config;super.stop();const e=t.center,n=t.toScene(e.x,e.y);this.client.delta({tx:0,ty:0}),this.client.location=n}step(t){let{toComponent:e,fromComponent:n}=this.config;n||(n=e);const r=n.center,i=e.center,{x:s,y:o}=n.toScene(r.x,r.y),{x:a,y:c}=e.toScene(i.x,i.y),l=(a-s)*t,h=(c-o)*t;this.client.location={x:s+l,y:o+h}}}};function na(t,e){const n=e.type?ea[e.type]:void 0;return n?new n(t,e):null}const ra={gradation:function(t,e,n){const{subType:r,from:i,to:s,colors:o}=n;let a;switch(r){case"linear":default:a=e.createLinearGradient(i.x,i.y,s.x,s.y);break;case"radial":a=e.createRadialGradient(i.x,i.y,i.r,s.x,s.y,s.r)}o&&(o.forEach(function(t){a.addColorStop(t.endPoint,t.color)}),e.fillStyle=a,e.fill())},shadow:oo};function ia(t){return this._animate&&this._animate.stop(),this._animate=Jo(t),this._animate}function sa(t,e){return function(t,e,n){const r=ra[n.type];r&&r(t,e,n)}(this,t,e)}function oa(...t){return JSON.stringify(this.hierarchy,...t)}function aa(){delete this._model[""],"chartjs"!==this._model.type&&delete this._model.chart}function ca(t){this.rootModel.closeScene(t)}function la(t,e){return t?"object"==typeof t?(this._delta={...this._delta,...t},this._delta):void 0!==e?(this._delta[t]=e,this._delta[t]):void 0:this._delta}function ha(){this.parent&&this.parent.invalidate()}function da(){const t=this.nature["value-property"]||"text";return"value"==t?this.getState("value"):this[t]}function ua(t){const e=this.nature["value-property"]||"text";"value"==e?this.setState("value",t):this[e]=t}function pa(){return this.getState("data")}function fa(t){this.setState("data",t),this.touch()}function ga(t){const e=this.model.event?.tap;if(e){const{x:t,y:n}=this.center;this.rootModel?._doEventAction(e,this,!0,new MouseEvent("click",{clientX:t,clientY:n}))}}function ma(){return!this._mappings&&this.parent&&this.buildMappings(),this._mappings}function ya(){return Number(this.get("retention"))||0}function ba(){if(this.app.isViewMode&&!this.isTemplate()){if(!this._animation){const t=this.state.animation;t&&t.oncreate&&(this._animation=na(this,t.oncreate))}return this._animation}}function va(){return!!this.animation?.started}function xa(t){this.animation&&(this.animation.started=t)}function wa(){}function _a(t,e,n,r){const i=e.get("class");if(!i)return!1;return(i.split(" ")||[]).indexOf(t.substr(1))>=0}function Aa(t,e,n,r){return t==e.get("type")}function Sa(t,e,n,r){if("(all)"==t)return!0;switch(t.charAt(0)){case"#":return function(t,e){return t.substring(1)==e.get("id")}(t,e);case".":return _a(t,e);case"(":return function(t,e,n,r){switch(t){case"(all)":return!0;case"(self)":return r===e;case"(root)":return!r.parent&&r===e;case"(descendant)":return r!==e;case"(child)":return r===e.parent;default:return!1}}(t,e,0,r);default:return Aa(t,e)}}function Ma(t,e,n,r,i,s){return t(e,n,r,i)&&s.push(n),n.components&&n.components.forEach(n=>{Ma(t,e,n,r,i,s)}),s}function ka(t,e,n,r){switch(t){case"(all)":return!0;case"(parent)":return n&&n.parent===e;case"(child)":case"(children)":return n&&n===e.parent;case"(sibling)":case"(siblings)":return n&&n.parent===e.parent&&n!==e;default:return!1}}function Ea(t,e,n){if("(root)"==t)return[e];if("(self)"==t)return n?[n]:[];let r;switch(t.charAt(0)){case"#":const n=e.root.findAllById?.(t.substring(1));return n||[];case".":r=_a;break;case"(":r=ka;break;default:r=Aa}return Ma(r,t,e,n,e,[])}function Ca(t,...e){if(t(this,...e))return this}function Ta(t,...e){return"string"==typeof t?Ea(t,this,e[0]||this):"function"==typeof t&&t(this,...e)?[this]:void 0}function Pa(t,e,n){if(!this.capturable||n?.(this))return!1;const r=this.fromParent(t,e);return this.contains(r.x,r.y)?this:void 0}function Oa(t){return this.anchors.find(e=>e.name===t)}function Da(t){return!0}function Ia(t){return this._parent.getContext(t??this)}function za(){return this.isRoot()?this:this.parent&&this.parent.root}function ja(){return this.isRootModel()?this:this.parent&&this.parent.rootModel}function Ra(){return this._parent}function La(t){this._parent=t}function Fa(){return this.nature.anchors||[]}function Na(){let t=this.position,e=this;for(;"static"===t&&e.parent;)e=e.parent,t=e.position;return"static"==t}function Ba(){return!!(this.parent&&this.parent.layout.isStuck(this)||this.get("locked"))}function Ya(){return!1!==this.get("capturable")&&(this.app.isEditMode||!this.hidden)}function Ga(){return this.app?.isViewMode&&this.isPositionable()?this.state.position??"static":"static"}function Va(){return this.app&&this.app.isViewMode&&this.state.origin||""}function Ua(){const{offsetX:t=0,offsetY:e=0}=this.state;return{x:t,y:e}}function Ha(){return!this._app&&this.parent&&(this._app=this.parent.app),this._app}const Wa={},Xa={mutable:!1,resizable:!0,rotatable:!0,properties:[],"value-property":"text"},qa=[],Ka=new Set(["data","text","value","source","accessor","mappings","variables","fillStyle","strokeStyle","fontColor","alpha","opacity","hidden","locked","hatched","started","animation","sensitive","event","src","href","url","class","templatePrefix"]),$a={theta:0,tx:0,ty:0,sx:1,sy:1,fade:0};let Qa=0;const Za={};const Ja=new FinalizationRegistry(t=>{!function(t){Qa--;let e=Za[t];e||(e=Za[t]={up:0,down:0}),e.down++}(t)});class tc{static get nature(){return Xa}static register(t,e){if(!e)return Wa[t];Wa[t]=e}static get residents(){return Za}static get residentsCount(){return Qa}static registerDecorator(t,e){Is.registerDecorator(t,e)}constructor(t,e){this._app=e,this._model=t||{},this._state={},this._delta=Kn($a),e&&this.animation?.config&&(1==this.animation.config.autoplay||(this.animation.config.autoplay??1))&&(this.animation.started=!0),this.clearCache(),Es.add(this),function(t){Qa++;let e=Za[t];e||(e=Za[t]={up:0,down:0}),e.up++}(this._model.type),Ja.register(this,this._model.type)}created(){}added(t){}removed(t){}async ready(){if(this.state.persistent){const{isViewMode:t,dataStorage:e}=this.app;t&&(this.data=await e.load(this))}}touch(){this.updatedAt=performance.now()}clearCache(...t){this._cachedState=null,function(t,...e){0==e.length?t.__cache__={}:e.forEach(e=>delete t.__cache__[e])}(this,...t)}removeSelf(t){t?this.dispose():this.parent?.removeComponent?.(this)}resetAnimation(){this._animation&&(this._animation.dispose(),this._animation=null,this._delta=Kn($a))}dispose(){this.resetAnimation(),this.disposeMappings(),this.parent?.removeComponent?.(this),delete this._text_substitutor,delete this._value_substitutor,this._disposed=!0,this._realObject&&(this._realObject.dispose(),this._realObject=void 0),this.retention&&Es.touch(),this.clearCache(),delete this._app}get nature(){return this.constructor.nature}get disposed(){return!!this._disposed}isLayer(){return!1}isGroup(){return!1}isContainer(){return!1}isLine(){return!1}isRoot(){return!1}isRootModel(){return!1}is3dish(){return!1}get is3dMode(){return!1}isIn3DSpace(){return!!this._realObject}isTemplate(){return!!this.get("templatePrefix")}isHTMLElement(){return!1}isConnectable(){return!1}isIdentifiable(){return!0}isPositionable(){return this.parent?.isRootModel()}replaceRefids(t){}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});const n=this;return this._applyProps(this._model,t,{getBeforeVal:function(t){return n._model[t]},clearState:!0,sensitive:!1,beforeFillStyle:function(t,e){t.hasOwnProperty("retention")&&Es.add(n)},afterFillStyle:function(t,e){t.hasOwnProperty("mappings")&&n.onchangeMappings(t,e)}})}getState(t){return this._state.hasOwnProperty(t)?this._state[t]:this.get(t)}setState(t,e){if("string"==typeof t)return this.setState({[t]:e});const n=this;return this._applyProps(this._state,t,{getBeforeVal:function(t){return n.getState(t)},clearState:!1,sensitive:this.getState("sensitive")})}get model(){return this._model}get state(){return this._cachedState||(this._cachedState=Object.freeze(Object.assign({},this._model,this._state))),this._cachedState}get hierarchy(){const t=Kn(this._model);return this.volatile.forEach(e=>{delete t[e]}),t}get volatile(){return qa}_applyProps(t,e,n){const r={},i={};let s=!1;const o=Kn(e),a=this;if(Object.getOwnPropertyNames(o).forEach(function(e){const c=n.getBeforeVal(e),l=o[e];!n.sensitive&&function(t,e){return Ce(t,e)}(c,l)||(i[e]=c,r[e]=l,t[e]=l,n.clearState&&delete a._state[e],s=!0)}),s){this._cachedState=null;Object.keys(r).some(t=>!Ka.has(t))&&this.clearCache(),r.hasOwnProperty("text")&&delete this._text_substitutor,n.beforeFillStyle&&n.beforeFillStyle(r,i),r.hasOwnProperty("fillStyle")&&this.onchangeFill(r,i),n.afterFillStyle&&n.afterFillStyle(r,i),r.hasOwnProperty("data")&&this.onchangeData(r,i),this.onchange&&this.onchange(r,i),this.trigger("change",r,i)}return this}contains(t,e){return js.call(this,t,e)}move(t,...e){Rs.call(this,t,...e)}symmetryX(t){Ls.call(this,t)}symmetryY(t){Fs.call(this,t)}adjustResize(t,e,n){return Ns.call(this,t,e,n)}adjustRotation(t,e){return Bs.call(this,t,e)}outline(t){return Ys.call(this,t)}get bounds(){return Gs.call(this)}set bounds(t){Vs.call(this,t)}get center(){return Us.call(this)}set center(t){Hs.call(this,t)}get location(){return Ws.call(this)}set location(t){Xs.call(this,t)}get rotate(){return qs.call(this)}set rotate(t){Ks.call(this,t)}get dimension(){return $s.call(this)}set dimension(t){Qs.call(this,t)}get path(){return Zs.call(this)}set path(t){Js.call(this,t)}get drawPath(){return to.call(this)}get rotatePoint(){return eo.call(this)}get mutable(){return no.call(this)}get resizable(){return ro.call(this)}get rotatable(){return io.call(this)}buildRealObject(){}get realObject(){return this.disposed||this._realObject||(this._realObject=this.buildRealObject(),this._realObject&&(this._realObject.update(),this._realObject.updateTransform())),this._realObject}draw(t){t&&ao.call(this,t)}prerender(t){co.call(this,t)}render(t){lo.call(this,t)}postrender(t){ho.call(this,t)}prepare(t,e){uo.call(this,t,e)}prepareIf(t){po.call(this,t)}drawText(t){fo.call(this,t)}drawStroke(t,e){go.call(this,t,e)}drawFill(t,e){mo.call(this,t,e)}get strokeStyle(){return yo.call(this)}set strokeStyle(t){bo.call(this,t)}get fillStyle(){return vo.call(this)}set fillStyle(t){xo.call(this,t)}get fontColor(){return wo.call(this)}set fontColor(t){_o.call(this,t)}get rotation(){return Ao.call(this)}set rotation(t){So.call(this,t)}get decorators(){return Mo.call(this)}get decotag(){return ko.call(this)}get hidden(){return Eo.call(this)}set hidden(t){Co.call(this,t)}get tag(){return To.call(this)}set tag(t){Po.call(this,t)}get appendum(){return Oo.call(this)}set appendum(t){Do.call(this,t)}defaultTextSubstitutor(){return Io.call(this)}textLines(t){return zo.call(this,t)}get font(){return jo.call(this)}get lineHeight(){return Ro.call(this)}get textSubstitutor(){return Lo.call(this)}get text(){return Fo.call(this)}set text(t){No.call(this,t)}get textBounds(){return Bo.call(this)}get textRotation(){return Yo.call(this)}get textHidden(){return Go.call(this)}set textHidden(t){Vo.call(this,t)}get hasTextProperty(){return Uo.call(this)}animate(t){return ia.call(this,t)}effect(t,e){return sa.call(this,t,e)}serialize(...t){return oa.call(this,...t)}trim(){aa.call(this)}closeScene(t){ca.call(this,t)}delta(t,e){return la.call(this,t,e)}invalidate(){ha.call(this)}get value(){return da.call(this)}set value(t){ua.call(this,t)}get data(){return pa.call(this)}set data(t){fa.call(this,t)}set tap(t){ga.call(this,t)}get mappings(){return ma.call(this)}get retention(){return ya.call(this)}get animation(){return ba.call(this)}get started(){return va.call(this)}set started(t){xa.call(this,t)}get controls(){return wa.call(this)}findFirst(t,...e){return Ca.call(this,t,...e)}findAll(t,...e){return Ta.call(this,t,...e)}capture(t,e,n){return Pa.call(this,t,e,n)}findAnchor(t){return Oa.call(this,t)}isDescendible(t){return Da.call(this,t)}getContext(t){return Ia.call(this,t)}get root(){return za.call(this)}get rootModel(){return ja.call(this)}get parent(){return Ra.call(this)}set parent(t){La.call(this,t)}get anchors(){return Fa.call(this)}get scalable(){return Na.call(this)}get stuck(){return Ba.call(this)}get capturable(){return Ya.call(this)}get position(){return Ga.call(this)}get origin(){return Va.call(this)}get offset(){return Ua.call(this)}get app(){return Ha.call(this)}drawEffect(t){Ei.call(this,t)}prepareFill(t,e){Hi.call(this,t,e)}prepareFillIf(t){Wi.call(this,t)}onchangeFill(t,e){Xi.call(this,t,e)}drawImage(t,e,n,r,i,s){ki.call(this,t,e,n,r,i,s)}mutateBounds(t,e){xs.call(this,t,e)}mutatePath(t,e,n){ws.call(this,t,e,n)}access(t){return Ps.call(this,t)}substitute(t,e){return Os.call(this,t,e)}onchangeMappings(t,e){Mi.call(this,t,e)}onchangeData(t,e){_i.call(this,t,e)}buildMappings(){Ai.call(this)}executeMappings(t){wi.call(this,t)}disposeMappings(){Si.call(this)}ondropfile(t,e){rs.call(this,t,e)}transcoordS2P(t,e,n){return cs.call(this,t,e,n)}transcoordP2S(t,e,n){return as.call(this,t,e,n)}transcoordS2T(t,e,n){return hs.call(this,t,e,n)}transcoordT2P(t,e,n){return ds.call(this,t,e,n)}transcoordT2S(t,e,n){return us.call(this,t,e,n)}transcoordS2TR(t,e,n){return ls.call(this,t,e,n)}transcoordS2O(t,e,n){return ps.call(this,t,e,n)}transcoordC2S(t,e,n){return fs.call(this,t,e,n)}transcoordS2C(t,e,n){return gs.call(this,t,e,n)}toParent(t,e,n){return cs.call(this,t,e,n)}fromParent(t,e,n){return as.call(this,t,e,n)}toScene(t,e,n){return hs.call(this,t,e,n)}fromScene(t,e,n){return us.call(this,t,e,n)}toLocal(t,e,n){return fs.call(this,t,e,n)}toGlobal(t,e,n){return gs.call(this,t,e,n)}toOther(t,e,n){return ps.call(this,t,e,n)}on(t,e,n){return Nr.call(this,t,e,n)}off(t,e,n){return Br.call(this,t,e,n)}once(t,e,n){return Yr.call(this,t,e,n)}trigger(t,...e){return Gr.call(this,t,...e)}delegate_on(t){return Vr.call(this,t)}delegate_off(t){return Ur.call(this,t)}onchange(t,e){}removeComponent(t,e){}addComponent(t,e){}insertComponentAt(t,e,n){}getOverlay(t){}findById(t){}findByRefid(t){}findAllById(t){return[]}resize(){}fit(t){}get components(){}get layout(){}get auxOverlay(){}get isReady(){return!1}get unitScale(){return 1}get selected(){return[]}set selected(t){}get focused(){return null}set focused(t){}get hasSameParentForAllSelected(){return!1}set hasSameParentForAllSelected(t){}get fitMode(){}set fitMode(t){}get element(){return null}set element(t){}}tc.union=function(t){let e=0,n=0,r=0,i=0,s=!1;return t.forEach(t=>{s?(e=Math.min(t.left,e),n=Math.min(t.top,n),r=Math.max(t.left+t.width,r),i=Math.max(t.top+t.height,i)):(e=t.left,n=t.top,r=t.left+t.width,i=t.top+t.height,s=!0)}),{left:e,top:n,width:r-e,height:i-n}},tc.transcoordR=ss,tc.transcoordRR=os,tc.createCanvas=Vi,tc.memoize=Kr,tc.mixin=Hr,tc.drawText=es,tc.font=Ji,tc.textLines=Zi,tc.drawStroke=qi,tc.drawFill=Ui,tc.reposition=vs,tc.RetentionManager=Es,tc.template=function(t,e,n){var r=vn.imports._.templateSettings||vn;n&&Ge(t,e,n)&&(e=void 0),t=mn(t),e=Xe({},e,r,on);var i,s,o=Xe({},e.imports,r.imports,on),a=se(o),c=function(t,e){return nn(e,function(e){return t[e]})}(o,a),l=0,h=e.interpolate||Mn,d="__p += '",u=RegExp((e.escape||Mn).source+"|"+h.source+"|"+(h===ln?Sn:Mn).source+"|"+(e.evaluate||Mn).source+"|$","g"),p=En.call(e,"sourceURL")?"//# sourceURL="+(e.sourceURL+"").replace(/\s/g," ")+"\n":"";t.replace(u,function(e,n,r,o,a,c){return r||(r=o),d+=t.slice(l,c).replace(kn,cn),n&&(i=!0,d+="' +\n__e("+n+") +\n'"),a&&(s=!0,d+="';\n"+a+";\n__p += '"),r&&(d+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=c+e.length,e}),d+="';\n";var f=En.call(e,"variable")&&e.variable;if(f){if(An.test(f))throw new Error("Invalid `variable` option passed into `_.template`")}else d="with (obj) {\n"+d+"\n}\n";d=(s?d.replace(xn,""):d).replace(wn,"$1").replace(_n,"$1;"),d="function("+(f||"obj")+") {\n"+(f?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var g=en(function(){return Function(a,p+"return "+d).apply(void 0,c)});if(g.source=d,tn(g))throw g;return g},tc.buildSubstitutor=Ds,["rotatePoint","font","lineHeight","retention"].forEach(t=>tc.memoize(tc.prototype,t,!1)),["bounds","center","textBounds"].forEach(t=>tc.memoize(tc.prototype,t,!0));class ec extends tc{set rotationX(t){this.setState("rotationX",t)}get rotationX(){return this.getState("rotationX")}set rotationY(t){this.setState("rotationY",t)}get rotationY(){return this.getState("rotationY")}set rotationZ(t){this.setState("rotation",t)}get rotationZ(){return this.getState("rotation")}set zPos(t){this.setState("zPos",t)}get zPos(){return this.getState("zPos")}set depth(t){this.setState("depth",t)}get depth(){return this.getState("depth")}postrender(t){this.drawFill(t,void 0),this.drawStroke(t,void 0),super.postrender(t)}render(t){const e=this.drawPath,{round:n=0}=this.state;if(!(e.length<=1)){t.beginPath();for(let r=0;r<e.length;r++){const i=e[(r-1+e.length)%e.length],s=e[(r+e.length)%e.length],o=e[(r+1)%e.length];if(i.x===s.x&&i.y===s.y)continue;let a=Math.sqrt((i.x-s.x)*(i.x-s.x)+(i.y-s.y)*(i.y-s.y)),c=0!==a?Math.atan2(i.x-s.x,i.y-s.y):0,l=Math.sin(c)*Math.min(n,a/2)+s.x,h=Math.cos(c)*Math.min(n,a/2)+s.y;const d=n>0||0!==a?{x:l,y:h}:s;a=Math.sqrt((o.x-s.x)*(o.x-s.x)+(o.y-s.y)*(o.y-s.y)),c=0!==a?Math.atan2(o.x-s.x,o.y-s.y):0,l=Math.sin(c)*Math.min(n,a/2)+s.x,h=Math.cos(c)*Math.min(n,a/2)+s.y;const u=n>0||0!==a?{x:l,y:h}:s;0==r?t.moveTo(d.x,d.y):t.lineTo(d.x,d.y),n>0&&t.quadraticCurveTo(s.x,s.y,u.x,u.y)}t.closePath()}}}function nc(t,e,n){return Math.max(0,Math.min(t,Math.min(n,e)/2))}function rc(t){const e=class extends t{contains(t,e){const{left:n,top:r,width:i,height:s,lineWidth:o=0}=this.state,a=o/2;return t<Math.max(n+i,n)+a&&t>Math.min(n+i,n)-a&&e<Math.max(r+s,r)+a&&e>Math.min(r+s,r)-a}set path(t){const e=t[0],n=t[2];this.set({left:e.x,top:e.y,width:n.x-e.x,height:n.y-e.y})}get path(){const{left:t=0,top:e=0,width:n=0,height:r=0}=this.state;return[{x:t,y:e},{x:t+n,y:e},{x:t+n,y:e+r},{x:t,y:e+r}]}get anchors(){return function(t){const{left:e,top:n,width:r,height:i}=t.bounds,s=e+r/2,o=n+i/2;return[{name:"TOP",position:{x:s,y:n}},{name:"RIGHT",position:{x:e+r,y:o}},{name:"BOTTOM",position:{x:s,y:n+i}},{name:"LEFT",position:{x:e,y:o}}]}(this)}get bounds(){const{left:t=0,top:e=0,width:n=0,height:r=0}=this.state;return{left:t,top:e,width:n,height:r}}set bounds(t){this.set({left:0,top:0,width:0,height:0,...t})}render(t){let{round:e=0}=this.model;const{left:n,top:r,width:i,height:s}=this.bounds;t.translate(n,r),t.beginPath(),e=nc(e,i,s),e>0?t.roundRect(0,0,i,s,e):t.rect(0,0,i,s),t.translate(-n,-r)}};return Kr(e.prototype,"path",!1),Kr(e.prototype,"bounds",!0),e}const ic={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"textarea",label:"front-side-template",name:"frontSideTemplate",property:{language:"html"}},{type:"textarea",label:"back-side-template",name:"backSideTemplate",property:{language:"html"}},{type:"textarea",label:"style",name:"style",property:{language:"css"}}],help:"scene/component/info-window"};const sc=20;function oc(t,e){const n=t.split(/\s+/),r=n.indexOf(e);return-1!=r?n.splice(r,1):n.splice(-1,0,e),n.join(" ")}class ac extends(rc(ec)){static get image(){return ac._image||(ac._image=new Image,ac._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAY1BMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAbxiAAAAIHRSTlMA+gPshCwwWFzYCeLRm7QRG6rLeDZI9JOJJDtjb1HAf1sAT80AAAQQSURBVHhe7MCBAAAAAMKw/KkzOMG2BAAAAKeu3lUohIEggO7jQi5qHqpgwML5/6+0F0y02z31FlvMMLKt86QMQ1ined2Evih1hFFjLfRWjgzDOGZ6JSiM00B9EuHALtQxJLiQBmqSBCeSUEuEGzs1BDjSaHxWOKK5Eyz/4SoMV/hp4+vtcPkdwZD/udwevNg7t1xXYRiKmkB7C+ENlPLq8fxHeX+RGjWQ1D45ldcIulBIvCvYJGBEadyTzxAcfY57NBjpLScOO/bzugcTHe7IMwiSLMcdHZhocMcMgTLjjgZM7F1bCJZ2v27ARGzYDwIk2Z+JYGJ/iiwQLMv+JAEThjkmRG64Q0Q+gIiIiIiIiIiIyFy0KRFt0bOJZAWSUigmkQaJaXhENiRnYBEpkZySRSRGcmIWEaQnYhHRSI5mESmQnIJFZIqQmGhiEYEbEnPjGlEGjYTogW/WUkOXENENSqZfEXmDiIiIiIiIiIiIiIiIiIiImq5ETIpRpBpjJCMeKy6Ri0ZS9MQjkmkkJs1YRDokp2MRyZGclkUkQnIiEQltaX3Lzb6yiGTpl2y/avqSAxGgelCOKI+Kc2isL0TUSsZ4EREREREREREREREREREREfnIQzXrNWSRTeNxnlOwIgueIr6AAyE+CpiqMEUK71IDO4E+LluEKYKnKcMUifEsTZgiJZ5lDVNkwJPcqzBFoPF/HplfxL/w6b4EPGv1h18Weya1TL8iIiIeiIiIiIiIiEjkPefxV+5YA9PPHylB+u5aqgZ39H+jKOxrqtu+pkzvr9YbzoZ6w2OFkzcrA3yE4WZlSSyFk54VoA/wR43+FaD+r9w32QdWvgvjp2ty2xq8qHPHmtyPFxfrK3hw1ejERlAlfR/Ame2OTow05d4rOLLSlHtDVhI0uRO01JeZ405op6zgNNXT+bIRfpIgn+AkU4pOxBscohojdCHu4RRzjC5EYwVHqRONDkSnEvK/CB3QSU32IRW3ZPnj9iEVoGCNTLVrh8ia1x+6wq8xvB5mz8pxu7oPwIn9lcR0AiuX1+1KX+BXqdvXzWsAC0NsGjzZsS/2Bd6yRA5RgIHkXNhSD3whASZ8rrB9mItuEAizac0fDlHxDMEwpQfD1tW4y3Hjfy5s9nOHH3uwWA+EqEJBWCjoTL/S5toBB/7hu6zer74NgqSP39zJU+qQX3ix763mHTqvIVRUVprCljlElRkEjBqNYevH8veBJ2xhiyhE8YctmhDFH7ZoQhR/2KIJUfxhiyRE8YctmhDFH7ZoQhR/2OIJUfxhC9Ppf/t1jgJACERRsHGyYRZB0Ujvf0xD8w6kP7y6RZmgf/oTFTtbbzJVxZWo2Nlqw6TVy5GowNl6ssm7v50obamfSxQAAAAAAAsKLM15fb3vpQAAAABJRU5ErkJggg=="),ac._image}static toggle(t,e,n,r){if(!e)return void Xr("InfoWindow not defined.");const i=t.root.findById(e);i?i._findInfoWindowByComponent(t)?ac.hide(t,e):ac.show(t,e,n,r):Xr("InfoWindow Not Found.",e)}static hide(t,e){if(!e)return;const n=t.root.findById(e);n?n._removeInfoWindow(t):Xr("InfoWindow Not Found.",e)}static show(e,n,r,i){if(!n)return void Xr("InfoWindow not defined.");const s=e.root.findById(n);if(!s)return void Xr("InfoWindow Not Found.",n);if(s._findInfoWindowByComponent(e))return;const{frontSideTemplate:o="",backSideTemplate:a=""}=s.model;let c=[o,a].filter(t=>String(t).trim());if(c=c.map(t=>tc.template(function(t,e,n){return(e||n?['<div class="info-window-btns">',e?'<button class="closable">&#88</button>':"",n?'<button class="flipable">&#8652</button>':"","</div>"]:[]).concat(['<div class="info-window-content">',t,"</div>"]).join("")}(t,!r,2==c.length))),0==c.length)return;const l='\n.flip {\n backface-visibility: hidden;\n border-radius: 7px;\n height: auto;\n font: normal 14px helvetica, arial, san serif;\n position: absolute;\n opacity: 0.9;\n transform-origin: 50% 50% 0px;\n transition: all 2s;\n min-width: 100px;\n min-height: 50px;\n background-color: #3e424e;\n box-shadow: 2px 3px 2px 0px rgba(0,0,0,0.15);\n}\n\n#side-1 {\n transform: rotateY(0deg);\n}\n\n.flip:after {\n content: "";\n display: block;\n position: absolute;\n opacity: 0.9;\n width: 0;\n height: 0;\n}\n\n.flip.arrow-top:after {\n left: 45%;\n top: -17px;\n border-left: 10px solid transparent;\n border-bottom: 18px solid #323b44;\n border-right: 10px solid transparent;\n}\n\n.flip.arrow-right:after {\n left: 100%;\n top: 48%;\n border-top: 10px solid transparent;\n border-left: 18px solid #323b44;\n border-bottom: 10px solid transparent;\n}\n\n.flip.arrow-bottom:after {\n left: 45%;\n top: 100%;\n border-left: 10px solid transparent;\n border-top: 18px solid #323b44;\n border-right: 10px solid transparent;\n}\n\n.flip.arrow-left:after {\n right: 100%;\n top: 48%;\n border-top: 10px solid transparent;\n border-right: 18px solid #323b44;\n border-bottom: 10px solid transparent;\n}\n\n#side-2 {\n transform: rotateY(180deg);\n}\n\n.flip-side-1 {\n transform: rotateY(0deg) !important;\n}\n\n.flip-side-2 {\n transform: rotateY(180deg) !important;\n}\n\n.info-window-btns {\n position: absolute;\n top: -18px;\n right: 5px;\n overflow: hidden;\n}\n\n.info-window-content {\n padding: 10px;\n color: #efefef;\n font-size: 13px;\n line-height: 1.4;\n}\n\n.info-window-btns button {\n width: 40px;\n height: 40px;\n float: right;\n border: 0;\n border-radius: 50%;\n background-color: #2a7da1;\n margin-right: 3px;\n text-align: center;\n cursor: pointer;\n font-size: 35px;\n color: #fff;\n line-height: 0;\n}\n\n.info-window-btns button:hover {\n background-color: #60bb23;\n}\n'+s.get("style");let{left:h,top:d}=e.bounds;const{x:u,y:p}=i?e.rootModel.toLocal(i.x,i.y):e.toScene(h,d);h=u,d=p;const f=document.createElement("span");f.style.position="absolute";const g=document.createElement("style");let m,y;g.type="text/css",g.appendChild(document.createTextNode(l)),f.appendChild(g),c[0]&&(m=document.createElement("div"),m.id="side-1",m.className="flip",m.style.display="inline-block",m.innerHTML=t.sanitize(c[0](e),{ADD_TAGS:["style"],ADD_ATTR:["class","id","style"]})),c[1]&&(y=document.createElement("div"),y.id="side-2",y.className="flip",y.style.display="inline-block",y.innerHTML=t.sanitize(c[1](e),{ADD_TAGS:["style"],ADD_ATTR:["class","id","style"]}));const b=e.rootModel.getOverlay(e);m&&f.appendChild(m),y&&f.appendChild(y),b.appendChild(f);const v=s._addInfoWindow(e,f,g).signal;if(Fi.forEach(function(t){f.addEventListener(t,t=>t.stopPropagation(),{signal:v})}),Ni.forEach(function(t){f.addEventListener(t,t=>t.stopPropagation(),{signal:v})}),m){const t=m.querySelector(".info-window-btns > .flipable");t&&t.addEventListener("click",function(t){t.preventDefault(),y.className=oc(y.className,"flip-side-1"),m.className=oc(m.className,"flip-side-2")},{signal:v});const r=m.querySelector(".info-window-btns > .closable");r&&r.addEventListener("click",function(t){t.preventDefault(),ac.hide(e,n)},{signal:v})}if(y){const t=y.querySelector(".info-window-btns > .flipable");t&&t.addEventListener("click",function(t){t.preventDefault(),y.className=oc(y.className,"flip-side-1"),m.className=oc(m.className,"flip-side-2")},{signal:v});const r=y.querySelector(".info-window-btns > .closable");r&&r.addEventListener("click",function(t){t.preventDefault(),ac.hide(e,n)},{signal:v})}const x=m.offsetWidth,w=m.offsetHeight,_=e.rootModel.target.getBoundingClientRect(),A=[];m&&A.push(m),y&&A.push(y);const S={x:h,y:d};let M=e.toGlobal(S.x,S.y);if(M.x+x/2+_.left<_.right&&M.x-x/2>_.left){if(w+sc<M.y)return f.style.marginLeft=S.x-x/2+"px",f.style.marginTop=S.y-w-sc+"px",void A.forEach(t=>t.className+=" arrow-bottom");if(M=e.toGlobal(S.x,S.y+w+sc),_.bottom>M.y+_.top)return f.style.marginLeft=S.x-x/2+"px",f.style.marginTop=S.y+sc+"px",void A.forEach(t=>t.className+=" arrow-top")}if(M=e.toGlobal(S.x,S.y),M.x-(x+sc)>_.left)return f.style.marginLeft=S.x-x-sc+"px",f.style.marginTop=S.y-w/2+"px",void A.forEach(t=>t.className+=" arrow-right");f.style.marginLeft=S.x+sc+"px",f.style.marginTop=S.y-w/2+"px",A.forEach(t=>t.className+=" arrow-left")}dispose(){this.infoWindows.map(t=>t.component).forEach(t=>this._removeInfoWindow(t)),super.dispose()}get infoWindows(){return this._windows||(this._windows=[]),this._windows}_findInfoWindowByComponent(t){return this.infoWindows.find(e=>e.component===t)}_addInfoWindow(t,e,n){if(this._findInfoWindowByComponent(t))return;const r=new AbortController;return this._windows.push({component:t,window:e,styleElement:n,abortController:r}),r}_removeInfoWindow(t){const e=this._findInfoWindowByComponent(t);if(!e)return;e.abortController.abort();const n=e.window;n&&n.parentNode.removeChild(n);const r=this.infoWindows.lastIndexOf(e);this.infoWindows.splice(r,1)}render(t){const{left:e,top:n,width:r,height:i}=this.bounds;t.beginPath(),this.drawImage(t,ac.image,e,n,r,i)}get hasTextProperty(){return!1}get nature(){return ic}}tc.register("info-window",ac);const cc={};var lc={list:function(){return{...cc}},register:function(t,e){cc[t]=e},unregister:function(t){delete cc[t]},get:function(t){if(!t)return;const e=cc[t];return e||Wr("Layout Not Found - ",t),e}};const hc=new class{constructor(){this.ABSOLUTE=!0}reflow(t,e){this.drawables(t).filter(t=>t.isHTMLElement()).forEach(t=>t.reposition())}capturables(t){return t.components}drawables(t){return t.app&&!t.app.isViewMode?t.components:t.components.filter(t=>!t.hidden)}isStuck(t){return!1}};lc.register("html-absolute",hc);const dc=new class{constructor(){this.ABSOLUTE=!0}reflow(t,e){}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!1}};function uc(t){const e=t.components.filter(t=>!t.hidden),n=t.getState("layoutConfig")||{},r=e[n&&n.activeIndex||0];return r&&[r]||[]}lc.register("absolute",dc);const pc=new class{reflow(t){const e=t.bounds,n=t.getState("layoutConfig")||{},r={left:0,top:0,width:e.width,height:e.height};t.forEach((t,e)=>{const i=e!=(n.activeIndex||0);t.bounds=r,t.setState("rotation",0),"element"in t&&t.element&&(t.element.style.visibility=i?"hidden":"visible")})}capturables(t){return uc(t)}drawables(t){return uc(t)}isStuck(t){return!0}};function fc(t){const e=t.getState("layoutConfig");return e&&e.weight||1}lc.register("card",pc);const gc=new class{reflow(t){const e=this.drawables(t),n=t.getState("padding")||{},r=e.reduce((t,e)=>t+fc(e),0),i=t.bounds,s=r>0?(i.width-((n.left||0)+(n.right||0)))/r:i.width,o=i.height-((n.top||0)+(n.bottom||0));let a=0;e.forEach(t=>{const e=fc(t),r=t.getState("margin")||{};t.bounds={left:s*a+(n.left||0)+(r.left||0),top:0+(n.top||0)+(r.top||0),width:e*s-((r.left||0)+(r.right||0)),height:o-((r.top||0)+(r.bottom||0))},t.setState("rotation",0),a+=e})}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!0}};function mc(t){const e=t.getState("layoutConfig");return e&&e.weight||1}lc.register("linear-horizontal",gc);const yc=new class{reflow(t){const e=this.drawables(t),n=t.getState("padding")||{},r=e.reduce((t,e)=>t+mc(e),0),i=t.bounds,s=r>0?(i.height-((n.top||0)+(n.bottom||0)))/r:i.height,o=i.width-((n.left||0)+(n.right||0));let a=0;e.forEach(t=>{const e=mc(t),r=t.getState("margin")||{};t.bounds={left:0+(n.left||0)+(r.left||0),top:s*a+(n.top||0)+(r.top||0),width:o-((r.left||0)+(r.right||0)),height:e*s-((r.top||0)+(r.bottom||0))},t.setState("rotation",0),a+=e})}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!0}};lc.register("linear-vertical",yc);const bc=new class{constructor(){this.joinType=!0}reflow(t){const e=t.getState("layoutConfig"),n=e&&e.columns||t.getState("columns"),r=e&&e.rows||t.getState("rows"),i=e&&e.widths||t.getState("widths"),s=e&&e.heights||t.getState("heights"),o=i?i.filter((t,e)=>e<n).reduce((t,e)=>t+e,0):n,a=s?s.filter((t,e)=>e<r).reduce((t,e)=>t+e,0):r,c=t.textBounds,l=t.getState("paddingLeft")||0,h=t.getState("paddingTop")||0,d=c.width/o,u=c.height/a;let p=0,f=0;t.components.forEach((t,e)=>{const r=i?i[e%n]:1,o=s?s[Math.floor(e/n)]:1;let a=t.colspan||1,c=0;for(;--a>0;)c+=i?i[(e+a)%n]:1;let g=t.rowspan||1,m=0;for(;--g>0;)m+=s?s[Math.floor(e/n)+g]:1;t.bounds={left:l+p,top:h+f,width:d*(r+c),height:u*(o+m)},t.setState("rotation",0),e%n==n-1?(p=0,f+=o*u):p+=r*d})}capturables(t){return t.components.filter(t=>!t.merged)}drawables(t){return t.components.filter(t=>!t.merged&&!t.hidden)}isStuck(t){return!0}keyNavigate(t,e,n){const r=t.getState("layoutConfig"),i=r&&r.columns||t.getState("columns"),s=r&&r.rows||t.getState("rows"),{row:o,column:a}=t.getRowColumn(e);switch(n.code){case"ArrowUp":if(o>0)return t.getAt?.((o-1)*i+a);break;case"ArrowDown":if(o<s-1)return t.getAt?.((o+1)*i+a);break;case"ArrowRight":if(a<i-1)return t.getAt?.(o*i+a+1);break;case"ArrowLeft":if(a>0)return t.getAt?.(o*i+a-1);break;default:return e}}};lc.register("table",bc);const vc=20;function xc(t,e="static",n,r,i,s,o={}){const{title:a="",gap:c=vc}=o;if("auto"===n){const{x:e,y:n}=function(t,e,n,r="",i=vc){const s=Math.max(e.width/4-n.width/2,i),o=Math.min(3*e.width/4+n.width/2,e.width-i)-n.width,a=Math.max(e.height/4-n.height/2,i),c=Math.min(3*e.height/4+n.height/2,e.height-i)-n.height+(r?-30:0);return{x:t.x<e.width/2?Math.min(o,t.x+20):Math.max(s,t.x-(n.width+20)),y:t.y<e.height/2?Math.min(c,t.y+20+(r?30:0)):Math.max(a,t.y-(n.height+20))}}(r,i,s,a,c);Object.assign(t.style,{position:"absolute",left:`${e}px`,top:`${n}px`})}else"static"===e?function(t,e,n,r,i){const s=t.style,o=e.includes("left")?i:e.includes("right")?n.width-r.width-i:n.width/2-r.width/2,a=e.includes("top")?i:e.includes("bottom")?n.height-r.height-i:n.height/2-r.height/2;Object.assign(s,{left:`${o}px`,top:`${a}px`})}(t,n,i,s,c):function(t,e,n=vc){const r=t.style;switch(Object.assign(r,{position:"absolute",left:"",right:"",top:"",bottom:"",transform:""}),e){case"center-middle":default:Object.assign(r,{left:"50%",top:"50%",transform:"translate(-50%, -50%)"});break;case"center-top":Object.assign(r,{left:"50%",top:`${n}px`,transform:"translateX(-50%)"});break;case"center-bottom":Object.assign(r,{left:"50%",bottom:`${n}px`,transform:"translateX(-50%)"});break;case"left-middle":Object.assign(r,{left:`${n}px`,top:"50%",transform:"translateY(-50%)"});break;case"right-middle":Object.assign(r,{right:`${n}px`,top:"50%",transform:"translateY(-50%)"});break;case"left-top":Object.assign(r,{left:`${n}px`,top:`${n}px`});break;case"right-top":Object.assign(r,{right:`${n}px`,top:`${n}px`});break;case"left-bottom":Object.assign(r,{left:`${n}px`,bottom:`${n}px`});break;case"right-bottom":Object.assign(r,{right:`${n}px`,bottom:`${n}px`})}}(t,n,c)}function wc(t,e,n={sx:1,sy:1}){let r,i,s=0,o=0,a=!1;const c=/translate\(([-\d.]+)px,\s*([-\d.]+)px\)/;function l(){const e=(t.style.transform||"").match(c);return{x:e?parseFloat(e[1]):0,y:e?parseFloat(e[2]):0}}function h(t,e){a=!0;const n=l();s=n.x,o=n.y,r=t,i=e}function d(e,c){if(!a)return;const l=e-r,h=c-i,{sx:d,sy:u}=n;!function(e,n){t.style.transform=`translate(${e}px, ${n}px)`}(s+l/d,o+h/u)}function u(){const t=l();s=t.x,o=t.y,a=!1}e?.addEventListener("mousedown",t=>{t.preventDefault(),t.stopPropagation(),h(t.clientX,t.clientY);const e=t=>{t.preventDefault(),d(t.clientX,t.clientY)},n=t=>{t.preventDefault(),u(),window.removeEventListener("mousemove",e,!0),window.removeEventListener("mouseup",n,!0)};window.addEventListener("mousemove",e,!0),window.addEventListener("mouseup",n,!0)}),e?.addEventListener("touchstart",t=>{if(1!==t.touches.length)return;t.preventDefault(),t.stopPropagation(),h(t.touches[0].clientX,t.touches[0].clientY);const e=t=>{1===t.touches.length&&(t.preventDefault(),d(t.touches[0].clientX,t.touches[0].clientY))},n=t=>{u(),window.removeEventListener("touchmove",e,!0),window.removeEventListener("touchend",n,!0),window.removeEventListener("touchcancel",n,!0)};window.addEventListener("touchmove",e,!0),window.addEventListener("touchend",n,!0),window.addEventListener("touchcancel",n,!0)})}const _c=["run","goto","goto-playlist","link-open","link-move","route-page","start-scenario","run-scenario","export-data","import-data"];function Ac(t,e){const n=document.createElement("button");return n.className=t,n.textContent=e,n}const Sc=new WeakMap;function Mc(t){const e=t.root,n=Sc.get(e);if(!n)return;if(e===t)return n.forEach(t=>Mc(t[0])),void Sc.delete(e);const r=n.findIndex(e=>e[0]===t);if(-1===r)return;const i=n[r][1];cancelAnimationFrame(i.rafId),i.ac.abort(),i.div.parentNode?.removeChild(i.div),i.scene.target=null,i.scene.release?.(),n.splice(r,1)}class kc{static hideAll(t){(Sc.get(t)||[]).forEach(([t])=>Mc(t))}static hide(t){const e=t.root,n=Sc.get(e);if(!n)return;const r=n.findIndex(e=>e[0]===t);if(-1===r)return;const i=n[r][1];i.div.style.backgroundColor="transparent",i.rafId=function(t,e,n){t.style.opacity="1";const r=(t.style.transform||"").replace(/scale\([^)]+\)/,"").trim();t.style.transform=`${r} scale(1)`;let i=0;const s=Date.now(),o=()=>{if(n?.aborted)return;const a=Math.min((Date.now()-s)/200,1);t.style.opacity=String(1-a),t.style.transform=`${r} scale(${1-a})`.trim(),a<1?i=requestAnimationFrame(o):(t.style.display="none",e&&e())};return i=requestAnimationFrame(o),i}(i.div,()=>{Mc(t)},i.ac.signal)}static show(t,e,n={}){const{data:r,modal:i=!1,closable:s=!0,minimizable:o=!1,draggable:a=!1,output:c=!0,popupPosition:l="static",origin:h="center-middle",title:d=""}=n,u=t.app?.refProvider,p=!l||"static"===l;u?.get(e,!0).then(e=>{const n=document.createElement("div");n.setAttribute("popup",""),"absolute"==l&&(n.style.zIndex="100");const u=n.style;if(i){const{width:e,height:n}=p?t.rootModel.bounds:t.rootModel.auxOverlay.getBoundingClientRect();Object.assign(u,{position:"absolute",zIndex:"100",left:0,top:0,width:p?`${e}px`:"100%",height:p?`${n}px`:"100%",overflow:"hidden",backgroundColor:"transparent"})}else Object.assign(u,{position:"absolute",display:"inline-block"});n.appendChild(function(t){const e=document.createDocumentFragment(),n=document.createElement("div");n.className="popup-wrap";const r=document.createElement("div");if(r.className="popup-translate",t){const t=document.createElement("div");t.className="popup-title-bar";const e=document.createElement("div");e.className="popup-title",t.appendChild(e);const n=document.createElement("div");n.className="popup-buttons-wrap",n.appendChild(Ac("closable","close")),n.appendChild(Ac("minimizable","minimize")),n.appendChild(Ac("draggable","drag_pan")),t.appendChild(n),r.appendChild(t)}else{const t=document.createElement("div");t.className="popup-buttons-wrap float-right",t.appendChild(Ac("closable","close")),t.appendChild(Ac("minimizable","minimize")),t.appendChild(Ac("draggable","drag_pan")),r.appendChild(t)}const i=document.createElement("div");return i.className="popup-content",r.appendChild(i),n.appendChild(r),e.appendChild(n),e}(!!d));const f=n.querySelector(".popup-content"),{width:g,height:m}=e.root.model;Object.assign(f.style,{width:`${g}px`,height:`${m}px`});const y=document.createElement("style");y.appendChild(document.createTextNode("\n\n.popup-wrap .popup-translate {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n min-width: 120px;\n overflow: hidden;\n transition: height 0.5s ease;\n}\n\n.popup-wrap .popup-translate > * {\n pointer-events: auto;\n}\n\n.popup-wrap .popup-content {\n background-color: var(--md-sys-color-surface, white);\n}\n\n.popup-wrap .popup-title-bar {\n display: flex;\n align-items: center;\n top: 0;\n left: 0;\n width: 100%;\n height: 30px;\n background-color: var(--md-sys-color-primary, #f1f1f1);\n color: var(--md-sys-color-on-primary, black);\n padding: 5px;\n box-sizing: border-box;\n border-bottom: 1px solid #ccc;\n}\n\n.popup-wrap .popup-title {\n flex: 1;\n text-align: center;\n}\n\n.popup-wrap .popup-buttons-wrap {\n position: relative;\n display: flex;\n flex-direction: row-reverse;\n gap: 4px;\n min-width: 100px;\n align-items: center;\n justify-items: center;\n margin: 0;\n padding: 0;\n}\n\n.popup-wrap .popup-buttons-wrap.float-right {\n position: absolute;\n right: 0;\n top: 0;\n height: 30px;\n margin-right: 5px;\n}\n\n.popup-wrap button.closable, \n.popup-wrap button.minimizable, \n.popup-wrap button.draggable {\n display: none;\n color: white; \n background-color: black; \n opacity: .3;\n width: 20px;\n height: 20px;\n top: 5px; \n z-index: 1;\n padding: 0;\n margin: 0;\n border: 0px;\n text-align: center;\n cursor: pointer;\n border-radius: 4px;\n font-family: Material Symbols Outlined;\n font-size: 16px;\n}\n\n.popup-wrap button.draggable {\n cursor: move;\n}\n\n.popup-wrap button.closable:hover, \n.popup-wrap button.minimizable:hover, \n.popup-wrap button.draggable:hover {\n opacity: .6; \n}\n")),n.appendChild(y),_c.forEach(n=>{e.on(n,(...e)=>{t.trigger(n,...e)})});const b=new AbortController,v=b.signal,x=n.querySelector(".draggable");[...Fi,...Ni].forEach(t=>{f.addEventListener(t,t=>t.stopPropagation(),{signal:v})}),[...Fi,...Ni].forEach(t=>{n.addEventListener(t,t=>t.stopPropagation(),{signal:v})}),i&&s&&n.addEventListener("click",e=>{e.target===n&&kc.hide(t)},{signal:v});const w=t.rootModel.getOverlay?.({...t,scalable:!l||"static"==l});w?.appendChild(n),function(t,e,n,r,i){const s=t.root;if(s===t)return;Mc(t);let o=Sc.get(s)||[];o=[...o,[t,{div:e,scene:n,ac:r,rafId:i}]],Sc.set(s,o)}(t,n,e,b,0);const _=Sc.get(t.root)?.find(e=>e[0]===t)?.[1];if(d){const t=n.querySelector(".popup-title-bar .popup-title");t&&(t.textContent=d)}const A=n.querySelector(".popup-translate");if(a&&(wc(A,d?n.querySelector(".popup-title-bar"):n.querySelector(".draggable"),function(t,e){if(!(e=e||t.position)||"static"===e){const e=(t.rootModel.getOverlay(t).style.transform||"").match(/scale\(([^,\s)]+)(?:,\s*([^)]+))?\)/),n=e?parseFloat(e[1]):1;return{sx:n,sy:e&&e[2]?parseFloat(e[2]):n}}return{sx:1,sy:1}}(t,l)),d?x&&(x.style.display="block"):(A?.addEventListener("mouseenter",()=>{x&&(x.style.display="block")},{signal:v}),A?.addEventListener("mouseleave",()=>{x&&(x.style.display="none")},{signal:v}))),o){const t=n.querySelector(".minimizable");let e=!1;t.addEventListener("click",t=>{t.preventDefault(),e=!e;const r=n.querySelector(".popup-wrap");!function(t,e,n){const r=e.querySelector(".minimizable"),i=e.querySelector(".popup-translate");i&&(n?(r.textContent="crop_square",i.style.height="30px"):(r.textContent="minimize",i.style.height="100%"))}(0,i?r:n,e)},{signal:v}),d?t&&(t.style.display="block"):(A?.addEventListener("mouseenter",()=>{t&&(t.style.display="block")},{signal:v}),A?.addEventListener("mouseleave",()=>{t&&(t.style.display="none")},{signal:v}))}if(s){const t=n.querySelector(".closable");d?t&&(t.style.display="block"):(A?.addEventListener("mouseenter",()=>{t&&(t.style.display="block")},{signal:v}),A?.addEventListener("mouseleave",()=>{t&&(t.style.display="none")},{signal:v}))}n.querySelector(".closable")?.addEventListener("click",e=>{e.preventDefault(),kc.hide(t)},{signal:v}),n.addEventListener("close-scene",e=>{e.preventDefault(),e.stopPropagation(),kc.hide(t),c&&(t.data=e.detail)},{signal:v}),e.target=f,e.data=r||t.data,e.fit("both");const{x:S,y:M}=t.center,k=t.toScene(S,M),E=i?n.querySelector(".popup-wrap"):n;xc(E,l,h,k,e.root.bounds,{width:g,height:m},{title:d}),i?Object.assign(E.style,{position:"absolute",pointerEvents:"none",width:`${g}px`,height:`${d?m+30:m}px`}):Object.assign(E.style,{pointerEvents:"none",width:`${g}px`,height:`${d?m+30:m}px`});const C=function(t,e,n){t.style.opacity="0";const r=(t.style.transform||"").replace(/scale\([^)]+\)/,"").trim();t.style.transform=`${r} scale(0)`,t.style.display="block";let i=0;const s=Date.now(),o=()=>{if(n?.aborted)return;const a=Math.min((Date.now()-s)/200,1);t.style.opacity=String(a),t.style.transform=`${r} scale(${a})`.trim(),a<1?i=requestAnimationFrame(o):e&&e()};return i=requestAnimationFrame(o),i}(n,()=>{i&&(n.style.backgroundColor="rgba(0,0,0,0.3)")},v);_&&(_.rafId=C)},t=>{Wr("cannot fetch board: "+e,t)})}}const Ec=new Image;function Cc(t){return class extends t{get showMoveHandle(){return!1}postrender(t){super.postrender(t),this.app.isEditMode&&this._focused&&this.showMoveHandle&&this._draw_move_handle(t)}_draw_move_handle(t){const{left:e,top:n,width:r}=this.bounds;t.save(),t.beginPath(),t.globalAlpha=1,t.rect(e+r,n,25,25);t.fillStyle="rgba(235, 235, 235, 1)",t.fill(),t.drawImage(Ec,e+r+3.75,n+3.75,17.5,17.5),t.closePath(),t.restore()}contains(t,e){let n=super.contains(t,e);if(this.app.isViewMode)return n;if(!n){const{left:r,top:i,width:s}=this.bounds,o=r+s,a=25;this.showMoveHandle&&(n=t<Math.max(o+25,o)&&t>Math.min(o+25,o)&&e<Math.max(i+a,i)&&e>Math.min(i+a,i))}return this._focused!==n&&(this._focused=n,this.invalidate()),n}}}Ec.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAclBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BbqFAAAAJXRSTlMAgAP3VSI6/g9fBk5FavJsMrariSjzPnO1enRRL5SMhmOOWB9keFTE0wAAANxJREFUOMutk9kWgyAMRLFuiLjUtdp9yf//YglVsQXz1HniMPcEMgHGvpX2O0Ypi+EgCL+IAShC+wB7QfubRDT7AFcnUPoLMLiP4PyJbsb55i05AgnR5iaQDsICgtH0cotBWoAP1c7kC6kFxEseCfZfB6gEgbNeBrira2QmH1uVYCXlA3is8UmgUCPIyQJKEmu8QtQJN0e9DPXVpzG2G216c1CqRmcBOdxXk07sWUSPv07zo0amCNQycv+NzmR6cRcwmfbuI7p2nZ/z4be0P83Foz6vIkhfZXr82XgDlZsspIq4peUAAAAASUVORK5CYII=";const Tc=[];class Pc extends(Cc(rc(tc))){constructor(t,e){super(t,e),this._components=[]}replaceRefids(t){this.components.forEach(e=>e.replaceRefids(t))}get showMoveHandle(){return!0}get showOverflow(){return!1}dispose(){this.components.slice().forEach(t=>t.dispose()),super.dispose()}isContainer(){return!0}containable(t){return t.isDescendible(this)}get hasTextProperty(){return!1}get components(){return this._components}get focusible(){return!0}get layout(){return lc.get(this.get("layout"))||dc}reflow(){this.layout.reflow(this),this.components&&this.components.forEach(t=>{t.isContainer()&&t.reflow()})}get hierarchy(){const t=super.hierarchy;return this.components&&(t.components=this.components.map(t=>t.hierarchy)),t}addComponent(t,e=!1){const n=t.parent;if(n){if(this===n)return;n.removeComponent(t,e)}const r=this._components.push(t)-1;t.parent=this,t.added(this),e||this.trigger("add",this,t,r),t.delegate_on(this),e||t.trigger("added",this,t,r),this.root&&this.root.isReady&&t.ready()}removeComponent(t,e=!1){const n=this._components.indexOf(t);-1!=n&&(this._components.splice(n,1),t.parent=null,t.removed(this),e||(this.trigger("remove",this,t),t.trigger("removed",this,t)),t.delegate_off(this))}insertComponentAt(t,e,n=!1){const r=t.parent;r&&r.removeComponent(t,n);const i=this._components.splice(0,e);this._components=i.concat(t,this._components),e=this._components.indexOf(t),t.parent=this,t.added(this),n||this.trigger("add",this,t,e),t.delegate_on(this),n||t.trigger("added",this,t,e)}add(t,e=!1){return t instanceof Array?(t.forEach(t=>{-1==this._components.indexOf(t)&&this.addComponent(t,e)}),this):this.add.call(this,[t],e)}remove(t,e=!1){return t instanceof Array?this._components?(t.forEach(t=>{this.removeComponent(t,e)}),this):this:this.remove.call(this,[t],e)}getAt(t){if(this._components)return this._components[t]}forEach(t,e){this._components&&this._components.forEach(t,e)}traverse(t,e){t.call(e,this),this._components&&this._components.forEach(n=>{n.isContainer()?n.traverse(t,e):t.call(e,n)})}indexOf(t){return(this._components||Tc).indexOf(t)}size(){return(this._components||Tc).length}moveChildAt(t,e){const n=this.indexOf(e);if(-1==n)return;let r=this._components.splice(0,n);const i=this._components.splice(1);this._components=r.concat(i),t=Math.max(0,t),t=Math.min(t,this._components.length),r=this._components.splice(0,t),this._components=r.concat(e,this._components)}moveChildForward(t){const e=this.indexOf(t);-1!=e&&e!=this.size()-1&&(this._components[e]=this._components[e+1],this._components[e+1]=t)}moveChildBackward(t){const e=this.indexOf(t);-1!=e&&0!=e&&(this._components[e]=this._components[e-1],this._components[e-1]=t)}moveChildToFront(t){const e=this.indexOf(t);if(-1==e||e==this.size()-1)return;const n=this._components.splice(0,e),r=this._components.splice(1);this._components=n.concat(r,this._components)}moveChildToBack(t){const e=this.indexOf(t);if(-1==e||0==e)return;const n=this._components.splice(0,e),r=this._components.splice(1);this._components=this._components.concat(n,r)}symmetryX(t){super.symmetryX(t),this.components.map(t=>{t.symmetryX(0)})}findAll(t,...e){if("string"==typeof t)return Ea(t,this,e[0]||this);if("function"!=typeof t)return[];let n=[];for(let r=this.components.length-1;r>=0;r--){const i=this.components[r].findAll(t,...e);i&&(n=n.concat(i))}return t(this,...e)&&n.push(this),n}findFirst(t,...e){if("string"==typeof t)return Ea(t,this,e[0])[0];if("function"==typeof t){for(let n=this.components.length-1;n>=0;n--){const r=this.components[n].findFirst(t,...e);if(null!=r)return r}return t(this,...e)?this:void 0}}findById(t){return this.root.findAllById?.(t)?.[0]}findByRefid(t){return this.root.findByRefid?.(t)}contains(t,e){let n=super.contains(t,e);if(!n){const{left:r,top:i,width:s,height:o}=this.state;n=t<Math.max(r+s,r)&&t>Math.min(r+s,r)&&e<Math.max(i+o,i)&&e>Math.min(i+o,i)}return n}capture(t,e,n){if(!this.app.isEditMode&&this.hidden)return!1;const r=this.fromParent(t,e);if(!this.contains(r.x,r.y))return!1;const i=this.bounds;r.x-=i.left,r.y-=i.top;const s=this.layout.capturables(this);for(let i=s.length-1;i>=0;i--){const o=s[i];let a;if(a="static"==o.position?o.capture(r.x,r.y,n):o.capture(t,e,n),a)return a}return this.capturable&&!n?.(this)&&this}capturePath(t,e){if(e){if(e.indexOf(this)>-1)return!1;for(let t=0;t<e.length;t++)if(!this.containable(e[t]))return!1}const n=[],{left:r,top:i,width:s,height:o}=this.bounds;for(let e=0;e<t.length;e++){const a=this.fromParent(t[e].x,t[e].y);if(a.x<r||a.x>r+s||a.y<i||a.y>i+o)return!1;a.x-=r,a.y-=i,n.push(a)}const a=this.layout.capturables(this);for(let t=a.length-1;t>=0;t--){const r=a[t];if(!r.isContainer())continue;const i=r.capturePath(n,e);if(i)return i}return this.focusible&&this}render(t){const{left:e=0,top:n=0,width:r,height:i}=this.bounds;t.beginPath(),t.rect(e,n,r,i),t.closePath(),this.drawFill(t),this.drawStroke(t)}postrender(t){const e=this.layout.drawables(this);if(e.length>0){let{left:n=0,top:r=0,width:i,height:s}=this.bounds;t.save(),this.showOverflow||(t.beginPath(),t.rect(n,r,i,s),t.clip(),t.closePath()),({top:r,left:n}=this.state),t.translate(n,r),e.forEach(e=>{e.draw(this.position&&"static"!==this.position?t:this.getContext(e))}),t.translate(-n,-r),t.restore()}super.postrender(t)}trim(){this.components.forEach(t=>{t.trim()}),super.trim()}}["layout"].forEach(t=>tc.memoize(Pc.prototype,t,!1));class Oc extends Pc{constructor(t,e){super(t,e),this._element=null,t.translate=t.translate||{x:0,y:0},this._draw_reserved=!1,this.__draw__=()=>{this._draw_reserved=!1;const t=performance.now();this.trigger("redraw"),this.reflow(),this.draw();const e=performance.now()-t;Or.drawCount++,Or.drawTimeSum+=e,Or.drawTimeLast=e,Or.countFrame()},this.throttle_render=()=>{this._draw_reserved||requestAnimationFrame(this.__draw__),this._draw_reserved=!0}}get element(){return this._element}set element(t){this._element=t}fitSize(t,e,n,r){if(this.target){if(e){const t=getComputedStyle(this.target);n=n||(t?parseFloat(t.getPropertyValue("width")):this.target.clientWidth),r=r||(t?parseFloat(t.getPropertyValue("height")):this.target.clientHeight)}else n=this.model.width,r=this.model.height;"CANVAS"==t.tagName&&(t.setAttribute("width",n*Li),t.setAttribute("height",r*Li)),t.style.width=n+"px",t.style.height=r+"px"}}resize(){this.fitSize(this.element,!0)}isLayer(){return!0}get showOverflow(){return this.app.isEditMode}get anchors(){}createElement(){const t=tc.createCanvas(1,1);return t.setAttribute("scene",this.state.type),t.style.position="absolute",t.style.pointerEvents=this.pointerEvents,t}get pointerEvents(){return"auto"}get target(){return this._target}set target(t){this._target&&this.element&&this._target.removeChild(this.element),this._target=t,this.element||(this.element=this.createElement()),this.resize(),t?.appendChild(this.element)}get canvas(){return this.element}dispose(){super.dispose(),this.target=null,this.element=null}get selected(){return this.root.selected||[]}set selected(t){this.root.selected=t}get hasSameParentForAllSelected(){return this.root.hasSameParentForAllSelected}get focused(){return this.root.focused}set focused(t){this.root.focused=t}get context2D(){if(!this._context2D&&(this._context2D=this.canvas&&this.canvas.getContext("2d"),this._context2D)){const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._context2D.font=["10px",e].join(" "),this._context2D.save()}return this._context2D}getContext(t){return this._context2D||this.context2D}draw(t){this.canvas&&(t=t||this.getContext(void 0))&&(t.save(),super.draw(t),t.restore())}prerender(t){const{translate:e,scale:n={x:1,y:1},rotation:r}=this.model;t.clearRect(0,0,t.canvas.width,t.canvas.height),e&&t.translate(e.x*Li,e.y*Li),t.scale(n.x*Li,n.y*Li),r&&t.rotate(r)}get rotatePoint(){return{x:0,y:0}}contains(t,e){return!1}invalidate(){Or.invalidateCount++,this.throttle_render()}move(t){const e=this.get("translate")||{x:0,y:0};this.set({translate:{x:e.x+t.x,y:e.y+t.y}})}centerTo(t,e){const n=t.rootModel.toLocal(this.canvas.clientWidth/2,this.canvas.clientHeight/2),{x:r,y:i}=t.center,{x:s,y:o}=t.fromParent(r,i),{x:a,y:c}=t.toScene(s,o),{x:l,y:h}=t.rootModel.get("translate"),{x:d,y:u}=t.rootModel.get("scale");e?Jo({step:function(e){t.rootModel.set({translate:{x:l+(n.x-a)*d*e,y:h+(n.y-c)*u*e}})},duration:1e3,delta:"circ"}).start():t.rootModel.set({translate:{x:l+(n.x-a)*d,y:h+(n.y-c)*u}})}}class Dc extends Oc{dispose(){super.dispose(),delete this._canvas,delete this._auxCanvas}createElement(){const t=document.createElement("div");return t.style.position="absolute",t.setAttribute("scene",`${this.state.type}-anchor`),t.style["user-select"]="none",t.style.overflow="hidden",this._canvas=tc.createCanvas(1,1),this._canvas.style.position="absolute",this._canvas.style.pointerEvents="none",this._canvas.setAttribute("scene",`${this.state.type}-canvas`),t.appendChild(this._canvas),this._auxCanvas=tc.createCanvas(1,1),this._auxCanvas.style.position="absolute",this._auxCanvas.style.pointerEvents="none",this._auxCanvas.style.zIndex="100",this._auxCanvas.setAttribute("scene",`${this.state.type}-aux-canvas`),t.appendChild(this._auxCanvas),t}resize(){if(!this.element)return;this.fitSize(this.element,!0);const t=this.element.clientWidth,e=this.element.clientHeight;this.fitSize(this.canvas,!0,t,e),this.fitSize(this.auxCanvas,!0,t,e)}get canvas(){return this._canvas}get auxCanvas(){return this._auxCanvas}get context2D(){if(!this._context2D){this._context2D=this.canvas&&this.canvas.getContext("2d");const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._context2D.font=["10px",e].join(" "),this._context2D.save()}return this._context2D}get auxContext2D(){if(!this._auxContext2D){this._auxContext2D=this.auxCanvas&&this.auxCanvas.getContext("2d");const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._auxContext2D.font=["10px",e].join(" "),this._auxContext2D.save()}return this._auxContext2D}getContext(t){/*!this.app.isViewMode || */
3
+ return!t||t.scalable?this.context2D:this.auxContext2D}draw(t){this.canvas&&this.element&&(t=t||this.getContext(void 0))&&(this.auxContext2D.clearRect(0,0,this.auxCanvas.width,this.auxCanvas.height),this.auxContext2D.save(),this.auxContext2D.scale(Li,Li),super.draw(t),this.auxContext2D.restore())}}var Ic,zc,jc,Rc;!function(t){t.CANVAS="canvas",t.DOM="dom"}(Ic||(Ic={}));class Lc{get overlay(){return this._overlay}constructor(t,e,n={}){if(this.element=null,this.isActive=!1,this._overlay=null,this.target=e,this.options={animation:!0,repeat:!0,duration:3e3,color:"#ff0000",opacity:1,fadeOut:!1,...n},this.mode=n.mode||this.determineOptimalMode(),t){this._overlay=t;zs.getInstance().addOverlay(t)}}determineOptimalMode(){return!1!==this.options.animation?Ic.DOM:Ic.CANVAS}start(){if(!this.isActive&&(this.isActive=!0,this.mode===Ic.DOM)){this.overlay?(this.createDOMElements(),this.target.on("change",this.handleTargetChange,this),this.target.on("removed",this.handleTargetRemoved,this)):(Xr("오버레이가 설정되지 않아 DOM 모드 데코레이터를 시작할 수 없습니다."),this.isActive=!1)}}stop(){this.isActive&&(this.isActive=!1,this.mode===Ic.DOM&&(this.target.off("change",this.handleTargetChange,this),this.target.off("removed",this.handleTargetRemoved,this),this.removeDOMElements()))}update(t){if(t&&(this.options={...this.options,...t},t.mode&&t.mode!==this.mode))return this.stop(),this.mode=t.mode,void this.start();this.mode===Ic.DOM&&this.isActive&&this.updateDOMElements()}render(t,e){return!(this.mode!==Ic.CANVAS||!this.isActive)&&this.renderCanvas(t,e)}removeDOMElements(){this.element&&this.element.parentNode&&(this.element.parentNode.removeChild(this.element),this.element=null)}updateDOMElements(){this.removeDOMElements(),this.createDOMElements()}getComponentPosition(){const{left:t,top:e,width:n,height:r}=this.target.bounds;if("function"==typeof this.target.toGlobal)try{const{x:i,y:s}=this.target.toGlobal(t,e,this.target.rootModel);return{x:i,y:s,width:n,height:r}}catch(t){Xr("좌표 변환 실패, 기본값 사용:",t)}return{x:t,y:e,width:n,height:r}}handleTargetChange(t,e){this.target.disposed?this.stop():this.invalidate()}handleTargetRemoved(){this.stop()}invalidate(){}}function Fc(t,n,r){const i=t.rootModel;if(i?.is3dMode){const n=t._realObject?.object3d,r=i.activeCamera3d,s=i.renderer3d;if(n&&r&&s){const t=new e.Vector3;n.getWorldPosition(t);const i=t.clone().project(r),o=s.domElement;return{x:(.5*i.x+.5)*o.clientWidth,y:(.5*-i.y+.5)*o.clientHeight}}return null}const s=t.toGlobal(n,r,i);return isNaN(s.x)||isNaN(s.y)?null:s}class Nc extends Lc{constructor(t,e,n={}){super(t,e,{strokeWidth:2,strokeColor:"#FF0000",strokeOpacity:1,fillColor:"none",fillOpacity:.5,scale:1,rotation:0,x:0,y:0,zIndex:0,mode:Ic.DOM,...n}),this.vectorElement=null,this.animationElements=[],this.svgContainer=null,this.animationElement=null}getDecoratorType(){return this.constructor.DECORATOR_TYPE}dispose(){this.removeDOMElements()}determineOptimalMode(){return Ic.DOM}renderCanvas(t,e){return Xr("VectorDecorator는 Canvas 렌더링을 지원하지 않습니다. DOM 모드를 사용하세요."),!1}getSvgContainer(){if(!this.overlay)throw new Error("오버레이 요소가 없습니다.");if(!Nc.svgContainerCache.has(this.overlay)){const t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.setAttribute("class","vector-decorator-container"),t.setAttribute("pointer-events","none"),t.style.overflow="visible",t.style.position="absolute",t.style.top="0",t.style.left="0",this.overlay.appendChild(t),Nc.svgContainerCache.set(this.overlay,t)}return Nc.svgContainerCache.get(this.overlay)}getOrCreateDecoratorGroup(t=!1){const e=this.getSvgContainer(),n=this.getVectorGroupId(),r=this.getDecoratorType();let i=e.querySelector(`g[data-decorator-type-container="${r}"]`);if(!i){i=document.createElementNS("http://www.w3.org/2000/svg","g"),i.setAttribute("data-decorator-type-container",r),i.setAttribute("class",`${r}-container`),e.appendChild(i);const t=document.createElementNS("http://www.w3.org/2000/svg","defs");t.setAttribute("data-defs-for",r),i.appendChild(t)}let s=i.querySelector(`g[data-decorator-group-id="${n}"]`);if(!s){const{id:t}=this.target.state;return s=document.createElementNS("http://www.w3.org/2000/svg","g"),s.setAttribute("data-decorator-group-id",n),s.setAttribute("data-decorator-type",r),t&&s.setAttribute("data-component-id",t),i.appendChild(s),s}if(t)for(;s.firstChild;)s.removeChild(s.firstChild);return s}getDefsForType(){const t=this.getSvgContainer(),e=this.getDecoratorType();let n=t.querySelector(`g[data-decorator-type-container="${e}"]`);n||(this.getOrCreateDecoratorGroup(),n=t.querySelector(`g[data-decorator-type-container="${e}"]`));let r=n.querySelector(`defs[data-defs-for="${e}"]`);return r||(r=document.createElementNS("http://www.w3.org/2000/svg","defs"),r.setAttribute("data-defs-for",e),n.appendChild(r)),r}getDecoratorGroup(){const t=this.getSvgContainer(),e=this.getVectorGroupId(),n=t.querySelector(`g[data-decorator-group-id="${e}"]`);if(n)return n}createFadeAnimation(t=0,e=1,n=1e3,r={}){const i=document.createElementNS("http://www.w3.org/2000/svg","animate");return i.setAttribute("attributeName","opacity"),i.setAttribute("from",t.toString()),i.setAttribute("to",e.toString()),i.setAttribute("dur",`${n}ms`),r.delay&&i.setAttribute("begin",`${r.delay}ms`),i.setAttribute("fill","freeze"),r.repeat?i.setAttribute("repeatCount","indefinite"):i.setAttribute("repeatCount","1"),i}createTranslateAnimation(t,e=[],n=1e3,r={}){const i=document.createElementNS("http://www.w3.org/2000/svg","animateTransform");return i.setAttribute("attributeName","transform"),i.setAttribute("type","translate"),i.setAttribute("values",t.join(";")),e.length>0&&i.setAttribute("keyTimes",e.join(";")),i.setAttribute("dur",`${n}ms`),r.delay&&i.setAttribute("begin",`${r.delay}ms`),r.repeat?i.setAttribute("repeatCount","indefinite"):i.setAttribute("repeatCount","1"),i}createRotateAnimation(t=0,e=360,n=0,r=0,i=1e3,s={}){const o=document.createElementNS("http://www.w3.org/2000/svg","animateTransform");return o.setAttribute("attributeName","transform"),o.setAttribute("type","rotate"),o.setAttribute("from",`${t} ${n} ${r}`),o.setAttribute("to",`${e} ${n} ${r}`),o.setAttribute("dur",`${i}ms`),s.delay&&o.setAttribute("begin",`${s.delay}ms`),s.repeat?o.setAttribute("repeatCount","indefinite"):o.setAttribute("repeatCount","1"),o}addAnimations(t,e){e.forEach(e=>{t.appendChild(e),this.animationElements.push(e)})}projectComponentPoint(t,e,n){return Fc(t,e,n)}updatePosition(){if(!this.vectorElement)return;const t=this.options,{left:e,top:n}=this.target.bounds,r=this.projectComponentPoint(this.target,e,n);if(!r)return;const i=r.x+(t.x??0),s=r.y+(t.y??0);this.vectorElement.setAttribute("transform",`translate(${i}, ${s})`)}updateDOMElements(){this.createDOMElements()}getVectorGroupId(){const t=this.getDecoratorType(),{refid:e="unknown"}=this.target.state;return`decorator-${t}-${e}`}removeVectorElements(){if(this.overlay)try{const t=Nc.svgContainerCache.get(this.overlay);if(!t)return;const e=this.getVectorGroupId(),n=this.getDecoratorType(),r=t.querySelector(`g[data-decorator-type-container="${n}"]`);if(r){const t=r.querySelector(`g[data-decorator-group-id="${e}"]`);if(t&&(this.vectorElement&&(this.vectorElement===t||t.contains(this.vectorElement))&&(this.vectorElement=null),this.animationElements=this.animationElements.filter(e=>!t.contains(e)),t.remove()),!r.querySelector("g[data-decorator-group-id]")){const t=r.querySelector(`defs[data-defs-for="${n}"]`);t&&t.remove(),r.remove()}}0===t.children.length&&(t.remove(),Nc.svgContainerCache.delete(this.overlay))}catch(t){Wr("벡터 요소 제거 실패:",t)}}removeDOMElements(){this.removeVectorElements()}delta(t,e){if("string"==typeof t)return"fade"===t?this.applyFadeValue(e):"theta"===t&&this.applyRotationValue(e),{tx:0,ty:0};if("object"==typeof t){const e=t;("tx"in e||"ty"in e)&&this.applyTranslateValues(e.tx||0,e.ty||0),("sx"in e||"sy"in e)&&this.applyScaleValues(e.sx||1,e.sy||1)}return null}invalidate(){this.mode===Ic.DOM&&this.isActive&&this.updateDOMElements()}touch(){}applyFadeValue(t){if(this.vectorElement){const e=t.toFixed(2);this.vectorElement.setAttribute("opacity",e)}}applyRotationValue(t){if(this.vectorElement){const e=this.getComponentBounds(),n=e.width/2,r=e.height/2,i=(180*t/Math.PI).toFixed(1);this.vectorElement.setAttribute("transform",`rotate(${i} ${n} ${r})`)}}applyTranslateValues(t,e){if(this.vectorElement){const n=this.vectorElement.getAttribute("transform")||"";if(n.includes("translate")){const r=n.replace(/translate\([^)]+\)/,`translate(${t}, ${e})`);this.vectorElement.setAttribute("transform",r)}else this.vectorElement.setAttribute("transform",`${n} translate(${t}, ${e})`.trim())}}applyScaleValues(t,e){if(this.vectorElement){const n=this.vectorElement.getAttribute("transform")||"";if(n.includes("scale")){const r=n.replace(/scale\([^)]+\)/,`scale(${t}, ${e})`);this.vectorElement.setAttribute("transform",r)}else this.vectorElement.setAttribute("transform",`${n} scale(${t}, ${e})`.trim())}}getComponentBounds(){return this.target&&this.target.bounds?this.target.bounds:{top:0,left:0,width:100,height:100}}}Nc.svgContainerCache=new WeakMap,Nc.DECORATOR_TYPE="vector";class Bc extends Lc{constructor(t,e,n={}){super(t,e,{scale:1,strokeColor:"#000000",strokeWidth:1,rotation:0,shadow:!1,shadowColor:"rgba(0,0,0,0.5)",shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,...n}),this.animationId=null,this.canvasElement=null,this.context=null,this.animationFrame=null,this.deltaValue=0}determineOptimalMode(){return Ic.CANVAS}createDOMElements(){Xr("RasterDecorator는 DOM 렌더링을 지원하지 않습니다. Canvas 모드를 사용하세요.")}setAnimationState(t=3e3,e=!1){Bc.animationStateMap.set(this.target,{startTime:Date.now(),duration:t,repeat:e})}getAnimationState(){const t=Bc.animationStateMap.get(this.target);if(!t)return{delta:0,finished:!0};const{startTime:e,duration:n,repeat:r}=t,i=Date.now()-e;let s=Math.min(1,i/n),o=s>=1;return r&&o&&(Bc.animationStateMap.set(this.target,{startTime:Date.now(),duration:n,repeat:r}),s=0,o=!1),{delta:s,finished:o}}bounceEffect(t,e=10){const n=Math.min(1,4*t);return Math.sin(n*Math.PI*10)*e*(1-n)}fadeEffect(t,e=!1){return e?t:1-t}pulseEffect(t,e=.8,n=1.2){return e+(.5*Math.sin(t*Math.PI*2)+.5)*(n-e)}rotateEffect(t,e=360){return t*e}applyShadowEffect(t){if(this.options.shadow){const e=this.options;t.shadowColor=e.shadowColor||"rgba(0,0,0,0.5)",t.shadowBlur=e.shadowBlur||5,t.shadowOffsetX=e.shadowOffsetX||2,t.shadowOffsetY=e.shadowOffsetY||2}}removeShadowEffect(t){t.shadowColor="transparent",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0}start(){super.start(),this.isActive&&this.options.animation&&this.setAnimationState(this.options.duration||3e3,this.options.repeat||!1)}stop(){null!==this.animationFrame&&(cancelAnimationFrame(this.animationFrame),this.animationFrame=null),super.stop(),Bc.animationStateMap.delete(this.target)}applyTransform(t,e,n){const r=this.options,i=r.scale||1,s=r.rotation||0;if(1!==i||0!==s){if(t.translate(e,n),0!==s){const e=s*Math.PI/180;t.rotate(e)}1!==i&&t.scale(i,i),t.translate(-e,-n)}}delta(t,e){return"string"==typeof t?("fade"===t?(this.deltaValue=e,this.context&&(this.context.globalAlpha=e)):"theta"===t&&(this.deltaValue=e),{tx:0,ty:0}):null}invalidate(){this.context&&this.isActive&&(this.animationFrame||(this.animationFrame=requestAnimationFrame(()=>{this.animationFrame=null,this.renderCanvas(this.context,this.deltaValue)})))}touch(){this.deltaValue=0}}Bc.animationStateMap=new WeakMap;class Yc extends Nc{constructor(t,e,n={}){super(t,e,{size:1,showId:!1,animation:!1,...n}),this.arrowElement=null,this.labelElement=null,this.decoratorGroup=null}createDOMElements(){if(this.overlay)try{const t=this.getOrCreateDecoratorGroup(!0);this.decoratorGroup=t,t.setAttribute("transform","translate(0, 0)");const{size:e=1,showId:n=!1,duration:r=3e3,repeat:i=!0}=this.options,s=this.options.color||"#FF0000",o=document.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("d",this.createArrowPath(0,0,e)),o.setAttribute("fill",s),o.setAttribute("stroke",s),o.setAttribute("stroke-width","1"),o.setAttribute("class","bouncing-arrow");const a=[];if(this.options.animation){const t=this.createBounceAnimation(r,i);if(a.push(t),this.options.fadeOut){const t=this.createFadeAnimation(1,0,r,{repeat:i});a.push(t)}}if(this.addAnimations(o,a),t.appendChild(o),this.arrowElement=o,n&&this.target.state?.id){const n=this.createArrowLabel(0,0,s,this.target.state.id,e);if(this.options.animation){const t=[],e=this.createBounceAnimation(r,i);if(t.push(e),this.options.fadeOut){const e=this.createFadeAnimation(1,0,r,{repeat:i});t.push(e)}this.addAnimations(n,t)}t.appendChild(n),this.labelElement=n}this.vectorElement=t,this.updatePosition(),this.options.animation&&this.startAnimations()}catch(t){Wr("화살표 SVG 요소 생성 실패:",t)}}createArrowPath(t,e,n=1){const r=n/this.getScale();return`\n M${t-10*r},${e-16*r} \n L${t+10*r},${e-16*r} \n L${t+10*r},${e-8*r} \n L${t+16*r},${e-8*r} \n L${t},${e} \n L${t-16*r},${e-8*r} \n L${t-10*r},${e-8*r} \n Z\n `}getScale(){try{if(this.target.rootModel&&"number"==typeof this.target.rootModel.scale)return this.target.rootModel.scale||1}catch(t){Xr("스케일 계산 실패, 기본값 사용",t)}return 1}createBounceAnimation(t,e){const n=["0,-10"],r=["0"];for(let t=1;t<=20;t++){const e=t/20;let i=Math.pow(e,.5).toFixed(3);parseFloat(r[r.length-1])>=parseFloat(i)&&(i=(parseFloat(r[r.length-1])+.01).toFixed(3)),n.push("0,0"),n.push("0,-10"),r.push(i),r.push((parseFloat(i)+.01).toFixed(3))}return r[r.length-1]="1.000",this.createTranslateAnimation(n,r,t,{repeat:e})}createArrowLabel(t,e,n,r,i=1){const s=document.createElementNS("http://www.w3.org/2000/svg","g");s.setAttribute("class","bouncing-arrow-label");const o=document.createElementNS("http://www.w3.org/2000/svg","rect");o.setAttribute("x",`${t+20*i}`),o.setAttribute("y",""+(e-20*i)),o.setAttribute("width",""+40*i),o.setAttribute("height",""+20*i),o.setAttribute("rx","3"),o.setAttribute("fill",n);const a=document.createElementNS("http://www.w3.org/2000/svg","text");return a.setAttribute("x",`${t+40*i}`),a.setAttribute("y",""+(e-6*i)),a.setAttribute("fill","white"),a.setAttribute("font-size",12*i+"px"),a.setAttribute("text-anchor","middle"),a.textContent=r,s.appendChild(o),s.appendChild(a),s}startAnimations(){setTimeout(()=>{this.animationElements.forEach(t=>{try{t instanceof SVGElement&&"beginElement"in t&&t.beginElement()}catch(t){Wr("애니메이션 시작 오류:",t)}})},10)}invalidate(){this.updatePosition()}updatePosition(){if(!this.vectorElement)return;const{left:t,top:e,width:n}=this.target.bounds,r=this.projectComponentPoint(this.target,t+n/2,e);if(!r)return;const i=Math.max(r.x,20),s=Math.max(r.y,20);this.vectorElement.setAttribute("transform",`translate(${i}, ${s})`)}}Yc.DECORATOR_TYPE="bouncing-arrow",function(t){t.ROTATE="rotate",t.TRANSLATE_X="translateX",t.TRANSLATE_Y="translateY",t.SCALE="scale",t.FADE="fade"}(zc||(zc={})),function(t){t.VIBRATION="vibration",t.ROTATION="rotation",t.HEARTBEAT="heartbeat",t.MOVING="moving",t.OUTLINE="outline",t.FADE="fade",t.WAYPOINT="waypoint"}(jc||(jc={})),function(t){t.CENTER="center",t.TOP="top",t.RIGHT="right",t.BOTTOM="bottom",t.LEFT="left",t.TOP_RIGHT="top-right",t.BOTTOM_RIGHT="bottom-right",t.BOTTOM_LEFT="bottom-left",t.TOP_LEFT="top-left",t.TOP_LEFT_CORNER="top-left-corner",t.TOP_RIGHT_CORNER="top-right-corner",t.BOTTOM_LEFT_CORNER="bottom-left-corner",t.BOTTOM_RIGHT_CORNER="bottom-right-corner",t.LEFT_TOP="left-top",t.LEFT_BOTTOM="left-bottom",t.RIGHT_TOP="right-top",t.RIGHT_BOTTOM="right-bottom"}(Rc||(Rc={}));class Gc extends Nc{constructor(t,e,n={}){const{animations:r,...i}=n;super(t,e,{icon:"arrow_forward",size:24,color:"#FF0000",deltaX:0,deltaY:0,...i}),this.animations=[],this._location=null,this.element=null,this._delta={theta:0,tx:0,ty:0,sx:1,sy:1,fade:0},this.animations=this.createAnimations(r)}delta(t,e){if(!t)return this._delta;switch(typeof t){case"object":this._delta={...this._delta,...t};break;case"string":if(void 0===e)return this._delta[t];this._delta[t]=e}const{tx:n,ty:r,sx:i,sy:s,theta:o,fade:a}=this._delta;return this.element&&Object.assign(this._getElement().style,{opacity:1-a,transform:`rotate(${o}rad) translate(${n}px, ${r}px) scale(${i}, ${s}) perspective(1px)`}),this._delta}getScaledSize(){const t=this.options.size||24,{x:e}=this.target.rootModel?.state.scale||{x:1},{x:n}=this.target.state.scale||{x:1};return t*e*n}get location(){if(this._location)return this._location;const{location:t,position:e,size:n}=this.options,{bounds:r}=this.target,{left:i,top:s,width:o,height:a}=r,c=n/2;let l;switch(e||t||Rc.CENTER){case Rc.TOP_LEFT:case"top-left":l={x:i,y:s-n};break;case Rc.TOP:case"top":l={x:i+(o-n)/2,y:s-n};break;case Rc.TOP_RIGHT:case"top-right":l={x:i+o-n,y:s-n};break;case Rc.BOTTOM_LEFT:case"bottom-left":l={x:i,y:s+a};break;case Rc.BOTTOM:case"bottom":l={x:i+(o-n)/2,y:s+a};break;case Rc.BOTTOM_RIGHT:case"bottom-right":l={x:i+o-n,y:s+a};break;case Rc.LEFT_TOP:case"left-top":l={x:i-n,y:s};break;case Rc.LEFT:case"left":l={x:i-n,y:s+(a-n)/2};break;case Rc.LEFT_BOTTOM:case"left-bottom":l={x:i-n,y:s+(a-n)};break;case Rc.RIGHT_TOP:case"right-top":l={x:i+o,y:s};break;case Rc.RIGHT:case"right":l={x:i+o,y:s+(a-n)/2};break;case Rc.RIGHT_BOTTOM:case"right-bottom":l={x:i+o,y:s+(a-n)};break;case Rc.TOP_LEFT_CORNER:case"top-left-corner":l={x:i-c,y:s-c};break;case Rc.TOP_RIGHT_CORNER:case"top-right-corner":l={x:i+o-c,y:s-c};break;case Rc.BOTTOM_LEFT_CORNER:case"bottom-left-corner":l={x:i-c,y:s+a-c};break;case Rc.BOTTOM_RIGHT_CORNER:case"bottom-right-corner":l={x:i+o-c,y:s+a-c};break;case Rc.CENTER:default:l={x:i+o/2-n/2,y:s+a/2-n/2}}return this._location=this.toGlobal(l.x,l.y),this._location}_getElement(){return this.element||this._createElementIfNeeded(),this.element}_createElementIfNeeded(){if(this.element)return;const{icon:t="arrow_forward",color:e="#FF0000"}=this.options,n=this.getScaledSize(),{x:r,y:i}=this.location,s=document.createElement("div");s.setAttribute("scene","animated-icon"),Object.assign(s.style,{position:"absolute",fontVariationSettings:"'FILL' 1",fontFamily:"Material Symbols Outlined",fontSize:n+"px",width:n+"px",height:n+"px",lineHeight:n+"px",padding:0,margin:0,color:e,textAlign:"center",verticalAlign:"middle",left:r+"px",top:i+"px",pointerEvents:"none"}),s.textContent=t,this.element=s}updateIconSizeAndPosition(){if(!this.element)return;this._location=null;const t=this.getScaledSize(),{x:e,y:n}=this.location;Object.assign(this.element.style,{fontSize:t+"px",width:t+"px",height:t+"px",lineHeight:t+"px",left:e+"px",top:n+"px"})}touch(){}invalidate(){this.updateIconSizeAndPosition()}start(){super.start(),this.isActive&&(this.overlay&&this._getElement().parentNode!==this.overlay&&this.overlay.appendChild(this._getElement()),this.animations.forEach(t=>t.start()))}stop(){this.animations.forEach(t=>t.stop()),this.element&&this._getElement().parentNode&&this._getElement().parentNode.removeChild(this._getElement()),this._location=null,super.stop()}get center(){const t=this.getScaledSize(),{x:e,y:n}=this.location;return{x:e+t/2,y:n+t/2}}toGlobal(t,e){const{tx:n,ty:r}=this._delta;return this.projectComponentPoint(this.target,t+n,e+r)??this.target.toGlobal(t+n,e+r)}get root(){return this.target.root}createDOMElements(){this._getElement()}updateDOMElements(){this.element?this.updateIconSizeAndPosition():this._getElement()}updatePosition(){this.updateIconSizeAndPosition()}createAnimations(t){if(Array.isArray(t))return t.map(t=>("theta"in t&&(t={...t,theta:t.theta*(Math.PI/180)}),na(this,t)));if(t){const e={...t};return"theta"in e&&(e.theta=e.theta*(Math.PI/180)),[na(this,e)]}return[]}}Gc.DECORATOR_TYPE="animated-icon";class Vc extends Nc{constructor(t,e,n={}){super(t,e,{distance:10,lineWidth:2,fillStyle:"rgba(0, 0, 0, 0.5)",animation:!1,...n}),this.pathElement=null,this.decoratorGroup=null,this.elementId=""}createDOMElements(){if(this.overlay)try{this.getSvgContainer();const t=this.getOrCreateDecoratorGroup(!0);this.decoratorGroup=t;const e=this.getDefsForType(),n=this.getVectorGroupId();this.elementId=`${n}-border`;const{color:r="#FF0000",animation:i=!1}=this.options,{fillStyle:s}=this.target.state||{},o=this.createFilter(this.elementId,this.options.fillStyle||s||"rgba(0, 0, 0, 0.5)");if(e.appendChild(o),i){const t=this.createGradient(this.elementId,r);e.appendChild(t)}const a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("fill","none"),a.setAttribute("stroke-width",(this.options.lineWidth||2).toString()),a.setAttribute("stroke-linejoin","round"),a.setAttribute("pointer-events","none"),a.setAttribute("class","border-highlighting-path"),a.setAttribute("filter",`url(#${this.elementId}-filter)`),i?a.setAttribute("stroke",`url(#${this.elementId})`):a.setAttribute("stroke",r),t.appendChild(a),this.pathElement=a,this.vectorElement=t,this.updatePathData(),this.options.animation&&this.startAnimations()}catch(t){Wr("테두리 하이라이팅 요소 생성 실패:",t)}}updatePathData(){if(!this.pathElement)return;this.pathElement.setAttribute("visibility","visible"),this.pathElement.setAttribute("opacity","1"),this.decoratorGroup&&(this.decoratorGroup.setAttribute("visibility","visible"),this.decoratorGroup.setAttribute("opacity","1"));const t=this.getPathPoints(),e=this.createOffsetPath(t,this.options.distance),{round:n=0}=this.target.state||{},r=this.pointsToPathData(e,n);this.pathElement.setAttribute("d",r)}invalidate(){this.updatePathData()}startAnimations(){if(!this.isActive||!this.options.animation||!this.pathElement)return;this.pathElement.setAttribute("visibility","visible"),this.pathElement.setAttribute("opacity","1"),this.decoratorGroup&&(this.decoratorGroup.setAttribute("visibility","visible"),this.decoratorGroup.setAttribute("opacity","1")),this.elementId&&(this.pathElement.setAttribute("stroke",`url(#${this.elementId})`),this.pathElement.setAttribute("filter",`url(#${this.elementId}-filter)`));const t=this.getDefsForType();if(t){const e=t.querySelector(`#${this.elementId}`);if(e){e.querySelectorAll("animate").forEach(t=>{try{t instanceof SVGElement&&"beginElement"in t&&(t.setAttribute("restart","always"),t.beginElement())}catch(t){Wr("애니메이션 시작 오류:",t)}})}}}createDefsElement(t){const e=document.createElementNS("http://www.w3.org/2000/svg","defs");return t.appendChild(e),e}getPathPoints(){if(!this.target.path||!Array.isArray(this.target.path)){const{left:t,top:e,width:n,height:r}=this.target.bounds;return[{x:t,y:e},{x:t+n,y:e},{x:t+n,y:e+r},{x:t,y:e+r}]}return this.target.path.map(t=>this.target.toGlobal(t.x,t.y))}createOffsetPath(t,e){const n=[],r=t.length;for(let i=0;i<r;i++){const s=t[(i-1+r)%r],o=t[i],a=t[(i+1)%r],c=o.x-s.x,l=o.y-s.y,h=a.x-o.x,d=a.y-o.y,u=this.normalize({x:l,y:-c}),p=this.normalize({x:d,y:-h}),f=this.normalize({x:(u.x+p.x)/2,y:(u.y+p.y)/2}),g={x:o.x+f.x*e,y:o.y+f.y*e};n.push(g)}return n}normalize(t){const e=Math.sqrt(t.x*t.x+t.y*t.y);return{x:t.x/e||0,y:t.y/e||0}}pointsToPathData(t,e=0){if(t.length<2)return"";let n="";const r=t.length,i=(t,e,n)=>{const r=e.x-t.x,i=e.y-t.y,s=Math.sqrt(r*r+i*i);return{x:t.x+r/s*n,y:t.y+i/s*n}};for(let s=0;s<r;s++){const o=t[s],a=t[(s+1)%r],c=t[(s-1+r)%r],l=Math.sqrt((o.x-c.x)**2+(o.y-c.y)**2),h=Math.sqrt((o.x-a.x)**2+(o.y-a.y)**2),d=Math.min(e,l/2,h/2),u=i(o,c,d),p=i(o,a,d);n+=0===s?`M${u.x},${u.y}`:` L${u.x},${u.y}`,n+=` Q${o.x},${o.y} ${p.x},${p.y}`}return n+=" Z",n}createFilter(t,e){const n=document.createElementNS("http://www.w3.org/2000/svg","filter");n.setAttribute("id",`${t}-filter`);const r=document.createElementNS("http://www.w3.org/2000/svg","feFlood");r.setAttribute("flood-color",e),r.setAttribute("result","flood");const i=document.createElementNS("http://www.w3.org/2000/svg","feComposite");i.setAttribute("in","flood"),i.setAttribute("in2","SourceAlpha"),i.setAttribute("operator","in"),i.setAttribute("result","mask");const s=document.createElementNS("http://www.w3.org/2000/svg","feMerge"),o=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode");o.setAttribute("in","mask");const a=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode");return a.setAttribute("in","SourceGraphic"),s.appendChild(o),s.appendChild(a),n.appendChild(r),n.appendChild(i),n.appendChild(s),n}createGradient(t,e){const n=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");n.setAttribute("id",t),n.setAttribute("x1","0%"),n.setAttribute("y1","0%"),n.setAttribute("x2","100%"),n.setAttribute("y2","0%");const r=this.alterColor(e,120),i=this.alterColor(e,240),s=document.createElementNS("http://www.w3.org/2000/svg","stop");s.setAttribute("offset","0%"),s.setAttribute("stop-color",e);const o=document.createElementNS("http://www.w3.org/2000/svg","animate");o.setAttribute("attributeName","stop-color"),o.setAttribute("values",`${e};${r};${i};${e}`),o.setAttribute("dur","5s"),o.setAttribute("repeatCount","indefinite");const a=document.createElementNS("http://www.w3.org/2000/svg","stop");a.setAttribute("offset","100%"),a.setAttribute("stop-color",i);const c=document.createElementNS("http://www.w3.org/2000/svg","animate");return c.setAttribute("attributeName","stop-color"),c.setAttribute("values",`${i};${e};${r};${i}`),c.setAttribute("dur","5s"),c.setAttribute("repeatCount","indefinite"),s.appendChild(o),a.appendChild(c),n.appendChild(s),n.appendChild(a),n}alterColor(t,e){const n=this.convertToHex(t),r=parseInt(n.substring(1,3),16),i=parseInt(n.substring(3,5),16),s=parseInt(n.substring(5,7),16),o=this.rgbToHsl(r,i,s);o[0]=(o[0]+e/360)%1;const a=this.hslToRgb(o[0],o[1],o[2]);return`#${a[0].toString(16).padStart(2,"0")}${a[1].toString(16).padStart(2,"0")}${a[2].toString(16).padStart(2,"0")}`}rgbToHsl(t,e,n){t/=255,e/=255,n/=255;const r=Math.max(t,e,n),i=Math.min(t,e,n);let s=0,o=0;const a=(r+i)/2;if(r!==i){const c=r-i;switch(o=a>.5?c/(2-r-i):c/(r+i),r){case t:s=(e-n)/c+(e<n?6:0);break;case e:s=(n-t)/c+2;break;case n:s=(t-e)/c+4}s/=6}return[s,o,a]}hslToRgb(t,e,n){let r,i,s;if(0===e)r=i=s=n;else{const o=(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t),a=n<.5?n*(1+e):n+e-n*e,c=2*n-a;r=o(c,a,t+1/3),i=o(c,a,t),s=o(c,a,t-1/3)}return[Math.round(255*r),Math.round(255*i),Math.round(255*s)]}convertToHex(t){if(/^#([0-9A-F]{6})$/i.test(t))return t;const e=document.createElement("canvas");e.width=1,e.height=1;const n=e.getContext("2d");if(!n)return"#FF0000";n.fillStyle=t,n.fillRect(0,0,1,1);const r=n.getImageData(0,0,1,1).data;return`#${r[0].toString(16).padStart(2,"0")}${r[1].toString(16).padStart(2,"0")}${r[2].toString(16).padStart(2,"0")}`}start(){super.start(),this.isActive&&this.options.animation&&this.startAnimations()}removeDOMElements(){try{if(this.pathElement&&this.pathElement.parentNode&&this.pathElement.parentNode.removeChild(this.pathElement),this.pathElement=null,this.overlay){const t=this.getDefsForType();if(t&&this.elementId){const e=t.querySelector(`#${this.elementId}-filter`);e&&e.remove();const n=t.querySelector(`#${this.elementId}`);n&&n.remove()}}super.removeDOMElements()}catch(t){Wr("테두리 하이라이팅 요소 제거 중 오류:",t)}}}Vc.DECORATOR_TYPE="border-highlighting";class Uc extends Nc{constructor(t,e,n={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:3,padding:3,fontSize:"12px",fontFamily:"Arial",...n}),this.textElements=[],this.rectElements=[]}updateDOMElements(){if(!this.target.anchors||!this.target.anchors.length)return void this.removeDOMElements();const t=this.options,e=this.target.anchors,n=this.getOrCreateDecoratorGroup(!0);this.textElements=[],this.rectElements=[];const r=this.getComponentBounds();e.forEach(e=>{const{name:i,position:s}=e;let{x:o,y:a}=s||{};if(!i)return;let c=this.calculateOffsetX(o,r),l=this.calculateOffsetY(a,r);const h=this.projectComponentPoint(this.target,o,a);if(!h)return;o=h.x,a=h.y;const d=document.createElementNS("http://www.w3.org/2000/svg","text");d.setAttribute("fill",t.textColor),d.setAttribute("font-family",t.fontFamily),d.setAttribute("font-size",t.fontSize),d.textContent=i,n.appendChild(d);const u=d.getBBox();n.removeChild(d);const p=u.width,f=u.height;c=-1==c?-p-9:3,l=-1==l?-f-9:3,d.setAttribute("x",(o+c+3).toString()),d.setAttribute("y",(a+l+f).toString());const g=document.createElementNS("http://www.w3.org/2000/svg","rect");g.setAttribute("x",(o+c).toString()),g.setAttribute("y",(a+l).toString()),g.setAttribute("width",(p+6).toString()),g.setAttribute("height",(f+6).toString()),g.setAttribute("rx",t.cornerRadius.toString()),g.setAttribute("ry",t.cornerRadius.toString()),g.setAttribute("fill",t.bgColor),n.appendChild(g),n.appendChild(d),this.rectElements.push(g),this.textElements.push(d)})}calculateOffsetX(t,e){return t<e.left+1?-1:1}calculateOffsetY(t,e){return t<e.top+1?-1:1}updatePosition(){super.updatePosition(),this.updateDOMElements()}invalidate(){this.updatePosition()}createDOMElements(){this.updateDOMElements()}}Uc.DECORATOR_TYPE="anchors";class Hc extends Nc{constructor(t,e,n={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:3,padding:3,fontSize:"12px",fontFamily:"Arial",offsetX:3,offsetY:-8,animation:!1,...n}),this.textElement=null,this.backgroundElement=null,this.currentTag=""}createDOMElements(){const t=this.target.decotag;if(!t)return;this.currentTag=t;const{fontFamily:e,fontSize:n,textColor:r,padding:i,cornerRadius:s,bgColor:o,animation:a,repeat:c,duration:l}=this.options,h=this.getOrCreateDecoratorGroup(!0);h.setAttribute("transform","translate(0, 0)"),this.textElement=document.createElementNS("http://www.w3.org/2000/svg","text"),this.textElement.textContent=t,this.textElement.setAttribute("x",`${i}`),this.textElement.setAttribute("y",`-${n}`),this.textElement.setAttribute("font-family",e),this.textElement.setAttribute("font-size",n),this.textElement.setAttribute("fill",r),this.textElement.setAttribute("dominant-baseline","middle"),h.appendChild(this.textElement);const d=this.textElement.getBBox();if(this.backgroundElement=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.backgroundElement.setAttribute("x",(d.x-i).toString()),this.backgroundElement.setAttribute("y",(d.y-i).toString()),this.backgroundElement.setAttribute("width",(d.width+2*i).toString()),this.backgroundElement.setAttribute("height",(d.height+2*i).toString()),this.backgroundElement.setAttribute("rx",s.toString()),this.backgroundElement.setAttribute("ry",s.toString()),this.backgroundElement.setAttribute("fill",o),h.replaceChildren(),h.appendChild(this.backgroundElement),h.appendChild(this.textElement),a){const t=this.createFadeAnimation(.3,1,l,{repeat:c});this.addAnimations(h,[t])}this.vectorElement=h,this.updatePosition()}updateDOMElements(){const t=this.target.decotag;t&&t===this.currentTag?this.vectorElement&&this.updatePosition():(this.removeDOMElements(),this.createDOMElements())}updatePosition(){super.updatePosition()}invalidate(){this.updatePosition()}}Hc.DECORATOR_TYPE="decotag";class Wc extends Nc{constructor(t,e,n={}){super(t,e,{arrowColor:"#FFA500",arrowHeadLength:12,lineWidth:1.5,startAlpha:.6,endAlpha:1,animated:!0,animationDuration:5e3,repeat:!1,...n}),this.currentMappings=null}createDOMElements(){if(this.removeDOMElements(),!this.target.mappings||!this.target.mappings.length)return;this.currentMappings=this.target.mappings;const t=this.options,e=this.getOrCreateDecoratorGroup(!0),n=this.getDefsForType(),r=`data-spread-style-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,i=document.createElementNS("http://www.w3.org/2000/svg","style");i.setAttribute("id",r),i.textContent=`\n @keyframes fadeOut {\n from { opacity: 1; }\n to { opacity: ${t.repeat?"0.2":"0"}; }\n }\n .arrow-animated {\n animation: fadeOut ${t.animationDuration||2e3}ms linear ${t.repeat?"infinite":"1"} forwards;\n }\n `,n.appendChild(i);const s=`arrow-gradient-${Date.now()}-${Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}`,o=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");o.setAttribute("id",s),o.setAttribute("gradientUnits","userSpaceOnUse");const a=document.createElementNS("http://www.w3.org/2000/svg","stop");a.setAttribute("offset","0%"),a.setAttribute("stop-color",t.arrowColor||"#FFA500"),a.setAttribute("stop-opacity",(t.startAlpha||.5).toString());const c=document.createElementNS("http://www.w3.org/2000/svg","stop");c.setAttribute("offset","100%"),c.setAttribute("stop-color",t.arrowColor||"#FFA500"),c.setAttribute("stop-opacity",(t.endAlpha||1).toString()),o.appendChild(a),o.appendChild(c),n.appendChild(o);const l=document.createElementNS("http://www.w3.org/2000/svg","g");l.setAttribute("class",t.animated?"arrow-animated":""),e.appendChild(l);this.target.mappings.forEach(e=>{const n=this.target.root.findAll(e.target,this.target);n&&n.length&&n.forEach(e=>{const n=this.target.center,r=e.center,i=this.projectComponentPoint(this.target,n.x,n.y),a=this.projectComponentPoint(e,r.x,r.y);if(!i||!a)return;o.setAttribute("x1",i.x.toString()),o.setAttribute("y1",i.y.toString()),o.setAttribute("x2",a.x.toString()),o.setAttribute("y2",a.y.toString());const{linePath:c,headPath:h}=this.createArrowPaths(i,a,t.arrowHeadLength),d=document.createElementNS("http://www.w3.org/2000/svg","path");d.setAttribute("d",c),d.setAttribute("stroke",`url(#${s})`),d.setAttribute("stroke-width",String(t.lineWidth||2)),d.setAttribute("fill","none"),d.setAttribute("data-target-id",e.state?.id||""),d.setAttribute("data-source-id",this.target.state?.id||"");const u=document.createElementNS("http://www.w3.org/2000/svg","path");u.setAttribute("d",h),u.setAttribute("fill",t.arrowColor||"#FFA500"),u.setAttribute("stroke","none"),l.appendChild(d),l.appendChild(u)})}),this.vectorElement=e}createArrowPaths(t,e,n){const r=e.x-t.x,i=e.y-t.y,s=Math.atan2(i,r),o=e.x+n*Math.cos(s+Wc.ARROW_ANGLE_1),a=e.y+n*Math.sin(s+Wc.ARROW_ANGLE_1),c=e.x+n*Math.cos(s+Wc.ARROW_ANGLE_2),l=e.y+n*Math.sin(s+Wc.ARROW_ANGLE_2);return{linePath:`M ${t.x} ${t.y} L ${e.x} ${e.y}`,headPath:`M ${e.x} ${e.y} L ${o} ${a} L ${c} ${l} Z`}}updateDOMElements(){if(!this.target.app?.isEditMode)return void this.removeDOMElements();const t=this.target.mappings;t&&t===this.currentMappings?this.vectorElement&&this.updatePosition():(this.removeDOMElements(),requestAnimationFrame(()=>{this.createDOMElements()}))}updatePosition(){const t=this.getDecoratorType(),e=this.getSvgContainer().querySelector(`g[data-decorator-type-container="${t}"]`);if(!e)return;const n=this.getVectorGroupId(),r=e.querySelector(`g[data-decorator-group-id="${n}"]`);if(!r)return;const i=this.options;if(!this.target.mappings||!this.target.mappings.length)return;const s=r.querySelector("g.arrow-animated")||r,o=Array.from(s.querySelectorAll('path[fill="none"]')),a=Array.from(s.querySelectorAll('path[stroke="none"]'));if(0===o.length)return;const c=e.querySelector(`defs[data-defs-for="${t}"]`);if(!c)return;const l=c.querySelector("linearGradient");if(!l)return;const h=this.target.mappings;let d=[];h.forEach(t=>{const e=this.target.root.findAll(t.target,this.target);e&&e.length&&(d=[...d,...e])});for(let t=0;t<Math.min(o.length,a.length,d.length);t++){const e=o[t],n=a[t],r=d[t],s=this.target.center,c=r.center,h=this.projectComponentPoint(this.target,s.x,s.y),u=this.projectComponentPoint(r,c.x,c.y);if(!h||!u)continue;const{linePath:p,headPath:f}=this.createArrowPaths(h,u,i.arrowHeadLength);e.setAttribute("d",p),n.setAttribute("d",f),0===t&&l&&(l.setAttribute("x1",h.x.toString()),l.setAttribute("y1",h.y.toString()),l.setAttribute("x2",u.x.toString()),l.setAttribute("y2",u.y.toString()))}}removeDOMElements(){this.currentMappings=null;try{if(this.overlay){const t=this.getSvgContainer();if(t){const e=this.getDecoratorType(),n=t.querySelector(`g[data-decorator-type-container="${e}"]`);if(n){const t=n.querySelector(`defs[data-defs-for="${e}"]`);if(t){t.querySelectorAll("style").forEach(t=>t.remove());t.querySelectorAll("linearGradient").forEach(t=>t.remove())}}}}this.animationElements=[],super.removeDOMElements()}catch(t){Wr("데이터 스프레드 데코레이터 요소 제거 중 오류:",t)}}invalidate(){this.updatePosition()}}Wc.DECORATOR_TYPE="data-spread",Wc.ARROW_ANGLE_1=160*Math.PI/180,Wc.ARROW_ANGLE_2=200*Math.PI/180;class Xc extends Nc{constructor(t,e,n={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:2,padding:2,fontSize:"12px",fontFamily:"Arial",offsetX:4,offsetY:4,...n}),this.textElements=[],this.rectElements=[]}createDOMElements(){this.updateDOMElements()}updateDOMElements(){if(!this.target.isLine||!this.target.isLine())return void this.removeDOMElements();const{offsetX:t,offsetY:e,padding:n,textColor:r,bgColor:i,cornerRadius:s,fontSize:o,fontFamily:a}=this.options,c=this.getOrCreateDecoratorGroup(!0);this.textElements=[],this.rectElements=[];const{fromEnd:l,toEnd:h}=this.target;[l,h].filter(Boolean).forEach(l=>{const{component:h,anchor:d}=l;if(!d)return;const{name:u,position:p}=d||{};if(!h.rootModel||!u||!p)return;const f=this.projectComponentPoint(h,p.x,p.y);if(!f)return;let{x:g,y:m}=f;const y=document.createElementNS("http://www.w3.org/2000/svg","g"),b=document.createElementNS("http://www.w3.org/2000/svg","text");b.setAttribute("text-anchor","middle"),b.setAttribute("dominant-baseline","middle"),b.setAttribute("x","0"),b.setAttribute("y","0"),b.setAttribute("fill",r),b.setAttribute("font-family",a),b.setAttribute("font-size",o),b.textContent=u,c.appendChild(b);const v=b.getBBox();c.removeChild(b);const x=document.createElementNS("http://www.w3.org/2000/svg","rect"),w=v.width+2*(n??0),_=v.height+2*(n??0);g+=(t??0)+w/2,m+=(e??0)+_/2,x.setAttribute("x",(-w/2).toString()),x.setAttribute("y",(-_/2).toString()),x.setAttribute("width",w.toString()),x.setAttribute("height",_.toString()),x.setAttribute("rx",(s??0).toString()),x.setAttribute("ry",(s??0).toString()),x.setAttribute("fill",i),y.appendChild(x),y.appendChild(b),y.setAttribute("transform",`translate(${g}, ${m})`),c.appendChild(y),this.rectElements.push(x),this.textElements.push(b)})}updatePosition(){super.updatePosition(),this.updateDOMElements()}invalidate(){this.updatePosition()}}Xc.DECORATOR_TYPE="link",Is.registerDecorator("bouncing-arrow",Yc),Is.registerDecorator("animated-icon",Gc),Is.registerDecorator("border-highlighting",Vc),Is.registerDecorator("anchors",Uc),Is.registerDecorator("decotag",Hc),Is.registerDecorator("data-spread",Wc),Is.registerDecorator("link",Xc);class qc{constructor(t){this.params=Object.assign({},t)}excute(){}}class Kc extends qc{execute(){this.params.changes.forEach(t=>t.component.set(t.after))}static before(t){return t.map(t=>({component:t}))}static after(t,e){e.execute(null,!1)}static around(t,e,n){e.call(n),t.execute(null,!1)}}const $c="left",Qc="right",Zc="center",Jc="bottom",tl="middle",el=[$c,Qc,Zc,"top",tl,Jc];function nl(t){if(!this.hasSameParentForAllSelected||-1===el.indexOf(t))return;const e=this.selected.filter(t=>!t.stuck);if(e.length<=1)return;const n=this.app.commander;Kc.around(n,function(){!function(t,e){const n=JSON.parse(JSON.stringify(e[0].bounds));let r=n.left+n.width,i=n.top+n.height;for(let t=0;t<e.length;t++){const s=e[t].bounds;n.left=s.left>n.left?n.left:s.left,n.top=s.top>n.top?n.top:s.top,r=s.left+s.width>r?s.left+s.width:r,i=s.top+s.height>i?s.top+s.height:i}switch(n.width=r-n.left,n.height=i-n.top,t){case $c:for(let t=0;t<e.length;t++){const r=e[t].bounds;e[t].bounds={left:n.left,top:r.top,width:r.width,height:r.height}}break;case Zc:for(let t=0;t<e.length;t++){const r=e[t].bounds;e[t].bounds={left:n.left+n.width/2-r.width/2,top:r.top,width:r.width,height:r.height}}break;case Qc:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={left:r-n.width,top:n.top,width:n.width,height:n.height}}break;case"top":for(let t=0;t<e.length;t++){const r=e[t].bounds;e[t].bounds={left:r.left,top:n.top,width:r.width,height:r.height}}break;case tl:for(let t=0;t<e.length;t++){const r=e[t].bounds;e[t].bounds={left:r.left,top:n.top+n.height/2-r.height/2,width:r.width,height:r.height}}break;case Jc:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={left:n.left,top:i-n.height,width:n.width,height:n.height}}break;default:;}}(t,e)})}const rl="VERTICAL",il=[rl,"HORIZONTAL"];function sl(t){if(!this.hasSameParentForAllSelected||-1===il.indexOf(t))return;const e=this.selected;if(e.length<=1)return;const n=this.app.commander;Kc.around(n,function(){!function(t,e){const n=e.filter(t=>!t.stuck).slice(0);n.sort(function(e,n){const r=e.center,i=n.center;return t===rl?r.y-i.y:r.x-i.x});const r=n.reduce((e,n)=>e+(t===rl?n.bounds.height:n.bounds.width),0),i=n[0].bounds,s=n[n.length-1].bounds,o=((t===rl?s.top+s.height-i.top:s.left+s.width-i.left)-r)/(n.length-1);let a=t===rl?i.top+i.height:i.left+i.width;for(let e=1;e<n.length-1;e++){const r=n[e],i=r.bounds;a+=o,t===rl?(i.top=a,a+=i.height):(i.left=a,a+=i.width),r.bounds=i}}(t,e)})}function ol(t){let e=0;for(;t&&!t.isRootModel();)e+=t.get("rotation")||0,t=t.parent;return e%(2*Math.PI)}class al extends qc{execute(){this.params.changes.forEach(t=>{const{component:e,to_container:n,to_index:r,to_left:i,to_top:s}=t,o=function(t){if(t.isRootModel())return t.bounds;const{bounds:e,rotatePoint:n}=t;let r=n;return r=t.toScene(r.x,r.y),{left:r.x-(n.x-e.left),top:r.y-(n.y-e.top),width:e.width,height:e.height}}(e),a=ol(e);if(e.removeSelf(!n),e.bounds=o,e.set("rotation",a),n){e.set("rotation",function(t,e){return((t.get("rotation")||0)-ol(e))%(2*Math.PI)}(e,n));const o=function(t,e){if(e.isRootModel())return t.bounds;const{bounds:n,rotatePoint:r}=t,i=e.fromScene(r.x,r.y),s=e.bounds;return{left:i.x-(r.x-n.left)-s.left,top:i.y-(r.y-n.top)-s.top,width:n.width,height:n.height}}(e,n);t.to_left=void 0!==i?i:o.left,t.to_top=void 0!==s?s:o.top,e.bounds={left:t.to_left,top:t.to_top,width:o.width,height:o.height},void 0===r?n.addComponent(e):n.insertComponentAt(e,r)}})}}function cl(t,e,n){this.app.commander.execute(new al({changes:[{component:t,to_container:e,to_index:n}]}))}function ll(t){const e=this.selected.filter(t=>!t.stuck);if(0===e.length||e[0].isRootModel())return;if(e.length>1&&("forward"===t||"backward"===t))return;const n=e[0].parent;let r;if("forward"===t){const t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t+1}]}else if("backward"===t){const t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t-1}]}else r=e.filter(t=>t.parent===n).sort((e,r)=>{const i=n.indexOf(e)<n.indexOf(r);return"front"===t?i:!i}).map((e,r)=>(n.indexOf(e),{component:e,to_container:n,to_index:"front"===t?n.components.length-r-1:r}));const i=new al({changes:r});this.app.commander.execute(i)}function hl(t,e,n,r){const i=tc.register(t.type);if(!i)return Xr("Class not found",t.type),null;n&&(t.refid=n(t.refid)),t.id&&r&&r(t.id)&&delete t.id;const s=new i(t,e);return t.components&&s.isContainer()&&(t.components.forEach(t=>{const i=hl(t,e,n,r);i&&s.addComponent(i)}),delete t.components),s.created(),s}function dl(t,e){const n=Kn(t.hierarchy);return delete n.id,hl(n,t.app,e)}function ul(t,e,n){t instanceof Array||(t=[t]),n||(n=this.model_layer);const r=[],i=new Map;this.selected=t.map(t=>{try{return hl(t,n.app,t=>{const e=this.getNewRefid();return void 0!==t&&i.set(t,e),e},t=>(this.indexMap[t]||[])[0])}catch(t){return Xr(t),!1}}).filter(Boolean).map(t=>{const{left:s,top:o,width:a,height:c,x:l,y:h,cx:d,cy:u}=e;return t.replaceRefids(i),isNaN(s)||isNaN(o)||isNaN(a)||isNaN(c)||(t.bounds={left:s,top:o,width:a,height:c}),isNaN(l)||isNaN(h)||t.move({x:l,y:h},!1),isNaN(d)||isNaN(u)||(t.center={x:d,y:u}),r.push({component:t,to_container:n}),t}),this.app.commander.execute(new al({changes:r}))}function pl(){const t=[],e=new Map;if(this.selected=this.selected.filter(t=>!t.isRootModel()).map(n=>{const r=dl(n,t=>{const n=this.getNewRefid();return void 0!==t&&e.set(t,n),n});return r.move({x:20,y:20},!1),t.push({component:r,to_container:n.parent}),r}).map(t=>(t.replaceRefids(e),t)),0===t.length)return;const n=new al({changes:t});this.app.commander.execute(n)}function fl(){const t=this.selected;this.selected=[];let e=null;const n=t.filter(t=>!t.isRootModel()&&(t.parent.focusible||t.parent.isGroup())).map(t=>(e||(e=t.parent),{component:t,to_container:null}));for(;e&&e.isGroup();){const t=[];if(e.components.filter(t=>!n.find(e=>e.component===t)).forEach(e=>t.push(e)),t.length>1)break;const r=e.parent;t.forEach(t=>n.push({component:t,to_container:r})),n.push({component:e,to_container:null}),e=r}n.length>0&&this.app.commander.execute(new al({changes:n})),e&&e.calculateBounds&&e.calculateBounds()}const gl=new Set(["execute","redo","undo","command-reset"]);function ml(t,e,n,r){const i=function(t,e){return gl.has(e)?t.app?.commander:"mode"===e?t.app:t}(this,e);i?.[t](e,n,r)}function yl(t,e,n){ml.call(this,"on",t,e,n)}function bl(t,e,n){ml.call(this,"once",t,e,n)}function vl(t,e,n){ml.call(this,"off",t,e,n)}function xl(t){const e=this.target_element,n=t||this.fitMode,r=this;function i(){r.fit(n),document.fullscreenElement||document.removeEventListener("fullscreenchange",i)}document.addEventListener("fullscreenchange",i),e.requestFullscreen().catch(()=>{document.removeEventListener("fullscreenchange",i)})}let wl=0;function _l(){const t=this.selected.filter(t=>!t.isRootModel()).map(t=>t.hierarchy);if(0!==t.length)return wl=0,JSON.stringify(t,null,2)}function Al(){wl=0;const t=_l.call(this);return fl.call(this),t}function Sl(t){if(t)try{wl++,ul.call(this,JSON.parse(t),{x:15*wl,y:15*wl})}catch(e){Wr(e,t)}}const Ml=function(){return{escape:function(t){return t.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")},parseExtension:t,mimeType:function(e){const n=t(e).toLowerCase();return function(){const t="application/font-woff",e="image/jpeg";return{woff:t,woff2:t,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:e,jpeg:e,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}()[n]||""},dataAsUrl:function(t,e){return"data:"+e+";base64,"+t},isDataUrl:function(t){return-1!==t.search(/^(data:)/)},canvasToBlob:function(t){return t.toBlob?new Promise(function(e){t.toBlob(e)}):function(t){return new Promise(function(e){const n=window.atob(t.toDataURL().split(",")[1]),r=n.length,i=new Uint8Array(r);for(let t=0;t<r;t++)i[t]=n.charCodeAt(t);e(new Blob([i],{type:"image/png"}))})}(t)},resolveUrl:function(t,e){const n=document.implementation.createHTMLDocument(),r=n.createElement("base");n.head.appendChild(r);const i=n.createElement("a");return n.body.appendChild(i),r.href=e,i.href=t,i.href},getAndEncode:function(t){const e=3e4;Il.impl.options.cacheBust&&(t+=(/\?/.test(t)?"&":"?")+(new Date).getTime());return new Promise(function(n){const r=new XMLHttpRequest;let i;if(r.onreadystatechange=s,r.ontimeout=o,r.responseType="blob",r.timeout=e,r.open("GET",t,!0),r.send(),Il.impl.options.imagePlaceholder){const t=Il.impl.options.imagePlaceholder.split(/,/);t&&t[1]&&(i=t[1])}function s(){if(4!==r.readyState)return;if(200!==r.status)return void(i?n(i):a("cannot fetch resource: "+t+", status: "+r.status));const e=new FileReader;e.onloadend=function(){const t=e.result.split(/,/)[1];n(t)},e.readAsDataURL(r.response)}function o(){i?n(i):a("timeout of "+e+"ms occured while fetching resource: "+t)}function a(t){Wr(t),n("")}})},uid:function(){let t=0;return function(){return"u"+e()+t++;function e(){return("0000"+(Math.random()*Math.pow(36,4)|0).toString(36)).slice(-4)}}}(),delay:function(t){return function(e){return new Promise(function(n){setTimeout(function(){n(e)},t)})}},asArray:function(t){const e=[],n=t.length;for(let r=0;r<n;r++)e.push(t[r]);return e},escapeXhtml:function(t){return t.replace(/#/g,"%23").replace(/\n/g,"%0A")},makeImage:function(t){return new Promise(function(e,n){const r=new Image;r.onload=function(){e(r)},r.onerror=n,r.src=t})},width:function(t){const n=e(t,"border-left-width"),r=e(t,"border-right-width");return t.scrollWidth+n+r},height:function(t){const n=e(t,"border-top-width"),r=e(t,"border-bottom-width");return t.scrollHeight+n+r}};function t(t){const e=/\.([^\.\/]*?)$/g.exec(t);return e?e[1]:""}function e(t,e){const n=window.getComputedStyle(t).getPropertyValue(e);return parseFloat(n.replace("px",""))}}(),kl=function(){const t=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:function(t,i,s){return o()?Promise.resolve(t):Promise.resolve(t).then(n).then(function(e){let n=Promise.resolve(t);return e.forEach(function(t){n=n.then(function(e){return r(e,t,i,s)})}),n});function o(){return!e(t)}},shouldProcess:e,impl:{readUrls:n,inline:r}};function e(e){return-1!==e.search(t)}function n(e){const n=[];let r;for(;null!==(r=t.exec(e));)n.push(r[1]);return n.filter(function(t){return!Ml.isDataUrl(t)})}function r(t,e,n,r){return Promise.resolve(e).then(function(t){return n?Ml.resolveUrl(t,n):t}).then(r||Ml.getAndEncode).then(function(t){return Ml.dataAsUrl(t,Ml.mimeType(e))}).then(function(n){return t.replace(function(t){return new RegExp("(url\\(['\"]?)("+Ml.escape(t)+")(['\"]?\\))","g")}(e),"$1"+n+"$3")})}}(),El=function(){return{resolveAll:function(){return t().then(function(t){return Promise.all(t.map(function(t){return t.resolve()}))}).then(function(t){return t.join("\n")})},impl:{readAll:t}};function t(){return Promise.resolve(Ml.asArray(document.styleSheets)).then(function(t){const e=[];return t.forEach(function(t){try{Ml.asArray(t.cssRules||[]).forEach(t=>e.push(t))}catch(e){Xr("Error while reading CSS rules from "+t.href,e instanceof Error?e.message:String(e))}}),e}).then(function(t){return t.filter(function(t){return t.type===CSSRule.FONT_FACE_RULE}).filter(function(t){return kl.shouldProcess(t.style.getPropertyValue("src"))})}).then(function(e){return e.map(t)});function t(t){return{resolve:function(){const e=(t.parentStyleSheet||{}).href;return kl.inlineAll(t.cssText,e)},src:function(){return t.style.getPropertyValue("src")}}}}}(),Cl=function(){return{inlineAll:function e(n){return n instanceof Element?r(n).then(function(){return n instanceof HTMLImageElement?t(n).inline().then(()=>n):Promise.all(Ml.asArray(n.childNodes).map(function(t){return e(t)})).then(()=>n)}):Promise.resolve(n);function r(t){const e=t.style.getPropertyValue("background");return e?kl.inlineAll(e).then(function(e){t.style.setProperty("background",e,t.style.getPropertyPriority("background"))}).then(function(){return t}):Promise.resolve(t)}},impl:{newImage:t}};function t(t){return{inline:function(e){return Ml.isDataUrl(t.src)?Promise.resolve():Promise.resolve(t.src).then(e||Ml.getAndEncode).then(function(e){return Ml.dataAsUrl(e,Ml.mimeType(t.src))}).then(function(e){return new Promise(function(n,r){t.onload=n,t.onerror=r,t.src=e})})}}}}(),Tl={imagePlaceholder:void 0,cacheBust:!1};function Pl(t,e){return function(t){void 0===t.imagePlaceholder?Il.impl.options.imagePlaceholder=Tl.imagePlaceholder:Il.impl.options.imagePlaceholder=t.imagePlaceholder;void 0===t.cacheBust?Il.impl.options.cacheBust=Tl.cacheBust:Il.impl.options.cacheBust=t.cacheBust}(e=e||{}),Promise.resolve(t).then(function(t){return Dl(t,e.filter,!0)}).then(function(t){return function(t){return Cl.inlineAll(t).then(function(){return t})}(t)}).then(function(t){const{bgcolor:n,width:r,height:i,style:s,sx:o=1,sy:a=1}=e||{},c=t.style;n&&(c.backgroundColor=n);r&&(c.width=r+"px");i&&(c.height=i+"px");c["margin-left"]="0px",c["margin-top"]="0px",c.transform=`rotate(0rad) translate(0px, 0px) scale(${o}, ${a}) perspective(1px)`,s&&Object.keys(s).forEach(function(t){c[t]=s[t]});return t}).then(function(n){return function(t,e,n){return Promise.resolve(t).then(function(t){return t.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(t)}).then(Ml.escapeXhtml).then(function(t){return'<foreignObject x="0" y="0" width="100%" height="100%">'+t+"</foreignObject>"}).then(function(t){return'<svg xmlns="http://www.w3.org/2000/svg" width="'+e+'" height="'+n+'">'+t+"</svg>"}).then(function(t){return"data:image/svg+xml;charset=utf-8,"+t})}(n,e.width||Ml.width(t),e.height||Ml.height(t))})}function Ol(t,e){return Pl(t,e).then(Ml.makeImage).then(Ml.delay(100)).then(function(n){const r=function(t){const n=document.createElement("canvas");if(n.width=e.width||Ml.width(t),n.height=e.height||Ml.height(t),e.bgcolor){const t=n.getContext("2d");t.fillStyle=e.bgcolor,t.fillRect(0,0,n.width,n.height)}return n}(t);return r.getContext("2d").drawImage(n,0,0),r})}function Dl(t,e,n){return n||!e||e(t)?Promise.resolve(t).then(function(t){if(t instanceof HTMLCanvasElement)try{return Ml.makeImage(t.toDataURL()).then(t=>t)}catch(t){Xr(t)}return t.cloneNode(!1)}).then(function(n){return function(t,e,n){const r=t.childNodes;return 0===r.length?Promise.resolve(e):i(e,Ml.asArray(r),n).then(function(){return e});function i(t,e,n){let r=Promise.resolve();return e.forEach(function(e){r=r.then(function(){return Dl(e,n,!1)}).then(function(e){e&&t.appendChild(e)})}),r}}(t,n,e)}).then(function(e){return function(t,e){return e instanceof Element?Promise.resolve().then(n).then(r).then(i).then(s).then(function(){return e}):e;function n(){function n(t,e){function n(t,e){Ml.asArray(t).forEach(function(n){e.setProperty(n,t.getPropertyValue(n),t.getPropertyPriority(n))})}t.cssText?e.cssText=t.cssText:n(t,e)}n(window.getComputedStyle(t),e.style)}function r(){function n(n){const r=window.getComputedStyle(t,n),i=r.getPropertyValue("content");if(""===i||"none"===i)return;const s=Ml.uid(),o=e;o.className=o.className+" "+s;const a=document.createElement("style");function c(t,e,n){const r="."+t+":"+e,i=n.cssText?s(n):o(n);return document.createTextNode(r+"{"+i+"}");function s(t){const e=t.getPropertyValue("content");return t.cssText+" content: "+e+";"}function o(t){return Ml.asArray(t).map(e).join("; ")+";";function e(e){return e+": "+t.getPropertyValue(e)+(t.getPropertyPriority(e)?" !important":"")}}}a.appendChild(c(s,n,r)),e.appendChild(a)}[":before",":after"].forEach(function(t){n(t)})}function i(){t instanceof HTMLTextAreaElement&&e instanceof HTMLTextAreaElement&&(e.textContent=t.value),t instanceof HTMLInputElement&&e instanceof HTMLInputElement&&e.setAttribute("value",t.value)}function s(){e instanceof SVGElement&&(e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e instanceof SVGRectElement&&["width","height"].forEach(function(t){const n=e.getAttribute(t);n&&e.style.setProperty(t,n)}))}}(t,e)}):Promise.resolve(void 0)}const Il={toSvg:Pl,toPng:function(t,e){return Ol(t,e||{}).then(function(t){return t.toDataURL()})},toJpeg:function(t,e){return Ol(t,e=e||{}).then(function(t){return t.toDataURL("image/jpeg",e.quality||1)})},toBlob:function(t,e){return Ol(t,e||{}).then(t=>Ml.canvasToBlob(t))},toPixelData:function(t,e){return Ol(t,e||{}).then(function(e){return e.getContext("2d").getImageData(0,0,Ml.width(t),Ml.height(t)).data})},impl:{fontFaces:El,images:Cl,util:Ml,inliner:kl,options:{}}};function zl(t,e,n,r){const i=this.model_layer,s=i._overlay;return new Promise(function(o,a){if(i){const a=i.get("width"),c=i.get("height");n=n||a,r=r||c;const l=i.get("translate"),h=i.get("scale"),d=Math.min(n/a,r/c);n=a*d,r=c*d,i.set("translate",{x:0,y:0}),i.set("scale",{x:d/Li,y:d/Li});let u=tc.createCanvas(n,r);const p=u.getContext("2d");if(i.draw(p),i.set("translate",l),i.set("scale",h),!s)return o(u.toDataURL(t,e)),void(u=null);Il.toPng(s,{sx:d,sy:d,width:n,height:r}).then(function(i){const s=new Image;s.onload=function(){p.drawImage(s,0,0,n,r),o(u.toDataURL(t,e)),u=null},s.src=i},function(n){Wr(n),o(u.toDataURL(t,e)),u=null})}else a("No target model")})}function jl(){if(!this.hasSameParentForAllSelected)return;const t=this.selected.filter(t=>!!t.parent&&!t.stuck);if(t.length<2)return;const e=t[0].parent,n=[],r=t.sort((t,n)=>e.components.indexOf(t)-e.components.indexOf(n));r.forEach(t=>{n.push(t.bounds)});const i=tc.union(n);let s=t[0].fromParent(i.left,i.top);s=t[0].toScene(s.x,s.y);const o=new Map,a=hl({type:"group",left:s.x,top:s.y,width:i.width,height:i.height},e.app,t=>{const e=this.getNewRefid();return void 0!==t&&o.set(t,e),e});a.replaceRefids(o);const c=[{component:a,to_container:e}];r.forEach(t=>{c.push({component:t,to_container:a})}),this.app.commander.execute(new al({changes:c})),this.selected=[a]}function Rl(){if(0===this.selected.length)return;const t=[],e=[];this.selected.forEach(n=>{if(!n.isGroup())return;const r=n.parent;n.components.forEach(n=>{t.push(n),e.push({component:n,to_container:r})}),e.push({component:n,to_container:null})}),this.app.commander.execute(new al({changes:e})),this.selected=t}function Ll(){const t=this.selected;if(0===t.length)return;const e=t.map(t=>t.bounds),n=tc.union(e),r=n.left+n.width/2;t.map(t=>{t.symmetryX(r)})}function Fl(){const t=this.selected;if(0===t.length)return;const e=t.map(t=>t.bounds),n=tc.union(e),r=n.top+n.height/2;t.map(t=>{t.symmetryY(r)})}function Nl(){Kc.around(this.app.commander,Ll,this)}function Bl(){Kc.around(this.app.commander,Fl,this)}function Yl(t,e,n){const r=this.findAll(t,n);return r.forEach(t=>{t.set(e)}),r}function Gl(t){Kc.around(this.app.commander,t)}function Vl(){return Object.values(this.indexMap).map(t=>t.map(t=>{const{id:e,data:n}=t.model;return{key:e,value:n}})).flat().sort((t,e)=>t.key>e.key?1:-1)}const Ul="left",Hl="right",Wl="center",Xl="bottom",ql="middle",Kl=[Ul,Hl,Wl,"top",ql,Xl];function $l(t){if(!this.hasSameParentForAllSelected||-1===Kl.indexOf(t))return;const e=this.selected.filter(t=>!t.stuck),n=this.app.commander;Kc.around(n,function(){!function(t,e){const n=e[0].parent,{width:r,height:i}=n.bounds;switch(t){case Ul:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,left:0}}break;case Wl:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,left:r/2-n.width/2}}break;case Hl:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,left:r-n.width}}break;case"top":for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,top:0}}break;case ql:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,top:i/2-n.height/2}}break;case Xl:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,top:i-n.height}}break;default:;}}(t,e)})}function Ql(t){t instanceof Array||(t=[t]),this.trigger("addstart",t)}function Zl(){this.trigger("stylepastestart")}function Jl(){this.trigger("stylepastestop")}function th(){this.trigger("databindpastestart")}function eh(){this.trigger("databindpastestop")}let nh=0,rh=0,ih=0,sh=null;function oh(){ih++;const t=performance.now(),e=t-rh;e>=1e3&&(nh=Math.round(1e3*ih/e),rh=t,ih=0),sh=requestAnimationFrame(oh)}function ah(){null!==sh&&(cancelAnimationFrame(sh),sh=null)}function ch(){return null===sh&&(rh=performance.now(),ih=0,sh=requestAnimationFrame(oh)),nh}const lh=function(){const t=document.createElement("canvas").getContext("2d");return(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}();function hh(t,e){const n=document.createElement("canvas");return n.width=t,n.height=e,n.style.width=t+"px",n.style.height=e+"px",n}const dh=Math.sqrt(3);function uh(t,e){const n=1.2*e;switch(t){case"size1":return{X:n,Y:n};case"size2":return{X:1.5*n,Y:n};case"size3":return{X:2*n,Y:n};case"size4":return{X:n,Y:1.5*n};case"size5":default:return{X:1.5*n,Y:1.5*n};case"size6":return{X:2*n,Y:1.5*n};case"size7":return{X:n,Y:2*n};case"size8":return{X:1.5*n,Y:2*n};case"size9":return{X:2*n,Y:2*n}}}function ph(t,n,r){switch(t){case"none":default:return null;case"arrow":{const t=new e.Shape;t.moveTo(0,0),t.lineTo(-dh*n.X,-n.Y),t.lineTo(-dh*n.X,n.Y),t.closePath();const r=new e.ShapeGeometry(t),i=new e.MeshBasicMaterial({side:e.DoubleSide});return{mesh:new e.Mesh(r,i)}}case"sharp-arrow":{const t=new e.Shape;t.moveTo(0,0),t.lineTo(-dh*n.X,-n.Y),t.lineTo(n.X/1.5-dh*n.X,0),t.lineTo(-dh*n.X,n.Y),t.closePath();const r=new e.ShapeGeometry(t),i=new e.MeshBasicMaterial({side:e.DoubleSide});return{mesh:new e.Mesh(r,i)}}case"open-arrow":{const t=[-(dh*n.X+r),-n.Y,0,-r,0,0,-(dh*n.X+r),n.Y,0],e=new f;e.setPositions(t);const i=new p({linewidth:r,worldUnits:!0});return{line2:new u(e,i)}}case"diamond":{const t=new e.Shape;t.moveTo(-n.X,0),t.lineTo(0,-n.Y),t.lineTo(n.X,0),t.lineTo(0,n.Y),t.closePath();const r=new e.ShapeGeometry(t),i=new e.MeshBasicMaterial({side:e.DoubleSide});return{mesh:new e.Mesh(r,i)}}case"oval":{const t=new e.CircleGeometry(n.X,24);t.scale(1,n.Y/n.X,1);const r=new e.MeshBasicMaterial({side:e.DoubleSide});return{mesh:new e.Mesh(t,r)}}}}function fh(t,e){return"none"===t?0:t.endsWith("arrow")?1.5*e:0}function gh(t,n,r,i){const{strokeStyle:s,alpha:o=1,lineWidth:a=2,begin:c="none",beginSize:l="size2",end:h="arrow",endSize:d="size2",label:g}=r,m=(new e.Vector3).subVectors(n,t),y=m.length(),b=new e.Group;if(y<.01)return b;const v=m.clone().normalize(),x=fh(c,a),w=fh(h,a),_=t.clone().add(v.clone().multiplyScalar(x)),A=n.clone().sub(v.clone().multiplyScalar(w));let S;if(Array.isArray(s)&&s.length>=2){const t=s[1];S=new e.Color(t.length>7?t.slice(0,7):t)}else S=new e.Color("string"==typeof s?s:"#00B050");const M=function(t,n,r,i){const{strokeStyle:s,alpha:o=1,lineWidth:a=2,lineDash:c="solid"}=r,l=new f;let h;l.setPositions([t.x,t.y,t.z,n.x,n.y,n.z]);let d=!1;if(Array.isArray(s)&&s.length>=2){const t=new e.Color(s[0].length>7?s[0].slice(0,7):s[0]),n=new e.Color(s[1].length>7?s[1].slice(0,7):s[1]);l.setColors([t.r,t.g,t.b,n.r,n.g,n.b]),d=!0,h=n}else h=new e.Color("string"==typeof s?s:"#00B050");const{dashed:g,dashSize:m,gapSize:y}=function(t,e){switch(t){case"solid":default:return{dashed:!1,dashSize:1,gapSize:0};case"round-dot":return{dashed:!0,dashSize:e,gapSize:2*e};case"square-dot":return{dashed:!0,dashSize:2*e,gapSize:e};case"dash":return{dashed:!0,dashSize:4*e,gapSize:1.5*e};case"dash-dot":return{dashed:!0,dashSize:2.5*e,gapSize:1.5*e};case"long-dash":return{dashed:!0,dashSize:6*e,gapSize:3*e};case"long-dash-dot":return{dashed:!0,dashSize:3.5*e,gapSize:2*e};case"long-dash-dot-dot":return{dashed:!0,dashSize:3*e,gapSize:1.5*e}}}(c,a),b=new p({color:d?16777215:h.getHex(),linewidth:a,worldUnits:!0,vertexColors:d,dashed:g,dashSize:m,gapSize:y,transparent:o<1||Array.isArray(s)&&s.some(t=>t.length>7),opacity:o,resolution:i}),v=new u(l,b);return v.computeLineDistances(),v}(_,A,r,i);b.add(M);const k=(new e.Quaternion).setFromUnitVectors(new e.Vector3(1,0,0),v),E=(new e.Quaternion).setFromUnitVectors(new e.Vector3(1,0,0),v.clone().negate()),C=ph(h,uh(d,a),a);if(C){const t=C.mesh||C.line2;if(t.position.copy(n),t.setRotationFromQuaternion(k),C.mesh){const t=C.mesh.material;t.color.copy(S),t.transparent=o<1,t.opacity=o}else if(C.line2){const t=C.line2.material;t.color.copy(S),t.transparent=o<1,t.opacity=o,t.resolution.copy(i)}b.add(t)}const T=ph(c,uh(l,a),a);if(T){const e=T.mesh||T.line2;if(e.position.copy(t),e.setRotationFromQuaternion(E),T.mesh){const t=T.mesh.material;t.color.copy(S),t.transparent=o<1,t.opacity=o}else if(T.line2){const t=T.line2.material;t.color.copy(S),t.transparent=o<1,t.opacity=o,t.resolution.copy(i)}b.add(e)}if(g){const r=(new e.Vector3).addVectors(t,n).multiplyScalar(.5);r.y+=3;const i=function(t,n,r){const i="Arial",s=hh(256,64),o=s.getContext("2d");o.font=`bold 28px ${i}`;const a=o.measureText(t).width;o.fillStyle=n,o.fillRect(0,0,a+12,40),o.fillStyle="white",o.font=`bold 28px ${i}`,o.textBaseline="top",o.fillText(t,6,6);const c=new e.CanvasTexture(s);c.needsUpdate=!0,c.minFilter=e.LinearFilter,c.colorSpace=e.SRGBColorSpace;const l=new e.SpriteMaterial({map:c,transparent:!0}),h=new e.Sprite(l);h.position.copy(r);const d=(a+12)/40;return h.scale.set(4*d,4,1),h}(g,"string"==typeof s?s:Array.isArray(s)&&s[1]||"#00B050",r);b.add(i)}return b}const mh=.001;function yh(t,e,n){let r=1;if(n&&"none"!=n&&"transparent"!=n){r=e*("string"==typeof n?y(n).getAlpha():1)}else r=0;t.opacity=r,t.transparent=r<1}function bh(t){const e=y(t);return e.isValid()?e.toHexString():t}const vh={width:1,height:1,depth:1},xh={x:1,y:1,z:1},wh={x:0,y:0,z:0},_h={x:0,y:0,z:0},Ah={default:{metalness:0,roughness:.4},metal:{metalness:1,roughness:.3,envMapIntensity:1},glass:{metalness:0,roughness:.1,opacity:.3,envMapIntensity:1.5},plastic:{metalness:0,roughness:.4},wood:{metalness:0,roughness:.8,envMapIntensity:.3},ceramic:{metalness:.1,roughness:.2,envMapIntensity:.3},rubber:{metalness:0,roughness:.9,envMapIntensity:.3}};function Sh(t){if(!t)return{metalness:0,roughness:.4,emissive:"#000000",emissiveIntensity:0,opacity:1,envMapIntensity:.5,side:"double",castShadow:!0,receiveShadow:!1};const e=Ah[t.preset??"default"]??Ah.default;return{metalness:t.metalness??e.metalness,roughness:t.roughness??e.roughness,emissive:t.emissive??"#000000",emissiveIntensity:t.emissiveIntensity??0,opacity:t.opacity??e.opacity??1,envMapIntensity:t.envMapIntensity??e.envMapIntensity??.5,side:t.side??"double",castShadow:t.castShadow??!0,receiveShadow:t.receiveShadow??!1}}const Mh={double:e.DoubleSide,front:e.FrontSide,back:e.BackSide};function kh(t){return Mh[t]??e.DoubleSide}const Eh=["map","normalMap","roughnessMap","metalnessMap","aoMap","emissiveMap","bumpMap","displacementMap","alphaMap","envMap","lightMap"];function Ch(t){for(const e of Eh){const n=t[e];n?.dispose()}t.dispose()}function Th(t){t.traverse(t=>{if(t.geometry?.dispose(),t.material){const e=Array.isArray(t.material)?t.material:[t.material];for(const t of e)Ch(t)}})}function Ph(t,e){return-1!==t.findIndex(t=>t in e)}class Oh{static buildFillStyleTexture(t){const{fillStyle:n}=t.state;if("object"==typeof n)return"pattern"===n.type&&n.image?new e.TextureLoader(e.DefaultLoadingManager).load(t.app.url(n.image),n=>{n.minFilter=e.LinearFilter,n.colorSpace=e.SRGBColorSpace,n.repeat.set(1,1),n.needsUpdate=!0,t.invalidate()},void 0,t=>{Wr("TextureLoader error:",t)}):"gradient"===n.type&&n.colorStops?.length?Oh.buildGradientTexture(n,t.bounds):void 0}static buildGradientTexture(t,n){const r=256,i=document.createElement("canvas");i.width=r,i.height=r;const s=i.getContext("2d");if(!s)return;let o;if("radial"===t.gradientType){const e=128,n=128,i=128;switch(t.center){case"left-top":o=s.createRadialGradient(0,0,0,0,0,2*i);break;case"right-top":o=s.createRadialGradient(r,0,0,r,0,2*i);break;case"left-bottom":o=s.createRadialGradient(0,r,0,0,r,2*i);break;case"right-bottom":o=s.createRadialGradient(r,r,0,r,r,2*i);break;default:o=s.createRadialGradient(e,n,0,e,n,i)}}else{const e=t.rotation??0,n=128,r=128,i=Math.cos(e)*n,a=Math.sin(e)*r;o=s.createLinearGradient(n-i,r-a,n+i,r+a)}for(const e of t.colorStops)if(e.position>=0&&e.position<=1)try{o.addColorStop(e.position,e.color)}catch{o.addColorStop(e.position,"#fff")}s.fillStyle=o,s.fillRect(0,0,r,r);const a=new e.CanvasTexture(i);return a.colorSpace=e.SRGBColorSpace,a.needsUpdate=!0,a}constructor(t){this._focused=!1,this._suppressOnchange=!1,this._onchangeWrapper=(t,e)=>{this._suppressOnchange||this.onchange(t,e)},this._component=t,this.object3d=this.getObject3dInstance(),this.component.on("change",this._onchangeWrapper)}update(){this.clear(),this.build(),this.updateTransform(),this.updateFillStyle(),this.updateStrokeStyle(),this.updateAlpha(),this.updateHidden(),this.updateText()}getObject3dInstance(){return new e.Object3D}build(){this.object3d.userData.context=this;const t=Sh(this.component.state.material3d);this.object3d.castShadow=t.castShadow,this.object3d.receiveShadow=t.receiveShadow,this.object3d.name=this.component.state.id}updateMaterial3d(){const t=Sh(this.component.state.material3d);this.object3d.castShadow=t.castShadow,this.object3d.receiveShadow=t.receiveShadow}get component(){return this._component}get threeContainer(){let t=this.component;for(;t;){if("is3dContainer"in t&&t.is3dContainer())return t;t=t.parent}}get focused(){return this._focused}set focused(t){this._focused=t,t&&(this._focusedAt=performance.now())}dispose(){this.component.off("change",this._onchangeWrapper),this.clear()}clear(){for(const t of this.object3d.children)Th(t);return this.object3d.userData={},this.object3d.clear()}updateTransform(){const{x:t,y:e,z:n}=this.position,{x:r,y:i,z:s}=this.rotation,{x:o,y:a,z:c}=this.scale;this.object3d.position.set(t,e,n),this.object3d.rotation.set(r,i,s),this.object3d.scale.set(Math.max(o,mh),Math.max(a,mh),Math.max(c,mh))}get position(){const{x:t,y:e,z:n}=this.center;return{x:t,y:n,z:e}}get rotation(){const{rotationX:t=0,rotationY:e=0,rotation:n=0}=this.component.state;return{x:t,y:-n,z:e}}get scale(){const{scale:t}=this.component.state,e="number"==typeof t?t:t?.x??1;return{x:e,y:e,z:e}}get cx(){const{x:t=0}=this.component.center,{width:e=0}=this.component.parent?.bounds??{},{tx:n=0}=this.component.delta();return t+n-e/2}get cy(){const{y:t=0}=this.component.center,{height:e=0}=this.component.parent?.bounds??{},{ty:n=0}=this.component.delta();return t+n-e/2}get cz(){const{zPos:t=0}=this.component.state,{tz:e=0}=this.component.delta();return t+e+this.syncZPosOffset}get center(){const{x:t=0,y:e=0}=this.component.center,{width:n=0,height:r=0}=this.component.parent?.bounds??{},{tx:i=0,ty:s=0}=this.component.delta();return{x:t+i-n/2,y:e+s-r/2,z:this.cz}}get dimension(){const{width:t,height:e}=this.component.bounds;return{width:Math.abs(t)||1,height:Math.abs(e)||1,depth:this.effectiveDepth}}get effectiveDepth(){return this.component.state.depth||1}updatePosition(){const{x:t=0,y:e=0,z:n=0}=this.position;this.object3d.position.set(t,e,n)}updateRotate(){const{x:t=0,y:e=0,z:n=0}=this.rotation;this.object3d.rotation.set(t,e,n)}updateScale(){const{x:t=1,y:e=1,z:n=1}=this.scale;this.object3d.scale.set(Math.max(t,mh),Math.max(e,mh),Math.max(n,mh))}syncAnimationDelta(){const t=this.component.delta();this.updatePosition();const{rotationX:e=0,rotationY:n=0,rotation:r=0}=this.component.state,i=t.theta||0;this.object3d.rotation.set(e,-(r+i),n);const{scale:s}=this.component.state,o="number"==typeof s?s:s?.x??1,a=t.sx??1,c=t.sy??1;this.object3d.scale.set(Math.max(o*a,mh),Math.max(o*c,mh),Math.max(o,mh));const l=t.fade||0;if(0!==l){const t=(this.component.state.alpha??1)*(1-l);this.object3d.traverse(e=>{if(e.isMesh&&e.material){const n=Array.isArray(e.material)?e.material:[e.material];for(const e of n)e.opacity=t,e.transparent=e.opacity<1}})}}updateDimension(){this.clear(),this.build()}updateAlpha(){let{alpha:t}=this.component.state;t=null==t?1:t,this.object3d.traverse(e=>{let n=e.material;e.material&&(Array.isArray(n)||(n=[n]),n.forEach(e=>{e.opacity*=t,e.transparent=t<1}))})}updateHidden(){this.object3d.visible=!this.component.state.hidden}updateStrokeStyle(){}updateFillStyle(){}updateText(){}get syncZPosOffset(){return this.effectiveDepth/2}syncFromObject3D(){const t=this.object3d,e=this._component,{width:n=0,height:r=0}=e.parent?.bounds??{},i=e.bounds,{tx:s=0,ty:o=0,tz:a=0}=e.delta();this._suppressOnchange=!0,e.bounds={left:t.position.x-s+n/2-i.width/2,top:t.position.z-o+r/2-i.height/2,width:i.width,height:i.height},e.set({zPos:t.position.y-a-this.syncZPosOffset,rotationX:t.rotation.x,rotation:-t.rotation.y,rotationY:t.rotation.z}),this._suppressOnchange=!1}applyDimensionFromGizmo(t){this._suppressOnchange=!0,this._component.set(t),this._suppressOnchange=!1}onchange(t,e){Ph(["cx","cy","cz","zPos","left","top"],t)&&this.updatePosition(),Ph(["width","height","depth","lineWidth"],t)&&this.updateDimension(),Ph(["rotationX","rotationY","rotation"],t)&&this.updateRotate(),"scale"in t&&this.updateScale(),"hidden"in t&&this.updateHidden(),"alpha"in t&&this.updateAlpha(),"strokeStyle"in t&&this.updateStrokeStyle(),"fillStyle"in t&&this.updateFillStyle(),Ph(["text","fontColor","fontSize","fontFamily","bold","italic"],t)&&this.updateText(),"material3d"in t&&this.updateMaterial3d()}}class Dh extends Oh{get syncZPosOffset(){return this.effectiveDepth}getObject3dInstance(){return new g(this.component.element)}get rotation(){const{rotationX:t=0,rotationY:e=0,rotation:n=0}=this.component.state;return{x:t-Math.PI/2,y:e,z:-n}}syncFromObject3D(){const t=this.object3d,e=this._component,{width:n=0,height:r=0}=e.parent?.bounds??{},i=e.bounds,{tx:s=0,ty:o=0,tz:a=0}=e.delta();this._suppressOnchange=!0;const c=t.scale.x;e.bounds={left:t.position.x-s+n/2-i.width/2,top:t.position.z-o+r/2-i.height/2,width:i.width,height:i.height},e.set({zPos:t.position.y-a-this.syncZPosOffset,rotationX:t.rotation.x+Math.PI/2,rotation:-t.rotation.z,rotationY:t.rotation.y,scale:{x:c,y:c}}),this._suppressOnchange=!1}build(){super.build();const t=this.component.element;if(!t)return;const{width:e,height:n}=this.component.bounds;t.style.width=e+"px",t.style.height=n+"px",t.style.left="",t.style.top=""}updateDimension(){super.updateDimension();const t=this.dimension,e=this.component.element;e&&(e.style.width=t.width+"px",e.style.height=t.height+"px")}updateAlpha(){super.updateAlpha();const{alpha:t=1}=this.component.state,e=this.component.element;e&&(e.style.opacity=String(t))}}const Ih=new Map;let zh;function jh(t,e){Ih.set(t,e)}function Rh(t){zh=t}function Lh(t){const e=t.buildRealObject();if(e)return e;const n=t.model?.type,r=n?Ih.get(n):void 0;if(r)return r(t);if(t.isHTMLElement()){const e=Ih.get("html-overlay-element");if(e)return e(t)}return zh?.(t)}function Fh(t,e){t.metalness=e.metalness,t.roughness=e.roughness,t.opacity=e.opacity,t.transparent=e.opacity<1,t.envMapIntensity=e.envMapIntensity}function Nh(t){const{fillStyle:n,floorMaterial3d:r}=t.state,i=Sh(r);if("none"===n)return;const s=new e.BoxGeometry(1,1,1);let o;if(n){const r=Oh.buildFillStyleTexture(t);if(r){const t="#424b57",n=[new e.MeshStandardMaterial({color:t}),new e.MeshStandardMaterial({color:t}),new e.MeshStandardMaterial({color:t}),new e.MeshStandardMaterial({color:t}),new e.MeshStandardMaterial({map:r}),new e.MeshStandardMaterial({color:t})];n.forEach(t=>Fh(t,i)),o=n}else if("string"==typeof n){const t=new e.MeshStandardMaterial({color:n});Fh(t,i),o=t}}if(!o){const t=new e.MeshStandardMaterial({color:"#e0e0e0"});Fh(t,i),o=t}const a=new e.Mesh(s,o),{width:c,height:l}=t.state;return a.scale.set(c,l,5),a.rotation.x=-Math.PI/2,a.position.y=-3.5,a.name="floor",a.receiveShadow=!1!==r?.receiveShadow,a.castShadow=!0===r?.castShadow,a}const Bh={studio:class extends n{constructor(){super(),this.name="StudioEnvironment",this.position.y=-3.5;const t=new r;t.deleteAttribute("uv");const e=new i({side:s,color:13421772}),n=new o(t,e);n.position.set(0,13,0),n.scale.set(40,30,35),this.add(n);const l=new i({color:11184810,roughness:.8}),h=new o(t,l);h.position.set(0,-1.5,0),h.scale.set(40,.5,35),this.add(h);const d=new a(16777215,500,40,2);d.position.set(0,24,0),this.add(d);const u=new a(16777215,200,30,2);u.position.set(-10,22,-8),this.add(u);const p=new a(16777215,200,30,2);p.position.set(10,22,8),this.add(p);const f=(e,n,r)=>{const i=new c({color:0,emissive:16777215,emissiveIntensity:r}),s=new o(t,i);return s.position.set(e,26,n),s.scale.set(6,.1,6),s};this.add(f(-8,-6,60)),this.add(f(8,-6,60)),this.add(f(-8,6,60)),this.add(f(8,6,60)),this.add(f(0,0,50))}dispose(){const t=new Set;this.traverse(e=>{if(e.isMesh){t.add(e.geometry);const n=e.material;Array.isArray(n)?n.forEach(e=>t.add(e)):t.add(n)}});for(const e of t)e.dispose()}},warehouse:class extends n{constructor(){super(),this.name="WarehouseEnvironment",this.position.y=-3.5;const t=new r;t.deleteAttribute("uv");const e=new i({side:s,color:8425632}),n=new o(t,e);n.position.set(0,18,0),n.scale.set(50,40,40),this.add(n);const l=new i({color:9474192,roughness:.9}),h=new o(t,l);h.position.set(0,-1.5,0),h.scale.set(50,.5,40),this.add(h);const d=new a(15266047,600,50,2);d.position.set(-10,30,0),this.add(d);const u=new a(15266047,600,50,2);u.position.set(10,30,0),this.add(u);const p=(e,n,r)=>{const i=new c({color:0,emissive:15266047,emissiveIntensity:r}),s=new o(t,i);return s.position.set(e,35,n),s.scale.set(8,.1,2),s};this.add(p(-12,-6,80)),this.add(p(-12,6,80)),this.add(p(0,0,60)),this.add(p(12,-6,80)),this.add(p(12,6,80));const f=new o(t,new c({color:0,emissive:16772829,emissiveIntensity:15}));f.position.set(0,10,-19),f.scale.set(12,8,.1),this.add(f)}dispose(){const t=new Set;this.traverse(e=>{if(e.isMesh){t.add(e.geometry);const n=e.material;Array.isArray(n)?n.forEach(e=>t.add(e)):t.add(n)}});for(const e of t)e.dispose()}},factory:class extends n{constructor(){super(),this.name="FactoryEnvironment",this.position.y=-3.5;const t=new r;t.deleteAttribute("uv");const e=new i({side:s,color:6318192,metalness:.1,roughness:.8}),n=new o(t,e);n.position.set(0,20,0),n.scale.set(60,44,45),this.add(n);const l=new i({color:8028272,roughness:.7,metalness:.05}),h=new o(t,l);h.position.set(0,-1.5,0),h.scale.set(60,.5,45),this.add(h);const d=(t,e)=>{const n=new a(15791615,800,55,2);return n.position.set(t,35,e),n};this.add(d(-15,-10)),this.add(d(-15,10)),this.add(d(0,0)),this.add(d(15,-10)),this.add(d(15,10));const u=(e,n,r)=>{const i=new c({color:0,emissive:15791615,emissiveIntensity:r}),s=new o(t,i);return s.position.set(e,38,n),s.scale.set(6,.1,3),s};this.add(u(-18,-10,90)),this.add(u(-18,10,90)),this.add(u(0,-10,70)),this.add(u(0,10,70)),this.add(u(18,-10,90)),this.add(u(18,10,90));const p=new o(t,new c({color:0,emissive:11206570,emissiveIntensity:10}));p.position.set(28,14,-21),p.scale.set(1,2,.1),this.add(p);const f=new o(t,new c({color:0,emissive:16772829,emissiveIntensity:25}));f.position.set(0,8,-22),f.scale.set(10,10,.1),this.add(f)}dispose(){const t=new Set;this.traverse(e=>{if(e.isMesh){t.add(e.geometry);const n=e.material;Array.isArray(n)?n.forEach(e=>t.add(e)):t.add(n)}});for(const e of t)e.dispose()}},office:class extends n{constructor(){super(),this.name="OfficeEnvironment",this.position.y=-3.5;const t=new r;t.deleteAttribute("uv");const e=new i({side:s,color:14209224}),n=new o(t,e);n.position.set(0,10,0),n.scale.set(35,22,30),this.add(n);const l=new i({color:10524808,roughness:.85}),h=new o(t,l);h.position.set(0,-1.5,0),h.scale.set(35,.5,30),this.add(h);const d=new a(16774374,400,30,2);d.position.set(0,17,0),this.add(d);const u=(e,n,r)=>{const i=new c({color:0,emissive:16775408,emissiveIntensity:r}),s=new o(t,i);return s.position.set(e,19.5,n),s.scale.set(4,.1,4),s};this.add(u(-8,-6,60)),this.add(u(-8,6,60)),this.add(u(8,-6,60)),this.add(u(8,6,60)),this.add(u(0,0,50));const p=new o(t,new c({color:0,emissive:14544639,emissiveIntensity:30}));p.position.set(17,10,0),p.scale.set(.1,6,12),this.add(p);const f=new o(t,new c({color:0,emissive:14544639,emissiveIntensity:20}));f.position.set(-17,10,0),f.scale.set(.1,4,8),this.add(f)}dispose(){const t=new Set;this.traverse(e=>{if(e.isMesh){t.add(e.geometry);const n=e.material;Array.isArray(n)?n.forEach(e=>t.add(e)):t.add(n)}});for(const e of t)e.dispose()}},home:class extends n{constructor(){super(),this.name="HomeEnvironment",this.position.y=-3.5;const t=new r;t.deleteAttribute("uv");const e=new i({side:s,color:15261136}),n=new o(t,e);n.position.set(0,8,0),n.scale.set(28,18,24),this.add(n);const l=new i({color:11571312,roughness:.7}),h=new o(t,l);h.position.set(0,-1.5,0),h.scale.set(28,.5,24),this.add(h);const d=new a(16770244,300,25,2);d.position.set(0,14,0),this.add(d);const u=new a(16767152,100,20,2);u.position.set(-8,12,-6),this.add(u);const p=(e,n,r)=>{const i=new c({color:0,emissive:16771280,emissiveIntensity:r}),s=new o(t,i);return s.position.set(e,15.5,n),s.scale.set(3,.1,3),s};this.add(p(0,0,40)),this.add(p(-6,-4,25)),this.add(p(6,4,25));const f=new o(t,new c({color:0,emissive:14544639,emissiveIntensity:35}));f.position.set(13.5,8,0),f.scale.set(.1,8,10),this.add(f);const g=new o(t,new c({color:0,emissive:14544639,emissiveIntensity:15}));g.position.set(-13.5,9,3),g.scale.set(.1,5,6),this.add(g)}dispose(){const t=new Set;this.traverse(e=>{if(e.isMesh){t.add(e.geometry);const n=e.material;Array.isArray(n)?n.forEach(e=>t.add(e)):t.add(n)}});for(const e of t)e.dispose()}}};class Yh{get scene(){return this._scene}get mixer(){return this._mixer}setup(){return this._scene=new e.Scene,this._scene}setupMixer(){return this._timer=new e.Timer,this._timer.connect(document),this._mixer=new e.AnimationMixer(this._scene),this._mixer}setupEnvironment(t){this._renderer=t,this._applyEnvironment("studio")}_applyEnvironment(t){this._envTexture&&this._envTexture.dispose();const n=new(0,Bh[t]),r=new e.PMREMGenerator(this._renderer);this._envTexture=r.fromScene(n).texture,this._scene.environment=this._envTexture,n.dispose(),r.dispose()}setSky(t,n){if(!this._scene||!this._renderer)return;const r=t;r&&r in Bh?(this._applyEnvironment(r),this._scene.background=this._envTexture):this._scene.background="color"===t&&n?new e.Color(n):null}addFloor(t){const e=Nh(t);e&&this._scene.add(e)}updateFloor(t){if(!this._scene)return;const e=this._scene.children.find(t=>"floor"===t.name);e&&(Th(e),this._scene.remove(e)),this.addFloor(t)}addObject(t){this._scene.add(t)}updateAnimation(){this._mixer&&this._timer&&(this._timer.update(),this._mixer.update(this._timer.getDelta()))}destroy(){this._mixer&&(this._mixer.stopAllAction(),this._mixer.uncacheRoot(this._scene)),this._envTexture&&(this._envTexture.dispose(),delete this._envTexture),this._scene&&(this._scene.environment=null,Th(this._scene),this._scene.clear()),delete this._scene,delete this._mixer,delete this._renderer,this._timer&&this._timer.disconnect(),delete this._timer}}class Gh{constructor(){this._activeView="perspective",this._cameraZPos=0}get camera(){return this._perspCamera}get activeCamera(){return"perspective"!==this._activeView&&this._orthoCamera?this._orthoCamera:this._perspCamera}get activeView(){return this._activeView}get zoom(){return this._perspCamera?.zoom}get cameraZPos(){return this._cameraZPos}setup(t,n,r){const{fov:i,near:s,far:o,zoom:a,cameraX:c,cameraY:l,cameraZ:h}=r,d=t/n;this._perspCamera=new e.PerspectiveCamera(i,d,s,o);let u=.8*n,p=.8*t;return this._cameraZPos=Math.min(500,Math.floor(Math.min(t,n))),null!=c&&(u=c*t),null!=l&&(p=l*n),null!=h&&(this._cameraZPos=h*Math.floor(Math.min(t,n))),this._perspCamera.position.set(u,this._cameraZPos,p),this._perspCamera.zoom=.01*(a??200),this._activeView="perspective",this._perspCamera}addToScene(t){t.add(this._perspCamera),this._perspCamera.lookAt(t.position)}updateAspect(t,e){this._perspCamera&&(this._perspCamera.aspect=t/e,this._perspCamera.updateProjectionMatrix()),this._orthoCamera&&this._updateOrthoFrustum(t,e)}updateProperties(t){this._perspCamera&&(void 0!==t.fov&&(this._perspCamera.fov=t.fov),void 0!==t.near&&(this._perspCamera.near=t.near),void 0!==t.far&&(this._perspCamera.far=t.far),void 0!==t.zoom&&(this._perspCamera.zoom=.01*t.zoom),this._perspCamera.updateProjectionMatrix())}setOrthoView(t,n,r){this._orthoCamera||(this._orthoCamera=new e.OrthographicCamera(-1,1,1,-1,.1,5e4)),this._updateOrthoFrustum(n,r);const i=this._orthoCamera;i.zoom=1;const s=2*Math.max(n,r);switch(t){case"top":i.position.set(0,s,0),i.up.set(0,0,-1);break;case"front":i.position.set(0,0,s),i.up.set(0,1,0);break;case"back":i.position.set(0,0,-s),i.up.set(0,1,0);break;case"right":i.position.set(s,0,0),i.up.set(0,1,0);break;case"left":i.position.set(-s,0,0),i.up.set(0,1,0)}return i.lookAt(0,0,0),i.updateProjectionMatrix(),this._activeView=t,i}restorePerspective(){return this._activeView="perspective",this._perspCamera}_updateOrthoFrustum(t,e){if(!this._orthoCamera)return;const n=t/e,r=Math.max(t,e)/2;this._orthoCamera.left=-r*n,this._orthoCamera.right=r*n,this._orthoCamera.top=r,this._orthoCamera.bottom=-r,this._orthoCamera.updateProjectionMatrix()}destroy(){delete this._perspCamera,delete this._orthoCamera,this._activeView="perspective"}}class Vh{constructor(){this._noSupportWebgl=!1}get renderer(){return this._renderer}get css3DRenderer(){return this._css3DRenderer||(this._css3DRenderer=this.createCSS3DRenderer()),this._css3DRenderer}get css3DScene(){return this._css3DScene||(this._css3DScene=new e.Scene),this._css3DScene}get composer(){return this._composer}get noSupportWebgl(){return this._noSupportWebgl}get domElement(){return this._renderer?.domElement}setupWebGL(t,n,r){try{const i=document.createElement("canvas"),s=i.getContext("webgl2"),o=new e.WebGLRenderer({canvas:i,context:s,precision:r.precision,alpha:!0,antialias:r.antialias,logarithmicDepthBuffer:!0,premultipliedAlpha:!1});return o.autoClear=!0,o.outputColorSpace=e.SRGBColorSpace,o.toneMapping=e.NoToneMapping,o.toneMappingExposure=r.exposure,o.shadowMap.enabled=!0,o.shadowMap.type=e.PCFShadowMap,o.setClearColor(16777215,1),o.setPixelRatio(window.devicePixelRatio),o.setSize(t,n,!1),i.style.width="100%",i.style.height="100%",this._renderer=o,this._noSupportWebgl=!1,!0}catch(t){return this._noSupportWebgl=!0,!1}}setupCSS3D(t,e){const n=this.css3DRenderer.domElement;n.style.position="absolute",n.style.left="0",n.style.top="0",n.style.pointerEvents="none",e&&n.setAttribute("scene",e),n.style.setProperty("pointer-events","none","important")}createCSS3DRenderer(){return new m}setupComposer(t,n,r,i,s){const o=new e.WebGLRenderTarget(r,i,{samples:4});this._composer=new b(this._renderer,o),this._composer.setSize(r,i);const a=new v(t,n);this._composer.addPass(a);const c=new x(new e.Vector2(r,i),t,n);if(c.visibleEdgeColor.set(15885602),c.hiddenEdgeColor.set(15885602),c.edgeStrength=3,c.edgeThickness=1.5,c.edgeGlow=.5,c.pulsePeriod=0,s){const t=c.render.bind(c);c.render=(e,n,r,i,o)=>{const a=s.visible;s.visible=!1,t(e,n,r,i,o),s.visible=a}}return this._outlinePass=c,this._composer.addPass(c),this._composer.addPass(new _),this._composer.addPass(new w),this._composer}updateRenderPassCamera(t){this._composer&&this._composer.passes.length>0&&(this._composer.passes[0].camera=t),this._outlinePass&&(this._outlinePass.renderCamera=t)}setOutlineObjects(t){this._outlinePass&&(this._outlinePass.selectedObjects=t)}resize(t,e){this._renderer?.setSize(t,e,!1),this._css3DRenderer?.setSize(t,e),this._composer?.setSize(t,e)}render(){if(this._composer?.render(),this._renderer){const t=this._renderer.getContext();t.colorMask(!1,!1,!1,!0),t.clearColor(0,0,0,1),t.clear(t.COLOR_BUFFER_BIT),t.colorMask(!0,!0,!0,!0)}}renderCSS3D(t){this._css3DRenderer?.render(this.css3DScene,t)}getSize(){const t=new e.Vector2;return this._renderer?.getSize(t),{width:t.x,height:t.y}}destroy(){this._outlinePass=void 0,this._composer?.dispose(),this._renderer?.dispose(),delete this._composer,delete this._renderer}disposeCSS3DScene(){if(this._css3DScene){[...this._css3DScene.children].forEach(t=>this._css3DScene.remove(t))}}}class Uh{constructor(){this.lights=[]}get hemiLight(){return this._hemiLight}get dirLight(){return this._dirLight}setup(t,n,r){this._scene=t,this._camera=n;const{hemisphere:i,directional:s,point:o}=r;if(this._hemiLight=new e.HemisphereLight(i.skyColor,i.groundColor,i.intensity),t.add(this._hemiLight),this.lights.push(this._hemiLight),s){if(this._dirLight=new e.DirectionalLight(s.color,s.intensity),!1!==s.castShadow){this._dirLight.castShadow=!0;const t=s.shadowMapSize??2048;this._dirLight.shadow.mapSize.set(t,t),this._dirLight.shadow.bias=s.shadowBias??-5e-4;const e=this._dirLight.shadow.camera;e.near=.1,e.far=5e3,e.left=-1500,e.right=1500,e.top=1500,e.bottom=-1500}s.attachToCamera?n.add(this._dirLight):t.add(this._dirLight),this.lights.push(this._dirLight)}if(o){const n=new e.PointLight(o.color,o.intensity,void 0,o.decay);n.power=o.power,n.castShadow=o.castShadow,n.position.set(...o.position),n.shadow.camera.near=o.shadowNear,n.shadow.camera.far=o.shadowFar,t.add(n),this.lights.push(n)}}updateHemisphere(t){this._hemiLight&&(void 0!==t.skyColor&&this._hemiLight.color.set(t.skyColor),void 0!==t.groundColor&&this._hemiLight.groundColor.set(t.groundColor),void 0!==t.intensity&&(this._hemiLight.intensity=t.intensity))}updateDirectional(t){this._dirLight&&(void 0!==t.color&&this._dirLight.color.set(t.color),void 0!==t.intensity&&(this._dirLight.intensity=t.intensity))}setDirectionalEnabled(t,n){if(t&&!this._dirLight&&this._camera){const t=n?.color??16777215,r=n?.intensity??.8;this._dirLight=new e.DirectionalLight(t,r),this._camera.add(this._dirLight),this.lights.push(this._dirLight)}else!t&&this._dirLight&&(this._dirLight.removeFromParent(),this._dirLight.dispose(),this.lights=this.lights.filter(t=>t!==this._dirLight),this._dirLight=void 0)}destroy(){this.lights.forEach(t=>t.dispose()),this.lights=[],this._hemiLight=void 0,this._dirLight=void 0,this._scene=void 0,this._camera=void 0}}const Hh=1e-6;class Wh{constructor(){this._enabled=!0,this._state=0,this._autoRotate=!1,this._autoRotateSpeed=2,this._dampingFactor=.15,this._rotateSpeed=.1,this._panSpeed=.25,this._lastScale=1,this._spherical=new e.Spherical,this._sphericalDelta=new e.Spherical,this._panOffset=new e.Vector3,this._target=new e.Vector3,this._target0=new e.Vector3,this._position0=new e.Vector3,this._rotateStart=new e.Vector2,this._rotateEnd=new e.Vector2,this._rotateDelta=new e.Vector2,this._panStart=new e.Vector2,this._panEnd=new e.Vector2,this._panDelta=new e.Vector2,this._offset=new e.Vector3,this._lastPosition=new e.Vector3,this._lastQuaternion=new e.Quaternion,this._panLeftV=new e.Vector3,this._panUpV=new e.Vector3,this._panCalcOffset=new e.Vector3}get isActive(){return!!this._camera}get target(){return this._target.clone()}restoreTarget(t){this._target.copy(t),this._target0.copy(t),this.update()}get _isOrthoLocked(){return!!this._camera?.isOrthographicCamera}setup(t,n){this._camera=t,this._host=n,this._target.set(0,0,0),this._target0.copy(this._target),this._position0.copy(t.position),this._quat=(new e.Quaternion).setFromUnitVectors(t.up,new e.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert();const r=n.state;this._autoRotate=!n.app?.isEditMode&&r.autoRotate||!1,this._autoRotateSpeed=r.rotationSpeed||2,this.update()}setEnabled(t){this._enabled=t}onDragStart(t){this._enabled&&(this._autoRotate=!1,this._isOrthoLocked?(this._state=2,this._panStart.set(t.offsetX,t.offsetY)):(this._state=t.altKey?2:1,1===this._state?this._rotateStart.set(t.offsetX,t.offsetY):this._panStart.set(t.offsetX,t.offsetY)))}onDragMove(t){this._enabled&&(this._isOrthoLocked?(this._state=2,this._handlePanMove(t.offsetX,t.offsetY)):(this._state=t.altKey?2:1,1===this._state?this._handleRotateMove(t.offsetX,t.offsetY):this._handlePanMove(t.offsetX,t.offsetY)))}onDragEnd(t){this._state=0,this._autoRotate=this._host?.state.autoRotate||!1,this._host?.invalidate()}onTouchStart(t){const e=t.touches[0],n=e.offsetX??e.pageX,r=e.offsetY??e.pageY;if(this._isOrthoLocked)return this._panStart.set(n,r),void(this._state=4);switch(t.touches.length){case 1:this._rotateStart.set(n,r),this._state=3;break;case 2:this._lastScale=t.scale||1,this._panStart.set(n,r),this._state=4;break;default:this._state=0}}onTouchMove(t){const e=t.touches[0],n=e.offsetX??e.pageX,r=e.offsetY??e.pageY;if(this._isOrthoLocked)this._handlePanMove(n,r);else switch(t.touches.length){case 1:if(3!==this._state)return;this._handleRotateMove(n,r);break;case 2:if(Math.abs(this._lastScale-(t.scale||1))>.05)return;if(4!==this._state)return;this._handlePanMove(n,r);break;default:this._state=0}}onTouchEnd(t){this._lastScale=1,this._state=0}onKeyDown(t){switch(t.keyCode){case 38:this._pan(0,7);break;case 40:this._pan(0,-7);break;case 37:this._pan(7,0);break;case 39:this._pan(-7,0);break;default:return}this.update()}update(){const t=this._camera,e=t.position;if(this._isOrthoLocked)return this._panOffset.lengthSq()>0&&(this._target.add(this._panOffset),e.add(this._panOffset),this._panOffset.set(0,0,0)),(this._lastPosition.distanceToSquared(e)>Hh||8*(1-this._lastQuaternion.dot(t.quaternion))>Hh)&&(this._lastPosition.copy(e),this._lastQuaternion.copy(t.quaternion),this._host?.invalidate(),!0);if(this._offset.copy(e).sub(this._target),this._offset.applyQuaternion(this._quat),this._spherical.setFromVector3(this._offset),this._spherical.theta+=this._sphericalDelta.theta,this._autoRotate&&0===this._state){const t=2*Math.PI/60*(this._autoRotateSpeed/60);this._spherical.theta-=t}this._spherical.phi+=this._sphericalDelta.phi,this._spherical.phi=Math.max(0,Math.min(Math.PI,this._spherical.phi)),this._spherical.makeSafe(),this._target.add(this._panOffset),this._offset.setFromSpherical(this._spherical),this._offset.applyQuaternion(this._quatInverse),e.copy(this._target).add(this._offset),t.lookAt(this._target);const n=1-this._dampingFactor;return this._sphericalDelta.theta*=n,this._sphericalDelta.phi*=n,this._panOffset.multiplyScalar(n),(this._lastPosition.distanceToSquared(e)>Hh||8*(1-this._lastQuaternion.dot(t.quaternion))>Hh)&&(this._lastPosition.copy(e),this._lastQuaternion.copy(t.quaternion),this._host?.invalidate(),!0)}reset(){this._target.copy(this._target0),this._camera.position.copy(this._position0),this._camera.updateProjectionMatrix(),this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0),this._state=0,this.update()}setCamera(t){this._camera=t,this._target.set(0,0,0),this._position0.copy(t.position),this._quat=(new e.Quaternion).setFromUnitVectors(t.up,new e.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0),this._lastPosition.copy(t.position),this._lastQuaternion.copy(t.quaternion),this._state=0,t.updateMatrixWorld(!0)}setAutoRotate(t){this._autoRotate=t,this._host?.invalidate()}markCameraChanged(){this._host?.invalidate()}zoomPerspAtCursor(t,e,n,r){const i=this._camera,s=i.position.distanceTo(this._target),o=Math.tan(i.fov/2*Math.PI/180),a=n*s*o*i.aspect*(1/t-1/e),c=r*s*o*(1/t-1/e);this._panLeftV.setFromMatrixColumn(i.matrix,0).multiplyScalar(a),this._panUpV.setFromMatrixColumn(i.matrix,1).multiplyScalar(c),this._target.add(this._panLeftV).add(this._panUpV),i.position.add(this._panLeftV).add(this._panUpV),this._host?.invalidate()}zoomOrthoAtCursor(t,e,n){const r=this._camera,i=r.zoom,s=Math.max(.1,Math.min(20,i*t)),o=e*(r.right-r.left)/2*(1/i-1/s),a=n*(r.top-r.bottom)/2*(1/i-1/s);this._panLeftV.setFromMatrixColumn(r.matrix,0).multiplyScalar(o),this._panUpV.setFromMatrixColumn(r.matrix,1).multiplyScalar(a),this._target.add(this._panLeftV).add(this._panUpV),r.position.add(this._panLeftV).add(this._panUpV),r.zoom=s,r.updateProjectionMatrix(),this._host?.invalidate()}destroy(){delete this._camera,delete this._host}_handleRotateMove(t,e){this._rotateEnd.set(t,e),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart);const{width:n,height:r}=this._host.bounds;this._sphericalDelta.theta-=2*Math.PI*this._rotateDelta.x/n*this._rotateSpeed,this._sphericalDelta.phi-=2*Math.PI*this._rotateDelta.y/r*this._rotateSpeed,this._rotateStart.copy(this._rotateEnd),this._host?.invalidate()}_handlePanMove(t,e){this._panEnd.set(t,e),this._panDelta.subVectors(this._panEnd,this._panStart),this._isOrthoLocked?this._panOrtho(this._panDelta.x,this._panDelta.y):this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this._host?.invalidate()}_panOrtho(t,e){const n=this._camera,r=this._host?.element;let i,s;if(r){const t=r.getBoundingClientRect();i=t.width,s=t.height}else{const{width:t,height:e}=this._host.bounds;i=t,s=e}this._panLeftV.setFromMatrixColumn(n.matrix,0),this._panLeftV.multiplyScalar(-t*(n.right-n.left)/n.zoom/i),this._panUpV.setFromMatrixColumn(n.matrix,1),this._panUpV.multiplyScalar(e*(n.top-n.bottom)/n.zoom/s),this._target.add(this._panLeftV).add(this._panUpV),n.position.add(this._panLeftV).add(this._panUpV)}_pan(t,e){t*=this._panSpeed,e*=this._panSpeed;const{width:n,height:r}=this._host.bounds,i=this._camera;if(i.isPerspectiveCamera){this._panCalcOffset.copy(i.position).sub(this._target);let n=this._panCalcOffset.length();n*=Math.tan(i.fov/2*Math.PI/180),this._panLeftV.setFromMatrixColumn(i.matrix,0),this._panLeftV.multiplyScalar(-2*t*n/r),this._panOffset.add(this._panLeftV),this._panUpV.setFromMatrixColumn(i.matrix,1),this._panUpV.multiplyScalar(2*e*n/r),this._panOffset.add(this._panUpV)}else i.isOrthographicCamera&&(this._panLeftV.setFromMatrixColumn(i.matrix,0),this._panLeftV.multiplyScalar(-t*(i.right-i.left)/i.zoom/n),this._panOffset.add(this._panLeftV),this._panUpV.setFromMatrixColumn(i.matrix,1),this._panUpV.multiplyScalar(e*(i.top-i.bottom)/i.zoom/r),this._panOffset.add(this._panUpV))}}class Xh{constructor(){this._mouse=new e.Vector2,this._raycaster=new e.Raycaster}get mouse(){return this._mouse}get lastFocused(){return this._lastFocused}set lastFocused(t){this._lastFocused=t}get lastHovered(){return this._lastHovered}set lastHovered(t){this._lastHovered=t}updateMouseNDC(t,e,n,r,i,s){this._mouse.x=(t-n)/i*2-1,this._mouse.y=-(e-r)/s*2+1}getObjectByRaycast(t,e){const n=this.getObjectsByRaycast(t,e);if(n&&n.length>0)for(const t of n){let e=t.object;for(;e;){if(e.userData.context){if(e.visible)return e;break}e=e.parent}}}getObjectsByRaycast(t,e){return this._raycaster.setFromCamera(this._mouse,t),this._raycaster.intersectObjects(e.children,!0)}handleClick(t,e,n){this._lastFocused&&(this._lastFocused.focused=!1);const r=this.getObjectByRaycast(t,e),i=r?.userData.context;return i&&(i.focused=!0,this._lastFocused=i,i.component?.trigger("click",n)),i}handleHover(t,e,n){const r=this.getObjectByRaycast(t,e),i=r?.userData.context;i!==this._lastHovered&&(this._lastHovered&&(this._lastHovered.component?.trigger("mouseleave",n),this._lastHovered=void 0),i&&(this._lastHovered=i,this._lastHovered.component?.trigger("mouseenter",n)))}destroy(){this._lastFocused=void 0,this._lastHovered=void 0}}class qh{constructor(){this._mode="translate",this._isDragging=!1}get controls(){return this._controls}get mode(){return this._mode}get attached(){return this._attached}get isAttached(){return!!this._attached}get isDragging(){return this._isDragging}setup(t,e,n){this.destroy(),this._scene=n;const r=document.createElement("div");r.style.cssText="position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none",r.setPointerCapture=()=>{},r.releasePointerCapture=()=>{},e.appendChild(r),this._proxyElement=r,this._controls=new A(t,r),this._controls.setMode(this._mode),n.add(this._controls.getHelper()),this._controls.addEventListener("dragging-changed",t=>{this._isDragging=t.value,this.onDraggingChanged?.(t.value)}),this._controls.addEventListener("change",()=>{this._attached&&this.onObjectChange?.(this._attached)})}forwardEvent(t,e){if(!this._proxyElement||!this._controls)return;const n=new PointerEvent(e,{clientX:t.clientX,clientY:t.clientY,button:"pointermove"===e?-1:t.button??0,pointerId:1,pointerType:"mouse",bubbles:!0});this._proxyElement.dispatchEvent(n)}setMode(t){this._mode=t,this._controls?.setMode(t)}attach(t){this._attached=t,this._controls?.attach(t),this._controls?.getHelper().updateMatrixWorld(!0),this.onAttachChanged?.(!0)}detach(){this._controls?.detach(),this._attached=void 0,this.onAttachChanged?.(!1)}updateCamera(t){this._controls&&(this._controls.camera=t)}destroy(){this._controls&&(this._controls.detach(),this._controls.dispose(),this._scene&&this._scene.remove(this._controls.getHelper()),this._controls=void 0),this._proxyElement?.parentNode&&this._proxyElement.parentNode.removeChild(this._proxyElement),this._proxyElement=void 0,this._attached=void 0,this._isDragging=!1}}class Kh{constructor(){this._mouseDownAltKey=!1}captureAltKey(t){this._mouseDownAltKey=t}setupCallbacks(t,e,n,r){t.onDraggingChanged=r=>{e.setEnabled(!r);const i=n();i&&(r?this._onDragStart(t,i):this._onDragEnd(t,i),i.app?.commander?.execute(null),i.invalidate())},t.onObjectChange=e=>{this._syncFromGizmo(t,e),n()?.invalidate()},t.onAttachChanged=t=>{r?.onAttachChanged?.(t)}}_onDragStart(t,e){this._mouseDownAltKey&&"translate"===t.mode&&this._performAltDragDuplicate(e);const n=e.root?.selected||[];n.length>1&&this._captureMultiSelectState(t,n),"scale"===t.mode&&this._captureScalePreDrag(t)}_performAltDragDuplicate(t){const e=t.root?.selected||[];if(0===e.length||!t.root)return;const n=t.root,r=[];for(const t of e){const e=t.parent,i=new Map,s=dl(t,t=>{const e=n.getNewRefid();return void 0!==t&&i.set(t,e),e});s.replaceRefids(i),e.addComponent(s),r.push({component:s,to_container:e})}this._altDragDuplicates=r}_captureMultiSelectState(t,e){const n=t.attached;if(n)if("translate"===t.mode){const t=new Map,r=n.position;for(let n=1;n<e.length;n++){const i=e[n]._realObject;i?.object3d&&t.set(i,i.object3d.position.clone().sub(r))}this._multiSelectOffsets=t}else if("rotate"===t.mode){this._gizmoInitialRotation=n.rotation.clone();const t=new Map;for(let n=1;n<e.length;n++){const r=e[n]._realObject;r?.object3d&&t.set(r,r.object3d.rotation.clone())}this._multiSelectInitialRotations=t}else if("scale"===t.mode){const t=new Map;for(let n=1;n<e.length;n++){const r=e[n],i=r._realObject;if(i?.object3d){const{left:e,top:n,width:s,height:o}=r.bounds,{zPos:a=0}=r.state,c=r.state.depth;t.set(i,{left:e,top:n,width:s,height:o,depth:c,zPos:a,scaleX:i.object3d.scale.x,scaleY:i.object3d.scale.y,scaleZ:i.object3d.scale.z})}}this._multiSelectPreDragDimensions=t}}_captureScalePreDrag(t){const e=t.attached,n=e?.userData.context;if(!n||!e)return;const{left:r,top:i,width:s,height:o}=n.component.bounds,{zPos:a=0}=n.component.state,c=n.component.state.depth;this._preDragDimension={left:r,top:i,width:s,height:o,depth:c,zPos:a},this._preDragScale={x:e.scale.x,y:e.scale.y,z:e.scale.z},this._preDragEffectiveDepth=void 0===c?n.effectiveDepth:void 0}_onDragEnd(t,e){if(this._altDragDuplicates&&this._altDragDuplicates.length>0&&(e.app?.commander.execute(new al({changes:this._altDragDuplicates})),this._altDragDuplicates=void 0),this._multiSelectOffsets=void 0,this._gizmoInitialRotation=void 0,this._multiSelectInitialRotations=void 0,this._preDragDimension){const e=t.attached,n=e?.userData.context;if(n&&(void 0!==this._preDragEffectiveDepth&&n.applyDimensionFromGizmo({depth:this._preDragEffectiveDepth}),n.update()),this._multiSelectPreDragDimensions)for(const[t]of this._multiSelectPreDragDimensions)t.update()}this._preDragDimension=void 0,this._preDragScale=void 0,this._preDragEffectiveDepth=void 0,this._multiSelectPreDragDimensions=void 0}_syncFromGizmo(t,e){const n=e.userData.context;if(n)if("scale"===t.mode&&this._preDragDimension&&this._preDragScale){if(this._syncDimensionFromGizmo(n,e),this._multiSelectPreDragDimensions&&this._preDragScale){const t=e.scale.x/this._preDragScale.x,n=e.scale.y/this._preDragScale.y,r=e.scale.z/this._preDragScale.z;for(const[e,i]of this._multiSelectPreDragDimensions){const s=i.width*t,o=i.height*r,a={left:i.left+(i.width-s)/2,top:i.top+(i.height-o)/2,width:s,height:o};if(void 0!==i.depth){const t=i.depth*n;a.depth=t,a.zPos=i.zPos+(i.depth-t)/2}e.applyDimensionFromGizmo(a)}}}else{if(n.syncFromObject3D(),this._multiSelectOffsets){const t=e.position;for(const[e,n]of this._multiSelectOffsets)e.object3d&&(e.object3d.position.copy(t).add(n),e.syncFromObject3D())}if(this._multiSelectInitialRotations&&this._gizmoInitialRotation){const t=e.rotation.x-this._gizmoInitialRotation.x,n=e.rotation.y-this._gizmoInitialRotation.y,r=e.rotation.z-this._gizmoInitialRotation.z;for(const[e,i]of this._multiSelectInitialRotations)e.object3d&&(e.object3d.rotation.set(i.x+t,i.y+n,i.z+r),e.syncFromObject3D())}}}_syncDimensionFromGizmo(t,e){const n=this._preDragDimension,r=this._preDragScale,i=n.width*(e.scale.x/r.x),s=n.height*(e.scale.z/r.z),o={left:n.left+(n.width-i)/2,top:n.top+(n.height-s)/2,width:i,height:s};if(void 0!==n.depth){const t=n.depth*(e.scale.y/r.y);o.depth=t,o.zPos=n.zPos+(n.depth-t)/2}t.applyDimensionFromGizmo(o)}}class $h{constructor(){this._mouseIsDown=!1,this._isDragging=!1,this._mouseDownPos={x:0,y:0}}get hostElement(){return this._hostElement}setup(t,e,n){this.cleanup(),this._hostElement=t,this._gizmo=e.gizmo,this._controls=e.controls,this._camera=e.camera,this._scene=e.scene,this._event=e.event,this._delegate=n,t.hasAttribute("tabindex")||t.setAttribute("tabindex","0"),t.style.outline="none";const r={mousedown:t=>this._onMouseDown(t),mousemove:t=>this._onMouseMove(t),wheel:t=>{t.stopPropagation(),this._delegate.handleWheel(t)},dblclick:t=>{t.stopPropagation(),this._delegate.handleDblClick(t)},contextmenu:t=>{t.preventDefault()},touchstart:t=>{t.stopPropagation(),this._delegate.handleTouchStart(t)},touchmove:t=>{t.stopPropagation(),this._delegate.handleTouchMove(t)},touchend:t=>{t.stopPropagation(),this._delegate.handleTouchEnd(t)},keydown:t=>{this._delegate.handleKeyDown(t)&&t.stopPropagation()}};t.addEventListener("mousedown",r.mousedown),t.addEventListener("mousemove",r.mousemove),t.addEventListener("wheel",r.wheel),t.addEventListener("dblclick",r.dblclick),t.addEventListener("contextmenu",r.contextmenu),t.addEventListener("touchstart",r.touchstart,{passive:!1}),t.addEventListener("touchmove",r.touchmove,{passive:!1}),t.addEventListener("touchend",r.touchend),t.addEventListener("keydown",r.keydown),this._boundHandlers=r}cleanup(){this._removeDocCapture();const t=this._hostElement,e=this._boundHandlers;t&&e&&(t.removeEventListener("mousedown",e.mousedown),t.removeEventListener("mousemove",e.mousemove),t.removeEventListener("wheel",e.wheel),t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("contextmenu",e.contextmenu),t.removeEventListener("touchstart",e.touchstart),t.removeEventListener("touchmove",e.touchmove),t.removeEventListener("touchend",e.touchend),t.removeEventListener("keydown",e.keydown),t.removeAttribute("tabindex"),t.style.outline=""),this._boundHandlers=void 0,this._hostElement=void 0,this._mouseIsDown=!1,this._isDragging=!1}forceCleanupDragState(){this._removeDocCapture(),this._mouseIsDown=!1,this._isDragging=!1}clientToElementCoords(t,e){const n=this._hostElement;if(!n)return{x:t,y:e};const r=n.getBoundingClientRect();return{x:t-r.left,y:e-r.top}}updateMouseNDCFromClient(t,e){const n=this._hostElement?.getBoundingClientRect();if(!n||0===n.width||0===n.height)return;const r=t-n.left,i=e-n.top;this._event.updateMouseNDC(r,i,0,0,n.width,n.height)}_onMouseDown(t){if(t.stopPropagation(),this._hostElement.focus(),this._delegate.isPlacementMode())return void this._delegate.handlePlacementClick(t);this._delegate.captureMouseDownAltKey(t.altKey),this._gizmo.forwardEvent(t,"pointermove"),this._gizmo.forwardEvent(t,"pointerdown");let e=this._gizmo.isDragging;!e&&t.altKey&&this._delegate.tryAltClickSelect(t)&&(this._gizmo.forwardEvent(t,"pointermove"),this._gizmo.forwardEvent(t,"pointerdown"),e=this._gizmo.isDragging),this._mouseIsDown=!0,this._isDragging=!1,this._mouseDownPos={x:t.clientX,y:t.clientY},this._docMoveHandler=t=>{if(t.stopPropagation(),e)return void this._gizmo.forwardEvent(t,"pointermove");const n=t.clientX-this._mouseDownPos.x,r=t.clientY-this._mouseDownPos.y;if(!this._isDragging){if(n*n+r*r<$h.DRAG_THRESHOLD)return;this._isDragging=!0;const e=this.clientToElementCoords(this._mouseDownPos.x,this._mouseDownPos.y);this._controls.onDragStart({offsetX:e.x,offsetY:e.y,altKey:t.altKey})}const i=this.clientToElementCoords(t.clientX,t.clientY);this._controls.onDragMove({offsetX:i.x,offsetY:i.y,altKey:t.altKey})},this._docUpHandler=t=>{if(t.stopPropagation(),this._removeDocCapture(),e)return this._gizmo.forwardEvent(t,"pointerup"),this._mouseIsDown=!1,void(this._isDragging=!1);if(this._isDragging){const e=this.clientToElementCoords(t.clientX,t.clientY);this._controls.onDragEnd({offsetX:e.x,offsetY:e.y})}else{const e=this.clientToElementCoords(t.clientX,t.clientY);this.updateMouseNDCFromClient(t.clientX,t.clientY),this._delegate.handleClickAt(e.x,e.y,t)}this._mouseIsDown=!1,this._isDragging=!1},document.addEventListener("mousemove",this._docMoveHandler,!0),document.addEventListener("mouseup",this._docUpHandler,!0)}_onMouseMove(t){if(t.stopPropagation(),this._mouseIsDown)return;if(this._delegate.isPlacementMode())return void this._delegate.handlePlacementHover(t);this.updateMouseNDCFromClient(t.clientX,t.clientY);const e=this._camera.activeCamera;e&&this._scene.scene&&this._event.handleHover(e,this._scene.scene,t),this._gizmo.forwardEvent(t,"pointermove")}_removeDocCapture(){this._docMoveHandler&&(document.removeEventListener("mousemove",this._docMoveHandler,!0),this._docMoveHandler=void 0),this._docUpHandler&&(document.removeEventListener("mouseup",this._docUpHandler,!0),this._docUpHandler=void 0)}}$h.DRAG_THRESHOLD=16;class Qh{constructor(){this._groundPlane=new e.Plane(new e.Vector3(0,1,0),0)}get isActive(){return!!this._pendingModels}get pendingModels(){return this._pendingModels}setup(t,e){this._camera=t.camera,this._event=t.event,this._scene=t.scene,this._delegate=e}start(t){this._pendingModels=t}stop(){this._pendingModels=void 0,this._removeIndicator()}destroy(){this._removeIndicator(),this._pendingModels=void 0}raycastGroundPlane(t){this._delegate.updateMouseNDCFromClient(t.clientX,t.clientY);const n=this._camera.activeCamera;if(!n)return null;n.updateMatrixWorld(!0);const r=new e.Raycaster;r.setFromCamera(this._event.mouse,n);const i=new e.Vector3;return r.ray.intersectPlane(this._groundPlane,i)}updateIndicator(t){if(!t)return void(this._placementIndicator&&(this._placementIndicator.visible=!1));if(!this._placementIndicator){const t=this._scene?.scene;if(!t)return;const n=new e.RingGeometry(.8,1,32);n.rotateX(-Math.PI/2);const r=new e.MeshBasicMaterial({color:48340,opacity:.6,transparent:!0,side:e.DoubleSide,depthTest:!1});this._placementIndicator=new e.Mesh(n,r),this._placementIndicator.renderOrder=999,t.add(this._placementIndicator)}const n=this._pendingModels?.[0],r=n?.rx??n?.width??50,i=n?.ry??n?.height??50;this._placementIndicator.scale.set(r,1,i),this._placementIndicator.position.copy(t),this._placementIndicator.position.y=1,this._placementIndicator.visible=!0}_removeIndicator(){if(this._placementIndicator){const t=this._placementIndicator;this._scene?.scene?.remove(t),t.geometry.dispose(),t.material.dispose(),this._placementIndicator=void 0}}}class Zh{constructor(){this.sceneManager=new Yh,this.cameraManager=new Gh,this.rendererManager=new Vh,this.lightManager=new Uh,this.controlsManager=new Wh,this.eventManager=new Xh,this.gizmoManager=new qh,this.interactionManager=new $h,this.placementManager=new Qh,this.gizmoOperationManager=new Kh,this._initialized=!1,this._decoratorOutlines=new Set,this._selectionOutlineObjects=[],this._arrows=new Map}get isInitialized(){return this._initialized}get host(){return this._host}get scene3d(){return this.sceneManager.scene}get renderer3d(){return this.rendererManager.renderer}get mixer(){return this.sceneManager.mixer}get zoom(){return this.cameraManager.zoom}get camera(){return this.cameraManager.camera}get activeCamera(){return this.cameraManager.activeCamera}get css3DScene(){return this.rendererManager.css3DScene}get css3DRenderer(){return this.rendererManager.css3DRenderer}get noSupportWebgl(){return this.rendererManager.noSupportWebgl}get isActive(){return this.controlsManager.isActive}setGizmoMode(t){this.gizmoManager.setMode(t),this.onGizmoModeChanged?.(t);const e=this._host?.root?.selected;if(e&&e.length>1){const t=e[0]._realObject;t?.object3d&&this.gizmoManager.attach(t.object3d),this._host?.invalidate()}}get gizmoMode(){return this.gizmoManager.mode}init(t,e){this.interactionManager.cleanup(),this._cleanupEventHandlers(),this._host=t,this._redrawHandler=()=>this.animate(),t.root.on("redraw",this._redrawHandler),this.sceneManager.scene&&this.destroy(),this._initialized=!0,this._setupScene(e),this._onComponentAdd=(t,e)=>this.addObject(e),this._onComponentRemove=(t,e)=>this.removeObject(e),t.on&&(t.on("add",this._onComponentAdd),t.on("remove",this._onComponentRemove)),t.app?.isEditMode&&t.root?.on&&(this._onSelectionChanged=t=>this._handleSelectionChanged(t),t.root.on("selected",this._onSelectionChanged)),t.app?.isEditMode&&t.root?.on&&(this._onAddStart=t=>{this.placementManager.start(t),this._host?.element&&(this._host.element.style.cursor="crosshair",this._host.element.focus())},this._onAddStop=()=>{this.placementManager.stop(),this._host?.element&&(this._host.element.style.cursor="")},t.root.on("addstart",this._onAddStart),t.root.on("addstop",this._onAddStop))}_cleanupEventHandlers(){const t=this._host;t&&(this._redrawHandler&&(t.root.off("redraw",this._redrawHandler),this._redrawHandler=void 0),t.off&&(this._onComponentAdd&&(t.off("add",this._onComponentAdd),this._onComponentAdd=void 0),this._onComponentRemove&&(t.off("remove",this._onComponentRemove),this._onComponentRemove=void 0)),this._onSelectionChanged&&t.root?.off&&(t.root.off("selected",this._onSelectionChanged),this._onSelectionChanged=void 0),this._onAddStart&&t.root?.off&&(t.root.off("addstart",this._onAddStart),this._onAddStart=void 0),this._onAddStop&&t.root?.off&&(t.root.off("addstop",this._onAddStop),this._onAddStop=void 0))}_setupScene(t){const e=this._host;let{width:n,height:r}=e.bounds;n=Math.abs(n)||1,r=Math.abs(r)||1;const{fov:i=45,near:s=.1,far:o=2e4,antialias:a=!0,precision:c="highp",cameraX:l,cameraY:h,cameraZ:d,exposure:u=1}=e.state,p=e.components||[],f=t?.lightingConfig??{hemisphere:{skyColor:16777215,groundColor:4473924,intensity:.4},directional:{color:16777215,intensity:1,attachToCamera:!0}},g=t?.css3DSceneAttribute??"three-container:css3d-renderer",m=this.sceneManager.setup(),y=(e.getState?e.getState("zoom"):e.state.zoom)??200,b=this.cameraManager.setup(n,r,{fov:i,near:s,far:o,zoom:y,cameraX:l,cameraY:h,cameraZ:d});if(this.cameraManager.addToScene(m),!this.rendererManager.setupWebGL(n,r,{precision:c,antialias:a,exposure:u}))return;this.sceneManager.setupEnvironment(this.rendererManager.renderer),this.controlsManager.setup(b,e),e.app?.isEditMode&&e.element&&(this.gizmoManager.setup(b,e.element,m),this._setupGizmoCallbacks()),this.placementManager.setup({camera:this.cameraManager,event:this.eventManager,scene:this.sceneManager},{updateMouseNDCFromClient:(t,e)=>this._updateMouseNDCFromClient(t,e)}),this.lightManager.setup(m,b,f),this.sceneManager.setupMixer(),this.createObjects(p),b.updateProjectionMatrix(),this.sceneManager.addFloor(e),this.sceneManager.setSky(e.state.sky,e.state.skyColor);const v=this.gizmoManager.controls?.getHelper();this.rendererManager.setupComposer(m,b,n,r,v),this.rendererManager.setupCSS3D(e.app.isViewMode,g),this._onFocus=()=>this.renderThreeD(),window.addEventListener("focus",this._onFocus),e.element&&this.interactionManager.setup(e.element,{gizmo:this.gizmoManager,controls:this.controlsManager,camera:this.cameraManager,scene:this.sceneManager,event:this.eventManager},this._buildInteractionDelegate())}_setupGizmoCallbacks(){this.gizmoOperationManager.setupCallbacks(this.gizmoManager,this.controlsManager,()=>this._host,{onAttachChanged:t=>this.onGizmoAttachChanged?.(t)})}createObjects(t){for(const e of t)this.addObject(e)}addObject(t){if(!t._realObject){try{const{width:e,height:n}=t.bounds;if(!e||!n)return;if(t.isHTMLElement()&&!t.element)return;const r=Lh(t);if(r){if(t._realObject=r,r.update(),r.updateTransform(),r instanceof Dh)this.rendererManager.css3DScene.add(r.object3d);else{const e=t.parent?._realObject?.object3d;e&&e!==this.sceneManager.scene?e.add(r.object3d):this.sceneManager.scene.add(r.object3d)}const e=this._host?.root?.selected;e&&e.length>0&&e[0]===t&&r.object3d&&this.gizmoManager.attach(r.object3d)}}catch(t){Wr(t)}if(t.isContainer()){const e=t,n=e.components||[];this.createObjects(n),e.on&&(e.on("add",this._onComponentAdd),e.on("remove",this._onComponentRemove))}}}removeObject(t){if(t.isContainer()){const e=t,n=e.components||[];for(const t of n)this.removeObject(t);e.off&&(e.off("add",this._onComponentAdd),e.off("remove",this._onComponentRemove))}const e=t._realObject;if(e)try{const n=e.object3d;n&&this.gizmoManager.attached===n&&this.gizmoManager.detach(),n&&(e instanceof Dh?this.rendererManager.css3DScene.remove(n):n.removeFromParent()),e.dispose?.(),t._realObject=void 0}catch(t){Wr(t)}}resize(t,e,n=!1){const r=this._host;if(!r)return;if(void 0===t||void 0===e){const n=r.bounds;t=n.width,e=n.height}if(t=Math.abs(t)||1,e=Math.abs(e)||1,n)return void this._applyResize(t,e);this.rendererManager.css3DRenderer?.setSize(t,e);const i=t,s=e;clearTimeout(this._resizeDebouncer),this._resizeDebouncer=window.setTimeout(()=>{this._resizeDebouncer=void 0,this._applyResize(i,s)},100)}_applyResize(t,n){this.cameraManager.updateAspect(t,n),this.rendererManager.resize(t,n);const r=new e.Vector2(t,n);for(const t of this._arrows.values())t.traverse(t=>{t instanceof u&&t.material.resolution.copy(r)});this._initialized&&(this.renderThreeD(),this.renderCSS3D())}animate(){if(!this._initialized||!this.controlsManager.isActive)return;this.sceneManager.updateAnimation();const t=this._host?.components||[];for(const e of t)e._animation?.started&&e._realObject&&e._realObject.syncAnimationDelta();this.controlsManager.update(),this.renderThreeD()}renderThreeD(){this._initialized&&this.rendererManager.render()}setCameraView(t,e){const n=this._host;if(!n)return;const{width:r,height:i}=n.bounds;let s;s="perspective"===t?this.cameraManager.restorePerspective():this.cameraManager.setOrthoView(t,r,i),this.controlsManager.setCamera(s),this.gizmoManager.updateCamera(s),this.rendererManager.updateRenderPassCamera(s),!1!==e?.render&&this.renderThreeD(),this.onCameraViewChanged?.(t)}renderCSS3D(){const t=this.cameraManager.activeCamera;t&&this.rendererManager.renderCSS3D(t)}buildOverlays(){const t=this._host;t?.element&&t.element.appendChild(this.css3DRenderer.domElement)}destroy(){this.interactionManager.cleanup(),this._resizeDebouncer&&(clearTimeout(this._resizeDebouncer),this._resizeDebouncer=void 0),this._onFocus&&(window.removeEventListener("focus",this._onFocus),this._onFocus=void 0),this.gizmoManager.destroy(),this.controlsManager.destroy(),this.lightManager.destroy(),this.rendererManager.destroy(),this.cameraManager.destroy(),this.sceneManager.destroy(),this.eventManager.destroy(),this._initialized=!1}forceCleanupDragState(){this.interactionManager.forceCleanupDragState()}clearAllObjects(){this.gizmoManager.detach();const t=this._host?.components||[];for(const e of t)e._realObject&&this.removeObject(e)}rebuildForHost(t,e){this.interactionManager.cleanup(),this._redrawHandler=void 0,this._onComponentAdd=void 0,this._onComponentRemove=void 0,this._onSelectionChanged=void 0,this._onAddStart=void 0,this._onAddStop=void 0,this._host=t,this._redrawHandler=()=>this.animate(),t.root.on("redraw",this._redrawHandler),this._onComponentAdd=(t,e)=>this.addObject(e),this._onComponentRemove=(t,e)=>this.removeObject(e),t.on&&(t.on("add",this._onComponentAdd),t.on("remove",this._onComponentRemove)),t.app?.isEditMode&&t.root?.on&&(this._onSelectionChanged=t=>this._handleSelectionChanged(t),t.root.on("selected",this._onSelectionChanged),this._onAddStart=t=>{this.placementManager.start(t),this._host?.element&&(this._host.element.style.cursor="crosshair",this._host.element.focus())},this._onAddStop=()=>{this.placementManager.stop(),this._host?.element&&(this._host.element.style.cursor="")},t.root.on("addstart",this._onAddStart),t.root.on("addstop",this._onAddStop)),this.createObjects(t.components||[]),t.element&&this.interactionManager.setup(t.element,{gizmo:this.gizmoManager,controls:this.controlsManager,camera:this.cameraManager,scene:this.sceneManager,event:this.eventManager},this._buildInteractionDelegate()),this.controlsManager.setup(this.cameraManager.camera,t),t.app?.isEditMode&&t.element&&this.sceneManager.scene&&(this.gizmoManager.setup(this.cameraManager.camera,t.element,this.sceneManager.scene),this._setupGizmoCallbacks()),this._onFocus||(this._onFocus=()=>this.renderThreeD(),window.addEventListener("focus",this._onFocus)),this.renderThreeD()}dispose(){const t=e=>{for(const n of e){if(n.isContainer()){const e=n.components||[];t(e)}n._realObject&&(n._realObject.dispose?.(),n._realObject=void 0)}};t(this._host?.components||[]),this._decoratorOutlines.clear(),this._selectionOutlineObjects=[],this.clearArrows(),this.placementManager.destroy(),this._cleanupEventHandlers(),this.rendererManager.disposeCSS3DScene(),this.destroy(),this._host=void 0}_buildInteractionDelegate(){return{isPlacementMode:()=>this.placementManager.isActive,handlePlacementClick:t=>{if(!this._host?.root)return;const e=this.placementManager.raycastGroundPlane(t);if(e){const t=this._host,n=t.bounds.width||800,r=t.bounds.height||600,i=e.x+n/2,s=e.z+r/2;ul.call(t.root,this.placementManager.pendingModels,{cx:i,cy:s}),t.root.trigger("addstop")}},handlePlacementHover:t=>{const e=this.placementManager.raycastGroundPlane(t);this.placementManager.updateIndicator(e),this.renderThreeD()},tryAltClickSelect:t=>{if(!this._host?.app?.isEditMode||!this._host.root)return!1;this._updateMouseNDCFromClient(t.clientX,t.clientY);const e=this.cameraManager.activeCamera;if(e&&this.sceneManager.scene){const n=this.eventManager.handleClick(e,this.sceneManager.scene,t);if(n?.component)return this._host.root.selected=[n.component],!0}return!1},captureMouseDownAltKey:t=>{this.gizmoOperationManager.captureAltKey(t)},handleClickAt:(t,e,n)=>{this._handleClickAt(n)},handleWheel:t=>this.onWheel(t),handleDblClick:t=>this.onDblClick(t),handleTouchStart:t=>this.onTouchStart(t),handleTouchMove:t=>this.onPan(t),handleTouchEnd:t=>this.onTouchEnd(t),handleKeyDown:t=>this.onKeyDown(t)}}_handleClickAt(t){const e=this._host,n=this.cameraManager.activeCamera;if(!n||!this.sceneManager.scene)return;const r=this.gizmoManager.isDragging;if(this.gizmoManager.forwardEvent(t,"pointerup"),r)return;const i=this.eventManager.handleClick(n,this.sceneManager.scene,t);if(e.app?.isEditMode&&e.root)if(i?.component)if(t.shiftKey){const t=(e.root.selected||[]).slice(),n=t.indexOf(i.component);-1===n?t.push(i.component):t.splice(n,1),e.root.selected=t}else e.root.selected=[i.component];else t.shiftKey||(e.root.selected=[e])}getObjectByRaycast(){if(!this.sceneManager.scene)return;const t=this.cameraManager.activeCamera;return t?this.eventManager.getObjectByRaycast(t,this.sceneManager.scene):void 0}getObjectsByRaycast(){if(!this.sceneManager.scene)return;const t=this.cameraManager.activeCamera;return t?this.eventManager.getObjectsByRaycast(t,this.sceneManager.scene):void 0}_updateMouseNDCFromClient(t,e){const n=this._host?.element?.getBoundingClientRect();if(!n||0===n.width||0===n.height)return;const r=t-n.left,i=e-n.top;this.eventManager.updateMouseNDC(r,i,0,0,n.width,n.height)}_updateMouseNDC(t){this._updateMouseNDCFromClient(t.clientX,t.clientY)}onMouseUp(t){if(this.controlsManager.isActive){const e=this.gizmoManager.isDragging;if(this.gizmoManager.forwardEvent(t,"pointerup"),e)return t.stopPropagation(),!0;const n=this.cameraManager.activeCamera;this._updateMouseNDC(t);const r=this.eventManager.handleClick(n,this.sceneManager.scene,t),i=this._host;if(i?.app?.isEditMode&&i.root)if(r?.component)if(t.shiftKey){const t=(i.root.selected||[]).slice(),e=t.indexOf(r.component);-1===e?t.push(r.component):t.splice(e,1),i.root.selected=t}else i.root.selected=[r.component];else t.shiftKey||(i.root.selected=[i]);return t.stopPropagation(),!0}return!1}onMouseMove(t){if(this.controlsManager.isActive){this.gizmoManager.forwardEvent(t,"pointermove");const e=this.cameraManager.activeCamera;return this._updateMouseNDC(t),this.eventManager.handleHover(e,this.sceneManager.scene,t),t.stopPropagation(),!0}return!1}onMouseDown(t){return!(!this.controlsManager.isActive||(this.gizmoManager.forwardEvent(t,"pointerdown"),!this.gizmoManager.isDragging))&&(t.stopPropagation(),!0)}onMouseLeave(t){return!1}onWheel(t){if(this.controlsManager.isActive){if("perspective"!==this.cameraManager.activeView){const e=t.deltaY>0?.9:1.1,n=this._host?.element;let r=0,i=0;if(n){const e=n.getBoundingClientRect();r=(t.clientX-e.left)/e.width*2-1,i=-(t.clientY-e.top)/e.height*2+1}this.controlsManager.zoomOrthoAtCursor(e,r,i),this.renderThreeD()}else{const e=this._host;let n=(e.getState?e.getState("zoom"):e.state.zoom)??200;const r=(e.getState?e.getState("minZoom"):e.state.minZoom)??50,i=n;n+=.1*-t.deltaY,n<r&&(n=r);const s=e.element;let o=0,a=0;if(s){const e=s.getBoundingClientRect();o=(t.clientX-e.left)/e.width*2-1,a=-(t.clientY-e.top)/e.height*2+1}this.controlsManager.zoomPerspAtCursor(.01*i,.01*n,o,a),e.setState&&e.setState("zoom",n),this.renderThreeD()}return t.stopPropagation(),!0}return!1}onDblClick(t){if(this.controlsManager.isActive){const e=this._host,n=(e.getState?e.getState("zoom"):e.state.zoom)??200;return e.setState&&e.setState("zoom",n),this.controlsManager.reset(),t.stopPropagation(),!0}return!1}onDragStart(t){return!!this.controlsManager.isActive&&(this.gizmoManager.isDragging?(t.stopPropagation(),!0):(this.controlsManager.onDragStart(t),t.stopPropagation(),!0))}onDragMove(t){return!!this.controlsManager.isActive&&(this.gizmoManager.isDragging?(this.gizmoManager.forwardEvent(t,"pointermove"),t.stopPropagation(),!0):(this.controlsManager.onDragMove(t),t.stopPropagation(),!0))}onDragEnd(t){return!!this.controlsManager.isActive&&(this.gizmoManager.isDragging?(this.gizmoManager.forwardEvent(t,"pointerup"),t.stopPropagation(),!0):(this.controlsManager.onDragEnd(t),t.stopPropagation(),!0))}onTouchStart(t){return!!this.controlsManager.isActive&&(this.controlsManager.onTouchStart(t),t.stopPropagation(),!0)}onPan(t){return!!this.controlsManager.isActive&&(this.controlsManager.onTouchMove(t),t.stopPropagation(),!0)}onTouchEnd(t){return!!this.controlsManager.isActive&&(this.controlsManager.onTouchEnd(t),t.stopPropagation(),!0)}onKeyDown(t){if(this.controlsManager.isActive){if("Escape"===t.key&&this.placementManager.isActive&&this._host?.root)return this._host.root.trigger("addstop"),t.stopPropagation(),!0;if(this._host?.app?.isEditMode){const e=this._host.root;if(t.metaKey||t.ctrlKey)switch(t.code){case"KeyZ":{const n=this._host?.app?.commander,r=(e?.selected||[]).filter(t=>t!==this._host).map(t=>t.state?.id).filter(Boolean);if(t.shiftKey?n?.redo():n?.undo(),e&&r.length>0){const t=r.map(t=>e.findById(t)).filter(Boolean);t.length>0&&(e.selected=t)}t.preventDefault();break}case"KeyC":e&&(this._clipboard=_l.call(e)),t.preventDefault();break;case"KeyX":e&&(this._clipboard=Al.call(e)),t.preventDefault();break;case"KeyV":e&&this._clipboard&&Sl.call(e,this._clipboard),t.preventDefault();break;case"KeyD":e&&(this._clipboard=_l.call(e),this._clipboard&&Sl.call(e,this._clipboard)),t.preventDefault();break;default:return!1}switch(t.code){case"KeyW":this.setGizmoMode("translate");break;case"KeyE":this.setGizmoMode("rotate");break;case"KeyR":this.setGizmoMode("scale");break;case"KeyT":this._host?.set?.("threed",!1),t.preventDefault();break;case"Delete":case"Backspace":e&&fl.call(e);break;case"Escape":this.gizmoManager.detach(),e&&(e.selected=[]);break;case"Digit1":this.setCameraView("perspective");break;case"Digit2":this.setCameraView("top");break;case"Digit3":this.setCameraView("front");break;case"Digit4":this.setCameraView("back");break;case"Digit5":this.setCameraView("right");break;case"Digit6":this.setCameraView("left")}const n=e?.selected;if(n&&n.length>0){const e=t.shiftKey?this._host.MPP||10:1;let r;switch(t.code){case"ArrowLeft":r={x:-e,y:0};break;case"ArrowRight":r={x:e,y:0};break;case"ArrowUp":r={x:0,y:-e};break;case"ArrowDown":r={x:0,y:e}}if(r)return Kc.around(this._host.app.commander,()=>{n.forEach(t=>{t.stuck||t.move(r,!1)})}),t.preventDefault(),t.stopPropagation(),!0}}return this.controlsManager.onKeyDown(t),t.stopPropagation(),!0}return!1}onPinch(t){if(this.controlsManager.isActive){if("perspective"!==this.cameraManager.activeView){const e=this.cameraManager.activeCamera,n=t.scale||1;e.zoom=Math.max(.1,Math.min(20,e.zoom*n)),e.updateProjectionMatrix(),this.controlsManager.markCameraChanged(),this.renderThreeD()}else{const e=this._host;let n=(e.getState?e.getState("zoom"):e.state.zoom)??200;const r=(e.getState?e.getState("minZoom"):e.state.minZoom)??50;n*=t.scale,n<r&&(n=r),e.setState&&e.setState("zoom",n)}return t.stopPropagation(),!0}return!1}onDoubleTap(){this.controlsManager.reset()}getCameraState(){const t=this._host;if(!t)return null;const e=this.cameraManager.camera;if(!e)return null;const{width:n,height:r}=t.bounds,i=Math.floor(Math.min(n,r))||1;return{view:this.cameraManager.activeView,zoom:(t.getState?t.getState("zoom"):t.state.zoom)??200,cameraX:e.position.x/(n||1),cameraY:e.position.z/(r||1),cameraZ:e.position.y/i}}captureSessionState(){const t=this.cameraManager.activeView,e=this.cameraManager.camera,n=this.controlsManager.target,r={view:t};return e&&(r.perspPosition={x:e.position.x,y:e.position.y,z:e.position.z},r.perspZoom=e.zoom),r.orbitTarget={x:n.x,y:n.y,z:n.z},r}restoreSessionState(t){"perspective"!==t.view&&this.setCameraView(t.view,{render:!1});const n=this.cameraManager.camera;n&&t.perspPosition&&(n.position.set(t.perspPosition.x,t.perspPosition.y,t.perspPosition.z),void 0!==t.perspZoom&&(n.zoom=t.perspZoom),n.updateProjectionMatrix()),t.orbitTarget&&this.controlsManager.restoreTarget(new e.Vector3(t.orbitTarget.x,t.orbitTarget.y,t.orbitTarget.z))}onchange(t){if(t.hasOwnProperty("autoRotate")&&this.controlsManager.setAutoRotate(t.autoRotate),t.hasOwnProperty("fov")||t.hasOwnProperty("near")||t.hasOwnProperty("far")||t.hasOwnProperty("zoom")){const t=this._host;if(t){const{near:e,far:n,zoom:r,fov:i}=t.state;this.cameraManager.updateProperties({near:e,far:n,zoom:r,fov:i}),this.controlsManager.markCameraChanged()}}let e=!1;if(t.hasOwnProperty("hemiIntensity")&&(this.lightManager.updateHemisphere({intensity:t.hemiIntensity}),e=!0),t.hasOwnProperty("dirLightEnabled")){const n=this._host;n&&this.lightManager.setDirectionalEnabled(t.dirLightEnabled,{color:n.state.dirLightColor,intensity:n.state.dirLightIntensity}),e=!0}(t.hasOwnProperty("dirLightColor")||t.hasOwnProperty("dirLightIntensity"))&&(this.lightManager.updateDirectional({color:t.dirLightColor,intensity:t.dirLightIntensity}),e=!0),e&&this.renderThreeD(),(t.hasOwnProperty("fillStyle")||t.hasOwnProperty("floorMaterial3d"))&&(this.sceneManager.updateFloor(this._host),this.renderThreeD()),(t.hasOwnProperty("sky")||t.hasOwnProperty("skyColor"))&&(this.sceneManager.setSky(this._host.state.sky,this._host.state.skyColor),this.renderThreeD())}get domElement(){return this.rendererManager.domElement}getRendererSize(){return this.rendererManager.getSize()}showWebglNoSupportText(t,e,n){t.save(),t.font=e/20+"px Arial",t.textAlign="center",t.fillText("WebGL no support",e/2-e/40,n/2),t.restore()}showDebugFPS(t){t.font="100px Arial",t.textAlign="center",t.fillStyle="black",t.globalAlpha=.5,t.fillText(String(ch()),100,100)}addOutline(t){this._decoratorOutlines.add(t),this._syncOutlinePass(),this._host?.invalidate()}removeOutline(t){this._decoratorOutlines.delete(t),this._syncOutlinePass(),this._host?.invalidate()}clearOutlines(){this._decoratorOutlines.clear(),this._syncOutlinePass(),this._host?.invalidate()}addArrow(t,n,r,i={}){this.removeArrow(t);const s=n._realObject,o=r._realObject;if(!s?.object3d||!o?.object3d)return;const a=new e.Vector3,c=new e.Vector3;s.object3d.getWorldPosition(a),o.object3d.getWorldPosition(c),a.y+=1,c.y+=1;const l=this.rendererManager.getSize(),h=gh(a,c,i,new e.Vector2(l.width,l.height));h.name=`arrow-${t}`,h.userData._arrowStyle=i,this.sceneManager.scene?.add(h),this._arrows.set(t,h),this._host?.invalidate()}removeArrow(t){const n=this._arrows.get(t);n&&(n.traverse(t=>{if(t instanceof u)return t.geometry.dispose(),void t.material.dispose();if(t instanceof e.Sprite){const e=t.material.map;if(e){e.dispose();const t=e.source?.data;t instanceof HTMLCanvasElement&&(t.width=0,t.height=0)}return void t.material.dispose()}(t instanceof e.Mesh||t instanceof e.Line)&&(t.geometry.dispose(),t.material instanceof e.Material&&t.material.dispose())}),n.removeFromParent(),this._arrows.delete(t),this._host?.invalidate())}clearArrows(){for(const t of this._arrows.keys())this.removeArrow(t)}updateArrow(t,e,n){const r=this._getArrowStyle(t);r&&this.addArrow(t,e,n,r)}_getArrowStyle(t){const e=this._arrows.get(t);return e?e.userData._arrowStyle??null:null}_syncOutlinePass(){const t=[...this._selectionOutlineObjects];for(const e of this._decoratorOutlines){const n=e._realObject;n?.object3d&&!t.includes(n.object3d)&&t.push(n.object3d)}this.rendererManager.setOutlineObjects(t)}_handleSelectionChanged(t){const e=t.filter(t=>t!==this._host&&t._realObject);if(e.length>=1){const t=e[0]._realObject;t?.object3d?this.gizmoManager.attach(t.object3d):this.gizmoManager.detach()}else this.gizmoManager.detach();this._updateSelectionOutline(e),this._host?.invalidate()}_updateSelectionOutline(t){this._selectionOutlineObjects=[];for(const e of t){const t=e._realObject;t?.object3d&&this._selectionOutlineObjects.push(t.object3d)}this._syncOutlinePass()}}lc.register("three",{reflow:function(t){},capturables:function(t){return t.state.threed?[]:t.components},drawables:function(t){return t.state.threed?[]:t.components},isStuck:function(t){return!1}});const Jh={x:1,y:1},td={x:0,y:0},ed={mutable:!1,resizable:!0,rotatable:!1,properties:[{type:"number",label:"width",name:"width"},{type:"number",label:"height",name:"height"},{type:"select",label:"fit-mode",name:"fitMode",property:{options:["ratio","both","width","height","center","none"]}}]};class nd extends Dc{get nature(){return ed}get is3dMode(){return!!this._threeCapability?.isInitialized}is3dContainer(){return this.is3dMode}get scene3d(){return this._threeCapability?.scene3d}get renderer3d(){return this._threeCapability?.renderer3d}get activeCamera3d(){return this._threeCapability?.activeCamera}get mixer(){return this._threeCapability?.mixer}get zoom(){return this._threeCapability?.zoom}addArrow3D(t,e,n,r){this._threeCapability?.addArrow(t,e,n,r)}removeArrow3D(t){this._threeCapability?.removeArrow(t)}clearArrows3D(){this._threeCapability?.clearArrows()}_buildLightingConfig(){const t=this.state,e={hemisphere:{skyColor:16777215,groundColor:4473924,intensity:t.hemiIntensity??1}};return!1!==t.dirLightEnabled&&(e.directional={color:t.dirLightColor||"#ffffff",intensity:t.dirLightIntensity??.8,attachToCamera:!0,castShadow:!1!==t.dirShadowEnabled,shadowMapSize:t.dirShadowMapSize??2048,shadowBias:t.dirShadowBias??-5e-4}),e}_hide2DLayers(){this.canvas&&(this.canvas.style.display="none"),this._overlay&&(this._overlay.style.display="none"),this._auxCanvas&&(this._auxCanvas.style.display="none"),this._decoratorAuxOverlay&&(this._decoratorAuxOverlay.style.display="none");for(const t of this.root?.assist_layers||[])t.element&&(t.element.style.display="none")}_activateThreeD(){if(this._threeCapability&&this._deactivateThreeD(),this._threeCapability=new Zh,this._threeCapability.init(this,{lightingConfig:this._buildLightingConfig(),css3DSceneAttribute:"model-layer:css3d-renderer"}),this._hide2DLayers(),this._threeCapability.domElement&&this.element){const t=this._threeCapability.domElement;t.style.position="absolute",t.style.left="0",t.style.top="0",t.style.pointerEvents="none",t.setAttribute("scene","model-layer-webgl");const e=this._decoratorOverlay||this.element.firstChild;this.element.insertBefore(t,e)}if(this._threeCapability.buildOverlays(),this._lastCameraState)this._threeCapability.restoreSessionState(this._lastCameraState);else{const t=this.model.initialCameraView;t&&"perspective"!==t&&this._threeCapability.setCameraView(t,{render:!1})}this.app?.isEditMode&&this._createToolbar();const t=this.root;t?.selected?.length>0&&this._threeCapability._handleSelectionChanged(t.selected),this._resizeThreeD(!0),this.element&&"function"==typeof this.element.focus&&this.element.focus()}_createToolbar(){if(!this.element)return;this._removeToolbar();const t=!!this._threeCapability,e=document.createElement("div");e.setAttribute("scene","threed-toolbar"),e.style.cssText=["position:absolute","top:12px","left:12px","display:flex","flex-direction:column","gap:1px","padding:4px","background:rgba(30,30,30,0.92)","border:1px solid rgba(255,255,255,0.08)","border-radius:8px","pointer-events:auto","backdrop-filter:blur(8px)","-webkit-backdrop-filter:blur(8px)","box-shadow:0 4px 16px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.05)","user-select:none"].join(";");const n=["width:32px","height:32px","display:flex","align-items:center","justify-content:center","border-radius:5px","cursor:pointer","transition:all 0.12s ease","position:relative"].join(";"),r=(t,e)=>{const r=document.createElement("div");return r.innerHTML=t,r.title=e,r.style.cssText=n,this._applyButtonStyle(r,!1),r.addEventListener("mouseenter",()=>{r.dataset.active||(r.style.background="rgba(255,255,255,0.1)")}),r.addEventListener("mouseleave",()=>{this._applyButtonStyle(r,!!r.dataset.active)}),r},i=()=>{const t=document.createElement("div");return t.style.cssText="height:1px;margin:3px 4px;background:rgba(255,255,255,0.1)",t},s=r(t?'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <rect x="3" y="3" width="14" height="14" rx="1.5"/>\n <line x1="3" y1="10" x2="17" y2="10" opacity="0.4"/>\n <line x1="10" y1="3" x2="10" y2="17" opacity="0.4"/>\n </svg>':'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M10 2l7 4v8l-7 4-7-4V6l7-4z"/>\n <path d="M10 10l7-4M10 10v8M10 10L3 6"/>\n </svg>',t?"2D Mode":"3D Mode");if(this._applyToggleStyle(s,t),s.addEventListener("mouseenter",()=>{s.style.background=t?"rgba(255,160,60,0.35)":"rgba(255,160,60,0.25)"}),s.addEventListener("mouseleave",()=>{this._applyToggleStyle(s,t)}),s.addEventListener("click",()=>{this.set("threed",!this.model.threed)}),e.appendChild(s),!t)return e.addEventListener("mousedown",t=>t.stopPropagation()),e.addEventListener("mouseup",t=>t.stopPropagation()),this.target.appendChild(e),void(this._toolbar=e);e.appendChild(i());const o=this._threeCapability,a=document.createElement("div");a.style.cssText="display:flex;flex-direction:column;gap:1px";const c=o.getCameraState()?.view??"perspective",l=[{view:"perspective",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M4 5l12-1v12l-12-1z"/>\n <circle cx="10" cy="10" r="1.5"/>\n </svg>',title:"Perspective"},{view:"top",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <rect x="4" y="4" width="12" height="12" rx="1"/>\n <path d="M10 2v2M10 16v2"/>\n <path d="M10 7v3l2-1.5" opacity="0.5"/>\n </svg>',title:"Top"},{view:"front",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <rect x="3" y="5" width="14" height="11" rx="1"/>\n <path d="M7 5V3h6v2"/>\n </svg>',title:"Front"},{view:"back",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <rect x="3" y="5" width="14" height="11" rx="1" stroke-dasharray="2 1"/>\n <path d="M7 5V3h6v2"/>\n </svg>',title:"Back"},{view:"right",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M6 4l10 2v8l-10 2z"/>\n <path d="M16 6v8" stroke-width="2"/>\n </svg>',title:"Right"},{view:"left",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M14 4L4 6v8l10 2z"/>\n <path d="M4 6v8" stroke-width="2"/>\n </svg>',title:"Left"}],h=[];for(const{view:t,icon:e,title:n}of l){const i=r(e,n);i.dataset.view=t,t===c&&(this._applyButtonStyle(i,!0),i.dataset.active="1"),i.addEventListener("click",()=>{this._threeCapability?.setCameraView(t)}),h.push(i),a.appendChild(i)}a.appendChild(i());const d=r('<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M5 3h8l4 4v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"/>\n <path d="M7 3v4h6V3"/>\n <rect x="6" y="11" width="8" height="5" rx="0.5"/>\n </svg>',"Save Camera View");d.addEventListener("click",()=>{const t=this._threeCapability?.getCameraState();t&&this.setState&&(this.setState("zoom",t.zoom),this.setState("cameraX",t.cameraX),this.setState("cameraY",t.cameraY),this.setState("cameraZ",t.cameraZ))}),a.appendChild(d),e.appendChild(a),this._cameraSection=a,this._cameraButtons=h;const u=document.createElement("div");u.style.cssText="display:none;flex-direction:column;gap:1px";const p=[{mode:"translate",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M10 2l3 3h-2v4h4v-2l3 3-3 3v-2h-4v4h2l-3 3-3-3h2v-4H5v2l-3-3 3-3v2h4V5H7l3-3z"/>\n </svg>',title:"Move (W)"},{mode:"rotate",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M14.5 3.5A7 7 0 1 0 17 10"/>\n <path d="M14 1l2 2.5-2.5 2"/>\n </svg>',title:"Rotate (E)"},{mode:"scale",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <rect x="3" y="3" width="5" height="5" rx="0.5"/>\n <rect x="12" y="12" width="5" height="5" rx="0.5"/>\n <path d="M8 5.5h4.5V10M12 14.5H7.5V10"/>\n </svg>',title:"Scale (R)"}],f=o.gizmoMode,g=[];for(const{mode:t,icon:e,title:n}of p){const i=r(e,n);i.dataset.mode=t,t===f&&(this._applyButtonStyle(i,!0),i.dataset.active="1"),i.addEventListener("click",()=>{this._threeCapability?.setGizmoMode(t)}),g.push(i),u.appendChild(i)}e.appendChild(u),this._gizmoSection=u,this._gizmoButtons=g,o.onGizmoAttachChanged=t=>{this._toggleToolbarSection(t)},o.onCameraViewChanged=t=>{this._updateCameraButtons(t)},o.onGizmoModeChanged=t=>{this._updateGizmoButtons(t)},e.addEventListener("mousedown",t=>{t.stopPropagation(),t.preventDefault()}),e.addEventListener("mouseup",t=>t.stopPropagation()),this.target.appendChild(e),this._toolbar=e}_applyToggleStyle(t,e){e?(t.style.background="rgba(255,140,40,0.3)",t.style.color="#ffaa44",t.style.boxShadow="inset 0 0 0 1.5px rgba(255,140,40,0.5)"):(t.style.background="rgba(255,140,40,0.15)",t.style.color="#cc8833",t.style.boxShadow="inset 0 0 0 1.5px rgba(255,140,40,0.3)")}_applyButtonStyle(t,e){e?(t.style.background="rgba(74,158,255,0.25)",t.style.color="#4a9eff",t.style.boxShadow="inset 0 0 0 1.5px rgba(74,158,255,0.5)",t.dataset.active="1"):(t.style.background="transparent",t.style.color="rgba(255,255,255,0.55)",t.style.boxShadow="none",delete t.dataset.active)}_toggleToolbarSection(t){this._cameraSection&&(this._cameraSection.style.display=t?"none":"flex"),this._gizmoSection&&(this._gizmoSection.style.display=t?"flex":"none")}_updateCameraButtons(t){this._cameraButtons?.forEach(e=>{this._applyButtonStyle(e,e.dataset.view===t)})}_updateGizmoButtons(t){this._gizmoButtons?.forEach(e=>{this._applyButtonStyle(e,e.dataset.mode===t)})}_removeToolbar(){this._threeCapability&&(this._threeCapability.onGizmoModeChanged=void 0,this._threeCapability.onGizmoAttachChanged=void 0,this._threeCapability.onCameraViewChanged=void 0),this._toolbar?.parentNode&&this._toolbar.parentNode.removeChild(this._toolbar),this._toolbar=void 0,this._cameraSection=void 0,this._gizmoSection=void 0,this._cameraButtons=void 0,this._gizmoButtons=void 0}_resizeThreeD(t=!1){if(!this._threeCapability||!this.element)return;const e=this.canvas?.clientWidth??0,n=this.canvas?.clientHeight??0,r=e>0?e:this.element.clientWidth,i=n>0?n:this.element.clientHeight;r>0&&i>0&&this._threeCapability.resize(r,i,t)}detachThreeCapability(){const t=this._threeCapability;if(t)return t.forceCleanupDragState(),t.clearAllObjects(),this._threeCapability=void 0,t}adoptThreeCapability(t){this._threeCapability=t,this._hide2DLayers();const e=t.domElement;if(e&&this.element){e.style.position="absolute",e.style.left="0",e.style.top="0",e.style.pointerEvents="none",e.setAttribute("scene","model-layer-webgl");const t=this._decoratorOverlay||this.element.firstChild;this.element.insertBefore(e,t)}t.buildOverlays(),t.rebuildForHost(this,{lightingConfig:this._buildLightingConfig(),css3DSceneAttribute:"model-layer:css3d-renderer"}),this.app?.isEditMode&&this._createToolbar(),this._resizeThreeD(!0)}_deactivateThreeD(){if(!this._threeCapability)return;this._removeToolbar(),this._lastCameraState=this._threeCapability.captureSessionState(),this._threeCapability.forceCleanupDragState();const t=this._threeCapability.domElement,e=this._threeCapability.css3DRenderer?.domElement;this._threeCapability.dispose(),this._threeCapability=void 0,e?.parentNode&&e.parentNode.removeChild(e);for(const t of this.components)if(t.isHTMLElement()&&t.element){const e=t.element,n=this.getOverlay(t);n?.appendChild(e)}t?.parentNode&&t.parentNode.removeChild(t),this.canvas&&(this.canvas.style.display=""),this._overlay&&(this._overlay.style.display=""),this._auxCanvas&&(this._auxCanvas.style.display=""),this._decoratorOverlay&&(this._decoratorOverlay.style.display=""),this._decoratorAuxOverlay&&(this._decoratorAuxOverlay.style.display="");for(const t of this.root?.assist_layers||[])t.element&&(t.element.style.display="");for(const t of this.components)t.isHTMLElement()&&t.element&&t.reposition();this.app?.isEditMode&&this._createToolbar(),this.root.target_element?.focus()}async ready(){if(await super.ready(),this.model.threed){if(this._threeCapability)return;await new Promise(t=>setTimeout(t,0)),this._activateThreeD()}else this.app?.isEditMode&&this._createToolbar()}dispose(){this._deactivateThreeD(),this._removeToolbar(),super.dispose(),this._overlay=null,this._decoratorOverlay&&(zs.getInstance().removeOverlay(this._decoratorOverlay),this._decoratorOverlay.parentNode&&this._decoratorOverlay.parentNode.removeChild(this._decoratorOverlay),this._decoratorOverlay=null),this._decoratorAuxOverlay&&(zs.getInstance().removeOverlay(this._decoratorAuxOverlay),this._decoratorAuxOverlay.parentNode&&this._decoratorAuxOverlay.parentNode.removeChild(this._decoratorAuxOverlay),this._decoratorAuxOverlay=null)}contains(t,e){return!0}isRootModel(){return!0}get stuck(){return!0}get layout(){return this.is3dMode?lc.get("three"):hc}get overlay(){if(!this._overlay){const t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","model-layer-overlay"),this.element.insertBefore(t,this.auxCanvas),this._overlay=t,this._repositionOverlay()}return this._overlay}get auxOverlay(){return this.element??void 0}get decoratorOverlay(){if(!this._decoratorOverlay){const t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","decorator-overlay"),t.id=`decorator-overlay-${Date.now()}`,this.element.insertBefore(t,this.overlay),this._decoratorOverlay=t,zs.getInstance().addOverlay(t)}return this._decoratorOverlay}get decoratorAuxOverlay(){if(!this._decoratorAuxOverlay){const t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style.zIndex="100",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","decorator-aux-overlay"),t.id=`decorator-overlay-${Date.now()}`,this.element.appendChild(t),this._decoratorAuxOverlay=t,zs.getInstance().addOverlay(t)}return this._decoratorAuxOverlay}createElement(){const t=super.createElement();return this._overlay&&t.appendChild(this._overlay),t}resize(){if(!this.target||!this.element)return;let{width:t,height:e,fitMode:n}=this.model;this.root.fitMode?n=this.root.fitMode:n||(n="ratio");let r=null;try{r=getComputedStyle(this.target)}catch(t){return void Wr(t,this.target)}let i=r?parseFloat(r.getPropertyValue("width")):this.target.clientWidth,s=r?parseFloat(r.getPropertyValue("height")):this.target.clientHeight;switch(n){case"both":case"ratio":break;case"width":s=e*i/t,this.element.style.overflowX="hidden",this.element.style.overflowY="auto";break;case"height":i=t*s/e,this.element.style.overflowX="auto",this.element.style.overflowY="hidden";break;default:i=Math.max(t,i),s=Math.max(e,s),this.element.style.overflowX=i>t?"hidden":"auto",this.element.style.overflowY=s>e?"hidden":"auto"}this.fitSize(this.element,!0),this.fitSize(this.canvas,!0,i,s),this.fitSize(this.auxCanvas,!0,i,s),this.is3dMode&&this._threeCapability.resize(i,s)}draw(t){if(this.is3dMode){if(!this.element)return;this._threeCapability.renderCSS3D()}else this.model.threed||super.draw(t)}get MPP(){const{scale:t={x:1,y:1},unit:e}=this.model;switch(e){case"mm":case"cm":return 1/this.app.PPM/t.x;case"in":return 1/this.app.PPI/t.x;default:return 1/t.x}}capturePath(t,e){const n=this.layout.capturables(this);for(let r=n.length-1;r>=0;r--){const i=n[r];if(!i.isContainer())continue;const s=i.capturePath(t,e);if(s)return s}return!1}getOverlay(t){return t&&!t.scalable?this.auxOverlay:this.overlay}getDecoratorOverlay(t){return t&&!t.scalable?this.decoratorAuxOverlay:this.decoratorOverlay}get eventMap(){return{"(self)":{"(all)":{change:this._onchanged_all,mouseenter:this._onmouseenter_all,mouseleave:this._onmouseleave_all,click:this._onclick,mousedown:this._onmousedownup,mouseup:this._onmousedownup,touchstart:this._onmousedownup,touchend:this._onmousedownup,"deco-reset":t=>this.resetDecorator(void 0,t.origin)},"(descendant)":{"deco-anchors":(t,e)=>this.applyDecorator(e.origin,"anchors",t),"deco-anchors-off":t=>this.offdecorator(t.origin,"anchors"),"deco-anchors-reset":t=>this.resetDecorator("anchors"),"deco-dataspread":(t,e)=>this.applyDecorator(e.origin,"data-spread",t),"deco-dataspread-off":t=>this.offdecorator(t.origin,"data-spread"),"deco-dataspread-reset":t=>this.resetDecorator("data-spread"),"deco-link":(t,e)=>this.applyDecorator(e.origin,"link",t),"deco-link-off":t=>this.offdecorator(t.origin,"link"),"deco-link-reset":t=>this.resetDecorator("link"),"deco-arrow":(t,e)=>this.applyDecorator(e.origin,"bouncing-arrow",t),"deco-arrow-off":t=>this.offdecorator(t.origin,"bouncing-arrow"),"deco-arrow-reset":t=>this.resetDecorator("bouncing-arrow"),"deco-icon":(t,e)=>this.applyDecorator(e.origin,"animated-icon",t),"deco-icon-off":t=>this.offdecorator(t.origin,"animated-icon"),"deco-icon-reset":t=>this.resetDecorator("animated-icon"),"deco-border":(t,e)=>{this.app.isEditMode||(this._threeCapability?this._threeCapability.addOutline(e.origin):this.applyDecorator(e.origin,"border-highlighting",t))},"deco-border-off":t=>{this.app.isEditMode||(this._threeCapability?this._threeCapability.removeOutline(t.origin):this.offdecorator(t.origin,"border-highlighting"))},"deco-border-reset":t=>{this.app.isEditMode||(this._threeCapability?this._threeCapability.clearOutlines():this.resetDecorator("border-highlighting"))},"deco-tag":(t,e)=>this.applyDecorator(e.origin,"decotag",t),"deco-tag-off":t=>this.offdecorator(t.origin,"decotag"),"deco-tag-reset":t=>this.resetDecorator("decotag",t.origin),"deco-off":t=>{this.offdecorator(t.origin),this._threeCapability?.removeOutline(t.origin)},mouseenter:this.onmouseenterForDecorator,mouseleave:this.onmouseleaveForDecorator},"(self)":{change:this.onChangeForDecorator,redraw:this.onRedrawForDecorator}},"(root)":{"(self)":{selected:this._onRootSelected}}}}onRedrawForDecorator(){this.is3dMode||(zs.getInstance().invalidateOverlay(this.decoratorOverlay),zs.getInstance().invalidateOverlay(this.decoratorAuxOverlay))}closeScene(t){requestAnimationFrame(()=>this.overlay.dispatchEvent(new CustomEvent("close-scene",{bubbles:!0,composed:!0,detail:t})))}_repositionOverlay(){const t=this._overlay;if(!t)return;const{translate:e=td,scale:n=Jh,rotation:r=0}=this.model,{left:i,top:s}=this.bounds;t.style.left=i+"px",t.style.top=s+"px",t.style.transform=`rotate(${r}rad) scale(${n.x}, ${n.y}) perspective(1px)`,t.style.marginLeft=`${e.x}px`,t.style.marginTop=`${e.y}px`}onchange(t){const e=this._model;delete e.id,delete e.text,delete e.class,this._repositionOverlay(),t.hasOwnProperty("threed")&&(t.threed?this._activateThreeD():this._deactivateThreeD()),this.is3dMode&&((t.hasOwnProperty("width")||t.hasOwnProperty("height"))&&this._resizeThreeD(),this._threeCapability.onchange(t))}_onRootSelected(t){const e=1===t?.length?t[0]:t&&0!==t.length?null:this;e&&globalThis.dispatchEvent?.(new CustomEvent("clickComponent",{detail:e}))}_onchanged_all(t,e,n){this.invalidate()}_onmouseenter_all(t,e){if(t.stopPropagation(),!this.app||this.app.isEditMode)return;if(!e)return;const n=e.origin;if(n instanceof nd||!n.model.event||!n.model.event.hover)return;if(n.hidden)return;const r=n.model.event.hover;r&&this._doEventAction(r,n,!0,t)}_onmouseleave_all(t,e){if(t.stopPropagation(),!e)return;const n=e.origin;if(!this.app||this.app.isEditMode)return;const r=n.model.event&&n.model.event.hover;r&&this._doEventAction(r,n,!1,t)}_onclick(t,e){if(t.stopPropagation(),this.app.isEditMode)return;if(!e)return;const n=e.origin,r=n.model.event?.tap;r&&this._doEventAction(r,n,!0,t)}_onmousedownup(t,e){if(t.stopPropagation(),this.app.isEditMode)return;if(!e)return;const n=e.origin,r=n.model.event?.tap;r&&r.pressed&&this._doMouseDownUpEventAction(r,n,"mousedown"==t.type||"touchstart"==t.type,t)}_doMouseDownUpEventAction(t,e,n,r){const{pressed:i=!1}=t;i&&(n?function(t){if(t.hasOwnProperty("_backupShadow"))return;const e=t.get("shadow");t._backupShadow=e;const{left:n=0,top:r=0}=e||{};t.delta("tx",n),t.delta("ty",r),t.set("shadow",{})}(e):function(t){t.hasOwnProperty("_backupShadow")&&(t.delta("tx",0),t.delta("ty",0),t.set("shadow",t._backupShadow),delete t._backupShadow)}(e))}_doEventAction(t,e,n,r){let{action:i,target:s,value:o,emphasize:a=!1,restore:c=!1,options:l}=t;if(s&&(s=e.access(s)),o&&(o=e.access(o)),a&&(n?function(t){const{hover:e}=t.state.event||{},{emphasize:n}=e||{};if(t.hasOwnProperty("_backupStrokeStyle"))return;if("__backup_emphasize"in t)return;const{strokeStyle:r,lineWidth:i,fillStyle:s}=t.state;t.__backup_emphasize={strokeStyle:r,lineWidth:i,fillStyle:s},t.setState(n)}(e):c&&function(t){"__backup_emphasize"in t&&(t.setState(t.__backup_emphasize),delete t.__backup_emphasize)}(e)),i)switch(i){case"data-toggle":if(!s)return;(n||c)&&this.root.findAll(s,e)?.forEach(t=>{t.data=!t.data});break;case"data-tristate":if(!s)return;(n||c)&&this.root.findAll(s,e)?.forEach(t=>{const e=Math.round(Math.max(Number(t.data)||0,0));t.data=(e+(n?1:2))%3});break;case"data-spreading":if(!s)return;n&&(e.access(o),this.root.findAll(s,e)?.forEach(t=>{t.executeMappings(!0)}));break;case"data-set":if(!s)return;if(n){const t=e.access(o);this.root.findAll(s,e)?.forEach(e=>{e.data=t})}break;case"partial-data-set":if(!s)return;if(n){const t=e.access(o);this.root.findAll(s,e)?.forEach(e=>{e.data={...e.data,...t}})}break;case"value-set":if(!s)return;if(n){const t=e.access(o);this.root.findAll(s,e)?.forEach(e=>{e.value=t})}break;case"partial-value-set":if(!s)return;if(n){const t=e.access(o);this.root.findAll(s,e)?.forEach(e=>{e.value={...e.value,...t}})}break;case"infoWindow":case"info-window":if(!s)return;"click"==r.type||n?ac.show(e,s,c,{x:r.offsetX,y:r.offsetY}):c&&ac.hide(e,s);break;case"toggle-info-window":if(!s)return;ac.toggle(e,s,!1,{x:r.offsetX,y:r.offsetY});break;case"popup":case"modal-popup":if(!s)return;const t=l&&"input"in l?l.input:"(self)",a=!l||(!("output"in l)||l.output);kc.show(e,s,{data:t&&this.root.findFirst(t,e)?.data,output:a,modal:"modal-popup"===i,closable:!0,draggable:!0,origin:"auto"});break;case"close-scene":this.closeScene(e.data);break;case"goto":case"goto-playlist":this.trigger(i,s,l,e);break;case"mouse-cursor":n?this.target.style.cursor=s||"auto":c&&(this.target.style.cursor="auto");break;default:this.trigger(i,s,o,e)}}applyDecorator(t,e,n={}){const r=this.getDecoratorOverlay(t);if(r){zs.getInstance().addToOverlay(r,t,e,n)}}offdecorator(t,e){const n=this.getDecoratorOverlay(t);if(n){zs.getInstance().removeFromOverlay(n,t,e)}}resetDecorator(t,e){const n=this.getDecoratorOverlay(e);n&&zs.getInstance().removeAllFromOverlay(n,t)}onChangeForDecorator(t,e,n){const{origin:r}=n,i=this.getDecoratorOverlay(r);zs.getInstance().invalidateOverlay(i)}onmouseenterForDecorator(t,e){const{origin:n}=e;n.decorators&&n.decorators.forEach(t=>{this.applyDecorator(n,t)})}onmouseleaveForDecorator(t,e){const{origin:n}=e;n.decorators&&n.decorators.forEach(t=>{this.offdecorator(n,t)})}}function rd(t,e){const n=t.state.refid;return t.root.findAll(t=>t.isLine()&&t.from.component===n&&(!e||t.from.anchor===e))}function id(t,e){const n=t.state.refid;return t.root.findAll(t=>t.isLine()&&t.to.component===n&&(!e||t.to.anchor===e))}function sd(t){return class extends t{isConnectable(){return!0}postrender(t){super.postrender(t),this._draw_anchors(t)}_draw_anchors(t){const e=this.anchors||[];t.save(),e.forEach(e=>{const{draw:n}=e;if(n){t.beginPath();try{n.call(e,t,this)}catch(t){Wr(t)}t.closePath()}}),t.restore()}contains(t,e){let n=super.contains(t,e);if(n)return n;const r=this.anchors||[];for(const i of r){const r=i.bounds;if(!r)continue;const{left:s,top:o,width:a,height:c}=r;if(n=t<Math.max(s+a,s)&&t>Math.min(s+a,s)&&e<Math.max(o+c,o)&&e>Math.min(o+c,o),n)return n}return!1}findInOutLines(t){return function(t,e){const n=t.state.refid;return t.root.findAll(t=>!(!t.isLine()||(t.from.component!==n||e&&t.from.anchor!==e)&&(t.to.component!==n||e&&t.to.anchor!==e)))}(this,t)}findOutletLines(t){return rd(this,t)}findOutletEnds(t){return function(t,e){return rd(t,e).map(t=>t.toEnd?.component).filter(Boolean)}(this,t)}findInletLines(t){return id(this,t)}findInletEnds(t){return function(t,e){return id(t,e).map(t=>t.fromEnd?.component).filter(Boolean)}(this,t)}}}nd.Popup=kc,tc.register("model-layer",nd);const od={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0}}],help:"scene/component/rect"},ad={ondragmove:function(t,e,n){const{left:r,width:i,height:s}=n.model;let o=(n.fromParent(t.x,t.y).x-r)/(i/2)*100;o=nc(o,i,s),n.set({round:o})}};class cd extends(sd(rc(ec))){is3dish(){return!0}get controls(){let{left:t,top:e,width:n,round:r,height:i}=this.state;return r=null==r?0:nc(r,n,i),[{x:t+n/2*(r/100),y:e,handler:ad}]}get nature(){return od}}tc.register("rect",cd);const ld=[1,2,10,20,50,50,50,50,50,50];class hd extends(rc(ec)){render(t){const{lineWidth:e=1,fillStyle:n="lightgray",font:r="15px Arial",left:i,top:s,origin:o,width:a,height:c,side:l="bottom",strokeStyle:h="#000000",scale:d=1}=this.state;t.translate(i,s),t.beginPath();const u=Math.round(e/2);t.rect(-u,-u,a+2*u,c+2*u),t.clip(),t.beginPath(),t.rect(0,0,a,c),n&&(t.fillStyle=n,t.fill()),t.lineWidth=e,t.strokeStyle=h,t.stroke(),t.beginPath(),t.font=r;const p="bottom"!==l,f=p?0:c;let g=4*c/5,m=2*c/3,y=1*c/2,b=3*c/5;p&&(g=c-g,m=c-m,y=c-y,b=c-1.5*c/5);const v=d*this.app.PPM/this.root.unitScale;let x=Math.ceil(o/v);const w=this.app.PPM/v,_=w<=1.1?1:ld[Math.round(w)]||100;1!=_&&(x+=(_-x%_)%_);let A=Math.ceil(x*v);const S=o+a;for(t.fillStyle=h;A<S;){if(x%10==0){t.moveTo(A-o,y),t.lineTo(A-o,f);const e=(x/10).toString(),n=t.measureText(e);t.fillText(e,A-o-n.width-6,b)}else x%5==0?(t.moveTo(A-o,m),t.lineTo(A-o,f)):(t.moveTo(A-o,g),t.lineTo(A-o,f));x+=_,A=Math.ceil(x*v)}}}tc.register("ruler",hd);const dd=20,ud=20,pd=90*Math.PI/180,fd="9px Verdana",gd=20,md="#f4f4f4",yd="#999";function bd(t,e,n){return{left:-t.x,top:-t.y,width:dd,height:gd}}function vd(t,e,n,r){return{left:dd-t.x,top:0-t.y,origin:20-t.x,width:e-dd,height:gd}}function xd(t,e,n,r){const i={x:0-t.x+10,y:-t.y+ud+(n-ud)/2},s=tc.transcoordRR(0-t.x,-t.y+ud,i,pd);return{left:s.x-(n-ud),top:s.y,origin:20-t.y,width:n-ud,height:gd}}function wd(t){const e=t.get("translate");return{left:-e.x,top:-e.y,width:t.canvas.width/Li,height:t.canvas.height/Li}}tc.register("guide-layer",class extends Oc{constructor(t,e){super(t,e),this.appScale={x:1,y:1},"disabled"!==t.ruler&&(this.hruler=new hd({left:dd,top:0,origin:20,margin:0,height:gd,unit:"m",rotation:0,font:fd,fillStyle:md,strokeStyle:yd,capturable:!1}),this.vruler=new hd({left:0,top:0,origin:20,margin:0,height:gd,unit:"m",rotation:pd,font:fd,side:"top",fillStyle:md,strokeStyle:yd,capturable:!1}),this.origin_rect=new cd({left:-20,top:-20,width:20,height:20,fillStyle:md,strokeStyle:yd,lineWidth:1}),this.addComponent(this.hruler),this.addComponent(this.vruler),this.addComponent(this.origin_rect)),this.invalidate()}get capturable(){return!1}async ready(){if(await super.ready(),!this.hruler)return void(this.screen_coord=wd(this));const t=this.rootModel,e=Object.assign({},t.get("translate"));e.x<dd&&(e.x+=dd),e.y<ud&&(e.y+=ud);const n=t.get("scale")||{x:1,y:1};this.appScale=n,this.hruler.set("scale",n.x),this.vruler.set("scale",n.y),t.set("translate",e),this.set("translate",e),this.screen_coord=wd(this);const{width:r,height:i}=this.screen_coord;this.hruler.set(vd(e,r)),this.vruler.set(xd(e,0,i)),this.origin_rect.set(bd(e))}resize(){super.resize(),this.screen_coord=wd(this);const{width:t,height:e}=this.screen_coord;this.hruler&&(this.hruler.set(vd(this.model.translate,t)),this.vruler.set(xd(this.model.translate,0,e)),this.origin_rect.set(bd(this.model.translate)))}render(t){if(this.rootModel?.is3dMode)return;if(!this.guide)return;t.save();const{x:e,y:n}=this.guide,{top:r,left:i,width:s,height:o}=this.screen_coord;t.beginPath(),t.moveTo(e,r),t.lineTo(e,r+o),t.moveTo(i,n),t.lineTo(i+s,n),t.lineWidth=1,t.strokeStyle="tomato",t.setLineDash([2,3]),t.font="10px tahoma",t.fillStyle="#333";const a=this.toGlobal(e,n,this.rootModel);t.textBaseline=a.y>200?"bottom":"top",t.textAlign=a.x>200?"right":"left";const c=a.y>200?-5:5,l=a.x>200?-5:5,h=Math.round(e/this.appScale.x),d=Math.round(n/this.appScale.y);t.fillText(` ${h}, ${d} `,e+l,n+c),t.stroke(),t.restore()}get guide(){return this._guide}set guide(t){this._guide=t,this.invalidate()}contains(t,e){return!0}get eventMap(){return{"(root)":{"(descendant)":{mousemove:this.onmousemove_child,mouseout:this.onmouseout_child,dragmove:this.onmousemove_child},"model-layer":{change:this.onchange_root_model}},"(self)":{"(descendant)":{mousedown:this.onmousedown_origin}}}}onmousedown_origin(t,e){this.rootModel.set("translate",{x:20,y:20})}onchange_root_model(t,e,n){if(t.scale&&(this.appScale=t.scale,this.hruler&&(this.hruler.set("scale",t.scale.x),this.vruler.set("scale",t.scale.y))),t.translate&&this.set({translate:{x:t.translate.x,y:t.translate.y}}),t.scale||t.translate){if(this.screen_coord=wd(this),this.hruler){const{translate:t}=this.model,{width:e,height:n}=this.screen_coord;this.hruler.set(vd(t,e)),this.vruler.set(xd(t,0,n)),this.origin_rect.set(bd(t))}this._guide=null}this.invalidate()}onmouseout_child(t){this._guide=null,this.invalidate()}onmousemove_child(t,e){t.target&&"CANVAS"!==t.target.tagName?this.guide=null:this.guide=this.toLocal(t.offsetX,t.offsetY)}});tc.register("shift-layer",class extends Oc{async ready(){await super.ready();const t=this.rootModel.get("translate");this.set("translate",t)}render(t){}get pointerEvents(){return"none"}contains(t,e){return!(2!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown,keyup:this.onkeyup}}}}onkeydown(t){"Space"===t.code&&void 0===this.before_mode&&(this.before_mode=this.app.mode,this.app.mode=2)}onkeyup(t){"Space"===t.code&&(void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode)}ondragstart(t){this.last_position=this.toLocal(t.offsetX,t.offsetY)}ondragmove(t){const{x:e,y:n}=this.toLocal(t.offsetX,t.offsetY);this.rootModel.move({x:e-this.last_position.x,y:n-this.last_position.y},!1),this.last_position=this.toLocal(t.offsetX,t.offsetY)}});function _d(t,e,n,r){const i=t.selected;let s=r?i.slice(0):[];r&&s.length>0?e=s[0].parent:e.isContainer()||(e=e.parent);const o=e.layout.capturables(e),a=!!e.layout.joinType;if(r&&n.selected.forEach(t=>{s.splice(s.indexOf(t),1)}),n.selected=[],o.forEach(t=>{t.capturable&&function(t,e,n){const{sx:r,sy:i,ex:s,ey:o}=e;let a,c,l,h;if(r>s?(a=s,c=r):(a=r,c=s),i>o?(l=o,h=i):(l=i,h=o),n){const e=t.bounds,n=t.transcoordS2TR(e.left,e.top),r=t.transcoordS2TR(e.left+e.width,e.top+e.height),i=n.x,s=r.x,o=n.y,d=r.y,u=Math.min(a,i,c,s),p=Math.max(a,i,c,s),f=Math.min(l,o,h,d),g=Math.max(l,o,h,d);return!(p-u>Math.abs(c-a)+Math.abs(s-i)||g-f>Math.abs(h-l)+Math.abs(d-o))}{const e=t.path;if(!e)return Wr("컴포넌트에 get path가 잘못 구현되어있음.",t),!1;for(let n=0;n<e.length;n++){const r=t.transcoordS2TR(e[n].x,e[n].y);if(a>r.x||c<r.x||l>r.y||h<r.y)return!1}return!0}}(t,n,a)&&-1==s.indexOf(t)&&n.selected.push(t)}),s=s.concat(n.selected),i.length!==s.length)t.selected=s;else for(let e=0;e<s.length;e++)if(i[e]!=s[e]){t.selected=s;break}}function Ad(t,e,n,r,i){i||_d(t,e,n,r)}function Sd(t,e){const n=t.components||[];for(const t of n){Sd(t,e);const n=e.indexOf(t);-1!=n&&e.splice(n,1)}}tc.register("add-layer",class extends Oc{async ready(){await super.ready();const t=this.rootModel,e=t.get("translate"),n=t.get("scale");this.set("translate",e),this.set("scale",n)}get pointerEvents(){return"none"}render(t){const e=this.addbox;if(e){const{sx:n,sy:r,ex:i,ey:s}=e,o=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(n,r,i-n,s-r),t.setLineDash([2/o.x,4/o.y]),t.lineWidth=1/o.x,t.strokeStyle="black",t.stroke()}}contains(t,e){return!(3!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{addstart:this.onaddstart,addstop:this.onaddstop,keydown:this.onkeydown,dragstart:this.ondragstart,dragmove:this.ondragmove,dragend:this.ondragend,mousedown:this.onmousedown,mouseup:this.onmouseup}},"model-layer":{"(self)":{change:this.onchange_root_model}}}}onchange_root_model(t,e,n){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}onaddstart(t,e){void 0===this.before_mode&&(this.before_mode=this.app.mode,this.models=t,this.app.mode=3,this.root.target_element?.focus())}onaddstop(){void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode,delete this.addbox,this.invalidate()}onkeydown(t){3!==this.app.mode||"Esc"!=t.code&&"Escape"!=t.code||this.root.trigger("addstop")}ondragstart(t){const{x:e,y:n}=this.toLocal(t.offsetX,t.offsetY);this.addbox={sx:e,sy:n}}ondragmove(t){if(3!==this.app.mode)return;const{x:e,y:n}=this.toLocal(t.offsetX,t.offsetY);this.addbox&&(this.addbox.ex=e,this.addbox.ey=n,this.invalidate())}ondragend(t,e){if(3!==this.app.mode)return;const{sx:n,sy:r,ex:i,ey:s}=this.addbox;ul.call(this.root,this.models,{left:Math.min(n,i),top:Math.min(r,s),width:Math.abs(i-n),height:Math.abs(s-r)}),this.root.trigger("addstop")}onmousedown(t,e){3===this.app.mode&&(this.downpoint={x:t.offsetX,y:t.offsetY})}onmouseup(t,e){if(this.downpoint.x!==t.offsetX||this.downpoint.y!==t.offsetY)return;const{x:n,y:r}=this.toLocal(t.offsetX,t.offsetY);ul.call(this.root,this.models,{cx:n,cy:r}),this.root.trigger("addstop")}});tc.register("selection-layer",class extends Oc{async ready(){await super.ready();const t=this.rootModel,e=t.get("translate"),n=t.get("scale");this.set("translate",e),this.set("scale",n)}contains(t,e){return!1}render(t){const e=this.selbox;if(e){const{sx:n,sy:r,ex:i,ey:s}=e,o=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(n,r,i-n,s-r),t.setLineDash([2/o.x,4/o.y]),t.lineWidth=1/o.x,t.strokeStyle="black",t.stroke()}}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown}},"model-layer":{"(self)":{change:this.onchange_root_model},"(all)":{dragstart:this.ondragstart_selbox,dragmove:this.ondragmove_selbox,dragend:this.ondragend_selbox,mousedown:this.onmousedown_comp,mouseup:this.onmouseup_comp}}}}onkeydown(t,e){const{deliverer:n}=e,r=n.selected;if(1!==r.length)return!1;let i=r[0];const s=i.parent;if(!s||s===n)return!1;if("Tab"===t.code){const e=s.layout.capturables(s);let n=e.indexOf(i);if(-1==n){if(!s.indexOf(i))return Xr("Container not contains [",i,"] as a component"),!1;n=0}const r=e.length;t.shiftKey?n--:n++,i=e[(n+r)%r]}else{if(!s.layout.keyNavigate)return!1;i=s.layout.keyNavigate(s,i,t)||i}n.selected=[i],t.preventDefault()}onchange_root_model(t,e,n){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}_pendingDecision(t){this.downpoint={x:t.offsetX,y:t.offsetY}}_selectGroupItem(t,e){const n=this.selected.indexOf(t);let r=t.parent;for(;r.parent.isGroup();)r=r.parent;let i=[],s=!1,o=!1;if(this.selected.forEach(t=>{let e=t.parent;if(t!==r){for(;e.parent&&e.parent.isGroup();)e=e.parent;e===r&&(i.push(t),s=!0)}else o=!0}),s)if(e.shiftKey){if(-1!=n)return void this._pendingDecision(e);i.push(t)}else{if(-1!=n)return void this._pendingDecision(e);i=[t]}else{if(o)return void this._pendingDecision(e);if(e.shiftKey)if(this.selected.length>0){if(-1!=this.selected.indexOf(r))return;i=[...this.selected,r]}else i=[r];else i=[r]}this.selected=i}onmousedown_comp(t,e){const{origin:n}=e;if(this.downpoint=null,t.shiftKey){if(n.parent.isGroup())return void this._selectGroupItem(n,t);if(-1!=this.selected.indexOf(n))return void this._pendingDecision(t);{const t=this.selected.filter(t=>!t.isRootModel()&&!!t.parent),e=t.length>0&&t[0].parent;e&&e!==n.parent&&(!function(t,e){let n=t.parent;for(;n;){const t=e.indexOf(n);-1!=t&&e.splice(t,1),n=n.parent}}(n,t),Sd(n,t)),t.push(n),this.selected=t}}else{if(n.parent.isGroup())return void this._selectGroupItem(n,t);if(-1!=this.selected.indexOf(n))return;this.selected=[n],this.sameParent=!0}}onmouseup_comp(t,e){if(!this.downpoint)return;if(this.downpoint.x!==t.offsetX||this.downpoint.y!==t.offsetY)return;const{origin:n}=e;let r=this.selected.indexOf(n);if(-1==r&&n.parent.isGroup()&&(r=this.selected.indexOf(n.parent)),-1!==r&&t.shiftKey){const t=this.selected.slice();return r>-1&&t.splice(r,1),void(this.selected=t)}n.parent.isGroup()&&(this.selected=[n])}ondragstart_selbox(t,e){const{origin:n}=e;if(!n.stuck)return;const{x:r,y:i}=this.toLocal(t.offsetX,t.offsetY);this.selbox={sx:r,sy:i,selected:[]}}ondragmove_selbox(t,e){const{origin:n}=e;if(!n.stuck)return;const{x:r,y:i}=this.toLocal(t.offsetX,t.offsetY);this.selbox&&(this.selbox.ex=r,this.selbox.ey=i,Ad(this,n,this.selbox,t.shiftKey,!1),this.invalidate())}ondragend_selbox(t,e){const{origin:n}=e;n.stuck&&(this.last_pos=null,this.selbox=null,Ad(this,null,null,!1,!0),this.invalidate())}});class Md{constructor(t){this.layer=t}draw(t,e,n){const{left:r,top:i,width:s,height:o}=e.bounds;0!=s&&0!=o&&(t.beginPath(),t.rect(r,i,s,o),t.clip(),t.beginPath(),t.strokeStyle="#f26522",t.lineWidth=4,t.shadowBlur=10,t.shadowColor="black",t.shadowOffsetX=0,t.shadowOffsetY=0,t.rect(r,i,s,o),t.stroke(),t.closePath())}}class kd{constructor(t){this.layer=t}draw(t,e,n){const r=e.bounds;t.beginPath(),t.rect(r.left-4/n.x,r.top-4/n.y,r.width+8/n.x,r.height+8/n.y),t.setLineDash([3/n.x,4/n.y]),t.lineWidth=1/n.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),t.closePath()}}class Ed{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,n,r){const i=n.controls;return!!i&&(i.every((i,s)=>(Math.abs(t-i.x)<=4/r.x&&Math.abs(e-i.y)<=4/r.y&&(this.active={component:n,index:s,handler:i.handler}),!this.active)),!!this.active)}draw(t,e,n){const r=e.controls;r&&r.forEach((e,r)=>{t.beginPath(),t.lineWidth=1/n.x,t.ellipse(e.x,e.y,4/n.x,4/n.y,0,0,2*Math.PI,!0),t.fillStyle="#ff5d72",t.fill(),t.strokeStyle="#fff",t.stroke()})}onevent(t,e){const{handler:n,component:r,index:i}=this.active;let s=r.toLocal(e.offsetX,e.offsetY);s=r.toParent(s.x,s.y),n&&"function"==typeof n[t]&&n[t](s,i,r)}onmousedown(t){this.onevent("onmousedown",t)}ondragstart(t){const e=this.active;e.changes=Kc.before([e.component]),this.onevent("ondragstart",t)}ondragmove(t){this.onevent("ondragmove",t)}ondragend(t){this.onevent("ondragend",t);const{component:e,changes:n}=this.active;Kc.after(n,e.app.commander),e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}function Cd(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}const Td=15*Math.PI/180;class Pd{constructor(t){this.layer=t}reset(){this.active=null,this.created=null}get selected(){return this.layer.selected}contains(t,e,n,r){return!!n.mutable&&(n.path.every((i,s)=>(Math.abs(t-i.x)<=4/r.x&&Math.abs(e-i.y)<=4/r.y&&(this.active={component:n,index:s}),!this.active)),!!this.active)}startLinkProcess(t,e,n){try{const r=hl(e,t.app,void 0);return t.rootModel.addComponent(r),this.layer.selected=[r],this.active={component:r,index:1},this.ondragstart(n),r}catch(t){Xr(t)}}draw(t,e,n){if(!e.mutable||e.stuck)return;const r=e.path,i=this.active;r.forEach((r,s)=>{t.beginPath(),t.ellipse(r.x,r.y,4/n.x,4/n.y,0,0,2*Math.PI,!0),t.lineWidth=1/n.x,t.strokeStyle="#656565",t.fillStyle="#fff",i&&i.component===e&&i.index===s&&(t.strokeStyle="#fa7703",i.toFill&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke()})}ondblclick(t){const e=this.active.component;if(!e.pathExtendable)return;const n=e.path.slice();n.length<3||(n.splice(this.active.index,1),e.path=n)}onmousedown(t){this.active.toFill=!0}ondragstart(t){const{index:e,component:n}=this.active;this.created||(this.active.changes=Kc.before([n])),0!==e&&e!==n.path.length-1||(this.layer.counterEnd=0===e?n.toEnd||{fromto:"to"}:n.fromEnd||{fromto:"from"})}ondragmove(t){const{component:e,index:n}=this.active||{},{offsetX:r,offsetY:i}=t;let s=e.toLocal(r,i);if(s=e.toParent(s.x,s.y),t.shiftKey){const t=e.path.length;let r=e.isLine()&&0==n?e.path[1]:e.path[(n-1+t)%t];r=e.toParent(r.x,r.y);let i=0;if(t>2){let s;e.isLine()?0==n?s=e.path[2]:1!=n&&(s=e.path[n-2]):s=e.path[(n-2+t)%t],s&&(s=e.toParent(s.x,s.y),i=Cd(s,r))}const c=Math.round((Cd(r,s)-i)/Td)*Td+i;s=function(t,e,n){return{x:Math.cos(e)*n+t.x,y:Math.sin(e)*n+t.y}}(r,c,(o=r,a=s,Math.sqrt((a.x-o.x)*(a.x-o.x)+(a.y-o.y)*(a.y-o.y))))}var o,a;if(0===n||n===e.path.length-1){const t=this.layer.anchorTarget=e.rootModel.capture(r,i,t=>!t.isConnectable());if(t){const{x:o,y:a}=t.toLocal(r,i),c=this.layer.get("scale")||{x:1,y:1},l=this.layer.counterEnd,h=(t.anchors||[]).find(n=>{const{name:r,inout:i,multiplicity:s=1/0,position:h,filter:d}=n;if(l){const{anchor:t,fromto:e}=l;if(t&&("out"===t.inout&&"out"===i||"in"===t.inout&&"in"===i))return!1;if("from"===e&&"out"===i||"to"===e&&"in"===i)return!1}else Wr("should not be here.");if(Math.abs(o-h.x)>8/c.x||Math.abs(a-h.y)>8/c.y)return!1;const u=t.findInOutLines(r);return!!u.includes(e)||!(s!==1/0&&u.length>=s)&&(!l||!d||!!d.call(n,l))});h?0==n?e.from={component:t.get("refid"),anchor:h.name,position:s}:e.to={component:t.get("refid"),anchor:h.name,position:s}:0==n?e.from={position:s}:e.to={position:s}}}e.mutatePath(null,function(t){t[n]=s})}ondragend(t){const{component:e,index:n,changes:r}=this.active;if(0===n||n===e.path.length-1){const{offsetX:r,offsetY:i}=t,s=e.rootModel.capture(r,i,t=>t===e||t.isLine()),{x:o,y:a}=s.toLocal(r,i),c=this.layer.get("scale")||{x:1,y:1},l=(s.anchors||[]).find(t=>t&&Math.abs(o-t.position.x)<=8/c.x&&Math.abs(a-t.position.y)<=8/c.y);l&&(0==n?e.from={component:s.get("refid"),anchor:l.name}:e.to={component:s.get("refid"),anchor:l.name}),this.layer.endLinkProcess()}if(this.created){const t=new al({changes:[{component:this.created,to_container:this.created.parent}]});this.created.app.commander.execute(t)}else Kc.after(r,e.app.commander);e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}function Od(t,e,n){return t.filter(t=>{const{name:r,inout:i,multiplicity:s=1/0,filter:o}=t;if(n){const{anchor:t,fromto:e}=n;if(t&&("out"===t.inout&&"out"===i||"in"===t.inout&&"in"===i))return!1;if("from"===e&&"out"===i||"to"===e&&"in"===i)return!1}else if("in"===i)return!1;return!(s!==1/0&&e.findInOutLines(r).length>=s)&&(!o||!n||!!o.call(t,n))})}class Dd{constructor(t){this.layer=t}get active(){return this._active?.component.disposed&&(this._active=null),this._active}set active(t){this._active=t}reset(){this.active=null}contains(t,e,n,r){const i=this.active?.component===n&&this.active?.anchor;this.active=null;const s=this.layer.counterEnd;return Od(n.isConnectable()&&!n.disposed&&this.getAnchorHandles(n,r)||[],n,s).every(s=>{const o=i===s.name?2:1;return s&&s.position&&Math.abs(t-s.position.x)<=4*o/r.x&&Math.abs(e-s.position.y)<=4*o/r.y&&(this.active={component:n,anchor:s.name,template:s.template}),!this.active}),!!this.active}getAnchorHandles(t,e){const{width:n,height:r}=t.bounds;return n*e.x<30||r*e.y<30?[]:t.anchors}draw(t,e,n){if(!e.get("refid")||e.isLine())return;const r=this.active,i=this.active?.component===e&&this.active?.anchor,s=this.layer.counterEnd;Od(e.isConnectable()&&!e.disposed&&this.getAnchorHandles(e,n)||[],e,s).forEach(s=>{const{name:o,position:a}=s,c=i===o?2:1;a&&(t.beginPath(),t.ellipse(a.x,a.y,4*c/n.x,4*c/n.y,0,0,2*Math.PI),t.setLineDash([0,0]),t.lineWidth=1/n.x,t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",r&&r.component===e&&r.anchor===o&&(t.strokeStyle="#fa7703",r.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())})}onmousedown(t){this.active.focus=!0}ondragstart(t){const{component:e,anchor:n,template:r}=this.active,i=this.layer.toLocal(t.offsetX,t.offsetY);this.layer.startLinkProcess(e,{type:"ortholine",lineWidth:1,strokeStyle:"black",begin:"oval",beginSize:"size9",end:"arrow",endSize:"size9",lineDash:"solid",lineCap:"butt",round:10,...r,from:{component:e.get("refid"),anchor:n,position:i},to:{position:i}},t)}ondragmove(t){}ondragend(t){}}function Id(t,e){const{left:n,top:r,width:i,height:s}=t,o=n+i/2,a=r+s/2,c=n+i,l=r+s,h=i*e.x>50,d=s*e.y>50;return[{x:n,y:r},h?{x:o,y:r}:{x:null,y:null},{x:c,y:r},d?{x:c,y:a}:{x:null,y:null},{x:c,y:l},h?{x:o,y:l}:{x:null,y:null},{x:n,y:l},d?{x:n,y:a}:{x:null,y:null}]}class zd{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,n,r){if(!n.resizable)return!1;const i=Id(n.bounds,r);for(let s=0;s<i.length;s++){const o=i[s];if(null!=o.x&&null!=o.y&&Math.abs(t-o.x)<=4/r.x&&Math.abs(e-o.y)<=4/r.y)return this.active={component:n,index:s},!0}return!1}draw(t,e,n){if(e.isLine())return;const{left:r,top:i,width:s,height:o}=e.bounds;if(t.beginPath(),t.rect(r-4/n.x,i-4/n.y,s+8/n.x,o+8/n.y),t.setLineDash([3/n.x,4/n.y]),t.lineWidth=1/n.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),!e.resizable)return;const a=this.active;Id(e.bounds,n).forEach((r,i)=>{null!=r.x&&null!=r.y&&(t.beginPath(),t.rect(r.x-4/n.x,r.y-4/n.y,8/n.x,8/n.y),t.setLineDash([]),t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",a&&a.component===e&&a.index===i&&(t.strokeStyle="#fa7703",a.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())})}onmousedown(t){this.active.focus=!0}ondragstart(t){const{component:e}=this.active;this.active.bounds=e.bounds,this.active.boundsList=this.layer.selected.filter(t=>t.resizable).map(t=>t.bounds)}_resizeAll(t,e){const{component:n,index:r,boundsList:i,bounds:s}=this.active,o=n.scalable?this.layer.toLocal(t.offsetX,t.offsetY):{x:t.offsetX,y:t.offsetY};n.bounds=s;const a=function(t,e,n){const{left:r,top:i,width:s,height:o}=t.bounds;let a,c;switch(e){case 0:a=r,c=i;break;case 1:a=r+s/2,c=i;break;case 2:a=r+s,c=i;break;case 3:a=r+s,c=i+o/2;break;case 4:a=r+s,c=i+o;break;case 5:a=r+s/2,c=i+o;break;case 6:a=r,c=i+o;break;case 7:a=r,c=i+o/2}const l=a,h=c,d=t.fromScene(n.x,n.y);return{dx:d.x-l,dy:d.y-h}}(n,r,o);this.layer.selected.filter(t=>t.resizable).forEach((n,s)=>{n.bounds=i[s],function(t,e,n,r,i,s){let{left:o,top:a,width:c,height:l}=t.bounds;const h={left:o,top:a,width:c,height:l};switch(e){case 0:o+=r,a+=i,c-=r,l-=i;break;case 1:a+=i,l-=i;break;case 2:a+=i,c+=r,l-=i;break;case 3:c+=r;break;case 4:c+=r,l+=i;break;case 5:l+=i;break;case 6:o+=r,c-=r,l+=i;break;case 7:o+=r,c-=r}if(t.mutateBounds(function(e){return Math.abs(c)<=.001&&(c=.001),Math.abs(l)<=.001&&(l=.001),t.adjustResize({left:o,top:a,width:c,height:l},h,n)},this),t.isContainer()&&t.layout.ABSOLUTE&&!t.isGroup()){const e=h.left-o,n=h.top-a;return void(s?t.components.forEach(t=>{t.delta("tx",0),t.delta("ty",0),t.move({x:e,y:n},!1)}):t.components.forEach(t=>{t.delta("tx",e),t.delta("ty",n)}))}const d=s&&t.parent;d&&d.isGroup()&&d.calculateBounds()}(n,r,t.shiftKey,a.dx,a.dy,e)})}ondragmove(t){this._resizeAll(t,!1)}ondragend(t){this._resizeAll(t,!0),this.active.component.app.commander.execute(null,!1)}}const jd=2*Math.PI,Rd=Math.PI/2;function Ld(t,e){const n=t.bounds;return{x:n.left+n.width/2,y:n.top-20/e.y}}class Fd{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,n,r){if(!n.rotatable)return!1;const i=Ld(n,r);return Math.abs(t-i.x)<=4/r.x&&Math.abs(e-i.y)<=4/r.y&&(this.active={component:n},!0)}draw(t,e,n){if(!e.rotatable)return;t.beginPath();const r=Ld(e,n);t.lineWidth=1.5/n.x,t.moveTo(r.x,r.y+20/n.y),t.lineTo(r.x,r.y),t.strokeStyle="#656565",t.stroke(),t.beginPath(),t.ellipse(r.x,r.y,4/n.x,4/n.y,0,0,jd,!0),t.stroke(),t.fillStyle="#fff",t.fill();const i=this.active;i&&i.component===e&&(t.strokeStyle="#fa7703",t.stroke(),i.toFill&&(t.fillStyle="#ffb80c",t.fill()))}onmousedown(t){this.active.toFill=!0}ondragstart(t){const e=this.active;e.start_rotation=e.component.get("rotation"),e.rotations=this.layer.selected.filter(t=>t.rotatable).map(t=>t.get("rotation"))}ondragmove(t){const{component:e}=this.active;let n;e.scalable?(n=e.toLocal(t.offsetX,t.offsetY),n=e.toParent(n.x,n.y)):(n={x:t.offsetX,y:t.offsetY},e.parent?.isRootModel()||(n=e.toParent(n.x,n.y)));const r=e.rotatePoint,i=e.get("rotation")||0;let s=Math.atan((r.y-n.y)/(r.x-n.x));s=r.x>=n.x?s-Rd:Rd+s;const o=s-i;this.layer.selected.filter(t=>t.rotatable).forEach((e,n)=>{const r=((e.get("rotation")||0)+o)%jd;e.set("rotation",e.adjustRotation(r,t.shiftKey))})}ondragend(t){const{component:e}=this.active;e.app.commander.execute(null,!1)}}tc.register("modeling-layer",class extends Dc{constructor(t,e){super(t,e),this.pathHandler=new Pd(this);const n=this.pathHandler,r=new Ed(this),i=new zd(this),s=new Fd(this);this._modelers=[n,r,i,s],this._control_mode_modelers=[r,n,i,s],this.focusOutline=new Md(this),this.groupOutline=new kd(this),this.anchorHandler=new Dd(this),this._reversed_modelers=this._modelers.slice().reverse(),this._control_mode_reverse_modelers=this._control_mode_modelers.slice().reverse(),this.hovered=null,this.hoveredDest=null}get modelers(){return this._control_mode?this._control_mode_modelers:this._modelers}get reversedModelers(){return this._control_mode?this._control_mode_reverse_modelers:this._reversed_modelers}async ready(){await super.ready();const t=this.rootModel,e=t.get("translate"),n=t.get("scale");this.set("translate",e),this.set("scale",n)}capture(t,e,n){return!!this.contains(t,e)&&this}contains(t,e){let n=this.selected.filter(t=>!!t.parent);const r=this.fromParent(t,e),i=this.get("scale")||{x:1,y:1};let s;if(this._state_dragging){if(this._counter_end){let n=i;if(this.anchorTarget.scalable?s=this.anchorTarget.fromScene(r.x,r.y):(s=this.anchorTarget.fromScene(t,e),n={x:1,y:1}),this.anchorHandler.contains(s.x,s.y,this.anchorTarget,n))return!0}return!0}this.modelers.forEach(t=>t.reset()),n=this.selected.filter(t=>!!t.parent);for(let o=0;o<n.length;o++){const a=n[o];let c=i;a.scalable?s=a.fromScene(r.x,r.y):(s=a.fromScene(t,e),c={x:1,y:1});for(let t=0;t<this.modelers.length;t++){const e=this.modelers[t];if(e.contains(s.x,s.y,a,c))return this.currentModeler=e,!0}}if(this.anchorTarget){let n=i;if(this.anchorTarget.scalable?s=this.anchorTarget.fromScene(r.x,r.y):(s=this.anchorTarget.fromScene(t,e),n={x:1,y:1}),this.anchorHandler.contains(s.x,s.y,this.anchorTarget,n))return this.currentModeler=this.anchorHandler,!0}else this.anchorHandler.reset();return this.currentModeler=null,!1}_componentDrawer(t,e,n,r){const i=[];let s=e.parent;if(e.isRootModel())return t.save(),r(t,e,n),void t.restore();for((t=this.getContext(e))==this.auxContext2D&&(n={x:1,y:1});s&&!s.isRootModel();)i.push(s),s=s.parent;t.save(),i.reverse().forEach(function(e){const n=e.rotatePoint;t.translate(n.x,n.y);const r=e.get("scale");r&&t.scale(r.x,r.y),t.rotate(e.get("rotation")),t.translate(-n.x,-n.y);const i=e.bounds;t.translate(i.left,i.top)});const o=e.rotatePoint;t.translate(o.x,o.y);const a=e.get("scale");a&&t.scale(a.x,a.y),t.rotate(e.get("rotation")),t.translate(-o.x,-o.y),r(t,e,n),t.restore()}prerender(t){const{translate:e,scale:n={x:1,y:1},rotation:r}=this.model;t.save(),t.beginPath(),t.clearRect(0,0,t.canvas.width,t.canvas.height),t.rect(0,0,t.canvas.width,t.canvas.height),t.fillStyle="black",t.globalAlpha=.5,t.fill(),t.restore(),e&&t.translate(e.x*Li,e.y*Li),t.scale(n.x*Li,n.y*Li),r&&t.rotate(r),t.clearRect(0,0,this.rootModel.get("width"),this.rootModel.get("height"))}render(t){if(this.rootModel?.is3dMode)return;t.beginPath();const e=this.get("scale")||{x:1,y:1},n=this.selected.filter(t=>!!t.parent);if(this.anchorTarget&&this._componentDrawer(t,this.anchorTarget,e,(t,e,n)=>{this.anchorHandler.draw(t,e,n)}),this.focused&&this._componentDrawer(t,this.focused,e,(t,e,n)=>{this.focusOutline.draw(t,e,n)}),n.length>0&&n[0].parent.isGroup()){let r=n[0].parent;for(;r.parent.isGroup();)r=r.parent;this._componentDrawer(t,r,e,(t,e,n)=>{this.groupOutline.draw(t,e,n)})}n.forEach(n=>{this._componentDrawer(t,n,e,(t,e,n)=>{this.reversedModelers.forEach(r=>r.draw(t,e,n))})})}get anchorTarget(){return this.currentModeler===this.anchorHandler||this.currentModeler===this.pathHandler||this.hovered?.isLine()||(this._anchorTarget=this.hovered),this._anchorTarget}set anchorTarget(t){this._anchorTarget=t}get hovered(){return this._hovered}set hovered(t){this._hovered=t,this.invalidate()}startLinkProcess(t,e,n){this.currentModeler=this.pathHandler,this.processingLink=this.pathHandler.startLinkProcess(t,e,n),this.counterEnd=this.processingLink.fromEnd,this.processingLink.trigger("tag")}set counterEnd(t){this.currentModeler=this.pathHandler,this._counter_end=t}get counterEnd(){return this._counter_end}endLinkProcess(){this.processingLink?.trigger("tagreset"),this.processingLink=null,this._counter_end=null}get eventMap(){return{"model-layer":{"(all)":{change:this.onchange_model,wheel:this.onwheel_scale,drop:this.ondrop},"(descendant)":{mouseenter:this.onmouseenter,mouseleave:this.onmouseleave},"(self)":{dblclick:this.ondblclick_model}},"(root)":{"(self)":{selected:this.onselected,keydown:this.onkeydown,keyup:this.onkeyup}}}}onmouseenter(t,e){this.hovered=e?.origin}onmouseleave(t,e){this.hovered=null}onkeydown(t){if("Alt"==t.key&&(this._control_mode=!0,this.invalidate()),"KeyT"===t.code&&!t.metaKey&&!t.ctrlKey&&!t.altKey){const e=this.rootModel;e&&!e.is3dMode&&this.app?.isEditMode&&(e.set("threed",!0),t.preventDefault())}}onkeyup(t){"Alt"==t.key&&(this._control_mode=!1,this.invalidate())}onselected(t,e){this.invalidate()}onchange_model(t,e,n){const{origin:r,deliverer:i}=n;r===i&&(t.translate&&this.set("translate",t.translate),void 0!==t.rotation&&this.set("rotation",t.rotation),t.scale&&this.set("scale",t.scale)),this.invalidate()}ondblclick_model(t,e){const n=e.origin;n?.root.fit()}ondblclick(t){"function"==typeof this.currentModeler.ondblclick&&this.currentModeler.ondblclick(t),this.invalidate()}onmousedown(t){this.currentModeler.onmousedown(t),this.invalidate()}onmouseup(t){"function"==typeof this.currentModeler.onmouseup&&this.currentModeler.onmouseup(t),this.invalidate()}ondragstart(t){this.currentModeler.ondragstart(t),this._state_dragging=!0}ondragmove(t){this.currentModeler.ondragmove(t),this.invalidate()}ondragend(t){this._state_dragging=!1,this.currentModeler.ondragend(t),this.invalidate()}ondrop(t,e){const{origin:n}=e,r=t.dataTransfer.files;if(r.length<1)return;const i=this.rootModel.toLocal(t.offsetX,t.offsetY),s=this.rootModel;Promise.all(Array.from(r).map(t=>new Promise((e,n)=>{const r=new FileReader;r.addEventListener("loadend",t=>{e(r.result)}),["error","abort"].forEach(t=>r.addEventListener(t,t=>{n(t)})),r.readAsDataURL(t)}))).then(e=>{if(t.altKey)return Kc.around(this.app.commander,()=>{n.ondropfile(r,e)}),void(this.selected=[n]);const o=[],a=e.map((t,e)=>{let n;const a=r[e].type,c=r[e].name;return a.startsWith("image/")?(n=hl({type:a.startsWith("image/gif")?"gif-view":"image-view",top:0,left:0,width:200,height:200,src:t},s.app),o.push(new Promise((e,r)=>{const i=new Image;i.src=t,i.onload=()=>{n.set({width:i.width,height:i.height}),e()},i.onerror=t=>{r(t)}}))):a.startsWith("audio/")?n=hl({type:"audio",top:0,left:0,width:100,height:100,src:t},s.app):a.startsWith("vnd.ms-excel/")||/\.xlsx?$/.test(c)?n=hl({type:"excel",top:0,left:0,width:100,height:100,src:t},s.app):qr("dropped file",r[e]),n&&(n.center=i,i.x+=50,i.y+=50),n}).filter(Boolean).map(t=>({component:t,to_container:s}));a.length>0&&Promise.all(o).then(()=>{this.app.commander.execute(new al({changes:a})),this.selected=a.map(t=>t.component)},t=>{Wr(t)})},t=>{Wr(t)})}onwheel_scale(t,e){if(0==t.deltaY&&0==t.deltaX)return;const n=e.deliverer;let r;if(t.shiftKey)r=-1!=navigator.userAgent.indexOf("Win")?t.deltaY<0?1:-1:t.deltaX<0?1:-1,t.altKey?Kc.around(this.app.commander,()=>{n.selected.forEach(t=>{let e=t.get("letterSpacing")||Bi.LETTER_SPACING;e+=r,t.set("letterSpacing",e)})}):Kc.around(this.app.commander,()=>{n.selected.forEach(t=>{let e=t.get("fontSize")||Bi.FONT_SIZE;e<1&&(e=1),e+=r,t.set("fontSize",e)})});else{r=t.deltaY<0?1:-1;const e=n.get("scale")||{x:1,y:1},i=n.get("translate"),s=t.offsetX,o=t.offsetY,a=n.toLocal(s,o),c=.1*r,l={x:e.x+c,y:e.y+c};if(r<0&&e.x<.2||r>0&&e.x>10)return;n.set("scale",l);const h=n.toLocal(s,o);n.set("translate",{x:i.x+(h.x-a.x)*l.x,y:i.y+(h.y-a.y)*l.y})}}});function Nd(){const t=arguments,e=t[t.length-1],n=this.event_pump;n.listeners.forEach(r=>{!function(t,e,n,r,i){for(const s in n){const o=n[s];if(Sa(s,r.origin,0,t))for(const t in o){const n=o[t];t==r.name&&(r.listener=e,n.apply(e,i))}}}(n.deliverer,r.listener,r.cloned_handlers,e,t)})}tc.register("scroll-layer",class extends Oc{get capturable(){return!0}get pointerEvents(){return"none"}render(t){const{scrolling:e}=this.state;if(t.save(),t.beginPath(),t.fillStyle="#777",this.vscroller){const{left:n,top:r,width:i,height:s}=this.vscroller;t.globalAlpha="v"==e?1:.3,t.fillRect(n,r,i,s)}if(this.hscroller){const{left:n,top:r,width:i,height:s}=this.hscroller;t.globalAlpha="h"==e?1:.3,t.fillRect(n,r,i,s)}t.stroke(),t.restore()}resize(){super.resize(),this.calcScrollerBounds()}contains(t,e){const n=this.vscroller,r=this.hscroller;return this.setState("scrolling",n&&t>=n.left&&t<=n.left+n.width&&e>=n.top&&e<=n.top+n.height?"v":r&&t>=r.left&&t<=r.left+r.width&&e>=r.top&&e<=r.top+r.height?"h":null),!!this.getState("scrolling")}get eventMap(){return{"(root)":{"model-layer":{change:this.onchangeModelLayer}}}}onchange(t){"scrolling"in t&&this.invalidate()}ondragstart(t,e){this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragmove(t,e){const n=this.root,{clientWidth:r,clientHeight:i}=this.canvas,{width:s,height:o}=this.rootModel.model,{x:a,y:c}={x:t.offsetX,y:t.offsetY},{x:l,y:h}=this._scale,{scrolling:d}=this.state,u=s/r,p=o/i;d&&n.rootModel.move({x:"h"==d?(-a+this.lastPosition.x)*l*u:0,y:"v"==d?(-c+this.lastPosition.y)*h*p:0},!1),this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragend(){delete this.lastPosition,this.setState({scrolling:null})}calcScrollerBounds(){if(!this.rootModel)return;const{clientWidth:t,clientHeight:e}=this.canvas,{width:n,height:r}=this.rootModel.model,{x:i=1,y:s=1}=this._scale||{},{x:o=0,y:a=0}=this._translate||{},c=n/t,l=r/e;let h={left:-o/i/c,top:e-10,width:t/i/c,height:10};this.hscroller=h.left>1||h.width+h.left<t-1?h:null,h={left:t-10,top:-a/s/l,width:10,height:e/s/l},this.vscroller=h.top>1||h.height+h.top<e-1?h:null,this.invalidate()}onchangeModelLayer(t,e,n){if(t.scale){const{x:e=1,y:n=1}=t?.scale||{};this._scale={x:e,y:n},this.calcScrollerBounds()}if(t.translate){const{x:e=0,y:n=0}=t.translate||{};this._translate={x:e,y:n},this.calcScrollerBounds()}}});class Bd{constructor(t){if(void 0===t.on)throw new Error("Deliverer should be a event handlable object.");this.deliverer=t,this.listeners=[]}start(){this.deliverer.on("(all)",Nd,{event_pump:this})}stop(){this.deliverer.off("(all)",Nd)}on(t,e){const n=Object.assign({},e);Object.keys(n).forEach(e=>{if(0==e.indexOf("?")){const r=n[e],i=e.substr(1),s=t.get(i);delete n[e],s?n[s]=r:Xr("EventPump#on","variable #{selector} is not evaluated on listener")}}),this.listeners.push({listener:t,handlers:e,cloned_handlers:n})}off(t,e){for(let n=0;n<this.listeners.length;n++){const r=this.listeners[n];r.listener!==t||e&&r.handlers!==e||this.listeners.splice(n,1)}}clear(){this.listeners=[]}dispose(){this.stop(),this.clear()}}class Yd{constructor(t){this.eventMaps=[],this.root=t,t.eventMap&&this.add(t,t.eventMap)}set root(t){this._root=t}get root(){return this._root}stop(){this.eventMaps.forEach(t=>t.eventPump.stop())}add(t,e){if(this.root)for(const n in e){const r=e[n];if("(self)"===n&&void 0===t.on)throw new Error("(self) selector not available when deliverer is not a event handlable object.");Ea(n,this.root,t).forEach(n=>{const i=new Bd(n);i.on(t,r),i.start(),this.eventMaps.push({eventPump:i,listener:t,handlerMap:e,deliverer:n})})}}remove(t,e){const n=this.eventMaps.slice(0);for(let r=0;r<n.length;r++){const i=n[r];i.listener!==t||e&&i.handlerMap!==e||(this.eventMaps.splice(r,1),i.eventPump.dispose())}}clear(){this.eventMaps.slice(0).forEach(t=>t.eventPump.dispose()),this.eventMaps=[]}dispose(){this.stop(),this.clear()}}const Gd=0,Vd=1,Ud=2,Hd=0,Wd=1,Xd=2;let qd={},Kd=0;class $d{constructor(t,e){this._type=e||t.type,this._ctrlKey=t.ctrlKey,this._altKey=t.altKey,this._shiftKey=t.shiftKey,this._metaKey=t.metaKey;const n=function(t){if(t.touches){const e=t.touches[0];if(!e)return qd;const n=e.target.getBoundingClientRect();return qd={x:t.offsetX||e.clientX-n.left,y:t.offsetY||e.clientY-n.top},qd}return{x:t.offsetX,y:t.offsetY}}(t);if(this._offsetX=n.x,this._offsetY=n.y,t.touches&&t.touches[0]?(this._clientX=t.touches[0].clientX,this._clientY=t.touches[0].clientY):(this._clientX=t.clientX,this._clientY=t.clientY),"wheel"==t.type)this.deltaX=t.deltaX,this.deltaY=t.deltaY,this.deltaZ=t.deltaZ;else if("drop"==t.type)this.dataTransfer=t.dataTransfer;else if(t.type.match(/^touch/)&&(this._scale=t.scale,this._touches=t.touches,this._changedTouches=t.changedTouches,null==this._scale)){const e=function(t){let e,n,r=0,i=0,s=0;if(1===t.touches.length)return s;Array.from(t.touches).forEach(t=>{e=null!=e?Math.min(t.screenX,e):t.screenX,r=Math.max(t.screenX,r),n=null!=n?Math.min(t.screenY,n):t.screenY,i=Math.max(t.screenY,i)});const o=r-e||0,a=i-n||0;return s=Math.sqrt(Math.pow(o,2)+Math.pow(a,2))||0,s}(t);Kd>0&&(this._scale=e/Kd),Kd=e}}get type(){return this._type}set type(t){this._type=t}get offsetX(){return this._offsetX}get offsetY(){return this._offsetY}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get shiftKey(){return this._shiftKey}get metaKey(){return this._metaKey}get clientX(){return this._clientX}get clientY(){return this._clientY}get touches(){return this._touches}get changedTouches(){return this._changedTouches}get scale(){return this._scale}stopPropagation(){this._stop_=!0,this.originalEvent?.stopPropagation()}isPropagationStopped(){return this._stop_}preventDefault(){this._prevented=!0}isDefaultPrevented(){return this._prevented}}function Qd(t,e,n){if(!t||!t.app)return;if(t.app.isViewMode&&t.hidden)return;n instanceof $d&&e===n.type||(n=new $d(n,e));const r="on"+e;t[r]&&t[r](n),n.isPropagationStopped()||t.trigger(e,n)}class Zd{constructor(t,e){this.gestureHandlerBuilder=t=>{const e=this[`on${t}`];return t=>{const n=new $d(t),r=this.getChildScrollOffset();return n._offsetX+=this.html_element.scrollLeft+r.scrollLeft,n._offsetY+=this.html_element.scrollTop+r.scrollTop,e(n),n.isDefaultPrevented()&&t.preventDefault(),!1}},this.keyeventHandlerBuilder=t=>this[`on${t}`],this.ondragover=t=>(Qd(this.findTarget(t),t.type,t),!1),this.ondrop=t=>(Qd(this.findTarget(t),t.type,t),!1),this.ondblclick=t=>(Qd(this.findTarget(t),t.type,t),this.last_target=null,!1),this.onkeydown=t=>(this.container.trigger(t.type,t),!1),this.onkeyup=t=>(this.container.trigger(t.type,t),!1),this.onmousemove=t=>{switch(this.status){case Vd:const e=t.offsetX-this.__dragstart_e.offsetX,n=t.offsetY-this.__dragstart_e.offsetY;if(e*e+n*n<16)break;this.status=Ud,Qd(this.last_target,"dragstart",this.__dragstart_e),this.__dragmove_e=t,Qd(this.last_target,"dragmove",t);break;case Ud:this.__dragmove_e=t,Qd(this.last_target,"dragmove",t);break;default:{const e=this.findTarget(t);this.last_enter_target!==e&&(this.last_enter_target&&Qd(this.last_enter_target,"mouseleave",t),e&&Qd(e,"mouseenter",t),this.last_enter_target=e),Qd(e,t.type,t),this.last_target=e}}return!1},this.onmousedown=t=>{if(this.status===Ud)Qd(this.last_target,"dragend",t),this.last_target=null,this.status=Gd;else{const e=this.findTarget(t);this.last_target=e,this.status=Vd,this.__dragstart_e=t,Qd(e,t.type,t)}return!1},this.onmouseup=t=>{if(this.status===Ud)Qd(this.last_target,"dragend",t);else{const e=this.findTarget(t);Qd(e,t.type,t),this.last_target===e&&Qd(e,"click",t)}return this.last_target=null,this.status=Gd,!1},this.onmouseout=t=>{const e=this.findTarget(t);if(this.status===Ud)Qd(this.last_target,"dragend",t);else{if(this.last_target&&this.last_target===e)return;this.last_enter_target&&(Qd(this.last_enter_target,"mouseleave",t),delete this.last_enter_target)}return this.last_target=null,this.status=Gd,!1},this.ontouchstart=t=>{const e=this.findTarget(t);return this.last_target=e,this.status=Wd,this.touchPoints||(this.touchPoints=[]),this.touchPoints.push(t.changedTouches[0]),this.holdTimer=setTimeout(()=>{this.status=Hd,Qd(this.last_target,"hold",t),delete this.holdTimer},500),Qd(e,t.type,t),!1},this.ontouchmove=t=>{if(!t.touches||!t.changedTouches)return Qd(this.last_target,"dragstart",t),Qd(this.last_target,"dragmove",t),!1;let e=this.findTarget(t);switch(this.status){case Wd:Array.from(t.changedTouches).forEach(t=>{const e=this.touchPoints.find(e=>e.identifier===t.identifier);if(!e)return;const n=e.clientX-t.clientX,r=e.clientY-t.clientY;return Math.sqrt(Math.pow(n,2)+Math.pow(r,2))>=16?(this.status=Xd,void(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer))):void 0});break;case Xd:if(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer),2===t.changedTouches.length&&null!=t.scale&&1!==t.scale&&(t.scale<.9||t.scale>1.1))return Qd(this.last_target,"pinch",t),!1;Qd(this.last_target,"pan",t),e=this.last_target;break;default:this.last_enter_target!==e&&(this.last_enter_target&&Qd(this.last_enter_target,"mouseleave",t),e&&Qd(e,"mouseenter",t),this.last_enter_target=e),this.last_target=e}return Qd(e,"touchmove",t),!1},this.ontouchend=t=>{let e=this.findTarget(t);switch(this.status){case Xd:e=this.last_target;break;case Wd:{const n=performance.now(),r=n-this.touchedAt;this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer,Qd(e,r<500?"doubletap":"tap",t),this.touchedAt=n);break}}Qd(e,"touchend",t);const n=this.touchPoints.findIndex(e=>e.identifier===t.changedTouches[0].identifier);return this.touchPoints.splice(n,1),this.last_target=null,this.status=Hd,!1},this.onwheel=t=>(Qd(this.findTarget(t),t.type,t),!1),this.container=t,this.html_element=e,this.status=Gd,this.last_target=null,this.gesture_handlers=Fi.map(t=>this.gestureHandlerBuilder(t)),this.keyevent_handlers=Ni.map(t=>this.keyeventHandlerBuilder(t)),Fi.forEach((t,n)=>e.addEventListener(t,this.gesture_handlers[n]),{passive:!1}),Ni.forEach((t,n)=>e.addEventListener(t,this.keyevent_handlers[n])),e.ondragover=this.gestureHandlerBuilder("dragover"),e.ondrop=this.gestureHandlerBuilder("drop"),e.tabIndex=1}dispose(){this.last_enter_target&&Qd(this.last_enter_target,"mouseleave",new CustomEvent("mouseleave")),Fi.forEach((t,e)=>this.html_element.removeEventListener(t,this.gesture_handlers[e])),Ni.forEach((t,e)=>this.html_element.removeEventListener(t,this.keyevent_handlers[e])),delete this.gesture_handlers,delete this.keyevent_handlers,delete this.last_target}getChildScrollOffset(){for(const t of this.html_element.children)if(t.scrollTop>0||t.scrollLeft>0)return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop};return{scrollLeft:0,scrollTop:0}}findTarget(t){const e=this.container.rootModel;if(e?.is3dMode)return e;const n=this.html_element.getBoundingClientRect(),r=this.getChildScrollOffset(),i=t.clientX-n.left+this.html_element.scrollLeft+r.scrollLeft,s=t.clientY-n.top+this.html_element.scrollTop+r.scrollTop;return this.container.capture(i,s)}}function Jd(t,e,n,r=0){if(e.length<2)return e;let i=2;for(;i<e.length;i++){const s=e.substring(0,i);if(!(t.measureText(s).width+(s.length-1)*r<n))break}return e.substring(0,i-1)}function tu(t,e,n,r,i=0){const s=String(e).split("\n");return r?[].concat.apply([],s.map(e=>function(t,e,n,r=0){const i=e.split(" "),s=[];let o,a,c=[];for(o=0,a=1;a<=i.length;a++)if(c=i.slice(o,a),t.measureText(c.join(" ")).width+(c.join("").length-1)*r>n){if(a-o==1){const e=Jd(t,c[0],n,r);s.push([e]),i.splice(o,1,e,c[0].substring(e.length))}else{for(;""==i[a-1];)a++;s.push(i.slice(o,--a))}o=a}return a-o>1&&s.push(c),0==s.length&&s.push([""]),s}(t,e,n,i))):s.map(t=>t.split(" "))}const eu={},nu={},ru=()=>{};var iu={register:function(t,e,n){eu[t]=e,n&&(nu[t]=n)},unregister:function(t){delete eu[t],delete nu[t]},get:function(t){return eu[t]},getDisposer:function(t){return nu[t]||ru}};function su(t){if(!t.hasTextProperty||t.textHidden)return;let{text:e="",bold:n=Bi.BOLD,italic:r=Bi.ITALIC,textWrap:i=Bi.TEXT_WRAP,letterSpacing:s=0,fontFamily:o=Bi.FONT_FAMILY,fontColor:a=Bi.FONT_COLOR,textAlign:c=Bi.TEXT_ALIGN,textBaseline:l=Bi.TEXT_BASELINE,fontSize:h=Bi.FONT_SIZE,lineHeight:d=1.2*h}=t.model;const{left:u,top:p,width:f,height:g}=t.textBounds;h||=Bi.FONT_SIZE,d||=1.2*h,t.textHidden=!0;const m=document.createElement("textarea"),y=new AbortController;Fi.forEach(function(t){m.addEventListener(t,t=>t.stopPropagation(),{capture:!0,signal:y.signal})});const b=t.toGlobal(u,p),{rotation:v,scale:x}=function(t){let e=0,n=1,r=t;for(;r;){e+=r.get("rotation")||0;const{x:t,y:i}=r.get("scale")||{x:1,y:1};n*=Math.max(t,i)||1,r=r.parent}return{rotation:e,scale:n}}(t);m.value=e;const w={position:"absolute",width:f+"px",height:g+"px",padding:"0",fontFamily:o,fontSize:h+"px",lineHeight:d+"px",overflow:"hidden",resize:"none",outline:"none",border:"0",backgroundColor:"transparent",display:"inline-block",color:a};switch(n&&(w.fontWeight="bold"),r&&(w.fontStyle="italic"),c){case"right":case"end":w.textAlign="right";break;case"justify":w.textAlign="justify";break;case"left":case"start":w.textAlign="left";break;default:w.textAlign="center"}const _=[n,r,h+"px",o].filter(Boolean).join(" ");function A(e){const n={left:0,top:0},r=d*function(t,e,n,r,i=0){const s=t.getContext();let o;return s.save(),s.font=n,o=tu(s,e,r,t.get("textWrap"),i).length,s.restore(),o}(t,e,_,f,s);switch(w.height=r+"px",l){case"top":case"hanging":break;case"bottom":case"alphabetic":n.top=g-r;break;default:n.top=g/2-r/2}if(!i){const r=function(t,e,n,r){const i=e.split("\n");let s=r;const o=t.getContext();return o.save(),o.font=n,i.forEach(t=>{const e=o.measureText(t).width;e>s&&(s=e)}),o.restore(),s}(t,e,_,f);switch(w.width=r+"px",c){case"right":case"end":n.left=f-r;break;case"left":case"start":break;default:n.left=(f-r)/2}}w.marginLeft=n.left+"px",w.marginTop=n.top+"px",w.transform=`translate(${b.x}px, ${b.y}px) scale(${x}) rotate(${v}rad)`,w.transformOrigin=`${-n.left}px ${-n.top}px`,Object.assign(m.style,w)}A(e);const S=t.root.target_element;S.appendChild(m),m.select();let M,k=!1;m.addEventListener("keydown",function(t){t.stopPropagation(),"Escape"!=t.code&&(t.shiftKey||"Enter"!=t.code&&"NumpadEnter"!=t.code)?setTimeout(()=>{A(m.value)}):(k=M.skipUpdate="Escape"==t.code,"function"==typeof document.createEvent?m.dispatchEvent(M):m.fireEvent(M.eventType,M))},{signal:y.signal}),document.createEvent?(M=document.createEvent("HTMLEvents"),M.initEvent("blur",!0,!1)):(M=document.createEventObject(),M.eventType="blur");const E=t.root.selected,C=function(n){t.root.selected=E,t.textHidden=!1,y.abort(),m.removeEventListener("blur",C,!1),m.parentElement&&m.parentElement.removeChild(m),S.focus(),n.skipUpdate||k||t.app.commander.execute(new Kc({changes:[{component:t,before:{text:e},after:{text:m.value}}]}))};m.addEventListener("blur",C,!1)}iu.register("text-editor",{"(root)":{"(self)":{keydown:function(t,e){const{deliverer:n}=e,r=n.selected;return!(1!==r.length||!r[0].hasTextProperty)&&(("Enter"==t.code||"NumpadEnter"==t.code)&&(su(r[0]),t.preventDefault(),!0))}}},"model-layer":{"(descendant)":{dblclick:function(t,e){su(e.origin)}}}});const ou=ar(function(t,e,n){if(!t.hasSameParentForAllSelected||n)return void(t.focused=null);const r=[];e[0].parent.isGroup()?t.focused=e[0].parent:(e.forEach(t=>{t.path.forEach(e=>{r.push(t.toScene(e.x,e.y))})}),t.focused=t.capturePath(r,e))},300);let au,cu,lu;iu.register("move-handler",{"model-layer":{"(descendant)":{dragstart:function(t,e){const{origin:n,deliverer:r}=e;if(n.stuck)return;let i=r.selected;const s=r.selected.filter(t=>!t.stuck);if(i.length!==s.length&&(i=r.selected=s),0==i.length)return;let o;if(i[0].scalable?(o=i[0].toLocal(t.offsetX,t.offsetY),o=i[0].toParent(o.x,o.y)):o={x:t.offsetX,y:t.offsetY},this.last_pos=o,this.direction=0,r.focused=i[0].parent,t.altKey){const t=[],e=new Map;r.selected=r.selected.filter(t=>!t.isRootModel()).map(n=>{const i=dl(n,t=>{const n=r.root.getNewRefid();return void 0!==t&&e.set(t,n),n});return t.push({component:i,to_container:n.parent}),i}).map(t=>(t.replaceRefids(e),t)),t.forEach(({component:t,to_container:e})=>{e.addComponent(t)}),this.duplicates=r.selected.map(t=>({component:t}))}else this.changes=Kc.before(i)},dragmove:function(t,e){const{origin:n,deliverer:r}=e;if(n.stuck)return;const i=r.selected;if(0==i.length)return;let s;i[0].scalable?(s=i[0].toLocal(t.offsetX,t.offsetY),s=i[0].toParent(s.x,s.y)):s={x:t.offsetX,y:t.offsetY},t.shiftKey?2==this.direction&&(this.direction=0):this.direction=2;let o=s.x-this.last_pos.x,a=s.y-this.last_pos.y;if(0==this.direction){if(o*o+a*a<25)return;Math.abs(o)>Math.abs(a)?this.direction=3:this.direction=4}3==this.direction?a=0:4==this.direction&&(o=0),i.forEach(t=>{t.move({x:o,y:a},1===i.length)}),this.last_pos=s,ou(r,i)},dragend:function(t,e){const{origin:n,deliverer:r}=e;if(n.stuck)return;const i=r.selected;if(0==i.length)return;const s=i[0].parent,o=r.focused||e.deliverer;if(this.changes&&!o.isGroup())if(r.hasSameParentForAllSelected&&o&&o!==s){const t=this.changes.map(t=>{const{component:e}=t;return{component:e,to_container:o}});r.app.commander.execute(new al({changes:t}))}else Kc.after(this.changes,r.app.commander);else if(this.duplicates){this.duplicates=this.duplicates.map(t=>(t.to_container=o,t));const t=new al({changes:this.duplicates});r.app.commander.execute(t)}i.forEach(t=>{t.parent&&t.parent.calculateBounds&&t.parent.calculateBounds()}),this.last_pos=null,this.changes=null,this.duplicates=null,ou(r,i,!0)}}},"(root)":{"(self)":{keydown:function(t,e){const{origin:n,deliverer:r}=e,i={},s=t.shiftKey?n.rootModel.MPP:1;switch(t.which){case 37:i.x=-s,i.y=0;break;case 38:i.x=0,i.y=-s;break;case 39:i.x=s,i.y=0;break;case 40:i.x=0,i.y=s;break;default:return}const o=r.selected;Kc.around(r.app.commander,function(){o.forEach(t=>{!t.stuck&&t.move(i,!1)})})}}}});const hu=cr(()=>{const{x:t,y:e}=lu,n=cu.deref();n&&(n.rootModel.move({x:t-au.x,y:e-au.y},!1),au={x:t,y:e})},60,{leading:!0,trailing:!0});iu.register("shift-handler",{"model-layer":{"(all)":{dragstart:function(t,e){au={x:t.offsetX,y:t.offsetY}},dragmove:function(t,e){cu=new WeakRef(e.deliverer),lu={x:t.offsetX,y:t.offsetY},hu()}}}}),iu.register("zoom-handler",{"model-layer":{"(all)":{wheel:function(t,e){if(0==t.deltaY&&0==t.deltaX)return;const n=e.deliverer,r=t.deltaY<0?1:-1,i=n.get("scale")||{x:1,y:1},s=n.get("translate"),o=t.offsetX,a=t.offsetY,c=n.toLocal(o,a),l=.1*r,h={x:i.x+l,y:i.y+l};if(r<0&&i.x<.2||r>0&&i.x>10)return;n.set("scale",h);const d=n.toLocal(o,a);n.set("translate",{x:s.x+(d.x-c.x)*h.x,y:s.y+(d.y-c.y)*h.y})}},"(self)":{dblclick:function(t,e){const n=e.origin;n?.root.fit()}}}});let du={},uu={};function pu(t){const e={};for(const n in t)t.hasOwnProperty(n)&&void 0!==t[n]&&(e[n]=t[n]);return e}iu.register("paste-handler",{"(root)":{"(self)":{stylepastestart:function(t){const{deliverer:e}=t,n=e.app,r=e.selected;if(r&&r[0]&&r!==e.rootModel){const t=r[0],{fillStyle:e,strokeStyle:i,alpha:s,lineWidth:o,lineDash:a,lineCap:c,lineJoin:l,fontColor:h,fontSize:d,fontFamily:u,bold:p,italic:f,textAlign:g,textBaseline:m,textOverflow:y,paddingTop:b,paddingBottom:v,paddingLeft:x,paddingRight:w}=t.state;du=Kn({fillStyle:e,strokeStyle:i,alpha:s,lineWidth:o,lineDash:a,lineCap:c,lineJoin:l,fontColor:h,fontSize:d,fontFamily:u,bold:p,italic:f,textAlign:g,textBaseline:m,textOverflow:y,paddingTop:b,paddingBottom:v,paddingLeft:x,paddingRight:w}),n.mode=4}},stylepastestop:function(t){const{deliverer:e}=t,n=e.app;du={},4==n.mode&&(n.mode=1)},databindpastestart:function(t){const{deliverer:e}=t,n=e.app,r=e.selected;if(r&&r[0]&&r!==e.rootModel){const t=r[0],{mappings:e}=t.state;uu=Kn({mappings:e}),n.mode=5}},databindpastestop:function(t){const{deliverer:e}=t,n=e.app;uu={},5==n.mode&&(n.mode=1)},keydown:function(t,e){const{deliverer:n}=e;"Esc"!=t.code&&"Escape"!=t.code||(4==n.app.mode?n.trigger("stylepastestop"):5==n.app.mode&&n.trigger("databindpastestop"))}}},"model-layer":{"(all)":{click:function(t,e){const{deliverer:n}=e,r=n.app;if(4!=r.mode&&5!=r.mode)return;const i=e.origin;4==r.mode?i===n?n.root.trigger("stylepastestop"):i&&Kc.around(r.commander,()=>{const t=pu({...i.model,...du});i?.set(t)}):i===n?n.root.trigger("databindpastestop"):i&&Kc.around(r.commander,()=>{const t=pu({...i.model,...uu});i?.set(t)})}}}});class fu{constructor(){this.animatorMap=new Map}waypoint(t,e){this.animatorMap.has(t)&&this.off(t);let{from:n,to:r}=e;if("string"==typeof n&&(n=t.root?.findById(n)),"string"==typeof r&&(r=t.root.findById(r)),!r)return void Xr("WaypointAnimation: Source or target component not found");const i=na(t,{type:"waypoint",fromComponent:n,toComponent:r,...e,onComplete:()=>{this.off(t)}});i&&(this.animatorMap.set(t,i),i.start())}off(t){const e=this.animatorMap.get(t);e&&(e.stop(),this.animatorMap.delete(t))}reset(t){if(this.animatorMap.size>0){for(const t of this.animatorMap.values())t.stop();this.animatorMap.clear()}}dispose(){this.reset(null),this.animatorMap=null}}function gu(t){const{origin:e}=t,n=e.root,{waypointHandler:r}=n;r?.reset()}iu.register("waypoint-handler",{"model-layer":{"(descendant)":{waypoint:function(t,e){const{origin:n}=e,r=n.root;let{waypointHandler:i}=r;i||(i=new fu,r.waypointHandler=i),i.waypoint(n,t)},waypointoff:function(t){const{origin:e}=t,n=e.root,{waypointHandler:r}=n;r?r.off(e):Xr("waypoint-handler not found")},waypointreset:gu},"(self)":{waypointreset:gu}}},function(t){const{waypointHandler:e}=t;e&&(e.dispose(),delete t.waypointHandler)});const mu=[],yu=ar(function(){mu.forEach(t=>{t.resize()})},100);"undefined"!=typeof window&&window.addEventListener("resize",yu);class bu extends Pc{constructor(t,e){super(Object.assign({type:"root",scale:{x:1,y:1}},t||{}),e),this._hasSameParentForAllSelected=!1,this._maxRefid=e?.isViewMode?1e6:0,t=t||{},this.fitMode=t.model&&t.model.fitMode,this._app=e,this.style=t.style,this.indexMap=new Map,this.refidIndexMap=new Map,this.templateMap={},this.target_element=t.target_element,this.rebuildContentModel(this.model.model),mu.push(this)}dispose(){kc.hideAll(this),this._app&&this._app.dispose(),super.dispose(),this._disposeAllResources(),this.target_element=null,this._refresh_mapping_debouncer&&"function"==typeof this._refresh_mapping_debouncer.cancel&&this._refresh_mapping_debouncer.cancel(),delete this._refresh_mapping_debouncer;const t=mu.indexOf(this);t>=0&&mu.splice(t,1),this.refidIndexMap.clear(),this.indexMap.clear(),this._maxRefid=0}isRoot(){return!0}get app(){return this._app}get target_element(){return this._target_element}set target_element(t){this._ua_event_handler&&(this._ua_event_handler.dispose(),delete this._ua_event_handler),t&&(t.style.position="absolute",t.style.cursor="default",t.style.overflow="hidden",t.setAttribute("scene","root-container"),this._ua_event_handler=new Zd(this,t)),this.forEach(e=>e.target=t),this._target_element=t}get fitMode(){return this._fitMode}set fitMode(t){this._fitMode=t}get hasSameParentForAllSelected(){return this._hasSameParentForAllSelected}set hasSameParentForAllSelected(t){this._hasSameParentForAllSelected=t}get unitScale(){switch(this.model_layer&&this.model_layer.get("unit")){case"mm":case"cm":case"in":return this.app.PPM/10;default:return 1}}addTemplate(t,e){const n=this.templateMap[t];n&&Wr("Template replaced (duplicated)",t,e,n),this.templateMap[t]=e,delete this.templatePrefixes}removeTemplate(t,e){const n=this.templateMap[t];n!==e?Xr("Removing template failed (different)",t,e,n):delete this.templateMap[t],delete this.templatePrefixes}findTemplateFor(t){this.templatePrefixes||(this.templatePrefixes=Object.keys(this.templateMap).sort().reverse());const e=this.templatePrefixes.find(e=>t.startsWith(e));if(e)return this.templateMap[e]}addIndex(t,e){if(!t)return;const n=t.toString().replace(/^#/,""),r=this.indexMap.get(n)||[];r.push(e),this.indexMap.set(n,r)}removeIndex(t,e){if(!t)return;const n=t.toString().replace(/^#/,""),r=this.indexMap.get(n)||[],i=r.indexOf(e);-1===i?Xr("Removing index failed (not found)",t,e):(r.splice(i,1),0===r.length?this.indexMap.delete(n):this.indexMap.set(n,r))}addRefidIndex(t,e){null==t&&(t=this.getNewRefid(),e.set("refid",t)),this._maxRefid=Math.max(t,this._maxRefid);const n=this.refidIndexMap.get(t);n&&Wr("Refid Index replaced (has not to be)",t,e,n),this.refidIndexMap.set(t,e)}removeRefidIndex(t,e){if(null==t)return;const n=this.refidIndexMap.get(t);n!==e?Wr("Refid Removing index failed (has not to be)",t,e,n):this.refidIndexMap.delete(t)}getNewRefid(){return this._maxRefid=(this._maxRefid||0)+1,this._maxRefid}async subscribe(t,e){this._app.isViewMode&&t&&this._app&&(e._subscription=await this._app.subscribe(t,e))}async unsubscribe(t,e){e._subscription&&(await e._subscription.unsubscribe(),delete e._subscription)}findById(t){if(!t)return null;const e=t.toString().replace(/^#/,"");return(this.indexMap.get(e)||[])[0]}findAllById(t){if(!t)return[];const e=t.toString().replace(/^#/,"");return this.indexMap.get(e)||[]}findByRefid(t){return this.refidIndexMap.get(t)}findOrCreate(t){const e=this.findAllById(t);if(!e||0===e.length){if(this.app&&!this.app.isEditMode){const e=this.findTemplateFor(t);if(e){const n=hl(Object.assign(Kn(e.hierarchy),{id:t,templatePrefix:""}),this.app);return this.model_layer.addComponent(n),[n]}}return[]}return e}resize(){this.components.forEach(t=>{t.resize&&t.resize()}),this.invalidate()}fit(t){const{width:e,height:n,fitMode:r}=this.model_layer.model,i=this.target_element,s=this.model_layer;if(this.fitMode=t||this.fitMode||r||"ratio",e&&n&&i&&i.clientWidth&&i.clientHeight){switch(this.fitMode){case"center":!function(t,e,n){const r=t.unitScale,{width:i,height:s}=e.model;e.set("scale",{x:r,y:r}),e.set("translate",{x:Math.max((n.clientWidth-i*r)/2,0),y:Math.max((n.clientHeight-s*r)/2,0)})}(this,s,i);break;case"both":!function(t,e,n){const{width:r,height:i}=e.model,s=n.clientWidth,o=n.clientHeight;e.set("scale",{x:s/r,y:o/i}),e.set("translate",{x:0,y:0})}(0,s,i);break;case"width":!function(t,e,n){const r=n.clientWidth/e.get("width");e.set("scale",{x:r,y:r}),e.set("translate",{x:0,y:0})}(0,s,i);break;case"height":!function(t,e,n){const r=n.clientHeight/e.get("height");e.set("scale",{x:r,y:r}),e.set("translate",{x:0,y:0})}(0,s,i);break;case"ratio":!function(t,e,n){const{width:r,height:i}=e.model,s=n.clientWidth,o=n.clientHeight,a=s/r,c=o/i,l=Math.min(a,c);e.set("scale",{x:l,y:l}),e.set("translate",{x:(s-r*l)/2,y:(o-i*l)/2})}(0,s,i);break;default:!function(t,e){const n=t.unitScale;e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(this,s)}this.resize()}}_disposeAllResources(){this.selected=[],this._focused=null,this._ready=!1,this.eventEngine&&(this.assist_handlers&&this.assist_handlers.forEach(t=>{this.eventEngine.remove(t)}),this.eventEngine.dispose(),delete this.eventEngine),(this.model.handlers||[]).map(t=>{iu.getDisposer(t).call(null,this)}),this.assist_layers&&this.assist_layers.forEach(t=>{t.dispose(),this.removeComponent(t)}),delete this.assist_layers,this.model_layer&&this.model_layer.dispose(),this.model_layer&&this.removeComponent(this.model_layer),delete this.model_layer,this.indexMap=new Map,this.refidIndexMap=new Map,this.templateMap={}}rebuildContentModel(t,e){let n;e?.preserveThreeD&&this.model_layer?.is3dMode&&(n=this.model_layer.detachThreeCapability()),this._disposeAllResources(),this.eventEngine=new Yd(this),(t=t||{}).type="model-layer",this.model_layer=hl(t,this.app),this.addComponent(this.model_layer),this.model_layer.target=this.target_element,this.assist_layers=(this.model.layers||[]).map(t=>{const e=hl(t,this.app);if(e)return this.addComponent(e),e.target=this.target_element,e;Wr("Layer compile failed",t)}).filter(Boolean),this.assist_handlers=(this.model.handlers||[]).map(t=>{const e={};return this.eventEngine.add(e,iu.get(t)),e}),n&&(this.model_layer?.model?.threed?this.model_layer.adoptThreeCapability(n):n.dispose()),this._ready=!0,this.traverse(t=>t.ready())}get root(){return this}get anchors(){return[]}get isReady(){return this._ready}get rootModel(){return this.model_layer}get threed(){return this.model_layer?.model?.threed||!1}set threed(t){this.model_layer&&this.model_layer.set("threed",t)}get stuck(){return!0}get data(){const t={};for(const[e,n]of this.indexMap.entries())n.length>0&&(t[e]=n[0].data);return t}set data(t){for(const e in t){const n=this.findOrCreate(e);n&&0!==n.length&&n.forEach(n=>n.data=t[e])}}get dataByRefid(){const t={};for(const[e,n]of this.refidIndexMap.entries())t[e]=n.data;return t}set dataByRefid(t){for(const e in t){const n=this.findByRefid(Number(e));n&&(n.data=t[e])}}get values(){const t={};for(const[e,n]of this.indexMap.entries())n.length>0&&(t[e]=n[0].value);return t}set values(t){for(const e in t){const n=this.findOrCreate(e);n&&0!==n.length&&n.forEach(n=>n.value=t[e])}}get valuesByRefid(){const t={};for(const[e,n]of this.refidIndexMap.entries())t[e]=n.value;return t}set valuesByRefid(t){for(const e in t){const n=this.findByRefid(Number(e));n&&(n.value=t[e])}}get selected(){return(this._selected||[]).filter(t=>t.parent)}set selected(t){const e=this._selected;if(this._selected=t,!t||t.length<=1)this.hasSameParentForAllSelected=!0;else{const e=t[0].parent;this.hasSameParentForAllSelected=!t.find(t=>t.parent!=e)}this.trigger("selected",t,e)}get focused(){return this._focused}set focused(t){this._focused!==t&&(this._focused=t,this.invalidate())}get style(){return this._style}set style(t){this._style=t,this._compiled_style=t}get hasTextProperty(){return!1}render(){this.components.forEach(t=>t.draw())}contains(t,e){return!0}capturePath(t,e){return this.model_layer.capturePath(t,e)}invalidate(){this.components.forEach(t=>t.invalidate())}_areAliasesEqual(t,e){if(!Array.isArray(t)&&!Array.isArray(e))return!0;if(!Array.isArray(t)||!Array.isArray(e))return!1;if(t.length!==e.length)return!1;const n=[...t].sort(),r=[...e].sort();return n.every((t,e)=>t===r[e])}get eventMap(){return{"(root)":{"(descendant)":{added:this.onadded,removed:this.onremoved,change:this.onchanged}}}}refreshMappings(){if(!this._refresh_mapping_debouncer){if(this.disposed)return;this._refresh_mapping_debouncer=ar(function t(e){e.executeMappings(),e.components&&e.components.forEach(e=>t(e))},1e3)}this._refresh_mapping_debouncer(this.model_layer)}_addTraverse(t){t.components&&t.components.forEach(t=>this._addTraverse(t));const{id:e,alias:n,refid:r,tag:i,templatePrefix:s}=t.model;this.addRefidIndex(r,t),e&&this.addIndex(e,t),Array.isArray(n)&&n.forEach(e=>{e&&this.addIndex(e,t)}),i&&this.subscribe(i,t),s&&this.addTemplate(s,t);const o=gr({},t.eventMap,t.model.eventMap);this.eventEngine.add(t,o)}_removeTraverse(t){t.components&&t.components.forEach(t=>this._removeTraverse(t));const{id:e,alias:n,refid:r,tag:i,templatePrefix:s}=t.model;this.removeRefidIndex(r,t),e&&this.removeIndex(e,t),Array.isArray(n)&&n.forEach(e=>{e&&this.removeIndex(e,t)}),i&&this.unsubscribe(i,t),s&&this.removeTemplate(s,t),this.eventEngine.remove(t)}onadded(t,e){this._addTraverse(e),this.refreshMappings(),this.invalidate()}onremoved(t,e){this._removeTraverse(e),this.invalidate()}onchanged(t,e,n){e.templatePrefix&&this.removeTemplate(e.templatePrefix,n.origin),t.templatePrefix&&this.addTemplate(t.templatePrefix,n.origin),e.id&&this.removeIndex(e.id,n.origin),t.id&&this.addIndex(t.id,n.origin),Array.isArray(e.alias)&&e.alias.forEach(t=>{t&&this.removeIndex(t,n.origin)}),Array.isArray(t.alias)&&t.alias.forEach(t=>{t&&this.addIndex(t,n.origin)}),e.tag&&this.unsubscribe(e.tag,n.origin),t.tag&&this.subscribe(t.tag,n.origin),e.id==t.id&&e.class==t.class&&this._areAliasesEqual(e.alias,t.alias)||this.refreshMappings()}}tc.memoize(bu.prototype,"unitScale",!1);let vu=13.3;var xu=function(t){return void 0!==t&&(vu=t),vu};const wu="$base_url";const _u=Math.PI/12;class Au{constructor(t,e){this._mode=t,this.screen=xu(),this._baseUrl="undefined"!=typeof window?window.location.origin:null,this._refProvider=e,this.isEditMode&&(this._rotateStep=_u,this._rotateStepForced=!1)}dispose(){this._dataSubscriptionProvider?.dispose?.(),delete this._dataStorage}_calcScreen(){const t={width:screen.width,height:screen.height};this._PPI=function(t,e,n,r="d"){t<=0&&(t=1),e<=0&&(e=1);const i=("d"===r?Math.sqrt(t*t+e*e):"w"===r?t:e)/n;return i>0?Math.round(i):0}(t.width,t.height,this.screen),this._PPM=this._PPI/25.4}subscribe(t,e){return this._dataSubscriptionProvider?.subscribe?.(t,e)}get refProvider(){return this._refProvider}set dataSubscriptionProvider(t){this._dataSubscriptionProvider=t}get dataSubscriptionProvider(){return this._dataSubscriptionProvider}set commander(t){this._commander=t}get commander(){return this._commander}get screen(){return this._screen}set screen(t){this._screen=t,this._calcScreen()}get DPPX(){return Li}get PPI(){return this._PPI}get PPM(){return this._PPM}get mode(){return this._mode}set mode(t){const e=this._mode;e!==t&&(this._mode=t,this.trigger("mode",t,e))}get isViewMode(){return 0===this._mode}get isEditMode(){return 1===this._mode}get baseUrl(){return this._baseUrl}set baseUrl(t){t&&this._baseUrl!==t&&(this._baseUrl=t)}url(t){try{let e;return e=t.includes(wu)?new URL(t.replace(wu,this.baseUrl??""),this.baseUrl??void 0):new URL(t,location.origin),e.href}catch(e){Xr(e,t)}}get rotateStep(){return this._rotateStep}set rotateStep(t){this._rotateStep=Number(t)||_u}get rotateStepForced(){return this._rotateStepForced}set rotateStepForced(t){this._rotateStepForced=!!t}get dataStorage(){return this._dataStorage}set dataStorage(t){this._dataStorage=t}}Hr(Au.prototype,jr.withEvent);class Su{constructor(t,e){!(t=Number(t))||t<=0?(Wr("TimeCapsule maxsize should be greater than 0.",t),this.maxsize=10):this.maxsize=t,this.reset(),e&&(this.snapshot(e),this.preserve())}preserve(){this.checkPoint=this.pos}hasUnpreservedChanges(){return this.checkPoint!=this.pos}dispose(){this.reset()}snapshot(t){if(this.q.splice(this.pos+1,this.q.length-(this.pos+1),t),this.q.length>this.maxsize){const t=this.q.splice(0,this.q.length-this.maxsize);this.checkPoint=Math.max(-1,this.checkPoint-t.length)}this.pos=this.q.length-1}forward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.forwardable)return this.q[++this.pos];Xr("Not forwardable.")}backward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.backwardable)return this.q[--this.pos];Xr("Not backwardable.")}get current(){if(-1!==this.pos)return this.q[this.pos];Xr("Non state has been recorded.")}get length(){return this.q.length}get forwardable(){return this.pos<this.q.length-1}get backwardable(){return this.pos>0}get snapshot_taker(){return this._snapshot_taker}set snapshot_taker(t){this._snapshot_taker=t}reset(){this.q=[],this.pos=-1,this.checkPoint=-1}}const Mu=ar(t=>{t.brake||t.take()},1e3,{leading:!0,trailing:!1});function ku(t){!t.brake&&t.dirty&&Mu(t)}class Eu{constructor(t,e){this._brake=!1,this.dirty=!1,this.brake=!1,this.dirty=!1,this.state_holder=t,this.timecapsule=e,this.timecapsule.snapshot_taker=this}dispose(){Mu.cancel(),this.state_holder=null,this.timecapsule=null}touch(){this.dirty=!0,ku(this)}take(t=!1){(this.dirty||t)&&(this.timecapsule.snapshot(this.state_holder.state),this.dirty=!1)}get brake(){return this._brake}set brake(t){this._brake=!!t,ku(this)}}function Cu(t,e){const n=e.model_layer.get("scale"),r=e.model_layer.get("translate"),i=e.model_layer.get("threed");if(t){const s=JSON.parse(t);s.scale=n,s.translate=r,s.threed=i,e.rebuildContentModel(s,{preserveThreeD:!0})}}class Tu{constructor(t){this.container=t,this.timecapsule=new Su(20);const e=this;this.snapshot_taker=new Eu({get state(){const t=e.container.model_layer.hierarchy;return JSON.stringify(t)}},this.timecapsule),this.snapshot_taker.take(!0),this.timecapsule.preserve()}dispose(){this.reset(),this.timecapsule&&this.timecapsule.dispose(),this.snapshot_taker&&this.snapshot_taker.dispose(),delete this.container,delete this.timecapsule,delete this.snapshot_taker}preserve(){this.timecapsule.preserve()}hasUnpreservedChanges(){return this.timecapsule.hasUnpreservedChanges()}execute(t,e){!1!==e&&t&&t.execute(),this.snapshot_taker.touch(),this.trigger("execute",t,!0,!1)}undo(){this.timecapsule.backwardable&&(Cu(this.timecapsule.backward(),this.container),this.trigger("undo",this.undoable(),this.redoable()))}redo(){this.timecapsule.forwardable&&(Cu(this.timecapsule.forward(),this.container),this.trigger("redo",this.undoable(),this.redoable()))}undoable(){return this.timecapsule.backwardable}redoable(){return this.timecapsule.forwardable}reset(){this.timecapsule&&this.timecapsule.reset(),this.trigger("command-reset")}}Hr(Tu.prototype,jr.withEvent);const Pu=new class{constructor(){this._scenes=[],this.onSceneChange=null}register(t){this._cleanup(),this._scenes.push(new WeakRef(t)),this.onSceneChange?.(this._scenes.length)}unregister(t){this._scenes=this._scenes.filter(e=>{const n=e.deref();return n&&n!==t}),this.onSceneChange?.(this._scenes.length)}getScenes(){return this._cleanup(),this._scenes.map((t,e)=>{const n=t.deref();if(!n)return null;const r=n.root,i=r?.model||{};return{index:e,model:{width:i.width||0,height:i.height||0,type:i.type||"unknown"}}}).filter(Boolean)}getComponentTree(t=0){const e=this._getScene(t);if(!e)return[];const n=e.rootContainer;if(!n)return[];const r=n.model_layer;return r?this._childrenOf(r):[]}getChildTree(t,e=0){const n=this._getScene(e);if(!n)return[];const r=n.rootContainer;if(!r)return[];let i;return i="root"===t||"__root__"===t?r.model_layer:this._findComponent(r,t),i?this._childrenOf(i):[]}getComponentInfo(t,e=0){const n=this._getScene(e);if(!n)return null;const r=n.rootContainer;if(!r)return null;let i;if(i="root"===t||"__root__"===t?r.model_layer:this._findComponent(r,t),!i)return null;const s=this._safeBounds(i),o={model:this._safeClone(i.model),state:this._safeClone(i.state),nature:i.nature||{},data:this._safeValue(i.data),value:this._safeValue(i.value),bounds:s,type:i.model?.type||"unknown",isContainer:!!i.isContainer?.(),hidden:!!i.model?.hidden};return"model-layer"===i.model?.type&&(o.is3dMode=!!i.model?.threed),o}selectComponent(t,e=0){const n=this._getScene(e);if(!n)return!1;const r=n.rootContainer;if(!r)return!1;if(!t||"root"===t||"__root__"===t)return r.selected=[],!0;const i=this._findComponent(r,t);return!!i&&(r.selected=[i],!0)}setComponentProperty(t,e,n,r=0){const i=this._getScene(r);if(!i)return!1;const s=i.rootContainer;if(!s)return!1;let o;if(o="root"===t||"__root__"===t?s.model_layer:this._findComponent(s,t),!o)return!1;try{return o.set(e,n),!0}catch{return!1}}setCameraView(t,e=0){const n=this._getScene(e);if(!n)return!1;const r=n.rootContainer;if(!r)return!1;const i=r.model_layer;if(!i||!i._threeCapability)return!1;try{return i._threeCapability.setCameraView(t),!0}catch{return!1}}getCameraState(t=0){const e=this._getScene(t);if(!e)return null;const n=e.rootContainer;if(!n)return null;const r=n.model_layer;if(!r||!r._threeCapability)return null;try{return r._threeCapability.getCameraState()}catch{return null}}toggleHidden(t,e=0){const n=this._getScene(e);if(!n)return!1;const r=n.rootContainer;if(!r)return!1;const i=this._findComponent(r,t);if(!i)return!1;try{return i.set("hidden",!i.model?.hidden),!i.model?.hidden}catch{return!1}}evaluateData(t,e=0){const n=this._getScene(e);if(!n)return;const r=n.rootContainer;if(!r)return;const i="root"===t||"__root__"===t?r.model_layer:this._findComponent(r,t);return i?this._safeValue(i.data):void 0}evaluateValue(t,e=0){const n=this._getScene(e);if(!n)return;const r=n.rootContainer;if(!r)return;const i="root"===t||"__root__"===t?r.model_layer:this._findComponent(r,t);return i?this._safeValue(i.value):void 0}searchComponents(t,e=0){const n=this._getScene(e);if(!n)return[];const r=n.rootContainer;if(!r)return[];const i=r.model_layer;if(!i)return[];const s=[],o=t.toLowerCase();return this._traverseComponent(i,t=>{const e=t.state||t.model||{};[e.type||"",e.name||"",e.id||"",e.tag||"",e.class||"",String(e.refid||"")].join(" ").toLowerCase().includes(o)&&s.push(this._toTreeNode(t))}),s}getComponentPath(t,e=0){const n=this._getScene(e);if(!n)return[];const r=n.rootContainer;if(!r)return[];const i=r.model_layer;if(!i)return[];const s=[];return this._findPath(i,t,s)?s:[]}getThreedInfo(t,e=0){const n=this._getScene(e);if(!n)return null;const r=n.rootContainer;if(!r)return null;let i;if(i="root"===t||"__root__"===t?r.model_layer:this._findComponent(r,t),!i)return null;const s=i.model||{},o=s.type||"unknown",a=s.material3d,c={is3dish:"function"==typeof i.is3dish&&i.is3dish(),type:o};if(a&&(c.material3d=this._safeClone(a)),c.resolved=Sh(a),"gltf-object"===o)try{c.nodeNames=i.nodeNames??[],c.animationNames=i.animationNames??[],c.autoPlay=!1!==i.autoPlay,c.nodes=this._safeClone(i.nodes),c.animations=this._safeClone(i.animations),c.fillStyleTargets=i.fillStyleTargets}catch{}return a?.spriteMode&&(c.spriteMode=a.spriteMode),a?.renderMode&&(c.renderMode=a.renderMode),c}_getScene(t){this._cleanup();const e=this._scenes[t];return e?.deref()??null}_cleanup(){this._scenes=this._scenes.filter(t=>void 0!==t.deref())}_findComponent(t,e){const n=Number(e);if(!isNaN(n)){const e=t.findByRefid(n);if(e)return e}const r=t.findById(e);return r||null}_childrenOf(t){const e=t.components;return e?e.map(t=>this._toTreeNode(t)):[]}_toTreeNode(t){const e=t.components,n=!!e&&e.length>0,r=t.state||t.model||{};return{id:String(r.refid??r.id??""),type:r.type||"unknown",model_id:r.id,hasChildren:n,childCount:n?e.length:0,refid:r.refid,tag:r.tag,name:r.name,hidden:!!r.hidden,clazz:r.class}}_componentId(t){const e=t.state||t.model||{};return String(e.refid??e.id??"")}_findPath(t,e,n){const r=this._componentId(t);if(r===e)return!0;const i=t.components;if(!i)return!1;for(const s of i)if(this._findPath(s,e,n))return n.unshift("model-layer"===t.model?.type?"__root__":r),!0;return!1}_traverseComponent(t,e){e(t);const n=t.components;if(n)for(const t of n)this._traverseComponent(t,e)}_safeBounds(t){try{const e=t.bounds;return e?{left:e.left??0,top:e.top??0,width:e.width??0,height:e.height??0}:null}catch{return null}}_safeClone(t){if(!t||"object"!=typeof t)return t??{};try{return JSON.parse(JSON.stringify(t))}catch{const e={};for(const n of Object.keys(t))try{const r=t[n];if("function"==typeof r)continue;e[n]="object"==typeof r?String(r):r}catch{e[n]="[error]"}return e}}_safeValue(t){if(null==t)return t;try{return JSON.parse(JSON.stringify(t))}catch{return String(t)}}},Ou="KHR_materials_pbrSpecularGlossiness";class Du{constructor(t){this.name=Ou,this.parser=t}extendMaterialParams(t,e){const n=this.parser.json.materials?.[t],r=n?.extensions?.[Ou];if(!r)return Promise.resolve();const i=[];if(Array.isArray(r.diffuseFactor)){const[t,n,i,s]=r.diffuseFactor;e.color||(e.color=new l),e.color.setRGB(t,n,i,h),e.opacity=s}null!=r.diffuseTexture&&i.push(this.parser.assignTexture(e,"map",r.diffuseTexture,d));const s=r.glossinessFactor??1;e.roughness=1-s;const o=r.specularFactor??[1,1,1],a=Math.max(o[0],o[1],o[2]);return e.metalness=a>.5?a:0,Promise.all(i)}}const Iu={once:e.LoopOnce,repeat:e.LoopRepeat,pingpong:e.LoopPingPong};class zu extends Oh{constructor(){super(...arguments),this.objectSize=new e.Vector3,this._nodeIndex=new Map,this._originals=new Map,this._animationActions=new Map,this._fillStyleOriginals=new Map,this._clonedMaterials=new WeakSet,this._loadGen=0}static getSharedLoader(t){if(!zu._sharedLoader){const t=new S;!function(t){t.register(t=>new Du(t))}(t);const e=new M;e.setDecoderPath("/node_modules/three/examples/jsm/libs/draco/"),t.setDRACOLoader(e);const n=new k;n.setTranscoderPath("/node_modules/three/examples/jsm/libs/basis/"),t.setKTX2Loader(n),t.setMeshoptDecoder(E),t.setCrossOrigin("anonymous"),zu._sharedLoader=t}return t&&zu._sharedLoader.ktx2Loader?.detectSupport(t),zu._sharedLoader}static loadGLTF(t,e){let n=zu._gltfCache.get(t);if(!n){const r=zu.getSharedLoader(e);n=new Promise((e,n)=>{r.load(t,e,void 0,n)}).catch(e=>{throw zu._gltfCache.delete(t),e}),zu._gltfCache.set(t,n)}return n}_ensureOwnMaterial(t){let e=t.material;return this._clonedMaterials.has(e)||(e=e.clone(),t.material=e,this._clonedMaterials.add(e)),e}build(){super.build();const{src:t}=this.component.state;if(!t)return void this.clear();const e=++this._loadGen,n=this.component.app.url(t);zu.loadGLTF(n,this.threeContainer?.renderer3d).then(t=>{e===this._loadGen&&this.gltfLoaded(t)},t=>{e===this._loadGen&&(Wr("GLTFLoader.load",t),this.clear(),this._showErrorPlaceholder(),this.component.setState({loadError:String(t)}))})}gltfLoaded(t){this.component.state.loadError&&this.component.setState({loadError:void 0});const n=t.scene,r=t.animations,i=n.clone();i.userData.context=this,i.traverse(t=>{t.isMesh&&(t.castShadow=!0)});const s=(new e.Box3).setFromObject(i),o=s.getCenter(i.position),a=s.getSize(new e.Vector3);o.multiplyScalar(-1);const c=this.component.state.src;if(c){const t=zu._topViewCache.get(c);t?this.component._topViewSnapshot=t:this._renderTopViewSnapshot(c,i)}this.clear(),this.object3d.userData.context=this,this.objectSize=a,this.pivot=new e.Object3D,this.object3d.add(this.pivot),this.pivot.add(i),this._buildNodeIndex(i),this.updateDimension(),r&&r.length&&this._setupAnimations(r);const l=this.component.state.nodes;l&&this._applyNodeStates(l),this.updateFillStyle()}_renderTopViewSnapshot(t,e){const n=zu.renderTopView(e);zu._topViewCache.set(t,n),this.component._topViewSnapshot=n,this.component.invalidate()}static renderTopView(t){const n=256,r=new e.Scene,i=t.parent;r.add(t);const s=new e.AmbientLight(16777215,.8);r.add(s);const o=new e.DirectionalLight(16777215,1);o.position.set(0,10,0),r.add(o);const a=(new e.Box3).setFromObject(t),c=a.getSize(new e.Vector3),l=a.getCenter(new e.Vector3),h=(c.x||1)/2*1.02,d=(c.z||1)/2*1.02,u=new e.OrthographicCamera(-h,h,d,-d,.01,10*c.y+1);u.position.set(l.x,a.max.y+c.y,l.z),u.lookAt(l.x,l.y,l.z);const p=h/d,f=p>=1?n:Math.round(n*p),g=p>=1?Math.round(n/p):n,m=new e.WebGLRenderer({antialias:!0,alpha:!0});m.setClearColor(0,0),m.setSize(f,g),m.render(r,u),i?i.add(t):r.remove(t);const y=document.createElement("canvas");y.width=f,y.height=g;const b=y.getContext("2d");return b&&b.drawImage(m.domElement,0,0),m.dispose(),y}static getTopViewCache(t){return zu._topViewCache.get(t)}static setTopViewCache(t,e){zu._topViewCache.set(t,e)}static flushCache(){zu._gltfCache.clear(),zu._topViewCache.clear()}_buildNodeIndex(t){this._nodeIndex.clear(),this._originals.clear(),t.traverse(t=>{if(!t.name)return;this._nodeIndex.set(t.name,t);const e={visible:t.visible,scale:t.scale.clone()};if(t.isMesh){const n=t.material;n&&(e.color=n.color.clone(),e.opacity=n.opacity,e.transparent=n.transparent,e.emissive=n.emissive.clone(),e.emissiveIntensity=n.emissiveIntensity)}this._originals.set(t.name,e)})}getNode(t){return this._nodeIndex.get(t)}get nodeNames(){return Array.from(this._nodeIndex.keys())}_applyNodeStates(t){for(const[e,n]of Object.entries(t)){const t=this._nodeIndex.get(e);if(t&&(void 0!==n.visible&&(t.visible=n.visible),void 0!==n.scale&&t.scale.setScalar(n.scale),t.isMesh)){const e=t;if(!(void 0!==n.color||void 0!==n.opacity||void 0!==n.emissive||void 0!==n.emissiveIntensity))continue;const r=this._ensureOwnMaterial(e);void 0!==n.color&&r.color.set(n.color),void 0!==n.opacity&&(r.opacity=n.opacity,r.transparent=n.opacity<1),void 0!==n.emissive&&r.emissive.set(n.emissive),void 0!==n.emissiveIntensity&&(r.emissiveIntensity=n.emissiveIntensity)}}}_resetNode(t){const e=this._nodeIndex.get(t),n=this._originals.get(t);if(e&&n&&(e.visible=n.visible,e.scale.copy(n.scale),e.isMesh)){const t=e.material;t&&n.color&&(t.color.copy(n.color),t.opacity=n.opacity,t.transparent=n.transparent,t.emissive.copy(n.emissive),t.emissiveIntensity=n.emissiveIntensity)}}_resetAllNodes(){for(const t of this._originals.keys())this._resetNode(t)}_setupAnimations(t){const e=this.threeContainer.mixer;this._animationActions.clear();for(const n of t){const t=e.clipAction(n);this._animationActions.set(n.name,t)}!1!==this.component.state.autoPlay&&this._animationActions.forEach(t=>t.play());const n=this.component.state.animations;n&&this._applyAnimationStates(n)}_applyAnimationStates(t){for(const[n,r]of Object.entries(t)){const t=this._animationActions.get(n);t&&(void 0!==r.loop&&(t.loop=Iu[r.loop]??e.LoopRepeat,"once"===r.loop&&(t.clampWhenFinished=!0)),void 0!==r.speed&&(t.timeScale=r.speed),void 0!==r.weight&&(t.weight=r.weight),void 0!==r.play&&(r.play?t.play():t.stop()))}}get animationNames(){return Array.from(this._animationActions.keys())}_showErrorPlaceholder(){const t=new e.BoxGeometry(1,1,1),n=new e.MeshStandardMaterial({color:13369344,wireframe:!0}),r=new e.Mesh(t,n);r.name="__error_placeholder__",this.object3d.add(r)}updateFillStyle(){const t=this.component.state.fillStyleTargets;if(!t||0===t.length)return;const{fillStyle:e}=this.component.state;if(!e)return;const n=Oh.buildFillStyleTexture(this.component);for(const r of t){const t=this._nodeIndex.get(r);if(!t||!t.isMesh)continue;const i=this._ensureOwnMaterial(t);i&&(this._fillStyleOriginals.has(r)||this._fillStyleOriginals.set(r,{color:i.color.clone(),map:i.map,opacity:i.opacity,transparent:i.transparent}),n?(i.map&&i.map!==this._fillStyleOriginals.get(r)?.map&&i.map.dispose(),n.needsUpdate=!0,i.map=n):"string"==typeof e&&("transparent"!==e?i.color.set(e):(i.opacity=0,i.transparent=!0)))}}_restoreFillStyleTargets(t){for(const e of t){const t=this._fillStyleOriginals.get(e);if(!t)continue;const n=this._nodeIndex.get(e);if(!n||!n.isMesh)continue;const r=n.material;r&&(r.map&&r.map!==t.map&&r.map.dispose(),r.color.copy(t.color),r.map=t.map,r.opacity=t.opacity,r.transparent=t.transparent,this._fillStyleOriginals.delete(e))}}clear(){return this._animationActions.forEach(t=>t.stop()),this._animationActions.clear(),this._nodeIndex.clear(),this._originals.clear(),this._fillStyleOriginals.clear(),this.pivot&&Th(this.pivot),this.pivot=void 0,this.objectSize=void 0,super.clear()}updateDimension(){const{width:t=1,height:e=1,depth:n=1}=this.component.state,{x:r=1,y:i=1,z:s=1}=this.objectSize||{};this.pivot&&this.pivot.scale.set(t/r,n/i,e/s),this.component.invalidate()}updateSource(){this.build()}onchange(t,e){if(super.onchange(t,e),"src"in t&&this.updateSource(),"nodes"in t){this._resetAllNodes();const e=t.nodes;e&&Object.keys(e).length>0&&this._applyNodeStates(e)}if("animations"in t){const e=t.animations;e&&this._applyAnimationStates(e)}if("fillStyleTargets"in t){const t=e.fillStyleTargets??[];t.length>0&&this._restoreFillStyleTargets(t),this.updateFillStyle()}"autoPlay"in t&&(!1!==t.autoPlay?this._animationActions.forEach(t=>t.play()):this._animationActions.forEach(t=>t.stop()))}}zu._topViewCache=new Map,zu._gltfCache=new Map,zu._sharedLoader=null;let ju=0;const Ru=new FinalizationRegistry(t=>{ju--});class Lu{static get residents(){return ju}static get residentsCount(){return ju}constructor(t){this._container=t,this.app=t.app,this._commander=new Tu(this._container),this.app.commander=this._commander,ju++,Ru.register(this,ju),Pu.register(this)}add(t,e,n){return ul.call(this._container,t,e,n)}duplicate(){return pl.call(this._container)}remove(){return fl.call(this._container)}animate(t){return Jo.call(this,t)}fullscreen(t){return xl.call(this._container,t)}get target(){return this._container.target_element}set target(t){let e;if("string"==typeof t){if(e=document.getElementById(t),!e)throw new Error(`target element '${t}' does not exist`);if(e.firstChild)throw new Error(`target element '${t}' already has children`)}else e=t;e&&e.style&&(e.style.cursor="default"),this._container.target_element=e,this._container.invalidate()}get scale(){return this.root.get("scale")}set scale(t){this.root.set("scale",t)}get translate(){return this.root.get("translate")}set translate(t){this.root.set("translate",t)}get unit(){return this.root.get("unit")||"px"}get PPM(){return this.app.PPM}get PPI(){return this.app.PPI}get DPPX(){return this.app.DPPX}static get DPPX(){return Li}get unitScale(){return this._container.unitScale}get screen(){return this.app.screen}set screen(t){this.app.screen=t,this._container.resize()}resize(){this._container.resize()}release(){this.dispose()}dispose(){Pu.unregister(this),this._commander&&this._commander.dispose(),this._container&&this._container.dispose(),zu.flushCache()}get selected(){return this._container.selected.slice()}set selected(t){this._container.selected=t}select(t,...e){return this._container.selected=this.root?.findAll(t,...e),this.selected}get commander(){return this._commander}undo(){this.commander.undo()}undoable(){return this.commander.undoable()}redo(){this.commander.redo()}redoable(){return this.commander.redoable()}preserve(){this.commander.preserve()}hasUnpreservedChanges(){return this.commander.hasUnpreservedChanges()}cut(){return Al.call(this._container)}copy(){return _l.call(this._container)}paste(t){return Sl.call(this._container,t)}undoableChange(t){return Gl.call(this._container,t)}change(t,e,n){return Yl.call(this.root,t,e,n)}get model(){return this.root.hierarchy}set model(t){this._container.rebuildContentModel(t)}get rootContainer(){return this._container}get root(){return this._container?.model_layer}findAll(t,...e){return this.root.findAll(t,...e)}findFirst(t,...e){return this.root.findFirst(t,...e)}findById(t){return this._container.findById(t)}findAllById(t){return this._container.findAllById(t)}serialize(){return this.root.trim(),this.root.serialize()}align(t){return nl.call(this._container,t)}place(t){return $l.call(this._container,t)}distribute(t){return sl.call(this._container,t)}move(t,e,n){return cl.call(this._container,t,e,n)}zorder(t){return ll.call(this._container,t)}symmetryX(){return Nl.call(this._container)}symmetryY(){return Bl.call(this._container)}on(t,e,n){return yl.call(this._container,t,e,n)}once(t,e,n){return bl.call(this._container,t,e,n)}off(t,e,n){return this._container&&vl.call(this._container,t,e,n)}centerTo(t,e){return this.root.centerTo(t,e)}get mode(){return this.app.mode}set mode(t){void 0!==t&&(this.app.mode=t)}toDataURL(t,e,n,r){return zl.call(this._container,t,e,n,r)}group(){return jl.call(this._container)}ungroup(){return Rl.call(this._container)}fit(t){this._container.once("redraw",()=>this._container.fit(t)),this._container.invalidate()}get fitMode(){return this._container.fitMode}get ids(){return Vl.call(this._container)}get data(){return this._container.data}set data(t){this._container.data=t}get dataByRefid(){return this._container.dataByRefid}set dataByRefid(t){this._container.dataByRefid=t}get values(){return this._container.values}set values(t){this._container.values=t}get valuesByRefid(){return this._container.valuesByRefid}set valuesByRefid(t){this._container.valuesByRefid=t}get baseUrl(){return this.app.baseUrl}set baseUrl(t){this.app.baseUrl=t}startAddMode(t){return Ql.call(this._container,t)}startStylePasteMode(){return Zl.call(this._container)}stopStylePasteMode(){return Jl.call(this._container)}startDatabindPasteMode(){return th.call(this._container)}stopDatabindPasteMode(){return eh.call(this._container)}}const Fu=new class{async load(t){}async save(t,e){}async clear(t){}};function Nu({target:t,model:e,style:n,layers:r=[],handlers:i=[],mode:s=0,refProvider:o,dataSubscriptionProvider:a,dataStorage:c=Fu,baseUrl:l,fitMode:h}){let d=null;if("string"==typeof t){if(d=document.getElementById(t),!d)throw new Error(`target element '${t}' does not exist`);if(d.firstChild)throw new Error(`target element '${t}' is not empty`)}else d=t??null;d&&d.style&&(d.style.position="absolute",d.style.cursor="default",d.style.overflow="hidden");const u=new Au(s,o);return l&&(u.baseUrl=l),u.dataSubscriptionProvider=a,u.dataStorage=c,new Lu(new bu({target_element:d,model:e,style:n,layers:r,handlers:i,fitMode:h},u))}function Bu(t,e,n,r){var i,s=arguments.length,o=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(o=(s<3?i(o):s>3?i(e,n,o):i(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function Yu(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)}function Gu(t,e,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(t,n):i?i.value=n:e.set(t,n),n}"function"==typeof SuppressedError&&SuppressedError;const Vu=["mousemove","mouseup","mousedown","mouseout","wheel","tap","click","touchstart","touchmove","touchend","mouseenter","mouseleave","dragstart","dragmove","dragend","dblclick"];function Uu(t){return class extends t{constructor(){super(...arguments),this.userInputEventHandler=t=>{Qd(this,t.type,t),t.stopPropagation()}}isHTMLElement(){return!0}isShadowable(){return!0}get element(){return this._element}set element(t){this._element=t}get tagName(){return this.get("type")}setElementProperties(t){throw new Error("Not Implemented Yet")}createElement(){this.element=document.createElement(this.tagName),this.element&&(this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.rootModel.getOverlay?.(this)?.appendChild(this.element),this.scalable||(this.element.style.zIndex="100"),Vu.forEach(t=>{this.element.addEventListener(t,this.userInputEventHandler)}),Ni.forEach(t=>{this.element.addEventListener(t,this.userInputEventHandler)}),this.oncreate_element&&this.oncreate_element(this.element))}reposition(){this.element&&vs(this)}disposeElement(){if(!this.element)return;Vu.forEach(t=>{this.element.removeEventListener(t,this.userInputEventHandler)}),Ni.forEach(t=>{this.element.removeEventListener(t,this.userInputEventHandler)});const t=this.element;t&&t.parentElement&&t.parentElement.removeChild(t),this.element=null}async ready(){await super.ready(),!this.element&&this.createElement(),this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.rootModel.getOverlay?.(this)?.appendChild(this.element),this.setElementProperties(this.element),this.reposition()}dispose(){this.disposeElement(),super.dispose()}get hasTextProperty(){return!0}get textHidden(){return!0}set textHidden(t){}get hidden(){return super.hidden}set hidden(t){super.hidden=t,this.element.style.display=t?"none":"block"}onchange(t,e){this.element&&this.setElementProperties(this.element),"position"in t&&this.onchangePosition(),this.reposition()}onchangePosition(){this.element&&("static"==this.position&&this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.rootModel.getOverlay?.(this)?.appendChild(this.element))}isDescendible(t){return t.isHTMLElement()}}}var Hu;const Wu={x:1,y:1},Xu={boxSizing:"border-box",margin:"0px",position:"absolute",outline:"none"},qu={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"select",label:"position-origin",name:"origin",property:{options:[{display:"",value:""},{display:"left-top",value:"left-top"},{display:"center-top",value:"center-top"},{display:"right-top",value:"right-top"},{display:"left-middle",value:"left-middle"},{display:"center-middle",value:"center-middle"},{display:"right-middle",value:"right-middle"},{display:"left-bottom",value:"left-bottom"},{display:"center-bottom",value:"center-bottom"},{display:"right-bottom",value:"right-bottom"}]}},{type:"number",label:"offset-x",name:"offsetX"},{type:"number",label:"offset-y",name:"offsetY"},{type:"layout",label:"layout",name:"layoutOption"},{type:"checkbox",label:"closable",name:"closable"},{type:"checkbox",label:"draggable",name:"draggable"},{type:"checkbox",label:"minimizable",name:"minimizable"},{type:"checkbox",label:"minimized",name:"minimized"}],help:"scene/component/container"};class Ku extends(Uu(Pc)){constructor(){super(...arguments),Hu.set(this,null),this.startDragging=t=>{if(!this.state.draggable)return;t.preventDefault(),t.stopPropagation();const e=t.clientX,n=t.clientY,{left:r,top:i}=this.bounds,s=this.rootModel.getOverlay?.(this)?.style.transform,o=s?.match(/scale\(([^,]+),\s*([^)]+)\)/),a=o?parseFloat(o[1]):1,c=o?parseFloat(o[2]):a,l=t=>{t.preventDefault(),t.stopPropagation();const s=(t.clientX-e)/a,o=(t.clientY-n)/c;this.setState({left:r+s,top:i+o})},h=t=>{t.preventDefault(),t.stopPropagation(),document.removeEventListener("mousemove",l,!0),document.removeEventListener("mouseup",h,!0)};document.addEventListener("mousemove",l,!0),document.addEventListener("mouseup",h,!0)},this.toggleMinimizable=()=>{const{minimized:t}=this.state;this.setState("minimized",!t)},this.closeContainer=()=>{this.setState("hidden",!0)}}get tagName(){return"div"}get nature(){return qu}isPositionable(){return!0}setElementProperties(t){}get layout(){return lc.get(this.get("layout"))||hc}reposition(){if(!this.element)return;const t=this,{id:e,class:n,scale:r=Wu}=t.state,{rotation:i=0,hidden:s}=t,{left:o,top:a,width:c,height:l}=t.bounds,h=c/2,d=l/2,u=t.element;u.hidden=s,e&&(u.id=e),n&&(u.className=n),Object.assign(u.style,Xu,{left:o+"px",top:a+"px",width:"0px",height:"0px",backgroundColor:"transparent"});const p=t.delta(),f=(r&&r.x||1)*p.sx,g=(r&&r.y||1)*p.sy,m=(i||0)+p.theta,y=p.tx||0,b=p.ty||0;u.style.transform=`translate(${y+h}px, ${b+d}px) rotate(${m}rad) translate(${-h}px, ${-d}px) scale(${f}, ${g}) perspective(1px)`}set path(t){const{minimized:e}=this.state,n=t[0],r=t[2];e?this.set({left:n.x,top:n.y,width:r.x-n.x}):this.set({left:n.x,top:n.y,width:r.x-n.x,height:r.y-n.y})}get path(){const{left:t=0,top:e=0,width:n=0,height:r=0}=this.state;return[{x:t,y:e},{x:t+n,y:e},{x:t+n,y:e+r},{x:t,y:e+r}]}get bounds(){const{left:t=0,top:e=0,width:n=0,height:r=0}=this.state;return{left:t,top:e,width:n,height:r}}set bounds(t){const{minimized:e}=this.state,{left:n=0,top:r=0,width:i=0,height:s=0}=t,o={left:n,top:r};e?this.set({...o,width:i}):this.set({...o,width:i,height:s})}updatePosition(){if(!this.origin)return void(Yu(this,Hu,"f")&&(Yu(this,Hu,"f").disconnect(),Gu(this,Hu,null,"f")));const t=this.rootModel.auxOverlay;if(!t)return;const e=this.bounds,{width:n,height:r}="static"!==this.position?t.getBoundingClientRect():this.parent.bounds,{x:i,y:s}=function(t,e,n){const{left:r,top:i,width:s,height:o}=e,{width:a,height:c}=n;return t?{x:t.includes("left")?r:t.includes("center")?r+(s-a)/2:r+(s-a),y:t.includes("top")?i:t.includes("middle")?i+(o-c)/2:i+(o-c)}:{x:n.left,y:n.top}}(this.origin,{left:0,top:0,width:n,height:r},e),o=this.offset;this.bounds={left:i+(this.origin.includes("right")?-o.x:+o.x),top:s+(this.origin.includes("bottom")?-o.y:+o.y),width:e.width,height:e.height},Yu(this,Hu,"f")||(Gu(this,Hu,new ResizeObserver(()=>{requestAnimationFrame(()=>this.updatePosition())}),"f"),Yu(this,Hu,"f").observe(t))}onchange(t,e){const n=["draggable","minimizable","closable","minimized","width","height","origin","offsetX","offsetY","hidden"];super.onchange(t,e),Object.keys(t).some(t=>n.includes(t))&&this.onchangeButtons(),"minimized"in t&&this.onchangeMinimized(),("origin"in t||"offsetX"in t||"offsetY"in t)&&this.updatePosition()}async ready(){await super.ready(),this.updatePosition()}dispose(){Yu(this,Hu,"f")&&(Yu(this,Hu,"f").disconnect(),Gu(this,Hu,null,"f")),super.dispose()}createElement(){super.createElement(),this.element&&(this.element.setAttribute("scene","container"),this.onchangeButtons(),this.onchangeMinimized())}onchangeButtons(){if(!this.element)return;const{draggable:t,minimizable:e,closable:n,minimized:r,hidden:i}=this.state,{width:s}=this.bounds;this.element.style.setProperty("--container-width",`${s}px`);try{C(i?T:P`
26
4
  <style>
27
5
  [scene='container'] .buttons {
28
6
  position: absolute;
@@ -64,11 +42,11 @@ const pdt=globalThis,gdt=pdt.trustedTypes,vdt=gdt?gdt.createPolicy("lit-html",{c
64
42
 
65
43
  <div class="buttons" @mousedown=${this.startDragging}>
66
44
  <span></span>
67
- ${t?Rdt`<button class="draggable">drag_pan</button>`:jdt}
68
- ${e?Rdt`<button class="minimizable" @click=${this.toggleMinimizable}>
69
- ${n?"crop_square":"minimize"}
70
- </button>`:jdt}
71
- ${r?Rdt`<button class="closable" @click=${this.closeContainer}>close</button>`:jdt}
45
+ ${t?P`<button class="draggable">drag_pan</button>`:T}
46
+ ${e?P`<button class="minimizable" @click=${this.toggleMinimizable}>
47
+ ${r?"crop_square":"minimize"}
48
+ </button>`:T}
49
+ ${n?P`<button class="closable" @click=${this.closeContainer}>close</button>`:T}
72
50
  </div>
73
- `,this.element)}onchangeMinimized(){const{minimized:t}=this.state;t?this.setState("height",24):this.setState("height",this.get("height"))}}ept=new WeakMap,llt.register("container",apt);const spt=Math.sqrt(3),cpt=2;function lpt(t,e,r,n,i){var o,a,s,c,l=5+i,u=r.x,h=r.y,f=n.x,d=n.y;if(Math.abs(u-f)>l&&Math.abs(h-d)>l){var p=(d-h)/(f-u),g=h-p*u;if(Math.abs(e-(p*t+g))>l)return!1}return u>f?(a=u,o=f):(a=f,o=u),h>d?(c=h,s=d):(c=d,s=h),!(a+5<t)&&(!(o-5>t)&&(!(c+5<e)&&!(s-5>e)))}function upt(t,e,r,n=2){for(let i=0;i<r.length-1;i++)if(lpt(t,e,r[i],r[i+1],n))return!0;return!1}function hpt(t,e,r,n){if("arrow"!=t.slice(-5))return r;var i=Math.atan2(n.y-r.y,n.x-r.x),o=1.5*e;return{x:r.x+Math.cos(i)*o,y:r.y+Math.sin(i)*o}}function fpt(t,e,r){var{lineWidth:n=cpt,strokeStyle:i="#000000",lineCap:o=!1,alpha:a=1,begin:s="none",end:c="none",beginSize:l="size5",endSize:u="size5"}=r;if(("none"!=s||"none"!=c)&&(n=Number(n)||cpt,t.lineCap=o,t.lineWidth=n,t.strokeStyle=i,t.fillStyle=i,t.globalAlpha*=a,"none"!=s&&dpt(t,e[0],e[1],n,s,ppt(l,n)),"none"!=c)){let r=e.length;dpt(t,e[r-1],e[r-2],n,c,ppt(u,n))}}function dpt(t,e,r,n,i,o){var{x:a,y:s}=e,c=Math.atan2(r.y-s,r.x-a);switch(t.beginPath(),t.translate(a,s),t.rotate(c),i){case"oval":t.ellipse(0,0,o.X,o.Y,0,0,2*Math.PI),t.fill();break;case"diamond":t.moveTo(-o.X,0),t.lineTo(0,-o.Y),t.lineTo(o.X,0),t.lineTo(0,o.Y),t.fill();break;case"arrow":t.moveTo(0,0),t.lineTo(spt*o.X,-o.Y),t.lineTo(spt*o.X,o.Y),t.fill();break;case"sharp-arrow":t.moveTo(0,0),t.lineTo(spt*o.X,-o.Y),t.lineTo(-o.X/1.5+spt*o.X,0),t.lineTo(spt*o.X,o.Y),t.fill();break;case"open-arrow":t.moveTo(spt*o.X+n,-o.Y),t.lineTo(n,0),t.lineTo(spt*o.X+n,o.Y),t.stroke()}t.rotate(-c),t.translate(-a,-s),t.closePath()}function ppt(t,e){let r={};switch(e*=1.2,t){case"size1":r.X=e,r.Y=e;break;case"size2":r.X=1.5*e,r.Y=e;break;case"size3":r.X=2*e,r.Y=e;break;case"size4":r.X=e,r.Y=1.5*e;break;case"size5":default:r.X=1.5*e,r.Y=1.5*e;break;case"size6":r.X=2*e,r.Y=1.5*e;break;case"size7":r.X=e,r.Y=2*e;break;case"size8":r.X=1.5*e,r.Y=2*e;break;case"size9":r.X=2*e,r.Y=2*e}return r}const gpt="N",vpt="S",ypt="E",mpt="W";class bpt{constructor({component:t,anchor:e,position:r,self:n}){this.component=t,this._anchorName=e,this._position=r,this.self=n}get position(){const t=this.anchor;if(t){var{position:e}=t;const r=this.component.toScene(e.x,e.y);return this.self.transcoordT2P(r.x,r.y)}return this._position}set position({x:t,y:e}){this._position={x:t,y:e}}get anchor(){return this.component?.findAnchor(this._anchorName)}get direction(){const t=this.component.bounds,e=this.anchor;if(!e)return ypt;const r=e.position;return r.y<=t.top?gpt:r.y>=t.top+t.height?vpt:r.x<=t.left?mpt:ypt}get boundaryPosition(){const t=this.anchor;if(t){var{position:e}=t,r=0,n=0;switch(this.direction){case vpt:n=20;break;case gpt:n=-20;break;case mpt:r=-20;break;default:r=20}e={x:e.x+r,y:e.y+n};const i=this.component.toScene(e.x,e.y);return this.self.transcoordT2P(i.x,i.y)}}}class xpt extends llt{isLine(){return!0}replaceRefids(t){["from","to"].forEach(e=>{const r=this.get(e);if(r?.component){const n=t.get(r.component)||r.component;this.set(e,{...r,component:n})}})}get fromEnd(){if(this.parent&&!this._fromEnd){const{component:t,anchor:e,position:r}=this.getState("from")||{};if(!t)return;const n=this.root?.findByRefid(t);if(!n)return;this._fromEnd=new bpt({component:n,fromto:"from",anchor:e,position:r,self:this})}return this._fromEnd}get from(){return this.getState("from")}set from(t){delete this._fromEnd,this.set("from",t)}get toEnd(){if(this.parent&&!this._toEnd){const{component:t,anchor:e,position:r}=this.getState("to")||{};if(!t)return;const n=this.root?.findByRefid(t);if(!n)return;this._toEnd=new bpt({component:n,fromto:"to",anchor:e,position:r,self:this})}return this._toEnd}get to(){return this.getState("to")}set to(t){delete this._toEnd,this.set("to",t)}move({x:t,y:e},r){r&&(this.from={position:this._fromEnd?.position||this.getState("from")?.position||{x:0,y:0}},this.to={position:this._toEnd?.position||this.getState("to")?.position||{x:0,y:0}}),super.move({x:t,y:e},r)}render(t){var{begin:e="none",end:r="none",lineWidth:n,round:i=0}=this.state,o=this.drawPath;fpt(t,o,this.state),t.beginPath();var a=hpt(e,n,o[0],o[1]),s=hpt(r,n,o[o.length-1],o[o.length-2]);o=[a,...o.slice(1,-1),s];var c={x:a.x,y:a.y};t.moveTo(a.x,a.y);for(var l=1;l<o.length;l++){const e=c;c=o[l];const r=o[l+1];if(e.x===c.x&&e.y===c.y)continue;if(!r){t.lineTo(c.x,c.y);break}var u=0!==(d=Math.sqrt((e.x-c.x)*(e.x-c.x)+(e.y-c.y)*(e.y-c.y)))?Math.atan2(e.x-c.x,e.y-c.y):0,h=Math.sin(u)*Math.min(i,d/2)+c.x,f=Math.cos(u)*Math.min(i,d/2)+c.y;const n=i>0||0!==d?{x:h,y:f}:c;var d;u=0!==(d=Math.sqrt((r.x-c.x)*(r.x-c.x)+(r.y-c.y)*(r.y-c.y)))?Math.atan2(r.x-c.x,r.y-c.y):0,h=Math.sin(u)*Math.min(i,d/2)+c.x,f=Math.cos(u)*Math.min(i,d/2)+c.y;const a=i>0||0!==d?{x:h,y:f}:c;t.lineTo(n.x,n.y),i>0&&t.quadraticCurveTo(c.x,c.y,a.x,a.y)}this.drawStroke(t)}contains(t,e){var{lineWidth:r}=this.state;return upt(t,e,this.drawPath,r)}get resizable(){return!1}get mutable(){return!0}get rotatable(){return!1}get path(){const{from:t,to:e}=this.state;var{x1:r,y1:n,x2:i,y2:o}=this.state;return[this.fromEnd?.position||t?.position||{x:r,y:n},this.toEnd?.position||e?.position||{x:i,y:o}]}set path(t){const[e,r]=t,{from:n,to:i}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...n,position:e},to:{...i,position:r}})}get textBounds(){var t,e,r=this.drawPath,n=0;for(let s=1;s<r.length;s++){var i=r[s-1],o=r[s],a=(i.x-o.x)*(i.x-o.x)+(i.y-o.y)*(i.y-o.y);a>n&&(n=Math.ceil(a),t=i,e=o)}var{paddingTop:s,paddingLeft:c,paddingRight:l,paddingBottom:u}=this.state;return u||=0,s||=0,c||=0,l||=0,{left:Math.min(t.x,e.x)+c,top:Math.min(t.y,e.y)+s,width:Math.max(Math.abs(t.x-e.x)-c-l,0),height:Math.max(Math.abs(t.y-e.y)-s-u,0)}}get decorators(){return this.app.isEditMode?["decotag"]:[]}}xpt.getTipNeckPos=hpt,xpt.containedInPath=upt,xpt.drawEndTips=fpt,llt.register("line",xpt);const wpt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"angle",label:"start-angle",name:"startAngle",property:"startAngle"},{type:"angle",label:"end-angle",name:"endAngle",property:"endAngle"}],"value-property":"text"};class Apt extends(aut(ult)){is3dish(){return!0}render(t){var{cx:e,cy:r,rx:n,ry:i,startAngle:o,endAngle:a,anticlockwise:s}=this.state;t.beginPath(),t.ellipse(e,r,Math.abs(n),Math.abs(i),0,o||0,a||2*Math.PI,s),void 0!==o&&void 0!==a&&(t.lineTo(e,r),t.closePath())}get path(){var{cx:t,cy:e,rx:r,ry:n}=this.state;return[{x:t-r,y:e-n},{x:t+r,y:e-n},{x:t+r,y:e+n},{x:t-r,y:e+n}]}set path(t){var e=t[0],r=t[2];this.set({cx:e.x+(r.x-e.x)/2,cy:e.y+(r.y-e.y)/2,rx:(r.x-e.x)/2,ry:(r.y-e.y)/2})}contains(t,e){var{cx:r,cy:n,rx:i,ry:o}=this.state,a=(t-r)/(2*i-.5),s=(e-n)/(2*o-.5);return a*a+s*s<.25}outline(t){return function(t,e){var{cx:r,cy:n,rx:i,ry:o}=t.model,a=2*Math.PI*e,s=r+i*Math.cos(a),c=n+o*Math.sin(a);return t.toScene(s,c)}(this,t)}get anchors(){return function(t){var{left:e,top:r,width:n,height:i}=t.bounds,o=e+n/2,a=r+i/2;return[{name:"TOP",position:{x:o,y:r}},{name:"RIGHT",position:{x:e+n,y:a}},{name:"BOTTOM",position:{x:o,y:r+i}},{name:"LEFT",position:{x:e,y:a}}]}(this)}get nature(){return wpt}}llt.memoize(Apt.prototype,"path",!1),llt.register("ellipse",Apt);var _pt={ondragstart:function(t,e,r){r.mutatePath(null,function(r){r.splice(e+1,0,t)})},ondragmove:function(t,e,r){r.mutatePath(null,function(r){r[e+1]=t})},ondragend:function(t,e,r){}};const Ept={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polygon"};class kpt extends ult{is3dish(){return!0}get mutable(){return!0}get pathExtendable(){return!0}get path(){return this.state.path}set path(t){this.set("path",t)}contains(t,e){var r=this.state.path,n=!1;return r.forEach((i,o)=>{let a=(o+r.length+1)%r.length,s=i.x,c=i.y,l=r[a].x,u=r[a].y;c>e!=u>e&&t<(l-s)*(e-c)/(u-c)+s&&(n=!n)}),n}get controls(){var t=this.path;return t.map((e,r)=>{let n=t[r+1>=t.length?0:r+1];return{x:(e.x+n.x)/2,y:(e.y+n.y)/2,handler:_pt}})}get nature(){return Ept}}llt.memoize(kpt.prototype,"controls",!1),llt.register("polygon",kpt);var Spt={ondragstart:function(t,e,r){r.mutatePath(null,function(r){r.splice(e,0,t)})},ondragmove:function(t,e,r){r.mutatePath(null,function(r){r[e]=t})},ondragend:function(t,e,r){}};const Mpt={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polyline"};class Opt extends xpt{get pathExtendable(){return!0}get path(){const{from:t,to:e}=this.state,{path:r}=this.state;return[this.fromEnd?.position||t?.position||r[0],...r.slice(1,-1),this.toEnd?.position||e?.position||r[r.length-1]]}set path(t){const{from:e,to:r}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...e,position:t[0]},to:{...r,position:t[t.length-1]},path:t})}get controls(){var t=this.path,e=[];for(let r=0;r<t.length-1;r++){let n=t[r],i=t[r+1];0==r&&e.push({x:n.x,y:n.y,handler:Spt}),e.push({x:(n.x+i.x)/2,y:(n.y+i.y)/2,handler:Spt}),r==t.length-2&&e.push({x:i.x,y:i.y,handler:Spt})}return e}get nature(){return Mpt}}llt.register("polyline",Opt);const Tpt={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/ortholine"};class Ppt extends xpt{get pathExtendable(){return!1}get drawPath(){const t=this.path[0],e=this.path[1],{component:r,direction:n,boundaryPosition:i=t}=this.fromEnd||{},{component:o,direction:a,boundaryPosition:s=e}=this.toEnd||{};var c=[i,s],l=[];i&&l.push(i);var u=r?.bounds;if(u){var h=r.toScene(u.left,u.top);h=this.transcoordT2P(h.x,h.y),u={...u,left:h.x,top:h.y}}var f=u?{left:u.left-20,top:u.top-20,width:u.width+40,height:u.height+40}:{left:i.x,top:i.y,width:0,height:0};u=u||f;var d=o?.bounds;if(d){h=o.toScene(d.left,d.top);h=this.transcoordT2P(h.x,h.y),d={...d,left:h.x,top:h.y}}var p=d?{left:d.left-20,top:d.top-20,width:d.width+40,height:d.height+40}:{left:s.x,top:s.y,width:0,height:0};d=d||p;var g=[f,p];const v=f.left>p.left?p.left:f.left,y=f.top>p.top?p.top:f.top;var m,b,x,w,A,_,E,k,S,M,O={left:v,top:y,width:f.left+f.width>p.left+p.width?f.left+f.width-v:p.left+p.width-v,height:f.top+f.height>p.top+p.height?f.top+f.height-y:p.top+p.height-y},T=0,P=0;u.left+u.width<d.left?(w=0,A=1,S=n,M=a,m=(u.left+u.width+d.left)/2,T=d.left-m):d.left+d.width<u.left&&(w=1,A=0,S=a,M=n,m=(u.left+d.width+d.left)/2,T=u.left-m),u.top+u.height<d.top?(x=0,_=1,E=n,k=a,b=(u.top+u.height+d.top)/2,P=d.top-b):d.top+d.height<u.top&&(x=1,_=0,E=a,k=n,b=(u.top+d.height+d.top)/2,P=u.top-b);var I=[];if(m&&T>P){switch(M){case mpt:switch(S){case ypt:I.push({x:m,y:c[w].y}),I.push({x:m,y:c[A].y});break;case mpt:var C=g[w].top+g[w].height/2>c[A].y?Math.min(g[w].top,c[A].y):Math.max(g[w].top+g[w].height,c[A].y);I.push({x:c[w].x,y:C}),I.push({x:m,y:C}),I.push({x:m,y:c[A].y});break;case gpt:case vpt:C=S===vpt?Math.max(c[w].y,c[A].y):Math.min(c[w].y,c[A].y);I.push({x:c[w].x,y:C}),I.push({x:m,y:C}),I.push({x:m,y:c[A].y});break;default:return this.path}break;case ypt:switch(S){case ypt:var R=C=c[w].y<c[A].y?Math.min(g[A].top,c[w].y):Math.max(g[A].top+g[A].height,c[w].y);break;case mpt:R=C=void 0!==b?b:c[w].y<c[A].y?O.top-.5*T:O.top+O.height+.5*T;break;case vpt:R=C=void 0!==b?Math.max(b,c[w].y):O.top+O.height;break;case gpt:R=C=b?Math.min(b,g[w].top):O.top;break;default:return this.path}I.push({x:c[w].x,y:C}),I.push({x:m,y:C}),I.push({x:m,y:R}),I.push({x:c[A].x,y:R});break;case vpt:switch(S){case ypt:C=c[w].y,R=c[w].y>c[A].y?c[w].y:g[A].top+g[A].height;break;case mpt:R=C=b?Math.max(b,g[A].top+g[A].height):O.top+O.height;break;case vpt:R=C=O.top+O.height;break;case gpt:C=b?Math.min(b,g[w].top):g[w].top,R=b?Math.max(b,g[A].top+g[A].height):g[A].top+g[A].height;break;default:return this.path}I.push({x:c[w].x,y:C}),I.push({x:m,y:C}),I.push({x:m,y:R}),I.push({x:c[A].x,y:R});break;case gpt:switch(S){case ypt:C=c[w].y,R=c[w].y<c[A].y?c[w].y:g[A].top;break;case mpt:R=C=b?Math.min(b,g[A].top):O.top;break;case vpt:C=void 0!==b?Math.max(b,c[w].y):c[w].y,R=void 0!==b?Math.min(b,c[A].y):c[A].y;break;case gpt:R=C=O.top;break;default:return this.path}I.push({x:c[w].x,y:C}),I.push({x:m,y:C}),I.push({x:m,y:R}),I.push({x:c[A].x,y:R});break;default:return this.path}l.push(...0===w?I:I.reverse())}else if(b){switch(k){case gpt:switch(E){case vpt:I.push({x:c[x].x,y:b}),I.push({x:c[_].x,y:b});break;case gpt:var D=g[x].left+g[x].width/2>c[_].x?Math.min(g[x].left,c[_].x):Math.max(g[x].left+g[x].width,c[_].x);I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:c[_].x,y:b});break;case mpt:D=Math.min(c[x].x,c[_].x);I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:c[_].x,y:b});break;case ypt:D=Math.max(c[x].x,c[_].x);I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:c[_].x,y:b});break;default:return this.path}break;case vpt:switch(E){case mpt:var j=D=O.left;break;case ypt:j=D=void 0!==m?Math.max(m,c[x].x):O.left+O.width;break;case gpt:j=D=void 0!==m?m:c[x].x<c[_].x?O.left-.5*P:O.left+O.width+.5*P;break;case vpt:D=c[x].x,j=c[x].x<c[_].x?Math.min(g[_].left,c[x].x):Math.max(g[_].left+g[_].width,c[x].x);break;default:return this.path}I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:j,y:b}),I.push({x:j,y:c[_].y});break;case ypt:switch(E){case mpt:D=void 0!==m?Math.min(m,c[x].x):c[x].x,j=void 0!==m?Math.max(m,c[_].x):c[_].x;break;case ypt:j=D=O.left+O.width;break;case gpt:j=D=void 0!==m?Math.max(m,c[_].x):O.left+O.width;break;case vpt:D=c[x].x,j=Math.max(g[_].left+g[_].width,c[x].x);break;default:return this.path}I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:j,y:b}),I.push({x:j,y:c[_].y});break;case mpt:switch(E){case mpt:j=D=O.left;break;case ypt:D=void 0!==m?Math.max(m,c[x].x):c[x].x,j=void 0!==m?Math.min(m,c[_].x):c[_].x;break;case gpt:j=D=O.left;break;case vpt:D=c[x].x<c[_].x?Math.min(g[_].left,c[x].x):c[x].x,j=Math.min(D,c[_].x);break;default:return this.path}I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:j,y:b}),I.push({x:j,y:c[_].y});break;default:return this.path}l.push(...0===x?I:I.reverse())}else switch(n){case gpt:switch(a){case gpt:var L=O.top;l.push({x:c[0].x,y:L}),l.push({x:c[1].x,y:L});break;case vpt:var N=O.left+O.width;l.push({x:N,y:c[0].y}),l.push({x:N,y:O.top+O.height}),l.push({x:c[1].x,y:O.top+O.height});break;case ypt:N=c[1].y<c[0].y&&c[1].x<c[0].x?c[0].x:O.left+O.width;l.push({x:N,y:c[0].y}),l.push({x:N,y:c[1].y});break;case mpt:N=O.left;l.push({x:N,y:c[0].y}),l.push({x:N,y:c[1].y});break;default:return this.path}break;case vpt:switch(a){case gpt:N=O.left+O.width;l.push({x:N,y:c[0].y}),l.push({x:N,y:O.top}),l.push({x:c[1].x,y:O.top});break;case vpt:L=O.top+O.height;l.push({x:c[0].x,y:L}),l.push({x:c[1].x,y:L});break;case ypt:L=O.top+O.height;l.push({x:c[0].x,y:L}),l.push({x:c[1].x,y:L});break;case mpt:L=O.top+O.height;l.push({x:c[0].x,y:L}),l.push({x:c[1].x,y:L});break;default:return this.path}break;case mpt:switch(a){case gpt:N=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].x:O.left,L=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].y:Math.min(O.top,c[0].y);l.push({x:N,y:c[0].y}),l.push({x:N,y:L}),l.push({x:c[1].x,y:L});break;case vpt:N=O.left,L=Math.max(O.top+O.height,c[0].y);l.push({x:N,y:c[0].y}),l.push({x:N,y:L}),l.push({x:c[1].x,y:L});break;case ypt:N=O.left+O.width;l.push({x:c[0].x,y:O.top}),l.push({x:N,y:O.top}),l.push({x:N,y:c[1].y});break;case mpt:N=O.left;l.push({x:N,y:c[0].y}),l.push({x:N,y:c[1].y});break;default:return this.path}break;case ypt:switch(a){case gpt:L=c[0].y<c[1].y&&c[0].x<c[1].x?c[0].y:O.top;l.push({x:c[0].x,y:L}),l.push({x:c[1].x,y:L});break;case vpt:L=c[0].y>c[1].y&&c[0].x<c[1].x?c[0].y:O.top+O.height;l.push({x:c[0].x,y:L}),l.push({x:c[1].x,y:L});break;case ypt:L=O.top+O.height;l.push({x:c[0].x,y:L}),l.push({x:c[1].x,y:L});break;case mpt:L=O.top+O.height;l.push({x:c[0].x,y:L}),l.push({x:c[1].x,y:L});break;default:return this.path}break;default:return this.path}return s&&l.push(s),[t,...l,e].filter((t,e,r)=>{if(0===e)return!0;const n=r[e-1];return t.x!==n.x||t.y!==n.y}).filter((t,e,r)=>{if(0===e||e>=r.length-1)return!0;const n=r[e-1],i=r[e+1];return!(t.x===n.x&&t.x===i.x||t.y===n.y&&t.y===i.y)})}get nature(){return Tpt}}llt.register("ortholine",Ppt);const Ipt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"image-selector",label:"image-src",name:"src",property:{displayField:"id",displayFullUrl:!0,baseUrlAlias:"$base_url",defaultStorage:"scene-image",storageFilters:{type:Array,value:[{name:"category",value:"image"}]},useUpload:!0}},{type:"select",label:"cross-origin",name:"crossOrigin",property:{options:["","anonymous","use-credentials"]}}],"value-property":"src",help:"scene/component/image-view"};class Cpt extends(flt(ult)){static get noimage(){return Cpt.NOIMAGE||(Cpt.NOIMAGE=new Image,Cpt.NOIMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABIBAMAAAD7Se1QAAAAIVBMVEUAAABHcEwBAQEREREBAQEEBAQGBgYLCwsDAwMDAwMICAi6HF9tAAAAC3RSTlNNAEAERiMYCS41Eac10lYAAAEgSURBVHhe7dY9asQwEAXgh7DNertNiJy48pIitY3SB7bYdk0ukL1BDDmA9gZecoH4pmFQ3MQayUMguPBrNPD4wD9TCMvJmt3M/AtYwXOlXiWgqADVCUBD46MAnGhMBaCiUQmAm8VA/Eh/eWl9Fn5WcxD+OLuRrUYJDKLluwH2InACUgkoACSdADxQc50Bytadb9RkM0CT13TcvlCT1HFg8UTHvasuUVACCa3El6u2UdD8LFTlKhUFFgA+d3dj10aABkUN72N3jAADCrJq7PIIsPidcxBoTHIIAjMFmyCwmGYIAA1P9gFgfCANAOsDSccCDW+uLDB+kLGg94OkZoAGkwsDDAe2DOg5oPxAg03rBR88OHpBz4N8UVeHFSwma74BTW6Ge4rIRa4AAAAASUVORK5CYII="),Cpt.NOIMAGE}dispose(){super.dispose(),this._offcanvas=null,this._image=null}render(t){var{left:e,top:r,width:n,height:i,isGray:o=!1,alpha:a=1,src:s}=this.state;if(this.prepareIf(!this._image&&s),t.beginPath(),t.globalAlpha*=a,this._image&&this._image.complete)if(o&&this._offcanvas)t.drawImage(this._offcanvas,e,r,n,i);else try{t.drawImage(this._image,e,r,n,i)}catch(o){t.drawImage(Cpt.noimage,e,r,n,i)}else!this.app.isViewMode&&t.drawImage(Cpt.noimage,e,r,n,i)}get nature(){return Ipt}get hasTextProperty(){return!1}ready(){super.ready(),this.prepareIf(!this._image&&this.state.src)}prepare(t,e){var{src:r,crossOrigin:n}=this.state;if(r){this._image=new Image;try{n&&(this._image.crossOrigin=n),this._image.src=this.app.url(r)||""}catch(t){return void e(t)}this._image.onload=()=>{if(this.get("isGray")){let t=this._image.width,e=this._image.height;this._offcanvas=llt.createCanvas(t,e);let r=this._offcanvas.getContext("2d");r.drawImage(this._image,0,0);let n=function(t,e,r){try{var n=t.getImageData(0,0,e,r)}catch(t){return Ost("Get Image Data Error: "+t.message),null}var i=n.data;for(let t=0;t<e*r*4;t+=4){let e=i[t],r=i[t+1],o=i[t+2],a=parseInt((e+r+o)/3);n.data[t]=a,n.data[t+1]=a,n.data[t+2]=a}return n}(r,t,e);r.putImageData(n,0,0)}t(this)},this._image.onerror=t=>{this._image&&!this._image.currentSrc&&(this._image=null),e(t)}}else t(this)}get src(){return this.get("src")}set src(t){this.set("src",t)}onchange(t,e){(t.hasOwnProperty("src")||t.hasOwnProperty("isGray"))&&(this._offcanvas=null,this._image=null,this.prepareIf(t.src))}ondropfile(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("image/"))return void(this.src=e[r])}}llt.register("image-view",Cpt);class Rpt extends(rpt(flt(llt))){is3dish(){return!0}prerender(){}}var Dpt={},jpt={},Lpt={};Object.defineProperty(Lpt,"__esModule",{value:!0});var Npt=function(){function t(){}return t.bitsToNum=function(t){return t.reduce(function(t,e){return 2*t+e},0)},t.byteToBitArr=function(t){for(var e=[],r=7;r>=0;r--)e.push(!!(t&1<<r));return e},t.lzwDecode=function(t,e){for(var r,n,i=0,o=function(t){for(var r=0,n=0;n<t;n++)e.charCodeAt(i>>3)&1<<(7&i)&&(r|=1<<n),i++;return r},a=[],s=1<<t,c=s+1,l=t+1,u=[],h=function(){u=[],l=t+1;for(var e=0;e<s;e++)u[e]=[e];u[s]=[],u[c]=null};;)if(n=r,(r=o(l))!==s){if(r===c)break;if(r<u.length)n!==s&&u.push(u[n].concat(u[r][0]));else{if(r!==u.length)throw new Error("Invalid LZW code.");u.push(u[n].concat(u[n][0]))}a.push.apply(a,u[r]),u.length===1<<l&&l<12&&l++}else h();return a},t}();Lpt.SuperGifUtils=Npt,Object.defineProperty(jpt,"__esModule",{value:!0});var Fpt=Lpt,zpt=function(){function t(t,e){this.stream=t,this.handler=e}return t.prototype.parseCT=function(t){for(var e=[],r=0;r<t;r++)e.push(this.stream.readBytes(3));return e},t.prototype.readSubBlocks=function(){var t,e;e="";do{t=this.stream.readByte(),e+=this.stream.read(t)}while(0!==t);return e},t.prototype.parseHeader=function(){var t={};if(t.sig=this.stream.read(3),t.ver=this.stream.read(3),"GIF"!==t.sig)throw new Error("Not a GIF file.");t.width=this.stream.readUnsigned(),t.height=this.stream.readUnsigned();var e=Fpt.SuperGifUtils.byteToBitArr(this.stream.readByte());t.gctFlag=e.shift(),t.colorRes=Fpt.SuperGifUtils.bitsToNum(e.splice(0,3)),t.sorted=e.shift(),t.gctSize=Fpt.SuperGifUtils.bitsToNum(e.splice(0,3)),t.bgColor=this.stream.readByte(),t.pixelAspectRatio=this.stream.readByte(),t.gctFlag&&(t.gct=this.parseCT(1<<t.gctSize+1)),this.handler.hdr&&this.handler.hdr(t)},t.prototype.parseExt=function(t){var e=this;switch(t.label=this.stream.readByte(),t.label){case 249:t.extType="gce",function(t){e.stream.readByte();var r=Fpt.SuperGifUtils.byteToBitArr(e.stream.readByte());t.reserved=r.splice(0,3),t.disposalMethod=Fpt.SuperGifUtils.bitsToNum(r.splice(0,3)),t.userInput=r.shift(),t.transparencyGiven=r.shift(),t.delayTime=e.stream.readUnsigned(),t.transparencyIndex=e.stream.readByte(),t.terminator=e.stream.readByte(),e.handler.gce&&e.handler.gce(t)}(t);break;case 254:t.extType="com",function(t){t.comment=e.readSubBlocks(),e.handler.com&&e.handler.com(t)}(t);break;case 1:t.extType="pte",function(t){e.stream.readByte(),t.ptHeader=e.stream.readBytes(12),t.ptData=e.readSubBlocks(),e.handler.pte&&e.handler.pte(t)}(t);break;case 255:t.extType="app",function(t){e.stream.readByte(),t.identifier=e.stream.read(8),t.authCode=e.stream.read(3),"NETSCAPE"===t.identifier?function(t){e.stream.readByte(),t.unknown=e.stream.readByte(),t.iterations=e.stream.readUnsigned(),t.terminator=e.stream.readByte(),e.handler.app&&e.handler.app.NETSCAPE&&e.handler.app.NETSCAPE(t)}(t):function(t){t.appData=e.readSubBlocks(),e.handler.app&&e.handler.app[t.identifier]&&e.handler.app[t.identifier](t)}(t)}(t);break;default:t.extType="unknown",function(t){t.data=e.readSubBlocks(),e.handler.unknown&&e.handler.unknown(t)}(t)}},t.prototype.parseImg=function(t){t.leftPos=this.stream.readUnsigned(),t.topPos=this.stream.readUnsigned(),t.width=this.stream.readUnsigned(),t.height=this.stream.readUnsigned();var e=Fpt.SuperGifUtils.byteToBitArr(this.stream.readByte());t.lctFlag=e.shift(),t.interlaced=e.shift(),t.sorted=e.shift(),t.reserved=e.splice(0,2),t.lctSize=Fpt.SuperGifUtils.bitsToNum(e.splice(0,3)),t.lctFlag&&(t.lct=this.parseCT(1<<t.lctSize+1)),t.lzwMinCodeSize=this.stream.readByte();var r=this.readSubBlocks();t.pixels=Fpt.SuperGifUtils.lzwDecode(t.lzwMinCodeSize,r),t.interlaced&&(t.pixels=function(t,e){for(var r=new Array(t.length),n=t.length/e,i=function(n,i){var o=t.slice(i*e,(i+1)*e);r.splice.apply(r,[n*e,e].concat(o))},o=[0,4,2,1],a=[8,8,4,2],s=0,c=0;c<4;c++)for(var l=o[c];l<n;l+=a[c])i(l,s),s++;return r}(t.pixels,t.width)),this.handler.img&&this.handler.img(t)},t.prototype.parseBlock=function(){var t={};switch(t.sentinel=this.stream.readByte(),String.fromCharCode(t.sentinel)){case"!":t.type="ext",this.parseExt(t);break;case",":t.type="img",this.parseImg(t);break;case";":t.type="eof",this.handler.eof&&this.handler.eof(t);break;default:throw new Error("Unknown block: 0x"+t.sentinel.toString(16))}"eof"!==t.type&&setTimeout(this.parseBlock.bind(this),0)},t.prototype.parse=function(){this.parseHeader(),setTimeout(this.parseBlock.bind(this),0)},t}();jpt.SuperGifParser=zpt;var Upt={};Object.defineProperty(Upt,"__esModule",{value:!0});var Bpt=function(){function t(t){this.data=t,this.position=0}return t.prototype.readByte=function(){if(this.position>=this.data.length)throw new Error("Attempted to read past end of stream.");return this.data instanceof Uint8Array?this.data[this.position++]:255&this.data.charCodeAt(this.position++)},t.prototype.readBytes=function(t){for(var e=[],r=0;r<t;r++)e.push(this.readByte());return e},t.prototype.read=function(t){for(var e="",r=0;r<t;r++)e+=String.fromCharCode(this.readByte());return e},t.prototype.readUnsigned=function(){var t=this.readBytes(2);return(t[1]<<8)+t[0]},t}();Upt.SuperGifStream=Bpt,Object.defineProperty(Dpt,"__esModule",{value:!0});var $pt=jpt,Ypt=Upt,Gpt=function(){function t(t,e){var r=this;for(var n in this.gifImgElement=t,this.options={autoPlay:!0},this.loading=!1,this.ready=!1,this.transparency=null,this.delay=null,this.disposalMethod=null,this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,this.playing=!0,this.forward=!0,this.ctxScaled=!1,this.frames=[],this.frameOffsets=[],this.initialized=!1,this.currentFrameIndex=-1,this.iterationCount=0,this.stepping=!1,this.handler={hdr:this.withProgress(this.doHdr.bind(this)),gce:this.withProgress(this.doGCE.bind(this)),com:this.withProgress(this.doNothing.bind(this)),app:{NETSCAPE:this.withProgress(this.doNothing.bind(this))},img:this.withProgress(this.doImg.bind(this)),eof:function(){r.pushFrame(),r.canvas.width=r.hdr.width*r.getCanvasScale(),r.canvas.height=r.hdr.height*r.getCanvasScale(),r.playerInit(),r.loading=!1,r.ready=!0,r.loadCallback&&r.loadCallback(r.gifImgElement)}},e)this.options[n]=e[n];this.onEndListener=e.onEnd,this.loopDelay=e.loopDelay||0,this.overrideLoopMode=null!=e.loopMode?e.loopMode:"auto",this.drawWhileLoading=null==e.drawWhileLoading||e.drawWhileLoading}return t.prototype.init=function(){var t=this.gifImgElement.parentNode,e=document.createElement("div");this.canvas=document.createElement("canvas"),this.canvasContext=this.canvas.getContext("2d"),this.tmpCanvas=document.createElement("canvas"),e.className=this.options.enclosingClass||"super-gif",e.appendChild(this.canvas),t&&(t.insertBefore(e,this.gifImgElement),t.removeChild(this.gifImgElement)),this.initialized=!0},t.prototype.loadSetup=function(t){return!this.loading&&(t&&(this.loadCallback=t),this.loading=!0,this.frames=[],this.clear(),this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,!0)},t.prototype.completeLoop=function(){this.onEndListener&&this.onEndListener(this.gifImgElement),this.iterationCount++,!1!==this.overrideLoopMode||this.iterationCount<0?this.doStep():(this.stepping=!1,this.playing=!1)},t.prototype.doStep=function(){if(this.stepping=this.playing,this.stepping){this.stepFrame(1);var t=10*this.frames[this.currentFrameIndex].delay;t||(t=100),0===this.getNextFrameNo()?(t+=this.loopDelay,setTimeout(this.completeLoop.bind(this),t)):setTimeout(this.doStep.bind(this),t)}},t.prototype.step=function(){this.stepping||setTimeout(this.doStep.bind(this),0)},t.prototype.putFrame=function(){var t;this.currentFrameIndex=parseInt(this.currentFrameIndex.toString(),10),this.currentFrameIndex>this.frames.length-1&&(this.currentFrameIndex=0),this.currentFrameIndex<0&&(this.currentFrameIndex=0),t=this.frameOffsets[this.currentFrameIndex],this.tmpCanvas.getContext("2d").putImageData(this.frames[this.currentFrameIndex].data,t.x,t.y),this.canvasContext.globalCompositeOperation="copy",this.canvasContext.drawImage(this.tmpCanvas,0,0)},t.prototype.playerInit=function(){this.loadErrorCause||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.options.autoPlay?this.step():(this.currentFrameIndex=0,this.putFrame()))},t.prototype.clear=function(){this.transparency=null,this.delay=null,this.lastDisposalMethod=this.disposalMethod,this.disposalMethod=null,this.frame=null},t.prototype.parseStream=function(t){try{new $pt.SuperGifParser(t,this.handler).parse()}catch(t){this.handleError("parse")}},t.prototype.setSizes=function(t,e){this.canvas.width=t*this.getCanvasScale(),this.canvas.height=e*this.getCanvasScale(),this.tmpCanvas.width=t,this.tmpCanvas.height=e,this.tmpCanvas.style.width=t+"px",this.tmpCanvas.style.height=e+"px",this.tmpCanvas.getContext("2d").setTransform(1,0,0,1,0,0)},t.prototype.drawError=function(){this.canvasContext.fillStyle="black",this.canvasContext.fillRect(0,0,this.hdr.width,this.hdr.height),this.canvasContext.strokeStyle="red",this.canvasContext.lineWidth=3,this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.hdr.width,this.hdr.height),this.canvasContext.moveTo(0,this.hdr.height),this.canvasContext.lineTo(this.hdr.width,0),this.canvasContext.stroke()},t.prototype.handleError=function(t){this.loadErrorCause=t,this.hdr={width:this.gifImgElement.width,height:this.gifImgElement.height},this.frames=[],this.drawError()},t.prototype.doHdr=function(t){this.hdr=t,this.setSizes(this.hdr.width,this.hdr.height)},t.prototype.doGCE=function(t){this.pushFrame(),this.clear(),this.transparency=t.transparencyGiven?t.transparencyIndex:null,this.delay=t.delayTime,this.disposalMethod=t.disposalMethod},t.prototype.pushFrame=function(){this.frame&&(this.frames.push({data:this.frame.getImageData(0,0,this.hdr.width,this.hdr.height),delay:this.delay}),this.frameOffsets.push({x:0,y:0}))},t.prototype.doImg=function(t){var e=this;this.frame||(this.frame=this.tmpCanvas.getContext("2d"));var r=this.frames.length,n=t.lctFlag?t.lct:this.hdr.gct;r>0&&(3===this.lastDisposalMethod?null!==this.disposalRestoreFromIdx?this.frame.putImageData(frames[this.disposalRestoreFromIdx].data,0,0):this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height):this.disposalRestoreFromIdx=r-1,2===this.lastDisposalMethod&&this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height));var i=this.frame.getImageData(t.leftPos,t.topPos,t.width,t.height);t.pixels.forEach(function(t,r){t!==e.transparency&&(i.data[4*r+0]=n[t][0],i.data[4*r+1]=n[t][1],i.data[4*r+2]=n[t][2],i.data[4*r+3]=255)}),this.frame.putImageData(i,t.leftPos,t.topPos),this.ctxScaled||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.ctxScaled=!0),this.drawWhileLoading&&(this.canvasContext.drawImage(this.tmpCanvas,0,0),this.drawWhileLoading=this.options.autoPlay),this.lastImg=t},t.prototype.doNothing=function(){},t.prototype.withProgress=function(t){return function(e){t(e)}},t.prototype.getNextFrameNo=function(){var t=this.forward?1:-1;return(this.currentFrameIndex+t+this.frames.length)%this.frames.length},t.prototype.stepFrame=function(t){this.currentFrameIndex=this.currentFrameIndex+t,this.putFrame()},t.prototype.getCanvasScale=function(){return this.options.maxWidth&&this.hdr&&this.hdr.width>this.options.maxWidth?this.options.maxWidth/this.hdr.width:window.devicePixelRatio||1},t.prototype.play=function(){this.playing=!0,this.step()},t.prototype.pause=function(){this.playing=!1},t.prototype.isPlaying=function(){return this.playing},t.prototype.getCanvas=function(){return this.canvas},t.prototype.isLoading=function(){return this.loading},t.prototype.isReady=function(){return this.ready},t.prototype.isAutoPlay=function(){return this.options.autoPlay},t.prototype.getLength=function(){return this.frames.length},t.prototype.getCurrentFrame=function(){return this.currentFrameIndex},t.prototype.moveTo=function(t){this.currentFrameIndex=t,this.putFrame()},t.prototype.loadURL=function(t,e){var r=this;if(this.loadSetup(e)){var n=new XMLHttpRequest;n.open("GET",t,!0),"overrideMimeType"in n?n.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in n?n.responseType="arraybuffer":n.setRequestHeader("Accept-Charset","x-user-defined"),n.onloadstart=function(){r.initialized||r.init()},n.onload=function(){if(200===n.status){var t=n.response;t.toString().indexOf("ArrayBuffer")>0&&(t=new Uint8Array(t));var e=new Ypt.SuperGifStream(t);setTimeout(function(){r.parseStream(e)},0)}else r.handleError("xhr - response")},n.onerror=function(){r.handleError("xhr")},n.send()}},t.prototype.load=function(t){this.loadURL(this.gifImgElement.src,t)},t}(),Hpt=Dpt.SuperGif=Gpt;const Wpt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"image-selector",label:"src",name:"src"},{type:"checkbox",label:"play",name:"play"}],"value-property":"src",help:"scene/component/gif-view"};class qpt extends Rpt{async oncreate_element(t){var{src:e,play:r}=this.state;this.onchangesrc(e),this.onchangeplay(r)}buildImg(){var t=this.element;t.innerHTML="";var e=document.createElement("img");return e.style.width="100%",e.style.height="100%",t.appendChild(e),e}onchange(t,e){super.onchange(t,e),"src"in t&&this.onchangesrc(t.src),"play"in t&&this.onchangeplay(t.play)}setElementProperties(t){}onchangeplay(t){var e=this._superGif;e&&e.isReady()&&(t?e.play():e.pause())}onchangesrc(t){var e=this.buildImg();t||(t="data:image/gif;base64,R0lGODlhYABIAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKio+Pj5iYmKCgoKampqurq66urrCwsLGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrOzs7S0tLa2tre3t7m5ubu7u7+/v8DAwMHBwcPDw8XFxcfHx8vLy8/Pz9LS0tXV1dfX193d3eTk5Onp6fj4+Pz8/P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////yH5BAkAAPUAIf47R2VuZXJhdGVkIGJ5IGpzZ2lmIChodHRwczovL2dpdGh1Yi5jb20vYW50aW1hdHRlcjE1L2pzZ2lmLykALAAAAABgAEgAAAj+AGcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmR9VKqXMmypcuXMGPKnJkSIs2bOHPqZGlzp8+fQOv1DEq0KMyhRpMmRaq0KVCmTqPmhCq1qkyqLrFRSyYwGTVsVo1iZXmNa8Fk18ISHasSm1mDycCq/ck2JTWF1ObSfTjz7cFken3WFbow8M7BDA3rHOwXruKpfGXeTZg3qDVrUge7RRg3KLZjx+Q2HVyvLNy0QaMJjBaVdD2tZr2K/mmNIObRkR+n9AsYt0Pddg1WXppb8bWDx1CLLW74GcJnSl3TtDY8Zu2Et4tKl7n52eyWnxXvhl7+26jqrspbnlfIWjtz2gWPZV95neH8veU9NxZYfbfD3kFt99J6Bnmn0mQO9XfYezrVxxlmx0GUXIAM4hSeffsxBN1TFd5E4Ef3QZbfTg6CNJ5gHXJ3TEntLThiTh+KFCJNAqZU4kgAitjQTheepOBMNcZI0oQ6JpbTjSZtiNN2PZ400IxHpdiSc07G911M0iFZZYtAStnWilUeBGVLrlEZpmM0elmPlmfO8iOZXl4DZpsGEYmll2bSWWCXLwJXVY1+urhjoGEBSuiSah6K36CKtpZoo4s9CimielZq6aWYZqrpppx26umnoIZ6UkAAOw=="),e.src=t,e.setAttribute("rel:animated_src",t),e.setAttribute("rel:auto_play",0),this._superGif=new Hpt(e,{autoPlay:!1}),this._superGif.init();for(const t of this.element.children)t.style.width="100%",t.style.height="100%";var r=this._superGif.getCanvas();r.style.width="100%",r.style.height="100%",this._superGif.load(()=>{setTimeout(()=>{this._superGif.moveTo(0),this.play&&this._superGif.play()},100)})}ondropfile(t,e){for(let r=0;r<t.length;r++)if(/\.gif$/.test(t[r].name))return void(this.src=e[r])}get src(){return this.getState("src")}set src(t){this.set("src",t)}get play(){return this.getState("play")}set play(t){this.setState("play",t)}get nature(){return Wpt}get tagName(){return"div"}}llt.register("gif-view",qpt);const Vpt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"attachment-selector",label:"src",name:"src",property:{category:"audio"}},{type:"checkbox",label:"started",name:"started"},{type:"checkbox",label:"loop",name:"loop"}],"value-property":"src",help:"scene/component/audio"};class Xpt extends(flt(ult)){static get image(){return Xpt.IMAGE||(Xpt.IMAGE=new Image,Xpt.IMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAMAAAC3Ycb+AAAAP1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzJYIvAAAAFHRSTlMA8BAwgNBgQKB/wCBwUJDg37CvXyUlBK8AABFYSURBVHja7NsBkqIwFIThTiAQgyBq3/+sm6p1tnamZkaTMhJJf1f4S/JeEIiIiIiIiIiIiIiIiEhD7Hg4BH84TpAKjJ4f3NFCtjVd+InXz2RTs+FXlxGylYHfcVfIJmb+YFWSLUyGVJKKBJJKUo+Rd6w63l/qzLuCkryO5fe0l2xk5mMWbe+v0fNBRqf7S3je6CipQ2ACr+dWcYEpzBFS1plpguatsnomMgdIQSOTuQ5SjmE6/UgK8szgdJIUM/FG41YlFmYJ2kkKsY5ZzAwBurHDk3WGeRY0bvYrGa1+rqNI22f7dS32ZnUK1GMr0eSK3mEc9dhKMxp+ZTo8kT2emOXS5LQ1kCxbJBocSd2k5PaIjMVzjWcdJPk9ooBnmzx1t5XbIxqBKpJ4NGTgzwKiGpK4do72gb+ZUMIYtCPm9WCPMsYTE5k2hq2ZvzujlCE1iRmwf3dvmRyKsT0T7b9I7HEPCpqCiqT2IIqaT1pI0noQZdlFC8l/PbYPAnRORT56VBEE6FXkb49agmByKhJ71BME6FsvEntUFQTdqekisUdlQWCXhovEHtUFAWbTapHYo8YgmFybO3vsUWcQYGmxSOxRbRAMprkisUfFQVKmrX18sxt7VB0ENjT1xir2qDxIwkFi3v89e+xRfxAMzfzzIfZ4hyAYDR9zwVuLPd4jCDrTwoLYGb5LEFi3/+E3rweR6urX20c/Fvls2Pvwm9mDSGIPhv8YPyGf3/eo9Ye7O8B2FIShAAooakEttex/rbODad5/yTHIAjqn505IQPv+Xz06dz+4VXORHEZcgAcB8updM8F6e25jBzwIkE07l+x8amMnPDp6nsNJ+BoZ7Q6F8egqAda9VEuRNlZjBzwYkMskdXR73okd8GBAJiKYjBcZKKqG9OiKDbgdfxJ5VhsBPDiQZhaouD3p4hfw4EAmwxisz3MSHwAPEmQ1TB1N+SmXWoAHC7JbZsWl/IxLLcCDBplNo3lrfMLsmwAPGmShAxX5/1vOEzjEz3iyfQ/hI36W4TctsUesOAifPdrQg8M++KYl95iCBkjI1r8634betBAPHZDTPFAmD3zLiHgogVTziMsahz0eIh5aIGHGRSJ2mFtHPR4iHhQIP2UvWGMf8wk74qEIEib7rLjPiBfxiAcCwp8V+Nae3uMdRhAPDIR/J5f/Q2DTcC+hIB7qIGEq3Ti9bx+sryMeAAgS70OK8G2kBD8L8QBAoLWU3g3vUVIc6D0txAMAsY+4jBWowXHO64gHBGKfYJ2T5qY1BxcL98BB+PQ+XiS9xxh9EQ8ChA6C5UXWIUoE9MBB8LVHQoS7ib8/dRn3sAcJ6bQRSdH96RDxIEH4QEX+AHF4LxHEAwUh12xyr1V8lwjiQYDYF8kuf1jluUQQDwrEvkhW8Wc6LhHUgwfhi4QPlHm7LRHawx4kpE191Dq8lgjhAYDQa1cftYrPEiE8OJDb40uqyzdQCA8WhAzL4G/PT4c3WrgHD2IfllGl53V37zsgHg5ApPNvVvq4Fn4spx4oiH1W3CwtEV+PDhEPJyBSkVX4aa7emkM83ICEKWpGM7wdvYCCeDgCEYpcwhLxczhEPFyBCEUWnRL5T6X59SBASBF+9l28TL5F7uEORCZyCUvEx+S7yT0cgoRVb9JaXLR1qUdfgksQ0fTbgmhFB20d8HAKEha14+F8f1sHPNyCiL6EqK+n20/rgIdjkFC0Ho1s6Gndvcc9ICkr/ey8/rHO6vp9KawL8DAFOV6l9Fyub7IbflsCag1qRfVsXWvxHjxIejU+BHZV6uvHD1XiEb++Bw8i+dNd+Wv0eCQmhcPhRPwUUt2DB5G1sfa1aeyzAuyJj9x2HjyIdKzIKw5SI14ieFtvo3kIQERj3lVhkUOnRD7AnjV5369QkAOJZeCH+Jh41xOLs73dQwAifY6dpxCCbjTDzLf1Bm1Y93tAIDOWXcLPvrHyr2hVoEAceEAgDQzB4jetk0/c2OXRHB48EJCpa4dgpYh2ETxtrshz7zx4ICCzfuTSDn8p/EOS9OTjwgMB+cABP3yWYuOPIofs33LigYCULlpZNXJppVU30Vf14kGAUCLijf1D71lN9FW9eFiA9KgZ8FPpPUsSnufGA+8hvAg2Kpz0nrX//qp+PIgpC3i6xJRITOye9fn1VT15ICCrVlQG5rywo0H8x965bVkNwmCYQ2kR6Gmb939WXV65dFnI/tPdjPBfO7XMN4EkTUJtqZp4sCJ1+8jwkhMu0KpMxFXFA8hlVfQSMxGH5mDK1VKV8QCyvTVtUiYyo7V358VStfGoAEFMhGYhEwloxZy9WKo2Hjwg5iSOvFDXeUYd33+PuVfHgwnEBWLocDJp+IIa2fyvperjwQRiXCKGosyXqoA+YfsIELuYu4HAt+msMknfDK4jfQJIzOZ2IPAQWJtFOhQKivR2IDZ6Awis7V0iLxqBI7uEZo19dakTogLSwKvf8yk8Jq6CGK0GKvWlatG7b7kkUU/Lo1gdXWn7/4E0j0qeJDpqN/ABqQcgJgdqURb4chjQktIugDS6wFFiz3JgaJj7AGJmholAe9YKhoZLJ0Ca6smjwJ4VwVN96gVIE5GM71kHaGKxGyAtRDaB2NBhLVmpHyANRKzDO28W7FS3HQFpaIWa8TrfCXQwegJSL5k+8M9UJ+pm9QTEnCIZrR0MDQeQ9ua0iCcYQaBTV0CqNXQW/yiyYG7W1heQanPaCkciBXuH1BkQJzHcDQxmpgGkPatl4WkbCXO/bW9AqlNg4H0PPMi6A1IxkQmOZ8D0ousNSMVEEuyreTAQ6Q7IRJeCX2YZQHhv6SrBOmpkM+YUzN0BqSRQCupmTeCP9wdkhiOREwtEzgGEsWcF9BhK9R8fQDiN7A8DiR0CKXQlj/q9IM8OgXjIzcKBlAHkD6FulgNzJwPIHwpo8mQAkX3LiPq9dKUMAQk9AqmcqmjuBAJCPQIpA4guIAsKJA0gnwNy3A4kDyBIHCEPxAwgf8gPILqA5AFEF5CxZX0lIHYc6rqADLf380BmFMgxgIzUyf8MJKLTRelKHgKy9wgkjfS7LiA0gKgC8vQn3HUA4RQ5LKPIAQciWbqIEg0YkLNDIHYUyqkCsmKN5vg3+W0AYTRATaPY+uu1IwS6UMGAlO6AFPjSCQMStaNh53cdcPG7Hx1Uupo+rx+Bltn1BuTAj5BptEV/bHAAwbnJMICwRmtUDOSEA8s4Rmtw3nITGD6TwUNoG0Ca7xi2YKSPj2eKXQFxQWKA2QbGMWEMMGseOb7C7T47uJS1JyAzVbTjqZdU3zbHzMXWS+qp4Fgn8Ahy/QCRGqQcwU1vGnN7fylboWn8Bzg//hyjxltvdcl45bwFfYKzFyBy11UU9BnjuoqfWizVlQXulpzBTNbaB5Aid+VRrkBFB630AMS9BC8FK2ggE7u/FGy1kvfcB9TKQufX5uUXNWl3EjvWCi4k/u9A3Ddq1CpTIQGe6VN1qd8ArcvDQNw3S41Kn6qQmOq5e7pRr+8fAYLiIJtFrrvYRMYL0q06vj8EZLXUriJzRY8H1xEagOCK7gkghRg6RQYO0I6aWPwIEAru80AiMWSdzAeuDXUKyr+WqpAID8hMHC1Ct8F4mUsQ6W8pJMICki0JHCBczAFdBl38G3VE6ErQhhWlih4LWrCSLpaqjggHiGe9mVjRY0YPoelyqcqIcIDEe97rqJFFH7FcLlUZEQ6Qg5plvZiBFNhtri1VFREGEC/Eg4nZoU5vqi1VFREGkIXDQ8xAIhzoT/WlKiLCAFIYPOQMxOPdjfWlKiLCADJRm3YGj+pDE2xktmmpaogwgMz8d8GrumZ4xzpbvinqISJ+hiTWm7wEqoJdI9JEV9JChAEkS3xCZzKecLcgN6YwlRBhAGmweTsblg6qKMM7Vmh321UQ4QAp1VfwhqVJIh+Wm03W0qV0EOEAybXtivkCmWrKeH2EZ/xBaSBCV2L9Re+LYSqJJIxDu1ew07U0EGEBcTtmHty4JuPtQhvLh1BAhK7Uvvq0GK484QZST0GvvFDqeSJ1IA0r2mfDljvqBoJ//rVsq7yZCA6kXgVkJ2f4ijIGMjOfMVsCBBORB2Jy+sM6ijNvaBUqmw/cStZ8EiKciHwp6Rp++88qmxXQeTUxDiJWJ9wSISvBicgXW+dypn1PqWTznlwgwdZdfiLHr5OELEAEASKvJFRE5JCPKbh8OxHdQKJU0crEzRXrJ/IEkFms6tGyrUw9kQeALFRXvK2iSzsRAAi6BLxM+60xdsqJAEBuXMAMxDLVp+gmAgC57/UT4qvVj3TVRCAgSAYL91aXtyNLzUQAIFhAiP8m0/NHOp+ILiBtPFKrs6bgSOcT0QTEB8nO3QR1yKslggKRf+m11UB0HOl8IlqAeCvauXuo8HnfIqIDyCw6G8XMcGiplMingMzCnbuHFp/3LSLPA4nUpqm5YkWNzwsQeQxIDsKjH5wVSU5qJPIJIIt4jjpqNBAekQeBfJOeHWS81FQoo4/I7UDcS3wUh0liTzLqiEgDqddx4ZHDrNZAACIAEMw88HPYWb0GAhABgEDmgf9Vb5oNBCByOxD3uqWYbCHVBgIQuRlIsbfwMEG5gQBE7gSyHMDsOayrxJvHBRC5B0hOxJH1nK4SlUE6QOR+IG6ju3iYQEqDdIDIzUDyZu/jMRHpS/OiRG4FkiPRfTw8kbrvIAJEACAIDpyHC1/GQHhEbgKSXwTyqIeEur6kixEBgABHOTr7YSX1MSFAhA0E307wUU76Y0KACAsI/tvCRzkF+iIuL0AEAYLbR2QOfvhKJ/obRESBxNt5rPSFXN4f7dyNdqMgEIbhAXWwJErT/e7/Wreb5HTT07QVgWSAeW5g7b4n8qOSUCRPEId4HP93SXp5dDNGRJFcQTxihSH+NW1Bb1cXKpIryJAwnG/zhl8ZcSP6jiKZghwRaaWLnP/AkcSKKJIniEcUs8QfjFLdEmRvkSxB4lfn0QN6DY+lshQpHiT96Dlr6r5hxRUpHST9ZEY71X7DOmOZQVZLsd5Q8wzrPxYYJDiKNqOBG1ZCkZKzrNXu6lHvkjChSFqQsdTPg45ApXtYaUXKr9TNuPcvqO2pVMkitFXAL2a79/qr3HQvVSTXUtofCl79RDXh5CDpw3pwu6+9kRlvtiI5VtPhmHLltT4EKVQkfb8pcOHrXqk6nBAksUjgpKtuYsskaxGKYT0+84uYgziE4YQgMdx0m8PRfis2MbL33PMXoVjD6PEunI4HSjDjStiJP08vQk9hZzQ7oH/geoLYCUBDW4rf4FqCDFt7THUO6B+4jiDn2XNTW7zf4hqCMND4BOsGyw+yAmh0x+QeFh7EeqD5Ce8nLDrI8NpbDyIWHIQNruo4GyAPlhrEzuixBxHLDDJMnfYgYolBricHNfjIdgMWF+Qyu+pkgX4HCwuymL57ELGkIHZG7z2IWE6Q5VV7vGMhQewbtMcZiwhyHj26ne9+xs8PcvDQHnFFqCD7Au0RW4TK+fOKqw4eoOcqYqgU53HR3/5uShFPCfKey9hFDyJO/vAi7RDZnp7X5igyUH72xSDW1E2Pn4tMRCQgR8vLwbgii4gcmLvqQcSPGtIPX3M08wn6I4qYQ94cM/Yw9Xxhmw+X/59wHrtMlX1AmIkzdyaaAnLg1Nnw8WGYSk40X/BOh4+El6LMSBnN2Cd0tPq4w/LJXGrMbCX06PZ2dcM65yzlNertShSHf3SzRAyPM332IcSAHUKPi8EHmXU0l8Uglmni0yipDoi16s+jJKejhywLooz68yiMEcHr2qM4h81CJ++VPJfTu5UwBpv4Pp9DJSi6MJx0bvUwiw4ewgT8zNR0LHUL+OccOpY/3ElzyGKD5pBlMJpDlsOkMythRoNbXh95PJsdA67MrMtAEYbjeDqNo+7oKqWUUkoppZRSSimllFJKFfMXp4vmSjB8n6sAAAAASUVORK5CYII="),Xpt.IMAGE}dispose(){super.dispose(),this.started=!1,delete this._audio}ready(){super.ready(),this._audio=new Audio,this._audio.addEventListener("canplay",()=>{this.started&&this._audio.play()});var{src:t="",loop:e=!1,started:r=!1}=this.state;this.onchangeSrc(t),this.onchangeLoop(e),this.onchangeStarted(r)}render(t){var{left:e,top:r,width:n,height:i,src:o}=this.state;t.beginPath(),this.drawImage(t,Xpt.image,e,r,n,i)}get nature(){return Vpt}get hasTextProperty(){return!1}get src(){return this.get("src")}set src(t){this.set("src",t)}get started(){return!!this.get("started")}set started(t){this.set("started",t)}start(){this._audio&&(this._audio.classList.add("active"),this._audio.play())}pause(){this._audio&&(this._audio.classList.remove("active"),this._audio.pause())}onchangeSrc(t){try{"data"!==String(t).substring(0,4)?this._audio.crossOrigin="use-credentials":this._audio.crossOrigin=null,this._audio.src="string"==typeof t?this.app.url(t):t}catch(t){return void console.error(t)}}onchangeStarted(t){const e=this._audio;t?4==e.readyState&&e.play():e.pause()}onchangeLoop(t){this._audio.loop=t}onchange(t,e){"src"in t&&this.onchangeSrc(t.src),"started"in t&&this.onchangeStarted(t.started),"loop"in t&&this.onchangeLoop(t.loop)}ondblclick(t){this.started=!this.started}ondropfile(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("audio/"))return void(this.src=e[r])}}llt.register("audio",Xpt);class Kpt extends(flt(llt)){is3dish(){return!0}}llt.register("text",Kpt);const Qpt=["refid","left","top","width","height","rotation","animation"];class Jpt extends apt{isGroup(){return!0}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});var r=Qpt.reduce((e,r)=>(t.hasOwnProperty(r)&&(e[r]=t[r]),e),{});return super.set(r)}capture(t,e,r){var n=super.capture(t,e,r);if(n!==this)return n}set bounds(t){if(this.__MUTATING__)super.bounds=t;else{var e=this.bounds,r=t.width/e.width,n=t.height/e.height;this.path=this.path.map(i=>({x:t.left+(i.x-e.left)*r,y:t.top+(i.y-e.top)*n})),this.components&&this.components.forEach(t=>{if(t.mutable)t.mutatePath(null,function(t){return t.map(function(t){return{x:t.x*r,y:t.y*n}})});else{let e=t.bounds,i=t.center,o={x:i.x*(1-r),y:i.y*(1-n)},a=e.width*(1-r),s=e.height*(1-n),c=-(o.x-a/2),l=-(o.y-s/2);t.bounds={left:e.left+c,top:e.top+l,width:e.width*r,height:e.height*n}}})}}get focusible(){return!1}get bounds(){return super.bounds}get hasTextProperty(){return!1}isIdentifiable(){return!1}calculateBounds(){this.clearCache(),this.__MUTATING__=!0,this.mutateBounds(function(t){var e=llt.union(this.components.map(t=>t.bounds));return this.components.forEach(t=>{let r=t.bounds;t.bounds={left:r.left-e.left,top:r.top-e.top,width:r.width,height:r.height}}),{left:t.left+e.left,top:t.top+e.top,width:e.width,height:e.height}},this),this.__MUTATING__=!1,this.parent.isGroup()&&this.parent.calculateBounds()}render(t){}postrender(t){var{top:e,left:r,scale:n}=this.state;t.translate(r,e),this.layout.drawables(this).forEach(e=>{e.draw(t)}),t.translate(-r,-e)}}llt.register("group",Jpt);const Zpt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"id-input",label:"ref",name:"ref"},{type:"select",label:"fit",name:"fit",property:{options:["","both","ratio"]}}],"value-property":"ref",help:"scene/component/local-ref"};class tgt extends(flt(ult)){get ref(){var t=this.getState("ref");return t&&"string"==typeof t?this.root.findById(t):null}set ref(t){this.setState("ref",t)}get refScale(){let t=this.ref.bounds,e=this.bounds,r=e.width/t.width,n=e.height/t.height;return"both"===this.model.fit?{x:r,y:n}:{x:Math.min(r,n),y:Math.min(r,n)}}draw(t){this._drawing||(this._drawing=!0,super.draw(t),this._drawing=!1)}prerender(t){if(super.prerender(t),this.ref){let e=this.ref.center,r=this.center,n=this.refScale;t.translate(r.x,r.y),t.scale(n.x,n.y),t.translate(-e.x,-e.y)}}postrender(t){if(this.ref)return this.ref.postrender(t);super.postrender(t)}render(t){if(this.ref)return this.ref.render(t);this.state;var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),t.rect(e,r,n,i)}get nature(){return Zpt}get hasTextProperty(){return!1}}llt.memoize(tgt.prototype,"ref",!1),llt.memoize(tgt.prototype,"refScale",!1),llt.register("local-ref",tgt);class egt extends(rpt(Flt)){render(t){}is3dish(){return!0}get layout(){return mlt.get(this.get("layout"))||blt}}const rgt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"scene-number",name:"ref",placeholder:"SCENE-1"},{type:"number",label:"round",name:"round",property:{min:0}},{type:"select",label:"fit",name:"fit",property:{options:["","both","ratio","width","height","none"]}},{type:"select",label:"mode",name:"mode",property:{options:["view","interaction"]}}],"value-property":"ref",help:"scene/component/global-ref"};class ngt extends egt{dispose(){this._releaseRef(),super.dispose()}get nature(){return rgt}get hasTextProperty(){return!1}get tagName(){return"div"}setElementProperties(t){var{mode:e="view",round:r=0}=this.state;t.style.pointerEvents="view"==e?"none":"inherit",t.style.borderRadius=r+"px"}ready(){super.ready(),this.fetchRef()}reposition(){if(!this.element)return;super.reposition();let t=this._element_bounds,{offsetWidth:e,offsetHeight:r}=this.element;if(this._element_bounds={offsetWidth:e,offsetHeight:r},(!t||t.offsetWidth!=e||t.offsetHeight!=r)&&this.ref&&this.root.target_element){let{fit:t="ratio"}=this.state;this.ref.fit(t)}}async fetchRef(){this._releaseRef();var{ref:t,fit:e="ratio"}=this.state;if(t){var r=this.app.refProvider;if(r&&t)try{this.__ref=await r.get(t,!0),this.__ref.target=this.element,this.__ref.fit(e),this.__ref.data=this.data}catch(t){Ost(t)}}}get ref(){return this.__ref}set ref(t){this.setState("ref",t)}_releaseRef(){this.__ref&&this.__ref.release&&this.__ref.release(),delete this.__ref}onchange(t,e,r){super.onchange(t,e,r),"ref"in t&&this.fetchRef(),"fit"in t&&this.ref&&requestAnimationFrame(()=>{let{fit:t}=this.state;this.ref.fit(t)}),"data"in t&&this.ref&&requestAnimationFrame(()=>{this.ref.data=t.data})}}llt.register("global-ref",ngt);const igt="center-middle",ogt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"board",name:"board"},{type:"checkbox",label:"modal",name:"modal"},{type:"checkbox",label:"closable",name:"closable"},{type:"checkbox",label:"draggable",name:"draggable"},{type:"checkbox",label:"minimizable",name:"minimizable"},{type:"checkbox",label:"show",name:"show"},{type:"select",label:"popup-position",name:"popupPosition",property:{options:["static","absolute"]}},{type:"select",label:"popup-origin",name:"origin",property:{options:["left-top","center-top","right-top","left-middle",igt,"right-middle","left-bottom","center-bottom","right-bottom","auto"]}},{type:"string",label:"title",name:"text"},{type:"data",label:"value",name:"value"}],help:"scene/component/popup"};class agt extends(flt(ult)){static get image(){return agt._image||(agt._image=new Image,agt._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAMAAABG8BK2AAADJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkM4QzQxNUMzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkM4QzQxNUQzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENjlENTQ3RjMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENjlENTQ4MDMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsiUYSQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA51BMVEVHcEwzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOguTm2AAAATHRSTlMARhB73r9B7YLrsqdE+0cq9Avzeg31eQx4aQ+Ks6aUd5DsYKixEX1w8vyT2VjoZ3YezY/cCEDvl+QTvRwJ0ifwK/5T/aw6+IuFuCImAcS6MQAAAeJJREFUWMPt2FlX2zAQhuHJYmOSFhIggbC0QNn3rS1dKXSH9///Hi58CJLxKIpEWi6YO8c5z4lG/nxGEXmu/1OVLGnhrFaSVQYg1SZetTTvUibqeFZ9QlfmvRWoV1VmCaCRzroXPpsuAjTV7gLUfPahBqD1OQMW/fazAWTKvQRI/ZgUSJR7U8CM/dHZ+/2VcatWdvdEZAaYUhiAwkerJXt0rnzXwdRKmHfDM0fHD5kxjTFyVLzVfvvirn7+cDJWjhy7c7XlYuwc6Urvu2tRhRypyhwAf1sKY+TIxfQA+H39q5wxc+RgVrcBduTmZTlj5khnDgH4IzKpMGaOVCbvyyvRGTNHGtPrKypjXirM5jb910I4k69oQeKY+77EMAcALEsck/+W6f71tyCma/ZFROTrJVwMy7wmf3bv6/MX+Dgkkysblvxps/dhOKZb6IvrTakzXXuPApnpYneDGOeKvJlaSXcDmA7AicQyW84VeTOnY+NdiWcG1uiZksFEHdyAlsJEjEkmkwGNsKHNZCJGSKtVTYC1tO022mnjwUBrMdXg8dreuOBhv7D/62/8lGZ1wLxXyZKOm+iUHIQintyny0TkaATHjYgcjeAoFpEje9R/nGPqIx2aw3NU9odCQI6e6x/VLY32cKQXVBnkAAAAAElFTkSuQmCC"),agt._image}ready(){super.ready(),this.show&&this.onchangeShow(!0)}render(t){var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),this.drawImage(t,agt.image,e,r,n,i)}onchange(t,e){"value"in t?this.show?this.onchangeShow(!0):this.show=!0:"show"in t&&this.onchangeShow(this.show)}onchangeShow(t){!this.app.isEditMode&&this.getState("board")&&(t?this.openPopup(this.value):this.hidePopup())}openPopup(t,e){this.app.isEditMode||Slt.show(this,this.getState("board"),{origin:this.getState("origin")||igt,modal:this.getState("modal"),closable:this.getState("closable")||!1,draggable:this.getState("draggable")||!1,minimizable:this.getState("minimizable")||!1,popupPosition:this.getState("popupPosition"),title:this.text,data:t||this.value,...e})}hidePopup(){Slt.hide(this)}get board(){return this.getState("board")}set board(t){this.set("board",t)}get show(){return this.getState("show")}set show(t){this.setState("show",t)}get started(){return this.getState("show")}set started(t){this.setState("show",t)}get value(){return this.getState("value")}set value(t){this.setState("value",t)}get hasTextProperty(){return!1}get nature(){return ogt}}llt.register("popup",agt);class sgt extends llt{render(t){var{path:e=[]}=this.state;if(!(e.length<=1)){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(let r=1;r<e.length;r++)t.lineTo(e[r].x,e[r].y);t.closePath(),this.drawStroke(t)}}get path(){return this.model.path}set path(t){this.set("path",t)}contains(t,e){var r=this.state.path,n=!1;return r.forEach((i,o)=>{let a=(o+r.length+1)%r.length,s=i.x,c=i.y,l=r[a].x,u=r[a].y;c>e!=u>e&&t<(l-s)*(e-c)/(u-c)+s&&(n=!n)}),n}}llt.register("path",sgt);const cgt={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/triangle"};class lgt extends ult{contains(t,e){var{x1:r,y1:n,x2:i,y2:o,x3:a,y3:s}=this.state,c=[r,n,i,o,a,s],l=!1;for(let r=0;r<c.length;r+=2){let n=(r+2)%c.length,i=c[r],o=c[r+1],a=c[n+1];o>e!=a>e&&t<(c[n]-i)*(e-o)/(a-o)+i&&(l=!l)}return l}get mutable(){return!0}get path(){var{x1:t,y1:e,x2:r,y2:n,x3:i,y3:o}=this.state;return[{x:t,y:e},{x:r,y:n},{x:i,y:o}]}set path(t){this.set({x1:t[0].x,y1:t[0].y,x2:t[1].x,y2:t[1].y,x3:t[2].x,y3:t[2].y})}get nature(){return cgt}}llt.memoize(lgt.prototype,"path",!1),llt.register("triangle",lgt);const ugt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"}],help:"scene/component/donut"};var hgt={ondragmove:function(t,e,r){r.controls;var{cx:n,rx:i}=r.model;i=Math.abs(i);var o=(r.fromParent(t.x,t.y).x-n)/i*100;o=o>=100||o<=-100?100:Math.abs(o),r.set({ratio:o})}};class fgt extends Apt{is3dish(){return!1}render(t){var{ratio:e=50,cx:r,cy:n,rx:i,ry:o,startAngle:a,endAngle:s,anticlockwise:c}=this.state;i=Math.abs(i),o=Math.abs(o),t.beginPath(),t.ellipse(r,n,i,o,0,a||0,s||2*Math.PI,c),t.moveTo(r+i/100*e,n),t.ellipse(r,n,i/100*e,o/100*e,0,a||0,s||2*Math.PI,!0)}contains(t,e){var{cx:r,cy:n,rx:i,ry:o,ratio:a}=this.state,s=(t-r)/(2*(i=Math.abs(i))-.5),c=(e-n)/(2*(o=Math.abs(o))-.5),l=(t-r)/(i/100*a*2-.5),u=(e-n)/(o/100*a*2-.5),h=!1;return s*s+c*c<.25&&l*l+u*u>.25&&(h=!h),h}get controls(){var{cx:t,cy:e,rx:r,ratio:n}=this.state;return[{x:t+(r=Math.abs(r))/100*n,y:e,handler:hgt}]}get nature(){return ugt}}llt.memoize(fgt.prototype,"controls",!1),llt.register("donut",fgt);const dgt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"},{type:"number",label:"wing",name:"wing",property:"wing"}],help:"scene/component/star"};var pgt={ondragmove:function(t,e,r){r.controls;var{cy:n,ry:i}=r.model,o=(r.fromParent(t.x,t.y).y-n)/i*100+100;o>=100?o=100:o<=0&&(o=0),r.set({ratio:o})}};class ggt extends Apt{is3dish(){return!1}render(t){var{ratio:e=30,wing:r=5,cx:n,cy:i,rx:o,ry:a,startAngle:s,endAngle:c,anticlockwise:l}=this.state;if(r<3)return;const u=1.5707963267948966;var h=2*Math.PI/r,f=o-e/100*o,d=a-e/100*a;t.save(),t.beginPath(),t.translate(n,i),t.moveTo(o*Math.cos(-u),a*Math.sin(-u)),t.lineTo((o-f)*(Math.cos(h-u)+Math.cos(0-u))/2,(a-d)*(Math.sin(h-u)+Math.sin(0-u))/2);for(var p=1;p<r;p++)t.lineTo(o*Math.cos(h*p-u),a*Math.sin(h*p-u)),t.lineTo((o-f)*(Math.cos(h*(p+1)-u)+Math.cos(h*p-u))/2,(a-d)*(Math.sin(h*(p+1)-u)+Math.sin(h*p-u))/2);t.closePath(),t.restore()}get controls(){var{cx:t,cy:e,ry:r,ratio:n}=this.state;return[{x:t,y:e-r+r*(n/100),handler:pgt}]}get nature(){return dgt}}llt.memoize(ggt.prototype,"controls",!1),llt.register("star",ggt);const vgt={mutable:!1,resizable:!1,rotatable:!1,properties:[]};class ygt extends(aut(ult)){is3dish(){return!1}isDescendible(){return!1}render(t){const{cx:e,cy:r,anticlockwise:n}=this.state,i=this.app?.scale||1;t.beginPath(),t.scale(1/i,1/i),t.ellipse(e,r,Math.abs(ygt.RADIUS),Math.abs(ygt.RADIUS),0,0,2*Math.PI,n),t.scale(i,i),t.closePath()}get path(){var{cx:t,cy:e}=this.state;return[{x:t-ygt.RADIUS,y:e-ygt.RADIUS},{x:t+ygt.RADIUS,y:e-ygt.RADIUS},{x:t+ygt.RADIUS,y:e+ygt.RADIUS},{x:t-ygt.RADIUS,y:e+ygt.RADIUS}]}set path(t){var e=t[0],r=t[2];this.set({cx:e.x+(r.x-e.x)/2,cy:e.y+(r.y-e.y)/2})}contains(t,e){var{cx:r,cy:n}=this.state,i=(t-r)/(2*ygt.RADIUS-.5),o=(e-n)/(2*ygt.RADIUS-.5);return i*i+o*o<.25}outline(t){var{cx:e,cy:r}=this.state;return this.toScene(e,r)}get nature(){return vgt}}ygt.RADIUS=5,llt.memoize(ygt.prototype,"path",!1),llt.register("node",ygt);var mgt=t=>class extends t{animOnValueChange(t,e=!1,r){if(t!=this._lastValue){if(e)var n=t-(Number(r)||0);else n=t-(this._lastValue||0);this._lastValue=t,this._anim_alpha=-n,this.animate({step:t=>{this._anim_alpha=n*(t-1),this.invalidate()},duration:1e3,delta:"circ",options:{x:1},ease:"out"}).start()}}dispose(){super.dispose(),delete this._value_substitutor}onchange(t,e){t.hasOwnProperty("value")&&delete this._value_substitutor}get animAlpha(){return this._anim_alpha||0}get animValue(){return(this._lastValue||0)+(this._anim_alpha||0)}defaultValueSubstitutor(){return this.getState("value")}get valueSubstitutor(){return this._value_substitutor||(this._value_substitutor=Zct(this.getState("value"),this)||this.defaultValueSubstitutor),this._value_substitutor}get value(){return Number(this.valueSubstitutor())||0}set value(t){delete this._value_substitutor,this.setState("value",Number(vst(t)))}},bgt=t=>class extends t{_convertDataFormat(t,e){var r;if("json"===e)r=JSON.parse(t);else r=t;return r}isDataSource(){return!0}};function xgt(t){return function(e){return Array.isArray(t)?t.forEach(t=>{llt.register(t,e)}):llt.register(t,e),e}}var wgt=0;const Agt=new FinalizationRegistry(()=>{wgt--});class _gt{static get residents(){return wgt}static get residentsCount(){return wgt}constructor(t,e){this.counters={},this.references={},this.creator=t,this.disposer=e,wgt++,Agt.register(this,wgt)}dispose(){if(this.disposer)for(let t in this.references)this.disposer.call(null,t,this.references[t]);delete this.references,delete this.counters}get ids(){return Object.keys(this.references)}create(t){var e=this;return new Promise(function(r,n){e.creator?e.creator.call(null,t,function(e){!function(e){e.release=function(){this.disposer&&this.disposer.call(null,t,e),delete e.release,Pst("RELEASED",t)},r(e)}(e)},function(t){n(t)}):n(Error("Reference id("+t+") could not be created. Reference creator should be defined."))})}add(t,e){var r=this,n=new Promise(function(n,i){var o=r.references[t];if(o)o===e?i(Error("Reference ID and target duplicate")):e?i(Error("Reference ID duplicate")):n(o);else{function a(e){e.release=function(){r.release(this)},r.references[t]=e,r.counters[t]=1,n(e)}if(e)a(e);else{if(!r.creator)return void i(Error("Reference id("+t+") is not allowed. Reference creator should be defined."));r.creator.call(null,t,function(t){a(t)},function(t){i(t)})}}});return this.references[t]||(this.references[t]=n),n}async get(t,e=!1){var r=this.references[t];if(r){if(!(r instanceof Promise)){if(!(t in this.counters))throw new Error("No Reference Count");return this.counters[t]++,r}if(e)return r=await r,this.counters[t]++,r}if(e)return await this.add(t);throw new Error("No References for "+t)}_id(t){for(let e in this.references){if(this.references[e]===t)return e}return-1}release(t){var e=this._id(t),r=this.references[e];r?(this.counters[e]--,0==this.counters[e]&&(this.disposer&&this.disposer.call(null,e,r),delete this.references[e],delete this.counters[e],delete t.release,Pst("RELEASED",e))):Ost("No Referenced ID")}}var Egt={},kgt={},Sgt=[];function Mgt(t){var e="SCRIPT"==t.target.tagName?Egt:kgt,r=t.target.src||t.target.href;e[r]=!0,Sgt.forEach((t,n)=>{let{resolve:i,scripts:o,styles:a}=t;if(e==Egt){let t=o.indexOf(r);t>-1&&t<o.length-1&&Tgt(o[t+1])}for(let t=0;t<o.length;t++)if(!Egt[o[t]])return;if(a)for(let t=0;t<a.length;t++)if(!kgt[a[t]])return;i(),Sgt[n]=null}),Sgt=Sgt.filter(Boolean)}function Ogt(t){var e=t.target.src,r="SCRIPT"==t.target.tagName?Egt:kgt;Sgt.forEach((n,i)=>{let{reject:o,scripts:a,styles:s}=n,c=!1;if(r===Egt){for(let t=0;t<a.length;t++)if(a[t]==e){c=!0;break}}else if(s)for(let t=0;t<s.length;t++)if(s[t]==e){c=!0;break}c&&(o(t),Sgt[i]=null)}),Sgt=Sgt.filter(Boolean),delete r[e],document.head.removeChild(t.target)}function Tgt(t){Egt[t]=!1;var e=document.createElement("script");e.onload=Mgt,e.onerror=Ogt,e.type="text/javascript",e.src=t,document.head.appendChild(e)}class Pgt{static load(t,e){return"string"==typeof t&&(t=[t]),"string"==typeof e&&(e=[e]),new Promise(function(r,n){if((!t||t instanceof Array)&&(!e||e instanceof Array)){var i,o=!0;if(e&&e.forEach(t=>{kgt.hasOwnProperty(t)||function(t){kgt[t]=!1;var e=document.createElement("link");e.onload=Mgt,e.onerror=Ogt,e.type="text/css",e.rel="stylesheet",e.media="screen,print",e.href=t,document.head.appendChild(e)}(t),kgt[t]||(o=!1)}),t&&t.length>0&&t.forEach(t=>{Egt.hasOwnProperty(t)?Egt[t]||(o=!1):i=i||t}),i)Tgt(i);else if(o)return void r(void 0);Sgt.push({resolve:r,reject:n,scripts:t,styles:e})}else n("invalid sources for load")})}}const Igt="0.0.0";var Cgt=0,Rgt=performance.now(),Dgt=0;function jgt(){return Cgt}requestAnimationFrame(function t(){requestAnimationFrame(t),Dgt++;var e=performance.now(),r=e-Rgt;r<1e3||(Cgt=Math.round(1e3*Dgt/r),Rgt=e,Dgt=0)});var Lgt=But;function Ngt(){}export{Mlt as AbsoluteLayout,Xpt as AudioPlayer,Tlt as CardLayout,llt as Component,aut as Connectable,apt as Container,Flt as ContainerAbstract,Gst as DEFAULT,Bst as DPPX,bgt as DataSource,fgt as Donut,Apt as Ellipse,pft as EventMap,jgt as FPS,$st as GESTURES,qpt as GifView,ngt as GlobalRef,Jpt as Group,blt as HTMLAbsoluteLayout,egt as HTMLOverlayContainer,Rpt as HTMLOverlayElement,Cpt as ImageView,vlt as InfoWindow,Yst as KEYEVENTS,zlt as Layer,mlt as Layout,xpt as Line,Ilt as LinearHorizontalLayout,Rlt as LinearVerticalLayout,tgt as LocalRef,Ust as MAX_UNDO_SIZE,Lst as MODE_ADD,Dst as MODE_EDIT,Fst as MODE_PASTE_DATABIND,Nst as MODE_PASTE_STYLE,jst as MODE_SHIFT,Rst as MODE_VIEW,Lgt as Model,Llt as MoveHandle,Cst as NOTHING,ygt as Node,Ppt as OrthoLine,sgt as Path,kpt as Polygon,Opt as Polyline,agt as Popup,lut as Rect,flt as RectPath,_gt as ReferenceMap,Oft as RootContainer,hut as Ruler,zst as SCENE_MODE,$ft as Scene,Slt as ScenePopup,Pgt as ScriptLoader,ult as Shape,ggt as Star,Dlt as TableLayout,Kpt as Text,lgt as Triangle,mgt as ValueHolder,Gft as create,Pst as debug,Ost as error,Wst as initFontFamilyWatcher,Ngt as license,pnt as polyfill,xgt as sceneComponent,Hst as updateDefaultFontFamily,Igt as version,Tst as warn};
51
+ `,this.element)}catch(t){}}onchangeMinimized(){const{minimized:t}=this.state;t?this.setState("height",24):this.setState("height",this.get("height"))}}Hu=new WeakMap,tc.memoize(Ku.prototype,"bounds",!0),tc.register("container",Ku);const $u=Math.sqrt(3),Qu=2;function Zu(t,e,n,r,i){const s=5+i,o=n.x,a=n.y,c=r.x,l=r.y;if(Math.abs(o-c)>s&&Math.abs(a-l)>s){const n=(l-a)/(c-o),r=a-n*o;if(Math.abs(e-(n*t+r))>s)return!1}let h,d,u,p;return o>c?(d=o,h=c):(d=c,h=o),a>l?(p=a,u=l):(p=l,u=a),!(d+5<t)&&(!(h-5>t)&&(!(p+5<e)&&!(u-5>e)))}function Ju(t,e,n,r=2){for(let i=0;i<n.length-1;i++)if(Zu(t,e,n[i],n[i+1],r))return!0;return!1}function tp(t,e,n,r){if("arrow"!=t.slice(-5))return n;const i=Math.atan2(r.y-n.y,r.x-n.x),s=1.5*e;return{x:n.x+Math.cos(i)*s,y:n.y+Math.sin(i)*s}}function ep(t,e,n){let{lineWidth:r=Qu,strokeStyle:i="#000000",lineCap:s=!1,alpha:o=1,begin:a="none",end:c="none",beginSize:l="size5",endSize:h="size5"}=n;if(("none"!=a||"none"!=c)&&(r=Number(r)||Qu,t.lineCap=s,t.lineWidth=r,t.strokeStyle=i,t.fillStyle=i,t.globalAlpha*=o,"none"!=a&&np(t,e[0],e[1],r,a,rp(l,r)),"none"!=c)){const n=e.length;np(t,e[n-1],e[n-2],r,c,rp(h,r))}}function np(t,e,n,r,i,s){const{x:o,y:a}=e,c=Math.atan2(n.y-a,n.x-o);switch(t.beginPath(),t.translate(o,a),t.rotate(c),i){case"oval":t.ellipse(0,0,s.X,s.Y,0,0,2*Math.PI),t.fill();break;case"diamond":t.moveTo(-s.X,0),t.lineTo(0,-s.Y),t.lineTo(s.X,0),t.lineTo(0,s.Y),t.fill();break;case"arrow":t.moveTo(0,0),t.lineTo($u*s.X,-s.Y),t.lineTo($u*s.X,s.Y),t.fill();break;case"sharp-arrow":t.moveTo(0,0),t.lineTo($u*s.X,-s.Y),t.lineTo(-s.X/1.5+$u*s.X,0),t.lineTo($u*s.X,s.Y),t.fill();break;case"open-arrow":t.moveTo($u*s.X+r,-s.Y),t.lineTo(r,0),t.lineTo($u*s.X+r,s.Y),t.stroke()}t.rotate(-c),t.translate(-o,-a),t.closePath()}function rp(t,e){const n={X:0,Y:0};switch(e*=1.2,t){case"size1":n.X=e,n.Y=e;break;case"size2":n.X=1.5*e,n.Y=e;break;case"size3":n.X=2*e,n.Y=e;break;case"size4":n.X=e,n.Y=1.5*e;break;case"size5":default:n.X=1.5*e,n.Y=1.5*e;break;case"size6":n.X=2*e,n.Y=1.5*e;break;case"size7":n.X=e,n.Y=2*e;break;case"size8":n.X=1.5*e,n.Y=2*e;break;case"size9":n.X=2*e,n.Y=2*e}return n}const ip="N",sp="S",op="E",ap="W";class cp{constructor({component:t,anchor:e,position:n,self:r}){this.component=t,this._anchorName=e,this._position=n,this.self=r}get position(){const t=this.anchor;if(t){const{position:e}=t,n=this.component.toScene(e.x,e.y);return this.self.transcoordT2P(n.x,n.y)}return this._position}set position({x:t,y:e}){this._position={x:t,y:e}}get anchor(){return this.component?.findAnchor(this._anchorName)}get direction(){const t=this.component.bounds,e=this.anchor;if(!e)return op;const n=e.position;return n.y<=t.top?ip:n.y>=t.top+t.height?sp:n.x<=t.left?ap:op}get boundaryPosition(){const t=this.anchor;if(t){let{position:e}=t,n=0,r=0;switch(this.direction){case sp:r=20;break;case ip:r=-20;break;case ap:n=-20;break;default:n=20}e={x:e.x+n,y:e.y+r};const i=this.component.toScene(e.x,e.y);return this.self.transcoordT2P(i.x,i.y)}}}class lp extends tc{isLine(){return!0}replaceRefids(t){["from","to"].forEach(e=>{const n=this.get(e);if(n?.component){const r=t.get(n.component)||n.component;this.set(e,{...n,component:r})}})}get fromEnd(){if(this.parent&&!this._fromEnd){const{component:t,anchor:e,position:n}=this.getState("from")||{};if(!t)return;const r=this.root?.findByRefid?.(t);if(!r)return;this._fromEnd=new cp({component:r,fromto:"from",anchor:e,position:n,self:this})}return this._fromEnd}get from(){return this.getState("from")}set from(t){delete this._fromEnd,this.set("from",t)}get toEnd(){if(this.parent&&!this._toEnd){const{component:t,anchor:e,position:n}=this.getState("to")||{};if(!t)return;const r=this.root?.findByRefid?.(t);if(!r)return;this._toEnd=new cp({component:r,fromto:"to",anchor:e,position:n,self:this})}return this._toEnd}get to(){return this.getState("to")}set to(t){delete this._toEnd,this.set("to",t)}move({x:t,y:e},n){n&&(this.from={position:this._fromEnd?.position||this.getState("from")?.position||{x:0,y:0}},this.to={position:this._toEnd?.position||this.getState("to")?.position||{x:0,y:0}}),super.move({x:t,y:e})}render(t){const{begin:e="none",end:n="none",lineWidth:r,round:i=0}=this.state;let s=this.drawPath;ep(t,s,this.state),t.beginPath();const o=tp(e,r,s[0],s[1]),a=tp(n,r,s[s.length-1],s[s.length-2]);s=[o,...s.slice(1,-1),a];let c={x:o.x,y:o.y};t.moveTo(o.x,o.y);for(let e=1;e<s.length;e++){const n=c;c=s[e];const r=s[e+1];if(n.x===c.x&&n.y===c.y)continue;if(!r){t.lineTo(c.x,c.y);break}let o=Math.sqrt((n.x-c.x)*(n.x-c.x)+(n.y-c.y)*(n.y-c.y)),a=0!==o?Math.atan2(n.x-c.x,n.y-c.y):0,l=Math.sin(a)*Math.min(i,o/2)+c.x,h=Math.cos(a)*Math.min(i,o/2)+c.y;const d=i>0||0!==o?{x:l,y:h}:c;o=Math.sqrt((r.x-c.x)*(r.x-c.x)+(r.y-c.y)*(r.y-c.y)),a=0!==o?Math.atan2(r.x-c.x,r.y-c.y):0,l=Math.sin(a)*Math.min(i,o/2)+c.x,h=Math.cos(a)*Math.min(i,o/2)+c.y;const u=i>0||0!==o?{x:l,y:h}:c;t.lineTo(d.x,d.y),i>0&&t.quadraticCurveTo(c.x,c.y,u.x,u.y)}this.drawStroke(t,void 0)}contains(t,e){const{lineWidth:n}=this.state;return Ju(t,e,this.drawPath,n)}get resizable(){return!1}get mutable(){return!0}get rotatable(){return!1}get path(){const{from:t,to:e}=this.state,{x1:n,y1:r,x2:i,y2:s}=this.state;return[this.fromEnd?.position||t?.position||{x:n,y:r},this.toEnd?.position||e?.position||{x:i,y:s}]}set path(t){const[e,n]=t,{from:r,to:i}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...r,position:e},to:{...i,position:n}})}get textBounds(){const t=this.drawPath;let e,n,r=0;for(let i=1;i<t.length;i++){const s=t[i-1],o=t[i],a=(s.x-o.x)*(s.x-o.x)+(s.y-o.y)*(s.y-o.y);a>r&&(r=Math.ceil(a),e=s,n=o)}let{paddingTop:i,paddingLeft:s,paddingRight:o,paddingBottom:a}=this.state;return a||=0,i||=0,s||=0,o||=0,{left:Math.min(e.x,n.x)+s,top:Math.min(e.y,n.y)+i,width:Math.max(Math.abs(e.x-n.x)-s-o,0),height:Math.max(Math.abs(e.y-n.y)-i-a,0)}}get decorators(){return this.app.isEditMode?["decotag"]:[]}}lp.getTipNeckPos=tp,lp.containedInPath=Ju,lp.drawEndTips=ep,tc.register("line",lp);const hp={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"angle",label:"start-angle",name:"startAngle",property:"startAngle"},{type:"angle",label:"end-angle",name:"endAngle",property:"endAngle"}],"value-property":"text"};class dp extends(sd(ec)){is3dish(){return!0}render(t){const{cx:e,cy:n,rx:r,ry:i,startAngle:s,endAngle:o,anticlockwise:a}=this.state;t.beginPath(),t.ellipse(e,n,Math.abs(r),Math.abs(i),0,s||0,o||2*Math.PI,a),void 0!==s&&void 0!==o&&(t.lineTo(e,n),t.closePath())}get path(){const{cx:t,cy:e,rx:n,ry:r}=this.state;return[{x:t-n,y:e-r},{x:t+n,y:e-r},{x:t+n,y:e+r},{x:t-n,y:e+r}]}set path(t){const e=t[0],n=t[2];this.set({cx:e.x+(n.x-e.x)/2,cy:e.y+(n.y-e.y)/2,rx:(n.x-e.x)/2,ry:(n.y-e.y)/2})}contains(t,e){const{cx:n,cy:r,rx:i,ry:s}=this.state,o=(t-n)/(2*i-.5),a=(e-r)/(2*s-.5);return o*o+a*a<.25}outline(t){return function(t,e){const{cx:n,cy:r,rx:i,ry:s}=t.model,o=2*Math.PI*e,a=n+i*Math.cos(o),c=r+s*Math.sin(o);return t.toScene(a,c)}(this,t)}get anchors(){return function(t){const{left:e,top:n,width:r,height:i}=t.bounds,s=e+r/2,o=n+i/2;return[{name:"TOP",position:{x:s,y:n}},{name:"RIGHT",position:{x:e+r,y:o}},{name:"BOTTOM",position:{x:s,y:n+i}},{name:"LEFT",position:{x:e,y:o}}]}(this)}get nature(){return hp}}tc.memoize(dp.prototype,"path",!1),tc.register("ellipse",dp);const up={ondragstart:function(t,e,n){n.mutatePath(null,function(n){n.splice(e+1,0,t)})},ondragmove:function(t,e,n){n.mutatePath(null,function(n){n[e+1]=t})},ondragend:function(t,e,n){}},pp={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polygon"};class fp extends ec{is3dish(){return!0}get mutable(){return!0}get pathExtendable(){return!0}get path(){return this.state.path}set path(t){this.set("path",t)}contains(t,e){const n=this.state.path;let r=!1;return n.forEach((i,s)=>{const o=(s+n.length+1)%n.length,a=i.x,c=i.y,l=n[o].x,h=n[o].y;c>e!=h>e&&t<(l-a)*(e-c)/(h-c)+a&&(r=!r)}),r}get controls(){const t=this.path;return t.map((e,n)=>{const r=t[n+1>=t.length?0:n+1];return{x:(e.x+r.x)/2,y:(e.y+r.y)/2,handler:up}})}get nature(){return pp}}tc.memoize(fp.prototype,"controls",!1),tc.register("polygon",fp);const gp={ondragstart:function(t,e,n){n.mutatePath(null,function(n){n.splice(e,0,t)})},ondragmove:function(t,e,n){n.mutatePath(null,function(n){n[e]=t})},ondragend:function(t,e,n){}},mp={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polyline"};class yp extends lp{get pathExtendable(){return!0}get path(){const{from:t,to:e}=this.state,{path:n}=this.state;return[this.fromEnd?.position||t?.position||n[0],...n.slice(1,-1),this.toEnd?.position||e?.position||n[n.length-1]]}set path(t){const{from:e,to:n}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...e,position:t[0]},to:{...n,position:t[t.length-1]},path:t})}get controls(){const t=this.path,e=[];for(let n=0;n<t.length-1;n++){const r=t[n],i=t[n+1];0==n&&e.push({x:r.x,y:r.y,handler:gp}),e.push({x:(r.x+i.x)/2,y:(r.y+i.y)/2,handler:gp}),n==t.length-2&&e.push({x:i.x,y:i.y,handler:gp})}return e}get nature(){return mp}}tc.register("polyline",yp);const bp={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/ortholine"};class vp extends lp{get pathExtendable(){return!1}get drawPath(){const t=this.path[0],e=this.path[1],{component:n,direction:r,boundaryPosition:i=t}=this.fromEnd||{},{component:s,direction:o,boundaryPosition:a=e}=this.toEnd||{},c=[i,a],l=[];i&&l.push(i);let h,d=n?.bounds;d&&(h=n.toScene(d.left,d.top),h=this.transcoordT2P(h.x,h.y),d={...d,left:h.x,top:h.y});const u=d?{left:d.left-20,top:d.top-20,width:d.width+40,height:d.height+40}:{left:i.x,top:i.y,width:0,height:0};d=d||u;let p=s?.bounds;p&&(h=s.toScene(p.left,p.top),h=this.transcoordT2P(h.x,h.y),p={...p,left:h.x,top:h.y});const f=p?{left:p.left-20,top:p.top-20,width:p.width+40,height:p.height+40}:{left:a.x,top:a.y,width:0,height:0};p=p||f;const g=[u,f],m=u.left>f.left?f.left:u.left,y=u.top>f.top?f.top:u.top,b={left:m,top:y,width:u.left+u.width>f.left+f.width?u.left+u.width-m:f.left+f.width-m,height:u.top+u.height>f.top+f.height?u.top+u.height-y:f.top+f.height-y};let v,x,w,_,A,S,M,k,E,C,T=0,P=0;d.left+d.width<p.left?(_=0,A=1,E=r,C=o,v=(d.left+d.width+p.left)/2,T=p.left-v):p.left+p.width<d.left&&(_=1,A=0,E=o,C=r,v=(d.left+p.width+p.left)/2,T=d.left-v),d.top+d.height<p.top?(w=0,S=1,M=r,k=o,x=(d.top+d.height+p.top)/2,P=p.top-x):p.top+p.height<d.top&&(w=1,S=0,M=o,k=r,x=(d.top+p.height+p.top)/2,P=d.top-x);const O=[];if(v&&T>P){let t,e,n;switch(C){case ap:switch(E){case op:O.push({x:v,y:c[_].y}),O.push({x:v,y:c[A].y});break;case ap:t=g[_].top+g[_].height/2,e=t>c[A].y?Math.min(g[_].top,c[A].y):Math.max(g[_].top+g[_].height,c[A].y),O.push({x:c[_].x,y:e}),O.push({x:v,y:e}),O.push({x:v,y:c[A].y});break;case ip:case sp:e=E===sp?Math.max(c[_].y,c[A].y):Math.min(c[_].y,c[A].y),O.push({x:c[_].x,y:e}),O.push({x:v,y:e}),O.push({x:v,y:c[A].y});break;default:return this.path}break;case op:switch(E){case op:e=c[_].y<c[A].y?Math.min(g[A].top,c[_].y):Math.max(g[A].top+g[A].height,c[_].y),n=e;break;case ap:e=void 0!==x?x:c[_].y<c[A].y?b.top-.5*T:b.top+b.height+.5*T,n=e;break;case sp:e=void 0!==x?Math.max(x,c[_].y):b.top+b.height,n=e;break;case ip:e=x?Math.min(x,g[_].top):b.top,n=e;break;default:return this.path}O.push({x:c[_].x,y:e}),O.push({x:v,y:e}),O.push({x:v,y:n}),O.push({x:c[A].x,y:n});break;case sp:switch(E){case op:e=c[_].y,n=c[_].y>c[A].y?c[_].y:g[A].top+g[A].height;break;case ap:e=x?Math.max(x,g[A].top+g[A].height):b.top+b.height,n=e;break;case sp:e=b.top+b.height,n=e;break;case ip:e=x?Math.min(x,g[_].top):g[_].top,n=x?Math.max(x,g[A].top+g[A].height):g[A].top+g[A].height;break;default:return this.path}O.push({x:c[_].x,y:e}),O.push({x:v,y:e}),O.push({x:v,y:n}),O.push({x:c[A].x,y:n});break;case ip:switch(E){case op:e=c[_].y,n=c[_].y<c[A].y?c[_].y:g[A].top;break;case ap:e=x?Math.min(x,g[A].top):b.top,n=e;break;case sp:e=void 0!==x?Math.max(x,c[_].y):c[_].y,n=void 0!==x?Math.min(x,c[A].y):c[A].y;break;case ip:e=b.top,n=e;break;default:return this.path}O.push({x:c[_].x,y:e}),O.push({x:v,y:e}),O.push({x:v,y:n}),O.push({x:c[A].x,y:n});break;default:return this.path}l.push(...0===_?O:O.reverse())}else if(x){let t,e,n;switch(k){case ip:switch(M){case sp:O.push({x:c[w].x,y:x}),O.push({x:c[S].x,y:x});break;case ip:t=g[w].left+g[w].width/2,e=t>c[S].x?Math.min(g[w].left,c[S].x):Math.max(g[w].left+g[w].width,c[S].x),O.push({x:e,y:c[w].y}),O.push({x:e,y:x}),O.push({x:c[S].x,y:x});break;case ap:e=Math.min(c[w].x,c[S].x),O.push({x:e,y:c[w].y}),O.push({x:e,y:x}),O.push({x:c[S].x,y:x});break;case op:e=Math.max(c[w].x,c[S].x),O.push({x:e,y:c[w].y}),O.push({x:e,y:x}),O.push({x:c[S].x,y:x});break;default:return this.path}break;case sp:switch(M){case ap:e=b.left,n=e;break;case op:e=void 0!==v?Math.max(v,c[w].x):b.left+b.width,n=e;break;case ip:e=void 0!==v?v:c[w].x<c[S].x?b.left-.5*P:b.left+b.width+.5*P,n=e;break;case sp:e=c[w].x,n=c[w].x<c[S].x?Math.min(g[S].left,c[w].x):Math.max(g[S].left+g[S].width,c[w].x);break;default:return this.path}O.push({x:e,y:c[w].y}),O.push({x:e,y:x}),O.push({x:n,y:x}),O.push({x:n,y:c[S].y});break;case op:switch(M){case ap:e=void 0!==v?Math.min(v,c[w].x):c[w].x,n=void 0!==v?Math.max(v,c[S].x):c[S].x;break;case op:e=b.left+b.width,n=e;break;case ip:e=void 0!==v?Math.max(v,c[S].x):b.left+b.width,n=e;break;case sp:e=c[w].x,n=Math.max(g[S].left+g[S].width,c[w].x);break;default:return this.path}O.push({x:e,y:c[w].y}),O.push({x:e,y:x}),O.push({x:n,y:x}),O.push({x:n,y:c[S].y});break;case ap:switch(M){case ap:e=b.left,n=e;break;case op:e=void 0!==v?Math.max(v,c[w].x):c[w].x,n=void 0!==v?Math.min(v,c[S].x):c[S].x;break;case ip:e=b.left,n=e;break;case sp:e=c[w].x<c[S].x?Math.min(g[S].left,c[w].x):c[w].x,n=Math.min(e,c[S].x);break;default:return this.path}O.push({x:e,y:c[w].y}),O.push({x:e,y:x}),O.push({x:n,y:x}),O.push({x:n,y:c[S].y});break;default:return this.path}l.push(...0===w?O:O.reverse())}else{let t,e;switch(r){case ip:switch(o){case ip:e=b.top,l.push({x:c[0].x,y:e}),l.push({x:c[1].x,y:e});break;case sp:t=b.left+b.width,l.push({x:t,y:c[0].y}),l.push({x:t,y:b.top+b.height}),l.push({x:c[1].x,y:b.top+b.height});break;case op:t=c[1].y<c[0].y&&c[1].x<c[0].x?c[0].x:b.left+b.width,l.push({x:t,y:c[0].y}),l.push({x:t,y:c[1].y});break;case ap:t=b.left,l.push({x:t,y:c[0].y}),l.push({x:t,y:c[1].y});break;default:return this.path}break;case sp:switch(o){case ip:t=b.left+b.width,l.push({x:t,y:c[0].y}),l.push({x:t,y:b.top}),l.push({x:c[1].x,y:b.top});break;case sp:case op:case ap:e=b.top+b.height,l.push({x:c[0].x,y:e}),l.push({x:c[1].x,y:e});break;default:return this.path}break;case ap:switch(o){case ip:t=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].x:b.left,e=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].y:Math.min(b.top,c[0].y),l.push({x:t,y:c[0].y}),l.push({x:t,y:e}),l.push({x:c[1].x,y:e});break;case sp:t=b.left,e=Math.max(b.top+b.height,c[0].y),l.push({x:t,y:c[0].y}),l.push({x:t,y:e}),l.push({x:c[1].x,y:e});break;case op:t=b.left+b.width,l.push({x:c[0].x,y:b.top}),l.push({x:t,y:b.top}),l.push({x:t,y:c[1].y});break;case ap:t=b.left,l.push({x:t,y:c[0].y}),l.push({x:t,y:c[1].y});break;default:return this.path}break;case op:switch(o){case ip:e=c[0].y<c[1].y&&c[0].x<c[1].x?c[0].y:b.top,l.push({x:c[0].x,y:e}),l.push({x:c[1].x,y:e});break;case sp:e=c[0].y>c[1].y&&c[0].x<c[1].x?c[0].y:b.top+b.height,l.push({x:c[0].x,y:e}),l.push({x:c[1].x,y:e});break;case op:case ap:e=b.top+b.height,l.push({x:c[0].x,y:e}),l.push({x:c[1].x,y:e});break;default:return this.path}break;default:return this.path}}return a&&l.push(a),[t,...l,e].filter((t,e,n)=>{if(0===e)return!0;const r=n[e-1];return t.x!==r.x||t.y!==r.y}).filter((t,e,n)=>{if(0===e||e>=n.length-1)return!0;const r=n[e-1],i=n[e+1];return!(t.x===r.x&&t.x===i.x||t.y===r.y&&t.y===i.y)})}get nature(){return bp}}tc.register("ortholine",vp);const xp={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"image-selector",label:"image-src",name:"src",property:{displayField:"id",displayFullUrl:!0,baseUrlAlias:"$base_url",defaultStorage:"scene-image",storageFilters:{type:Array,value:[{name:"category",value:"image"}]},useUpload:!0}},{type:"select",label:"cross-origin",name:"crossOrigin",property:{options:["","anonymous","use-credentials"]}}],"value-property":"src",help:"scene/component/image-view"};class wp extends(rc(ec)){static get noimage(){return wp.NOIMAGE||(wp.NOIMAGE=new Image,wp.NOIMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABIBAMAAAD7Se1QAAAAIVBMVEUAAABHcEwBAQEREREBAQEEBAQGBgYLCwsDAwMDAwMICAi6HF9tAAAAC3RSTlNNAEAERiMYCS41Eac10lYAAAEgSURBVHhe7dY9asQwEAXgh7DNertNiJy48pIitY3SB7bYdk0ukL1BDDmA9gZecoH4pmFQ3MQayUMguPBrNPD4wD9TCMvJmt3M/AtYwXOlXiWgqADVCUBD46MAnGhMBaCiUQmAm8VA/Eh/eWl9Fn5WcxD+OLuRrUYJDKLluwH2InACUgkoACSdADxQc50Bytadb9RkM0CT13TcvlCT1HFg8UTHvasuUVACCa3El6u2UdD8LFTlKhUFFgA+d3dj10aABkUN72N3jAADCrJq7PIIsPidcxBoTHIIAjMFmyCwmGYIAA1P9gFgfCANAOsDSccCDW+uLDB+kLGg94OkZoAGkwsDDAe2DOg5oPxAg03rBR88OHpBz4N8UVeHFSwma74BTW6Ge4rIRa4AAAAASUVORK5CYII="),wp.NOIMAGE}dispose(){super.dispose(),this._offcanvas=null,this._image=null}render(t){const{left:e,top:n,width:r,height:i,isGray:s=!1,alpha:o=1,src:a}=this.state;if(this.prepareIf(!this._image&&a),t.beginPath(),t.globalAlpha*=o,this._image&&this._image.complete)if(s&&this._offcanvas)t.drawImage(this._offcanvas,e,n,r,i);else try{t.drawImage(this._image,e,n,r,i)}catch(s){t.drawImage(wp.noimage,e,n,r,i)}else!this.app.isViewMode&&t.drawImage(wp.noimage,e,n,r,i)}get nature(){return xp}get hasTextProperty(){return!1}async ready(){await super.ready(),this.prepareIf(!this._image&&this.state.src)}prepare(t,e){const{src:n,crossOrigin:r}=this.state;if(n){this._image=new Image;try{r&&(this._image.crossOrigin=r),this._image.src=this.app.url(n)||""}catch(t){return void e(t)}this._image.onload=()=>{if(this.get("isGray")){const t=this._image.width,e=this._image.height;this._offcanvas=tc.createCanvas(t,e);const n=this._offcanvas.getContext("2d");n.drawImage(this._image,0,0);const r=function(t,e,n){let r;try{r=t.getImageData(0,0,e,n)}catch(t){return Wr("Get Image Data Error: "+(t instanceof Error?t.message:String(t))),null}const i=r.data;for(let t=0;t<e*n*4;t+=4){const e=i[t],n=i[t+1],s=i[t+2],o=Math.floor((e+n+s)/3);r.data[t]=o,r.data[t+1]=o,r.data[t+2]=o}return r}(n,t,e);n.putImageData(r,0,0)}t(this)},this._image.onerror=t=>{this._image&&!this._image.currentSrc&&(this._image=null),e(t)}}else t(this)}get src(){return this.get("src")}set src(t){this.set("src",t)}onchange(t,e){(t.hasOwnProperty("src")||t.hasOwnProperty("isGray"))&&(this._offcanvas=null,this._image=null,this.prepareIf(t.src))}ondropfile(t,e){for(let n=0;n<t.length;n++)if(t[n].type.startsWith("image/"))return void(this.src=e[n])}}tc.register("image-view",wp);class _p extends(Uu(rc(tc))){is3dish(){return!0}prerender(){}}var Ap,Sp,Mp={},kp={},Ep={};function Cp(){if(Sp)return kp;Sp=1,Object.defineProperty(kp,"__esModule",{value:!0});var t=function(){if(Ap)return Ep;Ap=1,Object.defineProperty(Ep,"__esModule",{value:!0});var t=function(){function t(){}return t.bitsToNum=function(t){return t.reduce(function(t,e){return 2*t+e},0)},t.byteToBitArr=function(t){for(var e=[],n=7;n>=0;n--)e.push(!!(t&1<<n));return e},t.lzwDecode=function(t,e){for(var n,r,i=0,s=function(t){for(var n=0,r=0;r<t;r++)e.charCodeAt(i>>3)&1<<(7&i)&&(n|=1<<r),i++;return n},o=[],a=1<<t,c=a+1,l=t+1,h=[],d=function(){h=[],l=t+1;for(var e=0;e<a;e++)h[e]=[e];h[a]=[],h[c]=null};;)if(r=n,(n=s(l))!==a){if(n===c)break;if(n<h.length)r!==a&&h.push(h[r].concat(h[n][0]));else{if(n!==h.length)throw new Error("Invalid LZW code.");h.push(h[r].concat(h[r][0]))}o.push.apply(o,h[n]),h.length===1<<l&&l<12&&l++}else d();return o},t}();return Ep.SuperGifUtils=t,Ep}(),e=function(){function e(t,e){this.stream=t,this.handler=e}return e.prototype.parseCT=function(t){for(var e=[],n=0;n<t;n++)e.push(this.stream.readBytes(3));return e},e.prototype.readSubBlocks=function(){var t,e;e="";do{t=this.stream.readByte(),e+=this.stream.read(t)}while(0!==t);return e},e.prototype.parseHeader=function(){var e={};if(e.sig=this.stream.read(3),e.ver=this.stream.read(3),"GIF"!==e.sig)throw new Error("Not a GIF file.");e.width=this.stream.readUnsigned(),e.height=this.stream.readUnsigned();var n=t.SuperGifUtils.byteToBitArr(this.stream.readByte());e.gctFlag=n.shift(),e.colorRes=t.SuperGifUtils.bitsToNum(n.splice(0,3)),e.sorted=n.shift(),e.gctSize=t.SuperGifUtils.bitsToNum(n.splice(0,3)),e.bgColor=this.stream.readByte(),e.pixelAspectRatio=this.stream.readByte(),e.gctFlag&&(e.gct=this.parseCT(1<<e.gctSize+1)),this.handler.hdr&&this.handler.hdr(e)},e.prototype.parseExt=function(e){var n=this;switch(e.label=this.stream.readByte(),e.label){case 249:e.extType="gce",function(e){n.stream.readByte();var r=t.SuperGifUtils.byteToBitArr(n.stream.readByte());e.reserved=r.splice(0,3),e.disposalMethod=t.SuperGifUtils.bitsToNum(r.splice(0,3)),e.userInput=r.shift(),e.transparencyGiven=r.shift(),e.delayTime=n.stream.readUnsigned(),e.transparencyIndex=n.stream.readByte(),e.terminator=n.stream.readByte(),n.handler.gce&&n.handler.gce(e)}(e);break;case 254:e.extType="com",function(t){t.comment=n.readSubBlocks(),n.handler.com&&n.handler.com(t)}(e);break;case 1:e.extType="pte",function(t){n.stream.readByte(),t.ptHeader=n.stream.readBytes(12),t.ptData=n.readSubBlocks(),n.handler.pte&&n.handler.pte(t)}(e);break;case 255:e.extType="app",function(t){n.stream.readByte(),t.identifier=n.stream.read(8),t.authCode=n.stream.read(3),"NETSCAPE"===t.identifier?function(t){n.stream.readByte(),t.unknown=n.stream.readByte(),t.iterations=n.stream.readUnsigned(),t.terminator=n.stream.readByte(),n.handler.app&&n.handler.app.NETSCAPE&&n.handler.app.NETSCAPE(t)}(t):function(t){t.appData=n.readSubBlocks(),n.handler.app&&n.handler.app[t.identifier]&&n.handler.app[t.identifier](t)}(t)}(e);break;default:e.extType="unknown",function(t){t.data=n.readSubBlocks(),n.handler.unknown&&n.handler.unknown(t)}(e)}},e.prototype.parseImg=function(e){e.leftPos=this.stream.readUnsigned(),e.topPos=this.stream.readUnsigned(),e.width=this.stream.readUnsigned(),e.height=this.stream.readUnsigned();var n=t.SuperGifUtils.byteToBitArr(this.stream.readByte());e.lctFlag=n.shift(),e.interlaced=n.shift(),e.sorted=n.shift(),e.reserved=n.splice(0,2),e.lctSize=t.SuperGifUtils.bitsToNum(n.splice(0,3)),e.lctFlag&&(e.lct=this.parseCT(1<<e.lctSize+1)),e.lzwMinCodeSize=this.stream.readByte();var r=this.readSubBlocks();e.pixels=t.SuperGifUtils.lzwDecode(e.lzwMinCodeSize,r),e.interlaced&&(e.pixels=function(t,e){for(var n=new Array(t.length),r=t.length/e,i=function(r,i){var s=t.slice(i*e,(i+1)*e);n.splice.apply(n,[r*e,e].concat(s))},s=[0,4,2,1],o=[8,8,4,2],a=0,c=0;c<4;c++)for(var l=s[c];l<r;l+=o[c])i(l,a),a++;return n}(e.pixels,e.width)),this.handler.img&&this.handler.img(e)},e.prototype.parseBlock=function(){var t={};switch(t.sentinel=this.stream.readByte(),String.fromCharCode(t.sentinel)){case"!":t.type="ext",this.parseExt(t);break;case",":t.type="img",this.parseImg(t);break;case";":t.type="eof",this.handler.eof&&this.handler.eof(t);break;default:throw new Error("Unknown block: 0x"+t.sentinel.toString(16))}"eof"!==t.type&&setTimeout(this.parseBlock.bind(this),0)},e.prototype.parse=function(){this.parseHeader(),setTimeout(this.parseBlock.bind(this),0)},e}();return kp.SuperGifParser=e,kp}var Tp,Pp,Op={};var Dp=function(){if(Pp)return Mp;Pp=1,Object.defineProperty(Mp,"__esModule",{value:!0});var t=Cp(),e=function(){if(Tp)return Op;Tp=1,Object.defineProperty(Op,"__esModule",{value:!0});var t=function(){function t(t){this.data=t,this.position=0}return t.prototype.readByte=function(){if(this.position>=this.data.length)throw new Error("Attempted to read past end of stream.");return this.data instanceof Uint8Array?this.data[this.position++]:255&this.data.charCodeAt(this.position++)},t.prototype.readBytes=function(t){for(var e=[],n=0;n<t;n++)e.push(this.readByte());return e},t.prototype.read=function(t){for(var e="",n=0;n<t;n++)e+=String.fromCharCode(this.readByte());return e},t.prototype.readUnsigned=function(){var t=this.readBytes(2);return(t[1]<<8)+t[0]},t}();return Op.SuperGifStream=t,Op}(),n=function(){function n(t,e){var n=this;for(var r in this.gifImgElement=t,this.options={autoPlay:!0},this.loading=!1,this.ready=!1,this.transparency=null,this.delay=null,this.disposalMethod=null,this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,this.playing=!0,this.forward=!0,this.ctxScaled=!1,this.frames=[],this.frameOffsets=[],this.initialized=!1,this.currentFrameIndex=-1,this.iterationCount=0,this.stepping=!1,this.handler={hdr:this.withProgress(this.doHdr.bind(this)),gce:this.withProgress(this.doGCE.bind(this)),com:this.withProgress(this.doNothing.bind(this)),app:{NETSCAPE:this.withProgress(this.doNothing.bind(this))},img:this.withProgress(this.doImg.bind(this)),eof:function(){n.pushFrame(),n.canvas.width=n.hdr.width*n.getCanvasScale(),n.canvas.height=n.hdr.height*n.getCanvasScale(),n.playerInit(),n.loading=!1,n.ready=!0,n.loadCallback&&n.loadCallback(n.gifImgElement)}},e)this.options[r]=e[r];this.onEndListener=e.onEnd,this.loopDelay=e.loopDelay||0,this.overrideLoopMode=null!=e.loopMode?e.loopMode:"auto",this.drawWhileLoading=null==e.drawWhileLoading||e.drawWhileLoading}return n.prototype.init=function(){var t=this.gifImgElement.parentNode,e=document.createElement("div");this.canvas=document.createElement("canvas"),this.canvasContext=this.canvas.getContext("2d"),this.tmpCanvas=document.createElement("canvas"),e.className=this.options.enclosingClass||"super-gif",e.appendChild(this.canvas),t&&(t.insertBefore(e,this.gifImgElement),t.removeChild(this.gifImgElement)),this.initialized=!0},n.prototype.loadSetup=function(t){return!this.loading&&(t&&(this.loadCallback=t),this.loading=!0,this.frames=[],this.clear(),this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,!0)},n.prototype.completeLoop=function(){this.onEndListener&&this.onEndListener(this.gifImgElement),this.iterationCount++,!1!==this.overrideLoopMode||this.iterationCount<0?this.doStep():(this.stepping=!1,this.playing=!1)},n.prototype.doStep=function(){if(this.stepping=this.playing,this.stepping){this.stepFrame(1);var t=10*this.frames[this.currentFrameIndex].delay;t||(t=100),0===this.getNextFrameNo()?(t+=this.loopDelay,setTimeout(this.completeLoop.bind(this),t)):setTimeout(this.doStep.bind(this),t)}},n.prototype.step=function(){this.stepping||setTimeout(this.doStep.bind(this),0)},n.prototype.putFrame=function(){var t;this.currentFrameIndex=parseInt(this.currentFrameIndex.toString(),10),this.currentFrameIndex>this.frames.length-1&&(this.currentFrameIndex=0),this.currentFrameIndex<0&&(this.currentFrameIndex=0),t=this.frameOffsets[this.currentFrameIndex],this.tmpCanvas.getContext("2d").putImageData(this.frames[this.currentFrameIndex].data,t.x,t.y),this.canvasContext.globalCompositeOperation="copy",this.canvasContext.drawImage(this.tmpCanvas,0,0)},n.prototype.playerInit=function(){this.loadErrorCause||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.options.autoPlay?this.step():(this.currentFrameIndex=0,this.putFrame()))},n.prototype.clear=function(){this.transparency=null,this.delay=null,this.lastDisposalMethod=this.disposalMethod,this.disposalMethod=null,this.frame=null},n.prototype.parseStream=function(e){try{new t.SuperGifParser(e,this.handler).parse()}catch(t){this.handleError("parse")}},n.prototype.setSizes=function(t,e){this.canvas.width=t*this.getCanvasScale(),this.canvas.height=e*this.getCanvasScale(),this.tmpCanvas.width=t,this.tmpCanvas.height=e,this.tmpCanvas.style.width=t+"px",this.tmpCanvas.style.height=e+"px",this.tmpCanvas.getContext("2d").setTransform(1,0,0,1,0,0)},n.prototype.drawError=function(){this.canvasContext.fillStyle="black",this.canvasContext.fillRect(0,0,this.hdr.width,this.hdr.height),this.canvasContext.strokeStyle="red",this.canvasContext.lineWidth=3,this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.hdr.width,this.hdr.height),this.canvasContext.moveTo(0,this.hdr.height),this.canvasContext.lineTo(this.hdr.width,0),this.canvasContext.stroke()},n.prototype.handleError=function(t){this.loadErrorCause=t,this.hdr={width:this.gifImgElement.width,height:this.gifImgElement.height},this.frames=[],this.drawError()},n.prototype.doHdr=function(t){this.hdr=t,this.setSizes(this.hdr.width,this.hdr.height)},n.prototype.doGCE=function(t){this.pushFrame(),this.clear(),this.transparency=t.transparencyGiven?t.transparencyIndex:null,this.delay=t.delayTime,this.disposalMethod=t.disposalMethod},n.prototype.pushFrame=function(){this.frame&&(this.frames.push({data:this.frame.getImageData(0,0,this.hdr.width,this.hdr.height),delay:this.delay}),this.frameOffsets.push({x:0,y:0}))},n.prototype.doImg=function(t){var e=this;this.frame||(this.frame=this.tmpCanvas.getContext("2d"));var n=this.frames.length,r=t.lctFlag?t.lct:this.hdr.gct;n>0&&(3===this.lastDisposalMethod?null!==this.disposalRestoreFromIdx?this.frame.putImageData(frames[this.disposalRestoreFromIdx].data,0,0):this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height):this.disposalRestoreFromIdx=n-1,2===this.lastDisposalMethod&&this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height));var i=this.frame.getImageData(t.leftPos,t.topPos,t.width,t.height);t.pixels.forEach(function(t,n){t!==e.transparency&&(i.data[4*n+0]=r[t][0],i.data[4*n+1]=r[t][1],i.data[4*n+2]=r[t][2],i.data[4*n+3]=255)}),this.frame.putImageData(i,t.leftPos,t.topPos),this.ctxScaled||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.ctxScaled=!0),this.drawWhileLoading&&(this.canvasContext.drawImage(this.tmpCanvas,0,0),this.drawWhileLoading=this.options.autoPlay),this.lastImg=t},n.prototype.doNothing=function(){},n.prototype.withProgress=function(t){return function(e){t(e)}},n.prototype.getNextFrameNo=function(){var t=this.forward?1:-1;return(this.currentFrameIndex+t+this.frames.length)%this.frames.length},n.prototype.stepFrame=function(t){this.currentFrameIndex=this.currentFrameIndex+t,this.putFrame()},n.prototype.getCanvasScale=function(){return this.options.maxWidth&&this.hdr&&this.hdr.width>this.options.maxWidth?this.options.maxWidth/this.hdr.width:window.devicePixelRatio||1},n.prototype.play=function(){this.playing=!0,this.step()},n.prototype.pause=function(){this.playing=!1},n.prototype.isPlaying=function(){return this.playing},n.prototype.getCanvas=function(){return this.canvas},n.prototype.isLoading=function(){return this.loading},n.prototype.isReady=function(){return this.ready},n.prototype.isAutoPlay=function(){return this.options.autoPlay},n.prototype.getLength=function(){return this.frames.length},n.prototype.getCurrentFrame=function(){return this.currentFrameIndex},n.prototype.moveTo=function(t){this.currentFrameIndex=t,this.putFrame()},n.prototype.loadURL=function(t,n){var r=this;if(this.loadSetup(n)){var i=new XMLHttpRequest;i.open("GET",t,!0),"overrideMimeType"in i?i.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in i?i.responseType="arraybuffer":i.setRequestHeader("Accept-Charset","x-user-defined"),i.onloadstart=function(){r.initialized||r.init()},i.onload=function(){if(200===i.status){var t=i.response;t.toString().indexOf("ArrayBuffer")>0&&(t=new Uint8Array(t));var n=new e.SuperGifStream(t);setTimeout(function(){r.parseStream(n)},0)}else r.handleError("xhr - response")},i.onerror=function(){r.handleError("xhr")},i.send()}},n.prototype.load=function(t){this.loadURL(this.gifImgElement.src,t)},n}();return Mp.SuperGif=n,Mp}();const Ip={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"image-selector",label:"src",name:"src"},{type:"checkbox",label:"play",name:"play"}],"value-property":"src",help:"scene/component/gif-view"};class zp extends _p{async oncreate_element(t){const{src:e,play:n}=this.state;this.onchangesrc(e),this.onchangeplay(n)}buildImg(){const t=this.element;if(!t)return document.createElement("img");t.replaceChildren();const e=document.createElement("img");return e.style.width="100%",e.style.height="100%",t.appendChild(e),e}onchange(t,e){super.onchange(t,e),"src"in t&&this.onchangesrc(t.src),"play"in t&&this.onchangeplay(t.play)}setElementProperties(t){}onchangeplay(t){const e=this._superGif;e&&e.isReady()&&(t?e.play():e.pause())}onchangesrc(t){const e=this.buildImg();t||(t="data:image/gif;base64,R0lGODlhYABIAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKio+Pj5iYmKCgoKampqurq66urrCwsLGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrOzs7S0tLa2tre3t7m5ubu7u7+/v8DAwMHBwcPDw8XFxcfHx8vLy8/Pz9LS0tXV1dfX193d3eTk5Onp6fj4+Pz8/P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////yH5BAkAAPUAIf47R2VuZXJhdGVkIGJ5IGpzZ2lmIChodHRwczovL2dpdGh1Yi5jb20vYW50aW1hdHRlcjE1L2pzZ2lmLykALAAAAABgAEgAAAj+AGcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmR9VKqXMmypcuXMGPKnJkSIs2bOHPqZGlzp8+fQOv1DEq0KMyhRpMmRaq0KVCmTqPmhCq1qkyqLrFRSyYwGTVsVo1iZXmNa8Fk18ISHasSm1mDycCq/ck2JTWF1ObSfTjz7cFken3WFbow8M7BDA3rHOwXruKpfGXeTZg3qDVrUge7RRg3KLZjx+Q2HVyvLNy0QaMJjBaVdD2tZr2K/mmNIObRkR+n9AsYt0Pddg1WXppb8bWDx1CLLW74GcJnSl3TtDY8Zu2Et4tKl7n52eyWnxXvhl7+26jqrspbnlfIWjtz2gWPZV95neH8veU9NxZYfbfD3kFt99J6Bnmn0mQO9XfYezrVxxlmx0GUXIAM4hSeffsxBN1TFd5E4Ef3QZbfTg6CNJ5gHXJ3TEntLThiTh+KFCJNAqZU4kgAitjQTheepOBMNcZI0oQ6JpbTjSZtiNN2PZ400IxHpdiSc07G911M0iFZZYtAStnWilUeBGVLrlEZpmM0elmPlmfO8iOZXl4DZpsGEYmll2bSWWCXLwJXVY1+urhjoGEBSuiSah6K36CKtpZoo4s9CimielZq6aWYZqrpppx26umnoIZ6UkAAOw=="),e.src=t,e.setAttribute("rel:animated_src",t),e.setAttribute("rel:auto_play",String(0)),this._superGif=new Dp.SuperGif(e,{autoPlay:!1}),this._superGif.init(),this.element&&Array.from(this.element.children).forEach(t=>{t.style.width="100%",t.style.height="100%"});const n=this._superGif.getCanvas();n.style.width="100%",n.style.height="100%",this._superGif.load(()=>{setTimeout(()=>{this._superGif.moveTo(0),this.play&&this._superGif.play()},100)})}ondropfile(t,e){for(let n=0;n<t.length;n++)if(/\.gif$/.test(t[n].name))return void(this.src=e[n])}get src(){return this.getState("src")}set src(t){this.set("src",t)}get play(){return this.getState("play")}set play(t){this.setState("play",t)}get nature(){return Ip}get tagName(){return"div"}}tc.register("gif-view",zp);const jp={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"attachment-selector",label:"src",name:"src",property:{category:"audio"}},{type:"checkbox",label:"started",name:"started"},{type:"checkbox",label:"loop",name:"loop"}],"value-property":"src",help:"scene/component/audio"};class Rp extends(rc(ec)){static get image(){return Rp.IMAGE||(Rp.IMAGE=new Image,Rp.IMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAMAAAC3Ycb+AAAAP1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzJYIvAAAAFHRSTlMA8BAwgNBgQKB/wCBwUJDg37CvXyUlBK8AABFYSURBVHja7NsBkqIwFIThTiAQgyBq3/+sm6p1tnamZkaTMhJJf1f4S/JeEIiIiIiIiIiIiIiIiEhD7Hg4BH84TpAKjJ4f3NFCtjVd+InXz2RTs+FXlxGylYHfcVfIJmb+YFWSLUyGVJKKBJJKUo+Rd6w63l/qzLuCkryO5fe0l2xk5mMWbe+v0fNBRqf7S3je6CipQ2ACr+dWcYEpzBFS1plpguatsnomMgdIQSOTuQ5SjmE6/UgK8szgdJIUM/FG41YlFmYJ2kkKsY5ZzAwBurHDk3WGeRY0bvYrGa1+rqNI22f7dS32ZnUK1GMr0eSK3mEc9dhKMxp+ZTo8kT2emOXS5LQ1kCxbJBocSd2k5PaIjMVzjWcdJPk9ooBnmzx1t5XbIxqBKpJ4NGTgzwKiGpK4do72gb+ZUMIYtCPm9WCPMsYTE5k2hq2ZvzujlCE1iRmwf3dvmRyKsT0T7b9I7HEPCpqCiqT2IIqaT1pI0noQZdlFC8l/PbYPAnRORT56VBEE6FXkb49agmByKhJ71BME6FsvEntUFQTdqekisUdlQWCXhovEHtUFAWbTapHYo8YgmFybO3vsUWcQYGmxSOxRbRAMprkisUfFQVKmrX18sxt7VB0ENjT1xir2qDxIwkFi3v89e+xRfxAMzfzzIfZ4hyAYDR9zwVuLPd4jCDrTwoLYGb5LEFi3/+E3rweR6urX20c/Fvls2Pvwm9mDSGIPhv8YPyGf3/eo9Ye7O8B2FIShAAooakEttex/rbODad5/yTHIAjqn505IQPv+Xz06dz+4VXORHEZcgAcB8updM8F6e25jBzwIkE07l+x8amMnPDp6nsNJ+BoZ7Q6F8egqAda9VEuRNlZjBzwYkMskdXR73okd8GBAJiKYjBcZKKqG9OiKDbgdfxJ5VhsBPDiQZhaouD3p4hfw4EAmwxisz3MSHwAPEmQ1TB1N+SmXWoAHC7JbZsWl/IxLLcCDBplNo3lrfMLsmwAPGmShAxX5/1vOEzjEz3iyfQ/hI36W4TctsUesOAifPdrQg8M++KYl95iCBkjI1r8634betBAPHZDTPFAmD3zLiHgogVTziMsahz0eIh5aIGHGRSJ2mFtHPR4iHhQIP2UvWGMf8wk74qEIEib7rLjPiBfxiAcCwp8V+Nae3uMdRhAPDIR/J5f/Q2DTcC+hIB7qIGEq3Ti9bx+sryMeAAgS70OK8G2kBD8L8QBAoLWU3g3vUVIc6D0txAMAsY+4jBWowXHO64gHBGKfYJ2T5qY1BxcL98BB+PQ+XiS9xxh9EQ8ChA6C5UXWIUoE9MBB8LVHQoS7ib8/dRn3sAcJ6bQRSdH96RDxIEH4QEX+AHF4LxHEAwUh12xyr1V8lwjiQYDYF8kuf1jluUQQDwrEvkhW8Wc6LhHUgwfhi4QPlHm7LRHawx4kpE191Dq8lgjhAYDQa1cftYrPEiE8OJDb40uqyzdQCA8WhAzL4G/PT4c3WrgHD2IfllGl53V37zsgHg5ApPNvVvq4Fn4spx4oiH1W3CwtEV+PDhEPJyBSkVX4aa7emkM83ICEKWpGM7wdvYCCeDgCEYpcwhLxczhEPFyBCEUWnRL5T6X59SBASBF+9l28TL5F7uEORCZyCUvEx+S7yT0cgoRVb9JaXLR1qUdfgksQ0fTbgmhFB20d8HAKEha14+F8f1sHPNyCiL6EqK+n20/rgIdjkFC0Ho1s6Gndvcc9ICkr/ey8/rHO6vp9KawL8DAFOV6l9Fyub7IbflsCag1qRfVsXWvxHjxIejU+BHZV6uvHD1XiEb++Bw8i+dNd+Wv0eCQmhcPhRPwUUt2DB5G1sfa1aeyzAuyJj9x2HjyIdKzIKw5SI14ieFtvo3kIQERj3lVhkUOnRD7AnjV5369QkAOJZeCH+Jh41xOLs73dQwAifY6dpxCCbjTDzLf1Bm1Y93tAIDOWXcLPvrHyr2hVoEAceEAgDQzB4jetk0/c2OXRHB48EJCpa4dgpYh2ETxtrshz7zx4ICCzfuTSDn8p/EOS9OTjwgMB+cABP3yWYuOPIofs33LigYCULlpZNXJppVU30Vf14kGAUCLijf1D71lN9FW9eFiA9KgZ8FPpPUsSnufGA+8hvAg2Kpz0nrX//qp+PIgpC3i6xJRITOye9fn1VT15ICCrVlQG5rywo0H8x965bVkNwmCYQ2kR6Gmb939WXV65dFnI/tPdjPBfO7XMN4EkTUJtqZp4sCJ1+8jwkhMu0KpMxFXFA8hlVfQSMxGH5mDK1VKV8QCyvTVtUiYyo7V358VStfGoAEFMhGYhEwloxZy9WKo2Hjwg5iSOvFDXeUYd33+PuVfHgwnEBWLocDJp+IIa2fyvperjwQRiXCKGosyXqoA+YfsIELuYu4HAt+msMknfDK4jfQJIzOZ2IPAQWJtFOhQKivR2IDZ6Awis7V0iLxqBI7uEZo19dakTogLSwKvf8yk8Jq6CGK0GKvWlatG7b7kkUU/Lo1gdXWn7/4E0j0qeJDpqN/ABqQcgJgdqURb4chjQktIugDS6wFFiz3JgaJj7AGJmholAe9YKhoZLJ0Ca6smjwJ4VwVN96gVIE5GM71kHaGKxGyAtRDaB2NBhLVmpHyANRKzDO28W7FS3HQFpaIWa8TrfCXQwegJSL5k+8M9UJ+pm9QTEnCIZrR0MDQeQ9ua0iCcYQaBTV0CqNXQW/yiyYG7W1heQanPaCkciBXuH1BkQJzHcDQxmpgGkPatl4WkbCXO/bW9AqlNg4H0PPMi6A1IxkQmOZ8D0ousNSMVEEuyreTAQ6Q7IRJeCX2YZQHhv6SrBOmpkM+YUzN0BqSRQCupmTeCP9wdkhiOREwtEzgGEsWcF9BhK9R8fQDiN7A8DiR0CKXQlj/q9IM8OgXjIzcKBlAHkD6FulgNzJwPIHwpo8mQAkX3LiPq9dKUMAQk9AqmcqmjuBAJCPQIpA4guIAsKJA0gnwNy3A4kDyBIHCEPxAwgf8gPILqA5AFEF5CxZX0lIHYc6rqADLf380BmFMgxgIzUyf8MJKLTRelKHgKy9wgkjfS7LiA0gKgC8vQn3HUA4RQ5LKPIAQciWbqIEg0YkLNDIHYUyqkCsmKN5vg3+W0AYTRATaPY+uu1IwS6UMGAlO6AFPjSCQMStaNh53cdcPG7Hx1Uupo+rx+Bltn1BuTAj5BptEV/bHAAwbnJMICwRmtUDOSEA8s4Rmtw3nITGD6TwUNoG0Ca7xi2YKSPj2eKXQFxQWKA2QbGMWEMMGseOb7C7T47uJS1JyAzVbTjqZdU3zbHzMXWS+qp4Fgn8Ahy/QCRGqQcwU1vGnN7fylboWn8Bzg//hyjxltvdcl45bwFfYKzFyBy11UU9BnjuoqfWizVlQXulpzBTNbaB5Aid+VRrkBFB630AMS9BC8FK2ggE7u/FGy1kvfcB9TKQufX5uUXNWl3EjvWCi4k/u9A3Ddq1CpTIQGe6VN1qd8ArcvDQNw3S41Kn6qQmOq5e7pRr+8fAYLiIJtFrrvYRMYL0q06vj8EZLXUriJzRY8H1xEagOCK7gkghRg6RQYO0I6aWPwIEAru80AiMWSdzAeuDXUKyr+WqpAID8hMHC1Ct8F4mUsQ6W8pJMICki0JHCBczAFdBl38G3VE6ErQhhWlih4LWrCSLpaqjggHiGe9mVjRY0YPoelyqcqIcIDEe97rqJFFH7FcLlUZEQ6Qg5plvZiBFNhtri1VFREGEC/Eg4nZoU5vqi1VFREGkIXDQ8xAIhzoT/WlKiLCAFIYPOQMxOPdjfWlKiLCADJRm3YGj+pDE2xktmmpaogwgMz8d8GrumZ4xzpbvinqISJ+hiTWm7wEqoJdI9JEV9JChAEkS3xCZzKecLcgN6YwlRBhAGmweTsblg6qKMM7Vmh321UQ4QAp1VfwhqVJIh+Wm03W0qV0EOEAybXtivkCmWrKeH2EZ/xBaSBCV2L9Re+LYSqJJIxDu1ew07U0EGEBcTtmHty4JuPtQhvLh1BAhK7Uvvq0GK484QZST0GvvFDqeSJ1IA0r2mfDljvqBoJ//rVsq7yZCA6kXgVkJ2f4ijIGMjOfMVsCBBORB2Jy+sM6ijNvaBUqmw/cStZ8EiKciHwp6Rp++88qmxXQeTUxDiJWJ9wSISvBicgXW+dypn1PqWTznlwgwdZdfiLHr5OELEAEASKvJFRE5JCPKbh8OxHdQKJU0crEzRXrJ/IEkFms6tGyrUw9kQeALFRXvK2iSzsRAAi6BLxM+60xdsqJAEBuXMAMxDLVp+gmAgC57/UT4qvVj3TVRCAgSAYL91aXtyNLzUQAIFhAiP8m0/NHOp+ILiBtPFKrs6bgSOcT0QTEB8nO3QR1yKslggKRf+m11UB0HOl8IlqAeCvauXuo8HnfIqIDyCw6G8XMcGiplMingMzCnbuHFp/3LSLPA4nUpqm5YkWNzwsQeQxIDsKjH5wVSU5qJPIJIIt4jjpqNBAekQeBfJOeHWS81FQoo4/I7UDcS3wUh0liTzLqiEgDqddx4ZHDrNZAACIAEMw88HPYWb0GAhABgEDmgf9Vb5oNBCByOxD3uqWYbCHVBgIQuRlIsbfwMEG5gQBE7gSyHMDsOayrxJvHBRC5B0hOxJH1nK4SlUE6QOR+IG6ju3iYQEqDdIDIzUDyZu/jMRHpS/OiRG4FkiPRfTw8kbrvIAJEACAIDpyHC1/GQHhEbgKSXwTyqIeEur6kixEBgABHOTr7YSX1MSFAhA0E307wUU76Y0KACAsI/tvCRzkF+iIuL0AEAYLbR2QOfvhKJ/obRESBxNt5rPSFXN4f7dyNdqMgEIbhAXWwJErT/e7/Wreb5HTT07QVgWSAeW5g7b4n8qOSUCRPEId4HP93SXp5dDNGRJFcQTxihSH+NW1Bb1cXKpIryJAwnG/zhl8ZcSP6jiKZghwRaaWLnP/AkcSKKJIniEcUs8QfjFLdEmRvkSxB4lfn0QN6DY+lshQpHiT96Dlr6r5hxRUpHST9ZEY71X7DOmOZQVZLsd5Q8wzrPxYYJDiKNqOBG1ZCkZKzrNXu6lHvkjChSFqQsdTPg45ApXtYaUXKr9TNuPcvqO2pVMkitFXAL2a79/qr3HQvVSTXUtofCl79RDXh5CDpw3pwu6+9kRlvtiI5VtPhmHLltT4EKVQkfb8pcOHrXqk6nBAksUjgpKtuYsskaxGKYT0+84uYgziE4YQgMdx0m8PRfis2MbL33PMXoVjD6PEunI4HSjDjStiJP08vQk9hZzQ7oH/geoLYCUBDW4rf4FqCDFt7THUO6B+4jiDn2XNTW7zf4hqCMND4BOsGyw+yAmh0x+QeFh7EeqD5Ce8nLDrI8NpbDyIWHIQNruo4GyAPlhrEzuixBxHLDDJMnfYgYolBricHNfjIdgMWF+Qyu+pkgX4HCwuymL57ELGkIHZG7z2IWE6Q5VV7vGMhQewbtMcZiwhyHj26ne9+xs8PcvDQHnFFqCD7Au0RW4TK+fOKqw4eoOcqYqgU53HR3/5uShFPCfKey9hFDyJO/vAi7RDZnp7X5igyUH72xSDW1E2Pn4tMRCQgR8vLwbgii4gcmLvqQcSPGtIPX3M08wn6I4qYQ94cM/Yw9Xxhmw+X/59wHrtMlX1AmIkzdyaaAnLg1Nnw8WGYSk40X/BOh4+El6LMSBnN2Cd0tPq4w/LJXGrMbCX06PZ2dcM65yzlNertShSHf3SzRAyPM332IcSAHUKPi8EHmXU0l8Uglmni0yipDoi16s+jJKejhywLooz68yiMEcHr2qM4h81CJ++VPJfTu5UwBpv4Pp9DJSi6MJx0bvUwiw4ewgT8zNR0LHUL+OccOpY/3ElzyGKD5pBlMJpDlsOkMythRoNbXh95PJsdA67MrMtAEYbjeDqNo+7oKqWUUkoppZRSSimllFJKFfMXp4vmSjB8n6sAAAAASUVORK5CYII="),Rp.IMAGE}dispose(){super.dispose(),this.started=!1,delete this._audio}async ready(){super.ready(),this._audio=new Audio,this._audio.addEventListener("canplay",()=>{this.started&&this._audio.play()});const{src:t="",loop:e=!1,started:n=!1}=this.state;this.onchangeSrc(t),this.onchangeLoop(e),this.onchangeStarted(n)}render(t){const{left:e,top:n,width:r,height:i}=this.state;t.beginPath(),this.drawImage(t,Rp.image,e,n,r,i)}get nature(){return jp}get hasTextProperty(){return!1}get src(){return this.get("src")}set src(t){this.set("src",t)}get started(){return!!this.get("started")}set started(t){this.set("started",t)}start(){this._audio&&(this._audio.classList.add("active"),this._audio.play())}pause(){this._audio&&(this._audio.classList.remove("active"),this._audio.pause())}onchangeSrc(t){try{"data"!==String(t).substring(0,4)?this._audio.crossOrigin="use-credentials":this._audio.crossOrigin=null,this._audio.src="string"==typeof t?this.app.url(t):t}catch(t){return void Wr(t)}}onchangeStarted(t){const e=this._audio;t?4==e.readyState&&e.play():e.pause()}onchangeLoop(t){this._audio.loop=t}onchange(t,e){"src"in t&&this.onchangeSrc(t.src),"started"in t&&this.onchangeStarted(t.started),"loop"in t&&this.onchangeLoop(t.loop)}ondblclick(t){this.started=!this.started}ondropfile(t,e){for(let n=0;n<t.length;n++)if(t[n].type.startsWith("audio/"))return void(this.src=e[n])}}tc.register("audio",Rp);class Lp extends(rc(tc)){is3dish(){return!0}}tc.register("text",Lp);const Fp=["refid","left","top","width","height","rotation","animation"];class Np extends Ku{isGroup(){return!0}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});const n=Fp.reduce((e,n)=>(t.hasOwnProperty(n)&&(e[n]=t[n]),e),{});return super.set(n,void 0)}capture(t,e,n){const r=super.capture(t,e,n);if(r!==this)return r}set bounds(t){if(this.__MUTATING__)return void(super.bounds=t);const e=this.bounds,n=t.width/e.width,r=t.height/e.height;this.path=this.path.map(i=>({x:t.left+(i.x-e.left)*n,y:t.top+(i.y-e.top)*r})),this.components&&this.components.forEach(t=>{if(t.mutable)t.mutatePath(null,function(t){return t.map(function(t){return{x:t.x*n,y:t.y*r}})});else{const e=t.bounds,i=t.center,s={x:i.x*(1-n),y:i.y*(1-r)},o=e.width*(1-n),a=e.height*(1-r),c=-(s.x-o/2),l=-(s.y-a/2);t.bounds={left:e.left+c,top:e.top+l,width:e.width*n,height:e.height*r}}})}get focusible(){return!1}get bounds(){return super.bounds}get hasTextProperty(){return!1}isIdentifiable(){return!1}calculateBounds(){this.clearCache(),this.__MUTATING__=!0,this.mutateBounds(function(t){const e=tc.union(this.components.map(t=>t.bounds));return this.components.forEach(t=>{const n=t.bounds;t.bounds={left:n.left-e.left,top:n.top-e.top,width:n.width,height:n.height}}),{left:t.left+e.left,top:t.top+e.top,width:e.width,height:e.height}},this),this.__MUTATING__=!1,this.parent.isGroup()&&this.parent.calculateBounds?.()}render(t){}postrender(t){const{top:e,left:n}=this.state;t.translate(n,e),this.layout.drawables(this).forEach(e=>{e.draw(t)}),t.translate(-n,-e)}}tc.memoize(Np.prototype,"bounds",!0),tc.register("group",Np);const Bp={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"id-input",label:"ref",name:"ref"},{type:"select",label:"fit",name:"fit",property:{options:["","both","ratio"]}}],"value-property":"ref",help:"scene/component/local-ref"};class Yp extends(rc(ec)){get ref(){const t=this.getState("ref");return t&&"string"==typeof t?this.root.findById?.(t):null}set ref(t){this.setState("ref",t)}get refScale(){const t=this.ref;if(!t)return{x:1,y:1};const e=t.bounds,n=this.bounds,r=n.width/e.width,i=n.height/e.height;return"both"===this.model.fit?{x:r,y:i}:{x:Math.min(r,i),y:Math.min(r,i)}}draw(t){this._drawing||(this._drawing=!0,super.draw(t),this._drawing=!1)}prerender(t){if(super.prerender(t),this.ref){const e=this.ref.center,n=this.center,r=this.refScale;t.translate(n.x,n.y),t.scale(r.x,r.y),t.translate(-e.x,-e.y)}}postrender(t){if(this.ref)return this.ref.postrender(t);super.postrender(t)}render(t){if(this.ref)return this.ref.render(t);const{left:e,top:n,width:r,height:i}=this.bounds;t.beginPath(),t.rect(e,n,r,i)}get nature(){return Bp}get hasTextProperty(){return!1}}tc.memoize(Yp.prototype,"ref",!1),tc.memoize(Yp.prototype,"refScale",!1),tc.register("local-ref",Yp);class Gp extends(Uu(Pc)){render(t){}is3dish(){return!0}get layout(){return lc.get(this.get("layout"))||hc}}const Vp={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"scene-number",name:"ref",placeholder:"SCENE-1"},{type:"number",label:"round",name:"round",property:{min:0}},{type:"select",label:"fit",name:"fit",property:{options:["","both","ratio","width","height","none"]}},{type:"select",label:"mode",name:"mode",property:{options:["view","interaction"]}}],"value-property":"ref",help:"scene/component/global-ref"};class Up extends Gp{dispose(){this._releaseRef(),super.dispose()}get nature(){return Vp}get hasTextProperty(){return!1}get tagName(){return"div"}setElementProperties(t){const{mode:e="view",round:n=0}=this.state;t.style.pointerEvents="view"==e?"none":"inherit",t.style.borderRadius=n+"px"}async ready(){super.ready(),this.fetchRef()}reposition(){if(!this.element)return;super.reposition();const t=this._element_bounds,{offsetWidth:e,offsetHeight:n}=this.element;if(this._element_bounds={offsetWidth:e,offsetHeight:n},(!t||t.offsetWidth!=e||t.offsetHeight!=n)&&this.ref&&this.root.target_element){const{fit:t="ratio"}=this.state;this.ref.fit(t)}}async fetchRef(){this._releaseRef();const{ref:t,fit:e="ratio"}=this.state;if(!t)return;const n=this.app.refProvider;if(n&&t)try{this.__ref=await n.get(t,!0),this.__ref.target=this.element,this.__ref.fit(e),this.__ref.data=this.data}catch(t){Wr(t)}}get ref(){return this.__ref}set ref(t){this.setState("ref",t)}_releaseRef(){this.__ref&&this.__ref.release&&this.__ref.release(),delete this.__ref}onchange(t,e,n){super.onchange(t,e),"ref"in t&&this.fetchRef(),"fit"in t&&this.ref&&requestAnimationFrame(()=>{const{fit:t}=this.state;this.ref.fit(t)}),"data"in t&&this.ref&&requestAnimationFrame(()=>{this.ref.data=t.data})}}tc.register("global-ref",Up);const Hp="center-middle",Wp={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"board",name:"board"},{type:"checkbox",label:"modal",name:"modal"},{type:"checkbox",label:"closable",name:"closable"},{type:"checkbox",label:"draggable",name:"draggable"},{type:"checkbox",label:"minimizable",name:"minimizable"},{type:"checkbox",label:"show",name:"show"},{type:"select",label:"popup-position",name:"popupPosition",property:{options:["static","absolute"]}},{type:"select",label:"popup-origin",name:"origin",property:{options:["left-top","center-top","right-top","left-middle",Hp,"right-middle","left-bottom","center-bottom","right-bottom","auto"]}},{type:"string",label:"title",name:"text"},{type:"data",label:"value",name:"value"}],help:"scene/component/popup"};class Xp extends(rc(ec)){static get image(){return Xp._image||(Xp._image=new Image,Xp._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAMAAABG8BK2AAADJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkM4QzQxNUMzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkM4QzQxNUQzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENjlENTQ3RjMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENjlENTQ4MDMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsiUYSQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA51BMVEVHcEwzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOguTm2AAAATHRSTlMARhB73r9B7YLrsqdE+0cq9Avzeg31eQx4aQ+Ks6aUd5DsYKixEX1w8vyT2VjoZ3YezY/cCEDvl+QTvRwJ0ifwK/5T/aw6+IuFuCImAcS6MQAAAeJJREFUWMPt2FlX2zAQhuHJYmOSFhIggbC0QNn3rS1dKXSH9///Hi58CJLxKIpEWi6YO8c5z4lG/nxGEXmu/1OVLGnhrFaSVQYg1SZetTTvUibqeFZ9QlfmvRWoV1VmCaCRzroXPpsuAjTV7gLUfPahBqD1OQMW/fazAWTKvQRI/ZgUSJR7U8CM/dHZ+/2VcatWdvdEZAaYUhiAwkerJXt0rnzXwdRKmHfDM0fHD5kxjTFyVLzVfvvirn7+cDJWjhy7c7XlYuwc6Urvu2tRhRypyhwAf1sKY+TIxfQA+H39q5wxc+RgVrcBduTmZTlj5khnDgH4IzKpMGaOVCbvyyvRGTNHGtPrKypjXirM5jb910I4k69oQeKY+77EMAcALEsck/+W6f71tyCma/ZFROTrJVwMy7wmf3bv6/MX+Dgkkysblvxps/dhOKZb6IvrTakzXXuPApnpYneDGOeKvJlaSXcDmA7AicQyW84VeTOnY+NdiWcG1uiZksFEHdyAlsJEjEkmkwGNsKHNZCJGSKtVTYC1tO022mnjwUBrMdXg8dreuOBhv7D/62/8lGZ1wLxXyZKOm+iUHIQintyny0TkaATHjYgcjeAoFpEje9R/nGPqIx2aw3NU9odCQI6e6x/VLY32cKQXVBnkAAAAAElFTkSuQmCC"),Xp._image}async ready(){await super.ready(),this.show&&this.onchangeShow(!0)}render(t){const{left:e,top:n,width:r,height:i}=this.bounds;t.beginPath(),this.drawImage(t,Xp.image,e,n,r,i)}onchange(t,e){"value"in t?this.show?this.onchangeShow(!0):this.show=!0:"show"in t&&this.onchangeShow(this.show)}onchangeShow(t){!this.app.isEditMode&&this.getState("board")&&(t?this.openPopup(this.value):this.hidePopup())}openPopup(t,e){this.app.isEditMode||kc.show(this,this.getState("board"),{origin:this.getState("origin")||Hp,modal:this.getState("modal"),closable:this.getState("closable")||!1,draggable:this.getState("draggable")||!1,minimizable:this.getState("minimizable")||!1,popupPosition:this.getState("popupPosition"),title:this.text,data:t||this.value,...e})}hidePopup(){kc.hide(this)}get board(){return this.getState("board")}set board(t){this.set("board",t)}get show(){return this.getState("show")}set show(t){this.setState("show",t)}get started(){return this.getState("show")}set started(t){this.setState("show",t)}get value(){return this.getState("value")}set value(t){this.setState("value",t)}get hasTextProperty(){return!1}get nature(){return Wp}}tc.register("popup",Xp);class qp extends tc{render(t){const{path:e=[]}=this.state;if(!(e.length<=1)){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(let n=1;n<e.length;n++)t.lineTo(e[n].x,e[n].y);t.closePath(),this.drawStroke(t,void 0)}}get path(){return this.model.path}set path(t){this.set("path",t)}contains(t,e){const n=this.state.path;let r=!1;return n.forEach((i,s)=>{const o=(s+n.length+1)%n.length,a=i.x,c=i.y,l=n[o].x,h=n[o].y;c>e!=h>e&&t<(l-a)*(e-c)/(h-c)+a&&(r=!r)}),r}}tc.register("path",qp);const Kp={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/triangle"};class $p extends ec{is3dish(){return!0}contains(t,e){const{x1:n,y1:r,x2:i,y2:s,x3:o,y3:a}=this.state,c=[n,r,i,s,o,a];let l=!1;for(let n=0;n<c.length;n+=2){const r=(n+2)%c.length,i=c[n],s=c[n+1],o=c[r+1];s>e!=o>e&&t<(c[r]-i)*(e-s)/(o-s)+i&&(l=!l)}return l}get mutable(){return!0}get path(){const{x1:t,y1:e,x2:n,y2:r,x3:i,y3:s}=this.state;return[{x:t,y:e},{x:n,y:r},{x:i,y:s}]}set path(t){this.set({x1:t[0].x,y1:t[0].y,x2:t[1].x,y2:t[1].y,x3:t[2].x,y3:t[2].y})}get nature(){return Kp}}tc.memoize($p.prototype,"path",!1),tc.register("triangle",$p);const Qp={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"}],help:"scene/component/donut"},Zp={ondragmove:function(t,e,n){let{cx:r,rx:i}=n.model;i=Math.abs(i);let s=(n.fromParent(t.x,t.y).x-r)/i*100;s=s>=100||s<=-100?100:Math.abs(s),n.set({ratio:s})}};class Jp extends dp{is3dish(){return!0}render(t){let{ratio:e=50,cx:n,cy:r,rx:i,ry:s,startAngle:o,endAngle:a,anticlockwise:c}=this.state;i=Math.abs(i),s=Math.abs(s),t.beginPath(),t.ellipse(n,r,i,s,0,o||0,a||2*Math.PI,c),t.moveTo(n+i/100*e,r),t.ellipse(n,r,i/100*e,s/100*e,0,o||0,a||2*Math.PI,!0)}contains(t,e){let{cx:n,cy:r,rx:i,ry:s,ratio:o}=this.state;i=Math.abs(i),s=Math.abs(s);const a=(t-n)/(2*i-.5),c=(e-r)/(2*s-.5),l=(t-n)/(i/100*o*2-.5),h=(e-r)/(s/100*o*2-.5);let d=!1;return a*a+c*c<.25&&l*l+h*h>.25&&(d=!d),d}get controls(){let{cx:t,cy:e,rx:n,ratio:r}=this.state;return n=Math.abs(n),[{x:t+n/100*r,y:e,handler:Zp}]}get nature(){return Qp}}tc.memoize(Jp.prototype,"controls",!1),tc.register("donut",Jp);const tf={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"},{type:"number",label:"wing",name:"wing",property:"wing"}],help:"scene/component/star"},ef={ondragmove:function(t,e,n){const{cy:r,ry:i}=n.model;let s=(n.fromParent(t.x,t.y).y-r)/i*100+100;s>=100?s=100:s<=0&&(s=0),n.set({ratio:s})}};class nf extends dp{is3dish(){return!0}render(t){const{ratio:e=30,wing:n=5,cx:r,cy:i,rx:s,ry:o}=this.state;if(n<3)return;const a=1.5707963267948966,c=2*Math.PI/n,l=s-e/100*s,h=o-e/100*o;t.save(),t.beginPath(),t.translate(r,i),t.moveTo(s*Math.cos(-a),o*Math.sin(-a)),t.lineTo((s-l)*(Math.cos(c-a)+Math.cos(0-a))/2,(o-h)*(Math.sin(c-a)+Math.sin(0-a))/2);for(let e=1;e<n;e++)t.lineTo(s*Math.cos(c*e-a),o*Math.sin(c*e-a)),t.lineTo((s-l)*(Math.cos(c*(e+1)-a)+Math.cos(c*e-a))/2,(o-h)*(Math.sin(c*(e+1)-a)+Math.sin(c*e-a))/2);t.closePath(),t.restore()}get controls(){const{cx:t,cy:e,ry:n,ratio:r}=this.state;return[{x:t,y:e-n+n*(r/100),handler:ef}]}get nature(){return tf}}tc.memoize(nf.prototype,"controls",!1),tc.register("star",nf);const rf={mutable:!1,resizable:!1,rotatable:!1,properties:[]};class sf extends(sd(ec)){is3dish(){return!1}isDescendible(){return!1}render(t){const{cx:e,cy:n,anticlockwise:r}=this.state,i=this.app?.scale||1;t.beginPath(),t.scale(1/i,1/i),t.ellipse(e,n,Math.abs(sf.RADIUS),Math.abs(sf.RADIUS),0,0,2*Math.PI,r),t.scale(i,i),t.closePath()}get path(){const{cx:t,cy:e}=this.state;return[{x:t-sf.RADIUS,y:e-sf.RADIUS},{x:t+sf.RADIUS,y:e-sf.RADIUS},{x:t+sf.RADIUS,y:e+sf.RADIUS},{x:t-sf.RADIUS,y:e+sf.RADIUS}]}set path(t){const e=t[0],n=t[2];this.set({cx:e.x+(n.x-e.x)/2,cy:e.y+(n.y-e.y)/2})}contains(t,e){const{cx:n,cy:r}=this.state,i=(t-n)/(2*sf.RADIUS-.5),s=(e-r)/(2*sf.RADIUS-.5);return i*i+s*s<.25}outline(t){const{cx:e,cy:n}=this.state;return this.toScene(e,n)}get nature(){return rf}}function of(t){return class extends t{animOnValueChange(t,e=!1,n){if(t==this._lastValue)return;let r;r=e?t-(Number(n)||0):t-(this._lastValue||0),this._lastValue=t,this._anim_alpha=-r,this.animate({step:t=>{this._anim_alpha=r*(t-1),this.invalidate()},duration:1e3,delta:"circ",options:{x:1},ease:"out"}).start()}dispose(){super.dispose(),delete this._value_substitutor}onchange(t,e){t.hasOwnProperty("value")&&delete this._value_substitutor}get animAlpha(){return this._anim_alpha||0}get animValue(){return(this._lastValue||0)+(this._anim_alpha||0)}defaultValueSubstitutor(){return this.getState("value")}get valueSubstitutor(){return this._value_substitutor||(this._value_substitutor=Ds(this.getState("value"),this,void 0)||this.defaultValueSubstitutor),this._value_substitutor}get value(){return Number(this.valueSubstitutor())||0}set value(t){delete this._value_substitutor,this.setState("value",Number(mr(t)))}}}function af(t){return class extends t{_convertDataFormat(t,e){let n;if("json"===e)n=JSON.parse(t);else n=t;return n}isDataSource(){return!0}}}function cf(t){return function(e){return Array.isArray(t)?t.forEach(t=>{tc.register(t,e)}):tc.register(t,e),e}}sf.RADIUS=5,tc.memoize(sf.prototype,"path",!1),tc.register("node",sf);let lf=0;const hf=new FinalizationRegistry(()=>{lf--});class df{static get residents(){return lf}static get residentsCount(){return lf}constructor(t,e){this.counters={},this.references={},this.creator=t,this.disposer=e,lf++,hf.register(this,lf)}dispose(){if(this.disposer)for(const t in this.references)this.disposer(t,this.references[t]);this.references={},this.counters={}}get ids(){return Object.keys(this.references)}create(t){return new Promise((e,n)=>{this.creator?this.creator(t,n=>{n.release=()=>{this.disposer?.(t,n),delete n.release,qr("RELEASED",t)},e(n)},n):n(Error("Reference id("+t+") could not be created. Reference creator should be defined."))})}add(t,e){const n=new Promise((n,r)=>{const i=this.references[t];if(i)i===e?r(Error("Reference ID and target duplicate")):e?r(Error("Reference ID duplicate")):n(i);else{const i=e=>{e.release=()=>{this.release(e)},this.references[t]=e,this.counters[t]=1,n(e)};if(e)i(e);else{if(!this.creator)return void r(Error("Reference id("+t+") is not allowed. Reference creator should be defined."));this.creator(t,i,r)}}});return this.references[t]||(this.references[t]=n),n}async get(t,e=!1){let n=this.references[t];if(n){if(!(n instanceof Promise)){if(!(t in this.counters))throw new Error("No Reference Count");return this.counters[t]++,n}if(e)return n=await n,this.counters[t]++,n}if(e)return await this.add(t);throw new Error("No References for "+t)}_id(t){for(const e in this.references){if(this.references[e]===t)return e}}release(t){const e=this._id(t);if(!e)return void Wr("No Referenced ID");const n=this.references[e];n&&(this.counters[e]--,0==this.counters[e]&&(this.disposer?.(e,n),delete this.references[e],delete this.counters[e],delete t.release,qr("RELEASED",e)))}}const uf={},pf={};let ff=[];function gf(t){const e=t.target,n="SCRIPT"===e.tagName?uf:pf,r=e.src||e.href;n[r]=!0,ff.forEach((t,e)=>{if(!t)return;const{resolve:i,scripts:s,styles:o}=t;if(n===uf){const t=s.indexOf(r);t>-1&&t<s.length-1&&yf(s[t+1])}s.some(t=>!uf[t])||o?.some(t=>!pf[t])||(i(),ff[e]=null)}),ff=ff.filter(Boolean)}function mf(t){if("string"==typeof t)return;const e=t.target,n=e.src,r="SCRIPT"===e.tagName?uf:pf;ff.forEach((e,i)=>{if(!e)return;const{reject:s,scripts:o,styles:a}=e;(r===uf&&o.includes(n)||r===pf&&!!a?.includes(n))&&(s(t),ff[i]=null)}),ff=ff.filter(Boolean),delete r[n],document.head.removeChild(e)}function yf(t){uf[t]=!1;const e=document.createElement("script");e.onload=gf,e.onerror=mf,e.type="text/javascript",e.src=t,document.head.appendChild(e)}class bf{static load(t,e){const n="string"==typeof t?[t]:t,r="string"==typeof e?[e]:e;return new Promise(function(t,e){if(n&&!Array.isArray(n)||r&&!Array.isArray(r))return void e(new Error("invalid sources for load"));let i,s=!0;if(r?.forEach(t=>{t in pf||function(t){pf[t]=!1;const e=document.createElement("link");e.onload=gf,e.onerror=mf,e.type="text/css",e.rel="stylesheet",e.media="screen,print",e.href=t,document.head.appendChild(e)}(t),pf[t]||(s=!1)}),n&&n.length>0)for(const t of n)t in uf?uf[t]||(s=!1):i??=t;if(i)yf(i);else if(s)return void t();ff.push({resolve:t,reject:e,scripts:n,styles:r})})}}const vf="0.0.0";class xf extends Oh{getObject3dInstance(){return new e.Sprite}build(){super.build(),this.buildMaterial()}get cz(){const{zPos:t=0}=this.component.state,{height:e}=this.component.bounds,{tz:n=0}=this.component.delta();return t+n+e/2}updateAlpha(){const{alpha:t=1,fillStyle:e}=this.component.state;yh(this.object3d.material,t,e)}updateHidden(){this.object3d.visible=!this.component.state.hidden}updateFillStyle(){const{fillStyle:t}=this.component.state,e=this.object3d.material;if(!e)return;const n=Oh.buildFillStyleTexture(this.component);n?(e.map&&e.map.dispose(),n.needsUpdate=!0,e.map=n):"string"==typeof t&&("transparent"!==t?e.color.set(bh(t)):e.opacity=0)}}function wf(t){if(!(t>0))return 1;let e=0;if(!(t&t-1))return t;for(;0!=t;)t>>=1,e+=1;return 1<<e}function _f(t){const{lineWidth:n=0}=t.state;let{width:r,height:i}=t.bounds;r+=n,i+=n;const s=wf(2*r),o=wf(2*i),a=hh(s,o),c=new e.CanvasTexture(a);return Af(a,t,2),c.needsUpdate=!0,c.wrapS=e.RepeatWrapping,c.wrapT=e.RepeatWrapping,c.offset.set(0,1-2*i/o),c.repeat.set(2*r/s,2*i/o),c.magFilter=e.NearestFilter,c.minFilter=e.LinearFilter,c.colorSpace=e.SRGBColorSpace,c}function Af(t,e,n){const{lineWidth:r=0}=e.state;let{left:i,top:s}=e.bounds;i-=r/2,s-=r/2;const o=t.getContext("2d");o.scale(n,n),o.translate(-i,-s),e.render(o),e.postrender(o)}class Sf extends xf{buildMaterial(){const t=this.object3d.material;t&&t.dispose(),this.object3d.material=new e.SpriteMaterial({map:_f(this.component),alphaTest:.01,sizeAttenuation:!1})}get scale(){const{width:t,height:e}=this.component.bounds,n=this.threeContainer,{width:r=1,height:i=1}=n?.bounds??{},{scale:s=1}=this.component.state;return{x:s*t/r,y:s*e/i,z:s}}update(){this.build(),this.updateHidden()}updateFillStyle(){this.update()}updateStrokeStyle(){this.update()}updateAlpha(){this.update()}updateText(){this.update()}}class Mf extends Oh{get syncZPosOffset(){return this.effectiveDepth}getObject3dInstance(){return new e.Mesh}build(){super.build();const t=Sh(this.component.state.material3d),n=new e.PlaneGeometry(1,1);n.rotateX(-Math.PI/2),this.object3d.geometry=n;const r=_f(this.component);this.object3d.material=new e.MeshStandardMaterial({map:r,transparent:!0,alphaTest:.01,side:e.DoubleSide,metalness:t.metalness,roughness:t.roughness,emissive:new e.Color(t.emissive),emissiveIntensity:t.emissiveIntensity}),this.object3d.castShadow=t.castShadow,this.object3d.receiveShadow=t.receiveShadow}updateAlpha(){const{alpha:t=1,fillStyle:e}=this.component.state;yh(this.object3d.material,t,e)}updateHidden(){this.object3d.visible=!this.component.state.hidden}updateDimension(){const{width:t,height:e}=this.component.bounds;this.object3d.scale.set(t,1,e)}update(){this.clear(),this.build(),this.updateDimension(),this.updateTransform(),this.updateHidden()}updateFillStyle(){this.update()}updateStrokeStyle(){this.update()}updateText(){this.update()}updateMaterial3d(){super.updateMaterial3d();const t=this.object3d.material;if(!t)return;const e=Sh(this.component.state.material3d);t.metalness=e.metalness,t.roughness=e.roughness,t.emissive.set(e.emissive),t.emissiveIntensity=e.emissiveIntensity}clear(){return Th(this.object3d),super.clear()}}class kf extends Oh{getObject3dInstance(){return new e.Mesh}build(){super.build(),this.buildGeometry(),this.buildMaterial()}updateAlpha(){const{alpha:t=1,fillStyle:e}=this.component.state;yh(this.object3d.material,t,e)}updateHidden(){this.object3d.visible=!this.component.state.hidden}updateFillStyle(){const{fillStyle:t}=this.component.state,e=this.object3d.material;if(!e)return;const n=Oh.buildFillStyleTexture(this.component);n?(e.map&&e.map.dispose(),n.needsUpdate=!0,e.map=n):"string"==typeof t&&("transparent"!==t?e.color.set(bh(t)):e.opacity=0)}updateStrokeStyle(){const t=this.object3d.getObjectByName("__edgeLines__");t&&(this.object3d.remove(t),Th(t));const{strokeStyle:n}=this.component.state;if(!n||"transparent"===n||"none"===n)return;const r=this.object3d.geometry;if(!r?.getAttribute("position"))return;const i=new e.EdgesGeometry(r),s=new e.LineBasicMaterial({color:n}),o=new e.LineSegments(i,s);o.name="__edgeLines__",this.object3d.add(o)}updateDimension(){const{width:t,height:e}=this.component.bounds,{depth:n=1}=this.component.state;if(!this.object3d)return;this.object3d.geometry.computeBoundingBox();const r=this.object3d.geometry.boundingBox;if(r){const i=r.max.x-r.min.x,s=r.max.y-r.min.y,o=r.max.z-r.min.z;this.object3d.scale.set(t/i,n/s,e/o)}}buildMaterial(){const t=Sh(this.component.state.material3d);this.object3d.material=new e.MeshStandardMaterial({transparent:!0,side:kh(t.side),metalness:t.metalness,roughness:t.roughness,emissive:new e.Color(t.emissive),emissiveIntensity:t.emissiveIntensity,opacity:t.opacity,envMapIntensity:t.envMapIntensity})}updateMaterial3d(){super.updateMaterial3d();const t=this.object3d.material;if(!t)return;const e=Sh(this.component.state.material3d);t.metalness=e.metalness,t.roughness=e.roughness,t.emissive.set(e.emissive),t.emissiveIntensity=e.emissiveIntensity,t.opacity=e.opacity,t.transparent=e.opacity<1,t.envMapIntensity=e.envMapIntensity,t.side=kh(e.side)}clear(){return Th(this.object3d),super.clear()}}function Ef(t,e,n,r){return[["bold",t],["italic",e],[n+"px",!0],[r,!0]].filter(t=>t[1]).map(t=>t[0]).join(" ")}function Cf(t){let e=0;if(!((t=Math.abs(t)||1)&t-1))return t;for(;0!=t;)t>>=1,e+=1;return 1<<e}function Tf(t,e,n){const{bold:r=!1,italic:i=!1,fontFamily:s="Serif",fontSize:o=10,fontColor:a="black"}=n||{},c=t.getContext("2d");c.imageSmoothingEnabled=!1,c.fillStyle=a,c.strokeStyle=a,c.font=Ef(r,i,o,s),c.textBaseline="top",c.textAlign="left",c.fillText(String(e),0,0)}function Pf(t,n,r,i){const s=Cf(2*n),o=Cf(2*r),a=hh(s,o);a.getContext("2d").scale(2,2),Tf(a,t,i);const c=new e.CanvasTexture(a);return c.needsUpdate=!0,c.wrapS=e.RepeatWrapping,c.wrapT=e.RepeatWrapping,c.offset.set(0,1-2*r/o),c.repeat.set(2*n/s,2*r/o),c.minFilter=e.LinearFilter,c.colorSpace=e.SRGBColorSpace,c}function Of(t,e){let{bold:n=!1,italic:r=!1,fontFamily:i="Serif",fontSize:s=10,lineHeight:o="normal"}=e||{};t=void 0===t||""==t?" ":String(t);const a=document.createElement("span");a.style.font=Ef(n,r,s,i),a.style.lineHeight=String(o),a.style.whiteSpace="pre",a.style.position="absolute",a.textContent=t,document.body.appendChild(a);const c=a.getBoundingClientRect();return document.body.removeChild(a),{width:c.width,height:c.height}}class Df extends kf{get syncZPosOffset(){return this.effectiveDepth}buildGeometry(){}updateDimension(){const{width:t,height:n}=this.component.state,r=Math.abs(t)||1,i=Math.abs(n)||1;this.object3d.geometry&&this.object3d.geometry.dispose();const s=new e.PlaneGeometry(r,i);s.rotateX(-Math.PI/2),this.object3d.geometry=s}updateText(){const t=this.object3d.material;if(!t)return;const{width:e,height:n,bold:r=!1,italic:i=!1,fontFamily:s="Serif",fontSize:o=10,fontColor:a="black",fillStyle:c}=this.component.state,l=Math.abs(e)||1,h=Math.abs(n)||1,d=Pf(this.component.text,l,h,{bold:r,italic:i,fontFamily:s,fontSize:o,fontColor:a});d?(t.map&&t.map.dispose(),t.map=d,d.needsUpdate=!0):"string"==typeof c&&("transparent"!==c?t.color.set(bh(c)):t.opacity=0)}updateAlpha(){const{alpha:t=1,fontColor:e="black"}=this.component.state;yh(this.object3d.material,t,e),this.object3d.material.transparent=!0}}jh("text",t=>new Df(t));class If extends Oh{get syncZPosOffset(){return this.effectiveDepth}getObject3dInstance(){return new e.Mesh}build(){super.build();const{width:t,height:n}=this.component.bounds;if(!t||!n)return;const r=Sh(this.component.state.material3d),i=new e.PlaneGeometry(1,1);i.rotateX(-Math.PI/2),this.object3d.geometry=i;const s=_f(this.component);this.object3d.material=new e.MeshStandardMaterial({map:s,transparent:!0,side:e.DoubleSide,metalness:r.metalness,roughness:r.roughness,emissive:new e.Color(r.emissive),emissiveIntensity:r.emissiveIntensity}),this.object3d.castShadow=r.castShadow,this.object3d.receiveShadow=r.receiveShadow}updateDimension(){const{width:t,height:e}=this.component.bounds;this.object3d.scale.set(t,1,e)}updateAlpha(){const{alpha:t=1,fillStyle:e}=this.component.state;yh(this.object3d.material,t,e)}updateHidden(){this.object3d.visible=!this.component.state.hidden}_debouncedRebuild(){this._debounceTimer&&clearTimeout(this._debounceTimer),this._debounceTimer=setTimeout(()=>{this._debounceTimer=void 0,this._rebuildTexture()},100)}_rebuildTexture(){this.clear(),this.build(),this.updateDimension(),this.updateTransform(),this.updateHidden()}updateFillStyle(){this._debouncedRebuild()}updateStrokeStyle(){this._debouncedRebuild()}updateText(){this._debouncedRebuild()}updateMaterial3d(){super.updateMaterial3d();const t=this.object3d.material;if(!t)return;const e=Sh(this.component.state.material3d);t.metalness=e.metalness,t.roughness=e.roughness,t.emissive.set(e.emissive),t.emissiveIntensity=e.emissiveIntensity}clear(){return this._debounceTimer&&(clearTimeout(this._debounceTimer),this._debounceTimer=void 0),Th(this.object3d),super.clear()}dispose(){this._debounceTimer&&(clearTimeout(this._debounceTimer),this._debounceTimer=void 0),super.dispose()}}const zf={input:"css3d",select:"css3d",textarea:"css3d",button:"css3d",iframe:"css3d",video:"css3d",label:"texture",table:"texture",progress:"texture"};function jf(t){const e=function(t){const e=t.state?.material3d?.renderMode;if("css3d"===e||"texture"===e)return e;const n=t.model?.type??"";return zf[n]??"css3d"}(t);return"texture"===e?new If(t):new Dh(t)}jh("html-overlay-element",jf),jh("html-overlay-container",jf);class Rf{setShape({extrudedShape:t,extrudedOptions:n}){this.extrudedShape=t,this.bb=new e.Box2,this.bb.setFromPoints(this.extrudedShape?.extractPoints(0).shape),this.extrudedOptions=n}generateTopUV(t,n,r,i,s){const o=n[3*r],a=n[3*r+1],c=n[3*i],l=n[3*i+1],h=n[3*s],d=n[3*s+1],u=this.bb,p=u.max.x-u.min.x,f=u.max.y-u.min.y;return[new e.Vector2((o-u.min.x)/p,1-(a-u.min.y)/f),new e.Vector2((c-u.min.x)/p,1-(l-u.min.y)/f),new e.Vector2((h-u.min.x)/p,1-(d-u.min.y)/f)]}generateSideWallUV(t,n,r,i,s,o){const a=n[3*r],c=n[3*r+1],l=n[3*r+2],h=n[3*i],d=n[3*i+1],u=n[3*i+2],p=n[3*s],f=n[3*s+1],g=n[3*s+2],m=n[3*o],y=n[3*o+1],b=n[3*o+2],v=this.extrudedOptions?.depth||100,x=this.bb,w=x.max.x-x.min.x,_=x.max.y-x.min.y;return Math.abs(c-d)<.01?[new e.Vector2(a/w,1-l/v),new e.Vector2(h/w,1-u/v),new e.Vector2(p/w,1-g/v),new e.Vector2(m/w,1-b/v)]:[new e.Vector2(c/_,1-l/v),new e.Vector2(d/_,1-u/v),new e.Vector2(f/_,1-g/v),new e.Vector2(y/_,1-b/v)]}}class Lf extends Oh{clear(){return this._mesh=void 0,super.clear()}get shape(){return null}get boundUVGenerator(){return this._boundUVGenerator||(this._boundUVGenerator=new Rf),this._boundUVGenerator}build(){super.build();const t=this.effectiveDepth,n=this.shape;if(!n)return;const r=this.boundUVGenerator;r&&r.setShape({extrudedShape:n,extrudedOptions:{depth:t}});const i=this.createGeometry(n),s=this.createMaterials();this._mesh=new e.Mesh(i,s),this._mesh.rotation.x=-Math.PI/2,this._mesh.rotation.y=-Math.PI,this._mesh.rotation.z=-Math.PI,this._mesh.castShadow=!0,this.object3d.add(this._mesh),this.updateFillStyle(),this.updateStrokeStyle()}createGeometry(t){const n=this.effectiveDepth,{lineWidth:r=0}=this.component.state,i={steps:1,depth:n,bevelEnabled:r>0,bevelThickness:0,bevelSize:r,bevelSegments:1,UVGenerator:this.boundUVGenerator},s=new e.ExtrudeGeometry(t,i);return s.center(),s}createMaterials(){const t=Sh(this.component.state.material3d),n={metalness:t.metalness,roughness:t.roughness,emissive:new e.Color(t.emissive),emissiveIntensity:t.emissiveIntensity,opacity:t.opacity,transparent:t.opacity<1,envMapIntensity:t.envMapIntensity,side:kh(t.side)};return[new e.MeshStandardMaterial(n),new e.MeshStandardMaterial(n)]}createTexture(){function t(t){let e=0;if(t&&!(t&t-1))return t;for(;0!=t;)t>>=1,e+=1;return 1<<e}const{width:n,height:r}=this.component.bounds,i=t(n),s=t(r),o=hh(i,s);this.component.render(o.getContext("2d"));const a=new e.CanvasTexture(o);return a.needsUpdate=!0,a.wrapS=e.RepeatWrapping,a.wrapT=e.RepeatWrapping,a.offset.set(0,1-r/s),a.repeat.set(n/i,r/s),a.minFilter=e.LinearFilter,a}getMaterials(){if(!this._mesh)return;const t=this._mesh.material;return Array.isArray(t)?t:void 0}updateMaterial3d(){super.updateMaterial3d();const t=Sh(this.component.state.material3d),e=kh(t.side),n=this.getMaterials();if(n)for(const r of n)r.metalness=t.metalness,r.roughness=t.roughness,r.emissive.set(t.emissive),r.emissiveIntensity=t.emissiveIntensity,r.opacity=t.opacity,r.transparent=t.opacity<1,r.envMapIntensity=t.envMapIntensity,r.side=e}updateAlpha(){const{alpha:t=1,fillStyle:e,strokeStyle:n}=this.component.state,r=this.getMaterials();r&&(yh(r[0],t,e),yh(r[1],t,n))}updateStrokeStyle(){const t=this.getMaterials();if(!t)return;const{strokeStyle:e}=this.component.state;t[1].color.set(bh(e))}updateFillStyle(){const{fillStyle:t}=this.component.state,e=this.getMaterials();if(!e)return;const n=e[0],r=Oh.buildFillStyleTexture(this.component);r?(n.map&&n.map.dispose(),n.map=r):n.color.set(bh(t))}updateDimension(){super.updateDimension()}}class Ff extends Lf{get shape(){const{cx:t=0,cy:n=0,rx:r=1,ry:i=1,startAngle:s=0,endAngle:o=2*Math.PI,anticlockwise:a=!1}=this.component.state,c=new e.EllipseCurve(t,n,Math.abs(r),Math.abs(i),s,o,a,0);return new e.Shape(c.getPoints(50))}}jh("ellipse",t=>new Ff(t));class Nf extends Lf{get shape(){const{width:t,height:n,round:r}=this.component.state,i=new e.Shape;if(r>0){const e=r/100*(t/2);i.moveTo(e,0),i.lineTo(t-e,0),i.quadraticCurveTo(t,0,t,e),i.lineTo(t,n-e),i.quadraticCurveTo(t,n,t-e,n),i.lineTo(e,n),i.quadraticCurveTo(0,n,0,n-e),i.lineTo(0,e),i.quadraticCurveTo(0,0,e,0)}else i.moveTo(0,0),i.lineTo(t,0),i.lineTo(t,n),i.lineTo(0,n),i.lineTo(0,0);return i}}jh("rect",t=>new Nf(t));class Bf extends Lf{get shape(){const{path:t=[],round:n=0}=this.component.state,r=new e.Shape;for(let e=0;e<t.length;e++){const i=t[(e-1+t.length)%t.length],s=t[(e+t.length)%t.length],o=t[(e+1)%t.length];if(i.x===s.x&&i.y===s.y)continue;let a=Math.sqrt((i.x-s.x)*(i.x-s.x)+(i.y-s.y)*(i.y-s.y)),c=0!==a?Math.atan2(i.x-s.x,i.y-s.y):0,l=Math.sin(c)*Math.min(n,a/2)+s.x,h=Math.cos(c)*Math.min(n,a/2)+s.y;const d=n>0||0!==a?{x:l,y:h}:s;a=Math.sqrt((o.x-s.x)*(o.x-s.x)+(o.y-s.y)*(o.y-s.y)),c=0!==a?Math.atan2(o.x-s.x,o.y-s.y):0,l=Math.sin(c)*Math.min(n,a/2)+s.x,h=Math.cos(c)*Math.min(n,a/2)+s.y;const u=n>0||0!==a?{x:l,y:h}:s;0==e?r.moveTo(d.x,d.y):r.lineTo(d.x,d.y),n>0&&r.quadraticCurveTo(s.x,s.y,u.x,u.y)}return r}get minMax(){if(!this._minMax){const{path:t}=this.component.state;let e,n,r,i;t.forEach((t,s)=>{if(0==s)return e=r=t.x,void(n=i=t.y);e=Math.min(e,t.x),r=Math.max(r,t.x),n=Math.min(n,t.y),i=Math.max(i,t.y)}),this._minMax={minX:e,minY:n,maxX:r,maxY:i}}return this._minMax}}jh("polygon",t=>new Bf(t));class Yf extends Lf{get shape(){const{cx:t=0,cy:n=0,rx:r=1,ry:i=1,ratio:s=50,startAngle:o=0,endAngle:a=2*Math.PI,anticlockwise:c=!1}=this.component.state,l=Math.abs(r),h=Math.abs(i),d=new e.EllipseCurve(t,n,l,h,o,a,c,0),u=new e.Shape(d.getPoints(50)),p=l/100*s,f=h/100*s;if(p>0&&f>0){const r=new e.EllipseCurve(t,n,p,f,o,a,c,0),i=new e.Path(r.getPoints(50));u.holes.push(i)}return u}}jh("donut",t=>new Yf(t));class Gf extends Lf{get shape(){const{x1:t=0,y1:n=0,x2:r=0,y2:i=0,x3:s=0,y3:o=0}=this.component.state,a=new e.Shape;return a.moveTo(t,n),a.lineTo(r,i),a.lineTo(s,o),a.closePath(),a}}jh("triangle",t=>new Gf(t));class Vf extends Lf{get shape(){const{ratio:t=30,wing:n=5,cx:r=0,cy:i=0,rx:s=1,ry:o=1}=this.component.state;if(n<3)return null;const a=Math.PI/2,c=2*Math.PI/n,l=s-t/100*s,h=o-t/100*o,d=new e.Shape;d.moveTo(r+s*Math.cos(-a),i+o*Math.sin(-a)),d.lineTo(r+(s-l)*(Math.cos(c-a)+Math.cos(0-a))/2,i+(o-h)*(Math.sin(c-a)+Math.sin(0-a))/2);for(let t=1;t<n;t++)d.lineTo(r+s*Math.cos(c*t-a),i+o*Math.sin(c*t-a)),d.lineTo(r+(s-l)*(Math.cos(c*(t+1)-a)+Math.cos(c*t-a))/2,i+(o-h)*(Math.sin(c*(t+1)-a)+Math.sin(c*t-a))/2);return d.closePath(),d}}jh("star",t=>new Vf(t));const Uf={mutable:!1,resizable:!0,rotatable:!0,properties:[],help:"scene/component/sphere"};class Hf extends kf{buildGeometry(){const{rx:t=0,ry:n=0,rz:r}=this.component.state,i=r??t,s=new e.SphereGeometry(1,32,16);s.scale(t,i,n),this.object3d.geometry=s}updateDimension(){this.buildGeometry()}}let Wf=class extends dp{is3dish(){return!0}buildRealObject(){return new Hf(this)}get nature(){return Uf}};Wf=Bu([cf("sphere")],Wf);const Xf={mutable:!1,resizable:!0,rotatable:!0,properties:[]};let qf=class extends(rc(ec)){is3dish(){return!0}buildRealObject(){return new Sf(this)}get nature(){return Xf}};qf=Bu([cf("sprite")],qf);const Kf={mutable:!1,resizable:!0,rotatable:!0,properties:[],help:"scene/component/cube"};class $f extends kf{buildGeometry(){const{width:t=0,height:n=0,depth:r=0}=this.component.state,i=new e.BoxGeometry(1,1,1);i.scale(t,r,n),this.object3d.geometry=i}}let Qf=class extends(rc(ec)){is3dish(){return!0}buildRealObject(){return new $f(this)}get nature(){return Kf}};Qf=Bu([cf("cube")],Qf);const Zf={mutable:!1,resizable:!0,rotatable:!0,properties:[],help:"scene/component/cylinder"};class Jf extends kf{buildGeometry(){const{rx:t=0,ry:n=0}=this.component.state,r=this.component.state.depth??1,i=new e.CylinderGeometry(1,1,1,25);i.scale(t||1,r||1,n||1),this.object3d.geometry=i}updateDimension(){this.buildGeometry()}}let tg=class extends dp{is3dish(){return!0}buildRealObject(){return new Jf(this)}get nature(){return Zf}};tg=Bu([cf("cylinder")],tg);const eg={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"color",label:"box-color",name:"boxColor",property:"boxColor"}],help:"scene/component/banner"};class ng extends Oh{build(){super.build();const{width:t=1,height:e=1,depth:n=1}=this.component.state;this.object3d.add(this.createCube(t,e,n));const r=this.createTextureBoard(t,n);r.position.set(0,0,.5*e+1),this.object3d.add(r)}createCube(t,n,r){const{boxColor:i="#ccaa76"}=this.component.state,s=Sh(this.component.state.material3d),o=new e.BoxGeometry(t,r,n),a=new e.MeshStandardMaterial({color:i,side:e.FrontSide,metalness:s.metalness,roughness:s.roughness,emissive:new e.Color(s.emissive),emissiveIntensity:s.emissiveIntensity}),c=new e.Mesh(o,a);return c.castShadow=s.castShadow,c.receiveShadow=s.receiveShadow,c}createTextureBoard(t,n){let r;const i=Sh(this.component.state.material3d),{fillStyle:s="#ccaa76"}=this.component.state,o=Oh.buildFillStyleTexture(this.component);r=o?new e.MeshStandardMaterial({map:o,metalness:i.metalness,roughness:i.roughness,emissive:new e.Color(i.emissive),emissiveIntensity:i.emissiveIntensity}):new e.MeshStandardMaterial({color:s||"#ccaa76",side:e.FrontSide,metalness:i.metalness,roughness:i.roughness,emissive:new e.Color(i.emissive),emissiveIntensity:i.emissiveIntensity});const a=new e.PlaneGeometry(t,n,1,1),c=new e.Mesh(a,r);return c.castShadow=i.castShadow,c.receiveShadow=i.receiveShadow,c}updateMaterial3d(){super.updateMaterial3d();const t=Sh(this.component.state.material3d);this.object3d.traverse(e=>{if(e.isMesh){const n=e.material;n&&(n.metalness=t.metalness,n.roughness=t.roughness,n.emissive.set(t.emissive),n.emissiveIntensity=t.emissiveIntensity),e.castShadow=t.castShadow,e.receiveShadow=t.receiveShadow}})}}let rg=class extends(rc(ec)){is3dish(){return!0}get nature(){return eg}buildRealObject(){return new ng(this)}};var ig;rg=Bu([cf("banner")],rg);const sg={far:1e5,fov:80,near:1,zoom:1},og={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"near",name:"near"},{type:"number",label:"far",name:"far"},{type:"number",label:"fov",name:"fov"},{type:"number",label:"zoom",name:"zoom"},{type:"checkbox",label:"show-helper",name:"showHelper"}],help:"scene/component/camera"};class ag extends Oh{getObject3dInstance(){return new e.Mesh}updateCamera(){const{near:t=sg.near,far:n=sg.far,fov:r=sg.fov,zoom:i=sg.zoom,showHelper:s}=this.component.state;this.camera.far=n,this.camera.fov=r,this.camera.near=t,this.camera.zoom=i,s?this.helper||(this.helper=new e.CameraHelper(this.camera),this.object3d.add(this.helper)):this.helper&&(this.object3d.remove(this.helper),delete this.helper)}build(){super.build();const{width:t=0,height:n=0,depth:r=0,fillStyle:i="lightgray"}=this.component.state;this.object3d.geometry=new e.BoxGeometry(t,r,n),this.object3d.material=new e.MeshStandardMaterial({color:i,side:e.FrontSide}),this.camera=new e.PerspectiveCamera,this.camera.position.set(0,0,0),this.object3d.add(this.camera),this.object3d.lookAt(0,0,0),this.updateCamera()}}let cg=ig=class extends(rc(ec)){is3dish(){return!0}static get image(){return ig._image||(ig._image=new Image,ig._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA1IAAANSAQMAAABV6G1EAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAABlBMVEX6+voBAQGV71ZvAAAFO0lEQVR42u3dMZLkNBiGYakUKFRIqKOISxDvETiCTBEQcgQOQE7clyAi8REm7KDXIhgYoMa/7fbIX+2K9w022MCP/25Z28GW5RwRERERERERERERERERERERERERERERERERERERERERERERERHRl9mv7fdPn7879sf8Mcq3J3r5EJXaUy3Wddrcd6qNybx9F2/lZ63H+nVCa9Oe9elZa5ksa/dDbE+3fsm4v27C89bd+i6W3l+XdcnSWtuxyvPW+hqorbWb0Jr7Pl3m4tjfVMIZ625d6L5pxTPWw7rQY9P6pqu1dF8aq5d83cE3rXrGWluIxV6h53eotv4c1V3Ln7Nm66ZvvZf8SSues16sD2jubz2sC839fmvYiz7t//LJna27wsr7VjlnNWtPeHTfNlae2bZvnaTePUd+74fqV2LNxv6zdN8O3z9HSWhlc4F+dOvdsKbe2+F7q+zPddq6W2ts6r31vrN825/rtPWwvvcL5losy11uxQNz5U6fYT4w12mrWf80TUNZdetXal/LtwNW6WOFI1Y9bU3GVnfFXM9bneZKwrmKcK4qnKsK52q6uULTzRWFVjpkta/OykKrCq02puWFVhRaSWjlQa0itJrO8oNaQWgloZWFVhnUqjrLN50VBrWi0MpCqwitOqjVdFYQWlFopUGtLLSq0GpjWl5oRaGVBrWy0KpCq+ksP6gVhFYSWllolUGtqrNW/jvBZVYY1IpCKwutIrTqoFbTWUFoxUGtJLSK0KpCq41peaEVhVYa1MpCqwqtprP8oFYUWklo5UGtIrSazvJCKwxqRaGVhVYZ1Ko664ems34UWj8Nav0stBoWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhbW/9L6RWgp37WofIek8j2cyveLTkqrCq0itLLQSkJL+Q5k5budle/HVr73e/24gAHenZ6FlvK9+srzAoLQUp65oDy3QnoeRxFaWWgpz2pRnncThJbyzCDpuUtVaBWhlYWW8qwx5RlqynPovNBSnuUnPaOwCK0stJLQUp4BqjzbVHk+rFNaVWgVoZWFlvJc6Si0lGdzK88cV57bLj2PvgitLLSS0IpCKwgtL7Sc0qpCqwitLLSS0IpCKwgtL7Sc0qpCqwitLLSS0IpCKwgtL7Sc0qpCqwitLLSS0IpCKwgtL7Sc0qpCqwitLLSS0IpCKwgtL7Sc0qpCqxyyahcrH7JKFysJ54rCuYJwLi+cywnn+vdlLp+rCOfKwrnStXP95zLxiJX7WEFoeaHljO/xEqsaf9/FWqz1bM+VzloP655df2uxrnP9XPHKue7OeMDsuWInyx+Y67T1Yv0gs+cKvay6P5fvZZULrdnYFBbbcr2sdKF1MxbZFdZkLLItq3aay6/vJ102eusD2rJKl633nw/o3n+uxbrpLSv1svL6M95hQ3xYNz33t16sC21Zoc+28Xahm+u+Ic7WhbYs1+dRfrvQ5LpvHOaFNq3SZ8n/faEt6twDtli7wrJpxT6P1183/di0Ti36u3XT903Ld1qGrzf9smmdWhyTddNzf8t8UqdtK/dZGq8P2DZ1ZnHcrQ/osWO5PkvDuby7NE58Yctk7Qq3PSv3+bpc3F0aJ56wF+uLX9xu6eOb4es9z/vWc0vR3oZuByjnf2t/fP/54B/2WvvWEREREREREREREREREREREREREREREREREREREREREREREREREX2J/QlrTpqHD8xO1gAAAABJRU5ErkJggg=="),ig._image}render(t){const{left:e,top:n,width:r,height:i}=this.bounds;t.beginPath(),this.drawImage(t,ig.image,e,n,r,i)}buildRealObject(){return new ag(this)}get nature(){return og}};cg=ig=Bu([cf("camera")],cg);const lg={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"gltf-selector",label:"url",name:"src",property:{displayField:"id",displayFullUrl:!0,baseUrlAlias:"$base_url",defaultStorage:"3d-model",storageFilters:{type:Array,value:[{name:"category",value:"image"}]},useUpload:!0,category:"application"},observe:function(t){this.parentNode.querySelector("[name=gltfInfo]").src=t;const e=this.parentNode.querySelector("[name=fillStyleTargets]");e&&(e.src=t)}},{type:"gltf-info",label:"",name:"gltfInfo",readonly:!0,property:{action:(t,e)=>{t.set(e)}},editor:{fullwidth:!0}},{type:"gltf-fill-targets",label:"fill-targets",name:"fillStyleTargets",editor:{fullwidth:!0}}],"value-property":"source",help:"scene/component/gltf-object"};let hg=class extends(rc(ec)){is3dish(){return!0}get controls(){return[]}render(t){const{left:e,top:n,width:r,height:i}=this.bounds;t.beginPath();const s=this._topViewSnapshot;if(s)t.drawImage(s,e,n,r,i);else{t.rect(e,n,r,i),t.fillStyle="#f0f0f0",t.fill(),t.strokeStyle="#999",t.lineWidth=1,t.stroke();const s=this.getState("src"),o=s&&s.split("/").pop()?.replace(/\.[^.]+$/,"")||"GLTF",a=Math.max(10,.12*Math.min(r,i));t.fillStyle="#666",t.font=`${a}px sans-serif`,t.textAlign="center",t.textBaseline="middle",t.fillText(o,e+r/2,n+i/2,.9*r)}}async ready(){await super.ready(),this._ensureTopViewSnapshot()}onchange(t,e){super.onchange(t,e),"src"in t&&(this._topViewSnapshot=void 0,this._ensureTopViewSnapshot())}_ensureTopViewSnapshot(){const t=this.getState("src");if(!t)return;const e=zu.getTopViewCache(t);if(e)return this._topViewSnapshot=e,void this.invalidate();const n=this.app.url(t);zu.loadGLTF(n).then(e=>{if(this.getState("src")!==t)return;const n=zu.getTopViewCache(t);if(n)return this._topViewSnapshot=n,void this.invalidate();const r=zu.renderTopView(e.scene);zu.setTopViewCache(t,r),this._topViewSnapshot=r,this.invalidate()})}buildRealObject(){return new zu(this)}get nature(){return lg}get source(){return this.getState("src")}set source(t){this.setState("src",t)}set dimension(t){const{width:e=1,height:n=1,depth:r=1}=t;this.setState({width:e,height:n,depth:r}),this.realObject?.updateDimension()}get nodes(){return this.getState("nodes")}set nodes(t){this.setState("nodes",t)}get animations(){return this.getState("animations")}set animations(t){this.setState("animations",t)}get autoPlay(){return!1!==this.getState("autoPlay")}set autoPlay(t){this.setState("autoPlay",t)}get fillStyleTargets(){return this.getState("fillStyleTargets")}set fillStyleTargets(t){this.setState("fillStyleTargets",t)}get nodeNames(){const t=this.realObject;return t?.nodeNames??[]}get animationNames(){const t=this.realObject;return t?.animationNames??[]}};hg=Bu([cf("gltf-object")],hg);const dg={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"select",label:"light-type",name:"lightType",property:{options:["","point","directional"]}},{type:"number",label:"intensity",name:"intensity"},{type:"number",label:"distance",name:"distance"},{type:"number",label:"decay",name:"decay"},{type:"checkbox",label:"cast-shadow",name:"castShadow"},{type:"number",label:"near",name:"near",placeholder:"0.5"},{type:"number",label:"far",name:"far",placeholder:"1000"},{type:"number",label:"fov",name:"fov",placeholder:"90"},{type:"number",label:"zoom",name:"zoom",placeholder:"1"},{type:"checkbox",label:"show-helper",name:"showHelper"}],help:"scene/component/light"};class ug extends Oh{updatePointLight(){const{lightType:t="point",distance:n=0,intensity:r=10,decay:i=1,fillStyle:s="white",castShadow:o,near:a=.5,far:c=1e3,fov:l=90,zoom:h=1,showHelper:d}=this.component.state;if(this.object3d.color=new e.Color(s),"point"==t&&(this.object3d.distance=n,this.object3d.decay=i),this.object3d.intensity=r,this.object3d.castShadow=o,o){const t=this.object3d.shadow?.camera;t.far=c,t.near=a,t.fov=l,t.zoom=h}if(d){const t=this.object3d.shadow?.camera;this.helper||(this.helper=new e.CameraHelper(t),this.object3d.add(this.helper))}else this.helper&&(this.object3d.remove(this.helper),delete this.helper)}getObject3dInstance(){const{lightType:t="point"}=this.component.state;return"point"==t?new e.PointLight:new e.DirectionalLight}update(){this.clear(),this.build(),this.updateDimension(),this.updateHidden(),this.updatePointLight()}}let pg=class extends dp{is3dish(){return!0}buildRealObject(){return new ug(this)}get anchors(){return[]}get nature(){return dg}};pg=Bu([cf("light")],pg);const fg={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"depth",name:"depth",property:"depth"}],help:"scene/component/wall"};class gg extends kf{buildGeometry(){const{width:t=0,height:n=0,depth:r=0}=this.component.state,i=new e.BoxGeometry(1,1,1);i.scale(t,r,n),this.object3d.geometry=i}}let mg=class extends(rc(ec)){is3dish(){return!0}buildRealObject(){return new gg(this)}get nature(){return fg}};mg=Bu([cf("wall")],mg);class yg extends Oh{build(){super.build()}update(){}}const bg={far:1e5,fov:80,near:1,zoom:1};class vg extends Oh{build(){super.build()}update(){super.update(),this.updateCamera()}getObject3dInstance(){return new e.PerspectiveCamera}updateCamera(){const{near:t=bg.near,far:e=bg.far,fov:n=bg.fov,zoom:r=bg.zoom}=this.component.state;this.object3d.far=e,this.object3d.fov=n,this.object3d.near=t,this.object3d.zoom=r}}class xg extends Oh{getObject3dInstance(){return new e.Group}}class wg extends kf{buildGeometry(){const{width:t,height:n}=this.component.state.dimension;this.object3d.geometry=new e.PlaneGeometry(t,n)}buildMaterial(){this.object3d.material=new e.MeshStandardMaterial({opacity:0,side:e.DoubleSide,blending:e.NoBlending})}}class _g extends Oh{getObject3dInstance(){return new e.Scene}dispose(){for(const t of this.object3d.children)Th(t);this._animationMixer&&(this._animationMixer.stopAllAction(),this._animationMixer.uncacheRoot(this.object3d),this._animationMixer=void 0),super.dispose()}clear(){return this._floor&&(this.object3d.remove(this._floor),this._floor.material instanceof Array?this._floor.material.forEach(t=>t.dispose()):this._floor.material.dispose(),this._floor.geometry.dispose(),delete this._floor),super.clear()}get floor(){return this._floor}set floor(t){this._floor&&(this.object3d.remove(this._floor),this._floor.clear(),delete this._floor),t&&(this._floor=t,this.object3d.add(t)),this.component.invalidate()}build(){super.build(),this.floor=Nh(this.component)}updateTransform(){}updateDimension(){}updatePosition(){}updateRotate(){}updateScale(){}updateAlpha(){}updateHidden(){}get animationMixer(){return this._animationMixer||(this._animationMixer=new e.AnimationMixer(this.object3d)),this._animationMixer}}const Ag={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"select",label:"precision",name:"precision",property:{options:[{display:"High",value:"highp"},{display:"Medium",value:"mediump"},{display:"Low",value:"lowp"}]}},{type:"checkbox",label:"anti-alias",name:"antialias",property:"antialias"},{type:"checkbox",label:"3dmode",name:"threed",property:"threed"},{type:"checkbox",label:"auto-rotate",name:"autoRotate",property:"autoRotate"},{type:"checkbox",label:"debug",name:"debug",property:"debug"}],help:"scene/component/three-container"};let Sg=class extends Ku{constructor(){super(...arguments),this._capability=new Zh}get sceneManager(){return this._capability.sceneManager}get cameraManager(){return this._capability.cameraManager}get rendererManager(){return this._capability.rendererManager}get lightManager(){return this._capability.lightManager}get controlsManager(){return this._capability.controlsManager}get eventManager(){return this._capability.eventManager}containable(t){return!0}is3dContainer(){return!0}getLightingConfig(){return{hemisphere:{skyColor:14540253,groundColor:3355443,intensity:.035}}}getCss3DSceneAttribute(){return"three-container:css3d-renderer"}init_scene3d(){this._capability.isInitialized&&this._capability.destroy(),this._capability.init(this,{lightingConfig:this.getLightingConfig(),css3DSceneAttribute:this.getCss3DSceneAttribute()}),this._capability.buildOverlays(),this._capability.resize(),this.onchangeData&&this.onchangeData(this.data,this.data)}destroy_scene3d(){this.stop(),this._capability.destroy()}stop(){}resize(){this._capability.resize()}get scene3d(){return this._capability.isInitialized||this.init_scene3d(),this._capability.scene3d}get renderer3d(){return this._capability.renderer3d}get mixer(){return this._capability.mixer}get zoom(){return this._capability.zoom}get css3DScene(){return this._capability.css3DScene}get css3DRenderer(){return this._capability.css3DRenderer}render_threed(){this._capability.renderThreeD()}get _parentIs3dMode(){return!!this.rootModel?.is3dMode}render(t){this._parentIs3dMode||(this.app.isViewMode&&this.setState("threed",!0),!this.state.threed||this._capability.noSupportWebgl?super.render(t):this._capability.camera&&this._capability.renderCSS3D())}postrender(t){if(this._parentIs3dMode)return;const{left:e,top:n,debug:r,threed:i}=this.state;let{width:s,height:o}=this.bounds;if(s=Math.floor(s),o=Math.floor(o),i){if(this._capability.isInitialized||this.init_scene3d(),this._capability.noSupportWebgl)return void this._capability.showWebglNoSupportText(t,this.state.width,this.state.height);if(!this._capability.renderer3d)return;this._capability.renderThreeD();const i=this._capability.domElement;t.drawImage(i,0,0,i.width,i.height,e,n,s,o),r&&this._capability.showDebugFPS(t)}else super.postrender(t)}dispose(){this._capability.dispose(),super.dispose()}get layout(){return lc.get("three")}get nature(){return Ag}getObjectByRaycast(){return this._capability.getObjectByRaycast()}getObjectsByRaycast(){return this._capability.getObjectsByRaycast()}onchange(t,e){(t.hasOwnProperty("width")||t.hasOwnProperty("height"))&&this._capability.destroy(),this._capability.onchange(t)}onmousedown(t){this._capability.onMouseDown(t)}onmouseup(t){this._capability.onMouseUp(t)}onmousemove(t){this._capability.onMouseMove(t)}onmouseleave(t){this._capability.onMouseLeave(t)}onwheel(t){this._capability.onWheel(t)&&this.invalidate()}ondblclick(t){this._capability.onDblClick(t)&&this.invalidate()}ondragstart(t){this._capability.onDragStart(t)}ondragmove(t){this._capability.onDragMove(t)&&this.invalidate()}ondragend(t){this._capability.onDragEnd(t)&&this.invalidate()}ontouchstart(t){this._capability.onTouchStart(t)}onpan(t){this._capability.onPan(t)&&this.invalidate()}ontouchend(t){this._capability.onTouchEnd(t)}onkeydown(t){this._capability.onKeyDown(t)}onpinch(t){this._capability.onPinch(t)&&this.invalidate()}ondoubletap(){this._capability.onDoubleTap(),this.invalidate()}};var Mg;Sg=Bu([cf("3d-container")],Sg),Rh(t=>{const e=t.state.material3d?.spriteMode;return"plane"===e?new Mf(t):new Sf(t)}),function(t){t.compile=hl,t.duplicate=dl,t.select=Ea,t.match=Sa}(Mg||(Mg={})),Or.registerResidents(()=>({componentResidentsCount:tc.residentsCount,sceneResidentsCount:Lu.residentsCount,referenceMapResidentsCount:df.residentsCount,sceneResidents:tc.residents}));var kg=Object.freeze({__proto__:null,AbsoluteLayout:dc,Animation:ta,AudioPlayer:Rp,get Banner(){return rg},Banner3D:ng,get Camera(){return cg},Camera3D:ag,CameraManager:Gh,CardLayout:pc,Component:tc,Connectable:sd,Container:Ku,ContainerAbstract:Pc,ControlsManager:Wh,get Cube(){return Qf},Cube3D:$f,get Cylinder(){return tg},Cylinder3D:Jf,DEFAULT:Bi,DPPX:Li,DataSource:af,Donut:Jp,DonutExtrude:Yf,Ellipse:dp,EllipseExtrude:Ff,EventManager3D:Xh,EventMap:iu,FPS:ch,GESTURES:Fi,get GLTFObject(){return hg},GifView:zp,GizmoManager:qh,GizmoOperationManager:Kh,GlobalRef:Up,Group:Np,HTMLAbsoluteLayout:hc,HTMLOverlayContainer:Gp,HTMLOverlayElement:_p,ImageView:wp,InfoWindow:ac,InteractionManager:$h,KEYEVENTS:Ni,Layer:Oc,Layout:lc,LightManager:Uh,LightObject:ug,Line:lp,LinearHorizontalLayout:gc,LinearVerticalLayout:yc,LocalRef:Yp,MATERIAL_PRESETS:Ah,MAX_UNDO_SIZE:30,MODE_ADD:3,MODE_EDIT:1,MODE_PASTE_DATABIND:5,MODE_PASTE_STYLE:4,MODE_SHIFT:2,MODE_VIEW:0,get Model(){return Mg},MoveHandle:Cc,NOTHING:Ci,Node:sf,OrthoLine:vp,PIXEL_RATIO:lh,Path:qp,PlacementManager:Qh,get PointLight(){return pg},Polygon:fp,PolygonExtrude:Bf,Polyline:yp,Popup:Xp,RealObject:Oh,RealObjectCamera:vg,RealObjectDomElement:Dh,RealObjectDomTexture:If,RealObjectDummy:yg,RealObjectExtrude:Lf,RealObjectGLTF:zu,RealObjectGroup:xg,RealObjectMesh:kf,RealObjectPlane:wg,RealObjectPlane2D:Mf,RealObjectScene:_g,RealObjectSprite:xf,RealObjectSprite2D:Sf,RealObjectText:Df,Rect:cd,RectExtrude:Nf,RectPath:rc,ReferenceMap:df,RendererManager:Vh,RootContainer:bu,Ruler:hd,SCALE_MIN:mh,SCENE_MODE:ji,Scene:Lu,SceneManager:Yh,ScenePopup:kc,ScriptLoader:bf,Shape:ec,get Sphere(){return Wf},Sphere3D:Hf,get Sprite(){return qf},Star:nf,StarExtrude:Vf,TableLayout:bc,Text:Lp,ThreeCapability:Zh,get ThreeContainer(){return Sg},Triangle:$p,TriangleExtrude:Gf,UNIT_DIMENSION:vh,UNIT_ROTATE:_h,UNIT_SCALE:xh,UNIT_TRANSLATE:wh,ValueHolder:of,get Wall(){return mg},Wall3D:gg,animate:Jo,applyAlpha:yh,buildArrow3D:gh,compile:na,create:Nu,createCanvas:hh,createCanvasTexture:_f,createFloor:Nh,createRealObjectFor:Lh,debug:qr,delta:Qo,disposeObject3D:Th,drawTextTexture:Tf,error:Wr,fontStyle:Ef,initFontFamilyWatcher:Gi,inspector:Pu,metrics:Or,opaqueColor:bh,projectToScreen:Fc,registerDefaultRealObjectFactory:Rh,registerRealObjectFactory:jh,renderCanvasTexture:Af,resolveMaterial3d:Sh,sceneComponent:cf,stopFPSMeasure:ah,textBounds:Of,textTexture:Pf,toThreeSide:kh,updateDefaultFontFamily:Yi,version:vf,warn:Xr});const Eg=globalThis;"undefined"==typeof globalThis||Eg.scene||(Eg.scene=kg);export{dc as AbsoluteLayout,ta as Animation,Rp as AudioPlayer,rg as Banner,ng as Banner3D,cg as Camera,ag as Camera3D,Gh as CameraManager,pc as CardLayout,tc as Component,sd as Connectable,Ku as Container,Pc as ContainerAbstract,Wh as ControlsManager,Qf as Cube,$f as Cube3D,tg as Cylinder,Jf as Cylinder3D,Bi as DEFAULT,Li as DPPX,af as DataSource,Jp as Donut,Yf as DonutExtrude,dp as Ellipse,Ff as EllipseExtrude,Xh as EventManager3D,iu as EventMap,ch as FPS,Fi as GESTURES,hg as GLTFObject,zp as GifView,qh as GizmoManager,Kh as GizmoOperationManager,Up as GlobalRef,Np as Group,hc as HTMLAbsoluteLayout,Gp as HTMLOverlayContainer,_p as HTMLOverlayElement,wp as ImageView,ac as InfoWindow,$h as InteractionManager,Ni as KEYEVENTS,Oc as Layer,lc as Layout,Uh as LightManager,ug as LightObject,lp as Line,gc as LinearHorizontalLayout,yc as LinearVerticalLayout,Yp as LocalRef,Ah as MATERIAL_PRESETS,Ri as MAX_UNDO_SIZE,Di as MODE_ADD,Pi as MODE_EDIT,zi as MODE_PASTE_DATABIND,Ii as MODE_PASTE_STYLE,Oi as MODE_SHIFT,Ti as MODE_VIEW,Mg as Model,Cc as MoveHandle,Ci as NOTHING,sf as Node,vp as OrthoLine,lh as PIXEL_RATIO,qp as Path,Qh as PlacementManager,pg as PointLight,fp as Polygon,Bf as PolygonExtrude,yp as Polyline,Xp as Popup,Oh as RealObject,vg as RealObjectCamera,Dh as RealObjectDomElement,If as RealObjectDomTexture,yg as RealObjectDummy,Lf as RealObjectExtrude,zu as RealObjectGLTF,xg as RealObjectGroup,kf as RealObjectMesh,wg as RealObjectPlane,Mf as RealObjectPlane2D,_g as RealObjectScene,xf as RealObjectSprite,Sf as RealObjectSprite2D,Df as RealObjectText,cd as Rect,Nf as RectExtrude,rc as RectPath,df as ReferenceMap,Vh as RendererManager,bu as RootContainer,hd as Ruler,mh as SCALE_MIN,ji as SCENE_MODE,Lu as Scene,Yh as SceneManager,kc as ScenePopup,bf as ScriptLoader,ec as Shape,Wf as Sphere,Hf as Sphere3D,qf as Sprite,nf as Star,Vf as StarExtrude,bc as TableLayout,Lp as Text,Zh as ThreeCapability,Sg as ThreeContainer,$p as Triangle,Gf as TriangleExtrude,vh as UNIT_DIMENSION,_h as UNIT_ROTATE,xh as UNIT_SCALE,wh as UNIT_TRANSLATE,of as ValueHolder,mg as Wall,gg as Wall3D,Jo as animate,yh as applyAlpha,gh as buildArrow3D,na as compile,Nu as create,hh as createCanvas,_f as createCanvasTexture,Nh as createFloor,Lh as createRealObjectFor,qr as debug,Qo as delta,Th as disposeObject3D,Tf as drawTextTexture,Wr as error,Ef as fontStyle,Gi as initFontFamilyWatcher,Pu as inspector,Or as metrics,bh as opaqueColor,Fc as projectToScreen,Rh as registerDefaultRealObjectFactory,jh as registerRealObjectFactory,Af as renderCanvasTexture,Sh as resolveMaterial3d,cf as sceneComponent,ah as stopFPSMeasure,Of as textBounds,Pf as textTexture,kh as toThreeSide,Yi as updateDefaultFontFamily,vf as version,Xr as warn};
74
52
  //# sourceMappingURL=things-scene.mjs.map