six-degrees 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +14 -14
  4. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  10. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  13. package/.next/standalone/.next/server/app/_not-found.rsc +20 -19
  14. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +20 -19
  15. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +16 -15
  16. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  17. package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/social/crm/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/social/messages/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/update/route.js +1 -1
  45. package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/import/page.js +1 -1
  50. package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/import.html +1 -1
  53. package/.next/standalone/.next/server/app/import.rsc +24 -23
  54. package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +24 -23
  55. package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
  56. package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +18 -17
  57. package/.next/standalone/.next/server/app/index.html +1 -1
  58. package/.next/standalone/.next/server/app/index.rsc +22 -21
  59. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +18 -17
  60. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +22 -21
  61. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  62. package/.next/standalone/.next/server/app/launch/page.js +1 -1
  63. package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/launch.html +2 -2
  66. package/.next/standalone/.next/server/app/launch.rsc +24 -23
  67. package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +24 -23
  68. package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
  69. package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +18 -17
  70. package/.next/standalone/.next/server/app/page.js +1 -1
  71. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/paths/page.js +1 -1
  74. package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/paths.html +1 -1
  77. package/.next/standalone/.next/server/app/paths.rsc +24 -23
  78. package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +24 -23
  79. package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
  80. package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +18 -17
  81. package/.next/standalone/.next/server/app/profile/page.js +1 -1
  82. package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/profile.html +1 -1
  85. package/.next/standalone/.next/server/app/profile.rsc +24 -23
  86. package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +24 -23
  87. package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
  88. package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +18 -17
  89. package/.next/standalone/.next/server/app/queue/page.js +1 -1
  90. package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/queue.html +1 -1
  93. package/.next/standalone/.next/server/app/queue.rsc +24 -23
  94. package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +24 -23
  95. package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
  96. package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +18 -17
  97. package/.next/standalone/.next/server/app/scores/page.js +1 -1
  98. package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/scores.html +1 -1
  101. package/.next/standalone/.next/server/app/scores.rsc +24 -23
  102. package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +24 -23
  103. package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +2 -2
  104. package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +18 -17
  105. package/.next/standalone/.next/server/app/settings/page.js +1 -1
  106. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  107. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/settings.html +1 -1
  109. package/.next/standalone/.next/server/app/settings.rsc +24 -23
  110. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +24 -23
  111. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  112. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +18 -17
  113. package/.next/standalone/.next/server/app/setup/page.js +1 -1
  114. package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
  115. package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/setup.html +1 -1
  117. package/.next/standalone/.next/server/app/setup.rsc +24 -23
  118. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +24 -23
  119. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  120. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +18 -17
  121. package/.next/standalone/.next/server/app/social/page.js +1 -1
  122. package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/social.html +1 -1
  125. package/.next/standalone/.next/server/app/social.rsc +24 -23
  126. package/.next/standalone/.next/server/app/social.segments/_full.segment.rsc +24 -23
  127. package/.next/standalone/.next/server/app/social.segments/_tree.segment.rsc +2 -2
  128. package/.next/standalone/.next/server/app/social.segments/social/__PAGE__.segment.rsc +18 -17
  129. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-rnla2._.js +1 -1
  130. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00la_y0._.js +1 -1
  131. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05_3-22._.js +1 -1
  132. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07t47cm._.js +1 -1
  133. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cj5jqc._.js +1 -1
  134. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e0fei3._.js +1 -1
  135. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +1 -1
  136. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o5-tcg._.js +1 -1
  137. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qrnous._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0um1uey._.js +1 -1
  140. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wmexuc._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xu34sz._.js +1 -1
  142. package/.next/standalone/.next/server/chunks/[root-of-the-server]__133knx1._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13dx4sd._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__14ou7j5._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15-17hl._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15wc9e-._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16iu0hv._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__18bcnu4._.js +3 -0
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19b7mig._.js +1 -1
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bbcwub._.js +2 -2
  151. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1eris29._.js +1 -1
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gjo_cq._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +1 -1
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qcm08_._.js +1 -1
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rphsdk._.js +1 -1
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1tir0vc._.js +2 -2
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1w25q0m._.js +1 -1
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__20rwfdw._.js +2 -2
  159. package/.next/standalone/.next/server/chunks/_1_fynia._.js +7 -7
  160. package/.next/standalone/.next/server/chunks/_1itd1o_._.js +2 -2
  161. package/.next/standalone/.next/server/chunks/lib_0851sk0._.js +5 -5
  162. package/.next/standalone/.next/server/chunks/lib_1q7p2ro._.js +5 -5
  163. package/.next/standalone/.next/server/chunks/lib_1r6l86l._.js +5 -5
  164. package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +9 -9
  165. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08oxiqh._.js +3 -0
  166. package/.next/standalone/.next/server/chunks/ssr/_03l7vge._.js +1 -1
  167. package/.next/standalone/.next/server/chunks/ssr/_08g31gm._.js +3 -0
  168. package/.next/standalone/.next/server/chunks/ssr/_0gk_ofx._.js +3 -0
  169. package/.next/standalone/.next/server/chunks/ssr/_0nwsf93._.js +3 -0
  170. package/.next/standalone/.next/server/chunks/ssr/_0vho1lb._.js +3 -0
  171. package/.next/standalone/.next/server/chunks/ssr/{_0jdkqgi._.js → _1-658fq._.js} +2 -2
  172. package/.next/standalone/.next/server/chunks/ssr/_1bc46kz._.js +3 -0
  173. package/.next/standalone/.next/server/chunks/ssr/_1f_n00p._.js +3 -0
  174. package/.next/standalone/.next/server/chunks/ssr/_1fm1ih_._.js +9 -0
  175. package/.next/standalone/.next/server/chunks/ssr/_1k2nmbw._.js +9 -0
  176. package/.next/standalone/.next/server/chunks/ssr/_2105jz8._.js +3 -0
  177. package/.next/standalone/.next/server/chunks/ssr/app_141w189._.js +1 -1
  178. package/.next/standalone/.next/server/chunks/ssr/app_components_0t908t-._.js +3 -0
  179. package/.next/standalone/.next/server/chunks/ssr/app_components_0uuff77._.js +13 -0
  180. package/.next/standalone/.next/server/chunks/ssr/app_components_1j3q-h5._.js +13 -0
  181. package/.next/standalone/.next/server/chunks/ssr/{_0gtv9jb._.js → app_components_CompanyScores_1g0mytz.js} +2 -2
  182. package/.next/standalone/.next/server/chunks/ssr/app_components_settings_SectorPicker_1c-29qw.js +1 -1
  183. package/.next/standalone/.next/server/chunks/ssr/app_import_page_1fmu6_l.js +1 -1
  184. package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +14 -12
  185. package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +2 -2
  186. package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
  187. package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +6 -6
  188. package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +1 -1
  189. package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +4 -4
  190. package/.next/standalone/.next/server/chunks/ssr/app_social_page_0h7zxda.js +1 -1
  191. package/.next/standalone/.next/server/chunks/ssr/{lib_0i8v-s3._.js → lib_1c4ieuw._.js} +2 -2
  192. package/.next/standalone/.next/server/chunks/ssr/lib_galaxy-lab_108_lu-.js +1 -1
  193. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  194. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  195. package/.next/standalone/.next/server/pages/404.html +1 -1
  196. package/.next/standalone/.next/server/pages/500.html +1 -1
  197. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  199. package/.next/standalone/.next/static/chunks/02pq76u7y4v9-.js +22 -0
  200. package/.next/standalone/.next/static/chunks/0cmq0exd4d0h9.js +1 -0
  201. package/.next/{static/chunks/2wgz9ietkqqe6.js → standalone/.next/static/chunks/0i02yxppzds1o.js} +1 -1
  202. package/.next/standalone/.next/static/chunks/0m_p4k-q2qh--.js +1 -0
  203. package/.next/standalone/.next/static/chunks/0oyslj62jkubd.js +1 -0
  204. package/.next/standalone/.next/static/chunks/{1x_ysly42-teq.css → 0vo-l8hxneba6.css} +1 -1
  205. package/.next/{static/chunks/3sowbvbaj1s6n.js → standalone/.next/static/chunks/0ws7zy0w57ufi.js} +1 -1
  206. package/.next/standalone/.next/static/chunks/0yh8z2tbrc5i_.js +1 -0
  207. package/.next/standalone/.next/static/chunks/172e10mi-tpo_.js +34 -0
  208. package/.next/standalone/.next/static/chunks/1ei5vbe2uw6fl.js +1 -0
  209. package/.next/standalone/.next/static/chunks/1f7_pl_wq7lh3.js +11 -0
  210. package/.next/standalone/.next/static/chunks/1jzbe7zdx9vbj.js +2 -0
  211. package/.next/standalone/.next/static/chunks/1m3017gp790pw.js +45 -0
  212. package/.next/standalone/.next/static/chunks/1t20e8u0st7ep.js +1 -0
  213. package/.next/standalone/.next/static/chunks/2-ch9rm27eril.js +11 -0
  214. package/.next/standalone/.next/static/chunks/2ldv-v3s9yaif.js +1 -0
  215. package/.next/standalone/.next/static/chunks/3bp284gjf7dyq.js +1 -0
  216. package/.next/standalone/.next/static/chunks/3k1f6clbn3gj3.js +7 -0
  217. package/.next/standalone/.next/static/chunks/3l4t8je6iguzc.js +1 -0
  218. package/.next/standalone/.next/static/chunks/{0muwt9bykzr-1.js → 3tplzuc9jk-tl.js} +1 -1
  219. package/.next/standalone/.next/static/chunks/42m0bqr8pbovz.js +11 -0
  220. package/.next/standalone/CHANGELOG.md +61 -0
  221. package/.next/standalone/README.md +22 -8
  222. package/.next/standalone/app/api/scraper/route.js +40 -3
  223. package/.next/standalone/app/api/update/route.js +12 -6
  224. package/.next/standalone/app/components/AppHeader.js +257 -0
  225. package/.next/standalone/app/components/Avatar.js +2 -1
  226. package/.next/standalone/app/components/ChainView.js +12 -12
  227. package/.next/standalone/app/components/FilterPanel.js +20 -12
  228. package/.next/standalone/app/components/ForceGraph.js +163 -25
  229. package/.next/standalone/app/components/GalaxyLab.js +43 -12
  230. package/.next/standalone/app/components/GridView.js +4 -4
  231. package/.next/standalone/app/components/LinkedInLimits.js +2 -1
  232. package/.next/standalone/app/components/ListView.js +3 -3
  233. package/.next/standalone/app/components/NoteDetail.js +2 -1
  234. package/.next/standalone/app/components/OnboardingGate.js +2 -2
  235. package/.next/standalone/app/components/OutlinkQuest.js +2 -1
  236. package/.next/standalone/app/components/PathsAnalyzer.js +3 -2
  237. package/.next/standalone/app/components/PeopleMap.js +2 -1
  238. package/.next/standalone/app/components/RingsView.js +3 -3
  239. package/.next/standalone/app/components/ScanTrail.js +85 -0
  240. package/.next/standalone/app/components/SeparationView.js +100 -77
  241. package/.next/standalone/app/components/Sidebar.js +4 -4
  242. package/.next/standalone/app/components/TheirCircle.js +2 -1
  243. package/.next/standalone/app/components/ThemeLoader.js +9 -0
  244. package/.next/standalone/app/components/UpdatePanel.js +20 -2
  245. package/.next/standalone/app/components/settings/AppearanceSection.js +226 -0
  246. package/.next/standalone/app/components/settings/NetworkHealthSection.js +2 -1
  247. package/.next/standalone/app/components/ui.js +2 -1
  248. package/.next/standalone/app/globals.css +70 -2
  249. package/.next/standalone/app/import/page.js +3 -3
  250. package/.next/standalone/app/layout.js +11 -2
  251. package/.next/standalone/app/page.js +69 -215
  252. package/.next/standalone/app/paths/page.js +8 -21
  253. package/.next/standalone/app/profile/page.js +11 -10
  254. package/.next/standalone/app/queue/page.js +8 -21
  255. package/.next/standalone/app/scores/page.js +1 -1
  256. package/.next/standalone/app/settings/page.js +7 -3
  257. package/.next/standalone/app/setup/page.js +83 -88
  258. package/.next/standalone/app/social/Crm.js +2 -1
  259. package/.next/standalone/app/social/SocialHub.js +2 -2
  260. package/.next/standalone/app/social/page.js +1 -1
  261. package/.next/standalone/lib/data-import.js +1 -0
  262. package/.next/standalone/lib/galaxy-export.js +2 -1
  263. package/.next/standalone/lib/galaxy-lab.js +24 -8
  264. package/.next/standalone/lib/level.js +51 -0
  265. package/.next/standalone/lib/release.js +13 -7
  266. package/.next/standalone/lib/scanner-python.js +38 -8
  267. package/.next/standalone/lib/scraper-client.js +2 -1
  268. package/.next/standalone/lib/separation.js +4 -2
  269. package/.next/standalone/lib/theme-store.js +61 -0
  270. package/.next/standalone/lib/themes.js +186 -0
  271. package/.next/standalone/lib/tiers.js +2 -8
  272. package/.next/standalone/package-lock.json +2 -2
  273. package/.next/standalone/package.json +4 -4
  274. package/.next/standalone/scripts/build-desktop.mjs +325 -0
  275. package/.next/standalone/scripts/build-site.mjs +85 -15
  276. package/.next/standalone/scripts/gen-test-network.mjs +93 -0
  277. package/.next/standalone/scripts/next.mjs +20 -0
  278. package/.next/standalone/scripts/readme_buttons.py +3 -0
  279. package/.next/standalone/scripts/requirements.txt +18 -1
  280. package/.next/standalone/scripts/site-news.mjs +54 -9
  281. package/.next/standalone/scripts/smoke-desktop.mjs +177 -0
  282. package/.next/standalone/scripts/windows/six-degrees.iss +100 -0
  283. package/.next/static/chunks/02pq76u7y4v9-.js +22 -0
  284. package/.next/static/chunks/0cmq0exd4d0h9.js +1 -0
  285. package/.next/{standalone/.next/static/chunks/2wgz9ietkqqe6.js → static/chunks/0i02yxppzds1o.js} +1 -1
  286. package/.next/static/chunks/0m_p4k-q2qh--.js +1 -0
  287. package/.next/static/chunks/0oyslj62jkubd.js +1 -0
  288. package/.next/static/chunks/{1x_ysly42-teq.css → 0vo-l8hxneba6.css} +1 -1
  289. package/.next/{standalone/.next/static/chunks/3sowbvbaj1s6n.js → static/chunks/0ws7zy0w57ufi.js} +1 -1
  290. package/.next/static/chunks/0yh8z2tbrc5i_.js +1 -0
  291. package/.next/static/chunks/172e10mi-tpo_.js +34 -0
  292. package/.next/static/chunks/1ei5vbe2uw6fl.js +1 -0
  293. package/.next/static/chunks/1f7_pl_wq7lh3.js +11 -0
  294. package/.next/static/chunks/1jzbe7zdx9vbj.js +2 -0
  295. package/.next/static/chunks/1m3017gp790pw.js +45 -0
  296. package/.next/static/chunks/1t20e8u0st7ep.js +1 -0
  297. package/.next/static/chunks/2-ch9rm27eril.js +11 -0
  298. package/.next/static/chunks/2ldv-v3s9yaif.js +1 -0
  299. package/.next/static/chunks/3bp284gjf7dyq.js +1 -0
  300. package/.next/static/chunks/3k1f6clbn3gj3.js +7 -0
  301. package/.next/static/chunks/3l4t8je6iguzc.js +1 -0
  302. package/.next/static/chunks/{0muwt9bykzr-1.js → 3tplzuc9jk-tl.js} +1 -1
  303. package/.next/static/chunks/42m0bqr8pbovz.js +11 -0
  304. package/CHANGELOG.md +61 -0
  305. package/README.md +22 -8
  306. package/lib/data-import.js +1 -0
  307. package/lib/galaxy-export.js +2 -1
  308. package/lib/galaxy-lab.js +24 -8
  309. package/lib/level.js +51 -0
  310. package/lib/release.js +13 -7
  311. package/lib/scanner-python.js +38 -8
  312. package/lib/scraper-client.js +2 -1
  313. package/lib/separation.js +4 -2
  314. package/lib/theme-store.js +61 -0
  315. package/lib/themes.js +186 -0
  316. package/lib/tiers.js +2 -8
  317. package/package.json +4 -4
  318. package/scripts/requirements.txt +18 -1
  319. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljcioj._.js +0 -3
  320. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__16hs8kw._.js +0 -3
  321. package/.next/standalone/.next/server/chunks/ssr/_01kacen._.js +0 -3
  322. package/.next/standalone/.next/server/chunks/ssr/_0xi-fbs._.js +0 -3
  323. package/.next/standalone/.next/server/chunks/ssr/_0xmwmfv._.js +0 -3
  324. package/.next/standalone/.next/server/chunks/ssr/_1-b9hj7._.js +0 -9
  325. package/.next/standalone/.next/server/chunks/ssr/_112ewem._.js +0 -3
  326. package/.next/standalone/.next/server/chunks/ssr/_16ab63q._.js +0 -3
  327. package/.next/standalone/.next/server/chunks/ssr/_1fxm0-s._.js +0 -3
  328. package/.next/standalone/.next/server/chunks/ssr/_1ra1d3r._.js +0 -9
  329. package/.next/standalone/.next/server/chunks/ssr/app_components_ui_0pdmz2z.js +0 -3
  330. package/.next/standalone/.next/server/chunks/ssr/lib_13rapwj._.js +0 -3
  331. package/.next/standalone/.next/static/chunks/03bziijw5srol.js +0 -1
  332. package/.next/standalone/.next/static/chunks/0bgq8wmopl_ig.js +0 -7
  333. package/.next/standalone/.next/static/chunks/0ezus6p2eb-vg.js +0 -1
  334. package/.next/standalone/.next/static/chunks/0g_fy2034bp0x.js +0 -34
  335. package/.next/standalone/.next/static/chunks/0q5dru4q6gxl5.js +0 -22
  336. package/.next/standalone/.next/static/chunks/0w-byiwb2zax8.js +0 -2
  337. package/.next/standalone/.next/static/chunks/1g7jcovdejc9-.js +0 -1
  338. package/.next/standalone/.next/static/chunks/1i51yylxdzht1.js +0 -1
  339. package/.next/standalone/.next/static/chunks/1zf8swaasjf1e.js +0 -43
  340. package/.next/standalone/.next/static/chunks/2dwtoszeq91us.js +0 -1
  341. package/.next/standalone/.next/static/chunks/2rqtpccruavf2.js +0 -1
  342. package/.next/standalone/.next/static/chunks/30x3oq_st7a5r.js +0 -1
  343. package/.next/standalone/.next/static/chunks/355ryio1b7sm1.js +0 -1
  344. package/.next/standalone/.next/static/chunks/3ap5hgma7n0o7.js +0 -1
  345. package/.next/standalone/.next/static/chunks/3fci6qi39-1n5.js +0 -1
  346. package/.next/static/chunks/03bziijw5srol.js +0 -1
  347. package/.next/static/chunks/0bgq8wmopl_ig.js +0 -7
  348. package/.next/static/chunks/0ezus6p2eb-vg.js +0 -1
  349. package/.next/static/chunks/0g_fy2034bp0x.js +0 -34
  350. package/.next/static/chunks/0q5dru4q6gxl5.js +0 -22
  351. package/.next/static/chunks/0w-byiwb2zax8.js +0 -2
  352. package/.next/static/chunks/1g7jcovdejc9-.js +0 -1
  353. package/.next/static/chunks/1i51yylxdzht1.js +0 -1
  354. package/.next/static/chunks/1zf8swaasjf1e.js +0 -43
  355. package/.next/static/chunks/2dwtoszeq91us.js +0 -1
  356. package/.next/static/chunks/2rqtpccruavf2.js +0 -1
  357. package/.next/static/chunks/30x3oq_st7a5r.js +0 -1
  358. package/.next/static/chunks/355ryio1b7sm1.js +0 -1
  359. package/.next/static/chunks/3ap5hgma7n0o7.js +0 -1
  360. package/.next/static/chunks/3fci6qi39-1n5.js +0 -1
  361. /package/.next/standalone/.next/static/{I-cj79yE2IZ8taX2dZGp3 → dQUvvVSXqbkEFC3-CNcwT}/_buildManifest.js +0 -0
  362. /package/.next/standalone/.next/static/{I-cj79yE2IZ8taX2dZGp3 → dQUvvVSXqbkEFC3-CNcwT}/_clientMiddlewareManifest.js +0 -0
  363. /package/.next/standalone/.next/static/{I-cj79yE2IZ8taX2dZGp3 → dQUvvVSXqbkEFC3-CNcwT}/_ssgManifest.js +0 -0
  364. /package/.next/static/{I-cj79yE2IZ8taX2dZGp3 → dQUvvVSXqbkEFC3-CNcwT}/_buildManifest.js +0 -0
  365. /package/.next/static/{I-cj79yE2IZ8taX2dZGp3 → dQUvvVSXqbkEFC3-CNcwT}/_clientMiddlewareManifest.js +0 -0
  366. /package/.next/static/{I-cj79yE2IZ8taX2dZGp3 → dQUvvVSXqbkEFC3-CNcwT}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[45889,a=>{"use strict";var b=a.i(90231);function c(a=[],d=[]){let e=new Set((d||[]).map(b.keyFor)),f=new Map;for(let c of a||[]){let a=c?.source_connection_id;if(null==a)continue;let d=(0,b.keyFor)(c);if(e.has(d))continue;let g=f.get(d);g||f.set(d,g=new Set),g.add(a)}let g=new Map;for(let a of f.values())for(let b of a){let c=g.get(b)||{reach:0,only:0,total:0};c.reach+=1/a.size,c.total+=1,1===a.size&&(c.only+=1),g.set(b,c)}return g}a.s(["bridgeOverlap",0,function(a=[],d=[]){let e=c(a,d),f=new Set((d||[]).map(b.keyFor)),g=new Map;for(let c of a||[]){let a=c?.source_connection_id;if(null==a)continue;let d=(0,b.keyFor)(c);if(f.has(d))continue;let e=g.get(d);e||g.set(d,e=new Set),e.add(a)}let h=new Map;for(let a of g.values()){if(a.size<2)continue;let b=[...a];for(let a=0;a<b.length;a++)for(let c=a+1;c<b.length;c++){let d=b[a]<b[c]?`${b[a]}|${b[c]}`:`${b[c]}|${b[a]}`;h.set(d,(h.get(d)||0)+1)}}let i=new Map;for(let[a,b]of h){let[c,d]=a.split("|"),f=e.get(c).total+e.get(d).total-b,g=f?b/f:0;for(let[a,e]of[[c,d],[d,c]]){let c=i.get(a);(!c||g>c.share)&&i.set(a,{with:e,share:g,shared:b})}}return i},"exclusiveReach",0,c,"redundancy",0,function(a=[],b=[]){let d=c(a,b),e=0,f=0;for(let a of d.values())e+=a.reach,f+=a.only;return e?1-f/e:0}])},9282,a=>{"use strict";var b=a.i(30889);function c(a){let c=(0,b.readTitle)(a);return{key:c.key,label:c.label,level:c.level}}function d(a){return(0,b.currentCompany)(a)}let e=[{key:"defense",label:"Government, Defense & Aerospace",color:"#7f8c8d",words:/\b(government|federal|state of|county|city of|defen[cs]e|army|navy|air force|marine corps|military|dod|nasa|aerospace|lockheed|northrop|boeing|raytheon|l3harris|leidos|blue origin|spacex|public sector)\b/i},{key:"finance",label:"Finance & Investing",color:"#2ecc71",words:/\b(bank|banking|capital|ventures?|vc|investments?|investor|fund|private equity|growth equity|asset management|wealth|trading|trader|hedge|crypto|blockchain|web3|defi|fintech|stripe|coinbase|blackrock|robinhood|goldman|morgan stanley|jpmorgan|chase|bny|mellon|wells fargo|citi|citigroup|capital one|fidelity|vanguard|schwab|visa|mastercard|amex|american express|paypal|insurance|accounting|cpa|financial)\b/i},{key:"health",label:"Healthcare & Biotech",color:"#e74c3c",words:/\b(health|healthcare|medical|medicine|hospital|clinic|pharma|pharmaceutical|biotech|nurse|nursing|physician|doctor|dental|therapy|therapist|wellness)\b/i},{key:"education",label:"Education",color:"#f1c40f",words:/\b(university|college|school|education|student|professor|teacher|academy|phd|faculty|alumni)\b/i},{key:"media",label:"Marketing & Media",color:"#e67e22",words:/\b(marketing|brand|branding|advertising|agency|media|content|social media|creative|creator|influencer|pr|public relations|communications|tiktok|pinterest|youtube|growth marketing)\b/i},{key:"entertainment",label:"Entertainment & Gaming",color:"#9b59b6",words:/\b(entertainment|film|movie|music|records|gaming|games?|esports|studio|studios|netflix|disney|spotify|hollywood|theater|theatre|sports)\b/i},{key:"tech",label:"Tech, Software & AI",color:"#3498db",words:/\b(software|saas|engineer|engineering|developer|tech|technology|technologies|ai|artificial intelligence|machine learning|ml|data|cloud|cyber|security|devops|product manager|google|microsoft|apple|meta|amazon|nvidia|openai|anthropic|palantir|salesforce|oracle|ibm|intel|app|apps|startup|platform|labs?)\b/i},{key:"consulting",label:"Consulting, Legal & Services",color:"#1abc9c",words:/\b(consulting|consultant|consultancy|deloitte|accenture|mckinsey|kpmg|pwc|ey|bain|bcg|legal|law|lawyer|attorney|paralegal|recruiting|recruiter|staffing|talent)\b/i},{key:"realestate",label:"Real Estate & Construction",color:"#d35400",words:/\b(real estate|realtor|realty|property|properties|construction|architecture|architect|mortgage|homes|housing|builders?)\b/i},{key:"consumer",label:"Retail, Consumer & Hospitality",color:"#ff79c6",words:/\b(retail|e-?commerce|shopify|consumer|cpg|fashion|apparel|beauty|cosmetics|food|beverage|restaurant|hospitality|hotel|travel|tourism|coca-cola|nike|store|shop)\b/i},{key:"industry",label:"Manufacturing, Energy & Logistics",color:"#95a5a6",words:/\b(manufacturing|energy|oil|gas|solar|utilities|automotive|tesla|siemens|ge|general electric|honeywell|3m|logistics|supply chain|shipping|freight|fedex|ups|industrial|mining|chemicals?)\b/i},{key:"nonprofit",label:"Nonprofit & Community",color:"#bdc3c7",words:/\b(nonprofit|non-profit|foundation|charity|ngo|church|ministry|volunteer)\b/i}],f={key:"unknown",label:"Unclear",color:"#555c66"},g=Object.fromEntries([...e,f].map(a=>[a.key,a])),h=a=>g[a]||f;function i(a,b){for(let c of[a,b]){if(!c)continue;let a=e.find(a=>a.words.test(c));if(a)return a}return f}let j=(a,b)=>i(a,b).key,k=a=>c(a).level>=4;a.s(["INDUSTRIES",0,e,"UNKNOWN_INDUSTRY",0,f,"buildCompanyIndex",0,function(a=[]){let c=new Map,d=a=>(c.has(a)||c.set(a,(0,b.rolesWithCompanies)(a)),c.get(a)),{industries:e}=(0,b.networkCompanies)(a,{industryOf:j,rolesOf:d}),f=new Map;for(let b of a){let a=b.profile_url||`id:${b.id}`,c=f.get(a);(!c||(b.degree||9)<(c.degree||9))&&f.set(a,b)}let g=new Map;for(let a of f.values()){let b=d(a).find(a=>!a.former)?.company;if(!b)continue;let c=g.get(b);c||(c={name:b,people:[],d1:0,d2:0,d3:0,S:0,A:0,senior:0},g.set(b,c)),c.people.push(a),1===a.degree?c.d1++:2===a.degree?c.d2++:c.d3++,"S"===a.tier&&c.S++,"A"===a.tier&&c.A++,k(a.headline)&&c.senior++}for(let a of g.values())a.industry=h(e.get(a.name));return g},"companyLinks",0,function(a=[],b=[]){let c=new Map;for(let b of a){let a=d(b);a&&c.set(b.id,a)}let e=new Map;for(let a of b){let b=c.get(a.source_connection_id),f=d(a);if(!b||!f||b===f)continue;let[g,h]=b<f?[b,f]:[f,b],i=`${g}\u0000${h}`,j=e.get(i);j||(j={a:g,b:h,weight:0,via:new Set},e.set(i,j)),j.weight++,j.via.add(a.source_connection_id)}return[...e.values()]},"companyOf",0,d,"getSeniority",0,c,"industryByKey",0,h,"industryOf",0,i,"isSenior",0,k,"waysInto",0,function(a,b=[],c=[]){let e=b.filter(b=>d(b)===a),f=new Map;for(let b of c)d(b)===a&&f.set(b.source_connection_id,(f.get(b.source_connection_id)||0)+1);let g=new Map(b.map(a=>[a.id,a]));return{direct:e,bridges:[...f.entries()].map(([a,b])=>({bridge:g.get(a),n:b})).filter(a=>a.bridge).sort((a,b)=>b.n-a.n||(Number(b.bridge.power_score)||0)-(Number(a.bridge.power_score)||0))}}])},23310,a=>{"use strict";async function b(a){let b=a?`/api/network?userId=${encodeURIComponent(a)}`:"/api/network",c=await fetch(b);if(!c.ok)throw Error(`Failed to load network (${c.status})`);let d=await c.json();return{degree1:d.degree1||[],degree2:d.degree2||[],degree3:d.degree3||[],ties:Number(d.ties)||0}}a.s(["loadNetwork",0,b])},90231,56377,a=>{"use strict";let b=/^[A-Za-z0-9_-]+\.(webp|jpg|jpeg|png)$/,c="/avatars/";function d(a){return"string"==typeof a&&a.startsWith(c)&&b.test(a.slice(c.length))?a:null}a.s(["localPhoto",0,d],56377);let e={S:0,A:1,B:2,C:3,D:4};function f(a){let b=parseFloat(a?.power_score);return Number.isFinite(b)?b:0}function g(a){return Math.round(10*f(a))/10}function h(a){return String(a?.profile_url||"").split(/[?#]/)[0].replace(/\/+$/,"")||`id:${a?.id}`}let i=(a,b)=>String(a??"").localeCompare(String(b??""),void 0,{numeric:!0});function j(a,b){return(e[a.tier]??9)-(e[b.tier]??9)||f(b)-f(a)||String(a.name||"").localeCompare(String(b.name||""))||i(a.id,b.id)}function k(a,b){return a.bridge&&b.bridge?j(a.bridge,b.bridge):a.bridge?-1:b.bridge?1:i(a.id,b.id)}function l(a,b){return b.score-a.score||b.waysIn-a.waysIn||k(a.routes[0]||m,b.routes[0]||m)||String(a.person.name||"").localeCompare(String(b.person.name||""))||(a.key<b.key?-1:+(a.key>b.key))}let m={id:null,bridge:null};function n(a){let b=String(a||"").trim().split(/\s+/).filter(Boolean);return b.length<2?b[0]||"":`${b[0]} ${b[b.length-1].charAt(0)}.`}function o(a,b){let c=String(a||"");return b<=1?c?"…":"":c.length>b?`${c.slice(0,b-1)}…`:c}a.s(["TIERS",0,["S","A","B","C","D"],"compareBridges",0,j,"comparePower",0,l,"convergeLayout",0,function(a,b=800,c=!1,{cards:d=!1,mutuals:e=0}={}){let f=d?46:c?40:34,g=Math.round(b*(c?.44:.36)),h=Math.round(b*(c?.8:d?.6:.62)),i=[],j=null;for(let b of a?.routes||[])b.bridge?i.push({id:b.id,bridge:b.bridge,unresolved:!1,count:1}):j?j.count++:i.push(j={id:null,bridge:null,unresolved:!0,count:1});let k=Math.max(0,Math.floor(Number(e)||0)-(a?.waysIn||0)),l=Math.min(60,k),m=d?12:11,p=d?220:c?96:120,q=Math.max(1,Math.floor(p/m)+1),r=Math.ceil(l/q),s=l?40+r*m:0,t=Math.max(0,i.length-1)*f+s,u=Math.max(c?190:d?250:220,32+t+48),v=u/2,w=v-t/2,x=Math.max(4,Math.floor((g-10-42)/6)),y=i.map((a,b)=>{let c=a.unresolved?`can't be named (${a.count})`:a.bridge.name||"";return{...a,x:g,y:w+b*f,r:6,primary:0===b&&!a.unresolved,label:c.length<=x?c:o(a.unresolved?c:n(c),x)}}),z={x:h,y:v,r:17*!d,rings:d?[]:[32,50,70].filter(a=>a<=v-4)},A=y.map(b=>({key:a?.key,bridgeId:b.id,primary:b.primary,unresolved:b.unresolved,tier:b.bridge?.tier??null,x1:b.x,y1:b.y,x2:z.x,y2:z.y})),B={x:20,y:v,r:14},C=y.map(a=>({id:a.id,x1:B.x,y1:B.y,x2:a.x,y2:a.y})),D=a?[{key:a.key,p:a,x:z.x,y:z.y,r:z.r,rings:z.rings,big:!0,label:""}]:[],E=w+Math.max(0,i.length-1)*f+40,F=d?g-236+8:g-p,G=Array.from({length:l},(a,b)=>({x:F+b%q*m,y:E+Math.floor(b/q)*m})),H=a?.waysIn?a.waysIn/(a.waysIn+k):1;return{width:b,height:u,you:B,target:z,people:D,bridges:y,links:A,spokes:C,ghosts:G,unscanned:k,ghostLabel:l?{x:F,y:E-13}:null,drawn:H}},"keyFor",0,h,"mapCount",0,function(a,b=10){let c=Math.max(0,Math.min(100,Number(a)||0));return c<=50?b:Math.max(1,Math.round(b*(100-c)/50))},"mostMutuals",0,function(a=[],b=()=>0,c=7){return[...a].sort((a,c)=>Math.max(b(c)||0,c.waysIn)-Math.max(b(a)||0,a.waysIn)||c.waysIn-a.waysIn||l(a,c)).slice(0,c)},"routeIndex",0,function(a=[]){let b=new Map;for(let c of a||[]){let a=h(c),d=b.get(a);d||(d=new Set,b.set(a,d)),d.add(c.source_connection_id??null)}return b},"routesFor",0,function(a,b,c){return a?[...b?.get(h(a))??(null!=a.source_connection_id?new Set([a.source_connection_id]):new Set)].map(a=>({id:a,bridge:c?.get(a)??null})).sort(k):[]},"score",0,f,"score1",0,g,"separationPeople",0,function(a=[],b=[]){let c=new Map;for(let a of b||[])c.set(a.id,a);let e=new Map,f=new Map;for(let b of a||[]){let a=h(b);f.set(b.id,a);let c=e.get(a);c?function(a,b){let c=g(a)-g(b);if(c)return c>0;let e=!!d(a.profile_image_url);return!!d(b.profile_image_url)!==e?e:0>i(a.id,b.id)}(b,c.person)&&(c.person=b):(c={key:a,person:b,rowIds:[],routeIds:new Set},e.set(a,c)),c.rowIds.push(b.id),c.routeIds.add(b.source_connection_id??null)}let j={people:e.size,byTier:{S:0,A:0,B:0,C:0,D:0},multi:0,bridges:0,unresolvedIds:0,peopleOnlyUnresolved:0,onlyUnresolvedVia:0},m=new Set,n=new Set,o=new Set,p=[];for(let a of e.values()){let b=[...a.routeIds].map(a=>({id:a,bridge:c.get(a)??null}));b.sort(k);let d=b.filter(a=>a.bridge);for(let a of b)(a.bridge?m:n).add(a.id);if(!d.length)for(let a of(j.peopleOnlyUnresolved++,b))o.add(a.id);let{person:e}=a,f=e.tier;void 0!==j.byTier[f]&&j.byTier[f]++,b.length>1&&j.multi++,p.push({key:a.key,person:e,score:g(e),tier:f,routes:b,waysIn:b.length,rowIds:a.rowIds,haystack:[e.name,e.headline,e.company,e.role,...d.map(a=>a.bridge.name)].filter(Boolean).join("\n").toLowerCase(),rank:0,tied:!1})}return j.bridges=m.size,j.unresolvedIds=n.size,j.onlyUnresolvedVia=o.size,p.sort(l),function(a){for(let b=0;b<a.length;b++){let c=a[b],d=a[b-1],e=d&&d.score===c.score&&d.waysIn===c.waysIn;c.rank=e?d.rank:b+1,e&&(c.tied=!0,d.tied=!0)}}(p),{people:p,rowToKey:f,summary:j}},"shortName",0,n,"summitLayout",0,function(a=[],b=800,c=!1,{cards:d=!1}={}){let e=d?50:c?36:26,f=Math.round(.42*b),g=Math.round(.58*b),h=a.map((a,c)=>{var f;return{key:a.key,p:a,x:g,y:16+c*e,r:d?0:(f=a.waysIn)>=4?8.5:3===f?7:2===f?5.5:4,label:o(`#${a.rank}${a.tied?"=":""} ${a.person.name||""}`,Math.floor((b-g-60)/6.2))}}),i=new Map,k="\0unresolved";for(let a of h)for(let b of a.p.routes){let c=b.bridge?b.id:k,d=i.get(c);d||(d={id:b.bridge?b.id:null,bridge:b.bridge,unresolved:!b.bridge,ys:[],count:0},i.set(c,d)),d.count++,d.ys.push(a.y)}let l=[...i.values()].map(a=>({...a,bary:a.ys.reduce((a,b)=>a+b,0)/a.ys.length}));l.sort((a,b)=>a.bary-b.bary||a.unresolved-b.unresolved||(a.bridge&&b.bridge?j(a.bridge,b.bridge):0));let m=h.length?h[h.length-1].y:16,p=function(a=[],b=18,c=0){let d=[];a.forEach((a,c)=>{for(d.push({sum:a-c*b,count:1});d.length>1&&d[d.length-2].sum/d[d.length-2].count>d[d.length-1].sum/d[d.length-1].count;){let a=d.pop();d[d.length-1].sum+=a.sum,d[d.length-1].count+=a.count}});let e=d.flatMap(a=>Array(a.count).fill(a.sum/a.count)).map((a,c)=>a+c*b),f=e.length&&e[0]<c?c-e[0]:0;return e.map(a=>a+f)}(l.map(a=>a.bary),d?36:18,16),q=Math.max(4,Math.floor((f-10-42)/6));l.forEach((a,b)=>{if(a.x=f,a.y=p[b],a.r=5,a.unresolved)a.label=o(`can't be named (${a.count})`,q);else{let b=a.bridge.name||"";a.label=b.length<=q?b:o(n(b),q)}delete a.ys});let r=new Map(l.map(a=>[a.unresolved?k:a.id,a]));for(let a of l)a.onlyFor=0,a.bestFor=0;for(let a of h){let b=a.p.routes[0],c=b?r.get(b.bridge?b.id:k):null;c&&c.bestFor++,1===a.p.waysIn&&c&&c.onlyFor++}let s=[];for(let a of h){let b=new Set;a.p.routes.forEach((c,d)=>{let e=c.bridge?c.id:k;if(b.has(e))return;b.add(e);let f=r.get(e);s.push({key:a.key,bridgeId:f.id,primary:0===d&&!f.unresolved,unresolved:f.unresolved,tier:f.bridge?.tier??null,x1:f.x,y1:f.y,x2:a.x,y2:a.y})})}let t=Math.max(m,l.length?l[l.length-1].y:0),u=h.length?Math.ceil(t+16):0,v={x:20,y:h.length?(16+Math.max(m,t))/2:16,r:14},w=l.map(a=>({id:a.id,x1:v.x,y1:v.y,x2:a.x,y2:a.y}));return{width:b,height:u,you:v,people:h,bridges:l,links:s,spokes:w}}],90231)}];
2
-
3
- //# sourceMappingURL=lib_13rapwj._.js.map
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,26005,e=>{"use strict";var t=e.i(43476),n=e.i(22016),r=e.i(64745);let o=[{key:"network",label:"Network Circle",short:"Circle",on:{background:"#fff",color:"#000"},off:{background:"transparent",color:"#888"}},{key:"degrees",label:"Degrees",on:{background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000"},off:{background:"rgba(255,255,255,0.12)",color:"#fff"}},{key:"separation",label:"Separation",on:{background:"linear-gradient(135deg, #00E5FF, #FFD700 55%, #FF7043)",color:"#000"},off:{background:"rgba(255,255,255,0.12)",color:"#fff"}}],l=[{key:"paths",href:"/paths",label:"Paths",color:"#00ff88",on:"linear-gradient(135deg, #00ff88, #3498DB)",demo:!0},{key:"outlink",href:"/queue",label:"Outlink",color:"#FF6B35",on:"linear-gradient(135deg, #FF6B35, #FFD700)",own:!0},{key:"scan",href:"/setup",label:"Scan",color:"#666",on:"linear-gradient(135deg, #00ff88, #1abc9c)",own:!0}];e.s(["default",0,function({active:e,isMobile:i=!1,csvMode:a=!1,onMode:s,children:u,after:d}){let f={padding:i?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:i?11:13,fontWeight:600,textDecoration:"none"};return(0,t.jsxs)("div",{id:"main-tabs",style:{display:"flex",gap:i?2:4,background:"rgba(255,255,255,0.08)",borderRadius:8,padding:i?2:3,flexWrap:i?"wrap":"nowrap"},children:[o.map(r=>{let o={...f,cursor:"pointer",...e===r.key?r.on:r.off},l=i&&r.short?r.short:r.label;return s?(0,t.jsx)("button",{type:"button",onClick:()=>s(r.key),style:o,children:l},r.key):(0,t.jsx)(n.default,{href:`/?mode=${r.key}`,style:{...o,display:"flex",alignItems:"center"},children:l},r.key)}),u,l.filter(e=>!r.IS_DEMO&&(!e.own||!a)).map(r=>{let o=e===r.key;return(0,t.jsxs)(n.default,{href:r.href,title:r.title,"aria-current":o?"page":void 0,style:{...f,display:"flex",alignItems:"center",gap:4,background:o?r.on:"rgba(255,255,255,0.06)",color:o?"#000":r.color},children:[r.label,r.badge&&(0,t.jsx)("span",{style:{fontSize:9,opacity:.7,marginLeft:2},children:r.badge})]},r.key)}),d]})}])},2776,e=>{"use strict";var t=e.i(43476),n=e.i(15812);e.s(["default",0,function({children:e}){let{userId:r,ready:o}=(0,n.useUser)();return o&&r?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:o?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Can’t reach Six Degrees’ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loading…"})})}])},8819,e=>{"use strict";var t=e.i(43476);let n="1px solid rgba(255,255,255,0.1)";function r({children:e,style:n}){return(0,t.jsx)("div",{style:{fontSize:13.5,color:"#8b9a9a",lineHeight:1.6,marginTop:4,...n},children:e})}e.s(["Body",0,r,"Btn",0,function({children:e,onClick:r,disabled:o,primary:l,tone:i,type:a="button"}){return(0,t.jsx)("button",{type:a,onClick:r,disabled:o,style:{padding:"9px 18px",borderRadius:7,fontSize:13.5,fontWeight:650,color:o?"#667":"#fff",border:n,background:o?"rgba(255,255,255,0.05)":"bad"===i?"rgba(255,80,80,0.15)":l?"linear-gradient(135deg, #9B59B6, #3498DB)":"rgba(255,255,255,0.08)",cursor:o?"not-allowed":"pointer"},children:e})},"FONT",0,'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',"LINE",0,n,"Mono",0,function({children:e}){return(0,t.jsx)("code",{style:{background:"rgba(255,255,255,0.08)",padding:"1px 5px",borderRadius:4,wordBreak:"break-all"},children:e})},"Section",0,function({id:e,title:o,intro:l,children:i}){return(0,t.jsxs)("section",{id:e,style:{padding:"24px 0",borderBottom:n,scrollMarginTop:16},children:[(0,t.jsx)("h2",{style:{fontSize:16,fontWeight:650,margin:"0 0 6px"},children:o}),l&&(0,t.jsx)(r,{style:{marginTop:0,marginBottom:12},children:l}),i]})},"Status",0,function({children:e,tone:n}){return(0,t.jsxs)("div",{role:"status",style:{marginTop:10,padding:"10px 14px",borderRadius:8,fontSize:13.5,lineHeight:1.6,color:"ok"===n?"#00ff88":"bad"===n?"#ff7676":"#e8e8ee",background:"ok"===n?"rgba(0,255,136,0.08)":"bad"===n?"rgba(255,80,80,0.08)":"rgba(255,255,255,0.05)",border:`1px solid ${"ok"===n?"rgba(0,255,136,0.3)":"bad"===n?"rgba(255,80,80,0.3)":"rgba(255,255,255,0.12)"}`},children:["ok"===n&&"✓ ",e]})}])},28867,86106,e=>{"use strict";var t=e.i(71645),n=e.i(7214);let r=Object.freeze({known:!1,sent:new Set,mine:new Map,version:0}),o=new Set,l=r,i=null,a=new Map;function s(e=l.sent,t=l.known){for(let n of(l=Object.freeze({known:t,sent:e,mine:new Map(a),version:l.version+1}),[...o]))n()}function u(e){return o.add(e),i||l.known||(i=fetch("/api/outreach").then(e=>e.ok?e.json():null).then(e=>{e&&s(new Set((e.pending||[]).map(n.keyFor)),!0)}).catch(()=>{}).finally(()=>{i=null})),()=>o.delete(e)}function d(){return l}async function f(e){let t=await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await t.json().catch(()=>({}));if(!t.ok)throw Error(n.error||"Could not save that.");return n}async function c(e,{bridgeId:t}={}){let r=(0,n.keyFor)(e),o=a.has(r)?a.get(r):void 0;a.set(r,!0),s();try{return await f({action:"mark-sent",connectionId:e.id,profileUrl:e.profile_url,bridgeId:t})}catch(e){throw void 0===o?a.delete(r):a.set(r,o),s(),e}}async function p(e){let t=(0,n.keyFor)(e),r=a.has(t)?a.get(t):void 0;a.set(t,!1),s();try{return await f({action:"undo",connectionId:e.id,profileUrl:e.profile_url})}catch(e){throw void 0===r?a.delete(t):a.set(t,r),s(),e}}e.s(["REQUESTS_UNKNOWN",0,r,"hasRequest",0,function(e,t=l){if(!e)return!1;let r=(0,n.keyFor)(e);return t.mine.has(r)?t.mine.get(r):t.known?t.sent.has(r):"pending"===e.unlock_status||"sent"===e.outreach_status},"markRequested",0,c,"requestCount",0,function(e=l){let t=new Set(e.known?e.sent:[]);for(let[n,r]of e.mine)r?t.add(n):t.delete(n);return t.size},"requestsNow",0,d,"undoRequest",0,p,"watchRequests",0,u],86106),e.s(["default",0,function(){return(0,t.useSyncExternalStore)(u,d,()=>r)}],28867)},39160,84278,e=>{"use strict";var t=e.i(7214),n=e.i(7837);function r(e){let t=String(e||"").trim();if(!t)return null;let n=t.match(/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?(?:\s*UTC)?$/);if(n)return Date.UTC(+n[1],n[2]-1,+n[3],+n[4],+n[5],+(n[6]||0));if(n=t.match(/^(\d{1,2})\/(\d{1,2})\/(\d{2,4}),?\s+(\d{1,2}):(\d{2})\s*(AM|PM)?$/i)){let e=100>+n[3]?2e3+ +n[3]:+n[3],t=n[4]%12;return"PM"===(n[6]||"").toUpperCase()&&(t+=12),Date.UTC(e,n[1]-1,+n[2],t,+n[5])}if(n=t.match(/^([A-Za-z]{3,9})\s+(\d{4})$/)){let e=Date.parse(`1 ${n[1]} ${n[2]} UTC`);return Number.isNaN(e)?null:e}let r=Date.parse(/\d{4}$/.test(t)?`${t} UTC`:t);return Number.isNaN(r)?null:r}let o=e=>(0,t.keyFor)({profile_url:e});function l(e=[]){let t=new Map;for(let n of e){let e=o(n["sender profile url"]),r=n["conversation id"];r&&e&&(t.has(e)||t.set(e,new Set),t.get(e).add(r))}let n=null;for(let[e,r]of t)(!n||r.size>t.get(n).size)&&(n=e);return n}let i=e=>{let t=c(e);return t?`name:${t}`:null},a=/sponsored/i,s=/in\s?mail/i,u=/linkedin\.com\/(company|showcase|school)\//i,d=e=>/^(yes|true|1)$/i.test(String(e||"").trim());function f(e,t){if(!e||!e.total)return"never";let n=t-e.last;return n<=2592e6||e.recent>=3?"warm":n<=31536e6?"cool":"dormant"}let c=e=>String(e||"").split(",")[0].normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9 ]+/g," ").replace(/\s+/g," ").trim();e.s(["buildConversations",0,function(e=[],{keepText:t=!1}={}){let n=l(e),f=new Map;for(let t of e)n&&o(t["sender profile url"])===n&&t.from&&f.set(t.from,(f.get(t.from)||0)+1);let p=c([...f].sort((e,t)=>t[1]-e[1])[0]?.[0]||""),g=e=>!!e&&(e===n||!!p&&e===`name:${p}`),m={},h=new Map,y=0,b=0;for(let n of e){let e=n["conversation id"],l=r(n.date);if(!e||null==l){b+=1;continue}if(d(n["is message draft"])){y+=1;continue}let f=o(n["sender profile url"])||i(n.from);f&&n.from&&!m[f]&&(m[f]=String(n.from).trim());let c=String(n["recipient profile urls"]||"").split(/[,;\s]+/).filter(Boolean).map(o),p=String(n.to||"").split(",").map(e=>e.trim()).filter(Boolean),w=c.length?c:p.map(i).filter(Boolean);c.length&&c.length===p.length&&c.forEach((e,t)=>{m[e]||(m[e]=p[t])}),c.length||p.forEach(e=>{let t=i(e);t&&!m[t]&&(m[t]=e)}),h.has(e)||h.set(e,{id:e,title:"",everyone:new Set,messages:[],kind:null,folder:"",newest:-1/0});let k=h.get(e);f&&k.everyone.add(f),w.forEach(e=>k.everyone.add(e)),k.kind=k.kind||function(e){let t=String(e.folder||""),n=String(e["conversation title"]||"");return a.test(t)||a.test(n)||u.test(String(e["sender profile url"]||""))?"sponsored":s.test(t)||s.test(n)?"inmail":null}(n),l>=k.newest&&(k.newest=l,k.folder=String(n.folder||"").trim().toLowerCase().slice(0,30));let S={t:l,fromMe:g(f)};t&&(S.text=[n.subject,n.content].map(e=>String(e||"").trim()).filter(Boolean).join("\n\n"),!k.title&&n["conversation title"]&&(k.title=String(n["conversation title"]).trim())),k.messages.push(S)}let w=[];for(let e of h.values()){let n=[...e.everyone].filter(e=>e&&!g(e)).sort();e.messages.sort((e,t)=>e.t-t.t);let r={id:e.id,people:n,group:n.length>1,kind:e.kind,folder:e.folder,messages:e.messages};t&&(r.title=e.title),w.push(r)}for(let e of Object.keys(m))g(e)&&delete m[e];return{self:n,conversations:w,names:m,drafts:y,skipped:b}},"buildInvitations",0,function(e=[],{keepText:t=!1}={}){let n=[];for(let l of e){let e=String(l.direction||"").toUpperCase();if("INCOMING"!==e&&"OUTGOING"!==e)continue;let a="INCOMING"===e?"in":"out",s=String(("in"===a?l.from:l.to)||"").trim(),u=o("in"===a?l.inviterprofileurl:l.inviteeprofileurl),d=(u&&/\/in\//.test(u)?u:null)||i(s);if(!d)continue;let f=r(l["sent at"]),c={id:`${a}|${d}|${f??""}`,dir:a,key:d,name:s.slice(0,120),t:f};t&&String(l.message||"").trim()&&(c.note=String(l.message).trim().slice(0,2e3)),n.push(c)}return n.sort((e,t)=>(t.t||0)-(e.t||0))},"careerChapters",0,function(e=[],t=[],n=Date.now()){let l=e.map(e=>({company:e["company name"]||"",title:e.title||"",from:r(e["started on"]),to:r(e["finished on"])})).filter(e=>e.company&&null!=e.from).sort((e,t)=>e.from-t.from),i=t.map(e=>({url:o(e.url||e.profile_url),t:r(e["connected on"]||e.connected_on)})).filter(e=>null!=e.t);return l.map(e=>{let t=e.to??n,r=i.filter(n=>n.t>=e.from&&n.t<t);return{...e,to:e.to,made:r.length,people:r.map(e=>e.url)}})},"conversationSummary",0,function(e){let t=e.messages[e.messages.length-1];return{id:e.id,people:e.people,group:e.group,kind:e.kind||null,folder:e.folder||"",last:t?t.t:null,lastFromThem:t?!t.fromMe:null,count:e.messages.length,mine:e.messages.filter(e=>e.fromMe).length}},"invitationSplit",0,function(e=[]){let t=0,n=0;for(let r of e){let e=String(r.direction||"").toUpperCase();"INCOMING"===e?t+=1:"OUTGOING"===e&&(n+=1)}return{incoming:t,outgoing:n,total:t+n}},"messageStats",0,function(e=[]){let t=l(e),n=new Map;for(let t of e){let e=o(t["sender profile url"]),l=t["conversation id"];if(!l||!e)continue;let i=String(t["recipient profile urls"]||"").split(/[,;\s]+/).filter(Boolean).map(o),a=r(t.date);if(null==a)continue;n.has(l)||n.set(l,{people:new Set,msgs:[]});let s=n.get(l);s.people.add(e),i.forEach(e=>s.people.add(e)),s.msgs.push({from:e,t:a})}let i=0,a=new Map;for(let e of n.values()){let n=[...e.people].filter(e=>e!==t);if(1!==n.length||!e.people.has(t))continue;let r=n[0],o=a.get(r)||{last:0,lastFromThem:!1,total:0,times:[]};for(let n of e.msgs)o.total+=1,o.times.push(n.t),n.t>=o.last&&(o.last=n.t,o.lastFromThem=n.from!==t),n.t>i&&(i=n.t);a.set(r,o)}for(let e of a.values())e.recent=e.times.filter(e=>e>i-7776e6).length,delete e.times;return{self:t,asOf:i||null,people:a}},"nameKey",0,c,"postingEffect",0,function(e=[],t=[]){let n=e.map(e=>({t:r(e.date),link:e.sharelink||e["share link"]||""})).filter(e=>null!=e.t).sort((e,t)=>e.t-t.t),o=t.map(e=>r(e["connected on"]||e.connected_on)).filter(e=>null!=e).sort((e,t)=>e-t);if(!o.length)return{posts:[],usualWeek:0,afterPosts:0};let l=Math.max(6048e5,o[o.length-1]-o[0]),i=o.length/l*6048e5,a=n.map(e=>({...e,week:o.filter(t=>t>=e.t&&t<e.t+6048e5).length})),s=a.length?a.reduce((e,t)=>e+t.week,0)/a.length:0;return{posts:a,usualWeek:i,afterPosts:s}},"readTable",0,function(e,t){let r=(0,n.parseCsv)(String(e||"")),o=r.findIndex(e=>e.some(e=>e.trim().toLowerCase()===t.toLowerCase()));if(o<0)return[];let l=r[o].map(e=>e.trim().toLowerCase());return r.slice(o+1).filter(e=>e.some(e=>e.trim())).map(e=>Object.fromEntries(l.map((t,n)=>[t,(e[n]??"").trim()])))},"warmthOf",0,f],84278);let p="six-degrees-galaxy-lab",g="six-degrees-galaxy-layouts",m=Object.freeze({on:!0,gravity:0,rings:1,push:15,pull:1,distance:1,dotSize:1,lines:1,sizeBy:"power",names:"key",branch:!1,colourBy:"tier",speed:15,loop:!1,labels:!0,v:2}),h=["gravity","rings","push","pull","distance","dotSize","lines","sizeBy","names","branch","colourBy","speed","loop"],y=Object.freeze({gravity:.25,rings:0,push:25,pull:2.5,distance:.35,sizeBy:"reach"}),b=Object.freeze({gravity:0,rings:3,push:6,pull:4,distance:.22,sizeBy:"power"}),w=new Set,k=null;function S(){return k||(k=function(){try{let e=JSON.parse(localStorage.getItem(p)||"null");if(!e||"object"!=typeof e)return m;return{...m,...e,...e.v===m.v?{}:{branch:!1},v:m.v,on:!0}}catch{return m}}()),k}function x(e){k=null===e?{...m,labels:S().labels}:{...S(),...e,on:!0};try{localStorage.setItem(p,JSON.stringify(k))}catch{}w.forEach(e=>e())}let v=null,M=new Set;function F(){if(!v){try{v=JSON.parse(localStorage.getItem(g)||"[]")}catch{v=[]}Array.isArray(v)||(v=[])}return v}function C(e){v=e;try{localStorage.setItem(g,JSON.stringify(e))}catch{}M.forEach(e=>e())}let I=new Set,B={at:null,playing:!1,min:null,max:null,of:0,find:"",fly:0,found:0,social:void 0},N=null;function _(e){let t={...B,...e};Object.keys(e).every(e=>Object.is(t[e],B[e]))||(B=t,I.forEach(e=>e()))}function j(){cancelAnimationFrame(N),N=null,_({playing:!1})}let O=null;function T(e){let n=new Map;for(let[r,o]of Object.entries(e?.people||{}))n.set((0,t.keyFor)({profile_url:r}),{...o});for(let[r,o]of Object.entries(e?.live||{})){let e=(0,t.keyFor)({profile_url:r}),l=n.get(e)||{total:0,recent:0};o.last&&(!l.last||o.last>l.last)&&(l.last=o.last,"boolean"==typeof o.lastFromThem&&(l.lastFromThem=o.lastFromThem)),l.unread=o.unread,l.total=Math.max(l.total||0,1),n.set(e,l)}let r=Math.max(e?.asOf||0,e?.liveAt&&Date.parse(e.liveAt)||0);for(let e of n.values())(e.last||0)>r&&(r=e.last);return{merged:n,asOf:r,chapters:e?.chapters||[],posts:e?.posts?.posts||[]}}let E={1:"#4FC3F7",2:"#BA68C8",3:"#FFB74D"},A=["#FF6B6B","#4ECDC4","#FFD93D","#A29BFE","#00B894","#FD79A8","#74B9FF","#E17055"],D={warm:"#FF7043",cool:"#4FC3F7",dormant:"#8D6E63",never:"#546E7A"},$="#4a5568",z=["#2b1b6b","#6a1b9a","#c2185b","#f4511e","#ffb300","#fff3b0"];function L(e){let t=Math.max(0,Math.min(1,Number(e)||0))*(z.length-1),n=Math.min(z.length-2,Math.floor(t)),r=t-n,o=z[n],l=z[n+1];return`#${[1,3,5].map(e=>Math.round(parseInt(o.slice(e,e+2),16)*(1-r)+parseInt(l.slice(e,e+2),16)*r).toString(16).padStart(2,"0")).join("")}`}function U(e=[],t=()=>0){let n=[...new Set(e.map(t))].sort((e,t)=>e-t),r=new Map(n.map((e,t)=>[e,n.length>1?t/(n.length-1):1]));return e=>r.get(t(e))??0}let R=e=>String(e||"").trim().toLowerCase();e.s(["CLUSTERS",0,y,"LAB_DEFAULTS",0,m,"ORBIT",0,b,"applyLayout",0,function(e){let t=F().find(t=>t.name===e);t&&x(Object.fromEntries(h.filter(e=>e in t.settings).map(e=>[e,t.settings[e]])))},"bornTimes",0,function(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map,o=(e,l=0)=>{if(r.has(e.id))return r.get(e.id);let i=-1/0,a=t.get(e.id);if(1===e.degree||null==a||l>6){let t=e.connected_date?Date.parse(e.connected_date):NaN;i=Number.isNaN(t)?-1/0:t}return null!=a&&n.has(a)&&l<=6&&(i=Math.max(i,o(n.get(a),l+1))),r.set(e.id,i),i};return e.map(e=>o(e))},"chapterAt",0,function(e,t){let n=null;for(let r of e?.chapters||[])Number.isFinite(r.from)&&r.from<=t&&(!n||r.from>n.from)&&(n=r);return n&&(!Number.isFinite(n.to)||n.to>t)?n:null},"clockNow",0,()=>B,"colourScheme",0,function(e,n,r,o){if("degree"===e)return{of:e=>E[Math.min(e.degree||1,3)],legend:[["1st",E[1]],["2nd",E[2]],["3rd+",E[3]]]};if("company"===e){let e=new Map;for(let t of n){let n=R(t.company);if(!n)continue;let r=e.get(n)||{name:String(t.company).trim(),n:0};r.n+=1,e.set(n,r)}let t=[...e.entries()].filter(([,e])=>e.n>1).sort((e,t)=>t[1].n-e[1].n).slice(0,A.length),r=new Map(t.map(([e],t)=>[e,A[t]]));return{of:e=>r.get(R(e.company))||$,legend:[...t.map(([,e],t)=>[e.name,A[t]]),["Other",$]]}}if("heat"===e){let e=function(e=[]){return U(e,t.score)}(n);return{of:t=>L(e(t)),heat:e,legend:[["Cold",L(.1)],["Warm",L(.45)],["Hot",L(.75)],["Hottest",L(1)]]}}return"warmth"===e&&o?{of:e=>1===(e.degree||1)?D[f(o.merged.get((0,t.keyFor)(e)),o.asOf)]:"#2d3748",legend:[["Warm",D.warm],["Cool",D.cool],["Dormant",D.dormant],["Never messaged",D.never]]}:{of:e=>r[e.tier]||"#666",legend:Object.entries(r)}},"effectiveLab",0,e=>e.on?e:e.labels===m.labels?m:{...m,labels:e.labels},"findMatches",0,function(e,t){let n=String(t||"").trim().toLowerCase();if(n.length<2)return null;let r=new Set;for(let t of e)[t.name,t.company,t.role,t.headline].some(e=>e&&String(e).toLowerCase().includes(n))&&r.add(t.id);return r},"forgetLayout",0,function(e){C(F().filter(t=>t.name!==e))},"heatBy",0,U,"heatColour",0,L,"labNow",0,S,"layoutOf",0,function(e){let t=t=>Object.entries(t).every(([t,n])=>e[t]===n);return["gravity","rings","push","pull","distance"].every(t=>e[t]===m[t])?"rings":t(y)?"clusters":t(b)?"orbit":null},"layoutsNow",0,F,"loadSocial",0,function(){return O||(O=fetch("/api/social").then(e=>e.ok?e.json():{}).then(e=>{_({social:e.social?T(e.social):null})}).catch(()=>_({social:null}))),O},"mergeSocial",0,T,"milestones",0,function(e){let t=[];for(let n of e?.chapters||[])Number.isFinite(n.from)&&t.push({t:n.from,kind:"job",label:n.company});for(let n of e?.posts||[])Number.isFinite(n.t)&&t.push({t:n.t,kind:"post",label:"You posted"});return t.sort((e,t)=>e.t-t.t)},"pause",0,j,"play",0,function e(){if(null==B.min||null==B.max||B.max<=B.min)return;let t=B.max-B.min,n=1e3*Math.max(1,Number(S().speed)||15),r=null==B.at||B.at>=B.max?B.min:B.at,o=performance.now()-(r-B.min)/t*n;_({at:r,playing:!0});let l=r=>{let i=Math.min(B.max,B.min+(r-o)/n*t);if(_({at:i}),i>=B.max){N=null,_({playing:!1}),S().loop&&setTimeout(()=>{N||B.at!==B.max||(_({at:B.min}),e())},1200);return}N=requestAnimationFrame(l)};cancelAnimationFrame(N),N=requestAnimationFrame(l)},"reachCounts",0,function(e,t){let n=new Map(e.map(e=>[e.id,0]));for(let r of e){let e=t.get(r.id);for(let r=0;null!=e&&r<7;r++)n.set(e,(n.get(e)||0)+1),e=t.get(e)}return n},"saveLayout",0,function(e){let t=String(e||"").trim().slice(0,40);if(!t)return;let n=S(),r=Object.fromEntries(h.map(e=>[e,n[e]]));C([...F().filter(e=>e.name!==t),{name:t,settings:r}])},"setClock",0,_,"setLab",0,x,"stopReplay",0,function(){j(),_({at:null})},"watchClock",0,function(e){return I.add(e),()=>I.delete(e)},"watchLab",0,function(e){w.add(e);let t=t=>{t.key===p&&(k=null,e())};return window.addEventListener("storage",t),()=>{w.delete(e),window.removeEventListener("storage",t)}},"watchLayouts",0,function(e){return M.add(e),()=>M.delete(e)}],39160)},19821,e=>{"use strict";async function t(e){let t=e?`/api/network?userId=${encodeURIComponent(e)}`:"/api/network",n=await fetch(t);if(!n.ok)throw Error(`Failed to load network (${n.status})`);let r=await n.json();return{degree1:r.degree1||[],degree2:r.degree2||[],degree3:r.degree3||[],ties:Number(r.ties)||0}}e.s(["loadNetwork",0,t])},48235,51798,e=>{"use strict";let t={fast:{label:"Fast",pagePause:20,chunkCooldown:60,profileGap:60},medium:{label:"Medium",pagePause:45,chunkCooldown:180,profileGap:90},slow:{label:"Slow",pagePause:90,chunkCooldown:300,profileGap:120}},n=e=>t[e]||t.fast;function r(e,t){let r=n(e),o=Math.max(0,Math.floor(Number(t)||0));return o*(6+r.pagePause)+Math.floor(o/10)*r.chunkCooldown}e.s(["PACES",0,t,"PACE_NAMES",0,["slow","medium","fast"],"durationText",0,function(e){if(!(e>=60))return"under a minute";let t=Math.round(e/60);if(t<60)return`about ${t} min`;let n=Math.floor(t/60),r=t%60;return`about ${n} h${r?` ${r} min`:""}`},"paceOf",0,n,"paceSeconds",0,r,"searchesPerHour",0,function(e){let t=n(e);return Math.round(3600/(6+t.pagePause+t.chunkCooldown/10))}],51798);var o=e.i(7214);function l(e,t){return e?t.scanned.has(e.id)||e.profile_url&&t.read?.has((0,o.keyFor)(e))?"scanned":e.profile_url&&t.hidden.has((0,o.keyFor)(e))?"hidden":"todo":"todo"}function i(e,t){if(!e||1!==e.degree||null==e.unlocked_from_bridge_id)return null;let n=l(e,t);return"todo"===n?"ready":n}e.s(["circleScanCost",0,function(e=100,t="fast"){let n=Math.max(1,Math.min(100,Math.round(e)||100)),o=t&&"fast"!==t?Math.max(5,Math.round(r(t,n)/60)):n>=100?55:Math.max(5,Math.round(.55*n));return{profileViews:1,searches:n,minutes:o}},"circleState",0,l,"reachIndex",0,function(e=[],t=[],n={}){let r=new Set;for(let e of t||[])e?.source_connection_id!=null&&r.add(e.source_connection_id);let l=new Set;for(let e of n?.skips||[])e?.profileUrl&&l.add((0,o.keyFor)({profile_url:e.profileUrl}));let i=new Set;for(let e of n?.read||[])e&&i.add((0,o.keyFor)({profile_url:e}));let a=new Map;for(let[e,t]of Object.entries(n?.lists||{}))e&&t&&a.set((0,o.keyFor)({profile_url:e}),t);let s=new Map;for(let t of e||[]){let e=t?.unlocked_from_bridge_id;if(null==e||1!==t.degree)continue;let n=s.get(e);n||s.set(e,n=[]),n.push(t)}return{scanned:r,read:i,hidden:l,reachedFrom:s,lists:a}},"reachState",0,i,"readyByCircle",0,function(e){let t=new Map;for(let[n,r]of e.reachedFrom){let o=r.filter(t=>"ready"===i(t,e)).length;o&&t.set(n,o)}return t},"readyToScan",0,function(e,t){return(e||[]).filter(e=>"ready"===i(e,t)).sort(o.compareBridges)},"scanBars",0,function(e,t){let n=l(e,t),r=e?.profile_url?t.lists?.get((0,o.keyFor)(e)):null;return"hidden"===n?null:r?r.more?r.total?Math.max(1,Math.min(4,Math.round(5*Math.min(1,10*r.pages/r.total)))):2:5:"scanned"===n?2:null}],48235)},7214,36774,e=>{"use strict";let t=/^[A-Za-z0-9_-]+\.(webp|jpg|jpeg|png)$/,n="/avatars/";function r(e){return"string"==typeof e&&e.startsWith(n)&&t.test(e.slice(n.length))?e:null}e.s(["localPhoto",0,r],36774);let o={S:0,A:1,B:2,C:3,D:4};function l(e){let t=parseFloat(e?.power_score);return Number.isFinite(t)?t:0}function i(e){return Math.round(10*l(e))/10}function a(e){return String(e?.profile_url||"").split(/[?#]/)[0].replace(/\/+$/,"")||`id:${e?.id}`}let s=(e,t)=>String(e??"").localeCompare(String(t??""),void 0,{numeric:!0});function u(e,t){return(o[e.tier]??9)-(o[t.tier]??9)||l(t)-l(e)||String(e.name||"").localeCompare(String(t.name||""))||s(e.id,t.id)}function d(e,t){return e.bridge&&t.bridge?u(e.bridge,t.bridge):e.bridge?-1:t.bridge?1:s(e.id,t.id)}function f(e,t){return t.score-e.score||t.waysIn-e.waysIn||d(e.routes[0]||c,t.routes[0]||c)||String(e.person.name||"").localeCompare(String(t.person.name||""))||(e.key<t.key?-1:+(e.key>t.key))}let c={id:null,bridge:null};function p(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return t.length<2?t[0]||"":`${t[0]} ${t[t.length-1].charAt(0)}.`}function g(e,t){let n=String(e||"");return t<=1?n?"…":"":n.length>t?`${n.slice(0,t-1)}…`:n}e.s(["TIERS",0,["S","A","B","C","D"],"compareBridges",0,u,"comparePower",0,f,"convergeLayout",0,function(e,t=800,n=!1,{cards:r=!1,mutuals:o=0}={}){let l=r?46:n?40:34,i=Math.round(t*(n?.44:.36)),a=Math.round(t*(n?.8:r?.6:.62)),s=[],u=null;for(let t of e?.routes||[])t.bridge?s.push({id:t.id,bridge:t.bridge,unresolved:!1,count:1}):u?u.count++:s.push(u={id:null,bridge:null,unresolved:!0,count:1});let d=Math.max(0,Math.floor(Number(o)||0)-(e?.waysIn||0)),f=Math.min(60,d),c=r?12:11,m=r?220:n?96:120,h=Math.max(1,Math.floor(m/c)+1),y=Math.ceil(f/h),b=f?40+y*c:0,w=Math.max(0,s.length-1)*l+b,k=Math.max(n?190:r?250:220,32+w+48),S=k/2,x=S-w/2,v=Math.max(4,Math.floor((i-10-42)/6)),M=s.map((e,t)=>{let n=e.unresolved?`can't be named (${e.count})`:e.bridge.name||"";return{...e,x:i,y:x+t*l,r:6,primary:0===t&&!e.unresolved,label:n.length<=v?n:g(e.unresolved?n:p(n),v)}}),F={x:a,y:S,r:17*!r,rings:r?[]:[32,50,70].filter(e=>e<=S-4)},C=M.map(t=>({key:e?.key,bridgeId:t.id,primary:t.primary,unresolved:t.unresolved,tier:t.bridge?.tier??null,x1:t.x,y1:t.y,x2:F.x,y2:F.y})),I={x:20,y:S,r:14},B=M.map(e=>({id:e.id,x1:I.x,y1:I.y,x2:e.x,y2:e.y})),N=e?[{key:e.key,p:e,x:F.x,y:F.y,r:F.r,rings:F.rings,big:!0,label:""}]:[],_=x+Math.max(0,s.length-1)*l+40,j=r?i-236+8:i-m,O=Array.from({length:f},(e,t)=>({x:j+t%h*c,y:_+Math.floor(t/h)*c})),T=e?.waysIn?e.waysIn/(e.waysIn+d):1;return{width:t,height:k,you:I,target:F,people:N,bridges:M,links:C,spokes:B,ghosts:O,unscanned:d,ghostLabel:f?{x:j,y:_-13}:null,drawn:T}},"keyFor",0,a,"mapCount",0,function(e,t=10){let n=Math.max(0,Math.min(100,Number(e)||0));return n<=50?t:Math.max(1,Math.round(t*(100-n)/50))},"mostMutuals",0,function(e=[],t=()=>0,n=7){return[...e].sort((e,n)=>Math.max(t(n)||0,n.waysIn)-Math.max(t(e)||0,e.waysIn)||n.waysIn-e.waysIn||f(e,n)).slice(0,n)},"routeIndex",0,function(e=[]){let t=new Map;for(let n of e||[]){let e=a(n),r=t.get(e);r||(r=new Set,t.set(e,r)),r.add(n.source_connection_id??null)}return t},"routesFor",0,function(e,t,n){return e?[...t?.get(a(e))??(null!=e.source_connection_id?new Set([e.source_connection_id]):new Set)].map(e=>({id:e,bridge:n?.get(e)??null})).sort(d):[]},"score",0,l,"score1",0,i,"separationPeople",0,function(e=[],t=[]){let n=new Map;for(let e of t||[])n.set(e.id,e);let o=new Map,l=new Map;for(let t of e||[]){let e=a(t);l.set(t.id,e);let n=o.get(e);n?function(e,t){let n=i(e)-i(t);if(n)return n>0;let o=!!r(e.profile_image_url);return!!r(t.profile_image_url)!==o?o:0>s(e.id,t.id)}(t,n.person)&&(n.person=t):(n={key:e,person:t,rowIds:[],routeIds:new Set},o.set(e,n)),n.rowIds.push(t.id),n.routeIds.add(t.source_connection_id??null)}let u={people:o.size,byTier:{S:0,A:0,B:0,C:0,D:0},multi:0,bridges:0,unresolvedIds:0,peopleOnlyUnresolved:0,onlyUnresolvedVia:0},c=new Set,p=new Set,g=new Set,m=[];for(let e of o.values()){let t=[...e.routeIds].map(e=>({id:e,bridge:n.get(e)??null}));t.sort(d);let r=t.filter(e=>e.bridge);for(let e of t)(e.bridge?c:p).add(e.id);if(!r.length)for(let e of(u.peopleOnlyUnresolved++,t))g.add(e.id);let{person:o}=e,l=o.tier;void 0!==u.byTier[l]&&u.byTier[l]++,t.length>1&&u.multi++,m.push({key:e.key,person:o,score:i(o),tier:l,routes:t,waysIn:t.length,rowIds:e.rowIds,haystack:[o.name,o.headline,o.company,o.role,...r.map(e=>e.bridge.name)].filter(Boolean).join("\n").toLowerCase(),rank:0,tied:!1})}return u.bridges=c.size,u.unresolvedIds=p.size,u.onlyUnresolvedVia=g.size,m.sort(f),function(e){for(let t=0;t<e.length;t++){let n=e[t],r=e[t-1],o=r&&r.score===n.score&&r.waysIn===n.waysIn;n.rank=o?r.rank:t+1,o&&(n.tied=!0,r.tied=!0)}}(m),{people:m,rowToKey:l,summary:u}},"shortName",0,p,"summitLayout",0,function(e=[],t=800,n=!1,{cards:r=!1}={}){let o=r?50:n?36:26,l=Math.round(.42*t),i=Math.round(.58*t),a=e.map((e,n)=>{var l;return{key:e.key,p:e,x:i,y:16+n*o,r:r?0:(l=e.waysIn)>=4?8.5:3===l?7:2===l?5.5:4,label:g(`#${e.rank}${e.tied?"=":""} ${e.person.name||""}`,Math.floor((t-i-60)/6.2))}}),s=new Map,d="\0unresolved";for(let e of a)for(let t of e.p.routes){let n=t.bridge?t.id:d,r=s.get(n);r||(r={id:t.bridge?t.id:null,bridge:t.bridge,unresolved:!t.bridge,ys:[],count:0},s.set(n,r)),r.count++,r.ys.push(e.y)}let f=[...s.values()].map(e=>({...e,bary:e.ys.reduce((e,t)=>e+t,0)/e.ys.length}));f.sort((e,t)=>e.bary-t.bary||e.unresolved-t.unresolved||(e.bridge&&t.bridge?u(e.bridge,t.bridge):0));let c=a.length?a[a.length-1].y:16,m=function(e=[],t=18,n=0){let r=[];e.forEach((e,n)=>{for(r.push({sum:e-n*t,count:1});r.length>1&&r[r.length-2].sum/r[r.length-2].count>r[r.length-1].sum/r[r.length-1].count;){let e=r.pop();r[r.length-1].sum+=e.sum,r[r.length-1].count+=e.count}});let o=r.flatMap(e=>Array(e.count).fill(e.sum/e.count)).map((e,n)=>e+n*t),l=o.length&&o[0]<n?n-o[0]:0;return o.map(e=>e+l)}(f.map(e=>e.bary),r?36:18,16),h=Math.max(4,Math.floor((l-10-42)/6));f.forEach((e,t)=>{if(e.x=l,e.y=m[t],e.r=5,e.unresolved)e.label=g(`can't be named (${e.count})`,h);else{let t=e.bridge.name||"";e.label=t.length<=h?t:g(p(t),h)}delete e.ys});let y=new Map(f.map(e=>[e.unresolved?d:e.id,e]));for(let e of f)e.onlyFor=0,e.bestFor=0;for(let e of a){let t=e.p.routes[0],n=t?y.get(t.bridge?t.id:d):null;n&&n.bestFor++,1===e.p.waysIn&&n&&n.onlyFor++}let b=[];for(let e of a){let t=new Set;e.p.routes.forEach((n,r)=>{let o=n.bridge?n.id:d;if(t.has(o))return;t.add(o);let l=y.get(o);b.push({key:e.key,bridgeId:l.id,primary:0===r&&!l.unresolved,unresolved:l.unresolved,tier:l.bridge?.tier??null,x1:l.x,y1:l.y,x2:e.x,y2:e.y})})}let w=Math.max(c,f.length?f[f.length-1].y:0),k=a.length?Math.ceil(w+16):0,S={x:20,y:a.length?(16+Math.max(c,w))/2:16,r:14},x=f.map(e=>({id:e.id,x1:S.x,y1:S.y,x2:e.x,y2:e.y}));return{width:t,height:k,you:S,people:a,bridges:f,links:b,spokes:x}}],7214)},5258,e=>{"use strict";e.s(["TIER_COLORS_CLASSIC",0,{S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},"TIER_ORDER",0,["S","A","B","C","D"],"initialsFor",0,function(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return 0===t.length?"?":(t[0].charAt(0)+(t.length>1?t[t.length-1].charAt(0):"")).toUpperCase()}])}]);
@@ -1,7 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,82044,t=>{"use strict";var e=t.i(43476),n=t.i(71645),r=t.i(43116),i=t.i(44902);let o={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},a=["","1st","2nd","3rd","4th","5th","6th"],s={network:{1:"your connections",2:"people in a scanned circle",3:"people found by a company scan"},degrees:{1:"your bridges",2:"people in their circles"},paths:{1:"your connections",2:"people in a scanned circle",3:"people found by a company scan"}};function l({grid:t,counts:n,onChange:r,mode:u,isMobile:c}){let h=(0,i.showing)(t,n),f=c?21:23,d=t=>s[u]?.[t];return(0,e.jsxs)("div",{style:{marginBottom:18},children:[(0,e.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:6},children:[(0,e.jsx)("div",{style:{flex:1,fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,textTransform:"uppercase"},children:"Tiers"}),(0,e.jsx)("div",{style:{display:"flex",gap:3},children:i.GRID_DEGREES.map(o=>{let s=i.TIERS.some(t=>(n[t]?.[o]||0)>0),l=s&&i.TIERS.every(e=>t.hidden.includes(e)||!(n[e]?.[o]>0)||t.degrees[e].includes(o));return(0,e.jsx)("button",{type:"button",disabled:!s,"aria-pressed":l,title:s?`${a[o]} degree${d(o)?`: ${d(o)}`:""}. Tap to ${l?"hide":"show"} it for every tier`:`Nobody at ${a[o]} degree yet`,onClick:()=>r((0,i.toggleDegree)(t,o,n)),style:{width:f,height:18,padding:0,border:"none",background:"none",cursor:s?"pointer":"default",fontSize:10,fontWeight:800,color:s?l?"#cfe6f7":"#778":"#333"},children:o},o)})}),(0,e.jsx)("div",{style:{width:44}})]}),(0,e.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:i.TIERS.map(s=>{let l=t.hidden.includes(s),u=(0,i.showingIn)(t,n,s),c=o[s];return(0,e.jsxs)("div",{style:{display:"flex",alignItems:"center",borderRadius:8,background:l?"rgba(255,255,255,0.02)":`${c}14`,borderLeft:`3px solid ${l?"transparent":c}`},children:[(0,e.jsxs)("button",{type:"button","aria-pressed":!l,title:l?`Show ${s}-Tier`:`Hide ${s}-Tier`,onClick:()=>r((0,i.toggleTier)(t,s,n)),style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:8,padding:"12px 6px 12px 10px",border:"none",background:"none",cursor:"pointer",color:l?"#555":c,textAlign:"left"},children:[(0,e.jsx)("span",{style:{width:11,height:11,borderRadius:"50%",background:c,opacity:l?.2:1,flexShrink:0}}),(0,e.jsxs)("span",{style:{fontSize:13.5,fontWeight:700,whiteSpace:"nowrap",textDecoration:l?"line-through":"none"},children:[s,"-Tier"]})]}),(0,e.jsx)("div",{style:{display:"flex",gap:3},children:i.GRID_DEGREES.map(o=>{let u=n[s]?.[o]||0,h=!l&&u>0&&t.degrees[s].includes(o);return(0,e.jsx)("button",{type:"button",disabled:!u,"aria-pressed":h,"aria-label":`${s}-Tier at ${a[o]} degree`,title:u?`${u.toLocaleString("en-US")} ${s}-Tier at ${a[o]} degree. Tap to ${h?"hide":"show"} them`:`No ${s}-Tier at ${a[o]} degree yet`,onClick:()=>r((0,i.toggleCell)(t,s,o,n)),style:{width:f,height:f,padding:0,borderRadius:"50%",boxSizing:"border-box",cursor:u?"pointer":"default",fontSize:10,fontWeight:800,lineHeight:1,border:u?h?`1.5px solid ${c}`:`1.5px solid ${c}70`:"1px dashed rgba(255,255,255,0.1)",background:h?c:"transparent",color:u?h?"#0a0a1a":`${c}b0`:"rgba(255,255,255,0.12)",opacity:l&&u?.45:1},children:o},o)})}),(0,e.jsx)("div",{style:{width:44,textAlign:"right",paddingRight:8,fontSize:10.5,color:l||!u?"#445":"#889",fontVariantNumeric:"tabular-nums"},children:u.toLocaleString("en-US")})]},s)})}),(0,e.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:8},children:[(0,e.jsx)("div",{style:{fontSize:10,color:"#667",lineHeight:1.4},children:"Tap a tier to hide it, or a dot to show that degree."}),(0,e.jsxs)("div",{style:{fontSize:10.5,color:"#889",whiteSpace:"nowrap",marginLeft:8},children:[h.toLocaleString("en-US")," showing",t.hidden.length>0&&(0,e.jsx)("button",{type:"button",onClick:()=>r((0,i.showAllTiers)(t)),style:{marginLeft:8,padding:"2px 8px",borderRadius:10,fontSize:10,cursor:"pointer",border:"1px solid rgba(255,255,255,0.12)",background:"rgba(255,255,255,0.05)",color:"#aab"},children:"All tiers"})]})]})]})}t.s(["TierGrid",0,l,"default",0,function({collapsed:t,onToggle:i,mode:o,visualMode:a,grid:s,gridCounts:u={},onGridChange:c}){let h=function(){let[t,e]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let t=()=>e(window.innerWidth<768);return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[]),t}(),f="degrees"===o;return t?(0,e.jsxs)("div",{onClick:i,style:{position:"fixed",left:16,top:140,zIndex:30,cursor:"pointer",display:"flex",alignItems:"center",gap:0,height:36,borderRadius:18,background:"rgba(52,152,219,0.15)",border:"2px solid rgba(52,152,219,0.5)",color:"#3498DB",fontWeight:700,boxShadow:"0 0 12px rgba(52,152,219,0.3)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",overflow:"hidden",transition:"width 0.25s ease",width:36,padding:"0 10px"},onMouseEnter:t=>{t.currentTarget.style.width="120px"},onMouseLeave:t=>{t.currentTarget.style.width="36px"},children:[(0,e.jsx)("span",{style:{fontSize:18,flexShrink:0,width:16,textAlign:"center"},children:"›"}),(0,e.jsx)("span",{style:{fontSize:11,fontWeight:600,whiteSpace:"nowrap",marginLeft:6,opacity:.9},children:"Filters"})]}):(0,e.jsxs)("div",{style:h?{position:"fixed",top:0,left:0,bottom:0,zIndex:100,width:"100vw",pointerEvents:"auto"}:{flexShrink:0,height:"100%"},children:[h&&(0,e.jsx)("div",{onClick:i,style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.5)"}}),(0,e.jsxs)("div",{style:{width:h?"80vw":320,minWidth:320*!h,maxWidth:h?300:320,height:"100%",borderRight:"1px solid rgba(52,152,219,0.15)",padding:h?"12px 10px":"16px 14px",overflowY:"auto",overflowX:"hidden",background:h?"rgba(10,15,30,0.98)":"rgba(10,15,30,0.65)",fontSize:13,backdropFilter:"blur(24px) saturate(1.4)",WebkitBackdropFilter:"blur(24px) saturate(1.4)",boxShadow:"inset 0 0 60px rgba(52,152,219,0.04), 4px 0 24px rgba(0,0,0,0.3)"},children:[(0,e.jsxs)("button",{onClick:i,style:{display:"flex",alignItems:"center",gap:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)",borderRadius:6,color:"#aaa",fontSize:12,cursor:"pointer",padding:"6px 12px",marginBottom:14,fontWeight:600,width:"100%"},children:[(0,e.jsx)("span",{style:{fontSize:16},children:"›"})," Close"]}),(0,e.jsx)(l,{grid:s,counts:u,onChange:c,mode:f?"degrees":"network",isMobile:h}),!f&&"galaxy"===a&&(h?(0,e.jsx)(r.NamesSwitch,{}):(0,e.jsx)(r.default,{}))]})]})}])},43116,t=>{"use strict";var e=t.i(43476),n=t.i(71645),r=t.i(39160),i=t.i(61121),o=t.i(99883);let a=[],s=[{key:"gravity",label:"Gravity",min:0,max:3,step:.01,fmt:t=>t.toFixed(2),hint:"Pulls every dot in towards you."},{key:"rings",label:"Rings",min:0,max:5,step:.05,fmt:t=>`${t.toFixed(2)}\xd7`,hint:"How hard each tier holds its ring. At 0 the Galaxy finds its own shape."},{key:"push",label:"Push",min:0,max:300,step:1,fmt:t=>String(t),hint:"How hard dots push each other apart."},{key:"pull",label:"Pull",min:0,max:15,step:.05,fmt:t=>`${t.toFixed(2)}\xd7`,hint:"How hard each person pulls the people who came through them."},{key:"distance",label:"Distance",min:.05,max:6,step:.05,fmt:t=>`${t.toFixed(2)}\xd7`,hint:"How far out those people sit."}],l=[{key:"dotSize",label:"Dot size",min:.2,max:8,step:.05,fmt:t=>`${t.toFixed(2)}\xd7`},{key:"lines",label:"Lines",min:0,max:20,step:.1,fmt:t=>`${t.toFixed(1)}\xd7`}],u={fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,margin:"12px 0 6px",textTransform:"uppercase"},c={fontSize:10,color:"#667",lineHeight:1.4};function h({spec:t,value:n}){return(0,e.jsxs)("label",{title:t.hint,style:{display:"block",marginBottom:7},children:[(0,e.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:11,color:"#aab"},children:[(0,e.jsx)("span",{children:t.label}),(0,e.jsx)("span",{style:{color:n===r.LAB_DEFAULTS[t.key]?"#556":"#cfe6f7",fontVariantNumeric:"tabular-nums"},children:t.fmt(n)})]}),(0,e.jsx)("input",{type:"range",min:t.min,max:t.max,step:t.step,value:n,onChange:e=>(0,r.setLab)({[t.key]:Number(e.target.value)}),style:{width:"100%",accentColor:"#3498DB"}})]})}function f({options:t,value:n,onPick:r}){return(0,e.jsx)("div",{style:{display:"flex",gap:4,marginBottom:8},children:t.map(([t,i])=>(0,e.jsx)("button",{onClick:()=>r(t),"aria-pressed":n===t,style:{flex:1,padding:"5px 4px",borderRadius:6,fontSize:10.5,fontWeight:600,cursor:"pointer",border:n===t?"1px solid rgba(52,152,219,0.6)":"1px solid rgba(255,255,255,0.08)",background:n===t?"rgba(52,152,219,0.18)":"rgba(255,255,255,0.03)",color:n===t?"#cfe6f7":"#888"},children:i},t))})}let d=t=>new Date(t).toLocaleDateString(void 0,{month:"short",year:"numeric"});t.s(["NamesSwitch",0,function(){let t=(0,n.useSyncExternalStore)(r.watchLab,r.labNow,()=>r.LAB_DEFAULTS);return(0,e.jsxs)("div",{style:{marginBottom:18},children:[(0,e.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:"Names"}),(0,e.jsx)(f,{value:t.labels,options:[[!0,"On"],[!1,"Off"]],onPick:t=>(0,r.setLab)({labels:t})})]})},"default",0,function(){let t=(0,n.useSyncExternalStore)(r.watchLab,r.labNow,()=>r.LAB_DEFAULTS),p=(0,n.useSyncExternalStore)(r.watchClock,r.clockNow,r.clockNow),g=(0,n.useSyncExternalStore)(r.watchLayouts,r.layoutsNow,()=>a),[y,v]=(0,n.useState)(""),[m,x]=(0,n.useState)(null),[b,_]=(0,n.useState)(null),w=(0,n.useSyncExternalStore)(()=>()=>{},i.canRecord,()=>!1),k=null!=p.min&&p.max>p.min?(0,r.milestones)(p.social).filter(t=>t.t>=p.min&&t.t<=p.max):[],S=async(t,e)=>{x(t),_(null);let n="video"===t?(0,o.showActivity)({id:"replay-video",label:"Recording the replay",detail:"The video saves when it ends"}):()=>{};try{await e()}catch(t){_(t.message||"That didn’t work.")}finally{x(null),n()}},N=null!=p.min&&null!=p.max&&p.max>p.min,j=(0,r.layoutOf)(t);return(0,e.jsxs)("div",{style:{marginBottom:18,borderTop:"1px solid rgba(255,255,255,0.06)",paddingTop:12},children:[(0,e.jsx)("div",{style:{fontSize:13.5,fontWeight:700,color:"#dde"},children:"Physics"}),(0,e.jsx)("div",{style:{...c,marginTop:3},children:"The forces that lay the Galaxy out. Everything here moves it in place."}),(0,e.jsx)("div",{style:u,children:"Names"}),(0,e.jsx)(f,{value:t.labels,options:[[!0,"On"],[!1,"Off"]],onPick:t=>(0,r.setLab)({labels:t})}),(0,e.jsx)("div",{style:u,children:"Find"}),(0,e.jsx)("input",{type:"search",value:p.find,placeholder:"A name, company or role",onChange:t=>(0,r.setClock)({find:t.target.value}),onKeyDown:t=>{"Enter"===t.key&&(0,r.setClock)({fly:p.fly+1})},style:{width:"100%",boxSizing:"border-box",padding:"6px 9px",borderRadius:6,fontSize:11.5,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(0,0,0,0.25)",color:"#dde"}}),p.find.trim().length>=2&&(0,e.jsx)("div",{style:{...c,marginTop:4},children:p.found?`${p.found.toLocaleString()} found \xb7 Enter flies to the best one`:"No one on screen matches."}),(0,e.jsx)("div",{style:u,children:"Layout"}),(0,e.jsx)(f,{value:j,options:[["rings","Rings"],["orbit","Orbit"],["clusters","Clusters"]],onPick:t=>(0,r.setLab)("rings"===t?{...Object.fromEntries(s.map(t=>[t.key,r.LAB_DEFAULTS[t.key]])),sizeBy:"power"}:"orbit"===t?r.ORBIT:r.CLUSTERS)}),(0,e.jsx)("div",{style:{...c,marginBottom:6},children:"clusters"===j?"No rings: each connection pulls their circle round them, and a dot grows with everyone behind it.":"orbit"===j?"Each tier on its own orbit, S nearest you, with each connection’s circle tucked in behind them. Drag a bridge and its circle follows.":"Drag a dot to see what it pulls with it. Try Rings at 0 and Pull up."}),(0,e.jsx)("div",{style:u,children:"Forces"}),s.map(n=>(0,e.jsx)(h,{spec:n,value:t[n.key]},n.key)),(0,e.jsx)("div",{style:u,children:"Display"}),l.map(n=>(0,e.jsx)(h,{spec:n,value:t[n.key]},n.key)),(0,e.jsx)("div",{style:{fontSize:11,color:"#aab",marginBottom:4},children:"Size dots by"}),(0,e.jsx)(f,{value:t.sizeBy,options:[["power","Power score"],["reach","Who hangs off them"]],onPick:t=>(0,r.setLab)({sizeBy:t})}),(0,e.jsx)("div",{style:{fontSize:11,color:"#aab",marginBottom:4},children:"Colour by"}),(0,e.jsx)(f,{value:t.colourBy,options:[["tier","Tier"],["heat","Heat"],["degree","Degree"],["company","Company"],["warmth","Warmth"]],onPick:t=>(0,r.setLab)({colourBy:t})}),"heat"===t.colourBy&&(0,e.jsx)("div",{style:{...c,marginTop:-4,marginBottom:8},children:"Power as a thermal map: the higher someone’s score among the people showing, the hotter, and the hottest glow. Where the glow pools, powerful people cluster."}),"warmth"===t.colourBy&&null===p.social&&(0,e.jsx)("div",{style:{...c,marginTop:-4,marginBottom:8},children:"Warmth comes from the Social tab: import your LinkedIn export there first. Until then it’s by tier."}),(0,e.jsxs)("div",{style:{fontSize:11,color:"#aab",marginBottom:4},children:["Which names",t.labels?"":" (Names is off)"]}),(0,e.jsx)(f,{value:"all"===t.names?"all":"key",options:[["key","S + catalysts"],["all","All 1st"]],onPick:t=>(0,r.setLab)({names:t})}),(0,e.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"#aab",cursor:"pointer"},children:[(0,e.jsx)("input",{type:"checkbox",checked:t.branch,onChange:t=>(0,r.setLab)({branch:t.target.checked}),style:{accentColor:"#3498DB"}}),"Light up a branch on hover"]}),(0,e.jsx)("div",{style:u,children:"Replay"}),N?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center",marginBottom:6},children:[(0,e.jsx)("button",{onClick:()=>p.playing?(0,r.pause)():(0,r.play)(),style:{padding:"5px 12px",borderRadius:6,fontSize:11,fontWeight:700,cursor:"pointer",border:"1px solid rgba(52,152,219,0.6)",background:"rgba(52,152,219,0.18)",color:"#cfe6f7"},children:p.playing?"❚❚ Pause":"▶ Replay"}),null!=p.at&&(0,e.jsx)("button",{onClick:r.stopReplay,style:{padding:"5px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid rgba(255,255,255,0.1)",background:"rgba(255,255,255,0.04)",color:"#aaa"},children:"Show all"}),(0,e.jsx)("span",{style:{marginLeft:"auto",fontSize:10.5,color:"#aab",fontVariantNumeric:"tabular-nums"},children:d(p.at??p.max)})]}),(0,e.jsxs)("div",{style:{position:"relative"},children:[(0,e.jsx)("input",{type:"range",min:p.min,max:p.max,step:864e5,value:p.at??p.max,onChange:t=>{(0,r.pause)(),(0,r.setClock)({at:Number(t.target.value)})},style:{width:"100%",accentColor:"#3498DB"},"aria-label":"Time"}),(0,e.jsx)("div",{style:{position:"absolute",left:7,right:7,top:-3,height:6,pointerEvents:"none"},children:k.map(t=>(0,e.jsx)("span",{title:`${t.label} \xb7 ${d(t.t)}`,style:{position:"absolute",left:`${(t.t-p.min)/(p.max-p.min)*100}%`,width:"job"===t.kind?3:2,height:"job"===t.kind?8:5,borderRadius:1,transform:"translateX(-50%)",background:"job"===t.kind?"#D4AF37":"#74B9FF",opacity:"job"===t.kind?.95:.7}},`${t.kind}-${t.t}`))})]}),(0,e.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",...c},children:[(0,e.jsx)("span",{children:d(p.min)}),(0,e.jsx)("span",{children:d(p.max)})]}),(0,e.jsx)("div",{style:{fontSize:11,color:"#aab",margin:"8px 0 4px"},children:"Length"}),(0,e.jsx)(f,{value:t.speed,options:[[5,"5 s"],[15,"15 s"],[30,"30 s"],[60,"1 min"]],onPick:t=>(0,r.setLab)({speed:t})}),(0,e.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"#aab",cursor:"pointer"},children:[(0,e.jsx)("input",{type:"checkbox",checked:t.loop,onChange:t=>(0,r.setLab)({loop:t.target.checked}),style:{accentColor:"#3498DB"}}),"Loop"]}),(0,e.jsxs)("div",{style:{...c,marginTop:4},children:["Your connections appear on the day you connected; their circles come with them.",k.length>0?" Gold marks are your job starts and blue ones your posts, from the Social tab.":""]}),w&&(0,e.jsx)("button",{disabled:!!m,onClick:()=>S("video",i.recordReplay),style:{marginTop:8,width:"100%",padding:"6px 10px",borderRadius:6,fontSize:11,fontWeight:600,cursor:m?"default":"pointer",border:"1px solid rgba(231,76,60,0.5)",background:"rgba(231,76,60,0.12)",color:"#f5b7b1"},children:"video"===m?"● Recording…":"● Record the replay as a video"})]}):(0,e.jsx)("div",{style:c,children:"Nothing to replay: the connections on screen have no “connected on” dates. A LinkedIn CSV or a network scan has them; the sample network doesn’t."}),(0,e.jsx)("div",{style:u,children:"Saved layouts"}),g.length>0&&(0,e.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:6},children:g.map(t=>(0,e.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",borderRadius:12,border:"1px solid rgba(52,152,219,0.4)",background:"rgba(52,152,219,0.1)"},children:[(0,e.jsx)("button",{onClick:()=>(0,r.applyLayout)(t.name),style:{padding:"3px 4px 3px 9px",border:"none",background:"none",color:"#cfe6f7",fontSize:10.5,cursor:"pointer"},children:t.name}),(0,e.jsx)("button",{onClick:()=>(0,r.forgetLayout)(t.name),"aria-label":`Forget ${t.name}`,title:"Forget this layout",style:{padding:"3px 8px 3px 3px",border:"none",background:"none",color:"#667",fontSize:11,cursor:"pointer"},children:"×"})]},t.name))}),(0,e.jsxs)("form",{onSubmit:t=>{t.preventDefault(),(0,r.saveLayout)(y),v("")},style:{display:"flex",gap:4},children:[(0,e.jsx)("input",{value:y,onChange:t=>v(t.target.value),placeholder:"Name this layout",maxLength:40,style:{flex:1,minWidth:0,padding:"5px 8px",borderRadius:6,fontSize:11,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(0,0,0,0.25)",color:"#dde"}}),(0,e.jsx)("button",{type:"submit",disabled:!y.trim(),style:{padding:"5px 10px",borderRadius:6,fontSize:11,fontWeight:600,cursor:y.trim()?"pointer":"default",border:"1px solid rgba(52,152,219,0.6)",background:"rgba(52,152,219,0.18)",color:y.trim()?"#cfe6f7":"#667"},children:"Save"})]}),(0,e.jsx)("div",{style:u,children:"Share"}),(0,e.jsx)("button",{disabled:!!m,onClick:()=>S("picture",i.savePicture),style:{width:"100%",padding:"6px 10px",borderRadius:6,fontSize:11,fontWeight:600,cursor:m?"default":"pointer",border:"1px solid rgba(52,152,219,0.6)",background:"rgba(52,152,219,0.18)",color:"#cfe6f7"},children:"picture"===m?"Saving…":"Save a picture of the Galaxy"}),(0,e.jsx)("div",{style:{...c,marginTop:4},children:"A PNG of what’s on screen, at twice the size. It shows real names, so check it before you post it."}),b&&(0,e.jsx)("div",{style:{...c,color:"#e67e73",marginTop:4},children:b}),(0,e.jsx)("button",{onClick:()=>{(0,r.stopReplay)(),(0,r.setClock)({find:""}),(0,r.setLab)(null)},style:{marginTop:10,width:"100%",padding:"6px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid rgba(255,255,255,0.1)",background:"rgba(255,255,255,0.04)",color:"#aaa"},children:"Reset to today’s layout"})]})}])},30215,t=>{"use strict";var e=t.i(71645),n=t.i(40996);t.s(["default",0,function(){return(0,e.useSyncExternalStore)(n.watchScanner,n.scannerNow,()=>n.SCANNER_UNKNOWN)}])},61121,t=>{"use strict";var e=t.i(39160);let n=null,r=`
2
- .lab-focus .gn:not(.lit), .lab-focus .gl:not(.lit) { opacity: 0.06; }
3
- .lab-focus .gl.lit { stroke-opacity: 0.7; }
4
- .lab-focus .dot-rings, .lab-focus .catalyst-ring { opacity: 0.15; }
5
- .lab-find .gn:not(.found), .lab-find .gl:not(.found) { opacity: 0.07; }
6
- .lab-find .gn.found { stroke: #fff; stroke-width: 2px; }
7
- `;async function i(t,e,i){var o;let a,s,l,u,c=await ((a=(o=n.svg).cloneNode(!0)).setAttribute("xmlns","http://www.w3.org/2000/svg"),a.setAttribute("font-family",getComputedStyle(o).fontFamily||"system-ui, sans-serif"),(s=document.createElementNS("http://www.w3.org/2000/svg","style")).textContent=r,a.insertBefore(s,a.firstChild),l=new XMLSerializer().serializeToString(a),(u=new Image).src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(l)}`,u.decode().then(()=>u));t.fillStyle="#0a0a1a",t.fillRect(0,0,e,i),t.drawImage(c,0,0,e,i);let h=e/n.svg.clientWidth;t.save(),t.scale(h,h);let f=e/h,d=i/h,p=n.stamp();if(p){t.font="600 15px -apple-system, system-ui, sans-serif";let e=t.measureText(p).width;t.fillStyle="rgba(10,15,30,0.85)",t.beginPath(),t.roundRect?.(f/2-e/2-16,d-52,e+32,32,16),t.fill(),t.fillStyle="#e6edf5",t.textAlign="center",t.fillText(p,f/2,d-31)}t.textAlign="left",t.font="11px -apple-system, system-ui, sans-serif";let g=20;for(let[e,r]of n.legend())t.fillStyle=r,t.beginPath(),t.arc(g+4,d-24,4,0,2*Math.PI),t.fill(),t.fillStyle="#9aa",t.fillText(e,g+12,d-20),g+=20+t.measureText(e).width;t.textAlign="right",t.fillStyle="rgba(255,255,255,0.35)",t.fillText("Six Degrees",f-16,24),t.restore()}function o(t,e){let n=URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.download=e,r.style.position="fixed",r.style.left="-9999px",document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),6e4)}let a=()=>new Date().toISOString().slice(0,10);function s(t){let e=Math.round(n.svg.clientWidth*t),r=Math.round(n.svg.clientHeight*t),i=document.createElement("canvas");return i.width=e,i.height=r,{canvas:i,ctx:i.getContext("2d"),w:e,h:r}}async function l(){if(!n)throw Error("Open the Galaxy first.");let{canvas:t,ctx:e,w:r,h:l}=s(2);await i(e,r,l),o(await new Promise(e=>t.toBlob(e,"image/png")),`six-degrees-galaxy-${a()}.png`)}let u=()=>void 0!==window.MediaRecorder&&"u">typeof HTMLCanvasElement&&"function"==typeof HTMLCanvasElement.prototype.captureStream;async function c(){if(!n)throw Error("Open the Galaxy first.");if(!u())throw Error("This window can’t record video.");let{canvas:t,ctx:r,w:l,h:c}=s(1),h=["video/mp4;codecs=avc1","video/webm;codecs=vp9","video/webm","video/mp4"].find(t=>MediaRecorder.isTypeSupported(t));if(!h)throw Error("This window can’t record video.");await i(r,l,c);let f=new MediaRecorder(t.captureStream(12),{mimeType:h,videoBitsPerSecond:6e6}),d=[];f.ondataavailable=t=>{t.data.size&&d.push(t.data)};let p=new Promise(t=>{f.onstop=t});f.start(250),(0,e.pause)(),(0,e.setClock)({at:(0,e.clockNow)().min}),(0,e.play)();let g=!1;await new Promise(t=>{let n=setInterval(async()=>{if(!g){g=!0;try{await i(r,l,c)}finally{g=!1}(0,e.clockNow)().playing||(clearInterval(n),setTimeout(t,600))}},1e3/12)}),await i(r,l,c),f.stop(),await p;let y=h.startsWith("video/mp4")?"mp4":"webm";o(new Blob(d,{type:h.split(";")[0]}),`six-degrees-replay-${a()}.${y}`)}t.s(["canRecord",0,u,"recordReplay",0,c,"registerGalaxy",0,function(t){return n=t,()=>{n===t&&(n=null)}},"savePicture",0,l])},44902,t=>{"use strict";let e=["S","A","B","C","D"],n=[1,2,3,4,5,6],r=t=>e.includes(t)?t:"D",i=(t=n)=>({hidden:[],degrees:Object.fromEntries(e.map(e=>[e,t.slice()]))}),o=Object.freeze(i([1])),a=Object.freeze(i()),s=(t,e,n)=>t?.[e]?.[n]||0;function l(t,e,n){return t.hidden.includes(n)?0:t.degrees[n].reduce((t,r)=>t+s(e,n,r),0)}let u=(t,n)=>e.reduce((e,r)=>e+l(t,n,r),0),c=(t,e,n)=>n&&0===u(e,n)?t:e;t.s(["DEGREES_GRID",0,a,"GRID_DEGREES",0,n,"NETWORK_GRID",0,o,"TIERS",0,e,"gridCounts",0,function(t={}){let n=Object.fromEntries(e.map(t=>[t,{}]));for(let[e,i]of Object.entries(t))for(let t of i||[]){let i=r(t?.tier);n[i][e]=(n[i][e]||0)+1}return n},"makeGrid",0,i,"showAllTiers",0,t=>t.hidden.length?{...t,hidden:[]}:t,"showing",0,u,"showingIn",0,l,"shows",0,function(t,e,n){let i=r(e);return!t.hidden.includes(i)&&t.degrees[i].includes(n)},"toggleCell",0,function(t,e,n,r){let i=t.degrees[e].includes(n),o=t.hidden.includes(e),a=o||!i?[...new Set([...t.degrees[e],n])].sort((t,e)=>t-e):t.degrees[e].filter(t=>t!==n);return c(t,{hidden:o?t.hidden.filter(t=>t!==e):t.hidden,degrees:{...t.degrees,[e]:a}},r)},"toggleDegree",0,function(t,n,r){let i=e.filter(e=>!t.hidden.includes(e)&&(!r||s(r,e,n)>0));if(!i.length)return t;let o=i.every(e=>t.degrees[e].includes(n)),a={...t.degrees};for(let t of i)a[t]=o?a[t].filter(t=>t!==n):[...new Set([...a[t],n])].sort((t,e)=>t-e);return c(t,{...t,degrees:a},r)},"toggleTier",0,function(t,n,r){if(!t.hidden.includes(n))return c(t,{...t,hidden:[...t.hidden,n]},r);let i=t.degrees[n],o=[...new Set(e.flatMap(e=>e===n?[]:t.degrees[e]))].sort((t,e)=>t-e);return{hidden:t.hidden.filter(t=>t!==n),degrees:i.length?t.degrees:{...t.degrees,[n]:o.length?o:[1]}}}])},36534,t=>{"use strict";var e=t.i(50768),n=t.i(23731),r=t.i(49260);function i(t){return t.x+t.vx}function o(t){return t.y+t.vy}t.s(["forceCollide",0,function(t){var a,s,l,u=1,c=1;function h(){for(var t,n,h,d,p,g,y,v=a.length,m=0;m<c;++m)for(n=(0,e.quadtree)(a,i,o).visitAfter(f),t=0;t<v;++t)y=(g=s[(h=a[t]).index])*g,d=h.x+h.vx,p=h.y+h.vy,n.visit(x);function x(t,e,n,i,o){var a=t.data,s=t.r,c=g+s;if(a){if(a.index>h.index){var f=d-a.x-a.vx,v=p-a.y-a.vy,m=f*f+v*v;m<c*c&&(0===f&&(m+=(f=(0,r.default)(l))*f),0===v&&(m+=(v=(0,r.default)(l))*v),m=(c-(m=Math.sqrt(m)))/m*u,h.vx+=(f*=m)*(c=(s*=s)/(y+s)),h.vy+=(v*=m)*c,a.vx-=f*(c=1-c),a.vy-=v*c)}return}return e>d+c||i<d-c||n>p+c||o<p-c}}function f(t){if(t.data)return t.r=s[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function d(){if(a){var e,n,r=a.length;for(s=Array(r),e=0;e<r;++e)s[(n=a[e]).index]=+t(n,e,a)}}return"function"!=typeof t&&(t=(0,n.default)(null==t?1:+t)),h.initialize=function(t,e){a=t,l=e,d()},h.iterations=function(t){return arguments.length?(c=+t,h):c},h.strength=function(t){return arguments.length?(u=+t,h):u},h.radius=function(e){return arguments.length?(t="function"==typeof e?e:(0,n.default)(+e),d(),h):t},h}],36534)},23731,49260,t=>{"use strict";t.s(["default",0,function(t){return function(){return t}}],23731),t.s(["default",0,function(t){return(t()-.5)*1e-6}],49260)},77899,t=>{"use strict";var e=t.i(23731),n=t.i(49260);function r(t){return t.index}function i(t,e){var n=t.get(e);if(!n)throw Error("node not found: "+e);return n}t.s(["forceLink",0,function(t){var o,a,s,l,u,c,h=r,f=function(t){return 1/Math.min(l[t.source.index],l[t.target.index])},d=(0,e.default)(30),p=1;function g(e){for(var r=0,i=t.length;r<p;++r)for(var s,l,h,f,d,g,y,v=0;v<i;++v)l=(s=t[v]).source,g=((g=Math.sqrt((f=(h=s.target).x+h.vx-l.x-l.vx||(0,n.default)(c))*f+(d=h.y+h.vy-l.y-l.vy||(0,n.default)(c))*d))-a[v])/g*e*o[v],f*=g,d*=g,h.vx-=f*(y=u[v]),h.vy-=d*y,l.vx+=f*(y=1-y),l.vy+=d*y}function y(){if(s){var e,n,r=s.length,c=t.length,f=new Map(s.map((t,e)=>[h(t,e,s),t]));for(e=0,l=Array(r);e<c;++e)(n=t[e]).index=e,"object"!=typeof n.source&&(n.source=i(f,n.source)),"object"!=typeof n.target&&(n.target=i(f,n.target)),l[n.source.index]=(l[n.source.index]||0)+1,l[n.target.index]=(l[n.target.index]||0)+1;for(e=0,u=Array(c);e<c;++e)n=t[e],u[e]=l[n.source.index]/(l[n.source.index]+l[n.target.index]);o=Array(c),v(),a=Array(c),m()}}function v(){if(s)for(var e=0,n=t.length;e<n;++e)o[e]=+f(t[e],e,t)}function m(){if(s)for(var e=0,n=t.length;e<n;++e)a[e]=+d(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t,e){s=t,c=e,y()},g.links=function(e){return arguments.length?(t=e,y(),g):t},g.id=function(t){return arguments.length?(h=t,g):h},g.iterations=function(t){return arguments.length?(p=+t,g):p},g.strength=function(t){return arguments.length?(f="function"==typeof t?t:(0,e.default)(+t),v(),g):f},g.distance=function(t){return arguments.length?(d="function"==typeof t?t:(0,e.default)(+t),m(),g):d},g}],77899)},17983,t=>{"use strict";var e=t.i(50768),n=t.i(23731),r=t.i(49260),i=t.i(909);t.s(["forceManyBody",0,function(){var t,o,a,s,l,u=(0,n.default)(-30),c=1,h=1/0,f=.81;function d(n){var r,a=t.length,l=(0,e.quadtree)(t,i.x,i.y).visitAfter(g);for(s=n,r=0;r<a;++r)o=t[r],l.visit(y)}function p(){if(t){var e,n,r=t.length;for(l=Array(r),e=0;e<r;++e)l[(n=t[e]).index]=+u(n,e,t)}}function g(t){var e,n,r,i,o,a=0,s=0;if(t.length){for(r=i=o=0;o<4;++o)(e=t[o])&&(n=Math.abs(e.value))&&(a+=e.value,s+=n,r+=n*e.x,i+=n*e.y);t.x=r/s,t.y=i/s}else{(e=t).x=e.data.x,e.y=e.data.y;do a+=l[e.data.index];while(e=e.next)}t.value=a}function y(t,e,n,i){if(!t.value)return!0;var u=t.x-o.x,d=t.y-o.y,p=i-e,g=u*u+d*d;if(p*p/f<g)return g<h&&(0===u&&(g+=(u=(0,r.default)(a))*u),0===d&&(g+=(d=(0,r.default)(a))*d),g<c&&(g=Math.sqrt(c*g)),o.vx+=u*t.value*s/g,o.vy+=d*t.value*s/g),!0;if(!t.length&&!(g>=h)){(t.data!==o||t.next)&&(0===u&&(g+=(u=(0,r.default)(a))*u),0===d&&(g+=(d=(0,r.default)(a))*d),g<c&&(g=Math.sqrt(c*g)));do t.data!==o&&(p=l[t.data.index]*s/g,o.vx+=u*p,o.vy+=d*p);while(t=t.next)}}return d.initialize=function(e,n){t=e,a=n,p()},d.strength=function(t){return arguments.length?(u="function"==typeof t?t:(0,n.default)(+t),p(),d):u},d.distanceMin=function(t){return arguments.length?(c=t*t,d):Math.sqrt(c)},d.distanceMax=function(t){return arguments.length?(h=t*t,d):Math.sqrt(h)},d.theta=function(t){return arguments.length?(f=t*t,d):Math.sqrt(f)},d}],17983)},909,t=>{"use strict";var e=t.i(91889),n=t.i(60208),r=Math.PI*(3-Math.sqrt(5));t.s(["default",0,function(t){let i;var o,a=1,s=.001,l=1-Math.pow(.001,1/300),u=0,c=.6,h=new Map,f=(0,n.timer)(g),d=(0,e.dispatch)("tick","end"),p=(i=1,()=>(i=(1664525*i+0x3c6ef35f)%0x100000000)/0x100000000);function g(){y(),d.call("tick",o),a<s&&(f.stop(),d.call("end",o))}function y(e){var n,r,i=t.length;void 0===e&&(e=1);for(var s=0;s<e;++s)for(a+=(u-a)*l,h.forEach(function(t){t(a)}),n=0;n<i;++n)null==(r=t[n]).fx?r.x+=r.vx*=c:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=c:(r.y=r.fy,r.vy=0);return o}function v(){for(var e,n=0,i=t.length;n<i;++n){if((e=t[n]).index=n,null!=e.fx&&(e.x=e.fx),null!=e.fy&&(e.y=e.fy),isNaN(e.x)||isNaN(e.y)){var o=10*Math.sqrt(.5+n),a=n*r;e.x=o*Math.cos(a),e.y=o*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function m(e){return e.initialize&&e.initialize(t,p),e}return null==t&&(t=[]),v(),o={tick:y,restart:function(){return f.restart(g),o},stop:function(){return f.stop(),o},nodes:function(e){return arguments.length?(t=e,v(),h.forEach(m),o):t},alpha:function(t){return arguments.length?(a=+t,o):a},alphaMin:function(t){return arguments.length?(s=+t,o):s},alphaDecay:function(t){return arguments.length?(l=+t,o):+l},alphaTarget:function(t){return arguments.length?(u=+t,o):u},velocityDecay:function(t){return arguments.length?(c=1-t,o):1-c},randomSource:function(t){return arguments.length?(p=t,h.forEach(m),o):p},force:function(t,e){return arguments.length>1?(null==e?h.delete(t):h.set(t,m(e)),o):h.get(t)},find:function(e,n,r){var i,o,a,s,l,u=0,c=t.length;for(null==r?r=1/0:r*=r,u=0;u<c;++u)(a=(i=e-(s=t[u]).x)*i+(o=n-s.y)*o)<r&&(l=s,r=a);return l},on:function(t,e){return arguments.length>1?(d.on(t,e),o):d.on(t)}}},"x",0,function(t){return t.x},"y",0,function(t){return t.y}],909)},43079,t=>{"use strict";var e=t.i(909);t.s(["forceSimulation",()=>e.default])},52048,47560,t=>{"use strict";var e=t.i(23731);t.s(["forceX",0,function(t){var n,r,i,o=(0,e.default)(.1);function a(t){for(var e,o=0,a=n.length;o<a;++o)e=n[o],e.vx+=(i[o]-e.x)*r[o]*t}function s(){if(n){var e,a=n.length;for(r=Array(a),i=Array(a),e=0;e<a;++e)r[e]=isNaN(i[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}return"function"!=typeof t&&(t=(0,e.default)(null==t?0:+t)),a.initialize=function(t){n=t,s()},a.strength=function(t){return arguments.length?(o="function"==typeof t?t:(0,e.default)(+t),s(),a):o},a.x=function(n){return arguments.length?(t="function"==typeof n?n:(0,e.default)(+n),s(),a):t},a}],52048),t.s(["forceY",0,function(t){var n,r,i,o=(0,e.default)(.1);function a(t){for(var e,o=0,a=n.length;o<a;++o)e=n[o],e.vy+=(i[o]-e.y)*r[o]*t}function s(){if(n){var e,a=n.length;for(r=Array(a),i=Array(a),e=0;e<a;++e)r[e]=isNaN(i[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}return"function"!=typeof t&&(t=(0,e.default)(null==t?0:+t)),a.initialize=function(t){n=t,s()},a.strength=function(t){return arguments.length?(o="function"==typeof t?t:(0,e.default)(+t),s(),a):o},a.y=function(n){return arguments.length?(t="function"==typeof n?n:(0,e.default)(+n),s(),a):t},a}],47560)},50768,t=>{"use strict";function e(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,o,a,s,l,u,c,h,f,d=t._root,p={data:r},g=t._x0,y=t._y0,v=t._x1,m=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((u=e>=(o=(g+v)/2))?g=o:v=o,(c=n>=(a=(y+m)/2))?y=a:m=a,i=d,!(d=d[h=c<<1|u]))return i[h]=p,t;if(s=+t._x.call(null,d.data),l=+t._y.call(null,d.data),e===s&&n===l)return p.next=d,i?i[h]=p:t._root=p,t;do i=i?i[h]=[,,,,]:t._root=[,,,,],(u=e>=(o=(g+v)/2))?g=o:v=o,(c=n>=(a=(y+m)/2))?y=a:m=a;while((h=c<<1|u)==(f=(l>=a)<<1|s>=o))return i[f]=d,i[h]=p,t}function n(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i}function r(t){return t[0]}function i(t){return t[1]}function o(t,e,n){var o=new a(null==e?r:e,null==n?i:n,NaN,NaN,NaN,NaN);return null==t?o:o.addAll(t)}function a(t,e,n,r,i,o){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function s(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var l=o.prototype=a.prototype;l.copy=function(){var t,e,n=new a(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=s(r),n;for(t=[{source:r,target:n._root=[,,,,]}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=[,,,,]}):r.target[i]=s(e));return n},l.add=function(t){let n=+this._x.call(null,t),r=+this._y.call(null,t);return e(this.cover(n,r),n,r,t)},l.addAll=function(t){var n,r,i,o,a=t.length,s=Array(a),l=Array(a),u=1/0,c=1/0,h=-1/0,f=-1/0;for(r=0;r<a;++r)!(isNaN(i=+this._x.call(null,n=t[r]))||isNaN(o=+this._y.call(null,n)))&&(s[r]=i,l[r]=o,i<u&&(u=i),i>h&&(h=i),o<c&&(c=o),o>f&&(f=o));if(u>h||c>f)return this;for(this.cover(u,c).cover(h,f),r=0;r<a;++r)e(this,s[r],l[r],t[r]);return this},l.cover=function(t,e){if(isNaN(t*=1)||isNaN(e*=1))return this;var n=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(n))i=(n=Math.floor(t))+1,o=(r=Math.floor(e))+1;else{for(var a,s,l=i-n||1,u=this._root;n>t||t>=i||r>e||e>=o;)switch(s=(e<r)<<1|t<n,(a=[,,,,])[s]=u,u=a,l*=2,s){case 0:i=n+l,o=r+l;break;case 1:n=i-l,o=r+l;break;case 2:i=n+l,r=o-l;break;case 3:n=i-l,r=o-l}this._root&&this._root.length&&(this._root=u)}return this._x0=n,this._y0=r,this._x1=i,this._y1=o,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do t.push(e.data);while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,r){var i,o,a,s,l,u,c,h=this._x0,f=this._y0,d=this._x1,p=this._y1,g=[],y=this._root;for(y&&g.push(new n(y,h,f,d,p)),null==r?r=1/0:(h=t-r,f=e-r,d=t+r,p=e+r,r*=r);u=g.pop();)if((y=u.node)&&!((o=u.x0)>d)&&!((a=u.y0)>p)&&!((s=u.x1)<h)&&!((l=u.y1)<f))if(y.length){var v=(o+s)/2,m=(a+l)/2;g.push(new n(y[3],v,m,s,l),new n(y[2],o,m,v,l),new n(y[1],v,a,s,m),new n(y[0],o,a,v,m)),(c=(e>=m)<<1|t>=v)&&(u=g[g.length-1],g[g.length-1]=g[g.length-1-c],g[g.length-1-c]=u)}else{var x=t-this._x.call(null,y.data),b=e-this._y.call(null,y.data),_=x*x+b*b;if(_<r){var w=Math.sqrt(r=_);h=t-w,f=e-w,d=t+w,p=e+w,i=y.data}}return i},l.remove=function(t){if(isNaN(o=+this._x.call(null,t))||isNaN(a=+this._y.call(null,t)))return this;var e,n,r,i,o,a,s,l,u,c,h,f,d=this._root,p=this._x0,g=this._y0,y=this._x1,v=this._y1;if(!d)return this;if(d.length)for(;;){if((u=o>=(s=(p+y)/2))?p=s:y=s,(c=a>=(l=(g+v)/2))?g=l:v=l,e=d,!(d=d[h=c<<1|u]))return this;if(!d.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(n=e,f=h)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return((i=d.next)&&delete d.next,r)?i?r.next=i:delete r.next:e?(i?e[h]=i:delete e[h],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(n?n[f]=d:this._root=d)):this._root=i,this},l.removeAll=function(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit(function(e){if(!e.length)do++t;while(e=e.next)}),t},l.visit=function(t){var e,r,i,o,a,s,l=[],u=this._root;for(u&&l.push(new n(u,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(u=e.node,i=e.x0,o=e.y0,a=e.x1,s=e.y1)&&u.length){var c=(i+a)/2,h=(o+s)/2;(r=u[3])&&l.push(new n(r,c,h,a,s)),(r=u[2])&&l.push(new n(r,i,h,c,s)),(r=u[1])&&l.push(new n(r,c,o,a,h)),(r=u[0])&&l.push(new n(r,i,o,c,h))}return this},l.visitAfter=function(t){var e,r=[],i=[];for(this._root&&r.push(new n(this._root,this._x0,this._y0,this._x1,this._y1));e=r.pop();){var o=e.node;if(o.length){var a,s=e.x0,l=e.y0,u=e.x1,c=e.y1,h=(s+u)/2,f=(l+c)/2;(a=o[0])&&r.push(new n(a,s,l,h,f)),(a=o[1])&&r.push(new n(a,h,l,u,f)),(a=o[2])&&r.push(new n(a,s,f,h,c)),(a=o[3])&&r.push(new n(a,h,f,u,c))}i.push(e)}for(;e=i.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.s(["quadtree",0,o],50768)},47716,91889,57161,48708,23685,36377,90273,561,60208,21972,7394,36755,t=>{"use strict";t.s(["Selection",()=>G,"default",()=>Y,"root",()=>H],48708);var e,n={value:()=>{}};function r(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r||/[\s.]/.test(t))throw Error("illegal type: "+t);r[t]=[]}return new i(r)}function i(t){this._=t}function o(t,e,r){for(var i=0,o=t.length;i<o;++i)if(t[i].name===e){t[i]=n,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=r&&t.push({name:e,value:r}),t}function a(){}function s(t){return null==t?a:function(){return this.querySelector(t)}}function l(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function u(){return[]}function c(t){return null==t?u:function(){return this.querySelectorAll(t)}}function h(t){return function(){return this.matches(t)}}function f(t){return function(e){return e.matches(t)}}i.prototype=r.prototype={constructor:i,on:function(t,e){var n,r=this._,i=(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:e}}),a=-1,s=i.length;if(arguments.length<2){for(;++a<s;)if((n=(t=i[a]).type)&&(n=function(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}(r[n],t.name)))return n;return}if(null!=e&&"function"!=typeof e)throw Error("invalid callback: "+e);for(;++a<s;)if(n=(t=i[a]).type)r[n]=o(r[n],t.name,e);else if(null==e)for(n in r)r[n]=o(r[n],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new i(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(r=this._[t],o=0,n=r.length;o<n;++o)r[o].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}},t.s(["dispatch",0,r],91889),t.s(["default",0,l],57161);var d=Array.prototype.find;function p(){return this.firstElementChild}var g=Array.prototype.filter;function y(){return Array.from(this.children)}function v(t){return Array(t.length)}function m(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function x(t,e,n,r,i,o){for(var a,s=0,l=e.length,u=o.length;s<u;++s)(a=e[s])?(a.__data__=o[s],r[s]=a):n[s]=new m(t,o[s]);for(;s<l;++s)(a=e[s])&&(i[s]=a)}function b(t,e,n,r,i,o,a){var s,l,u,c=new Map,h=e.length,f=o.length,d=Array(h);for(s=0;s<h;++s)(l=e[s])&&(d[s]=u=a.call(l,l.__data__,s,e)+"",c.has(u)?i[s]=l:c.set(u,l));for(s=0;s<f;++s)u=a.call(t,o[s],s,o)+"",(l=c.get(u))?(r[s]=l,l.__data__=o[s],c.delete(u)):n[s]=new m(t,o[s]);for(s=0;s<h;++s)(l=e[s])&&c.get(d[s])===l&&(i[s]=l)}function _(t){return t.__data__}function w(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}m.prototype={constructor:m,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var k="http://www.w3.org/1999/xhtml";let S={svg:"http://www.w3.org/2000/svg",xhtml:k,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function N(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),S.hasOwnProperty(e)?{space:S[e],local:t}:t}function j(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function z(t,e){return t.style.getPropertyValue(e)||j(t).getComputedStyle(t,null).getPropertyValue(e)}function A(t){return t.trim().split(/^|\s+/)}function E(t){return t.classList||new T(t)}function T(t){this._node=t,this._names=A(t.getAttribute("class")||"")}function M(t,e){for(var n=E(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function C(t,e){for(var n=E(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function $(){this.textContent=""}function R(){this.innerHTML=""}function L(){this.nextSibling&&this.parentNode.appendChild(this)}function B(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function D(t){var e=N(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===k&&e.documentElement.namespaceURI===k?e.createElement(t):e.createElementNS(n,t)}})(e)}function P(){return null}function I(){var t=this.parentNode;t&&t.removeChild(this)}function O(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function q(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function W(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,o=e.length;r<o;++r)(n=e[r],t.type&&n.type!==t.type||n.name!==t.name)?e[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?e.length=i:delete this.__on}}}function X(t,e,n){return function(){var r,i=this.__on,o=function(t){e.call(this,t,this.__data__)};if(i){for(var a=0,s=i.length;a<s;++a)if((r=i[a]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),r.value=e;return}}this.addEventListener(t.type,o,n),r={type:t.type,name:t.name,value:e,listener:o,options:n},i?i.push(r):this.__on=[r]}}function F(t,e,n){var r=j(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}T.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var H=[null];function G(t,e){this._groups=t,this._parents=e}function U(){return new G([[document.documentElement]],H)}G.prototype=U.prototype={constructor:G,select:function(t){"function"!=typeof t&&(t=s(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,a,l=e[i],u=l.length,c=r[i]=Array(u),h=0;h<u;++h)(o=l[h])&&(a=t.call(o,o.__data__,h,l))&&("__data__"in o&&(a.__data__=o.__data__),c[h]=a);return new G(r,this._parents)},selectAll:function(t){if("function"==typeof t){var e;e=t,t=function(){return l(e.apply(this,arguments))}}else t=c(t);for(var n=this._groups,r=n.length,i=[],o=[],a=0;a<r;++a)for(var s,u=n[a],h=u.length,f=0;f<h;++f)(s=u[f])&&(i.push(t.call(s,s.__data__,f,u)),o.push(s));return new G(i,o)},selectChild:function(t){var e;return this.select(null==t?p:(e="function"==typeof t?t:f(t),function(){return d.call(this.children,e)}))},selectChildren:function(t){var e;return this.selectAll(null==t?y:(e="function"==typeof t?t:f(t),function(){return g.call(this.children,e)}))},filter:function(t){"function"!=typeof t&&(t=h(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,a=e[i],s=a.length,l=r[i]=[],u=0;u<s;++u)(o=a[u])&&t.call(o,o.__data__,u,a)&&l.push(o);return new G(r,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,_);var n=e?b:x,r=this._parents,i=this._groups;"function"!=typeof t&&(m=t,t=function(){return m});for(var o=i.length,a=Array(o),s=Array(o),l=Array(o),u=0;u<o;++u){var c=r[u],h=i[u],f=h.length,d="object"==typeof(v=t.call(c,c&&c.__data__,u,r))&&"length"in v?v:Array.from(v),p=d.length,g=s[u]=Array(p),y=a[u]=Array(p);n(c,h,g,y,l[u]=Array(f),d,e);for(var v,m,w,k,S=0,N=0;S<p;++S)if(w=g[S]){for(S>=N&&(N=S+1);!(k=y[N])&&++N<p;);w._next=k||null}}return(a=new G(a,r))._enter=s,a._exit=l,a},enter:function(){return new G(this._enter||this._groups.map(v),this._parents)},exit:function(){return new G(this._exit||this._groups.map(v),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=e&&(i=e(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,a=Math.min(i,o),s=Array(i),l=0;l<a;++l)for(var u,c=n[l],h=r[l],f=c.length,d=s[l]=Array(f),p=0;p<f;++p)(u=c[p]||h[p])&&(d[p]=u);for(;l<i;++l)s[l]=n[l];return new G(s,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=w);for(var n=this._groups,r=n.length,i=Array(r),o=0;o<r;++o){for(var a,s=n[o],l=s.length,u=i[o]=Array(l),c=0;c<l;++c)(a=s[c])&&(u[c]=a);u.sort(e)}return new G(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){let t=0;for(let e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,o=e[n],a=0,s=o.length;a<s;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this},attr:function(t,e){var n=N(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof e?n.local?function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}:function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}:n.local?function(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}:function(t,e){return function(){this.setAttribute(t,e)}})(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}:function(t,e,n){return function(){this.style.setProperty(t,e,n)}})(t,e,null==n?"":n)):z(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var n=A(t+"");if(arguments.length<2){for(var r=E(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?function(t,e){return function(){(e.apply(this,arguments)?M:C)(this,t)}}:e?function(t){return function(){M(this,t)}}:function(t){return function(){C(this,t)}})(n,e))},text:function(t){return arguments.length?this.each(null==t?$:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?R:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(L)},lower:function(){return this.each(B)},append:function(t){var e="function"==typeof t?t:D(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})},insert:function(t,e){var n="function"==typeof t?t:D(t),r=null==e?P:"function"==typeof e?e:s(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(I)},clone:function(t){return this.select(t?q:O)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,o=(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}),a=o.length;if(arguments.length<2){var s=this.node().__on;if(s){for(var l,u=0,c=s.length;u<c;++u)for(r=0,l=s[u];r<a;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value}return}for(s=e?X:W,r=0;r<a;++r)this.each(s(o[r],e,n));return this},dispatch:function(t,e){return this.each(("function"==typeof e?function(t,e){return function(){return F(this,t,e.apply(this,arguments))}}:function(t,e){return function(){return F(this,t,e)}})(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r,i=t[e],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};let Y=U;function V(t){return"string"==typeof t?new G([[document.querySelector(t)]],[document.documentElement]):new G([[t]],H)}t.s(["select",0,V],23685);let K={capture:!0,passive:!1};function Q(t){t.preventDefault(),t.stopImmediatePropagation()}function J(t){var e=t.document.documentElement,n=V(t).on("dragstart.drag",Q,K);"onselectstart"in e?n.on("selectstart.drag",Q,K):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Z(t,e){var n=t.document.documentElement,r=V(t).on("dragstart.drag",null);e&&(r.on("click.drag",Q,K),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function tt(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function te(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function tn(){}t.s(["default",0,Q,"nonpassive",0,{passive:!1},"nonpassivecapture",0,K,"nopropagation",0,function(t){t.stopImmediatePropagation()}],36377),t.s(["default",0,J,"yesdrag",0,Z],90273);var tr="\\s*([+-]?\\d+)\\s*",ti="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",to="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",ta=/^#([0-9a-f]{3,8})$/,ts=RegExp(`^rgb\\(${tr},${tr},${tr}\\)$`),tl=RegExp(`^rgb\\(${to},${to},${to}\\)$`),tu=RegExp(`^rgba\\(${tr},${tr},${tr},${ti}\\)$`),tc=RegExp(`^rgba\\(${to},${to},${to},${ti}\\)$`),th=RegExp(`^hsl\\(${ti},${to},${to}\\)$`),tf=RegExp(`^hsla\\(${ti},${to},${to},${ti}\\)$`),td={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function tp(){return this.rgb().formatHex()}function tg(){return this.rgb().formatRgb()}function ty(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=ta.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?tv(e):3===n?new tb(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?tm(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?tm(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=ts.exec(t))?new tb(e[1],e[2],e[3],1):(e=tl.exec(t))?new tb(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=tu.exec(t))?tm(e[1],e[2],e[3],e[4]):(e=tc.exec(t))?tm(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=th.exec(t))?tj(e[1],e[2]/100,e[3]/100,1):(e=tf.exec(t))?tj(e[1],e[2]/100,e[3]/100,e[4]):td.hasOwnProperty(t)?tv(td[t]):"transparent"===t?new tb(NaN,NaN,NaN,0):null}function tv(t){return new tb(t>>16&255,t>>8&255,255&t,1)}function tm(t,e,n,r){return r<=0&&(t=e=n=NaN),new tb(t,e,n,r)}function tx(t,e,n,r){var i;return 1==arguments.length?((i=t)instanceof tn||(i=ty(i)),i)?new tb((i=i.rgb()).r,i.g,i.b,i.opacity):new tb:new tb(t,e,n,null==r?1:r)}function tb(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function t_(){return`#${tN(this.r)}${tN(this.g)}${tN(this.b)}`}function tw(){let t=tk(this.opacity);return`${1===t?"rgb(":"rgba("}${tS(this.r)}, ${tS(this.g)}, ${tS(this.b)}${1===t?")":`, ${t})`}`}function tk(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function tS(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function tN(t){return((t=tS(t))<16?"0":"")+t.toString(16)}function tj(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new tA(t,e,n,r)}function tz(t){if(t instanceof tA)return new tA(t.h,t.s,t.l,t.opacity);if(t instanceof tn||(t=ty(t)),!t)return new tA;if(t instanceof tA)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(a=e===o?(n-r)/s+(n<r)*6:n===o?(r-e)/s+2:(e-n)/s+4,s/=l<.5?o+i:2-o-i,a*=60):s=l>0&&l<1?0:a,new tA(a,s,l,t.opacity)}function tA(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function tE(t){return(t=(t||0)%360)<0?t+360:t}function tT(t){return Math.max(0,Math.min(1,t||0))}function tM(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function tC(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}tt(tn,ty,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:tp,formatHex:tp,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tz(this).formatHsl()},formatRgb:tg,toString:tg}),tt(tb,tx,te(tn,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tb(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tb(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new tb(tS(this.r),tS(this.g),tS(this.b),tk(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:t_,formatHex:t_,formatHex8:function(){return`#${tN(this.r)}${tN(this.g)}${tN(this.b)}${tN((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:tw,toString:tw})),tt(tA,function(t,e,n,r){return 1==arguments.length?tz(t):new tA(t,e,n,null==r?1:r)},te(tn,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tA(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tA(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new tb(tM(t>=240?t-240:t+120,i,r),tM(t,i,r),tM(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new tA(tE(this.h),tT(this.s),tT(this.l),tk(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=tk(this.opacity);return`${1===t?"hsl(":"hsla("}${tE(this.h)}, ${100*tT(this.s)}%, ${100*tT(this.l)}%${1===t?")":`, ${t})`}`}}));let t$=t=>()=>t;function tR(t,e){var n=e-t;return n?function(e){return t+e*n}:t$(isNaN(t)?e:t)}let tL=function t(e){var n,r=1==(n=+e)?tR:function(t,e){var r,i,o;return e-t?(r=t,i=e,r=Math.pow(r,o=n),i=Math.pow(i,o)-r,o=1/o,function(t){return Math.pow(r+t*i,o)}):t$(isNaN(t)?e:t)};function i(t,e){var n=r((t=tx(t)).r,(e=tx(e)).r),i=r(t.g,e.g),o=r(t.b,e.b),a=tR(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=o(e),t.opacity=a(e),t+""}}return i.gamma=t,i}(1);function tB(t){return function(e){var n,r,i=e.length,o=Array(i),a=Array(i),s=Array(i);for(n=0;n<i;++n)r=tx(e[n]),o[n]=r.r||0,a[n]=r.g||0,s[n]=r.b||0;return o=t(o),a=t(a),s=t(s),r.opacity=1,function(t){return r.r=o(t),r.g=a(t),r.b=s(t),r+""}}}function tD(t,e){return t*=1,e*=1,function(n){return t*(1-n)+e*n}}tB(function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,s=r<e-1?t[r+2]:2*o-i;return tC((n-r/e)*e,a,i,o,s)}}),tB(function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],o=t[r%e],a=t[(r+1)%e],s=t[(r+2)%e];return tC((n-r/e)*e,i,o,a,s)}});var tP=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tI=RegExp(tP.source,"g");function tO(t,e){if(t=function(t){let e;for(;e=t.sourceEvent;)t=e;return t}(t),void 0===e&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(e.getScreenCTM().inverse())).x,r.y]}if(e.getBoundingClientRect){var i=e.getBoundingClientRect();return[t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop]}}return[t.pageX,t.pageY]}t.s(["pointer",0,tO],561);var tq,tW,tX=0,tF=0,tH=0,tG=0,tU=0,tY=0,tV="object"==typeof performance&&performance.now?performance:Date,tK="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function tQ(){return tU||(tK(tJ),tU=tV.now()+tY)}function tJ(){tU=0}function tZ(){this._call=this._time=this._next=null}function t0(t,e,n){var r=new tZ;return r.restart(t,e,n),r}function t1(){tU=(tG=tV.now())+tY,tX=tF=0;try{tQ(),++tX;for(var t,e=tq;e;)(t=tU-e._time)>=0&&e._call.call(void 0,t),e=e._next;--tX}finally{tX=0,function(){for(var t,e,n=tq,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:tq=e);tW=t,t5(r)}(),tU=0}}function t2(){var t=tV.now(),e=t-tG;e>1e3&&(tY-=e,tG=t)}function t5(t){!tX&&(tF&&(tF=clearTimeout(tF)),t-tU>24?(t<1/0&&(tF=setTimeout(t1,t-tV.now()-tY)),tH&&(tH=clearInterval(tH))):(tH||(tG=tV.now(),tH=setInterval(t2,1e3)),tX=1,tK(t1)))}function t6(t,e,n){var r=new tZ;return e=null==e?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,n),r}tZ.prototype=t0.prototype={constructor:tZ,restart:function(t,e,n){if("function"!=typeof t)throw TypeError("callback is not a function");n=(null==n?tQ():+n)+(null==e?0:+e),this._next||tW===this||(tW?tW._next=this:tq=this,tW=this),this._call=t,this._time=n,t5()},stop:function(){this._call&&(this._call=null,this._time=1/0,t5())}},t.s(["Timer",0,tZ,"now",0,tQ,"timer",0,t0],60208);var t3=r("start","end","cancel","interrupt"),t4=[];function t8(t,e,n,r,i,o){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function o(l){var u,c,h,f;if(1!==n.state)return s();for(u in i)if((f=i[u]).name===n.name){if(3===f.state)return t6(o);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[u]):+u<e&&(f.state=6,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete i[u])}if(t6(function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(n.state=3,r=Array(h=n.tween.length),u=0,c=-1;u<h;++u)(f=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(r[++c]=f);r.length=c+1}}function a(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(s),n.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(t,i);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),s())}function s(){for(var r in n.state=6,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=t0(function(t){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=t&&o(t-n.delay)},0,n.time)}(t,n,{name:e,index:r,group:i,on:t3,tween:t4,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function t9(t,e){var n=et(t,e);if(n.state>0)throw Error("too late; already scheduled");return n}function t7(t,e){var n=et(t,e);if(n.state>3)throw Error("too late; already running");return n}function et(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw Error("transition not found");return n}function ee(t,e){var n,r,i,o=t.__transition,a=!0;if(o){for(i in e=null==e?null:e+"",o){if((n=o[i]).name!==e){a=!1;continue}r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete o[i]}a&&delete t.__transition}}var en=180/Math.PI,er={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ei(t,e,n,r,i,o){var a,s,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),t*r<e*n&&(t=-t,e=-e,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*en,skewX:Math.atan(l)*en,scaleX:a,scaleY:s}}function eo(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(o,a){var s,l,u,c,h=[],f=[];return o=t(o),a=t(a),!function(t,r,i,o,a,s){if(t!==i||r!==o){var l=a.push("translate(",null,e,null,n);s.push({i:l-4,x:tD(t,i)},{i:l-2,x:tD(r,o)})}else(i||o)&&a.push("translate("+i+e+o+n)}(o.translateX,o.translateY,a.translateX,a.translateY,h,f),s=o.rotate,l=a.rotate,s!==l?(s-l>180?l+=360:l-s>180&&(s+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:tD(s,l)})):l&&h.push(i(h)+"rotate("+l+r),u=o.skewX,c=a.skewX,u!==c?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:tD(u,c)}):c&&h.push(i(h)+"skewX("+c+r),!function(t,e,n,r,o,a){if(t!==n||e!==r){var s=o.push(i(o)+"scale(",null,",",null,")");a.push({i:s-4,x:tD(t,n)},{i:s-2,x:tD(e,r)})}else(1!==n||1!==r)&&o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,h,f),o=a=null,function(t){for(var e,n=-1,r=f.length;++n<r;)h[(e=f[n]).i]=e.x(t);return h.join("")}}}var ea=eo(function(t){let e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?er:ei(e.a,e.b,e.c,e.d,e.e,e.f)},"px, ","px)","deg)"),es=eo(function(t){return null==t?er:(e||(e=document.createElementNS("http://www.w3.org/2000/svg","g")),e.setAttribute("transform",t),t=e.transform.baseVal.consolidate())?ei((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):er},", ",")",")");function el(t,e,n){var r=t._id;return t.each(function(){var t=t7(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)}),function(t){return et(t,r).value[e]}}function eu(t,e){var n;return("number"==typeof e?tD:e instanceof ty?tL:(n=ty(e))?(e=n,tL):function(t,e){var n,r,i,o,a,s=tP.lastIndex=tI.lastIndex=0,l=-1,u=[],c=[];for(t+="",e+="";(i=tP.exec(t))&&(o=tI.exec(e));)(a=o.index)>s&&(a=e.slice(s,a),u[l]?u[l]+=a:u[++l]=a),(i=i[0])===(o=o[0])?u[l]?u[l]+=o:u[++l]=o:(u[++l]=null,c.push({i:l,x:tD(i,o)})),s=tI.lastIndex;return s<e.length&&(a=e.slice(s),u[l]?u[l]+=a:u[++l]=a),u.length<2?c[0]?(n=c[0].x,function(t){return n(t)+""}):(r=e,function(){return r}):(e=c.length,function(t){for(var n,r=0;r<e;++r)u[(n=c[r]).i]=n.x(t);return u.join("")})})(t,e)}var ec=Y.prototype.constructor;function eh(t){return function(){this.style.removeProperty(t)}}var ef=0;function ed(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}var ep=Y.prototype;function eg(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}ed.prototype=(function(t){return Y().transition(t)}).prototype={constructor:ed,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=s(t));for(var r=this._groups,i=r.length,o=Array(i),a=0;a<i;++a)for(var l,u,c=r[a],h=c.length,f=o[a]=Array(h),d=0;d<h;++d)(l=c[d])&&(u=t.call(l,l.__data__,d,c))&&("__data__"in l&&(u.__data__=l.__data__),f[d]=u,t8(f[d],e,n,d,f,et(l,n)));return new ed(o,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=c(t));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l,u=r[s],h=u.length,f=0;f<h;++f)if(l=u[f]){for(var d,p=t.call(l,l.__data__,f,u),g=et(l,n),y=0,v=p.length;y<v;++y)(d=p[y])&&t8(d,e,n,y,p,g);o.push(p),a.push(l)}return new ed(o,a,e,n)},selectChild:ep.selectChild,selectChildren:ep.selectChildren,filter:function(t){"function"!=typeof t&&(t=h(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,a=e[i],s=a.length,l=r[i]=[],u=0;u<s;++u)(o=a[u])&&t.call(o,o.__data__,u,a)&&l.push(o);return new ed(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var e=this._groups,n=t._groups,r=e.length,i=n.length,o=Math.min(r,i),a=Array(r),s=0;s<o;++s)for(var l,u=e[s],c=n[s],h=u.length,f=a[s]=Array(h),d=0;d<h;++d)(l=u[d]||c[d])&&(f[d]=l);for(;s<r;++s)a[s]=e[s];return new ed(a,this._parents,this._name,this._id)},selection:function(){return new ec(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=++ef,r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],l=s.length,u=0;u<l;++u)if(a=s[u]){var c=et(a,e);t8(a,t,n,u,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new ed(r,this._parents,t,n)},call:ep.call,nodes:ep.nodes,node:ep.node,size:ep.size,empty:ep.empty,each:ep.each,on:function(t,e){var n,r,i,o,a,s,l=this._id;return arguments.length<2?et(this.node(),l).on.on(t):this.each((n=l,r=t,i=e,s=(r+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})?t9:t7,function(){var t=s(this,n),e=t.on;e!==o&&(a=(o=e).copy()).on(r,i),t.on=a}))},attr:function(t,e){var n=N(t),r="transform"===n?es:eu;return this.attrTween(t,"function"==typeof e?(n.local?function(t,e,n){var r,i,o;return function(){var a,s,l=n(this);return null==l?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local))===(s=l+"")?null:a===r&&s===i?o:(i=s,o=e(r=a,l))}}:function(t,e,n){var r,i,o;return function(){var a,s,l=n(this);return null==l?void this.removeAttribute(t):(a=this.getAttribute(t))===(s=l+"")?null:a===r&&s===i?o:(i=s,o=e(r=a,l))}})(n,r,el(this,"attr."+t,e)):null==e?(n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(n):(n.local?function(t,e,n){var r,i,o=n+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=e(r=a,n)}}:function(t,e,n){var r,i,o=n+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=e(r=a,n)}})(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw Error();var r=N(t);return this.tween(n,(r.local?function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttributeNS(t.space,t.local,i.call(this,e))}),n}return i._value=e,i}:function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttribute(t,i.call(this,e))}),n}return i._value=e,i})(r,e))},style:function(t,e,n){var r,i,o,a,s,l,u,c,h,f,d,p,g,y,v,m,x,b,_,w,k,S="transform"==(t+="")?ea:eu;return null==e?this.styleTween(t,(r=t,function(){var t=z(this,r),e=(this.style.removeProperty(r),z(this,r));return t===e?null:t===i&&e===o?a:a=S(i=t,o=e)})).on("end.style."+t,eh(t)):"function"==typeof e?this.styleTween(t,(s=t,l=el(this,"style."+t,e),function(){var t=z(this,s),e=l(this),n=e+"";return null==e&&(this.style.removeProperty(s),n=e=z(this,s)),t===n?null:t===u&&n===c?h:(c=n,h=S(u=t,e))})).each((f=this._id,x="end."+(m="style."+(d=t)),function(){var t=t7(this,f),e=t.on,n=null==t.value[m]?v||(v=eh(d)):void 0;(e!==p||y!==n)&&(g=(p=e).copy()).on(x,y=n),t.on=g})):this.styleTween(t,(b=t,k=e+"",function(){var t=z(this,b);return t===k?null:t===_?w:w=S(_=t,e)}),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw Error();return this.tween(r,function(t,e,n){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e){this.style.setProperty(t,o.call(this,e),n)}),r}return o._value=e,o}(t,e,null==n?"":n))},text:function(t){var e,n;return this.tween("text","function"==typeof t?(e=el(this,"text",t),function(){var t=e(this);this.textContent=null==t?"":t}):(n=null==t?"":t+"",function(){this.textContent=n}))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw Error();return this.tween(e,function(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&function(t){this.textContent=r.call(this,t)}),e}return r._value=t,r}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=et(this.node(),n).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==e?function(t,e){var n,r;return function(){var i=t7(this,t),o=i.tween;if(o!==n){r=n=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===e){(r=r.slice()).splice(a,1);break}}i.tween=r}}:function(t,e,n){var r,i;if("function"!=typeof n)throw Error();return function(){var o=t7(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:e,value:n},l=0,u=i.length;l<u;++l)if(i[l].name===e){i[l]=s;break}l===u&&i.push(s)}o.tween=i}})(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){t9(this,t).delay=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){t9(this,t).delay=e}})(e,t)):et(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){t7(this,t).duration=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){t7(this,t).duration=e}})(e,t)):et(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw Error();return function(){t7(this,t).ease=e}}(e,t)):et(this.node(),e).ease},easeVarying:function(t){var e;if("function"!=typeof t)throw Error();return this.each((e=this._id,function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw Error();t7(this,e).ease=n}))},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},l={value:function(){0==--i&&o()}};n.each(function(){var n=t7(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),n.on=e}),0===i&&o()})},[Symbol.iterator]:ep[Symbol.iterator]},t.s(["cubicInOut",0,eg,"cubicOut",0,function(t){return--t*t*t+1}],21972);var ey={time:null,delay:0,duration:250,ease:eg};Y.prototype.interrupt=function(t){return this.each(function(){ee(this,t)})},Y.prototype.transition=function(t){var e,n;t instanceof ed?(e=t._id,t=t._name):(e=++ef,(n=ey).time=tQ(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],l=s.length,u=0;u<l;++u)(a=s[u])&&t8(a,t,e,u,s,n||function(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw Error(`transition ${e} not found`);return n}(a,e));return new ed(r,this._parents,t,e)};let{abs:ev,max:em,min:ex}=Math;function eb(t){return{type:t}}function e_(t){return((t=Math.exp(t))+1/t)/2}["w","e"].map(eb),["n","s"].map(eb),["n","w","e","s","nw","ne","sw","se"].map(eb);let ew=function t(e,n,r){function i(t,i){var o,a,s=t[0],l=t[1],u=t[2],c=i[0],h=i[1],f=i[2],d=c-s,p=h-l,g=d*d+p*p;if(g<1e-12)a=Math.log(f/u)/e,o=function(t){return[s+t*d,l+t*p,u*Math.exp(e*t*a)]};else{var y=Math.sqrt(g),v=(f*f-u*u+r*g)/(2*u*n*y),m=(f*f-u*u-r*g)/(2*f*n*y),x=Math.log(Math.sqrt(v*v+1)-v);a=(Math.log(Math.sqrt(m*m+1)-m)-x)/e,o=function(t){var r,i,o=t*a,c=e_(x),h=u/(n*y)*(c*(((r=Math.exp(2*(r=e*o+x)))-1)/(r+1))-((i=Math.exp(i=x))-1/i)/2);return[s+h*d,l+h*p,u*c/e_(e*o+x)]}}return o.duration=1e3*a*e/Math.SQRT2,o}return i.rho=function(e){var n=Math.max(.001,+e),r=n*n;return t(n,r,r*r)},i}(Math.SQRT2,2,4),ek=t=>()=>t;function eS(t,{sourceEvent:e,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function eN(t,e,n){this.k=t,this.x=e,this.y=n}eN.prototype={constructor:eN,scale:function(t){return 1===t?this:new eN(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new eN(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ej=new eN(1,0,0);function ez(t){for(;!t.__zoom;)if(!(t=t.parentNode))return ej;return t.__zoom}function eA(t){t.stopImmediatePropagation()}function eE(t){t.preventDefault(),t.stopImmediatePropagation()}function eT(t){return(!t.ctrlKey||"wheel"===t.type)&&!t.button}function eM(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function eC(){return this.__zoom||ej}function e$(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function eR(){return navigator.maxTouchPoints||"ontouchstart"in this}function eL(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}ez.prototype=eN.prototype,t.s(["Transform",0,eN,"default",0,ez,"identity",0,ej],7394),t.s(["default",0,function(){var t,e,n,i=eT,o=eM,a=eL,s=e$,l=eR,u=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],h=250,f=ew,d=r("start","zoom","end"),p=0,g=10;function y(t){t.property("__zoom",eC).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",S).on("dblclick.zoom",N).filter(l).on("touchstart.zoom",j).on("touchmove.zoom",z).on("touchend.zoom touchcancel.zoom",A).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(t,e){return(e=Math.max(u[0],Math.min(u[1],e)))===t.k?t:new eN(e,t.x,t.y)}function m(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new eN(t.k,r,i)}function x(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function b(t,e,n,r){t.on("start.zoom",function(){_(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(r).end()}).tween("zoom",function(){var t=arguments,i=_(this,t).event(r),a=o.apply(this,t),s=null==n?x(a):"function"==typeof n?n.apply(this,t):n,l=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=this.__zoom,c="function"==typeof e?e.apply(this,t):e,h=f(u.invert(s).concat(l/u.k),c.invert(s).concat(l/c.k));return function(t){if(1===t)t=c;else{var e=h(t),n=l/e[2];t=new eN(n,s[0]-e[0]*n,s[1]-e[1]*n)}i.zoom(null,t)}})}function _(t,e,n){return!n&&t.__zooming||new w(t,e)}function w(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=o.apply(t,e),this.taps=0}function k(t,...e){if(i.apply(this,arguments)){var n=_(this,e).event(t),r=this.__zoom,o=Math.max(u[0],Math.min(u[1],r.k*Math.pow(2,s.apply(this,arguments)))),l=tO(t);if(n.wheel)(n.mouse[0][0]!==l[0]||n.mouse[0][1]!==l[1])&&(n.mouse[1]=r.invert(n.mouse[0]=l)),clearTimeout(n.wheel);else{if(r.k===o)return;n.mouse=[l,r.invert(l)],ee(this),n.start()}eE(t),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",a(m(v(r,o),n.mouse[0],n.mouse[1]),n.extent,c))}}function S(t,...e){if(!n&&i.apply(this,arguments)){var r=t.currentTarget,o=_(this,e,!0).event(t),s=V(t.view).on("mousemove.zoom",function(t){if(eE(t),!o.moved){var e=t.clientX-u,n=t.clientY-h;o.moved=e*e+n*n>p}o.event(t).zoom("mouse",a(m(o.that.__zoom,o.mouse[0]=tO(t,r),o.mouse[1]),o.extent,c))},!0).on("mouseup.zoom",function(t){s.on("mousemove.zoom mouseup.zoom",null),Z(t.view,o.moved),eE(t),o.event(t).end()},!0),l=tO(t,r),u=t.clientX,h=t.clientY;J(t.view),eA(t),o.mouse=[l,this.__zoom.invert(l)],ee(this),o.start()}}function N(t,...e){if(i.apply(this,arguments)){var n=this.__zoom,r=tO(t.changedTouches?t.changedTouches[0]:t,this),s=n.invert(r),l=n.k*(t.shiftKey?.5:2),u=a(m(v(n,l),r,s),o.apply(this,e),c);eE(t),h>0?V(this).transition().duration(h).call(b,u,r,t):V(this).call(y.transform,u,r,t)}}function j(n,...r){if(i.apply(this,arguments)){var o,a,s,l,u=n.touches,c=u.length,h=_(this,r,n.changedTouches.length===c).event(n);for(eA(n),a=0;a<c;++a)l=[l=tO(s=u[a],this),this.__zoom.invert(l),s.identifier],h.touch0?h.touch1||h.touch0[2]===l[2]||(h.touch1=l,h.taps=0):(h.touch0=l,o=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),o&&(h.taps<2&&(e=l[0],t=setTimeout(function(){t=null},500)),ee(this),h.start())}}function z(t,...e){if(this.__zooming){var n,r,i,o,s=_(this,e).event(t),l=t.changedTouches,u=l.length;for(eE(t),n=0;n<u;++n)i=tO(r=l[n],this),s.touch0&&s.touch0[2]===r.identifier?s.touch0[0]=i:s.touch1&&s.touch1[2]===r.identifier&&(s.touch1[0]=i);if(r=s.that.__zoom,s.touch1){var h=s.touch0[0],f=s.touch0[1],d=s.touch1[0],p=s.touch1[1],g=(g=d[0]-h[0])*g+(g=d[1]-h[1])*g,y=(y=p[0]-f[0])*y+(y=p[1]-f[1])*y;r=v(r,Math.sqrt(g/y)),i=[(h[0]+d[0])/2,(h[1]+d[1])/2],o=[(f[0]+p[0])/2,(f[1]+p[1])/2]}else{if(!s.touch0)return;i=s.touch0[0],o=s.touch0[1]}s.zoom("touch",a(m(r,i,o),s.extent,c))}}function A(t,...r){if(this.__zooming){var i,o,a=_(this,r).event(t),s=t.changedTouches,l=s.length;for(eA(t),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),i=0;i<l;++i)o=s[i],a.touch0&&a.touch0[2]===o.identifier?delete a.touch0:a.touch1&&a.touch1[2]===o.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(o=tO(o,this),Math.hypot(e[0]-o[0],e[1]-o[1])<g)){var u=V(this).on("dblclick.zoom");u&&u.apply(this,arguments)}}}return y.transform=function(t,e,n,r){var i=t.selection?t.selection():t;i.property("__zoom",eC),t!==i?b(t,e,n,r):i.interrupt().each(function(){_(this,arguments).event(r).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()})},y.scaleBy=function(t,e,n,r){y.scaleTo(t,function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n},n,r)},y.scaleTo=function(t,e,n,r){y.transform(t,function(){var t=o.apply(this,arguments),r=this.__zoom,i=null==n?x(t):"function"==typeof n?n.apply(this,arguments):n,s=r.invert(i),l="function"==typeof e?e.apply(this,arguments):e;return a(m(v(r,l),i,s),t,c)},n,r)},y.translateBy=function(t,e,n,r){y.transform(t,function(){return a(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),o.apply(this,arguments),c)},null,r)},y.translateTo=function(t,e,n,r,i){y.transform(t,function(){var t=o.apply(this,arguments),i=this.__zoom,s=null==r?x(t):"function"==typeof r?r.apply(this,arguments):r;return a(ej.translate(s[0],s[1]).scale(i.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,c)},r,i)},w.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var e=V(this.that).datum();d.call(t,this.that,new eS(t,{sourceEvent:this.sourceEvent,target:y,type:t,transform:this.that.__zoom,dispatch:d}),e)}},y.wheelDelta=function(t){return arguments.length?(s="function"==typeof t?t:ek(+t),y):s},y.filter=function(t){return arguments.length?(i="function"==typeof t?t:ek(!!t),y):i},y.touchable=function(t){return arguments.length?(l="function"==typeof t?t:ek(!!t),y):l},y.extent=function(t){return arguments.length?(o="function"==typeof t?t:ek([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),y):o},y.scaleExtent=function(t){return arguments.length?(u[0]=+t[0],u[1]=+t[1],y):[u[0],u[1]]},y.translateExtent=function(t){return arguments.length?(c[0][0]=+t[0][0],c[1][0]=+t[1][0],c[0][1]=+t[0][1],c[1][1]=+t[1][1],y):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},y.constrain=function(t){return arguments.length?(a=t,y):a},y.duration=function(t){return arguments.length?(h=+t,y):h},y.interpolate=function(t){return arguments.length?(f=t,y):f},y.on=function(){var t=d.on.apply(d,arguments);return t===d?y:t},y.clickDistance=function(t){return arguments.length?(p=(t*=1)*t,y):Math.sqrt(p)},y.tapDistance=function(t){return arguments.length?(g=+t,y):g},y}],36755),t.s([],47716)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,8819,e=>{"use strict";var t=e.i(43476);let r="1px solid rgba(255,255,255,0.1)";function o({children:e,style:r}){return(0,t.jsx)("div",{style:{fontSize:13.5,color:"#8b9a9a",lineHeight:1.6,marginTop:4,...r},children:e})}e.s(["Body",0,o,"Btn",0,function({children:e,onClick:o,disabled:i,primary:n,tone:a,type:s="button"}){return(0,t.jsx)("button",{type:s,onClick:o,disabled:i,style:{padding:"9px 18px",borderRadius:7,fontSize:13.5,fontWeight:650,color:i?"#667":"#fff",border:r,background:i?"rgba(255,255,255,0.05)":"bad"===a?"rgba(255,80,80,0.15)":n?"linear-gradient(135deg, #9B59B6, #3498DB)":"rgba(255,255,255,0.08)",cursor:i?"not-allowed":"pointer"},children:e})},"FONT",0,'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',"LINE",0,r,"Mono",0,function({children:e}){return(0,t.jsx)("code",{style:{background:"rgba(255,255,255,0.08)",padding:"1px 5px",borderRadius:4,wordBreak:"break-all"},children:e})},"Section",0,function({id:e,title:i,intro:n,children:a}){return(0,t.jsxs)("section",{id:e,style:{padding:"24px 0",borderBottom:r,scrollMarginTop:16},children:[(0,t.jsx)("h2",{style:{fontSize:16,fontWeight:650,margin:"0 0 6px"},children:i}),n&&(0,t.jsx)(o,{style:{marginTop:0,marginBottom:12},children:n}),a]})},"Status",0,function({children:e,tone:r}){return(0,t.jsxs)("div",{role:"status",style:{marginTop:10,padding:"10px 14px",borderRadius:8,fontSize:13.5,lineHeight:1.6,color:"ok"===r?"#00ff88":"bad"===r?"#ff7676":"#e8e8ee",background:"ok"===r?"rgba(0,255,136,0.08)":"bad"===r?"rgba(255,80,80,0.08)":"rgba(255,255,255,0.05)",border:`1px solid ${"ok"===r?"rgba(0,255,136,0.3)":"bad"===r?"rgba(255,80,80,0.3)":"rgba(255,255,255,0.12)"}`},children:["ok"===r&&"✓ ",e]})}])},98083,e=>{"use strict";var t=e.i(43476),r=e.i(71645),o=e.i(22016),i=e.i(18566),n=e.i(8819);e.s(["default",0,function(){let e=(0,i.useRouter)();return(0,r.useEffect)(()=>{let t=window.location.hash;e.replace("#health"===t?"/profile?view=insights":`/settings${t||"#scoring"}`)},[e]),(0,t.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"#aab",fontFamily:n.FONT,display:"flex",alignItems:"center",justifyContent:"center",fontSize:13},children:["Scores are in ",(0,t.jsx)(o.default,{href:"/settings#scoring",style:{color:"#3498DB",marginLeft:4},children:"Settings"})," now."]})}])}]);