@weng-lab/visualization 1.3.0 → 1.3.1

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 (1681) hide show
  1. package/dist/src/components/BarPlot/barplot.d.ts.map +1 -1
  2. package/dist/src/components/BarPlot/singleBar.d.ts.map +1 -1
  3. package/dist/visualization.es.js +18 -51367
  4. package/dist/visualization.es.js.map +1 -1
  5. package/dist/visualization.es10.js +189 -0
  6. package/dist/visualization.es10.js.map +1 -0
  7. package/dist/visualization.es100.js +5 -0
  8. package/dist/visualization.es100.js.map +1 -0
  9. package/dist/visualization.es101.js +5 -0
  10. package/dist/visualization.es101.js.map +1 -0
  11. package/dist/visualization.es102.js +31 -0
  12. package/dist/visualization.es102.js.map +1 -0
  13. package/dist/visualization.es103.js +65 -0
  14. package/dist/visualization.es103.js.map +1 -0
  15. package/dist/visualization.es104.js +31 -0
  16. package/dist/visualization.es104.js.map +1 -0
  17. package/dist/visualization.es105.js +66 -0
  18. package/dist/visualization.es105.js.map +1 -0
  19. package/dist/visualization.es106.js +42 -0
  20. package/dist/visualization.es106.js.map +1 -0
  21. package/dist/visualization.es107.js +40 -0
  22. package/dist/visualization.es107.js.map +1 -0
  23. package/dist/visualization.es108.js +87 -0
  24. package/dist/visualization.es108.js.map +1 -0
  25. package/dist/visualization.es109.js +11 -0
  26. package/dist/visualization.es109.js.map +1 -0
  27. package/dist/visualization.es11.js +6 -0
  28. package/dist/visualization.es11.js.map +1 -0
  29. package/dist/visualization.es110.js +10 -0
  30. package/dist/visualization.es110.js.map +1 -0
  31. package/dist/visualization.es111.js +7 -0
  32. package/dist/visualization.es111.js.map +1 -0
  33. package/dist/visualization.es112.js +8 -0
  34. package/dist/visualization.es112.js.map +1 -0
  35. package/dist/visualization.es113.js +8 -0
  36. package/dist/visualization.es113.js.map +1 -0
  37. package/dist/visualization.es114.js +8 -0
  38. package/dist/visualization.es114.js.map +1 -0
  39. package/dist/visualization.es115.js +72 -0
  40. package/dist/visualization.es115.js.map +1 -0
  41. package/dist/visualization.es116.js +21 -0
  42. package/dist/visualization.es116.js.map +1 -0
  43. package/dist/visualization.es117.js +8 -0
  44. package/dist/visualization.es117.js.map +1 -0
  45. package/dist/visualization.es118.js +8 -0
  46. package/dist/visualization.es118.js.map +1 -0
  47. package/dist/visualization.es119.js +86 -0
  48. package/dist/visualization.es119.js.map +1 -0
  49. package/dist/visualization.es12.js +26 -0
  50. package/dist/visualization.es12.js.map +1 -0
  51. package/dist/visualization.es120.js +65 -0
  52. package/dist/visualization.es120.js.map +1 -0
  53. package/dist/visualization.es121.js +16 -0
  54. package/dist/visualization.es121.js.map +1 -0
  55. package/dist/visualization.es122.js +9 -0
  56. package/dist/visualization.es122.js.map +1 -0
  57. package/dist/visualization.es123.js +15 -0
  58. package/dist/visualization.es123.js.map +1 -0
  59. package/dist/visualization.es124.js +9 -0
  60. package/dist/visualization.es124.js.map +1 -0
  61. package/dist/visualization.es125.js +25 -0
  62. package/dist/visualization.es125.js.map +1 -0
  63. package/dist/visualization.es126.js +5 -0
  64. package/dist/visualization.es126.js.map +1 -0
  65. package/dist/visualization.es127.js +1609 -0
  66. package/dist/visualization.es127.js.map +1 -0
  67. package/dist/visualization.es128.js +11 -0
  68. package/dist/visualization.es128.js.map +1 -0
  69. package/dist/visualization.es129.js +19 -0
  70. package/dist/visualization.es129.js.map +1 -0
  71. package/dist/visualization.es13.js +72 -0
  72. package/dist/visualization.es13.js.map +1 -0
  73. package/dist/visualization.es130.js +14 -0
  74. package/dist/visualization.es130.js.map +1 -0
  75. package/dist/visualization.es131.js +9 -0
  76. package/dist/visualization.es131.js.map +1 -0
  77. package/dist/visualization.es132.js +7 -0
  78. package/dist/visualization.es132.js.map +1 -0
  79. package/dist/visualization.es133.js +15 -0
  80. package/dist/visualization.es133.js.map +1 -0
  81. package/dist/visualization.es134.js +5 -0
  82. package/dist/visualization.es134.js.map +1 -0
  83. package/dist/visualization.es135.js +14 -0
  84. package/dist/visualization.es135.js.map +1 -0
  85. package/dist/visualization.es136.js +34 -0
  86. package/dist/visualization.es136.js.map +1 -0
  87. package/dist/visualization.es137.js +28 -0
  88. package/dist/visualization.es137.js.map +1 -0
  89. package/dist/visualization.es138.js +53 -0
  90. package/dist/visualization.es138.js.map +1 -0
  91. package/dist/visualization.es139.js +7 -0
  92. package/dist/visualization.es139.js.map +1 -0
  93. package/dist/visualization.es14.js +89 -0
  94. package/dist/visualization.es14.js.map +1 -0
  95. package/dist/visualization.es140.js +6 -0
  96. package/dist/visualization.es140.js.map +1 -0
  97. package/dist/visualization.es141.js +6 -0
  98. package/dist/visualization.es141.js.map +1 -0
  99. package/dist/visualization.es142.js +14 -0
  100. package/dist/visualization.es142.js.map +1 -0
  101. package/dist/visualization.es143.js +21 -0
  102. package/dist/visualization.es143.js.map +1 -0
  103. package/dist/visualization.es144.js +9 -0
  104. package/dist/visualization.es144.js.map +1 -0
  105. package/dist/visualization.es145.js +8 -0
  106. package/dist/visualization.es145.js.map +1 -0
  107. package/dist/visualization.es146.js +37 -0
  108. package/dist/visualization.es146.js.map +1 -0
  109. package/dist/visualization.es147.js +5 -0
  110. package/dist/visualization.es147.js.map +1 -0
  111. package/dist/visualization.es148.js +19 -0
  112. package/dist/visualization.es148.js.map +1 -0
  113. package/dist/visualization.es149.js +21 -0
  114. package/dist/visualization.es149.js.map +1 -0
  115. package/dist/visualization.es15.js +138 -0
  116. package/dist/visualization.es15.js.map +1 -0
  117. package/dist/visualization.es150.js +39 -0
  118. package/dist/visualization.es150.js.map +1 -0
  119. package/dist/visualization.es151.js +5 -0
  120. package/dist/visualization.es151.js.map +1 -0
  121. package/dist/visualization.es152.js +7 -0
  122. package/dist/visualization.es152.js.map +1 -0
  123. package/dist/visualization.es153.js +5 -0
  124. package/dist/visualization.es153.js.map +1 -0
  125. package/dist/visualization.es154.js +23 -0
  126. package/dist/visualization.es154.js.map +1 -0
  127. package/dist/visualization.es155.js +9 -0
  128. package/dist/visualization.es155.js.map +1 -0
  129. package/dist/visualization.es156.js +47 -0
  130. package/dist/visualization.es156.js.map +1 -0
  131. package/dist/visualization.es157.js +30 -0
  132. package/dist/visualization.es157.js.map +1 -0
  133. package/dist/visualization.es158.js +18 -0
  134. package/dist/visualization.es158.js.map +1 -0
  135. package/dist/visualization.es159.js +11 -0
  136. package/dist/visualization.es159.js.map +1 -0
  137. package/dist/visualization.es16.js +60 -0
  138. package/dist/visualization.es16.js.map +1 -0
  139. package/dist/visualization.es160.js +6 -0
  140. package/dist/visualization.es160.js.map +1 -0
  141. package/dist/visualization.es161.js +32 -0
  142. package/dist/visualization.es161.js.map +1 -0
  143. package/dist/visualization.es162.js +24 -0
  144. package/dist/visualization.es162.js.map +1 -0
  145. package/dist/visualization.es163.js +5 -0
  146. package/dist/visualization.es163.js.map +1 -0
  147. package/dist/visualization.es164.js +51 -0
  148. package/dist/visualization.es164.js.map +1 -0
  149. package/dist/visualization.es165.js +5 -0
  150. package/dist/visualization.es165.js.map +1 -0
  151. package/dist/visualization.es166.js +237 -0
  152. package/dist/visualization.es166.js.map +1 -0
  153. package/dist/visualization.es167.js +28 -0
  154. package/dist/visualization.es167.js.map +1 -0
  155. package/dist/visualization.es168.js +14 -0
  156. package/dist/visualization.es168.js.map +1 -0
  157. package/dist/visualization.es169.js +6 -0
  158. package/dist/visualization.es169.js.map +1 -0
  159. package/dist/visualization.es17.js +11 -0
  160. package/dist/visualization.es17.js.map +1 -0
  161. package/dist/visualization.es170.js +26 -0
  162. package/dist/visualization.es170.js.map +1 -0
  163. package/dist/visualization.es171.js +75 -0
  164. package/dist/visualization.es171.js.map +1 -0
  165. package/dist/visualization.es172.js +16 -0
  166. package/dist/visualization.es172.js.map +1 -0
  167. package/dist/visualization.es173.js +10 -0
  168. package/dist/visualization.es173.js.map +1 -0
  169. package/dist/visualization.es174.js +9 -0
  170. package/dist/visualization.es174.js.map +1 -0
  171. package/dist/visualization.es175.js +213 -0
  172. package/dist/visualization.es175.js.map +1 -0
  173. package/dist/visualization.es176.js +5 -0
  174. package/dist/visualization.es176.js.map +1 -0
  175. package/dist/visualization.es177.js +5 -0
  176. package/dist/visualization.es177.js.map +1 -0
  177. package/dist/visualization.es178.js +9 -0
  178. package/dist/visualization.es178.js.map +1 -0
  179. package/dist/visualization.es179.js +49 -0
  180. package/dist/visualization.es179.js.map +1 -0
  181. package/dist/visualization.es18.js +113 -0
  182. package/dist/visualization.es18.js.map +1 -0
  183. package/dist/visualization.es180.js +11 -0
  184. package/dist/visualization.es180.js.map +1 -0
  185. package/dist/visualization.es181.js +30 -0
  186. package/dist/visualization.es181.js.map +1 -0
  187. package/dist/visualization.es182.js +6 -0
  188. package/dist/visualization.es182.js.map +1 -0
  189. package/dist/visualization.es183.js +7 -0
  190. package/dist/visualization.es183.js.map +1 -0
  191. package/dist/visualization.es184.js +5 -0
  192. package/dist/visualization.es184.js.map +1 -0
  193. package/dist/visualization.es185.js +6 -0
  194. package/dist/visualization.es185.js.map +1 -0
  195. package/dist/visualization.es186.js +10 -0
  196. package/dist/visualization.es186.js.map +1 -0
  197. package/dist/visualization.es187.js +6 -0
  198. package/dist/visualization.es187.js.map +1 -0
  199. package/dist/visualization.es188.js +13 -0
  200. package/dist/visualization.es188.js.map +1 -0
  201. package/dist/visualization.es189.js +10 -0
  202. package/dist/visualization.es189.js.map +1 -0
  203. package/dist/visualization.es19.js +15 -0
  204. package/dist/visualization.es19.js.map +1 -0
  205. package/dist/visualization.es190.js +9 -0
  206. package/dist/visualization.es190.js.map +1 -0
  207. package/dist/visualization.es191.js +29 -0
  208. package/dist/visualization.es191.js.map +1 -0
  209. package/dist/visualization.es192.js +74 -0
  210. package/dist/visualization.es192.js.map +1 -0
  211. package/dist/visualization.es193.js +18 -0
  212. package/dist/visualization.es193.js.map +1 -0
  213. package/dist/visualization.es194.js +6 -0
  214. package/dist/visualization.es194.js.map +1 -0
  215. package/dist/visualization.es195.js +18 -0
  216. package/dist/visualization.es195.js.map +1 -0
  217. package/dist/visualization.es196.js +10 -0
  218. package/dist/visualization.es196.js.map +1 -0
  219. package/dist/visualization.es197.js +12 -0
  220. package/dist/visualization.es197.js.map +1 -0
  221. package/dist/visualization.es198.js +14 -0
  222. package/dist/visualization.es198.js.map +1 -0
  223. package/dist/visualization.es199.js +10 -0
  224. package/dist/visualization.es199.js.map +1 -0
  225. package/dist/visualization.es2.js +365 -0
  226. package/dist/visualization.es2.js.map +1 -0
  227. package/dist/visualization.es20.js +52 -0
  228. package/dist/visualization.es20.js.map +1 -0
  229. package/dist/visualization.es200.js +17 -0
  230. package/dist/visualization.es200.js.map +1 -0
  231. package/dist/visualization.es201.js +9 -0
  232. package/dist/visualization.es201.js.map +1 -0
  233. package/dist/visualization.es202.js +24 -0
  234. package/dist/visualization.es202.js.map +1 -0
  235. package/dist/visualization.es203.js +11 -0
  236. package/dist/visualization.es203.js.map +1 -0
  237. package/dist/visualization.es204.js +43 -0
  238. package/dist/visualization.es204.js.map +1 -0
  239. package/dist/visualization.es205.js +11 -0
  240. package/dist/visualization.es205.js.map +1 -0
  241. package/dist/visualization.es206.js +10 -0
  242. package/dist/visualization.es206.js.map +1 -0
  243. package/dist/visualization.es207.js +7 -0
  244. package/dist/visualization.es207.js.map +1 -0
  245. package/dist/visualization.es208.js +20 -0
  246. package/dist/visualization.es208.js.map +1 -0
  247. package/dist/visualization.es209.js +20 -0
  248. package/dist/visualization.es209.js.map +1 -0
  249. package/dist/visualization.es21.js +225 -0
  250. package/dist/visualization.es21.js.map +1 -0
  251. package/dist/visualization.es210.js +34 -0
  252. package/dist/visualization.es210.js.map +1 -0
  253. package/dist/visualization.es211.js +20 -0
  254. package/dist/visualization.es211.js.map +1 -0
  255. package/dist/visualization.es212.js +14 -0
  256. package/dist/visualization.es212.js.map +1 -0
  257. package/dist/visualization.es213.js +10 -0
  258. package/dist/visualization.es213.js.map +1 -0
  259. package/dist/visualization.es214.js +10 -0
  260. package/dist/visualization.es214.js.map +1 -0
  261. package/dist/visualization.es215.js +14 -0
  262. package/dist/visualization.es215.js.map +1 -0
  263. package/dist/visualization.es216.js +8 -0
  264. package/dist/visualization.es216.js.map +1 -0
  265. package/dist/visualization.es217.js +8 -0
  266. package/dist/visualization.es217.js.map +1 -0
  267. package/dist/visualization.es218.js +12 -0
  268. package/dist/visualization.es218.js.map +1 -0
  269. package/dist/visualization.es219.js +8 -0
  270. package/dist/visualization.es219.js.map +1 -0
  271. package/dist/visualization.es22.js +252 -0
  272. package/dist/visualization.es22.js.map +1 -0
  273. package/dist/visualization.es220.js +16 -0
  274. package/dist/visualization.es220.js.map +1 -0
  275. package/dist/visualization.es221.js +28 -0
  276. package/dist/visualization.es221.js.map +1 -0
  277. package/dist/visualization.es222.js +36 -0
  278. package/dist/visualization.es222.js.map +1 -0
  279. package/dist/visualization.es223.js +98 -0
  280. package/dist/visualization.es223.js.map +1 -0
  281. package/dist/visualization.es224.js +61 -0
  282. package/dist/visualization.es224.js.map +1 -0
  283. package/dist/visualization.es225.js +10 -0
  284. package/dist/visualization.es225.js.map +1 -0
  285. package/dist/visualization.es226.js +69 -0
  286. package/dist/visualization.es226.js.map +1 -0
  287. package/dist/visualization.es227.js +13 -0
  288. package/dist/visualization.es227.js.map +1 -0
  289. package/dist/visualization.es228.js +13 -0
  290. package/dist/visualization.es228.js.map +1 -0
  291. package/dist/visualization.es229.js +21 -0
  292. package/dist/visualization.es229.js.map +1 -0
  293. package/dist/visualization.es23.js +41 -0
  294. package/dist/visualization.es23.js.map +1 -0
  295. package/dist/visualization.es230.js +19 -0
  296. package/dist/visualization.es230.js.map +1 -0
  297. package/dist/visualization.es231.js +11 -0
  298. package/dist/visualization.es231.js.map +1 -0
  299. package/dist/visualization.es232.js +11 -0
  300. package/dist/visualization.es232.js.map +1 -0
  301. package/dist/visualization.es233.js +23 -0
  302. package/dist/visualization.es233.js.map +1 -0
  303. package/dist/visualization.es234.js +31 -0
  304. package/dist/visualization.es234.js.map +1 -0
  305. package/dist/visualization.es235.js +5 -0
  306. package/dist/visualization.es235.js.map +1 -0
  307. package/dist/visualization.es236.js +61 -0
  308. package/dist/visualization.es236.js.map +1 -0
  309. package/dist/visualization.es237.js +35 -0
  310. package/dist/visualization.es237.js.map +1 -0
  311. package/dist/visualization.es238.js +21 -0
  312. package/dist/visualization.es238.js.map +1 -0
  313. package/dist/visualization.es239.js +17 -0
  314. package/dist/visualization.es239.js.map +1 -0
  315. package/dist/visualization.es24.js +8 -0
  316. package/dist/visualization.es24.js.map +1 -0
  317. package/dist/visualization.es240.js +29 -0
  318. package/dist/visualization.es240.js.map +1 -0
  319. package/dist/visualization.es241.js +7 -0
  320. package/dist/visualization.es241.js.map +1 -0
  321. package/dist/visualization.es242.js +7 -0
  322. package/dist/visualization.es242.js.map +1 -0
  323. package/dist/visualization.es243.js +7 -0
  324. package/dist/visualization.es243.js.map +1 -0
  325. package/dist/visualization.es244.js +7 -0
  326. package/dist/visualization.es244.js.map +1 -0
  327. package/dist/visualization.es245.js +7 -0
  328. package/dist/visualization.es245.js.map +1 -0
  329. package/dist/visualization.es246.js +7 -0
  330. package/dist/visualization.es246.js.map +1 -0
  331. package/dist/visualization.es247.js +7 -0
  332. package/dist/visualization.es247.js.map +1 -0
  333. package/dist/visualization.es248.js +11 -0
  334. package/dist/visualization.es248.js.map +1 -0
  335. package/dist/visualization.es249.js +47 -0
  336. package/dist/visualization.es249.js.map +1 -0
  337. package/dist/visualization.es25.js +44 -0
  338. package/dist/visualization.es25.js.map +1 -0
  339. package/dist/visualization.es250.js +7 -0
  340. package/dist/visualization.es250.js.map +1 -0
  341. package/dist/visualization.es251.js +10 -0
  342. package/dist/visualization.es251.js.map +1 -0
  343. package/dist/visualization.es252.js +8 -0
  344. package/dist/visualization.es252.js.map +1 -0
  345. package/dist/visualization.es253.js +7 -0
  346. package/dist/visualization.es253.js.map +1 -0
  347. package/dist/visualization.es254.js +10 -0
  348. package/dist/visualization.es254.js.map +1 -0
  349. package/dist/visualization.es255.js +9 -0
  350. package/dist/visualization.es255.js.map +1 -0
  351. package/dist/visualization.es256.js +18 -0
  352. package/dist/visualization.es256.js.map +1 -0
  353. package/dist/visualization.es257.js +5 -0
  354. package/dist/visualization.es257.js.map +1 -0
  355. package/dist/visualization.es258.js +11 -0
  356. package/dist/visualization.es258.js.map +1 -0
  357. package/dist/visualization.es259.js +330 -0
  358. package/dist/visualization.es259.js.map +1 -0
  359. package/dist/visualization.es26.js +61 -0
  360. package/dist/visualization.es26.js.map +1 -0
  361. package/dist/visualization.es260.js +53 -0
  362. package/dist/visualization.es260.js.map +1 -0
  363. package/dist/visualization.es261.js +43 -0
  364. package/dist/visualization.es261.js.map +1 -0
  365. package/dist/visualization.es262.js +5 -0
  366. package/dist/visualization.es262.js.map +1 -0
  367. package/dist/visualization.es263.js +61 -0
  368. package/dist/visualization.es263.js.map +1 -0
  369. package/dist/visualization.es264.js +14 -0
  370. package/dist/visualization.es264.js.map +1 -0
  371. package/dist/visualization.es265.js +14 -0
  372. package/dist/visualization.es265.js.map +1 -0
  373. package/dist/visualization.es266.js +29 -0
  374. package/dist/visualization.es266.js.map +1 -0
  375. package/dist/visualization.es267.js +24 -0
  376. package/dist/visualization.es267.js.map +1 -0
  377. package/dist/visualization.es268.js +23 -0
  378. package/dist/visualization.es268.js.map +1 -0
  379. package/dist/visualization.es269.js +57 -0
  380. package/dist/visualization.es269.js.map +1 -0
  381. package/dist/visualization.es27.js +45 -0
  382. package/dist/visualization.es27.js.map +1 -0
  383. package/dist/visualization.es270.js +35 -0
  384. package/dist/visualization.es270.js.map +1 -0
  385. package/dist/visualization.es271.js +37 -0
  386. package/dist/visualization.es271.js.map +1 -0
  387. package/dist/visualization.es272.js +16 -0
  388. package/dist/visualization.es272.js.map +1 -0
  389. package/dist/visualization.es273.js +18 -0
  390. package/dist/visualization.es273.js.map +1 -0
  391. package/dist/visualization.es274.js +44 -0
  392. package/dist/visualization.es274.js.map +1 -0
  393. package/dist/visualization.es275.js +38 -0
  394. package/dist/visualization.es275.js.map +1 -0
  395. package/dist/visualization.es276.js +41 -0
  396. package/dist/visualization.es276.js.map +1 -0
  397. package/dist/visualization.es277.js +25 -0
  398. package/dist/visualization.es277.js.map +1 -0
  399. package/dist/visualization.es278.js +64 -0
  400. package/dist/visualization.es278.js.map +1 -0
  401. package/dist/visualization.es279.js +18 -0
  402. package/dist/visualization.es279.js.map +1 -0
  403. package/dist/visualization.es28.js +44 -0
  404. package/dist/visualization.es28.js.map +1 -0
  405. package/dist/visualization.es280.js +22 -0
  406. package/dist/visualization.es280.js.map +1 -0
  407. package/dist/visualization.es281.js +12 -0
  408. package/dist/visualization.es281.js.map +1 -0
  409. package/dist/visualization.es282.js +6 -0
  410. package/dist/visualization.es282.js.map +1 -0
  411. package/dist/visualization.es283.js +12 -0
  412. package/dist/visualization.es283.js.map +1 -0
  413. package/dist/visualization.es284.js +137 -0
  414. package/dist/visualization.es284.js.map +1 -0
  415. package/dist/visualization.es285.js +11 -0
  416. package/dist/visualization.es285.js.map +1 -0
  417. package/dist/visualization.es286.js +7 -0
  418. package/dist/visualization.es286.js.map +1 -0
  419. package/dist/visualization.es287.js +14 -0
  420. package/dist/visualization.es287.js.map +1 -0
  421. package/dist/visualization.es288.js +19 -0
  422. package/dist/visualization.es288.js.map +1 -0
  423. package/dist/visualization.es289.js +44 -0
  424. package/dist/visualization.es289.js.map +1 -0
  425. package/dist/visualization.es29.js +30 -0
  426. package/dist/visualization.es29.js.map +1 -0
  427. package/dist/visualization.es290.js +76 -0
  428. package/dist/visualization.es290.js.map +1 -0
  429. package/dist/visualization.es291.js +26 -0
  430. package/dist/visualization.es291.js.map +1 -0
  431. package/dist/visualization.es292.js +22 -0
  432. package/dist/visualization.es292.js.map +1 -0
  433. package/dist/visualization.es293.js +29 -0
  434. package/dist/visualization.es293.js.map +1 -0
  435. package/dist/visualization.es294.js +24 -0
  436. package/dist/visualization.es294.js.map +1 -0
  437. package/dist/visualization.es295.js +45 -0
  438. package/dist/visualization.es295.js.map +1 -0
  439. package/dist/visualization.es296.js +12 -0
  440. package/dist/visualization.es296.js.map +1 -0
  441. package/dist/visualization.es297.js +5 -0
  442. package/dist/visualization.es297.js.map +1 -0
  443. package/dist/visualization.es298.js +15 -0
  444. package/dist/visualization.es298.js.map +1 -0
  445. package/dist/visualization.es299.js +7 -0
  446. package/dist/visualization.es299.js.map +1 -0
  447. package/dist/visualization.es3.js +306 -0
  448. package/dist/visualization.es3.js.map +1 -0
  449. package/dist/visualization.es30.js +60 -0
  450. package/dist/visualization.es30.js.map +1 -0
  451. package/dist/visualization.es300.js +5 -0
  452. package/dist/visualization.es300.js.map +1 -0
  453. package/dist/visualization.es301.js +7 -0
  454. package/dist/visualization.es301.js.map +1 -0
  455. package/dist/visualization.es302.js +9 -0
  456. package/dist/visualization.es302.js.map +1 -0
  457. package/dist/visualization.es303.js +5 -0
  458. package/dist/visualization.es303.js.map +1 -0
  459. package/dist/visualization.es304.js +5 -0
  460. package/dist/visualization.es304.js.map +1 -0
  461. package/dist/visualization.es305.js +8 -0
  462. package/dist/visualization.es305.js.map +1 -0
  463. package/dist/visualization.es306.js +6 -0
  464. package/dist/visualization.es306.js.map +1 -0
  465. package/dist/visualization.es307.js +7 -0
  466. package/dist/visualization.es307.js.map +1 -0
  467. package/dist/visualization.es308.js +6 -0
  468. package/dist/visualization.es308.js.map +1 -0
  469. package/dist/visualization.es309.js +10 -0
  470. package/dist/visualization.es309.js.map +1 -0
  471. package/dist/visualization.es31.js +18619 -0
  472. package/dist/visualization.es31.js.map +1 -0
  473. package/dist/visualization.es310.js +19 -0
  474. package/dist/visualization.es310.js.map +1 -0
  475. package/dist/visualization.es311.js +5 -0
  476. package/dist/visualization.es311.js.map +1 -0
  477. package/dist/visualization.es312.js +5 -0
  478. package/dist/visualization.es312.js.map +1 -0
  479. package/dist/visualization.es313.js +9 -0
  480. package/dist/visualization.es313.js.map +1 -0
  481. package/dist/visualization.es314.js +5 -0
  482. package/dist/visualization.es314.js.map +1 -0
  483. package/dist/visualization.es315.js +5 -0
  484. package/dist/visualization.es315.js.map +1 -0
  485. package/dist/visualization.es316.js +33 -0
  486. package/dist/visualization.es316.js.map +1 -0
  487. package/dist/visualization.es317.js +22 -0
  488. package/dist/visualization.es317.js.map +1 -0
  489. package/dist/visualization.es318.js +5 -0
  490. package/dist/visualization.es318.js.map +1 -0
  491. package/dist/visualization.es319.js +15 -0
  492. package/dist/visualization.es319.js.map +1 -0
  493. package/dist/visualization.es32.js +8 -0
  494. package/dist/visualization.es32.js.map +1 -0
  495. package/dist/visualization.es320.js +8 -0
  496. package/dist/visualization.es320.js.map +1 -0
  497. package/dist/visualization.es321.js +47 -0
  498. package/dist/visualization.es321.js.map +1 -0
  499. package/dist/visualization.es322.js +7 -0
  500. package/dist/visualization.es322.js.map +1 -0
  501. package/dist/visualization.es323.js +14 -0
  502. package/dist/visualization.es323.js.map +1 -0
  503. package/dist/visualization.es324.js +8 -0
  504. package/dist/visualization.es324.js.map +1 -0
  505. package/dist/visualization.es325.js +5 -0
  506. package/dist/visualization.es325.js.map +1 -0
  507. package/dist/visualization.es326.js +611 -0
  508. package/dist/visualization.es326.js.map +1 -0
  509. package/dist/visualization.es327.js +14 -0
  510. package/dist/visualization.es327.js.map +1 -0
  511. package/dist/visualization.es328.js +32 -0
  512. package/dist/visualization.es328.js.map +1 -0
  513. package/dist/visualization.es329.js +123 -0
  514. package/dist/visualization.es329.js.map +1 -0
  515. package/dist/visualization.es33.js +8 -0
  516. package/dist/visualization.es33.js.map +1 -0
  517. package/dist/visualization.es330.js +33 -0
  518. package/dist/visualization.es330.js.map +1 -0
  519. package/dist/visualization.es331.js +14 -0
  520. package/dist/visualization.es331.js.map +1 -0
  521. package/dist/visualization.es332.js +17 -0
  522. package/dist/visualization.es332.js.map +1 -0
  523. package/dist/visualization.es333.js +36 -0
  524. package/dist/visualization.es333.js.map +1 -0
  525. package/dist/visualization.es334.js +32 -0
  526. package/dist/visualization.es334.js.map +1 -0
  527. package/dist/visualization.es335.js +14 -0
  528. package/dist/visualization.es335.js.map +1 -0
  529. package/dist/visualization.es336.js +16 -0
  530. package/dist/visualization.es336.js.map +1 -0
  531. package/dist/visualization.es337.js +21 -0
  532. package/dist/visualization.es337.js.map +1 -0
  533. package/dist/visualization.es338.js +27 -0
  534. package/dist/visualization.es338.js.map +1 -0
  535. package/dist/visualization.es339.js +20 -0
  536. package/dist/visualization.es339.js.map +1 -0
  537. package/dist/visualization.es34.js +63 -0
  538. package/dist/visualization.es34.js.map +1 -0
  539. package/dist/visualization.es340.js +100 -0
  540. package/dist/visualization.es340.js.map +1 -0
  541. package/dist/visualization.es341.js +32 -0
  542. package/dist/visualization.es341.js.map +1 -0
  543. package/dist/visualization.es342.js +75 -0
  544. package/dist/visualization.es342.js.map +1 -0
  545. package/dist/visualization.es343.js +55 -0
  546. package/dist/visualization.es343.js.map +1 -0
  547. package/dist/visualization.es344.js +38 -0
  548. package/dist/visualization.es344.js.map +1 -0
  549. package/dist/visualization.es345.js +45 -0
  550. package/dist/visualization.es345.js.map +1 -0
  551. package/dist/visualization.es346.js +100 -0
  552. package/dist/visualization.es346.js.map +1 -0
  553. package/dist/visualization.es347.js +128 -0
  554. package/dist/visualization.es347.js.map +1 -0
  555. package/dist/visualization.es348.js +9 -0
  556. package/dist/visualization.es348.js.map +1 -0
  557. package/dist/visualization.es349.js +37 -0
  558. package/dist/visualization.es349.js.map +1 -0
  559. package/dist/visualization.es35.js +814 -0
  560. package/dist/visualization.es35.js.map +1 -0
  561. package/dist/visualization.es350.js +24 -0
  562. package/dist/visualization.es350.js.map +1 -0
  563. package/dist/visualization.es351.js +7 -0
  564. package/dist/visualization.es351.js.map +1 -0
  565. package/dist/visualization.es352.js +28 -0
  566. package/dist/visualization.es352.js.map +1 -0
  567. package/dist/visualization.es353.js +24 -0
  568. package/dist/visualization.es353.js.map +1 -0
  569. package/dist/visualization.es354.js +9 -0
  570. package/dist/visualization.es354.js.map +1 -0
  571. package/dist/visualization.es355.js +18 -0
  572. package/dist/visualization.es355.js.map +1 -0
  573. package/dist/visualization.es356.js +38 -0
  574. package/dist/visualization.es356.js.map +1 -0
  575. package/dist/visualization.es357.js +31 -0
  576. package/dist/visualization.es357.js.map +1 -0
  577. package/dist/visualization.es358.js +14 -0
  578. package/dist/visualization.es358.js.map +1 -0
  579. package/dist/visualization.es359.js +17 -0
  580. package/dist/visualization.es359.js.map +1 -0
  581. package/dist/visualization.es360.js +105 -0
  582. package/dist/visualization.es360.js.map +1 -0
  583. package/dist/visualization.es361.js +8 -0
  584. package/dist/visualization.es361.js.map +1 -0
  585. package/dist/visualization.es362.js +6 -0
  586. package/dist/visualization.es362.js.map +1 -0
  587. package/dist/visualization.es363.js +22 -0
  588. package/dist/visualization.es363.js.map +1 -0
  589. package/dist/visualization.es364.js +9 -0
  590. package/dist/visualization.es364.js.map +1 -0
  591. package/dist/visualization.es365.js +18 -0
  592. package/dist/visualization.es365.js.map +1 -0
  593. package/dist/visualization.es366.js +32 -0
  594. package/dist/visualization.es366.js.map +1 -0
  595. package/dist/visualization.es367.js +99 -0
  596. package/dist/visualization.es367.js.map +1 -0
  597. package/dist/visualization.es368.js +10 -0
  598. package/dist/visualization.es368.js.map +1 -0
  599. package/dist/visualization.es369.js +43 -0
  600. package/dist/visualization.es369.js.map +1 -0
  601. package/dist/visualization.es37.js +134 -0
  602. package/dist/visualization.es37.js.map +1 -0
  603. package/dist/visualization.es370.js +9 -0
  604. package/dist/visualization.es370.js.map +1 -0
  605. package/dist/visualization.es371.js +7 -0
  606. package/dist/visualization.es371.js.map +1 -0
  607. package/dist/visualization.es372.js +11 -0
  608. package/dist/visualization.es372.js.map +1 -0
  609. package/dist/visualization.es373.js +14 -0
  610. package/dist/visualization.es373.js.map +1 -0
  611. package/dist/visualization.es374.js +33 -0
  612. package/dist/visualization.es374.js.map +1 -0
  613. package/dist/visualization.es375.js +53 -0
  614. package/dist/visualization.es375.js.map +1 -0
  615. package/dist/visualization.es376.js +7 -0
  616. package/dist/visualization.es376.js.map +1 -0
  617. package/dist/visualization.es377.js +65 -0
  618. package/dist/visualization.es377.js.map +1 -0
  619. package/dist/visualization.es378.js +10 -0
  620. package/dist/visualization.es378.js.map +1 -0
  621. package/dist/visualization.es379.js +8 -0
  622. package/dist/visualization.es379.js.map +1 -0
  623. package/dist/visualization.es38.js +70 -0
  624. package/dist/visualization.es38.js.map +1 -0
  625. package/dist/visualization.es380.js +17 -0
  626. package/dist/visualization.es380.js.map +1 -0
  627. package/dist/visualization.es381.js +32 -0
  628. package/dist/visualization.es381.js.map +1 -0
  629. package/dist/visualization.es382.js +8 -0
  630. package/dist/visualization.es382.js.map +1 -0
  631. package/dist/visualization.es383.js +13 -0
  632. package/dist/visualization.es383.js.map +1 -0
  633. package/dist/visualization.es384.js +5 -0
  634. package/dist/visualization.es384.js.map +1 -0
  635. package/dist/visualization.es385.js +13 -0
  636. package/dist/visualization.es385.js.map +1 -0
  637. package/dist/visualization.es386.js +13 -0
  638. package/dist/visualization.es386.js.map +1 -0
  639. package/dist/visualization.es387.js +16 -0
  640. package/dist/visualization.es387.js.map +1 -0
  641. package/dist/visualization.es388.js +28 -0
  642. package/dist/visualization.es388.js.map +1 -0
  643. package/dist/visualization.es389.js +22 -0
  644. package/dist/visualization.es389.js.map +1 -0
  645. package/dist/visualization.es39.js +116 -0
  646. package/dist/visualization.es39.js.map +1 -0
  647. package/dist/visualization.es390.js +42 -0
  648. package/dist/visualization.es390.js.map +1 -0
  649. package/dist/visualization.es391.js +12 -0
  650. package/dist/visualization.es391.js.map +1 -0
  651. package/dist/visualization.es392.js +12 -0
  652. package/dist/visualization.es392.js.map +1 -0
  653. package/dist/visualization.es393.js +25 -0
  654. package/dist/visualization.es393.js.map +1 -0
  655. package/dist/visualization.es394.js +13 -0
  656. package/dist/visualization.es394.js.map +1 -0
  657. package/dist/visualization.es395.js +34 -0
  658. package/dist/visualization.es395.js.map +1 -0
  659. package/dist/visualization.es396.js +8 -0
  660. package/dist/visualization.es396.js.map +1 -0
  661. package/dist/visualization.es397.js +5 -0
  662. package/dist/visualization.es397.js.map +1 -0
  663. package/dist/visualization.es398.js +14 -0
  664. package/dist/visualization.es398.js.map +1 -0
  665. package/dist/visualization.es399.js +28 -0
  666. package/dist/visualization.es399.js.map +1 -0
  667. package/dist/visualization.es4.js +129 -0
  668. package/dist/visualization.es4.js.map +1 -0
  669. package/dist/visualization.es40.js +11 -0
  670. package/dist/visualization.es40.js.map +1 -0
  671. package/dist/visualization.es400.js +5 -0
  672. package/dist/visualization.es400.js.map +1 -0
  673. package/dist/visualization.es401.js +66 -0
  674. package/dist/visualization.es401.js.map +1 -0
  675. package/dist/visualization.es402.js +5 -0
  676. package/dist/visualization.es402.js.map +1 -0
  677. package/dist/visualization.es403.js +8 -0
  678. package/dist/visualization.es403.js.map +1 -0
  679. package/dist/visualization.es404.js +8 -0
  680. package/dist/visualization.es404.js.map +1 -0
  681. package/dist/visualization.es405.js +52 -0
  682. package/dist/visualization.es405.js.map +1 -0
  683. package/dist/visualization.es406.js +30 -0
  684. package/dist/visualization.es406.js.map +1 -0
  685. package/dist/visualization.es407.js +20 -0
  686. package/dist/visualization.es407.js.map +1 -0
  687. package/dist/visualization.es408.js +13 -0
  688. package/dist/visualization.es408.js.map +1 -0
  689. package/dist/visualization.es409.js +23 -0
  690. package/dist/visualization.es409.js.map +1 -0
  691. package/dist/visualization.es41.js +58 -0
  692. package/dist/visualization.es41.js.map +1 -0
  693. package/dist/visualization.es410.js +17 -0
  694. package/dist/visualization.es410.js.map +1 -0
  695. package/dist/visualization.es411.js +7 -0
  696. package/dist/visualization.es411.js.map +1 -0
  697. package/dist/visualization.es412.js +16 -0
  698. package/dist/visualization.es412.js.map +1 -0
  699. package/dist/visualization.es413.js +9 -0
  700. package/dist/visualization.es413.js.map +1 -0
  701. package/dist/visualization.es414.js +14 -0
  702. package/dist/visualization.es414.js.map +1 -0
  703. package/dist/visualization.es415.js +5 -0
  704. package/dist/visualization.es415.js.map +1 -0
  705. package/dist/visualization.es416.js +10 -0
  706. package/dist/visualization.es416.js.map +1 -0
  707. package/dist/visualization.es417.js +19 -0
  708. package/dist/visualization.es417.js.map +1 -0
  709. package/dist/visualization.es418.js +18 -0
  710. package/dist/visualization.es418.js.map +1 -0
  711. package/dist/visualization.es419.js +18 -0
  712. package/dist/visualization.es419.js.map +1 -0
  713. package/dist/visualization.es42.js +109 -0
  714. package/dist/visualization.es42.js.map +1 -0
  715. package/dist/visualization.es420.js +5 -0
  716. package/dist/visualization.es420.js.map +1 -0
  717. package/dist/visualization.es421.js +5 -0
  718. package/dist/visualization.es421.js.map +1 -0
  719. package/dist/visualization.es422.js +5 -0
  720. package/dist/visualization.es422.js.map +1 -0
  721. package/dist/visualization.es423.js +8 -0
  722. package/dist/visualization.es423.js.map +1 -0
  723. package/dist/visualization.es424.js +5 -0
  724. package/dist/visualization.es424.js.map +1 -0
  725. package/dist/visualization.es425.js +25 -0
  726. package/dist/visualization.es425.js.map +1 -0
  727. package/dist/visualization.es426.js +25 -0
  728. package/dist/visualization.es426.js.map +1 -0
  729. package/dist/visualization.es427.js +9 -0
  730. package/dist/visualization.es427.js.map +1 -0
  731. package/dist/visualization.es428.js +32 -0
  732. package/dist/visualization.es428.js.map +1 -0
  733. package/dist/visualization.es429.js +24 -0
  734. package/dist/visualization.es429.js.map +1 -0
  735. package/dist/visualization.es43.js +11 -0
  736. package/dist/visualization.es43.js.map +1 -0
  737. package/dist/visualization.es430.js +7 -0
  738. package/dist/visualization.es430.js.map +1 -0
  739. package/dist/visualization.es431.js +39 -0
  740. package/dist/visualization.es431.js.map +1 -0
  741. package/dist/visualization.es432.js +10 -0
  742. package/dist/visualization.es432.js.map +1 -0
  743. package/dist/visualization.es433.js +38 -0
  744. package/dist/visualization.es433.js.map +1 -0
  745. package/dist/visualization.es434.js +15 -0
  746. package/dist/visualization.es434.js.map +1 -0
  747. package/dist/visualization.es435.js +5 -0
  748. package/dist/visualization.es435.js.map +1 -0
  749. package/dist/visualization.es436.js +239 -0
  750. package/dist/visualization.es436.js.map +1 -0
  751. package/dist/visualization.es437.js +996 -0
  752. package/dist/visualization.es437.js.map +1 -0
  753. package/dist/visualization.es438.js +7 -0
  754. package/dist/visualization.es438.js.map +1 -0
  755. package/dist/visualization.es439.js +41 -0
  756. package/dist/visualization.es439.js.map +1 -0
  757. package/dist/visualization.es44.js +44 -0
  758. package/dist/visualization.es44.js.map +1 -0
  759. package/dist/visualization.es440.js +9 -0
  760. package/dist/visualization.es440.js.map +1 -0
  761. package/dist/visualization.es441.js +37 -0
  762. package/dist/visualization.es441.js.map +1 -0
  763. package/dist/visualization.es442.js +11 -0
  764. package/dist/visualization.es442.js.map +1 -0
  765. package/dist/visualization.es443.js +55 -0
  766. package/dist/visualization.es443.js.map +1 -0
  767. package/dist/visualization.es444.js +5 -0
  768. package/dist/visualization.es444.js.map +1 -0
  769. package/dist/visualization.es445.js +15 -0
  770. package/dist/visualization.es445.js.map +1 -0
  771. package/dist/visualization.es446.js +37 -0
  772. package/dist/visualization.es446.js.map +1 -0
  773. package/dist/visualization.es447.js +5 -0
  774. package/dist/visualization.es447.js.map +1 -0
  775. package/dist/visualization.es448.js +79 -0
  776. package/dist/visualization.es448.js.map +1 -0
  777. package/dist/visualization.es449.js +96 -0
  778. package/dist/visualization.es449.js.map +1 -0
  779. package/dist/visualization.es45.js +55 -0
  780. package/dist/visualization.es45.js.map +1 -0
  781. package/dist/visualization.es450.js +55 -0
  782. package/dist/visualization.es450.js.map +1 -0
  783. package/dist/visualization.es451.js +11 -0
  784. package/dist/visualization.es451.js.map +1 -0
  785. package/dist/visualization.es452.js +8 -0
  786. package/dist/visualization.es452.js.map +1 -0
  787. package/dist/visualization.es453.js +55 -0
  788. package/dist/visualization.es453.js.map +1 -0
  789. package/dist/visualization.es454.js +12 -0
  790. package/dist/visualization.es454.js.map +1 -0
  791. package/dist/visualization.es455.js +15 -0
  792. package/dist/visualization.es455.js.map +1 -0
  793. package/dist/visualization.es456.js +16 -0
  794. package/dist/visualization.es456.js.map +1 -0
  795. package/dist/visualization.es457.js +21 -0
  796. package/dist/visualization.es457.js.map +1 -0
  797. package/dist/visualization.es458.js +16 -0
  798. package/dist/visualization.es458.js.map +1 -0
  799. package/dist/visualization.es459.js +15 -0
  800. package/dist/visualization.es459.js.map +1 -0
  801. package/dist/visualization.es46.js +58 -0
  802. package/dist/visualization.es46.js.map +1 -0
  803. package/dist/visualization.es460.js +15 -0
  804. package/dist/visualization.es460.js.map +1 -0
  805. package/dist/visualization.es461.js +16 -0
  806. package/dist/visualization.es461.js.map +1 -0
  807. package/dist/visualization.es462.js +37 -0
  808. package/dist/visualization.es462.js.map +1 -0
  809. package/dist/visualization.es463.js +33 -0
  810. package/dist/visualization.es463.js.map +1 -0
  811. package/dist/visualization.es464.js +13 -0
  812. package/dist/visualization.es464.js.map +1 -0
  813. package/dist/visualization.es465.js +10 -0
  814. package/dist/visualization.es465.js.map +1 -0
  815. package/dist/visualization.es466.js +11 -0
  816. package/dist/visualization.es466.js.map +1 -0
  817. package/dist/visualization.es467.js +13 -0
  818. package/dist/visualization.es467.js.map +1 -0
  819. package/dist/visualization.es468.js +10 -0
  820. package/dist/visualization.es468.js.map +1 -0
  821. package/dist/visualization.es469.js +10 -0
  822. package/dist/visualization.es469.js.map +1 -0
  823. package/dist/visualization.es47.js +41 -0
  824. package/dist/visualization.es47.js.map +1 -0
  825. package/dist/visualization.es470.js +9 -0
  826. package/dist/visualization.es470.js.map +1 -0
  827. package/dist/visualization.es471.js +18 -0
  828. package/dist/visualization.es471.js.map +1 -0
  829. package/dist/visualization.es472.js +9 -0
  830. package/dist/visualization.es472.js.map +1 -0
  831. package/dist/visualization.es473.js +7 -0
  832. package/dist/visualization.es473.js.map +1 -0
  833. package/dist/visualization.es474.js +10 -0
  834. package/dist/visualization.es474.js.map +1 -0
  835. package/dist/visualization.es475.js +10 -0
  836. package/dist/visualization.es475.js.map +1 -0
  837. package/dist/visualization.es476.js +13 -0
  838. package/dist/visualization.es476.js.map +1 -0
  839. package/dist/visualization.es477.js +34 -0
  840. package/dist/visualization.es477.js.map +1 -0
  841. package/dist/visualization.es478.js +28 -0
  842. package/dist/visualization.es478.js.map +1 -0
  843. package/dist/visualization.es479.js +49 -0
  844. package/dist/visualization.es479.js.map +1 -0
  845. package/dist/visualization.es48.js +9 -0
  846. package/dist/visualization.es48.js.map +1 -0
  847. package/dist/visualization.es480.js +12 -0
  848. package/dist/visualization.es480.js.map +1 -0
  849. package/dist/visualization.es481.js +18 -0
  850. package/dist/visualization.es481.js.map +1 -0
  851. package/dist/visualization.es482.js +19 -0
  852. package/dist/visualization.es482.js.map +1 -0
  853. package/dist/visualization.es483.js +19 -0
  854. package/dist/visualization.es483.js.map +1 -0
  855. package/dist/visualization.es484.js +27 -0
  856. package/dist/visualization.es484.js.map +1 -0
  857. package/dist/visualization.es485.js +9 -0
  858. package/dist/visualization.es485.js.map +1 -0
  859. package/dist/visualization.es486.js +14 -0
  860. package/dist/visualization.es486.js.map +1 -0
  861. package/dist/visualization.es487.js +28 -0
  862. package/dist/visualization.es487.js.map +1 -0
  863. package/dist/visualization.es488.js +30 -0
  864. package/dist/visualization.es488.js.map +1 -0
  865. package/dist/visualization.es489.js +13 -0
  866. package/dist/visualization.es489.js.map +1 -0
  867. package/dist/visualization.es49.js +8 -0
  868. package/dist/visualization.es49.js.map +1 -0
  869. package/dist/visualization.es490.js +12 -0
  870. package/dist/visualization.es490.js.map +1 -0
  871. package/dist/visualization.es491.js +24 -0
  872. package/dist/visualization.es491.js.map +1 -0
  873. package/dist/visualization.es492.js +29 -0
  874. package/dist/visualization.es492.js.map +1 -0
  875. package/dist/visualization.es493.js +5 -0
  876. package/dist/visualization.es493.js.map +1 -0
  877. package/dist/visualization.es494.js +12 -0
  878. package/dist/visualization.es494.js.map +1 -0
  879. package/dist/visualization.es495.js +16 -0
  880. package/dist/visualization.es495.js.map +1 -0
  881. package/dist/visualization.es496.js +31 -0
  882. package/dist/visualization.es496.js.map +1 -0
  883. package/dist/visualization.es497.js +14 -0
  884. package/dist/visualization.es497.js.map +1 -0
  885. package/dist/visualization.es498.js +17 -0
  886. package/dist/visualization.es498.js.map +1 -0
  887. package/dist/visualization.es499.js +11 -0
  888. package/dist/visualization.es499.js.map +1 -0
  889. package/dist/visualization.es5.js +139 -0
  890. package/dist/visualization.es5.js.map +1 -0
  891. package/dist/visualization.es50.js +21 -0
  892. package/dist/visualization.es50.js.map +1 -0
  893. package/dist/visualization.es500.js +11 -0
  894. package/dist/visualization.es500.js.map +1 -0
  895. package/dist/visualization.es501.js +18 -0
  896. package/dist/visualization.es501.js.map +1 -0
  897. package/dist/visualization.es502.js +63 -0
  898. package/dist/visualization.es502.js.map +1 -0
  899. package/dist/visualization.es503.js +15 -0
  900. package/dist/visualization.es503.js.map +1 -0
  901. package/dist/visualization.es504.js +21 -0
  902. package/dist/visualization.es504.js.map +1 -0
  903. package/dist/visualization.es505.js +259 -0
  904. package/dist/visualization.es505.js.map +1 -0
  905. package/dist/visualization.es506.js +5 -0
  906. package/dist/visualization.es506.js.map +1 -0
  907. package/dist/visualization.es507.js +85 -0
  908. package/dist/visualization.es507.js.map +1 -0
  909. package/dist/visualization.es508.js +16 -0
  910. package/dist/visualization.es508.js.map +1 -0
  911. package/dist/visualization.es509.js +22 -0
  912. package/dist/visualization.es509.js.map +1 -0
  913. package/dist/visualization.es51.js +8 -0
  914. package/dist/visualization.es51.js.map +1 -0
  915. package/dist/visualization.es510.js +17 -0
  916. package/dist/visualization.es510.js.map +1 -0
  917. package/dist/visualization.es511.js +22 -0
  918. package/dist/visualization.es511.js.map +1 -0
  919. package/dist/visualization.es512.js +11 -0
  920. package/dist/visualization.es512.js.map +1 -0
  921. package/dist/visualization.es513.js +20 -0
  922. package/dist/visualization.es513.js.map +1 -0
  923. package/dist/visualization.es514.js +28 -0
  924. package/dist/visualization.es514.js.map +1 -0
  925. package/dist/visualization.es515.js +15 -0
  926. package/dist/visualization.es515.js.map +1 -0
  927. package/dist/visualization.es516.js +53 -0
  928. package/dist/visualization.es516.js.map +1 -0
  929. package/dist/visualization.es517.js +26 -0
  930. package/dist/visualization.es517.js.map +1 -0
  931. package/dist/visualization.es518.js +35 -0
  932. package/dist/visualization.es518.js.map +1 -0
  933. package/dist/visualization.es519.js +59 -0
  934. package/dist/visualization.es519.js.map +1 -0
  935. package/dist/visualization.es52.js +30 -0
  936. package/dist/visualization.es52.js.map +1 -0
  937. package/dist/visualization.es520.js +14 -0
  938. package/dist/visualization.es520.js.map +1 -0
  939. package/dist/visualization.es521.js +7 -0
  940. package/dist/visualization.es521.js.map +1 -0
  941. package/dist/visualization.es522.js +21 -0
  942. package/dist/visualization.es522.js.map +1 -0
  943. package/dist/visualization.es523.js +78 -0
  944. package/dist/visualization.es523.js.map +1 -0
  945. package/dist/visualization.es524.js +5 -0
  946. package/dist/visualization.es524.js.map +1 -0
  947. package/dist/visualization.es525.js +486 -0
  948. package/dist/visualization.es525.js.map +1 -0
  949. package/dist/visualization.es526.js +5 -0
  950. package/dist/visualization.es526.js.map +1 -0
  951. package/dist/visualization.es527.js +8 -0
  952. package/dist/visualization.es527.js.map +1 -0
  953. package/dist/visualization.es528.js +9 -0
  954. package/dist/visualization.es528.js.map +1 -0
  955. package/dist/visualization.es529.js +23 -0
  956. package/dist/visualization.es529.js.map +1 -0
  957. package/dist/visualization.es53.js +34 -0
  958. package/dist/visualization.es53.js.map +1 -0
  959. package/dist/visualization.es530.js +7 -0
  960. package/dist/visualization.es530.js.map +1 -0
  961. package/dist/visualization.es531.js +7 -0
  962. package/dist/visualization.es531.js.map +1 -0
  963. package/dist/visualization.es532.js +7 -0
  964. package/dist/visualization.es532.js.map +1 -0
  965. package/dist/visualization.es533.js +19 -0
  966. package/dist/visualization.es533.js.map +1 -0
  967. package/dist/visualization.es534.js +7 -0
  968. package/dist/visualization.es534.js.map +1 -0
  969. package/dist/visualization.es535.js +13 -0
  970. package/dist/visualization.es535.js.map +1 -0
  971. package/dist/visualization.es536.js +8 -0
  972. package/dist/visualization.es536.js.map +1 -0
  973. package/dist/visualization.es537.js +9 -0
  974. package/dist/visualization.es537.js.map +1 -0
  975. package/dist/visualization.es538.js +13 -0
  976. package/dist/visualization.es538.js.map +1 -0
  977. package/dist/visualization.es539.js +11 -0
  978. package/dist/visualization.es539.js.map +1 -0
  979. package/dist/visualization.es54.js +50 -0
  980. package/dist/visualization.es54.js.map +1 -0
  981. package/dist/visualization.es540.js +8 -0
  982. package/dist/visualization.es540.js.map +1 -0
  983. package/dist/visualization.es541.js +7 -0
  984. package/dist/visualization.es541.js.map +1 -0
  985. package/dist/visualization.es542.js +7 -0
  986. package/dist/visualization.es542.js.map +1 -0
  987. package/dist/visualization.es543.js +15 -0
  988. package/dist/visualization.es543.js.map +1 -0
  989. package/dist/visualization.es544.js +13 -0
  990. package/dist/visualization.es544.js.map +1 -0
  991. package/dist/visualization.es545.js +34 -0
  992. package/dist/visualization.es545.js.map +1 -0
  993. package/dist/visualization.es546.js +28 -0
  994. package/dist/visualization.es546.js.map +1 -0
  995. package/dist/visualization.es547.js +55 -0
  996. package/dist/visualization.es547.js.map +1 -0
  997. package/dist/visualization.es548.js +7 -0
  998. package/dist/visualization.es548.js.map +1 -0
  999. package/dist/visualization.es549.js +12 -0
  1000. package/dist/visualization.es549.js.map +1 -0
  1001. package/dist/visualization.es55.js +57 -0
  1002. package/dist/visualization.es55.js.map +1 -0
  1003. package/dist/visualization.es550.js +24 -0
  1004. package/dist/visualization.es550.js.map +1 -0
  1005. package/dist/visualization.es551.js +11 -0
  1006. package/dist/visualization.es551.js.map +1 -0
  1007. package/dist/visualization.es552.js +10 -0
  1008. package/dist/visualization.es552.js.map +1 -0
  1009. package/dist/visualization.es553.js +9 -0
  1010. package/dist/visualization.es553.js.map +1 -0
  1011. package/dist/visualization.es554.js +11 -0
  1012. package/dist/visualization.es554.js.map +1 -0
  1013. package/dist/visualization.es555.js +19 -0
  1014. package/dist/visualization.es555.js.map +1 -0
  1015. package/dist/visualization.es556.js +8 -0
  1016. package/dist/visualization.es556.js.map +1 -0
  1017. package/dist/visualization.es557.js +10 -0
  1018. package/dist/visualization.es557.js.map +1 -0
  1019. package/dist/visualization.es558.js +38 -0
  1020. package/dist/visualization.es558.js.map +1 -0
  1021. package/dist/visualization.es559.js +12 -0
  1022. package/dist/visualization.es559.js.map +1 -0
  1023. package/dist/visualization.es56.js +72 -0
  1024. package/dist/visualization.es56.js.map +1 -0
  1025. package/dist/visualization.es560.js +8 -0
  1026. package/dist/visualization.es560.js.map +1 -0
  1027. package/dist/visualization.es561.js +7 -0
  1028. package/dist/visualization.es561.js.map +1 -0
  1029. package/dist/visualization.es562.js +5 -0
  1030. package/dist/visualization.es562.js.map +1 -0
  1031. package/dist/visualization.es563.js +13 -0
  1032. package/dist/visualization.es563.js.map +1 -0
  1033. package/dist/visualization.es564.js +13 -0
  1034. package/dist/visualization.es564.js.map +1 -0
  1035. package/dist/visualization.es565.js +10 -0
  1036. package/dist/visualization.es565.js.map +1 -0
  1037. package/dist/visualization.es566.js +12 -0
  1038. package/dist/visualization.es566.js.map +1 -0
  1039. package/dist/visualization.es567.js +10 -0
  1040. package/dist/visualization.es567.js.map +1 -0
  1041. package/dist/visualization.es568.js +9 -0
  1042. package/dist/visualization.es568.js.map +1 -0
  1043. package/dist/visualization.es569.js +18 -0
  1044. package/dist/visualization.es569.js.map +1 -0
  1045. package/dist/visualization.es57.js +32 -0
  1046. package/dist/visualization.es57.js.map +1 -0
  1047. package/dist/visualization.es570.js +9 -0
  1048. package/dist/visualization.es570.js.map +1 -0
  1049. package/dist/visualization.es571.js +10 -0
  1050. package/dist/visualization.es571.js.map +1 -0
  1051. package/dist/visualization.es572.js +10 -0
  1052. package/dist/visualization.es572.js.map +1 -0
  1053. package/dist/visualization.es573.js +10 -0
  1054. package/dist/visualization.es573.js.map +1 -0
  1055. package/dist/visualization.es574.js +7 -0
  1056. package/dist/visualization.es574.js.map +1 -0
  1057. package/dist/visualization.es575.js +8 -0
  1058. package/dist/visualization.es575.js.map +1 -0
  1059. package/dist/visualization.es576.js +13 -0
  1060. package/dist/visualization.es576.js.map +1 -0
  1061. package/dist/visualization.es577.js +5 -0
  1062. package/dist/visualization.es577.js.map +1 -0
  1063. package/dist/visualization.es578.js +5 -0
  1064. package/dist/visualization.es578.js.map +1 -0
  1065. package/dist/visualization.es579.js +12 -0
  1066. package/dist/visualization.es579.js.map +1 -0
  1067. package/dist/visualization.es58.js +68 -0
  1068. package/dist/visualization.es58.js.map +1 -0
  1069. package/dist/visualization.es580.js +16 -0
  1070. package/dist/visualization.es580.js.map +1 -0
  1071. package/dist/visualization.es581.js +17 -0
  1072. package/dist/visualization.es581.js.map +1 -0
  1073. package/dist/visualization.es582.js +13 -0
  1074. package/dist/visualization.es582.js.map +1 -0
  1075. package/dist/visualization.es583.js +23 -0
  1076. package/dist/visualization.es583.js.map +1 -0
  1077. package/dist/visualization.es584.js +23 -0
  1078. package/dist/visualization.es584.js.map +1 -0
  1079. package/dist/visualization.es585.js +13 -0
  1080. package/dist/visualization.es585.js.map +1 -0
  1081. package/dist/visualization.es586.js +16 -0
  1082. package/dist/visualization.es586.js.map +1 -0
  1083. package/dist/visualization.es587.js +18 -0
  1084. package/dist/visualization.es587.js.map +1 -0
  1085. package/dist/visualization.es588.js +34 -0
  1086. package/dist/visualization.es588.js.map +1 -0
  1087. package/dist/visualization.es589.js +6 -0
  1088. package/dist/visualization.es589.js.map +1 -0
  1089. package/dist/visualization.es59.js +65 -0
  1090. package/dist/visualization.es59.js.map +1 -0
  1091. package/dist/visualization.es590.js +5 -0
  1092. package/dist/visualization.es590.js.map +1 -0
  1093. package/dist/visualization.es591.js +11 -0
  1094. package/dist/visualization.es591.js.map +1 -0
  1095. package/dist/visualization.es592.js +6 -0
  1096. package/dist/visualization.es592.js.map +1 -0
  1097. package/dist/visualization.es593.js +159 -0
  1098. package/dist/visualization.es593.js.map +1 -0
  1099. package/dist/visualization.es594.js +36 -0
  1100. package/dist/visualization.es594.js.map +1 -0
  1101. package/dist/visualization.es595.js +10 -0
  1102. package/dist/visualization.es595.js.map +1 -0
  1103. package/dist/visualization.es596.js +38 -0
  1104. package/dist/visualization.es596.js.map +1 -0
  1105. package/dist/visualization.es597.js +7 -0
  1106. package/dist/visualization.es597.js.map +1 -0
  1107. package/dist/visualization.es598.js +7 -0
  1108. package/dist/visualization.es598.js.map +1 -0
  1109. package/dist/visualization.es599.js +29 -0
  1110. package/dist/visualization.es599.js.map +1 -0
  1111. package/dist/visualization.es6.js +62 -0
  1112. package/dist/visualization.es6.js.map +1 -0
  1113. package/dist/visualization.es60.js +7 -0
  1114. package/dist/visualization.es60.js.map +1 -0
  1115. package/dist/visualization.es600.js +36 -0
  1116. package/dist/visualization.es600.js.map +1 -0
  1117. package/dist/visualization.es601.js +17 -0
  1118. package/dist/visualization.es601.js.map +1 -0
  1119. package/dist/visualization.es602.js +32 -0
  1120. package/dist/visualization.es602.js.map +1 -0
  1121. package/dist/visualization.es603.js +76 -0
  1122. package/dist/visualization.es603.js.map +1 -0
  1123. package/dist/visualization.es604.js +33 -0
  1124. package/dist/visualization.es604.js.map +1 -0
  1125. package/dist/visualization.es605.js +9 -0
  1126. package/dist/visualization.es605.js.map +1 -0
  1127. package/dist/visualization.es606.js +29 -0
  1128. package/dist/visualization.es606.js.map +1 -0
  1129. package/dist/visualization.es607.js +16 -0
  1130. package/dist/visualization.es607.js.map +1 -0
  1131. package/dist/visualization.es608.js +8 -0
  1132. package/dist/visualization.es608.js.map +1 -0
  1133. package/dist/visualization.es609.js +8 -0
  1134. package/dist/visualization.es609.js.map +1 -0
  1135. package/dist/visualization.es61.js +50 -0
  1136. package/dist/visualization.es61.js.map +1 -0
  1137. package/dist/visualization.es610.js +8 -0
  1138. package/dist/visualization.es610.js.map +1 -0
  1139. package/dist/visualization.es611.js +16 -0
  1140. package/dist/visualization.es611.js.map +1 -0
  1141. package/dist/visualization.es612.js +21 -0
  1142. package/dist/visualization.es612.js.map +1 -0
  1143. package/dist/visualization.es613.js +17 -0
  1144. package/dist/visualization.es613.js.map +1 -0
  1145. package/dist/visualization.es614.js +17 -0
  1146. package/dist/visualization.es614.js.map +1 -0
  1147. package/dist/visualization.es615.js +12 -0
  1148. package/dist/visualization.es615.js.map +1 -0
  1149. package/dist/visualization.es616.js +26 -0
  1150. package/dist/visualization.es616.js.map +1 -0
  1151. package/dist/visualization.es617.js +9 -0
  1152. package/dist/visualization.es617.js.map +1 -0
  1153. package/dist/visualization.es618.js +19 -0
  1154. package/dist/visualization.es618.js.map +1 -0
  1155. package/dist/visualization.es619.js +16 -0
  1156. package/dist/visualization.es619.js.map +1 -0
  1157. package/dist/visualization.es62.js +7 -0
  1158. package/dist/visualization.es62.js.map +1 -0
  1159. package/dist/visualization.es620.js +28 -0
  1160. package/dist/visualization.es620.js.map +1 -0
  1161. package/dist/visualization.es621.js +23 -0
  1162. package/dist/visualization.es621.js.map +1 -0
  1163. package/dist/visualization.es622.js +10 -0
  1164. package/dist/visualization.es622.js.map +1 -0
  1165. package/dist/visualization.es623.js +9 -0
  1166. package/dist/visualization.es623.js.map +1 -0
  1167. package/dist/visualization.es624.js +7 -0
  1168. package/dist/visualization.es624.js.map +1 -0
  1169. package/dist/visualization.es625.js +68 -0
  1170. package/dist/visualization.es625.js.map +1 -0
  1171. package/dist/visualization.es626.js +5 -0
  1172. package/dist/visualization.es626.js.map +1 -0
  1173. package/dist/visualization.es627.js +8 -0
  1174. package/dist/visualization.es627.js.map +1 -0
  1175. package/dist/visualization.es628.js +12 -0
  1176. package/dist/visualization.es628.js.map +1 -0
  1177. package/dist/visualization.es629.js +10 -0
  1178. package/dist/visualization.es629.js.map +1 -0
  1179. package/dist/visualization.es63.js +17 -0
  1180. package/dist/visualization.es63.js.map +1 -0
  1181. package/dist/visualization.es630.js +22 -0
  1182. package/dist/visualization.es630.js.map +1 -0
  1183. package/dist/visualization.es631.js +18 -0
  1184. package/dist/visualization.es631.js.map +1 -0
  1185. package/dist/visualization.es632.js +11 -0
  1186. package/dist/visualization.es632.js.map +1 -0
  1187. package/dist/visualization.es633.js +5 -0
  1188. package/dist/visualization.es633.js.map +1 -0
  1189. package/dist/visualization.es634.js +24 -0
  1190. package/dist/visualization.es634.js.map +1 -0
  1191. package/dist/visualization.es635.js +31 -0
  1192. package/dist/visualization.es635.js.map +1 -0
  1193. package/dist/visualization.es636.js +18 -0
  1194. package/dist/visualization.es636.js.map +1 -0
  1195. package/dist/visualization.es637.js +267 -0
  1196. package/dist/visualization.es637.js.map +1 -0
  1197. package/dist/visualization.es638.js +9 -0
  1198. package/dist/visualization.es638.js.map +1 -0
  1199. package/dist/visualization.es639.js +258 -0
  1200. package/dist/visualization.es639.js.map +1 -0
  1201. package/dist/visualization.es64.js +11 -0
  1202. package/dist/visualization.es64.js.map +1 -0
  1203. package/dist/visualization.es640.js +12 -0
  1204. package/dist/visualization.es640.js.map +1 -0
  1205. package/dist/visualization.es641.js +22 -0
  1206. package/dist/visualization.es641.js.map +1 -0
  1207. package/dist/visualization.es642.js +14 -0
  1208. package/dist/visualization.es642.js.map +1 -0
  1209. package/dist/visualization.es643.js +14 -0
  1210. package/dist/visualization.es643.js.map +1 -0
  1211. package/dist/visualization.es644.js +15 -0
  1212. package/dist/visualization.es644.js.map +1 -0
  1213. package/dist/visualization.es645.js +14 -0
  1214. package/dist/visualization.es645.js.map +1 -0
  1215. package/dist/visualization.es646.js +20 -0
  1216. package/dist/visualization.es646.js.map +1 -0
  1217. package/dist/visualization.es647.js +16 -0
  1218. package/dist/visualization.es647.js.map +1 -0
  1219. package/dist/visualization.es648.js +16 -0
  1220. package/dist/visualization.es648.js.map +1 -0
  1221. package/dist/visualization.es649.js +13 -0
  1222. package/dist/visualization.es649.js.map +1 -0
  1223. package/dist/visualization.es65.js +5 -0
  1224. package/dist/visualization.es65.js.map +1 -0
  1225. package/dist/visualization.es650.js +19 -0
  1226. package/dist/visualization.es650.js.map +1 -0
  1227. package/dist/visualization.es651.js +16 -0
  1228. package/dist/visualization.es651.js.map +1 -0
  1229. package/dist/visualization.es652.js +15 -0
  1230. package/dist/visualization.es652.js.map +1 -0
  1231. package/dist/visualization.es653.js +16 -0
  1232. package/dist/visualization.es653.js.map +1 -0
  1233. package/dist/visualization.es654.js +17 -0
  1234. package/dist/visualization.es654.js.map +1 -0
  1235. package/dist/visualization.es655.js +294 -0
  1236. package/dist/visualization.es655.js.map +1 -0
  1237. package/dist/visualization.es656.js +61 -0
  1238. package/dist/visualization.es656.js.map +1 -0
  1239. package/dist/visualization.es657.js +34 -0
  1240. package/dist/visualization.es657.js.map +1 -0
  1241. package/dist/visualization.es658.js +121 -0
  1242. package/dist/visualization.es658.js.map +1 -0
  1243. package/dist/visualization.es659.js +63 -0
  1244. package/dist/visualization.es659.js.map +1 -0
  1245. package/dist/visualization.es66.js +36 -0
  1246. package/dist/visualization.es66.js.map +1 -0
  1247. package/dist/visualization.es660.js +16 -0
  1248. package/dist/visualization.es660.js.map +1 -0
  1249. package/dist/visualization.es661.js +85 -0
  1250. package/dist/visualization.es661.js.map +1 -0
  1251. package/dist/visualization.es662.js +7 -0
  1252. package/dist/visualization.es662.js.map +1 -0
  1253. package/dist/visualization.es663.js +18 -0
  1254. package/dist/visualization.es663.js.map +1 -0
  1255. package/dist/visualization.es664.js +13 -0
  1256. package/dist/visualization.es664.js.map +1 -0
  1257. package/dist/visualization.es665.js +42 -0
  1258. package/dist/visualization.es665.js.map +1 -0
  1259. package/dist/visualization.es666.js +118 -0
  1260. package/dist/visualization.es666.js.map +1 -0
  1261. package/dist/visualization.es667.js +32 -0
  1262. package/dist/visualization.es667.js.map +1 -0
  1263. package/dist/visualization.es668.js +10 -0
  1264. package/dist/visualization.es668.js.map +1 -0
  1265. package/dist/visualization.es669.js +7 -0
  1266. package/dist/visualization.es669.js.map +1 -0
  1267. package/dist/visualization.es67.js +248 -0
  1268. package/dist/visualization.es67.js.map +1 -0
  1269. package/dist/visualization.es670.js +8 -0
  1270. package/dist/visualization.es670.js.map +1 -0
  1271. package/dist/visualization.es671.js +97 -0
  1272. package/dist/visualization.es671.js.map +1 -0
  1273. package/dist/visualization.es672.js +297 -0
  1274. package/dist/visualization.es672.js.map +1 -0
  1275. package/dist/visualization.es673.js +97 -0
  1276. package/dist/visualization.es673.js.map +1 -0
  1277. package/dist/visualization.es674.js +11 -0
  1278. package/dist/visualization.es674.js.map +1 -0
  1279. package/dist/visualization.es675.js +50 -0
  1280. package/dist/visualization.es675.js.map +1 -0
  1281. package/dist/visualization.es676.js +44 -0
  1282. package/dist/visualization.es676.js.map +1 -0
  1283. package/dist/visualization.es677.js +64 -0
  1284. package/dist/visualization.es677.js.map +1 -0
  1285. package/dist/visualization.es678.js +79 -0
  1286. package/dist/visualization.es678.js.map +1 -0
  1287. package/dist/visualization.es679.js +27 -0
  1288. package/dist/visualization.es679.js.map +1 -0
  1289. package/dist/visualization.es68.js +16 -0
  1290. package/dist/visualization.es68.js.map +1 -0
  1291. package/dist/visualization.es680.js +46 -0
  1292. package/dist/visualization.es680.js.map +1 -0
  1293. package/dist/visualization.es681.js +36 -0
  1294. package/dist/visualization.es681.js.map +1 -0
  1295. package/dist/visualization.es682.js +7 -0
  1296. package/dist/visualization.es682.js.map +1 -0
  1297. package/dist/visualization.es683.js +9 -0
  1298. package/dist/visualization.es683.js.map +1 -0
  1299. package/dist/visualization.es684.js +9 -0
  1300. package/dist/visualization.es684.js.map +1 -0
  1301. package/dist/visualization.es685.js +17 -0
  1302. package/dist/visualization.es685.js.map +1 -0
  1303. package/dist/visualization.es686.js +5 -0
  1304. package/dist/visualization.es686.js.map +1 -0
  1305. package/dist/visualization.es687.js +5 -0
  1306. package/dist/visualization.es687.js.map +1 -0
  1307. package/dist/visualization.es688.js +23 -0
  1308. package/dist/visualization.es688.js.map +1 -0
  1309. package/dist/visualization.es689.js +13 -0
  1310. package/dist/visualization.es689.js.map +1 -0
  1311. package/dist/visualization.es69.js +77 -0
  1312. package/dist/visualization.es69.js.map +1 -0
  1313. package/dist/visualization.es690.js +18 -0
  1314. package/dist/visualization.es690.js.map +1 -0
  1315. package/dist/visualization.es691.js +12 -0
  1316. package/dist/visualization.es691.js.map +1 -0
  1317. package/dist/visualization.es692.js +11 -0
  1318. package/dist/visualization.es692.js.map +1 -0
  1319. package/dist/visualization.es693.js +7 -0
  1320. package/dist/visualization.es693.js.map +1 -0
  1321. package/dist/visualization.es694.js +7 -0
  1322. package/dist/visualization.es694.js.map +1 -0
  1323. package/dist/visualization.es695.js +340 -0
  1324. package/dist/visualization.es695.js.map +1 -0
  1325. package/dist/visualization.es696.js +146 -0
  1326. package/dist/visualization.es696.js.map +1 -0
  1327. package/dist/visualization.es697.js +40 -0
  1328. package/dist/visualization.es697.js.map +1 -0
  1329. package/dist/visualization.es698.js +22 -0
  1330. package/dist/visualization.es698.js.map +1 -0
  1331. package/dist/visualization.es699.js +126 -0
  1332. package/dist/visualization.es699.js.map +1 -0
  1333. package/dist/visualization.es7.js +161 -0
  1334. package/dist/visualization.es7.js.map +1 -0
  1335. package/dist/visualization.es70.js +36 -0
  1336. package/dist/visualization.es70.js.map +1 -0
  1337. package/dist/visualization.es700.js +51 -0
  1338. package/dist/visualization.es700.js.map +1 -0
  1339. package/dist/visualization.es701.js +11 -0
  1340. package/dist/visualization.es701.js.map +1 -0
  1341. package/dist/visualization.es702.js +192 -0
  1342. package/dist/visualization.es702.js.map +1 -0
  1343. package/dist/visualization.es703.js +26 -0
  1344. package/dist/visualization.es703.js.map +1 -0
  1345. package/dist/visualization.es704.js +29 -0
  1346. package/dist/visualization.es704.js.map +1 -0
  1347. package/dist/visualization.es705.js +32 -0
  1348. package/dist/visualization.es705.js.map +1 -0
  1349. package/dist/visualization.es706.js +15 -0
  1350. package/dist/visualization.es706.js.map +1 -0
  1351. package/dist/visualization.es707.js +28 -0
  1352. package/dist/visualization.es707.js.map +1 -0
  1353. package/dist/visualization.es708.js +8 -0
  1354. package/dist/visualization.es708.js.map +1 -0
  1355. package/dist/visualization.es709.js +200 -0
  1356. package/dist/visualization.es709.js.map +1 -0
  1357. package/dist/visualization.es71.js +10 -0
  1358. package/dist/visualization.es71.js.map +1 -0
  1359. package/dist/visualization.es710.js +13 -0
  1360. package/dist/visualization.es710.js.map +1 -0
  1361. package/dist/visualization.es711.js +8 -0
  1362. package/dist/visualization.es711.js.map +1 -0
  1363. package/dist/visualization.es712.js +10 -0
  1364. package/dist/visualization.es712.js.map +1 -0
  1365. package/dist/visualization.es713.js +33 -0
  1366. package/dist/visualization.es713.js.map +1 -0
  1367. package/dist/visualization.es714.js +121 -0
  1368. package/dist/visualization.es714.js.map +1 -0
  1369. package/dist/visualization.es715.js +262 -0
  1370. package/dist/visualization.es715.js.map +1 -0
  1371. package/dist/visualization.es716.js +163 -0
  1372. package/dist/visualization.es716.js.map +1 -0
  1373. package/dist/visualization.es717.js +78 -0
  1374. package/dist/visualization.es717.js.map +1 -0
  1375. package/dist/visualization.es718.js +23 -0
  1376. package/dist/visualization.es718.js.map +1 -0
  1377. package/dist/visualization.es719.js +54 -0
  1378. package/dist/visualization.es719.js.map +1 -0
  1379. package/dist/visualization.es72.js +16 -0
  1380. package/dist/visualization.es72.js.map +1 -0
  1381. package/dist/visualization.es720.js +10 -0
  1382. package/dist/visualization.es720.js.map +1 -0
  1383. package/dist/visualization.es721.js +6 -0
  1384. package/dist/visualization.es721.js.map +1 -0
  1385. package/dist/visualization.es722.js +11 -0
  1386. package/dist/visualization.es722.js.map +1 -0
  1387. package/dist/visualization.es723.js +8 -0
  1388. package/dist/visualization.es723.js.map +1 -0
  1389. package/dist/visualization.es724.js +6 -0
  1390. package/dist/visualization.es724.js.map +1 -0
  1391. package/dist/visualization.es725.js +45 -0
  1392. package/dist/visualization.es725.js.map +1 -0
  1393. package/dist/visualization.es726.js +29 -0
  1394. package/dist/visualization.es726.js.map +1 -0
  1395. package/dist/visualization.es727.js +16 -0
  1396. package/dist/visualization.es727.js.map +1 -0
  1397. package/dist/visualization.es728.js +19 -0
  1398. package/dist/visualization.es728.js.map +1 -0
  1399. package/dist/visualization.es729.js +13 -0
  1400. package/dist/visualization.es729.js.map +1 -0
  1401. package/dist/visualization.es73.js +10 -0
  1402. package/dist/visualization.es73.js.map +1 -0
  1403. package/dist/visualization.es730.js +13 -0
  1404. package/dist/visualization.es730.js.map +1 -0
  1405. package/dist/visualization.es731.js +7 -0
  1406. package/dist/visualization.es731.js.map +1 -0
  1407. package/dist/visualization.es732.js +9 -0
  1408. package/dist/visualization.es732.js.map +1 -0
  1409. package/dist/visualization.es733.js +69 -0
  1410. package/dist/visualization.es733.js.map +1 -0
  1411. package/dist/visualization.es734.js +8 -0
  1412. package/dist/visualization.es734.js.map +1 -0
  1413. package/dist/visualization.es735.js +11 -0
  1414. package/dist/visualization.es735.js.map +1 -0
  1415. package/dist/visualization.es736.js +11 -0
  1416. package/dist/visualization.es736.js.map +1 -0
  1417. package/dist/visualization.es737.js +20 -0
  1418. package/dist/visualization.es737.js.map +1 -0
  1419. package/dist/visualization.es738.js +22 -0
  1420. package/dist/visualization.es738.js.map +1 -0
  1421. package/dist/visualization.es739.js +13 -0
  1422. package/dist/visualization.es739.js.map +1 -0
  1423. package/dist/visualization.es74.js +8 -0
  1424. package/dist/visualization.es74.js.map +1 -0
  1425. package/dist/visualization.es740.js +7 -0
  1426. package/dist/visualization.es740.js.map +1 -0
  1427. package/dist/visualization.es741.js +32 -0
  1428. package/dist/visualization.es741.js.map +1 -0
  1429. package/dist/visualization.es742.js +9 -0
  1430. package/dist/visualization.es742.js.map +1 -0
  1431. package/dist/visualization.es743.js +14 -0
  1432. package/dist/visualization.es743.js.map +1 -0
  1433. package/dist/visualization.es744.js +10 -0
  1434. package/dist/visualization.es744.js.map +1 -0
  1435. package/dist/visualization.es745.js +15 -0
  1436. package/dist/visualization.es745.js.map +1 -0
  1437. package/dist/visualization.es746.js +25 -0
  1438. package/dist/visualization.es746.js.map +1 -0
  1439. package/dist/visualization.es747.js +5 -0
  1440. package/dist/visualization.es747.js.map +1 -0
  1441. package/dist/visualization.es748.js +16 -0
  1442. package/dist/visualization.es748.js.map +1 -0
  1443. package/dist/visualization.es749.js +306 -0
  1444. package/dist/visualization.es749.js.map +1 -0
  1445. package/dist/visualization.es75.js +8 -0
  1446. package/dist/visualization.es75.js.map +1 -0
  1447. package/dist/visualization.es750.js +30 -0
  1448. package/dist/visualization.es750.js.map +1 -0
  1449. package/dist/visualization.es751.js +81 -0
  1450. package/dist/visualization.es751.js.map +1 -0
  1451. package/dist/visualization.es752.js +38 -0
  1452. package/dist/visualization.es752.js.map +1 -0
  1453. package/dist/visualization.es753.js +19 -0
  1454. package/dist/visualization.es753.js.map +1 -0
  1455. package/dist/visualization.es754.js +18 -0
  1456. package/dist/visualization.es754.js.map +1 -0
  1457. package/dist/visualization.es755.js +24 -0
  1458. package/dist/visualization.es755.js.map +1 -0
  1459. package/dist/visualization.es756.js +13 -0
  1460. package/dist/visualization.es756.js.map +1 -0
  1461. package/dist/visualization.es757.js +67 -0
  1462. package/dist/visualization.es757.js.map +1 -0
  1463. package/dist/visualization.es758.js +45 -0
  1464. package/dist/visualization.es758.js.map +1 -0
  1465. package/dist/visualization.es759.js +8 -0
  1466. package/dist/visualization.es759.js.map +1 -0
  1467. package/dist/visualization.es76.js +8 -0
  1468. package/dist/visualization.es76.js.map +1 -0
  1469. package/dist/visualization.es760.js +42 -0
  1470. package/dist/visualization.es760.js.map +1 -0
  1471. package/dist/visualization.es761.js +30 -0
  1472. package/dist/visualization.es761.js.map +1 -0
  1473. package/dist/visualization.es762.js +11 -0
  1474. package/dist/visualization.es762.js.map +1 -0
  1475. package/dist/visualization.es763.js +81 -0
  1476. package/dist/visualization.es763.js.map +1 -0
  1477. package/dist/visualization.es764.js +20 -0
  1478. package/dist/visualization.es764.js.map +1 -0
  1479. package/dist/visualization.es765.js +5 -0
  1480. package/dist/visualization.es765.js.map +1 -0
  1481. package/dist/visualization.es766.js +5 -0
  1482. package/dist/visualization.es766.js.map +1 -0
  1483. package/dist/visualization.es767.js +5 -0
  1484. package/dist/visualization.es767.js.map +1 -0
  1485. package/dist/visualization.es768.js +5 -0
  1486. package/dist/visualization.es768.js.map +1 -0
  1487. package/dist/visualization.es769.js +5 -0
  1488. package/dist/visualization.es769.js.map +1 -0
  1489. package/dist/visualization.es77.js +225 -0
  1490. package/dist/visualization.es77.js.map +1 -0
  1491. package/dist/visualization.es770.js +7 -0
  1492. package/dist/visualization.es770.js.map +1 -0
  1493. package/dist/visualization.es771.js +49 -0
  1494. package/dist/visualization.es771.js.map +1 -0
  1495. package/dist/visualization.es772.js +14 -0
  1496. package/dist/visualization.es772.js.map +1 -0
  1497. package/dist/visualization.es773.js +8 -0
  1498. package/dist/visualization.es773.js.map +1 -0
  1499. package/dist/visualization.es774.js +20 -0
  1500. package/dist/visualization.es774.js.map +1 -0
  1501. package/dist/visualization.es775.js +12 -0
  1502. package/dist/visualization.es775.js.map +1 -0
  1503. package/dist/visualization.es776.js +11 -0
  1504. package/dist/visualization.es776.js.map +1 -0
  1505. package/dist/visualization.es777.js +11 -0
  1506. package/dist/visualization.es777.js.map +1 -0
  1507. package/dist/visualization.es778.js +11 -0
  1508. package/dist/visualization.es778.js.map +1 -0
  1509. package/dist/visualization.es779.js +11 -0
  1510. package/dist/visualization.es779.js.map +1 -0
  1511. package/dist/visualization.es78.js +5 -0
  1512. package/dist/visualization.es78.js.map +1 -0
  1513. package/dist/visualization.es780.js +12 -0
  1514. package/dist/visualization.es780.js.map +1 -0
  1515. package/dist/visualization.es781.js +8 -0
  1516. package/dist/visualization.es781.js.map +1 -0
  1517. package/dist/visualization.es782.js +14 -0
  1518. package/dist/visualization.es782.js.map +1 -0
  1519. package/dist/visualization.es783.js +6 -0
  1520. package/dist/visualization.es783.js.map +1 -0
  1521. package/dist/visualization.es784.js +6 -0
  1522. package/dist/visualization.es784.js.map +1 -0
  1523. package/dist/visualization.es785.js +12 -0
  1524. package/dist/visualization.es785.js.map +1 -0
  1525. package/dist/visualization.es786.js +16 -0
  1526. package/dist/visualization.es786.js.map +1 -0
  1527. package/dist/visualization.es787.js +11 -0
  1528. package/dist/visualization.es787.js.map +1 -0
  1529. package/dist/visualization.es788.js +235 -0
  1530. package/dist/visualization.es788.js.map +1 -0
  1531. package/dist/visualization.es789.js +63 -0
  1532. package/dist/visualization.es789.js.map +1 -0
  1533. package/dist/visualization.es79.js +560 -0
  1534. package/dist/visualization.es79.js.map +1 -0
  1535. package/dist/visualization.es790.js +246 -0
  1536. package/dist/visualization.es790.js.map +1 -0
  1537. package/dist/visualization.es791.js +11 -0
  1538. package/dist/visualization.es791.js.map +1 -0
  1539. package/dist/visualization.es792.js +52 -0
  1540. package/dist/visualization.es792.js.map +1 -0
  1541. package/dist/visualization.es793.js +24 -0
  1542. package/dist/visualization.es793.js.map +1 -0
  1543. package/dist/visualization.es794.js +6 -0
  1544. package/dist/visualization.es794.js.map +1 -0
  1545. package/dist/visualization.es795.js +6 -0
  1546. package/dist/visualization.es795.js.map +1 -0
  1547. package/dist/visualization.es796.js +325 -0
  1548. package/dist/visualization.es796.js.map +1 -0
  1549. package/dist/visualization.es797.js +10 -0
  1550. package/dist/visualization.es797.js.map +1 -0
  1551. package/dist/visualization.es798.js +10 -0
  1552. package/dist/visualization.es798.js.map +1 -0
  1553. package/dist/visualization.es799.js +10 -0
  1554. package/dist/visualization.es799.js.map +1 -0
  1555. package/dist/visualization.es8.js +107 -0
  1556. package/dist/visualization.es8.js.map +1 -0
  1557. package/dist/visualization.es80.js +217 -0
  1558. package/dist/visualization.es80.js.map +1 -0
  1559. package/dist/visualization.es800.js +9 -0
  1560. package/dist/visualization.es800.js.map +1 -0
  1561. package/dist/visualization.es801.js +18 -0
  1562. package/dist/visualization.es801.js.map +1 -0
  1563. package/dist/visualization.es802.js +337 -0
  1564. package/dist/visualization.es802.js.map +1 -0
  1565. package/dist/visualization.es803.js +14 -0
  1566. package/dist/visualization.es803.js.map +1 -0
  1567. package/dist/visualization.es804.js +11 -0
  1568. package/dist/visualization.es804.js.map +1 -0
  1569. package/dist/visualization.es805.js +5 -0
  1570. package/dist/visualization.es805.js.map +1 -0
  1571. package/dist/visualization.es806.js +78 -0
  1572. package/dist/visualization.es806.js.map +1 -0
  1573. package/dist/visualization.es807.js +78 -0
  1574. package/dist/visualization.es807.js.map +1 -0
  1575. package/dist/visualization.es808.js +13 -0
  1576. package/dist/visualization.es808.js.map +1 -0
  1577. package/dist/visualization.es809.js +6 -0
  1578. package/dist/visualization.es809.js.map +1 -0
  1579. package/dist/visualization.es81.js +5 -0
  1580. package/dist/visualization.es81.js.map +1 -0
  1581. package/dist/visualization.es810.js +75 -0
  1582. package/dist/visualization.es810.js.map +1 -0
  1583. package/dist/visualization.es811.js +121 -0
  1584. package/dist/visualization.es811.js.map +1 -0
  1585. package/dist/visualization.es812.js +7 -0
  1586. package/dist/visualization.es812.js.map +1 -0
  1587. package/dist/visualization.es813.js +67 -0
  1588. package/dist/visualization.es813.js.map +1 -0
  1589. package/dist/visualization.es814.js +27 -0
  1590. package/dist/visualization.es814.js.map +1 -0
  1591. package/dist/visualization.es815.js +7 -0
  1592. package/dist/visualization.es815.js.map +1 -0
  1593. package/dist/visualization.es816.js +12 -0
  1594. package/dist/visualization.es816.js.map +1 -0
  1595. package/dist/visualization.es817.js +12 -0
  1596. package/dist/visualization.es817.js.map +1 -0
  1597. package/dist/visualization.es818.js +5 -0
  1598. package/dist/visualization.es818.js.map +1 -0
  1599. package/dist/visualization.es819.js +5 -0
  1600. package/dist/visualization.es819.js.map +1 -0
  1601. package/dist/visualization.es82.js +4872 -0
  1602. package/dist/visualization.es82.js.map +1 -0
  1603. package/dist/visualization.es820.js +315 -0
  1604. package/dist/visualization.es820.js.map +1 -0
  1605. package/dist/visualization.es821.js +10 -0
  1606. package/dist/visualization.es821.js.map +1 -0
  1607. package/dist/visualization.es822.js +10 -0
  1608. package/dist/visualization.es822.js.map +1 -0
  1609. package/dist/visualization.es823.js +10 -0
  1610. package/dist/visualization.es823.js.map +1 -0
  1611. package/dist/visualization.es824.js +11 -0
  1612. package/dist/visualization.es824.js.map +1 -0
  1613. package/dist/visualization.es825.js +10 -0
  1614. package/dist/visualization.es825.js.map +1 -0
  1615. package/dist/visualization.es826.js +10 -0
  1616. package/dist/visualization.es826.js.map +1 -0
  1617. package/dist/visualization.es827.js +7 -0
  1618. package/dist/visualization.es827.js.map +1 -0
  1619. package/dist/visualization.es828.js +13 -0
  1620. package/dist/visualization.es828.js.map +1 -0
  1621. package/dist/visualization.es829.js +13 -0
  1622. package/dist/visualization.es829.js.map +1 -0
  1623. package/dist/visualization.es83.js +28 -0
  1624. package/dist/visualization.es83.js.map +1 -0
  1625. package/dist/visualization.es830.js +8 -0
  1626. package/dist/visualization.es830.js.map +1 -0
  1627. package/dist/visualization.es831.js +8 -0
  1628. package/dist/visualization.es831.js.map +1 -0
  1629. package/dist/visualization.es832.js +6 -0
  1630. package/dist/visualization.es832.js.map +1 -0
  1631. package/dist/visualization.es833.js +75 -0
  1632. package/dist/visualization.es833.js.map +1 -0
  1633. package/dist/visualization.es834.js +7 -0
  1634. package/dist/visualization.es834.js.map +1 -0
  1635. package/dist/visualization.es835.js +22 -0
  1636. package/dist/visualization.es835.js.map +1 -0
  1637. package/dist/visualization.es836.js +7 -0
  1638. package/dist/visualization.es836.js.map +1 -0
  1639. package/dist/visualization.es837.js +9 -0
  1640. package/dist/visualization.es837.js.map +1 -0
  1641. package/dist/visualization.es838.js +10 -0
  1642. package/dist/visualization.es838.js.map +1 -0
  1643. package/dist/visualization.es839.js +9 -0
  1644. package/dist/visualization.es839.js.map +1 -0
  1645. package/dist/visualization.es84.js +48 -0
  1646. package/dist/visualization.es84.js.map +1 -0
  1647. package/dist/visualization.es840.js +7 -0
  1648. package/dist/visualization.es840.js.map +1 -0
  1649. package/dist/visualization.es85.js +6 -0
  1650. package/dist/visualization.es85.js.map +1 -0
  1651. package/dist/visualization.es86.js +147 -0
  1652. package/dist/visualization.es86.js.map +1 -0
  1653. package/dist/visualization.es87.js +150 -0
  1654. package/dist/visualization.es87.js.map +1 -0
  1655. package/dist/visualization.es88.js +11 -0
  1656. package/dist/visualization.es88.js.map +1 -0
  1657. package/dist/visualization.es89.js +11 -0
  1658. package/dist/visualization.es89.js.map +1 -0
  1659. package/dist/visualization.es9.js +14 -0
  1660. package/dist/visualization.es9.js.map +1 -0
  1661. package/dist/visualization.es90.js +9 -0
  1662. package/dist/visualization.es90.js.map +1 -0
  1663. package/dist/visualization.es91.js +9 -0
  1664. package/dist/visualization.es91.js.map +1 -0
  1665. package/dist/visualization.es92.js +9 -0
  1666. package/dist/visualization.es92.js.map +1 -0
  1667. package/dist/visualization.es93.js +9 -0
  1668. package/dist/visualization.es93.js.map +1 -0
  1669. package/dist/visualization.es94.js +11 -0
  1670. package/dist/visualization.es94.js.map +1 -0
  1671. package/dist/visualization.es95.js +664 -0
  1672. package/dist/visualization.es95.js.map +1 -0
  1673. package/dist/visualization.es96.js +62 -0
  1674. package/dist/visualization.es96.js.map +1 -0
  1675. package/dist/visualization.es97.js +721 -0
  1676. package/dist/visualization.es97.js.map +1 -0
  1677. package/dist/visualization.es98.js +158 -0
  1678. package/dist/visualization.es98.js.map +1 -0
  1679. package/dist/visualization.es99.js +12 -0
  1680. package/dist/visualization.es99.js.map +1 -0
  1681. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visualization.es127.js","sources":["../../../node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"layoutBase\"] = factory();\n\telse\n\t\troot[\"layoutBase\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 26);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction LayoutConstants() {}\n\n/**\r\n * Layout Quality: 0:draft, 1:default, 2:proof\r\n */\nLayoutConstants.QUALITY = 1;\n\n/**\r\n * Default parameters\r\n */\nLayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED = false;\nLayoutConstants.DEFAULT_INCREMENTAL = false;\nLayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT = true;\nLayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT = false;\nLayoutConstants.DEFAULT_ANIMATION_PERIOD = 50;\nLayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES = false;\n\n// -----------------------------------------------------------------------------\n// Section: General other constants\n// -----------------------------------------------------------------------------\n/*\r\n * Margins of a graph to be applied on bouding rectangle of its contents. We\r\n * assume margins on all four sides to be uniform.\r\n */\nLayoutConstants.DEFAULT_GRAPH_MARGIN = 15;\n\n/*\r\n * Whether to consider labels in node dimensions or not\r\n */\nLayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = false;\n\n/*\r\n * Default dimension of a non-compound node.\r\n */\nLayoutConstants.SIMPLE_NODE_SIZE = 40;\n\n/*\r\n * Default dimension of a non-compound node.\r\n */\nLayoutConstants.SIMPLE_NODE_HALF_SIZE = LayoutConstants.SIMPLE_NODE_SIZE / 2;\n\n/*\r\n * Empty compound node size. When a compound node is empty, its both\r\n * dimensions should be of this value.\r\n */\nLayoutConstants.EMPTY_COMPOUND_NODE_SIZE = 40;\n\n/*\r\n * Minimum length that an edge should take during layout\r\n */\nLayoutConstants.MIN_EDGE_LENGTH = 1;\n\n/*\r\n * World boundaries that layout operates on\r\n */\nLayoutConstants.WORLD_BOUNDARY = 1000000;\n\n/*\r\n * World boundaries that random positioning can be performed with\r\n */\nLayoutConstants.INITIAL_WORLD_BOUNDARY = LayoutConstants.WORLD_BOUNDARY / 1000;\n\n/*\r\n * Coordinates of the world center\r\n */\nLayoutConstants.WORLD_CENTER_X = 1200;\nLayoutConstants.WORLD_CENTER_Y = 900;\n\nmodule.exports = LayoutConstants;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar IGeometry = __webpack_require__(8);\nvar IMath = __webpack_require__(9);\n\nfunction LEdge(source, target, vEdge) {\n LGraphObject.call(this, vEdge);\n\n this.isOverlapingSourceAndTarget = false;\n this.vGraphObject = vEdge;\n this.bendpoints = [];\n this.source = source;\n this.target = target;\n}\n\nLEdge.prototype = Object.create(LGraphObject.prototype);\n\nfor (var prop in LGraphObject) {\n LEdge[prop] = LGraphObject[prop];\n}\n\nLEdge.prototype.getSource = function () {\n return this.source;\n};\n\nLEdge.prototype.getTarget = function () {\n return this.target;\n};\n\nLEdge.prototype.isInterGraph = function () {\n return this.isInterGraph;\n};\n\nLEdge.prototype.getLength = function () {\n return this.length;\n};\n\nLEdge.prototype.isOverlapingSourceAndTarget = function () {\n return this.isOverlapingSourceAndTarget;\n};\n\nLEdge.prototype.getBendpoints = function () {\n return this.bendpoints;\n};\n\nLEdge.prototype.getLca = function () {\n return this.lca;\n};\n\nLEdge.prototype.getSourceInLca = function () {\n return this.sourceInLca;\n};\n\nLEdge.prototype.getTargetInLca = function () {\n return this.targetInLca;\n};\n\nLEdge.prototype.getOtherEnd = function (node) {\n if (this.source === node) {\n return this.target;\n } else if (this.target === node) {\n return this.source;\n } else {\n throw \"Node is not incident with this edge\";\n }\n};\n\nLEdge.prototype.getOtherEndInGraph = function (node, graph) {\n var otherEnd = this.getOtherEnd(node);\n var root = graph.getGraphManager().getRoot();\n\n while (true) {\n if (otherEnd.getOwner() == graph) {\n return otherEnd;\n }\n\n if (otherEnd.getOwner() == root) {\n break;\n }\n\n otherEnd = otherEnd.getOwner().getParent();\n }\n\n return null;\n};\n\nLEdge.prototype.updateLength = function () {\n var clipPointCoordinates = new Array(4);\n\n this.isOverlapingSourceAndTarget = IGeometry.getIntersection(this.target.getRect(), this.source.getRect(), clipPointCoordinates);\n\n if (!this.isOverlapingSourceAndTarget) {\n this.lengthX = clipPointCoordinates[0] - clipPointCoordinates[2];\n this.lengthY = clipPointCoordinates[1] - clipPointCoordinates[3];\n\n if (Math.abs(this.lengthX) < 1.0) {\n this.lengthX = IMath.sign(this.lengthX);\n }\n\n if (Math.abs(this.lengthY) < 1.0) {\n this.lengthY = IMath.sign(this.lengthY);\n }\n\n this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY);\n }\n};\n\nLEdge.prototype.updateLengthSimple = function () {\n this.lengthX = this.target.getCenterX() - this.source.getCenterX();\n this.lengthY = this.target.getCenterY() - this.source.getCenterY();\n\n if (Math.abs(this.lengthX) < 1.0) {\n this.lengthX = IMath.sign(this.lengthX);\n }\n\n if (Math.abs(this.lengthY) < 1.0) {\n this.lengthY = IMath.sign(this.lengthY);\n }\n\n this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY);\n};\n\nmodule.exports = LEdge;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction LGraphObject(vGraphObject) {\n this.vGraphObject = vGraphObject;\n}\n\nmodule.exports = LGraphObject;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar Integer = __webpack_require__(10);\nvar RectangleD = __webpack_require__(13);\nvar LayoutConstants = __webpack_require__(0);\nvar RandomSeed = __webpack_require__(16);\nvar PointD = __webpack_require__(4);\n\nfunction LNode(gm, loc, size, vNode) {\n //Alternative constructor 1 : LNode(LGraphManager gm, Point loc, Dimension size, Object vNode)\n if (size == null && vNode == null) {\n vNode = loc;\n }\n\n LGraphObject.call(this, vNode);\n\n //Alternative constructor 2 : LNode(Layout layout, Object vNode)\n if (gm.graphManager != null) gm = gm.graphManager;\n\n this.estimatedSize = Integer.MIN_VALUE;\n this.inclusionTreeDepth = Integer.MAX_VALUE;\n this.vGraphObject = vNode;\n this.edges = [];\n this.graphManager = gm;\n\n if (size != null && loc != null) this.rect = new RectangleD(loc.x, loc.y, size.width, size.height);else this.rect = new RectangleD();\n}\n\nLNode.prototype = Object.create(LGraphObject.prototype);\nfor (var prop in LGraphObject) {\n LNode[prop] = LGraphObject[prop];\n}\n\nLNode.prototype.getEdges = function () {\n return this.edges;\n};\n\nLNode.prototype.getChild = function () {\n return this.child;\n};\n\nLNode.prototype.getOwner = function () {\n // if (this.owner != null) {\n // if (!(this.owner == null || this.owner.getNodes().indexOf(this) > -1)) {\n // throw \"assert failed\";\n // }\n // }\n\n return this.owner;\n};\n\nLNode.prototype.getWidth = function () {\n return this.rect.width;\n};\n\nLNode.prototype.setWidth = function (width) {\n this.rect.width = width;\n};\n\nLNode.prototype.getHeight = function () {\n return this.rect.height;\n};\n\nLNode.prototype.setHeight = function (height) {\n this.rect.height = height;\n};\n\nLNode.prototype.getCenterX = function () {\n return this.rect.x + this.rect.width / 2;\n};\n\nLNode.prototype.getCenterY = function () {\n return this.rect.y + this.rect.height / 2;\n};\n\nLNode.prototype.getCenter = function () {\n return new PointD(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2);\n};\n\nLNode.prototype.getLocation = function () {\n return new PointD(this.rect.x, this.rect.y);\n};\n\nLNode.prototype.getRect = function () {\n return this.rect;\n};\n\nLNode.prototype.getDiagonal = function () {\n return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height);\n};\n\n/**\n * This method returns half the diagonal length of this node.\n */\nLNode.prototype.getHalfTheDiagonal = function () {\n return Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2;\n};\n\nLNode.prototype.setRect = function (upperLeft, dimension) {\n this.rect.x = upperLeft.x;\n this.rect.y = upperLeft.y;\n this.rect.width = dimension.width;\n this.rect.height = dimension.height;\n};\n\nLNode.prototype.setCenter = function (cx, cy) {\n this.rect.x = cx - this.rect.width / 2;\n this.rect.y = cy - this.rect.height / 2;\n};\n\nLNode.prototype.setLocation = function (x, y) {\n this.rect.x = x;\n this.rect.y = y;\n};\n\nLNode.prototype.moveBy = function (dx, dy) {\n this.rect.x += dx;\n this.rect.y += dy;\n};\n\nLNode.prototype.getEdgeListToNode = function (to) {\n var edgeList = [];\n var edge;\n var self = this;\n\n self.edges.forEach(function (edge) {\n\n if (edge.target == to) {\n if (edge.source != self) throw \"Incorrect edge source!\";\n\n edgeList.push(edge);\n }\n });\n\n return edgeList;\n};\n\nLNode.prototype.getEdgesBetween = function (other) {\n var edgeList = [];\n var edge;\n\n var self = this;\n self.edges.forEach(function (edge) {\n\n if (!(edge.source == self || edge.target == self)) throw \"Incorrect edge source and/or target\";\n\n if (edge.target == other || edge.source == other) {\n edgeList.push(edge);\n }\n });\n\n return edgeList;\n};\n\nLNode.prototype.getNeighborsList = function () {\n var neighbors = new Set();\n\n var self = this;\n self.edges.forEach(function (edge) {\n\n if (edge.source == self) {\n neighbors.add(edge.target);\n } else {\n if (edge.target != self) {\n throw \"Incorrect incidency!\";\n }\n\n neighbors.add(edge.source);\n }\n });\n\n return neighbors;\n};\n\nLNode.prototype.withChildren = function () {\n var withNeighborsList = new Set();\n var childNode;\n var children;\n\n withNeighborsList.add(this);\n\n if (this.child != null) {\n var nodes = this.child.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n childNode = nodes[i];\n children = childNode.withChildren();\n children.forEach(function (node) {\n withNeighborsList.add(node);\n });\n }\n }\n\n return withNeighborsList;\n};\n\nLNode.prototype.getNoOfChildren = function () {\n var noOfChildren = 0;\n var childNode;\n\n if (this.child == null) {\n noOfChildren = 1;\n } else {\n var nodes = this.child.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n childNode = nodes[i];\n\n noOfChildren += childNode.getNoOfChildren();\n }\n }\n\n if (noOfChildren == 0) {\n noOfChildren = 1;\n }\n return noOfChildren;\n};\n\nLNode.prototype.getEstimatedSize = function () {\n if (this.estimatedSize == Integer.MIN_VALUE) {\n throw \"assert failed\";\n }\n return this.estimatedSize;\n};\n\nLNode.prototype.calcEstimatedSize = function () {\n if (this.child == null) {\n return this.estimatedSize = (this.rect.width + this.rect.height) / 2;\n } else {\n this.estimatedSize = this.child.calcEstimatedSize();\n this.rect.width = this.estimatedSize;\n this.rect.height = this.estimatedSize;\n\n return this.estimatedSize;\n }\n};\n\nLNode.prototype.scatter = function () {\n var randomCenterX;\n var randomCenterY;\n\n var minX = -LayoutConstants.INITIAL_WORLD_BOUNDARY;\n var maxX = LayoutConstants.INITIAL_WORLD_BOUNDARY;\n randomCenterX = LayoutConstants.WORLD_CENTER_X + RandomSeed.nextDouble() * (maxX - minX) + minX;\n\n var minY = -LayoutConstants.INITIAL_WORLD_BOUNDARY;\n var maxY = LayoutConstants.INITIAL_WORLD_BOUNDARY;\n randomCenterY = LayoutConstants.WORLD_CENTER_Y + RandomSeed.nextDouble() * (maxY - minY) + minY;\n\n this.rect.x = randomCenterX;\n this.rect.y = randomCenterY;\n};\n\nLNode.prototype.updateBounds = function () {\n if (this.getChild() == null) {\n throw \"assert failed\";\n }\n if (this.getChild().getNodes().length != 0) {\n // wrap the children nodes by re-arranging the boundaries\n var childGraph = this.getChild();\n childGraph.updateBounds(true);\n\n this.rect.x = childGraph.getLeft();\n this.rect.y = childGraph.getTop();\n\n this.setWidth(childGraph.getRight() - childGraph.getLeft());\n this.setHeight(childGraph.getBottom() - childGraph.getTop());\n\n // Update compound bounds considering its label properties \n if (LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS) {\n\n var width = childGraph.getRight() - childGraph.getLeft();\n var height = childGraph.getBottom() - childGraph.getTop();\n\n if (this.labelWidth > width) {\n this.rect.x -= (this.labelWidth - width) / 2;\n this.setWidth(this.labelWidth);\n }\n\n if (this.labelHeight > height) {\n if (this.labelPos == \"center\") {\n this.rect.y -= (this.labelHeight - height) / 2;\n } else if (this.labelPos == \"top\") {\n this.rect.y -= this.labelHeight - height;\n }\n this.setHeight(this.labelHeight);\n }\n }\n }\n};\n\nLNode.prototype.getInclusionTreeDepth = function () {\n if (this.inclusionTreeDepth == Integer.MAX_VALUE) {\n throw \"assert failed\";\n }\n return this.inclusionTreeDepth;\n};\n\nLNode.prototype.transform = function (trans) {\n var left = this.rect.x;\n\n if (left > LayoutConstants.WORLD_BOUNDARY) {\n left = LayoutConstants.WORLD_BOUNDARY;\n } else if (left < -LayoutConstants.WORLD_BOUNDARY) {\n left = -LayoutConstants.WORLD_BOUNDARY;\n }\n\n var top = this.rect.y;\n\n if (top > LayoutConstants.WORLD_BOUNDARY) {\n top = LayoutConstants.WORLD_BOUNDARY;\n } else if (top < -LayoutConstants.WORLD_BOUNDARY) {\n top = -LayoutConstants.WORLD_BOUNDARY;\n }\n\n var leftTop = new PointD(left, top);\n var vLeftTop = trans.inverseTransformPoint(leftTop);\n\n this.setLocation(vLeftTop.x, vLeftTop.y);\n};\n\nLNode.prototype.getLeft = function () {\n return this.rect.x;\n};\n\nLNode.prototype.getRight = function () {\n return this.rect.x + this.rect.width;\n};\n\nLNode.prototype.getTop = function () {\n return this.rect.y;\n};\n\nLNode.prototype.getBottom = function () {\n return this.rect.y + this.rect.height;\n};\n\nLNode.prototype.getParent = function () {\n if (this.owner == null) {\n return null;\n }\n\n return this.owner.getParent();\n};\n\nmodule.exports = LNode;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction PointD(x, y) {\n if (x == null && y == null) {\n this.x = 0;\n this.y = 0;\n } else {\n this.x = x;\n this.y = y;\n }\n}\n\nPointD.prototype.getX = function () {\n return this.x;\n};\n\nPointD.prototype.getY = function () {\n return this.y;\n};\n\nPointD.prototype.setX = function (x) {\n this.x = x;\n};\n\nPointD.prototype.setY = function (y) {\n this.y = y;\n};\n\nPointD.prototype.getDifference = function (pt) {\n return new DimensionD(this.x - pt.x, this.y - pt.y);\n};\n\nPointD.prototype.getCopy = function () {\n return new PointD(this.x, this.y);\n};\n\nPointD.prototype.translate = function (dim) {\n this.x += dim.width;\n this.y += dim.height;\n return this;\n};\n\nmodule.exports = PointD;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar Integer = __webpack_require__(10);\nvar LayoutConstants = __webpack_require__(0);\nvar LGraphManager = __webpack_require__(6);\nvar LNode = __webpack_require__(3);\nvar LEdge = __webpack_require__(1);\nvar RectangleD = __webpack_require__(13);\nvar Point = __webpack_require__(12);\nvar LinkedList = __webpack_require__(11);\n\nfunction LGraph(parent, obj2, vGraph) {\n LGraphObject.call(this, vGraph);\n this.estimatedSize = Integer.MIN_VALUE;\n this.margin = LayoutConstants.DEFAULT_GRAPH_MARGIN;\n this.edges = [];\n this.nodes = [];\n this.isConnected = false;\n this.parent = parent;\n\n if (obj2 != null && obj2 instanceof LGraphManager) {\n this.graphManager = obj2;\n } else if (obj2 != null && obj2 instanceof Layout) {\n this.graphManager = obj2.graphManager;\n }\n}\n\nLGraph.prototype = Object.create(LGraphObject.prototype);\nfor (var prop in LGraphObject) {\n LGraph[prop] = LGraphObject[prop];\n}\n\nLGraph.prototype.getNodes = function () {\n return this.nodes;\n};\n\nLGraph.prototype.getEdges = function () {\n return this.edges;\n};\n\nLGraph.prototype.getGraphManager = function () {\n return this.graphManager;\n};\n\nLGraph.prototype.getParent = function () {\n return this.parent;\n};\n\nLGraph.prototype.getLeft = function () {\n return this.left;\n};\n\nLGraph.prototype.getRight = function () {\n return this.right;\n};\n\nLGraph.prototype.getTop = function () {\n return this.top;\n};\n\nLGraph.prototype.getBottom = function () {\n return this.bottom;\n};\n\nLGraph.prototype.isConnected = function () {\n return this.isConnected;\n};\n\nLGraph.prototype.add = function (obj1, sourceNode, targetNode) {\n if (sourceNode == null && targetNode == null) {\n var newNode = obj1;\n if (this.graphManager == null) {\n throw \"Graph has no graph mgr!\";\n }\n if (this.getNodes().indexOf(newNode) > -1) {\n throw \"Node already in graph!\";\n }\n newNode.owner = this;\n this.getNodes().push(newNode);\n\n return newNode;\n } else {\n var newEdge = obj1;\n if (!(this.getNodes().indexOf(sourceNode) > -1 && this.getNodes().indexOf(targetNode) > -1)) {\n throw \"Source or target not in graph!\";\n }\n\n if (!(sourceNode.owner == targetNode.owner && sourceNode.owner == this)) {\n throw \"Both owners must be this graph!\";\n }\n\n if (sourceNode.owner != targetNode.owner) {\n return null;\n }\n\n // set source and target\n newEdge.source = sourceNode;\n newEdge.target = targetNode;\n\n // set as intra-graph edge\n newEdge.isInterGraph = false;\n\n // add to graph edge list\n this.getEdges().push(newEdge);\n\n // add to incidency lists\n sourceNode.edges.push(newEdge);\n\n if (targetNode != sourceNode) {\n targetNode.edges.push(newEdge);\n }\n\n return newEdge;\n }\n};\n\nLGraph.prototype.remove = function (obj) {\n var node = obj;\n if (obj instanceof LNode) {\n if (node == null) {\n throw \"Node is null!\";\n }\n if (!(node.owner != null && node.owner == this)) {\n throw \"Owner graph is invalid!\";\n }\n if (this.graphManager == null) {\n throw \"Owner graph manager is invalid!\";\n }\n // remove incident edges first (make a copy to do it safely)\n var edgesToBeRemoved = node.edges.slice();\n var edge;\n var s = edgesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n edge = edgesToBeRemoved[i];\n\n if (edge.isInterGraph) {\n this.graphManager.remove(edge);\n } else {\n edge.source.owner.remove(edge);\n }\n }\n\n // now the node itself\n var index = this.nodes.indexOf(node);\n if (index == -1) {\n throw \"Node not in owner node list!\";\n }\n\n this.nodes.splice(index, 1);\n } else if (obj instanceof LEdge) {\n var edge = obj;\n if (edge == null) {\n throw \"Edge is null!\";\n }\n if (!(edge.source != null && edge.target != null)) {\n throw \"Source and/or target is null!\";\n }\n if (!(edge.source.owner != null && edge.target.owner != null && edge.source.owner == this && edge.target.owner == this)) {\n throw \"Source and/or target owner is invalid!\";\n }\n\n var sourceIndex = edge.source.edges.indexOf(edge);\n var targetIndex = edge.target.edges.indexOf(edge);\n if (!(sourceIndex > -1 && targetIndex > -1)) {\n throw \"Source and/or target doesn't know this edge!\";\n }\n\n edge.source.edges.splice(sourceIndex, 1);\n\n if (edge.target != edge.source) {\n edge.target.edges.splice(targetIndex, 1);\n }\n\n var index = edge.source.owner.getEdges().indexOf(edge);\n if (index == -1) {\n throw \"Not in owner's edge list!\";\n }\n\n edge.source.owner.getEdges().splice(index, 1);\n }\n};\n\nLGraph.prototype.updateLeftTop = function () {\n var top = Integer.MAX_VALUE;\n var left = Integer.MAX_VALUE;\n var nodeTop;\n var nodeLeft;\n var margin;\n\n var nodes = this.getNodes();\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n nodeTop = lNode.getTop();\n nodeLeft = lNode.getLeft();\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n }\n\n // Do we have any nodes in this graph?\n if (top == Integer.MAX_VALUE) {\n return null;\n }\n\n if (nodes[0].getParent().paddingLeft != undefined) {\n margin = nodes[0].getParent().paddingLeft;\n } else {\n margin = this.margin;\n }\n\n this.left = left - margin;\n this.top = top - margin;\n\n // Apply the margins and return the result\n return new Point(this.left, this.top);\n};\n\nLGraph.prototype.updateBounds = function (recursive) {\n // calculate bounds\n var left = Integer.MAX_VALUE;\n var right = -Integer.MAX_VALUE;\n var top = Integer.MAX_VALUE;\n var bottom = -Integer.MAX_VALUE;\n var nodeLeft;\n var nodeRight;\n var nodeTop;\n var nodeBottom;\n var margin;\n\n var nodes = this.nodes;\n var s = nodes.length;\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n\n if (recursive && lNode.child != null) {\n lNode.updateBounds();\n }\n nodeLeft = lNode.getLeft();\n nodeRight = lNode.getRight();\n nodeTop = lNode.getTop();\n nodeBottom = lNode.getBottom();\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n\n if (right < nodeRight) {\n right = nodeRight;\n }\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (bottom < nodeBottom) {\n bottom = nodeBottom;\n }\n }\n\n var boundingRect = new RectangleD(left, top, right - left, bottom - top);\n if (left == Integer.MAX_VALUE) {\n this.left = this.parent.getLeft();\n this.right = this.parent.getRight();\n this.top = this.parent.getTop();\n this.bottom = this.parent.getBottom();\n }\n\n if (nodes[0].getParent().paddingLeft != undefined) {\n margin = nodes[0].getParent().paddingLeft;\n } else {\n margin = this.margin;\n }\n\n this.left = boundingRect.x - margin;\n this.right = boundingRect.x + boundingRect.width + margin;\n this.top = boundingRect.y - margin;\n this.bottom = boundingRect.y + boundingRect.height + margin;\n};\n\nLGraph.calculateBounds = function (nodes) {\n var left = Integer.MAX_VALUE;\n var right = -Integer.MAX_VALUE;\n var top = Integer.MAX_VALUE;\n var bottom = -Integer.MAX_VALUE;\n var nodeLeft;\n var nodeRight;\n var nodeTop;\n var nodeBottom;\n\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n nodeLeft = lNode.getLeft();\n nodeRight = lNode.getRight();\n nodeTop = lNode.getTop();\n nodeBottom = lNode.getBottom();\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n\n if (right < nodeRight) {\n right = nodeRight;\n }\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (bottom < nodeBottom) {\n bottom = nodeBottom;\n }\n }\n\n var boundingRect = new RectangleD(left, top, right - left, bottom - top);\n\n return boundingRect;\n};\n\nLGraph.prototype.getInclusionTreeDepth = function () {\n if (this == this.graphManager.getRoot()) {\n return 1;\n } else {\n return this.parent.getInclusionTreeDepth();\n }\n};\n\nLGraph.prototype.getEstimatedSize = function () {\n if (this.estimatedSize == Integer.MIN_VALUE) {\n throw \"assert failed\";\n }\n return this.estimatedSize;\n};\n\nLGraph.prototype.calcEstimatedSize = function () {\n var size = 0;\n var nodes = this.nodes;\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n size += lNode.calcEstimatedSize();\n }\n\n if (size == 0) {\n this.estimatedSize = LayoutConstants.EMPTY_COMPOUND_NODE_SIZE;\n } else {\n this.estimatedSize = size / Math.sqrt(this.nodes.length);\n }\n\n return this.estimatedSize;\n};\n\nLGraph.prototype.updateConnected = function () {\n var self = this;\n if (this.nodes.length == 0) {\n this.isConnected = true;\n return;\n }\n\n var queue = new LinkedList();\n var visited = new Set();\n var currentNode = this.nodes[0];\n var neighborEdges;\n var currentNeighbor;\n var childrenOfNode = currentNode.withChildren();\n childrenOfNode.forEach(function (node) {\n queue.push(node);\n visited.add(node);\n });\n\n while (queue.length !== 0) {\n currentNode = queue.shift();\n\n // Traverse all neighbors of this node\n neighborEdges = currentNode.getEdges();\n var size = neighborEdges.length;\n for (var i = 0; i < size; i++) {\n var neighborEdge = neighborEdges[i];\n currentNeighbor = neighborEdge.getOtherEndInGraph(currentNode, this);\n\n // Add unvisited neighbors to the list to visit\n if (currentNeighbor != null && !visited.has(currentNeighbor)) {\n var childrenOfNeighbor = currentNeighbor.withChildren();\n\n childrenOfNeighbor.forEach(function (node) {\n queue.push(node);\n visited.add(node);\n });\n }\n }\n }\n\n this.isConnected = false;\n\n if (visited.size >= this.nodes.length) {\n var noOfVisitedInThisGraph = 0;\n\n visited.forEach(function (visitedNode) {\n if (visitedNode.owner == self) {\n noOfVisitedInThisGraph++;\n }\n });\n\n if (noOfVisitedInThisGraph == this.nodes.length) {\n this.isConnected = true;\n }\n }\n};\n\nmodule.exports = LGraph;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraph;\nvar LEdge = __webpack_require__(1);\n\nfunction LGraphManager(layout) {\n LGraph = __webpack_require__(5); // It may be better to initilize this out of this function but it gives an error (Right-hand side of 'instanceof' is not callable) now.\n this.layout = layout;\n\n this.graphs = [];\n this.edges = [];\n}\n\nLGraphManager.prototype.addRoot = function () {\n var ngraph = this.layout.newGraph();\n var nnode = this.layout.newNode(null);\n var root = this.add(ngraph, nnode);\n this.setRootGraph(root);\n return this.rootGraph;\n};\n\nLGraphManager.prototype.add = function (newGraph, parentNode, newEdge, sourceNode, targetNode) {\n //there are just 2 parameters are passed then it adds an LGraph else it adds an LEdge\n if (newEdge == null && sourceNode == null && targetNode == null) {\n if (newGraph == null) {\n throw \"Graph is null!\";\n }\n if (parentNode == null) {\n throw \"Parent node is null!\";\n }\n if (this.graphs.indexOf(newGraph) > -1) {\n throw \"Graph already in this graph mgr!\";\n }\n\n this.graphs.push(newGraph);\n\n if (newGraph.parent != null) {\n throw \"Already has a parent!\";\n }\n if (parentNode.child != null) {\n throw \"Already has a child!\";\n }\n\n newGraph.parent = parentNode;\n parentNode.child = newGraph;\n\n return newGraph;\n } else {\n //change the order of the parameters\n targetNode = newEdge;\n sourceNode = parentNode;\n newEdge = newGraph;\n var sourceGraph = sourceNode.getOwner();\n var targetGraph = targetNode.getOwner();\n\n if (!(sourceGraph != null && sourceGraph.getGraphManager() == this)) {\n throw \"Source not in this graph mgr!\";\n }\n if (!(targetGraph != null && targetGraph.getGraphManager() == this)) {\n throw \"Target not in this graph mgr!\";\n }\n\n if (sourceGraph == targetGraph) {\n newEdge.isInterGraph = false;\n return sourceGraph.add(newEdge, sourceNode, targetNode);\n } else {\n newEdge.isInterGraph = true;\n\n // set source and target\n newEdge.source = sourceNode;\n newEdge.target = targetNode;\n\n // add edge to inter-graph edge list\n if (this.edges.indexOf(newEdge) > -1) {\n throw \"Edge already in inter-graph edge list!\";\n }\n\n this.edges.push(newEdge);\n\n // add edge to source and target incidency lists\n if (!(newEdge.source != null && newEdge.target != null)) {\n throw \"Edge source and/or target is null!\";\n }\n\n if (!(newEdge.source.edges.indexOf(newEdge) == -1 && newEdge.target.edges.indexOf(newEdge) == -1)) {\n throw \"Edge already in source and/or target incidency list!\";\n }\n\n newEdge.source.edges.push(newEdge);\n newEdge.target.edges.push(newEdge);\n\n return newEdge;\n }\n }\n};\n\nLGraphManager.prototype.remove = function (lObj) {\n if (lObj instanceof LGraph) {\n var graph = lObj;\n if (graph.getGraphManager() != this) {\n throw \"Graph not in this graph mgr\";\n }\n if (!(graph == this.rootGraph || graph.parent != null && graph.parent.graphManager == this)) {\n throw \"Invalid parent node!\";\n }\n\n // first the edges (make a copy to do it safely)\n var edgesToBeRemoved = [];\n\n edgesToBeRemoved = edgesToBeRemoved.concat(graph.getEdges());\n\n var edge;\n var s = edgesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n edge = edgesToBeRemoved[i];\n graph.remove(edge);\n }\n\n // then the nodes (make a copy to do it safely)\n var nodesToBeRemoved = [];\n\n nodesToBeRemoved = nodesToBeRemoved.concat(graph.getNodes());\n\n var node;\n s = nodesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n node = nodesToBeRemoved[i];\n graph.remove(node);\n }\n\n // check if graph is the root\n if (graph == this.rootGraph) {\n this.setRootGraph(null);\n }\n\n // now remove the graph itself\n var index = this.graphs.indexOf(graph);\n this.graphs.splice(index, 1);\n\n // also reset the parent of the graph\n graph.parent = null;\n } else if (lObj instanceof LEdge) {\n edge = lObj;\n if (edge == null) {\n throw \"Edge is null!\";\n }\n if (!edge.isInterGraph) {\n throw \"Not an inter-graph edge!\";\n }\n if (!(edge.source != null && edge.target != null)) {\n throw \"Source and/or target is null!\";\n }\n\n // remove edge from source and target nodes' incidency lists\n\n if (!(edge.source.edges.indexOf(edge) != -1 && edge.target.edges.indexOf(edge) != -1)) {\n throw \"Source and/or target doesn't know this edge!\";\n }\n\n var index = edge.source.edges.indexOf(edge);\n edge.source.edges.splice(index, 1);\n index = edge.target.edges.indexOf(edge);\n edge.target.edges.splice(index, 1);\n\n // remove edge from owner graph manager's inter-graph edge list\n\n if (!(edge.source.owner != null && edge.source.owner.getGraphManager() != null)) {\n throw \"Edge owner graph or owner graph manager is null!\";\n }\n if (edge.source.owner.getGraphManager().edges.indexOf(edge) == -1) {\n throw \"Not in owner graph manager's edge list!\";\n }\n\n var index = edge.source.owner.getGraphManager().edges.indexOf(edge);\n edge.source.owner.getGraphManager().edges.splice(index, 1);\n }\n};\n\nLGraphManager.prototype.updateBounds = function () {\n this.rootGraph.updateBounds(true);\n};\n\nLGraphManager.prototype.getGraphs = function () {\n return this.graphs;\n};\n\nLGraphManager.prototype.getAllNodes = function () {\n if (this.allNodes == null) {\n var nodeList = [];\n var graphs = this.getGraphs();\n var s = graphs.length;\n for (var i = 0; i < s; i++) {\n nodeList = nodeList.concat(graphs[i].getNodes());\n }\n this.allNodes = nodeList;\n }\n return this.allNodes;\n};\n\nLGraphManager.prototype.resetAllNodes = function () {\n this.allNodes = null;\n};\n\nLGraphManager.prototype.resetAllEdges = function () {\n this.allEdges = null;\n};\n\nLGraphManager.prototype.resetAllNodesToApplyGravitation = function () {\n this.allNodesToApplyGravitation = null;\n};\n\nLGraphManager.prototype.getAllEdges = function () {\n if (this.allEdges == null) {\n var edgeList = [];\n var graphs = this.getGraphs();\n var s = graphs.length;\n for (var i = 0; i < graphs.length; i++) {\n edgeList = edgeList.concat(graphs[i].getEdges());\n }\n\n edgeList = edgeList.concat(this.edges);\n\n this.allEdges = edgeList;\n }\n return this.allEdges;\n};\n\nLGraphManager.prototype.getAllNodesToApplyGravitation = function () {\n return this.allNodesToApplyGravitation;\n};\n\nLGraphManager.prototype.setAllNodesToApplyGravitation = function (nodeList) {\n if (this.allNodesToApplyGravitation != null) {\n throw \"assert failed\";\n }\n\n this.allNodesToApplyGravitation = nodeList;\n};\n\nLGraphManager.prototype.getRoot = function () {\n return this.rootGraph;\n};\n\nLGraphManager.prototype.setRootGraph = function (graph) {\n if (graph.getGraphManager() != this) {\n throw \"Root not in this graph mgr!\";\n }\n\n this.rootGraph = graph;\n // root graph must have a root node associated with it for convenience\n if (graph.parent == null) {\n graph.parent = this.layout.newNode(\"Root node\");\n }\n};\n\nLGraphManager.prototype.getLayout = function () {\n return this.layout;\n};\n\nLGraphManager.prototype.isOneAncestorOfOther = function (firstNode, secondNode) {\n if (!(firstNode != null && secondNode != null)) {\n throw \"assert failed\";\n }\n\n if (firstNode == secondNode) {\n return true;\n }\n // Is second node an ancestor of the first one?\n var ownerGraph = firstNode.getOwner();\n var parentNode;\n\n do {\n parentNode = ownerGraph.getParent();\n\n if (parentNode == null) {\n break;\n }\n\n if (parentNode == secondNode) {\n return true;\n }\n\n ownerGraph = parentNode.getOwner();\n if (ownerGraph == null) {\n break;\n }\n } while (true);\n // Is first node an ancestor of the second one?\n ownerGraph = secondNode.getOwner();\n\n do {\n parentNode = ownerGraph.getParent();\n\n if (parentNode == null) {\n break;\n }\n\n if (parentNode == firstNode) {\n return true;\n }\n\n ownerGraph = parentNode.getOwner();\n if (ownerGraph == null) {\n break;\n }\n } while (true);\n\n return false;\n};\n\nLGraphManager.prototype.calcLowestCommonAncestors = function () {\n var edge;\n var sourceNode;\n var targetNode;\n var sourceAncestorGraph;\n var targetAncestorGraph;\n\n var edges = this.getAllEdges();\n var s = edges.length;\n for (var i = 0; i < s; i++) {\n edge = edges[i];\n\n sourceNode = edge.source;\n targetNode = edge.target;\n edge.lca = null;\n edge.sourceInLca = sourceNode;\n edge.targetInLca = targetNode;\n\n if (sourceNode == targetNode) {\n edge.lca = sourceNode.getOwner();\n continue;\n }\n\n sourceAncestorGraph = sourceNode.getOwner();\n\n while (edge.lca == null) {\n edge.targetInLca = targetNode;\n targetAncestorGraph = targetNode.getOwner();\n\n while (edge.lca == null) {\n if (targetAncestorGraph == sourceAncestorGraph) {\n edge.lca = targetAncestorGraph;\n break;\n }\n\n if (targetAncestorGraph == this.rootGraph) {\n break;\n }\n\n if (edge.lca != null) {\n throw \"assert failed\";\n }\n edge.targetInLca = targetAncestorGraph.getParent();\n targetAncestorGraph = edge.targetInLca.getOwner();\n }\n\n if (sourceAncestorGraph == this.rootGraph) {\n break;\n }\n\n if (edge.lca == null) {\n edge.sourceInLca = sourceAncestorGraph.getParent();\n sourceAncestorGraph = edge.sourceInLca.getOwner();\n }\n }\n\n if (edge.lca == null) {\n throw \"assert failed\";\n }\n }\n};\n\nLGraphManager.prototype.calcLowestCommonAncestor = function (firstNode, secondNode) {\n if (firstNode == secondNode) {\n return firstNode.getOwner();\n }\n var firstOwnerGraph = firstNode.getOwner();\n\n do {\n if (firstOwnerGraph == null) {\n break;\n }\n var secondOwnerGraph = secondNode.getOwner();\n\n do {\n if (secondOwnerGraph == null) {\n break;\n }\n\n if (secondOwnerGraph == firstOwnerGraph) {\n return secondOwnerGraph;\n }\n secondOwnerGraph = secondOwnerGraph.getParent().getOwner();\n } while (true);\n\n firstOwnerGraph = firstOwnerGraph.getParent().getOwner();\n } while (true);\n\n return firstOwnerGraph;\n};\n\nLGraphManager.prototype.calcInclusionTreeDepths = function (graph, depth) {\n if (graph == null && depth == null) {\n graph = this.rootGraph;\n depth = 1;\n }\n var node;\n\n var nodes = graph.getNodes();\n var s = nodes.length;\n for (var i = 0; i < s; i++) {\n node = nodes[i];\n node.inclusionTreeDepth = depth;\n\n if (node.child != null) {\n this.calcInclusionTreeDepths(node.child, depth + 1);\n }\n }\n};\n\nLGraphManager.prototype.includesInvalidEdge = function () {\n var edge;\n\n var s = this.edges.length;\n for (var i = 0; i < s; i++) {\n edge = this.edges[i];\n\n if (this.isOneAncestorOfOther(edge.source, edge.target)) {\n return true;\n }\n }\n return false;\n};\n\nmodule.exports = LGraphManager;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LayoutConstants = __webpack_require__(0);\n\nfunction FDLayoutConstants() {}\n\n//FDLayoutConstants inherits static props in LayoutConstants\nfor (var prop in LayoutConstants) {\n FDLayoutConstants[prop] = LayoutConstants[prop];\n}\n\nFDLayoutConstants.MAX_ITERATIONS = 2500;\n\nFDLayoutConstants.DEFAULT_EDGE_LENGTH = 50;\nFDLayoutConstants.DEFAULT_SPRING_STRENGTH = 0.45;\nFDLayoutConstants.DEFAULT_REPULSION_STRENGTH = 4500.0;\nFDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = 0.4;\nFDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1.0;\nFDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8;\nFDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5;\nFDLayoutConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = true;\nFDLayoutConstants.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = true;\nFDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3;\nFDLayoutConstants.COOLING_ADAPTATION_FACTOR = 0.33;\nFDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT = 1000;\nFDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT = 5000;\nFDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100.0;\nFDLayoutConstants.MAX_NODE_DISPLACEMENT = FDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3;\nFDLayoutConstants.MIN_REPULSION_DIST = FDLayoutConstants.DEFAULT_EDGE_LENGTH / 10.0;\nFDLayoutConstants.CONVERGENCE_CHECK_PERIOD = 100;\nFDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1;\nFDLayoutConstants.MIN_EDGE_LENGTH = 1;\nFDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD = 10;\n\nmodule.exports = FDLayoutConstants;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * This class maintains a list of static geometry related utility methods.\n *\n *\n * Copyright: i-Vis Research Group, Bilkent University, 2007 - present\n */\n\nvar Point = __webpack_require__(12);\n\nfunction IGeometry() {}\n\n/**\n * This method calculates *half* the amount in x and y directions of the two\n * input rectangles needed to separate them keeping their respective\n * positioning, and returns the result in the input array. An input\n * separation buffer added to the amount in both directions. We assume that\n * the two rectangles do intersect.\n */\nIGeometry.calcSeparationAmount = function (rectA, rectB, overlapAmount, separationBuffer) {\n if (!rectA.intersects(rectB)) {\n throw \"assert failed\";\n }\n\n var directions = new Array(2);\n\n this.decideDirectionsForOverlappingNodes(rectA, rectB, directions);\n\n overlapAmount[0] = Math.min(rectA.getRight(), rectB.getRight()) - Math.max(rectA.x, rectB.x);\n overlapAmount[1] = Math.min(rectA.getBottom(), rectB.getBottom()) - Math.max(rectA.y, rectB.y);\n\n // update the overlapping amounts for the following cases:\n if (rectA.getX() <= rectB.getX() && rectA.getRight() >= rectB.getRight()) {\n /* Case x.1:\n *\n * rectA\n * \t| |\n * \t| _________ |\n * \t| | | |\n * \t|________|_______|______|\n * \t\t\t | |\n * | |\n * rectB\n */\n overlapAmount[0] += Math.min(rectB.getX() - rectA.getX(), rectA.getRight() - rectB.getRight());\n } else if (rectB.getX() <= rectA.getX() && rectB.getRight() >= rectA.getRight()) {\n /* Case x.2:\n *\n * rectB\n * \t| |\n * \t| _________ |\n * \t| | | |\n * \t|________|_______|______|\n * \t\t\t | |\n * | |\n * rectA\n */\n overlapAmount[0] += Math.min(rectA.getX() - rectB.getX(), rectB.getRight() - rectA.getRight());\n }\n if (rectA.getY() <= rectB.getY() && rectA.getBottom() >= rectB.getBottom()) {\n /* Case y.1:\n * ________ rectA\n * |\n * |\n * ______|____ rectB\n * | |\n * | |\n * ______|____|\n * |\n * |\n * |________\n *\n */\n overlapAmount[1] += Math.min(rectB.getY() - rectA.getY(), rectA.getBottom() - rectB.getBottom());\n } else if (rectB.getY() <= rectA.getY() && rectB.getBottom() >= rectA.getBottom()) {\n /* Case y.2:\n * ________ rectB\n * |\n * |\n * ______|____ rectA\n * | |\n * | |\n * ______|____|\n * |\n * |\n * |________\n *\n */\n overlapAmount[1] += Math.min(rectA.getY() - rectB.getY(), rectB.getBottom() - rectA.getBottom());\n }\n\n // find slope of the line passes two centers\n var slope = Math.abs((rectB.getCenterY() - rectA.getCenterY()) / (rectB.getCenterX() - rectA.getCenterX()));\n // if centers are overlapped\n if (rectB.getCenterY() === rectA.getCenterY() && rectB.getCenterX() === rectA.getCenterX()) {\n // assume the slope is 1 (45 degree)\n slope = 1.0;\n }\n\n var moveByY = slope * overlapAmount[0];\n var moveByX = overlapAmount[1] / slope;\n if (overlapAmount[0] < moveByX) {\n moveByX = overlapAmount[0];\n } else {\n moveByY = overlapAmount[1];\n }\n // return half the amount so that if each rectangle is moved by these\n // amounts in opposite directions, overlap will be resolved\n overlapAmount[0] = -1 * directions[0] * (moveByX / 2 + separationBuffer);\n overlapAmount[1] = -1 * directions[1] * (moveByY / 2 + separationBuffer);\n};\n\n/**\n * This method decides the separation direction of overlapping nodes\n *\n * if directions[0] = -1, then rectA goes left\n * if directions[0] = 1, then rectA goes right\n * if directions[1] = -1, then rectA goes up\n * if directions[1] = 1, then rectA goes down\n */\nIGeometry.decideDirectionsForOverlappingNodes = function (rectA, rectB, directions) {\n if (rectA.getCenterX() < rectB.getCenterX()) {\n directions[0] = -1;\n } else {\n directions[0] = 1;\n }\n\n if (rectA.getCenterY() < rectB.getCenterY()) {\n directions[1] = -1;\n } else {\n directions[1] = 1;\n }\n};\n\n/**\n * This method calculates the intersection (clipping) points of the two\n * input rectangles with line segment defined by the centers of these two\n * rectangles. The clipping points are saved in the input double array and\n * whether or not the two rectangles overlap is returned.\n */\nIGeometry.getIntersection2 = function (rectA, rectB, result) {\n //result[0-1] will contain clipPoint of rectA, result[2-3] will contain clipPoint of rectB\n var p1x = rectA.getCenterX();\n var p1y = rectA.getCenterY();\n var p2x = rectB.getCenterX();\n var p2y = rectB.getCenterY();\n\n //if two rectangles intersect, then clipping points are centers\n if (rectA.intersects(rectB)) {\n result[0] = p1x;\n result[1] = p1y;\n result[2] = p2x;\n result[3] = p2y;\n return true;\n }\n //variables for rectA\n var topLeftAx = rectA.getX();\n var topLeftAy = rectA.getY();\n var topRightAx = rectA.getRight();\n var bottomLeftAx = rectA.getX();\n var bottomLeftAy = rectA.getBottom();\n var bottomRightAx = rectA.getRight();\n var halfWidthA = rectA.getWidthHalf();\n var halfHeightA = rectA.getHeightHalf();\n //variables for rectB\n var topLeftBx = rectB.getX();\n var topLeftBy = rectB.getY();\n var topRightBx = rectB.getRight();\n var bottomLeftBx = rectB.getX();\n var bottomLeftBy = rectB.getBottom();\n var bottomRightBx = rectB.getRight();\n var halfWidthB = rectB.getWidthHalf();\n var halfHeightB = rectB.getHeightHalf();\n\n //flag whether clipping points are found\n var clipPointAFound = false;\n var clipPointBFound = false;\n\n // line is vertical\n if (p1x === p2x) {\n if (p1y > p2y) {\n result[0] = p1x;\n result[1] = topLeftAy;\n result[2] = p2x;\n result[3] = bottomLeftBy;\n return false;\n } else if (p1y < p2y) {\n result[0] = p1x;\n result[1] = bottomLeftAy;\n result[2] = p2x;\n result[3] = topLeftBy;\n return false;\n } else {\n //not line, return null;\n }\n }\n // line is horizontal\n else if (p1y === p2y) {\n if (p1x > p2x) {\n result[0] = topLeftAx;\n result[1] = p1y;\n result[2] = topRightBx;\n result[3] = p2y;\n return false;\n } else if (p1x < p2x) {\n result[0] = topRightAx;\n result[1] = p1y;\n result[2] = topLeftBx;\n result[3] = p2y;\n return false;\n } else {\n //not valid line, return null;\n }\n } else {\n //slopes of rectA's and rectB's diagonals\n var slopeA = rectA.height / rectA.width;\n var slopeB = rectB.height / rectB.width;\n\n //slope of line between center of rectA and center of rectB\n var slopePrime = (p2y - p1y) / (p2x - p1x);\n var cardinalDirectionA = void 0;\n var cardinalDirectionB = void 0;\n var tempPointAx = void 0;\n var tempPointAy = void 0;\n var tempPointBx = void 0;\n var tempPointBy = void 0;\n\n //determine whether clipping point is the corner of nodeA\n if (-slopeA === slopePrime) {\n if (p1x > p2x) {\n result[0] = bottomLeftAx;\n result[1] = bottomLeftAy;\n clipPointAFound = true;\n } else {\n result[0] = topRightAx;\n result[1] = topLeftAy;\n clipPointAFound = true;\n }\n } else if (slopeA === slopePrime) {\n if (p1x > p2x) {\n result[0] = topLeftAx;\n result[1] = topLeftAy;\n clipPointAFound = true;\n } else {\n result[0] = bottomRightAx;\n result[1] = bottomLeftAy;\n clipPointAFound = true;\n }\n }\n\n //determine whether clipping point is the corner of nodeB\n if (-slopeB === slopePrime) {\n if (p2x > p1x) {\n result[2] = bottomLeftBx;\n result[3] = bottomLeftBy;\n clipPointBFound = true;\n } else {\n result[2] = topRightBx;\n result[3] = topLeftBy;\n clipPointBFound = true;\n }\n } else if (slopeB === slopePrime) {\n if (p2x > p1x) {\n result[2] = topLeftBx;\n result[3] = topLeftBy;\n clipPointBFound = true;\n } else {\n result[2] = bottomRightBx;\n result[3] = bottomLeftBy;\n clipPointBFound = true;\n }\n }\n\n //if both clipping points are corners\n if (clipPointAFound && clipPointBFound) {\n return false;\n }\n\n //determine Cardinal Direction of rectangles\n if (p1x > p2x) {\n if (p1y > p2y) {\n cardinalDirectionA = this.getCardinalDirection(slopeA, slopePrime, 4);\n cardinalDirectionB = this.getCardinalDirection(slopeB, slopePrime, 2);\n } else {\n cardinalDirectionA = this.getCardinalDirection(-slopeA, slopePrime, 3);\n cardinalDirectionB = this.getCardinalDirection(-slopeB, slopePrime, 1);\n }\n } else {\n if (p1y > p2y) {\n cardinalDirectionA = this.getCardinalDirection(-slopeA, slopePrime, 1);\n cardinalDirectionB = this.getCardinalDirection(-slopeB, slopePrime, 3);\n } else {\n cardinalDirectionA = this.getCardinalDirection(slopeA, slopePrime, 2);\n cardinalDirectionB = this.getCardinalDirection(slopeB, slopePrime, 4);\n }\n }\n //calculate clipping Point if it is not found before\n if (!clipPointAFound) {\n switch (cardinalDirectionA) {\n case 1:\n tempPointAy = topLeftAy;\n tempPointAx = p1x + -halfHeightA / slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 2:\n tempPointAx = bottomRightAx;\n tempPointAy = p1y + halfWidthA * slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 3:\n tempPointAy = bottomLeftAy;\n tempPointAx = p1x + halfHeightA / slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 4:\n tempPointAx = bottomLeftAx;\n tempPointAy = p1y + -halfWidthA * slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n }\n }\n if (!clipPointBFound) {\n switch (cardinalDirectionB) {\n case 1:\n tempPointBy = topLeftBy;\n tempPointBx = p2x + -halfHeightB / slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 2:\n tempPointBx = bottomRightBx;\n tempPointBy = p2y + halfWidthB * slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 3:\n tempPointBy = bottomLeftBy;\n tempPointBx = p2x + halfHeightB / slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 4:\n tempPointBx = bottomLeftBx;\n tempPointBy = p2y + -halfWidthB * slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n }\n }\n }\n return false;\n};\n\n/**\n * This method returns in which cardinal direction does input point stays\n * 1: North\n * 2: East\n * 3: South\n * 4: West\n */\nIGeometry.getCardinalDirection = function (slope, slopePrime, line) {\n if (slope > slopePrime) {\n return line;\n } else {\n return 1 + line % 4;\n }\n};\n\n/**\n * This method calculates the intersection of the two lines defined by\n * point pairs (s1,s2) and (f1,f2).\n */\nIGeometry.getIntersection = function (s1, s2, f1, f2) {\n if (f2 == null) {\n return this.getIntersection2(s1, s2, f1);\n }\n\n var x1 = s1.x;\n var y1 = s1.y;\n var x2 = s2.x;\n var y2 = s2.y;\n var x3 = f1.x;\n var y3 = f1.y;\n var x4 = f2.x;\n var y4 = f2.y;\n var x = void 0,\n y = void 0; // intersection point\n var a1 = void 0,\n a2 = void 0,\n b1 = void 0,\n b2 = void 0,\n c1 = void 0,\n c2 = void 0; // coefficients of line eqns.\n var denom = void 0;\n\n a1 = y2 - y1;\n b1 = x1 - x2;\n c1 = x2 * y1 - x1 * y2; // { a1*x + b1*y + c1 = 0 is line 1 }\n\n a2 = y4 - y3;\n b2 = x3 - x4;\n c2 = x4 * y3 - x3 * y4; // { a2*x + b2*y + c2 = 0 is line 2 }\n\n denom = a1 * b2 - a2 * b1;\n\n if (denom === 0) {\n return null;\n }\n\n x = (b1 * c2 - b2 * c1) / denom;\n y = (a2 * c1 - a1 * c2) / denom;\n\n return new Point(x, y);\n};\n\n/**\n * This method finds and returns the angle of the vector from the + x-axis\n * in clockwise direction (compatible w/ Java coordinate system!).\n */\nIGeometry.angleOfVector = function (Cx, Cy, Nx, Ny) {\n var C_angle = void 0;\n\n if (Cx !== Nx) {\n C_angle = Math.atan((Ny - Cy) / (Nx - Cx));\n\n if (Nx < Cx) {\n C_angle += Math.PI;\n } else if (Ny < Cy) {\n C_angle += this.TWO_PI;\n }\n } else if (Ny < Cy) {\n C_angle = this.ONE_AND_HALF_PI; // 270 degrees\n } else {\n C_angle = this.HALF_PI; // 90 degrees\n }\n\n return C_angle;\n};\n\n/**\n * This method checks whether the given two line segments (one with point\n * p1 and p2, the other with point p3 and p4) intersect at a point other\n * than these points.\n */\nIGeometry.doIntersect = function (p1, p2, p3, p4) {\n var a = p1.x;\n var b = p1.y;\n var c = p2.x;\n var d = p2.y;\n var p = p3.x;\n var q = p3.y;\n var r = p4.x;\n var s = p4.y;\n var det = (c - a) * (s - q) - (r - p) * (d - b);\n\n if (det === 0) {\n return false;\n } else {\n var lambda = ((s - q) * (r - a) + (p - r) * (s - b)) / det;\n var gamma = ((b - d) * (r - a) + (c - a) * (s - b)) / det;\n return 0 < lambda && lambda < 1 && 0 < gamma && gamma < 1;\n }\n};\n\n// -----------------------------------------------------------------------------\n// Section: Class Constants\n// -----------------------------------------------------------------------------\n/**\n * Some useful pre-calculated constants\n */\nIGeometry.HALF_PI = 0.5 * Math.PI;\nIGeometry.ONE_AND_HALF_PI = 1.5 * Math.PI;\nIGeometry.TWO_PI = 2.0 * Math.PI;\nIGeometry.THREE_PI = 3.0 * Math.PI;\n\nmodule.exports = IGeometry;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction IMath() {}\n\n/**\n * This method returns the sign of the input value.\n */\nIMath.sign = function (value) {\n if (value > 0) {\n return 1;\n } else if (value < 0) {\n return -1;\n } else {\n return 0;\n }\n};\n\nIMath.floor = function (value) {\n return value < 0 ? Math.ceil(value) : Math.floor(value);\n};\n\nIMath.ceil = function (value) {\n return value < 0 ? Math.floor(value) : Math.ceil(value);\n};\n\nmodule.exports = IMath;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction Integer() {}\n\nInteger.MAX_VALUE = 2147483647;\nInteger.MIN_VALUE = -2147483648;\n\nmodule.exports = Integer;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar nodeFrom = function nodeFrom(value) {\n return { value: value, next: null, prev: null };\n};\n\nvar add = function add(prev, node, next, list) {\n if (prev !== null) {\n prev.next = node;\n } else {\n list.head = node;\n }\n\n if (next !== null) {\n next.prev = node;\n } else {\n list.tail = node;\n }\n\n node.prev = prev;\n node.next = next;\n\n list.length++;\n\n return node;\n};\n\nvar _remove = function _remove(node, list) {\n var prev = node.prev,\n next = node.next;\n\n\n if (prev !== null) {\n prev.next = next;\n } else {\n list.head = next;\n }\n\n if (next !== null) {\n next.prev = prev;\n } else {\n list.tail = prev;\n }\n\n node.prev = node.next = null;\n\n list.length--;\n\n return node;\n};\n\nvar LinkedList = function () {\n function LinkedList(vals) {\n var _this = this;\n\n _classCallCheck(this, LinkedList);\n\n this.length = 0;\n this.head = null;\n this.tail = null;\n\n if (vals != null) {\n vals.forEach(function (v) {\n return _this.push(v);\n });\n }\n }\n\n _createClass(LinkedList, [{\n key: \"size\",\n value: function size() {\n return this.length;\n }\n }, {\n key: \"insertBefore\",\n value: function insertBefore(val, otherNode) {\n return add(otherNode.prev, nodeFrom(val), otherNode, this);\n }\n }, {\n key: \"insertAfter\",\n value: function insertAfter(val, otherNode) {\n return add(otherNode, nodeFrom(val), otherNode.next, this);\n }\n }, {\n key: \"insertNodeBefore\",\n value: function insertNodeBefore(newNode, otherNode) {\n return add(otherNode.prev, newNode, otherNode, this);\n }\n }, {\n key: \"insertNodeAfter\",\n value: function insertNodeAfter(newNode, otherNode) {\n return add(otherNode, newNode, otherNode.next, this);\n }\n }, {\n key: \"push\",\n value: function push(val) {\n return add(this.tail, nodeFrom(val), null, this);\n }\n }, {\n key: \"unshift\",\n value: function unshift(val) {\n return add(null, nodeFrom(val), this.head, this);\n }\n }, {\n key: \"remove\",\n value: function remove(node) {\n return _remove(node, this);\n }\n }, {\n key: \"pop\",\n value: function pop() {\n return _remove(this.tail, this).value;\n }\n }, {\n key: \"popNode\",\n value: function popNode() {\n return _remove(this.tail, this);\n }\n }, {\n key: \"shift\",\n value: function shift() {\n return _remove(this.head, this).value;\n }\n }, {\n key: \"shiftNode\",\n value: function shiftNode() {\n return _remove(this.head, this);\n }\n }, {\n key: \"get_object_at\",\n value: function get_object_at(index) {\n if (index <= this.length()) {\n var i = 1;\n var current = this.head;\n while (i < index) {\n current = current.next;\n i++;\n }\n return current.value;\n }\n }\n }, {\n key: \"set_object_at\",\n value: function set_object_at(index, value) {\n if (index <= this.length()) {\n var i = 1;\n var current = this.head;\n while (i < index) {\n current = current.next;\n i++;\n }\n current.value = value;\n }\n }\n }]);\n\n return LinkedList;\n}();\n\nmodule.exports = LinkedList;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\r\n *This class is the javascript implementation of the Point.java class in jdk\r\n */\nfunction Point(x, y, p) {\n this.x = null;\n this.y = null;\n if (x == null && y == null && p == null) {\n this.x = 0;\n this.y = 0;\n } else if (typeof x == 'number' && typeof y == 'number' && p == null) {\n this.x = x;\n this.y = y;\n } else if (x.constructor.name == 'Point' && y == null && p == null) {\n p = x;\n this.x = p.x;\n this.y = p.y;\n }\n}\n\nPoint.prototype.getX = function () {\n return this.x;\n};\n\nPoint.prototype.getY = function () {\n return this.y;\n};\n\nPoint.prototype.getLocation = function () {\n return new Point(this.x, this.y);\n};\n\nPoint.prototype.setLocation = function (x, y, p) {\n if (x.constructor.name == 'Point' && y == null && p == null) {\n p = x;\n this.setLocation(p.x, p.y);\n } else if (typeof x == 'number' && typeof y == 'number' && p == null) {\n //if both parameters are integer just move (x,y) location\n if (parseInt(x) == x && parseInt(y) == y) {\n this.move(x, y);\n } else {\n this.x = Math.floor(x + 0.5);\n this.y = Math.floor(y + 0.5);\n }\n }\n};\n\nPoint.prototype.move = function (x, y) {\n this.x = x;\n this.y = y;\n};\n\nPoint.prototype.translate = function (dx, dy) {\n this.x += dx;\n this.y += dy;\n};\n\nPoint.prototype.equals = function (obj) {\n if (obj.constructor.name == \"Point\") {\n var pt = obj;\n return this.x == pt.x && this.y == pt.y;\n }\n return this == obj;\n};\n\nPoint.prototype.toString = function () {\n return new Point().constructor.name + \"[x=\" + this.x + \",y=\" + this.y + \"]\";\n};\n\nmodule.exports = Point;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction RectangleD(x, y, width, height) {\n this.x = 0;\n this.y = 0;\n this.width = 0;\n this.height = 0;\n\n if (x != null && y != null && width != null && height != null) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n }\n}\n\nRectangleD.prototype.getX = function () {\n return this.x;\n};\n\nRectangleD.prototype.setX = function (x) {\n this.x = x;\n};\n\nRectangleD.prototype.getY = function () {\n return this.y;\n};\n\nRectangleD.prototype.setY = function (y) {\n this.y = y;\n};\n\nRectangleD.prototype.getWidth = function () {\n return this.width;\n};\n\nRectangleD.prototype.setWidth = function (width) {\n this.width = width;\n};\n\nRectangleD.prototype.getHeight = function () {\n return this.height;\n};\n\nRectangleD.prototype.setHeight = function (height) {\n this.height = height;\n};\n\nRectangleD.prototype.getRight = function () {\n return this.x + this.width;\n};\n\nRectangleD.prototype.getBottom = function () {\n return this.y + this.height;\n};\n\nRectangleD.prototype.intersects = function (a) {\n if (this.getRight() < a.x) {\n return false;\n }\n\n if (this.getBottom() < a.y) {\n return false;\n }\n\n if (a.getRight() < this.x) {\n return false;\n }\n\n if (a.getBottom() < this.y) {\n return false;\n }\n\n return true;\n};\n\nRectangleD.prototype.getCenterX = function () {\n return this.x + this.width / 2;\n};\n\nRectangleD.prototype.getMinX = function () {\n return this.getX();\n};\n\nRectangleD.prototype.getMaxX = function () {\n return this.getX() + this.width;\n};\n\nRectangleD.prototype.getCenterY = function () {\n return this.y + this.height / 2;\n};\n\nRectangleD.prototype.getMinY = function () {\n return this.getY();\n};\n\nRectangleD.prototype.getMaxY = function () {\n return this.getY() + this.height;\n};\n\nRectangleD.prototype.getWidthHalf = function () {\n return this.width / 2;\n};\n\nRectangleD.prototype.getHeightHalf = function () {\n return this.height / 2;\n};\n\nmodule.exports = RectangleD;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction UniqueIDGeneretor() {}\n\nUniqueIDGeneretor.lastID = 0;\n\nUniqueIDGeneretor.createID = function (obj) {\n if (UniqueIDGeneretor.isPrimitive(obj)) {\n return obj;\n }\n if (obj.uniqueID != null) {\n return obj.uniqueID;\n }\n obj.uniqueID = UniqueIDGeneretor.getString();\n UniqueIDGeneretor.lastID++;\n return obj.uniqueID;\n};\n\nUniqueIDGeneretor.getString = function (id) {\n if (id == null) id = UniqueIDGeneretor.lastID;\n return \"Object#\" + id + \"\";\n};\n\nUniqueIDGeneretor.isPrimitive = function (arg) {\n var type = typeof arg === \"undefined\" ? \"undefined\" : _typeof(arg);\n return arg == null || type != \"object\" && type != \"function\";\n};\n\nmodule.exports = UniqueIDGeneretor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar LayoutConstants = __webpack_require__(0);\nvar LGraphManager = __webpack_require__(6);\nvar LNode = __webpack_require__(3);\nvar LEdge = __webpack_require__(1);\nvar LGraph = __webpack_require__(5);\nvar PointD = __webpack_require__(4);\nvar Transform = __webpack_require__(17);\nvar Emitter = __webpack_require__(27);\n\nfunction Layout(isRemoteUse) {\n Emitter.call(this);\n\n //Layout Quality: 0:draft, 1:default, 2:proof\n this.layoutQuality = LayoutConstants.QUALITY;\n //Whether layout should create bendpoints as needed or not\n this.createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n //Whether layout should be incremental or not\n this.incremental = LayoutConstants.DEFAULT_INCREMENTAL;\n //Whether we animate from before to after layout node positions\n this.animationOnLayout = LayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT;\n //Whether we animate the layout process or not\n this.animationDuringLayout = LayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT;\n //Number iterations that should be done between two successive animations\n this.animationPeriod = LayoutConstants.DEFAULT_ANIMATION_PERIOD;\n /**\r\n * Whether or not leaf nodes (non-compound nodes) are of uniform sizes. When\r\n * they are, both spring and repulsion forces between two leaf nodes can be\r\n * calculated without the expensive clipping point calculations, resulting\r\n * in major speed-up.\r\n */\n this.uniformLeafNodeSizes = LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES;\n /**\r\n * This is used for creation of bendpoints by using dummy nodes and edges.\r\n * Maps an LEdge to its dummy bendpoint path.\r\n */\n this.edgeToDummyNodes = new Map();\n this.graphManager = new LGraphManager(this);\n this.isLayoutFinished = false;\n this.isSubLayout = false;\n this.isRemoteUse = false;\n\n if (isRemoteUse != null) {\n this.isRemoteUse = isRemoteUse;\n }\n}\n\nLayout.RANDOM_SEED = 1;\n\nLayout.prototype = Object.create(Emitter.prototype);\n\nLayout.prototype.getGraphManager = function () {\n return this.graphManager;\n};\n\nLayout.prototype.getAllNodes = function () {\n return this.graphManager.getAllNodes();\n};\n\nLayout.prototype.getAllEdges = function () {\n return this.graphManager.getAllEdges();\n};\n\nLayout.prototype.getAllNodesToApplyGravitation = function () {\n return this.graphManager.getAllNodesToApplyGravitation();\n};\n\nLayout.prototype.newGraphManager = function () {\n var gm = new LGraphManager(this);\n this.graphManager = gm;\n return gm;\n};\n\nLayout.prototype.newGraph = function (vGraph) {\n return new LGraph(null, this.graphManager, vGraph);\n};\n\nLayout.prototype.newNode = function (vNode) {\n return new LNode(this.graphManager, vNode);\n};\n\nLayout.prototype.newEdge = function (vEdge) {\n return new LEdge(null, null, vEdge);\n};\n\nLayout.prototype.checkLayoutSuccess = function () {\n return this.graphManager.getRoot() == null || this.graphManager.getRoot().getNodes().length == 0 || this.graphManager.includesInvalidEdge();\n};\n\nLayout.prototype.runLayout = function () {\n this.isLayoutFinished = false;\n\n if (this.tilingPreLayout) {\n this.tilingPreLayout();\n }\n\n this.initParameters();\n var isLayoutSuccessfull;\n\n if (this.checkLayoutSuccess()) {\n isLayoutSuccessfull = false;\n } else {\n isLayoutSuccessfull = this.layout();\n }\n\n if (LayoutConstants.ANIMATE === 'during') {\n // If this is a 'during' layout animation. Layout is not finished yet. \n // We need to perform these in index.js when layout is really finished.\n return false;\n }\n\n if (isLayoutSuccessfull) {\n if (!this.isSubLayout) {\n this.doPostLayout();\n }\n }\n\n if (this.tilingPostLayout) {\n this.tilingPostLayout();\n }\n\n this.isLayoutFinished = true;\n\n return isLayoutSuccessfull;\n};\n\n/**\r\n * This method performs the operations required after layout.\r\n */\nLayout.prototype.doPostLayout = function () {\n //assert !isSubLayout : \"Should not be called on sub-layout!\";\n // Propagate geometric changes to v-level objects\n if (!this.incremental) {\n this.transform();\n }\n this.update();\n};\n\n/**\r\n * This method updates the geometry of the target graph according to\r\n * calculated layout.\r\n */\nLayout.prototype.update2 = function () {\n // update bend points\n if (this.createBendsAsNeeded) {\n this.createBendpointsFromDummyNodes();\n\n // reset all edges, since the topology has changed\n this.graphManager.resetAllEdges();\n }\n\n // perform edge, node and root updates if layout is not called\n // remotely\n if (!this.isRemoteUse) {\n // update all edges\n var edge;\n var allEdges = this.graphManager.getAllEdges();\n for (var i = 0; i < allEdges.length; i++) {\n edge = allEdges[i];\n // this.update(edge);\n }\n\n // recursively update nodes\n var node;\n var nodes = this.graphManager.getRoot().getNodes();\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n // this.update(node);\n }\n\n // update root graph\n this.update(this.graphManager.getRoot());\n }\n};\n\nLayout.prototype.update = function (obj) {\n if (obj == null) {\n this.update2();\n } else if (obj instanceof LNode) {\n var node = obj;\n if (node.getChild() != null) {\n // since node is compound, recursively update child nodes\n var nodes = node.getChild().getNodes();\n for (var i = 0; i < nodes.length; i++) {\n update(nodes[i]);\n }\n }\n\n // if the l-level node is associated with a v-level graph object,\n // then it is assumed that the v-level node implements the\n // interface Updatable.\n if (node.vGraphObject != null) {\n // cast to Updatable without any type check\n var vNode = node.vGraphObject;\n\n // call the update method of the interface\n vNode.update(node);\n }\n } else if (obj instanceof LEdge) {\n var edge = obj;\n // if the l-level edge is associated with a v-level graph object,\n // then it is assumed that the v-level edge implements the\n // interface Updatable.\n\n if (edge.vGraphObject != null) {\n // cast to Updatable without any type check\n var vEdge = edge.vGraphObject;\n\n // call the update method of the interface\n vEdge.update(edge);\n }\n } else if (obj instanceof LGraph) {\n var graph = obj;\n // if the l-level graph is associated with a v-level graph object,\n // then it is assumed that the v-level object implements the\n // interface Updatable.\n\n if (graph.vGraphObject != null) {\n // cast to Updatable without any type check\n var vGraph = graph.vGraphObject;\n\n // call the update method of the interface\n vGraph.update(graph);\n }\n }\n};\n\n/**\r\n * This method is used to set all layout parameters to default values\r\n * determined at compile time.\r\n */\nLayout.prototype.initParameters = function () {\n if (!this.isSubLayout) {\n this.layoutQuality = LayoutConstants.QUALITY;\n this.animationDuringLayout = LayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT;\n this.animationPeriod = LayoutConstants.DEFAULT_ANIMATION_PERIOD;\n this.animationOnLayout = LayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT;\n this.incremental = LayoutConstants.DEFAULT_INCREMENTAL;\n this.createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n this.uniformLeafNodeSizes = LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES;\n }\n\n if (this.animationDuringLayout) {\n this.animationOnLayout = false;\n }\n};\n\nLayout.prototype.transform = function (newLeftTop) {\n if (newLeftTop == undefined) {\n this.transform(new PointD(0, 0));\n } else {\n // create a transformation object (from Eclipse to layout). When an\n // inverse transform is applied, we get upper-left coordinate of the\n // drawing or the root graph at given input coordinate (some margins\n // already included in calculation of left-top).\n\n var trans = new Transform();\n var leftTop = this.graphManager.getRoot().updateLeftTop();\n\n if (leftTop != null) {\n trans.setWorldOrgX(newLeftTop.x);\n trans.setWorldOrgY(newLeftTop.y);\n\n trans.setDeviceOrgX(leftTop.x);\n trans.setDeviceOrgY(leftTop.y);\n\n var nodes = this.getAllNodes();\n var node;\n\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n node.transform(trans);\n }\n }\n }\n};\n\nLayout.prototype.positionNodesRandomly = function (graph) {\n\n if (graph == undefined) {\n //assert !this.incremental;\n this.positionNodesRandomly(this.getGraphManager().getRoot());\n this.getGraphManager().getRoot().updateBounds(true);\n } else {\n var lNode;\n var childGraph;\n\n var nodes = graph.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n lNode = nodes[i];\n childGraph = lNode.getChild();\n\n if (childGraph == null) {\n lNode.scatter();\n } else if (childGraph.getNodes().length == 0) {\n lNode.scatter();\n } else {\n this.positionNodesRandomly(childGraph);\n lNode.updateBounds();\n }\n }\n }\n};\n\n/**\r\n * This method returns a list of trees where each tree is represented as a\r\n * list of l-nodes. The method returns a list of size 0 when:\r\n * - The graph is not flat or\r\n * - One of the component(s) of the graph is not a tree.\r\n */\nLayout.prototype.getFlatForest = function () {\n var flatForest = [];\n var isForest = true;\n\n // Quick reference for all nodes in the graph manager associated with\n // this layout. The list should not be changed.\n var allNodes = this.graphManager.getRoot().getNodes();\n\n // First be sure that the graph is flat\n var isFlat = true;\n\n for (var i = 0; i < allNodes.length; i++) {\n if (allNodes[i].getChild() != null) {\n isFlat = false;\n }\n }\n\n // Return empty forest if the graph is not flat.\n if (!isFlat) {\n return flatForest;\n }\n\n // Run BFS for each component of the graph.\n\n var visited = new Set();\n var toBeVisited = [];\n var parents = new Map();\n var unProcessedNodes = [];\n\n unProcessedNodes = unProcessedNodes.concat(allNodes);\n\n // Each iteration of this loop finds a component of the graph and\n // decides whether it is a tree or not. If it is a tree, adds it to the\n // forest and continued with the next component.\n\n while (unProcessedNodes.length > 0 && isForest) {\n toBeVisited.push(unProcessedNodes[0]);\n\n // Start the BFS. Each iteration of this loop visits a node in a\n // BFS manner.\n while (toBeVisited.length > 0 && isForest) {\n //pool operation\n var currentNode = toBeVisited[0];\n toBeVisited.splice(0, 1);\n visited.add(currentNode);\n\n // Traverse all neighbors of this node\n var neighborEdges = currentNode.getEdges();\n\n for (var i = 0; i < neighborEdges.length; i++) {\n var currentNeighbor = neighborEdges[i].getOtherEnd(currentNode);\n\n // If BFS is not growing from this neighbor.\n if (parents.get(currentNode) != currentNeighbor) {\n // We haven't previously visited this neighbor.\n if (!visited.has(currentNeighbor)) {\n toBeVisited.push(currentNeighbor);\n parents.set(currentNeighbor, currentNode);\n }\n // Since we have previously visited this neighbor and\n // this neighbor is not parent of currentNode, given\n // graph contains a component that is not tree, hence\n // it is not a forest.\n else {\n isForest = false;\n break;\n }\n }\n }\n }\n\n // The graph contains a component that is not a tree. Empty\n // previously found trees. The method will end.\n if (!isForest) {\n flatForest = [];\n }\n // Save currently visited nodes as a tree in our forest. Reset\n // visited and parents lists. Continue with the next component of\n // the graph, if any.\n else {\n var temp = [].concat(_toConsumableArray(visited));\n flatForest.push(temp);\n //flatForest = flatForest.concat(temp);\n //unProcessedNodes.removeAll(visited);\n for (var i = 0; i < temp.length; i++) {\n var value = temp[i];\n var index = unProcessedNodes.indexOf(value);\n if (index > -1) {\n unProcessedNodes.splice(index, 1);\n }\n }\n visited = new Set();\n parents = new Map();\n }\n }\n\n return flatForest;\n};\n\n/**\r\n * This method creates dummy nodes (an l-level node with minimal dimensions)\r\n * for the given edge (one per bendpoint). The existing l-level structure\r\n * is updated accordingly.\r\n */\nLayout.prototype.createDummyNodesForBendpoints = function (edge) {\n var dummyNodes = [];\n var prev = edge.source;\n\n var graph = this.graphManager.calcLowestCommonAncestor(edge.source, edge.target);\n\n for (var i = 0; i < edge.bendpoints.length; i++) {\n // create new dummy node\n var dummyNode = this.newNode(null);\n dummyNode.setRect(new Point(0, 0), new Dimension(1, 1));\n\n graph.add(dummyNode);\n\n // create new dummy edge between prev and dummy node\n var dummyEdge = this.newEdge(null);\n this.graphManager.add(dummyEdge, prev, dummyNode);\n\n dummyNodes.add(dummyNode);\n prev = dummyNode;\n }\n\n var dummyEdge = this.newEdge(null);\n this.graphManager.add(dummyEdge, prev, edge.target);\n\n this.edgeToDummyNodes.set(edge, dummyNodes);\n\n // remove real edge from graph manager if it is inter-graph\n if (edge.isInterGraph()) {\n this.graphManager.remove(edge);\n }\n // else, remove the edge from the current graph\n else {\n graph.remove(edge);\n }\n\n return dummyNodes;\n};\n\n/**\r\n * This method creates bendpoints for edges from the dummy nodes\r\n * at l-level.\r\n */\nLayout.prototype.createBendpointsFromDummyNodes = function () {\n var edges = [];\n edges = edges.concat(this.graphManager.getAllEdges());\n edges = [].concat(_toConsumableArray(this.edgeToDummyNodes.keys())).concat(edges);\n\n for (var k = 0; k < edges.length; k++) {\n var lEdge = edges[k];\n\n if (lEdge.bendpoints.length > 0) {\n var path = this.edgeToDummyNodes.get(lEdge);\n\n for (var i = 0; i < path.length; i++) {\n var dummyNode = path[i];\n var p = new PointD(dummyNode.getCenterX(), dummyNode.getCenterY());\n\n // update bendpoint's location according to dummy node\n var ebp = lEdge.bendpoints.get(i);\n ebp.x = p.x;\n ebp.y = p.y;\n\n // remove the dummy node, dummy edges incident with this\n // dummy node is also removed (within the remove method)\n dummyNode.getOwner().remove(dummyNode);\n }\n\n // add the real edge to graph\n this.graphManager.add(lEdge, lEdge.source, lEdge.target);\n }\n }\n};\n\nLayout.transform = function (sliderValue, defaultValue, minDiv, maxMul) {\n if (minDiv != undefined && maxMul != undefined) {\n var value = defaultValue;\n\n if (sliderValue <= 50) {\n var minValue = defaultValue / minDiv;\n value -= (defaultValue - minValue) / 50 * (50 - sliderValue);\n } else {\n var maxValue = defaultValue * maxMul;\n value += (maxValue - defaultValue) / 50 * (sliderValue - 50);\n }\n\n return value;\n } else {\n var a, b;\n\n if (sliderValue <= 50) {\n a = 9.0 * defaultValue / 500.0;\n b = defaultValue / 10.0;\n } else {\n a = 9.0 * defaultValue / 50.0;\n b = -8 * defaultValue;\n }\n\n return a * sliderValue + b;\n }\n};\n\n/**\r\n * This method finds and returns the center of the given nodes, assuming\r\n * that the given nodes form a tree in themselves.\r\n */\nLayout.findCenterOfTree = function (nodes) {\n var list = [];\n list = list.concat(nodes);\n\n var removedNodes = [];\n var remainingDegrees = new Map();\n var foundCenter = false;\n var centerNode = null;\n\n if (list.length == 1 || list.length == 2) {\n foundCenter = true;\n centerNode = list[0];\n }\n\n for (var i = 0; i < list.length; i++) {\n var node = list[i];\n var degree = node.getNeighborsList().size;\n remainingDegrees.set(node, node.getNeighborsList().size);\n\n if (degree == 1) {\n removedNodes.push(node);\n }\n }\n\n var tempList = [];\n tempList = tempList.concat(removedNodes);\n\n while (!foundCenter) {\n var tempList2 = [];\n tempList2 = tempList2.concat(tempList);\n tempList = [];\n\n for (var i = 0; i < list.length; i++) {\n var node = list[i];\n\n var index = list.indexOf(node);\n if (index >= 0) {\n list.splice(index, 1);\n }\n\n var neighbours = node.getNeighborsList();\n\n neighbours.forEach(function (neighbour) {\n if (removedNodes.indexOf(neighbour) < 0) {\n var otherDegree = remainingDegrees.get(neighbour);\n var newDegree = otherDegree - 1;\n\n if (newDegree == 1) {\n tempList.push(neighbour);\n }\n\n remainingDegrees.set(neighbour, newDegree);\n }\n });\n }\n\n removedNodes = removedNodes.concat(tempList);\n\n if (list.length == 1 || list.length == 2) {\n foundCenter = true;\n centerNode = list[0];\n }\n }\n\n return centerNode;\n};\n\n/**\r\n * During the coarsening process, this layout may be referenced by two graph managers\r\n * this setter function grants access to change the currently being used graph manager\r\n */\nLayout.prototype.setGraphManager = function (gm) {\n this.graphManager = gm;\n};\n\nmodule.exports = Layout;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction RandomSeed() {}\n// adapted from: https://stackoverflow.com/a/19303725\nRandomSeed.seed = 1;\nRandomSeed.x = 0;\n\nRandomSeed.nextDouble = function () {\n RandomSeed.x = Math.sin(RandomSeed.seed++) * 10000;\n return RandomSeed.x - Math.floor(RandomSeed.x);\n};\n\nmodule.exports = RandomSeed;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar PointD = __webpack_require__(4);\n\nfunction Transform(x, y) {\n this.lworldOrgX = 0.0;\n this.lworldOrgY = 0.0;\n this.ldeviceOrgX = 0.0;\n this.ldeviceOrgY = 0.0;\n this.lworldExtX = 1.0;\n this.lworldExtY = 1.0;\n this.ldeviceExtX = 1.0;\n this.ldeviceExtY = 1.0;\n}\n\nTransform.prototype.getWorldOrgX = function () {\n return this.lworldOrgX;\n};\n\nTransform.prototype.setWorldOrgX = function (wox) {\n this.lworldOrgX = wox;\n};\n\nTransform.prototype.getWorldOrgY = function () {\n return this.lworldOrgY;\n};\n\nTransform.prototype.setWorldOrgY = function (woy) {\n this.lworldOrgY = woy;\n};\n\nTransform.prototype.getWorldExtX = function () {\n return this.lworldExtX;\n};\n\nTransform.prototype.setWorldExtX = function (wex) {\n this.lworldExtX = wex;\n};\n\nTransform.prototype.getWorldExtY = function () {\n return this.lworldExtY;\n};\n\nTransform.prototype.setWorldExtY = function (wey) {\n this.lworldExtY = wey;\n};\n\n/* Device related */\n\nTransform.prototype.getDeviceOrgX = function () {\n return this.ldeviceOrgX;\n};\n\nTransform.prototype.setDeviceOrgX = function (dox) {\n this.ldeviceOrgX = dox;\n};\n\nTransform.prototype.getDeviceOrgY = function () {\n return this.ldeviceOrgY;\n};\n\nTransform.prototype.setDeviceOrgY = function (doy) {\n this.ldeviceOrgY = doy;\n};\n\nTransform.prototype.getDeviceExtX = function () {\n return this.ldeviceExtX;\n};\n\nTransform.prototype.setDeviceExtX = function (dex) {\n this.ldeviceExtX = dex;\n};\n\nTransform.prototype.getDeviceExtY = function () {\n return this.ldeviceExtY;\n};\n\nTransform.prototype.setDeviceExtY = function (dey) {\n this.ldeviceExtY = dey;\n};\n\nTransform.prototype.transformX = function (x) {\n var xDevice = 0.0;\n var worldExtX = this.lworldExtX;\n if (worldExtX != 0.0) {\n xDevice = this.ldeviceOrgX + (x - this.lworldOrgX) * this.ldeviceExtX / worldExtX;\n }\n\n return xDevice;\n};\n\nTransform.prototype.transformY = function (y) {\n var yDevice = 0.0;\n var worldExtY = this.lworldExtY;\n if (worldExtY != 0.0) {\n yDevice = this.ldeviceOrgY + (y - this.lworldOrgY) * this.ldeviceExtY / worldExtY;\n }\n\n return yDevice;\n};\n\nTransform.prototype.inverseTransformX = function (x) {\n var xWorld = 0.0;\n var deviceExtX = this.ldeviceExtX;\n if (deviceExtX != 0.0) {\n xWorld = this.lworldOrgX + (x - this.ldeviceOrgX) * this.lworldExtX / deviceExtX;\n }\n\n return xWorld;\n};\n\nTransform.prototype.inverseTransformY = function (y) {\n var yWorld = 0.0;\n var deviceExtY = this.ldeviceExtY;\n if (deviceExtY != 0.0) {\n yWorld = this.lworldOrgY + (y - this.ldeviceOrgY) * this.lworldExtY / deviceExtY;\n }\n return yWorld;\n};\n\nTransform.prototype.inverseTransformPoint = function (inPoint) {\n var outPoint = new PointD(this.inverseTransformX(inPoint.x), this.inverseTransformY(inPoint.y));\n return outPoint;\n};\n\nmodule.exports = Transform;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar Layout = __webpack_require__(15);\nvar FDLayoutConstants = __webpack_require__(7);\nvar LayoutConstants = __webpack_require__(0);\nvar IGeometry = __webpack_require__(8);\nvar IMath = __webpack_require__(9);\n\nfunction FDLayout() {\n Layout.call(this);\n\n this.useSmartIdealEdgeLengthCalculation = FDLayoutConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION;\n this.idealEdgeLength = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\n this.springConstant = FDLayoutConstants.DEFAULT_SPRING_STRENGTH;\n this.repulsionConstant = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH;\n this.gravityConstant = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH;\n this.compoundGravityConstant = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH;\n this.gravityRangeFactor = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR;\n this.compoundGravityRangeFactor = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR;\n this.displacementThresholdPerNode = 3.0 * FDLayoutConstants.DEFAULT_EDGE_LENGTH / 100;\n this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n this.initialCoolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n this.totalDisplacement = 0.0;\n this.oldTotalDisplacement = 0.0;\n this.maxIterations = FDLayoutConstants.MAX_ITERATIONS;\n}\n\nFDLayout.prototype = Object.create(Layout.prototype);\n\nfor (var prop in Layout) {\n FDLayout[prop] = Layout[prop];\n}\n\nFDLayout.prototype.initParameters = function () {\n Layout.prototype.initParameters.call(this, arguments);\n\n this.totalIterations = 0;\n this.notAnimatedIterations = 0;\n\n this.useFRGridVariant = FDLayoutConstants.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION;\n\n this.grid = [];\n};\n\nFDLayout.prototype.calcIdealEdgeLengths = function () {\n var edge;\n var lcaDepth;\n var source;\n var target;\n var sizeOfSourceInLca;\n var sizeOfTargetInLca;\n\n var allEdges = this.getGraphManager().getAllEdges();\n for (var i = 0; i < allEdges.length; i++) {\n edge = allEdges[i];\n\n edge.idealLength = this.idealEdgeLength;\n\n if (edge.isInterGraph) {\n source = edge.getSource();\n target = edge.getTarget();\n\n sizeOfSourceInLca = edge.getSourceInLca().getEstimatedSize();\n sizeOfTargetInLca = edge.getTargetInLca().getEstimatedSize();\n\n if (this.useSmartIdealEdgeLengthCalculation) {\n edge.idealLength += sizeOfSourceInLca + sizeOfTargetInLca - 2 * LayoutConstants.SIMPLE_NODE_SIZE;\n }\n\n lcaDepth = edge.getLca().getInclusionTreeDepth();\n\n edge.idealLength += FDLayoutConstants.DEFAULT_EDGE_LENGTH * FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * (source.getInclusionTreeDepth() + target.getInclusionTreeDepth() - 2 * lcaDepth);\n }\n }\n};\n\nFDLayout.prototype.initSpringEmbedder = function () {\n\n var s = this.getAllNodes().length;\n if (this.incremental) {\n if (s > FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) {\n this.coolingFactor = Math.max(this.coolingFactor * FDLayoutConstants.COOLING_ADAPTATION_FACTOR, this.coolingFactor - (s - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) / (FDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) * this.coolingFactor * (1 - FDLayoutConstants.COOLING_ADAPTATION_FACTOR));\n }\n this.maxNodeDisplacement = FDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL;\n } else {\n if (s > FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) {\n this.coolingFactor = Math.max(FDLayoutConstants.COOLING_ADAPTATION_FACTOR, 1.0 - (s - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) / (FDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) * (1 - FDLayoutConstants.COOLING_ADAPTATION_FACTOR));\n } else {\n this.coolingFactor = 1.0;\n }\n this.initialCoolingFactor = this.coolingFactor;\n this.maxNodeDisplacement = FDLayoutConstants.MAX_NODE_DISPLACEMENT;\n }\n\n this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations);\n\n this.totalDisplacementThreshold = this.displacementThresholdPerNode * this.getAllNodes().length;\n\n this.repulsionRange = this.calcRepulsionRange();\n};\n\nFDLayout.prototype.calcSpringForces = function () {\n var lEdges = this.getAllEdges();\n var edge;\n\n for (var i = 0; i < lEdges.length; i++) {\n edge = lEdges[i];\n\n this.calcSpringForce(edge, edge.idealLength);\n }\n};\n\nFDLayout.prototype.calcRepulsionForces = function () {\n var gridUpdateAllowed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var forceToNodeSurroundingUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var i, j;\n var nodeA, nodeB;\n var lNodes = this.getAllNodes();\n var processedNodeSet;\n\n if (this.useFRGridVariant) {\n if (this.totalIterations % FDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD == 1 && gridUpdateAllowed) {\n this.updateGrid();\n }\n\n processedNodeSet = new Set();\n\n // calculate repulsion forces between each nodes and its surrounding\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n this.calculateRepulsionForceOfANode(nodeA, processedNodeSet, gridUpdateAllowed, forceToNodeSurroundingUpdate);\n processedNodeSet.add(nodeA);\n }\n } else {\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n\n for (j = i + 1; j < lNodes.length; j++) {\n nodeB = lNodes[j];\n\n // If both nodes are not members of the same graph, skip.\n if (nodeA.getOwner() != nodeB.getOwner()) {\n continue;\n }\n\n this.calcRepulsionForce(nodeA, nodeB);\n }\n }\n }\n};\n\nFDLayout.prototype.calcGravitationalForces = function () {\n var node;\n var lNodes = this.getAllNodesToApplyGravitation();\n\n for (var i = 0; i < lNodes.length; i++) {\n node = lNodes[i];\n this.calcGravitationalForce(node);\n }\n};\n\nFDLayout.prototype.moveNodes = function () {\n var lNodes = this.getAllNodes();\n var node;\n\n for (var i = 0; i < lNodes.length; i++) {\n node = lNodes[i];\n node.move();\n }\n};\n\nFDLayout.prototype.calcSpringForce = function (edge, idealLength) {\n var sourceNode = edge.getSource();\n var targetNode = edge.getTarget();\n\n var length;\n var springForce;\n var springForceX;\n var springForceY;\n\n // Update edge length\n if (this.uniformLeafNodeSizes && sourceNode.getChild() == null && targetNode.getChild() == null) {\n edge.updateLengthSimple();\n } else {\n edge.updateLength();\n\n if (edge.isOverlapingSourceAndTarget) {\n return;\n }\n }\n\n length = edge.getLength();\n\n if (length == 0) return;\n\n // Calculate spring forces\n springForce = this.springConstant * (length - idealLength);\n\n // Project force onto x and y axes\n springForceX = springForce * (edge.lengthX / length);\n springForceY = springForce * (edge.lengthY / length);\n\n // Apply forces on the end nodes\n sourceNode.springForceX += springForceX;\n sourceNode.springForceY += springForceY;\n targetNode.springForceX -= springForceX;\n targetNode.springForceY -= springForceY;\n};\n\nFDLayout.prototype.calcRepulsionForce = function (nodeA, nodeB) {\n var rectA = nodeA.getRect();\n var rectB = nodeB.getRect();\n var overlapAmount = new Array(2);\n var clipPoints = new Array(4);\n var distanceX;\n var distanceY;\n var distanceSquared;\n var distance;\n var repulsionForce;\n var repulsionForceX;\n var repulsionForceY;\n\n if (rectA.intersects(rectB)) // two nodes overlap\n {\n // calculate separation amount in x and y directions\n IGeometry.calcSeparationAmount(rectA, rectB, overlapAmount, FDLayoutConstants.DEFAULT_EDGE_LENGTH / 2.0);\n\n repulsionForceX = 2 * overlapAmount[0];\n repulsionForceY = 2 * overlapAmount[1];\n\n var childrenConstant = nodeA.noOfChildren * nodeB.noOfChildren / (nodeA.noOfChildren + nodeB.noOfChildren);\n\n // Apply forces on the two nodes\n nodeA.repulsionForceX -= childrenConstant * repulsionForceX;\n nodeA.repulsionForceY -= childrenConstant * repulsionForceY;\n nodeB.repulsionForceX += childrenConstant * repulsionForceX;\n nodeB.repulsionForceY += childrenConstant * repulsionForceY;\n } else // no overlap\n {\n // calculate distance\n\n if (this.uniformLeafNodeSizes && nodeA.getChild() == null && nodeB.getChild() == null) // simply base repulsion on distance of node centers\n {\n distanceX = rectB.getCenterX() - rectA.getCenterX();\n distanceY = rectB.getCenterY() - rectA.getCenterY();\n } else // use clipping points\n {\n IGeometry.getIntersection(rectA, rectB, clipPoints);\n\n distanceX = clipPoints[2] - clipPoints[0];\n distanceY = clipPoints[3] - clipPoints[1];\n }\n\n // No repulsion range. FR grid variant should take care of this.\n if (Math.abs(distanceX) < FDLayoutConstants.MIN_REPULSION_DIST) {\n distanceX = IMath.sign(distanceX) * FDLayoutConstants.MIN_REPULSION_DIST;\n }\n\n if (Math.abs(distanceY) < FDLayoutConstants.MIN_REPULSION_DIST) {\n distanceY = IMath.sign(distanceY) * FDLayoutConstants.MIN_REPULSION_DIST;\n }\n\n distanceSquared = distanceX * distanceX + distanceY * distanceY;\n distance = Math.sqrt(distanceSquared);\n\n repulsionForce = this.repulsionConstant * nodeA.noOfChildren * nodeB.noOfChildren / distanceSquared;\n\n // Project force onto x and y axes\n repulsionForceX = repulsionForce * distanceX / distance;\n repulsionForceY = repulsionForce * distanceY / distance;\n\n // Apply forces on the two nodes \n nodeA.repulsionForceX -= repulsionForceX;\n nodeA.repulsionForceY -= repulsionForceY;\n nodeB.repulsionForceX += repulsionForceX;\n nodeB.repulsionForceY += repulsionForceY;\n }\n};\n\nFDLayout.prototype.calcGravitationalForce = function (node) {\n var ownerGraph;\n var ownerCenterX;\n var ownerCenterY;\n var distanceX;\n var distanceY;\n var absDistanceX;\n var absDistanceY;\n var estimatedSize;\n ownerGraph = node.getOwner();\n\n ownerCenterX = (ownerGraph.getRight() + ownerGraph.getLeft()) / 2;\n ownerCenterY = (ownerGraph.getTop() + ownerGraph.getBottom()) / 2;\n distanceX = node.getCenterX() - ownerCenterX;\n distanceY = node.getCenterY() - ownerCenterY;\n absDistanceX = Math.abs(distanceX) + node.getWidth() / 2;\n absDistanceY = Math.abs(distanceY) + node.getHeight() / 2;\n\n if (node.getOwner() == this.graphManager.getRoot()) // in the root graph\n {\n estimatedSize = ownerGraph.getEstimatedSize() * this.gravityRangeFactor;\n\n if (absDistanceX > estimatedSize || absDistanceY > estimatedSize) {\n node.gravitationForceX = -this.gravityConstant * distanceX;\n node.gravitationForceY = -this.gravityConstant * distanceY;\n }\n } else // inside a compound\n {\n estimatedSize = ownerGraph.getEstimatedSize() * this.compoundGravityRangeFactor;\n\n if (absDistanceX > estimatedSize || absDistanceY > estimatedSize) {\n node.gravitationForceX = -this.gravityConstant * distanceX * this.compoundGravityConstant;\n node.gravitationForceY = -this.gravityConstant * distanceY * this.compoundGravityConstant;\n }\n }\n};\n\nFDLayout.prototype.isConverged = function () {\n var converged;\n var oscilating = false;\n\n if (this.totalIterations > this.maxIterations / 3) {\n oscilating = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2;\n }\n\n converged = this.totalDisplacement < this.totalDisplacementThreshold;\n\n this.oldTotalDisplacement = this.totalDisplacement;\n\n return converged || oscilating;\n};\n\nFDLayout.prototype.animate = function () {\n if (this.animationDuringLayout && !this.isSubLayout) {\n if (this.notAnimatedIterations == this.animationPeriod) {\n this.update();\n this.notAnimatedIterations = 0;\n } else {\n this.notAnimatedIterations++;\n }\n }\n};\n\n//This method calculates the number of children (weight) for all nodes\nFDLayout.prototype.calcNoOfChildrenForAllNodes = function () {\n var node;\n var allNodes = this.graphManager.getAllNodes();\n\n for (var i = 0; i < allNodes.length; i++) {\n node = allNodes[i];\n node.noOfChildren = node.getNoOfChildren();\n }\n};\n\n// -----------------------------------------------------------------------------\n// Section: FR-Grid Variant Repulsion Force Calculation\n// -----------------------------------------------------------------------------\n\nFDLayout.prototype.calcGrid = function (graph) {\n\n var sizeX = 0;\n var sizeY = 0;\n\n sizeX = parseInt(Math.ceil((graph.getRight() - graph.getLeft()) / this.repulsionRange));\n sizeY = parseInt(Math.ceil((graph.getBottom() - graph.getTop()) / this.repulsionRange));\n\n var grid = new Array(sizeX);\n\n for (var i = 0; i < sizeX; i++) {\n grid[i] = new Array(sizeY);\n }\n\n for (var i = 0; i < sizeX; i++) {\n for (var j = 0; j < sizeY; j++) {\n grid[i][j] = new Array();\n }\n }\n\n return grid;\n};\n\nFDLayout.prototype.addNodeToGrid = function (v, left, top) {\n\n var startX = 0;\n var finishX = 0;\n var startY = 0;\n var finishY = 0;\n\n startX = parseInt(Math.floor((v.getRect().x - left) / this.repulsionRange));\n finishX = parseInt(Math.floor((v.getRect().width + v.getRect().x - left) / this.repulsionRange));\n startY = parseInt(Math.floor((v.getRect().y - top) / this.repulsionRange));\n finishY = parseInt(Math.floor((v.getRect().height + v.getRect().y - top) / this.repulsionRange));\n\n for (var i = startX; i <= finishX; i++) {\n for (var j = startY; j <= finishY; j++) {\n this.grid[i][j].push(v);\n v.setGridCoordinates(startX, finishX, startY, finishY);\n }\n }\n};\n\nFDLayout.prototype.updateGrid = function () {\n var i;\n var nodeA;\n var lNodes = this.getAllNodes();\n\n this.grid = this.calcGrid(this.graphManager.getRoot());\n\n // put all nodes to proper grid cells\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n this.addNodeToGrid(nodeA, this.graphManager.getRoot().getLeft(), this.graphManager.getRoot().getTop());\n }\n};\n\nFDLayout.prototype.calculateRepulsionForceOfANode = function (nodeA, processedNodeSet, gridUpdateAllowed, forceToNodeSurroundingUpdate) {\n\n if (this.totalIterations % FDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD == 1 && gridUpdateAllowed || forceToNodeSurroundingUpdate) {\n var surrounding = new Set();\n nodeA.surrounding = new Array();\n var nodeB;\n var grid = this.grid;\n\n for (var i = nodeA.startX - 1; i < nodeA.finishX + 2; i++) {\n for (var j = nodeA.startY - 1; j < nodeA.finishY + 2; j++) {\n if (!(i < 0 || j < 0 || i >= grid.length || j >= grid[0].length)) {\n for (var k = 0; k < grid[i][j].length; k++) {\n nodeB = grid[i][j][k];\n\n // If both nodes are not members of the same graph, \n // or both nodes are the same, skip.\n if (nodeA.getOwner() != nodeB.getOwner() || nodeA == nodeB) {\n continue;\n }\n\n // check if the repulsion force between\n // nodeA and nodeB has already been calculated\n if (!processedNodeSet.has(nodeB) && !surrounding.has(nodeB)) {\n var distanceX = Math.abs(nodeA.getCenterX() - nodeB.getCenterX()) - (nodeA.getWidth() / 2 + nodeB.getWidth() / 2);\n var distanceY = Math.abs(nodeA.getCenterY() - nodeB.getCenterY()) - (nodeA.getHeight() / 2 + nodeB.getHeight() / 2);\n\n // if the distance between nodeA and nodeB \n // is less then calculation range\n if (distanceX <= this.repulsionRange && distanceY <= this.repulsionRange) {\n //then add nodeB to surrounding of nodeA\n surrounding.add(nodeB);\n }\n }\n }\n }\n }\n }\n\n nodeA.surrounding = [].concat(_toConsumableArray(surrounding));\n }\n for (i = 0; i < nodeA.surrounding.length; i++) {\n this.calcRepulsionForce(nodeA, nodeA.surrounding[i]);\n }\n};\n\nFDLayout.prototype.calcRepulsionRange = function () {\n return 0.0;\n};\n\nmodule.exports = FDLayout;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LEdge = __webpack_require__(1);\nvar FDLayoutConstants = __webpack_require__(7);\n\nfunction FDLayoutEdge(source, target, vEdge) {\n LEdge.call(this, source, target, vEdge);\n this.idealLength = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\n}\n\nFDLayoutEdge.prototype = Object.create(LEdge.prototype);\n\nfor (var prop in LEdge) {\n FDLayoutEdge[prop] = LEdge[prop];\n}\n\nmodule.exports = FDLayoutEdge;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LNode = __webpack_require__(3);\n\nfunction FDLayoutNode(gm, loc, size, vNode) {\n // alternative constructor is handled inside LNode\n LNode.call(this, gm, loc, size, vNode);\n //Spring, repulsion and gravitational forces acting on this node\n this.springForceX = 0;\n this.springForceY = 0;\n this.repulsionForceX = 0;\n this.repulsionForceY = 0;\n this.gravitationForceX = 0;\n this.gravitationForceY = 0;\n //Amount by which this node is to be moved in this iteration\n this.displacementX = 0;\n this.displacementY = 0;\n\n //Start and finish grid coordinates that this node is fallen into\n this.startX = 0;\n this.finishX = 0;\n this.startY = 0;\n this.finishY = 0;\n\n //Geometric neighbors of this node\n this.surrounding = [];\n}\n\nFDLayoutNode.prototype = Object.create(LNode.prototype);\n\nfor (var prop in LNode) {\n FDLayoutNode[prop] = LNode[prop];\n}\n\nFDLayoutNode.prototype.setGridCoordinates = function (_startX, _finishX, _startY, _finishY) {\n this.startX = _startX;\n this.finishX = _finishX;\n this.startY = _startY;\n this.finishY = _finishY;\n};\n\nmodule.exports = FDLayoutNode;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction DimensionD(width, height) {\n this.width = 0;\n this.height = 0;\n if (width !== null && height !== null) {\n this.height = height;\n this.width = width;\n }\n}\n\nDimensionD.prototype.getWidth = function () {\n return this.width;\n};\n\nDimensionD.prototype.setWidth = function (width) {\n this.width = width;\n};\n\nDimensionD.prototype.getHeight = function () {\n return this.height;\n};\n\nDimensionD.prototype.setHeight = function (height) {\n this.height = height;\n};\n\nmodule.exports = DimensionD;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar UniqueIDGeneretor = __webpack_require__(14);\n\nfunction HashMap() {\n this.map = {};\n this.keys = [];\n}\n\nHashMap.prototype.put = function (key, value) {\n var theId = UniqueIDGeneretor.createID(key);\n if (!this.contains(theId)) {\n this.map[theId] = value;\n this.keys.push(key);\n }\n};\n\nHashMap.prototype.contains = function (key) {\n var theId = UniqueIDGeneretor.createID(key);\n return this.map[key] != null;\n};\n\nHashMap.prototype.get = function (key) {\n var theId = UniqueIDGeneretor.createID(key);\n return this.map[theId];\n};\n\nHashMap.prototype.keySet = function () {\n return this.keys;\n};\n\nmodule.exports = HashMap;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar UniqueIDGeneretor = __webpack_require__(14);\n\nfunction HashSet() {\n this.set = {};\n}\n;\n\nHashSet.prototype.add = function (obj) {\n var theId = UniqueIDGeneretor.createID(obj);\n if (!this.contains(theId)) this.set[theId] = obj;\n};\n\nHashSet.prototype.remove = function (obj) {\n delete this.set[UniqueIDGeneretor.createID(obj)];\n};\n\nHashSet.prototype.clear = function () {\n this.set = {};\n};\n\nHashSet.prototype.contains = function (obj) {\n return this.set[UniqueIDGeneretor.createID(obj)] == obj;\n};\n\nHashSet.prototype.isEmpty = function () {\n return this.size() === 0;\n};\n\nHashSet.prototype.size = function () {\n return Object.keys(this.set).length;\n};\n\n//concats this.set to the given list\nHashSet.prototype.addAllTo = function (list) {\n var keys = Object.keys(this.set);\n var length = keys.length;\n for (var i = 0; i < length; i++) {\n list.push(this.set[keys[i]]);\n }\n};\n\nHashSet.prototype.size = function () {\n return Object.keys(this.set).length;\n};\n\nHashSet.prototype.addAll = function (list) {\n var s = list.length;\n for (var i = 0; i < s; i++) {\n var v = list[i];\n this.add(v);\n }\n};\n\nmodule.exports = HashSet;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * A classic Quicksort algorithm with Hoare's partition\n * - Works also on LinkedList objects\n *\n * Copyright: i-Vis Research Group, Bilkent University, 2007 - present\n */\n\nvar LinkedList = __webpack_require__(11);\n\nvar Quicksort = function () {\n function Quicksort(A, compareFunction) {\n _classCallCheck(this, Quicksort);\n\n if (compareFunction !== null || compareFunction !== undefined) this.compareFunction = this._defaultCompareFunction;\n\n var length = void 0;\n if (A instanceof LinkedList) length = A.size();else length = A.length;\n\n this._quicksort(A, 0, length - 1);\n }\n\n _createClass(Quicksort, [{\n key: '_quicksort',\n value: function _quicksort(A, p, r) {\n if (p < r) {\n var q = this._partition(A, p, r);\n this._quicksort(A, p, q);\n this._quicksort(A, q + 1, r);\n }\n }\n }, {\n key: '_partition',\n value: function _partition(A, p, r) {\n var x = this._get(A, p);\n var i = p;\n var j = r;\n while (true) {\n while (this.compareFunction(x, this._get(A, j))) {\n j--;\n }while (this.compareFunction(this._get(A, i), x)) {\n i++;\n }if (i < j) {\n this._swap(A, i, j);\n i++;\n j--;\n } else return j;\n }\n }\n }, {\n key: '_get',\n value: function _get(object, index) {\n if (object instanceof LinkedList) return object.get_object_at(index);else return object[index];\n }\n }, {\n key: '_set',\n value: function _set(object, index, value) {\n if (object instanceof LinkedList) object.set_object_at(index, value);else object[index] = value;\n }\n }, {\n key: '_swap',\n value: function _swap(A, i, j) {\n var temp = this._get(A, i);\n this._set(A, i, this._get(A, j));\n this._set(A, j, temp);\n }\n }, {\n key: '_defaultCompareFunction',\n value: function _defaultCompareFunction(a, b) {\n return b > a;\n }\n }]);\n\n return Quicksort;\n}();\n\nmodule.exports = Quicksort;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Needleman-Wunsch algorithm is an procedure to compute the optimal global alignment of two string\n * sequences by S.B.Needleman and C.D.Wunsch (1970).\n *\n * Aside from the inputs, you can assign the scores for,\n * - Match: The two characters at the current index are same.\n * - Mismatch: The two characters at the current index are different.\n * - Insertion/Deletion(gaps): The best alignment involves one letter aligning to a gap in the other string.\n */\n\nvar NeedlemanWunsch = function () {\n function NeedlemanWunsch(sequence1, sequence2) {\n var match_score = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var mismatch_penalty = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : -1;\n var gap_penalty = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\n\n _classCallCheck(this, NeedlemanWunsch);\n\n this.sequence1 = sequence1;\n this.sequence2 = sequence2;\n this.match_score = match_score;\n this.mismatch_penalty = mismatch_penalty;\n this.gap_penalty = gap_penalty;\n\n // Just the remove redundancy\n this.iMax = sequence1.length + 1;\n this.jMax = sequence2.length + 1;\n\n // Grid matrix of scores\n this.grid = new Array(this.iMax);\n for (var i = 0; i < this.iMax; i++) {\n this.grid[i] = new Array(this.jMax);\n\n for (var j = 0; j < this.jMax; j++) {\n this.grid[i][j] = 0;\n }\n }\n\n // Traceback matrix (2D array, each cell is an array of boolean values for [`Diag`, `Up`, `Left`] positions)\n this.tracebackGrid = new Array(this.iMax);\n for (var _i = 0; _i < this.iMax; _i++) {\n this.tracebackGrid[_i] = new Array(this.jMax);\n\n for (var _j = 0; _j < this.jMax; _j++) {\n this.tracebackGrid[_i][_j] = [null, null, null];\n }\n }\n\n // The aligned sequences (return multiple possibilities)\n this.alignments = [];\n\n // Final alignment score\n this.score = -1;\n\n // Calculate scores and tracebacks\n this.computeGrids();\n }\n\n _createClass(NeedlemanWunsch, [{\n key: \"getScore\",\n value: function getScore() {\n return this.score;\n }\n }, {\n key: \"getAlignments\",\n value: function getAlignments() {\n return this.alignments;\n }\n\n // Main dynamic programming procedure\n\n }, {\n key: \"computeGrids\",\n value: function computeGrids() {\n // Fill in the first row\n for (var j = 1; j < this.jMax; j++) {\n this.grid[0][j] = this.grid[0][j - 1] + this.gap_penalty;\n this.tracebackGrid[0][j] = [false, false, true];\n }\n\n // Fill in the first column\n for (var i = 1; i < this.iMax; i++) {\n this.grid[i][0] = this.grid[i - 1][0] + this.gap_penalty;\n this.tracebackGrid[i][0] = [false, true, false];\n }\n\n // Fill the rest of the grid\n for (var _i2 = 1; _i2 < this.iMax; _i2++) {\n for (var _j2 = 1; _j2 < this.jMax; _j2++) {\n // Find the max score(s) among [`Diag`, `Up`, `Left`]\n var diag = void 0;\n if (this.sequence1[_i2 - 1] === this.sequence2[_j2 - 1]) diag = this.grid[_i2 - 1][_j2 - 1] + this.match_score;else diag = this.grid[_i2 - 1][_j2 - 1] + this.mismatch_penalty;\n\n var up = this.grid[_i2 - 1][_j2] + this.gap_penalty;\n var left = this.grid[_i2][_j2 - 1] + this.gap_penalty;\n\n // If there exists multiple max values, capture them for multiple paths\n var maxOf = [diag, up, left];\n var indices = this.arrayAllMaxIndexes(maxOf);\n\n // Update Grids\n this.grid[_i2][_j2] = maxOf[indices[0]];\n this.tracebackGrid[_i2][_j2] = [indices.includes(0), indices.includes(1), indices.includes(2)];\n }\n }\n\n // Update alignment score\n this.score = this.grid[this.iMax - 1][this.jMax - 1];\n }\n\n // Gets all possible valid sequence combinations\n\n }, {\n key: \"alignmentTraceback\",\n value: function alignmentTraceback() {\n var inProcessAlignments = [];\n\n inProcessAlignments.push({ pos: [this.sequence1.length, this.sequence2.length],\n seq1: \"\",\n seq2: \"\"\n });\n\n while (inProcessAlignments[0]) {\n var current = inProcessAlignments[0];\n var directions = this.tracebackGrid[current.pos[0]][current.pos[1]];\n\n if (directions[0]) {\n inProcessAlignments.push({ pos: [current.pos[0] - 1, current.pos[1] - 1],\n seq1: this.sequence1[current.pos[0] - 1] + current.seq1,\n seq2: this.sequence2[current.pos[1] - 1] + current.seq2\n });\n }\n if (directions[1]) {\n inProcessAlignments.push({ pos: [current.pos[0] - 1, current.pos[1]],\n seq1: this.sequence1[current.pos[0] - 1] + current.seq1,\n seq2: '-' + current.seq2\n });\n }\n if (directions[2]) {\n inProcessAlignments.push({ pos: [current.pos[0], current.pos[1] - 1],\n seq1: '-' + current.seq1,\n seq2: this.sequence2[current.pos[1] - 1] + current.seq2\n });\n }\n\n if (current.pos[0] === 0 && current.pos[1] === 0) this.alignments.push({ sequence1: current.seq1,\n sequence2: current.seq2\n });\n\n inProcessAlignments.shift();\n }\n\n return this.alignments;\n }\n\n // Helper Functions\n\n }, {\n key: \"getAllIndexes\",\n value: function getAllIndexes(arr, val) {\n var indexes = [],\n i = -1;\n while ((i = arr.indexOf(val, i + 1)) !== -1) {\n indexes.push(i);\n }\n return indexes;\n }\n }, {\n key: \"arrayAllMaxIndexes\",\n value: function arrayAllMaxIndexes(array) {\n return this.getAllIndexes(array, Math.max.apply(null, array));\n }\n }]);\n\n return NeedlemanWunsch;\n}();\n\nmodule.exports = NeedlemanWunsch;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar layoutBase = function layoutBase() {\n return;\n};\n\nlayoutBase.FDLayout = __webpack_require__(18);\nlayoutBase.FDLayoutConstants = __webpack_require__(7);\nlayoutBase.FDLayoutEdge = __webpack_require__(19);\nlayoutBase.FDLayoutNode = __webpack_require__(20);\nlayoutBase.DimensionD = __webpack_require__(21);\nlayoutBase.HashMap = __webpack_require__(22);\nlayoutBase.HashSet = __webpack_require__(23);\nlayoutBase.IGeometry = __webpack_require__(8);\nlayoutBase.IMath = __webpack_require__(9);\nlayoutBase.Integer = __webpack_require__(10);\nlayoutBase.Point = __webpack_require__(12);\nlayoutBase.PointD = __webpack_require__(4);\nlayoutBase.RandomSeed = __webpack_require__(16);\nlayoutBase.RectangleD = __webpack_require__(13);\nlayoutBase.Transform = __webpack_require__(17);\nlayoutBase.UniqueIDGeneretor = __webpack_require__(14);\nlayoutBase.Quicksort = __webpack_require__(24);\nlayoutBase.LinkedList = __webpack_require__(11);\nlayoutBase.LGraphObject = __webpack_require__(2);\nlayoutBase.LGraph = __webpack_require__(5);\nlayoutBase.LEdge = __webpack_require__(1);\nlayoutBase.LGraphManager = __webpack_require__(6);\nlayoutBase.LNode = __webpack_require__(3);\nlayoutBase.Layout = __webpack_require__(15);\nlayoutBase.LayoutConstants = __webpack_require__(0);\nlayoutBase.NeedlemanWunsch = __webpack_require__(25);\n\nmodule.exports = layoutBase;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction Emitter() {\n this.listeners = [];\n}\n\nvar p = Emitter.prototype;\n\np.addListener = function (event, callback) {\n this.listeners.push({\n event: event,\n callback: callback\n });\n};\n\np.removeListener = function (event, callback) {\n for (var i = this.listeners.length; i >= 0; i--) {\n var l = this.listeners[i];\n\n if (l.event === event && l.callback === callback) {\n this.listeners.splice(i, 1);\n }\n }\n};\n\np.emit = function (event, data) {\n for (var i = 0; i < this.listeners.length; i++) {\n var l = this.listeners[i];\n\n if (event === l.event) {\n l.callback(data);\n }\n }\n};\n\nmodule.exports = Emitter;\n\n/***/ })\n/******/ ]);\n});"],"names":["root","factory","module","this","modules","installedModules","__webpack_require__","moduleId","value","exports","name","getter","object","property","LayoutConstants","LGraphObject","IGeometry","IMath","LEdge","source","target","vEdge","prop","node","graph","otherEnd","clipPointCoordinates","vGraphObject","Integer","RectangleD","RandomSeed","PointD","LNode","gm","loc","size","vNode","width","height","upperLeft","dimension","cx","cy","x","y","dx","dy","to","edgeList","self","edge","other","neighbors","withNeighborsList","childNode","children","nodes","i","noOfChildren","randomCenterX","randomCenterY","minX","maxX","minY","maxY","childGraph","trans","left","top","leftTop","vLeftTop","pt","dim","LGraphManager","Point","LinkedList","LGraph","parent","obj2","vGraph","obj1","sourceNode","targetNode","newNode","newEdge","obj","edgesToBeRemoved","s","index","sourceIndex","targetIndex","nodeTop","nodeLeft","margin","lNode","recursive","right","bottom","nodeRight","nodeBottom","boundingRect","queue","visited","currentNode","neighborEdges","currentNeighbor","childrenOfNode","neighborEdge","childrenOfNeighbor","noOfVisitedInThisGraph","visitedNode","layout","ngraph","nnode","newGraph","parentNode","sourceGraph","targetGraph","lObj","nodesToBeRemoved","nodeList","graphs","firstNode","secondNode","ownerGraph","sourceAncestorGraph","targetAncestorGraph","edges","firstOwnerGraph","secondOwnerGraph","depth","FDLayoutConstants","rectA","rectB","overlapAmount","separationBuffer","directions","slope","moveByY","moveByX","result","p1x","p1y","p2x","p2y","topLeftAx","topLeftAy","topRightAx","bottomLeftAx","bottomLeftAy","bottomRightAx","halfWidthA","halfHeightA","topLeftBx","topLeftBy","topRightBx","bottomLeftBx","bottomLeftBy","bottomRightBx","halfWidthB","halfHeightB","clipPointAFound","clipPointBFound","slopeA","slopeB","slopePrime","cardinalDirectionA","cardinalDirectionB","tempPointAx","tempPointAy","tempPointBx","tempPointBy","line","s1","s2","f1","f2","x1","y1","x2","y2","x3","y3","x4","y4","a1","a2","b1","b2","c1","c2","denom","Cx","Cy","Nx","Ny","C_angle","p1","p2","p3","p4","a","b","c","d","p","q","r","det","lambda","gamma","_createClass","defineProperties","props","descriptor","Constructor","protoProps","staticProps","_classCallCheck","instance","nodeFrom","add","prev","next","list","_remove","vals","_this","v","val","otherNode","current","_typeof","UniqueIDGeneretor","id","arg","type","_toConsumableArray","arr","arr2","Transform","Emitter","Layout","isRemoteUse","isLayoutSuccessfull","allEdges","newLeftTop","flatForest","isForest","allNodes","isFlat","toBeVisited","parents","unProcessedNodes","temp","dummyNodes","dummyNode","dummyEdge","k","lEdge","path","ebp","sliderValue","defaultValue","minDiv","maxMul","minValue","maxValue","removedNodes","remainingDegrees","foundCenter","centerNode","degree","tempList","tempList2","neighbours","neighbour","otherDegree","newDegree","wox","woy","wex","wey","dox","doy","dex","dey","xDevice","worldExtX","yDevice","worldExtY","xWorld","deviceExtX","yWorld","deviceExtY","inPoint","outPoint","FDLayout","lcaDepth","sizeOfSourceInLca","sizeOfTargetInLca","lEdges","gridUpdateAllowed","forceToNodeSurroundingUpdate","j","nodeA","nodeB","lNodes","processedNodeSet","idealLength","length","springForce","springForceX","springForceY","clipPoints","distanceX","distanceY","distanceSquared","distance","repulsionForce","repulsionForceX","repulsionForceY","childrenConstant","ownerCenterX","ownerCenterY","absDistanceX","absDistanceY","estimatedSize","converged","oscilating","sizeX","sizeY","grid","startX","finishX","startY","finishY","surrounding","FDLayoutEdge","FDLayoutNode","_startX","_finishX","_startY","_finishY","DimensionD","HashMap","key","theId","HashSet","keys","Quicksort","A","compareFunction","NeedlemanWunsch","sequence1","sequence2","match_score","mismatch_penalty","gap_penalty","_i","_j","_i2","_j2","diag","up","maxOf","indices","inProcessAlignments","indexes","array","layoutBase","event","callback","l","data"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,11 @@
1
+ import { Fragment as m } from "react";
2
+ import { HTMLVisualElement as o } from "./visualization.es275.js";
3
+ import { SVGVisualElement as t } from "./visualization.es276.js";
4
+ import { isSVGComponent as i } from "./visualization.es277.js";
5
+ const f = (e, r) => i(e) ? new t(r) : new o(r, {
6
+ allowProjection: e !== m
7
+ });
8
+ export {
9
+ f as createDomVisualElement
10
+ };
11
+ //# sourceMappingURL=visualization.es128.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visualization.es128.js","sources":["../../../node_modules/.pnpm/framer-motion@12.23.24_@emotion+is-prop-valid@1.3.1_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs"],"sourcesContent":["import { Fragment } from 'react';\nimport { HTMLVisualElement } from '../html/HTMLVisualElement.mjs';\nimport { SVGVisualElement } from '../svg/SVGVisualElement.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\n\nconst createDomVisualElement = (Component, options) => {\n return isSVGComponent(Component)\n ? new SVGVisualElement(options)\n : new HTMLVisualElement(options, {\n allowProjection: Component !== Fragment,\n });\n};\n\nexport { createDomVisualElement };\n"],"names":["createDomVisualElement","Component","options","isSVGComponent","SVGVisualElement","HTMLVisualElement","Fragment"],"mappings":";;;;AAKK,MAACA,IAAyB,CAACC,GAAWC,MAChCC,EAAeF,CAAS,IACzB,IAAIG,EAAiBF,CAAO,IAC5B,IAAIG,EAAkBH,GAAS;AAAA,EAC7B,iBAAiBD,MAAcK;AAC3C,CAAS;","x_google_ignoreList":[0]}
@@ -0,0 +1,19 @@
1
+ import { createMotionComponent as e } from "./visualization.es278.js";
2
+ import { warnOnce as a } from "./visualization.es174.js";
3
+ function u(r, c) {
4
+ if (typeof Proxy > "u")
5
+ return e;
6
+ const o = /* @__PURE__ */ new Map(), i = (n, t) => e(n, t, r, c), f = (n, t) => (process.env.NODE_ENV !== "production" && a(!1, "motion() is deprecated. Use motion.create() instead."), i(n, t));
7
+ return new Proxy(f, {
8
+ /**
9
+ * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.
10
+ * The prop name is passed through as `key` and we can use that to generate a `motion`
11
+ * DOM component with that name.
12
+ */
13
+ get: (n, t) => t === "create" ? i : (o.has(t) || o.set(t, e(t, void 0, r, c)), o.get(t))
14
+ });
15
+ }
16
+ export {
17
+ u as createMotionProxy
18
+ };
19
+ //# sourceMappingURL=visualization.es129.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visualization.es129.js","sources":["../../../node_modules/.pnpm/framer-motion@12.23.24_@emotion+is-prop-valid@1.3.1_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/framer-motion/dist/es/render/components/create-proxy.mjs"],"sourcesContent":["import { warnOnce } from 'motion-utils';\nimport { createMotionComponent } from '../../motion/index.mjs';\n\nfunction createMotionProxy(preloadedFeatures, createVisualElement) {\n if (typeof Proxy === \"undefined\") {\n return createMotionComponent;\n }\n /**\n * A cache of generated `motion` components, e.g `motion.div`, `motion.input` etc.\n * Rather than generating them anew every render.\n */\n const componentCache = new Map();\n const factory = (Component, options) => {\n return createMotionComponent(Component, options, preloadedFeatures, createVisualElement);\n };\n /**\n * Support for deprecated`motion(Component)` pattern\n */\n const deprecatedFactoryFunction = (Component, options) => {\n if (process.env.NODE_ENV !== \"production\") {\n warnOnce(false, \"motion() is deprecated. Use motion.create() instead.\");\n }\n return factory(Component, options);\n };\n return new Proxy(deprecatedFactoryFunction, {\n /**\n * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.\n * The prop name is passed through as `key` and we can use that to generate a `motion`\n * DOM component with that name.\n */\n get: (_target, key) => {\n if (key === \"create\")\n return factory;\n /**\n * If this element doesn't exist in the component cache, create it and cache.\n */\n if (!componentCache.has(key)) {\n componentCache.set(key, createMotionComponent(key, undefined, preloadedFeatures, createVisualElement));\n }\n return componentCache.get(key);\n },\n });\n}\n\nexport { createMotionProxy };\n"],"names":["createMotionProxy","preloadedFeatures","createVisualElement","createMotionComponent","componentCache","factory","Component","options","deprecatedFactoryFunction","warnOnce","_target","key"],"mappings":";;AAGA,SAASA,EAAkBC,GAAmBC,GAAqB;AAC/D,MAAI,OAAO,QAAU;AACjB,WAAOC;AAMX,QAAMC,IAAiB,oBAAI,IAAG,GACxBC,IAAU,CAACC,GAAWC,MACjBJ,EAAsBG,GAAWC,GAASN,GAAmBC,CAAmB,GAKrFM,IAA4B,CAACF,GAAWC,OACtC,QAAQ,IAAI,aAAa,gBACzBE,EAAS,IAAO,sDAAsD,GAEnEJ,EAAQC,GAAWC,CAAO;AAErC,SAAO,IAAI,MAAMC,GAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMxC,KAAK,CAACE,GAASC,MACPA,MAAQ,WACDN,KAIND,EAAe,IAAIO,CAAG,KACvBP,EAAe,IAAIO,GAAKR,EAAsBQ,GAAK,QAAWV,GAAmBC,CAAmB,CAAC,GAElGE,EAAe,IAAIO,CAAG;AAAA,EAEzC,CAAK;AACL;","x_google_ignoreList":[0]}
@@ -0,0 +1,72 @@
1
+ import { j as o } from "./visualization.es11.js";
2
+ import { c as S } from "./visualization.es85.js";
3
+ import { useEffect as Z } from "react";
4
+ import { Stack as z, Tooltip as a, IconButton as s } from "@mui/material";
5
+ import { BackHand as B, Edit as D, ZoomIn as I, ZoomOut as R, SettingsBackupRestore as $, Download as L } from "@mui/icons-material";
6
+ import P from "./visualization.es99.js";
7
+ const N = (c) => {
8
+ const e = S.c(20), {
9
+ selectable: n,
10
+ resetable: u,
11
+ handleSelectionModeChange: r,
12
+ selectMode: t,
13
+ zoomIn: x,
14
+ zoomOut: j,
15
+ zoomReset: f,
16
+ position: k,
17
+ highlight: d,
18
+ downloadButton: b,
19
+ downloadPlot: g
20
+ } = c;
21
+ let m, p;
22
+ e[0] !== r || e[1] !== t || e[2] !== n ? (m = () => {
23
+ const w = (v) => {
24
+ if (v.key === "Shift" && n && t === "select") {
25
+ r("pan");
26
+ const C = (E) => {
27
+ E.key === "Shift" && n && r("select");
28
+ };
29
+ return window.addEventListener("keyup", C), () => {
30
+ window.removeEventListener("keyup", C);
31
+ };
32
+ }
33
+ };
34
+ return window.addEventListener("keydown", w), () => {
35
+ window.removeEventListener("keydown", w);
36
+ };
37
+ }, p = [r, t, n], e[0] = r, e[1] = t, e[2] = n, e[3] = m, e[4] = p) : (m = e[3], p = e[4]), Z(m, p);
38
+ const y = P(), i = d ?? y.palette.primary.main;
39
+ let l;
40
+ e[5] !== i || e[6] !== b || e[7] !== g || e[8] !== r || e[9] !== d || e[10] !== k || e[11] !== u || e[12] !== t || e[13] !== n || e[14] !== x || e[15] !== j || e[16] !== f ? (l = t !== "none" && /* @__PURE__ */ o.jsxs(z, { direction: k === "bottom" ? "row" : "column", spacing: 5, alignItems: "center", justifyContent: "center", children: [
41
+ n && /* @__PURE__ */ o.jsx(a, { title: "Drag to pan, or hold Shift and drag", children: /* @__PURE__ */ o.jsx(s, { "aria-label": "pan", onClick: () => r("pan"), sx: {
42
+ color: t === "pan" ? d || "primary.main" : "default",
43
+ backgroundColor: t === "pan" ? `color-mix(in srgb, ${i} 15%, transparent)` : "transparent",
44
+ "&:hover": {
45
+ backgroundColor: t === "pan" ? `color-mix(in srgb, ${i} 25%, transparent)` : O
46
+ }
47
+ }, children: /* @__PURE__ */ o.jsx(B, {}) }) }),
48
+ n && /* @__PURE__ */ o.jsx(a, { title: "Drag to select", children: /* @__PURE__ */ o.jsx(s, { "aria-label": "edit", onClick: () => r("select"), sx: {
49
+ color: t === "select" ? d || "primary.main" : "default",
50
+ backgroundColor: t === "select" ? `color-mix(in srgb, ${i} 15%, transparent)` : "transparent",
51
+ "&:hover": {
52
+ backgroundColor: t === "select" ? `color-mix(in srgb, ${i} 25%, transparent)` : K
53
+ }
54
+ }, children: /* @__PURE__ */ o.jsx(D, {}) }) }),
55
+ /* @__PURE__ */ o.jsx(a, { title: "Zoom In", children: /* @__PURE__ */ o.jsx(s, { "aria-label": "zoom-in", onClick: x, children: /* @__PURE__ */ o.jsx(I, {}) }) }),
56
+ /* @__PURE__ */ o.jsx(a, { title: "Zoom Out", children: /* @__PURE__ */ o.jsx(s, { "aria-label": "zoom-out", onClick: j, children: /* @__PURE__ */ o.jsx(R, {}) }) }),
57
+ /* @__PURE__ */ o.jsx(a, { title: "Reset Zoom and Pan", children: /* @__PURE__ */ o.jsx(s, { "aria-label": "resetZoom", onClick: f, disabled: !u, children: /* @__PURE__ */ o.jsx($, {}) }) }),
58
+ b === "inline" && /* @__PURE__ */ o.jsx(a, { title: "Download Plot as PNG", children: /* @__PURE__ */ o.jsx(s, { "aria-label": "download", onClick: () => g(), children: /* @__PURE__ */ o.jsx(L, {}) }) })
59
+ ] }), e[5] = i, e[6] = b, e[7] = g, e[8] = r, e[9] = d, e[10] = k, e[11] = u, e[12] = t, e[13] = n, e[14] = x, e[15] = j, e[16] = f, e[17] = l) : l = e[17];
60
+ let h;
61
+ return e[18] !== l ? (h = /* @__PURE__ */ o.jsx(o.Fragment, { children: l }), e[18] = l, e[19] = h) : h = e[19], h;
62
+ };
63
+ function O(c) {
64
+ return c.palette.action.hover;
65
+ }
66
+ function K(c) {
67
+ return c.palette.action.hover;
68
+ }
69
+ export {
70
+ N as default
71
+ };
72
+ //# sourceMappingURL=visualization.es13.js.map