@ray-js/robot-map-sdk 0.0.3-beta-24 → 0.0.3-beta-25

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 (744) hide show
  1. package/dist/rjs/_virtual/_commonjsHelpers.js +1 -0
  2. package/dist/rjs/_virtual/deinterlace.js +1 -0
  3. package/dist/rjs/_virtual/gif.js +1 -0
  4. package/dist/rjs/_virtual/index.js +1 -0
  5. package/dist/rjs/_virtual/index10.js +1 -0
  6. package/dist/rjs/_virtual/index2.js +1 -0
  7. package/dist/rjs/_virtual/index3.js +1 -0
  8. package/dist/rjs/_virtual/index4.js +1 -0
  9. package/dist/rjs/_virtual/index5.js +1 -0
  10. package/dist/rjs/_virtual/index6.js +1 -0
  11. package/dist/rjs/_virtual/index7.js +1 -0
  12. package/dist/rjs/_virtual/index8.js +1 -0
  13. package/dist/rjs/_virtual/index9.js +1 -0
  14. package/dist/rjs/_virtual/lzw.js +1 -0
  15. package/dist/rjs/_virtual/uint8.js +1 -0
  16. package/dist/rjs/index.js +1 -0
  17. package/dist/rjs/node_modules/@pixi/colord/index.js +1 -0
  18. package/dist/rjs/node_modules/@pixi/colord/plugins/names.js +1 -0
  19. package/dist/rjs/node_modules/@ray-js/robot-protocol/dist/index.js +1 -0
  20. package/dist/rjs/node_modules/base64-js/index.js +1 -0
  21. package/dist/rjs/node_modules/buffer/index.js +1 -0
  22. package/dist/rjs/node_modules/earcut/src/earcut.js +1 -0
  23. package/dist/rjs/node_modules/eventemitter3/index.js +1 -0
  24. package/dist/rjs/node_modules/eventemitter3/index2.js +1 -0
  25. package/dist/rjs/node_modules/gifuct-js/lib/deinterlace.js +1 -0
  26. package/dist/rjs/node_modules/gifuct-js/lib/index.js +1 -0
  27. package/dist/rjs/node_modules/gifuct-js/lib/lzw.js +1 -0
  28. package/dist/rjs/node_modules/ieee754/index.js +1 -0
  29. package/dist/rjs/node_modules/ismobilejs/esm/isMobile.js +1 -0
  30. package/dist/rjs/node_modules/js-binary-schema-parser/lib/index.js +1 -0
  31. package/dist/rjs/node_modules/js-binary-schema-parser/lib/parsers/uint8.js +1 -0
  32. package/dist/rjs/node_modules/js-binary-schema-parser/lib/schemas/gif.js +1 -0
  33. package/dist/rjs/node_modules/lodash-es/_DataView.js +1 -0
  34. package/dist/rjs/node_modules/lodash-es/_Hash.js +1 -0
  35. package/dist/rjs/node_modules/lodash-es/_ListCache.js +1 -0
  36. package/dist/rjs/node_modules/lodash-es/_Map.js +1 -0
  37. package/dist/rjs/node_modules/lodash-es/_MapCache.js +1 -0
  38. package/dist/rjs/node_modules/lodash-es/_Promise.js +1 -0
  39. package/dist/rjs/node_modules/lodash-es/_Set.js +1 -0
  40. package/dist/rjs/node_modules/lodash-es/_SetCache.js +1 -0
  41. package/dist/rjs/node_modules/lodash-es/_Stack.js +1 -0
  42. package/dist/rjs/node_modules/lodash-es/_Symbol.js +1 -0
  43. package/dist/rjs/node_modules/lodash-es/_Uint8Array.js +1 -0
  44. package/dist/rjs/node_modules/lodash-es/_WeakMap.js +1 -0
  45. package/dist/rjs/node_modules/lodash-es/_apply.js +1 -0
  46. package/dist/rjs/node_modules/lodash-es/_arrayFilter.js +1 -0
  47. package/dist/rjs/node_modules/lodash-es/_arrayLikeKeys.js +1 -0
  48. package/dist/rjs/node_modules/lodash-es/_arrayPush.js +1 -0
  49. package/dist/rjs/node_modules/lodash-es/_arraySome.js +1 -0
  50. package/dist/rjs/node_modules/lodash-es/_assignMergeValue.js +1 -0
  51. package/dist/rjs/node_modules/lodash-es/_assignValue.js +1 -0
  52. package/dist/rjs/node_modules/lodash-es/_assocIndexOf.js +1 -0
  53. package/dist/rjs/node_modules/lodash-es/_baseAssignValue.js +1 -0
  54. package/dist/rjs/node_modules/lodash-es/_baseCreate.js +1 -0
  55. package/dist/rjs/node_modules/lodash-es/_baseFor.js +1 -0
  56. package/dist/rjs/node_modules/lodash-es/_baseGetAllKeys.js +1 -0
  57. package/dist/rjs/node_modules/lodash-es/_baseGetTag.js +1 -0
  58. package/dist/rjs/node_modules/lodash-es/_baseIsArguments.js +1 -0
  59. package/dist/rjs/node_modules/lodash-es/_baseIsEqual.js +1 -0
  60. package/dist/rjs/node_modules/lodash-es/_baseIsEqualDeep.js +1 -0
  61. package/dist/rjs/node_modules/lodash-es/_baseIsNative.js +1 -0
  62. package/dist/rjs/node_modules/lodash-es/_baseIsTypedArray.js +1 -0
  63. package/dist/rjs/node_modules/lodash-es/_baseKeys.js +1 -0
  64. package/dist/rjs/node_modules/lodash-es/_baseKeysIn.js +1 -0
  65. package/dist/rjs/node_modules/lodash-es/_baseMerge.js +1 -0
  66. package/dist/rjs/node_modules/lodash-es/_baseMergeDeep.js +1 -0
  67. package/dist/rjs/node_modules/lodash-es/_baseRest.js +1 -0
  68. package/dist/rjs/node_modules/lodash-es/_baseSetToString.js +1 -0
  69. package/dist/rjs/node_modules/lodash-es/_baseSlice.js +1 -0
  70. package/dist/rjs/node_modules/lodash-es/_baseTimes.js +1 -0
  71. package/dist/rjs/node_modules/lodash-es/_baseTrim.js +1 -0
  72. package/dist/rjs/node_modules/lodash-es/_baseUnary.js +1 -0
  73. package/dist/rjs/node_modules/lodash-es/_cacheHas.js +1 -0
  74. package/dist/rjs/node_modules/lodash-es/_cloneArrayBuffer.js +1 -0
  75. package/dist/rjs/node_modules/lodash-es/_cloneBuffer.js +1 -0
  76. package/dist/rjs/node_modules/lodash-es/_cloneTypedArray.js +1 -0
  77. package/dist/rjs/node_modules/lodash-es/_copyArray.js +1 -0
  78. package/dist/rjs/node_modules/lodash-es/_copyObject.js +1 -0
  79. package/dist/rjs/node_modules/lodash-es/_coreJsData.js +1 -0
  80. package/dist/rjs/node_modules/lodash-es/_createAssigner.js +1 -0
  81. package/dist/rjs/node_modules/lodash-es/_createBaseFor.js +1 -0
  82. package/dist/rjs/node_modules/lodash-es/_defineProperty.js +1 -0
  83. package/dist/rjs/node_modules/lodash-es/_equalArrays.js +1 -0
  84. package/dist/rjs/node_modules/lodash-es/_equalByTag.js +1 -0
  85. package/dist/rjs/node_modules/lodash-es/_equalObjects.js +1 -0
  86. package/dist/rjs/node_modules/lodash-es/_freeGlobal.js +1 -0
  87. package/dist/rjs/node_modules/lodash-es/_getAllKeys.js +1 -0
  88. package/dist/rjs/node_modules/lodash-es/_getMapData.js +1 -0
  89. package/dist/rjs/node_modules/lodash-es/_getNative.js +1 -0
  90. package/dist/rjs/node_modules/lodash-es/_getPrototype.js +1 -0
  91. package/dist/rjs/node_modules/lodash-es/_getRawTag.js +1 -0
  92. package/dist/rjs/node_modules/lodash-es/_getSymbols.js +1 -0
  93. package/dist/rjs/node_modules/lodash-es/_getTag.js +1 -0
  94. package/dist/rjs/node_modules/lodash-es/_getValue.js +1 -0
  95. package/dist/rjs/node_modules/lodash-es/_hashClear.js +1 -0
  96. package/dist/rjs/node_modules/lodash-es/_hashDelete.js +1 -0
  97. package/dist/rjs/node_modules/lodash-es/_hashGet.js +1 -0
  98. package/dist/rjs/node_modules/lodash-es/_hashHas.js +1 -0
  99. package/dist/rjs/node_modules/lodash-es/_hashSet.js +1 -0
  100. package/dist/rjs/node_modules/lodash-es/_initCloneObject.js +1 -0
  101. package/dist/rjs/node_modules/lodash-es/_isIndex.js +1 -0
  102. package/dist/rjs/node_modules/lodash-es/_isIterateeCall.js +1 -0
  103. package/dist/rjs/node_modules/lodash-es/_isKeyable.js +1 -0
  104. package/dist/rjs/node_modules/lodash-es/_isMasked.js +1 -0
  105. package/dist/rjs/node_modules/lodash-es/_isPrototype.js +1 -0
  106. package/dist/rjs/node_modules/lodash-es/_listCacheClear.js +1 -0
  107. package/dist/rjs/node_modules/lodash-es/_listCacheDelete.js +1 -0
  108. package/dist/rjs/node_modules/lodash-es/_listCacheGet.js +1 -0
  109. package/dist/rjs/node_modules/lodash-es/_listCacheHas.js +1 -0
  110. package/dist/rjs/node_modules/lodash-es/_listCacheSet.js +1 -0
  111. package/dist/rjs/node_modules/lodash-es/_mapCacheClear.js +1 -0
  112. package/dist/rjs/node_modules/lodash-es/_mapCacheDelete.js +1 -0
  113. package/dist/rjs/node_modules/lodash-es/_mapCacheGet.js +1 -0
  114. package/dist/rjs/node_modules/lodash-es/_mapCacheHas.js +1 -0
  115. package/dist/rjs/node_modules/lodash-es/_mapCacheSet.js +1 -0
  116. package/dist/rjs/node_modules/lodash-es/_mapToArray.js +1 -0
  117. package/dist/rjs/node_modules/lodash-es/_nativeCreate.js +1 -0
  118. package/dist/rjs/node_modules/lodash-es/_nativeKeys.js +1 -0
  119. package/dist/rjs/node_modules/lodash-es/_nativeKeysIn.js +1 -0
  120. package/dist/rjs/node_modules/lodash-es/_nodeUtil.js +1 -0
  121. package/dist/rjs/node_modules/lodash-es/_objectToString.js +1 -0
  122. package/dist/rjs/node_modules/lodash-es/_overArg.js +1 -0
  123. package/dist/rjs/node_modules/lodash-es/_overRest.js +1 -0
  124. package/dist/rjs/node_modules/lodash-es/_root.js +1 -0
  125. package/dist/rjs/node_modules/lodash-es/_safeGet.js +1 -0
  126. package/dist/rjs/node_modules/lodash-es/_setCacheAdd.js +1 -0
  127. package/dist/rjs/node_modules/lodash-es/_setCacheHas.js +1 -0
  128. package/dist/rjs/node_modules/lodash-es/_setToArray.js +1 -0
  129. package/dist/rjs/node_modules/lodash-es/_setToString.js +1 -0
  130. package/dist/rjs/node_modules/lodash-es/_shortOut.js +1 -0
  131. package/dist/rjs/node_modules/lodash-es/_stackClear.js +1 -0
  132. package/dist/rjs/node_modules/lodash-es/_stackDelete.js +1 -0
  133. package/dist/rjs/node_modules/lodash-es/_stackGet.js +1 -0
  134. package/dist/rjs/node_modules/lodash-es/_stackHas.js +1 -0
  135. package/dist/rjs/node_modules/lodash-es/_stackSet.js +1 -0
  136. package/dist/rjs/node_modules/lodash-es/_toSource.js +1 -0
  137. package/dist/rjs/node_modules/lodash-es/_trimmedEndIndex.js +1 -0
  138. package/dist/rjs/node_modules/lodash-es/chunk.js +1 -0
  139. package/dist/rjs/node_modules/lodash-es/constant.js +1 -0
  140. package/dist/rjs/node_modules/lodash-es/debounce.js +1 -0
  141. package/dist/rjs/node_modules/lodash-es/eq.js +1 -0
  142. package/dist/rjs/node_modules/lodash-es/identity.js +1 -0
  143. package/dist/rjs/node_modules/lodash-es/isArguments.js +1 -0
  144. package/dist/rjs/node_modules/lodash-es/isArray.js +1 -0
  145. package/dist/rjs/node_modules/lodash-es/isArrayLike.js +1 -0
  146. package/dist/rjs/node_modules/lodash-es/isArrayLikeObject.js +1 -0
  147. package/dist/rjs/node_modules/lodash-es/isBuffer.js +1 -0
  148. package/dist/rjs/node_modules/lodash-es/isEqual.js +1 -0
  149. package/dist/rjs/node_modules/lodash-es/isFunction.js +1 -0
  150. package/dist/rjs/node_modules/lodash-es/isLength.js +1 -0
  151. package/dist/rjs/node_modules/lodash-es/isObject.js +1 -0
  152. package/dist/rjs/node_modules/lodash-es/isObjectLike.js +1 -0
  153. package/dist/rjs/node_modules/lodash-es/isPlainObject.js +1 -0
  154. package/dist/rjs/node_modules/lodash-es/isSymbol.js +1 -0
  155. package/dist/rjs/node_modules/lodash-es/isTypedArray.js +1 -0
  156. package/dist/rjs/node_modules/lodash-es/keys.js +1 -0
  157. package/dist/rjs/node_modules/lodash-es/keysIn.js +1 -0
  158. package/dist/rjs/node_modules/lodash-es/mergeWith.js +1 -0
  159. package/dist/rjs/node_modules/lodash-es/now.js +1 -0
  160. package/dist/rjs/node_modules/lodash-es/stubArray.js +1 -0
  161. package/dist/rjs/node_modules/lodash-es/stubFalse.js +1 -0
  162. package/dist/rjs/node_modules/lodash-es/throttle.js +1 -0
  163. package/dist/rjs/node_modules/lodash-es/toFinite.js +1 -0
  164. package/dist/rjs/node_modules/lodash-es/toInteger.js +1 -0
  165. package/dist/rjs/node_modules/lodash-es/toNumber.js +1 -0
  166. package/dist/rjs/node_modules/lodash-es/toPlainObject.js +1 -0
  167. package/dist/rjs/node_modules/mitt/dist/mitt.js +1 -0
  168. package/dist/rjs/node_modules/nanoid/non-secure/index.js +1 -0
  169. package/dist/rjs/node_modules/parse-svg-path/index.js +1 -0
  170. package/dist/rjs/node_modules/pixi.js/lib/_virtual/checkImageBitmap.worker.js +1 -0
  171. package/dist/rjs/node_modules/pixi.js/lib/_virtual/loadImageBitmap.worker.js +1 -0
  172. package/dist/rjs/node_modules/pixi.js/lib/accessibility/AccessibilitySystem.js +1 -0
  173. package/dist/rjs/node_modules/pixi.js/lib/accessibility/accessibilityTarget.js +1 -0
  174. package/dist/rjs/node_modules/pixi.js/lib/accessibility/init.js +1 -0
  175. package/dist/rjs/node_modules/pixi.js/lib/app/Application.js +1 -0
  176. package/dist/rjs/node_modules/pixi.js/lib/app/ResizePlugin.js +1 -0
  177. package/dist/rjs/node_modules/pixi.js/lib/app/TickerPlugin.js +1 -0
  178. package/dist/rjs/node_modules/pixi.js/lib/app/init.js +1 -0
  179. package/dist/rjs/node_modules/pixi.js/lib/assets/Assets.js +1 -0
  180. package/dist/rjs/node_modules/pixi.js/lib/assets/BackgroundLoader.js +1 -0
  181. package/dist/rjs/node_modules/pixi.js/lib/assets/cache/Cache.js +1 -0
  182. package/dist/rjs/node_modules/pixi.js/lib/assets/cache/parsers/cacheTextureArray.js +1 -0
  183. package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectAvif.js +1 -0
  184. package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectDefaults.js +1 -0
  185. package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectMp4.js +1 -0
  186. package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectOgv.js +1 -0
  187. package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectWebm.js +1 -0
  188. package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectWebp.js +1 -0
  189. package/dist/rjs/node_modules/pixi.js/lib/assets/detections/utils/testImageFormat.js +1 -0
  190. package/dist/rjs/node_modules/pixi.js/lib/assets/detections/utils/testVideoFormat.js +1 -0
  191. package/dist/rjs/node_modules/pixi.js/lib/assets/loader/Loader.js +1 -0
  192. package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/LoaderParser.js +1 -0
  193. package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/loadJson.js +1 -0
  194. package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/loadTxt.js +1 -0
  195. package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/loadWebFont.js +1 -0
  196. package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/textures/loadSVG.js +1 -0
  197. package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/textures/loadTextures.js +1 -0
  198. package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/textures/loadVideoTextures.js +1 -0
  199. package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/textures/utils/createTexture.js +1 -0
  200. package/dist/rjs/node_modules/pixi.js/lib/assets/loader/workers/WorkerManager.js +1 -0
  201. package/dist/rjs/node_modules/pixi.js/lib/assets/resolver/Resolver.js +1 -0
  202. package/dist/rjs/node_modules/pixi.js/lib/assets/resolver/parsers/resolveJsonUrl.js +1 -0
  203. package/dist/rjs/node_modules/pixi.js/lib/assets/resolver/parsers/resolveTextureUrl.js +1 -0
  204. package/dist/rjs/node_modules/pixi.js/lib/assets/utils/checkDataUrl.js +1 -0
  205. package/dist/rjs/node_modules/pixi.js/lib/assets/utils/checkExtension.js +1 -0
  206. package/dist/rjs/node_modules/pixi.js/lib/assets/utils/convertToList.js +1 -0
  207. package/dist/rjs/node_modules/pixi.js/lib/assets/utils/copySearchParams.js +1 -0
  208. package/dist/rjs/node_modules/pixi.js/lib/assets/utils/createStringVariations.js +1 -0
  209. package/dist/rjs/node_modules/pixi.js/lib/assets/utils/isSingleItem.js +1 -0
  210. package/dist/rjs/node_modules/pixi.js/lib/color/Color.js +1 -0
  211. package/dist/rjs/node_modules/pixi.js/lib/culling/cullingMixin.js +1 -0
  212. package/dist/rjs/node_modules/pixi.js/lib/dom/CanvasObserver.js +1 -0
  213. package/dist/rjs/node_modules/pixi.js/lib/dom/DOMContainer.js +1 -0
  214. package/dist/rjs/node_modules/pixi.js/lib/dom/DOMPipe.js +1 -0
  215. package/dist/rjs/node_modules/pixi.js/lib/dom/init.js +1 -0
  216. package/dist/rjs/node_modules/pixi.js/lib/environment/adapter.js +1 -0
  217. package/dist/rjs/node_modules/pixi.js/lib/environment/autoDetectEnvironment.js +1 -0
  218. package/dist/rjs/node_modules/pixi.js/lib/environment-browser/BrowserAdapter.js +1 -0
  219. package/dist/rjs/node_modules/pixi.js/lib/environment-browser/browserAll.js +1 -0
  220. package/dist/rjs/node_modules/pixi.js/lib/environment-browser/browserExt.js +1 -0
  221. package/dist/rjs/node_modules/pixi.js/lib/environment-webworker/webworkerAll.js +1 -0
  222. package/dist/rjs/node_modules/pixi.js/lib/environment-webworker/webworkerExt.js +1 -0
  223. package/dist/rjs/node_modules/pixi.js/lib/events/EventBoundary.js +1 -0
  224. package/dist/rjs/node_modules/pixi.js/lib/events/EventSystem.js +1 -0
  225. package/dist/rjs/node_modules/pixi.js/lib/events/EventTicker.js +1 -0
  226. package/dist/rjs/node_modules/pixi.js/lib/events/FederatedEvent.js +1 -0
  227. package/dist/rjs/node_modules/pixi.js/lib/events/FederatedEventTarget.js +1 -0
  228. package/dist/rjs/node_modules/pixi.js/lib/events/FederatedMouseEvent.js +1 -0
  229. package/dist/rjs/node_modules/pixi.js/lib/events/FederatedPointerEvent.js +1 -0
  230. package/dist/rjs/node_modules/pixi.js/lib/events/FederatedWheelEvent.js +1 -0
  231. package/dist/rjs/node_modules/pixi.js/lib/events/init.js +1 -0
  232. package/dist/rjs/node_modules/pixi.js/lib/extensions/Extensions.js +1 -0
  233. package/dist/rjs/node_modules/pixi.js/lib/filters/Filter.js +1 -0
  234. package/dist/rjs/node_modules/pixi.js/lib/filters/FilterEffect.js +1 -0
  235. package/dist/rjs/node_modules/pixi.js/lib/filters/FilterPipe.js +1 -0
  236. package/dist/rjs/node_modules/pixi.js/lib/filters/FilterSystem.js +1 -0
  237. package/dist/rjs/node_modules/pixi.js/lib/filters/defaults/defaultFilter.vert.js +1 -0
  238. package/dist/rjs/node_modules/pixi.js/lib/filters/defaults/passthrough/PassthroughFilter.js +1 -0
  239. package/dist/rjs/node_modules/pixi.js/lib/filters/defaults/passthrough/passthrough.frag.js +1 -0
  240. package/dist/rjs/node_modules/pixi.js/lib/filters/defaults/passthrough/passthrough.wgsl.js +1 -0
  241. package/dist/rjs/node_modules/pixi.js/lib/filters/init.js +1 -0
  242. package/dist/rjs/node_modules/pixi.js/lib/filters/mask/MaskFilter.js +1 -0
  243. package/dist/rjs/node_modules/pixi.js/lib/filters/mask/mask.frag.js +1 -0
  244. package/dist/rjs/node_modules/pixi.js/lib/filters/mask/mask.vert.js +1 -0
  245. package/dist/rjs/node_modules/pixi.js/lib/filters/mask/mask.wgsl.js +1 -0
  246. package/dist/rjs/node_modules/pixi.js/lib/gif/GifAsset.js +1 -0
  247. package/dist/rjs/node_modules/pixi.js/lib/gif/GifSource.js +1 -0
  248. package/dist/rjs/node_modules/pixi.js/lib/gif/GifSprite.js +1 -0
  249. package/dist/rjs/node_modules/pixi.js/lib/gif/init.js +1 -0
  250. package/dist/rjs/node_modules/pixi.js/lib/index.js +1 -0
  251. package/dist/rjs/node_modules/pixi.js/lib/maths/matrix/Matrix.js +1 -0
  252. package/dist/rjs/node_modules/pixi.js/lib/maths/matrix/groupD8.js +1 -0
  253. package/dist/rjs/node_modules/pixi.js/lib/maths/misc/const.js +1 -0
  254. package/dist/rjs/node_modules/pixi.js/lib/maths/misc/pow2.js +1 -0
  255. package/dist/rjs/node_modules/pixi.js/lib/maths/misc/squaredDistanceToLineSegment.js +1 -0
  256. package/dist/rjs/node_modules/pixi.js/lib/maths/point/ObservablePoint.js +1 -0
  257. package/dist/rjs/node_modules/pixi.js/lib/maths/point/Point.js +1 -0
  258. package/dist/rjs/node_modules/pixi.js/lib/maths/point/pointInTriangle.js +1 -0
  259. package/dist/rjs/node_modules/pixi.js/lib/maths/shapes/Circle.js +1 -0
  260. package/dist/rjs/node_modules/pixi.js/lib/maths/shapes/Ellipse.js +1 -0
  261. package/dist/rjs/node_modules/pixi.js/lib/maths/shapes/Polygon.js +1 -0
  262. package/dist/rjs/node_modules/pixi.js/lib/maths/shapes/Rectangle.js +1 -0
  263. package/dist/rjs/node_modules/pixi.js/lib/maths/shapes/RoundedRectangle.js +1 -0
  264. package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.js +1 -0
  265. package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.js +1 -0
  266. package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.js +1 -0
  267. package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/gpu/GpuBatchAdaptor.js +1 -0
  268. package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/gpu/getTextureBatchBindGroup.js +1 -0
  269. package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/BatchGeometry.js +1 -0
  270. package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/BatchTextureArray.js +1 -0
  271. package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/Batcher.js +1 -0
  272. package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/BatcherPipe.js +1 -0
  273. package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/DefaultBatcher.js +1 -0
  274. package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/DefaultShader.js +1 -0
  275. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compileHighShaderToProgram.js +1 -0
  276. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/compileHighShader.js +1 -0
  277. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/utils/addBits.js +1 -0
  278. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/utils/compileHooks.js +1 -0
  279. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/utils/compileInputs.js +1 -0
  280. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/utils/compileOutputs.js +1 -0
  281. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/utils/injectBits.js +1 -0
  282. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/defaultProgramTemplate.js +1 -0
  283. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/colorBit.js +1 -0
  284. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/generateTextureBatchBit.js +1 -0
  285. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/globalUniformsBit.js +1 -0
  286. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/localUniformBit.js +1 -0
  287. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/roundPixelsBit.js +1 -0
  288. package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/textureBit.js +1 -0
  289. package/dist/rjs/node_modules/pixi.js/lib/rendering/init.js +1 -0
  290. package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/MaskEffectManager.js +1 -0
  291. package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/alpha/AlphaMask.js +1 -0
  292. package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/alpha/AlphaMaskPipe.js +1 -0
  293. package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/color/ColorMask.js +1 -0
  294. package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/color/ColorMaskPipe.js +1 -0
  295. package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/stencil/StencilMask.js +1 -0
  296. package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/stencil/StencilMaskPipe.js +1 -0
  297. package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/utils/addMaskBounds.js +1 -0
  298. package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/utils/addMaskLocalBounds.js +1 -0
  299. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/autoDetectRenderer.js +1 -0
  300. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlBackBufferSystem.js +1 -0
  301. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlColorMaskSystem.js +1 -0
  302. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlEncoderSystem.js +1 -0
  303. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlLimitsSystem.js +1 -0
  304. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlRenderTarget.js +1 -0
  305. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlStencilSystem.js +1 -0
  306. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlUboSystem.js +1 -0
  307. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/WebGLRenderer.js +1 -0
  308. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/buffer/GlBuffer.js +1 -0
  309. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/buffer/GlBufferSystem.js +1 -0
  310. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/buffer/const.js +1 -0
  311. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/const.js +1 -0
  312. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/context/GlContextSystem.js +1 -0
  313. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/geometry/GlGeometrySystem.js +1 -0
  314. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/geometry/utils/getGlTypeFromFormat.js +1 -0
  315. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/renderTarget/GlRenderTargetAdaptor.js +1 -0
  316. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/renderTarget/GlRenderTargetSystem.js +1 -0
  317. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/GenerateShaderSyncCode.js +1 -0
  318. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/GlProgram.js +1 -0
  319. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/GlProgramData.js +1 -0
  320. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/GlShaderSystem.js +1 -0
  321. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/GlUniformGroupSystem.js +1 -0
  322. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/getBatchSamplersUniformGroup.js +1 -0
  323. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/compileShader.js +1 -0
  324. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/defaultValue.js +1 -0
  325. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/ensureAttributes.js +1 -0
  326. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/extractAttributesFromGlProgram.js +1 -0
  327. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/generateProgram.js +1 -0
  328. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/getMaxFragmentPrecision.js +1 -0
  329. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/getTestContext.js +1 -0
  330. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/getUboData.js +1 -0
  331. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/getUniformData.js +1 -0
  332. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/logProgramError.js +1 -0
  333. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/mapType.js +1 -0
  334. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/preprocessors/addProgramDefines.js +1 -0
  335. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/preprocessors/ensurePrecision.js +1 -0
  336. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/preprocessors/insertVersion.js +1 -0
  337. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/preprocessors/setProgramName.js +1 -0
  338. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/preprocessors/stripVersion.js +1 -0
  339. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/utils/createUboElementsSTD40.js +1 -0
  340. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/utils/createUboSyncSTD40.js +1 -0
  341. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/utils/generateArraySyncSTD40.js +1 -0
  342. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/utils/generateUniformsSync.js +1 -0
  343. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/utils/generateUniformsSyncTypes.js +1 -0
  344. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/state/GlStateSystem.js +1 -0
  345. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/state/mapWebGLBlendModesToPixi.js +1 -0
  346. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/GlTexture.js +1 -0
  347. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/GlTextureSystem.js +1 -0
  348. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/const.js +1 -0
  349. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/uploaders/glUploadBufferImageResource.js +1 -0
  350. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/uploaders/glUploadCompressedTextureResource.js +1 -0
  351. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/uploaders/glUploadImageResource.js +1 -0
  352. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/uploaders/glUploadVideoResource.js +1 -0
  353. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/utils/applyStyleParams.js +1 -0
  354. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/utils/mapFormatToGlFormat.js +1 -0
  355. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/utils/mapFormatToGlInternalFormat.js +1 -0
  356. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/utils/mapFormatToGlType.js +1 -0
  357. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/utils/pixiToGlMaps.js +1 -0
  358. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/BindGroupSystem.js +1 -0
  359. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuColorMaskSystem.js +1 -0
  360. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuDeviceSystem.js +1 -0
  361. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuEncoderSystem.js +1 -0
  362. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuLimitsSystem.js +1 -0
  363. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuStencilSystem.js +1 -0
  364. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuUboSystem.js +1 -0
  365. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuUniformBatchPipe.js +1 -0
  366. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/WebGPURenderer.js +1 -0
  367. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/buffer/GpuBufferSystem.js +1 -0
  368. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/buffer/UboBatch.js +1 -0
  369. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/pipeline/PipelineSystem.js +1 -0
  370. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/renderTarget/GpuRenderTarget.js +1 -0
  371. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/renderTarget/GpuRenderTargetAdaptor.js +1 -0
  372. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/renderTarget/GpuRenderTargetSystem.js +1 -0
  373. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/renderTarget/calculateProjection.js +1 -0
  374. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/BindGroup.js +1 -0
  375. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/GpuProgram.js +1 -0
  376. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/GpuShaderSystem.js +1 -0
  377. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/createUboElementsWGSL.js +1 -0
  378. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/createUboSyncFunctionWGSL.js +1 -0
  379. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/extractAttributesFromGpuProgram.js +1 -0
  380. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/extractStructAndGroups.js +1 -0
  381. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/generateArraySyncWGSL.js +1 -0
  382. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/generateGpuLayoutGroups.js +1 -0
  383. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/generateLayoutHash.js +1 -0
  384. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/removeStructAndGroupDuplicates.js +1 -0
  385. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/state/GpuBlendModesToPixi.js +1 -0
  386. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/state/GpuStateSystem.js +1 -0
  387. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/state/GpuStencilModesToPixi.js +1 -0
  388. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/GpuTextureSystem.js +1 -0
  389. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/uploaders/gpuUploadBufferImageResource.js +1 -0
  390. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/uploaders/gpuUploadCompressedTextureResource.js +1 -0
  391. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/uploaders/gpuUploadImageSource.js +1 -0
  392. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/uploaders/gpuUploadVideoSource.js +1 -0
  393. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/utils/GpuMipmapGenerator.js +1 -0
  394. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/SchedulerSystem.js +1 -0
  395. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/background/BackgroundSystem.js +1 -0
  396. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/blendModes/BlendModePipe.js +1 -0
  397. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/buffer/Buffer.js +1 -0
  398. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/buffer/BufferResource.js +1 -0
  399. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/buffer/const.js +1 -0
  400. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/buffer/utils/fastCopy.js +1 -0
  401. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/extract/ExtractSystem.js +1 -0
  402. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/extract/GenerateTextureSystem.js +1 -0
  403. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.js +1 -0
  404. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/buildUvs.js +1 -0
  405. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/ensureIsBuffer.js +1 -0
  406. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/getAttributeInfoFromFormat.js +1 -0
  407. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/getGeometryBounds.js +1 -0
  408. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/transformVertices.js +1 -0
  409. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/instructions/InstructionSet.js +1 -0
  410. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/renderTarget/GlobalUniformSystem.js +1 -0
  411. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/renderTarget/RenderTarget.js +1 -0
  412. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/renderTarget/RenderTargetSystem.js +1 -0
  413. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/renderTarget/isRenderingToScreen.js +1 -0
  414. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.js +1 -0
  415. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/UboSystem.js +1 -0
  416. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/UniformGroup.js +1 -0
  417. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/const.js +1 -0
  418. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/types.js +1 -0
  419. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/utils/createUboSyncFunction.js +1 -0
  420. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/utils/getDefaultUniformValue.js +1 -0
  421. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/utils/uboSyncFunctions.js +1 -0
  422. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/utils/uniformParsers.js +1 -0
  423. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/startup/HelloSystem.js +1 -0
  424. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/state/State.js +1 -0
  425. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/state/const.js +1 -0
  426. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/state/getAdjustedBlendModeBlend.js +1 -0
  427. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/system/AbstractRenderer.js +1 -0
  428. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/system/SharedSystems.js +1 -0
  429. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/system/SystemRunner.js +1 -0
  430. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/CanvasPool.js +1 -0
  431. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/RenderTexture.js +1 -0
  432. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/RenderableGCSystem.js +1 -0
  433. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/Texture.js +1 -0
  434. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/TextureGCSystem.js +1 -0
  435. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/TextureMatrix.js +1 -0
  436. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/TexturePool.js +1 -0
  437. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/TextureStyle.js +1 -0
  438. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/sources/BufferImageSource.js +1 -0
  439. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/sources/CanvasSource.js +1 -0
  440. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/sources/ImageSource.js +1 -0
  441. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/sources/TextureSource.js +1 -0
  442. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/sources/VideoSource.js +1 -0
  443. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/utils/getCanvasTexture.js +1 -0
  444. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/utils/textureFrom.js +1 -0
  445. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/utils/createIdFromString.js +1 -0
  446. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/view/ViewSystem.js +1 -0
  447. package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/types.js +1 -0
  448. package/dist/rjs/node_modules/pixi.js/lib/scene/container/Container.js +1 -0
  449. package/dist/rjs/node_modules/pixi.js/lib/scene/container/CustomRenderPipe.js +1 -0
  450. package/dist/rjs/node_modules/pixi.js/lib/scene/container/RenderGroup.js +1 -0
  451. package/dist/rjs/node_modules/pixi.js/lib/scene/container/RenderGroupPipe.js +1 -0
  452. package/dist/rjs/node_modules/pixi.js/lib/scene/container/RenderGroupSystem.js +1 -0
  453. package/dist/rjs/node_modules/pixi.js/lib/scene/container/bounds/Bounds.js +1 -0
  454. package/dist/rjs/node_modules/pixi.js/lib/scene/container/bounds/getGlobalBounds.js +1 -0
  455. package/dist/rjs/node_modules/pixi.js/lib/scene/container/bounds/getLocalBounds.js +1 -0
  456. package/dist/rjs/node_modules/pixi.js/lib/scene/container/bounds/getRenderableBounds.js +1 -0
  457. package/dist/rjs/node_modules/pixi.js/lib/scene/container/bounds/utils/matrixAndBoundsPool.js +1 -0
  458. package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/cacheAsTextureMixin.js +1 -0
  459. package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/childrenHelperMixin.js +1 -0
  460. package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/collectRenderablesMixin.js +1 -0
  461. package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/effectsMixin.js +1 -0
  462. package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/findMixin.js +1 -0
  463. package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/getFastGlobalBoundsMixin.js +1 -0
  464. package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/getGlobalMixin.js +1 -0
  465. package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/measureMixin.js +1 -0
  466. package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/onRenderMixin.js +1 -0
  467. package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/sortMixin.js +1 -0
  468. package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/toLocalGlobalMixin.js +1 -0
  469. package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/assignWithIgnore.js +1 -0
  470. package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/checkChildrenDidChange.js +1 -0
  471. package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/clearList.js +1 -0
  472. package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/definedProps.js +1 -0
  473. package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/executeInstructions.js +1 -0
  474. package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/multiplyColors.js +1 -0
  475. package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/multiplyHexColors.js +1 -0
  476. package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/updateRenderGroupTransforms.js +1 -0
  477. package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/validateRenderables.js +1 -0
  478. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/gl/GlGraphicsAdaptor.js +1 -0
  479. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/gpu/GpuGraphicsAdaptor.js +1 -0
  480. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/gpu/colorToUniform.js +1 -0
  481. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/init.js +1 -0
  482. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/BatchableGraphics.js +1 -0
  483. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js +1 -0
  484. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/GraphicsContext.js +1 -0
  485. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/GraphicsContextSystem.js +1 -0
  486. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/GraphicsPipe.js +1 -0
  487. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildAdaptiveBezier.js +1 -0
  488. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildAdaptiveQuadratic.js +1 -0
  489. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildArc.js +1 -0
  490. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildArcTo.js +1 -0
  491. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildArcToSvg.js +1 -0
  492. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildCircle.js +1 -0
  493. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildLine.js +1 -0
  494. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildPixelLine.js +1 -0
  495. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildPolygon.js +1 -0
  496. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildRectangle.js +1 -0
  497. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildTriangle.js +1 -0
  498. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/const.js +1 -0
  499. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/fill/FillGradient.js +1 -0
  500. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/fill/FillPattern.js +1 -0
  501. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/path/GraphicsPath.js +1 -0
  502. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/path/ShapePath.js +1 -0
  503. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/path/roundShape.js +1 -0
  504. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/SVGParser.js +1 -0
  505. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGDefinitions.js +1 -0
  506. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGFloatAttribute.js +1 -0
  507. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGPath.js +1 -0
  508. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGStyle.js +1 -0
  509. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/utils/extractSvgUrlId.js +1 -0
  510. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/utils/fillOperations.js +1 -0
  511. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/utils/pathOperations.js +1 -0
  512. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/utils/buildContextBatches.js +1 -0
  513. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/utils/convertFillInputToFillStyle.js +1 -0
  514. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/utils/generateTextureFillMatrix.js +1 -0
  515. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/utils/getOrientationOfPoints.js +1 -0
  516. package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/utils/triangulateWithHoles.js +1 -0
  517. package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/gl/GlMeshAdaptor.js +1 -0
  518. package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/gpu/GpuMeshAdapter.js +1 -0
  519. package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/init.js +1 -0
  520. package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/shared/BatchableMesh.js +1 -0
  521. package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/shared/Mesh.js +1 -0
  522. package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/shared/MeshGeometry.js +1 -0
  523. package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/shared/MeshPipe.js +1 -0
  524. package/dist/rjs/node_modules/pixi.js/lib/scene/mesh-plane/PlaneGeometry.js +1 -0
  525. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/gl/GlParticleContainerAdaptor.js +1 -0
  526. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/gpu/GpuParticleContainerAdaptor.js +1 -0
  527. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/init.js +1 -0
  528. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/GlParticleContainerPipe.js +1 -0
  529. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/GpuParticleContainerPipe.js +1 -0
  530. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/ParticleBuffer.js +1 -0
  531. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/ParticleContainerPipe.js +1 -0
  532. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/shader/ParticleShader.js +1 -0
  533. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/shader/particles.frag.js +1 -0
  534. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/shader/particles.vert.js +1 -0
  535. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/shader/particles.wgsl.js +1 -0
  536. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/utils/createIndicesForQuads.js +1 -0
  537. package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/utils/generateParticleUpdateFunction.js +1 -0
  538. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite/BatchableSprite.js +1 -0
  539. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite/Sprite.js +1 -0
  540. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite/SpritePipe.js +1 -0
  541. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-animated/AnimatedSprite.js +1 -0
  542. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-nine-slice/NineSliceGeometry.js +1 -0
  543. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-nine-slice/NineSliceSpritePipe.js +1 -0
  544. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-nine-slice/init.js +1 -0
  545. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/TilingSprite.js +1 -0
  546. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/TilingSpritePipe.js +1 -0
  547. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/init.js +1 -0
  548. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/shader/TilingSpriteShader.js +1 -0
  549. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/shader/tilingBit.js +1 -0
  550. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/utils/QuadGeometry.js +1 -0
  551. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/utils/applyMatrix.js +1 -0
  552. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/utils/setPositions.js +1 -0
  553. package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/utils/setUvs.js +1 -0
  554. package/dist/rjs/node_modules/pixi.js/lib/scene/text/AbstractText.js +1 -0
  555. package/dist/rjs/node_modules/pixi.js/lib/scene/text/Text.js +1 -0
  556. package/dist/rjs/node_modules/pixi.js/lib/scene/text/TextStyle.js +1 -0
  557. package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/BatchableText.js +1 -0
  558. package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/CanvasTextGenerator.js +1 -0
  559. package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/CanvasTextMetrics.js +1 -0
  560. package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/CanvasTextPipe.js +1 -0
  561. package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/CanvasTextSystem.js +1 -0
  562. package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/utils/fontStringFromTextStyle.js +1 -0
  563. package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/utils/getCanvasFillStyle.js +1 -0
  564. package/dist/rjs/node_modules/pixi.js/lib/scene/text/init.js +1 -0
  565. package/dist/rjs/node_modules/pixi.js/lib/scene/text/sdfShader/SdfShader.js +1 -0
  566. package/dist/rjs/node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.js +1 -0
  567. package/dist/rjs/node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.js +1 -0
  568. package/dist/rjs/node_modules/pixi.js/lib/scene/text/utils/getPo2TextureFromSource.js +1 -0
  569. package/dist/rjs/node_modules/pixi.js/lib/scene/text/utils/updateTextBounds.js +1 -0
  570. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/AbstractBitmapFont.js +1 -0
  571. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/BitmapFont.js +1 -0
  572. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/BitmapFontManager.js +1 -0
  573. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/BitmapTextPipe.js +1 -0
  574. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/DynamicBitmapFont.js +1 -0
  575. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/asset/bitmapFontTextParser.js +1 -0
  576. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/asset/bitmapFontXMLParser.js +1 -0
  577. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/asset/bitmapFontXMLStringParser.js +1 -0
  578. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/asset/loadBitmapFont.js +1 -0
  579. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/init.js +1 -0
  580. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/utils/getBitmapTextLayout.js +1 -0
  581. package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/utils/resolveCharacters.js +1 -0
  582. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/BatchableHTMLText.js +1 -0
  583. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/HTMLTextPipe.js +1 -0
  584. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/HTMLTextRenderData.js +1 -0
  585. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/HTMLTextSystem.js +1 -0
  586. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/init.js +1 -0
  587. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/extractFontFamilies.js +1 -0
  588. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/getFontCss.js +1 -0
  589. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/getSVGUrl.js +1 -0
  590. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/getTemporaryCanvasFromImage.js +1 -0
  591. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/loadFontAsBase64.js +1 -0
  592. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/loadFontCSS.js +1 -0
  593. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/loadSVGImage.js +1 -0
  594. package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/measureHtmlText.js +1 -0
  595. package/dist/rjs/node_modules/pixi.js/lib/scene/view/ViewContainer.js +1 -0
  596. package/dist/rjs/node_modules/pixi.js/lib/spritesheet/Spritesheet.js +1 -0
  597. package/dist/rjs/node_modules/pixi.js/lib/spritesheet/init.js +1 -0
  598. package/dist/rjs/node_modules/pixi.js/lib/spritesheet/spritesheetAsset.js +1 -0
  599. package/dist/rjs/node_modules/pixi.js/lib/ticker/Ticker.js +1 -0
  600. package/dist/rjs/node_modules/pixi.js/lib/ticker/TickerListener.js +1 -0
  601. package/dist/rjs/node_modules/pixi.js/lib/ticker/const.js +1 -0
  602. package/dist/rjs/node_modules/pixi.js/lib/utils/browser/detectVideoAlphaMode.js +1 -0
  603. package/dist/rjs/node_modules/pixi.js/lib/utils/browser/isMobile.js +1 -0
  604. package/dist/rjs/node_modules/pixi.js/lib/utils/browser/isSafari.js +1 -0
  605. package/dist/rjs/node_modules/pixi.js/lib/utils/browser/isWebGLSupported.js +1 -0
  606. package/dist/rjs/node_modules/pixi.js/lib/utils/browser/isWebGPUSupported.js +1 -0
  607. package/dist/rjs/node_modules/pixi.js/lib/utils/browser/unsafeEvalSupported.js +1 -0
  608. package/dist/rjs/node_modules/pixi.js/lib/utils/canvas/getCanvasBoundingBox.js +1 -0
  609. package/dist/rjs/node_modules/pixi.js/lib/utils/const.js +1 -0
  610. package/dist/rjs/node_modules/pixi.js/lib/utils/data/ViewableBuffer.js +1 -0
  611. package/dist/rjs/node_modules/pixi.js/lib/utils/data/clean.js +1 -0
  612. package/dist/rjs/node_modules/pixi.js/lib/utils/data/removeItems.js +1 -0
  613. package/dist/rjs/node_modules/pixi.js/lib/utils/data/uid.js +1 -0
  614. package/dist/rjs/node_modules/pixi.js/lib/utils/data/updateQuadBounds.js +1 -0
  615. package/dist/rjs/node_modules/pixi.js/lib/utils/global/globalHooks.js +1 -0
  616. package/dist/rjs/node_modules/pixi.js/lib/utils/logging/deprecation.js +1 -0
  617. package/dist/rjs/node_modules/pixi.js/lib/utils/logging/warn.js +1 -0
  618. package/dist/rjs/node_modules/pixi.js/lib/utils/misc/NOOP.js +1 -0
  619. package/dist/rjs/node_modules/pixi.js/lib/utils/misc/Transform.js +1 -0
  620. package/dist/rjs/node_modules/pixi.js/lib/utils/network/getResolutionOfUrl.js +1 -0
  621. package/dist/rjs/node_modules/pixi.js/lib/utils/path.js +1 -0
  622. package/dist/rjs/node_modules/pixi.js/lib/utils/pool/GlobalResourceRegistry.js +1 -0
  623. package/dist/rjs/node_modules/pixi.js/lib/utils/pool/Pool.js +1 -0
  624. package/dist/rjs/node_modules/pixi.js/lib/utils/pool/PoolGroup.js +1 -0
  625. package/dist/rjs/node_modules/pixi.js/lib/utils/sayHello.js +1 -0
  626. package/dist/rjs/node_modules/pixi.js/lib/utils/utils.js +1 -0
  627. package/dist/rjs/node_modules/proxy-compare/dist/index.js +1 -0
  628. package/dist/rjs/node_modules/tiny-lru/dist/tiny-lru.js +1 -0
  629. package/dist/rjs/node_modules/tinycolor2/esm/tinycolor.js +1 -0
  630. package/dist/rjs/node_modules/valtio/esm/vanilla/utils.js +1 -0
  631. package/dist/rjs/node_modules/valtio/esm/vanilla.js +1 -0
  632. package/dist/rjs/src/core/application/AppContainer.js +1 -0
  633. package/dist/rjs/src/core/application/AppService.js +1 -0
  634. package/dist/rjs/src/core/application/Interaction.js +1 -0
  635. package/dist/rjs/src/core/application/MapApplication.js +1 -0
  636. package/dist/rjs/src/core/application/ViewportContainer.js +1 -0
  637. package/dist/rjs/src/core/assets/carpet.png.js +1 -0
  638. package/dist/rjs/src/core/assets/chargingStation.png.js +1 -0
  639. package/dist/rjs/src/core/assets/checkmark.png.js +1 -0
  640. package/dist/rjs/src/core/assets/cleanMode0.png.js +1 -0
  641. package/dist/rjs/src/core/assets/cleanMode1.png.js +1 -0
  642. package/dist/rjs/src/core/assets/cleanMode2.png.js +1 -0
  643. package/dist/rjs/src/core/assets/cleanMode3.png.js +1 -0
  644. package/dist/rjs/src/core/assets/cleanTimes1.png.js +1 -0
  645. package/dist/rjs/src/core/assets/cleanTimes2.png.js +1 -0
  646. package/dist/rjs/src/core/assets/controlDelete.png.js +1 -0
  647. package/dist/rjs/src/core/assets/controlMove.png.js +1 -0
  648. package/dist/rjs/src/core/assets/controlRotate.png.js +1 -0
  649. package/dist/rjs/src/core/assets/controlScale.png.js +1 -0
  650. package/dist/rjs/src/core/assets/fan0.png.js +1 -0
  651. package/dist/rjs/src/core/assets/fan1.png.js +1 -0
  652. package/dist/rjs/src/core/assets/fan2.png.js +1 -0
  653. package/dist/rjs/src/core/assets/fan3.png.js +1 -0
  654. package/dist/rjs/src/core/assets/fan4.png.js +1 -0
  655. package/dist/rjs/src/core/assets/floorType1.png.js +1 -0
  656. package/dist/rjs/src/core/assets/floorType2.png.js +1 -0
  657. package/dist/rjs/src/core/assets/floorType3.png.js +1 -0
  658. package/dist/rjs/src/core/assets/robot.png.js +1 -0
  659. package/dist/rjs/src/core/assets/sleep.json.js +1 -0
  660. package/dist/rjs/src/core/assets/spot.png.js +1 -0
  661. package/dist/rjs/src/core/assets/water0.png.js +1 -0
  662. package/dist/rjs/src/core/assets/water1.png.js +1 -0
  663. package/dist/rjs/src/core/assets/water2.png.js +1 -0
  664. package/dist/rjs/src/core/assets/water3.png.js +1 -0
  665. package/dist/rjs/src/core/components/Base/BaseControlButton.js +1 -0
  666. package/dist/rjs/src/core/components/Base/Border.js +1 -0
  667. package/dist/rjs/src/core/components/Base/ControlFill.js +1 -0
  668. package/dist/rjs/src/core/components/Base/DashLine.js +1 -0
  669. package/dist/rjs/src/core/components/Base/EndPoint.js +1 -0
  670. package/dist/rjs/src/core/components/Base/EnhancedAnimatedSprite.js +1 -0
  671. package/dist/rjs/src/core/components/Base/EnhancedGifSprite.js +1 -0
  672. package/dist/rjs/src/core/components/Base/EnhancedSprite.js +1 -0
  673. package/dist/rjs/src/core/components/Base/FixedSizeContainer.js +1 -0
  674. package/dist/rjs/src/core/components/Base/FixedSizeDOMContainer.js +1 -0
  675. package/dist/rjs/src/core/components/Base/FixedSizeText.js +1 -0
  676. package/dist/rjs/src/core/components/Base/MoveControlButton.js +1 -0
  677. package/dist/rjs/src/core/components/Base/RemoveControlButton.js +1 -0
  678. package/dist/rjs/src/core/components/Base/Ring.js +1 -0
  679. package/dist/rjs/src/core/components/Base/RotateControlButton.js +1 -0
  680. package/dist/rjs/src/core/components/Base/ScaleControlButton.js +1 -0
  681. package/dist/rjs/src/core/components/Base/Zone.js +1 -0
  682. package/dist/rjs/src/core/components/ChargingStation/ChargingStationIcon.js +1 -0
  683. package/dist/rjs/src/core/components/ChargingStation/index.js +1 -0
  684. package/dist/rjs/src/core/components/Controls/CleanZone.js +1 -0
  685. package/dist/rjs/src/core/components/Controls/Divider.js +1 -0
  686. package/dist/rjs/src/core/components/Controls/ForbiddenMopZone.js +1 -0
  687. package/dist/rjs/src/core/components/Controls/ForbiddenSweepZone.js +1 -0
  688. package/dist/rjs/src/core/components/Controls/Spot.js +1 -0
  689. package/dist/rjs/src/core/components/Controls/VirtualWall.js +1 -0
  690. package/dist/rjs/src/core/components/CustomElements/CustomGif.js +1 -0
  691. package/dist/rjs/src/core/components/CustomElements/CustomHTML.js +1 -0
  692. package/dist/rjs/src/core/components/CustomElements/CustomImage.js +1 -0
  693. package/dist/rjs/src/core/components/DetectedObject/index.js +1 -0
  694. package/dist/rjs/src/core/components/Heatmap/index.js +1 -0
  695. package/dist/rjs/src/core/components/Map/Carpet.js +1 -0
  696. package/dist/rjs/src/core/components/Map/Free.js +1 -0
  697. package/dist/rjs/src/core/components/Map/Obstacle.js +1 -0
  698. package/dist/rjs/src/core/components/Map/RoomFill.js +1 -0
  699. package/dist/rjs/src/core/components/Path/index.js +1 -0
  700. package/dist/rjs/src/core/components/Robot/RobotIcon.js +1 -0
  701. package/dist/rjs/src/core/components/Robot/SleepAnimation.js +1 -0
  702. package/dist/rjs/src/core/components/Robot/index.js +1 -0
  703. package/dist/rjs/src/core/components/RoomFloorType/index.js +1 -0
  704. package/dist/rjs/src/core/components/RoomInfo/RoomName.js +1 -0
  705. package/dist/rjs/src/core/components/RoomInfo/RoomProperty.js +1 -0
  706. package/dist/rjs/src/core/components/RoomInfo/RoomSelectionIndicator.js +1 -0
  707. package/dist/rjs/src/core/components/RoomInfo/index.js +1 -0
  708. package/dist/rjs/src/core/constant/config.js +1 -0
  709. package/dist/rjs/src/core/constant/index.js +1 -0
  710. package/dist/rjs/src/core/constant/methods.js +1 -0
  711. package/dist/rjs/src/core/managers/ControlsManager.js +1 -0
  712. package/dist/rjs/src/core/managers/CustomElementsManager.js +1 -0
  713. package/dist/rjs/src/core/managers/DetectedObjectManager.js +1 -0
  714. package/dist/rjs/src/core/managers/HeatmapManager.js +1 -0
  715. package/dist/rjs/src/core/managers/MapManager.js +1 -0
  716. package/dist/rjs/src/core/managers/PathManager.js +1 -0
  717. package/dist/rjs/src/core/managers/RoomManager.js +1 -0
  718. package/dist/rjs/src/core/mixins/ClickHandler.js +1 -0
  719. package/dist/rjs/src/core/utils/algorithm.js +1 -0
  720. package/dist/rjs/src/core/utils/browser.js +1 -0
  721. package/dist/rjs/src/core/utils/index.js +1 -0
  722. package/dist/rjs/src/core/utils/logger.js +1 -0
  723. package/dist-docs/404.html +2 -2
  724. package/dist-docs/assets/{app.DKtY-QgA.js → app.DFCBjZzz.js} +1 -1
  725. package/dist-docs/assets/chunks/@localSearchIndexroot.BRrKBG3E.js +1 -0
  726. package/dist-docs/assets/chunks/{VPLocalSearchBox.Is_bIGtF.js → VPLocalSearchBox.DA9tFqkT.js} +1 -1
  727. package/dist-docs/assets/chunks/{theme.CoICOtg5.js → theme.DLVtiTEc.js} +2 -2
  728. package/dist-docs/assets/{guide_getting-started.md.Cip1vgx6.js → guide_getting-started.md.FCeGzF_5.js} +1 -1
  729. package/dist-docs/guide/advanced-usage.html +3 -3
  730. package/dist-docs/guide/concepts.html +3 -3
  731. package/dist-docs/guide/getting-started.html +5 -5
  732. package/dist-docs/hashmap.json +1 -1
  733. package/dist-docs/index.html +3 -3
  734. package/dist-docs/reference/callbacks.html +3 -3
  735. package/dist-docs/reference/config.html +3 -3
  736. package/dist-docs/reference/data.html +3 -3
  737. package/dist-docs/reference/methods.html +3 -3
  738. package/dist-docs/reference/runtime.html +3 -3
  739. package/dist-docs/reference/types.html +3 -3
  740. package/dist-docs/reference/utils.html +3 -3
  741. package/package.json +2 -2
  742. package/dist/index.rjs.js +0 -1
  743. package/dist-docs/assets/chunks/@localSearchIndexroot.Ck3G2TnR.js +0 -1
  744. /package/dist-docs/assets/{guide_getting-started.md.Cip1vgx6.lean.js → guide_getting-started.md.FCeGzF_5.lean.js} +0 -0
