Advertisement
magneto903

js version of cpp dijkstra

Jan 24th, 2021
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 96.78 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title></title>
  5. </head>
  6. <body>
  7. <script type="text/javascript">
  8.     var vertices = [
  9. {"name":"lb1","x":-78,"y":782,"type":""},
  10. {"name":"lb4","x":-78,"y":-28,"type":""},
  11. {"name":"ub1","x":-28,"y":-78,"type":""},
  12. {"name":"ub4","x":1564,"y":-78,"type":""},
  13. {"name":"rb3","x":1614,"y":782,"type":""},
  14. {"name":"rb4","x":1614,"y":-28.000000000000004,"type":""},
  15. {"name":"db2","x":-28.000000000000004,"y":832,"type":""},
  16. {"name":"db3","x":1564,"y":832,"type":""},
  17. {"name":"40","x":350.4438469404121,"y":404.2927869867273,"type":""},
  18. {"name":"41","x":324.357661477185,"y":453.20438473027815,"type":""},
  19. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},
  20. {"name":"43","x":345.59340289846233,"y":531.191382644909,"type":""},
  21. {"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},
  22. {"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  23. {"name":"46","x":456.1025343848575,"y":479.2361713301421,"type":""},
  24. {"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},
  25. {"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  26. {"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},
  27. {"name":"50","x":647.3528133137539,"y":195.11253836486497,"type":""},
  28. {"name":"51","x":619.6180564382187,"y":257.81720608346626,"type":""},
  29. {"name":"52","x":618.4021089634458,"y":318.61457982210953,"type":""},
  30. {"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},
  31. {"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  32. {"name":"55","x":733.2970427785039,"y":342.50383261790773,"type":""},
  33. {"name":"56","x":753.2388707643189,"y":299.77134407687555,"type":""},
  34. {"name":"57","x":756.8752707157543,"y":213.70987855957125,"type":""},
  35. {"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  36. {"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},
  37. {"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},
  38. {"name":"61","x":1235.1834198174297,"y":354.8758658775481,"type":""},
  39. {"name":"62","x":1243.480675912968,"y":376.4487317259478,"type":""},
  40. {"name":"63","x":1256.9013331073368,"y":396.579717517501,"type":""},
  41. {"name":"64","x":1351.7487229803935,"y":402.50767938456704,"type":""},
  42. {"name":"65","x":1366.550684094811,"y":377.83774419387106,"type":""},
  43. {"name":"66","x":1369.8853471483567,"y":351.1604397655051,"type":""},
  44. {"name":"67","x":1362.3926462168095,"y":317.4432855735424,"type":""},
  45. {"name":"68","x":1322.5514995087808,"y":290.88252110152337,"type":""},
  46. {"name":"69","x":1266.6811952200226,"y":288.3429618156707,"type":""},
  47. {"name":"70","x":37.217342303215354,"y":217.1174594675131,"type":""},
  48. {"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},
  49. {"name":"74","x":99.62837046606629,"y":311.08926262207007,"type":""},
  50. {"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},
  51. {"name":"76","x":171.05450927611957,"y":258.5,"type":""},
  52. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},
  53. {"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},
  54. {"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},
  55. {"name":"80","x":1390.690764967718,"y":565.1069262742114,"type":""},
  56. {"name":"81","x":1368.695643568535,"y":588.7939800887164,"type":""},
  57. {"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},
  58. {"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},
  59. {"name":"85","x":1478.9633826837205,"y":680.8945724888179,"type":""},
  60. {"name":"86","x":1495.9749345245175,"y":634.3963307906397,"type":""},
  61. {"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},
  62. {"name":"88","x":1430.3653891237916,"y":554.0185685486387,"type":""},
  63. {"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  64. {"name":"91","x":1080.4564271072195,"y":464.607281646638,"type":""},
  65. {"name":"92","x":1090.7843112555558,"y":522.1483504730829,"type":""},
  66. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},
  67. {"name":"94","x":1166.6412501315226,"y":570.5,"type":""},
  68. {"name":"95","x":1190.4540868473107,"y":566.8364866591095,"type":""},
  69. {"name":"96","x":1250.0843507044765,"y":509.9797234464632,"type":""},
  70. {"name":"97","x":1242.8106302951321,"y":453.60839027404484,"type":""},
  71. {"name":"100","x":634.2237150615942,"y":573.0871715628971,"type":""},
  72. {"name":"101","x":601.0597809867265,"y":610.8254413722293,"type":""},
  73. {"name":"102","x":581.4609628338108,"y":656.0534832635736,"type":""},
  74. {"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},
  75. {"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},
  76. {"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},
  77. {"name":"106","x":741.6936213269846,"y":670.6402738844129,"type":""},
  78. {"name":"107","x":747.290802592158,"y":609.0712799675055,"type":""},
  79. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  80. {"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  81. {"name":"110","x":918.6068848304548,"y":691.2951354230986,"type":""},
  82. {"name":"111","x":902.7373165623441,"y":707.1647036912093,"type":""},
  83. {"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},
  84. {"name":"118","x":974.2001000232046,"y":685.37289623584,"type":""},
  85. {"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},
  86. {"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},
  87. {"name":"122","x":1186.8982208363632,"y":111.09634733561299,"type":""},
  88. {"name":"123","x":1227.2152822080607,"y":129.3040524712183,"type":""},
  89. {"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},
  90. {"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},
  91. {"name":"126","x":1362.7513900363388,"y":52.44893181001036,"type":""},
  92. {"name":"130","x":484.4698045789511,"y":136.4781897218005,"type":""},
  93. {"name":"131","x":438.83420506366645,"y":154.45585013691263,"type":""},
  94. {"name":"132","x":406.2466052101337,"y":209.2030178908477,"type":""},
  95. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  96. {"name":"134","x":481.5650220002803,"y":261.17704243554334,"type":""},
  97. {"name":"135","x":521.3955054198723,"y":249.10719897506095,"type":""},
  98. {"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},
  99. {"name":"137","x":544,"y":205.19691790893253,"type":""},
  100. {"name":"138","x":544,"y":172.79830511517622,"type":""},
  101. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},
  102. {"name":"140","x":222.48223279616994,"y":679.5945514317212,"type":""},
  103. {"name":"144","x":282.38791505081895,"y":834.7489092104065,"type":""},
  104. {"name":"147","x":352.5,"y":659.5222821435042,"type":""},
  105. {"name":"148","x":341.2343354802587,"y":642.6237853638922,"type":""},
  106. {"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  107. {"name":"157","x":152.45242806674474,"y":710.5169418112,"type":""},
  108. {"name":"158","x":129.94757662762225,"y":679.5727710824066,"type":""},
  109. {"name":"159","x":54.40790671292386,"y":648.8447697611733,"type":""},
  110. {"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},
  111. {"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},
  112. {"name":"162","x":1074.796611537772,"y":383.270164350438,"type":""},
  113. {"name":"163","x":1101.1663755674763,"y":417.9672222842595,"type":""},
  114. {"name":"165","x":1200.0366176867108,"y":407.745197686494,"type":""},
  115. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},
  116. {"name":"167","x":1202.6910871425982,"y":339.30891285740165,"type":""},
  117. {"name":"168","x":1169.6797655836936,"y":317.3013651514651,"type":""},
  118. {"name":"169","x":1142.31253924242,"y":311.2197592978488,"type":""},
  119. {"name":"172","x":1502.2831069916128,"y":256.598746792364,"type":""},
  120. {"name":"173","x":1505.0853317113156,"y":281.8187692696878,"type":""},
  121. {"name":"177","x":1620.6661685851184,"y":269.43181116132826,"type":""},
  122. {"name":"178","x":1619.4765624558736,"y":186.15938211419413,"type":""},
  123. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},
  124. {"name":"182","x":222.58971586842105,"y":111.93994494295062,"type":""},
  125. {"name":"183","x":277.3701384368386,"y":119.7657195955817,"type":""},
  126. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},
  127. {"name":"185","x":366.33524810542565,"y":122.06950879309632,"type":""},
  128. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},
  129. {"name":"187","x":353.53684540957664,"y":36.2116835016648,"type":""},
  130. {"name":"191","x":909.5384627311921,"y":604.1868288323784,"type":""},
  131. {"name":"192","x":951.4509598622473,"y":629.8751335256056,"type":""},
  132. {"name":"193","x":973.0336700760873,"y":634.5,"type":""},
  133. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},
  134. {"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},
  135. {"name":"196","x":1004.2693261766174,"y":571.329258328384,"type":""},
  136. {"name":"197","x":988.249833282283,"y":542.4941711185821,"type":""},
  137. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},
  138. {"name":"199","x":946.1197113755139,"y":516.2952043638097,"type":""},
  139. {"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},
  140. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},
  141. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},
  142. {"name":"203","x":806.5556140543994,"y":573.3516885217153,"type":""},
  143. {"name":"204","x":856.7032731128759,"y":577.5306601099217,"type":""},
  144. {"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},
  145. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},
  146. {"name":"209","x":847.9190688048005,"y":482.4440684074589,"type":""},
  147. {"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},
  148. {"name":"211","x":960.7504063165591,"y":281.97542203660646,"type":""},
  149. {"name":"212","x":956.4294038949586,"y":329.50644867421255,"type":""},
  150. {"name":"213","x":957.7073856589043,"y":352.5101204252352,"type":""},
  151. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},
  152. {"name":"215","x":1025.306672670151,"y":377.75315906959014,"type":""},
  153. {"name":"216","x":1047.1560706166817,"y":357.053729436035,"type":""},
  154. {"name":"217","x":1101.802156766718,"y":273.17834139179297,"type":""},
  155. {"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},
  156. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},
  157. {"name":"220","x":1639.7298915187566,"y":53.00000000000001,"type":""},
  158. {"name":"223","x":1507.1177574332664,"y":85.10295321548632,"type":""},
  159. {"name":"224","x":1494.3803628175028,"y":123.31513706277696,"type":""},
  160. {"name":"227","x":1634.4772946186545,"y":120.08865697273093,"type":""},
  161. {"name":"228","x":1648.569092362106,"y":112.40222183993916,"type":""},
  162. {"name":"229","x":1722.82186966203,"y":53,"type":""},
  163. {"name":"237","x":560.7547859516193,"y":706.877363183074,"type":""},
  164. {"name":"238","x":533.6368286970486,"y":687.7352757092593,"type":""},
  165. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},
  166. {"name":"player","x":100,"y":100,"type":"player"},
  167. {"name":"199","x":249.9050082430132,"y":102.09744199109065,"type":"allie"},
  168. {"name":"2585","x":171,"y":122,"type":"allie"},
  169. {"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  170. {"name":"8693","x":196,"y":254,"type":"enemy"}]
  171.  
  172.  
  173. var edges = [[{"name":"lb1","x":-78,"y":782,"type":""},
  174. {"name":"db2","x":-28.000000000000004,"y":832,"type":""},"const",70.71067811865476],[{"name":"lb4","x":-78,"y":-28,"type":""},
  175. {"name":"lb1","x":-78,"y":782,"type":""},"const",810],[{"name":"lb4","x":-78,"y":-28,"type":""},
  176. {"name":"ub1","x":-28,"y":-78,"type":""},"const",70.71067811865476],[{"name":"ub4","x":1564,"y":-78,"type":""},
  177. {"name":"ub1","x":-28,"y":-78,"type":""},"const",1592],[{"name":"ub4","x":1564,"y":-78,"type":""},
  178. {"name":"rb4","x":1614,"y":-28.000000000000004,"type":""},"const",70.71067811865476],[{"name":"ub4","x":1564,"y":-78,"type":""},
  179. {"name":"229","x":1722.82186966203,"y":53,"type":""},"const",205.87711451966396],[{"name":"rb3","x":1614,"y":782,"type":""},
  180. {"name":"db3","x":1564,"y":832,"type":""},"const",70.71067811865476],[{"name":"rb3","x":1614,"y":782,"type":""},
  181. {"name":"177","x":1620.6661685851184,"y":269.43181116132826,"type":""},"const",512.6115351930363],[{"name":"rb3","x":1614,"y":782,"type":""},
  182. {"name":"229","x":1722.82186966203,"y":53,"type":""},"const",737.0774717197235],[{"name":"rb4","x":1614,"y":-28.000000000000004,"type":""},
  183. {"name":"229","x":1722.82186966203,"y":53,"type":""},"const",135.6583919878893],[{"name":"db2","x":-28.000000000000004,"y":832,"type":""},
  184. {"name":"144","x":282.38791505081895,"y":834.7489092104065,"type":""},"const",310.40008748620136],[{"name":"db3","x":1564,"y":832,"type":""},
  185. {"name":"144","x":282.38791505081895,"y":834.7489092104065,"type":""},"const",1281.6150329914337],[{"name":"40","x":350.4438469404121,"y":404.2927869867273,"type":""},
  186. {"name":"41","x":324.357661477185,"y":453.20438473027815,"type":""},"const",55.43314410935759],[{"name":"40","x":350.4438469404121,"y":404.2927869867273,"type":""},
  187. {"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},"const",394.91497146070554],[{"name":"40","x":350.4438469404121,"y":404.2927869867273,"type":""},
  188. {"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},"const",249.25217498817833],[{"name":"41","x":324.357661477185,"y":453.20438473027815,"type":""},
  189. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},"const",62.68381161480822],[{"name":"41","x":324.357661477185,"y":453.20438473027815,"type":""},
  190. {"name":"132","x":406.2466052101337,"y":209.2030178908477,"type":""},"const",257.37611801643203],[{"name":"41","x":324.357661477185,"y":453.20438473027815,"type":""},
  191. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},"const",357.92609495024175],[{"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},
  192. {"name":"43","x":345.59340289846233,"y":531.191382644909,"type":""},"const",22.00603386355706],[{"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},
  193. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},"const",325.893754212365],[{"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},
  194. {"name":"147","x":352.5,"y":659.5222821435042,"type":""},"const",145.6349677143284],[{"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},
  195. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",495.27154468751036],[{"name":"43","x":345.59340289846233,"y":531.191382644909,"type":""},
  196. {"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},"const",40.754770931103174],[{"name":"43","x":345.59340289846233,"y":531.191382644909,"type":""},
  197. {"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},"const",338.44828019294425],[{"name":"43","x":345.59340289846233,"y":531.191382644909,"type":""},
  198. {"name":"237","x":560.7547859516193,"y":706.877363183074,"type":""},"const",277.7768610143829],[{"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},
  199. {"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},"const",63.96396957495827],[{"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},
  200. {"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},"const",279.46200199816974],[{"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},
  201. {"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},"const",423.73430144247175],[{"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},
  202. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",605.3109163530141],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  203. {"name":"46","x":456.1025343848575,"y":479.2361713301421,"type":""},"const",42.685329113484585],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  204. {"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},"const",267.044681207588],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  205. {"name":"50","x":647.3528133137539,"y":195.11253836486497,"type":""},"const",383.79570105328406],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  206. {"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},"const",295.1151050396651],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  207. {"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},"const",173.37684490280637],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  208. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",644.3394809974541],[{"name":"46","x":456.1025343848575,"y":479.2361713301421,"type":""},
  209. {"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},"const",45.39123913699872],[{"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},
  210. {"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},"const",47.047036449194316],[{"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},
  211. {"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},"const",294.0887879580657],[{"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},
  212. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",183.6721765115165],[{"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},
  213. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",486.6941103104043],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  214. {"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},"const",25.7772200449739],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  215. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},"const",298.08763602419685],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  216. {"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},"const",354.1679638306291],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  217. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"const",371.37278825824006],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  218. {"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},"const",670.2294043204714],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  219. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",378.87860482952715],[{"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},
  220. {"name":"40","x":350.4438469404121,"y":404.2927869867273,"type":""},"const",37.97639596422426],[{"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},
  221. {"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},"const",283.4489103653117],[{"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},
  222. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"const",499.55002623505305],[{"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},
  223. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",589.0762111107545],[{"name":"50","x":647.3528133137539,"y":195.11253836486497,"type":""},
  224. {"name":"51","x":619.6180564382187,"y":257.81720608346626,"type":""},"const",68.56451044560333],[{"name":"51","x":619.6180564382187,"y":257.81720608346626,"type":""},
  225. {"name":"52","x":618.4021089634458,"y":318.61457982210953,"type":""},"const",60.809531997686655],[{"name":"51","x":619.6180564382187,"y":257.81720608346626,"type":""},
  226. {"name":"102","x":581.4609628338108,"y":656.0534832635736,"type":""},"const",400.06011580087164],[{"name":"51","x":619.6180564382187,"y":257.81720608346626,"type":""},
  227. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",445.50275071828963],[{"name":"52","x":618.4021089634458,"y":318.61457982210953,"type":""},
  228. {"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},"const",41.7268040869492],[{"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},
  229. {"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},"const",44.409786926805985],[{"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},
  230. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"const",244.19177296204867],[{"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},
  231. {"name":"138","x":544,"y":172.79830511517622,"type":""},"const",205.16309784978526],[{"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},
  232. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},"const",170.98157093493768],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  233. {"name":"55","x":733.2970427785039,"y":342.50383261790773,"type":""},"const",73.41351083187409],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  234. {"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},"const",578.7057992684693],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  235. {"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},"const",603.7781336207288],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  236. {"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},"const",794.3115697606781],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  237. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},"const",486.1389713865941],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  238. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",298.95911490661615],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  239. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},"const",342.80891355908545],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  240. {"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},"const",282.6431518625895],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  241. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",308.1360659862511],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  242. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",378.58967001309463],[{"name":"55","x":733.2970427785039,"y":342.50383261790773,"type":""},
  243. {"name":"56","x":753.2388707643189,"y":299.77134407687555,"type":""},"const",47.156569853258866],[{"name":"55","x":733.2970427785039,"y":342.50383261790773,"type":""},
  244. {"name":"101","x":601.0597809867265,"y":610.8254413722293,"type":""},"const",299.1373917294431],[{"name":"55","x":733.2970427785039,"y":342.50383261790773,"type":""},
  245. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",424.0775352517563],[{"name":"56","x":753.2388707643189,"y":299.77134407687555,"type":""},
  246. {"name":"57","x":756.8752707157543,"y":213.70987855957125,"type":""},"const",86.13825660873893],[{"name":"56","x":753.2388707643189,"y":299.77134407687555,"type":""},
  247. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},"const",210.320160984807],[{"name":"57","x":756.8752707157543,"y":213.70987855957125,"type":""},
  248. {"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},"const",33.06353502569152],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  249. {"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},"const",67.91460112401641],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  250. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},"const",540.3387174980588],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  251. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},"const",228.93825991593803],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  252. {"name":"187","x":353.53684540957664,"y":36.2116835016648,"type":""},"const",412.75883815805963],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  253. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},"const",418.9168740031914],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  254. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",333.7521131385038],[{"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},
  255. {"name":"50","x":647.3528133137539,"y":195.11253836486497,"type":""},"const",31.90572098820839],[{"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},
  256. {"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},"const",593.5258503155924],[{"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},
  257. {"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},"const",148.5928396302128],[{"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},
  258. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",349.297544643658],[{"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},
  259. {"name":"61","x":1235.1834198174297,"y":354.8758658775481,"type":""},"const",59.67018420401978],[{"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},
  260. {"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},"const",209.96278270854182],[{"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},
  261. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},"const",69.99034725665763],[{"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},
  262. {"name":"223","x":1507.1177574332664,"y":85.10295321548632,"type":""},"const",340.8623984131601],[{"name":"61","x":1235.1834198174297,"y":354.8758658775481,"type":""},
  263. {"name":"62","x":1243.480675912968,"y":376.4487317259478,"type":""},"const",23.113480906778186],[{"name":"61","x":1235.1834198174297,"y":354.8758658775481,"type":""},
  264. {"name":"96","x":1250.0843507044765,"y":509.9797234464632,"type":""},"const",155.8179847580466],[{"name":"61","x":1235.1834198174297,"y":354.8758658775481,"type":""},
  265. {"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},"const",297.5407757529884],[{"name":"62","x":1243.480675912968,"y":376.4487317259478,"type":""},
  266. {"name":"63","x":1256.9013331073368,"y":396.579717517501,"type":""},"const",24.194433832360634],[{"name":"62","x":1243.480675912968,"y":376.4487317259478,"type":""},
  267. {"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},"const",312.87236629082633],[{"name":"63","x":1256.9013331073368,"y":396.579717517501,"type":""},
  268. {"name":"64","x":1351.7487229803935,"y":402.50767938456704,"type":""},"const",95.03245812683691],[{"name":"63","x":1256.9013331073368,"y":396.579717517501,"type":""},
  269. {"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},"const",306.82477443979093],[{"name":"63","x":1256.9013331073368,"y":396.579717517501,"type":""},
  270. {"name":"167","x":1202.6910871425982,"y":339.30891285740165,"type":""},"const",78.85870804148841],[{"name":"64","x":1351.7487229803935,"y":402.50767938456704,"type":""},
  271. {"name":"65","x":1366.550684094811,"y":377.83774419387106,"type":""},"const",28.769841069179858],[{"name":"64","x":1351.7487229803935,"y":402.50767938456704,"type":""},
  272. {"name":"96","x":1250.0843507044765,"y":509.9797234464632,"type":""},"const",147.93878749367386],[{"name":"65","x":1366.550684094811,"y":377.83774419387106,"type":""},
  273. {"name":"66","x":1369.8853471483567,"y":351.1604397655051,"type":""},"const",26.884913041414087],[{"name":"65","x":1366.550684094811,"y":377.83774419387106,"type":""},
  274. {"name":"223","x":1507.1177574332664,"y":85.10295321548632,"type":""},"const",324.73490720293273],[{"name":"66","x":1369.8853471483567,"y":351.1604397655051,"type":""},
  275. {"name":"67","x":1362.3926462168095,"y":317.4432855735424,"type":""},"const",34.539644671799884],[{"name":"66","x":1369.8853471483567,"y":351.1604397655051,"type":""},
  276. {"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},"const",312.60280041119495],[{"name":"66","x":1369.8853471483567,"y":351.1604397655051,"type":""},
  277. {"name":"126","x":1362.7513900363388,"y":52.44893181001036,"type":""},"const",298.7966839326061],[{"name":"67","x":1362.3926462168095,"y":317.4432855735424,"type":""},
  278. {"name":"68","x":1322.5514995087808,"y":290.88252110152337,"type":""},"const",47.88309910969351],[{"name":"67","x":1362.3926462168095,"y":317.4432855735424,"type":""},
  279. {"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},"const",298.6492567682363],[{"name":"67","x":1362.3926462168095,"y":317.4432855735424,"type":""},
  280. {"name":"122","x":1186.8982208363632,"y":111.09634733561299,"type":""},"const",270.88254329096384],[{"name":"68","x":1322.5514995087808,"y":290.88252110152337,"type":""},
  281. {"name":"69","x":1266.6811952200226,"y":288.3429618156707,"type":""},"const",55.92799176338086],[{"name":"68","x":1322.5514995087808,"y":290.88252110152337,"type":""},
  282. {"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},"const",250.2794421195491],[{"name":"69","x":1266.6811952200226,"y":288.3429618156707,"type":""},
  283. {"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},"const",28.746317165572204],[{"name":"69","x":1266.6811952200226,"y":288.3429618156707,"type":""},
  284. {"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},"const",174.53904785374436],[{"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},
  285. {"name":"74","x":99.62837046606629,"y":311.08926262207007,"type":""},"const",28.56292626279466],[{"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},
  286. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"const",827.1618749297187],[{"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},
  287. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",911.9072364060776],[{"name":"74","x":99.62837046606629,"y":311.08926262207007,"type":""},
  288. {"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},"const",71.83348433366919],[{"name":"74","x":99.62837046606629,"y":311.08926262207007,"type":""},
  289. {"name":"134","x":481.5650220002803,"y":261.17704243554334,"type":""},"const",385.18415791555594],[{"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},
  290. {"name":"76","x":171.05450927611957,"y":258.5,"type":""},"const",25.66448755744104],[{"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},
  291. {"name":"131","x":438.83420506366645,"y":154.45585013691263,"type":""},"const",301.86449922516306],[{"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},
  292. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},"const",304.09006218105435],[{"name":"76","x":171.05450927611957,"y":258.5,"type":""},
  293. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},"const",25.041564347271354],[{"name":"76","x":171.05450927611957,"y":258.5,"type":""},
  294. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",201.32515950767336],[{"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},
  295. {"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},"const",53.81505716045718],[{"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},
  296. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"const",668.6142302142265],[{"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},
  297. {"name":"147","x":352.5,"y":659.5222821435042,"type":""},"const",464.5912380083568],[{"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},
  298. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",675.2576499747647],[{"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},
  299. {"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},"const",41.40801209082323],[{"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},
  300. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},"const",1063.3996891527247],[{"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},
  301. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"const",809.6193736796965],[{"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},
  302. {"name":"70","x":37.217342303215354,"y":217.1174594675131,"type":""},"const",41.60346490016386],[{"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},
  303. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",326.14140573310647],[{"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},
  304. {"name":"130","x":484.4698045789511,"y":136.4781897218005,"type":""},"const",413.3998108385815],[{"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},
  305. {"name":"185","x":366.33524810542565,"y":122.06950879309632,"type":""},"const",301.0257064648056],[{"name":"80","x":1390.690764967718,"y":565.1069262742114,"type":""},
  306. {"name":"81","x":1368.695643568535,"y":588.7939800887164,"type":""},"const",32.324323407861954],[{"name":"81","x":1368.695643568535,"y":588.7939800887164,"type":""},
  307. {"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},"const",74.97098636842881],[{"name":"81","x":1368.695643568535,"y":588.7939800887164,"type":""},
  308. {"name":"224","x":1494.3803628175028,"y":123.31513706277696,"type":""},"const",482.148526864346],[{"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},
  309. {"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},"const",51.584467579702824],[{"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},
  310. {"name":"97","x":1242.8106302951321,"y":453.60839027404484,"type":""},"const",244.27972531448285],[{"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},
  311. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},"const",336.640487491796],[{"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},
  312. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},"const",308.50551001966323],[{"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},
  313. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},"const",451.6465055929891],[{"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},
  314. {"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},"const",511.844500792933],[{"name":"85","x":1478.9633826837205,"y":680.8945724888179,"type":""},
  315. {"name":"86","x":1495.9749345245175,"y":634.3963307906397,"type":""},"const",49.512416392803104],[{"name":"86","x":1495.9749345245175,"y":634.3963307906397,"type":""},
  316. {"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},"const",53.04787162699196],[{"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},
  317. {"name":"88","x":1430.3653891237916,"y":554.0185685486387,"type":""},"const",76.43056418497244],[{"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},
  318. {"name":"126","x":1362.7513900363388,"y":52.44893181001036,"type":""},"const",547.120073731121],[{"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},
  319. {"name":"172","x":1502.2831069916128,"y":256.598746792364,"type":""},"const",325.05226324305437],[{"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},
  320. {"name":"224","x":1494.3803628175028,"y":123.31513706277696,"type":""},"const",458.3924820628751],[{"name":"88","x":1430.3653891237916,"y":554.0185685486387,"type":""},
  321. {"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},"const",20.039265191224455],[{"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  322. {"name":"80","x":1390.690764967718,"y":565.1069262742114,"type":""},"const",25.030634943141447],[{"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  323. {"name":"94","x":1166.6412501315226,"y":570.5,"type":""},"const",244.9260216552532],[{"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  324. {"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},"const",756.3463895463947],[{"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  325. {"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},"const",482.3227102069046],[{"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  326. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},"const",422.2533744531271],[{"name":"91","x":1080.4564271072195,"y":464.607281646638,"type":""},
  327. {"name":"92","x":1090.7843112555558,"y":522.1483504730829,"type":""},"const",58.460583239231624],[{"name":"91","x":1080.4564271072195,"y":464.607281646638,"type":""},
  328. {"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},"const",115.82406310298205],[{"name":"91","x":1080.4564271072195,"y":464.607281646638,"type":""},
  329. {"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},"const",152.5815324765102],[{"name":"92","x":1090.7843112555558,"y":522.1483504730829,"type":""},
  330. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},"const",55.57519143003837],[{"name":"93","x":1118.1835793208088,"y":570.5,"type":""},
  331. {"name":"94","x":1166.6412501315226,"y":570.5,"type":""},"const",48.45767081071381],[{"name":"93","x":1118.1835793208088,"y":570.5,"type":""},
  332. {"name":"199","x":946.1197113755139,"y":516.2952043638097,"type":""},"const",180.39992938539922],[{"name":"93","x":1118.1835793208088,"y":570.5,"type":""},
  333. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"const",253.7803363149803],[{"name":"93","x":1118.1835793208088,"y":570.5,"type":""},
  334. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",206.67779462996376],[{"name":"94","x":1166.6412501315226,"y":570.5,"type":""},
  335. {"name":"95","x":1190.4540868473107,"y":566.8364866591095,"type":""},"const",24.092997373752972],[{"name":"95","x":1190.4540868473107,"y":566.8364866591095,"type":""},
  336. {"name":"96","x":1250.0843507044765,"y":509.9797234464632,"type":""},"const",82.39211060953677],[{"name":"95","x":1190.4540868473107,"y":566.8364866591095,"type":""},
  337. {"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},"const",268.66979964854914],[{"name":"95","x":1190.4540868473107,"y":566.8364866591095,"type":""},
  338. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},"const",204.95995317424766],[{"name":"96","x":1250.0843507044765,"y":509.9797234464632,"type":""},
  339. {"name":"97","x":1242.8106302951321,"y":453.60839027404484,"type":""},"const",56.8386682833888],[{"name":"97","x":1242.8106302951321,"y":453.60839027404484,"type":""},
  340. {"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},"const",395.3342593777817],[{"name":"97","x":1242.8106302951321,"y":453.60839027404484,"type":""},
  341. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},"const",94.82870098367673],[{"name":"100","x":634.2237150615942,"y":573.0871715628971,"type":""},
  342. {"name":"101","x":601.0597809867265,"y":610.8254413722293,"type":""},"const",50.239660941572126],[{"name":"100","x":634.2237150615942,"y":573.0871715628971,"type":""},
  343. {"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},"const",456.67384076187767],[{"name":"101","x":601.0597809867265,"y":610.8254413722293,"type":""},
  344. {"name":"102","x":581.4609628338108,"y":656.0534832635736,"type":""},"const",49.29188012559735],[{"name":"102","x":581.4609628338108,"y":656.0534832635736,"type":""},
  345. {"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},"const",34.9390920450358],[{"name":"102","x":581.4609628338108,"y":656.0534832635736,"type":""},
  346. {"name":"138","x":544,"y":172.79830511517622,"type":""},"const",484.70495246456426],[{"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},
  347. {"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},"const",44.386933593419634],[{"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},
  348. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",473.4945906187595],[{"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},
  349. {"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},"const",46.35007638082747],[{"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},
  350. {"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},"const",354.99096425656126],[{"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},
  351. {"name":"238","x":533.6368286970486,"y":687.7352757092593,"type":""},"const",98.46201480548129],[{"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},
  352. {"name":"106","x":741.6936213269846,"y":670.6402738844129,"type":""},"const",83.11118143775956],[{"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},
  353. {"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},"const",275.22916188389814],[{"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},
  354. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},"const",334.3275404295602],[{"name":"106","x":741.6936213269846,"y":670.6402738844129,"type":""},
  355. {"name":"107","x":747.290802592158,"y":609.0712799675055,"type":""},"const",61.82288775247714],[{"name":"107","x":747.290802592158,"y":609.0712799675055,"type":""},
  356. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"const",32.72720780632854],[{"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  357. {"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},"const",82.01328044192185],[{"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  358. {"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},"const",299.3033974268629],[{"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  359. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",467.8800531253375],[{"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  360. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",795.7351820979673],[{"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  361. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},"const",74.14997079035552],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  362. {"name":"100","x":634.2237150615942,"y":573.0871715628971,"type":""},"const",38.53358308507445],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  363. {"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},"const",376.4367138297526],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  364. {"name":"192","x":951.4509598622473,"y":629.8751335256056,"type":""},"const",299.55665657848795],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  365. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",92.36209904758263],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  366. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},"const",67.09223542194184],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  367. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",229.10251215735252],[{"name":"110","x":918.6068848304548,"y":691.2951354230986,"type":""},
  368. {"name":"111","x":902.7373165623441,"y":707.1647036912093,"type":""},"const",22.44295867376786],[{"name":"110","x":918.6068848304548,"y":691.2951354230986,"type":""},
  369. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},"const",96.7927637387651],[{"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},
  370. {"name":"118","x":974.2001000232046,"y":685.37289623584,"type":""},"const",41.39428112635902],[{"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},
  371. {"name":"191","x":909.5384627311921,"y":604.1868288323784,"type":""},"const",140.7096972711017],[{"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},
  372. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",291.38771611392053],[{"name":"118","x":974.2001000232046,"y":685.37289623584,"type":""},
  373. {"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},"const",30.0627689482037],[{"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},
  374. {"name":"110","x":918.6068848304548,"y":691.2951354230986,"type":""},"const",30.383770443458943],[{"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},
  375. {"name":"122","x":1186.8982208363632,"y":111.09634733561299,"type":""},"const",52.00968489404878],[{"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},
  376. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},"const",300.6735447670068],[{"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},
  377. {"name":"217","x":1101.802156766718,"y":273.17834139179297,"type":""},"const",213.64883986492893],[{"name":"122","x":1186.8982208363632,"y":111.09634733561299,"type":""},
  378. {"name":"123","x":1227.2152822080607,"y":129.3040524712183,"type":""},"const",44.23783407847146],[{"name":"123","x":1227.2152822080607,"y":129.3040524712183,"type":""},
  379. {"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},"const",38.118361538425795],[{"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},
  380. {"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},"const",88.22727131494065],[{"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},
  381. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},"const",748.610228678086],[{"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},
  382. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"const",922.5836952812741],[{"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},
  383. {"name":"126","x":1362.7513900363388,"y":52.44893181001036,"type":""},"const",65.51209274182104],[{"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},
  384. {"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},"const",323.12731048143235],[{"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},
  385. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",350.10072558836436],[{"name":"126","x":1362.7513900363388,"y":52.44893181001036,"type":""},
  386. {"name":"173","x":1505.0853317113156,"y":281.8187692696878,"type":""},"const",269.9434631344396],[{"name":"130","x":484.4698045789511,"y":136.4781897218005,"type":""},
  387. {"name":"131","x":438.83420506366645,"y":154.45585013691263,"type":""},"const",49.04899812555336],[{"name":"131","x":438.83420506366645,"y":154.45585013691263,"type":""},
  388. {"name":"132","x":406.2466052101337,"y":209.2030178908477,"type":""},"const",63.71188304619065],[{"name":"132","x":406.2466052101337,"y":209.2030178908477,"type":""},
  389. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",49.09351203637654],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  390. {"name":"134","x":481.5650220002803,"y":261.17704243554334,"type":""},"const",83.46480593410709],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  391. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},"const",151.90228469087668],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  392. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",329.0079671927419],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  393. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},"const",641.7308695509025],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  394. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",471.07620316344014],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  395. {"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},"const",581.5450583764579],[{"name":"134","x":481.5650220002803,"y":261.17704243554334,"type":""},
  396. {"name":"135","x":521.3955054198723,"y":249.10719897506095,"type":""},"const",41.619088536378854],[{"name":"135","x":521.3955054198723,"y":249.10719897506095,"type":""},
  397. {"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},"const",19.022840656019405],[{"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},
  398. {"name":"137","x":544,"y":205.19691790893253,"type":""},"const",35.841603038774416],[{"name":"137","x":544,"y":205.19691790893253,"type":""},
  399. {"name":"138","x":544,"y":172.79830511517622,"type":""},"const",32.398612793756314],[{"name":"138","x":544,"y":172.79830511517622,"type":""},
  400. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},"const",48.582975729764854],[{"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},
  401. {"name":"130","x":484.4698045789511,"y":136.4781897218005,"type":""},"const",30.837464050468025],[{"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},
  402. {"name":"187","x":353.53684540957664,"y":36.2116835016648,"type":""},"const",188.7591372909066],[{"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},
  403. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"const",174.02812344524793],[{"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},
  404. {"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},"const",572.3906052533645],[{"name":"147","x":352.5,"y":659.5222821435042,"type":""},
  405. {"name":"148","x":341.2343354802587,"y":642.6237853638922,"type":""},"const",20.309465539051313],[{"name":"147","x":352.5,"y":659.5222821435042,"type":""},
  406. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",637.3889554757393],[{"name":"148","x":341.2343354802587,"y":642.6237853638922,"type":""},
  407. {"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},"const",63.213233743350074],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  408. {"name":"140","x":222.48223279616994,"y":679.5945514317212,"type":""},"const",102.0522575060609],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  409. {"name":"159","x":54.40790671292386,"y":648.8447697611733,"type":""},"const",240.91712277511493],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  410. {"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},"const",525.9007129529984],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  411. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",709.2888517760487],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  412. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",817.6275336689539],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  413. {"name":"238","x":533.6368286970486,"y":687.7352757092593,"type":""},"const",256.52958550596395],[{"name":"157","x":152.45242806674474,"y":710.5169418112,"type":""},
  414. {"name":"158","x":129.94757662762225,"y":679.5727710824066,"type":""},"const",38.26238414408713],[{"name":"158","x":129.94757662762225,"y":679.5727710824066,"type":""},
  415. {"name":"159","x":54.40790671292386,"y":648.8447697611733,"type":""},"const",81.55030224358033],[{"name":"159","x":54.40790671292386,"y":648.8447697611733,"type":""},
  416. {"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},"const",766.6709881560315],[{"name":"159","x":54.40790671292386,"y":648.8447697611733,"type":""},
  417. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",949.697709689759],[{"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},
  418. {"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},"const",47.30056869901373],[{"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},
  419. {"name":"215","x":1025.306672670151,"y":377.75315906959014,"type":""},"const",92.85603330225935],[{"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},
  420. {"name":"162","x":1074.796611537772,"y":383.270164350438,"type":""},"const",35.380667355785846],[{"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},
  421. {"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},"const",257.26089278078433],[{"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},
  422. {"name":"217","x":1101.802156766718,"y":273.17834139179297,"type":""},"const",86.69660180432261],[{"name":"162","x":1074.796611537772,"y":383.270164350438,"type":""},
  423. {"name":"163","x":1101.1663755674763,"y":417.9672222842595,"type":""},"const",43.58038875739012],[{"name":"165","x":1200.0366176867108,"y":407.745197686494,"type":""},
  424. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},"const",49.00253118207074],[{"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},
  425. {"name":"167","x":1202.6910871425982,"y":339.30891285740165,"type":""},"const",27.405833077229865],[{"name":"167","x":1202.6910871425982,"y":339.30891285740165,"type":""},
  426. {"name":"168","x":1169.6797655836936,"y":317.3013651514651,"type":""},"const",39.67467085048693],[{"name":"167","x":1202.6910871425982,"y":339.30891285740165,"type":""},
  427. {"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},"const",161.5285374896578],[{"name":"168","x":1169.6797655836936,"y":317.3013651514651,"type":""},
  428. {"name":"169","x":1142.31253924242,"y":311.2197592978488,"type":""},"const",28.034817769574357],[{"name":"169","x":1142.31253924242,"y":311.2197592978488,"type":""},
  429. {"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},"const",48.22919045283958],[{"name":"172","x":1502.2831069916128,"y":256.598746792364,"type":""},
  430. {"name":"173","x":1505.0853317113156,"y":281.8187692696878,"type":""},"const",25.375224080516592],[{"name":"172","x":1502.2831069916128,"y":256.598746792364,"type":""},
  431. {"name":"224","x":1494.3803628175028,"y":123.31513706277696,"type":""},"const",133.5176916667986],[{"name":"177","x":1620.6661685851184,"y":269.43181116132826,"type":""},
  432. {"name":"178","x":1619.4765624558736,"y":186.15938211419413,"type":""},"const",83.28092580028589],[{"name":"177","x":1620.6661685851184,"y":269.43181116132826,"type":""},
  433. {"name":"229","x":1722.82186966203,"y":53,"type":""},"const",239.32930481887956],[{"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},
  434. {"name":"182","x":222.58971586842105,"y":111.93994494295062,"type":""},"const",101.77827438406392],[{"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},
  435. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",799.5716987622106],[{"name":"182","x":222.58971586842105,"y":111.93994494295062,"type":""},
  436. {"name":"183","x":277.3701384368386,"y":119.7657195955817,"type":""},"const",55.33658324913234],[{"name":"183","x":277.3701384368386,"y":119.7657195955817,"type":""},
  437. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"const",64.34602362067791],[{"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},
  438. {"name":"185","x":366.33524810542565,"y":122.06950879309632,"type":""},"const",25.616725172113455],[{"name":"185","x":366.33524810542565,"y":122.06950879309632,"type":""},
  439. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},"const",49.34327971363866],[{"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},
  440. {"name":"187","x":353.53684540957664,"y":36.2116835016648,"type":""},"const",92.13543408276188],[{"name":"191","x":909.5384627311921,"y":604.1868288323784,"type":""},
  441. {"name":"192","x":951.4509598622473,"y":629.8751335256056,"type":""},"const",49.158380910815055],[{"name":"192","x":951.4509598622473,"y":629.8751335256056,"type":""},
  442. {"name":"193","x":973.0336700760873,"y":634.5,"type":""},"const",22.072670207307805],[{"name":"192","x":951.4509598622473,"y":629.8751335256056,"type":""},
  443. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",207.55080569931508],[{"name":"193","x":973.0336700760873,"y":634.5,"type":""},
  444. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},"const",23.95147516157658],[{"name":"194","x":996.9851452376639,"y":634.5,"type":""},
  445. {"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},"const",37.10612238764236],[{"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},
  446. {"name":"196","x":1004.2693261766174,"y":571.329258328384,"type":""},"const",34.927378155183234],[{"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},
  447. {"name":"213","x":957.7073856589043,"y":352.5101204252352,"type":""},"const",258.1518700205428],[{"name":"196","x":1004.2693261766174,"y":571.329258328384,"type":""},
  448. {"name":"197","x":988.249833282283,"y":542.4941711185821,"type":""},"const",32.98615477724716],[{"name":"197","x":988.249833282283,"y":542.4941711185821,"type":""},
  449. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},"const",16.22742340952728],[{"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},
  450. {"name":"199","x":946.1197113755139,"y":516.2952043638097,"type":""},"const",35.94532649063341],[{"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},
  451. {"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},"const",60.199671727187834],[{"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},
  452. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},"const",89.63249969243708],[{"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},
  453. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",70.44518620133896],[{"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},
  454. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",273.78551731820147],[{"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},
  455. {"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},"const",351.5407196157602],[{"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},
  456. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",296.14115910691856],[{"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},
  457. {"name":"203","x":806.5556140543994,"y":573.3516885217153,"type":""},"const",53.20257740632008],[{"name":"203","x":806.5556140543994,"y":573.3516885217153,"type":""},
  458. {"name":"204","x":856.7032731128759,"y":577.5306601099217,"type":""},"const",50.32148162147291],[{"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},
  459. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"const",49.49620942581232],[{"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},
  460. {"name":"209","x":847.9190688048005,"y":482.4440684074589,"type":""},"const",31.43818529653531],[{"name":"209","x":847.9190688048005,"y":482.4440684074589,"type":""},
  461. {"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},"const",44.67921793243463],[{"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},
  462. {"name":"211","x":960.7504063165591,"y":281.97542203660646,"type":""},"const",23.777001819899976],[{"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},
  463. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",645.5864796077194],[{"name":"211","x":960.7504063165591,"y":281.97542203660646,"type":""},
  464. {"name":"212","x":956.4294038949586,"y":329.50644867421255,"type":""},"const",47.7270317027185],[{"name":"212","x":956.4294038949586,"y":329.50644867421255,"type":""},
  465. {"name":"213","x":957.7073856589043,"y":352.5101204252352,"type":""},"const",23.039143895070726],[{"name":"213","x":957.7073856589043,"y":352.5101204252352,"type":""},
  466. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",70.27931275561932],[{"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},
  467. {"name":"215","x":1025.306672670151,"y":377.75315906959014,"type":""},"const",64.98383750211529],[{"name":"215","x":1025.306672670151,"y":377.75315906959014,"type":""},
  468. {"name":"216","x":1047.1560706166817,"y":357.053729436035,"type":""},"const",30.097551026293797],[{"name":"216","x":1047.1560706166817,"y":357.053729436035,"type":""},
  469. {"name":"217","x":1101.802156766718,"y":273.17834139179297,"type":""},"const",100.10632073495346],[{"name":"217","x":1101.802156766718,"y":273.17834139179297,"type":""},
  470. {"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},"const",43.76422694558446],[{"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},
  471. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",62.554721469410964],[{"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},
  472. {"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},"const",60.21879922428856],[{"name":"223","x":1507.1177574332664,"y":85.10295321548632,"type":""},
  473. {"name":"224","x":1494.3803628175028,"y":123.31513706277696,"type":""},"const",40.27917844217807],[{"name":"227","x":1634.4772946186545,"y":120.08865697273093,"type":""},
  474. {"name":"228","x":1648.569092362106,"y":112.40222183993916,"type":""},"const",16.05179269405632],[{"name":"228","x":1648.569092362106,"y":112.40222183993916,"type":""},
  475. {"name":"229","x":1722.82186966203,"y":53,"type":""},"const",95.08995160516936],[{"name":"229","x":1722.82186966203,"y":53,"type":""},
  476. {"name":"220","x":1639.7298915187566,"y":53.00000000000001,"type":""},"const",83.09197814327331],[{"name":"237","x":560.7547859516193,"y":706.877363183074,"type":""},
  477. {"name":"238","x":533.6368286970486,"y":687.7352757092593,"type":""},"const",33.19341980748434],[{"name":"238","x":533.6368286970486,"y":687.7352757092593,"type":""},
  478. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",58.397228717203404],[{"name":"player","x":100,"y":100,"type":"player"},
  479. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},"var",475.0410693030716],[{"name":"player","x":100,"y":100,"type":"player"},
  480. {"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},"var",434.2784913076533],[{"name":"player","x":100,"y":100,"type":"player"},
  481. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},"var",149.3858968154142],[{"name":"player","x":100,"y":100,"type":"player"},
  482. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"var",798.2577975693512],[{"name":"player","x":100,"y":100,"type":"player"},
  483. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"var",337.27659265236],[{"name":"player","x":100,"y":100,"type":"player"},
  484. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"var",242.8128909397011],[{"name":"player","x":100,"y":100,"type":"player"},
  485. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"var",803.2044974295419],[{"name":"2585","x":171,"y":122,"type":"allie"},
  486. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},"var",424.5428223515612],[{"name":"2585","x":171,"y":122,"type":"allie"},
  487. {"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},"var",416.3689141062264],[{"name":"2585","x":171,"y":122,"type":"allie"},
  488. {"name":"76","x":171.05450927611957,"y":258.5,"type":""},"var",136.50001088374017],[{"name":"2585","x":171,"y":122,"type":"allie"},
  489. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"var",728.6111329180097],[{"name":"2585","x":171,"y":122,"type":"allie"},
  490. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"var",264.5824947674739],[{"name":"2585","x":171,"y":122,"type":"allie"},
  491. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},"var",344.37896644057383],[{"name":"2585","x":171,"y":122,"type":"allie"},
  492. {"name":"147","x":352.5,"y":659.5222821435042,"type":""},"var",567.3380419121927],[{"name":"2585","x":171,"y":122,"type":"allie"},
  493. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"var",170.35193802012466],[{"name":"2585","x":171,"y":122,"type":"allie"},
  494. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"var",71.39727162164735],[{"name":"2585","x":171,"y":122,"type":"allie"},
  495. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"var",733.0042344492691],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  496. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},"var",386.9207320551183],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  497. {"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},"var",344.37793610826577],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  498. {"name":"70","x":37.217342303215354,"y":217.1174594675131,"type":""},"var",259.95392603739697],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  499. {"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},"var",191.66415098549578],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  500. {"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},"var",638.3194987663459],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  501. {"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},"var",981.0925983047125],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  502. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"var",170.91599639926625],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  503. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},"var",232.48237745520552],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  504. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"var",58.715883663506396],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  505. {"name":"182","x":222.58971586842105,"y":111.93994494295062,"type":""},"var",63.25551243883601],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  506. {"name":"199","x":249.9050082430132,"y":102.09744199109065,"type":"allie"},"var",44.1282092957909],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  507. {"name":"2585","x":171,"y":122,"type":"allie"},"var",112.12052199347016],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  508. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},"var",293.9650424785912],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  509. {"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},"var",262.12088923847034],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  510. {"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},"var",491.24332514971724],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  511. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},"var",35.96703115932087],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  512. {"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},"var",42.17582986887332],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  513. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"var",632.6993752105095],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  514. {"name":"134","x":481.5650220002803,"y":261.17704243554334,"type":""},"var",285.65519727136444],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  515. {"name":"131","x":438.83420506366645,"y":154.45585013691263,"type":""},"var",262.445211274406],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  516. {"name":"147","x":352.5,"y":659.5222821435042,"type":""},"var",434.67294753052647],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  517. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},"var",262.52409073917073],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  518. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"var",202.98164149753293],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  519. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"var",639.4014374495188],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  520. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"var",721.2341683340406],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  521. {"name":"2585","x":171,"y":122,"type":"allie"},"var",134.34656675925888]]
  522.  
  523.  
  524. class Comparator {
  525.   /**
  526.    * @param {function(a: *, b: *)} [compareFunction] - It may be custom compare function that, let's
  527.    * say may compare custom objects together.
  528.    */
  529.   constructor(compareFunction) {
  530.     this.compare = compareFunction || Comparator.defaultCompareFunction;
  531.   }
  532.  
  533.   /**
  534.    * Default comparison function. It just assumes that "a" and "b" are strings or numbers.
  535.    * @param {(string|number)} a
  536.    * @param {(string|number)} b
  537.    * @returns {number}
  538.    */
  539.   static defaultCompareFunction(a, b) {
  540.     if (a === b) {
  541.       return 0;
  542.     }
  543.  
  544.     return a < b ? -1 : 1;
  545.  }
  546.  
  547.  /**
  548.   * Checks if two variables are equal.
  549.   * @param {*} a
  550.   * @param {*} b
  551.   * @return {boolean}
  552.   */
  553.  equal(a, b) {
  554.    return this.compare(a, b) === 0;
  555.  }
  556.  
  557.  /**
  558.   * Checks if variable "a" is less than "b".
  559.   * @param {*} a
  560.   * @param {*} b
  561.   * @return {boolean}
  562.   */
  563.  lessThan(a, b) {
  564.    return this.compare(a, b) < 0;
  565.  }
  566.  
  567.  /**
  568.   * Checks if variable "a" is greater than "b".
  569.   * @param {*} a
  570.   * @param {*} b
  571.   * @return {boolean}
  572.   */
  573.  greaterThan(a, b) {
  574.    return this.compare(a, b) > 0;
  575.   }
  576.  
  577.   /**
  578.    * Checks if variable "a" is less than or equal to "b".
  579.    * @param {*} a
  580.    * @param {*} b
  581.    * @return {boolean}
  582.    */
  583.   lessThanOrEqual(a, b) {
  584.     return this.lessThan(a, b) || this.equal(a, b);
  585.   }
  586.  
  587.   /**
  588.    * Checks if variable "a" is greater than or equal to "b".
  589.    * @param {*} a
  590.    * @param {*} b
  591.    * @return {boolean}
  592.    */
  593.   greaterThanOrEqual(a, b) {
  594.     return this.greaterThan(a, b) || this.equal(a, b);
  595.   }
  596.  
  597.   /**
  598.    * Reverses the comparison order.
  599.    */
  600.   reverse() {
  601.     const compareOriginal = this.compare;
  602.     this.compare = (a, b) => compareOriginal(b, a);
  603.   }
  604. }
  605.  
  606.  
  607.  
  608.  
  609. /**
  610.  * Parent class for Min and Max Heaps.
  611.  */
  612. class Heap {
  613.   /**
  614.    * @constructs Heap
  615.    * @param {Function} [comparatorFunction]
  616.    */
  617.   constructor(comparatorFunction) {
  618.     if (new.target === Heap) {
  619.       throw new TypeError('Cannot construct Heap instance directly');
  620.     }
  621.  
  622.     // Array representation of the heap.
  623.     this.heapContainer = [];
  624.     this.compare = new Comparator(comparatorFunction);
  625.     //this.indexes = new Map();
  626.     this.indexes = new Int16Array(200);
  627.     this.indexes.fill(-1);
  628.   }
  629.  
  630.   /**
  631.    * @param {number} parentIndex
  632.    * @return {number}
  633.    */
  634.   getLeftChildIndex(parentIndex) {
  635.     return (2 * parentIndex) + 1;
  636.   }
  637.  
  638.   /**
  639.    * @param {number} parentIndex
  640.    * @return {number}
  641.    */
  642.   getRightChildIndex(parentIndex) {
  643.     return (2 * parentIndex) + 2;
  644.   }
  645.  
  646.   /**
  647.    * @param {number} childIndex
  648.    * @return {number}
  649.    */
  650.   getParentIndex(childIndex) {
  651.     return Math.floor((childIndex - 1) / 2);
  652.   }
  653.  
  654.   /**
  655.    * @param {number} childIndex
  656.    * @return {boolean}
  657.    */
  658.   hasParent(childIndex) {
  659.     return this.getParentIndex(childIndex) >= 0;
  660.   }
  661.  
  662.   /**
  663.    * @param {number} parentIndex
  664.    * @return {boolean}
  665.    */
  666.   hasLeftChild(parentIndex) {
  667.     return this.getLeftChildIndex(parentIndex) < this.heapContainer.length;
  668.  }
  669.  
  670.  /**
  671.   * @param {number} parentIndex
  672.   * @return {boolean}
  673.   */
  674.  hasRightChild(parentIndex) {
  675.    return this.getRightChildIndex(parentIndex) < this.heapContainer.length;
  676.  }
  677.  
  678.  /**
  679.   * @param {number} parentIndex
  680.   * @return {*}
  681.   */
  682.  leftChild(parentIndex) {
  683.    return this.heapContainer[this.getLeftChildIndex(parentIndex)];
  684.  }
  685.  
  686.  /**
  687.   * @param {number} parentIndex
  688.   * @return {*}
  689.   */
  690.  rightChild(parentIndex) {
  691.    return this.heapContainer[this.getRightChildIndex(parentIndex)];
  692.  }
  693.  
  694.  /**
  695.   * @param {number} childIndex
  696.   * @return {*}
  697.   */
  698.  parent(childIndex) {
  699.    return this.heapContainer[this.getParentIndex(childIndex)];
  700.  }
  701.  
  702.  /**
  703.   * @param {number} indexOne
  704.   * @param {number} indexTwo
  705.   */
  706.  swap(indexOne, indexTwo) {
  707.    const tmp = this.heapContainer[indexTwo];
  708.    this.heapContainer[indexTwo] = this.heapContainer[indexOne];
  709.    //this.indexes.set(this.heapContainer[indexOne], indexTwo)
  710.    this.indexes[this.heapContainer[indexOne]] = indexTwo
  711.    this.heapContainer[indexOne] = tmp;
  712.    //this.indexes.set(tmp, indexOne)
  713.    this.indexes[tmp] = indexOne;
  714.  }
  715.  
  716.  /**
  717.   * @return {*}
  718.   */
  719.  peek() {
  720.    if (this.heapContainer.length === 0) {
  721.      return null;
  722.    }
  723.  
  724.    return this.heapContainer[0];
  725.  }
  726.  
  727.  /**
  728.   * @return {*}
  729.   */
  730.  poll() {
  731.    if (this.heapContainer.length === 0) {
  732.      return null;
  733.    }
  734.    
  735.  
  736.    if (this.heapContainer.length === 1) {
  737.      //this.indexes.delete(this.heapContainer[0])
  738.      this.indexes[this.heapContainer[0]] = -1;
  739.      return this.heapContainer.pop();
  740.  
  741.    }
  742.  
  743.    const item = this.heapContainer[0];
  744.    //this.indexes.delete(item)
  745.    this.indexes[item] = -1
  746.  
  747.    // Move the last element from the end to the head.
  748.    this.heapContainer[0] = this.heapContainer.pop();
  749.    //this.indexes.set(this.heapContainer[0], 0);
  750.    this.indexes[this.heapContainer[0]] = 0;
  751.    this.heapifyDown();
  752.  
  753.    return item;
  754.  }
  755.  
  756.  /**
  757.   * @param {*} item
  758.   * @return {Heap}
  759.   */
  760.  add(item) {
  761.    
  762.    this.heapContainer.push(item);
  763.    //this.indexes.set(item, this.heapContainer.length-1)
  764.    this.indexes[item] = this.heapContainer.length-1;
  765.    this.heapifyUp();
  766.    return this;
  767.  }
  768.  
  769.  /**
  770.   * @param {*} item
  771.   * @param {Comparator} [comparator]
  772.   * @return {Heap}
  773.   */
  774.  remove(item, comparator = this.compare) {
  775.    // Find number of items to remove.
  776.    const numberOfItemsToRemove = this.find(item, comparator).length;
  777.  
  778.    for (let iteration = 0; iteration < numberOfItemsToRemove; iteration += 1) {
  779.      // We need to find item index to remove each time after removal since
  780.      // indices are being changed after each heapify process.
  781.      const indexToRemove = this.find(item, comparator).pop();
  782.  
  783.      // If we need to remove last child in the heap then just remove it.
  784.      // There is no need to heapify the heap afterwards.
  785.      if (indexToRemove === (this.heapContainer.length - 1)) {
  786.        this.heapContainer.pop();
  787.  
  788.      } else {
  789.        // Move last element in heap to the vacant (removed) position.
  790.        this.heapContainer[indexToRemove] = this.heapContainer.pop();
  791.        //this.indexes.set(this.heapContainer[indexToRemove], indexToRemove);
  792.        this.indexes[this.heapContainer[indexToRemove]] = indexToRemove;
  793.        // Get parent.
  794.        const parentItem = this.parent(indexToRemove);
  795.  
  796.        // If there is no parent or parent is in correct order with the node
  797.        // we're going to delete then heapify down. Otherwise heapify up.
  798.        if (
  799.          this.hasLeftChild(indexToRemove)
  800.          && (
  801.            !parentItem
  802.            || this.pairIsInCorrectOrder(parentItem, this.heapContainer[indexToRemove])
  803.          )
  804.        ) {
  805.          this.heapifyDown(indexToRemove);
  806.        } else {
  807.          this.heapifyUp(indexToRemove);
  808.        }
  809.      }
  810.      //this.indexes.delete(item)
  811.      this.indexes[item] = -1
  812.    }
  813.    return this;
  814.  }
  815.  /**
  816.   * @param {*} item
  817.   * @param {Comparator} [comparator]
  818.   * @return {Number[]}
  819.   */
  820.  find(item, comparator = this.compare) {
  821.    /*
  822.    const foundItemIndices = [];
  823.    for (let itemIndex = 0; itemIndex < this.heapContainer.length; itemIndex += 1) {
  824.      if (comparator.equal(item, this.heapContainer[itemIndex])) {
  825.        foundItemIndices.push(itemIndex);
  826.      }
  827.    }
  828.    return foundItemIndices;
  829.    */
  830.    var foundItemIndices = [];
  831.    //var index = this.indexes.get(item)
  832.    var index = this.indexes[item]
  833.    if (index != undefined && index != null && index != -1) {
  834.      foundItemIndices.push(index)
  835.    }
  836.    
  837.    return foundItemIndices
  838.  }
  839.  /**
  840.   * @return {boolean}
  841.   */
  842.  isEmpty() {
  843.    return !this.heapContainer.length;
  844.  }
  845.  /**
  846.   * @return {string}
  847.   */
  848.  toString() {
  849.    return this.heapContainer.toString();
  850.  }
  851.  /**
  852.   * @param {number} [customStartIndex]
  853.   */
  854.  heapifyUp(customStartIndex) {
  855.    // Take the last element (last in array or the bottom left in a tree)
  856.    // in the heap container and lift it up until it is in the correct
  857.    // order with respect to its parent element.
  858.    let currentIndex = customStartIndex || this.heapContainer.length - 1;
  859.    while (
  860.      this.hasParent(currentIndex)
  861.      && !this.pairIsInCorrectOrder(this.parent(currentIndex), this.heapContainer[currentIndex])
  862.    ) {
  863.      this.swap(currentIndex, this.getParentIndex(currentIndex));
  864.      currentIndex = this.getParentIndex(currentIndex);
  865.    }
  866.  }
  867.  /**
  868.   * @param {number} [customStartIndex]
  869.   */
  870.  heapifyDown(customStartIndex = 0) {
  871.    // Compare the parent element to its children and swap parent with the appropriate
  872.    // child (smallest child for MinHeap, largest child for MaxHeap).
  873.    // Do the same for next children after swap.
  874.    let currentIndex = customStartIndex;
  875.    let nextIndex = null;
  876.    while (this.hasLeftChild(currentIndex)) {
  877.      if (
  878.        this.hasRightChild(currentIndex)
  879.        && this.pairIsInCorrectOrder(this.rightChild(currentIndex), this.leftChild(currentIndex))
  880.      ) {
  881.        nextIndex = this.getRightChildIndex(currentIndex);
  882.      } else {
  883.        nextIndex = this.getLeftChildIndex(currentIndex);
  884.      }
  885.      if (this.pairIsInCorrectOrder(
  886.        this.heapContainer[currentIndex],
  887.        this.heapContainer[nextIndex],
  888.      )) {
  889.        break;
  890.      }
  891.      this.swap(currentIndex, nextIndex);
  892.      currentIndex = nextIndex;
  893.    }
  894.  }
  895.  /**
  896.   * Checks if pair of heap elements is in correct order.
  897.   * For MinHeap the first element must be always smaller or equal.
  898.   * For MaxHeap the first element must be always bigger or equal.
  899.   *
  900.   * @param {*} firstElement
  901.   * @param {*} secondElement
  902.   * @return {boolean}
  903.   */
  904.  /* istanbul ignore next */
  905.  pairIsInCorrectOrder(firstElement, secondElement) {
  906.    throw new Error(`
  907.      You have to implement heap pair comparision method
  908.      for ${firstElement} and ${secondElement} values.
  909.    `);
  910.  }
  911. }
  912. class MinHeap extends Heap {
  913.  /**
  914.   * Checks if pair of heap elements is in correct order.
  915.   * For MinHeap the first element must be always smaller or equal.
  916.   * For MaxHeap the first element must be always bigger or equal.
  917.   *
  918.   * @param {*} firstElement
  919.   * @param {*} secondElement
  920.   * @return {boolean}
  921.   */
  922.  pairIsInCorrectOrder(firstElement, secondElement) {
  923.    return this.compare.lessThanOrEqual(firstElement, secondElement);
  924.  }
  925. }
  926. // It is the same as min heap except that when comparing two elements
  927. // we take into account its priority instead of the element's value.
  928. class PriorityQueue extends MinHeap {
  929.  constructor() {
  930.    // Call MinHip constructor first.
  931.    super();
  932.  
  933.    // Setup priorities map.
  934.    //this.priorities = new Map();
  935.    this.priorities = new Int16Array(200).fill(-1)
  936.  
  937.    // Use custom comparator for heap elements that will take element priority
  938.    // instead of element value into account.
  939.    this.compare = new Comparator(this.comparePriority.bind(this));
  940.  }
  941.  
  942.  /**
  943.   * Add item to the priority queue.
  944.   * @param {*} item - item we're going to add to the queue.
  945.   * @param {number} [priority] - items priority.
  946.   * @return {PriorityQueue}
  947.   */
  948.  add(item, priority = 0) {
  949.    //this.priorities.set(item, priority);
  950.    this.priorities[item] = priority
  951.    super.add(item);
  952.    return this;
  953.  }
  954.  /**
  955.   * Remove item from priority queue.
  956.   * @param {*} item - item we're going to remove.
  957.   * @param {Comparator} [customFindingComparator] - custom function for finding the item to remove
  958.   * @return {PriorityQueue}
  959.   */
  960.  remove(item, customFindingComparator) {
  961.    super.remove(item, customFindingComparator);
  962.    //this.priorities.delete(item);
  963.    this.priorities[item] = -1
  964.    return this;
  965.  }
  966.  
  967.  /**
  968.   * Change priority of the item in a queue.
  969.   * @param {*} item - item we're going to re-prioritize.
  970.   * @param {number} priority - new item's priority.
  971.   * @return {PriorityQueue}
  972.   */
  973.  changePriority(item, priority) {
  974.    this.remove(item, new Comparator(this.compareValue));
  975.    this.add(item, priority);
  976.    return this;
  977.  }
  978.  
  979.  /**
  980.   * Find item by ite value.
  981.   * @param {*} item
  982.   * @return {Number[]}
  983.   */
  984.  findByValue(item) {
  985.    return this.find(item, new Comparator(this.compareValue));
  986.  }
  987.  
  988.  /**
  989.   * Check if item already exists in a queue.
  990.   * @param {*} item
  991.   * @return {boolean}
  992.   */
  993.  hasValue(item) {
  994.    //try {
  995.      return this.findByValue(item).length > 0;
  996.     //} catch (Error) {
  997.     //  console.log(item, this)
  998.     //  throw (Error)
  999.  
  1000.     //}
  1001.    
  1002.   }
  1003.  
  1004.   /**
  1005.    * Compares priorities of two items.
  1006.    * @param {*} a
  1007.    * @param {*} b
  1008.    * @return {number}
  1009.    */
  1010.   comparePriority(a, b) {
  1011.     /*
  1012.     if (this.priorities.get(a) === this.priorities.get(b)) {
  1013.       return 0;
  1014.     }
  1015.     return this.priorities.get(a) < this.priorities.get(b) ? -1 : 1;
  1016.    */
  1017.    if (this.priorities[a] == this.priorities[b]) {
  1018.      return 0;
  1019.    }
  1020.    return this.priorities[a] < this.priorities[b] ? -1 : 1;
  1021.  
  1022.  }
  1023.  
  1024.  /**
  1025.   * Compares values of two items.
  1026.   * @param {*} a
  1027.   * @param {*} b
  1028.   * @return {number}
  1029.   */
  1030.  compareValue(a, b) {
  1031.    if (a == b) {
  1032.      return 0;
  1033.    }
  1034.    return a < b ? -1 : 1;
  1035.  }
  1036. }
  1037.  
  1038.  
  1039.  
  1040. class PriorityQueue2 {
  1041.     constructor() {
  1042.         this.pos_ = new Int16Array(200).fill(-1);
  1043.         this.heap_ = [];
  1044.     }
  1045.  
  1046.     Add(val, prio) {
  1047.         this.heap_.push([prio, val])
  1048.         var i = this.heap_.length-1
  1049.         this.pos_[val] = i
  1050.         this.ShiftUp(i)
  1051.     }
  1052.     Pop() {
  1053.         this.Swap(0, this.heap_.length-1)
  1054.         //var val = this.heap_[this.heap_.length-1][1];
  1055.         //this.heap_.pop();
  1056.         var val = this.heap_.pop()[1]
  1057.         this.ShiftDown(0);
  1058.         return val;
  1059.     }
  1060.     Size() {
  1061.         return this.heap_.length;
  1062.     }
  1063.     DecreasePrio(val, new_prio) {
  1064.         //console.log(val, new_prio)
  1065.         //console.log(this.heap_, this.pos_[val])
  1066.         this.heap_[this.pos_[val]][0] = new_prio;
  1067.         this.ShiftUp(this.pos_[val]);
  1068.     }
  1069.     Swap(i,j) {
  1070.         var tmp = this.heap_[i];
  1071.         this.heap_[i] = this.heap_[j];
  1072.         this.heap_[j] = tmp;
  1073.         //console.log(i, j)
  1074.         this.pos_[this.heap_[i][1]] = i;
  1075.         this.pos_[this.heap_[j][1]] = j;
  1076.     }
  1077.  
  1078.  
  1079.     ShiftUp(i) {  
  1080.         while (i > 0) {
  1081.             var p = Math.floor((i - 1) / 2);
  1082.             if (this.heap_[p][0] > this.heap_[i][0]) {
  1083.                 this.Swap(p, i);
  1084.                 i = p;
  1085.             } else {
  1086.                 break;
  1087.             }
  1088.         }
  1089.     }
  1090.  
  1091.     ShiftDown(i) {
  1092.         while (true) {
  1093.             var less = i;
  1094.             var chld = 2*i+1;
  1095.             if (chld < this.heap_.length && this.heap_[chld][0] < this.heap_[less][0]) {
  1096.                 less = chld;
  1097.             }
  1098.             ++chld;
  1099.             if (chld < this.heap_.length && this.heap_[chld][0] < this.heap_[less][0]) {
  1100.                 less = chld;
  1101.             }
  1102.             if (less == i) break;
  1103.             this.Swap(less, i);
  1104.             i = less;
  1105.         }
  1106.     }
  1107. }
  1108.  
  1109.  
  1110.  
  1111.  
  1112. var findShortestPath = (graph, startNode, endNode) => {
  1113.   var distances = new Float32Array(200).fill(-1)
  1114.   //var distances = new Map();
  1115.   //var parents = new Map();
  1116.   var parents = new Int16Array(200).fill(-1)
  1117.   var queue = new PriorityQueue2();
  1118.  
  1119.   queue.Add(startNode, 0);
  1120.   //distances.set(startNode, 0);
  1121.   //distances.set(endNode, Infinity)
  1122.   distances[startNode] = 0;
  1123.   //distances[endNode] = 100000000
  1124.  
  1125.   //parents.set(endNode, null)
  1126.  
  1127.   /*  
  1128.   for (var child of graph[startNode].keys()) {
  1129.     distances.set(child, graph[startNode].get(child))
  1130.   }
  1131.   */
  1132.  
  1133.   // collect visited nodes
  1134.     //var visited = {};
  1135.     //visited[startNode] = true;
  1136.  
  1137.   // find the nearest node
  1138.     var node = queue.Pop();
  1139.  
  1140.     //console.log('first_node', node)
  1141.   // for that node:
  1142.   while (node != null) {
  1143.     //console.log('current_node', node)
  1144.     // find its distance from the start node & its child nodes
  1145.      //var distance = distances.get(node);
  1146.         var distance = distances[node]
  1147.         var children = graph[node];
  1148.  
  1149.       //console.log("node's distance:", distance)
  1150.       //console.log("node's children:", children)
  1151.     // for each of those child nodes:
  1152.         var i=0;
  1153.         while (i < children.length) {
  1154.           //for (var i=0; i < children.length; i++) {
  1155.             var ind = children[i][0];
  1156.               // save the distance from the start node to the child node
  1157.             var newdistance = distance + children[i][1]
  1158.           // if there's no recorded distance from the start node to the child node in the distances object
  1159.           // or if the recorded distance is shorter than the previously stored distance from the start node to the child node
  1160.           // console.log(distances.get(child[0]) )
  1161.             if (distances[ind] == -1) {
  1162.             // save the distance to the object
  1163.               //distances.set(child[0], newdistance);
  1164.                 distances[ind] = newdistance;
  1165.             // record the path
  1166.               //parents.set(child[0], node);
  1167.                 parents[ind] = node;
  1168.                 queue.Add(ind, newdistance);
  1169.               /*if (queue.hasValue(ind)) {
  1170.                   queue.changePriority(ind, newdistance);
  1171.                 } else {
  1172.                   queue.add(ind, newdistance);
  1173.                 }*/
  1174.             }  else if (distances[ind] > newdistance) {
  1175.                 parents[ind] = node;
  1176.                 distances[ind] = newdistance;
  1177.  
  1178.                 queue.DecreasePrio(ind, newdistance);
  1179.             }
  1180.             i++
  1181.         }
  1182.             // move the current node to the visited set
  1183.             //visited[node] = true;
  1184.         // move to the nearest neighbor node
  1185.         node = queue.Pop()
  1186.             //console.log(node)
  1187.     }
  1188.  
  1189.  
  1190.   // using the stored paths from start node to end node
  1191.   // record the shortest path
  1192.   //console.log("distances", distances)
  1193.   //console.log("parents:", parents)
  1194.   var shortestPath = [endNode];
  1195.   var parent = parents[endNode];
  1196.   while (parent != undefined) {
  1197.  
  1198.       shortestPath.push(parent);
  1199.       parent = parents[parent];
  1200.     //console.log(parent)
  1201.   }
  1202.   shortestPath.reverse();
  1203.  
  1204.   //this is the shortest path
  1205.   var results = {
  1206.       distance: distances[endNode],
  1207.       path: shortestPath,
  1208.       //all_distances: distances
  1209.   };
  1210.   // return the shortest path & the end node's distance from the start node
  1211.    return results;
  1212. };
  1213.  
  1214. var findShortestPath2 = function(graph, start, end) {
  1215.     var queue = new PriorityQueue2();
  1216.     var distances = new Float32Array(200).fill(-1.0)
  1217.     var prev = new Int16Array(200).fill(-1)
  1218.  
  1219.     distances[start] = 0;
  1220.     queue.Add(start, 0);
  1221.     while (queue.Size() > 0) {
  1222.         var next = queue.Pop();
  1223.         for (var i in graph[next]) {
  1224.             var edge = graph[next][i]
  1225.             var newDist = distances[next] + edge[1];
  1226.             if (distances[edge[0]] < 0) {
  1227.                 prev[edge[0]] = next;
  1228.                 distances[edge[0]] = newDist;
  1229.                 queue.Add(edge[0], newDist);
  1230.             } else if (distances[edge[0]] > newDist) {
  1231.                 prev[edge[0]] = next;
  1232.                 distances[edge[0]] = newDist;
  1233.                 queue.DecreasePrio(edge[0], newDist);
  1234.             }
  1235.         }
  1236.     }
  1237.     var res = [];
  1238.     var cur = end;
  1239.     while (cur != start) {
  1240.         res.push(cur);
  1241.         cur = prev[cur];
  1242.         //console.log(cur)
  1243.     }
  1244.     res.push(start);
  1245.    
  1246.     return res.reverse();
  1247. }
  1248.  
  1249. // конвертирем граф
  1250. var convert_graph3 = function(vertices, edges) {
  1251.   var right_graph = [];
  1252.   var vertices_num = new Map();
  1253.   var vertices_num_back = new Map();
  1254.   var vertices_coords = {};
  1255.   //var vertices_num_back = {};
  1256.   for (var i in vertices) {
  1257.     right_graph.push([]);
  1258.     vertices_num.set(vertices[i].name, right_graph.length-1);
  1259.     vertices_num_back.set(right_graph.length-1, vertices[i].name);
  1260.     vertices_coords[vertices[i].name] = vertices[i]
  1261.   }
  1262.   //console.log(right_graph, vertices_num)
  1263.   for (var i in edges) {
  1264.     var p1 = edges[i][0].name;
  1265.     var p2 = edges[i][1].name;
  1266.  
  1267.     var p1_num = vertices_num.get(p1);
  1268.     var p2_num = vertices_num.get(p2);
  1269.  
  1270.     var weight = edges[i][3];
  1271.     //console.log(p1_num, p2_num)
  1272.     right_graph[p1_num].push([p2_num, weight]);
  1273.     right_graph[p2_num].push([p1_num, weight]);
  1274.   }
  1275.   //game_active = false
  1276.   return [right_graph, vertices_num, vertices_num_back, vertices_coords]
  1277.  
  1278.  
  1279. }
  1280.  
  1281.  
  1282. var graph_and_verts = convert_graph3(vertices, edges);
  1283.  
  1284. var graph = graph_and_verts[0]
  1285. var verts = graph_and_verts[1]
  1286. var verts_back = graph_and_verts[2]
  1287. var verts_coords = graph_and_verts[3]
  1288. var all_edges = []
  1289.  
  1290. for (var i in edges) {
  1291.     var p1 = edges[i][0].name;
  1292.     var p2 = edges[i][1].name;
  1293.     all_edges.push([verts.get(p1), verts.get(p2), edges[i][3]])
  1294. }
  1295.  
  1296. //console.log(JSON.stringify(all_edges))
  1297.  
  1298.  
  1299. var s = verts.get('player')
  1300. var e = verts.get('2585')
  1301.  
  1302. console.log(s, e)
  1303.  
  1304. var times = [];
  1305.  
  1306. var get = function(s, e) {
  1307.   var path = findShortestPath2(graph, s, e);
  1308.   var sum = 0
  1309.   for (var i in path) {
  1310.     sum += path[i]
  1311.   }
  1312.   return sum
  1313.  
  1314. }
  1315.  
  1316.  
  1317.  
  1318. var res;
  1319.  
  1320.  
  1321.  
  1322. for (var i=0; i < 1000; i++) {
  1323.  var s_t = performance.now()
  1324.  res = findShortestPath2(graph, s, e)
  1325.  times.push(performance.now() - s_t);
  1326. }
  1327.  
  1328. function average(nums) {
  1329.    return nums.reduce((a, b) => (a + b)) / nums.length;
  1330. }
  1331.  
  1332. console.log(average(times))
  1333.  
  1334.  
  1335.  
  1336. //res = findShortestPath2(graph, s, e)
  1337. //console.log(res, findShortestPath2(graph, s, e))
  1338.  
  1339. //console.log(graph)
  1340.  
  1341.  
  1342. /*
  1343. setInterval(function() {
  1344.     var s_time = performance.now()
  1345.     for (var i=0; i
  1346. </body>
  1347. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement