diff --git a/code/cit.py b/code/cit.py
index f37d1bd946523fbee691daef719c24b1d8be9c8c..3d027893429b2501ac30fb58e1cdd8af667ad8fa 100644
--- a/code/cit.py
+++ b/code/cit.py
@@ -215,7 +215,7 @@ def bookHTML(dictio, x, out):
     out.write("<li typeof=\"schema:Book\" role=\"doc-biblioentry\" property=\"schema:citation\" id=\"desc-" + str(x) + "\">"+ "\n")
    # out.write("\t" + "<span property=\"schema:author\" typeof=\"schema:Organisation\">"+ "\n")
     print("Just a sec, separating authors...")
-    if 'authors' in dictio:
+    if 'author' in dictio:
         authors = dictio['author']
     elif 'editor' in dictio:
         authors = dictio['editor']
diff --git a/code/methods.bib b/code/methods.bib
index e4e19fdb85643f70376bcd7ade255535a3226d18..911cc0dbe7727297379c8180b72a845b792e72e5 100644
--- a/code/methods.bib
+++ b/code/methods.bib
@@ -152,43 +152,20 @@ New5.
 	language     = {en}
 }
 new7.
-@article{Bulcaen_Kortleven_Liu_Maule_Dreano_Kelly_Ensinck_Thierie_Smits_Ciciani_e,
-	title        = {
-		Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in
-		human organoids and airway epithelial cells
-	},
-	author       = {
-		Bulcaen, Mattijs and Kortleven, Phéline and Liu, Ronald B. and Maule, Giulia
-		and Dreano, Elise and Kelly, Mairead and Ensinck, Marjolein M. and Thierie,
-		Sam and Smits, Maxime and Ciciani, Matteo and Hatton, Aurelie and Chevalier,
-		Benoit and Ramalho, Anabela S. and Casadevall i Solvas, Xavier and Debyser,
-		Zeger and Vermeulen, François and Gijsbers, Rik and Sermet-Gaudelus, Isabelle
-		and Cereseto, Anna and Carlon, Marianne S.
-	},
-	year         = 2024,
-	month        = may,
-	journal      = {Cell Reports Medicine},
-	pages        = 101544,
-	doi          = {10.1016/j.xcrm.2024.101544},
-	issn         = {2666-3791},
-	abstractnote = {
-		Prime editing is a recent, CRISPR-derived genome editing technology capable
-		of introducing precise nucleotide substitutions, insertions, and deletions.
-		Here, we present prime editing approaches to correct L227R- and N1303K-CFTR,
-		two mutations that cause cystic fibrosis and are not eligible for current
-		market-approved modulator therapies. We show that, upon DNA correction of the
-		CFTR gene, the complex glycosylation, localization, and, most importantly,
-		function of the CFTR protein are restored in HEK293T and 16HBE cell lines.
-		These findings were subsequently validated in patient-derived rectal
-		organoids and human nasal epithelial cells. Through analysis of predicted and
-		experimentally identified candidate off-target sites in primary stem cells,
-		we confirm previous reports on the high prime editor (PE) specificity and its
-		potential for a curative CF gene editing therapy. To facilitate future
-		screening of genetic strategies in a translational CF model, a machine
-		learning algorithm was developed for dynamic quantification of CFTR function
-		in organoids (DETECTOR: “detection of targeted editing of CFTR in
-		organoids”).
-	}
+@article{BULCAEN2024101544,
+title = {Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in human organoids and airway epithelial cells},
+journal = {Cell Reports Medicine},
+volume = {5},
+number = {5},
+pages = {101544},
+year = {2024},
+issn = {2666-3791},
+doi = {https://doi.org/10.1016/j.xcrm.2024.101544},
+url = {https://www.sciencedirect.com/science/article/pii/S2666379124002349},
+author = {Mattijs Bulcaen and Phéline Kortleven and Ronald B. Liu and Giulia Maule and Elise Dreano and Mairead Kelly and Marjolein M. Ensinck and Sam Thierie and Maxime Smits and Matteo Ciciani and Aurelie Hatton and Benoit Chevalier and Anabela S. Ramalho and Xavier {Casadevall i Solvas} and Zeger Debyser and François Vermeulen and Rik Gijsbers and Isabelle Sermet-Gaudelus and Anna Cereseto and Marianne S. Carlon},
+keywords = {cystic fibrosis, prime editing, patient-derived organoids, human nasal epithelial cells, gene editing, machine learning, DETEOR, CRISPR},
+abstract = {Summary
+Prime editing is a recent, CRISPR-derived genome editing technology capable of introducing precise nucleotide substitutions, insertions, and deletions. Here, we present prime editing approaches to correct L227R- and N1303K-CFTR, two mutations that cause cystic fibrosis and are not eligible for current market-approved modulator therapies. We show that, upon DNA correction of the CFTR gene, the complex glycosylation, localization, and, most importantly, function of the CFTR protein are restored in HEK293T and 16HBE cell lines. These findings were subsequently validated in patient-derived rectal organoids and human nasal epithelial cells. Through analysis of predicted and experimentally identified candidate off-target sites in primary stem cells, we confirm previous reports on the high prime editor (PE) specificity and its potential for a curative CF gene editing therapy. To facilitate future screening of genetic strategies in a translational CF model, a machine learning algorithm was developed for dynamic quantification of CFTR function in organoids (DETECTOR: “detection of targeted editing of CFTR in organoids”).}
 }
 new8.
 @article{Ensinck_Deeersmaecker_Heylen_Ramalho_Gijsbers_Far,
@@ -232,20 +209,19 @@ new8.
 }
 [new9]
 @misc{ignatova2023,
-	title        = {
-		Research Group Ignatova at the Institute of Biochemistry and Molecular
-		Biology
-	},
-	author       = {Zoya Ignatova},
-	year         = 2023,
-	url          = {https://www.chemie.uni-hamburg.de/institute/bc/arbeitsgruppen/ignatova.html},
-	note         = {Accessed: 20 August 2024},
-	institution  = {University of Hamburg}
+  author       = {Zoya Ignatova},
+  title        = {Research Group Ignatova at the Institute of Biochemistry and Molecular Biology},
+  year         = {2023},
+  howpublished = {\url{https://www.chemie.uni-hamburg.de/institute/bc/arbeitsgruppen/ignatova.html}},
+  note         = {Accessed: 28 September 2024},
+  institution  = {University of Hamburg},
 }
+
 new10.
 @book{Mennella_2024,
 	title        = {Cilia: methods and protocols},
 	year         = 2024,
+    author       = {Mennella, Vito},
 	publisher    = {Humana Press},
 	address      = {New York, NY},
 	isbn         = {978-1-07-163507-0},
diff --git a/code/output.txt b/code/output.txt
index 64bcf0f75a2d855b839b0389df2db8ec7c4a9505..ae0a151d5ea71a41d595f98bb233f926e133b429 100644
--- a/code/output.txt
+++ b/code/output.txt
@@ -14,3 +14,154 @@
 
 {/*<!-- Citation num 2--> */}
 <li typeof="schema:Book" role="doc-biblioentry" property="schema:citation" id="desc-2">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Dallas, M.</span>
+		<span property="schema:Name"> Bell, D.</span>
+	</span>
+	<span property="schema:name">&nbsp;Patch clamp electrophysiology: methods and protocols.</span>
+	<i property="schema:publisher" typeof="schema:Organization">&nbsp;Humana Press</i>
+	&nbsp;(<time property="schema:datePublished" datatype="xsd:gYear" dateTime="2021">2021</time>).
+</li>
+
+{/*<!-- Citation num 3--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-3">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Priel, A.</span>
+		<span property="schema:Name"> Gil, Z.</span>
+		<span property="schema:Name"> Moy, V. T.</span>
+		<span property="schema:Name"> Magleby, K. L.</span>
+		<span property="schema:Name"> Silberberg, S. D.</span>
+	</span>
+	<span property="schema:name">&nbsp;
+Ionic Requirements for Membrane-Glass Adhesion and Giga Seal Formation in
+Patch-Clamp Recording
+</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> Biophysical Journal</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 92</b>
+	,&nbsp;<span property="schema:pageBegin"> 3893</span>-<span property="schema:pageEnd">3900</span>&nbsp;
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 2007">2007</time>).
+	<a className="doi" href="https://doi.org/10.1529/biophysj.106.099119"> doi: 10.1529/biophysj.106.099119</a>
+</li>
+
+{/*<!-- Citation num 4--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-4">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Billet, A.</span>
+		<span property="schema:Name"> Froux, L.</span>
+		<span property="schema:Name"> Hanrahan, J. W.</span>
+		<span property="schema:Name"> Becq, F.</span>
+	</span>
+	<span property="schema:name">&nbsp;
+Development of Automated Patch Clamp Technique to Investigate CFTR Chloride
+Channel Function
+</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> Frontiers in Pharmacology</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 8</b>
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 2017">2017</time>).
+	<a className="doi" href="https://doi.org/10.3389/fphar.2017.00195"> doi: 10.3389/fphar.2017.00195</a>
+</li>
+
+{/*<!-- Citation num 5--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-5">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> DuBridge, R. B.</span>
+		<span property="schema:Name"> Tang, P.</span>
+		<span property="schema:Name"> Hsia, H. C.</span>
+		<span property="schema:Name"> Leong, P. M.</span>
+		<span property="schema:Name"> Miller, J. H.</span>
+		<span property="schema:Name"> Calos, M. P.</span>
+	</span>
+	<span property="schema:name">&nbsp;
+Analysis of mutation in human cells by using an Epstein-Barr virus shuttle
+system.
+</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> Molecular and Cellular Biology</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 7</b>
+	,&nbsp;<span property="schema:pageBegin"> 379</span>-<span property="schema:pageEnd">387</span>&nbsp;
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 1987">1987</time>).
+</li>
+
+{/*<!-- Citation num 6--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-6">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Qin, J. Y.</span>
+		<span property="schema:Name"> Zhang, L.</span>
+		<span property="schema:Name"> Clift, K. L.</span>
+		<span property="schema:Name"> Hulur, I.</span>
+		<span property="schema:Name"> Xiang, A. P.</span>
+		<span property="schema:Name"> Ren, B.</span>
+		<span property="schema:Name"> Lahn, B. T.</span>
+	</span>
+	<span property="schema:name">&nbsp;
+Systematic Comparison of Constitutive Promoters and the Doxycycline-Inducible
+Promoter
+</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> PLOS ONE</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 5</b>
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 2010">2010</time>).
+	<a className="doi" href="https://doi.org/10.1371/journal.pone.0010611"> doi: 10.1371/journal.pone.0010611</a>
+</li>
+
+{/*<!-- Citation num 7--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-7">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Bulcaen, M.</span>
+		<span property="schema:Name"> Kortleven, P.</span>
+		<span property="schema:Name"> Liu, R. B.</span>
+		<span property="schema:Name"> Maule, G.</span>
+		<span property="schema:Name"> Dreano, E.</span>
+		<span property="schema:Name"> Kelly, M.</span>
+		<span property="schema:Name"> Ensinck, M. M.</span>
+		<span property="schema:Name"> et al.</span>
+	</span>
+	<span property="schema:name">&nbsp;Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in human organoids and airway epithelial cells</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> Cell Reports Medicine</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 5</b>
+	<span property="schema:pageBegin">101544</span>&nbsp;
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 2024">2024</time>).
+	<a className="doi" href="https://doi.org/https://doi.org/10.1016/j.xcrm.2024.101544"> doi: https://doi.org/10.1016/j.xcrm.2024.101544</a>
+</li>
+
+{/*<!-- Citation num 8--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-8">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Ensinck, M.</span>
+		<span property="schema:Name"> De Keersmaecker, L.</span>
+		<span property="schema:Name"> Heylen, L.</span>
+		<span property="schema:Name"> Ramalho, A. S.</span>
+		<span property="schema:Name"> Gijsbers, R.</span>
+		<span property="schema:Name"> Farré, R.</span>
+		<span property="schema:Name"> De Boeck, K.</span>
+		<span property="schema:Name"> et al.</span>
+	</span>
+	<span property="schema:name">&nbsp;
+Phenotyping of Rare CFTR Mutations Reveals Distinct Trafficking and
+Functional Defects
+</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> Cells</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 9</b>
+	<span property="schema:pageBegin">754</span>&nbsp;
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 2020">2020</time>).
+	<a className="doi" href="https://doi.org/10.3390/cells9030754"> doi: 10.3390/cells9030754</a>
+</li>
+
+{/*<!-- Citation num 9--> */}
+<li typeof="schema:WebPage" role="doc-biblioentry" property="schema:citation" id="desc-9">
+	<span property="schema:author" typeof="schema:Organisation">
+		<span property="schema:Name"> Zoya Ignatova</span>.
+	</span>
+	<span property="schema:name">Research Group Ignatova at the Institute of Biochemistry and Molecular Biology.</span>
+	<i property="schema:publisher" typeof="schema:Organization">\url{https://www.chemie.uni-hamburg.de/institute/bc/arbeitsgruppen/ignatova.html}</i>
+	&nbsp;(<time property="schema:datePublished" datatype="xsd:gYear" dateTime="2023">2023</time>).
+</li>
+
+{/*<!-- Citation num 10--> */}
+<li typeof="schema:Book" role="doc-biblioentry" property="schema:citation" id="desc-10">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Mennella, V.</span>
+	</span>
+	<span property="schema:name">&nbsp;Cilia: methods and protocols.</span>
+	<i property="schema:publisher" typeof="schema:Organization">&nbsp;Humana Press</i>
+	&nbsp;(<time property="schema:datePublished" datatype="xsd:gYear" dateTime="2024">2024</time>).
+</li>
+
diff --git a/package.json b/package.json
index 282f0fb2cb9db2f481fbd879b41dd4a641de837c..20c68dea8901ca55a874bc486efebc61775ec8d4 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
     "@types/three": "^0.168.0",
     "aos": "^2.3.4",
     "beautiful-react-diagrams": "^0.5.1",
+    "bibtex-parser-js": "^0.0.2",
     "bootstrap": "^5.3.3",
     "chart.js": "^4.4.4",
     "dangerously-set-html-content": "^1.1.0",
diff --git a/src/components/makeSources.tsx b/src/components/makeSources.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..4314105ac1912521722ae8c2ded183003fabb91f
--- /dev/null
+++ b/src/components/makeSources.tsx
@@ -0,0 +1,18 @@
+import * as BibtexParser from 'bibtex-parser-js';
+
+interface BibTexEntry {
+  author: string;
+  title: string;
+  year: string;
+  url?: string;
+  note?: string;
+  institution?: string;
+  howpublished?: string;
+}
+
+export function Sources{
+
+
+}
+
+
diff --git a/src/contents/methods.tsx b/src/contents/methods.tsx
index cfe76edb45192662f67b5cfab46c880456f28bb7..05f1f2364d7606032a553327cfc314f04c690d83 100644
--- a/src/contents/methods.tsx
+++ b/src/contents/methods.tsx
@@ -96,7 +96,174 @@ export function Methods() {
         </Section>
         <Section title="References" id="References">
           <ol>
-            
+              {/*<!-- Citation num 1--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-1">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Roth, F. C.</span>
+		<span property="schema:Name"> Draguhn, A.</span>
+	</span>
+	<span property="schema:name">&nbsp;Die Entwicklung der Patch-Clamp-Technik</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> Springer eBooks</i>
+	<b property="issueNumber" typeof="PublicationIssue"> </b>
+	,&nbsp;<span property="schema:pageBegin"> 1</span>-<span property="schema:pageEnd">14</span>&nbsp;
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 2023">2023</time>).
+	<a className="doi" href="https://doi.org/10.1007/978-3-662-66053-9"> doi: 10.1007/978-3-662-66053-9</a>
+</li>
+
+{/*<!-- Citation num 2--> */}
+<li typeof="schema:Book" role="doc-biblioentry" property="schema:citation" id="desc-2">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Dallas, M.</span>
+		<span property="schema:Name"> Bell, D.</span>
+	</span>
+	<span property="schema:name">&nbsp;Patch clamp electrophysiology: methods and protocols.</span>
+	<i property="schema:publisher" typeof="schema:Organization">&nbsp;Humana Press</i>
+	&nbsp;(<time property="schema:datePublished" datatype="xsd:gYear" dateTime="2021">2021</time>).
+</li>
+
+{/*<!-- Citation num 3--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-3">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Priel, A.</span>
+		<span property="schema:Name"> Gil, Z.</span>
+		<span property="schema:Name"> Moy, V. T.</span>
+		<span property="schema:Name"> Magleby, K. L.</span>
+		<span property="schema:Name"> Silberberg, S. D.</span>
+	</span>
+	<span property="schema:name">&nbsp;
+Ionic Requirements for Membrane-Glass Adhesion and Giga Seal Formation in
+Patch-Clamp Recording
+</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> Biophysical Journal</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 92</b>
+	,&nbsp;<span property="schema:pageBegin"> 3893</span>-<span property="schema:pageEnd">3900</span>&nbsp;
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 2007">2007</time>).
+	<a className="doi" href="https://doi.org/10.1529/biophysj.106.099119"> doi: 10.1529/biophysj.106.099119</a>
+</li>
+
+{/*<!-- Citation num 4--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-4">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Billet, A.</span>
+		<span property="schema:Name"> Froux, L.</span>
+		<span property="schema:Name"> Hanrahan, J. W.</span>
+		<span property="schema:Name"> Becq, F.</span>
+	</span>
+	<span property="schema:name">&nbsp;
+Development of Automated Patch Clamp Technique to Investigate CFTR Chloride
+Channel Function
+</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> Frontiers in Pharmacology</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 8</b>
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 2017">2017</time>).
+	<a className="doi" href="https://doi.org/10.3389/fphar.2017.00195"> doi: 10.3389/fphar.2017.00195</a>
+</li>
+
+{/*<!-- Citation num 5--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-5">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> DuBridge, R. B.</span>
+		<span property="schema:Name"> Tang, P.</span>
+		<span property="schema:Name"> Hsia, H. C.</span>
+		<span property="schema:Name"> Leong, P. M.</span>
+		<span property="schema:Name"> Miller, J. H.</span>
+		<span property="schema:Name"> Calos, M. P.</span>
+	</span>
+	<span property="schema:name">&nbsp;
+Analysis of mutation in human cells by using an Epstein-Barr virus shuttle
+system.
+</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> Molecular and Cellular Biology</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 7</b>
+	,&nbsp;<span property="schema:pageBegin"> 379</span>-<span property="schema:pageEnd">387</span>&nbsp;
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 1987">1987</time>).
+</li>
+
+{/*<!-- Citation num 6--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-6">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Qin, J. Y.</span>
+		<span property="schema:Name"> Zhang, L.</span>
+		<span property="schema:Name"> Clift, K. L.</span>
+		<span property="schema:Name"> Hulur, I.</span>
+		<span property="schema:Name"> Xiang, A. P.</span>
+		<span property="schema:Name"> Ren, B.</span>
+		<span property="schema:Name"> Lahn, B. T.</span>
+	</span>
+	<span property="schema:name">&nbsp;
+Systematic Comparison of Constitutive Promoters and the Doxycycline-Inducible
+Promoter
+</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> PLOS ONE</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 5</b>
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 2010">2010</time>).
+	<a className="doi" href="https://doi.org/10.1371/journal.pone.0010611"> doi: 10.1371/journal.pone.0010611</a>
+</li>
+
+{/*<!-- Citation num 7--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-7">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Bulcaen, M.</span>
+		<span property="schema:Name"> Kortleven, P.</span>
+		<span property="schema:Name"> Liu, R. B.</span>
+		<span property="schema:Name"> Maule, G.</span>
+		<span property="schema:Name"> Dreano, E.</span>
+		<span property="schema:Name"> Kelly, M.</span>
+		<span property="schema:Name"> Ensinck, M. M.</span>
+		<span property="schema:Name"> et al.</span>
+	</span>
+	<span property="schema:name">&nbsp;Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in human organoids and airway epithelial cells</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> Cell Reports Medicine</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 5</b>
+	<span property="schema:pageBegin">101544</span>&nbsp;
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 2024">2024</time>).
+	<a className="doi" href="https://doi.org/https://doi.org/10.1016/j.xcrm.2024.101544"> doi: https://doi.org/10.1016/j.xcrm.2024.101544</a>
+</li>
+
+{/*<!-- Citation num 8--> */}
+<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-8">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Ensinck, M.</span>
+		<span property="schema:Name"> De Keersmaecker, L.</span>
+		<span property="schema:Name"> Heylen, L.</span>
+		<span property="schema:Name"> Ramalho, A. S.</span>
+		<span property="schema:Name"> Gijsbers, R.</span>
+		<span property="schema:Name"> Farré, R.</span>
+		<span property="schema:Name"> De Boeck, K.</span>
+		<span property="schema:Name"> et al.</span>
+	</span>
+	<span property="schema:name">&nbsp;
+Phenotyping of Rare CFTR Mutations Reveals Distinct Trafficking and
+Functional Defects
+</span>. 
+	<i property="schema:publisher" typeof="schema:Organization"> Cells</i>
+	<b property="issueNumber" typeof="PublicationIssue"> 9</b>
+	<span property="schema:pageBegin">754</span>&nbsp;
+	(<time property="schema:datePublished" datatype="xsd:gYear" dateTime=" 2020">2020</time>).
+	<a className="doi" href="https://doi.org/10.3390/cells9030754"> doi: 10.3390/cells9030754</a>
+</li>
+
+{/*<!-- Citation num 9--> */}
+<li typeof="schema:WebPage" role="doc-biblioentry" property="schema:citation" id="desc-9">
+	<span property="schema:author" typeof="schema:Organisation">
+		<span property="schema:Name"> Zoya Ignatova</span>.
+	</span>
+	<span property="schema:name">Research Group Ignatova at the Institute of Biochemistry and Molecular Biology.</span>
+	<i property="schema:publisher" typeof="schema:Organization">Hamburg University</i>
+	&nbsp;(<time property="schema:datePublished" datatype="xsd:gYear" dateTime="2023">2023</time>).
+</li>
+
+{/*<!-- Citation num 10--> */}
+<li typeof="schema:Book" role="doc-biblioentry" property="schema:citation" id="desc-10">
+	<span property="schema:author" typeof="schema:Person">
+		<span property="schema:Name"> Mennella, V.</span>
+	</span>
+	<span property="schema:name">&nbsp;Cilia: methods and protocols.</span>
+	<i property="schema:publisher" typeof="schema:Organization">&nbsp;Humana Press</i>
+	&nbsp;(<time property="schema:datePublished" datatype="xsd:gYear" dateTime="2024">2024</time>).
+</li>
+
+
           </ol>
         </Section>
 
diff --git a/tsconfig.json b/tsconfig.json
index 43d3bdd980c7fc5b58f0208311b083d0e76fd027..27e40ca82634bc5313c3744511567d7ae806c7ca 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -5,6 +5,7 @@
       "lib": ["ES2020", "DOM", "DOM.Iterable"],
       "module": "ESNext",
       "skipLibCheck": true,
+      "noImplicitAny": false,
   
       /* Bundler mode */
       "moduleResolution": "bundler",
diff --git a/yarn.lock b/yarn.lock
index 652906d8a3ce61b80afec771f8bfec58de8f0573..f6121fe84de67f5eb69de70cb3881daa60e51cb7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -23,7 +23,7 @@
   resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz"
   integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==
 
-"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.24.5":
+"@babel/core@^7.24.5":
   version "7.25.2"
   resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz"
   integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==
@@ -221,7 +221,7 @@
   resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz"
   integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==
 
-"@emotion/is-prop-valid@*", "@emotion/is-prop-valid@^1.3.0":
+"@emotion/is-prop-valid@^1.3.0":
   version "1.3.0"
   resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz"
   integrity sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==
@@ -233,7 +233,7 @@
   resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz"
   integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==
 
-"@emotion/react@^11.0.0-rc.0", "@emotion/react@^11.13.0", "@emotion/react@^11.4.1", "@emotion/react@^11.5.0", "@emotion/react@^11.8.1", "@emotion/react@^11.9.0":
+"@emotion/react@^11.13.0", "@emotion/react@^11.8.1":
   version "11.13.3"
   resolved "https://registry.npmjs.org/@emotion/react/-/react-11.13.3.tgz"
   integrity sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==
@@ -263,7 +263,7 @@
   resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz"
   integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==
 
-"@emotion/styled@^11.13.0", "@emotion/styled@^11.3.0", "@emotion/styled@^11.8.1":
+"@emotion/styled@^11.13.0":
   version "11.13.0"
   resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.13.0.tgz"
   integrity sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==
@@ -295,11 +295,121 @@
   resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz"
   integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==
 
+"@esbuild/aix-ppc64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f"
+  integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==
+
+"@esbuild/android-arm64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052"
+  integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==
+
+"@esbuild/android-arm@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28"
+  integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==
+
+"@esbuild/android-x64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e"
+  integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==
+
+"@esbuild/darwin-arm64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a"
+  integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==
+
 "@esbuild/darwin-x64@0.21.5":
   version "0.21.5"
   resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz"
   integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==
 
+"@esbuild/freebsd-arm64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e"
+  integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==
+
+"@esbuild/freebsd-x64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261"
+  integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==
+
+"@esbuild/linux-arm64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b"
+  integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==
+
+"@esbuild/linux-arm@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9"
+  integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==
+
+"@esbuild/linux-ia32@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2"
+  integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==
+
+"@esbuild/linux-loong64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df"
+  integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==
+
+"@esbuild/linux-mips64el@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe"
+  integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==
+
+"@esbuild/linux-ppc64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4"
+  integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==
+
+"@esbuild/linux-riscv64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc"
+  integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==
+
+"@esbuild/linux-s390x@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de"
+  integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==
+
+"@esbuild/linux-x64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0"
+  integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==
+
+"@esbuild/netbsd-x64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047"
+  integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==
+
+"@esbuild/openbsd-x64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70"
+  integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==
+
+"@esbuild/sunos-x64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b"
+  integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==
+
+"@esbuild/win32-arm64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d"
+  integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==
+
+"@esbuild/win32-ia32@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b"
+  integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==
+
+"@esbuild/win32-x64@0.21.5":
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c"
+  integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==
+
 "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
   version "4.4.0"
   resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz"
@@ -468,7 +578,7 @@
     clsx "^2.1.0"
     prop-types "^15.8.1"
 
-"@mui/material@^5.0.0", "@mui/material@^5.15.14 || ^6.0.0", "@mui/material@^5.16.5", "@mui/material@>=5.15.0":
+"@mui/material@^5.16.5":
   version "5.16.7"
   resolved "https://registry.npmjs.org/@mui/material/-/material-5.16.7.tgz"
   integrity sha512-cwwVQxBhK60OIOqZOVLFt55t01zmarKJiJUWbk0+8s/Ix5IaUzAShqlJchxsIQ4mSrWqgcKCCXKtIlG5H+/Jmg==
@@ -505,7 +615,7 @@
     csstype "^3.1.3"
     prop-types "^15.8.1"
 
-"@mui/system@^5.15.14 || ^6.0.0", "@mui/system@^5.16.5", "@mui/system@^5.16.7":
+"@mui/system@^5.16.5", "@mui/system@^5.16.7":
   version "5.16.7"
   resolved "https://registry.npmjs.org/@mui/system/-/system-5.16.7.tgz"
   integrity sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==
@@ -587,7 +697,7 @@
     "@nodelib/fs.stat" "2.0.5"
     run-parallel "^1.1.9"
 
-"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
   version "2.0.5"
   resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
   integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@@ -684,11 +794,86 @@
     uncontrollable "^8.0.1"
     warning "^4.0.3"
 
+"@rollup/rollup-android-arm-eabi@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.5.tgz#e0f5350845090ca09690fe4a472717f3b8aae225"
+  integrity sha512-SU5cvamg0Eyu/F+kLeMXS7GoahL+OoizlclVFX3l5Ql6yNlywJJ0OuqTzUx0v+aHhPHEB/56CT06GQrRrGNYww==
+
+"@rollup/rollup-android-arm64@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.5.tgz#08270faef6747e2716d3e978a8bbf479f75fb19a"
+  integrity sha512-S4pit5BP6E5R5C8S6tgU/drvgjtYW76FBuG6+ibG3tMvlD1h9LHVF9KmlmaUBQ8Obou7hEyS+0w+IR/VtxwNMQ==
+
+"@rollup/rollup-darwin-arm64@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.5.tgz#691671133b350661328d42c8dbdedd56dfb97dfd"
+  integrity sha512-250ZGg4ipTL0TGvLlfACkIxS9+KLtIbn7BCZjsZj88zSg2Lvu3Xdw6dhAhfe/FjjXPVNCtcSp+WZjVsD3a/Zlw==
+
 "@rollup/rollup-darwin-x64@4.22.5":
   version "4.22.5"
   resolved "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.5.tgz"
   integrity sha512-D8brJEFg5D+QxFcW6jYANu+Rr9SlKtTenmsX5hOSzNYVrK5oLAEMTUgKWYJP+wdKyCdeSwnapLsn+OVRFycuQg==
 
+"@rollup/rollup-linux-arm-gnueabihf@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.5.tgz#217f01f304808920680bd269002df38e25d9205f"
+  integrity sha512-PNqXYmdNFyWNg0ma5LdY8wP+eQfdvyaBAojAXgO7/gs0Q/6TQJVXAXe8gwW9URjbS0YAammur0fynYGiWsKlXw==
+
+"@rollup/rollup-linux-arm-musleabihf@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.5.tgz#93ac1c5a1e389f4482a2edaeec41fcffee54a930"
+  integrity sha512-kSSCZOKz3HqlrEuwKd9TYv7vxPYD77vHSUvM2y0YaTGnFc8AdI5TTQRrM1yIp3tXCKrSL9A7JLoILjtad5t8pQ==
+
+"@rollup/rollup-linux-arm64-gnu@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.5.tgz#a7f146787d6041fecc4ecdf1aa72234661ca94a4"
+  integrity sha512-oTXQeJHRbOnwRnRffb6bmqmUugz0glXaPyspp4gbQOPVApdpRrY/j7KP3lr7M8kTfQTyrBUzFjj5EuHAhqH4/w==
+
+"@rollup/rollup-linux-arm64-musl@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.5.tgz#6a37236189648e678bd564d6e8ca798f42cf42c5"
+  integrity sha512-qnOTIIs6tIGFKCHdhYitgC2XQ2X25InIbZFor5wh+mALH84qnFHvc+vmWUpyX97B0hNvwNUL4B+MB8vJvH65Fw==
+
+"@rollup/rollup-linux-powerpc64le-gnu@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.5.tgz#5661420dc463bec31ecb2d17d113de858cfcfe2d"
+  integrity sha512-TMYu+DUdNlgBXING13rHSfUc3Ky5nLPbWs4bFnT+R6Vu3OvXkTkixvvBKk8uO4MT5Ab6lC3U7x8S8El2q5o56w==
+
+"@rollup/rollup-linux-riscv64-gnu@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.5.tgz#cb00342b7432bdef723aa606281de2f522d6dcf7"
+  integrity sha512-PTQq1Kz22ZRvuhr3uURH+U/Q/a0pbxJoICGSprNLAoBEkyD3Sh9qP5I0Asn0y0wejXQBbsVMRZRxlbGFD9OK4A==
+
+"@rollup/rollup-linux-s390x-gnu@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.5.tgz#0708889674dccecccd28e2befccf791e0767fcb7"
+  integrity sha512-bR5nCojtpuMss6TDEmf/jnBnzlo+6n1UhgwqUvRoe4VIotC7FG1IKkyJbwsT7JDsF2jxR+NTnuOwiGv0hLyDoQ==
+
+"@rollup/rollup-linux-x64-gnu@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.5.tgz#a135b040b21582e91cfed2267ccfc7d589e1dbc6"
+  integrity sha512-N0jPPhHjGShcB9/XXZQWuWBKZQnC1F36Ce3sDqWpujsGjDz/CQtOL9LgTrJ+rJC8MJeesMWrMWVLKKNR/tMOCA==
+
+"@rollup/rollup-linux-x64-musl@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.5.tgz#88395a81a3ab7ee3dc8dc31a73ff62ed3185f34d"
+  integrity sha512-uBa2e28ohzNNwjr6Uxm4XyaA1M/8aTgfF2T7UIlElLaeXkgpmIJ2EitVNQxjO9xLLLy60YqAgKn/AqSpCUkE9g==
+
+"@rollup/rollup-win32-arm64-msvc@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.5.tgz#12ee49233b1125f2c1da38392f63b1dbb0c31bba"
+  integrity sha512-RXT8S1HP8AFN/Kr3tg4fuYrNxZ/pZf1HemC5Tsddc6HzgGnJm0+Lh5rAHJkDuW3StI0ynNXukidROMXYl6ew8w==
+
+"@rollup/rollup-win32-ia32-msvc@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.5.tgz#0f987b134c6b3123c22842b33ba0c2b6fb78cc3b"
+  integrity sha512-ElTYOh50InL8kzyUD6XsnPit7jYCKrphmddKAe1/Ytt74apOxDq5YEcbsiKs0fR3vff3jEneMM+3I7jbqaMyBg==
+
+"@rollup/rollup-win32-x64-msvc@4.22.5":
+  version "4.22.5"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.5.tgz#f2feb149235a5dc1deb5439758f8871255e5a161"
+  integrity sha512-+lvL/4mQxSV8MukpkKyyvfwhH266COcWlXE/1qxwN08ajovta3459zrjLghYMgDerlzNwLAcFpvU+WWE5y6nAQ==
+
 "@swc/helpers@^0.5.0":
   version "0.5.13"
   resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz"
@@ -980,7 +1165,7 @@
   dependencies:
     "@types/sizzle" "*"
 
-"@types/node@^18.0.0 || >=20.0.0", "@types/node@^20.12.10":
+"@types/node@^20.12.10":
   version "20.16.5"
   resolved "https://registry.npmjs.org/@types/node/-/node-20.16.5.tgz"
   integrity sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==
@@ -1025,7 +1210,7 @@
   dependencies:
     "@types/react" "*"
 
-"@types/react@*", "@types/react@^17.0.0 || ^18.0.0", "@types/react@^17.0.0 || ^18.0.0 || ^19.0.0", "@types/react@^18.2.66", "@types/react@>=16.14.8", "@types/react@>=16.9.11":
+"@types/react@*", "@types/react@>=16.9.11", "@types/react@^18.2.66":
   version "18.3.7"
   resolved "https://registry.npmjs.org/@types/react/-/react-18.3.7.tgz"
   integrity sha512-KUnDCJF5+AiZd8owLIeVHqmW9yM4sqmDVf2JRJiBMFkGvkoZ4/WyV2lL4zVsoinmRS/W3FeEdZLEWFRofnT2FQ==
@@ -1085,7 +1270,7 @@
     natural-compare "^1.4.0"
     ts-api-utils "^1.3.0"
 
-"@typescript-eslint/parser@^7.0.0", "@typescript-eslint/parser@^7.2.0":
+"@typescript-eslint/parser@^7.2.0":
   version "7.18.0"
   resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz"
   integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==
@@ -1177,7 +1362,7 @@ acorn-jsx@^5.3.2:
   resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
   integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
 
-"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.9.0:
+acorn@^8.9.0:
   version "8.12.1"
   resolved "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz"
   integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==
@@ -1285,6 +1470,11 @@ beautiful-react-hooks@^0.31.0:
     lodash.debounce "^4.0.8"
     lodash.throttle "^4.1.1"
 
+bibtex-parser-js@^0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/bibtex-parser-js/-/bibtex-parser-js-0.0.2.tgz#940c533be4068e22372743bc5ab6e52cc9e1bd54"
+  integrity sha512-vd6wktUeJTAjIqKE3pornTXJApKou38zODuX/MlM0Hl5Tf9fd1hl9KvGJcPqJ+rTU4ODEdD7SchkjBNJ/iFo1A==
+
 boolbase@^1.0.0:
   version "1.0.0"
   resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
@@ -1317,7 +1507,7 @@ braces@^3.0.3:
   dependencies:
     fill-range "^7.1.1"
 
-browserslist@^4.23.1, "browserslist@>= 4.21.0":
+browserslist@^4.23.1:
   version "4.23.3"
   resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz"
   integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==
@@ -1354,7 +1544,7 @@ chalk@^4.0.0:
     ansi-styles "^4.1.0"
     supports-color "^7.1.0"
 
-chart.js@^4.1.1, chart.js@^4.4.4:
+chart.js@^4.4.4:
   version "4.4.4"
   resolved "https://registry.npmjs.org/chart.js/-/chart.js-4.4.4.tgz"
   integrity sha512-emICKGBABnxhMjUjlYRR12PmOXhJ2eJjEHL2/dZlWjxRAZT1D8xplLFq5M0tMQK8ja+wBS/tuVEJB5C6r7VxJA==
@@ -1422,26 +1612,26 @@ color-convert@^2.0.1:
   dependencies:
     color-name "~1.1.4"
 
-color-name@~1.1.4:
-  version "1.1.4"
-  resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
-  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
 color-name@1.1.3:
   version "1.1.3"
   resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
   integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
 
-commander@^8.3.0:
-  version "8.3.0"
-  resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz"
-  integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
+color-name@~1.1.4:
+  version "1.1.4"
+  resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
+  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
 
 commander@7:
   version "7.2.0"
   resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz"
   integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
 
+commander@^8.3.0:
+  version "8.3.0"
+  resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz"
+  integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
+
 concat-map@0.0.1:
   version "0.0.1"
   resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
@@ -1510,7 +1700,7 @@ csstype@^3.0.2, csstype@^3.1.3:
   resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
   integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
 
-d3-array@^3.1.6, d3-array@^3.2.0, "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3:
+"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.1.6, d3-array@^3.2.0:
   version "3.2.4"
   resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz"
   integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==
@@ -1540,7 +1730,7 @@ d3-chord@3:
   dependencies:
     d3-path "1 - 3"
 
-d3-color@^3.1.0, "d3-color@1 - 3", d3-color@3:
+"d3-color@1 - 3", d3-color@3, d3-color@^3.1.0:
   version "3.1.0"
   resolved "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz"
   integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==
@@ -1552,7 +1742,7 @@ d3-contour@4:
   dependencies:
     d3-array "^3.2.0"
 
-d3-delaunay@^6.0.4, d3-delaunay@6:
+d3-delaunay@6, d3-delaunay@^6.0.4:
   version "6.0.4"
   resolved "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz"
   integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==
@@ -1581,7 +1771,7 @@ d3-delaunay@^6.0.4, d3-delaunay@6:
     iconv-lite "0.6"
     rw "1"
 
-d3-ease@^3.0.1, "d3-ease@1 - 3", d3-ease@3:
+"d3-ease@1 - 3", d3-ease@3, d3-ease@^3.0.1:
   version "3.0.1"
   resolved "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz"
   integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==
@@ -1621,24 +1811,24 @@ d3-geo@3:
   dependencies:
     d3-array "2.5.0 - 3"
 
-d3-hierarchy@^1.1.5:
-  version "1.1.9"
-  resolved "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz"
-  integrity sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==
-
 d3-hierarchy@3:
   version "3.1.2"
   resolved "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz"
   integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==
 
-d3-interpolate@^3.0.1, "d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3:
+d3-hierarchy@^1.1.5:
+  version "1.1.9"
+  resolved "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz"
+  integrity sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==
+
+"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3, d3-interpolate@^3.0.1:
   version "3.0.1"
   resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz"
   integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==
   dependencies:
     d3-color "1 - 3"
 
-d3-path@^3.1.0, "d3-path@1 - 3", d3-path@3:
+"d3-path@1 - 3", d3-path@3, d3-path@^3.1.0:
   version "3.1.0"
   resolved "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz"
   integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==
@@ -1666,7 +1856,7 @@ d3-scale-chromatic@3:
     d3-color "1 - 3"
     d3-interpolate "1 - 3"
 
-d3-scale@^4.0.2, d3-scale@4:
+d3-scale@4, d3-scale@^4.0.2:
   version "4.0.2"
   resolved "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz"
   integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==
@@ -1682,7 +1872,7 @@ d3-scale@^4.0.2, d3-scale@4:
   resolved "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz"
   integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==
 
-d3-shape@^3.1.0, d3-shape@^3.2.0, d3-shape@3:
+d3-shape@3, d3-shape@^3.1.0, d3-shape@^3.2.0:
   version "3.2.0"
   resolved "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz"
   integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==
@@ -1696,14 +1886,14 @@ d3-shape@^3.1.0, d3-shape@^3.2.0, d3-shape@3:
   dependencies:
     d3-time "1 - 3"
 
-d3-time@^3.0.0, d3-time@^3.1.0, "d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3:
+"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3, d3-time@^3.0.0, d3-time@^3.1.0:
   version "3.1.0"
   resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz"
   integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==
   dependencies:
     d3-array "2 - 3"
 
-d3-timer@^3.0.1, "d3-timer@1 - 3", d3-timer@3:
+"d3-timer@1 - 3", d3-timer@3, d3-timer@^3.0.1:
   version "3.0.1"
   resolved "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz"
   integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==
@@ -1735,6 +1925,11 @@ d3-zoom@3:
     d3-selection "2 - 3"
     d3-transition "2 - 3"
 
+d3@3.5.6:
+  version "3.5.6"
+  resolved "https://registry.npmjs.org/d3/-/d3-3.5.6.tgz"
+  integrity sha512-i1x8Q3lGerBazuvWsImnUKrjfCdBnRnk8aq7hqOK/5+CAWJTt/zr9CaR1mlJf17oH8l/v4mOaDLU+F/l2dq1Vg==
+
 d3@^7.8.5:
   version "7.9.0"
   resolved "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz"
@@ -1771,11 +1966,6 @@ d3@^7.8.5:
     d3-transition "3"
     d3-zoom "3"
 
-d3@3.5.6:
-  version "3.5.6"
-  resolved "https://registry.npmjs.org/d3/-/d3-3.5.6.tgz"
-  integrity sha512-i1x8Q3lGerBazuvWsImnUKrjfCdBnRnk8aq7hqOK/5+CAWJTt/zr9CaR1mlJf17oH8l/v4mOaDLU+F/l2dq1Vg==
-
 dangerously-set-html-content@^1.1.0:
   version "1.1.0"
   resolved "https://registry.npmjs.org/dangerously-set-html-content/-/dangerously-set-html-content-1.1.0.tgz"
@@ -1793,18 +1983,18 @@ deep-is@^0.1.3:
   resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz"
   integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
 
-delaunator@^4.0.0:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz"
-  integrity sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==
-
-delaunator@^5.0.1, delaunator@5:
+delaunator@5, delaunator@^5.0.1:
   version "5.0.1"
   resolved "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz"
   integrity sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==
   dependencies:
     robust-predicates "^3.0.2"
 
+delaunator@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz"
+  integrity sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==
+
 delaunay-find@0.0.6:
   version "0.0.6"
   resolved "https://registry.npmjs.org/delaunay-find/-/delaunay-find-0.0.6.tgz"
@@ -1963,7 +2153,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4
   resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
   integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
 
-"eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.56.0, eslint@^8.57.0, eslint@>=7:
+eslint@^8.57.0:
   version "8.57.1"
   resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz"
   integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==
@@ -2297,7 +2487,7 @@ inflight@^1.0.4:
     once "^1.3.0"
     wrappy "1"
 
-inherits@~2.0.3, inherits@2:
+inherits@2, inherits@~2.0.3:
   version "2.0.4"
   resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
   integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -2496,16 +2686,16 @@ lodash.throttle@^4.0.1, lodash.throttle@^4.1.1:
   resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz"
   integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==
 
-lodash@^4.17.19, lodash@^4.17.21:
-  version "4.17.21"
-  resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
-  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-
 lodash@4.17.4:
   version "4.17.4"
   resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"
   integrity sha512-6X37Sq9KCpLSXEh8uM12AKYlviHPNNk4RxiGBn4cmKGJinbXBneWIV7iE/nXkM928O7ytHcHb6+X6Svl0f4hXg==
 
+lodash@^4.17.19, lodash@^4.17.21:
+  version "4.17.21"
+  resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
+  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
 loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
   version "1.4.0"
   resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
@@ -2520,7 +2710,7 @@ lru-cache@^5.1.1:
   dependencies:
     yallist "^3.0.2"
 
-markmap-common@*, markmap-common@^0.17.0:
+markmap-common@^0.17.0:
   version "0.17.0"
   resolved "https://registry.npmjs.org/markmap-common/-/markmap-common-0.17.0.tgz"
   integrity sha512-3tuU6PxjrQxivZD18czJKcGKTTRJKMNne1bBflcHqu7yASznJRBM80CC4DzIVGiAb74hTuX8tTfkEQUMu0yKMg==
@@ -2839,7 +3029,7 @@ react-collapsed@^4.1.2:
   dependencies:
     tiny-warning "^1.0.3"
 
-"react-dom@^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.9.0 || ^17 || ^18", "react-dom@^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.2.0, react-dom@>=16.12.0, react-dom@>=16.14.0, react-dom@>=16.6.0, react-dom@>=16.8, react-dom@>=16.8.0, react-dom@>=17.0.1:
+react-dom@^18.2.0:
   version "18.3.1"
   resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz"
   integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
@@ -2935,7 +3125,7 @@ react-transition-group@^4.3.0, react-transition-group@^4.4.5:
     loose-envify "^1.4.0"
     prop-types "^15.6.2"
 
-"react@^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", "react@^16.9.0 || ^17 || ^18", "react@^17.0.0 || ^18.0.0", react@^18.0.0, react@^18.2.0, react@^18.3.1, react@>=0.14.0, react@>=15.0.0, react@>=16, react@>=16.14.0, react@>=16.6.0, react@>=16.8, react@>=16.8.0, react@>=17.0.1:
+react@>=16, react@^18.2.0:
   version "18.3.1"
   resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz"
   integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
@@ -2970,14 +3160,6 @@ remarkable-katex@^1.2.1:
   resolved "https://registry.npmjs.org/remarkable-katex/-/remarkable-katex-1.2.1.tgz"
   integrity sha512-Y1VquJBZnaVsfsVcKW2hmjT+pDL7mp8l5WAVlvuvViltrdok2m1AIKmJv8SsH+mBY84PoMw67t3kTWw1dIm8+g==
 
-remarkable@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz"
-  integrity sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==
-  dependencies:
-    argparse "^1.0.10"
-    autolinker "^3.11.0"
-
 remarkable@1.7.4:
   version "1.7.4"
   resolved "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz"
@@ -2986,6 +3168,14 @@ remarkable@1.7.4:
     argparse "^1.0.10"
     autolinker "~0.28.0"
 
+remarkable@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz"
+  integrity sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==
+  dependencies:
+    argparse "^1.0.10"
+    autolinker "^3.11.0"
+
 resize-observer-polyfill@^1.5.0:
   version "1.5.1"
   resolved "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz"
@@ -3069,7 +3259,7 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1:
   resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
   integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
 
-sass@*, sass@^1.77.6:
+sass@^1.77.6:
   version "1.79.1"
   resolved "https://registry.npmjs.org/sass/-/sass-1.79.1.tgz"
   integrity sha512-+mA7svoNKeL0DiJqZGeR/ZGUu8he4I8o3jyUcOFyo4eBJrwNgIMmAEwCMo/N2Y3wdjOBcRzoNxZIOtrtMX8EXg==
@@ -3112,7 +3302,7 @@ slash@^3.0.0:
   resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
   integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
 
-source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0":
+"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.1:
   version "1.2.1"
   resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
   integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
@@ -3132,6 +3322,11 @@ sprintf-js@~1.0.2:
   resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
   integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
 
+string-convert@^0.2.0:
+  version "0.2.1"
+  resolved "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz"
+  integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==
+
 string_decoder@~1.1.1:
   version "1.1.1"
   resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
@@ -3139,11 +3334,6 @@ string_decoder@~1.1.1:
   dependencies:
     safe-buffer "~5.1.0"
 
-string-convert@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz"
-  integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==
-
 strip-ansi@^6.0.1:
   version "6.0.1"
   resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
@@ -3237,7 +3427,7 @@ type-fest@^0.20.2:
   resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
   integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
 
-typescript@^5.2.2, typescript@>=4.2.0:
+typescript@^5.2.2:
   version "5.6.2"
   resolved "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz"
   integrity sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==
@@ -3587,7 +3777,7 @@ victory@^37.0.2:
     victory-voronoi-container "37.1.1"
     victory-zoom-container "37.1.1"
 
-"vite@^4.2.0 || ^5.0.0", vite@^5.2.0:
+vite@^5.2.0:
   version "5.4.6"
   resolved "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz"
   integrity sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==