@@ -0,0 +1 @@
1
+ import"../../../node_modules/pixi.js/lib/index.js";import{Interaction as t}from"./Interaction.js";import{proxy as e}from"../../../node_modules/valtio/esm/vanilla.js";import{MAIN_INSTANCE_KEY as n}from"../constant/index.js";import r from"../../../node_modules/mitt/dist/mitt.js";import{Logger as a}from"../utils/logger.js";import{AppContext as i}from"./AppService.js";import{nanoid as o}from"../../../node_modules/nanoid/non-secure/index.js";import{calculateLineEndpoints as s,isPointInPolygon as c,binarySearch as m,areStructuredRoomsAdjacent as d,areMultipleRoomsConnected as h,areRasterRoomsAdjacent as p}from"../utils/algorithm.js";import{ViewportContainer as l}from"./ViewportContainer.js";import{AppContainer as g}from"./AppContainer.js";import{MapManager as u}from"../managers/MapManager.js";import{PathManager as w}from"../managers/PathManager.js";import{HeatmapManager as f}from"../managers/HeatmapManager.js";import{ControlsManager as y}from"../managers/ControlsManager.js";import{DetectedObjectManager as M}from"../managers/DetectedObjectManager.js";import{CustomElementsManager as x}from"../managers/CustomElementsManager.js";import{RoomManager as S}from"../managers/RoomManager.js";import{getOptimalAntialiasingStrategy as b}from"../utils/browser.js";import{Application as P}from"../../../node_modules/pixi.js/lib/app/Application.js";import{DEFAULT_CONFIG as v,DEFAULT_RUNTIME_CONFIG as R}from"../constant/config.js";import C from"../../../node_modules/lodash-es/mergeWith.js";import{isMobile as j}from"../../../node_modules/pixi.js/lib/utils/browser/isMobile.js";import{Assets as I}from"../../../node_modules/pixi.js/lib/assets/Assets.js";class A extends P{mapState=null;components={};managers={};config=v;runtime;scaleMin=.5;scaleMax=5;events={};instanceKey;containerElement;emitter=r();tickerState={renderReasons:new Set,renderTimer:null};pendingAsyncRender=!1;isFirstMapDraw=!0;constructor(t=n){super(),this.instanceKey=t,i.registerInstance(t,this),globalThis.__PIXI_APP__=this}async initialize(t){return i.provideAsync(this,async()=>{const{resizeTo:r,events:i,config:o,runtime:s={},...c}=t;this.config=C(this.config,o??{},(t,e)=>{if(Array.isArray(e))return e}),a.log("Applying config",this.config,o),this.runtime=e(Object.assign({},R,s));const m=this.instanceKey===n;this.containerElement=r;const d=m?{textureGCMaxIdle:j.any?180:3600,textureGCCheckCountMax:j.any?100:50,autoStart:!1,eventFeatures:{move:!0,globalMove:!1,click:!0,wheel:!0}}:{textureGCMaxIdle:60,textureGCCheckCountMax:10,autoStart:!1,eventFeatures:{move:!1,globalMove:!1,click:!1,wheel:!1}};await this.init({resizeTo:m?r:void 0,preferWebGLVersion:2,resolution:window.devicePixelRatio||1,antialias:b(),autoDensity:!0,backgroundColor:this.config.global.backgroundColor,...d,...c}),this.preloadAssets(),this.scaleMax=this.config.interaction.zoomRange.max,this.scaleMin=this.config.interaction.zoomRange.min,this.events=i,this.initializeViewportContainer(),this.initializeInteraction(),this.initializeAppContainer(),this.managers.mapManager=new u,this.managers.heatmapManager=new f,this.managers.pathManager=new w,this.managers.controlsManager=new y,this.managers.detectedObjectManager=new M,this.managers.customElementsManager=new x,this.managers.roomsManager=new S,document.addEventListener("visibilitychange",this.onVisibilityChange)})}async drawMap(t){return i.provideAsync(this,async()=>{a.log("[Map] drawMap",t);const{size:e,resolution:n,origin:r}=t;r[0]===this.mapState?.origin.x&&r[1]===this.mapState?.origin.y||(this.managers.pathManager.updatePositionByOrigin(...r),this.managers.controlsManager.updatePositionByOrigin(...r),this.managers.detectedObjectManager.updatePositionByOrigin(...r),this.managers.customElementsManager.updatePositionByOrigin(...r)),this.mapState={id:t.id,status:1===t.status,origin:{x:r[0],y:r[1]},charger:{x:t.charger.coordinate[0],y:t.charger.coordinate[1]},chargerDirection:t.charger.angle??0,resolution:n,width:e[0],height:e[1],mapType:"structured"},this.isFirstMapDraw&&(this.isFirstMapDraw=!1,this.events?.onMapFirstDrawed?.(this.mapState)),this.events?.onMapDrawed?.(this.mapState),await this.managers.mapManager.drawMap(t),this.renderOnce()})}async drawRasterMap(t){return i.provideAsync(this,async()=>{a.log("[Map] drawRasterMap",t);const{mapHeader:e,mapData:n}=t,{originX:r,originY:i}=e;r===this.mapState?.origin.x&&i===this.mapState?.origin.y||(this.managers.pathManager.updatePositionByOrigin(r,i),this.managers.controlsManager.updatePositionByOrigin(r,i),this.managers.detectedObjectManager.updatePositionByOrigin(r,i),this.managers.customElementsManager.updatePositionByOrigin(r,i)),this.mapState={id:e.id,status:e.mapStable,origin:{x:r,y:i},charger:{x:e.chargeX,y:e.chargeY},chargerDirection:e.chargeDirection??0,resolution:100*e.mapResolution,width:e.mapWidth,height:e.mapHeight,version:e.version,mapType:"raster"},this.isFirstMapDraw&&(this.isFirstMapDraw=!1,this.events?.onMapFirstDrawed?.(this.mapState)),this.events?.onMapDrawed?.(this.mapState),await this.managers.mapManager.drawRasterMap(n.parsed,this.mapState),this.renderOnce()})}drawPath(t){return i.provide(this,()=>{a.log("[Path] drawPath",t),this.events?.onPathDrawed?.({id:t.pathHeader.pathId,type:t.pathHeader.type,direction:t.pathHeader.direction,count:t.pathHeader.count,initFlag:t.pathHeader.initFlag,robotPosition:t.pathPoints[t.pathPoints.length-1]??null}),this.managers.pathManager.draw(t),this.renderOnce()})}async drawRoomProperty(t){return i.provide(this,()=>{a.log("[Room] drawRoomProperty",t),this.events?.onRoomPropertiesDrawed?.(t),this.managers.roomsManager.drawRoomProperty(t),this.renderOnceNextFrame()})}drawHeatmap({mapData:t,heatmapPoints:e,useGradient:n=!0}){return i.provide(this,()=>{a.log("[Heatmap] drawHeatmap",e),this.managers.heatmapManager.draw({mapData:t,heatmapPoints:e,useGradient:n}),this.renderOnce()})}drawForbiddenSweepZones(t){return i.provide(this,()=>{a.log("[Controls] drawForbiddenSweepZones",t),this.managers.controlsManager.drawForbiddenSweepZones(t),this.renderOnceNextFrame()})}drawForbiddenMopZones(t){return i.provide(this,()=>{a.log("[Controls] drawForbiddenMopZones",t),this.managers.controlsManager.drawForbiddenMopZones(t),this.renderOnceNextFrame()})}drawCleanZones(t){return i.provide(this,()=>{a.log("[Controls] drawCleanZones",t),this.managers.controlsManager.drawCleanZones(t),this.renderOnceNextFrame()})}drawVirtualWalls(t){return i.provide(this,()=>{a.log("[Controls] drawVirtualWalls",t),this.managers.controlsManager.drawVirtualWalls(t),this.renderOnceNextFrame()})}drawSpots(t){return i.provide(this,()=>{a.log("[Controls] drawSpots",t),this.managers.controlsManager.drawSpots(t),this.renderOnceNextFrame()})}async drawDetectedObjects(t){return i.provideAsync(this,async()=>{a.log("[DetectedObject] drawDetectedObjects",t),await this.managers.detectedObjectManager.drawDetectedObjects(t),this.renderOnceNextFrame()})}async drawCustomElements(t){return i.provideAsync(this,async()=>{a.log("[CustomElements] drawCustomElements",t),await this.managers.customElementsManager.drawCustomElements(t),this.renderOnceNextFrame()})}getForbiddenSweepZones(){return this.managers.controlsManager.getForbiddenSweepZones()}getForbiddenMopZones(){return this.managers.controlsManager.getForbiddenMopZones()}getCleanZones(){return this.managers.controlsManager.getCleanZones()}getVirtualWalls(){return this.managers.controlsManager.getVirtualWalls()}getSpots(){return this.managers.controlsManager.getSpots()}getEffectiveDividerPoints(){return this.managers.controlsManager.getEffectiveDividerPoints()}getDividerEndPoints(){return this.managers.controlsManager.getDividerEndPoints()}resetPanZoom(){this.components.interaction.setPanZoom()}fitMapToView(t,e=!1){return i.provide(this,()=>{if(!t||t.minX===t.maxX||t.minY===t.maxY)return void a.warn("地图边界无效,无法自动适配视图");const n=this.config.map.autoPaddingPercent||.1,r=this.getViewportBounds(),i=t.maxX-t.minX,o=t.maxY-t.minY,s=r.width,c=r.height,m=s*(1-2*n)/i,d=c*(1-2*n)/o,h=Math.min(m,d),p=Math.max(this.config.interaction.fitMinScale,this.scaleMin),l=Math.min(this.config.interaction.fitMaxScale,this.scaleMax),g=Math.max(p,Math.min(l,h)),u=s/2-(t.minX+i/2)*g,w=c/2-(t.minY+o/2)*g;this.components.interaction.setPanZoom({targetPosition:{x:u,y:w},targetScale:{x:g,y:g},setCenter:!0,setScale:!0},e)})}getViewportBounds(){return this.components.viewportContainer?.getViewportBounds()||{x:0,y:0,width:this.renderer.width,height:this.renderer.height}}updateRuntime(t){Object.assign(this.runtime,t),this.renderOnceNextFrame()}metersToPixels(t){return this.mapState?.resolution?t*(1/(this.mapState.resolution/100)):(a.warn("Map resolution not available, using default resolution (5cm/pixel)"),20*t)}pixelsToMeters(t){return this.mapState?.resolution?t*(this.mapState.resolution/100):(a.warn("Map resolution not available, using default resolution (5cm/pixel)"),.05*t)}toFixedSize(t,e){return t/(e??this.components.appContainer.scale.x)}fromFixedSize(t,e){return t*(e??this.components.appContainer.scale.x)}getViewportCenterPoint(){if(!this.mapState)return a.warn("Map state not available, cannot calculate center point"),null;const t=this.getViewportBounds(),e=t.x+t.width/2,n=t.y+t.height/2,r=this.components.appContainer,i=r.scale.x,o=(e-r.x)/i,s=(n-r.y)/i;return{x:o-this.mapState.origin.x,y:s-this.mapState.origin.y}}getMapCenterPoint(){if(!this.mapState)return a.warn("Map state not available, cannot calculate map center point"),null;const t=this.managers.mapManager.mapBounds;if(t.minX===1/0||t.minY===1/0||t.maxX===-1/0||t.maxY===-1/0)return a.warn("Invalid map bounds, cannot calculate map center point"),null;const e=(t.minX+t.maxX)/2,n=(t.minY+t.maxY)/2;return{x:e-this.mapState.origin.x,y:n-this.mapState.origin.y}}getWallPointsByViewportCenter(t){const{width:e=this.config.controls.virtualWall.minWidth,direction:n="horizontal",offsetX:r=0,offsetY:a=0}=t||{},i=this.getViewportCenterPoint()||{x:0,y:0},o=this.metersToPixels(e);return s(i.x,i.y,o,n).map(t=>({x:t.x+r,y:t.y+a}))}getForbiddenSweepZonePointsByViewportCenter(t){const e=this.config.controls.forbiddenSweepZone,{size:n=e.minSize,offsetX:r=0,offsetY:a=0}=t||{};return this.generateZonePoints(n,r,a)}getForbiddenMopZonePointsByViewportCenter(t){const e=this.config.controls.forbiddenMopZone,{size:n=e.minSize,offsetX:r=0,offsetY:a=0}=t||{};return this.generateZonePoints(n,r,a)}getCleanZonePointsByViewportCenter(t){const e=this.config.controls.cleanZone,{size:n=e.minSize,offsetX:r=0,offsetY:a=0}=t||{};return this.generateZonePoints(n,r,a)}getSpotPointByViewportCenter(t){const{offsetX:e=0,offsetY:n=0}=t||{},r=this.getViewportCenterPoint()||{x:0,y:0};return{x:r.x+e,y:r.y+n}}areRoomsAdjacent(t){const e=this.config.map.adjacencyThreshold;return i.provide(this,()=>{if(!t||0===t.length)return a.warn("[Room] No room IDs provided"),!1;if(1===t.length)return!0;const n=Array.from(new Set(t));return 1===n.length||("raster"===(this.mapState?.mapType??"structured")?this.areRasterRoomsAdjacentInternal(n,e):this.areStructuredRoomsAdjacentInternal(n,e))})}isPointInAnyRoom(t){return i.provide(this,()=>t&&"number"==typeof t.x&&"number"==typeof t.y?"raster"===(this.mapState?.mapType??"structured")?this.isPointInAnyRoomRasterInternal(t):this.isPointInAnyRoomStructuredInternal(t):(a.warn("[Room] Invalid point provided"),null))}isPointInAnyRoomStructuredInternal(t){if(!this.mapState)return a.warn("[Room] Map state not available"),null;const e={x:t.x+this.mapState.origin.x,y:t.y+this.mapState.origin.y},n=this.managers.mapManager.getAllRooms();for(const t of n)if(t.outlinePoints&&t.outlinePoints.length>=3&&c(e,t.outlinePoints))return this.managers.roomsManager.getRoomPropertyById(t.id)||(a.warn(`[Room] Room ${t.id} found in geometry but not in RoomManager`),null);return null}isPointInAnyRoomRasterInternal(t){if(!this.mapState)return a.warn("[Room] Map state not available"),null;const e=this.mapState.width,n=this.mapState.height,r=t.x+this.mapState.origin.x,i=t.y+this.mapState.origin.y,o=Math.round(r),s=Math.round(i);if(o<0||o>=e||s<0||s>=n)return a.warn(`[Room] Point (${o}, ${s}) is out of map bounds (${e}x${n})`),null;const c=s*e+o,d=this.managers.mapManager.getAllRooms();for(const t of d){const e=this.managers.mapManager.getRasterRoomPixels(t.id);if(e&&e.length>0&&m(e,c))return this.managers.roomsManager.getRoomPropertyById(t.id)||(a.warn(`[Room] Room ${t.id} found in geometry but not in RoomManager`),null)}return null}areStructuredRoomsAdjacentInternal(t,e){const n=[];for(const e of t){const t=this.managers.mapManager.getRoomById(e);if(!t)return a.warn(`[Room] Room ${e} not found in map`),!1;if(!t.outlinePoints||0===t.outlinePoints.length)return a.warn(`[Room] Room ${e} has no outline points`),!1;n.push({id:e,points:t.outlinePoints})}const r=[];for(let t=0;t<n.length;t++)for(let a=t+1;a<n.length;a++){const i=n[t],o=n[a];d(i.points,o.points,e)&&r.push([t,a])}return h(n.length,r)}areRasterRoomsAdjacentInternal(t,e){if(!this.mapState)return a.warn("[Room] Map state not available"),!1;const n=this.mapState.width,r=[];for(const e of t){const t=this.managers.mapManager.getRasterRoomPixels(e);if(!t)return a.warn(`[Room] Room ${e} pixel data not found in raster map`),!1;r.push({id:e,pixels:t})}const i=[];for(let t=0;t<r.length;t++)for(let a=t+1;a<r.length;a++){const o=r[t],s=r[a];p(o.pixels,s.pixels,n,e)&&i.push([t,a])}return h(r.length,i)}async snapshot(){this.render(),await new Promise(t=>setTimeout(t,0));const{snapshot:t}=this.config;return await this.renderer.extract.base64({target:this.components.appContainer,format:t.format,quality:t.quality,resolution:t.resolution,antialias:t.antialias})}async snapshotByData({map:t,path:e,roomProperties:n,customElements:r,forbiddenSweepZones:i,forbiddenMopZones:s,virtualWalls:c,detectedObjects:m},d={}){const h=`SNAPSHOT_${o()}`;a.log(`[MapApplication] ${h} snapshot start`);const p=new A(h);try{if(await p.initialize({config:this.config,runtime:d}),!t)throw new Error("Map data is required");if(t.startsWith("7b22")){const{decodeMapStructured:e}=await import("../../../node_modules/@ray-js/robot-protocol/dist/index.js"),n=e(t);await p.drawMap(n)}else{const{decodeMap:e}=await import("../../../node_modules/@ray-js/robot-protocol/dist/index.js"),n=e(t);if(!n)throw new Error("Failed to decode raster map data");await p.drawRasterMap(n)}if(e){const{decodePath:t}=await import("../../../node_modules/@ray-js/robot-protocol/dist/index.js"),n=t(e);p.drawPath(n)}n&&n.length>0&&p.drawRoomProperty(n),i&&i.length>0&&p.drawForbiddenSweepZones(i),s&&s.length>0&&p.drawForbiddenMopZones(s),c&&c.length>0&&p.drawVirtualWalls(c),m&&m.length>0&&await p.drawDetectedObjects(m),r&&r.length>0&&await p.drawCustomElements(r);const o=await p.snapshot();return a.log(`[MapApplication] ${h} snapshot completed successfully`),o}catch(t){throw a.error(`[MapApplication] ${h} snapshot other map failed:`,t),t}finally{a.log(`[MapApplication] ${h} destroy`),p.destroy()}}renderOnce(){a.log("[Pixi] renderOnce"),this.render()}renderOnceNextFrame(){this.pendingAsyncRender||(this.pendingAsyncRender=!0,requestAnimationFrame(()=>{a.log("[Pixi] renderOnceNextFrame"),this.render(),this.pendingAsyncRender=!1}))}requestRender(t,e=!1){e?(this.tickerState.renderReasons.add(t),this.ticker.started||(a.debug(`🎬 [Ticker] START: ${t}`),this.ticker.start())):this.renderOnceNextFrame()}stopRender(t){this.tickerState.renderReasons.delete(t),0===this.tickerState.renderReasons.size&&this.scheduleStopRender("final",100)}destroy(){i.unregisterInstance(this.instanceKey),this.tickerState.renderTimer&&clearTimeout(this.tickerState.renderTimer),this.tickerState.renderReasons.clear(),this.emitter.all.clear(),document.removeEventListener("visibilitychange",this.onVisibilityChange),this.managers.pathManager.destroy(),this.managers.mapManager.destroy(),this.managers.controlsManager.destroy(),this.managers.detectedObjectManager.destroy(),this.managers.customElementsManager.destroy(),this.managers.roomsManager.destroy(),this.components.interaction.destroy(),this.components.viewportContainer.destroy(),this.components.appContainer.destroy(),super.destroy()}initializeViewportContainer(){this.components.viewportContainer=new l(this.config,this.containerElement),this.stage.addChild(this.components.viewportContainer)}initializeAppContainer(){this.components.appContainer=new g,this.components.interaction.addChild(this.components.appContainer)}initializeInteraction(){this.components.interaction=new t,this.components.viewportContainer.addChild(this.components.interaction)}scheduleStopRender(t,e){this.tickerState.renderTimer&&clearTimeout(this.tickerState.renderTimer),this.tickerState.renderTimer=setTimeout(()=>{this.tickerState.renderReasons.delete(t),0===this.tickerState.renderReasons.size&&(a.debug("⏸️ [Ticker] STOP"),this.ticker.stop())},e)}generateZonePoints(t,e,n){const r=this.getViewportCenterPoint()||{x:0,y:0},a=this.metersToPixels(t)/2,i=r.x+e,o=r.y+n;return[{x:i-a,y:o-a},{x:i+a,y:o-a},{x:i+a,y:o+a},{x:i-a,y:o+a}]}preloadAssets(){const t=this.config.robot.icon.src,e=this.config.chargingStation.icon.src,n=[];I.add({alias:"robot",src:t}),n.push("robot"),I.add({alias:"chargingStation",src:e}),n.push("chargingStation"),I.add({alias:"deleteIcon",src:this.config.controls.deleteIconSrc}),n.push("deleteIcon"),I.add({alias:"rotateIcon",src:this.config.controls.rotateIconSrc}),n.push("rotateIcon"),I.add({alias:"scaleIcon",src:this.config.controls.scaleIconSrc}),n.push("scaleIcon"),I.add({alias:"moveIcon",src:this.config.controls.moveIconSrc}),n.push("moveIcon"),I.add({alias:"checkmark",src:this.config.room.selectionIndicator.iconSrc}),n.push("checkmark"),I.add({alias:"spotIcon",src:this.config.controls.spot.iconSrc}),n.push("spotIcon"),this.config.room.property.cleanMode.assets.forEach((t,e)=>{const r=`cleanMode_${e}`;I.add({alias:r,src:t}),n.push(r)}),this.config.room.property.suction.assets.forEach((t,e)=>{const r=`fan_${e}`;I.add({alias:r,src:t}),n.push(r)}),this.config.room.property.cistern.assets.forEach((t,e)=>{const r=`water_${e}`;I.add({alias:r,src:t}),n.push(r)}),this.config.room.property.cleanTimes.assets.forEach((t,e)=>{const r=`cleanTimes${e+1}`;I.add({alias:r,src:t}),n.push(r)}),this.config.room.floorType.assets.forEach((t,e)=>{if(!t)return;const r=`floorType${e}`;I.add({alias:r,src:t}),n.push(r)}),this.config.room.property.customAssets&&Object.entries(this.config.room.property.customAssets).forEach(([t,e])=>{e.forEach((e,r)=>{const a=`custom_${t}_${r}`;I.add({alias:a,src:e}),n.push(a)})}),I.backgroundLoad(n)}onVisibilityChange=()=>{"visible"===document.visibilityState||this.components.interaction?.clearTouches()}}export{A as MapApplication};
@@ -0,0 +1 @@
1
+ import"../../../node_modules/pixi.js/lib/index.js";import{Logger as i}from"../utils/logger.js";import{Container as t}from"../../../node_modules/pixi.js/lib/scene/container/Container.js";import{Graphics as e}from"../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";class s extends t{viewportBounds={x:0,y:0,width:0,height:0};maskGraphics=null;containerElement=null;constructor(i,t){super(),this.containerElement=t||window,this.calculateViewportBounds(i.global),this.position.set(this.viewportBounds.x,this.viewportBounds.y),this.createMask()}calculateViewportBounds(i){const{containerTop:t,containerLeft:e,containerWidth:s,containerHeight:n}=i,{width:r,height:o}=this.getContainerSize(),h=this.parseSize(e,r),a=this.parseSize(t,o),d=this.parseSize(s,r),p=this.parseSize(n,o);this.viewportBounds={x:h,y:a,width:d,height:p}}getContainerSize(){if(!this.containerElement)return{width:window.innerWidth,height:window.innerHeight};if(this.containerElement===window)return{width:window.innerWidth,height:window.innerHeight};const i=this.containerElement;return{width:i.clientWidth||window.innerWidth,height:i.clientHeight||window.innerHeight}}createMask(){this.maskGraphics=new e,this.maskGraphics.rect(0,0,this.viewportBounds.width,this.viewportBounds.height).fill(16777215),this.addChild(this.maskGraphics),this.mask=this.maskGraphics}parseSize(t,e){if(!isNaN(Number(t)))return Number(t);if((t=t.trim()).endsWith("%"))return e*(parseFloat(t)/100);if(t.endsWith("vw")){const i=parseFloat(t)/100;return window.innerWidth*i}if(t.endsWith("vh")){const i=parseFloat(t)/100;return window.innerHeight*i}return t.endsWith("rpx")?parseFloat(t)*(window.innerWidth/750):t.endsWith("px")||!isNaN(parseFloat(t))?parseFloat(t):(i.warn(`Cannot parse size value: ${t}`),0)}getViewportBounds(){return{...this.viewportBounds}}updateViewport(i){this.calculateViewportBounds(i.global),this.position.set(this.viewportBounds.x,this.viewportBounds.y),this.maskGraphics?.clear(),this.maskGraphics?.rect(0,0,this.viewportBounds.width,this.viewportBounds.height).fill(16777215)}addContent(i){this.addChild(i)}}export{s as ViewportContainer};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAOklEQVR4AeySSQoAMAgDp/3/n9v4ABc8eRCSUyAwmgu8xIp9WYGfFpItgBk3OPpW5HAnMxBE0NciwAcAAP//bVPdOAAAAAZJREFUAwDM4hAZDjaEjwAAAABJRU5ErkJggg==";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAaVBMVEUAAAA3yFI4x1E3yFM4x1Q3yFI4x1I3yFM3ylVAz1BEzF44yFI3ylI3yFI2yVNGzF9GzGA3yFM4x1JKzWJY0nB62or///83yFL///+b46hQz2jN8dRp1n1Ey13y+/SC3ZPm+Om06r6n57PA80FIAAAAF3RSTlMA3yC/QO9grzAQ75+PcFDfz8+Ar2AwEAVwkmAAAANrSURBVGje1ZtpktowEEZbkiVvmG1m+Ixg1vsfMqnUVPWPkLG6W+DKu8CrJ7UBG5nEnLrtsQ1h5yIwOLcP45ReerovXWoPuIlrJ0/3wad2wI/Ep1S/PLUoIjQ13X4cUEzcNJW0TYCQUEP9zNpHqr2DHLvajzCwUY9ZcjARJ13uAWaCl3u3DhWI4p0+opTrwk7LlnmHYi74mb2/z0V0nbGAKzZ3DoLgRTFcVzhWUeB9n+daI5Yg4aNEDKRlbwOIgsvE2C7ub5QFl4pjV2WeOZjFgtk2e1/fWGwz7yHiPAvE2P3buwFkwSIxjtaB5mAWW0bb80ALglms3uYARhAsEONwyzuBEQSzWPkJ1kcwgmCZ2Hn1RHOwRoxRPdEcrBLDKyeLg5ViZw5WivFsDFaLgyn4a1aL0RiC82wQB0Pwp0UMr76G82wSj+oPrU+beNCudJ5tYiTlaF2s4vZ7pSHjOpvEPF4JMi42Ma/1EwRwsFbMay2c6YtNzHPtIYCDTWJ08p88F6OYN7mFAA7WinmTHSRc6ogP0quYg5nzDV6xwIleIOEyF3EpmK4kCy7jWnA3M60SjCONAu97tWC0oq+mj2rBCLR/bDCL3SrB2JFbJRiOBhTyWjMYkVDKuWYwQMXBb1WCWRzXCR7IrRPsaPfYYBaHVYKxp7BKMAK1qwRjpOMqwZhou0owEnWrBOOFTljm/fw3X6Zg9EQHqMimYCf+Qc9iU3ArvktlsSUY029xBxVZG8x35gM0ZEtwJFJvcrYEPxGpNzlrg/lRhIeGbAhGT/q1zobgQKRf66wL5ue32rnO+uDY0zcj5GRVMB+UUI9XVgej0TwoZ7E6OKj+GmCxJdiSnC3BzDOkZFMw4yAk24L1g52twdprOSuvYfPpvGz80GISRGRV8EQ3OEBCVn8tGRc7K4Kjp5tsISArghvbQT0Wc7Buopkdisni4H2dQ0ZZEFz1eFPmYInXfpAsy4Jjxw7baGdZcFPtsGAWPgAooIlFYkFw3FY8EJrLg11X8whsLg52ksO3+2VxafDOk4TNorgw+CiQ8oiZcVsS4wPMHDxpmKIxN5GSfgMDo6/7OoroInq4Ojz/vy/h/FFvBGM2jJ7q0Zdmt4lq06enuNDapru91za1Djc5tKmj+9K/pGkMe+cGILpdCO1x251Iyi/g4vimU9Z1kQAAAABJRU5ErkJggg==";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAANlBMVEUAAAD////////////////////////////////////////////////////////////////////xY8b8AAAAEXRSTlMA3yB/YL9Az5+QEK/vj3BQMNgNE0EAAAEySURBVGje7dnLbsJAFIPhk2RmcoO2ef+X7SJSvaJe2VWF/7UPn1AEC6iUUkoppZRS+q2x9d6XucyN6brbvPRy/TR5ZLiQjzIEFz3LEFz0sLxluKiVIbhoL0Nw0VbC4LrfMVz+jLUumksXXP6Ite7r78y4ceNK3K/20Ybfbes9XLzucZKtyK2VrFXuQvYqdyYXKrcauVG5dZIrlVud3KncOsmlyq2d3KrcGuRa5dbxeHEvctEneQXiuj6L/EYj8wuNzPcama81Mt9qZL7UyHynkflKI/ONRuYLpcxdhcxdjcxcnUxcnfwkrkzWuZDdLmS3C9ntQna7kN0uZLcL2e1CdruQ/S7kf/e7mUDWupDdLmS3C9nvQv77/4LhWmrTddfheppbX6d1H5VSSimllFJ6674BgnCK71i7vw8AAAAASUVORK5CYII=";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMAYN+fgL9AIO8QcFDPfzCQr49fa1RRAwAAAnlJREFUaN7t2NmumzAQgOHxvhEgnfd/17ZKDhMMSmobz+mR/F1Fraq/jAeywDAMwzAMwzB8N6EfHPBS+ORn4GRxY4CToLCED9jD4bYa8Q3hMOEfU+AMUxdRcYdXfFK8YYWbO2f4hi9uPGHqUpkrHDHziydsMednjrDz21/J7ZXrH3YvNXo9he5h83qV83b1qneYFnren3fsGxYUyjfc9gzTYml40jT6juFtmZaTp6fpFqYDlgE2QdL0O4UdTfV0/t71CdOgE+wkGnaXcKTFyiw07B5hQ3+Sm76GHa4P06QdkPyY79eFJ/iij4M+HoO7LGyy+2YCcjJs1SEMTk2TDh++e4Qrw5/R6mnusKPFZg3TJVveMJ2y4g3Tfe6Zw/TgdLxheq9IvGHaa8EdBnzQPyEsVvO0qr8Mhb3au7sLR33HAvLTjZwKtqKIhXORPukXPHMKxA/PTOgV1u/nNsE/c3oTxVGye+79oizAy3k6YlaKlp7VDWsemLN9ECf0UTjrVl0wlklnXbrgXrfTcW+dwbpfJBYsY7Kfjz1Wfjk3WCjQdkSDxJd1A5ay9NBo+Z0tYSlNO9XQBYWlTPb9sfR86Z8X8ie34RqgkMNyNt9KaWs+X5WL++0wAiqsWG79+k9LxElbqCKxnKeDClBpxhoOmkWsEaGZwRoKmmEVCa0sEtZDXrCOgEYT1lmgTUDCesgJa4XWT8PEKLXuLkotBonX2iNJ0ETu98Vm96rYD1dedsgOq8MGWogsnLK3IJuFLzvkNQuL7AOOexO20MBkYV0QTpeNWh/DkIWve5uIk5TSPCQAoV7cAOD5ctFaR4CotXhIMwzDMAzDMAz/j98ceskaOhA77AAAAABJRU5ErkJggg==";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAM1BMVEUAAAD///////////////////////////////////////////////////////////////+3leKCAAAAEHRSTlMAYJ+Av0Df7xBwIJBQz68wzE7woAAAAVNJREFUaN7t2d1ugzAMhmHHSUj4Kfj+r3asmxrIClKYlwzpe8446XuQgi0gAAAAgNuIxj4ZqmsI8s1RVSwvnmpyKWzpBMIII4zwWdjQCYQRRhhhhBE+hDDCCCOMMHX/IOzpxG3D0fJeSGHHe0b35VKBntSMUqLTvHlKhFZhGUiLsVu9ecNvENxP9MlkfurtzkRaeml0I89SJpKSIGUM6fBSaCQdVgo99J6YTQ45SjFPGiYpNtaexrofox5SLGgc8iDS5pCNJFX3LpYLnOIKXXvvWuSSRWMktjnkWS5hjZHY5JC9XDTUHYmJqTsSE1YciczcycbMHCRxlvU2vin7Kc4eyJ0klrzeMsBZ2GVhdxw2eiPxTXg+Do8KIzGFuyzMWVhr41vycMjCYxZW+3e5LCxZ2B6Gw0S/Mbjuk3tar3lrDfvXhbWeol2ZL5EAAAAAAOCvfQALwYE8tktFzgAAAABJRU5ErkJggg==";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAANlBMVEUAAAD////////////////////////////////////////////////////////////////////xY8b8AAAAEnRSTlMA5VZzrI86yR0O12VHK4GeumR+Sig+AAAB1ElEQVRo3u3aYW+jMAyAYTuExEkItP//z550VHCVOGMzl02an6+b+i4hIRQNnHPOOed+KkoruNmAL7nAnQg3M9wp7OEMDA972MMe9vDvDkdgeNjDHvawhz38Xx72sIc9/H1hasNfLazGPZzDu8R8StG/XFIY4FCPFfERlC+XVBJ3cWZNeNKFA/u3N91S+upcx+2ntShGHDfLeGB4dzTVbxNyI2ImhGEbbnCnvIc7qNAUJFKBQ8+tu2iqZcgoNRIAs6wzKbpJluU/el7v7PSJbcy/tKcwtASqrtZotBP0ikG3ZNSbDMIjXtBOBkPCiba9yBQR61yAF9F6xJQlT0wJLyHBtZvsrzA+gVFFe66iXg3AwZdoPdO5y1bNDIym71YC3iQ5LGZ9OMielWs33kxZ9u2gFetdPIOJaH2z7LGKwos+fLqwPnRCzGePfLIRN9vFlcT/UjChWuKeZcSLr+jDD2ZIHbFOadXLyUVRG4twl0SyvXVhDvxZvAvW53FdhjCld+s8lLDEl4qIXb2hDBYdPdivMyUbh3eF39S9Xm6N/+qHKxe48jZm64Oq8mGgi+Vwfi7H01+5YuBFyVMDjfgJA5yj8LDO1qf8ZYSlVMA555xz7rv9AZlKFXj5dr43AAAAAElFTkSuQmCC";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAOVBMVEUAAAD///////////////////////////////////////////////////////////////////////8KOjVvAAAAEnRSTlMAQCBggN+/nxDvcM8wkFCwoI+ASc+UAAACfUlEQVRo3u3Z7XajIBCAYWAAAVET7v9iN6my6CR0lmo+Np3nV3vSkzcKQmkFY4wxxhhj78EFfQVOPJDr05cgCpNmVjyQuo3IlEVRPDUsxePEV4UlhzmcfVy44zCHPzkMnx2GV4eHV4X1W4WVKDjMYQ6/fRh+TTiswnJ2TtkoVw7+FLqEVfqeFjecNsl3amc4JoKrnOq93BeWVFgKpEsz7/bdav0lwOzUmw1rI77glIU94XblFnXPDZdJMfw8HBTiBM3n8Eh+xuu4pYycw6MttKovAkZQhku3t4su0xlk8kJcwug5rtwvq8TBZKLKSneDFIeLxIN8BJVFuQCAgMLTkUX7zagPKGzEsxhqtc5gsnBk+ITCorhdtI07aNTLg0qtjJBnfRXo2blbTHZhspIZ8bTua5e0zAVLjBmtLMAeff/DsGrIzu9j18tHlaQ2GmgK+zzI9M6niU82pSYyXwv9G6cKQRLbWIMghCuXXxcVuebT8ArZ5xldv1ibB5eYfG2DPJBXbBIZ7lMjtdqSVf02Do76T08rWA2yrocjeUxq1ZU1p/r2LiWjZ6BqK3krs94nPNSeYWqRMamZ2+wT5jxGtTHfyd7MKuWY2o3EzECTqL+7YwcyQ+8T2O30Dbdhm9rZO+tsDwVu5HuNT1j7Bpk+7MC9M8VIJKh9IvOySvtkHPEwGV++vOjt3+9td+VX+4RvmY31hykot3n6DFpOYfPTU9PksPG2q9AQDShscbjsDU7V0QdMQOEJhU8ofNhfnCYUtv8YDnvDHoV7FB62r/uyT+wjEwobFNbb1w87LgW8geBlbzTLmV2Kq+XcBiB3ht0IMMqL6ARjjDHGGGP/qT+Hf7FSTq027wAAAABJRU5ErkJggg==";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAM1BMVEUAAAD///////////////////////////////////////////////////////////////+3leKCAAAAEHRSTlMA378ggBAw78+fYECPcFCv86Xy/gAAAk9JREFUaN7t2WlPwzAMgGGnjnP2yP//tWgg0GavaVCOCpH3K1WfHWnjMpjNZrPZbDabzf5cZg8BYXTGq/TIBRgYBpd+8jAoCkt6aYURRZ9EBmQdvliZh77tKr3PQdd0Og16FtNNsL8LVv8OXu6C17tgfJYWNQ6G7ZtRHgEHwhDVJxsIAMAxuG8m7ObdWoMR/TkYg9Y7Qb6o143awto+DrQRMqFKj1ZqB9P34Raz7leOqmG5w6hTmRybLKpguaUqKtj+Yj0sb7dHwZyxNoKP9JyGN4X03NIFThuIjE3PHY3gcDUPI9vtdSOY2HkVigX9kqUy2MJVaJlM2XkuQBms4DLD5CM3OG/QDJayPl8BGlrCYOTbyr+keji/tOWCroelLJc2Oe42h6VMckGv0AOG7VVxyBe0hz4wc0QeKuAK2UEFXCE76gmDrnElXC8rhB6wlKXbHYY143aF4eCuRRgCo7yAx8B0F6w5rMbAxiaeHgGjTTLdB5ajrJS7wNKVbV1g6cpCF1i6sr0HLF2ZNV1gOdmpsDsm94GJMSieqhQ2gqXLH/uRyx1g//byMYnJzWF/csPYuNwY9qf7kWYyNYV1ZrJb+d8awjr7eTomN4Kla03+vuJbwVreG/Py2gaO1/uQ4RtGE/j6Z195UTWBXyeOpejrwBZw2WXq28Ou6MZEruhfbAf78HKFso0PVckFFX4zp6my8QZtyQ17+cWDDzr+EvMDtzL5k5UPaaTt43w7XGQ+347HgpOlA6EkMtEUHbdHhMtMjASz2Ww2m81ms9mIPgCfVZZTXlzW2AAAAABJRU5ErkJggg==";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAM1BMVEUAAAD///////////////////////////////////////////////////////////////+3leKCAAAAEHRSTlMAgCDf7xAwz0BwYL+fj1CvJC6qIwAAAtFJREFUaN7tmUlu7CAURelbg9n/av/kKyX7GnjGppRInGmED/AaoMIWi8VisVgsFou/gnE5hOAE+yIi7Lb8YLesGTLBassZFR2bjNjKNXPVmpc6cV64hSwtlGdz4KUHZ8BUL5rne+ebfaERXva6QkSKd+tIQvHw7FxIEczb1ABv4lPaqhx5dcnHj++Hb4s4b8m5nbnpGOUXxYcGnRiwH8xuzk5L3eul/jWvgPU0N3t/TRzKh9ifWpzStTghGAzJPAXd0TjOvatWsWGXxPJB4ZbJ/rEpIp7qHD7azutq+2mYtb3oubmfOBuuGL1FiWbFYqTkz0jTWzHGWCvCEcKvDzhh/4/LrIItHyyk5qkLIKFaFTyqYrkgtZit1VATu8CogZ6LdeybJxvvXiLl6P3EtO8QHhN66Hjrl7E9mQ0m9Ogh45oTFrJ5O+IP7osbTBjM1dQO4B1MLaVZ17xDQoOXRIR66Zl57Q9p/MotGMXsbyc0IlR/KG6pgeToeBELC6aYpcCEtvqON0HwiGb3zOuhUKrkAox7HUSuQXjv0SUU5CrF/Nwrbyaln+ClBYm/4dUSBg+a1T2vhcGDZmVu7bOFwaNmdy++w5NW5wKe40XkSRy/5HWYWjO9OPbD/kXv0HFo1HPvyEXLPfBq8NLNAZrdvZ4zavYPvaNm/qS5x9LCT/NuJ1Hey4HwHW/ALchTvAk2ltwQtideDi8Gmhm9asCLTdLAYrql4B94rSaXJ5ZCGPdKQU+chPeVxK/wWTebDkYytcyu3CCd1KGzV7bxbI/lDrb5cuF4YlWHa7IT16RV9endf52bm+JYD2FEL35fQIiJSIhg5znpK/ddcVOsQEz7ERVDJcdXvHdbIkbEQEUQSZViCrRfNCJuRR9s41u9kDC18XnvFX2j3bHLR/A2zSqzAzpzGh/tYdKy29xFhH9cPsZkxwho5wRbLBaLxWKxWCx+I/8ANf2/u2NhQhAAAAAASUVORK5CYII=";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8BAMAAADI0sRBAAAAG1BMVEUAAAD////////////////////////////////rTT7CAAAACHRSTlMAgL9g36+fQGFJCmkAAADFSURBVDjL3dS7DcJAEIRhniJ1SIgEBSAqQFRARguEJBTgxJqy7cDeX7ZGmtwX+fbu8+t2d7Pqsb99lqHH617XX6mZr26lrrCkdr58ljTxnTRxsHQZJwfBwXqWhoP1rmfDwfrVFA5mO3Ozm4DHRCwmZDExjwlaDPcYDrYcbDnYcrDlYM/BnoM9b+Jyvnl+tfxh+beA4elIwoGmdAjJlFIxJHIqg1hEuQRzAZ9c+dN6jmB4bj2hcYW2F5omLfe6PMH/0HLXPHpWgenjpk040QAAAABJRU5ErkJggg==";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8BAMAAADI0sRBAAAAJFBMVEUAAAD///////////////////////////////////////////+0CY3pAAAAC3RSTlMAYIDvMBDPv4+fcLUOqFYAAAEWSURBVDjLvZW9isJAFIXHkLCw1S5ss9ikt00h2ETyAqn0CaxsbHwCSyvfwN7KEUQ8L2dilJPE4Z5GPFXgy5efOzP3um6i1FkZeYtGQGrJgDflSrfkSjdk6kGZekimHpTHwIZ6Xz5Ngb9JWB8C2QD4KYBrAM9wymscT7AI4GSZuRq74ly6QOZ5g+O1C6fBzHvwd9nHSfu20aKPZ75dsHPZxckSKWVg1cVfgG9XO+/iuK485az/7uKpUyamTpmYOmVi6o18+X3kH9g9r7d3PYKRtJKNeIHFw8WniR8TZRFFFUsiFlRsB7mZ9FZ0g9eNvP/AIdIHWB9/3TwObD1H0bhE2xNNU7Rc0bAN3ethoUeNHlR6zIkheQMcOzccp+sDkgAAAABJRU5ErkJggg==";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAMAAAANIilAAAAAM1BMVEUAAAD///////////////////////////////////////////////////////////////+3leKCAAAAEHRSTlMA32CAIEAQ779wz4+fUDCvilaH/gAAAZdJREFUSMftltuOxCAIhsWiVqst7/+0m5jsEIUqm72d/64M33BSWvfVP9WgzKZ4wqRyayhWojwbMwlVhfVAdAnrIeHmVK/TGWAvfOJDRAn3cGqSLURc8AJOSrcqcdIrGBT26r8EFd4FbsSBN2kDzgUnnsAOJohKwZSiBZ6PQpBG+5xP6gpWGGRgiksYDhGax0TFrWBAVzn03GqqK7igcwgces46L+DSS/IfuHDWopBBvrNdHBrdaAnuRdlH/p8xzfj7fLutkLr4JN+cyV7P535MqQQDzHnff4eRRu+DZ2dQ4Y4N8GGBK3sPa/mxwJnhoWawwG2EAxlnNXpnbqC5Yzg5Jz41VpgHe3LeVpg3hxebLV7HDgZ+Hi1YiNqmYZX339B/hNXlnpvrOTR2dgFfYlnCh66dXcCPGIwnThxoCSd5A4FYSzhwYLZZ4UO7+pcRTupRBBMciLQPFwQLfL68HTDt4fD2Jr4N8Ply91oSaeuBS9SO7BaOoLMHGeCq15tJwppTyk6qGuBG9KC6Hk6Y9ERRGXj31f/0A2zyPsVxnMRtAAAAAElFTkSuQmCC";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8BAMAAADI0sRBAAAAIVBMVEUAAAD////////////////////////////////////////PIev5AAAACnRSTlMA7zC/QN+fgCAQTQcGNgAAAMRJREFUOMvd0jEKwkAURdFPBEkdsLFKyAYk2UIqO1uXYOUSXIJbCCiCqzTDe8Ei3qmDrz3caebH+7tHLLZ6fvZpHfFYhwaPV8jOiZ0zn5QTd3vlwIdGOXGhnDiUIytHdk7sHNk5sXNi53dg5a9lPQxDHc6vQUu5YlqjmFbGv++W1W2V5ctY5+L534vpt37E89lspr9eaKmzIfbVIfvqzJSbKTdjLsZczLkYczHmrZjyXWLKtaDcTLkZc+K2TzsTH/Xu2vkDlC8AMDsTJN8AAAAASUVORK5CYII=";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAOVBMVEUAAAD///////////////////////////////////////////////////////////////////////8KOjVvAAAAEnRSTlMAgH/fIL9gcEDvoBDPsJCPUDD8BuiCAAACCklEQVRo3u3Zza6bMBCG4Y/434aQzP1fbCt14SOZSac+zPQs/C4jwaME7ICN1Wq1Wq1W87VYd0dEe9gy7MqBvuQi9OusHp3PenqMPeiix31uZU5YiVTlB3PCk5jSTXChS9kTV2m3uG/mR0zEtt0Ce7qWKw873FK5livx+VvgRJdyIr6IW9ou5Ux8T2jKgYcrNOXMwwGq8qYM83IqLKws+8rB2jISA+vLkbmr9eUnM1mry819+GO0Hs8ZPdPx3NCzlB16pvKBnqkc0TOVPXqWskPPVH6iZyp79CzlHUM2csSQiewwZCNHDJnIAUM2cgOTosy35CUvecn/W37H83C/C8nbyT6FMhjqcnsE6pnJOdBFTVPu7FiEqvwOxJTAyeN1KrQf8Z/ck9gyZPLL0Z+cF7N+l6yX8rL3r7P0z8tb6jreLV7pLba77K01IWcR/MlNwIycxDsS/Er8lFwFrv/szslBAEeJK5fl8CFx5bIc3jn3AKblQwBzrmuYl5/fgD0wL78EcOEv8Lzsp6cPB3xDDhBUmZlyWpYenZgvPC8Lj27cfta8HCEq0Fi2eN7OzFjSlwMDq8u+MLC6nAYYsJGfw3aWlVyH6cNK3obpw0qOrrsehnLfN9299Zu7j4FKiD97zeBvcgKfqlwaDNukI1JT3mBalyNs26RzgZb8gnlxpxIyVqvVarVarb70C7CyrCEVukMsAAAAAElFTkSuQmCC";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMA3yC/EECAYM+f73CQr1Awj6BvNXOp4gAAAlpJREFUaN7s1t1ugzAMhmE7TgghgdL5/u91ndBK11SYfFonTcpzXl7yR0Nd13Vd13Xd/+VWVk6OAD7PzCxDIMCHbtrTQfQbR2o1oD/2q97A6agPBjrPsd4BU+ZZgfLehQcd9acMdKEXF31yoVNYX0uewAewb9mRtfFkmaHZcroDy1qZfMMCweULtEGCHprJlrU2kiXpsRXanPbG9mrJZIjQzxY12O/O0BoVNbFHTiPDe3q32lu6NtnzZAv257Zmn32bGP9LaBgfsh9VwameoCHbXRVgjWtTc1eLEZ71FNfa1WCEIxS2u0wWAcOO9UiknblBphLdTViKTMb7W12mEyJv2cHTLpRRd0PjRLGjU0IecvDVoLLo5ko3IY0yx2prGF2Qi/PI8lVzsj/TvLbg3YMl3cp6oHgC2MddjsMS6Bddnj8NAmQRw/OlJgBZxFUfpNf3Dsme6P1hCqx3k5SloYpO9XA//SWlVPLi6G1Cdev8K/I407Z3fUBweFnQLi5+tmcGOQzCMBA0EBKSllz4/1/b+x6QVXmqVp4PrBDGeHfP7ei7JX9LmXM1nlKHIwUK+JaMQbfHw1C6RCoMTQ57iEUMAkOTIwDiEGsCoGddMYouthdiiNFnmBJtQHQNohkWV7YRYJrol6wZ+DCE05kjBawteK4d0VnAbEGPfF8cTAvhPnAcq0VTHTkWIKwdLySsBQkgDBxBsjHJ2W6qB9zYskDADVbGpSB+Zru+NF4TEHb3UtUi2aHhUqq3aPn9H4XV4MLDU06PWgyhbaCsNlDjrbmcz8wzkyRJkuRDXlF2skMkf3lIAAAAAElFTkSuQmCC";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMA359AIL+QYBDvMIBwr6CPz1BvDk7raQAAAplJREFUaN7t2tuO3CAMBmDbQALkOOv3f9dKrVbWMiSQTHGqiu96oz94OGeh67qu67rP+JF2ZObdTQb0GMcscAQdnlgoRkfkdxM0ZyVXN5k4b4bGkPOChbb4yAAJreDgoSnkIwaaGpif6V6RjxAktJq8QGMr5zlobUTdYGFRsdTlZAIFRm+dKPewF2iw/CaCioVToMMojyYRdJdFMagsTuVaB9DilacP4RQqXf6REfSMCtuP8uRlQRE2GcTezLQ4t9D0isWFAu1fK+MWmIXbzOlIHuFA3JAZqfq9vgKnAr1nY6nQ23dFIlSZOAu/bNKecJ5L8qi/lSu2n9F2RSRTM97o6vj84PBv8eLMhnxqu5XL7n6D02QzE80WDpj0/f1HDZaq+YV/I59tLnFqLC6zRSSFzHdYs+Seutel05WIjk4Q3myBc3Y456qCY3Zfa8fNnTx1bq8q9fC+JBpCPgXnuCjYZFdNcu3WKFjm3TUJtoHbBn9PkGmpiYv228PYDaPNDjorT51wtzpXGIw/6vwEVcHTjRuOxUDK/5xAVi4yl6fq/P7BrjJl1sx3ePGAwHj4pnYmmqNsss+NFw8I5W1cXTJCkbmUK0a812Cx1vy9IUw3j3a43aXTDsvr+fYxxPRXxxu5ItZvWyFl1szOeIZKdkVmHGJ5yGX3+YP7OffYBvd6dFS01/TnADTLjPe5rXqU/CfH0zkZn2pQ9XZLmGSVVUPpAUFL+Dcu9J67wgygxPFDl6dqH1/KX/gsaHjpfvYRk9732/K2GzWKvfBDya7yEkohWKmHLfXXX206l/oXvvmp/wMxfAShKR/4CLQ1PBVsg26py92LoLWJ9abNcjJGUPB++CcPGtJoZ0CPmdzOzLjT6KHruq7ruo/8Ani9wIJR4hr/AAAAAElFTkSuQmCC";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAOVBMVEUAAAD///////////////////////////////////////////////////////////////////////8KOjVvAAAAEnRSTlMAIN9A7xC/gGDPn3BQkK8wj6DdtO0oAAADPElEQVRo3u2Z2Y7rIAyGwWYnS8fv/7BHlTpi0gacsuTc8N1VivqDF2yMmEwmk8lk0h9nFJHfohT90HEDIlLG5f810C/GdZJFQwkrznnQH3yPXUtDB0CefkVHbLPuooguKAd649GoaylRUlb0TmjW/cQwlm7fc6RzHleEKdbHFeXYr3ypdK0wUA7D+LgttB3lceLI2nPLQHlAHEHqt2WkEu6KrU2V8EolzBXzqCphQ0XwyteyRthTkfXK11gj/EMJPmRVP2Ekuh5emk7RI5wc+FWCqEJC2dZ8NQliiDKy1kFRi/OUJ3LlxIgGtJRyX34YQzqmhtUjLZRCB5iFtSA/d12OaZCiEw5yB2KoOC5bolwyjU8/9HYq7NhS3I49OxAhoztKGVJo8brtxA8vhqH+TaBK6XJqaYViDBKOaUpHvBTDWNYQdaYHWMVtGEp4FPeBybtR3IBecH9ZHuiJt7pbGDkbjIcnxjwifgwKAF/S1kbsN3BR9M62vB/brrffDJ0T9DF3Vdfk2Q1l8U/lZUz6RCphj/cqKFsuQBqPcVgqot5uGaU4Mb+rW+rv4wl5EPbXGgdsaaZTGV4utHS7/a7VDZQn/QUc2xBtN2NMeESHuD/7YffwXzb3WrGWPtjFpl9lLFd4qIxyL49sf04uIJ6tzdJ+T8GwuD0tlgVa7qYqZvOPhxFWJWtJMU6YsgAymT9IeNUioa0hCDplAg/UmVrhySEDOo3EWEzVHNHLE900PtZADHwV27KlMGE+LjE7b+yloiR6nYsldz2+uMqI/A0bziqEqzi4uOjCfPLA4bmmBH7fBoRS+Gm2nvLJlEtKLFWR5fNprHoAZMsz562QJLYul86Tciu+t5hL7YsXl8BiaDHvHQ4aBk+xEFobF63SQv2F2eYXq3jvyeOubc0sbdMZNzB5gj/wcsUqvx0gKlIbZr3AnwwanXO76MXGZMowPPMoMgzmTXcYO3P+D2D0YLrqnuGHKXPlHhYxGFdxJRsrTFEMZaEcaqyfJdM3j0MVZjJDMUzjPIzI9HPD0IoRHoZlfDwOzzygD0MC/adKIf1tdYL3s9XiFuSriUyd5H3gap7iYFbUYjKZTCaTSRP/AEYn9FrTdrbUAAAAAElFTkSuQmCC";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAOVBMVEUAAAD///////////////////////////////////////////////////////////////////////8KOjVvAAAAEnRSTlMA3yCAEGC/759AcFDPkDCvoI+BJCYaAAADo0lEQVRo3u2a2barIAyGCSQMjpX3f9izzunqoYoxbhD3jd9d6/CXEDJA1cPDw8PDw0MNYZkhxgh26VHdBhoXv/Ba3UPn4obljlGjjzlww6BtjL+iTHEfaG1tGxkW1RaIHIyx2wuPiqG1MKimvCJLW/cKvHCvmmJZYVJN0Y4T7lRbJs6/zOY+6vXFY36dEO6HusSlQ5hybzXiHC9VOTMsb6ta2j49Cl5tatKHtnyyx715DvuZxE0/06W190InLmdkwpugLE6j1cfL2SV/LkrWvPtArxJ9/sOSsbhLMr24YNDxF7vioKZPxIiR9y1TnLl85PC8e+Fq/ouGrGOUlZGdR4w5tmDAnLUtNyYqTdYYDzH7k6yPixQqqGCZ0NgztjTFFZkXhJ3eMQwJDjKX1xgJm5sUpJU4KBkXJbpU920GjEMsF44iDpMvrAc8C1aqFI7jZjZJdI+53tRpyHbzVpyF2RFI0yS8J6S0l+a3orMyp2yd7rQ6+XPNFKeMJ4fs6WV9yNdRaZKYkrIbvDHeDkINLen6s/l4/hRa+LFCP67Ew490B1Rn0Z33Y8D1d2TZEXhBt5ik7WJ0b0MHD2BJTmgjqkvQeuX8Fo+bVwjqWug7emg20hhUFwMrR3P3yK6NO+7Xw85eYuSJusV7b/q88vb/PsN6Zj3VDxb7ZciaqGkbPnX3vsnBPJJW1WBnd8MQup32VGuNF83k7LjAaxrubwV7lGperfZttRX28GhosmDIyckV9X//62hSMpXVAO0fFoDv2+qOfDfttssXzQzDfH55kZjk+A7AmoD/t40+XmFKG/PEC9+3LNYSWw8P1nu/Woq+dsCv790Gn7olkVNjHqTHzfdHPCXsUNbVki6t3+ZOKYeKzXCT5+J1i15Z4ZKgS5ulNV01ySSsX8jCdlNh2Lvssl37mrZtYjcgcp+fsr28irMSPPzBeu/rWRaeyk61gNlL9OsNbB5XmCKIiS5u1ejV9m3TQWOtmbjQV0xxwvKGImaVCA4G6hSB7+hn9oqR45bMyL5+EPapK49acWCiFh55TXfBqbaG/WGFw5dOwIbLMmV/dFphmadEXVkZ9KE1jRADTGmpOWih/DRHBZvrSs5NIVWImbuzJ4AE2TlZgTbK/xHIOyiaP3V2UBdhzv7zJfR0RVcjL1Wj2kJ82muLFhJ9O4BPA20xvyWMrqBTaOnXoJpjCpZTO2Wj7oCA2RtuDhIwm7TtCaP9Kw6zCerh4eHh4eFq/gDsgRtLdqAVbwAAAABJRU5ErkJggg==";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAPElEQVR4AezXMQoAMAgDwND//9n2B51EhxNcQ7gtJ7NX0wWiAAECBAgQIECAAAECBAgQWCFQb6G3/Sc7FwAA//+f4+OPAAAABklEQVQDAI04ICFaxIVcAAAAAElFTkSuQmCC";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwAgMAAACTeJdcAAAACVBMVEUAAAAAAAAAAACDY+nAAAAAAnRSTlMAgJsrThgAAAAiSURBVDjLY2hgwA5GJUYliJBYhQMwOAwWF45KDEUJXOkKAA7xNyG+w0wTAAAAAElFTkSuQmCC";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABgAgMAAAAm4hnjAAAACVBMVEUAAAAAAAAAAACDY+nAAAAAAnRSTlMAgJsrThgAAAAjSURBVDjLY1gFBg4MQMAExGBqlDPKoS0HkuoGjXNGOcOVAwDBxwm1N3ts8gAAAABJRU5ErkJggg==";export{A as default};
@@ -0,0 +1 @@
1
+ const v="data:image/png;base64,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";export{v as default};
@@ -0,0 +1 @@
1
+ const I="data:application/json;base64,eyJmcmFtZXMiOiB7Cgoic2xlZXBfMDAwLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDAxLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6ODAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzAwMi5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjE2MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDAzLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMDQucG5nIjoKewoJImZyYW1lIjogeyJ4IjozMjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzAwNS5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjQwMCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDA2LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6ODAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzAwNy5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjgwLCJ5Ijo4MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDA4LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MTYwLCJ5Ijo4MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDA5LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5Ijo4MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDEwLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MzIwLCJ5Ijo4MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDExLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6NDAwLCJ5Ijo4MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDEyLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6MTYwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMTMucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo4MCwieSI6MTYwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMTQucG5nIjoKewoJImZyYW1lIjogeyJ4IjoxNjAsInkiOjE2MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDE1LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5IjoxNjAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzAxNi5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjMyMCwieSI6MTYwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMTcucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo0MDAsInkiOjE2MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDE4LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6MjQwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMTkucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo4MCwieSI6MjQwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMjAucG5nIjoKewoJImZyYW1lIjogeyJ4IjoxNjAsInkiOjI0MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDIxLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5IjoyNDAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzAyMi5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjMyMCwieSI6MjQwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMjMucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo0MDAsInkiOjI0MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDI0LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6MzIwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMjUucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo4MCwieSI6MzIwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMjYucG5nIjoKewoJImZyYW1lIjogeyJ4IjoxNjAsInkiOjMyMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDI3LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5IjozMjAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzAyOC5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjMyMCwieSI6MzIwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMjkucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo0MDAsInkiOjMyMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDMwLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6NDAwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMzEucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo4MCwieSI6NDAwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMzIucG5nIjoKewoJImZyYW1lIjogeyJ4IjoxNjAsInkiOjQwMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDMzLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5Ijo0MDAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzAzNC5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjMyMCwieSI6NDAwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMzUucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo0MDAsInkiOjQwMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDM2LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6NDgwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMzcucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo4MCwieSI6NDgwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wMzgucG5nIjoKewoJImZyYW1lIjogeyJ4IjoxNjAsInkiOjQ4MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDM5LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5Ijo0ODAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA0MC5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjMyMCwieSI6NDgwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNDEucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo0MDAsInkiOjQ4MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDQyLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6NTYwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNDMucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo4MCwieSI6NTYwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNDQucG5nIjoKewoJImZyYW1lIjogeyJ4IjoxNjAsInkiOjU2MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDQ1LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5Ijo1NjAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA0Ni5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjMyMCwieSI6NTYwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNDcucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo0MDAsInkiOjU2MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDQ4LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6NjQwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNDkucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo4MCwieSI6NjQwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNTAucG5nIjoKewoJImZyYW1lIjogeyJ4IjoxNjAsInkiOjY0MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDUxLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5Ijo2NDAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA1Mi5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjMyMCwieSI6NjQwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNTMucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo0MDAsInkiOjY0MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDU0LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6NzIwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNTUucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo4MCwieSI6NzIwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNTYucG5nIjoKewoJImZyYW1lIjogeyJ4IjoxNjAsInkiOjcyMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDU3LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5Ijo3MjAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA1OC5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjMyMCwieSI6NzIwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNTkucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo0MDAsInkiOjcyMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDYwLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6ODAwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNjEucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo4MCwieSI6ODAwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNjIucG5nIjoKewoJImZyYW1lIjogeyJ4IjoxNjAsInkiOjgwMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDYzLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5Ijo4MDAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA2NC5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjMyMCwieSI6ODAwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNjUucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo0MDAsInkiOjgwMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDY2LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6ODgwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNjcucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo4MCwieSI6ODgwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNjgucG5nIjoKewoJImZyYW1lIjogeyJ4IjoxNjAsInkiOjg4MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDY5LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5Ijo4ODAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA3MC5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjMyMCwieSI6ODgwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNzEucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo0MDAsInkiOjg4MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDcyLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6OTYwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNzMucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo4MCwieSI6OTYwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNzQucG5nIjoKewoJImZyYW1lIjogeyJ4IjoxNjAsInkiOjk2MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDc1LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5Ijo5NjAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA3Ni5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjMyMCwieSI6OTYwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wNzcucG5nIjoKewoJImZyYW1lIjogeyJ4Ijo0MDAsInkiOjk2MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDc4LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6MTA0MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDc5LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6ODAsInkiOjEwNDAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA4MC5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjE2MCwieSI6MTA0MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDgxLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5IjoxMDQwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wODIucG5nIjoKewoJImZyYW1lIjogeyJ4IjozMjAsInkiOjEwNDAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA4My5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjQwMCwieSI6MTA0MCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDg0LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6MTEyMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDg1LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6ODAsInkiOjExMjAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA4Ni5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjE2MCwieSI6MTEyMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDg3LnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5IjoxMTIwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wODgucG5nIjoKewoJImZyYW1lIjogeyJ4IjozMjAsInkiOjExMjAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA4OS5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjQwMCwieSI6MTEyMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDkwLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MCwieSI6MTIwMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDkxLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6ODAsInkiOjEyMDAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA5Mi5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjE2MCwieSI6MTIwMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9LAoic2xlZXBfMDkzLnBuZyI6CnsKCSJmcmFtZSI6IHsieCI6MjQwLCJ5IjoxMjAwLCJ3Ijo4MCwiaCI6ODB9LAoJInJvdGF0ZWQiOiBmYWxzZSwKCSJ0cmltbWVkIjogZmFsc2UsCgkic3ByaXRlU291cmNlU2l6ZSI6IHsieCI6MCwieSI6MCwidyI6ODAsImgiOjgwfSwKCSJzb3VyY2VTaXplIjogeyJ3Ijo4MCwiaCI6ODB9LAoJImFuY2hvciI6IHsieCI6MC41LCJ5IjowLjV9Cn0sCiJzbGVlcF8wOTQucG5nIjoKewoJImZyYW1lIjogeyJ4IjozMjAsInkiOjEyMDAsInciOjgwLCJoIjo4MH0sCgkicm90YXRlZCI6IGZhbHNlLAoJInRyaW1tZWQiOiBmYWxzZSwKCSJzcHJpdGVTb3VyY2VTaXplIjogeyJ4IjowLCJ5IjowLCJ3Ijo4MCwiaCI6ODB9LAoJInNvdXJjZVNpemUiOiB7InciOjgwLCJoIjo4MH0sCgkiYW5jaG9yIjogeyJ4IjowLjUsInkiOjAuNX0KfSwKInNsZWVwXzA5NS5wbmciOgp7CgkiZnJhbWUiOiB7IngiOjQwMCwieSI6MTIwMCwidyI6ODAsImgiOjgwfSwKCSJyb3RhdGVkIjogZmFsc2UsCgkidHJpbW1lZCI6IGZhbHNlLAoJInNwcml0ZVNvdXJjZVNpemUiOiB7IngiOjAsInkiOjAsInciOjgwLCJoIjo4MH0sCgkic291cmNlU2l6ZSI6IHsidyI6ODAsImgiOjgwfSwKCSJhbmNob3IiOiB7IngiOjAuNSwieSI6MC41fQp9fSwKImFuaW1hdGlvbnMiOiB7Cgkic2xlZXAiOiBbInNsZWVwXzAwMC5wbmciLCJzbGVlcF8wMDEucG5nIiwic2xlZXBfMDAyLnBuZyIsInNsZWVwXzAwMy5wbmciLCJzbGVlcF8wMDQucG5nIiwic2xlZXBfMDA1LnBuZyIsInNsZWVwXzAwNi5wbmciLCJzbGVlcF8wMDcucG5nIiwic2xlZXBfMDA4LnBuZyIsInNsZWVwXzAwOS5wbmciLCJzbGVlcF8wMTAucG5nIiwic2xlZXBfMDExLnBuZyIsInNsZWVwXzAxMi5wbmciLCJzbGVlcF8wMTMucG5nIiwic2xlZXBfMDE0LnBuZyIsInNsZWVwXzAxNS5wbmciLCJzbGVlcF8wMTYucG5nIiwic2xlZXBfMDE3LnBuZyIsInNsZWVwXzAxOC5wbmciLCJzbGVlcF8wMTkucG5nIiwic2xlZXBfMDIwLnBuZyIsInNsZWVwXzAyMS5wbmciLCJzbGVlcF8wMjIucG5nIiwic2xlZXBfMDIzLnBuZyIsInNsZWVwXzAyNC5wbmciLCJzbGVlcF8wMjUucG5nIiwic2xlZXBfMDI2LnBuZyIsInNsZWVwXzAyNy5wbmciLCJzbGVlcF8wMjgucG5nIiwic2xlZXBfMDI5LnBuZyIsInNsZWVwXzAzMC5wbmciLCJzbGVlcF8wMzEucG5nIiwic2xlZXBfMDMyLnBuZyIsInNsZWVwXzAzMy5wbmciLCJzbGVlcF8wMzQucG5nIiwic2xlZXBfMDM1LnBuZyIsInNsZWVwXzAzNi5wbmciLCJzbGVlcF8wMzcucG5nIiwic2xlZXBfMDM4LnBuZyIsInNsZWVwXzAzOS5wbmciLCJzbGVlcF8wNDAucG5nIiwic2xlZXBfMDQxLnBuZyIsInNsZWVwXzA0Mi5wbmciLCJzbGVlcF8wNDMucG5nIiwic2xlZXBfMDQ0LnBuZyIsInNsZWVwXzA0NS5wbmciLCJzbGVlcF8wNDYucG5nIiwic2xlZXBfMDQ3LnBuZyIsInNsZWVwXzA0OC5wbmciLCJzbGVlcF8wNDkucG5nIiwic2xlZXBfMDUwLnBuZyIsInNsZWVwXzA1MS5wbmciLCJzbGVlcF8wNTIucG5nIiwic2xlZXBfMDUzLnBuZyIsInNsZWVwXzA1NC5wbmciLCJzbGVlcF8wNTUucG5nIiwic2xlZXBfMDU2LnBuZyIsInNsZWVwXzA1Ny5wbmciLCJzbGVlcF8wNTgucG5nIiwic2xlZXBfMDU5LnBuZyIsInNsZWVwXzA2MC5wbmciLCJzbGVlcF8wNjEucG5nIiwic2xlZXBfMDYyLnBuZyIsInNsZWVwXzA2My5wbmciLCJzbGVlcF8wNjQucG5nIiwic2xlZXBfMDY1LnBuZyIsInNsZWVwXzA2Ni5wbmciLCJzbGVlcF8wNjcucG5nIiwic2xlZXBfMDY4LnBuZyIsInNsZWVwXzA2OS5wbmciLCJzbGVlcF8wNzAucG5nIiwic2xlZXBfMDcxLnBuZyIsInNsZWVwXzA3Mi5wbmciLCJzbGVlcF8wNzMucG5nIiwic2xlZXBfMDc0LnBuZyIsInNsZWVwXzA3NS5wbmciLCJzbGVlcF8wNzYucG5nIiwic2xlZXBfMDc3LnBuZyIsInNsZWVwXzA3OC5wbmciLCJzbGVlcF8wNzkucG5nIiwic2xlZXBfMDgwLnBuZyIsInNsZWVwXzA4MS5wbmciLCJzbGVlcF8wODIucG5nIiwic2xlZXBfMDgzLnBuZyIsInNsZWVwXzA4NC5wbmciLCJzbGVlcF8wODUucG5nIiwic2xlZXBfMDg2LnBuZyIsInNsZWVwXzA4Ny5wbmciLCJzbGVlcF8wODgucG5nIiwic2xlZXBfMDg5LnBuZyIsInNsZWVwXzA5MC5wbmciLCJzbGVlcF8wOTEucG5nIiwic2xlZXBfMDkyLnBuZyIsInNsZWVwXzA5My5wbmciLCJzbGVlcF8wOTQucG5nIiwic2xlZXBfMDk1LnBuZyJdCn0sCiJtZXRhIjogewoJImFwcCI6ICJodHRwczovL3d3dy5jb2RlYW5kd2ViLmNvbS90ZXh0dXJlcGFja2VyIiwKCSJ2ZXJzaW9uIjogIjEuMSIsCgkiaW1hZ2UiOiAic2xlZXAucG5nIiwKCSJmb3JtYXQiOiAiUkdCQTg4ODgiLAoJInNpemUiOiB7InciOjQ4MCwiaCI6MTI4MH0sCgkic2NhbGUiOiAiMSIsCgkic21hcnR1cGRhdGUiOiAiJFRleHR1cmVQYWNrZXI6U21hcnRVcGRhdGU6NjYyMDEzY2I2NDMwZGNjYWFjM2ExYTBiYjVlOTc4MzM6NTE3ZDlkN2RjOGI2MDBkMmQ2ZWIyOTVjMzc5ZTJmZmI6ZmViYzA4ZWVlMDM4NjliMDAwNmM5ZmQxNWI3NDMzOTkkIgp9Cn0K";export{I as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,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";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAM1BMVEUAAAD///////////////////////////////////////////////////////////////+3leKCAAAAEHRSTlMA3yBgv58Q74BwQK+PzzBQHgQBUQAAAqhJREFUaN7t2etu8yAMBmBO4ZgQ7v9qv2na+kpVEgKOqfQN/1vK+hRjE9KKGTNmzJgxYwY9VCrOKDE8lCxfIR+SYwjx3ki7le+Qz03iXvrW8hOe7tov9276QnlFJMO+lLuycoDpyyxvvBdyg1iocLk3CyzwU8u83ZKxwAhispdyS8YCYzC1m27JyMy6INn8MhbYCPxD5Jfj78tO4Q+MZZPRSTt6Hz3FJ6fXAr81v2aV0Umb/RmPoYwyOsm9rgfUGqNsfi+Ho2t8MmZ3NNwpLjmXQ0JjA+ORcXk/2Ws9s7yejlassrQY15BsuhwvbmyBUV6vBjvFJ9ujwRqNxiPXTxF6rIyxUg2WNW6Qg2Uke7CMZNvBssYZYayMZKvBsnLYOcfKHvU1WEYzD5YVmnmwjPoaK2OcEYNl/VR9GdUoy2dayhfZKOdHDiPWlWZ5wQDKhEurjJbypAl3yJ56l8Ijy9ZU21aSC9sgaS2yxuftCayWs439LInbl8eEW2QUdiBmOopGORP3TYc9qEVGrl2fm3GEapOR69wFa3RFq7zjQZpQW1k0y5mweSFfVjTLlnQQWVAhbTLqMlG6SYpWGWVt6HBdHgBXZCKM70tFh0wqrhVV3SLTq9pjq26QyX2M7Sf0fweoSXv1IrplRbw79cpOCFJZx145dcL6MtdaVeVAOHOdLlUosipb8imz7xkDbm+unTp6qSKTQp6usikccv1p15fCKWPKbn93eWVMuSR0c4TBJ0u8l1l1jDEsuMQp53IQQ+TwMdl/TE6fku32B+XlD1ZYdJ+SbRosI2K1xozgukte0lJXToCUiOaMTfvV2VPQw4bk3lGXtLo+9UbxSGS9Jim/p7KZVef6eTuIAQGZDNPlKMYF/TcZuiyVGB3Wy7ItSsyYMWPG/xD/AIrSnldXeREbAAAAAElFTkSuQmCC";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAM1BMVEUAAAD///////////////////////////////////////////////////////////////+3leKCAAAAEXRSTlMA5cgdcw7XjzlWrIFkup0rSDjdhakAAAKOSURBVGje7ZnbkqQgDEAj95va//+1W7u1NVGpHiEJPHEep0ZPJyYBERaLxWKxWPDRaXPphOnE7S8uwmTM9p9JZvT+YGAG6J1rRu9cM3rnmtE714zeuWb0zjWjl2vme5XaLhQYSLx5tUbz2Bl23r0Ad/MJg9Du4X2YnYYRoAS99R8HYGtFbbYgz1F7a/MB4pjKi2ZCO5MayZ2PYndDmqq+d4AHn2GlbdXvMZW6wOQLy7xVgAcxyvtt84aUERNr/5ZINeAx71Ujvcw1Jd/BoW0FMdJLUmn9gVo20eml9kWTXdo7VCvBAWbd6wNGAmmFfO3P3PXfHliEvlFolVR9paZEIx+hkEP3fbxMyBiws93j1TMCJswiIxFyrgN+R/FDto4yfCM/5HILmBByZJeWoe0LE5DQtIBBc3Nd6mHZ28uRmekAXQRmrt1PpgHpLC/eziMDUHMdWI/4A53gUlFYY8tCJ5aQLORg7J8UVhfj4oPREDunqD1047Eh+sF5yXkHWOIGOC2ROc9YSRSX4rwzJdYM4PTi3BkAmV4glrXfK/QlJlSLBPFq1m9m5CvR9y4WCOzUy60jFTV/zxar2UPdR6Qpu0TE0fbHodqP03PtaZcd/LdUTboqABGFR5ikl3mgEgknskXkYFF1n8hqxygtxPSemFnFChhRt5Pqd+8u9Ykgbk1m9CIBWPir+SXb+uo9RD8ofo9C/mNf2K5k2/gtPUh/nFfxSzFguNj2ImZUlypqjdqqk/gFhrgU9dV6bA88gLQZ5bvPxmSfcFJJejHbHRgQpLhmbwFRTtWmVRqEsbkpzRbkCelNmzDcmeoUYBwhf6syH2AsNvrKrXy0MAMd87Grf8r9yJ8TFovFYrFYcPgDfFESW2IpAiAAAAAASUVORK5CYII=";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAM1BMVEUAAAD///////////////////////////////////////////////////////////////+3leKCAAAAEHRSTlMAgN8g7xBgcECfj6+/zzBQ4swJLwAAAaxJREFUaN7t2lluwzAMBFBq9SLbnfuftigQYD5SZLGpaQPoXWBgiqQdKDYMwzAMw3Wp5dySyVX8yNXEAm5kycy9CabAXG0yc7XJzNUmM1ebzFxtMnPVyczVJzP33mQdVRD132EHHjqsk5TxUE7WRYp4InZJLhFPxWL+Gl7QjPoMkmycK0DCoToySNjabCxxgzW8YTE3E94yeW8s+THveFNUTrD/NB84IWkLTdG9o2ULrGSc4PCGXAESrpEZJO2vDact4gempH1gWsS7g5K2pWkRzzAV7dKiqm0t2k5WGpclbaWpOlRaWOuMy7J4e9ChPWKatGuL1vO/HvTdFeFg9whWfW3CxQj+z2f8Z8G7Y7B+gbRPWpkTHFTtrwiatZ9cVOyEXfuOoFXbW/QlPmLKuCgXO2XRVppmcaUpahc1VfG3LUWX1lLv62AXRO0JU3VoafEsN9cLReVdzCEuNAWcMH3ynQRfzPorr1X8vBTEuTRlvChP5ojzrP+bQAl4QSjmL214oiXrY34Yvc3Wz7xm/Couyfoq8xLvU6tJpBqWPUYgx72Fr2TDMAzDMFzxDf7xFoVjSQNhAAAAAElFTkSuQmCC";export{A as default};
@@ -0,0 +1 @@
1
+ const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAM1BMVEUAAAD///////////////////////////////////////////////////////////////+3leKCAAAAEHRSTlMAgN8g72AQn0Bwv4+vMM9QQt7wKQAAArJJREFUaN7tmtHOpCAMhbUgoqL2/Z92s5t/0/wtkRE4c8V3eTKZMy2lRZlpMBgMBoNBLS55n5zSdvb7OUFZ+C9+yWpAZv5hedRwvszzfy1mNKCvuNhfA/XFO1tf63IoDeVrXZLSwL7iEkhpYF9xccoZ5mudvdJAvsL285Hbau0snEH3q1lr7Zz8yCmbSmmNOM+PeCelrbQmHHEBcvaT1OwciItQkFpQWj2JPyBlljmBNlJ+O5PSABspv6mc0mo5PStKpT0rDVVYtphIaajCElZJttJes/ErNkm2aP06VnmZqXWZL34JZXYCYXZwfjfvSmseSWWc1JdosETbxK5KA1W0bVZOaS8InqsgJyFXTciDK1kl5Jo2ErkaCbmmvnbmtpCj0tABS3iX0sABS3iL0kC9w4bnlIYqaRteUhpuDwvB5podqGnZVhWUhistYZevUdojgZtxmcQ5cKYlr1Fp6ExLXrVWwnMzPhcBsHsIpx0UHMFLLKfaTWm4tiUc8lZEtPLTQ6fqiu+qi7gDV2ZOXN8wpkwn8gVj7kLuq4YxZo2tsf+asdPaMxfQGN9AUqaBpK+1zMWcAfFDYqkYEpE7ECvGYmCh7YC7aw1f1lfmKEPg5wipLae1EnenJV60hj/t+SC1xaIVWbtkeqLXT22xS6ad0cpQj9E0m9FUZulwtp12rnixSO2lFa2GfEKW4GatwUMmeaugrgjAqxwlZ7akgXs5ZVKWel0olu9iFqWB35NLUklpyJuB8kUM/k4i+MI47DuYZRAkpWGdpUtE6wvINuiPGdvnt6lb5nXVhvuDgL3wOJRWS5g/SnOw82WeGnE7F0jOnhR30eqJj9Z7tDfs+zL1IR6es9DqJu3r1zj1I8SVrOvvwG7/TwtTb9wyrxcRs6crzbdexXs/7nMaDAaDwWDwnj/NQlzrb+J5OQAAAABJRU5ErkJggg==";export{A as default};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{FixedSizeContainer as i}from"./FixedSizeContainer.js";import{Logger as o}from"../../utils/logger.js";import{EnhancedSprite as t}from"./EnhancedSprite.js";import{Graphics as e}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as r}from"../../application/AppService.js";import{Rectangle as s}from"../../../../node_modules/pixi.js/lib/maths/shapes/Rectangle.js";class n extends i{background;icon;options;constructor(i){super(),this.options=i,this.background=new e,this.addChild(this.background),this.icon=new t,this.addChild(this.icon),this.eventMode="static",this.render(),this.setupHitArea(),this.setupEvents()}setupHitArea(){const i=r().controlsConfig,o=i.iconWrapperWidth+16,t=i.iconWrapperHeight+16;this.hitArea=new s(-o/2,-t/2,o,t)}async render(){this.renderBackground(),this.renderIcon()}renderBackground(){const i=r().controlsConfig;this.background.clear(),this.background.roundRect(-i.iconWrapperWidth/2,-i.iconWrapperHeight/2,i.iconWrapperWidth,i.iconWrapperHeight,i.iconWrapperBorderRadius).fill(this.options.backgroundColor)}async renderIcon(){try{const i=r().controlsConfig;await this.icon.loadTextureAndSetSize(this.options.iconAlias,{width:i.iconWidth,height:i.iconHeight,sizeFixed:!1}),this.icon.visible=!0}catch(i){o.error(`Failed to load icon: ${this.options.iconAlias}`,i)}}destroy(){super.destroy()}}export{n as BaseControlButton};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{Logger as i}from"../../utils/logger.js";import{Container as t}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as s}from"../../application/AppService.js";import{Graphics as e}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";class r extends t{borderOptions;solidLine=null;dashGraphics=null;fillGraphics=null;constructor(i){super(),this.borderOptions={...i},this.drawBorder(),this.setupAntiScaleListener(),this.eventMode="none"}setupAntiScaleListener(){s().emitter.on("antiScale",this.handleAntiScale)}handleAntiScale=()=>{this.drawBorder()};drawBorder(){const{points:i=[],closePath:t=!1,style:s}=this.borderOptions;i.length<2||(this.clearBorder(),void 0!==s.fillColor&&t&&this.drawFill(i,s),s.isDashed?this.drawContinuousDashedBorder(i,t,s):this.drawSolidBorder(i,t,s))}drawFill(i,t){if(t.fillColor&&!(i.length<3)){this.fillGraphics&&(this.removeChild(this.fillGraphics),this.fillGraphics.destroy()),this.fillGraphics=new e,this.fillGraphics.setFillStyle({color:t.fillColor}),this.fillGraphics.moveTo(i[0].x,i[0].y);for(let t=1;t<i.length;t++)this.fillGraphics.lineTo(i[t].x,i[t].y);this.fillGraphics.closePath(),this.fillGraphics.fill(),this.addChild(this.fillGraphics)}}drawSolidBorder(i,t,r){const h=s();this.solidLine&&(this.removeChild(this.solidLine),this.solidLine.destroy()),this.solidLine=new e;const o=h.getApp().toFixedSize(r.width);this.solidLine.setStrokeStyle({color:r.color,width:o}),this.solidLine.moveTo(i[0].x,i[0].y);for(let t=1;t<i.length;t++)this.solidLine.lineTo(i[t].x,i[t].y);t&&this.solidLine.lineTo(i[0].x,i[0].y),this.solidLine.stroke(),this.addChild(this.solidLine)}drawContinuousDashedBorder(t,r,h){if(t.length<2)return;if(!h.dashArray||2!==h.dashArray.length||h.dashArray[0]<=0||h.dashArray[1]<=0)return void i.warn("Invalid dashArray:",h.dashArray);const o=s();this.dashGraphics=new e;const l=o.getApp().toFixedSize(h.width);this.dashGraphics.setStrokeStyle({color:h.color,width:l});const a=Math.max(o.getApp().toFixedSize(h.dashArray[0]),1),n=Math.max(o.getApp().toFixedSize(h.dashArray[1]),1),d=r?[...t,t[0]]:t;this.drawContinuousPathDashes(this.dashGraphics,d,a,n),this.dashGraphics.stroke(),this.addChild(this.dashGraphics)}drawContinuousPathDashes(t,s,e,r){if(s.length<2)return;if(e<=0||r<=0)return void i.warn("Invalid dash parameters:",{dashLength:e,gapLength:r});const h=this.calculatePathSegments(s),o=h.reduce((i,t)=>i+t.length,0);if(0===o)return;const l=e+r;let a=0;for(;a<o;){const i=a+e;i<=o?this.drawContinuousDashSegment(t,h,a,i):this.drawContinuousDashSegment(t,h,a,o),a+=l}}calculatePathSegments(i){const t=[];for(let s=0;s<i.length-1;s++){const e=i[s],r=i[s+1],h=r.x-e.x,o=r.y-e.y,l=Math.sqrt(h*h+o*o);t.push({start:e,end:r,length:l})}return t}drawContinuousDashSegment(i,t,s,e){if(s>=e)return;let r=0,h=!1,o=null;for(const l of t){const t=r,a=r+l.length;if(a>s&&t<e){const r=Math.max(s,t),n=Math.min(e,a),d=(r-t)/l.length,c=(n-t)/l.length,p={x:l.start.x+(l.end.x-l.start.x)*d,y:l.start.y+(l.end.y-l.start.y)*d},u={x:l.start.x+(l.end.x-l.start.x)*c,y:l.start.y+(l.end.y-l.start.y)*c};h?o&&Math.sqrt(Math.pow(p.x-o.x,2)+Math.pow(p.y-o.y,2))>.1&&i.lineTo(p.x,p.y):(i.moveTo(p.x,p.y),h=!0),i.lineTo(u.x,u.y),o=u}if(r+=l.length,r>=e)break}}clearBorder(){this.fillGraphics&&(this.removeChild(this.fillGraphics),this.fillGraphics.destroy(),this.fillGraphics=null),this.solidLine&&(this.removeChild(this.solidLine),this.solidLine.destroy(),this.solidLine=null),this.dashGraphics&&(this.removeChild(this.dashGraphics),this.dashGraphics.destroy(),this.dashGraphics=null)}updateStyle(i){this.borderOptions.style={...this.borderOptions.style,...i},this.drawBorder()}updatePoints(i){this.borderOptions.points=i,this.drawBorder()}setClosePath(i){this.borderOptions.closePath=i,this.drawBorder()}getOptions(){return{...this.borderOptions}}destroy(){s().emitter.off("antiScale",this.handleAntiScale),this.clearBorder(),super.destroy()}}export{r as Border};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{Graphics as t}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as i}from"../../application/AppService.js";class n extends t{fillOptions;isDragging=!1;dragStartPosition=null;constructor(t){super(),this.fillOptions=t,this.setupInteraction(),this.setupDragEventListeners(),this.draw()}setupInteraction(){this.fillOptions.enableInteraction&&(this.eventMode="static",this.on("pointerdown",this.handlePointerDown))}setupDragEventListeners(){const{emitter:t}=i();t.on("gestureHijackPointerMove",this.handleDragPointerMove),t.on("gestureHijackPointerUp",this.handleDragPointerUp),t.on("gestureHijackCancel",this.handleDragCancel)}cleanupDragEventListeners(){const{emitter:t}=i();t.off("gestureHijackPointerMove",this.handleDragPointerMove),t.off("gestureHijackPointerUp",this.handleDragPointerUp),t.off("gestureHijackCancel",this.handleDragCancel)}handlePointerDown=t=>{t.stopPropagation(),this.startDragging(t)};startDragging(t){this.isDragging=!0;const n=this.parent.toLocal(t.global);this.dragStartPosition={x:n.x,y:n.y},this.fillOptions.onDragStart?.(t),i().emitter.emit("gestureHijackStart",t)}handleDragPointerMove=t=>{this.isDragging&&this.dragStartPosition&&this.fillOptions.onDragMove?.(t)};handleDragPointerUp=()=>{this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,this.fillOptions.onDragEnd?.())};handleDragCancel=()=>{this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,this.fillOptions.onDragEnd?.())};draw(){const{points:t,fillColor:i}=this.fillOptions;if(t.length<3)return;this.clear();const n=t.flatMap(t=>[t.x,t.y]);this.setFillStyle({color:i}).poly(n).fill()}getDragStartPosition(){return this.dragStartPosition}updateOptions(t){this.fillOptions={...this.fillOptions,...t},void 0!==t.enableInteraction&&(this.off("pointerdown",this.handlePointerDown),this.setupInteraction()),this.draw()}updatePoints(t){this.fillOptions.points=t,this.draw()}updateFillColor(t){this.fillOptions.fillColor=t,this.draw()}stopDragging(){this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null)}isCurrentlyDragging(){return this.isDragging}setInteractionEnabled(t){this.fillOptions.enableInteraction=t,t?(this.eventMode="static",this.on("pointerdown",this.handlePointerDown)):(this.eventMode="auto",this.off("pointerdown",this.handlePointerDown),this.isDragging&&this.stopDragging())}destroy(){this.stopDragging(),this.cleanupDragEventListeners(),this.off("pointerdown",this.handlePointerDown),super.destroy()}}export{n as ControlFill};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{Graphics as t}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as e}from"../../application/AppService.js";import{GraphicsContext as s}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/GraphicsContext.js";class i extends t{lineOptions;strokeContext=null;constructor(t){super(),this.lineOptions={...t},this.eventMode="static",this.drawDashLine(),this.setupAntiScaleListener()}setupAntiScaleListener(){e().emitter.on("antiScale",this.drawDashLine)}drawDashLine=()=>{const{start:t,end:i,style:o}=this.lineOptions;this.clear(),this.strokeContext&&this.strokeContext.destroy();const n=e();this.strokeContext=new s;const r=n.getApp().toFixedSize(o.width);this.strokeContext.setStrokeStyle({color:o.color,width:r}),this.drawDashedLineToContext(this.strokeContext,t.x,t.y,i.x,i.y,o.dashArray[0],o.dashArray[1]),this.strokeContext.stroke(),this.context=this.strokeContext};drawDashedLineToContext(t,s,i,o,n,r,h){const a=o-s,d=n-i,p=Math.sqrt(a*a+d*d);if(0===p)return;const l=e(),c=l.getApp().toFixedSize(r),x=c+l.getApp().toFixedSize(h),m=p/x,u=Math.round(m);if(0===u)return t.moveTo(s,i),void t.lineTo(o,n);const k=p/u,y=k*(c/x),C=a/p,w=d/p;for(let e=0;e<u;e++){const o=e*k,n=o+y;if(o>=p)break;const r=Math.min(n,p),h=s+o*C,a=i+o*w,d=s+r*C,l=i+r*w;t.moveTo(h,a),t.lineTo(d,l)}}updatePoints(t,e){this.lineOptions.start=t,this.lineOptions.end=e,this.drawDashLine()}updateStyle(t){this.lineOptions.style={...this.lineOptions.style,...t},this.drawDashLine()}getOptions(){return{...this.lineOptions}}destroy(){e().emitter.off("antiScale",this.drawDashLine),this.strokeContext&&this.strokeContext.destroy(),super.destroy()}}export{i as DashLine};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{Graphics as t}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as i}from"../../application/AppService.js";import{Circle as s}from"../../../../node_modules/pixi.js/lib/maths/shapes/Circle.js";class o extends t{constructor(t){super(),this.options=t,this.initialPosition={...t.position},this.position.set(t.position.x,t.position.y),this.eventMode="static",this.cursor="pointer",this.setupEvents(),this.draw(),this.setupDragEventListeners()}isDragging=!1;dragStartPosition=null;initialPosition;draw(){const t=i(),{config:s}=this.options,o=t.getApp().toFixedSize(s.endPointSize),e=t.getApp().toFixedSize(s.endPointStrokeWidth);this.clear(),this.circle(0,0,o/2),this.fill({color:s.endPointColor}),this.stroke({color:s.endPointStrokeColor,width:e}),this.setupHitArea()}setupHitArea(){const t=i(),{config:o}=this.options,e=Math.max(o.endPointSize/2+10,20),n=t.getApp().toFixedSize(e);this.hitArea=new s(0,0,n)}setupEvents(){this.on("pointerdown",this.handlePointerDown.bind(this))}setupDragEventListeners(){const{emitter:t}=i();t.on("gestureHijackPointerMove",this.handleDragPointerMove),t.on("gestureHijackPointerUp",this.handleDragPointerUp),t.on("gestureHijackCancel",this.handleDragCancel)}cleanupDragEventListeners(){const{emitter:t}=i();t.off("gestureHijackPointerMove",this.handleDragPointerMove),t.off("gestureHijackPointerUp",this.handleDragPointerUp),t.off("gestureHijackCancel",this.handleDragCancel)}handlePointerDown(t){t.stopPropagation(),this.startDragging(t)}startDragging(t){const s=i();this.isDragging=!0,this.dragStartPosition=this.parent.toLocal(t.global),this.initialPosition={x:this.x,y:this.y},this.options.onDragStart?.(),s.getApp().requestRender("endpoint-drag",!0),i().emitter.emit("gestureHijackStart",t)}handleDragPointerMove=t=>{if(!this.isDragging||!this.dragStartPosition)return;const i=this.parent.toLocal(t.global),s=i.x-this.dragStartPosition.x,o=i.y-this.dragStartPosition.y,e={x:this.initialPosition.x+s,y:this.initialPosition.y+o};this.position.set(e.x,e.y),this.options.onDragMove?.(e)};handleDragPointerUp=()=>{if(!this.isDragging)return;const t=i();this.isDragging=!1,this.dragStartPosition=null,t.getApp().stopRender("endpoint-drag"),this.options.onDragEnd?.()};handleDragCancel=()=>{if(!this.isDragging)return;const t=i();this.isDragging=!1,this.dragStartPosition=null,t.getApp().stopRender("endpoint-drag"),this.options.onDragEnd?.()};updatePosition(t){this.position.set(t.x,t.y),this.initialPosition={...t}}getPosition(){return{x:this.x,y:this.y}}redraw(){this.draw()}destroy(){this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null),this.cleanupDragEventListeners(),this.off("pointerdown",this.handlePointerDown),super.destroy()}}export{o as EndPoint};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{Logger as i}from"../../utils/logger.js";import{AnimatedSprite as e}from"../../../../node_modules/pixi.js/lib/scene/sprite-animated/AnimatedSprite.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as s}from"../../application/AppService.js";import{Assets as r}from"../../../../node_modules/pixi.js/lib/assets/Assets.js";import{Texture as a}from"../../../../node_modules/pixi.js/lib/rendering/renderers/shared/texture/Texture.js";import{Ticker as n}from"../../../../node_modules/pixi.js/lib/ticker/Ticker.js";class d extends e{throttledUpdateScale;fixedWidth=0;fixedHeight=0;isFixedSizeSet=!1;sizeFixed=!0;baselineScale=1;static animationTicker=null;static animatedSprites=new Set;constructor(i){super(i||[]),this.anchor.set(.5),this.visible=!1,this.throttledUpdateScale=t(this.updateScale.bind(this),30,{leading:!0,trailing:!0}),this.registerScaleListener()}setFixedSize(i,e){this.fixedWidth=i,this.fixedHeight=e,this.isFixedSizeSet=!0,this.applySize()}setSizeFixed(i){this.sizeFixed=i,this.baselineScale=1,(i&&this.isFixedSizeSet||!i&&this.isFixedSizeSet)&&this.applySize()}set width(i){this.isFixedSizeSet||this.setFixedSize(i,this.fixedHeight||i)}set height(i){this.isFixedSizeSet||this.setFixedSize(this.fixedWidth||i,i)}get width(){return this.fixedWidth||super.width}get height(){return this.fixedHeight||super.height}registerScaleListener(){s().emitter.on("antiScale",this.throttledUpdateScale)}applySize(){if(!this.isFixedSizeSet||!this.textures||0===this.textures.length||!this.textures[0]||0===this.textures[0].width||0===this.textures[0].height)return;const i=s(),e=this.textures[0],t=this.fixedWidth/e.width,r=this.fixedHeight/e.height;if(this.sizeFixed){const e=i.currentScale;if(0===e||!isFinite(e)){const i=t,e=r;return void super.scale.set(i,e)}const s=t/e,a=r/e;super.scale.set(s,a)}else super.scale.set(t/this.baselineScale,r/this.baselineScale)}updateScale(i){this.sizeFixed&&(this.isFixedSizeSet?this.applySize():0!==i&&super.scale.set(1/i))}static async loadAnimationTextures(i,e="sleep_",t=96){try{await r.load(i);const s=[];for(let i=0;i<t;i++){const t=`${e}${i.toString().padStart(3,"0")}.png`,r=a.from(t);r&&s.push(r)}return s}catch(i){return[]}}setupAnimation(e){void 0!==e.sizeFixed&&this.setSizeFixed(e.sizeFixed),this.setFixedSize(e.width,e.height),this.animationSpeed=.5,this.loop=!0,i.log(`Animation setup complete, visible=${this.visible}, scale=(${this.scale.x.toFixed(3)}, ${this.scale.y.toFixed(3)})`)}draw(i,e){const{x:t,y:s,rotation:r=0}=i;e&&!this.visible?this.visible=e():e||this.visible||(this.visible=!0),this.rotation=r,this.position.set(t,s)}play(){this.textures&&this.textures.length>0&&(super.play(),d.animatedSprites.add(this),d.startAnimationTicker())}stop(){super.stop(),d.animatedSprites.delete(this),d.updateAnimationTicker()}set textures(i){super.textures=i,this.isFixedSizeSet&&i&&i.length>0&&i[0]&&i[0].width>0&&i[0].height>0&&this.applySize()}get textures(){return super.textures}static startAnimationTicker(){d.animationTicker?.started||(d.animationTicker||(d.animationTicker=new n,d.animationTicker.maxFPS=24,d.animationTicker.add(()=>{d.updateAnimations()})),d.animationTicker.start(),i.log("🎬 [AnimationTicker] Started animation ticker"))}static updateAnimationTicker(){d.animatedSprites.size>0?d.startAnimationTicker():d.stopAnimationTicker()}static stopAnimationTicker(){d.animationTicker?.started&&(i.log("⏸️ [AnimationTicker] Stopped animation ticker"),d.animationTicker.stop())}static updateAnimations(){if(0===d.animatedSprites.size)return;const i=s().getApp();i.renderer.render(i.stage)}destroy(i){d.animatedSprites.delete(this),d.updateAnimationTicker(),s().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(i)}}export{d as EnhancedAnimatedSprite};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import"../../../../node_modules/pixi.js/lib/gif/init.js";import{Logger as e}from"../../utils/logger.js";import{GifSprite as i}from"../../../../node_modules/pixi.js/lib/gif/GifSprite.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as s}from"../../application/AppService.js";import{Assets as h}from"../../../../node_modules/pixi.js/lib/assets/Assets.js";class d extends i{throttledUpdateScale;fixedWidth=0;fixedHeight=0;isFixedSizeSet=!1;sizeFixed=!0;baselineScale=1;constructor(e){super(e),this.anchor.set(.5),this.visible=!1,this.throttledUpdateScale=t(this.updateScale.bind(this),30,{leading:!0,trailing:!0}),this.registerScaleListener()}setFixedSize(e,i){this.fixedWidth=e,this.fixedHeight=i,this.isFixedSizeSet=!0,this.applySize()}setSizeFixed(e){this.sizeFixed=e,this.baselineScale=1,(e&&this.isFixedSizeSet||!e&&this.isFixedSizeSet)&&this.applySize()}set width(i){this.isFixedSizeSet?e.warn("EnhancedGifSprite: 使用 setFixedSize() 方法来设置宽度"):this.setFixedSize(i,this.fixedHeight||i)}set height(i){this.isFixedSizeSet?e.warn("EnhancedGifSprite: 使用 setFixedSize() 方法来设置高度"):this.setFixedSize(this.fixedWidth||i,i)}get width(){return this.fixedWidth||super.width}get height(){return this.fixedHeight||super.height}registerScaleListener(){s().emitter.on("antiScale",this.throttledUpdateScale)}applySize(){if(!this.isFixedSizeSet||!this.texture||0===this.texture.width||0===this.texture.height)return;const e=s(),i=this.fixedWidth/this.texture.width,t=this.fixedHeight/this.texture.height;if(this.sizeFixed){const s=e.currentScale;if(0===s)return;const h=i/s,d=t/s;super.scale.set(h,d)}else super.scale.set(i/this.baselineScale,t/this.baselineScale)}updateScale(e){this.sizeFixed&&(this.isFixedSizeSet?this.applySize():0!==e&&super.scale.set(1/e))}static async createFromSrc(i,t){try{const e=await h.load(i),s=new d({source:e});return void 0!==t.sizeFixed&&s.setSizeFixed(t.sizeFixed),s.setFixedSize(t.width,t.height),s}catch(t){throw e.error(`Failed to load GIF "${i}":`,t),t}}draw(e,i){const{x:t,y:s,rotation:h=0}=e;i&&!this.visible?this.visible=i():i||this.visible||(this.visible=!0),this.rotation=h,this.position.set(t,s)}destroy(e){s().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(e)}}export{d as EnhancedGifSprite};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{Logger as e}from"../../utils/logger.js";import{Sprite as i}from"../../../../node_modules/pixi.js/lib/scene/sprite/Sprite.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as s}from"../../application/AppService.js";import{Assets as h}from"../../../../node_modules/pixi.js/lib/assets/Assets.js";class r extends i{throttledUpdateScale;fixedWidth=0;fixedHeight=0;isFixedSizeSet=!1;sizeFixed=!0;baselineScale=1;constructor(e){super(e),this.anchor.set(.5),this.visible=!1,this.throttledUpdateScale=t(this.updateScale.bind(this),30,{leading:!0,trailing:!0}),this.registerScaleListener()}setFixedSize(e,i){this.fixedWidth=e,this.fixedHeight=i,this.isFixedSizeSet=!0,this.applySize()}setSizeFixed(e){this.sizeFixed=e,this.baselineScale=1,(e&&this.isFixedSizeSet||!e&&this.isFixedSizeSet)&&this.applySize()}set width(i){this.isFixedSizeSet?e.warn("EnhancedSprite: 使用 setFixedSize() 方法来设置宽度"):this.setFixedSize(i,this.fixedHeight||i)}set height(i){this.isFixedSizeSet?e.warn("EnhancedSprite: 使用 setFixedSize() 方法来设置高度"):this.setFixedSize(this.fixedWidth||i,i)}get width(){return this.fixedWidth||super.width}get height(){return this.fixedHeight||super.height}registerScaleListener(){s().emitter.on("antiScale",this.throttledUpdateScale)}applySize(){if(!this.isFixedSizeSet||!this.texture||0===this.texture.width||0===this.texture.height)return;const e=s(),i=this.fixedWidth/this.texture.width,t=this.fixedHeight/this.texture.height;if(this.sizeFixed){const s=e.currentScale;if(0===s)return;const h=i/s,r=t/s;super.scale.set(h,r)}else super.scale.set(i/this.baselineScale,t/this.baselineScale)}updateScale(e){this.sizeFixed&&(this.isFixedSizeSet?this.applySize():0!==e&&super.scale.set(1/e))}async loadTextureAndSetSize(i,t){try{const e=s(),r=await h.load(i);this.texture=r,void 0!==t.sizeFixed&&this.setSizeFixed(t.sizeFixed),this.setFixedSize(t.width,t.height),e.getApp().renderOnceNextFrame()}catch(t){e.error(`Failed to load texture "${i}":`,t)}}draw(e,i){const{x:t,y:s,rotation:h=0}=e;i&&!this.visible?this.visible=i():i||this.visible||(this.visible=!0),this.rotation=h,this.position.set(t,s)}set texture(e){super.texture=e,this.isFixedSizeSet&&e&&e.width>0&&e.height>0&&this.applySize()}get texture(){return super.texture}destroy(e){s().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(e)}}export{r as EnhancedSprite};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{Container as e}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as i}from"../../application/AppService.js";class s extends e{throttledUpdateScale;constructor(){super(),this.throttledUpdateScale=t(this.updateScale.bind(this),30,{leading:!0,trailing:!0});const e=i();this.updateScale(e.currentScale),this.registerScaleListener()}registerScaleListener(){i().emitter.on("antiScale",this.throttledUpdateScale)}updateScale(e){0!==e&&this.scale.set(1/e)}destroy(e){i().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(e)}}export{s as FixedSizeContainer};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{DOMContainer as e}from"../../../../node_modules/pixi.js/lib/dom/DOMContainer.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as i}from"../../application/AppService.js";class s extends e{throttledUpdateScale;fixedWidth=0;fixedHeight=0;isFixedSizeSet=!1;userCenterX=0;userCenterY=0;sizeFixed=!0;constructor(e){super(e),this.anchor.set(0,0),this.throttledUpdateScale=t(this.updateScale.bind(this),30,{leading:!0,trailing:!0}),this.registerScaleListener()}setFixedSize(e,t){this.fixedWidth=e,this.fixedHeight=t,this.isFixedSizeSet=!0,this.applyFixedSize(),this.updatePositionFromCenter()}setCenterPosition(e,t){this.userCenterX=e,this.userCenterY=t,this.updatePositionFromCenter()}setSizeFixed(e){this.sizeFixed=e,this.isFixedSizeSet&&(this.applyFixedSize(),this.updatePositionFromCenter())}updatePositionFromCenter(){if(!this.isFixedSizeSet)return void this.position.set(this.userCenterX,this.userCenterY);const e=i().currentScale;let t,s;this.sizeFixed?(t=this.fixedWidth/2/e,s=this.fixedHeight/2/e):(t=this.fixedWidth/2,s=this.fixedHeight/2),this.position.set(this.userCenterX-t,this.userCenterY-s)}registerScaleListener(){i().emitter.on("antiScale",this.throttledUpdateScale)}applyFixedSize(){if(!this.isFixedSizeSet)return;const e=i().currentScale;if(0!==e){if(this.sizeFixed){const t=1/e;this.scale.set(t)}else this.scale.set(1);this.element&&(this.element.style.width=`${this.fixedWidth}px`,this.element.style.height=`${this.fixedHeight}px`)}}updateScale(e){this.isFixedSizeSet&&0!==e&&(this.applyFixedSize(),this.updatePositionFromCenter())}updateTransform(e){return super.updateTransform(e)}destroy(e){i().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(e)}}export{s as FixedSizeDOMContainer};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{Text as e}from"../../../../node_modules/pixi.js/lib/scene/text/Text.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as s}from"../../application/AppService.js";class i extends e{throttledUpdateScale;constructor({text:e,style:i}){super({text:e,style:i}),this.throttledUpdateScale=t(this.updateScale.bind(this),20,{leading:!0,trailing:!0}),this.registerScaleListener(),this.updateScale(s().currentScale)}registerScaleListener(){s().emitter.on("antiScale",this.throttledUpdateScale)}updateScale(e){e<=0||this.scale.set(1/e)}setBaseFontSize(e){this.style.fontSize=e}updateText(e){this.text=e}destroy(e){s().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(e)}}export{i as FixedSizeText};
@@ -0,0 +1 @@
1
+ import{BaseControlButton as t}from"./BaseControlButton.js";import{useAppService as i}from"../../application/AppService.js";class o extends t{isMoving=!1;dragStartPosition=null;constructor(t){super(t),this.setupMoveEventListeners()}setupMoveEventListeners(){const{emitter:t}=i();t.on("gestureHijackPointerMove",this.handleMovePointerMove),t.on("gestureHijackPointerUp",this.handleMovePointerUp),t.on("gestureHijackCancel",this.handleMoveCancel)}cleanupMoveEventListeners(){const{emitter:t}=i();t.off("gestureHijackPointerMove",this.handleMovePointerMove),t.off("gestureHijackPointerUp",this.handleMovePointerUp),t.off("gestureHijackCancel",this.handleMoveCancel)}setupEvents(){this.on("pointerdown",this.handlePointerDown.bind(this))}handlePointerDown(t){t.stopPropagation(),this.startMoving(t)}startMoving(t){this.isMoving=!0,this.dragStartPosition=this.parent.toLocal(t.global),this.options.onMoveStart?.(),i().emitter.emit("gestureHijackStart",t)}handleMovePointerMove=t=>{this.isMoving&&this.dragStartPosition&&this.options.onMoveMove?.(t)};handleMovePointerUp=()=>{this.isMoving&&(this.isMoving=!1,this.dragStartPosition=null,this.options.onMoveEnd?.())};handleMoveCancel=()=>{this.isMoving&&(this.isMoving=!1,this.dragStartPosition=null,this.options.onMoveEnd?.())};isCurrentlyMoving(){return this.isMoving}getDragStartPosition(){return this.dragStartPosition?{...this.dragStartPosition}:null}stopMoving(){this.isMoving&&(this.isMoving=!1,this.dragStartPosition=null,this.options.onMoveEnd?.())}destroy(){this.stopMoving(),this.cleanupMoveEventListeners(),this.off("pointerdown",this.handlePointerDown),super.destroy()}}export{o as MoveControlButton};
@@ -0,0 +1 @@
1
+ import{BaseControlButton as s}from"./BaseControlButton.js";import{ClickHandler as t}from"../../mixins/ClickHandler.js";class o extends s{clickHandler=null;constructor(s){super(s)}setupEvents(){this.clickHandler=new t(this,{onClick:this.options.onClick,stopPropagation:!0})}destroy(){this.clickHandler?.destroy(),super.destroy()}}export{o as RemoveControlButton};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{Graphics as i}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as t}from"../../application/AppService.js";class e extends i{currentPosition=null;config;constructor(i){super(),this.setupAntiScaleListener(),this.config=i.config}setupAntiScaleListener(){t().emitter.on("antiScale",this.handleScaleChange)}handleScaleChange=()=>{this.redraw()};draw(i){const e=t();this.currentPosition=i;const{ringSize:o,ringColor:r,ringStrokeWidth:s,ringStrokeColor:n,ringStrokeDashed:c,ringStrokeDashArray:a}=this.config;this.clear();const h=e.metersToPixels(o),l=e.getApp().toFixedSize(s);this.setFillStyle({color:r}),c&&a.length>=2?this.drawDashedCircle(i,h,n,l,a):this.circle(i.x,i.y,h).fill().stroke({color:n,width:l,cap:"round",join:"round"})}drawDashedCircle(i,e,o,r,s){const n=t();this.circle(i.x,i.y,e).fill();const c=n.getApp().toFixedSize(s[0]),a=n.getApp().toFixedSize(s[1]),h=2*Math.PI*e,l=c+a,d=Math.floor(h/l);if(0===d)return void this.circle(i.x,i.y,e).stroke({color:o,width:r,cap:"round",join:"round"});const p=h/d,u=p*(c/l);for(let t=0;t<d;t++){const o=t*p/e,r=(t*p+u)/e,s=Math.max(4,Math.ceil(Math.abs(r-o)*e/2)),n=(r-o)/s;for(let t=0;t<=s;t++){const r=o+n*t,s=i.x+e*Math.cos(r),c=i.y+e*Math.sin(r);0===t?this.moveTo(s,c):this.lineTo(s,c)}}this.stroke({color:o,width:r,cap:"round",join:"round"})}redraw(){this.currentPosition&&this.draw(this.currentPosition)}destroy(){t().emitter.off("antiScale",this.handleScaleChange),super.destroy()}}export{e as Ring};
@@ -0,0 +1 @@
1
+ import{BaseControlButton as t}from"./BaseControlButton.js";import{calculateCenter as o}from"../../utils/algorithm.js";import{useAppService as i}from"../../application/AppService.js";class n extends t{isRotating=!1;rotationCenter={x:0,y:0};lastAngle=0;constructor(t){super(t),this.setupRotationEventListeners()}setupRotationEventListeners(){const{emitter:t}=i();i().emitter.on("gestureHijackPointerMove",this.handleRotationPointerMove),t.on("gestureHijackPointerUp",this.handleRotationPointerUp),t.on("gestureHijackCancel",this.handleRotationCancel)}cleanupRotationEventListeners(){const{emitter:t}=i();t.off("gestureHijackPointerMove",this.handleRotationPointerMove),t.off("gestureHijackPointerUp",this.handleRotationPointerUp),t.off("gestureHijackCancel",this.handleRotationCancel)}setupEvents(){this.on("pointerdown",this.handlePointerDown.bind(this))}handlePointerDown(t){t.stopPropagation(),this.startRotation(t)}startRotation(t){this.isRotating=!0;const n=this.options.getTargetPoints();this.rotationCenter=o(n);const e=this.parent.toLocal(t.global);this.lastAngle=Math.atan2(e.y-this.rotationCenter.y,e.x-this.rotationCenter.x),this.options.onRotationStart?.(this.rotationCenter),i().emitter.emit("gestureHijackStart",t)}handleRotationPointerMove=t=>{if(!this.isRotating)return;const o=this.parent.toLocal(t.global),i=Math.atan2(o.y-this.rotationCenter.y,o.x-this.rotationCenter.x),n=i-this.lastAngle;this.options.onRotationMove?.(n),this.lastAngle=i};handleRotationPointerUp=()=>{this.isRotating&&(this.isRotating=!1,this.options.onRotationEnd?.())};handleRotationCancel=()=>{this.isRotating&&(this.isRotating=!1,this.options.onRotationEnd?.())};isCurrentlyRotating(){return this.isRotating}stopRotation(){this.isRotating&&(this.isRotating=!1,this.options.onRotationEnd?.())}destroy(){this.stopRotation(),this.cleanupRotationEventListeners(),this.off("pointerdown",this.handlePointerDown),super.destroy()}}export{n as RotateControlButton};
@@ -0,0 +1 @@
1
+ import{BaseControlButton as t}from"./BaseControlButton.js";import{useAppService as i}from"../../application/AppService.js";class n extends t{isScaling=!1;initialButtonPosition=null;dragStartPosition=null;constructor(t){super(t),this.setupScaleEventListeners()}setupScaleEventListeners(){const{emitter:t}=i();t.on("gestureHijackPointerMove",this.handleScalePointerMove),t.on("gestureHijackPointerUp",this.handleScalePointerUp),t.on("gestureHijackCancel",this.handleScaleCancel)}cleanupScaleEventListeners(){const{emitter:t}=i();t.off("gestureHijackPointerMove",this.handleScalePointerMove),t.off("gestureHijackPointerUp",this.handleScalePointerUp),t.off("gestureHijackCancel",this.handleScaleCancel)}setupEvents(){this.on("pointerdown",this.handlePointerDown.bind(this))}handlePointerDown(t){t.stopPropagation(),this.startScaling(t)}startScaling(t){this.isScaling=!0,this.dragStartPosition=this.parent.toLocal(t.global);const n=this.options.getTargetPoints(),o=this.options.getButtonIndex();o>=0&&o<n.length&&(this.initialButtonPosition={...n[o]}),this.options.onScaleStart?.(o),i().emitter.emit("gestureHijackStart",t)}handleScalePointerMove=t=>{if(!this.isScaling||!this.initialButtonPosition||!this.dragStartPosition)return;const i=this.parent.toLocal(t.global),n=i.x-this.dragStartPosition.x,o=i.y-this.dragStartPosition.y,s={x:this.initialButtonPosition.x+n,y:this.initialButtonPosition.y+o};this.options.onScaleMove?.(s)};handleScalePointerUp=()=>{this.isScaling&&(this.isScaling=!1,this.initialButtonPosition=null,this.dragStartPosition=null,this.options.onScaleEnd?.())};handleScaleCancel=()=>{this.isScaling&&(this.isScaling=!1,this.initialButtonPosition=null,this.dragStartPosition=null,this.options.onScaleEnd?.())};isCurrentlyScaling(){return this.isScaling}stopScaling(){this.isScaling&&(this.isScaling=!1,this.initialButtonPosition=null,this.dragStartPosition=null,this.options.onScaleEnd?.())}destroy(){this.stopScaling(),this.cleanupScaleEventListeners(),this.off("pointerdown",this.handlePointerDown),super.destroy()}}export{n as ScaleControlButton};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{RotateControlButton as t}from"./RotateControlButton.js";import{RemoveControlButton as o}from"./RemoveControlButton.js";import{ScaleControlButton as e}from"./ScaleControlButton.js";import{MoveControlButton as i}from"./MoveControlButton.js";import{ControlFill as n}from"./ControlFill.js";import{normalizeToRectangle as s,getDistance as a,calculateCenter as l,normalizeVector as r,createVector as h,calculatePolygonOutline as d,calculateUprightLineAngle as u,calculateCornerExtension as c,rotatePointsAroundCenter as p,getVectorLength as g,calculateScaleRatio as C}from"../../utils/algorithm.js";import{ClickHandler as x}from"../../mixins/ClickHandler.js";import{Border as y}from"./Border.js";import{FixedSizeText as z}from"./FixedSizeText.js";import{Container as B}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import S from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as f}from"../../application/AppService.js";class v extends B{static BUTTON_INDICES={REMOVE:0,ROTATE:1,SCALE:2,MOVE:3,FIXED:0};zoneData;zoneType;zoneConfig;controlsConfig;zoneEvents;controlFill;zoneBorder;outlineBorder;moveLine;sizeText;controlButtons;deleteButton=null;rotateButton=null;scaleButton=null;moveButton=null;totalRotationAngle=0;rotationCenter=null;initialZonePoints=[];clickHandler=null;throttledUpdateOutline;constructor(t){super();const{zoneData:o,zoneType:e,events:i={}}=t;this.zoneType=e,this.zoneEvents=i,this.zoneConfig=this.getZoneConfig(),this.controlsConfig=this.getControlsConfig();const n=this.validateAndCorrectZoneSize(o.points),a=s(n);this.zoneData={...o,points:a},this.throttledUpdateOutline=S(this.updateOutlineForScale.bind(this),30,{leading:!0,trailing:!0}),this.initializeComponents(),this.createControlButtons(),this.updateEditState(),this.setupClickHandler(),this.registerScaleListener()}registerScaleListener(){f().emitter.on("antiScale",this.throttledUpdateOutline)}updateOutlineForScale(){this.isEditingEnabled()&&(this.updateOutlineBorder(),this.updateMoveLine(),this.updateControlButtonsPosition(),this.updateSizeTextPosition())}getZoneConfig(){const t=f(),{controls:o}=t.getConfig();return o[this.zoneType]}getControlsConfig(){const t=f(),{controls:o}=t.getConfig();return o}validateAndCorrectZoneSize(t){const o=f();if(t.length<4)return t;const e=o.metersToPixels(this.zoneConfig.minSize),[i,n,,s]=t,d=a(i,n),u=a(i,s);if(d>=e&&u>=e)return t;const c=l(t),p=r(h(i,n)),g=r(h(i,s)),C=Math.max(d,e)/2,x=Math.max(u,e)/2;return[{x:c.x-p.x*C-g.x*x,y:c.y-p.y*C-g.y*x},{x:c.x+p.x*C-g.x*x,y:c.y+p.y*C-g.y*x},{x:c.x+p.x*C+g.x*x,y:c.y+p.y*C+g.y*x},{x:c.x-p.x*C+g.x*x,y:c.y-p.y*C+g.y*x}]}getEditingIdsKey(){switch(this.zoneType){case"forbiddenSweepZone":default:return"editingForbiddenSweepZoneIds";case"forbiddenMopZone":return"editingForbiddenMopZoneIds";case"cleanZone":return"editingCleanZoneIds"}}isEditingEnabled(){const t=this.getEditingIdsKey();return f().runtimeSnapshot[t].includes(this.zoneData.id)}initializeComponents(){this.outlineBorder=this.createOutlineBorder(),this.addChild(this.outlineBorder),this.controlFill=this.createControlFill(),this.addChild(this.controlFill),this.zoneBorder=this.createBorder(),this.addChild(this.zoneBorder),this.moveLine=this.createMoveLine(),this.addChild(this.moveLine),this.sizeText=this.createSizeText(),this.addChild(this.sizeText),this.controlButtons=new B,this.controlButtons.visible=this.isEditingEnabled(),this.addChild(this.controlButtons),this.drawZone()}createControlButtons(){const n=this.calculateOutlinePoints();if(n.length<4)return;this.deleteButton=new o({iconAlias:"deleteIcon",backgroundColor:this.zoneConfig.iconWrapperFillColor,onClick:this.handleDelete}),this.deleteButton.position.set(n[v.BUTTON_INDICES.REMOVE].x,n[v.BUTTON_INDICES.REMOVE].y),this.zoneConfig.showRotateButton&&(this.rotateButton=new t({iconAlias:"rotateIcon",backgroundColor:this.zoneConfig.iconWrapperFillColor,getTargetPoints:()=>this.zoneData.points,onRotationStart:this.handleRotationStart,onRotationMove:this.handleRotationMove,onRotationEnd:this.handleRotationEnd}),this.rotateButton.position.set(n[v.BUTTON_INDICES.ROTATE].x,n[v.BUTTON_INDICES.ROTATE].y)),this.scaleButton=new e({iconAlias:"scaleIcon",backgroundColor:this.zoneConfig.iconWrapperFillColor,getTargetPoints:()=>this.zoneData.points,getButtonIndex:()=>v.BUTTON_INDICES.SCALE,onScaleStart:this.handleScaleStart,onScaleMove:this.handleScaleMove,onScaleEnd:this.handleScaleEnd}),this.scaleButton.position.set(n[v.BUTTON_INDICES.SCALE].x,n[v.BUTTON_INDICES.SCALE].y);const s=this.calculateMoveButtonPosition();this.moveButton=new i({iconAlias:"moveIcon",backgroundColor:this.zoneConfig.iconWrapperFillColor,onMoveStart:this.handleMoveStart,onMoveMove:this.handleMove,onMoveEnd:this.handleMoveEnd}),this.moveButton.position.set(s.x,s.y),this.controlButtons.addChild(this.deleteButton),this.rotateButton&&this.controlButtons.addChild(this.rotateButton),this.controlButtons.addChild(this.scaleButton),this.controlButtons.addChild(this.moveButton)}createControlFill(){const t=this.isEditingEnabled();return new n({points:this.zoneData.points,fillColor:this.zoneConfig.fillColor,enableInteraction:t,onDragStart:this.handleDragStart,onDragMove:this.handleDragMove,onDragEnd:this.handleDragEnd})}createBorder(){const t=this.isEditingEnabled()?this.zoneConfig.editing:this.zoneConfig.normal;return new y({points:this.zoneData.points,closePath:!0,style:{color:this.zoneConfig.strokeColor,width:this.zoneConfig.strokeWidth,isDashed:t.isDashed,dashArray:t.dashArray}})}createOutlineBorder(){const t=this.calculateOutlinePoints();return new y({points:t,closePath:!0,style:{color:this.zoneConfig.outlineStrokeColor,width:this.zoneConfig.outlineStrokeWidth,isDashed:this.zoneConfig.outlineDashed,dashArray:this.zoneConfig.outlineDashArray,fillColor:this.zoneConfig.outlineFillColor}})}createMoveLine(){const t=this.calculateOutlinePoints(),o=this.calculateMoveLinePoints(t);return new y({points:o,closePath:!1,style:{color:this.zoneConfig.outlineStrokeColor,width:this.zoneConfig.outlineStrokeWidth,isDashed:this.zoneConfig.outlineDashed,dashArray:this.zoneConfig.outlineDashArray}})}calculateOutlinePoints(){const{points:t}=this.zoneData;if(t.length<4)return t;const o=f().getApp().toFixedSize(this.zoneConfig.outlineOffset);return d(t,o)}calculateMoveLinePoints(t){return t.length<4?[]:[t[v.BUTTON_INDICES.MOVE],this.calculateMoveButtonPosition()]}createSizeText(){const t=this.calculateZoneSizeText(),o=new z({text:t,style:{fontSize:this.controlsConfig.textFontSize,fontFamily:this.controlsConfig.textFontFamily,fontWeight:this.controlsConfig.textFontWeight,fill:this.zoneConfig.textColor,align:"center"}});o.anchor.set(.5);const e=this.calculateSizeTextPosition();o.position.set(e.x,e.y);const i=this.calculateSizeTextRotation();return o.rotation=i,o.eventMode="none",o}calculateZoneSizeText(){const{points:t}=this.zoneData;if(t.length<4)return"0m*0m";const[o,e,,i]=t,n=a(o,e),s=a(o,i),l=f(),r=l.pixelsToMeters(n),h=l.pixelsToMeters(s);return`${r.toFixed(1)}${this.controlsConfig.unitLabel}*${h.toFixed(1)}${this.controlsConfig.unitLabel}`}calculateSizeTextPosition(){const{points:t}=this.zoneData;if(t.length<4)return{x:0,y:0};const[o,e,i,n]=t,{textPosition:s,textOffset:a}=this.zoneConfig,l=f().getApp().toFixedSize(a);let d,u;switch(s){case"top":{d={x:(o.x+e.x)/2,y:(o.y+e.y)/2};const t=r(h(e,o)),i={x:t.y,y:-t.x};u={x:i.x*l,y:i.y*l};break}case"right":{d={x:(e.x+i.x)/2,y:(e.y+i.y)/2};const t=r(h(e,i)),o={x:t.y,y:-t.x};u={x:o.x*l,y:o.y*l};break}case"bottom":{d={x:(n.x+i.x)/2,y:(n.y+i.y)/2};const t=r(h(n,i)),o={x:-t.y,y:t.x};u={x:o.x*l,y:o.y*l};break}case"left":{d={x:(o.x+n.x)/2,y:(o.y+n.y)/2};const t=r(h(n,o)),e={x:t.y,y:-t.x};u={x:e.x*l,y:e.y*l};break}default:d={x:(o.x+e.x)/2,y:(o.y+e.y)/2},u={x:0,y:l}}return{x:d.x+u.x,y:d.y+u.y}}calculateSizeTextRotation(){const{points:t}=this.zoneData;if(t.length<4)return 0;const[o,e,i,n]=t,{textPosition:s}=this.zoneConfig;let a,l;switch(s){case"top":default:a=o,l=e;break;case"right":a=e,l=i;break;case"bottom":a=i,l=n;break;case"left":a=n,l=o}return u(a,l)}calculateMoveButtonPosition(){const t=this.calculateOutlinePoints();if(t.length<4)return{x:0,y:0};const o=f(),{controls:e}=o.getConfig(),i=t[v.BUTTON_INDICES.MOVE],n=t[2],s=t[0],a=o.getApp().toFixedSize(e.moveButtonOffset);return c(i,n,s,a)}handleDragStart=()=>{if(!this.isEditingEnabled())return;const t=f();this.initialZonePoints=this.zoneData.points.map(t=>({...t})),t.getApp().requestRender("zone-drag",!0)};handleDragMove=t=>{if(!this.isEditingEnabled()||0===this.initialZonePoints.length)return;const o=this.parent.toLocal(t.global),e=this.controlFill.getDragStartPosition();if(!e)return;const i=o.x-e.x,n=o.y-e.y;this.applyTranslation(i,n)};handleDragEnd=()=>{const t=f();this.initialZonePoints=[],t.getApp().stopRender("zone-drag"),this.zoneEvents.onUpdate?.(this.getZoneData())};applyTranslation(t,o){this.zoneData.points=this.initialZonePoints.map(e=>({x:e.x+t,y:e.y+o})),this.drawZone(),this.updateControlButtonsPosition()}handleRotationStart=t=>{const o=f();this.totalRotationAngle=0,this.rotationCenter=t,this.initialZonePoints=this.zoneData.points.map(t=>({...t})),o.getApp().requestRender("zone-rotate",!0)};handleRotationMove=t=>{this.totalRotationAngle+=t,this.applyRotation(t)};handleRotationEnd=()=>{const t=f();this.rotationCenter=null,this.totalRotationAngle=0,this.initialZonePoints=[],t.getApp().stopRender("zone-rotate"),this.zoneEvents.onUpdate?.(this.getZoneData())};applyRotation(t){this.rotationCenter&&(this.zoneData.points=p(this.zoneData.points,this.rotationCenter,t),this.drawZone(),this.updateControlButtonsPosition())}handleScaleStart=()=>{const t=f();this.initialZonePoints=this.zoneData.points.map(t=>({...t})),t.getApp().requestRender("zone-scale",!0)};handleScaleMove=t=>{0!==this.initialZonePoints.length&&this.applyEdgeBasedScale(t)};handleScaleEnd=()=>{const t=f();this.initialZonePoints=[],t.getApp().stopRender("zone-scale"),this.zoneEvents.onUpdate?.(this.getZoneData())};applyEdgeBasedScale(t){if(this.initialZonePoints.length<4)return;const o=f(),{FIXED:e}=v.BUTTON_INDICES,{x:i,y:n}=this.initialZonePoints[e],[,s,,a]=this.initialZonePoints,l={x:i,y:n},r=h(l,s),d=h(l,a),u=h(l,t),c=g(r),p=g(d);if(0===c||0===p)return;const x=o.metersToPixels(this.zoneConfig.minSize),[y,z]=[C(u,r,c,x),C(u,d,p,x)];this.zoneData.points=[l,{x:i+r.x*y,y:n+r.y*y},{x:i+r.x*y+d.x*z,y:n+r.y*y+d.y*z},{x:i+d.x*z,y:n+d.y*z}],this.drawZone(),this.updateControlButtonsPosition()}handleMoveStart=()=>{const t=f();this.initialZonePoints=this.zoneData.points.map(t=>({...t})),t.getApp().requestRender("zone-move",!0)};handleMove=t=>{if(!this.isEditingEnabled()||0===this.initialZonePoints.length)return;const o=this.parent.toLocal(t.global),e=this.moveButton?.getDragStartPosition();if(!e)return;const i=o.x-e.x,n=o.y-e.y;this.applyTranslation(i,n)};handleMoveEnd=()=>{const t=f();this.initialZonePoints=[],t.getApp().stopRender("zone-move"),this.zoneEvents.onUpdate?.(this.getZoneData())};handleDelete=()=>{this.zoneEvents.onRemove?.(this.zoneData.id)};setupClickHandler(){this.clickHandler=new x(this,{onClick:()=>{this.isEditingEnabled()||this.zoneEvents?.onClick?.(this.getZoneData())},stopPropagation:!1})}drawZone(){const{points:t}=this.zoneData;t.length<4||(this.controlFill.updatePoints(t),this.zoneBorder.updatePoints(t),this.updateOutlineBorder(),this.updateMoveLine(),this.updateSizeText())}updateOutlineBorder(){const t=this.calculateOutlinePoints();this.outlineBorder.updatePoints(t)}updateMoveLine(){const t=this.calculateOutlinePoints(),o=this.calculateMoveLinePoints(t);this.moveLine.updatePoints(o)}updateSizeText(){if(!this.sizeText)return;const t=this.calculateZoneSizeText();this.sizeText.updateText(t),this.updateSizeTextPosition()}updateSizeTextPosition(){if(!this.sizeText)return;const t=this.calculateSizeTextPosition();this.sizeText.position.set(t.x,t.y);const o=this.calculateSizeTextRotation();this.sizeText.rotation=o}updateControlButtonsPosition(){if(!this.deleteButton||!this.scaleButton||!this.moveButton)return;const t=this.calculateOutlinePoints();if(t.length<4)return;const{REMOVE:o,ROTATE:e,SCALE:i}=v.BUTTON_INDICES,n=this.calculateMoveButtonPosition(),s=[{button:this.deleteButton,point:t[o]},{button:this.scaleButton,point:t[i]},{button:this.moveButton,point:n}];this.rotateButton&&s.push({button:this.rotateButton,point:t[e]}),s.forEach(({button:t,point:o})=>t.position.set(o.x,o.y))}updateEditState(){const t=this.isEditingEnabled();this.controlButtons.visible=t,!t&&this.getCurrentOperationState().hasAnyOperation&&this.stopAllOperations(),this.outlineBorder.visible=t,this.moveLine.visible=t,this.sizeText&&(this.sizeText.visible=t),t&&(this.updateOutlineBorder(),this.updateMoveLine(),this.updateControlButtonsPosition(),this.updateSizeTextPosition()),this.controlFill.setInteractionEnabled(t),this.updateBorderStyle(t?this.zoneConfig.editing:this.zoneConfig.normal),this.zIndex=t?1e3:0}updateBorderStyle(t){this.zoneBorder.updateStyle({isDashed:t.isDashed,dashArray:t.dashArray})}getCurrentOperationState(){const t=this.controlFill.isCurrentlyDragging(),o=this.scaleButton?.isCurrentlyScaling()||!1,e=this.rotateButton?.isCurrentlyRotating()||!1,i=this.moveButton?.isCurrentlyMoving()||!1;return{isDragging:t,isScaling:o,isRotating:e,isMoving:i,hasAnyOperation:t||o||e||i}}stopAllOperations(){this.controlFill.stopDragging(),this.scaleButton?.stopScaling(),this.rotateButton?.stopRotation(),this.moveButton?.stopMoving()}stopDragging(){this.controlFill.stopDragging()}stopScaling(){this.scaleButton?.stopScaling()}stopRotating(){this.rotateButton?.stopRotation()}stopMoving(){this.moveButton?.stopMoving()}isCurrentlyDragging(){return this.controlFill.isCurrentlyDragging()}isCurrentlyScaling(){return this.scaleButton?.isCurrentlyScaling()||!1}isCurrentlyRotating(){return this.rotateButton?.isCurrentlyRotating()||!1}isCurrentlyMoving(){return this.moveButton?.isCurrentlyMoving()||!1}updateZoneData(t){const o=this.validateAndCorrectZoneSize(t.points),e=s(o);this.zoneData={...t,points:e},this.drawZone(),this.updateControlButtonsPosition(),this.updateEditState()}getZoneData(){return{...this.zoneData}}destroy(){f().emitter.off("antiScale",this.throttledUpdateOutline),this.clickHandler?.destroy(),this.clickHandler=null,this.deleteButton?.destroy(),this.rotateButton?.destroy(),this.scaleButton?.destroy(),this.moveButton?.destroy(),this.deleteButton=null,this.rotateButton=null,this.scaleButton=null,this.moveButton=null,this.zoneBorder?.destroy(),this.outlineBorder?.destroy(),this.moveLine?.destroy(),this.sizeText?.destroy(),this.controlFill?.destroy(),this.controlButtons?.destroy(),super.destroy()}}export{v as Zone};
@@ -0,0 +1 @@
1
+ import{EnhancedSprite as i}from"../Base/EnhancedSprite.js";import{useAppService as t}from"../../application/AppService.js";class n extends i{constructor(){super(),this.initializeSprite()}async initializeSprite(){const i=t();await this.loadTextureAndSetSize("chargingStation",i.chargingStationConfig.icon)}async draw({x:i,y:n,rotation:a}){const o=t();super.draw({x:i,y:n,rotation:a},()=>o.runtimeSnapshot.showChargingStation)}}export{n as ChargingStationIcon};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{ChargingStationIcon as i}from"./ChargingStationIcon.js";import{LAYER_CHARGING_STATION as n}from"../../application/AppContainer.js";import{subscribeKey as t}from"../../../../node_modules/valtio/esm/vanilla/utils.js";import{Ring as s}from"../Base/Ring.js";import{Logger as o}from"../../utils/logger.js";import{Container as r}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as a}from"../../application/AppService.js";class e extends r{chargingStation;ring;unsubscribeFns=[];constructor(){super();const r=a();r.appContainer.addToLayer(n,this),this.ring=new s({config:r.chargingStationConfig}),this.ring.visible=r.runtimeSnapshot.showChargingStationRing,this.addChild(this.ring),this.chargingStation=new i,this.addChild(this.chargingStation);const e=t(r.runtime,"showChargingStationRing",i=>{o.log(`[runtime] showChargingStationRing: ${i}`),this.ring.visible=i});this.unsubscribeFns.push(e)}async draw({x:i,y:n,rotation:t}){0===i&&0===n||(this.ring.draw({x:i,y:n}),await this.chargingStation.draw({x:i,y:n,rotation:t}))}destroy(){this.unsubscribeFns.forEach(i=>i()),this.unsubscribeFns=[],this.ring.destroy(),super.destroy()}}export{e as ChargingStation};
@@ -0,0 +1 @@
1
+ import{Zone as e}from"../Base/Zone.js";import{useAppService as n}from"../../application/AppService.js";class o extends e{constructor(e){const o=n();super({zoneData:e.zoneData,zoneType:"cleanZone",events:{onRemove:e=>{o.events?.onRemoveCleanZone?.(e)},onUpdate:e=>{o.events?.onUpdateCleanZone?.(e)},onClick:e=>{o.events?.onClickCleanZone?.(e)}}})}static create(e){return new o({zoneData:e})}}export{o as CleanZone};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{DashLine as i}from"../Base/DashLine.js";import{EndPoint as t}from"../Base/EndPoint.js";import{calculateLineEndpoints as e,calculateLineSegmentHitArea as n,sampleLinePoints as s,getDistance as o,extendLineSegment as r,isPointInPolygon as d,lineIntersectsBox as a}from"../../utils/algorithm.js";import{Logger as h}from"../../utils/logger.js";import{Container as l}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as g}from"../../application/AppService.js";import c from"../../../../node_modules/lodash-es/throttle.js";import{Polygon as p}from"../../../../node_modules/pixi.js/lib/maths/shapes/Polygon.js";import{Graphics as u}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";class P extends l{endPoints;dividerConfig;dividerEvents;roomId;roomGeometry=null;dashLine;solidLine=null;startEndPoint;endEndPoint;solidLinePoints=null;initialDividerPoints=[];isDragging=!1;dragStartPosition=null;throttledHandleScaleChange;constructor(i){super();const{endPoints:t,roomId:e,events:n={}}=i;this.dividerEvents=n,this.roomId=e;const s=g();this.dividerConfig=s.dividerConfig,this.roomGeometry=s.mapManager.getRoomById(this.roomId)||null,this.endPoints=t?this.validateDividerPoints(t):this.createDefaultdividerPoints(),this.throttledHandleScaleChange=c(this.handleScaleChange.bind(this),30,{leading:!0,trailing:!0}),this.initializeComponents(),this.calculateAndCreateSolidLine(),this.registerScaleListener(),this.setupDragEventListeners()}validateDividerPoints(i){if(i.length>=2)return i.slice(0,2);const t=i[0]||{x:0,y:0};return[t,{x:t.x+50,y:t.y}]}createDefaultdividerPoints(){if(!this.roomGeometry)return h.warn("Room geometry not available, creating fallback divider"),[{x:0,y:0},{x:100,y:0}];const i=g(),t=i.getApp().mapState;if(!t)return h.warn("Map state not available, creating fallback divider"),[{x:0,y:0},{x:100,y:0}];const{boundingBox:n}=this.roomGeometry,s=i.getApp().toFixedSize(this.dividerConfig.defaultExtension),o=this.dividerConfig.defaultDirection,r=n.x+n.width/2,d=n.y+n.height/2,a="horizontal"===o?n.width+2*s:n.height+2*s;return e(r,d,a,o).map(i=>({x:i.x-t.origin.x,y:i.y-t.origin.y}))}initializeComponents(){this.createDashLine(),this.addChild(this.dashLine),this.createEndPoints(),this.addChild(this.startEndPoint),this.addChild(this.endEndPoint),this.setupDashLineInteraction()}createDashLine(){const t=this.endPoints;if(t.length<2)return;const{dashLineWidth:e,dashLineDashArray:n,lineColor:s}=this.dividerConfig;this.dashLine=new i({start:t[0],end:t[1],style:{color:s.toString(),width:e,dashArray:n}})}createEndPoints(){const i=this.endPoints;this.startEndPoint=new t({position:i[0],config:this.dividerConfig,onDragStart:this.handleEndPointDragStart,onDragMove:i=>this.handleEndPointDragMove(0,i),onDragEnd:this.handleEndPointDragEnd}),this.endEndPoint=new t({position:i[1],config:this.dividerConfig,onDragStart:this.handleEndPointDragStart,onDragMove:i=>this.handleEndPointDragMove(1,i),onDragEnd:this.handleEndPointDragEnd})}setupDashLineInteraction(){this.dashLine&&(this.setupDashLineHitArea(),this.dashLine.off("pointerdown",this.handleDashLinePointerDown),this.dashLine.on("pointerdown",this.handleDashLinePointerDown))}setupDashLineHitArea(){const i=g();if(!this.dashLine)return;const t=this.endPoints;if(t.length<2)return;const{hitAreaThickness:e}=this.dividerConfig,s=i.getApp().toFixedSize(e),o=n(t[0],t[1],s);if(0===o.length)return;const r=new p(o);this.dashLine.hitArea=r}handleEndPointDragStart=()=>{const i=g();this.initialDividerPoints=this.endPoints.map(i=>({...i})),this.clearSolidLine(),i.getApp().requestRender("divider-endpoint-drag",!0)};handleEndPointDragMove=(i,t)=>{0!==this.initialDividerPoints.length&&(this.endPoints[i]=t,this.updateDashLine(),this.updateSolidLine(),this.setupDashLineHitArea())};handleEndPointDragEnd=()=>{const i=g();this.initialDividerPoints=[],i.getApp().stopRender("divider-endpoint-drag"),this.calculateAndCreateSolidLine(),this.checkAndResetIfOutOfRoom(),this.dividerEvents.onUpdate?.(this.getDividerEndPoints())};handleDashLinePointerDown=i=>{i.stopPropagation(),this.startDragging(i)};startDragging(i){const t=g();this.isDragging=!0;const e=this.parent.toLocal(i.global);this.dragStartPosition={x:e.x,y:e.y},this.initialDividerPoints=this.endPoints.map(i=>({...i})),this.clearSolidLine(),t.getApp().requestRender("divider-drag",!0),g().emitter.emit("gestureHijackStart",i)}setupDragEventListeners(){const{emitter:i}=g();i.on("gestureHijackPointerMove",this.handleDragPointerMove),i.on("gestureHijackPointerUp",this.handleDragPointerUp),i.on("gestureHijackCancel",this.handleDragCancel)}cleanupDragEventListeners(){const{emitter:i}=g();i.off("gestureHijackPointerMove",this.handleDragPointerMove),i.off("gestureHijackPointerUp",this.handleDragPointerUp),i.off("gestureHijackCancel",this.handleDragCancel)}handleDragPointerMove=i=>{if(!this.isDragging||!this.dragStartPosition||0===this.initialDividerPoints.length)return;const t=this.parent.toLocal(i.global),e=t.x-this.dragStartPosition.x,n=t.y-this.dragStartPosition.y;this.endPoints=this.initialDividerPoints.map(i=>({x:i.x+e,y:i.y+n})),this.updateAllComponents()};handleDragPointerUp=()=>{const i=g();this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,this.initialDividerPoints=[],i.getApp().stopRender("divider-drag"),this.calculateAndCreateSolidLine(),this.checkAndResetIfOutOfRoom(),this.dividerEvents.onUpdate?.(this.getDividerEndPoints()))};handleDragCancel=()=>{const i=g();this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,this.initialDividerPoints=[],i.getApp().stopRender("divider-drag"),this.calculateAndCreateSolidLine(),this.checkAndResetIfOutOfRoom(),this.dividerEvents.onUpdate?.(this.getDividerEndPoints()))};updateAllComponents(){this.updateDashLine(),this.updateSolidLine(),this.updateEndPoints(),this.setupDashLineHitArea()}updateDashLine(){const i=this.endPoints;i.length<2||!this.dashLine||this.dashLine.updatePoints(i[0],i[1])}updateSolidLine(){if(!this.solidLine||!this.solidLinePoints)return;const{solidLineWidth:i,lineColor:t}=this.dividerConfig,e=g().getApp().toFixedSize(i);this.solidLine.clear(),this.solidLine.setStrokeStyle({color:t.toString(),width:e}).moveTo(this.solidLinePoints[0].x,this.solidLinePoints[0].y).lineTo(this.solidLinePoints[1].x,this.solidLinePoints[1].y).stroke()}updateEndPoints(){const i=this.endPoints;this.startEndPoint&&this.startEndPoint.updatePosition(i[0]),this.endEndPoint&&this.endEndPoint.updatePosition(i[1])}registerScaleListener(){const{emitter:i}=g();i.on("antiScale",this.throttledHandleScaleChange)}handleScaleChange=()=>{this.startEndPoint?.redraw(),this.endEndPoint?.redraw(),this.updateSolidLine(),this.setupDashLineHitArea()};getDividerEndPoints(){return[...this.endPoints]}getEffectiveDividerPoints(){return this.solidLinePoints?[...this.solidLinePoints]:null}calculateAndCreateSolidLine(){if(this.clearSolidLine(),!this.roomId)return;if(!this.getRoomGraphics())return;const i=this.calculateLineRoomIntersection();i&&i.length>=2&&(this.solidLinePoints=[i[0],i[i.length-1]],this.createSolidLine())}getRoomGraphics(){const i=g().mapManager.roomFill;return i&&this.roomId&&i.getRoomGraphicsMap().get(this.roomId)||null}calculateLineRoomIntersection(){const i=this.endPoints;if(i.length<2)return null;if(!this.roomId)return null;const[t,e]=i,n=this.isPointInRoomFill(t),d=this.isPointInRoomFill(e);if(n||d)return null;const a=s(t,e),h=[];for(const i of a)this.isPointInRoomFill(i)&&h.push(i);if(0===h.length)return null;const l=h[0],g=h[h.length-1];return o(l,g)<3?null:r(l,g,.5)}isPointInRoomFill(i){if(!this.roomId)return!1;const t=g().getApp().mapState;if(!t)return!1;const e={x:i.x+t.origin.x,y:i.y+t.origin.y};return"raster"===t.mapType?this.isPointInRasterRoomFill(e):this.isPointInStructuredRoomFill(e)}isPointInRasterRoomFill(i){i.x-=.5,i.y-=.5;const t=g(),e=t.getApp().mapState,n=t.mapManager.roomFill;if(!e||!n)return!1;const s=n.getRasterRoomData(this.roomId);if(!s)return!1;const o=n.getMapWidth();if(0===o)return!1;const r=Math.round(i.y)*o+Math.round(i.x);for(let i=0;i<s.pixelIndices.length;i++)if(s.pixelIndices[i]===r)return!0;return!1}isPointInStructuredRoomFill(i){const t={x:Math.round(i.x),y:Math.round(i.y)},e=g(),n=e.getApp().mapState,s=e.mapManager.getRoomById(this.roomId);return!!(n&&s&&s.outlinePoints)&&d(t,s.outlinePoints,!0)}isDividerCompletelyOutOfRoom(){if(!this.roomGeometry)return!1;const{boundingBox:i}=this.roomGeometry,t=this.endPoints;if(t.length<2)return!1;const e=g().getApp().mapState;if(!e)return!1;const n={x:t[0].x+e.origin.x,y:t[0].y+e.origin.y},s={x:t[1].x+e.origin.x,y:t[1].y+e.origin.y};return!a(n,s,i.x,i.y,i.width,i.height)}checkAndResetIfOutOfRoom(){const i=g(),{resetDividerWhenOutOfRoom:t}=i.dividerConfig;t&&this.isDividerCompletelyOutOfRoom()&&this.resetToDefaultState()}resetToDefaultState(){this.endPoints=this.createDefaultdividerPoints(),this.calculateAndCreateSolidLine(),this.updateComponents(),this.dividerEvents.onUpdate?.(this.endPoints)}updateComponents(){const i=this.endPoints;i.length>=2&&(this.dashLine.updatePoints(i[0],i[1]),this.startEndPoint.position.set(i[0].x,i[0].y),this.endEndPoint.position.set(i[1].x,i[1].y),this.setupDashLineInteraction())}createSolidLine(){if(!this.solidLinePoints)return;const{solidLineWidth:i,lineColor:t}=this.dividerConfig,e=g();this.solidLine=new u,this.solidLine.eventMode="none";const n=e.getApp().toFixedSize(i);this.solidLine.setStrokeStyle({color:t.toString(),width:n}).moveTo(this.solidLinePoints[0].x,this.solidLinePoints[0].y).lineTo(this.solidLinePoints[1].x,this.solidLinePoints[1].y).stroke(),this.addChildAt(this.solidLine,0)}clearSolidLine(){this.solidLine&&(this.removeChild(this.solidLine),this.solidLine.destroy(),this.solidLine=null),this.solidLinePoints=null}updatedividerPoints(i){this.endPoints=this.validateDividerPoints(i),this.updateAllComponents(),this.calculateAndCreateSolidLine()}destroy(){g().emitter.off("antiScale",this.throttledHandleScaleChange),this.cleanupDragEventListeners(),this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,this.initialDividerPoints=[]),this.dashLine&&this.dashLine.off("pointerdown",this.handleDashLinePointerDown),this.clearSolidLine(),this.dashLine?.destroy(),this.startEndPoint?.destroy(),this.endEndPoint?.destroy(),super.destroy()}}export{P as Divider};
@@ -0,0 +1 @@
1
+ import{Zone as e}from"../Base/Zone.js";import{useAppService as o}from"../../application/AppService.js";class n extends e{constructor(e){const n=o();super({zoneData:e.zoneData,zoneType:"forbiddenMopZone",events:{onRemove:e=>{n.events?.onRemoveForbiddenMopZone?.(e)},onUpdate:e=>{n.events?.onUpdateForbiddenMopZone?.(e)},onClick:e=>{n.events?.onClickForbiddenMopZone?.(e)}}})}static create(e){return new n({zoneData:e})}}export{n as ForbiddenMopZone};
@@ -0,0 +1 @@
1
+ import{Zone as e}from"../Base/Zone.js";import{useAppService as o}from"../../application/AppService.js";class n extends e{constructor(e){const n=o();super({zoneData:e.zoneData,zoneType:"forbiddenSweepZone",events:{onRemove:e=>{n.events?.onRemoveForbiddenSweepZone?.(e)},onUpdate:e=>{n.events?.onUpdateForbiddenSweepZone?.(e)},onClick:e=>{n.events?.onClickForbiddenSweepZone?.(e)}}})}static create(e){return new n({zoneData:e})}}export{n as ForbiddenSweepZone};
@@ -0,0 +1 @@
1
+ import"../../../../node_modules/pixi.js/lib/index.js";import{ControlFill as t}from"../Base/ControlFill.js";import{Border as i}from"../Base/Border.js";import{FixedSizeText as e}from"../Base/FixedSizeText.js";import{ClickHandler as s}from"../../mixins/ClickHandler.js";import{EnhancedSprite as o}from"../Base/EnhancedSprite.js";import{Container as n}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as a}from"../../application/AppService.js";import r from"../../../../node_modules/lodash-es/throttle.js";class l extends n{spotData;spotConfig;controlsConfig;spotEvents;controlFill;spotBorder;centerIcon;sizeText;clickHandler=null;initialSpotPoint=null;throttledUpdateScale;constructor(t){super();const{spotData:i,events:e={}}=t,s=a();this.spotData=i,this.spotEvents=e,this.controlsConfig=s.controlsConfig,this.spotConfig=s.controlsConfig.spot,this.throttledUpdateScale=r(this.updateScale.bind(this),30,{leading:!0,trailing:!0}),this.initializeComponents(),this.updateEditState(),this.setupClickHandler(),this.registerScaleListener()}registerScaleListener(){a().emitter.on("antiScale",this.throttledUpdateScale)}updateScale(){this.isEditingEnabled()&&this.updateSizeTextPosition()}isEditingEnabled(){return a().runtimeSnapshot.editingSpotIds.includes(this.spotData.id)}calculateRectanglePoints(){const t=a(),{point:i}=this.spotData,{size:e}=this.spotConfig,s=t.metersToPixels(e)/2;return[{x:i.x-s,y:i.y-s},{x:i.x+s,y:i.y-s},{x:i.x+s,y:i.y+s},{x:i.x-s,y:i.y+s}]}initializeComponents(){const t=this.calculateRectanglePoints();this.controlFill=this.createControlFill(t),this.addChild(this.controlFill),this.spotBorder=this.createBorder(t),this.addChild(this.spotBorder),this.centerIcon=this.createCenterIcon(),this.addChild(this.centerIcon),this.sizeText=this.createSizeText(),this.addChild(this.sizeText),this.drawSpot()}createControlFill(i){const e=this.isEditingEnabled();return new t({points:i,fillColor:this.spotConfig.fillColor,enableInteraction:e,onDragStart:this.handleDragStart,onDragMove:this.handleDragMove,onDragEnd:this.handleDragEnd})}createBorder(t){const e=this.isEditingEnabled()?this.spotConfig.editing:this.spotConfig.normal;return new i({points:t,closePath:!0,style:{color:this.spotConfig.strokeColor,width:this.spotConfig.strokeWidth,isDashed:e.isDashed,dashArray:e.dashArray}})}createCenterIcon(){const t=new o;return this.loadIconTexture(t),t.position.set(this.spotData.point.x,this.spotData.point.y),t.eventMode="none",t.visible=!1,t}async loadIconTexture(t){const{iconSize:i}=this.spotConfig;await t.loadTextureAndSetSize("spotIcon",{width:i,height:i,sizeFixed:!1}),t.visible=this.isEditingEnabled()}createSizeText(){const t=this.calculateSpotSizeText(),i=new e({text:t,style:{fontSize:this.controlsConfig.textFontSize,fontFamily:this.controlsConfig.textFontFamily,fontWeight:this.controlsConfig.textFontWeight,fill:this.spotConfig.textColor,align:"center"}});i.anchor.set(.5);const s=this.calculateSizeTextPosition();return i.position.set(s.x,s.y),i.eventMode="none",i}calculateSpotSizeText(){const{size:t}=this.spotConfig;return`${t.toFixed(1)}${this.controlsConfig.unitLabel}*${t.toFixed(1)}${this.controlsConfig.unitLabel}`}calculateSizeTextPosition(){const t=a(),i=this.calculateRectanglePoints();if(i.length<4)return{x:0,y:0};const[e,s,o,n]=i,{textPosition:r,textOffset:l}=this.spotConfig,h=t.getApp().toFixedSize(l);let d,c;switch(r){case"top":default:d={x:(e.x+s.x)/2,y:(e.y+s.y)/2},c={x:d.x,y:d.y+h};break;case"right":d={x:(s.x+o.x)/2,y:(s.y+o.y)/2},c={x:d.x+h,y:d.y};break;case"bottom":d={x:(n.x+o.x)/2,y:(n.y+o.y)/2},c={x:d.x,y:d.y+h};break;case"left":d={x:(e.x+n.x)/2,y:(e.y+n.y)/2},c={x:d.x-h,y:d.y}}return c}handleDragStart=()=>{const t=a();this.isEditingEnabled()&&(this.initialSpotPoint={...this.spotData.point},t.getApp().requestRender("spot-drag",!0))};handleDragMove=t=>{if(!this.isEditingEnabled()||!this.initialSpotPoint)return;const i=this.parent.toLocal(t.global),e=this.controlFill.getDragStartPosition();if(!e)return;const s=i.x-e.x,o=i.y-e.y;this.applyTranslation(s,o)};handleDragEnd=()=>{const t=a();this.initialSpotPoint=null,t.getApp().stopRender("spot-drag"),this.spotEvents.onUpdate?.(this.getSpotData())};applyTranslation(t,i){this.initialSpotPoint&&(this.spotData.point={x:this.initialSpotPoint.x+t,y:this.initialSpotPoint.y+i},this.drawSpot())}setupClickHandler(){this.clickHandler=new s(this,{onClick:()=>{this.isEditingEnabled()||this.spotEvents?.onClick?.(this.getSpotData())},stopPropagation:!1})}drawSpot(){const t=this.calculateRectanglePoints();this.controlFill.updatePoints(t),this.spotBorder.updatePoints(t),this.centerIcon.position.set(this.spotData.point.x,this.spotData.point.y),this.updateSizeText()}updateSizeText(){if(!this.sizeText)return;const t=this.calculateSpotSizeText();this.sizeText.updateText(t),this.updateSizeTextPosition()}updateSizeTextPosition(){if(!this.sizeText)return;const t=this.calculateSizeTextPosition();this.sizeText.position.set(t.x,t.y)}updateEditState(){const t=this.isEditingEnabled();if(this.sizeText&&(this.sizeText.visible=t),this.centerIcon&&(this.centerIcon.visible=t),this.controlFill&&this.controlFill.setInteractionEnabled(t),this.spotBorder){const i=t?this.spotConfig.editing:this.spotConfig.normal;this.spotBorder.updateStyle({isDashed:i.isDashed,dashArray:i.dashArray})}this.zIndex=t?1e3:0}updateSpotData(t){this.spotData={...t},this.drawSpot(),this.updateEditState()}getSpotData(){return{...this.spotData}}destroy(){a().emitter.off("antiScale",this.throttledUpdateScale),this.clickHandler?.destroy(),this.clickHandler=null,this.controlFill?.destroy(),this.spotBorder?.destroy(),this.centerIcon?.destroy(),this.sizeText?.destroy(),super.destroy()}static create(t){const i=a();return new l({spotData:t,events:{onUpdate:t=>{i.events?.onUpdateSpot?.(t)},onClick:t=>{i.events?.onClickSpot?.(t)}}})}}export{l as Spot};