@sjcrh/proteinpaint-client 2.209.0 → 2.210.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 (888) hide show
  1. package/dist/2dmaf-43QBND66.js +1367 -0
  2. package/dist/AggMatrixInput-X7NGFUHH.js +406 -0
  3. package/dist/AggregateMatrix-M4HRI4PX.js +41 -0
  4. package/dist/AppHeader-QBRQN6PM.js +830 -0
  5. package/dist/BoxPlot-V6SPSEQ2.js +1211 -0
  6. package/dist/CorrelationVolcano-UFPCYC77.js +617 -0
  7. package/dist/Cuminc-KXGXGLKZ.js +1219 -0
  8. package/dist/DE-K2YXHOOW.js +89 -0
  9. package/dist/DEinput-O6LBFAAH.js +501 -0
  10. package/dist/DEinput-O6LBFAAH.js.map +7 -0
  11. package/dist/DM-C7VN3RWB.js +90 -0
  12. package/dist/DifferentialAnalysis-A2BU4WB3.js +239 -0
  13. package/dist/Disco-HECQVKXG.js +3389 -0
  14. package/dist/Disco.UI-XF2GEKRW.js +243 -0
  15. package/dist/DmrPlot-TVXVXOHL.js +362 -0
  16. package/dist/GB-66ZGJ5ST.js +1428 -0
  17. package/dist/GSEA-Z4YPI4HY.js +875 -0
  18. package/dist/GeneExpInput-VBIZZV27.js +42 -0
  19. package/dist/Geomap-UIIOLRFA.js +84 -0
  20. package/dist/HicApp-73ESVNBA.js +2245 -0
  21. package/dist/IDCViewer-RBYN5A4P.js +10812 -0
  22. package/dist/NumBinaryEditor-DJLSNSLE.js +279 -0
  23. package/dist/NumBinaryEditor.unit.spec-LCJHL3XM.js +312 -0
  24. package/dist/NumContEditor-SVLDJ2ML.js +105 -0
  25. package/dist/NumContEditor.unit.spec-JDMSK4HY.js +164 -0
  26. package/dist/NumCustomBinEditor-BI63AH3R.js +33 -0
  27. package/dist/NumCustomBinEditor.unit.spec-5433G7Y2.js +397 -0
  28. package/dist/NumDiscreteEditor-LEZTGXAV.js +170 -0
  29. package/dist/NumDiscreteEditor.unit.spec-5OEORHJ4.js +233 -0
  30. package/dist/NumRegularBinEditor-EXWHIWPM.js +33 -0
  31. package/dist/NumRegularBinEditor.unit.spec-QY25Z2TT.js +278 -0
  32. package/dist/NumSplineEditor-XPPMYYAD.js +210 -0
  33. package/dist/NumSplineEditor.unit.spec-GOGBKWMN.js +224 -0
  34. package/dist/NumericDensity-RKY2IQ72.js +33 -0
  35. package/dist/NumericDensity.unit.spec-5ZM6ICXM.js +418 -0
  36. package/dist/NumericHandler-FXF3M5M3.js +34 -0
  37. package/dist/NumericHandler.unit.spec-M2OQTBJX.js +214 -0
  38. package/dist/ProteomeInput-TMZ3THRL.js +388 -0
  39. package/dist/Regression-GQGAATHG.js +1416 -0
  40. package/dist/RunChart2-7GNDWRKC.js +749 -0
  41. package/dist/SC-R2I2EMHA.js +1183 -0
  42. package/dist/Violin-GKKEB55L.js +1081 -0
  43. package/dist/Volcano-HRG5EFWH.js +2443 -0
  44. package/dist/Wsi-OHRCGYYD.js +629 -0
  45. package/dist/adSandbox-H56B25WR.js +33 -0
  46. package/dist/animatedBubbleChart-7SXFHU4J.js +547 -0
  47. package/dist/app-22JCSULA.js +42 -0
  48. package/dist/app-RGZJB6LN.js +32 -0
  49. package/dist/app.js +12 -12
  50. package/dist/bam-HA65TRGX.js +876 -0
  51. package/dist/barchart-6XO75OMA.js +42 -0
  52. package/dist/barchart2-6E5BIRHD.js +309 -0
  53. package/dist/block-43KNTXZ5.js +6250 -0
  54. package/dist/block.init-TPU5QIPA.js +33 -0
  55. package/dist/block.mds.expressionrank-QZDRFXCH.js +354 -0
  56. package/dist/block.mds.geneboxplot-64QVBK5Q.js +823 -0
  57. package/dist/block.mds.junction-I4J6VXNT.js +1539 -0
  58. package/dist/block.mds.svcnv-GDQMSQFF.js +6796 -0
  59. package/dist/block.svg-2MZFT5QP.js +159 -0
  60. package/dist/block.tk.aicheck-2MKHF6LX.js +278 -0
  61. package/dist/block.tk.ase-CLYGKFTS.js +360 -0
  62. package/dist/block.tk.bam-XTR4QA5Z.js +1901 -0
  63. package/dist/block.tk.bedgraphdot-A2P2CXRU.js +379 -0
  64. package/dist/block.tk.bigwig.ui-YZH6JXEO.js +206 -0
  65. package/dist/block.tk.hicstraw-QBK5VWGU.js +818 -0
  66. package/dist/block.tk.junction-5DEVBA7G.js +2358 -0
  67. package/dist/block.tk.junction.textmatrixui-7TTQMO6W.js +194 -0
  68. package/dist/block.tk.ld-PRIVUPKL.js +94 -0
  69. package/dist/block.tk.menu-JGBRFSS3.js +1024 -0
  70. package/dist/block.tk.pgv-KQJCJMVD.js +938 -0
  71. package/dist/brainImaging-4SLVJ2HV.js +555 -0
  72. package/dist/brainRegions-BDIVM2SG.js +217 -0
  73. package/dist/bubbleHeatmap-ORKFJNEQ.js +378 -0
  74. package/dist/cellTypeBubbleHeatmap-VOHLI4P7.js +278 -0
  75. package/dist/chunk-26N3B2JO.js +194 -0
  76. package/dist/chunk-2HNJF5ZI.js +240 -0
  77. package/dist/chunk-2LNGHIOC.js +281 -0
  78. package/dist/chunk-3SCQGODD.js +274 -0
  79. package/dist/chunk-47STLK7K.js +518 -0
  80. package/dist/chunk-4XYQG3XU.js +276 -0
  81. package/dist/chunk-53XNEXR6.js +34 -0
  82. package/dist/chunk-55FABQU2.js +24955 -0
  83. package/dist/chunk-55FABQU2.js.map +7 -0
  84. package/dist/chunk-5UB5H7A3.js +123 -0
  85. package/dist/chunk-6FYQYTV6.js +141 -0
  86. package/dist/chunk-6RP6CR4Q.js +182 -0
  87. package/dist/chunk-A5D37SIL.js +103 -0
  88. package/dist/chunk-ADRFQ5AL.js +102 -0
  89. package/dist/chunk-AUZ63NKJ.js +70 -0
  90. package/dist/chunk-B563DUNQ.js +217 -0
  91. package/dist/chunk-BK6UDL7F.js +339 -0
  92. package/dist/chunk-CT4IG5IR.js +339 -0
  93. package/dist/chunk-D6UBH77N.js +1731 -0
  94. package/dist/chunk-DS4GLMJL.js +170 -0
  95. package/dist/chunk-DSBRHWZ7.js +2853 -0
  96. package/dist/chunk-DX35MKPR.js +272 -0
  97. package/dist/chunk-EDZJ3VNZ.js +54 -0
  98. package/dist/chunk-F47A4CVK.js +1339 -0
  99. package/dist/chunk-G4H34RNK.js +446 -0
  100. package/dist/chunk-G7RUMSHL.js +263 -0
  101. package/dist/chunk-GXFS25SK.js +480 -0
  102. package/dist/chunk-I25LKYC4.js +379 -0
  103. package/dist/chunk-I25LKYC4.js.map +7 -0
  104. package/dist/chunk-IAB2PRIH.js +396 -0
  105. package/dist/chunk-IAB2PRIH.js.map +7 -0
  106. package/dist/chunk-IBT6WRY6.js +692 -0
  107. package/dist/chunk-IJ7AIDEO.js +302 -0
  108. package/dist/chunk-JBFVJHZN.js +1233 -0
  109. package/dist/chunk-JDVBUIEU.js +56 -0
  110. package/dist/chunk-K7RW5TPU.js +4375 -0
  111. package/dist/chunk-KIAMLQ7S.js +424 -0
  112. package/dist/chunk-KIAMLQ7S.js.map +7 -0
  113. package/dist/chunk-LBCIXRI2.js +49 -0
  114. package/dist/chunk-MNXL2UV5.js +98 -0
  115. package/dist/chunk-NI5CVN43.js +203 -0
  116. package/dist/chunk-NOBXDQDU.js +397 -0
  117. package/dist/chunk-NQNVLZOA.js +6360 -0
  118. package/dist/chunk-NULFGPE3.js +158 -0
  119. package/dist/chunk-OUIXGM3K.js +299 -0
  120. package/dist/chunk-P4LGA36F.js +14 -0
  121. package/dist/chunk-PU5FQWAY.js +55 -0
  122. package/dist/chunk-PZ2OSHBF.js +56 -0
  123. package/dist/chunk-QBNDPW7O.js +5071 -0
  124. package/dist/chunk-R5PKBL7V.js +80 -0
  125. package/dist/chunk-RFSOP75Z.js +1988 -0
  126. package/dist/chunk-RFSOP75Z.js.map +7 -0
  127. package/dist/chunk-RI65SIN3.js +626 -0
  128. package/dist/chunk-RPGLLO4T.js +2676 -0
  129. package/dist/chunk-RXNZK7MF.js +134 -0
  130. package/dist/chunk-S2ICJ3RZ.js +550 -0
  131. package/dist/chunk-SFHG6H2D.js +129 -0
  132. package/dist/chunk-TQ2DVEQO.js +783 -0
  133. package/dist/chunk-U6BJ4ZNU.js +176 -0
  134. package/dist/chunk-UXD6G6G4.js +178 -0
  135. package/dist/chunk-VA57CUC7.js +2146 -0
  136. package/dist/chunk-VH5W6ODW.js +294 -0
  137. package/dist/chunk-VROF55EH.js +255 -0
  138. package/dist/chunk-VWA7BYSV.js +217 -0
  139. package/dist/chunk-X37BRSGS.js +102 -0
  140. package/dist/chunk-XQYDXA47.js +562 -0
  141. package/dist/chunk-XXPUZVS4.js +237 -0
  142. package/dist/chunk-Y7V5AIUH.js +468 -0
  143. package/dist/chunk-YBNIOGUE.js +243 -0
  144. package/dist/chunk-YEYMNF7V.js +2327 -0
  145. package/dist/chunk-YJ74QATP.js +1278 -0
  146. package/dist/chunk-ZG2HCGAO.js +2784 -0
  147. package/dist/chunk-ZZN7ZD7J.js +54 -0
  148. package/dist/cohort-6OCRQQ2S.js +70 -0
  149. package/dist/condition-SZVXH3VU.js +327 -0
  150. package/dist/controls-MO6ZND76.js +34 -0
  151. package/dist/controls.config-P4MSTGL4.js +34 -0
  152. package/dist/correlation-NMI3CM3T.js +95 -0
  153. package/dist/customdata.inputui-VCHSCA65.js +284 -0
  154. package/dist/dataDownload-VQHOTQ5D.js +329 -0
  155. package/dist/databrowser.ui-ZFOCAG32.js +425 -0
  156. package/dist/dictionary-S5YCFUWH.js +113 -0
  157. package/dist/dnaMethylation-MQZLZRGT.js +33 -0
  158. package/dist/dnaMethylation.integration.spec-H546EBUO.js +198 -0
  159. package/dist/dofetch-QZIYSC7H.js +48 -0
  160. package/dist/e2pca-XOXOS3PN.js +344 -0
  161. package/dist/ep-U6KRL7FR.js +1249 -0
  162. package/dist/expclust.gdc.spec-HCK65C63.js +302 -0
  163. package/dist/facet-DCC25KJO.js +519 -0
  164. package/dist/gb-TIFWFD4Y.js +81 -0
  165. package/dist/geneExpClustering-6DQEOTOY.js +244 -0
  166. package/dist/geneExpression-EASRAN6B.js +310 -0
  167. package/dist/geneExpression-G4YMDCBH.js +33 -0
  168. package/dist/geneExpression.unit.spec-XVEJYMPX.js +128 -0
  169. package/dist/geneORA-6UBS5GSC.js +273 -0
  170. package/dist/geneRanking-UXXYWHNB.js +548 -0
  171. package/dist/geneVariant-SZRJOXVC.js +289 -0
  172. package/dist/geneVariant-TKFKARZK.js +36 -0
  173. package/dist/geneVariant.integration.spec-PXMAYJN3.js +503 -0
  174. package/dist/geneVariant.integration.spec-PXMAYJN3.js.map +7 -0
  175. package/dist/genefusion.ui-TJLYXSVL.js +303 -0
  176. package/dist/geneset-YTBDLEIH.js +203 -0
  177. package/dist/genomeBrowser.spec-ZO4LFIXE.js +276 -0
  178. package/dist/grin2-FC4VYU54.js +949 -0
  179. package/dist/grin2-LIFKBMVK.js +70 -0
  180. package/dist/hierCluster-56EGAPOR.js +59 -0
  181. package/dist/hierCluster-DR5NWCXA.js +55 -0
  182. package/dist/hierCluster.config-NACE3FH2.js +36 -0
  183. package/dist/hierCluster.integration.spec-PEEXPAS6.js +483 -0
  184. package/dist/hierCluster.interactivity-OCBGLUJM.js +49 -0
  185. package/dist/hierCluster.renderers-JNQUSAP4.js +19 -0
  186. package/dist/imagePlot-GR4JNUGG.js +156 -0
  187. package/dist/importPlot-4R4BSPVD.js +8 -0
  188. package/dist/isoformExpression-ST5ZW2NE.js +35 -0
  189. package/dist/isoformExpression.unit.spec-PPFC5Z7N.js +237 -0
  190. package/dist/junction-7AKZHOHV.js +36 -0
  191. package/dist/junction.unit.spec-SZUJXRQ2.js +182 -0
  192. package/dist/launch.adhoc-RWJQUOJ6.js +37 -0
  193. package/dist/leftlabel.sample-WRHLVQAQ.js +258 -0
  194. package/dist/lollipop-ZZWXTM23.js +166 -0
  195. package/dist/maf-N4XPZTQU.js +455 -0
  196. package/dist/maftimeline-2FBS6RWS.js +587 -0
  197. package/dist/matrix-5KEQPB5H.js +59 -0
  198. package/dist/matrix-RJUNXB5N.js +54 -0
  199. package/dist/matrix.cells-WXTPOJYB.js +26 -0
  200. package/dist/matrix.config-ZZFLLD6Z.js +37 -0
  201. package/dist/matrix.data-3PQ73GVJ.js +23 -0
  202. package/dist/matrix.groups-U6CKS6WW.js +26 -0
  203. package/dist/matrix.integration.spec-T53PMVHC.js +3160 -0
  204. package/dist/matrix.interactivity-3LDZV3F7.js +37 -0
  205. package/dist/matrix.layout-MINLYQCA.js +39 -0
  206. package/dist/matrix.legend-6GSDFZHS.js +20 -0
  207. package/dist/matrix.renderers-5BKOXDE3.js +34 -0
  208. package/dist/matrix.serieses-6FCFIFAQ.js +19 -0
  209. package/dist/matrix.sort-EHVVYDZ3.js +26 -0
  210. package/dist/matrix.sort.unit.spec-BCWE4AFX.js +468 -0
  211. package/dist/matrix.sorterUi.unit.spec-XJR5KXRL.js +338 -0
  212. package/dist/matrix.unit.spec-TUCKPE26.js +150 -0
  213. package/dist/mavb-GWSNRBLM.js +727 -0
  214. package/dist/mds.fimo-OMAQRSMW.js +513 -0
  215. package/dist/mds.samplescatterplot-4UW3CC45.js +1545 -0
  216. package/dist/mds.survivalplot-2CJYJBD2.js +477 -0
  217. package/dist/multivalue-G44MHEYI.js +83 -0
  218. package/dist/numericDictTermCluster-5BDRGVQG.js +63 -0
  219. package/dist/oncomatrix-ZTVO23ZH.js +290 -0
  220. package/dist/oncomatrix.spec-2QVK2A3Q.js +443 -0
  221. package/dist/plot.2dvaf-CL5YUXKH.js +372 -0
  222. package/dist/plot.app-4ANKPSNP.js +36 -0
  223. package/dist/plot.barplot-BMGDNZRA.js +97 -0
  224. package/dist/plot.boxplot-GMLQCDP6.js +146 -0
  225. package/dist/plot.brainImaging-RZXX3NUZ.js +51 -0
  226. package/dist/plot.disco-3MD4J4C7.js +99 -0
  227. package/dist/plot.ssgq-ZC4UYKOT.js +134 -0
  228. package/dist/plot.vaf2cov-4DHFMYQV.js +253 -0
  229. package/dist/polar2-TMB5EITR.js +232 -0
  230. package/dist/profileForms-GD7BIOOD.js +941 -0
  231. package/dist/profilePlot-CZLK5E74.js +49 -0
  232. package/dist/proteinView-FEEEXLKT.js +1357 -0
  233. package/dist/proteomeCohortCompare-NVLJ2FXX.js +912 -0
  234. package/dist/pseudbulk.unit.spec-GHQZPNAH.js +86 -0
  235. package/dist/pseudobulk-G5UQIRKL.js +35 -0
  236. package/dist/qualitative-EAUUCKU5.js +38 -0
  237. package/dist/radar2-CJQ2L6KE.js +327 -0
  238. package/dist/radarFacility2-BLVRZE4V.js +335 -0
  239. package/dist/render-KKAQPH6Y.js +33 -0
  240. package/dist/report-OSOJHTSD.js +217 -0
  241. package/dist/sampleView-WB74RLD7.js +43 -0
  242. package/dist/samplelst-ZKXV5WOD.js +106 -0
  243. package/dist/samplematrix-WJFYMWLT.js +2193 -0
  244. package/dist/sc-RBRBUCLR.js +81 -0
  245. package/dist/scatter-5K3QTIDK.js +88 -0
  246. package/dist/scatter-SM7GQENM.js +925 -0
  247. package/dist/selectGenomeWithTklst-ZZUJ7AQ7.js +129 -0
  248. package/dist/singleCellCellType-LCF2JNZ2.js +33 -0
  249. package/dist/singleCellCellType.unit.spec-T6DYH4BC.js +154 -0
  250. package/dist/singleCellGeneExpression-2XUYTH4C.js +33 -0
  251. package/dist/singleCellGeneExpression.unit.spec-SMRCLOF4.js +148 -0
  252. package/dist/singleCellNumericValue-57I33FZT.js +33 -0
  253. package/dist/singleCellNumericValue.unit.spec-4YNB4OEV.js +416 -0
  254. package/dist/singleCellPlot-L6TKQHGD.js +48 -0
  255. package/dist/singlecell-LZKR3UDV.js +81 -0
  256. package/dist/singlecell-UKN2VCXQ.js +1566 -0
  257. package/dist/snp-3LJITU5B.js +33 -0
  258. package/dist/snp.unit.spec-ZQNU6XRM.js +171 -0
  259. package/dist/snplocus-OME7UQBW.js +203 -0
  260. package/dist/spliceevent.a53ss.diagram-C32IEFMU.js +146 -0
  261. package/dist/spliceevent.exonskip.diagram-CZ7MVRLK.js +278 -0
  262. package/dist/spliceevent.noeventdiagram-ZO6R3776.js +455 -0
  263. package/dist/ssGSEA-BGPQ2PFY.js +33 -0
  264. package/dist/ssGSEA.unit.spec-U7TBUSSK.js +83 -0
  265. package/dist/stattable-FISGQCED.js +117 -0
  266. package/dist/studyCatalog-UHFUT2CJ.js +414 -0
  267. package/dist/summarizeCnvGeneexp-OVZO6KIB.js +158 -0
  268. package/dist/summarizeGeneexpSurvival-KVQ4JGWK.js +105 -0
  269. package/dist/summarizeMutationCnv-RAKGHNLE.js +159 -0
  270. package/dist/summarizeMutationDiagnosis-LGCINAGG.js +35 -0
  271. package/dist/summarizeMutationSurvival-J7H7L4FX.js +99 -0
  272. package/dist/summary-2632JZXH.js +44 -0
  273. package/dist/summary.integration.spec-5WBS2ZRP.js +409 -0
  274. package/dist/summaryInput-BH6C3ATV.js +242 -0
  275. package/dist/sunburst-AMRR2IHM.js +278 -0
  276. package/dist/survival-2RNJQVFS.js +1248 -0
  277. package/dist/survival-WYCH4QOQ.js +53 -0
  278. package/dist/survival.integration.spec-7IFPY4I4.js +613 -0
  279. package/dist/svgraph-YQWS52ZJ.js +1382 -0
  280. package/dist/svmr-NRN6LGKK.js +3837 -0
  281. package/dist/table-3QOMV2NN.js +197 -0
  282. package/dist/termCollection-2ZJ7TJGO.js +33 -0
  283. package/dist/termCollection-3MCVR7BA.js +252 -0
  284. package/dist/termCollection.unit.spec-QYOEA3X6.js +299 -0
  285. package/dist/termCollectionFractionSelection-5AH6EF4L.js +42 -0
  286. package/dist/termCollectionFractionSelection.unit.spec-WPGW4WJN.js +188 -0
  287. package/dist/tk-DQ7D5UEO.js +41 -0
  288. package/dist/tk-ONKYBG6R.js +1121 -0
  289. package/dist/tp.ui-C7BTMHEI.js +1454 -0
  290. package/dist/tvs.dt-PLRMK7OT.js +34 -0
  291. package/dist/tvs.dtcnv.categorical-IZUY2AQO.js +35 -0
  292. package/dist/tvs.dtcnv.continuous-ENV3RHHA.js +67 -0
  293. package/dist/tvs.dtfusion-2DVCV6AM.js +35 -0
  294. package/dist/tvs.dtitd-XNDIRQYU.js +35 -0
  295. package/dist/tvs.dtsnvindel-4D3G7XSF.js +35 -0
  296. package/dist/tvs.dtsv-QYMIMC4Z.js +35 -0
  297. package/dist/tvs.numeric-M5LH3PRH.js +20 -0
  298. package/dist/tvs.samplelst-2KEU2ZWB.js +98 -0
  299. package/dist/tvs.termCollection-FEY746V5.js +124 -0
  300. package/dist/vocabulary-BR4NJDPS.js +36 -0
  301. package/dist/wsi.direct-JWDUNHIO.js +8343 -0
  302. package/package.json +3 -3
  303. package/dist/2dmaf-VTMPVZGT.js +0 -1367
  304. package/dist/AggMatrixInput-CH3RQ2QC.js +0 -406
  305. package/dist/AggregateMatrix-DPCHUOMF.js +0 -41
  306. package/dist/AppHeader-RA7T467G.js +0 -830
  307. package/dist/BoxPlot-7Q7SMT26.js +0 -1211
  308. package/dist/CorrelationVolcano-YV4UHOAX.js +0 -617
  309. package/dist/Cuminc-ZN53C3MD.js +0 -1219
  310. package/dist/DE-BEWW5AIG.js +0 -89
  311. package/dist/DEinput-SJITUJF2.js +0 -499
  312. package/dist/DEinput-SJITUJF2.js.map +0 -7
  313. package/dist/DM-2LBNE4WE.js +0 -90
  314. package/dist/DifferentialAnalysis-WE4LBHEF.js +0 -239
  315. package/dist/Disco-PTZQF7IM.js +0 -3389
  316. package/dist/Disco.UI-NBR67N5M.js +0 -243
  317. package/dist/DmrPlot-QROLI66S.js +0 -362
  318. package/dist/GB-FEBSFX5U.js +0 -1428
  319. package/dist/GSEA-KOXOVC5V.js +0 -875
  320. package/dist/GeneExpInput-DYBK54HC.js +0 -42
  321. package/dist/Geomap-QRD2WZVL.js +0 -84
  322. package/dist/HicApp-VKET4QHD.js +0 -2245
  323. package/dist/IDCViewer-RLLTXGD7.js +0 -10812
  324. package/dist/NumBinaryEditor-GYHOYPQL.js +0 -279
  325. package/dist/NumBinaryEditor.unit.spec-E2HKBWOO.js +0 -312
  326. package/dist/NumContEditor-3V76ZSEY.js +0 -105
  327. package/dist/NumContEditor.unit.spec-RTT5Q5E5.js +0 -164
  328. package/dist/NumCustomBinEditor-O5DMPY7H.js +0 -33
  329. package/dist/NumCustomBinEditor.unit.spec-5LZBP2JL.js +0 -397
  330. package/dist/NumDiscreteEditor-DFOJ7AIH.js +0 -170
  331. package/dist/NumDiscreteEditor.unit.spec-PPJGEBFX.js +0 -233
  332. package/dist/NumRegularBinEditor-O6RDO32C.js +0 -33
  333. package/dist/NumRegularBinEditor.unit.spec-GOB3BF25.js +0 -278
  334. package/dist/NumSplineEditor-PUXJF2RW.js +0 -210
  335. package/dist/NumSplineEditor.unit.spec-4VOAAMOU.js +0 -224
  336. package/dist/NumericDensity-E6MH2THZ.js +0 -33
  337. package/dist/NumericDensity.unit.spec-IRPFBQUS.js +0 -418
  338. package/dist/NumericHandler-42RR54X3.js +0 -34
  339. package/dist/NumericHandler.unit.spec-YYOO7XVT.js +0 -214
  340. package/dist/ProteomeInput-4N2G6IFX.js +0 -388
  341. package/dist/Regression-LIWUWAGQ.js +0 -1416
  342. package/dist/RunChart2-VAX5JGZY.js +0 -749
  343. package/dist/SC-UHBZ3HRO.js +0 -1183
  344. package/dist/Violin-V23VZR6B.js +0 -1081
  345. package/dist/Volcano-64S4AW66.js +0 -2443
  346. package/dist/Wsi-FOJCKDCP.js +0 -629
  347. package/dist/adSandbox-CLMUYNC3.js +0 -33
  348. package/dist/animatedBubbleChart-GMLNYTQC.js +0 -547
  349. package/dist/app-2SFDRDN2.js +0 -32
  350. package/dist/app-QOZ36UR4.js +0 -42
  351. package/dist/bam-LLAK7FVG.js +0 -876
  352. package/dist/barchart-SEC6VKQ2.js +0 -42
  353. package/dist/barchart2-D4FXZCTU.js +0 -309
  354. package/dist/block-XGK6TEGH.js +0 -6250
  355. package/dist/block.init-UMRCAKCF.js +0 -33
  356. package/dist/block.mds.expressionrank-LFPJ52SX.js +0 -354
  357. package/dist/block.mds.geneboxplot-2QIEN6AH.js +0 -823
  358. package/dist/block.mds.junction-Z4HUFSG2.js +0 -1539
  359. package/dist/block.mds.svcnv-3GXGY6ET.js +0 -6796
  360. package/dist/block.svg-7RCJLMAP.js +0 -159
  361. package/dist/block.tk.aicheck-5N6EGZ6F.js +0 -278
  362. package/dist/block.tk.ase-V3AJRYT6.js +0 -360
  363. package/dist/block.tk.bam-W6QOVVEU.js +0 -1901
  364. package/dist/block.tk.bedgraphdot-FKTPJZTH.js +0 -379
  365. package/dist/block.tk.bigwig.ui-Y3M2TDM2.js +0 -206
  366. package/dist/block.tk.hicstraw-3SWYTMFQ.js +0 -818
  367. package/dist/block.tk.junction-OXB22PDS.js +0 -2358
  368. package/dist/block.tk.junction.textmatrixui-PWBLRGCO.js +0 -194
  369. package/dist/block.tk.ld-NTRJL5GA.js +0 -94
  370. package/dist/block.tk.menu-JIHSGGIO.js +0 -1024
  371. package/dist/block.tk.pgv-4Q6CY6QN.js +0 -938
  372. package/dist/brainImaging-MBI4XTTU.js +0 -555
  373. package/dist/brainRegions-YVTAESRP.js +0 -217
  374. package/dist/bubbleHeatmap-ZKTA3AIG.js +0 -378
  375. package/dist/cellTypeBubbleHeatmap-GJZNXDG4.js +0 -278
  376. package/dist/chunk-2PDBU42F.js +0 -4375
  377. package/dist/chunk-2RMSV4BS.js +0 -6360
  378. package/dist/chunk-33BE7AYS.js +0 -299
  379. package/dist/chunk-3XBG5HIV.js +0 -424
  380. package/dist/chunk-3XBG5HIV.js.map +0 -7
  381. package/dist/chunk-5FRETII3.js +0 -281
  382. package/dist/chunk-5LYVIIYR.js +0 -170
  383. package/dist/chunk-6FG6JFZP.js +0 -339
  384. package/dist/chunk-6G45AUSV.js +0 -237
  385. package/dist/chunk-6LDKSKYQ.js +0 -70
  386. package/dist/chunk-7FFTAYT4.js +0 -272
  387. package/dist/chunk-7GDRMBNO.js +0 -339
  388. package/dist/chunk-A2UUXYH6.js +0 -1986
  389. package/dist/chunk-A2UUXYH6.js.map +0 -7
  390. package/dist/chunk-AFQKYV4D.js +0 -2853
  391. package/dist/chunk-ANACCKCQ.js +0 -276
  392. package/dist/chunk-AR3HXZIW.js +0 -562
  393. package/dist/chunk-AVCEHJG7.js +0 -446
  394. package/dist/chunk-AVCIZWH5.js +0 -692
  395. package/dist/chunk-B6UXFX73.js +0 -178
  396. package/dist/chunk-BCCFJYPE.js +0 -54
  397. package/dist/chunk-BG3SGGVB.js +0 -134
  398. package/dist/chunk-C3HEDQPT.js +0 -24921
  399. package/dist/chunk-C3HEDQPT.js.map +0 -7
  400. package/dist/chunk-CN6KJORZ.js +0 -397
  401. package/dist/chunk-CYWEYHJQ.js +0 -203
  402. package/dist/chunk-D5ETVOOE.js +0 -158
  403. package/dist/chunk-DANF4CC5.js +0 -102
  404. package/dist/chunk-DNCFJTPI.js +0 -1339
  405. package/dist/chunk-FNW6BKOA.js +0 -480
  406. package/dist/chunk-FR5USNAT.js +0 -54
  407. package/dist/chunk-GYE6FU7P.js +0 -626
  408. package/dist/chunk-IEIGHCZS.js +0 -1278
  409. package/dist/chunk-J5GQGWYX.js +0 -1731
  410. package/dist/chunk-JMDUO47F.js +0 -5071
  411. package/dist/chunk-JTQPPUDG.js +0 -379
  412. package/dist/chunk-JTQPPUDG.js.map +0 -7
  413. package/dist/chunk-K32DV4QI.js +0 -302
  414. package/dist/chunk-K77W4SSI.js +0 -98
  415. package/dist/chunk-KEHVNCFK.js +0 -102
  416. package/dist/chunk-MMKSXXU2.js +0 -55
  417. package/dist/chunk-NGMM2MNC.js +0 -518
  418. package/dist/chunk-OASGOTRM.js +0 -80
  419. package/dist/chunk-OBDIJ4QS.js +0 -2146
  420. package/dist/chunk-OEBGQKQR.js +0 -2676
  421. package/dist/chunk-OI5KBFBE.js +0 -468
  422. package/dist/chunk-OWEBE64A.js +0 -243
  423. package/dist/chunk-P7X4LDW4.js +0 -783
  424. package/dist/chunk-Q4HTEL2O.js +0 -56
  425. package/dist/chunk-QGH5BM2D.js +0 -141
  426. package/dist/chunk-QSOFGLWZ.js +0 -240
  427. package/dist/chunk-QXDGIQYA.js +0 -217
  428. package/dist/chunk-R2QE6ROO.js +0 -176
  429. package/dist/chunk-RMHUDMZ7.js +0 -103
  430. package/dist/chunk-SXB4IZQ7.js +0 -123
  431. package/dist/chunk-SYPSS3JQ.js +0 -387
  432. package/dist/chunk-SYPSS3JQ.js.map +0 -7
  433. package/dist/chunk-T6Q76PDN.js +0 -182
  434. package/dist/chunk-TYR355RM.js +0 -263
  435. package/dist/chunk-ULZPHJYD.js +0 -2784
  436. package/dist/chunk-V3SOBDIT.js +0 -255
  437. package/dist/chunk-VFUSBU43.js +0 -14
  438. package/dist/chunk-VOF6NWTS.js +0 -274
  439. package/dist/chunk-WGDJX7WZ.js +0 -2327
  440. package/dist/chunk-WIQVSCD5.js +0 -294
  441. package/dist/chunk-WXXRVJSP.js +0 -56
  442. package/dist/chunk-X4MV2M5F.js +0 -129
  443. package/dist/chunk-XVVVNCXS.js +0 -217
  444. package/dist/chunk-YHP7MYB7.js +0 -49
  445. package/dist/chunk-YHWQWVWX.js +0 -550
  446. package/dist/chunk-YKZOQTT4.js +0 -1233
  447. package/dist/chunk-Z5HU276I.js +0 -34
  448. package/dist/chunk-Z6MCBFDM.js +0 -194
  449. package/dist/cohort-GVAJTICQ.js +0 -70
  450. package/dist/condition-EGPNMM47.js +0 -327
  451. package/dist/controls-HBROSXHF.js +0 -34
  452. package/dist/controls.config-FWKV66TU.js +0 -34
  453. package/dist/correlation-CEHE66EC.js +0 -95
  454. package/dist/customdata.inputui-LFT3N5FD.js +0 -284
  455. package/dist/dataDownload-ZPAIAAE4.js +0 -329
  456. package/dist/databrowser.ui-W5JGFBE6.js +0 -425
  457. package/dist/dictionary-RBE2CIZI.js +0 -113
  458. package/dist/dnaMethylation-CX22TSRO.js +0 -33
  459. package/dist/dnaMethylation.integration.spec-KEE6ZZRT.js +0 -198
  460. package/dist/dofetch-6NAGX5EG.js +0 -48
  461. package/dist/e2pca-XDGPTEXL.js +0 -344
  462. package/dist/ep-IUIDMIGW.js +0 -1249
  463. package/dist/expclust.gdc.spec-BMN2PTJX.js +0 -302
  464. package/dist/facet-DTJKZOBA.js +0 -519
  465. package/dist/gb-MV7MUJWO.js +0 -81
  466. package/dist/geneExpClustering-NFH5FS3S.js +0 -244
  467. package/dist/geneExpression-XVOLNYVN.js +0 -310
  468. package/dist/geneExpression-ZP2VWHED.js +0 -33
  469. package/dist/geneExpression.unit.spec-2NSK4ARK.js +0 -128
  470. package/dist/geneORA-HQ7FLMEJ.js +0 -273
  471. package/dist/geneRanking-MIABUKTN.js +0 -548
  472. package/dist/geneVariant-H52UUK6Z.js +0 -289
  473. package/dist/geneVariant-HDFWLALZ.js +0 -36
  474. package/dist/geneVariant.integration.spec-O36JK4B7.js +0 -503
  475. package/dist/geneVariant.integration.spec-O36JK4B7.js.map +0 -7
  476. package/dist/genefusion.ui-HSDZQHJA.js +0 -303
  477. package/dist/geneset-WKV3X2EJ.js +0 -203
  478. package/dist/genomeBrowser.spec-UTAHAU76.js +0 -276
  479. package/dist/grin2-M2JDZVYU.js +0 -70
  480. package/dist/grin2-N2QM3XTG.js +0 -949
  481. package/dist/hierCluster-LZI6OTRS.js +0 -59
  482. package/dist/hierCluster-VVXPOTQU.js +0 -55
  483. package/dist/hierCluster.config-NCYH3Y7Z.js +0 -36
  484. package/dist/hierCluster.integration.spec-ZDOOCTV3.js +0 -483
  485. package/dist/hierCluster.interactivity-4HP3JCON.js +0 -49
  486. package/dist/hierCluster.renderers-3F5GMEXA.js +0 -19
  487. package/dist/imagePlot-OA4WTMLU.js +0 -156
  488. package/dist/importPlot-OSTC2GPO.js +0 -8
  489. package/dist/isoformExpression-LZ5RTUS5.js +0 -35
  490. package/dist/isoformExpression.unit.spec-L6YDBKYM.js +0 -237
  491. package/dist/junction-UR6COY3A.js +0 -36
  492. package/dist/junction.unit.spec-NVBJTGA4.js +0 -182
  493. package/dist/launch.adhoc-AZG6QJG7.js +0 -37
  494. package/dist/leftlabel.sample-LYZG25RT.js +0 -258
  495. package/dist/lollipop-FJXVP5QM.js +0 -166
  496. package/dist/maf-OXJIJD6D.js +0 -455
  497. package/dist/maftimeline-75N6ZXEM.js +0 -587
  498. package/dist/matrix-QFKGEW5A.js +0 -54
  499. package/dist/matrix-XT7LUV5K.js +0 -59
  500. package/dist/matrix.cells-NB7LKKXV.js +0 -26
  501. package/dist/matrix.config-X6HS4UGD.js +0 -37
  502. package/dist/matrix.data-VLFF34SS.js +0 -23
  503. package/dist/matrix.groups-F62TSKIG.js +0 -26
  504. package/dist/matrix.integration.spec-7QBYWHW6.js +0 -3160
  505. package/dist/matrix.interactivity-2FBXB52E.js +0 -37
  506. package/dist/matrix.layout-6TPVKLSX.js +0 -39
  507. package/dist/matrix.legend-L4ULBMGX.js +0 -20
  508. package/dist/matrix.renderers-DK6YRLO2.js +0 -34
  509. package/dist/matrix.serieses-DCRJLJ3H.js +0 -19
  510. package/dist/matrix.sort-XSGPH44J.js +0 -26
  511. package/dist/matrix.sort.unit.spec-JF75F4I4.js +0 -468
  512. package/dist/matrix.sorterUi.unit.spec-66JMV5BK.js +0 -338
  513. package/dist/matrix.unit.spec-36AR4I43.js +0 -150
  514. package/dist/mavb-ZH4RO77H.js +0 -727
  515. package/dist/mds.fimo-MVP2G5PS.js +0 -513
  516. package/dist/mds.samplescatterplot-GYJ3OI4N.js +0 -1545
  517. package/dist/mds.survivalplot-Q6MYQGTB.js +0 -477
  518. package/dist/multivalue-BGFMPH4X.js +0 -83
  519. package/dist/numericDictTermCluster-FNNVLIWB.js +0 -63
  520. package/dist/oncomatrix-LIIALWWN.js +0 -290
  521. package/dist/oncomatrix.spec-NEMLM2ZN.js +0 -443
  522. package/dist/plot.2dvaf-HJO3SKNK.js +0 -372
  523. package/dist/plot.app-WSLFOFSR.js +0 -36
  524. package/dist/plot.barplot-SPI5JA37.js +0 -97
  525. package/dist/plot.boxplot-4W3XEY5I.js +0 -146
  526. package/dist/plot.brainImaging-KEOUTYIB.js +0 -51
  527. package/dist/plot.disco-7IDMKNAQ.js +0 -99
  528. package/dist/plot.ssgq-IOKUGDC4.js +0 -134
  529. package/dist/plot.vaf2cov-SFSZ6M43.js +0 -253
  530. package/dist/polar2-PLPE5TX5.js +0 -232
  531. package/dist/profileForms-ZDHG67GM.js +0 -941
  532. package/dist/profilePlot-UUZA2YG6.js +0 -49
  533. package/dist/proteinView-GHS3XARL.js +0 -1357
  534. package/dist/proteomeCohortCompare-TQ3BGIPS.js +0 -912
  535. package/dist/pseudbulk.unit.spec-HFESRN7A.js +0 -86
  536. package/dist/pseudobulk-ODXYIUD5.js +0 -35
  537. package/dist/qualitative-WOSYAIGQ.js +0 -38
  538. package/dist/radar2-2KXBS3Y3.js +0 -327
  539. package/dist/radarFacility2-JCOKJQQF.js +0 -335
  540. package/dist/render-IJ6GE3NE.js +0 -33
  541. package/dist/report-WLLFUA7L.js +0 -217
  542. package/dist/sampleView-LPKSYUNF.js +0 -43
  543. package/dist/samplelst-MNI2MGMT.js +0 -106
  544. package/dist/samplematrix-KEKJP2B4.js +0 -2193
  545. package/dist/sc-ZYKFRJU4.js +0 -81
  546. package/dist/scatter-BAEZOFWA.js +0 -88
  547. package/dist/scatter-IGFBIZ3B.js +0 -925
  548. package/dist/selectGenomeWithTklst-HBHRXEDY.js +0 -129
  549. package/dist/singleCellCellType-PMFDV24B.js +0 -33
  550. package/dist/singleCellCellType.unit.spec-ZLYDUDIY.js +0 -154
  551. package/dist/singleCellGeneExpression-SUYO3HR3.js +0 -33
  552. package/dist/singleCellGeneExpression.unit.spec-3N3HRXFN.js +0 -148
  553. package/dist/singleCellNumericValue-BV7C6Y34.js +0 -33
  554. package/dist/singleCellNumericValue.unit.spec-7VJOMYQ6.js +0 -416
  555. package/dist/singleCellPlot-BG7UJOHA.js +0 -48
  556. package/dist/singlecell-BANNFGBS.js +0 -81
  557. package/dist/singlecell-ZUTL5ZWE.js +0 -1566
  558. package/dist/snp-BHG4NVK4.js +0 -33
  559. package/dist/snp.unit.spec-Q3AZHQRC.js +0 -171
  560. package/dist/snplocus-HTJL63M3.js +0 -203
  561. package/dist/spliceevent.a53ss.diagram-UKRIP7EP.js +0 -146
  562. package/dist/spliceevent.exonskip.diagram-CU777CXQ.js +0 -278
  563. package/dist/spliceevent.noeventdiagram-LGLXCF25.js +0 -455
  564. package/dist/ssGSEA-BIEEKAKX.js +0 -33
  565. package/dist/ssGSEA.unit.spec-YD4UDIRH.js +0 -83
  566. package/dist/stattable-LFR3RSD6.js +0 -117
  567. package/dist/studyCatalog-RINIZ277.js +0 -414
  568. package/dist/summarizeCnvGeneexp-ZQFNPR65.js +0 -158
  569. package/dist/summarizeGeneexpSurvival-GIS7XMMH.js +0 -105
  570. package/dist/summarizeMutationCnv-FWF7YIGR.js +0 -159
  571. package/dist/summarizeMutationDiagnosis-V5L2OKTK.js +0 -35
  572. package/dist/summarizeMutationSurvival-LAUUF6XN.js +0 -99
  573. package/dist/summary-OMU3ACNE.js +0 -44
  574. package/dist/summary.integration.spec-6JZAT73L.js +0 -409
  575. package/dist/summaryInput-QIKL3HDD.js +0 -242
  576. package/dist/sunburst-32IW2R57.js +0 -278
  577. package/dist/survival-BMOPVAN2.js +0 -53
  578. package/dist/survival-H5AWMQ36.js +0 -1248
  579. package/dist/survival.integration.spec-66UOWSZG.js +0 -613
  580. package/dist/svgraph-B75FS3BB.js +0 -1382
  581. package/dist/svmr-IUEUOHVO.js +0 -3837
  582. package/dist/table-YAAH7WR6.js +0 -197
  583. package/dist/termCollection-7F5ZG2DB.js +0 -252
  584. package/dist/termCollection-KNFUELYY.js +0 -33
  585. package/dist/termCollection.unit.spec-S6M6QC4C.js +0 -299
  586. package/dist/termCollectionFractionSelection-X22VMJWY.js +0 -42
  587. package/dist/termCollectionFractionSelection.unit.spec-ELU6SD7P.js +0 -188
  588. package/dist/tk-TT666UVE.js +0 -41
  589. package/dist/tk-UOPNJ323.js +0 -1121
  590. package/dist/tp.ui-HGAHRKO5.js +0 -1454
  591. package/dist/tvs.dt-H7YYR4EB.js +0 -34
  592. package/dist/tvs.dtcnv.categorical-IPJTKGMF.js +0 -35
  593. package/dist/tvs.dtcnv.continuous-XY5XZ4GH.js +0 -67
  594. package/dist/tvs.dtfusion-VFCBMXRM.js +0 -35
  595. package/dist/tvs.dtitd-RZVW6FTR.js +0 -35
  596. package/dist/tvs.dtsnvindel-IDPJWSGC.js +0 -35
  597. package/dist/tvs.dtsv-QERP756F.js +0 -35
  598. package/dist/tvs.numeric-22AHXO5K.js +0 -20
  599. package/dist/tvs.samplelst-6KNDHBIU.js +0 -98
  600. package/dist/tvs.termCollection-GWPJK3NE.js +0 -124
  601. package/dist/vocabulary-C5FIZMPQ.js +0 -36
  602. package/dist/wsi.direct-2RBCBXDA.js +0 -8343
  603. /package/dist/{2dmaf-VTMPVZGT.js.map → 2dmaf-43QBND66.js.map} +0 -0
  604. /package/dist/{AggMatrixInput-CH3RQ2QC.js.map → AggMatrixInput-X7NGFUHH.js.map} +0 -0
  605. /package/dist/{AggregateMatrix-DPCHUOMF.js.map → AggregateMatrix-M4HRI4PX.js.map} +0 -0
  606. /package/dist/{AppHeader-RA7T467G.js.map → AppHeader-QBRQN6PM.js.map} +0 -0
  607. /package/dist/{BoxPlot-7Q7SMT26.js.map → BoxPlot-V6SPSEQ2.js.map} +0 -0
  608. /package/dist/{CorrelationVolcano-YV4UHOAX.js.map → CorrelationVolcano-UFPCYC77.js.map} +0 -0
  609. /package/dist/{Cuminc-ZN53C3MD.js.map → Cuminc-KXGXGLKZ.js.map} +0 -0
  610. /package/dist/{DE-BEWW5AIG.js.map → DE-K2YXHOOW.js.map} +0 -0
  611. /package/dist/{DM-2LBNE4WE.js.map → DM-C7VN3RWB.js.map} +0 -0
  612. /package/dist/{DifferentialAnalysis-WE4LBHEF.js.map → DifferentialAnalysis-A2BU4WB3.js.map} +0 -0
  613. /package/dist/{Disco-PTZQF7IM.js.map → Disco-HECQVKXG.js.map} +0 -0
  614. /package/dist/{Disco.UI-NBR67N5M.js.map → Disco.UI-XF2GEKRW.js.map} +0 -0
  615. /package/dist/{DmrPlot-QROLI66S.js.map → DmrPlot-TVXVXOHL.js.map} +0 -0
  616. /package/dist/{GB-FEBSFX5U.js.map → GB-66ZGJ5ST.js.map} +0 -0
  617. /package/dist/{GSEA-KOXOVC5V.js.map → GSEA-Z4YPI4HY.js.map} +0 -0
  618. /package/dist/{GeneExpInput-DYBK54HC.js.map → GeneExpInput-VBIZZV27.js.map} +0 -0
  619. /package/dist/{Geomap-QRD2WZVL.js.map → Geomap-UIIOLRFA.js.map} +0 -0
  620. /package/dist/{HicApp-VKET4QHD.js.map → HicApp-73ESVNBA.js.map} +0 -0
  621. /package/dist/{IDCViewer-RLLTXGD7.js.map → IDCViewer-RBYN5A4P.js.map} +0 -0
  622. /package/dist/{NumBinaryEditor-GYHOYPQL.js.map → NumBinaryEditor-DJLSNSLE.js.map} +0 -0
  623. /package/dist/{NumBinaryEditor.unit.spec-E2HKBWOO.js.map → NumBinaryEditor.unit.spec-LCJHL3XM.js.map} +0 -0
  624. /package/dist/{NumContEditor-3V76ZSEY.js.map → NumContEditor-SVLDJ2ML.js.map} +0 -0
  625. /package/dist/{NumContEditor.unit.spec-RTT5Q5E5.js.map → NumContEditor.unit.spec-JDMSK4HY.js.map} +0 -0
  626. /package/dist/{NumCustomBinEditor-O5DMPY7H.js.map → NumCustomBinEditor-BI63AH3R.js.map} +0 -0
  627. /package/dist/{NumCustomBinEditor.unit.spec-5LZBP2JL.js.map → NumCustomBinEditor.unit.spec-5433G7Y2.js.map} +0 -0
  628. /package/dist/{NumDiscreteEditor-DFOJ7AIH.js.map → NumDiscreteEditor-LEZTGXAV.js.map} +0 -0
  629. /package/dist/{NumDiscreteEditor.unit.spec-PPJGEBFX.js.map → NumDiscreteEditor.unit.spec-5OEORHJ4.js.map} +0 -0
  630. /package/dist/{NumRegularBinEditor-O6RDO32C.js.map → NumRegularBinEditor-EXWHIWPM.js.map} +0 -0
  631. /package/dist/{NumRegularBinEditor.unit.spec-GOB3BF25.js.map → NumRegularBinEditor.unit.spec-QY25Z2TT.js.map} +0 -0
  632. /package/dist/{NumSplineEditor-PUXJF2RW.js.map → NumSplineEditor-XPPMYYAD.js.map} +0 -0
  633. /package/dist/{NumSplineEditor.unit.spec-4VOAAMOU.js.map → NumSplineEditor.unit.spec-GOGBKWMN.js.map} +0 -0
  634. /package/dist/{NumericDensity-E6MH2THZ.js.map → NumericDensity-RKY2IQ72.js.map} +0 -0
  635. /package/dist/{NumericDensity.unit.spec-IRPFBQUS.js.map → NumericDensity.unit.spec-5ZM6ICXM.js.map} +0 -0
  636. /package/dist/{NumericHandler-42RR54X3.js.map → NumericHandler-FXF3M5M3.js.map} +0 -0
  637. /package/dist/{NumericHandler.unit.spec-YYOO7XVT.js.map → NumericHandler.unit.spec-M2OQTBJX.js.map} +0 -0
  638. /package/dist/{ProteomeInput-4N2G6IFX.js.map → ProteomeInput-TMZ3THRL.js.map} +0 -0
  639. /package/dist/{Regression-LIWUWAGQ.js.map → Regression-GQGAATHG.js.map} +0 -0
  640. /package/dist/{RunChart2-VAX5JGZY.js.map → RunChart2-7GNDWRKC.js.map} +0 -0
  641. /package/dist/{SC-UHBZ3HRO.js.map → SC-R2I2EMHA.js.map} +0 -0
  642. /package/dist/{Violin-V23VZR6B.js.map → Violin-GKKEB55L.js.map} +0 -0
  643. /package/dist/{Volcano-64S4AW66.js.map → Volcano-HRG5EFWH.js.map} +0 -0
  644. /package/dist/{Wsi-FOJCKDCP.js.map → Wsi-OHRCGYYD.js.map} +0 -0
  645. /package/dist/{adSandbox-CLMUYNC3.js.map → adSandbox-H56B25WR.js.map} +0 -0
  646. /package/dist/{animatedBubbleChart-GMLNYTQC.js.map → animatedBubbleChart-7SXFHU4J.js.map} +0 -0
  647. /package/dist/{app-2SFDRDN2.js.map → app-22JCSULA.js.map} +0 -0
  648. /package/dist/{app-QOZ36UR4.js.map → app-RGZJB6LN.js.map} +0 -0
  649. /package/dist/{bam-LLAK7FVG.js.map → bam-HA65TRGX.js.map} +0 -0
  650. /package/dist/{barchart-SEC6VKQ2.js.map → barchart-6XO75OMA.js.map} +0 -0
  651. /package/dist/{barchart2-D4FXZCTU.js.map → barchart2-6E5BIRHD.js.map} +0 -0
  652. /package/dist/{block-XGK6TEGH.js.map → block-43KNTXZ5.js.map} +0 -0
  653. /package/dist/{block.init-UMRCAKCF.js.map → block.init-TPU5QIPA.js.map} +0 -0
  654. /package/dist/{block.mds.expressionrank-LFPJ52SX.js.map → block.mds.expressionrank-QZDRFXCH.js.map} +0 -0
  655. /package/dist/{block.mds.geneboxplot-2QIEN6AH.js.map → block.mds.geneboxplot-64QVBK5Q.js.map} +0 -0
  656. /package/dist/{block.mds.junction-Z4HUFSG2.js.map → block.mds.junction-I4J6VXNT.js.map} +0 -0
  657. /package/dist/{block.mds.svcnv-3GXGY6ET.js.map → block.mds.svcnv-GDQMSQFF.js.map} +0 -0
  658. /package/dist/{block.svg-7RCJLMAP.js.map → block.svg-2MZFT5QP.js.map} +0 -0
  659. /package/dist/{block.tk.aicheck-5N6EGZ6F.js.map → block.tk.aicheck-2MKHF6LX.js.map} +0 -0
  660. /package/dist/{block.tk.ase-V3AJRYT6.js.map → block.tk.ase-CLYGKFTS.js.map} +0 -0
  661. /package/dist/{block.tk.bam-W6QOVVEU.js.map → block.tk.bam-XTR4QA5Z.js.map} +0 -0
  662. /package/dist/{block.tk.bedgraphdot-FKTPJZTH.js.map → block.tk.bedgraphdot-A2P2CXRU.js.map} +0 -0
  663. /package/dist/{block.tk.bigwig.ui-Y3M2TDM2.js.map → block.tk.bigwig.ui-YZH6JXEO.js.map} +0 -0
  664. /package/dist/{block.tk.hicstraw-3SWYTMFQ.js.map → block.tk.hicstraw-QBK5VWGU.js.map} +0 -0
  665. /package/dist/{block.tk.junction-OXB22PDS.js.map → block.tk.junction-5DEVBA7G.js.map} +0 -0
  666. /package/dist/{block.tk.junction.textmatrixui-PWBLRGCO.js.map → block.tk.junction.textmatrixui-7TTQMO6W.js.map} +0 -0
  667. /package/dist/{block.tk.ld-NTRJL5GA.js.map → block.tk.ld-PRIVUPKL.js.map} +0 -0
  668. /package/dist/{block.tk.menu-JIHSGGIO.js.map → block.tk.menu-JGBRFSS3.js.map} +0 -0
  669. /package/dist/{block.tk.pgv-4Q6CY6QN.js.map → block.tk.pgv-KQJCJMVD.js.map} +0 -0
  670. /package/dist/{brainImaging-MBI4XTTU.js.map → brainImaging-4SLVJ2HV.js.map} +0 -0
  671. /package/dist/{brainRegions-YVTAESRP.js.map → brainRegions-BDIVM2SG.js.map} +0 -0
  672. /package/dist/{bubbleHeatmap-ZKTA3AIG.js.map → bubbleHeatmap-ORKFJNEQ.js.map} +0 -0
  673. /package/dist/{cellTypeBubbleHeatmap-GJZNXDG4.js.map → cellTypeBubbleHeatmap-VOHLI4P7.js.map} +0 -0
  674. /package/dist/{chunk-Z6MCBFDM.js.map → chunk-26N3B2JO.js.map} +0 -0
  675. /package/dist/{chunk-QSOFGLWZ.js.map → chunk-2HNJF5ZI.js.map} +0 -0
  676. /package/dist/{chunk-5FRETII3.js.map → chunk-2LNGHIOC.js.map} +0 -0
  677. /package/dist/{chunk-VOF6NWTS.js.map → chunk-3SCQGODD.js.map} +0 -0
  678. /package/dist/{chunk-NGMM2MNC.js.map → chunk-47STLK7K.js.map} +0 -0
  679. /package/dist/{chunk-ANACCKCQ.js.map → chunk-4XYQG3XU.js.map} +0 -0
  680. /package/dist/{chunk-Z5HU276I.js.map → chunk-53XNEXR6.js.map} +0 -0
  681. /package/dist/{chunk-SXB4IZQ7.js.map → chunk-5UB5H7A3.js.map} +0 -0
  682. /package/dist/{chunk-QGH5BM2D.js.map → chunk-6FYQYTV6.js.map} +0 -0
  683. /package/dist/{chunk-T6Q76PDN.js.map → chunk-6RP6CR4Q.js.map} +0 -0
  684. /package/dist/{chunk-RMHUDMZ7.js.map → chunk-A5D37SIL.js.map} +0 -0
  685. /package/dist/{chunk-DANF4CC5.js.map → chunk-ADRFQ5AL.js.map} +0 -0
  686. /package/dist/{chunk-6LDKSKYQ.js.map → chunk-AUZ63NKJ.js.map} +0 -0
  687. /package/dist/{chunk-XVVVNCXS.js.map → chunk-B563DUNQ.js.map} +0 -0
  688. /package/dist/{chunk-6FG6JFZP.js.map → chunk-BK6UDL7F.js.map} +0 -0
  689. /package/dist/{chunk-7GDRMBNO.js.map → chunk-CT4IG5IR.js.map} +0 -0
  690. /package/dist/{chunk-J5GQGWYX.js.map → chunk-D6UBH77N.js.map} +0 -0
  691. /package/dist/{chunk-5LYVIIYR.js.map → chunk-DS4GLMJL.js.map} +0 -0
  692. /package/dist/{chunk-AFQKYV4D.js.map → chunk-DSBRHWZ7.js.map} +0 -0
  693. /package/dist/{chunk-7FFTAYT4.js.map → chunk-DX35MKPR.js.map} +0 -0
  694. /package/dist/{chunk-BCCFJYPE.js.map → chunk-EDZJ3VNZ.js.map} +0 -0
  695. /package/dist/{chunk-DNCFJTPI.js.map → chunk-F47A4CVK.js.map} +0 -0
  696. /package/dist/{chunk-AVCEHJG7.js.map → chunk-G4H34RNK.js.map} +0 -0
  697. /package/dist/{chunk-TYR355RM.js.map → chunk-G7RUMSHL.js.map} +0 -0
  698. /package/dist/{chunk-FNW6BKOA.js.map → chunk-GXFS25SK.js.map} +0 -0
  699. /package/dist/{chunk-AVCIZWH5.js.map → chunk-IBT6WRY6.js.map} +0 -0
  700. /package/dist/{chunk-K32DV4QI.js.map → chunk-IJ7AIDEO.js.map} +0 -0
  701. /package/dist/{chunk-YKZOQTT4.js.map → chunk-JBFVJHZN.js.map} +0 -0
  702. /package/dist/{chunk-WXXRVJSP.js.map → chunk-JDVBUIEU.js.map} +0 -0
  703. /package/dist/{chunk-2PDBU42F.js.map → chunk-K7RW5TPU.js.map} +0 -0
  704. /package/dist/{chunk-YHP7MYB7.js.map → chunk-LBCIXRI2.js.map} +0 -0
  705. /package/dist/{chunk-K77W4SSI.js.map → chunk-MNXL2UV5.js.map} +0 -0
  706. /package/dist/{chunk-CYWEYHJQ.js.map → chunk-NI5CVN43.js.map} +0 -0
  707. /package/dist/{chunk-CN6KJORZ.js.map → chunk-NOBXDQDU.js.map} +0 -0
  708. /package/dist/{chunk-2RMSV4BS.js.map → chunk-NQNVLZOA.js.map} +0 -0
  709. /package/dist/{chunk-D5ETVOOE.js.map → chunk-NULFGPE3.js.map} +0 -0
  710. /package/dist/{chunk-33BE7AYS.js.map → chunk-OUIXGM3K.js.map} +0 -0
  711. /package/dist/{chunk-VFUSBU43.js.map → chunk-P4LGA36F.js.map} +0 -0
  712. /package/dist/{chunk-MMKSXXU2.js.map → chunk-PU5FQWAY.js.map} +0 -0
  713. /package/dist/{chunk-Q4HTEL2O.js.map → chunk-PZ2OSHBF.js.map} +0 -0
  714. /package/dist/{chunk-JMDUO47F.js.map → chunk-QBNDPW7O.js.map} +0 -0
  715. /package/dist/{chunk-OASGOTRM.js.map → chunk-R5PKBL7V.js.map} +0 -0
  716. /package/dist/{chunk-GYE6FU7P.js.map → chunk-RI65SIN3.js.map} +0 -0
  717. /package/dist/{chunk-OEBGQKQR.js.map → chunk-RPGLLO4T.js.map} +0 -0
  718. /package/dist/{chunk-BG3SGGVB.js.map → chunk-RXNZK7MF.js.map} +0 -0
  719. /package/dist/{chunk-YHWQWVWX.js.map → chunk-S2ICJ3RZ.js.map} +0 -0
  720. /package/dist/{chunk-X4MV2M5F.js.map → chunk-SFHG6H2D.js.map} +0 -0
  721. /package/dist/{chunk-P7X4LDW4.js.map → chunk-TQ2DVEQO.js.map} +0 -0
  722. /package/dist/{chunk-R2QE6ROO.js.map → chunk-U6BJ4ZNU.js.map} +0 -0
  723. /package/dist/{chunk-B6UXFX73.js.map → chunk-UXD6G6G4.js.map} +0 -0
  724. /package/dist/{chunk-OBDIJ4QS.js.map → chunk-VA57CUC7.js.map} +0 -0
  725. /package/dist/{chunk-WIQVSCD5.js.map → chunk-VH5W6ODW.js.map} +0 -0
  726. /package/dist/{chunk-V3SOBDIT.js.map → chunk-VROF55EH.js.map} +0 -0
  727. /package/dist/{chunk-QXDGIQYA.js.map → chunk-VWA7BYSV.js.map} +0 -0
  728. /package/dist/{chunk-KEHVNCFK.js.map → chunk-X37BRSGS.js.map} +0 -0
  729. /package/dist/{chunk-AR3HXZIW.js.map → chunk-XQYDXA47.js.map} +0 -0
  730. /package/dist/{chunk-6G45AUSV.js.map → chunk-XXPUZVS4.js.map} +0 -0
  731. /package/dist/{chunk-OI5KBFBE.js.map → chunk-Y7V5AIUH.js.map} +0 -0
  732. /package/dist/{chunk-OWEBE64A.js.map → chunk-YBNIOGUE.js.map} +0 -0
  733. /package/dist/{chunk-WGDJX7WZ.js.map → chunk-YEYMNF7V.js.map} +0 -0
  734. /package/dist/{chunk-IEIGHCZS.js.map → chunk-YJ74QATP.js.map} +0 -0
  735. /package/dist/{chunk-ULZPHJYD.js.map → chunk-ZG2HCGAO.js.map} +0 -0
  736. /package/dist/{chunk-FR5USNAT.js.map → chunk-ZZN7ZD7J.js.map} +0 -0
  737. /package/dist/{cohort-GVAJTICQ.js.map → cohort-6OCRQQ2S.js.map} +0 -0
  738. /package/dist/{condition-EGPNMM47.js.map → condition-SZVXH3VU.js.map} +0 -0
  739. /package/dist/{controls-HBROSXHF.js.map → controls-MO6ZND76.js.map} +0 -0
  740. /package/dist/{controls.config-FWKV66TU.js.map → controls.config-P4MSTGL4.js.map} +0 -0
  741. /package/dist/{correlation-CEHE66EC.js.map → correlation-NMI3CM3T.js.map} +0 -0
  742. /package/dist/{customdata.inputui-LFT3N5FD.js.map → customdata.inputui-VCHSCA65.js.map} +0 -0
  743. /package/dist/{dataDownload-ZPAIAAE4.js.map → dataDownload-VQHOTQ5D.js.map} +0 -0
  744. /package/dist/{databrowser.ui-W5JGFBE6.js.map → databrowser.ui-ZFOCAG32.js.map} +0 -0
  745. /package/dist/{dictionary-RBE2CIZI.js.map → dictionary-S5YCFUWH.js.map} +0 -0
  746. /package/dist/{dnaMethylation-CX22TSRO.js.map → dnaMethylation-MQZLZRGT.js.map} +0 -0
  747. /package/dist/{dnaMethylation.integration.spec-KEE6ZZRT.js.map → dnaMethylation.integration.spec-H546EBUO.js.map} +0 -0
  748. /package/dist/{dofetch-6NAGX5EG.js.map → dofetch-QZIYSC7H.js.map} +0 -0
  749. /package/dist/{e2pca-XDGPTEXL.js.map → e2pca-XOXOS3PN.js.map} +0 -0
  750. /package/dist/{ep-IUIDMIGW.js.map → ep-U6KRL7FR.js.map} +0 -0
  751. /package/dist/{expclust.gdc.spec-BMN2PTJX.js.map → expclust.gdc.spec-HCK65C63.js.map} +0 -0
  752. /package/dist/{facet-DTJKZOBA.js.map → facet-DCC25KJO.js.map} +0 -0
  753. /package/dist/{gb-MV7MUJWO.js.map → gb-TIFWFD4Y.js.map} +0 -0
  754. /package/dist/{geneExpClustering-NFH5FS3S.js.map → geneExpClustering-6DQEOTOY.js.map} +0 -0
  755. /package/dist/{geneExpression-XVOLNYVN.js.map → geneExpression-EASRAN6B.js.map} +0 -0
  756. /package/dist/{geneExpression-ZP2VWHED.js.map → geneExpression-G4YMDCBH.js.map} +0 -0
  757. /package/dist/{geneExpression.unit.spec-2NSK4ARK.js.map → geneExpression.unit.spec-XVEJYMPX.js.map} +0 -0
  758. /package/dist/{geneORA-HQ7FLMEJ.js.map → geneORA-6UBS5GSC.js.map} +0 -0
  759. /package/dist/{geneRanking-MIABUKTN.js.map → geneRanking-UXXYWHNB.js.map} +0 -0
  760. /package/dist/{geneVariant-H52UUK6Z.js.map → geneVariant-SZRJOXVC.js.map} +0 -0
  761. /package/dist/{geneVariant-HDFWLALZ.js.map → geneVariant-TKFKARZK.js.map} +0 -0
  762. /package/dist/{genefusion.ui-HSDZQHJA.js.map → genefusion.ui-TJLYXSVL.js.map} +0 -0
  763. /package/dist/{geneset-WKV3X2EJ.js.map → geneset-YTBDLEIH.js.map} +0 -0
  764. /package/dist/{genomeBrowser.spec-UTAHAU76.js.map → genomeBrowser.spec-ZO4LFIXE.js.map} +0 -0
  765. /package/dist/{grin2-N2QM3XTG.js.map → grin2-FC4VYU54.js.map} +0 -0
  766. /package/dist/{grin2-M2JDZVYU.js.map → grin2-LIFKBMVK.js.map} +0 -0
  767. /package/dist/{hierCluster-LZI6OTRS.js.map → hierCluster-56EGAPOR.js.map} +0 -0
  768. /package/dist/{hierCluster-VVXPOTQU.js.map → hierCluster-DR5NWCXA.js.map} +0 -0
  769. /package/dist/{hierCluster.config-NCYH3Y7Z.js.map → hierCluster.config-NACE3FH2.js.map} +0 -0
  770. /package/dist/{hierCluster.integration.spec-ZDOOCTV3.js.map → hierCluster.integration.spec-PEEXPAS6.js.map} +0 -0
  771. /package/dist/{hierCluster.interactivity-4HP3JCON.js.map → hierCluster.interactivity-OCBGLUJM.js.map} +0 -0
  772. /package/dist/{hierCluster.renderers-3F5GMEXA.js.map → hierCluster.renderers-JNQUSAP4.js.map} +0 -0
  773. /package/dist/{imagePlot-OA4WTMLU.js.map → imagePlot-GR4JNUGG.js.map} +0 -0
  774. /package/dist/{importPlot-OSTC2GPO.js.map → importPlot-4R4BSPVD.js.map} +0 -0
  775. /package/dist/{isoformExpression-LZ5RTUS5.js.map → isoformExpression-ST5ZW2NE.js.map} +0 -0
  776. /package/dist/{isoformExpression.unit.spec-L6YDBKYM.js.map → isoformExpression.unit.spec-PPFC5Z7N.js.map} +0 -0
  777. /package/dist/{junction-UR6COY3A.js.map → junction-7AKZHOHV.js.map} +0 -0
  778. /package/dist/{junction.unit.spec-NVBJTGA4.js.map → junction.unit.spec-SZUJXRQ2.js.map} +0 -0
  779. /package/dist/{launch.adhoc-AZG6QJG7.js.map → launch.adhoc-RWJQUOJ6.js.map} +0 -0
  780. /package/dist/{leftlabel.sample-LYZG25RT.js.map → leftlabel.sample-WRHLVQAQ.js.map} +0 -0
  781. /package/dist/{lollipop-FJXVP5QM.js.map → lollipop-ZZWXTM23.js.map} +0 -0
  782. /package/dist/{maf-OXJIJD6D.js.map → maf-N4XPZTQU.js.map} +0 -0
  783. /package/dist/{maftimeline-75N6ZXEM.js.map → maftimeline-2FBS6RWS.js.map} +0 -0
  784. /package/dist/{matrix-QFKGEW5A.js.map → matrix-5KEQPB5H.js.map} +0 -0
  785. /package/dist/{matrix-XT7LUV5K.js.map → matrix-RJUNXB5N.js.map} +0 -0
  786. /package/dist/{matrix.cells-NB7LKKXV.js.map → matrix.cells-WXTPOJYB.js.map} +0 -0
  787. /package/dist/{matrix.config-X6HS4UGD.js.map → matrix.config-ZZFLLD6Z.js.map} +0 -0
  788. /package/dist/{matrix.data-VLFF34SS.js.map → matrix.data-3PQ73GVJ.js.map} +0 -0
  789. /package/dist/{matrix.groups-F62TSKIG.js.map → matrix.groups-U6CKS6WW.js.map} +0 -0
  790. /package/dist/{matrix.integration.spec-7QBYWHW6.js.map → matrix.integration.spec-T53PMVHC.js.map} +0 -0
  791. /package/dist/{matrix.interactivity-2FBXB52E.js.map → matrix.interactivity-3LDZV3F7.js.map} +0 -0
  792. /package/dist/{matrix.layout-6TPVKLSX.js.map → matrix.layout-MINLYQCA.js.map} +0 -0
  793. /package/dist/{matrix.legend-L4ULBMGX.js.map → matrix.legend-6GSDFZHS.js.map} +0 -0
  794. /package/dist/{matrix.renderers-DK6YRLO2.js.map → matrix.renderers-5BKOXDE3.js.map} +0 -0
  795. /package/dist/{matrix.serieses-DCRJLJ3H.js.map → matrix.serieses-6FCFIFAQ.js.map} +0 -0
  796. /package/dist/{matrix.sort-XSGPH44J.js.map → matrix.sort-EHVVYDZ3.js.map} +0 -0
  797. /package/dist/{matrix.sort.unit.spec-JF75F4I4.js.map → matrix.sort.unit.spec-BCWE4AFX.js.map} +0 -0
  798. /package/dist/{matrix.sorterUi.unit.spec-66JMV5BK.js.map → matrix.sorterUi.unit.spec-XJR5KXRL.js.map} +0 -0
  799. /package/dist/{matrix.unit.spec-36AR4I43.js.map → matrix.unit.spec-TUCKPE26.js.map} +0 -0
  800. /package/dist/{mavb-ZH4RO77H.js.map → mavb-GWSNRBLM.js.map} +0 -0
  801. /package/dist/{mds.fimo-MVP2G5PS.js.map → mds.fimo-OMAQRSMW.js.map} +0 -0
  802. /package/dist/{mds.samplescatterplot-GYJ3OI4N.js.map → mds.samplescatterplot-4UW3CC45.js.map} +0 -0
  803. /package/dist/{mds.survivalplot-Q6MYQGTB.js.map → mds.survivalplot-2CJYJBD2.js.map} +0 -0
  804. /package/dist/{multivalue-BGFMPH4X.js.map → multivalue-G44MHEYI.js.map} +0 -0
  805. /package/dist/{numericDictTermCluster-FNNVLIWB.js.map → numericDictTermCluster-5BDRGVQG.js.map} +0 -0
  806. /package/dist/{oncomatrix-LIIALWWN.js.map → oncomatrix-ZTVO23ZH.js.map} +0 -0
  807. /package/dist/{oncomatrix.spec-NEMLM2ZN.js.map → oncomatrix.spec-2QVK2A3Q.js.map} +0 -0
  808. /package/dist/{plot.2dvaf-HJO3SKNK.js.map → plot.2dvaf-CL5YUXKH.js.map} +0 -0
  809. /package/dist/{plot.app-WSLFOFSR.js.map → plot.app-4ANKPSNP.js.map} +0 -0
  810. /package/dist/{plot.barplot-SPI5JA37.js.map → plot.barplot-BMGDNZRA.js.map} +0 -0
  811. /package/dist/{plot.boxplot-4W3XEY5I.js.map → plot.boxplot-GMLQCDP6.js.map} +0 -0
  812. /package/dist/{plot.brainImaging-KEOUTYIB.js.map → plot.brainImaging-RZXX3NUZ.js.map} +0 -0
  813. /package/dist/{plot.disco-7IDMKNAQ.js.map → plot.disco-3MD4J4C7.js.map} +0 -0
  814. /package/dist/{plot.ssgq-IOKUGDC4.js.map → plot.ssgq-ZC4UYKOT.js.map} +0 -0
  815. /package/dist/{plot.vaf2cov-SFSZ6M43.js.map → plot.vaf2cov-4DHFMYQV.js.map} +0 -0
  816. /package/dist/{polar2-PLPE5TX5.js.map → polar2-TMB5EITR.js.map} +0 -0
  817. /package/dist/{profileForms-ZDHG67GM.js.map → profileForms-GD7BIOOD.js.map} +0 -0
  818. /package/dist/{profilePlot-UUZA2YG6.js.map → profilePlot-CZLK5E74.js.map} +0 -0
  819. /package/dist/{proteinView-GHS3XARL.js.map → proteinView-FEEEXLKT.js.map} +0 -0
  820. /package/dist/{proteomeCohortCompare-TQ3BGIPS.js.map → proteomeCohortCompare-NVLJ2FXX.js.map} +0 -0
  821. /package/dist/{pseudbulk.unit.spec-HFESRN7A.js.map → pseudbulk.unit.spec-GHQZPNAH.js.map} +0 -0
  822. /package/dist/{pseudobulk-ODXYIUD5.js.map → pseudobulk-G5UQIRKL.js.map} +0 -0
  823. /package/dist/{qualitative-WOSYAIGQ.js.map → qualitative-EAUUCKU5.js.map} +0 -0
  824. /package/dist/{radar2-2KXBS3Y3.js.map → radar2-CJQ2L6KE.js.map} +0 -0
  825. /package/dist/{radarFacility2-JCOKJQQF.js.map → radarFacility2-BLVRZE4V.js.map} +0 -0
  826. /package/dist/{render-IJ6GE3NE.js.map → render-KKAQPH6Y.js.map} +0 -0
  827. /package/dist/{report-WLLFUA7L.js.map → report-OSOJHTSD.js.map} +0 -0
  828. /package/dist/{sampleView-LPKSYUNF.js.map → sampleView-WB74RLD7.js.map} +0 -0
  829. /package/dist/{samplelst-MNI2MGMT.js.map → samplelst-ZKXV5WOD.js.map} +0 -0
  830. /package/dist/{samplematrix-KEKJP2B4.js.map → samplematrix-WJFYMWLT.js.map} +0 -0
  831. /package/dist/{sc-ZYKFRJU4.js.map → sc-RBRBUCLR.js.map} +0 -0
  832. /package/dist/{scatter-BAEZOFWA.js.map → scatter-5K3QTIDK.js.map} +0 -0
  833. /package/dist/{scatter-IGFBIZ3B.js.map → scatter-SM7GQENM.js.map} +0 -0
  834. /package/dist/{selectGenomeWithTklst-HBHRXEDY.js.map → selectGenomeWithTklst-ZZUJ7AQ7.js.map} +0 -0
  835. /package/dist/{singleCellCellType-PMFDV24B.js.map → singleCellCellType-LCF2JNZ2.js.map} +0 -0
  836. /package/dist/{singleCellCellType.unit.spec-ZLYDUDIY.js.map → singleCellCellType.unit.spec-T6DYH4BC.js.map} +0 -0
  837. /package/dist/{singleCellGeneExpression-SUYO3HR3.js.map → singleCellGeneExpression-2XUYTH4C.js.map} +0 -0
  838. /package/dist/{singleCellGeneExpression.unit.spec-3N3HRXFN.js.map → singleCellGeneExpression.unit.spec-SMRCLOF4.js.map} +0 -0
  839. /package/dist/{singleCellNumericValue-BV7C6Y34.js.map → singleCellNumericValue-57I33FZT.js.map} +0 -0
  840. /package/dist/{singleCellNumericValue.unit.spec-7VJOMYQ6.js.map → singleCellNumericValue.unit.spec-4YNB4OEV.js.map} +0 -0
  841. /package/dist/{singleCellPlot-BG7UJOHA.js.map → singleCellPlot-L6TKQHGD.js.map} +0 -0
  842. /package/dist/{singlecell-BANNFGBS.js.map → singlecell-LZKR3UDV.js.map} +0 -0
  843. /package/dist/{singlecell-ZUTL5ZWE.js.map → singlecell-UKN2VCXQ.js.map} +0 -0
  844. /package/dist/{snp-BHG4NVK4.js.map → snp-3LJITU5B.js.map} +0 -0
  845. /package/dist/{snp.unit.spec-Q3AZHQRC.js.map → snp.unit.spec-ZQNU6XRM.js.map} +0 -0
  846. /package/dist/{snplocus-HTJL63M3.js.map → snplocus-OME7UQBW.js.map} +0 -0
  847. /package/dist/{spliceevent.a53ss.diagram-UKRIP7EP.js.map → spliceevent.a53ss.diagram-C32IEFMU.js.map} +0 -0
  848. /package/dist/{spliceevent.exonskip.diagram-CU777CXQ.js.map → spliceevent.exonskip.diagram-CZ7MVRLK.js.map} +0 -0
  849. /package/dist/{spliceevent.noeventdiagram-LGLXCF25.js.map → spliceevent.noeventdiagram-ZO6R3776.js.map} +0 -0
  850. /package/dist/{ssGSEA-BIEEKAKX.js.map → ssGSEA-BGPQ2PFY.js.map} +0 -0
  851. /package/dist/{ssGSEA.unit.spec-YD4UDIRH.js.map → ssGSEA.unit.spec-U7TBUSSK.js.map} +0 -0
  852. /package/dist/{stattable-LFR3RSD6.js.map → stattable-FISGQCED.js.map} +0 -0
  853. /package/dist/{studyCatalog-RINIZ277.js.map → studyCatalog-UHFUT2CJ.js.map} +0 -0
  854. /package/dist/{summarizeCnvGeneexp-ZQFNPR65.js.map → summarizeCnvGeneexp-OVZO6KIB.js.map} +0 -0
  855. /package/dist/{summarizeGeneexpSurvival-GIS7XMMH.js.map → summarizeGeneexpSurvival-KVQ4JGWK.js.map} +0 -0
  856. /package/dist/{summarizeMutationCnv-FWF7YIGR.js.map → summarizeMutationCnv-RAKGHNLE.js.map} +0 -0
  857. /package/dist/{summarizeMutationDiagnosis-V5L2OKTK.js.map → summarizeMutationDiagnosis-LGCINAGG.js.map} +0 -0
  858. /package/dist/{summarizeMutationSurvival-LAUUF6XN.js.map → summarizeMutationSurvival-J7H7L4FX.js.map} +0 -0
  859. /package/dist/{summary-OMU3ACNE.js.map → summary-2632JZXH.js.map} +0 -0
  860. /package/dist/{summary.integration.spec-6JZAT73L.js.map → summary.integration.spec-5WBS2ZRP.js.map} +0 -0
  861. /package/dist/{summaryInput-QIKL3HDD.js.map → summaryInput-BH6C3ATV.js.map} +0 -0
  862. /package/dist/{sunburst-32IW2R57.js.map → sunburst-AMRR2IHM.js.map} +0 -0
  863. /package/dist/{survival-H5AWMQ36.js.map → survival-2RNJQVFS.js.map} +0 -0
  864. /package/dist/{survival-BMOPVAN2.js.map → survival-WYCH4QOQ.js.map} +0 -0
  865. /package/dist/{survival.integration.spec-66UOWSZG.js.map → survival.integration.spec-7IFPY4I4.js.map} +0 -0
  866. /package/dist/{svgraph-B75FS3BB.js.map → svgraph-YQWS52ZJ.js.map} +0 -0
  867. /package/dist/{svmr-IUEUOHVO.js.map → svmr-NRN6LGKK.js.map} +0 -0
  868. /package/dist/{table-YAAH7WR6.js.map → table-3QOMV2NN.js.map} +0 -0
  869. /package/dist/{termCollection-KNFUELYY.js.map → termCollection-2ZJ7TJGO.js.map} +0 -0
  870. /package/dist/{termCollection-7F5ZG2DB.js.map → termCollection-3MCVR7BA.js.map} +0 -0
  871. /package/dist/{termCollection.unit.spec-S6M6QC4C.js.map → termCollection.unit.spec-QYOEA3X6.js.map} +0 -0
  872. /package/dist/{termCollectionFractionSelection-X22VMJWY.js.map → termCollectionFractionSelection-5AH6EF4L.js.map} +0 -0
  873. /package/dist/{termCollectionFractionSelection.unit.spec-ELU6SD7P.js.map → termCollectionFractionSelection.unit.spec-WPGW4WJN.js.map} +0 -0
  874. /package/dist/{tk-TT666UVE.js.map → tk-DQ7D5UEO.js.map} +0 -0
  875. /package/dist/{tk-UOPNJ323.js.map → tk-ONKYBG6R.js.map} +0 -0
  876. /package/dist/{tp.ui-HGAHRKO5.js.map → tp.ui-C7BTMHEI.js.map} +0 -0
  877. /package/dist/{tvs.dt-H7YYR4EB.js.map → tvs.dt-PLRMK7OT.js.map} +0 -0
  878. /package/dist/{tvs.dtcnv.categorical-IPJTKGMF.js.map → tvs.dtcnv.categorical-IZUY2AQO.js.map} +0 -0
  879. /package/dist/{tvs.dtcnv.continuous-XY5XZ4GH.js.map → tvs.dtcnv.continuous-ENV3RHHA.js.map} +0 -0
  880. /package/dist/{tvs.dtfusion-VFCBMXRM.js.map → tvs.dtfusion-2DVCV6AM.js.map} +0 -0
  881. /package/dist/{tvs.dtitd-RZVW6FTR.js.map → tvs.dtitd-XNDIRQYU.js.map} +0 -0
  882. /package/dist/{tvs.dtsnvindel-IDPJWSGC.js.map → tvs.dtsnvindel-4D3G7XSF.js.map} +0 -0
  883. /package/dist/{tvs.dtsv-QERP756F.js.map → tvs.dtsv-QYMIMC4Z.js.map} +0 -0
  884. /package/dist/{tvs.numeric-22AHXO5K.js.map → tvs.numeric-M5LH3PRH.js.map} +0 -0
  885. /package/dist/{tvs.samplelst-6KNDHBIU.js.map → tvs.samplelst-2KEU2ZWB.js.map} +0 -0
  886. /package/dist/{tvs.termCollection-GWPJK3NE.js.map → tvs.termCollection-FEY746V5.js.map} +0 -0
  887. /package/dist/{vocabulary-C5FIZMPQ.js.map → vocabulary-BR4NJDPS.js.map} +0 -0
  888. /package/dist/{wsi.direct-2RBCBXDA.js.map → wsi.direct-JWDUNHIO.js.map} +0 -0
@@ -0,0 +1,89 @@
1
+ import {
2
+ appInit
3
+ } from "./chunk-CT4IG5IR.js";
4
+ import "./chunk-Y7V5AIUH.js";
5
+ import "./chunk-QD75Q5LM.js";
6
+ import "./chunk-D6UBH77N.js";
7
+ import "./chunk-S2ICJ3RZ.js";
8
+ import "./chunk-4G73CMUL.js";
9
+ import "./chunk-X46YA4CB.js";
10
+ import "./chunk-SKMFMGCD.js";
11
+ import "./chunk-CKOU3P27.js";
12
+ import "./chunk-PRZWSBMA.js";
13
+ import "./chunk-55FABQU2.js";
14
+ import "./chunk-HJ6L54YS.js";
15
+ import "./chunk-KV4W2ACA.js";
16
+ import "./chunk-UXD6G6G4.js";
17
+ import "./chunk-ELJX3QIQ.js";
18
+ import "./chunk-3FEP6B5T.js";
19
+ import "./chunk-EEB5VE2A.js";
20
+ import "./chunk-6RRZRISL.js";
21
+ import "./chunk-2KM4PRQM.js";
22
+ import "./chunk-VA57CUC7.js";
23
+ import "./chunk-BK6UDL7F.js";
24
+ import "./chunk-KIAMLQ7S.js";
25
+ import "./chunk-SB36AUG7.js";
26
+ import "./chunk-WINIL2KN.js";
27
+ import "./chunk-PF4DSFDR.js";
28
+ import "./chunk-7X6NF7NI.js";
29
+ import "./chunk-W5J3LTYS.js";
30
+ import "./chunk-Z2ZITHT4.js";
31
+ import "./chunk-4OLM3KSB.js";
32
+ import "./chunk-FXQXCOII.js";
33
+ import "./chunk-TLT4YIG3.js";
34
+ import "./chunk-5R63Q5KH.js";
35
+ import "./chunk-I6Y4O3RR.js";
36
+ import "./chunk-Q5RDQNIT.js";
37
+ import "./chunk-DQC5FFGV.js";
38
+ import "./chunk-HS5PO5ZQ.js";
39
+
40
+ // gdc/DE.ts
41
+ async function init(arg, holder, genomes) {
42
+ const useGenome = arg.genome || "hg38";
43
+ const useDslabel = arg.dslabel || "GDC";
44
+ const genome = genomes[useGenome];
45
+ const massApi = await appInit({
46
+ //debug: arg.debugmode, // is debug accepted?
47
+ genome,
48
+ holder,
49
+ state: {
50
+ genome: useGenome,
51
+ dslabel: useDslabel,
52
+ termfilter: { filter0: arg.filter0 },
53
+ nav: { activeTab: 1, header_mode: "hidden" },
54
+ // an embedder may supply prebuilt groups, see config.groups[] in plots/DEinput.ts
55
+ plots: arg.state?.plots || [{ chartType: "DEinput" }]
56
+ },
57
+ opts: Object.assign(
58
+ {
59
+ // todo additional customizations
60
+ // dictionary:{header:'Select a variable to build Correlation Plot'}
61
+ // some way to make gene exp violin/boxplot to use log scale by default, but numeric dict term should not
62
+ },
63
+ arg.opts || {}
64
+ ),
65
+ app: arg.opts?.app || {}
66
+ });
67
+ const api = {
68
+ update: async (updateArg) => {
69
+ if (!massApi) return;
70
+ if ("filter0" in updateArg) {
71
+ massApi.dispatch({
72
+ type: "app_refresh",
73
+ subactions: [
74
+ {
75
+ type: "filter_replace",
76
+ filter0: updateArg.filter0
77
+ }
78
+ ]
79
+ });
80
+ }
81
+ },
82
+ triggerAbort: (reason = "") => massApi.triggerAbort(reason)
83
+ };
84
+ return api;
85
+ }
86
+ export {
87
+ init
88
+ };
89
+ //# sourceMappingURL=DE-K2YXHOOW.js.map
@@ -0,0 +1,501 @@
1
+ import {
2
+ rehydrateFilter
3
+ } from "./chunk-SKMFMGCD.js";
4
+ import {
5
+ PlotBase,
6
+ Tabs,
7
+ excludeFilterByTag,
8
+ filterInit,
9
+ filterJoin,
10
+ filterPromptInit,
11
+ getNormalRoot,
12
+ make_radios,
13
+ negateFilter,
14
+ renderPreAnalysisData,
15
+ renderTable
16
+ } from "./chunk-55FABQU2.js";
17
+ import "./chunk-HJ6L54YS.js";
18
+ import "./chunk-KV4W2ACA.js";
19
+ import "./chunk-UXD6G6G4.js";
20
+ import "./chunk-ELJX3QIQ.js";
21
+ import "./chunk-3FEP6B5T.js";
22
+ import "./chunk-EEB5VE2A.js";
23
+ import "./chunk-6RRZRISL.js";
24
+ import "./chunk-2KM4PRQM.js";
25
+ import {
26
+ dofetch3
27
+ } from "./chunk-VA57CUC7.js";
28
+ import "./chunk-BK6UDL7F.js";
29
+ import {
30
+ termType2label
31
+ } from "./chunk-KIAMLQ7S.js";
32
+ import {
33
+ TermTypeGroups,
34
+ TermTypes,
35
+ getColors
36
+ } from "./chunk-SB36AUG7.js";
37
+ import {
38
+ copyMerge,
39
+ getCompInit
40
+ } from "./chunk-WINIL2KN.js";
41
+ import "./chunk-PF4DSFDR.js";
42
+ import "./chunk-7X6NF7NI.js";
43
+ import {
44
+ uiLabel
45
+ } from "./chunk-W5J3LTYS.js";
46
+ import "./chunk-Z2ZITHT4.js";
47
+ import "./chunk-4OLM3KSB.js";
48
+ import "./chunk-FXQXCOII.js";
49
+ import "./chunk-TLT4YIG3.js";
50
+ import "./chunk-5R63Q5KH.js";
51
+ import "./chunk-I6Y4O3RR.js";
52
+ import {
53
+ color,
54
+ rgb
55
+ } from "./chunk-Q5RDQNIT.js";
56
+ import "./chunk-DQC5FFGV.js";
57
+ import "./chunk-HS5PO5ZQ.js";
58
+
59
+ // plots/DEinput.ts
60
+ var colorScale = getColors(5);
61
+ var DEinputPlot = class _DEinputPlot extends PlotBase {
62
+ constructor(opts, api) {
63
+ super(opts, api);
64
+ this.components = {};
65
+ this.type = _DEinputPlot.type;
66
+ this.dom = this.getDom();
67
+ this.groups = [];
68
+ }
69
+ static {
70
+ this.type = "DEinput";
71
+ }
72
+ get isGE() {
73
+ return this.termType == TermTypes.GENE_EXPRESSION;
74
+ }
75
+ getDom() {
76
+ const header = this.opts?.header || void 0;
77
+ const holder = this.opts.holder.append("div").style("margin", "10px");
78
+ const expressionSource = holder.append("div").style("margin-bottom", "15px");
79
+ const table = holder.append("div");
80
+ const btns = holder.append("div").style("margin-top", "5px");
81
+ const addGroup = btns.append("div").style("display", "inline-block");
82
+ const submit = btns.append("div").style("display", "none").style("margin-left", "15px").attr("class", "sja_new_filter_btn sja_menuoption");
83
+ const loading = holder.append("div").style("display", "none").style("margin", "20px 10px").text("Loading...");
84
+ const preAnalysis = holder.append("div").style("display", "none").style("margin-top", "20px").style("margin-left", "5px");
85
+ const dom = { header, expressionSource, table, addGroup, submit, loading, preAnalysis };
86
+ return dom;
87
+ }
88
+ getState(appState) {
89
+ const config = appState.plots.find((p) => p.id === this.id);
90
+ if (!config) {
91
+ throw `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`;
92
+ }
93
+ return {
94
+ termfilter: appState.termfilter,
95
+ config,
96
+ // quick fix to skip history tracking as needed
97
+ _scope_: appState._scope_
98
+ };
99
+ }
100
+ async init(appState) {
101
+ const state = this.getState(appState);
102
+ this.termType = state.config.termType || TermTypes.GENE_EXPRESSION;
103
+ this.dom.header?.html(`Differential ${termType2label(this.termType)}`);
104
+ await this.renderExpressionSourceUI();
105
+ }
106
+ // TODO: handle errors
107
+ async main() {
108
+ if (!this.state) return;
109
+ this.dom.preAnalysis.selectAll("*").remove();
110
+ if (!this.expressionSource || this.expressionSource === "pseudobulk" && !this.pseudobulk) {
111
+ this.dom.table.style("display", "none");
112
+ this.dom.addGroup.style("display", "none");
113
+ this.dom.submit.style("display", "none");
114
+ return;
115
+ }
116
+ this.dom.addGroup.style("display", "inline-block");
117
+ this.maySeedGroups();
118
+ this.hasCohort0 = this.groups.some((g) => g.filter.lst.some((item) => item.tvs?.term.type == "cohort"));
119
+ await this.makeGroupsUI();
120
+ this.mayRenderSubmit();
121
+ await this.mayAutoSubmit();
122
+ }
123
+ /* config.groups[] lets a caller launch this ui with prebuilt groups, each defined by a mass
124
+ filter, instead of requiring the user to build both groups by hand. seeded only once: main() reruns
125
+ on every state change, and a seeded group is editable like any other, so a rerun must not undo a
126
+ rename, edit, or deletion */
127
+ maySeedGroups() {
128
+ if (this.groupsSeeded) return;
129
+ this.groupsSeeded = true;
130
+ if (!this.state.config.groups?.length) return;
131
+ const massFilter = getNormalRoot(excludeFilterByTag(structuredClone(this.state.termfilter.filter), "cohortFilter"));
132
+ for (const g of this.state.config.groups) {
133
+ this.addNewGroup(filterJoin([massFilter, getNormalRoot(g.filter)]), this.groups, g.name, g.color);
134
+ }
135
+ }
136
+ /* config.autoSubmit runs the analysis on the seeded groups without waiting for a click, for a caller
137
+ that already knows the groups to compare. runs only once: main() reruns on every state change, and
138
+ each run is a round trip to termdb/DE */
139
+ async mayAutoSubmit() {
140
+ if (!this.state.config.autoSubmit || this.autoSubmitted) return;
141
+ if (this.dom.submit.style("display") == "none") return;
142
+ this.autoSubmitted = true;
143
+ await this.clickSubmit(this.getSubmitGroups());
144
+ }
145
+ /** the groups as compared by the analysis: a lone group is compared against all other samples */
146
+ getSubmitGroups() {
147
+ if (this.groups.length != 1) return this.groups;
148
+ const group = this.groups[0];
149
+ return [
150
+ group,
151
+ {
152
+ name: "Not in " + group.name,
153
+ color: "#ccc",
154
+ filter: negateFilter(group.filter)
155
+ }
156
+ ];
157
+ }
158
+ async renderExpressionSourceUI() {
159
+ const config = this.app.vocabApi.termdbConfig;
160
+ if (!this.isGE) {
161
+ const dm = config.queries?.dnaMethylation;
162
+ if (!dm?.promoter && !dm?.elementTypes?.length)
163
+ throw new Error("No DNA methylation data configured for differential analysis");
164
+ this.expressionSource = "bulk";
165
+ return;
166
+ }
167
+ const hasBulk = !!config.queries?.rnaseqGeneCount;
168
+ const terms = config.termType2terms?.[TermTypeGroups.PSEUDOBULK] || [];
169
+ const hasPseudobulk = terms.length > 0;
170
+ if (!hasBulk && !hasPseudobulk)
171
+ throw new Error("No gene expression count data configured for differential analysis");
172
+ if (hasBulk && !hasPseudobulk) {
173
+ this.expressionSource = "bulk";
174
+ return;
175
+ }
176
+ if (!hasBulk) {
177
+ this.expressionSource = "pseudobulk";
178
+ this.renderPseudobulkSelection(this.dom.expressionSource, terms);
179
+ return;
180
+ }
181
+ const tabs = [
182
+ {
183
+ label: "Bulk RNA-seq",
184
+ active: true,
185
+ callback: async () => {
186
+ this.expressionSource = "bulk";
187
+ await this.main();
188
+ }
189
+ },
190
+ {
191
+ label: "Single-cell pseudobulk",
192
+ callback: async (_event, tab) => {
193
+ this.expressionSource = "pseudobulk";
194
+ tab.contentHolder.selectAll("*").remove();
195
+ this.renderPseudobulkSelection(tab.contentHolder, terms);
196
+ await this.main();
197
+ }
198
+ }
199
+ ];
200
+ await new Tabs({ holder: this.dom.expressionSource, tabs }).main();
201
+ }
202
+ renderPseudobulkSelection(holder, terms) {
203
+ const assayMap = /* @__PURE__ */ new Map();
204
+ for (const term of terms) {
205
+ if (!assayMap.has(term.assay)) assayMap.set(term.assay, /* @__PURE__ */ new Map());
206
+ const memberMap = assayMap.get(term.assay);
207
+ if (!memberMap.has(term.memberId)) memberMap.set(term.memberId, []);
208
+ memberMap.get(term.memberId).push(term);
209
+ }
210
+ const renderAssay = (assayHolder, assay, memberMap) => {
211
+ assayHolder.selectAll("*").remove();
212
+ const renderMember = (memberHolder, memberId, memberTerms) => {
213
+ memberHolder.selectAll("*").remove();
214
+ memberHolder.append("div").style("opacity", 0.7).text(`Select from ${memberId}:`);
215
+ make_radios({
216
+ holder: memberHolder,
217
+ inputName: `sjpp-de-pseudobulk-${this.id}-${assay}-${memberId}`,
218
+ options: memberTerms.map((term) => ({
219
+ label: term.name,
220
+ value: term.id,
221
+ checked: this.pseudobulk?.assay === assay && this.pseudobulk?.memberId === memberId && this.pseudobulk?.category === (term.category || term.id),
222
+ testid: `sjpp-de-pseudobulk-category-${term.id}`
223
+ })),
224
+ styles: { display: "block", padding: "3px 5px" },
225
+ callback: async (value) => {
226
+ const term = memberTerms.find((term2) => term2.id == value);
227
+ this.pseudobulk = { assay, memberId, category: term.category || term.id };
228
+ await this.main();
229
+ }
230
+ });
231
+ };
232
+ if (memberMap.size === 1) {
233
+ const [memberId, memberTerms] = memberMap.entries().next().value;
234
+ renderMember(assayHolder, memberId, memberTerms);
235
+ } else {
236
+ const memberTabs = Array.from(memberMap, ([memberId, memberTerms]) => ({
237
+ label: memberId,
238
+ callback: (_event, tab) => renderMember(tab.contentHolder, memberId, memberTerms)
239
+ }));
240
+ new Tabs({ holder: assayHolder, tabs: memberTabs }).main();
241
+ }
242
+ };
243
+ if (assayMap.size === 1) {
244
+ const [assay, memberMap] = Array.from(assayMap)[0];
245
+ holder.append("div").text("Single-cell pseudobulk " + termType2label(assay));
246
+ renderAssay(holder.append("div"), assay, memberMap);
247
+ } else {
248
+ const assayTabs = Array.from(assayMap, ([assay, memberMap]) => ({
249
+ label: termType2label(assay),
250
+ callback: (_event, tab) => renderAssay(tab.contentHolder, assay, memberMap)
251
+ }));
252
+ new Tabs({ holder, tabs: assayTabs, linePosition: "right", tabsPosition: "vertical" }).main();
253
+ }
254
+ }
255
+ async makeGroupsUI() {
256
+ if (!this.filterPrompt) {
257
+ this.filterPrompt = await filterPromptInit({
258
+ holder: this.dom.addGroup,
259
+ vocabApi: this.app.vocabApi,
260
+ emptyLabel: "Add group",
261
+ header_mode: this.opts?.header_mode,
262
+ callback: async (f) => {
263
+ const filter2 = getNormalRoot(f);
264
+ this.addNewGroup(filter2, this.groups);
265
+ await this.main();
266
+ },
267
+ debug: this.opts.debug
268
+ });
269
+ }
270
+ const filter = structuredClone(this.state?.termfilter?.filter);
271
+ this.filterPrompt.main(excludeFilterByTag(filter, "cohortFilter"));
272
+ if (!this.groups.length) {
273
+ this.dom.table.style("display", "none");
274
+ return;
275
+ }
276
+ this.dom.table.style("display", "block").selectAll("*").remove();
277
+ const tableArg = {
278
+ div: this.dom.table,
279
+ columns: [
280
+ {},
281
+ // blank column to add delete buttons
282
+ {
283
+ label: "NAME",
284
+ editCallback: async (i, cell) => {
285
+ const newName = cell.value;
286
+ const index = this.groups.findIndex((group) => group.name == newName);
287
+ if (index != -1) {
288
+ alert(`Group named ${newName} already exists`);
289
+ await this.main();
290
+ } else {
291
+ this.groups[i].name = newName;
292
+ await this.main();
293
+ }
294
+ }
295
+ },
296
+ {
297
+ label: "COLOR",
298
+ editCallback: async (i, cell) => {
299
+ this.groups[i].color = cell.color;
300
+ this.main();
301
+ }
302
+ },
303
+ // dataset may rename what a row counts (GDC: cases, not samples)
304
+ { label: `#${uiLabel(this.app.vocabApi.termdbConfig?.uiLabels, "Sample", "Sample").toUpperCase()}` },
305
+ { label: "FILTER" }
306
+ ],
307
+ rows: [],
308
+ striped: false,
309
+ // no alternating row bg color so delete button appears more visible
310
+ showLines: false
311
+ };
312
+ for (const g of this.groups) {
313
+ tableArg.rows.push([
314
+ {},
315
+ // blank cell to add delete button
316
+ { value: g.name },
317
+ // to allow click to show <input>
318
+ { color: g.color },
319
+ { value: "" },
320
+ // filled in asynchronously below, so one slow count does not hold up the table
321
+ {}
322
+ // blank cell to show filter ui
323
+ ]);
324
+ }
325
+ renderTable(tableArg);
326
+ for (const [i, row] of tableArg.rows.entries()) {
327
+ row[0].__td.append("div").attr("class", "sja_menuoption").style("padding", "1px 6px").html("&times;").on("click", () => {
328
+ this.groups.splice(i, 1);
329
+ this.main();
330
+ });
331
+ this.app.vocabApi.getFilteredSampleCount(this.groups[i].filter, this.hasCohort0 ? null : this.state.termfilter.filter0).then((n) => row[3].__td.text(n)).catch((e) => row[3].__td.text("n/a").attr("title", e?.message || e));
332
+ const group = this.groups[i];
333
+ filterInit({
334
+ holder: row[4].__td,
335
+ vocabApi: this.app.vocabApi,
336
+ header_mode: "hide_search",
337
+ callback: (f) => {
338
+ if (!f || f.lst.length == 0) {
339
+ const i2 = this.groups.findIndex((g) => g.name == group.name);
340
+ this.groups.splice(i2, 1);
341
+ } else {
342
+ group.filter = f;
343
+ }
344
+ this.main();
345
+ }
346
+ }).main(group.filter);
347
+ }
348
+ this.dom.addGroup.select(".sja_new_filter_btn").style("pointer-events", "auto").style("opacity", 1);
349
+ }
350
+ addNewGroup(filter, groups, name, color2) {
351
+ if (!groups) throw "groups is missing";
352
+ if (!name) {
353
+ const base = "New group";
354
+ name = base;
355
+ for (let i = 0; ; i++) {
356
+ name = base + (i === 0 ? "" : " " + i);
357
+ if (!groups.find((g) => g.name === name)) break;
358
+ }
359
+ }
360
+ const newGroup = {
361
+ name,
362
+ filter,
363
+ color: color2 || rgb(colorScale(groups.length)).formatHex()
364
+ };
365
+ groups.push(newGroup);
366
+ }
367
+ mayRenderSubmit() {
368
+ if (!this.groups.length || this.groups.length == 1 && this.hasCohort0) {
369
+ this.dom.submit.style("display", "none");
370
+ return;
371
+ }
372
+ this.dom.submit.style("display", "inline-block");
373
+ if (this.groups.length == 1) {
374
+ this.dom.submit.text(`Submit (${this.groups[0].name} vs others)`);
375
+ this.dom.submit.on("click", async () => {
376
+ await this.clickSubmit(this.getSubmitGroups());
377
+ });
378
+ } else if (this.groups.length == 2) {
379
+ this.dom.addGroup.select(".sja_new_filter_btn").style("pointer-events", "none").style("opacity", 0.5);
380
+ this.dom.submit.text(`Submit (${this.groups[0].name} vs ${this.groups[1].name})`);
381
+ this.dom.submit.on("click", async () => {
382
+ await this.clickSubmit(this.groups);
383
+ });
384
+ } else {
385
+ throw new Error("cannot exceed 2 groups");
386
+ }
387
+ }
388
+ async clickSubmit(groups) {
389
+ this.dom.loading.style("display", "block");
390
+ const samplelstTW = {
391
+ q: { groups: [] },
392
+ term: {
393
+ name: groups.map((g) => g.name).join(" vs "),
394
+ type: "samplelst",
395
+ values: {}
396
+ }
397
+ };
398
+ if (this.expressionSource === "pseudobulk") samplelstTW.pseudobulk = this.pseudobulk;
399
+ const filter0 = this.hasCohort0 ? null : this.state.termfilter.filter0;
400
+ const mapParent2Children = true;
401
+ for (const g of groups) {
402
+ const samples = await this.vocabApi.getFilteredSampleList(
403
+ filterJoin([g.filter, this.state.termfilter.filter]),
404
+ filter0,
405
+ mapParent2Children
406
+ );
407
+ const sampleIds = samples.map((s) => {
408
+ return { sampleId: s.id };
409
+ });
410
+ samplelstTW.q.groups.push({
411
+ name: g.name,
412
+ in: true,
413
+ values: sampleIds
414
+ });
415
+ samplelstTW.term.values[g.name] = {
416
+ color: g.color,
417
+ key: g.name,
418
+ label: g.name,
419
+ list: sampleIds
420
+ //samples need to be passed for the samplelst filter to work
421
+ };
422
+ }
423
+ const body = {
424
+ genome: this.app.vocabApi.vocab.genome,
425
+ dslabel: this.app.vocabApi.vocab.dslabel,
426
+ samplelst: { groups: samplelstTW.q.groups },
427
+ filter: this.state.termfilter.filter,
428
+ filter0,
429
+ preAnalysis: true
430
+ };
431
+ if (this.expressionSource === "pseudobulk") body.pseudobulk = this.pseudobulk;
432
+ const preAnalysisData = await dofetch3(this.isGE ? "termdb/DE" : "termdb/diffMeth", { body });
433
+ this.dom.loading.style("display", "none");
434
+ this.dom.preAnalysis.style("display", "block").selectAll("*").remove();
435
+ renderPreAnalysisData({
436
+ preAnalysisData,
437
+ samplelstTW,
438
+ groups: samplelstTW.q.groups,
439
+ holder: this.dom.preAnalysis,
440
+ termType: this.termType,
441
+ self: this
442
+ });
443
+ }
444
+ };
445
+ var DEinputInit = getCompInit(DEinputPlot);
446
+ var componentInit = DEinputInit;
447
+ var supportedTermTypes = /* @__PURE__ */ new Set([TermTypes.GENE_EXPRESSION, TermTypes.DNA_METHYLATION]);
448
+ async function getPlotConfig(opts, app) {
449
+ if (opts.termType && !supportedTermTypes.has(opts.termType))
450
+ throw new Error(`termType='${opts.termType}' is not supported by DEinput`);
451
+ const config = {
452
+ chartType: "DEinput",
453
+ // default keeps every existing caller on gene expression without passing anything
454
+ termType: opts.termType || TermTypes.GENE_EXPRESSION,
455
+ settings: {}
456
+ };
457
+ const c = copyMerge(config, opts);
458
+ if (c.groups) c.groups = await getValidGroups(c.groups, app);
459
+ return c;
460
+ }
461
+ async function getValidGroups(groups, app) {
462
+ if (!Array.isArray(groups)) throw "config.groups must be an array";
463
+ if (groups.length > 2) throw "config.groups[] cannot exceed 2 groups";
464
+ const names = /* @__PURE__ */ new Set();
465
+ for (const g of groups) {
466
+ if (!g?.filter) throw "config.groups[] entry is missing .filter{}";
467
+ if ("name" in g && typeof g.name != "string") throw "config.groups[].name must be a string";
468
+ if (!g.name) continue;
469
+ if (names.has(g.name)) throw `duplicate config.groups[].name='${g.name}'`;
470
+ names.add(g.name);
471
+ }
472
+ const validated = [];
473
+ for (const g of groups) {
474
+ const filter = getNormalRoot(g.filter);
475
+ if (!filter.lst.length) throw "config.groups[] entry has a blank .filter{}";
476
+ if (app?.vocabApi) await Promise.all(rehydrateFilter(filter, app.vocabApi));
477
+ const name = g.name || getUnusedGroupName(names);
478
+ names.add(name);
479
+ const valid = Object.assign({}, g, { filter, name });
480
+ if ("color" in g) {
481
+ const c = color(g.color);
482
+ if (!c) throw `invalid config.groups[].color='${g.color}'`;
483
+ valid.color = c.formatHex();
484
+ }
485
+ validated.push(valid);
486
+ }
487
+ return validated;
488
+ }
489
+ function getUnusedGroupName(names) {
490
+ const base = "New group";
491
+ for (let i = 0; ; i++) {
492
+ const name = base + (i === 0 ? "" : " " + i);
493
+ if (!names.has(name)) return name;
494
+ }
495
+ }
496
+ export {
497
+ DEinputInit,
498
+ componentInit,
499
+ getPlotConfig
500
+ };
501
+ //# sourceMappingURL=DEinput-O6LBFAAH.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../plots/DEinput.ts"],
4
+ "sourcesContent": ["import { PlotBase } from './PlotBase.ts'\nimport { getCompInit, copyMerge, type ComponentApi, type RxComponent } from '#rx'\nimport {\n\tfilterInit,\n\tfilterPromptInit,\n\tgetNormalRoot,\n\texcludeFilterByTag,\n\tfilterJoin,\n\tnegateFilter\n} from '#filter/filter'\nimport { rehydrateFilter } from '#filter/rehydrateFilter'\nimport { getColors } from '#shared/common.js'\nimport { color as d3color, rgb } from 'd3-color'\nimport { make_radios, renderTable, Tabs } from '#dom'\nimport { dofetch3 } from '#common/dofetch'\nimport { renderPreAnalysisData } from '#mass/groups'\nimport { TermTypeGroups, termType2label } from '#shared/terms.js'\nimport { TermTypes } from '#types'\nimport { uiLabel } from '#shared'\n\nconst colorScale = getColors(5)\n\n/* Group-building submission UI for a two-group differential analysis.\n\nServes both differential gene expression and differential DNA methylation, selected by\nconfig.termType (default gene expression, so existing callers are unchanged). The two differ\nin only three places, all branched on `isGE` below: which ds query proves the assay exists,\nwhich server route the pre-analysis hits, and the expression-source tabs (methylation has no\npseudobulk counterpart). The group table, filter prompt and submit flow are shared.\n\nThe results view is a separate chart, 'differentialAnalysis'; this plot only builds groups\nand hands them over via renderPreAnalysisData(). */\nclass DEinputPlot extends PlotBase implements RxComponent {\n\tstatic type = 'DEinput'\n\n\t// expected RxComponent props, some are already declared/set in PlotBase\n\ttype: string\n\tparentId?: string\n\tdom!: {\n\t\t[index: string]: any\n\t}\n\tcomponents: {\n\t\t[name: string]: ComponentApi | { [name: string]: ComponentApi }\n\t} = {}\n\t// expected class-specific props\n\tconfig: any\n\tgroups: any[]\n\tfilterPrompt: any\n\texpressionSource?: 'bulk' | 'pseudobulk'\n\tpseudobulk?: { assay: string; memberId: string; category: string }\n\thasCohort0?: boolean\n\t/** set once config.groups[] has been copied into this.groups[] */\n\tgroupsSeeded?: boolean\n\t/** set once config.autoSubmit has triggered clickSubmit() */\n\tautoSubmitted?: boolean\n\t/** geneExpression (default) or dnaMethylation. Resolved in init() from state.config, NOT from\n\t * opts: mass/plot.js hands the component only {app, holder, header, id, ...}, so config fields\n\t * are not on opts and reading it in the constructor would silently always be undefined. */\n\ttermType!: string\n\n\tconstructor(opts: any, api: ComponentApi) {\n\t\tsuper(opts, api)\n\t\tthis.type = DEinputPlot.type\n\t\tthis.dom = this.getDom()\n\t\tthis.groups = []\n\t}\n\n\tget isGE() {\n\t\treturn this.termType == TermTypes.GENE_EXPRESSION\n\t}\n\n\tgetDom() {\n\t\t// header text is set in init(), once state.config.termType is known\n\t\tconst header = this.opts?.header || undefined\n\t\tconst holder = this.opts.holder.append('div').style('margin', '10px')\n\t\tconst expressionSource = holder.append('div').style('margin-bottom', '15px')\n\t\tconst table = holder.append('div')\n\t\tconst btns = holder.append('div').style('margin-top', '5px')\n\t\tconst addGroup = btns.append('div').style('display', 'inline-block')\n\t\tconst submit = btns\n\t\t\t.append('div')\n\t\t\t.style('display', 'none')\n\t\t\t.style('margin-left', '15px')\n\t\t\t.attr('class', 'sja_new_filter_btn sja_menuoption')\n\t\tconst loading = holder.append('div').style('display', 'none').style('margin', '20px 10px').text('Loading...')\n\t\tconst preAnalysis = holder\n\t\t\t.append('div')\n\t\t\t.style('display', 'none')\n\t\t\t.style('margin-top', '20px')\n\t\t\t.style('margin-left', '5px')\n\t\tconst dom = { header, expressionSource, table, addGroup, submit, loading, preAnalysis }\n\t\treturn dom\n\t}\n\n\tgetState(appState) {\n\t\tconst config = appState.plots.find(p => p.id === this.id)\n\t\tif (!config) {\n\t\t\tthrow `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`\n\t\t}\n\t\treturn {\n\t\t\ttermfilter: appState.termfilter,\n\t\t\tconfig,\n\t\t\t// quick fix to skip history tracking as needed\n\t\t\t_scope_: appState._scope_\n\t\t}\n\t}\n\n\tasync init(appState) {\n\t\tconst state = this.getState(appState)\n\t\tthis.termType = state.config.termType || TermTypes.GENE_EXPRESSION\n\t\tthis.dom.header?.html(`Differential ${termType2label(this.termType)}`)\n\t\tawait this.renderExpressionSourceUI()\n\t}\n\n\t// TODO: handle errors\n\tasync main() {\n\t\t/* The expression-source tabs are built during init(), and Tabs.main() fires the active tab's\n\t\tcallback immediately -- which calls main() before rx has assigned this.state. Bail out here\n\t\trather than let maySeedGroups() throw on this.state.config: it sets groupsSeeded=true first,\n\t\tso the throw permanently skips seeding and config.groups[] silently never appears. The\n\t\tframework calls main() again right after init(), so nothing is lost by returning. */\n\t\tif (!this.state) return\n\t\tthis.dom.preAnalysis.selectAll('*').remove()\n\t\tif (!this.expressionSource || (this.expressionSource === 'pseudobulk' && !this.pseudobulk)) {\n\t\t\tthis.dom.table.style('display', 'none')\n\t\t\tthis.dom.addGroup.style('display', 'none')\n\t\t\tthis.dom.submit.style('display', 'none')\n\t\t\treturn\n\t\t}\n\t\tthis.dom.addGroup.style('display', 'inline-block')\n\t\tthis.maySeedGroups()\n\t\t// set before makeGroupsUI(), which uses it when requesting each group's sample count\n\t\tthis.hasCohort0 = this.groups.some(g => g.filter.lst.some(item => item.tvs?.term.type == 'cohort'))\n\t\t// awaited: on the first run makeGroupsUI() awaits the filter prompt, and it re-enables the add\n\t\t// group button at its end, which would otherwise undo the button state set by mayRenderSubmit()\n\t\tawait this.makeGroupsUI()\n\t\tthis.mayRenderSubmit()\n\t\tawait this.mayAutoSubmit()\n\t}\n\n\t/* config.groups[] lets a caller launch this ui with prebuilt groups, each defined by a mass\n\tfilter, instead of requiring the user to build both groups by hand. seeded only once: main() reruns\n\ton every state change, and a seeded group is editable like any other, so a rerun must not undo a\n\trename, edit, or deletion */\n\tmaySeedGroups() {\n\t\tif (this.groupsSeeded) return\n\t\tthis.groupsSeeded = true\n\t\tif (!this.state.config.groups?.length) return\n\t\t/* a group built by the filter prompt embeds the mass filter, since the prompt is seeded with it\n\t\tin makeGroupsUI(); rebase the prebuilt groups the same way. without this, the sample count in the\n\t\tgroup table, which uses the group filter alone, would not match the sample set that clickSubmit()\n\t\tanalyzes, which joins in the mass filter. the cohort filter is excluded to match the prompt, and\n\t\tto not flip hasCohort0, and thus drop filter0, for a group that did not ask for a cohort */\n\t\tconst massFilter = getNormalRoot(excludeFilterByTag(structuredClone(this.state.termfilter.filter), 'cohortFilter'))\n\t\tfor (const g of this.state.config.groups) {\n\t\t\tthis.addNewGroup(filterJoin([massFilter, getNormalRoot(g.filter)]), this.groups, g.name, g.color)\n\t\t}\n\t}\n\n\t/* config.autoSubmit runs the analysis on the seeded groups without waiting for a click, for a caller\n\tthat already knows the groups to compare. runs only once: main() reruns on every state change, and\n\teach run is a round trip to termdb/DE */\n\tasync mayAutoSubmit() {\n\t\tif (!this.state.config.autoSubmit || this.autoSubmitted) return\n\t\t// mayRenderSubmit() hides the button when the groups cannot be compared, such as a lone group\n\t\t// under a cohort filter that cannot be negated\n\t\tif (this.dom.submit.style('display') == 'none') return\n\t\tthis.autoSubmitted = true\n\t\tawait this.clickSubmit(this.getSubmitGroups())\n\t}\n\n\t/** the groups as compared by the analysis: a lone group is compared against all other samples */\n\tgetSubmitGroups() {\n\t\tif (this.groups.length != 1) return this.groups\n\t\tconst group = this.groups[0]\n\t\treturn [\n\t\t\tgroup,\n\t\t\t{\n\t\t\t\tname: 'Not in ' + group.name,\n\t\t\t\tcolor: '#ccc',\n\t\t\t\tfilter: negateFilter(group.filter)\n\t\t\t}\n\t\t]\n\t}\n\n\tasync renderExpressionSourceUI() {\n\t\tconst config = this.app.vocabApi.termdbConfig\n\n\t\t/* methylation has one source, the element matrices, and no pseudobulk counterpart, so there\n\t\tis nothing to choose -- skip the tabs entirely. the ds gate mirrors the one the Groups menu\n\t\tapplies (mass/groups.js): a promoter matrix OR any element type is enough, so a ds offering\n\t\tonly non-promoter classes is still reachable. */\n\t\tif (!this.isGE) {\n\t\t\tconst dm = config.queries?.dnaMethylation\n\t\t\tif (!dm?.promoter && !dm?.elementTypes?.length)\n\t\t\t\tthrow new Error('No DNA methylation data configured for differential analysis')\n\t\t\tthis.expressionSource = 'bulk'\n\t\t\treturn\n\t\t}\n\n\t\tconst hasBulk = !!config.queries?.rnaseqGeneCount\n\t\tconst terms = config.termType2terms?.[TermTypeGroups.PSEUDOBULK] || []\n\t\tconst hasPseudobulk = terms.length > 0\n\t\tif (!hasBulk && !hasPseudobulk)\n\t\t\tthrow new Error('No gene expression count data configured for differential analysis')\n\n\t\tif (hasBulk && !hasPseudobulk) {\n\t\t\tthis.expressionSource = 'bulk'\n\t\t\treturn\n\t\t}\n\n\t\tif (!hasBulk) {\n\t\t\tthis.expressionSource = 'pseudobulk'\n\t\t\tthis.renderPseudobulkSelection(this.dom.expressionSource, terms)\n\t\t\treturn\n\t\t}\n\n\t\tconst tabs = [\n\t\t\t{\n\t\t\t\tlabel: 'Bulk RNA-seq',\n\t\t\t\tactive: true,\n\t\t\t\tcallback: async () => {\n\t\t\t\t\tthis.expressionSource = 'bulk'\n\t\t\t\t\tawait this.main()\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Single-cell pseudobulk',\n\t\t\t\tcallback: async (_event, tab) => {\n\t\t\t\t\tthis.expressionSource = 'pseudobulk'\n\t\t\t\t\ttab.contentHolder.selectAll('*').remove()\n\t\t\t\t\tthis.renderPseudobulkSelection(tab.contentHolder, terms)\n\t\t\t\t\tawait this.main()\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t\tawait new Tabs({ holder: this.dom.expressionSource, tabs }).main()\n\t}\n\n\trenderPseudobulkSelection(holder, terms) {\n\t\tconst assayMap = new Map<string, Map<string, any[]>>()\n\t\tfor (const term of terms) {\n\t\t\tif (!assayMap.has(term.assay)) assayMap.set(term.assay, new Map())\n\t\t\tconst memberMap = assayMap.get(term.assay)!\n\t\t\tif (!memberMap.has(term.memberId)) memberMap.set(term.memberId, [])\n\t\t\tmemberMap.get(term.memberId)!.push(term)\n\t\t}\n\n\t\tconst renderAssay = (assayHolder, assay, memberMap) => {\n\t\t\tassayHolder.selectAll('*').remove()\n\t\t\tconst renderMember = (memberHolder, memberId, memberTerms) => {\n\t\t\t\tmemberHolder.selectAll('*').remove()\n\t\t\t\tmemberHolder.append('div').style('opacity', 0.7).text(`Select from ${memberId}:`)\n\t\t\t\tmake_radios({\n\t\t\t\t\tholder: memberHolder,\n\t\t\t\t\tinputName: `sjpp-de-pseudobulk-${this.id}-${assay}-${memberId}`,\n\t\t\t\t\toptions: memberTerms.map(term => ({\n\t\t\t\t\t\tlabel: term.name,\n\t\t\t\t\t\tvalue: term.id,\n\t\t\t\t\t\tchecked:\n\t\t\t\t\t\t\tthis.pseudobulk?.assay === assay &&\n\t\t\t\t\t\t\tthis.pseudobulk?.memberId === memberId &&\n\t\t\t\t\t\t\tthis.pseudobulk?.category === (term.category || term.id),\n\t\t\t\t\t\ttestid: `sjpp-de-pseudobulk-category-${term.id}`\n\t\t\t\t\t})),\n\t\t\t\t\tstyles: { display: 'block', padding: '3px 5px' },\n\t\t\t\t\tcallback: async value => {\n\t\t\t\t\t\tconst term = memberTerms.find(term => term.id == value)\n\t\t\t\t\t\tthis.pseudobulk = { assay, memberId, category: term.category || term.id }\n\t\t\t\t\t\tawait this.main()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (memberMap.size === 1) {\n\t\t\t\tconst [memberId, memberTerms] = memberMap.entries().next().value\n\t\t\t\trenderMember(assayHolder, memberId, memberTerms)\n\t\t\t} else {\n\t\t\t\tconst memberTabs = Array.from(memberMap, ([memberId, memberTerms]) => ({\n\t\t\t\t\tlabel: memberId,\n\t\t\t\t\tcallback: (_event, tab) => renderMember(tab.contentHolder, memberId, memberTerms)\n\t\t\t\t}))\n\t\t\t\tnew Tabs({ holder: assayHolder, tabs: memberTabs }).main()\n\t\t\t}\n\t\t}\n\n\t\tif (assayMap.size === 1) {\n\t\t\tconst [assay, memberMap] = Array.from(assayMap)[0]\n\t\t\tholder.append('div').text('Single-cell pseudobulk ' + termType2label(assay))\n\t\t\trenderAssay(holder.append('div'), assay, memberMap)\n\t\t} else {\n\t\t\tconst assayTabs = Array.from(assayMap, ([assay, memberMap]) => ({\n\t\t\t\tlabel: termType2label(assay),\n\t\t\t\tcallback: (_event, tab) => renderAssay(tab.contentHolder, assay, memberMap)\n\t\t\t}))\n\t\t\tnew Tabs({ holder, tabs: assayTabs, linePosition: 'right', tabsPosition: 'vertical' }).main()\n\t\t}\n\t}\n\n\tasync makeGroupsUI() {\n\t\t// filter prompt\n\t\tif (!this.filterPrompt) {\n\t\t\tthis.filterPrompt = await filterPromptInit({\n\t\t\t\tholder: this.dom.addGroup,\n\t\t\t\tvocabApi: this.app.vocabApi,\n\t\t\t\temptyLabel: 'Add group',\n\t\t\t\theader_mode: this.opts?.header_mode,\n\t\t\t\tcallback: async f => {\n\t\t\t\t\tconst filter = getNormalRoot(f)\n\t\t\t\t\tthis.addNewGroup(filter, this.groups)\n\t\t\t\t\tawait this.main()\n\t\t\t\t},\n\t\t\t\tdebug: this.opts.debug\n\t\t\t})\n\t\t}\n\n\t\t// filterPrompt.main() always empties the filterUiRoot data\n\t\tconst filter = structuredClone(this.state?.termfilter?.filter)\n\t\tthis.filterPrompt.main(excludeFilterByTag(filter, 'cohortFilter')) // provide mass filter to limit the term tree\n\n\t\tif (!this.groups.length) {\n\t\t\t// no groups, hide table\n\t\t\tthis.dom.table.style('display', 'none')\n\t\t\treturn\n\t\t}\n\n\t\t// clear table and populate rows\n\t\tthis.dom.table.style('display', 'block').selectAll('*').remove()\n\t\tconst tableArg: any = {\n\t\t\tdiv: this.dom.table,\n\t\t\tcolumns: [\n\t\t\t\t{}, // blank column to add delete buttons\n\t\t\t\t{\n\t\t\t\t\tlabel: 'NAME',\n\t\t\t\t\teditCallback: async (i, cell) => {\n\t\t\t\t\t\tconst newName = cell.value\n\t\t\t\t\t\tconst index = this.groups.findIndex(group => group.name == newName)\n\t\t\t\t\t\tif (index != -1) {\n\t\t\t\t\t\t\talert(`Group named ${newName} already exists`)\n\t\t\t\t\t\t\tawait this.main()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.groups[i].name = newName\n\t\t\t\t\t\t\tawait this.main()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'COLOR',\n\t\t\t\t\teditCallback: async (i, cell) => {\n\t\t\t\t\t\tthis.groups[i].color = cell.color\n\t\t\t\t\t\tthis.main()\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t// dataset may rename what a row counts (GDC: cases, not samples)\n\t\t\t\t{ label: `#${uiLabel(this.app.vocabApi.termdbConfig?.uiLabels, 'Sample', 'Sample').toUpperCase()}` },\n\t\t\t\t{ label: 'FILTER' }\n\t\t\t],\n\t\t\trows: [],\n\t\t\tstriped: false, // no alternating row bg color so delete button appears more visible\n\t\t\tshowLines: false\n\t\t}\n\n\t\tfor (const g of this.groups) {\n\t\t\ttableArg.rows.push([\n\t\t\t\t{}, // blank cell to add delete button\n\t\t\t\t{ value: g.name }, // to allow click to show <input>\n\t\t\t\t{ color: g.color },\n\t\t\t\t{ value: '' }, // filled in asynchronously below, so one slow count does not hold up the table\n\t\t\t\t{} // blank cell to show filter ui\n\t\t\t])\n\t\t}\n\n\t\trenderTable(tableArg)\n\n\t\t// after rendering table, iterate over rows again to fill cells with control elements\n\t\tfor (const [i, row] of tableArg.rows.entries()) {\n\t\t\t// add delete button in 1st cell\n\t\t\trow[0].__td\n\t\t\t\t.append('div')\n\t\t\t\t.attr('class', 'sja_menuoption')\n\t\t\t\t.style('padding', '1px 6px')\n\t\t\t\t.html('&times;')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tthis.groups.splice(i, 1)\n\t\t\t\t\tthis.main()\n\t\t\t\t})\n\n\t\t\t// fill the #SAMPLE cell. not awaited: the table is already rendered, and on gdc each count\n\t\t\t// is a /cases round trip\n\t\t\tthis.app.vocabApi\n\t\t\t\t.getFilteredSampleCount(this.groups[i].filter, this.hasCohort0 ? null : this.state.termfilter.filter0)\n\t\t\t\t.then(n => row[3].__td.text(n))\n\t\t\t\t.catch(e => row[3].__td.text('n/a').attr('title', e?.message || e))\n\n\t\t\t// create filter ui in its cell\n\t\t\tconst group = this.groups[i]\n\t\t\tfilterInit({\n\t\t\t\tholder: row[4].__td,\n\t\t\t\tvocabApi: this.app.vocabApi,\n\t\t\t\theader_mode: 'hide_search',\n\t\t\t\tcallback: f => {\n\t\t\t\t\tif (!f || f.lst.length == 0) {\n\t\t\t\t\t\t// blank filter (user removed last tvs from this filter), delete this element from groups[]\n\t\t\t\t\t\tconst i = this.groups.findIndex(g => g.name == group.name)\n\t\t\t\t\t\tthis.groups.splice(i, 1)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// update filter\n\t\t\t\t\t\tgroup.filter = f\n\t\t\t\t\t}\n\t\t\t\t\tthis.main()\n\t\t\t\t}\n\t\t\t}).main(group.filter)\n\t\t}\n\n\t\tthis.dom.addGroup.select('.sja_new_filter_btn').style('pointer-events', 'auto').style('opacity', 1)\n\t}\n\n\taddNewGroup(filter, groups, name?: string, color?: string) {\n\t\tif (!groups) throw 'groups is missing'\n\t\tif (!name) {\n\t\t\tconst base = 'New group'\n\t\t\tname = base\n\t\t\tfor (let i = 0; ; i++) {\n\t\t\t\tname = base + (i === 0 ? '' : ' ' + i)\n\t\t\t\tif (!groups.find(g => g.name === name)) break\n\t\t\t}\n\t\t}\n\t\tconst newGroup = {\n\t\t\tname,\n\t\t\tfilter,\n\t\t\tcolor: color || rgb(colorScale(groups.length)).formatHex()\n\t\t}\n\t\tgroups.push(newGroup)\n\t}\n\n\tmayRenderSubmit() {\n\t\tif (!this.groups.length || (this.groups.length == 1 && this.hasCohort0)) {\n\t\t\t// currently unable to negate filter0, so enforcing two-group\n\t\t\t// comparison when cohort0 is used\n\t\t\tthis.dom.submit.style('display', 'none')\n\t\t\treturn\n\t\t}\n\t\tthis.dom.submit.style('display', 'inline-block')\n\t\tif (this.groups.length == 1) {\n\t\t\t// single group of samples, compare with all other samples\n\t\t\tthis.dom.submit.text(`Submit (${this.groups[0].name} vs others)`)\n\t\t\tthis.dom.submit.on('click', async () => {\n\t\t\t\tawait this.clickSubmit(this.getSubmitGroups())\n\t\t\t})\n\t\t} else if (this.groups.length == 2) {\n\t\t\t// two groups of samples, compare these groups\n\t\t\tthis.dom.addGroup.select('.sja_new_filter_btn').style('pointer-events', 'none').style('opacity', 0.5)\n\t\t\tthis.dom.submit.text(`Submit (${this.groups[0].name} vs ${this.groups[1].name})`)\n\t\t\tthis.dom.submit.on('click', async () => {\n\t\t\t\tawait this.clickSubmit(this.groups)\n\t\t\t})\n\t\t} else {\n\t\t\tthrow new Error('cannot exceed 2 groups')\n\t\t}\n\t}\n\n\tasync clickSubmit(groups) {\n\t\tthis.dom.loading.style('display', 'block')\n\t\tconst samplelstTW: any = {\n\t\t\tq: { groups: [] },\n\t\t\tterm: {\n\t\t\t\tname: groups.map(g => g.name).join(' vs '),\n\t\t\t\ttype: 'samplelst',\n\t\t\t\tvalues: {}\n\t\t\t}\n\t\t}\n\t\tif (this.expressionSource === 'pseudobulk') samplelstTW.pseudobulk = this.pseudobulk\n\t\t// ignore filter0 when cohort0 is used\n\t\tconst filter0 = this.hasCohort0 ? null : this.state.termfilter.filter0\n\t\tconst mapParent2Children = true // DE/DM data assumed to be at sample-level so map parent samples to child samples\n\t\tfor (const g of groups) {\n\t\t\tconst samples = await this.vocabApi!.getFilteredSampleList(\n\t\t\t\tfilterJoin([g.filter, this.state.termfilter.filter]),\n\t\t\t\tfilter0,\n\t\t\t\tmapParent2Children\n\t\t\t)\n\t\t\tconst sampleIds = samples.map(s => {\n\t\t\t\treturn { sampleId: s.id }\n\t\t\t})\n\t\t\tsamplelstTW.q.groups.push({\n\t\t\t\tname: g.name,\n\t\t\t\tin: true,\n\t\t\t\tvalues: sampleIds\n\t\t\t})\n\t\t\tsamplelstTW.term.values[g.name] = {\n\t\t\t\tcolor: g.color,\n\t\t\t\tkey: g.name,\n\t\t\t\tlabel: g.name,\n\t\t\t\tlist: sampleIds //samples need to be passed for the samplelst filter to work\n\t\t\t}\n\t\t}\n\n\t\t// get actual numbers of samples with data for this assay\n\t\tconst body: any = {\n\t\t\tgenome: this.app.vocabApi.vocab.genome,\n\t\t\tdslabel: this.app.vocabApi.vocab.dslabel,\n\t\t\tsamplelst: { groups: samplelstTW.q.groups },\n\t\t\tfilter: this.state.termfilter.filter,\n\t\t\tfilter0,\n\t\t\tpreAnalysis: true\n\t\t}\n\t\tif (this.expressionSource === 'pseudobulk') body.pseudobulk = this.pseudobulk\n\t\t// both routes accept the same preAnalysis body and answer with the same {data:{groupName:n}}\n\t\tconst preAnalysisData = await dofetch3(this.isGE ? 'termdb/DE' : 'termdb/diffMeth', { body })\n\n\t\tthis.dom.loading.style('display', 'none')\n\n\t\t// render sample counts. renderPreAnalysisData writes its own header, using the ds vocabulary\n\t\tthis.dom.preAnalysis.style('display', 'block').selectAll('*').remove()\n\n\t\trenderPreAnalysisData({\n\t\t\tpreAnalysisData,\n\t\t\tsamplelstTW,\n\t\t\tgroups: samplelstTW.q.groups,\n\t\t\tholder: this.dom.preAnalysis,\n\t\t\ttermType: this.termType,\n\t\t\tself: this\n\t\t})\n\t}\n}\n\nexport const DEinputInit = getCompInit(DEinputPlot)\nexport const componentInit = DEinputInit\n\nconst supportedTermTypes = new Set([TermTypes.GENE_EXPRESSION, TermTypes.DNA_METHYLATION])\n\nexport async function getPlotConfig(opts, app?) {\n\tif (opts.termType && !supportedTermTypes.has(opts.termType))\n\t\tthrow new Error(`termType='${opts.termType}' is not supported by DEinput`)\n\tconst config = {\n\t\tchartType: 'DEinput',\n\t\t// default keeps every existing caller on gene expression without passing anything\n\t\ttermType: opts.termType || TermTypes.GENE_EXPRESSION,\n\t\tsettings: {}\n\t}\n\n\t// may apply term-specific changes to the default object\n\tconst c = copyMerge(config, opts)\n\tif (c.groups) c.groups = await getValidGroups(c.groups, app)\n\treturn c\n}\n\n/* validate and normalize config.groups[], the prebuilt groups that DEinputPlot.maySeedGroups() copies\ninto the group table. done here so a malformed filter fails at plot creation with a clear message,\ninstead of deep in the filter ui: FilterClass.validateFilter() rejects a tvslst with a non-empty join\nand fewer than 2 entries, and DEinputPlot.main() assumes a tvslst root when detecting a cohort term */\nasync function getValidGroups(groups, app) {\n\tif (!Array.isArray(groups)) throw 'config.groups must be an array'\n\t// mayRenderSubmit() has no ui for more than 2 groups\n\tif (groups.length > 2) throw 'config.groups[] cannot exceed 2 groups'\n\t/* every supplied name is reserved before any default name is filled in below. a group table row is\n\tfound by name on edit and delete, and the samplelst tw of the analysis is keyed by name, so two\n\tgroups must never end up with the same name -- including a default name that happens to match the\n\tname supplied by a later entry */\n\tconst names = new Set()\n\tfor (const g of groups) {\n\t\tif (!g?.filter) throw 'config.groups[] entry is missing .filter{}'\n\t\tif ('name' in g && typeof g.name != 'string') throw 'config.groups[].name must be a string'\n\t\tif (!g.name) continue\n\t\tif (names.has(g.name)) throw `duplicate config.groups[].name='${g.name}'`\n\t\tnames.add(g.name)\n\t}\n\n\tconst validated: any[] = []\n\tfor (const g of groups) {\n\t\t// also detaches the filter from a frozen state or from the caller's object\n\t\tconst filter = getNormalRoot(g.filter)\n\t\tif (!filter.lst.length) throw 'config.groups[] entry has a blank .filter{}'\n\t\t// allows a hand-coded filter to supply only term.id, like the mass filter and groups allow\n\t\tif (app?.vocabApi) await Promise.all(rehydrateFilter(filter, app.vocabApi))\n\t\t// name a group here, not in addNewGroup(), which only avoids the names of the groups added\n\t\t// before it and so could reuse a name that a later entry supplies\n\t\tconst name = g.name || getUnusedGroupName(names)\n\t\tnames.add(name)\n\t\tconst valid = Object.assign({}, g, { filter, name })\n\t\tif ('color' in g) {\n\t\t\t/* store the parsed hex, not what was supplied: the color is rendered by code that may set\n\t\t\tit as a css value, so only a value that d3 recognizes as a color may be kept */\n\t\t\tconst c = d3color(g.color)\n\t\t\tif (!c) throw `invalid config.groups[].color='${g.color}'`\n\t\t\tvalid.color = c.formatHex()\n\t\t}\n\t\tvalidated.push(valid)\n\t}\n\treturn validated\n}\n\n/** the first unused name of the 'New group', 'New group 1', ... series, matching addNewGroup() */\nfunction getUnusedGroupName(names) {\n\tconst base = 'New group'\n\tfor (let i = 0; ; i++) {\n\t\tconst name = base + (i === 0 ? '' : ' ' + i)\n\t\tif (!names.has(name)) return name\n\t}\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,IAAM,aAAa,UAAU,CAAC;AAY9B,IAAM,cAAN,MAAM,qBAAoB,SAAgC;AAAA,EA4BzD,YAAY,MAAW,KAAmB;AACzC,UAAM,MAAM,GAAG;AApBhB,sBAEI,CAAC;AAmBJ,SAAK,OAAO,aAAY;AACxB,SAAK,MAAM,KAAK,OAAO;AACvB,SAAK,SAAS,CAAC;AAAA,EAChB;AAAA,EAhCA;AAAA,SAAO,OAAO;AAAA;AAAA,EAkCd,IAAI,OAAO;AACV,WAAO,KAAK,YAAY,UAAU;AAAA,EACnC;AAAA,EAEA,SAAS;AAER,UAAM,SAAS,KAAK,MAAM,UAAU;AACpC,UAAM,SAAS,KAAK,KAAK,OAAO,OAAO,KAAK,EAAE,MAAM,UAAU,MAAM;AACpE,UAAM,mBAAmB,OAAO,OAAO,KAAK,EAAE,MAAM,iBAAiB,MAAM;AAC3E,UAAM,QAAQ,OAAO,OAAO,KAAK;AACjC,UAAM,OAAO,OAAO,OAAO,KAAK,EAAE,MAAM,cAAc,KAAK;AAC3D,UAAM,WAAW,KAAK,OAAO,KAAK,EAAE,MAAM,WAAW,cAAc;AACnE,UAAM,SAAS,KACb,OAAO,KAAK,EACZ,MAAM,WAAW,MAAM,EACvB,MAAM,eAAe,MAAM,EAC3B,KAAK,SAAS,mCAAmC;AACnD,UAAM,UAAU,OAAO,OAAO,KAAK,EAAE,MAAM,WAAW,MAAM,EAAE,MAAM,UAAU,WAAW,EAAE,KAAK,YAAY;AAC5G,UAAM,cAAc,OAClB,OAAO,KAAK,EACZ,MAAM,WAAW,MAAM,EACvB,MAAM,cAAc,MAAM,EAC1B,MAAM,eAAe,KAAK;AAC5B,UAAM,MAAM,EAAE,QAAQ,kBAAkB,OAAO,UAAU,QAAQ,SAAS,YAAY;AACtF,WAAO;AAAA,EACR;AAAA,EAEA,SAAS,UAAU;AAClB,UAAM,SAAS,SAAS,MAAM,KAAK,OAAK,EAAE,OAAO,KAAK,EAAE;AACxD,QAAI,CAAC,QAAQ;AACZ,YAAM,oBAAoB,KAAK,EAAE;AAAA,IAClC;AACA,WAAO;AAAA,MACN,YAAY,SAAS;AAAA,MACrB;AAAA;AAAA,MAEA,SAAS,SAAS;AAAA,IACnB;AAAA,EACD;AAAA,EAEA,MAAM,KAAK,UAAU;AACpB,UAAM,QAAQ,KAAK,SAAS,QAAQ;AACpC,SAAK,WAAW,MAAM,OAAO,YAAY,UAAU;AACnD,SAAK,IAAI,QAAQ,KAAK,gBAAgB,eAAe,KAAK,QAAQ,CAAC,EAAE;AACrE,UAAM,KAAK,yBAAyB;AAAA,EACrC;AAAA;AAAA,EAGA,MAAM,OAAO;AAMZ,QAAI,CAAC,KAAK,MAAO;AACjB,SAAK,IAAI,YAAY,UAAU,GAAG,EAAE,OAAO;AAC3C,QAAI,CAAC,KAAK,oBAAqB,KAAK,qBAAqB,gBAAgB,CAAC,KAAK,YAAa;AAC3F,WAAK,IAAI,MAAM,MAAM,WAAW,MAAM;AACtC,WAAK,IAAI,SAAS,MAAM,WAAW,MAAM;AACzC,WAAK,IAAI,OAAO,MAAM,WAAW,MAAM;AACvC;AAAA,IACD;AACA,SAAK,IAAI,SAAS,MAAM,WAAW,cAAc;AACjD,SAAK,cAAc;AAEnB,SAAK,aAAa,KAAK,OAAO,KAAK,OAAK,EAAE,OAAO,IAAI,KAAK,UAAQ,KAAK,KAAK,KAAK,QAAQ,QAAQ,CAAC;AAGlG,UAAM,KAAK,aAAa;AACxB,SAAK,gBAAgB;AACrB,UAAM,KAAK,cAAc;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB;AACf,QAAI,KAAK,aAAc;AACvB,SAAK,eAAe;AACpB,QAAI,CAAC,KAAK,MAAM,OAAO,QAAQ,OAAQ;AAMvC,UAAM,aAAa,cAAc,mBAAmB,gBAAgB,KAAK,MAAM,WAAW,MAAM,GAAG,cAAc,CAAC;AAClH,eAAW,KAAK,KAAK,MAAM,OAAO,QAAQ;AACzC,WAAK,YAAY,WAAW,CAAC,YAAY,cAAc,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,MAAM,EAAE,KAAK;AAAA,IACjG;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,gBAAgB;AACrB,QAAI,CAAC,KAAK,MAAM,OAAO,cAAc,KAAK,cAAe;AAGzD,QAAI,KAAK,IAAI,OAAO,MAAM,SAAS,KAAK,OAAQ;AAChD,SAAK,gBAAgB;AACrB,UAAM,KAAK,YAAY,KAAK,gBAAgB,CAAC;AAAA,EAC9C;AAAA;AAAA,EAGA,kBAAkB;AACjB,QAAI,KAAK,OAAO,UAAU,EAAG,QAAO,KAAK;AACzC,UAAM,QAAQ,KAAK,OAAO,CAAC;AAC3B,WAAO;AAAA,MACN;AAAA,MACA;AAAA,QACC,MAAM,YAAY,MAAM;AAAA,QACxB,OAAO;AAAA,QACP,QAAQ,aAAa,MAAM,MAAM;AAAA,MAClC;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,2BAA2B;AAChC,UAAM,SAAS,KAAK,IAAI,SAAS;AAMjC,QAAI,CAAC,KAAK,MAAM;AACf,YAAM,KAAK,OAAO,SAAS;AAC3B,UAAI,CAAC,IAAI,YAAY,CAAC,IAAI,cAAc;AACvC,cAAM,IAAI,MAAM,8DAA8D;AAC/E,WAAK,mBAAmB;AACxB;AAAA,IACD;AAEA,UAAM,UAAU,CAAC,CAAC,OAAO,SAAS;AAClC,UAAM,QAAQ,OAAO,iBAAiB,eAAe,UAAU,KAAK,CAAC;AACrE,UAAM,gBAAgB,MAAM,SAAS;AACrC,QAAI,CAAC,WAAW,CAAC;AAChB,YAAM,IAAI,MAAM,oEAAoE;AAErF,QAAI,WAAW,CAAC,eAAe;AAC9B,WAAK,mBAAmB;AACxB;AAAA,IACD;AAEA,QAAI,CAAC,SAAS;AACb,WAAK,mBAAmB;AACxB,WAAK,0BAA0B,KAAK,IAAI,kBAAkB,KAAK;AAC/D;AAAA,IACD;AAEA,UAAM,OAAO;AAAA,MACZ;AAAA,QACC,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,UAAU,YAAY;AACrB,eAAK,mBAAmB;AACxB,gBAAM,KAAK,KAAK;AAAA,QACjB;AAAA,MACD;AAAA,MACA;AAAA,QACC,OAAO;AAAA,QACP,UAAU,OAAO,QAAQ,QAAQ;AAChC,eAAK,mBAAmB;AACxB,cAAI,cAAc,UAAU,GAAG,EAAE,OAAO;AACxC,eAAK,0BAA0B,IAAI,eAAe,KAAK;AACvD,gBAAM,KAAK,KAAK;AAAA,QACjB;AAAA,MACD;AAAA,IACD;AACA,UAAM,IAAI,KAAK,EAAE,QAAQ,KAAK,IAAI,kBAAkB,KAAK,CAAC,EAAE,KAAK;AAAA,EAClE;AAAA,EAEA,0BAA0B,QAAQ,OAAO;AACxC,UAAM,WAAW,oBAAI,IAAgC;AACrD,eAAW,QAAQ,OAAO;AACzB,UAAI,CAAC,SAAS,IAAI,KAAK,KAAK,EAAG,UAAS,IAAI,KAAK,OAAO,oBAAI,IAAI,CAAC;AACjE,YAAM,YAAY,SAAS,IAAI,KAAK,KAAK;AACzC,UAAI,CAAC,UAAU,IAAI,KAAK,QAAQ,EAAG,WAAU,IAAI,KAAK,UAAU,CAAC,CAAC;AAClE,gBAAU,IAAI,KAAK,QAAQ,EAAG,KAAK,IAAI;AAAA,IACxC;AAEA,UAAM,cAAc,CAAC,aAAa,OAAO,cAAc;AACtD,kBAAY,UAAU,GAAG,EAAE,OAAO;AAClC,YAAM,eAAe,CAAC,cAAc,UAAU,gBAAgB;AAC7D,qBAAa,UAAU,GAAG,EAAE,OAAO;AACnC,qBAAa,OAAO,KAAK,EAAE,MAAM,WAAW,GAAG,EAAE,KAAK,eAAe,QAAQ,GAAG;AAChF,oBAAY;AAAA,UACX,QAAQ;AAAA,UACR,WAAW,sBAAsB,KAAK,EAAE,IAAI,KAAK,IAAI,QAAQ;AAAA,UAC7D,SAAS,YAAY,IAAI,WAAS;AAAA,YACjC,OAAO,KAAK;AAAA,YACZ,OAAO,KAAK;AAAA,YACZ,SACC,KAAK,YAAY,UAAU,SAC3B,KAAK,YAAY,aAAa,YAC9B,KAAK,YAAY,cAAc,KAAK,YAAY,KAAK;AAAA,YACtD,QAAQ,+BAA+B,KAAK,EAAE;AAAA,UAC/C,EAAE;AAAA,UACF,QAAQ,EAAE,SAAS,SAAS,SAAS,UAAU;AAAA,UAC/C,UAAU,OAAM,UAAS;AACxB,kBAAM,OAAO,YAAY,KAAK,CAAAA,UAAQA,MAAK,MAAM,KAAK;AACtD,iBAAK,aAAa,EAAE,OAAO,UAAU,UAAU,KAAK,YAAY,KAAK,GAAG;AACxE,kBAAM,KAAK,KAAK;AAAA,UACjB;AAAA,QACD,CAAC;AAAA,MACF;AAEA,UAAI,UAAU,SAAS,GAAG;AACzB,cAAM,CAAC,UAAU,WAAW,IAAI,UAAU,QAAQ,EAAE,KAAK,EAAE;AAC3D,qBAAa,aAAa,UAAU,WAAW;AAAA,MAChD,OAAO;AACN,cAAM,aAAa,MAAM,KAAK,WAAW,CAAC,CAAC,UAAU,WAAW,OAAO;AAAA,UACtE,OAAO;AAAA,UACP,UAAU,CAAC,QAAQ,QAAQ,aAAa,IAAI,eAAe,UAAU,WAAW;AAAA,QACjF,EAAE;AACF,YAAI,KAAK,EAAE,QAAQ,aAAa,MAAM,WAAW,CAAC,EAAE,KAAK;AAAA,MAC1D;AAAA,IACD;AAEA,QAAI,SAAS,SAAS,GAAG;AACxB,YAAM,CAAC,OAAO,SAAS,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;AACjD,aAAO,OAAO,KAAK,EAAE,KAAK,4BAA4B,eAAe,KAAK,CAAC;AAC3E,kBAAY,OAAO,OAAO,KAAK,GAAG,OAAO,SAAS;AAAA,IACnD,OAAO;AACN,YAAM,YAAY,MAAM,KAAK,UAAU,CAAC,CAAC,OAAO,SAAS,OAAO;AAAA,QAC/D,OAAO,eAAe,KAAK;AAAA,QAC3B,UAAU,CAAC,QAAQ,QAAQ,YAAY,IAAI,eAAe,OAAO,SAAS;AAAA,MAC3E,EAAE;AACF,UAAI,KAAK,EAAE,QAAQ,MAAM,WAAW,cAAc,SAAS,cAAc,WAAW,CAAC,EAAE,KAAK;AAAA,IAC7F;AAAA,EACD;AAAA,EAEA,MAAM,eAAe;AAEpB,QAAI,CAAC,KAAK,cAAc;AACvB,WAAK,eAAe,MAAM,iBAAiB;AAAA,QAC1C,QAAQ,KAAK,IAAI;AAAA,QACjB,UAAU,KAAK,IAAI;AAAA,QACnB,YAAY;AAAA,QACZ,aAAa,KAAK,MAAM;AAAA,QACxB,UAAU,OAAM,MAAK;AACpB,gBAAMC,UAAS,cAAc,CAAC;AAC9B,eAAK,YAAYA,SAAQ,KAAK,MAAM;AACpC,gBAAM,KAAK,KAAK;AAAA,QACjB;AAAA,QACA,OAAO,KAAK,KAAK;AAAA,MAClB,CAAC;AAAA,IACF;AAGA,UAAM,SAAS,gBAAgB,KAAK,OAAO,YAAY,MAAM;AAC7D,SAAK,aAAa,KAAK,mBAAmB,QAAQ,cAAc,CAAC;AAEjE,QAAI,CAAC,KAAK,OAAO,QAAQ;AAExB,WAAK,IAAI,MAAM,MAAM,WAAW,MAAM;AACtC;AAAA,IACD;AAGA,SAAK,IAAI,MAAM,MAAM,WAAW,OAAO,EAAE,UAAU,GAAG,EAAE,OAAO;AAC/D,UAAM,WAAgB;AAAA,MACrB,KAAK,KAAK,IAAI;AAAA,MACd,SAAS;AAAA,QACR,CAAC;AAAA;AAAA,QACD;AAAA,UACC,OAAO;AAAA,UACP,cAAc,OAAO,GAAG,SAAS;AAChC,kBAAM,UAAU,KAAK;AACrB,kBAAM,QAAQ,KAAK,OAAO,UAAU,WAAS,MAAM,QAAQ,OAAO;AAClE,gBAAI,SAAS,IAAI;AAChB,oBAAM,eAAe,OAAO,iBAAiB;AAC7C,oBAAM,KAAK,KAAK;AAAA,YACjB,OAAO;AACN,mBAAK,OAAO,CAAC,EAAE,OAAO;AACtB,oBAAM,KAAK,KAAK;AAAA,YACjB;AAAA,UACD;AAAA,QACD;AAAA,QACA;AAAA,UACC,OAAO;AAAA,UACP,cAAc,OAAO,GAAG,SAAS;AAChC,iBAAK,OAAO,CAAC,EAAE,QAAQ,KAAK;AAC5B,iBAAK,KAAK;AAAA,UACX;AAAA,QACD;AAAA;AAAA,QAEA,EAAE,OAAO,IAAI,QAAQ,KAAK,IAAI,SAAS,cAAc,UAAU,UAAU,QAAQ,EAAE,YAAY,CAAC,GAAG;AAAA,QACnG,EAAE,OAAO,SAAS;AAAA,MACnB;AAAA,MACA,MAAM,CAAC;AAAA,MACP,SAAS;AAAA;AAAA,MACT,WAAW;AAAA,IACZ;AAEA,eAAW,KAAK,KAAK,QAAQ;AAC5B,eAAS,KAAK,KAAK;AAAA,QAClB,CAAC;AAAA;AAAA,QACD,EAAE,OAAO,EAAE,KAAK;AAAA;AAAA,QAChB,EAAE,OAAO,EAAE,MAAM;AAAA,QACjB,EAAE,OAAO,GAAG;AAAA;AAAA,QACZ,CAAC;AAAA;AAAA,MACF,CAAC;AAAA,IACF;AAEA,gBAAY,QAAQ;AAGpB,eAAW,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,QAAQ,GAAG;AAE/C,UAAI,CAAC,EAAE,KACL,OAAO,KAAK,EACZ,KAAK,SAAS,gBAAgB,EAC9B,MAAM,WAAW,SAAS,EAC1B,KAAK,SAAS,EACd,GAAG,SAAS,MAAM;AAClB,aAAK,OAAO,OAAO,GAAG,CAAC;AACvB,aAAK,KAAK;AAAA,MACX,CAAC;AAIF,WAAK,IAAI,SACP,uBAAuB,KAAK,OAAO,CAAC,EAAE,QAAQ,KAAK,aAAa,OAAO,KAAK,MAAM,WAAW,OAAO,EACpG,KAAK,OAAK,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,EAC7B,MAAM,OAAK,IAAI,CAAC,EAAE,KAAK,KAAK,KAAK,EAAE,KAAK,SAAS,GAAG,WAAW,CAAC,CAAC;AAGnE,YAAM,QAAQ,KAAK,OAAO,CAAC;AAC3B,iBAAW;AAAA,QACV,QAAQ,IAAI,CAAC,EAAE;AAAA,QACf,UAAU,KAAK,IAAI;AAAA,QACnB,aAAa;AAAA,QACb,UAAU,OAAK;AACd,cAAI,CAAC,KAAK,EAAE,IAAI,UAAU,GAAG;AAE5B,kBAAMC,KAAI,KAAK,OAAO,UAAU,OAAK,EAAE,QAAQ,MAAM,IAAI;AACzD,iBAAK,OAAO,OAAOA,IAAG,CAAC;AAAA,UACxB,OAAO;AAEN,kBAAM,SAAS;AAAA,UAChB;AACA,eAAK,KAAK;AAAA,QACX;AAAA,MACD,CAAC,EAAE,KAAK,MAAM,MAAM;AAAA,IACrB;AAEA,SAAK,IAAI,SAAS,OAAO,qBAAqB,EAAE,MAAM,kBAAkB,MAAM,EAAE,MAAM,WAAW,CAAC;AAAA,EACnG;AAAA,EAEA,YAAY,QAAQ,QAAQ,MAAeC,QAAgB;AAC1D,QAAI,CAAC,OAAQ,OAAM;AACnB,QAAI,CAAC,MAAM;AACV,YAAM,OAAO;AACb,aAAO;AACP,eAAS,IAAI,KAAK,KAAK;AACtB,eAAO,QAAQ,MAAM,IAAI,KAAK,MAAM;AACpC,YAAI,CAAC,OAAO,KAAK,OAAK,EAAE,SAAS,IAAI,EAAG;AAAA,MACzC;AAAA,IACD;AACA,UAAM,WAAW;AAAA,MAChB;AAAA,MACA;AAAA,MACA,OAAOA,UAAS,IAAI,WAAW,OAAO,MAAM,CAAC,EAAE,UAAU;AAAA,IAC1D;AACA,WAAO,KAAK,QAAQ;AAAA,EACrB;AAAA,EAEA,kBAAkB;AACjB,QAAI,CAAC,KAAK,OAAO,UAAW,KAAK,OAAO,UAAU,KAAK,KAAK,YAAa;AAGxE,WAAK,IAAI,OAAO,MAAM,WAAW,MAAM;AACvC;AAAA,IACD;AACA,SAAK,IAAI,OAAO,MAAM,WAAW,cAAc;AAC/C,QAAI,KAAK,OAAO,UAAU,GAAG;AAE5B,WAAK,IAAI,OAAO,KAAK,WAAW,KAAK,OAAO,CAAC,EAAE,IAAI,aAAa;AAChE,WAAK,IAAI,OAAO,GAAG,SAAS,YAAY;AACvC,cAAM,KAAK,YAAY,KAAK,gBAAgB,CAAC;AAAA,MAC9C,CAAC;AAAA,IACF,WAAW,KAAK,OAAO,UAAU,GAAG;AAEnC,WAAK,IAAI,SAAS,OAAO,qBAAqB,EAAE,MAAM,kBAAkB,MAAM,EAAE,MAAM,WAAW,GAAG;AACpG,WAAK,IAAI,OAAO,KAAK,WAAW,KAAK,OAAO,CAAC,EAAE,IAAI,OAAO,KAAK,OAAO,CAAC,EAAE,IAAI,GAAG;AAChF,WAAK,IAAI,OAAO,GAAG,SAAS,YAAY;AACvC,cAAM,KAAK,YAAY,KAAK,MAAM;AAAA,MACnC,CAAC;AAAA,IACF,OAAO;AACN,YAAM,IAAI,MAAM,wBAAwB;AAAA,IACzC;AAAA,EACD;AAAA,EAEA,MAAM,YAAY,QAAQ;AACzB,SAAK,IAAI,QAAQ,MAAM,WAAW,OAAO;AACzC,UAAM,cAAmB;AAAA,MACxB,GAAG,EAAE,QAAQ,CAAC,EAAE;AAAA,MAChB,MAAM;AAAA,QACL,MAAM,OAAO,IAAI,OAAK,EAAE,IAAI,EAAE,KAAK,MAAM;AAAA,QACzC,MAAM;AAAA,QACN,QAAQ,CAAC;AAAA,MACV;AAAA,IACD;AACA,QAAI,KAAK,qBAAqB,aAAc,aAAY,aAAa,KAAK;AAE1E,UAAM,UAAU,KAAK,aAAa,OAAO,KAAK,MAAM,WAAW;AAC/D,UAAM,qBAAqB;AAC3B,eAAW,KAAK,QAAQ;AACvB,YAAM,UAAU,MAAM,KAAK,SAAU;AAAA,QACpC,WAAW,CAAC,EAAE,QAAQ,KAAK,MAAM,WAAW,MAAM,CAAC;AAAA,QACnD;AAAA,QACA;AAAA,MACD;AACA,YAAM,YAAY,QAAQ,IAAI,OAAK;AAClC,eAAO,EAAE,UAAU,EAAE,GAAG;AAAA,MACzB,CAAC;AACD,kBAAY,EAAE,OAAO,KAAK;AAAA,QACzB,MAAM,EAAE;AAAA,QACR,IAAI;AAAA,QACJ,QAAQ;AAAA,MACT,CAAC;AACD,kBAAY,KAAK,OAAO,EAAE,IAAI,IAAI;AAAA,QACjC,OAAO,EAAE;AAAA,QACT,KAAK,EAAE;AAAA,QACP,OAAO,EAAE;AAAA,QACT,MAAM;AAAA;AAAA,MACP;AAAA,IACD;AAGA,UAAM,OAAY;AAAA,MACjB,QAAQ,KAAK,IAAI,SAAS,MAAM;AAAA,MAChC,SAAS,KAAK,IAAI,SAAS,MAAM;AAAA,MACjC,WAAW,EAAE,QAAQ,YAAY,EAAE,OAAO;AAAA,MAC1C,QAAQ,KAAK,MAAM,WAAW;AAAA,MAC9B;AAAA,MACA,aAAa;AAAA,IACd;AACA,QAAI,KAAK,qBAAqB,aAAc,MAAK,aAAa,KAAK;AAEnE,UAAM,kBAAkB,MAAM,SAAS,KAAK,OAAO,cAAc,mBAAmB,EAAE,KAAK,CAAC;AAE5F,SAAK,IAAI,QAAQ,MAAM,WAAW,MAAM;AAGxC,SAAK,IAAI,YAAY,MAAM,WAAW,OAAO,EAAE,UAAU,GAAG,EAAE,OAAO;AAErE,0BAAsB;AAAA,MACrB;AAAA,MACA;AAAA,MACA,QAAQ,YAAY,EAAE;AAAA,MACtB,QAAQ,KAAK,IAAI;AAAA,MACjB,UAAU,KAAK;AAAA,MACf,MAAM;AAAA,IACP,CAAC;AAAA,EACF;AACD;AAEO,IAAM,cAAc,YAAY,WAAW;AAC3C,IAAM,gBAAgB;AAE7B,IAAM,qBAAqB,oBAAI,IAAI,CAAC,UAAU,iBAAiB,UAAU,eAAe,CAAC;AAEzF,eAAsB,cAAc,MAAM,KAAM;AAC/C,MAAI,KAAK,YAAY,CAAC,mBAAmB,IAAI,KAAK,QAAQ;AACzD,UAAM,IAAI,MAAM,aAAa,KAAK,QAAQ,+BAA+B;AAC1E,QAAM,SAAS;AAAA,IACd,WAAW;AAAA;AAAA,IAEX,UAAU,KAAK,YAAY,UAAU;AAAA,IACrC,UAAU,CAAC;AAAA,EACZ;AAGA,QAAM,IAAI,UAAU,QAAQ,IAAI;AAChC,MAAI,EAAE,OAAQ,GAAE,SAAS,MAAM,eAAe,EAAE,QAAQ,GAAG;AAC3D,SAAO;AACR;AAMA,eAAe,eAAe,QAAQ,KAAK;AAC1C,MAAI,CAAC,MAAM,QAAQ,MAAM,EAAG,OAAM;AAElC,MAAI,OAAO,SAAS,EAAG,OAAM;AAK7B,QAAM,QAAQ,oBAAI,IAAI;AACtB,aAAW,KAAK,QAAQ;AACvB,QAAI,CAAC,GAAG,OAAQ,OAAM;AACtB,QAAI,UAAU,KAAK,OAAO,EAAE,QAAQ,SAAU,OAAM;AACpD,QAAI,CAAC,EAAE,KAAM;AACb,QAAI,MAAM,IAAI,EAAE,IAAI,EAAG,OAAM,mCAAmC,EAAE,IAAI;AACtE,UAAM,IAAI,EAAE,IAAI;AAAA,EACjB;AAEA,QAAM,YAAmB,CAAC;AAC1B,aAAW,KAAK,QAAQ;AAEvB,UAAM,SAAS,cAAc,EAAE,MAAM;AACrC,QAAI,CAAC,OAAO,IAAI,OAAQ,OAAM;AAE9B,QAAI,KAAK,SAAU,OAAM,QAAQ,IAAI,gBAAgB,QAAQ,IAAI,QAAQ,CAAC;AAG1E,UAAM,OAAO,EAAE,QAAQ,mBAAmB,KAAK;AAC/C,UAAM,IAAI,IAAI;AACd,UAAM,QAAQ,OAAO,OAAO,CAAC,GAAG,GAAG,EAAE,QAAQ,KAAK,CAAC;AACnD,QAAI,WAAW,GAAG;AAGjB,YAAM,IAAI,MAAQ,EAAE,KAAK;AACzB,UAAI,CAAC,EAAG,OAAM,kCAAkC,EAAE,KAAK;AACvD,YAAM,QAAQ,EAAE,UAAU;AAAA,IAC3B;AACA,cAAU,KAAK,KAAK;AAAA,EACrB;AACA,SAAO;AACR;AAGA,SAAS,mBAAmB,OAAO;AAClC,QAAM,OAAO;AACb,WAAS,IAAI,KAAK,KAAK;AACtB,UAAM,OAAO,QAAQ,MAAM,IAAI,KAAK,MAAM;AAC1C,QAAI,CAAC,MAAM,IAAI,IAAI,EAAG,QAAO;AAAA,EAC9B;AACD;",
6
+ "names": ["term", "filter", "i", "color"]
7
+ }