citeclaw 2.0.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 (1723) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +152 -0
  3. package/app.js +318 -0
  4. package/config.dev.yaml +124 -0
  5. package/config.prod.yaml +123 -0
  6. package/config.yaml +0 -0
  7. package/lib/Citation.js +101 -0
  8. package/lib/CitoidError.js +61 -0
  9. package/lib/CitoidRequest.js +150 -0
  10. package/lib/CitoidResponse.js +44 -0
  11. package/lib/CitoidService.js +1118 -0
  12. package/lib/Exporter.js +1052 -0
  13. package/lib/OutgoingRequestThrottle.js +96 -0
  14. package/lib/Scraper.js +617 -0
  15. package/lib/Translator.js +76 -0
  16. package/lib/ZoteroService.js +220 -0
  17. package/lib/api-util.js +125 -0
  18. package/lib/external-apis/CrossRefService.js +122 -0
  19. package/lib/external-apis/OpenAlexService.js +245 -0
  20. package/lib/external-apis/PubMedService.js +82 -0
  21. package/lib/external-apis/SemanticScholarService.js +221 -0
  22. package/lib/external-apis/WaybackMachine.js +92 -0
  23. package/lib/hostIsAllowed.js +128 -0
  24. package/lib/swagger-ui.js +104 -0
  25. package/lib/translators/README.md +12 -0
  26. package/lib/translators/bePress.js +319 -0
  27. package/lib/translators/coins.js +360 -0
  28. package/lib/translators/crossRef.js +485 -0
  29. package/lib/translators/dublinCore.js +215 -0
  30. package/lib/translators/general.js +157 -0
  31. package/lib/translators/openGraph.js +177 -0
  32. package/lib/translators/util/index.js +209 -0
  33. package/lib/unshorten.js +109 -0
  34. package/lib/util.js +410 -0
  35. package/lib/zotero/cachedTypes.js +232 -0
  36. package/lib/zotero/typeSchemaData.js +366 -0
  37. package/package.json +121 -0
  38. package/routes/citoid.js +101 -0
  39. package/routes/info.js +81 -0
  40. package/routes/root.js +51 -0
  41. package/scripts/botcite.js +5021 -0
  42. package/scripts/citeclaw.js +10 -0
  43. package/server.js +12 -0
  44. package/spec.yaml +156 -0
  45. package/targets.yaml +2 -0
  46. package/vendor/translators-official/ABC News Australia.js +224 -0
  47. package/vendor/translators-official/ACLS Humanities EBook.js +165 -0
  48. package/vendor/translators-official/ACLWeb.js +600 -0
  49. package/vendor/translators-official/ACM Digital Library.js +708 -0
  50. package/vendor/translators-official/ACM Queue.js +391 -0
  51. package/vendor/translators-official/ACS Publications.js +633 -0
  52. package/vendor/translators-official/ADS Bibcode.js +664 -0
  53. package/vendor/translators-official/AEA Web.js +450 -0
  54. package/vendor/translators-official/AGRIS.js +311 -0
  55. package/vendor/translators-official/AIP.js +295 -0
  56. package/vendor/translators-official/AMS Journals.js +136 -0
  57. package/vendor/translators-official/AMS MathSciNet (Legacy).js +313 -0
  58. package/vendor/translators-official/AMS MathSciNet.js +288 -0
  59. package/vendor/translators-official/APA PsycNET.js +915 -0
  60. package/vendor/translators-official/APN.ru.js +132 -0
  61. package/vendor/translators-official/APS-Physics.js +204 -0
  62. package/vendor/translators-official/APS.js +542 -0
  63. package/vendor/translators-official/ARTFL Encyclopedie.js +283 -0
  64. package/vendor/translators-official/ARTnews.js +155 -0
  65. package/vendor/translators-official/ARTstor.js +619 -0
  66. package/vendor/translators-official/ASCE.js +199 -0
  67. package/vendor/translators-official/ASCO Meeting Library.js +153 -0
  68. package/vendor/translators-official/ASTIS.js +337 -0
  69. package/vendor/translators-official/ATS International Journal.js +290 -0
  70. package/vendor/translators-official/Access Engineering.js +384 -0
  71. package/vendor/translators-official/Access Medicine.js +343 -0
  72. package/vendor/translators-official/Access Science.js +391 -0
  73. package/vendor/translators-official/Adam Matthew Digital.js +405 -0
  74. package/vendor/translators-official/Agencia del ISBN.js +77 -0
  75. package/vendor/translators-official/Ahval News.js +309 -0
  76. package/vendor/translators-official/Air University Journals.js +236 -0
  77. package/vendor/translators-official/Airiti.js +423 -0
  78. package/vendor/translators-official/Alexander Street Press.js +198 -0
  79. package/vendor/translators-official/AllAfrica.js +291 -0
  80. package/vendor/translators-official/Alsharekh.js +242 -0
  81. package/vendor/translators-official/AlterNet.js +134 -0
  82. package/vendor/translators-official/Aluka.js +261 -0
  83. package/vendor/translators-official/Amazon.js +1043 -0
  84. package/vendor/translators-official/American Archive of Public Broadcasting.js +592 -0
  85. package/vendor/translators-official/American Institute of Aeronautics and Astronautics.js +210 -0
  86. package/vendor/translators-official/American Prospect.js +114 -0
  87. package/vendor/translators-official/Anarchist Library.js +382 -0
  88. package/vendor/translators-official/Ancestry.com US Federal Census.js +164 -0
  89. package/vendor/translators-official/Annual Reviews.js +329 -0
  90. package/vendor/translators-official/Antikvarium.hu.js +280 -0
  91. package/vendor/translators-official/AquaDocs.js +390 -0
  92. package/vendor/translators-official/Archeion.js +249 -0
  93. package/vendor/translators-official/Archiv fuer Sozialgeschichte.js +157 -0
  94. package/vendor/translators-official/Archive Ouverte en Sciences de l'Information et de la Communication (AOSIC).js +179 -0
  95. package/vendor/translators-official/Archives Canada.js +142 -0
  96. package/vendor/translators-official/Ariana News.js +203 -0
  97. package/vendor/translators-official/Art Institute of Chicago.js +279 -0
  98. package/vendor/translators-official/Artefacts Canada.js +192 -0
  99. package/vendor/translators-official/Artforum.js +438 -0
  100. package/vendor/translators-official/Atlanta Journal-Constitution.js +311 -0
  101. package/vendor/translators-official/Atypon Journals.js +1204 -0
  102. package/vendor/translators-official/AustLII and NZLII.js +604 -0
  103. package/vendor/translators-official/Australian Dictionary of Biography.js +196 -0
  104. package/vendor/translators-official/BAILII.js +176 -0
  105. package/vendor/translators-official/BBC Genome.js +254 -0
  106. package/vendor/translators-official/BBC.js +430 -0
  107. package/vendor/translators-official/BIBSYS.js +112 -0
  108. package/vendor/translators-official/BOCC.js +217 -0
  109. package/vendor/translators-official/BOE.js +229 -0
  110. package/vendor/translators-official/BOFiP-Impots.js +132 -0
  111. package/vendor/translators-official/Baidu Scholar.js +276 -0
  112. package/vendor/translators-official/Bangkok Post.js +216 -0
  113. package/vendor/translators-official/Baruch Foundation.js +175 -0
  114. package/vendor/translators-official/Beobachter.js +175 -0
  115. package/vendor/translators-official/Bezneng Gajit.js +92 -0
  116. package/vendor/translators-official/BibLaTeX.js +888 -0
  117. package/vendor/translators-official/BibTeX.js +4236 -0
  118. package/vendor/translators-official/Biblio.com.js +216 -0
  119. package/vendor/translators-official/Bibliontology RDF.js +1166 -0
  120. package/vendor/translators-official/Biblioteca Nacional de Maestros.js +213 -0
  121. package/vendor/translators-official/Bibliotheque et Archives Nationale du Quebec (Pistard).js +147 -0
  122. package/vendor/translators-official/Bibliotheque et Archives Nationales du Quebec.js +266 -0
  123. package/vendor/translators-official/Bibliotheque nationale de France.js +872 -0
  124. package/vendor/translators-official/BioMed Central.js +585 -0
  125. package/vendor/translators-official/BioOne.js +233 -0
  126. package/vendor/translators-official/Bioconductor.js +343 -0
  127. package/vendor/translators-official/Blaetter.js +192 -0
  128. package/vendor/translators-official/Blogger.js +244 -0
  129. package/vendor/translators-official/Bloomberg.js +205 -0
  130. package/vendor/translators-official/Bloomsbury Food Library.js +296 -0
  131. package/vendor/translators-official/Bluesky.js +195 -0
  132. package/vendor/translators-official/BnF ISBN.js +129 -0
  133. package/vendor/translators-official/Bookmarks.js +282 -0
  134. package/vendor/translators-official/Bookshop.org.js +223 -0
  135. package/vendor/translators-official/Boston Review.js +332 -0
  136. package/vendor/translators-official/Bosworth Toller's Anglo-Saxon Dictionary Online.js +496 -0
  137. package/vendor/translators-official/Bracero History Archive.js +200 -0
  138. package/vendor/translators-official/Brill.js +434 -0
  139. package/vendor/translators-official/Brukerhandboken.js +153 -0
  140. package/vendor/translators-official/Bryn Mawr Classical Review.js +303 -0
  141. package/vendor/translators-official/Bundesgesetzblatt.js +231 -0
  142. package/vendor/translators-official/Business Standard.js +151 -0
  143. package/vendor/translators-official/CABI - CAB Abstracts.js +317 -0
  144. package/vendor/translators-official/CAOD.js +260 -0
  145. package/vendor/translators-official/CBC.js +439 -0
  146. package/vendor/translators-official/CCfr (BnF).js +162 -0
  147. package/vendor/translators-official/CERN Document Server.js +277 -0
  148. package/vendor/translators-official/CEUR Workshop Proceedings.js +145 -0
  149. package/vendor/translators-official/CFF References.js +170 -0
  150. package/vendor/translators-official/CFF.js +113 -0
  151. package/vendor/translators-official/CIA World Factbook.js +128 -0
  152. package/vendor/translators-official/CLACSO.js +226 -0
  153. package/vendor/translators-official/CLASE.js +135 -0
  154. package/vendor/translators-official/CNKI.js +731 -0
  155. package/vendor/translators-official/COBISS.js +1945 -0
  156. package/vendor/translators-official/COinS.js +336 -0
  157. package/vendor/translators-official/CQ Press.js +418 -0
  158. package/vendor/translators-official/CROSBI.js +227 -0
  159. package/vendor/translators-official/CSIRO Publishing.js +139 -0
  160. package/vendor/translators-official/CSL JSON.js +203 -0
  161. package/vendor/translators-official/CSV.js +294 -0
  162. package/vendor/translators-official/Cairn.info.js +368 -0
  163. package/vendor/translators-official/CalMatters.js +228 -0
  164. package/vendor/translators-official/Calisphere.js +355 -0
  165. package/vendor/translators-official/Camara Brasileira do Livro ISBN.js +842 -0
  166. package/vendor/translators-official/Cambridge Core.js +580 -0
  167. package/vendor/translators-official/Cambridge Engage Preprints.js +276 -0
  168. package/vendor/translators-official/CanLII.js +284 -0
  169. package/vendor/translators-official/Canada.com.js +171 -0
  170. package/vendor/translators-official/Canadian Letters and Images.js +148 -0
  171. package/vendor/translators-official/Canadiana.ca.js +196 -0
  172. package/vendor/translators-official/Cascadilla Proceedings Project.js +390 -0
  173. package/vendor/translators-official/Cell Press.js +516 -0
  174. package/vendor/translators-official/Central and Eastern European Online Library Journals.js +313 -0
  175. package/vendor/translators-official/Champlain Society - Collection.js +220 -0
  176. package/vendor/translators-official/ChatGPT.js +185 -0
  177. package/vendor/translators-official/Chicago Journal of Theoretical Computer Science.js +203 -0
  178. package/vendor/translators-official/Christian Science Monitor.js +148 -0
  179. package/vendor/translators-official/Chronicling America.js +131 -0
  180. package/vendor/translators-official/CiNii Research.js +168 -0
  181. package/vendor/translators-official/Citavi 5 XML.js +516 -0
  182. package/vendor/translators-official/CiteSeer.js +196 -0
  183. package/vendor/translators-official/Citizen Lab.js +347 -0
  184. package/vendor/translators-official/Civilization.ca.js +146 -0
  185. package/vendor/translators-official/Climate Change and Human Health Literature Portal.js +283 -0
  186. package/vendor/translators-official/Clinical Key.js +367 -0
  187. package/vendor/translators-official/Code4Lib Journal.js +143 -0
  188. package/vendor/translators-official/Colorado State Legislature.js +215 -0
  189. package/vendor/translators-official/Columbia University Press.js +238 -0
  190. package/vendor/translators-official/Common-Place.js +218 -0
  191. package/vendor/translators-official/Computer History Museum Archive.js +1319 -0
  192. package/vendor/translators-official/Copernicus.js +461 -0
  193. package/vendor/translators-official/Cornell LII.js +252 -0
  194. package/vendor/translators-official/Cornell University Press.js +235 -0
  195. package/vendor/translators-official/CourtListener.js +265 -0
  196. package/vendor/translators-official/Crossref REST.js +1757 -0
  197. package/vendor/translators-official/Crossref Unixref XML.js +965 -0
  198. package/vendor/translators-official/Current Affairs.js +160 -0
  199. package/vendor/translators-official/DABI.js +476 -0
  200. package/vendor/translators-official/DAI-Zenon.js +392 -0
  201. package/vendor/translators-official/DART-Europe.js +176 -0
  202. package/vendor/translators-official/DBLP Computer Science Bibliography.js +462 -0
  203. package/vendor/translators-official/DBpia.js +233 -0
  204. package/vendor/translators-official/DEPATISnet.js +373 -0
  205. package/vendor/translators-official/DOAJ.js +243 -0
  206. package/vendor/translators-official/DOI Content Negotiation.js +352 -0
  207. package/vendor/translators-official/DOI.js +322 -0
  208. package/vendor/translators-official/DPLA.js +425 -0
  209. package/vendor/translators-official/DSpace Intermediate Metadata.js +208 -0
  210. package/vendor/translators-official/Dagens Nyheter.js +369 -0
  211. package/vendor/translators-official/Dagstuhl Research Online Publication Server.js +276 -0
  212. package/vendor/translators-official/Dar Almandumah.js +253 -0
  213. package/vendor/translators-official/Data.gov.js +225 -0
  214. package/vendor/translators-official/Databrary.js +184 -0
  215. package/vendor/translators-official/Datacite JSON.js +1182 -0
  216. package/vendor/translators-official/Dataverse.js +418 -0
  217. package/vendor/translators-official/Daum News.js +139 -0
  218. package/vendor/translators-official/De Gruyter Brill.js +460 -0
  219. package/vendor/translators-official/Defense Technical Information Center.js +146 -0
  220. package/vendor/translators-official/Delpher.js +413 -0
  221. package/vendor/translators-official/Demographic Research.js +164 -0
  222. package/vendor/translators-official/Denik CZ.js +273 -0
  223. package/vendor/translators-official/Der Freitag.js +236 -0
  224. package/vendor/translators-official/Der Spiegel.js +479 -0
  225. package/vendor/translators-official/Desiring God.js +216 -0
  226. package/vendor/translators-official/Deutsche Fotothek.js +364 -0
  227. package/vendor/translators-official/Deutsche Nationalbibliothek.js +594 -0
  228. package/vendor/translators-official/Dialnet.js +258 -0
  229. package/vendor/translators-official/Die Zeit.js +378 -0
  230. package/vendor/translators-official/DigiZeitschriften.js +269 -0
  231. package/vendor/translators-official/Digital Humanities Quarterly.js +207 -0
  232. package/vendor/translators-official/Digital Spy.js +215 -0
  233. package/vendor/translators-official/Dimensions.js +233 -0
  234. package/vendor/translators-official/Douban.js +316 -0
  235. package/vendor/translators-official/Dreier Neuerscheinungsdienst.js +209 -0
  236. package/vendor/translators-official/DrugBank.ca.js +209 -0
  237. package/vendor/translators-official/Dryad Digital Repository.js +323 -0
  238. package/vendor/translators-official/Duke University Press Books.js +250 -0
  239. package/vendor/translators-official/E-periodica Switzerland.js +347 -0
  240. package/vendor/translators-official/EBSCO Discovery Layer.js +159 -0
  241. package/vendor/translators-official/EBSCOhost.js +592 -0
  242. package/vendor/translators-official/EIDR.js +184 -0
  243. package/vendor/translators-official/EPA National Library Catalog.js +245 -0
  244. package/vendor/translators-official/ERIC.js +986 -0
  245. package/vendor/translators-official/ESpacenet.js +465 -0
  246. package/vendor/translators-official/EUR-Lex.js +418 -0
  247. package/vendor/translators-official/Eastview.js +336 -0
  248. package/vendor/translators-official/Edinburgh University Press Journals.js +178 -0
  249. package/vendor/translators-official/Education Week.js +197 -0
  250. package/vendor/translators-official/El Comercio (Peru).js +347 -0
  251. package/vendor/translators-official/El Pais.js +262 -0
  252. package/vendor/translators-official/Electronic Colloquium on Computational Complexity.js +230 -0
  253. package/vendor/translators-official/Elicit.js +120 -0
  254. package/vendor/translators-official/Elsevier Health Journals.js +531 -0
  255. package/vendor/translators-official/Elsevier Pure.js +420 -0
  256. package/vendor/translators-official/Embedded Metadata.js +1978 -0
  257. package/vendor/translators-official/Emerald Insight.js +626 -0
  258. package/vendor/translators-official/Encyclopedia of Chicago.js +162 -0
  259. package/vendor/translators-official/Encyclopedia of Korean Culture.js +221 -0
  260. package/vendor/translators-official/Endnote XML.js +1407 -0
  261. package/vendor/translators-official/Engineering Village.js +139 -0
  262. package/vendor/translators-official/Envidat.js +331 -0
  263. package/vendor/translators-official/Epicurious.js +144 -0
  264. package/vendor/translators-official/Erudit.js +272 -0
  265. package/vendor/translators-official/Euclid.js +220 -0
  266. package/vendor/translators-official/EurasiaNet.js +109 -0
  267. package/vendor/translators-official/EurogamerUSgamer.js +380 -0
  268. package/vendor/translators-official/Europe PMC.js +448 -0
  269. package/vendor/translators-official/Evernote.js +104 -0
  270. package/vendor/translators-official/F1000 Research.js +655 -0
  271. package/vendor/translators-official/FAO Knowledge Repository.js +598 -0
  272. package/vendor/translators-official/FAOLEX Database.js +811 -0
  273. package/vendor/translators-official/FAZ.NET.js +231 -0
  274. package/vendor/translators-official/Fachportal Padagogik.js +839 -0
  275. package/vendor/translators-official/Factiva.js +302 -0
  276. package/vendor/translators-official/Failed Architecture.js +114 -0
  277. package/vendor/translators-official/Fairfax Australia.js +200 -0
  278. package/vendor/translators-official/Fatcat.js +425 -0
  279. package/vendor/translators-official/Figshare.js +191 -0
  280. package/vendor/translators-official/Financial Times.js +187 -0
  281. package/vendor/translators-official/Finna.js +357 -0
  282. package/vendor/translators-official/Flickr.js +318 -0
  283. package/vendor/translators-official/Foreign Affairs.js +485 -0
  284. package/vendor/translators-official/Foreign Policy.js +146 -0
  285. package/vendor/translators-official/FreeCite.js +95 -0
  286. package/vendor/translators-official/FreePatentsOnline.js +265 -0
  287. package/vendor/translators-official/Frieze.js +243 -0
  288. package/vendor/translators-official/Frontiers.js +667 -0
  289. package/vendor/translators-official/GMS German Medical Science.js +319 -0
  290. package/vendor/translators-official/GPO Access e-CFR.js +134 -0
  291. package/vendor/translators-official/Gale Databases.js +324 -0
  292. package/vendor/translators-official/GaleGDC.js +189 -0
  293. package/vendor/translators-official/Galegroup.js +327 -0
  294. package/vendor/translators-official/Gallica.js +194 -0
  295. package/vendor/translators-official/Game Studies.js +155 -0
  296. package/vendor/translators-official/GameSpot.js +199 -0
  297. package/vendor/translators-official/GameStar GamePro.js +198 -0
  298. package/vendor/translators-official/Gasyrlar Awazy.js +156 -0
  299. package/vendor/translators-official/Gemeinsamer Bibliotheksverbund ISBN.js +23 -0
  300. package/vendor/translators-official/Gene Ontology.js +128 -0
  301. package/vendor/translators-official/GitHub.js +501 -0
  302. package/vendor/translators-official/Globes.js +243 -0
  303. package/vendor/translators-official/Gmail.js +64 -0
  304. package/vendor/translators-official/Goodreads.js +219 -0
  305. package/vendor/translators-official/Google Books.js +552 -0
  306. package/vendor/translators-official/Google Gemini.js +116 -0
  307. package/vendor/translators-official/Google Patents.js +959 -0
  308. package/vendor/translators-official/Google Play.js +186 -0
  309. package/vendor/translators-official/Google Presentation.js +104 -0
  310. package/vendor/translators-official/Google Research.js +221 -0
  311. package/vendor/translators-official/Google Scholar.js +1361 -0
  312. package/vendor/translators-official/Gulag Many Days, Many Lives.js +179 -0
  313. package/vendor/translators-official/HAL.js +536 -0
  314. package/vendor/translators-official/HCSP.js +312 -0
  315. package/vendor/translators-official/HUDOC.js +650 -0
  316. package/vendor/translators-official/Haaretz.js +562 -0
  317. package/vendor/translators-official/Habr.js +232 -0
  318. package/vendor/translators-official/Handelszeitung.js +273 -0
  319. package/vendor/translators-official/Hanrei Watch.js +123 -0
  320. package/vendor/translators-official/Harper's Magazine.js +365 -0
  321. package/vendor/translators-official/Harvard Business Review.js +326 -0
  322. package/vendor/translators-official/Harvard Caselaw Access Project.js +244 -0
  323. package/vendor/translators-official/Harvard University Press Books.js +286 -0
  324. package/vendor/translators-official/HathiTrust.js +311 -0
  325. package/vendor/translators-official/HeinOnline.js +280 -0
  326. package/vendor/translators-official/Heise.js +200 -0
  327. package/vendor/translators-official/Herder.js +236 -0
  328. package/vendor/translators-official/HighBeam.js +198 -0
  329. package/vendor/translators-official/HighWire 2.0.js +1355 -0
  330. package/vendor/translators-official/HighWire.js +209 -0
  331. package/vendor/translators-official/Hindawi Publishers.js +177 -0
  332. package/vendor/translators-official/Hispanic-American Periodical Index.js +236 -0
  333. package/vendor/translators-official/Homeland Security Digital Library.js +426 -0
  334. package/vendor/translators-official/Hrvatska enciklopedija.js +118 -0
  335. package/vendor/translators-official/Huff Post.js +223 -0
  336. package/vendor/translators-official/Human Rights Watch.js +450 -0
  337. package/vendor/translators-official/IBISWorld.js +171 -0
  338. package/vendor/translators-official/IDEA ALM.js +536 -0
  339. package/vendor/translators-official/IEEE Computer Society.js +429 -0
  340. package/vendor/translators-official/IEEE Xplore.js +1000 -0
  341. package/vendor/translators-official/IETF.js +451 -0
  342. package/vendor/translators-official/IGN.js +136 -0
  343. package/vendor/translators-official/IMDb.js +566 -0
  344. package/vendor/translators-official/INSPIRE.js +247 -0
  345. package/vendor/translators-official/IPCC.js +757 -0
  346. package/vendor/translators-official/ISTC.js +181 -0
  347. package/vendor/translators-official/Idref.js +179 -0
  348. package/vendor/translators-official/In These Times.js +196 -0
  349. package/vendor/translators-official/Ined.js +558 -0
  350. package/vendor/translators-official/InfoTrac.js +279 -0
  351. package/vendor/translators-official/Informationssystem Medienpaedagogik.js +305 -0
  352. package/vendor/translators-official/IngentaConnect.js +312 -0
  353. package/vendor/translators-official/Inside Higher Ed.js +167 -0
  354. package/vendor/translators-official/Insignia OPAC.js +114 -0
  355. package/vendor/translators-official/Institute of Contemporary Art.js +180 -0
  356. package/vendor/translators-official/Institute of Physics.js +340 -0
  357. package/vendor/translators-official/Integrum.js +173 -0
  358. package/vendor/translators-official/Intellixir.js +264 -0
  359. package/vendor/translators-official/Inter-Research Science Center.js +185 -0
  360. package/vendor/translators-official/International Nuclear Information System.js +285 -0
  361. package/vendor/translators-official/Internet Archive Scholar.js +106 -0
  362. package/vendor/translators-official/Internet Archive Wayback Machine.js +152 -0
  363. package/vendor/translators-official/Internet Archive.js +552 -0
  364. package/vendor/translators-official/InvenioRDM.js +1250 -0
  365. package/vendor/translators-official/Isidore.js +235 -0
  366. package/vendor/translators-official/J-Stage.js +272 -0
  367. package/vendor/translators-official/JETS.js +122 -0
  368. package/vendor/translators-official/JISC Historical Texts.js +273 -0
  369. package/vendor/translators-official/JRC Publications Repository.js +569 -0
  370. package/vendor/translators-official/JSTOR.js +821 -0
  371. package/vendor/translators-official/Jahrbuch.js +213 -0
  372. package/vendor/translators-official/Japan Times Online.js +138 -0
  373. package/vendor/translators-official/Journal of Electronic Publishing.js +147 -0
  374. package/vendor/translators-official/Journal of Extension.js +288 -0
  375. package/vendor/translators-official/Journal of Machine Learning Research.js +441 -0
  376. package/vendor/translators-official/Journal of Religion and Society.js +174 -0
  377. package/vendor/translators-official/JurPC.js +274 -0
  378. package/vendor/translators-official/Juricaf.js +141 -0
  379. package/vendor/translators-official/Juris.js +728 -0
  380. package/vendor/translators-official/K10plus ISBN.js +386 -0
  381. package/vendor/translators-official/KStudy.js +632 -0
  382. package/vendor/translators-official/Kanopy.js +358 -0
  383. package/vendor/translators-official/Khaama Press.js +249 -0
  384. package/vendor/translators-official/KiM.js +259 -0
  385. package/vendor/translators-official/KitapYurdu.com.js +376 -0
  386. package/vendor/translators-official/Kommersant.js +174 -0
  387. package/vendor/translators-official/Korean National Library.js +621 -0
  388. package/vendor/translators-official/L'Annee Philologique.js +267 -0
  389. package/vendor/translators-official/LA Times.js +239 -0
  390. package/vendor/translators-official/LIBRIS ISBN.js +103 -0
  391. package/vendor/translators-official/LIVIVO.js +260 -0
  392. package/vendor/translators-official/LWN.net.js +350 -0
  393. package/vendor/translators-official/La Croix.js +237 -0
  394. package/vendor/translators-official/La Nacion (Argentina).js +231 -0
  395. package/vendor/translators-official/La Presse.js +218 -0
  396. package/vendor/translators-official/La Republica (Peru).js +174 -0
  397. package/vendor/translators-official/Lagen.nu.js +214 -0
  398. package/vendor/translators-official/Landesbibliographie Baden-Wurttemberg.js +324 -0
  399. package/vendor/translators-official/Lapham's Quarterly.js +1062 -0
  400. package/vendor/translators-official/Le Devoir.js +167 -0
  401. package/vendor/translators-official/Le Figaro.js +225 -0
  402. package/vendor/translators-official/Le Maitron.js +484 -0
  403. package/vendor/translators-official/Le Monde.js +245 -0
  404. package/vendor/translators-official/Le monde diplomatique.js +200 -0
  405. package/vendor/translators-official/Legifrance.js +641 -0
  406. package/vendor/translators-official/Legislative Insight.js +406 -0
  407. package/vendor/translators-official/Lexis+.js +264 -0
  408. package/vendor/translators-official/LexisNexis.js +505 -0
  409. package/vendor/translators-official/Libraries Tasmania.js +778 -0
  410. package/vendor/translators-official/Library Catalog (Aleph).js +385 -0
  411. package/vendor/translators-official/Library Catalog (Amicus).js +254 -0
  412. package/vendor/translators-official/Library Catalog (Aquabrowser).js +253 -0
  413. package/vendor/translators-official/Library Catalog (BiblioCommons).js +249 -0
  414. package/vendor/translators-official/Library Catalog (Blacklight).js +341 -0
  415. package/vendor/translators-official/Library Catalog (Capita Prism).js +162 -0
  416. package/vendor/translators-official/Library Catalog (DRA).js +203 -0
  417. package/vendor/translators-official/Library Catalog (Dynix).js +315 -0
  418. package/vendor/translators-official/Library Catalog (EBSCO Locate).js +442 -0
  419. package/vendor/translators-official/Library Catalog (Encore).js +211 -0
  420. package/vendor/translators-official/Library Catalog (InnoPAC).js +305 -0
  421. package/vendor/translators-official/Library Catalog (Koha).js +225 -0
  422. package/vendor/translators-official/Library Catalog (Mango).js +285 -0
  423. package/vendor/translators-official/Library Catalog (OPALS).js +200 -0
  424. package/vendor/translators-official/Library Catalog (PICA).js +2120 -0
  425. package/vendor/translators-official/Library Catalog (PICA2).js +331 -0
  426. package/vendor/translators-official/Library Catalog (Pika).js +488 -0
  427. package/vendor/translators-official/Library Catalog (Polaris).js +183 -0
  428. package/vendor/translators-official/Library Catalog (Quolto).js +320 -0
  429. package/vendor/translators-official/Library Catalog (RERO ILS).js +754 -0
  430. package/vendor/translators-official/Library Catalog (SIRSI eLibrary).js +407 -0
  431. package/vendor/translators-official/Library Catalog (SIRSI).js +452 -0
  432. package/vendor/translators-official/Library Catalog (SLIMS).js +146 -0
  433. package/vendor/translators-official/Library Catalog (TIND ILS).js +773 -0
  434. package/vendor/translators-official/Library Catalog (TLCYouSeeMore).js +132 -0
  435. package/vendor/translators-official/Library Catalog (TinREAD).js +277 -0
  436. package/vendor/translators-official/Library Catalog (VTLS).js +125 -0
  437. package/vendor/translators-official/Library Catalog (Visual Library 2021).js +765 -0
  438. package/vendor/translators-official/Library Catalog (Voyager 7).js +199 -0
  439. package/vendor/translators-official/Library Catalog (Voyager).js +212 -0
  440. package/vendor/translators-official/Library Genesis.js +337 -0
  441. package/vendor/translators-official/Library Hub Discover.js +359 -0
  442. package/vendor/translators-official/Library of Congress Digital Collections.js +869 -0
  443. package/vendor/translators-official/Library of Congress ISBN.js +86 -0
  444. package/vendor/translators-official/LingBuzz.js +359 -0
  445. package/vendor/translators-official/Lippincott Williams and Wilkins.js +341 -0
  446. package/vendor/translators-official/Literary Hub.js +950 -0
  447. package/vendor/translators-official/Litres.js +236 -0
  448. package/vendor/translators-official/LiveJournal.js +219 -0
  449. package/vendor/translators-official/London Review of Books.js +291 -0
  450. package/vendor/translators-official/LookUs.js +260 -0
  451. package/vendor/translators-official/Lulu.js +264 -0
  452. package/vendor/translators-official/MAB2.js +373 -0
  453. package/vendor/translators-official/MARC.js +1080 -0
  454. package/vendor/translators-official/MARCXML.js +489 -0
  455. package/vendor/translators-official/MCV.js +258 -0
  456. package/vendor/translators-official/MDPI Journals.js +356 -0
  457. package/vendor/translators-official/MEDLINEnbib.js +1561 -0
  458. package/vendor/translators-official/METS.js +384 -0
  459. package/vendor/translators-official/MIDAS Journals.js +343 -0
  460. package/vendor/translators-official/MIT Press Books.js +637 -0
  461. package/vendor/translators-official/MODS.js +2545 -0
  462. package/vendor/translators-official/MPG PuRe.js +541 -0
  463. package/vendor/translators-official/Mailman.js +136 -0
  464. package/vendor/translators-official/Mainichi Daily News.js +189 -0
  465. package/vendor/translators-official/Mastodon.js +198 -0
  466. package/vendor/translators-official/Matbugat.ru.js +110 -0
  467. package/vendor/translators-official/Max Planck Institute for the History of Science Virtual Laboratory Library.js +136 -0
  468. package/vendor/translators-official/Medium.js +208 -0
  469. package/vendor/translators-official/MetaLib.js +126 -0
  470. package/vendor/translators-official/Microbiology Society Journals.js +343 -0
  471. package/vendor/translators-official/Microsoft Academic.js +424 -0
  472. package/vendor/translators-official/Mikromarc.js +207 -0
  473. package/vendor/translators-official/Milli Kutuphane.js +244 -0
  474. package/vendor/translators-official/Musee du Louvre.js +265 -0
  475. package/vendor/translators-official/NASA ADS.js +889 -0
  476. package/vendor/translators-official/NASA NTRS.js +610 -0
  477. package/vendor/translators-official/NCBI Nucleotide.js +227 -0
  478. package/vendor/translators-official/NPR.js +341 -0
  479. package/vendor/translators-official/NRC Research Press.js +181 -0
  480. package/vendor/translators-official/NRC.nl.js +226 -0
  481. package/vendor/translators-official/NTSB Accident Reports.js +226 -0
  482. package/vendor/translators-official/NYPL Menus.js +275 -0
  483. package/vendor/translators-official/NYPL Research Catalog.js +458 -0
  484. package/vendor/translators-official/NYTimes.com.js +947 -0
  485. package/vendor/translators-official/NZZ.ch.js +272 -0
  486. package/vendor/translators-official/Nagoya University OPAC.js +336 -0
  487. package/vendor/translators-official/National Academies Press.js +243 -0
  488. package/vendor/translators-official/National Agriculture Library.js +524 -0
  489. package/vendor/translators-official/National Archives UK Case Law.js +509 -0
  490. package/vendor/translators-official/National Archives of Australia.js +522 -0
  491. package/vendor/translators-official/National Archives of South Africa.js +122 -0
  492. package/vendor/translators-official/National Bureau of Economic Research.js +363 -0
  493. package/vendor/translators-official/National Diet Library Catalogue.js +333 -0
  494. package/vendor/translators-official/National Gallery of Art - USA.js +149 -0
  495. package/vendor/translators-official/National Gallery of Australia.js +252 -0
  496. package/vendor/translators-official/National Library of Australia (new catalog).js +223 -0
  497. package/vendor/translators-official/National Library of Belarus.js +171 -0
  498. package/vendor/translators-official/National Library of Norway.js +310 -0
  499. package/vendor/translators-official/National Library of Poland ISBN.js +140 -0
  500. package/vendor/translators-official/National Post.js +186 -0
  501. package/vendor/translators-official/National Technical Reports Library.js +276 -0
  502. package/vendor/translators-official/National Transportation Library ROSA P.js +562 -0
  503. package/vendor/translators-official/Nature Publishing Group.js +3394 -0
  504. package/vendor/translators-official/Neural Information Processing Systems.js +385 -0
  505. package/vendor/translators-official/New Left Review.js +245 -0
  506. package/vendor/translators-official/New Zealand Herald.js +282 -0
  507. package/vendor/translators-official/Newlines Magazine.js +190 -0
  508. package/vendor/translators-official/News Corp Australia.js +251 -0
  509. package/vendor/translators-official/NewsBank.js +202 -0
  510. package/vendor/translators-official/NewsnetTamedia.js +509 -0
  511. package/vendor/translators-official/Noor Digital Library.js +267 -0
  512. package/vendor/translators-official/Note HTML.js +206 -0
  513. package/vendor/translators-official/Note Markdown.js +1638 -0
  514. package/vendor/translators-official/Notre Dame Philosophical Reviews.js +201 -0
  515. package/vendor/translators-official/OAPEN.js +331 -0
  516. package/vendor/translators-official/OCLC WorldCat FirstSearch.js +213 -0
  517. package/vendor/translators-official/OECD.js +216 -0
  518. package/vendor/translators-official/ORCID.js +104 -0
  519. package/vendor/translators-official/OSF Preprints.js +1287 -0
  520. package/vendor/translators-official/OSTI Energy Citations.js +202 -0
  521. package/vendor/translators-official/OVID Tagged.js +1226 -0
  522. package/vendor/translators-official/OZON.ru.js +465 -0
  523. package/vendor/translators-official/OhioLINK.js +43 -0
  524. package/vendor/translators-official/Old Bailey Online.js +315 -0
  525. package/vendor/translators-official/Open Conf.js +172 -0
  526. package/vendor/translators-official/Open Knowledge Repository.js +811 -0
  527. package/vendor/translators-official/Open WorldCat.js +1394 -0
  528. package/vendor/translators-official/OpenAlex JSON.js +740 -0
  529. package/vendor/translators-official/OpenAlex.js +444 -0
  530. package/vendor/translators-official/OpenEdition Books.js +155 -0
  531. package/vendor/translators-official/OpenEdition Journals.js +432 -0
  532. package/vendor/translators-official/Optical Society of America.js +562 -0
  533. package/vendor/translators-official/Optimization Online.js +418 -0
  534. package/vendor/translators-official/Ovid OCE.js +353 -0
  535. package/vendor/translators-official/Ovid.js +302 -0
  536. package/vendor/translators-official/Oxford Dictionaries Premium.js +194 -0
  537. package/vendor/translators-official/Oxford English Dictionary.js +122 -0
  538. package/vendor/translators-official/Oxford Music and Art Online.js +120 -0
  539. package/vendor/translators-official/Oxford Reference.js +202 -0
  540. package/vendor/translators-official/Oxford University Press.js +277 -0
  541. package/vendor/translators-official/PC Gamer.js +302 -0
  542. package/vendor/translators-official/PC Games.js +128 -0
  543. package/vendor/translators-official/PEI Archival Information Network.js +242 -0
  544. package/vendor/translators-official/PEP Web.js +165 -0
  545. package/vendor/translators-official/PKP Catalog Systems.js +1455 -0
  546. package/vendor/translators-official/PLoS Journals.js +284 -0
  547. package/vendor/translators-official/PRC History Review.js +298 -0
  548. package/vendor/translators-official/Pajhwok Afghan News.js +198 -0
  549. package/vendor/translators-official/Papers Past.js +509 -0
  550. package/vendor/translators-official/Paris Review.js +227 -0
  551. package/vendor/translators-official/Pastebin.js +199 -0
  552. package/vendor/translators-official/Patents - USPTO.js +210 -0
  553. package/vendor/translators-official/Peeters.js +587 -0
  554. package/vendor/translators-official/Perceiving Systems.js +350 -0
  555. package/vendor/translators-official/Perlego.js +416 -0
  556. package/vendor/translators-official/PhilPapers.js +233 -0
  557. package/vendor/translators-official/Philosopher's Imprint.js +169 -0
  558. package/vendor/translators-official/Pleade.js +329 -0
  559. package/vendor/translators-official/Polygon.js +270 -0
  560. package/vendor/translators-official/Potsdamer Neueste Nachrichten.js +188 -0
  561. package/vendor/translators-official/Premium Times.js +144 -0
  562. package/vendor/translators-official/Preprints.org.js +305 -0
  563. package/vendor/translators-official/Prime 9ja Online.js +402 -0
  564. package/vendor/translators-official/Primo 2018.js +126 -0
  565. package/vendor/translators-official/Primo Normalized XML.js +1075 -0
  566. package/vendor/translators-official/Primo.js +322 -0
  567. package/vendor/translators-official/ProMED.js +66 -0
  568. package/vendor/translators-official/ProQuest Ebook Central.js +226 -0
  569. package/vendor/translators-official/ProQuest PolicyFile.js +115 -0
  570. package/vendor/translators-official/ProQuest.js +2210 -0
  571. package/vendor/translators-official/Probing the Past.js +151 -0
  572. package/vendor/translators-official/Project Gutenberg.js +191 -0
  573. package/vendor/translators-official/Project MUSE.js +451 -0
  574. package/vendor/translators-official/Protein Data Bank.js +445 -0
  575. package/vendor/translators-official/PubFactory Journals.js +712 -0
  576. package/vendor/translators-official/PubMed Central.js +563 -0
  577. package/vendor/translators-official/PubMed XML.js +1240 -0
  578. package/vendor/translators-official/PubMed.js +1317 -0
  579. package/vendor/translators-official/PubPub.js +530 -0
  580. package/vendor/translators-official/Public Record Office Victoria.js +252 -0
  581. package/vendor/translators-official/Publications Office of the European Union.js +540 -0
  582. package/vendor/translators-official/Publications du Quebec.js +225 -0
  583. package/vendor/translators-official/PyPI.js +288 -0
  584. package/vendor/translators-official/Qatar Digital Library.js +802 -0
  585. package/vendor/translators-official/Queensland State Archives.js +303 -0
  586. package/vendor/translators-official/R-Packages.js +410 -0
  587. package/vendor/translators-official/RAND.js +283 -0
  588. package/vendor/translators-official/RDF.js +1782 -0
  589. package/vendor/translators-official/REDALYC.js +196 -0
  590. package/vendor/translators-official/RIS.js +7292 -0
  591. package/vendor/translators-official/RSC Publishing.js +250 -0
  592. package/vendor/translators-official/Radio Free Europe Radio Liberty.js +706 -0
  593. package/vendor/translators-official/RePEc - Econpapers.js +725 -0
  594. package/vendor/translators-official/RePEc - IDEAS.js +337 -0
  595. package/vendor/translators-official/Rechtspraak.nl.js +295 -0
  596. package/vendor/translators-official/RefWorks Tagged.js +1185 -0
  597. package/vendor/translators-official/ReferBibIX.js +463 -0
  598. package/vendor/translators-official/Regeringskansliet.js +89 -0
  599. package/vendor/translators-official/Research Square.js +335 -0
  600. package/vendor/translators-official/ResearchGate.js +394 -0
  601. package/vendor/translators-official/Retsinformation.js +348 -0
  602. package/vendor/translators-official/Reuters.js +255 -0
  603. package/vendor/translators-official/Rock, Paper, Shotgun.js +304 -0
  604. package/vendor/translators-official/Roll Call.js +173 -0
  605. package/vendor/translators-official/Russian State Library.js +1517 -0
  606. package/vendor/translators-official/SAE Papers.js +241 -0
  607. package/vendor/translators-official/SAGE Journals.js +429 -0
  608. package/vendor/translators-official/SAGE Knowledge.js +505 -0
  609. package/vendor/translators-official/SAILDART.js +364 -0
  610. package/vendor/translators-official/SALT Research Archives.js +196 -0
  611. package/vendor/translators-official/SFU IPinCH.js +946 -0
  612. package/vendor/translators-official/SIPRI.js +256 -0
  613. package/vendor/translators-official/SIRS Knowledge Source.js +546 -0
  614. package/vendor/translators-official/SLUB Dresden.js +300 -0
  615. package/vendor/translators-official/SORA.js +340 -0
  616. package/vendor/translators-official/SSOAR.js +399 -0
  617. package/vendor/translators-official/SSRN.js +235 -0
  618. package/vendor/translators-official/SVT Nyheter.js +381 -0
  619. package/vendor/translators-official/Sacramento Bee.js +274 -0
  620. package/vendor/translators-official/Safari Books Online.js +391 -0
  621. package/vendor/translators-official/Scholars Portal Journals.js +220 -0
  622. package/vendor/translators-official/Scholia.js +189 -0
  623. package/vendor/translators-official/Schweizer Radio und Fernsehen SRF.js +152 -0
  624. package/vendor/translators-official/SciELO.js +440 -0
  625. package/vendor/translators-official/ScienceDirect.js +1306 -0
  626. package/vendor/translators-official/Scopus.js +418 -0
  627. package/vendor/translators-official/Semantic Scholar.js +513 -0
  628. package/vendor/translators-official/Silverchair.js +886 -0
  629. package/vendor/translators-official/Slate.js +228 -0
  630. package/vendor/translators-official/SlideShare.js +112 -0
  631. package/vendor/translators-official/Springer Link.js +696 -0
  632. package/vendor/translators-official/Stack Exchange.js +134 -0
  633. package/vendor/translators-official/Standard Ebooks.js +198 -0
  634. package/vendor/translators-official/Stanford Encyclopedia of Philosophy.js +285 -0
  635. package/vendor/translators-official/Stanford University Press.js +343 -0
  636. package/vendor/translators-official/State Records Office of Western Australia.js +439 -0
  637. package/vendor/translators-official/Stitcher.js +141 -0
  638. package/vendor/translators-official/Store norske leksikon.js +291 -0
  639. package/vendor/translators-official/Stuff.co.nz.js +446 -0
  640. package/vendor/translators-official/Substack.js +237 -0
  641. package/vendor/translators-official/Sud Ouest.js +181 -0
  642. package/vendor/translators-official/Sueddeutsche.de.js +205 -0
  643. package/vendor/translators-official/Summon 2.js +117 -0
  644. package/vendor/translators-official/Superlib.js +647 -0
  645. package/vendor/translators-official/Svenska Dagbladet.js +274 -0
  646. package/vendor/translators-official/Sveriges radio.js +416 -0
  647. package/vendor/translators-official/TEI.js +648 -0
  648. package/vendor/translators-official/TV by the Numbers.js +194 -0
  649. package/vendor/translators-official/TVNZ.js +165 -0
  650. package/vendor/translators-official/Tagesspiegel.js +249 -0
  651. package/vendor/translators-official/Talis Aspire.js +316 -0
  652. package/vendor/translators-official/TalisPrism.js +445 -0
  653. package/vendor/translators-official/Tatknigafund.js +174 -0
  654. package/vendor/translators-official/Tatpressa.ru.js +121 -0
  655. package/vendor/translators-official/Taylor & Francis eBooks.js +334 -0
  656. package/vendor/translators-official/Taylor and Francis+NEJM.js +813 -0
  657. package/vendor/translators-official/Tesis Doctorals en Xarxa.js +233 -0
  658. package/vendor/translators-official/The Art Newspaper.js +268 -0
  659. package/vendor/translators-official/The Atlantic.js +535 -0
  660. package/vendor/translators-official/The Boston Globe.js +285 -0
  661. package/vendor/translators-official/The Chronicle of Higher Education.js +308 -0
  662. package/vendor/translators-official/The Daily Beast.js +183 -0
  663. package/vendor/translators-official/The Economic Times - The Times of India.js +305 -0
  664. package/vendor/translators-official/The Economist.js +207 -0
  665. package/vendor/translators-official/The Free Dictionary.js +58 -0
  666. package/vendor/translators-official/The Globe and Mail.js +241 -0
  667. package/vendor/translators-official/The Guardian.js +717 -0
  668. package/vendor/translators-official/The Hamilton Spectator.js +129 -0
  669. package/vendor/translators-official/The Hindu.js +318 -0
  670. package/vendor/translators-official/The Independent.js +184 -0
  671. package/vendor/translators-official/The Intercept.js +258 -0
  672. package/vendor/translators-official/The Met.js +276 -0
  673. package/vendor/translators-official/The Microfinance Gateway.js +174 -0
  674. package/vendor/translators-official/The Nation.js +188 -0
  675. package/vendor/translators-official/The National Archives (UK).js +242 -0
  676. package/vendor/translators-official/The New Republic.js +160 -0
  677. package/vendor/translators-official/The New York Review of Books.js +467 -0
  678. package/vendor/translators-official/The New Yorker.js +360 -0
  679. package/vendor/translators-official/The Open Library.js +220 -0
  680. package/vendor/translators-official/The Straits Times.js +528 -0
  681. package/vendor/translators-official/The Telegraph.js +337 -0
  682. package/vendor/translators-official/The Times and Sunday Times.js +180 -0
  683. package/vendor/translators-official/The Times of Israel.js +151 -0
  684. package/vendor/translators-official/TheMarker.js +108 -0
  685. package/vendor/translators-official/Theory of Computing.js +488 -0
  686. package/vendor/translators-official/ThesesFR.js +405 -0
  687. package/vendor/translators-official/Thieme.js +326 -0
  688. package/vendor/translators-official/Time.com.js +557 -0
  689. package/vendor/translators-official/TimesMachine.js +222 -0
  690. package/vendor/translators-official/Tony Blair Institute for Global Change.js +195 -0
  691. package/vendor/translators-official/Toronto Star.js +298 -0
  692. package/vendor/translators-official/Transportation Research Board.js +253 -0
  693. package/vendor/translators-official/Treesearch.js +535 -0
  694. package/vendor/translators-official/Trove.js +616 -0
  695. package/vendor/translators-official/Tumblr.js +179 -0
  696. package/vendor/translators-official/Twitter.js +413 -0
  697. package/vendor/translators-official/UChicago VuFind.js +907 -0
  698. package/vendor/translators-official/UNZ Print Archive.js +276 -0
  699. package/vendor/translators-official/UPCommons.js +227 -0
  700. package/vendor/translators-official/US National Archives Research Catalog.js +275 -0
  701. package/vendor/translators-official/USENIX.js +151 -0
  702. package/vendor/translators-official/Ubiquity Journals.js +228 -0
  703. package/vendor/translators-official/University Press Scholarship.js +301 -0
  704. package/vendor/translators-official/University of California Press Books.js +403 -0
  705. package/vendor/translators-official/University of Chicago Press Books.js +378 -0
  706. package/vendor/translators-official/University of Wisconsin-Madison Libraries Catalog.js +298 -0
  707. package/vendor/translators-official/Unqualified Dublin Core RDF.js +153 -0
  708. package/vendor/translators-official/UpToDate References.js +203 -0
  709. package/vendor/translators-official/Vanity Fair.js +242 -0
  710. package/vendor/translators-official/Verniana-Jules Verne Studies.js +190 -0
  711. package/vendor/translators-official/Verso Books.js +311 -0
  712. package/vendor/translators-official/Vice.js +445 -0
  713. package/vendor/translators-official/Victoria & Albert Museum.js +277 -0
  714. package/vendor/translators-official/Vimeo.js +188 -0
  715. package/vendor/translators-official/VoxEU.js +151 -0
  716. package/vendor/translators-official/WHO.js +458 -0
  717. package/vendor/translators-official/WIPO.js +189 -0
  718. package/vendor/translators-official/Wall Street Journal.js +809 -0
  719. package/vendor/translators-official/Wanfang Data.js +310 -0
  720. package/vendor/translators-official/Washington Monthly.js +195 -0
  721. package/vendor/translators-official/Washington Post.js +447 -0
  722. package/vendor/translators-official/Web of Science Nextgen.js +832 -0
  723. package/vendor/translators-official/Web of Science Tagged.js +1247 -0
  724. package/vendor/translators-official/Web of Science.js +228 -0
  725. package/vendor/translators-official/Welt Online.js +161 -0
  726. package/vendor/translators-official/WestLaw UK.js +190 -0
  727. package/vendor/translators-official/WikiLeaks PlusD.js +182 -0
  728. package/vendor/translators-official/Wikidata QuickStatements.js +324 -0
  729. package/vendor/translators-official/Wikidata.js +911 -0
  730. package/vendor/translators-official/Wikimedia Commons.js +285 -0
  731. package/vendor/translators-official/Wikipedia Citation Templates.js +432 -0
  732. package/vendor/translators-official/Wikipedia.js +385 -0
  733. package/vendor/translators-official/Wikisource.js +399 -0
  734. package/vendor/translators-official/Wikiwand.js +122 -0
  735. package/vendor/translators-official/Wiktionary.js +141 -0
  736. package/vendor/translators-official/Wildlife Biology in Practice.js +172 -0
  737. package/vendor/translators-official/Wiley Online Library.js +1412 -0
  738. package/vendor/translators-official/Wilson Center Digital Archive.js +321 -0
  739. package/vendor/translators-official/Winnipeg Free Press.js +204 -0
  740. package/vendor/translators-official/Wired.js +362 -0
  741. package/vendor/translators-official/Womennews.js +230 -0
  742. package/vendor/translators-official/World Digital Library.js +403 -0
  743. package/vendor/translators-official/World History Connected.js +185 -0
  744. package/vendor/translators-official/World Shakespeare Bibliography Online.js +595 -0
  745. package/vendor/translators-official/WorldCat Discovery Service.js +630 -0
  746. package/vendor/translators-official/XML ContextObject.js +274 -0
  747. package/vendor/translators-official/YPSF.js +224 -0
  748. package/vendor/translators-official/Yandex Books.js +265 -0
  749. package/vendor/translators-official/Ynet.js +171 -0
  750. package/vendor/translators-official/YouTube.js +209 -0
  751. package/vendor/translators-official/ZIPonline.js +267 -0
  752. package/vendor/translators-official/ZOBODAT.js +341 -0
  753. package/vendor/translators-official/Zotero RDF.js +588 -0
  754. package/vendor/translators-official/ZoteroBib.js +94 -0
  755. package/vendor/translators-official/arXiv.org.js +1100 -0
  756. package/vendor/translators-official/artnet.js +207 -0
  757. package/vendor/translators-official/beck-online.js +1339 -0
  758. package/vendor/translators-official/clinicaltrials.gov.js +331 -0
  759. package/vendor/translators-official/dLibra.js +367 -0
  760. package/vendor/translators-official/dejure.org.js +242 -0
  761. package/vendor/translators-official/dhistory.js +103 -0
  762. package/vendor/translators-official/digibib.net.js +245 -0
  763. package/vendor/translators-official/eLibrary.ru.js +867 -0
  764. package/vendor/translators-official/eLife.js +462 -0
  765. package/vendor/translators-official/eMJA.js +246 -0
  766. package/vendor/translators-official/eMedicine.js +123 -0
  767. package/vendor/translators-official/ePrint IACR.js +608 -0
  768. package/vendor/translators-official/ebrary.js +140 -0
  769. package/vendor/translators-official/etatar.ru.js +104 -0
  770. package/vendor/translators-official/feb-web.ru.js +167 -0
  771. package/vendor/translators-official/fishpond.co.nz.js +224 -0
  772. package/vendor/translators-official/fr-online.de.js +209 -0
  773. package/vendor/translators-official/govinfo.js +189 -0
  774. package/vendor/translators-official/informIT database.js +248 -0
  775. package/vendor/translators-official/io-port.js +68 -0
  776. package/vendor/translators-official/jurion.js +377 -0
  777. package/vendor/translators-official/mEDRA.js +597 -0
  778. package/vendor/translators-official/magazines.russ.ru.js +120 -0
  779. package/vendor/translators-official/medes.js +284 -0
  780. package/vendor/translators-official/newshub.co.nz.js +206 -0
  781. package/vendor/translators-official/newspapers.com.js +335 -0
  782. package/vendor/translators-official/openJur.js +161 -0
  783. package/vendor/translators-official/reddit.js +275 -0
  784. package/vendor/translators-official/sbn.it.js +186 -0
  785. package/vendor/translators-official/scinapse.js +273 -0
  786. package/vendor/translators-official/semantics Visual Library.js +643 -0
  787. package/vendor/translators-official/taz.de.js +200 -0
  788. package/vendor/translators-official/unAPI.js +481 -0
  789. package/vendor/translators-official/wiso.js +314 -0
  790. package/vendor/translators-official/zbMATH.js +278 -0
  791. package/vendor/translators-official/zotero.org.js +311 -0
  792. package/vendor/translators_CN/Angle.js +468 -0
  793. package/vendor/translators_CN/Baidu Baike.js +152 -0
  794. package/vendor/translators_CN/Baidu Scholar.js +639 -0
  795. package/vendor/translators_CN/Belt and Road Database.js +496 -0
  796. package/vendor/translators_CN/BiliBili.js +776 -0
  797. package/vendor/translators_CN/CCPINFO.js +416 -0
  798. package/vendor/translators_CN/CHINESE JOURNAL OF LAW.js +169 -0
  799. package/vendor/translators_CN/CNBKSY.js +385 -0
  800. package/vendor/translators_CN/CNKI CHKD.js +692 -0
  801. package/vendor/translators_CN/CNKI Gongjushu.js +271 -0
  802. package/vendor/translators_CN/CNKI Industry.js +726 -0
  803. package/vendor/translators_CN/CNKI Law.js +842 -0
  804. package/vendor/translators_CN/CNKI RefWorks.js +826 -0
  805. package/vendor/translators_CN/CNKI Refer.js +811 -0
  806. package/vendor/translators_CN/CNKI Scholar.js +656 -0
  807. package/vendor/translators_CN/CNKI TIKS.js +1028 -0
  808. package/vendor/translators_CN/CNKI e-Books.js +309 -0
  809. package/vendor/translators_CN/CNKI thinker.js +274 -0
  810. package/vendor/translators_CN/CNKI.js +2381 -0
  811. package/vendor/translators_CN/CNSDA.js +382 -0
  812. package/vendor/translators_CN/CQVIP Knowledge.js +969 -0
  813. package/vendor/translators_CN/CQVIP Qikan.js +418 -0
  814. package/vendor/translators_CN/CQVIP.js +686 -0
  815. package/vendor/translators_CN/CSDN.js +153 -0
  816. package/vendor/translators_CN/China Judgements Online.js +282 -0
  817. package/vendor/translators_CN/China Social Science Library.js +533 -0
  818. package/vendor/translators_CN/ChinaXiv.js +375 -0
  819. package/vendor/translators_CN/Cubox.js +246 -0
  820. package/vendor/translators_CN/Dangdang.js +176 -0
  821. package/vendor/translators_CN/Douban.js +984 -0
  822. package/vendor/translators_CN/Duxiu.js +746 -0
  823. package/vendor/translators_CN/E-Tiller.js +555 -0
  824. package/vendor/translators_CN/Encyclopedia of China 3rd.js +177 -0
  825. package/vendor/translators_CN/Founder.js +483 -0
  826. package/vendor/translators_CN/GFSOSO.js +694 -0
  827. package/vendor/translators_CN/Jd.js +235 -0
  828. package/vendor/translators_CN/Jikan Full Text Database.js +188 -0
  829. package/vendor/translators_CN/KouShare.js +139 -0
  830. package/vendor/translators_CN/LICENSE +661 -0
  831. package/vendor/translators_CN/Lawbank.js +818 -0
  832. package/vendor/translators_CN/MagTech.js +473 -0
  833. package/vendor/translators_CN/Modern History.js +788 -0
  834. package/vendor/translators_CN/NDLTD.js +404 -0
  835. package/vendor/translators_CN/NTU Digital Library of Buddhist Studies.js +957 -0
  836. package/vendor/translators_CN/National Public Service Platform for Standards Information - China.js +348 -0
  837. package/vendor/translators_CN/National Science and Technology Library - China.js +646 -0
  838. package/vendor/translators_CN/National Science and Technology Report Service - China.js +271 -0
  839. package/vendor/translators_CN/National Standards Open System - China.js +296 -0
  840. package/vendor/translators_CN/Ncpssd.js +555 -0
  841. package/vendor/translators_CN/PKULaw.js +1123 -0
  842. package/vendor/translators_CN/PatentStar.js +386 -0
  843. package/vendor/translators_CN/People's Daily Database.js +186 -0
  844. package/vendor/translators_CN/People's Daily Epaper.js +279 -0
  845. package/vendor/translators_CN/People's Daily Online.js +292 -0
  846. package/vendor/translators_CN/Pishu Database.js +383 -0
  847. package/vendor/translators_CN/ProQuestCN Thesis.js +329 -0
  848. package/vendor/translators_CN/Pss-System.js +199 -0
  849. package/vendor/translators_CN/PubScholar.js +588 -0
  850. package/vendor/translators_CN/Publications Data Center - China.js +1119 -0
  851. package/vendor/translators_CN/QStheory.js +251 -0
  852. package/vendor/translators_CN/RDFYBK.js +396 -0
  853. package/vendor/translators_CN/README.md +42 -0
  854. package/vendor/translators_CN/RHHZ.js +383 -0
  855. package/vendor/translators_CN/Rural Studies Database.js +402 -0
  856. package/vendor/translators_CN/SKCTK.js +177 -0
  857. package/vendor/translators_CN/Samson.js +768 -0
  858. package/vendor/translators_CN/SciEngine.js +450 -0
  859. package/vendor/translators_CN/Science Reading.js +338 -0
  860. package/vendor/translators_CN/Sina Weibo.js +254 -0
  861. package/vendor/translators_CN/Soopat.js +427 -0
  862. package/vendor/translators_CN/Spc.org.cn.js +275 -0
  863. package/vendor/translators_CN/Standard Full-text Database - NLC.js +230 -0
  864. package/vendor/translators_CN/SuperLib.js +757 -0
  865. package/vendor/translators_CN/TOAJ.js +422 -0
  866. package/vendor/translators_CN/Wanfang Data.js +3433 -0
  867. package/vendor/translators_CN/Wanfang Med.js +671 -0
  868. package/vendor/translators_CN/Web of Science Tagged.js +1341 -0
  869. package/vendor/translators_CN/Weixin.js +130 -0
  870. package/vendor/translators_CN/Wenjin.js +492 -0
  871. package/vendor/translators_CN/Xinhuanet.js +283 -0
  872. package/vendor/translators_CN/Yiigle.js +394 -0
  873. package/vendor/translators_CN/Zhihu.js +530 -0
  874. package/vendor/translators_CN/Zhihuiya.js +246 -0
  875. package/vendor/translators_CN/Zhizhen.js +869 -0
  876. package/vendor/translators_CN/chaoxingqikan.js +360 -0
  877. package/vendor/translators_CN/doc.taixueshu.js +355 -0
  878. package/vendor/translators_CN/dpaper.js +183 -0
  879. package/vendor/translators_CN/epaper.gmw.cn.js +286 -0
  880. package/vendor/translators_CN/flk.npc.gov.cn.js +344 -0
  881. package/vendor/translators_CN/gov.cn Policy.js +559 -0
  882. package/vendor/translators_CN/incoPat.js +195 -0
  883. package/vendor/translators_CN/pm.tsgyun.js +177 -0
  884. package/vendor/translators_CN/sanmin.com.tw.js +327 -0
  885. package/vendor/translators_CN/sharing.com.tw.js +333 -0
  886. package/vendor/translators_CN/stats.gov.cn.js +170 -0
  887. package/vendor/translators_CN/xiaoyuzhoufm.js +162 -0
  888. package/vendor/translators_CN/zhangqiaokeyan.js +1130 -0
  889. package/vendor/zotero/README.md +120 -0
  890. package/vendor/zotero/config/custom-environment-variables.json +3 -0
  891. package/vendor/zotero/config/default.json5 +16 -0
  892. package/vendor/zotero/config/production.json5 +7 -0
  893. package/vendor/zotero/config/test.json5 +4 -0
  894. package/vendor/zotero/modules/translate/README.md +43 -0
  895. package/vendor/zotero/modules/translate/src/debug.js +186 -0
  896. package/vendor/zotero/modules/translate/src/http.js +158 -0
  897. package/vendor/zotero/modules/translate/src/promise.js +73 -0
  898. package/vendor/zotero/modules/translate/src/proxy.js +354 -0
  899. package/vendor/zotero/modules/translate/src/rdf/identity.js +503 -0
  900. package/vendor/zotero/modules/translate/src/rdf/init.js +56 -0
  901. package/vendor/zotero/modules/translate/src/rdf/n3parser.js +1392 -0
  902. package/vendor/zotero/modules/translate/src/rdf/rdfparser.js +578 -0
  903. package/vendor/zotero/modules/translate/src/rdf/serialize.js +886 -0
  904. package/vendor/zotero/modules/translate/src/rdf/term.js +524 -0
  905. package/vendor/zotero/modules/translate/src/rdf/uri.js +147 -0
  906. package/vendor/zotero/modules/translate/src/repo.js +80 -0
  907. package/vendor/zotero/modules/translate/src/tlds.js +274 -0
  908. package/vendor/zotero/modules/translate/src/translation/sandboxManager.js +112 -0
  909. package/vendor/zotero/modules/translate/src/translation/translate.js +3283 -0
  910. package/vendor/zotero/modules/translate/src/translation/translate_item.js +120 -0
  911. package/vendor/zotero/modules/translate/src/translator.js +186 -0
  912. package/vendor/zotero/modules/translate/src/translators.js +174 -0
  913. package/vendor/zotero/modules/translate/src/utilities_translate.js +487 -0
  914. package/vendor/zotero/modules/translate/src/zotero.js +94 -0
  915. package/vendor/zotero/modules/translators/A Contra Corriente.js +206 -0
  916. package/vendor/zotero/modules/translators/ABC News Australia.js +224 -0
  917. package/vendor/zotero/modules/translators/ACLS Humanities EBook.js +165 -0
  918. package/vendor/zotero/modules/translators/ACLWeb.js +600 -0
  919. package/vendor/zotero/modules/translators/ACM Digital Library.js +710 -0
  920. package/vendor/zotero/modules/translators/ACS Publications.js +633 -0
  921. package/vendor/zotero/modules/translators/ADS Bibcode.js +664 -0
  922. package/vendor/zotero/modules/translators/AEA Web.js +450 -0
  923. package/vendor/zotero/modules/translators/AGRIS.js +311 -0
  924. package/vendor/zotero/modules/translators/AIP.js +295 -0
  925. package/vendor/zotero/modules/translators/AMS Journals.js +136 -0
  926. package/vendor/zotero/modules/translators/AMS MathSciNet (Legacy).js +313 -0
  927. package/vendor/zotero/modules/translators/AMS MathSciNet.js +288 -0
  928. package/vendor/zotero/modules/translators/APA PsycNET.js +915 -0
  929. package/vendor/zotero/modules/translators/APN.ru.js +132 -0
  930. package/vendor/zotero/modules/translators/APS-Physics.js +204 -0
  931. package/vendor/zotero/modules/translators/APS.js +542 -0
  932. package/vendor/zotero/modules/translators/ARTFL Encyclopedie.js +283 -0
  933. package/vendor/zotero/modules/translators/ARTnews.js +155 -0
  934. package/vendor/zotero/modules/translators/ARTstor.js +619 -0
  935. package/vendor/zotero/modules/translators/ASCE.js +199 -0
  936. package/vendor/zotero/modules/translators/ASCO Meeting Library.js +153 -0
  937. package/vendor/zotero/modules/translators/ASTIS.js +337 -0
  938. package/vendor/zotero/modules/translators/ATS International Journal.js +290 -0
  939. package/vendor/zotero/modules/translators/Access Engineering.js +384 -0
  940. package/vendor/zotero/modules/translators/Access Medicine.js +343 -0
  941. package/vendor/zotero/modules/translators/Access Science.js +391 -0
  942. package/vendor/zotero/modules/translators/Adam Matthew Digital.js +405 -0
  943. package/vendor/zotero/modules/translators/Agencia del ISBN.js +77 -0
  944. package/vendor/zotero/modules/translators/Ahval News.js +309 -0
  945. package/vendor/zotero/modules/translators/Air University Journals.js +236 -0
  946. package/vendor/zotero/modules/translators/Airiti.js +423 -0
  947. package/vendor/zotero/modules/translators/Alexander Street Press.js +198 -0
  948. package/vendor/zotero/modules/translators/AllAfrica.js +291 -0
  949. package/vendor/zotero/modules/translators/Alsharekh.js +242 -0
  950. package/vendor/zotero/modules/translators/AlterNet.js +134 -0
  951. package/vendor/zotero/modules/translators/Aluka.js +261 -0
  952. package/vendor/zotero/modules/translators/Amazon.js +1043 -0
  953. package/vendor/zotero/modules/translators/American Archive of Public Broadcasting.js +592 -0
  954. package/vendor/zotero/modules/translators/American Institute of Aeronautics and Astronautics.js +210 -0
  955. package/vendor/zotero/modules/translators/American Prospect.js +114 -0
  956. package/vendor/zotero/modules/translators/Ancestry.com US Federal Census.js +164 -0
  957. package/vendor/zotero/modules/translators/Annual Reviews.js +329 -0
  958. package/vendor/zotero/modules/translators/Antikvarium.hu.js +280 -0
  959. package/vendor/zotero/modules/translators/AquaDocs.js +390 -0
  960. package/vendor/zotero/modules/translators/Archeion.js +249 -0
  961. package/vendor/zotero/modules/translators/Archiv fuer Sozialgeschichte.js +157 -0
  962. package/vendor/zotero/modules/translators/Archive Ouverte en Sciences de l'Information et de la Communication (AOSIC).js +179 -0
  963. package/vendor/zotero/modules/translators/Archives Canada.js +142 -0
  964. package/vendor/zotero/modules/translators/Ariana News.js +203 -0
  965. package/vendor/zotero/modules/translators/Art Institute of Chicago.js +279 -0
  966. package/vendor/zotero/modules/translators/Artefacts Canada.js +192 -0
  967. package/vendor/zotero/modules/translators/Artforum.js +438 -0
  968. package/vendor/zotero/modules/translators/Atlanta Journal Constitution.js +155 -0
  969. package/vendor/zotero/modules/translators/Atlanta Journal-Constitution.js +311 -0
  970. package/vendor/zotero/modules/translators/Atypon Journals.js +1204 -0
  971. package/vendor/zotero/modules/translators/AustLII and NZLII.js +604 -0
  972. package/vendor/zotero/modules/translators/Australian Dictionary of Biography.js +196 -0
  973. package/vendor/zotero/modules/translators/BAILII.js +176 -0
  974. package/vendor/zotero/modules/translators/BBC Genome.js +254 -0
  975. package/vendor/zotero/modules/translators/BBC.js +430 -0
  976. package/vendor/zotero/modules/translators/BIBSYS.js +112 -0
  977. package/vendor/zotero/modules/translators/BOCC.js +217 -0
  978. package/vendor/zotero/modules/translators/BOE.js +229 -0
  979. package/vendor/zotero/modules/translators/BOFiP-Impots.js +132 -0
  980. package/vendor/zotero/modules/translators/Baidu Scholar.js +276 -0
  981. package/vendor/zotero/modules/translators/Bangkok Post.js +216 -0
  982. package/vendor/zotero/modules/translators/Baruch Foundation.js +175 -0
  983. package/vendor/zotero/modules/translators/Beobachter.js +175 -0
  984. package/vendor/zotero/modules/translators/Bezneng Gajit.js +92 -0
  985. package/vendor/zotero/modules/translators/BibLaTeX.js +888 -0
  986. package/vendor/zotero/modules/translators/BibTeX.js +4236 -0
  987. package/vendor/zotero/modules/translators/Biblio.com.js +216 -0
  988. package/vendor/zotero/modules/translators/Bibliontology RDF.js +1166 -0
  989. package/vendor/zotero/modules/translators/Biblioteca Nacional de Maestros.js +213 -0
  990. package/vendor/zotero/modules/translators/Bibliotheque et Archives Nationale du Quebec (Pistard).js +147 -0
  991. package/vendor/zotero/modules/translators/Bibliotheque et Archives Nationales du Quebec.js +266 -0
  992. package/vendor/zotero/modules/translators/Bibliotheque nationale de France.js +872 -0
  993. package/vendor/zotero/modules/translators/BioMed Central.js +585 -0
  994. package/vendor/zotero/modules/translators/BioOne.js +233 -0
  995. package/vendor/zotero/modules/translators/Bioconductor.js +343 -0
  996. package/vendor/zotero/modules/translators/Blaetter.js +192 -0
  997. package/vendor/zotero/modules/translators/Blogger.js +244 -0
  998. package/vendor/zotero/modules/translators/Bloomberg.js +205 -0
  999. package/vendor/zotero/modules/translators/Bloomsbury Food Library.js +296 -0
  1000. package/vendor/zotero/modules/translators/Bluesky.js +195 -0
  1001. package/vendor/zotero/modules/translators/BnF ISBN.js +129 -0
  1002. package/vendor/zotero/modules/translators/Bookmarks.js +282 -0
  1003. package/vendor/zotero/modules/translators/Bookshop.org.js +223 -0
  1004. package/vendor/zotero/modules/translators/Boston Review.js +332 -0
  1005. package/vendor/zotero/modules/translators/Bosworth Toller's Anglo-Saxon Dictionary Online.js +496 -0
  1006. package/vendor/zotero/modules/translators/Bracero History Archive.js +200 -0
  1007. package/vendor/zotero/modules/translators/Brill Journals.js +168 -0
  1008. package/vendor/zotero/modules/translators/Brill.js +434 -0
  1009. package/vendor/zotero/modules/translators/Brukerhandboken.js +153 -0
  1010. package/vendor/zotero/modules/translators/Bryn Mawr Classical Review.js +303 -0
  1011. package/vendor/zotero/modules/translators/Bundesgesetzblatt.js +231 -0
  1012. package/vendor/zotero/modules/translators/Business Standard.js +151 -0
  1013. package/vendor/zotero/modules/translators/CABI - CAB Abstracts.js +317 -0
  1014. package/vendor/zotero/modules/translators/CAOD.js +260 -0
  1015. package/vendor/zotero/modules/translators/CBC.js +439 -0
  1016. package/vendor/zotero/modules/translators/CCfr (BnF).js +162 -0
  1017. package/vendor/zotero/modules/translators/CERN Document Server.js +277 -0
  1018. package/vendor/zotero/modules/translators/CEUR Workshop Proceedings.js +145 -0
  1019. package/vendor/zotero/modules/translators/CFF References.js +170 -0
  1020. package/vendor/zotero/modules/translators/CFF.js +113 -0
  1021. package/vendor/zotero/modules/translators/CIA World Factbook.js +128 -0
  1022. package/vendor/zotero/modules/translators/CLACSO.js +226 -0
  1023. package/vendor/zotero/modules/translators/CLASE.js +135 -0
  1024. package/vendor/zotero/modules/translators/CNKI.js +731 -0
  1025. package/vendor/zotero/modules/translators/COBISS.js +1945 -0
  1026. package/vendor/zotero/modules/translators/COinS.js +336 -0
  1027. package/vendor/zotero/modules/translators/CQ Press.js +418 -0
  1028. package/vendor/zotero/modules/translators/CROSBI.js +227 -0
  1029. package/vendor/zotero/modules/translators/CSIRO Publishing.js +139 -0
  1030. package/vendor/zotero/modules/translators/CSL JSON.js +203 -0
  1031. package/vendor/zotero/modules/translators/CSV.js +294 -0
  1032. package/vendor/zotero/modules/translators/Cairn.info.js +368 -0
  1033. package/vendor/zotero/modules/translators/CalMatters.js +228 -0
  1034. package/vendor/zotero/modules/translators/Calisphere.js +355 -0
  1035. package/vendor/zotero/modules/translators/Camara Brasileira do Livro ISBN.js +842 -0
  1036. package/vendor/zotero/modules/translators/Cambridge Core.js +580 -0
  1037. package/vendor/zotero/modules/translators/Cambridge Engage Preprints.js +276 -0
  1038. package/vendor/zotero/modules/translators/CanLII.js +284 -0
  1039. package/vendor/zotero/modules/translators/Canada.com.js +171 -0
  1040. package/vendor/zotero/modules/translators/Canadian Letters and Images.js +148 -0
  1041. package/vendor/zotero/modules/translators/Canadiana.ca.js +196 -0
  1042. package/vendor/zotero/modules/translators/Cascadilla Proceedings Project.js +390 -0
  1043. package/vendor/zotero/modules/translators/Cell Press.js +516 -0
  1044. package/vendor/zotero/modules/translators/Central and Eastern European Online Library Journals.js +313 -0
  1045. package/vendor/zotero/modules/translators/Champlain Society - Collection.js +220 -0
  1046. package/vendor/zotero/modules/translators/Chicago Journal of Theoretical Computer Science.js +203 -0
  1047. package/vendor/zotero/modules/translators/Christian Science Monitor.js +148 -0
  1048. package/vendor/zotero/modules/translators/Chronicling America.js +131 -0
  1049. package/vendor/zotero/modules/translators/CiNii Research.js +168 -0
  1050. package/vendor/zotero/modules/translators/Citavi 5 XML.js +516 -0
  1051. package/vendor/zotero/modules/translators/CiteSeer.js +196 -0
  1052. package/vendor/zotero/modules/translators/CiteULike.js +170 -0
  1053. package/vendor/zotero/modules/translators/Citizen Lab.js +347 -0
  1054. package/vendor/zotero/modules/translators/Civilization.ca.js +146 -0
  1055. package/vendor/zotero/modules/translators/Climate Change and Human Health Literature Portal.js +283 -0
  1056. package/vendor/zotero/modules/translators/Clinical Key.js +367 -0
  1057. package/vendor/zotero/modules/translators/Code4Lib Journal.js +143 -0
  1058. package/vendor/zotero/modules/translators/Colorado State Legislature.js +215 -0
  1059. package/vendor/zotero/modules/translators/Columbia University Press.js +238 -0
  1060. package/vendor/zotero/modules/translators/Common-Place.js +218 -0
  1061. package/vendor/zotero/modules/translators/Computer History Museum Archive.js +1319 -0
  1062. package/vendor/zotero/modules/translators/Copernicus.js +461 -0
  1063. package/vendor/zotero/modules/translators/Cornell LII.js +252 -0
  1064. package/vendor/zotero/modules/translators/Cornell University Press.js +235 -0
  1065. package/vendor/zotero/modules/translators/CourtListener.js +265 -0
  1066. package/vendor/zotero/modules/translators/CrossRef.js +486 -0
  1067. package/vendor/zotero/modules/translators/Crossref REST.js +1757 -0
  1068. package/vendor/zotero/modules/translators/Crossref Unixref XML.js +965 -0
  1069. package/vendor/zotero/modules/translators/Current Affairs.js +160 -0
  1070. package/vendor/zotero/modules/translators/Cyberpresse.js +131 -0
  1071. package/vendor/zotero/modules/translators/DABI.js +476 -0
  1072. package/vendor/zotero/modules/translators/DAI-Zenon.js +392 -0
  1073. package/vendor/zotero/modules/translators/DART-Europe.js +176 -0
  1074. package/vendor/zotero/modules/translators/DBLP Computer Science Bibliography.js +462 -0
  1075. package/vendor/zotero/modules/translators/DBpia.js +233 -0
  1076. package/vendor/zotero/modules/translators/DEPATISnet.js +373 -0
  1077. package/vendor/zotero/modules/translators/DOAJ.js +243 -0
  1078. package/vendor/zotero/modules/translators/DOI Content Negotiation.js +352 -0
  1079. package/vendor/zotero/modules/translators/DOI.js +322 -0
  1080. package/vendor/zotero/modules/translators/DPLA.js +425 -0
  1081. package/vendor/zotero/modules/translators/DSpace Intermediate Metadata.js +208 -0
  1082. package/vendor/zotero/modules/translators/DTU Orbit.js +155 -0
  1083. package/vendor/zotero/modules/translators/Dagens Nyheter.js +369 -0
  1084. package/vendor/zotero/modules/translators/Dagstuhl Research Online Publication Server.js +276 -0
  1085. package/vendor/zotero/modules/translators/Dar Almandumah.js +253 -0
  1086. package/vendor/zotero/modules/translators/Data.gov.js +225 -0
  1087. package/vendor/zotero/modules/translators/DataCite.js +125 -0
  1088. package/vendor/zotero/modules/translators/Databrary.js +184 -0
  1089. package/vendor/zotero/modules/translators/Datacite JSON.js +1182 -0
  1090. package/vendor/zotero/modules/translators/Dataverse.js +418 -0
  1091. package/vendor/zotero/modules/translators/Daum News.js +139 -0
  1092. package/vendor/zotero/modules/translators/De Gruyter Brill.js +674 -0
  1093. package/vendor/zotero/modules/translators/DeGruyter.js +457 -0
  1094. package/vendor/zotero/modules/translators/Defense Technical Information Center.js +146 -0
  1095. package/vendor/zotero/modules/translators/Delpher.js +413 -0
  1096. package/vendor/zotero/modules/translators/Demographic Research.js +164 -0
  1097. package/vendor/zotero/modules/translators/Denik CZ.js +273 -0
  1098. package/vendor/zotero/modules/translators/Der Freitag.js +236 -0
  1099. package/vendor/zotero/modules/translators/Der Spiegel.js +479 -0
  1100. package/vendor/zotero/modules/translators/Desiring God.js +216 -0
  1101. package/vendor/zotero/modules/translators/Deutsche Fotothek.js +364 -0
  1102. package/vendor/zotero/modules/translators/Deutsche Nationalbibliothek.js +594 -0
  1103. package/vendor/zotero/modules/translators/Dialnet.js +258 -0
  1104. package/vendor/zotero/modules/translators/Die Zeit.js +378 -0
  1105. package/vendor/zotero/modules/translators/DigiZeitschriften.js +269 -0
  1106. package/vendor/zotero/modules/translators/Digital Humanities Quarterly.js +207 -0
  1107. package/vendor/zotero/modules/translators/Digital Medievalist.js +149 -0
  1108. package/vendor/zotero/modules/translators/Digital Spy.js +215 -0
  1109. package/vendor/zotero/modules/translators/Dimensions.js +233 -0
  1110. package/vendor/zotero/modules/translators/Douban.js +316 -0
  1111. package/vendor/zotero/modules/translators/Dreier Neuerscheinungsdienst.js +209 -0
  1112. package/vendor/zotero/modules/translators/DrugBank.ca.js +209 -0
  1113. package/vendor/zotero/modules/translators/Dryad Digital Repository.js +323 -0
  1114. package/vendor/zotero/modules/translators/Duke University Press Books.js +250 -0
  1115. package/vendor/zotero/modules/translators/E-periodica Switzerland.js +347 -0
  1116. package/vendor/zotero/modules/translators/EBSCO Discovery Layer.js +147 -0
  1117. package/vendor/zotero/modules/translators/EBSCOhost.js +592 -0
  1118. package/vendor/zotero/modules/translators/EIDR.js +184 -0
  1119. package/vendor/zotero/modules/translators/EPA National Library Catalog.js +245 -0
  1120. package/vendor/zotero/modules/translators/ERIC.js +986 -0
  1121. package/vendor/zotero/modules/translators/ESpacenet.js +465 -0
  1122. package/vendor/zotero/modules/translators/EUR-Lex.js +423 -0
  1123. package/vendor/zotero/modules/translators/Eastview.js +336 -0
  1124. package/vendor/zotero/modules/translators/Edinburgh University Press Journals.js +178 -0
  1125. package/vendor/zotero/modules/translators/Education Week.js +197 -0
  1126. package/vendor/zotero/modules/translators/El Comercio (Peru).js +347 -0
  1127. package/vendor/zotero/modules/translators/El Pais.js +262 -0
  1128. package/vendor/zotero/modules/translators/Electronic Colloquium on Computational Complexity.js +230 -0
  1129. package/vendor/zotero/modules/translators/Elicit.js +120 -0
  1130. package/vendor/zotero/modules/translators/Elsevier Health Journals.js +531 -0
  1131. package/vendor/zotero/modules/translators/Elsevier Pure.js +420 -0
  1132. package/vendor/zotero/modules/translators/Embedded Metadata.js +1951 -0
  1133. package/vendor/zotero/modules/translators/Emerald Insight.js +626 -0
  1134. package/vendor/zotero/modules/translators/Encyclopedia of Chicago.js +162 -0
  1135. package/vendor/zotero/modules/translators/Encyclopedia of Korean Culture.js +221 -0
  1136. package/vendor/zotero/modules/translators/Endnote XML.js +1407 -0
  1137. package/vendor/zotero/modules/translators/Engineering Village.js +139 -0
  1138. package/vendor/zotero/modules/translators/Envidat.js +331 -0
  1139. package/vendor/zotero/modules/translators/Epicurious.js +144 -0
  1140. package/vendor/zotero/modules/translators/Erudit.js +272 -0
  1141. package/vendor/zotero/modules/translators/Euclid.js +220 -0
  1142. package/vendor/zotero/modules/translators/EurasiaNet.js +109 -0
  1143. package/vendor/zotero/modules/translators/Eurogamer.js +112 -0
  1144. package/vendor/zotero/modules/translators/EurogamerUSgamer.js +380 -0
  1145. package/vendor/zotero/modules/translators/Europe PMC.js +448 -0
  1146. package/vendor/zotero/modules/translators/Evernote.js +104 -0
  1147. package/vendor/zotero/modules/translators/F1000 Research.js +655 -0
  1148. package/vendor/zotero/modules/translators/FAO Publications.js +1139 -0
  1149. package/vendor/zotero/modules/translators/FAZ.NET.js +231 -0
  1150. package/vendor/zotero/modules/translators/Fachportal Padagogik.js +839 -0
  1151. package/vendor/zotero/modules/translators/Factiva.js +302 -0
  1152. package/vendor/zotero/modules/translators/Failed Architecture.js +114 -0
  1153. package/vendor/zotero/modules/translators/Fairfax Australia.js +200 -0
  1154. package/vendor/zotero/modules/translators/Fatcat.js +425 -0
  1155. package/vendor/zotero/modules/translators/Figshare.js +191 -0
  1156. package/vendor/zotero/modules/translators/Financial Times.js +187 -0
  1157. package/vendor/zotero/modules/translators/Finna.js +357 -0
  1158. package/vendor/zotero/modules/translators/Flickr.js +318 -0
  1159. package/vendor/zotero/modules/translators/Foreign Affairs.js +485 -0
  1160. package/vendor/zotero/modules/translators/Foreign Policy.js +146 -0
  1161. package/vendor/zotero/modules/translators/FreeCite.js +95 -0
  1162. package/vendor/zotero/modules/translators/FreePatentsOnline.js +265 -0
  1163. package/vendor/zotero/modules/translators/Frieze.js +243 -0
  1164. package/vendor/zotero/modules/translators/Frontiers.js +667 -0
  1165. package/vendor/zotero/modules/translators/GMS German Medical Science.js +319 -0
  1166. package/vendor/zotero/modules/translators/GPO Access e-CFR.js +134 -0
  1167. package/vendor/zotero/modules/translators/Gale Databases.js +324 -0
  1168. package/vendor/zotero/modules/translators/GaleGDC.js +189 -0
  1169. package/vendor/zotero/modules/translators/Galegroup.js +327 -0
  1170. package/vendor/zotero/modules/translators/Gallica.js +194 -0
  1171. package/vendor/zotero/modules/translators/Game Studies.js +155 -0
  1172. package/vendor/zotero/modules/translators/GameSpot.js +199 -0
  1173. package/vendor/zotero/modules/translators/GameStar GamePro.js +198 -0
  1174. package/vendor/zotero/modules/translators/Gasyrlar Awazy.js +156 -0
  1175. package/vendor/zotero/modules/translators/Gemeinsamer Bibliotheksverbund ISBN.js +23 -0
  1176. package/vendor/zotero/modules/translators/Gene Ontology.js +128 -0
  1177. package/vendor/zotero/modules/translators/Github.js +268 -0
  1178. package/vendor/zotero/modules/translators/Globes.js +243 -0
  1179. package/vendor/zotero/modules/translators/Gmail.js +64 -0
  1180. package/vendor/zotero/modules/translators/Goodreads.js +219 -0
  1181. package/vendor/zotero/modules/translators/Google Books.js +552 -0
  1182. package/vendor/zotero/modules/translators/Google Patents.js +959 -0
  1183. package/vendor/zotero/modules/translators/Google Play.js +186 -0
  1184. package/vendor/zotero/modules/translators/Google Presentation.js +104 -0
  1185. package/vendor/zotero/modules/translators/Google Research.js +221 -0
  1186. package/vendor/zotero/modules/translators/Google Scholar.js +1361 -0
  1187. package/vendor/zotero/modules/translators/Gulag Many Days, Many Lives.js +179 -0
  1188. package/vendor/zotero/modules/translators/HAL Archives Ouvertes.js +429 -0
  1189. package/vendor/zotero/modules/translators/HCSP.js +312 -0
  1190. package/vendor/zotero/modules/translators/HUDOC.js +650 -0
  1191. package/vendor/zotero/modules/translators/Haaretz.js +562 -0
  1192. package/vendor/zotero/modules/translators/Habr.js +232 -0
  1193. package/vendor/zotero/modules/translators/Handelszeitung.js +273 -0
  1194. package/vendor/zotero/modules/translators/Hanrei Watch.js +123 -0
  1195. package/vendor/zotero/modules/translators/Harper's Magazine.js +365 -0
  1196. package/vendor/zotero/modules/translators/Harpers.js +209 -0
  1197. package/vendor/zotero/modules/translators/Harvard Business Review.js +326 -0
  1198. package/vendor/zotero/modules/translators/Harvard Caselaw Access Project.js +244 -0
  1199. package/vendor/zotero/modules/translators/Harvard University Press Books.js +286 -0
  1200. package/vendor/zotero/modules/translators/Hathi Trust.js +164 -0
  1201. package/vendor/zotero/modules/translators/HathiTrust.js +311 -0
  1202. package/vendor/zotero/modules/translators/HeinOnline.js +266 -0
  1203. package/vendor/zotero/modules/translators/Heise.js +200 -0
  1204. package/vendor/zotero/modules/translators/Herder.js +236 -0
  1205. package/vendor/zotero/modules/translators/HighBeam.js +198 -0
  1206. package/vendor/zotero/modules/translators/HighWire 2.0.js +1355 -0
  1207. package/vendor/zotero/modules/translators/HighWire.js +209 -0
  1208. package/vendor/zotero/modules/translators/Hindawi Publishers.js +177 -0
  1209. package/vendor/zotero/modules/translators/Hispanic-American Periodical Index.js +236 -0
  1210. package/vendor/zotero/modules/translators/Homeland Security Digital Library.js +426 -0
  1211. package/vendor/zotero/modules/translators/Hoovers.js +89 -0
  1212. package/vendor/zotero/modules/translators/Huff Post.js +223 -0
  1213. package/vendor/zotero/modules/translators/Human Rights Watch.js +450 -0
  1214. package/vendor/zotero/modules/translators/IBISWorld.js +171 -0
  1215. package/vendor/zotero/modules/translators/IDEA ALM.js +536 -0
  1216. package/vendor/zotero/modules/translators/IEEE Computer Society.js +429 -0
  1217. package/vendor/zotero/modules/translators/IEEE Xplore.js +1000 -0
  1218. package/vendor/zotero/modules/translators/IETF.js +451 -0
  1219. package/vendor/zotero/modules/translators/IGN.js +136 -0
  1220. package/vendor/zotero/modules/translators/IMDb.js +566 -0
  1221. package/vendor/zotero/modules/translators/INSPIRE.js +247 -0
  1222. package/vendor/zotero/modules/translators/IPCC.js +757 -0
  1223. package/vendor/zotero/modules/translators/ISTC.js +181 -0
  1224. package/vendor/zotero/modules/translators/Idref.js +179 -0
  1225. package/vendor/zotero/modules/translators/In These Times.js +196 -0
  1226. package/vendor/zotero/modules/translators/InfoTrac.js +279 -0
  1227. package/vendor/zotero/modules/translators/Informationssystem Medienpaedagogik.js +305 -0
  1228. package/vendor/zotero/modules/translators/IngentaConnect.js +312 -0
  1229. package/vendor/zotero/modules/translators/Inside Higher Ed.js +167 -0
  1230. package/vendor/zotero/modules/translators/Insignia OPAC.js +114 -0
  1231. package/vendor/zotero/modules/translators/Institute of Contemporary Art.js +180 -0
  1232. package/vendor/zotero/modules/translators/Institute of Physics.js +340 -0
  1233. package/vendor/zotero/modules/translators/Integrum.js +173 -0
  1234. package/vendor/zotero/modules/translators/Intellixir.js +264 -0
  1235. package/vendor/zotero/modules/translators/Inter-Research Science Center.js +185 -0
  1236. package/vendor/zotero/modules/translators/International Nuclear Information System.js +285 -0
  1237. package/vendor/zotero/modules/translators/Internet Archive Scholar.js +106 -0
  1238. package/vendor/zotero/modules/translators/Internet Archive Wayback Machine.js +152 -0
  1239. package/vendor/zotero/modules/translators/Internet Archive.js +552 -0
  1240. package/vendor/zotero/modules/translators/InvenioRDM.js +1260 -0
  1241. package/vendor/zotero/modules/translators/Isidore.js +235 -0
  1242. package/vendor/zotero/modules/translators/J-Stage.js +272 -0
  1243. package/vendor/zotero/modules/translators/JETS.js +122 -0
  1244. package/vendor/zotero/modules/translators/JISC Historical Texts.js +273 -0
  1245. package/vendor/zotero/modules/translators/JRC Publications Repository.js +569 -0
  1246. package/vendor/zotero/modules/translators/JSTOR.js +821 -0
  1247. package/vendor/zotero/modules/translators/Jahrbuch.js +213 -0
  1248. package/vendor/zotero/modules/translators/Japan Times Online.js +138 -0
  1249. package/vendor/zotero/modules/translators/Journal of Electronic Publishing.js +147 -0
  1250. package/vendor/zotero/modules/translators/Journal of Extension.js +288 -0
  1251. package/vendor/zotero/modules/translators/Journal of Machine Learning Research.js +441 -0
  1252. package/vendor/zotero/modules/translators/Journal of Religion and Society.js +174 -0
  1253. package/vendor/zotero/modules/translators/JurPC.js +274 -0
  1254. package/vendor/zotero/modules/translators/Juricaf.js +141 -0
  1255. package/vendor/zotero/modules/translators/Juris.js +728 -0
  1256. package/vendor/zotero/modules/translators/K10plus ISBN.js +386 -0
  1257. package/vendor/zotero/modules/translators/KStudy.js +632 -0
  1258. package/vendor/zotero/modules/translators/Kanopy.js +358 -0
  1259. package/vendor/zotero/modules/translators/Khaama Press.js +249 -0
  1260. package/vendor/zotero/modules/translators/KitapYurdu.com.js +376 -0
  1261. package/vendor/zotero/modules/translators/Kommersant.js +174 -0
  1262. package/vendor/zotero/modules/translators/Korean National Library.js +621 -0
  1263. package/vendor/zotero/modules/translators/L'Annee Philologique.js +267 -0
  1264. package/vendor/zotero/modules/translators/LA Times.js +239 -0
  1265. package/vendor/zotero/modules/translators/LIBRIS ISBN.js +103 -0
  1266. package/vendor/zotero/modules/translators/LIVIVO.js +260 -0
  1267. package/vendor/zotero/modules/translators/LWN.net.js +350 -0
  1268. package/vendor/zotero/modules/translators/La Croix.js +237 -0
  1269. package/vendor/zotero/modules/translators/La Nacion (Argentina).js +231 -0
  1270. package/vendor/zotero/modules/translators/La Presse.js +218 -0
  1271. package/vendor/zotero/modules/translators/La Republica (Peru).js +174 -0
  1272. package/vendor/zotero/modules/translators/Lagen.nu.js +214 -0
  1273. package/vendor/zotero/modules/translators/Landesbibliographie Baden-Wurttemberg.js +324 -0
  1274. package/vendor/zotero/modules/translators/Lapham's Quarterly.js +1062 -0
  1275. package/vendor/zotero/modules/translators/Le Devoir.js +167 -0
  1276. package/vendor/zotero/modules/translators/Le Figaro.js +225 -0
  1277. package/vendor/zotero/modules/translators/Le Maitron.js +484 -0
  1278. package/vendor/zotero/modules/translators/Le Monde.js +258 -0
  1279. package/vendor/zotero/modules/translators/Le monde diplomatique.js +200 -0
  1280. package/vendor/zotero/modules/translators/Legifrance.js +641 -0
  1281. package/vendor/zotero/modules/translators/Legislative Insight.js +406 -0
  1282. package/vendor/zotero/modules/translators/Lexis+.js +264 -0
  1283. package/vendor/zotero/modules/translators/LexisNexis.js +505 -0
  1284. package/vendor/zotero/modules/translators/Libraries Tasmania.js +778 -0
  1285. package/vendor/zotero/modules/translators/Library Catalog (Aleph).js +385 -0
  1286. package/vendor/zotero/modules/translators/Library Catalog (Amicus).js +254 -0
  1287. package/vendor/zotero/modules/translators/Library Catalog (Aquabrowser).js +253 -0
  1288. package/vendor/zotero/modules/translators/Library Catalog (BiblioCommons).js +249 -0
  1289. package/vendor/zotero/modules/translators/Library Catalog (Blacklight).js +341 -0
  1290. package/vendor/zotero/modules/translators/Library Catalog (Capita Prism).js +162 -0
  1291. package/vendor/zotero/modules/translators/Library Catalog (DRA).js +203 -0
  1292. package/vendor/zotero/modules/translators/Library Catalog (Dynix).js +315 -0
  1293. package/vendor/zotero/modules/translators/Library Catalog (EBSCO Locate).js +349 -0
  1294. package/vendor/zotero/modules/translators/Library Catalog (Encore).js +211 -0
  1295. package/vendor/zotero/modules/translators/Library Catalog (GEAC).js +104 -0
  1296. package/vendor/zotero/modules/translators/Library Catalog (InnoPAC).js +305 -0
  1297. package/vendor/zotero/modules/translators/Library Catalog (Koha).js +225 -0
  1298. package/vendor/zotero/modules/translators/Library Catalog (Mango).js +285 -0
  1299. package/vendor/zotero/modules/translators/Library Catalog (OPALS).js +200 -0
  1300. package/vendor/zotero/modules/translators/Library Catalog (PICA).js +2120 -0
  1301. package/vendor/zotero/modules/translators/Library Catalog (PICA2).js +331 -0
  1302. package/vendor/zotero/modules/translators/Library Catalog (Pika).js +488 -0
  1303. package/vendor/zotero/modules/translators/Library Catalog (Polaris).js +183 -0
  1304. package/vendor/zotero/modules/translators/Library Catalog (Quolto).js +320 -0
  1305. package/vendor/zotero/modules/translators/Library Catalog (RERO ILS).js +754 -0
  1306. package/vendor/zotero/modules/translators/Library Catalog (SIRSI eLibrary).js +407 -0
  1307. package/vendor/zotero/modules/translators/Library Catalog (SIRSI).js +452 -0
  1308. package/vendor/zotero/modules/translators/Library Catalog (SLIMS).js +146 -0
  1309. package/vendor/zotero/modules/translators/Library Catalog (TIND ILS).js +773 -0
  1310. package/vendor/zotero/modules/translators/Library Catalog (TLCYouSeeMore).js +132 -0
  1311. package/vendor/zotero/modules/translators/Library Catalog (TinREAD).js +277 -0
  1312. package/vendor/zotero/modules/translators/Library Catalog (VTLS).js +125 -0
  1313. package/vendor/zotero/modules/translators/Library Catalog (Visual Library 2021).js +765 -0
  1314. package/vendor/zotero/modules/translators/Library Catalog (Voyager 7).js +199 -0
  1315. package/vendor/zotero/modules/translators/Library Catalog (Voyager).js +212 -0
  1316. package/vendor/zotero/modules/translators/Library Genesis.js +337 -0
  1317. package/vendor/zotero/modules/translators/Library Hub Discover.js +359 -0
  1318. package/vendor/zotero/modules/translators/Library of Congress Digital Collections.js +869 -0
  1319. package/vendor/zotero/modules/translators/Library of Congress ISBN.js +86 -0
  1320. package/vendor/zotero/modules/translators/LingBuzz.js +359 -0
  1321. package/vendor/zotero/modules/translators/Lippincott Williams and Wilkins.js +341 -0
  1322. package/vendor/zotero/modules/translators/Literary Hub.js +950 -0
  1323. package/vendor/zotero/modules/translators/Litres.js +236 -0
  1324. package/vendor/zotero/modules/translators/LiveJournal.js +219 -0
  1325. package/vendor/zotero/modules/translators/London Review of Books.js +291 -0
  1326. package/vendor/zotero/modules/translators/LookUs.js +260 -0
  1327. package/vendor/zotero/modules/translators/Lulu.js +264 -0
  1328. package/vendor/zotero/modules/translators/MAB2.js +373 -0
  1329. package/vendor/zotero/modules/translators/MARC.js +1080 -0
  1330. package/vendor/zotero/modules/translators/MARCXML.js +489 -0
  1331. package/vendor/zotero/modules/translators/MCV.js +258 -0
  1332. package/vendor/zotero/modules/translators/MDPI Journals.js +356 -0
  1333. package/vendor/zotero/modules/translators/MEDLINEnbib.js +1561 -0
  1334. package/vendor/zotero/modules/translators/METS.js +384 -0
  1335. package/vendor/zotero/modules/translators/MIDAS Journals.js +343 -0
  1336. package/vendor/zotero/modules/translators/MIT Press Books.js +637 -0
  1337. package/vendor/zotero/modules/translators/MIT Press Journals.js +176 -0
  1338. package/vendor/zotero/modules/translators/MODS.js +2545 -0
  1339. package/vendor/zotero/modules/translators/MPG PuRe.js +541 -0
  1340. package/vendor/zotero/modules/translators/Mailman.js +136 -0
  1341. package/vendor/zotero/modules/translators/Mainichi Daily News.js +189 -0
  1342. package/vendor/zotero/modules/translators/Mastodon.js +198 -0
  1343. package/vendor/zotero/modules/translators/Matbugat.ru.js +110 -0
  1344. package/vendor/zotero/modules/translators/Max Planck Institute for the History of Science Virtual Laboratory Library.js +136 -0
  1345. package/vendor/zotero/modules/translators/Medium.js +208 -0
  1346. package/vendor/zotero/modules/translators/MetaLib.js +126 -0
  1347. package/vendor/zotero/modules/translators/Microbiology Society Journals.js +343 -0
  1348. package/vendor/zotero/modules/translators/Microsoft Academic.js +424 -0
  1349. package/vendor/zotero/modules/translators/Mikromarc.js +207 -0
  1350. package/vendor/zotero/modules/translators/Milli Kutuphane.js +244 -0
  1351. package/vendor/zotero/modules/translators/Musee du Louvre.js +265 -0
  1352. package/vendor/zotero/modules/translators/NASA ADS.js +889 -0
  1353. package/vendor/zotero/modules/translators/NASA NTRS.js +610 -0
  1354. package/vendor/zotero/modules/translators/NCBI Nucleotide.js +227 -0
  1355. package/vendor/zotero/modules/translators/NPR.js +341 -0
  1356. package/vendor/zotero/modules/translators/NRC Research Press.js +181 -0
  1357. package/vendor/zotero/modules/translators/NRC.nl.js +226 -0
  1358. package/vendor/zotero/modules/translators/NTSB Accident Reports.js +226 -0
  1359. package/vendor/zotero/modules/translators/NYPL Menus.js +275 -0
  1360. package/vendor/zotero/modules/translators/NYPL Research Catalog.js +458 -0
  1361. package/vendor/zotero/modules/translators/NYTimes.com.js +858 -0
  1362. package/vendor/zotero/modules/translators/NZZ.ch.js +272 -0
  1363. package/vendor/zotero/modules/translators/Nagoya University OPAC.js +336 -0
  1364. package/vendor/zotero/modules/translators/National Academies Press.js +243 -0
  1365. package/vendor/zotero/modules/translators/National Agriculture Library.js +524 -0
  1366. package/vendor/zotero/modules/translators/National Archive of the UK.js +237 -0
  1367. package/vendor/zotero/modules/translators/National Archives of Australia.js +522 -0
  1368. package/vendor/zotero/modules/translators/National Archives of South Africa.js +122 -0
  1369. package/vendor/zotero/modules/translators/National Archives of the United States.js +278 -0
  1370. package/vendor/zotero/modules/translators/National Bureau of Economic Research.js +363 -0
  1371. package/vendor/zotero/modules/translators/National Diet Library Catalogue.js +333 -0
  1372. package/vendor/zotero/modules/translators/National Gallery of Art - USA.js +149 -0
  1373. package/vendor/zotero/modules/translators/National Gallery of Australia.js +252 -0
  1374. package/vendor/zotero/modules/translators/National Library of Australia (new catalog).js +223 -0
  1375. package/vendor/zotero/modules/translators/National Library of Belarus.js +171 -0
  1376. package/vendor/zotero/modules/translators/National Library of Norway.js +310 -0
  1377. package/vendor/zotero/modules/translators/National Library of Poland ISBN.js +140 -0
  1378. package/vendor/zotero/modules/translators/National Post.js +186 -0
  1379. package/vendor/zotero/modules/translators/National Technical Reports Library.js +276 -0
  1380. package/vendor/zotero/modules/translators/National Transportation Library ROSA P.js +562 -0
  1381. package/vendor/zotero/modules/translators/Nature Publishing Group.js +3394 -0
  1382. package/vendor/zotero/modules/translators/Neural Information Processing Systems.js +385 -0
  1383. package/vendor/zotero/modules/translators/New Left Review.js +245 -0
  1384. package/vendor/zotero/modules/translators/New Zealand Herald.js +282 -0
  1385. package/vendor/zotero/modules/translators/Newlines Magazine.js +190 -0
  1386. package/vendor/zotero/modules/translators/News Corp Australia.js +251 -0
  1387. package/vendor/zotero/modules/translators/NewsBank.js +202 -0
  1388. package/vendor/zotero/modules/translators/NewsnetTamedia.js +509 -0
  1389. package/vendor/zotero/modules/translators/Noor Digital Library.js +267 -0
  1390. package/vendor/zotero/modules/translators/Note HTML.js +206 -0
  1391. package/vendor/zotero/modules/translators/Note Markdown.js +1638 -0
  1392. package/vendor/zotero/modules/translators/Notre Dame Philosophical Reviews.js +201 -0
  1393. package/vendor/zotero/modules/translators/Nuclear Receptor Signaling.js +241 -0
  1394. package/vendor/zotero/modules/translators/OAPEN.js +331 -0
  1395. package/vendor/zotero/modules/translators/OECD.js +216 -0
  1396. package/vendor/zotero/modules/translators/ORCID.js +104 -0
  1397. package/vendor/zotero/modules/translators/OSF Preprints.js +417 -0
  1398. package/vendor/zotero/modules/translators/OSTI Energy Citations.js +202 -0
  1399. package/vendor/zotero/modules/translators/OVID Tagged.js +1226 -0
  1400. package/vendor/zotero/modules/translators/OZON.ru.js +465 -0
  1401. package/vendor/zotero/modules/translators/OhioLINK.js +43 -0
  1402. package/vendor/zotero/modules/translators/Old Bailey Online.js +315 -0
  1403. package/vendor/zotero/modules/translators/Open Conf.js +172 -0
  1404. package/vendor/zotero/modules/translators/Open Journal Systems.js +729 -0
  1405. package/vendor/zotero/modules/translators/Open Knowledge Repository.js +811 -0
  1406. package/vendor/zotero/modules/translators/OpenAlex JSON.js +740 -0
  1407. package/vendor/zotero/modules/translators/OpenAlex.js +444 -0
  1408. package/vendor/zotero/modules/translators/OpenEdition Books.js +155 -0
  1409. package/vendor/zotero/modules/translators/OpenEdition Journals.js +432 -0
  1410. package/vendor/zotero/modules/translators/Optical Society of America.js +562 -0
  1411. package/vendor/zotero/modules/translators/Optimization Online.js +418 -0
  1412. package/vendor/zotero/modules/translators/Ovid OCE.js +353 -0
  1413. package/vendor/zotero/modules/translators/Ovid.js +302 -0
  1414. package/vendor/zotero/modules/translators/Oxford Dictionaries Premium.js +194 -0
  1415. package/vendor/zotero/modules/translators/Oxford English Dictionary.js +122 -0
  1416. package/vendor/zotero/modules/translators/Oxford Music and Art Online.js +120 -0
  1417. package/vendor/zotero/modules/translators/Oxford Reference.js +202 -0
  1418. package/vendor/zotero/modules/translators/Oxford University Press.js +277 -0
  1419. package/vendor/zotero/modules/translators/PC Gamer.js +302 -0
  1420. package/vendor/zotero/modules/translators/PC Games.js +128 -0
  1421. package/vendor/zotero/modules/translators/PEI Archival Information Network.js +242 -0
  1422. package/vendor/zotero/modules/translators/PEP Web.js +165 -0
  1423. package/vendor/zotero/modules/translators/PKP Catalog Systems.js +1455 -0
  1424. package/vendor/zotero/modules/translators/PLoS Journals.js +284 -0
  1425. package/vendor/zotero/modules/translators/PRC History Review.js +298 -0
  1426. package/vendor/zotero/modules/translators/Pajhwok Afghan News.js +198 -0
  1427. package/vendor/zotero/modules/translators/Papers Past.js +297 -0
  1428. package/vendor/zotero/modules/translators/Paris Review.js +227 -0
  1429. package/vendor/zotero/modules/translators/Pastebin.js +199 -0
  1430. package/vendor/zotero/modules/translators/Patents - USPTO.js +210 -0
  1431. package/vendor/zotero/modules/translators/Peeters.js +587 -0
  1432. package/vendor/zotero/modules/translators/Perceiving Systems.js +350 -0
  1433. package/vendor/zotero/modules/translators/Perlego.js +416 -0
  1434. package/vendor/zotero/modules/translators/PhilPapers.js +233 -0
  1435. package/vendor/zotero/modules/translators/Philosopher's Imprint.js +169 -0
  1436. package/vendor/zotero/modules/translators/Pleade.js +329 -0
  1437. package/vendor/zotero/modules/translators/Polygon.js +270 -0
  1438. package/vendor/zotero/modules/translators/Potsdamer Neueste Nachrichten.js +188 -0
  1439. package/vendor/zotero/modules/translators/Premium Times.js +144 -0
  1440. package/vendor/zotero/modules/translators/Preprints.org.js +305 -0
  1441. package/vendor/zotero/modules/translators/Prime 9ja Online.js +289 -0
  1442. package/vendor/zotero/modules/translators/Primo 2018.js +126 -0
  1443. package/vendor/zotero/modules/translators/Primo Normalized XML.js +987 -0
  1444. package/vendor/zotero/modules/translators/Primo.js +322 -0
  1445. package/vendor/zotero/modules/translators/ProMED.js +66 -0
  1446. package/vendor/zotero/modules/translators/ProQuest Ebook Central.js +226 -0
  1447. package/vendor/zotero/modules/translators/ProQuest PolicyFile.js +115 -0
  1448. package/vendor/zotero/modules/translators/ProQuest.js +2210 -0
  1449. package/vendor/zotero/modules/translators/Probing the Past.js +151 -0
  1450. package/vendor/zotero/modules/translators/Project Gutenberg.js +191 -0
  1451. package/vendor/zotero/modules/translators/Project MUSE.js +451 -0
  1452. package/vendor/zotero/modules/translators/Protein Data Bank.js +445 -0
  1453. package/vendor/zotero/modules/translators/PubFactory Journals.js +712 -0
  1454. package/vendor/zotero/modules/translators/PubMed Central.js +577 -0
  1455. package/vendor/zotero/modules/translators/PubMed XML.js +1139 -0
  1456. package/vendor/zotero/modules/translators/PubMed.js +1317 -0
  1457. package/vendor/zotero/modules/translators/PubPub.js +530 -0
  1458. package/vendor/zotero/modules/translators/Pubget.js +164 -0
  1459. package/vendor/zotero/modules/translators/Public Record Office Victoria.js +252 -0
  1460. package/vendor/zotero/modules/translators/Publications Office of the European Union.js +540 -0
  1461. package/vendor/zotero/modules/translators/Publications du Quebec.js +225 -0
  1462. package/vendor/zotero/modules/translators/PyPI.js +288 -0
  1463. package/vendor/zotero/modules/translators/Qatar Digital Library.js +802 -0
  1464. package/vendor/zotero/modules/translators/Queensland State Archives.js +303 -0
  1465. package/vendor/zotero/modules/translators/R-Packages.js +410 -0
  1466. package/vendor/zotero/modules/translators/RAND.js +283 -0
  1467. package/vendor/zotero/modules/translators/RDF.js +1780 -0
  1468. package/vendor/zotero/modules/translators/REDALYC.js +196 -0
  1469. package/vendor/zotero/modules/translators/RIS.js +7265 -0
  1470. package/vendor/zotero/modules/translators/RSC Publishing.js +250 -0
  1471. package/vendor/zotero/modules/translators/Radio Free Europe Radio Liberty.js +706 -0
  1472. package/vendor/zotero/modules/translators/RePEc - Econpapers.js +725 -0
  1473. package/vendor/zotero/modules/translators/RePEc - IDEAS.js +337 -0
  1474. package/vendor/zotero/modules/translators/Rechtspraak.nl.js +295 -0
  1475. package/vendor/zotero/modules/translators/RefWorks Tagged.js +1185 -0
  1476. package/vendor/zotero/modules/translators/ReferBibIX.js +463 -0
  1477. package/vendor/zotero/modules/translators/Regeringskansliet.js +89 -0
  1478. package/vendor/zotero/modules/translators/Research Square.js +335 -0
  1479. package/vendor/zotero/modules/translators/ResearchGate.js +394 -0
  1480. package/vendor/zotero/modules/translators/Retsinformation.js +348 -0
  1481. package/vendor/zotero/modules/translators/Reuters.js +255 -0
  1482. package/vendor/zotero/modules/translators/Revues.org.js +378 -0
  1483. package/vendor/zotero/modules/translators/Rock, Paper, Shotgun.js +304 -0
  1484. package/vendor/zotero/modules/translators/Roll Call.js +173 -0
  1485. package/vendor/zotero/modules/translators/Russian State Library.js +1517 -0
  1486. package/vendor/zotero/modules/translators/SAE Papers.js +241 -0
  1487. package/vendor/zotero/modules/translators/SAGE Journals.js +427 -0
  1488. package/vendor/zotero/modules/translators/SAGE Knowledge.js +505 -0
  1489. package/vendor/zotero/modules/translators/SAILDART.js +364 -0
  1490. package/vendor/zotero/modules/translators/SALT Research Archives.js +196 -0
  1491. package/vendor/zotero/modules/translators/SFU IPinCH.js +946 -0
  1492. package/vendor/zotero/modules/translators/SIPRI.js +256 -0
  1493. package/vendor/zotero/modules/translators/SIRS Knowledge Source.js +546 -0
  1494. package/vendor/zotero/modules/translators/SLUB Dresden.js +300 -0
  1495. package/vendor/zotero/modules/translators/SORA.js +340 -0
  1496. package/vendor/zotero/modules/translators/SSOAR.js +399 -0
  1497. package/vendor/zotero/modules/translators/SSRN.js +235 -0
  1498. package/vendor/zotero/modules/translators/SVT Nyheter.js +381 -0
  1499. package/vendor/zotero/modules/translators/Sacramento Bee.js +274 -0
  1500. package/vendor/zotero/modules/translators/Safari Books Online.js +391 -0
  1501. package/vendor/zotero/modules/translators/Scholars Portal Journals.js +220 -0
  1502. package/vendor/zotero/modules/translators/Scholia.js +189 -0
  1503. package/vendor/zotero/modules/translators/Schweizer Radio und Fernsehen SRF.js +152 -0
  1504. package/vendor/zotero/modules/translators/SciELO.js +440 -0
  1505. package/vendor/zotero/modules/translators/ScienceDirect.js +1304 -0
  1506. package/vendor/zotero/modules/translators/Scopus.js +418 -0
  1507. package/vendor/zotero/modules/translators/Semantic Scholar.js +513 -0
  1508. package/vendor/zotero/modules/translators/Silverchair.js +886 -0
  1509. package/vendor/zotero/modules/translators/Slate.js +228 -0
  1510. package/vendor/zotero/modules/translators/SlideShare.js +112 -0
  1511. package/vendor/zotero/modules/translators/Spiegel Online.js +343 -0
  1512. package/vendor/zotero/modules/translators/Springer Link.js +696 -0
  1513. package/vendor/zotero/modules/translators/Stack Exchange.js +134 -0
  1514. package/vendor/zotero/modules/translators/Standard Ebooks.js +198 -0
  1515. package/vendor/zotero/modules/translators/Stanford Encyclopedia of Philosophy.js +285 -0
  1516. package/vendor/zotero/modules/translators/Stanford University Press.js +343 -0
  1517. package/vendor/zotero/modules/translators/State Records Office of Western Australia.js +439 -0
  1518. package/vendor/zotero/modules/translators/Stitcher.js +141 -0
  1519. package/vendor/zotero/modules/translators/Store norske leksikon.js +291 -0
  1520. package/vendor/zotero/modules/translators/Stuff.co.nz.js +446 -0
  1521. package/vendor/zotero/modules/translators/Substack.js +237 -0
  1522. package/vendor/zotero/modules/translators/Sud Ouest.js +181 -0
  1523. package/vendor/zotero/modules/translators/Sueddeutsche.de.js +205 -0
  1524. package/vendor/zotero/modules/translators/Summon 2.js +117 -0
  1525. package/vendor/zotero/modules/translators/Superlib.js +647 -0
  1526. package/vendor/zotero/modules/translators/Svenska Dagbladet.js +274 -0
  1527. package/vendor/zotero/modules/translators/Sveriges radio.js +416 -0
  1528. package/vendor/zotero/modules/translators/TEI.js +648 -0
  1529. package/vendor/zotero/modules/translators/TV by the Numbers.js +194 -0
  1530. package/vendor/zotero/modules/translators/TVNZ.js +165 -0
  1531. package/vendor/zotero/modules/translators/Tagesspiegel.js +249 -0
  1532. package/vendor/zotero/modules/translators/Talis Aspire.js +316 -0
  1533. package/vendor/zotero/modules/translators/TalisPrism.js +445 -0
  1534. package/vendor/zotero/modules/translators/Tatknigafund.js +174 -0
  1535. package/vendor/zotero/modules/translators/Tatpressa.ru.js +121 -0
  1536. package/vendor/zotero/modules/translators/Taylor & Francis eBooks.js +334 -0
  1537. package/vendor/zotero/modules/translators/Taylor and Francis+NEJM.js +813 -0
  1538. package/vendor/zotero/modules/translators/Tesis Doctorals en Xarxa.js +233 -0
  1539. package/vendor/zotero/modules/translators/The Art Newspaper.js +268 -0
  1540. package/vendor/zotero/modules/translators/The Atlantic.js +535 -0
  1541. package/vendor/zotero/modules/translators/The Australian.js +105 -0
  1542. package/vendor/zotero/modules/translators/The Boston Globe.js +285 -0
  1543. package/vendor/zotero/modules/translators/The Chronicle of Higher Education.js +308 -0
  1544. package/vendor/zotero/modules/translators/The Daily Beast.js +183 -0
  1545. package/vendor/zotero/modules/translators/The Economic Times - The Times of India.js +305 -0
  1546. package/vendor/zotero/modules/translators/The Economic Times.js +191 -0
  1547. package/vendor/zotero/modules/translators/The Economist.js +207 -0
  1548. package/vendor/zotero/modules/translators/The Free Dictionary.js +58 -0
  1549. package/vendor/zotero/modules/translators/The Globe and Mail.js +241 -0
  1550. package/vendor/zotero/modules/translators/The Guardian.js +717 -0
  1551. package/vendor/zotero/modules/translators/The Hamilton Spectator.js +129 -0
  1552. package/vendor/zotero/modules/translators/The Hindu (old).js +128 -0
  1553. package/vendor/zotero/modules/translators/The Hindu.js +318 -0
  1554. package/vendor/zotero/modules/translators/The Independent.js +184 -0
  1555. package/vendor/zotero/modules/translators/The Intercept.js +258 -0
  1556. package/vendor/zotero/modules/translators/The Met.js +300 -0
  1557. package/vendor/zotero/modules/translators/The Microfinance Gateway.js +174 -0
  1558. package/vendor/zotero/modules/translators/The Nation.js +188 -0
  1559. package/vendor/zotero/modules/translators/The National Archives (UK).js +242 -0
  1560. package/vendor/zotero/modules/translators/The New Republic.js +160 -0
  1561. package/vendor/zotero/modules/translators/The New York Review of Books.js +467 -0
  1562. package/vendor/zotero/modules/translators/The New Yorker.js +360 -0
  1563. package/vendor/zotero/modules/translators/The Open Library.js +220 -0
  1564. package/vendor/zotero/modules/translators/The Straits Times.js +528 -0
  1565. package/vendor/zotero/modules/translators/The Telegraph.js +337 -0
  1566. package/vendor/zotero/modules/translators/The Times and Sunday Times.js +180 -0
  1567. package/vendor/zotero/modules/translators/The Times of Israel.js +151 -0
  1568. package/vendor/zotero/modules/translators/TheMarker.js +108 -0
  1569. package/vendor/zotero/modules/translators/Theory of Computing.js +488 -0
  1570. package/vendor/zotero/modules/translators/ThesesFR.js +350 -0
  1571. package/vendor/zotero/modules/translators/Thieme.js +326 -0
  1572. package/vendor/zotero/modules/translators/Time.com.js +557 -0
  1573. package/vendor/zotero/modules/translators/TimesMachine.js +222 -0
  1574. package/vendor/zotero/modules/translators/Tony Blair Institute for Global Change.js +195 -0
  1575. package/vendor/zotero/modules/translators/Toronto Star.js +331 -0
  1576. package/vendor/zotero/modules/translators/Transportation Research Board.js +253 -0
  1577. package/vendor/zotero/modules/translators/Treesearch.js +535 -0
  1578. package/vendor/zotero/modules/translators/Trove.js +616 -0
  1579. package/vendor/zotero/modules/translators/Tumblr.js +179 -0
  1580. package/vendor/zotero/modules/translators/Twitter.js +413 -0
  1581. package/vendor/zotero/modules/translators/UChicago VuFind.js +907 -0
  1582. package/vendor/zotero/modules/translators/UNZ Print Archive.js +276 -0
  1583. package/vendor/zotero/modules/translators/UPCommons.js +227 -0
  1584. package/vendor/zotero/modules/translators/US National Archives Research Catalog.js +275 -0
  1585. package/vendor/zotero/modules/translators/USENIX.js +151 -0
  1586. package/vendor/zotero/modules/translators/USgamer.js +120 -0
  1587. package/vendor/zotero/modules/translators/Ubiquity Journals.js +228 -0
  1588. package/vendor/zotero/modules/translators/University Press Scholarship.js +301 -0
  1589. package/vendor/zotero/modules/translators/University of California Press Books.js +403 -0
  1590. package/vendor/zotero/modules/translators/University of Chicago Press Books.js +378 -0
  1591. package/vendor/zotero/modules/translators/University of Wisconsin-Madison Libraries Catalog.js +298 -0
  1592. package/vendor/zotero/modules/translators/Unqualified Dublin Core RDF.js +153 -0
  1593. package/vendor/zotero/modules/translators/UpToDate References.js +203 -0
  1594. package/vendor/zotero/modules/translators/Vanity Fair.js +242 -0
  1595. package/vendor/zotero/modules/translators/Verniana-Jules Verne Studies.js +190 -0
  1596. package/vendor/zotero/modules/translators/Verso Books.js +311 -0
  1597. package/vendor/zotero/modules/translators/Vice.js +445 -0
  1598. package/vendor/zotero/modules/translators/Victoria & Albert Museum.js +277 -0
  1599. package/vendor/zotero/modules/translators/Vimeo.js +188 -0
  1600. package/vendor/zotero/modules/translators/VoxEU.js +151 -0
  1601. package/vendor/zotero/modules/translators/WHO.js +458 -0
  1602. package/vendor/zotero/modules/translators/WIPO.js +189 -0
  1603. package/vendor/zotero/modules/translators/Wall Street Journal.js +525 -0
  1604. package/vendor/zotero/modules/translators/Wanfang Data.js +310 -0
  1605. package/vendor/zotero/modules/translators/Washington Monthly.js +195 -0
  1606. package/vendor/zotero/modules/translators/Washington Post.js +447 -0
  1607. package/vendor/zotero/modules/translators/Web of Science Nextgen.js +832 -0
  1608. package/vendor/zotero/modules/translators/Web of Science Tagged.js +1247 -0
  1609. package/vendor/zotero/modules/translators/Web of Science.js +228 -0
  1610. package/vendor/zotero/modules/translators/Welt Online.js +161 -0
  1611. package/vendor/zotero/modules/translators/WestLaw UK.js +190 -0
  1612. package/vendor/zotero/modules/translators/WikiLeaks PlusD.js +182 -0
  1613. package/vendor/zotero/modules/translators/Wikidata QuickStatements.js +324 -0
  1614. package/vendor/zotero/modules/translators/Wikidata.js +911 -0
  1615. package/vendor/zotero/modules/translators/Wikimedia Commons.js +285 -0
  1616. package/vendor/zotero/modules/translators/Wikipedia Citation Templates.js +432 -0
  1617. package/vendor/zotero/modules/translators/Wikipedia.js +385 -0
  1618. package/vendor/zotero/modules/translators/Wikisource.js +399 -0
  1619. package/vendor/zotero/modules/translators/Wikiwand.js +122 -0
  1620. package/vendor/zotero/modules/translators/Wiktionary.js +141 -0
  1621. package/vendor/zotero/modules/translators/Wildlife Biology in Practice.js +172 -0
  1622. package/vendor/zotero/modules/translators/Wiley Online Library.js +1412 -0
  1623. package/vendor/zotero/modules/translators/Wilson Center Digital Archive.js +321 -0
  1624. package/vendor/zotero/modules/translators/Winnipeg Free Press.js +204 -0
  1625. package/vendor/zotero/modules/translators/Wired.js +249 -0
  1626. package/vendor/zotero/modules/translators/Womennews.js +230 -0
  1627. package/vendor/zotero/modules/translators/World Digital Library.js +403 -0
  1628. package/vendor/zotero/modules/translators/World History Connected.js +185 -0
  1629. package/vendor/zotero/modules/translators/World Shakespeare Bibliography Online.js +595 -0
  1630. package/vendor/zotero/modules/translators/XML ContextObject.js +274 -0
  1631. package/vendor/zotero/modules/translators/YPSF.js +224 -0
  1632. package/vendor/zotero/modules/translators/Yandex Books.js +265 -0
  1633. package/vendor/zotero/modules/translators/Ynet.js +171 -0
  1634. package/vendor/zotero/modules/translators/YouTube.js +209 -0
  1635. package/vendor/zotero/modules/translators/ZIPonline.js +267 -0
  1636. package/vendor/zotero/modules/translators/ZOBODAT.js +341 -0
  1637. package/vendor/zotero/modules/translators/Zotero RDF.js +583 -0
  1638. package/vendor/zotero/modules/translators/ZoteroBib.js +94 -0
  1639. package/vendor/zotero/modules/translators/arXiv.org.js +1099 -0
  1640. package/vendor/zotero/modules/translators/artnet.js +207 -0
  1641. package/vendor/zotero/modules/translators/beck-online.js +1339 -0
  1642. package/vendor/zotero/modules/translators/clinicaltrials.gov.js +331 -0
  1643. package/vendor/zotero/modules/translators/dLibra.js +367 -0
  1644. package/vendor/zotero/modules/translators/dejure.org.js +242 -0
  1645. package/vendor/zotero/modules/translators/dhistory.js +103 -0
  1646. package/vendor/zotero/modules/translators/digibib.net.js +245 -0
  1647. package/vendor/zotero/modules/translators/eLibrary.ru.js +867 -0
  1648. package/vendor/zotero/modules/translators/eLife.js +462 -0
  1649. package/vendor/zotero/modules/translators/eMJA.js +246 -0
  1650. package/vendor/zotero/modules/translators/eMedicine.js +123 -0
  1651. package/vendor/zotero/modules/translators/ePrint IACR.js +608 -0
  1652. package/vendor/zotero/modules/translators/ebrary.js +140 -0
  1653. package/vendor/zotero/modules/translators/etatar.ru.js +104 -0
  1654. package/vendor/zotero/modules/translators/feb-web.ru.js +167 -0
  1655. package/vendor/zotero/modules/translators/fishpond.co.nz.js +224 -0
  1656. package/vendor/zotero/modules/translators/fr-online.de.js +209 -0
  1657. package/vendor/zotero/modules/translators/govinfo.js +189 -0
  1658. package/vendor/zotero/modules/translators/informIT database.js +248 -0
  1659. package/vendor/zotero/modules/translators/io-port.js +68 -0
  1660. package/vendor/zotero/modules/translators/jmlr.js +299 -0
  1661. package/vendor/zotero/modules/translators/jurion.js +377 -0
  1662. package/vendor/zotero/modules/translators/mEDRA.js +597 -0
  1663. package/vendor/zotero/modules/translators/magazines.russ.ru.js +120 -0
  1664. package/vendor/zotero/modules/translators/medes.js +284 -0
  1665. package/vendor/zotero/modules/translators/newshub.co.nz.js +206 -0
  1666. package/vendor/zotero/modules/translators/newspapers.com.js +335 -0
  1667. package/vendor/zotero/modules/translators/openJur.js +161 -0
  1668. package/vendor/zotero/modules/translators/reddit.js +275 -0
  1669. package/vendor/zotero/modules/translators/sbn.it.js +186 -0
  1670. package/vendor/zotero/modules/translators/scinapse.js +273 -0
  1671. package/vendor/zotero/modules/translators/semantics Visual Library.js +643 -0
  1672. package/vendor/zotero/modules/translators/taz.de.js +200 -0
  1673. package/vendor/zotero/modules/translators/unAPI.js +481 -0
  1674. package/vendor/zotero/modules/translators/washingtonpost.com.js +257 -0
  1675. package/vendor/zotero/modules/translators/wiso.js +314 -0
  1676. package/vendor/zotero/modules/translators/zbMATH.js +278 -0
  1677. package/vendor/zotero/modules/translators/zotero.org.js +311 -0
  1678. package/vendor/zotero/modules/utilities/README.md +25 -0
  1679. package/vendor/zotero/modules/utilities/cachedTypes.js +193 -0
  1680. package/vendor/zotero/modules/utilities/date.js +958 -0
  1681. package/vendor/zotero/modules/utilities/openurl.js +458 -0
  1682. package/vendor/zotero/modules/utilities/resource/README.md +4 -0
  1683. package/vendor/zotero/modules/utilities/resource/dateFormats.json +1322 -0
  1684. package/vendor/zotero/modules/utilities/resource/schema/global/README.md +15 -0
  1685. package/vendor/zotero/modules/utilities/resource/schema/global/schema.json +12072 -0
  1686. package/vendor/zotero/modules/utilities/resource/zoteroTypeSchemaData.js +5 -0
  1687. package/vendor/zotero/modules/utilities/schema.js +65 -0
  1688. package/vendor/zotero/modules/utilities/utilities.js +1841 -0
  1689. package/vendor/zotero/modules/utilities/utilities_item.js +1082 -0
  1690. package/vendor/zotero/modules/utilities/xregexp-all.js +4652 -0
  1691. package/vendor/zotero/modules/utilities/xregexp-unicode-zotero.js +58 -0
  1692. package/vendor/zotero/modules/zotero-schema/README.md +15 -0
  1693. package/vendor/zotero/modules/zotero-schema/schema.json +12072 -0
  1694. package/vendor/zotero/package-lock.json +4332 -0
  1695. package/vendor/zotero/package.json +44 -0
  1696. package/vendor/zotero/spec.yaml +142 -0
  1697. package/vendor/zotero/src/args.js +43 -0
  1698. package/vendor/zotero/src/cors.js +28 -0
  1699. package/vendor/zotero/src/debug.js +189 -0
  1700. package/vendor/zotero/src/exportEndpoint.js +97 -0
  1701. package/vendor/zotero/src/formats.js +43 -0
  1702. package/vendor/zotero/src/http.js +478 -0
  1703. package/vendor/zotero/src/importEndpoint.js +54 -0
  1704. package/vendor/zotero/src/lambda.js +75 -0
  1705. package/vendor/zotero/src/proxy.js +356 -0
  1706. package/vendor/zotero/src/searchEndpoint.js +97 -0
  1707. package/vendor/zotero/src/server.js +85 -0
  1708. package/vendor/zotero/src/specEndpoint.js +135 -0
  1709. package/vendor/zotero/src/testEndpoint.js +50 -0
  1710. package/vendor/zotero/src/textSearch.js +527 -0
  1711. package/vendor/zotero/src/translation/sandboxManager.js +109 -0
  1712. package/vendor/zotero/src/translation/translate.js +101 -0
  1713. package/vendor/zotero/src/translation/translate_item.js +88 -0
  1714. package/vendor/zotero/src/translators.js +264 -0
  1715. package/vendor/zotero/src/utilities.js +49 -0
  1716. package/vendor/zotero/src/webEndpoint.js +113 -0
  1717. package/vendor/zotero/src/webSession.js +476 -0
  1718. package/vendor/zotero/src/zotero.js +117 -0
  1719. package/vendor/zotero/translate_export +10 -0
  1720. package/vendor/zotero/translate_search +9 -0
  1721. package/vendor/zotero/translate_url +9 -0
  1722. package/vendor/zotero/translate_url_multiple +9 -0
  1723. package/vendor/zotero/translate_url_single +9 -0
@@ -0,0 +1,4236 @@
1
+ {
2
+ "translatorID": "9cb70025-a888-4a29-a210-93ec52da40d4",
3
+ "label": "BibTeX",
4
+ "creator": "Simon Kornblith, Richard Karnesky and Emiliano heyns",
5
+ "target": "bib",
6
+ "minVersion": "2.1.9",
7
+ "maxVersion": "",
8
+ "priority": 200,
9
+ "configOptions": {
10
+ "async": true,
11
+ "getCollections": true
12
+ },
13
+ "displayOptions": {
14
+ "exportCharset": "UTF-8",
15
+ "exportNotes": true,
16
+ "exportFileData": false,
17
+ "useJournalAbbreviation": false
18
+ },
19
+ "inRepository": true,
20
+ "translatorType": 3,
21
+ "lastUpdated": "2024-03-25 14:51:02"
22
+ }
23
+
24
+ /*
25
+ BibTeX Translator
26
+ Copyright (C) 2019 CHNM, Simon Kornblith, Richard Karnesky and Emiliano heyns
27
+
28
+ This program is free software: you can redistribute it and/or modify
29
+ it under the terms of the GNU Affero General Public License as published by
30
+ the Free Software Foundation, either version 3 of the License, or
31
+ (at your option) any later version.
32
+
33
+ This program is distributed in the hope that it will be useful,
34
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
35
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36
+ GNU Affero General Public License for more details.
37
+
38
+ You should have received a copy of the GNU Affero General Public License
39
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
40
+ */
41
+
42
+ function detectImport() {
43
+ var maxChars = 1048576; // 1MB
44
+
45
+ var inComment = false;
46
+ var block = "";
47
+ var buffer = "";
48
+ var chr = "";
49
+ var charsRead = 0;
50
+
51
+ var re = /^\s*@[a-zA-Z]+[\(\{]/;
52
+ while ((buffer = Zotero.read(4096)) && charsRead < maxChars) {
53
+ Zotero.debug("Scanning " + buffer.length + " characters for BibTeX");
54
+ charsRead += buffer.length;
55
+ for (var i=0; i<buffer.length; i++) {
56
+ chr = buffer[i];
57
+
58
+ if (inComment && chr != "\r" && chr != "\n") {
59
+ continue;
60
+ }
61
+ inComment = false;
62
+
63
+ if (chr == "%") {
64
+ // read until next newline
65
+ block = "";
66
+ inComment = true;
67
+ } else if ((chr == "\n" || chr == "\r"
68
+ // allow one-line entries
69
+ || i == (buffer.length - 1))
70
+ && block) {
71
+ // check if this is a BibTeX entry
72
+ if (re.test(block)) {
73
+ return true;
74
+ }
75
+
76
+ block = "";
77
+ } else if (!" \n\r\t".includes(chr)) {
78
+ block += chr;
79
+ }
80
+ }
81
+ }
82
+ }
83
+
84
+ //%a = first listed creator surname
85
+ //%y = year
86
+ //%t = first word of title
87
+ var citeKeyFormat = "%a_%t_%y";
88
+
89
+ var fieldMap = {
90
+ address:"place",
91
+ chapter:"section",
92
+ edition:"edition",
93
+ type:"type",
94
+ series:"series",
95
+ title:"title",
96
+ volume:"volume",
97
+ copyright:"rights",
98
+ isbn:"ISBN",
99
+ issn:"ISSN",
100
+ shorttitle:"shortTitle",
101
+ url:"url",
102
+ doi:"DOI",
103
+ abstract:"abstractNote",
104
+ nationality: "country",
105
+ language:"language",
106
+ assignee:"assignee"
107
+ };
108
+
109
+ // Fields for which upper case letters will be protected on export
110
+ var caseProtectedFields = [
111
+ "title",
112
+ "type",
113
+ "shorttitle",
114
+ "booktitle",
115
+ "series"
116
+ ];
117
+
118
+ // Import/export in BibTeX
119
+ var extraIdentifiers = {
120
+ lccn: 'LCCN',
121
+ mrnumber: 'MR',
122
+ zmnumber: 'Zbl',
123
+ pmid: 'PMID',
124
+ pmcid: 'PMCID'
125
+
126
+ //Mostly from Wikipedia citation templates
127
+ //asin - Amazon ID
128
+ //bibcode/refcode - used in astronomy, but haven't seen any Bib(La)TeX examples
129
+ //jfm - Jahrbuch ID, but it seems to be part of Zentralblatt MATH, so Zbl
130
+ //oclc
131
+ //ol - openlibrary.org ID
132
+ //osti
133
+ //rfc
134
+ //ssrn? http://cyber.law.harvard.edu/cybersecurity/Guidelines_for_adding_Bibliography_entries
135
+ };
136
+
137
+ // Make a reverse map for convenience with additional DOI handling
138
+ var revExtraIds = {'DOI': 'doi'};
139
+ for (var field in extraIdentifiers) {
140
+ revExtraIds[extraIdentifiers[field]] = field;
141
+ }
142
+
143
+ // Import only. Exported by BibLaTeX
144
+ var eprintIds = {
145
+ // eprinttype: Zotero label
146
+
147
+ // From BibLaTeX manual
148
+ 'arxiv': 'arXiv', // Sorry, but no support for eprintclass yet
149
+ 'jstor': 'JSTOR',
150
+ 'pubmed': 'PMID',
151
+ 'hdl': 'HDL',
152
+ 'googlebooks': 'GoogleBooksID'
153
+ };
154
+
155
+ function dateFieldsToDate(year, month, day) {
156
+ // per the latest ISO 8601 standard, you can't have a month/day without a
157
+ // year (and it would be silly anyway)
158
+ if (year) {
159
+ let date = year;
160
+ if (month) {
161
+ if (month.includes(date)) {
162
+ date = month;
163
+ }
164
+ else {
165
+ date += `-${month}`;
166
+ }
167
+
168
+ if (day) {
169
+ date += `-${day}`;
170
+ }
171
+ }
172
+ return ZU.strToISO(date);
173
+ }
174
+ return false;
175
+ }
176
+
177
+ function parseExtraFields(extra) {
178
+ var lines = extra.split(/[\r\n]+/);
179
+ var fields = [];
180
+ for (var i=0; i<lines.length; i++) {
181
+ var rec = { raw: lines[i] };
182
+ var line = lines[i].trim();
183
+ var splitAt = line.indexOf(':');
184
+ if (splitAt > 1) {
185
+ rec.field = line.substr(0,splitAt).trim();
186
+ rec.value = line.substr(splitAt + 1).trim();
187
+ }
188
+ fields.push(rec);
189
+ }
190
+ return fields;
191
+ }
192
+
193
+ function extraFieldsToString(extra) {
194
+ var str = '';
195
+ for (var i=0; i<extra.length; i++) {
196
+ if (!extra[i].raw) {
197
+ str += '\n' + extra[i].field + ': ' + extra[i].value;
198
+ } else {
199
+ str += '\n' + extra[i].raw;
200
+ }
201
+ }
202
+
203
+ return str.substr(1);
204
+ }
205
+
206
+ var inputFieldMap = {
207
+ booktitle :"publicationTitle",
208
+ school:"publisher",
209
+ publisher:"publisher",
210
+ issue:"issue",
211
+ // import also BibLaTeX fields:
212
+ journaltitle:"publicationTitle",
213
+ shortjournal:"journalAbbreviation",
214
+ eventtitle:"conferenceName",
215
+ pagetotal:"numPages",
216
+ version:"version"
217
+ };
218
+
219
+ var zotero2bibtexTypeMap = {
220
+ "book":"book",
221
+ "bookSection":"incollection",
222
+ "journalArticle":"article",
223
+ "magazineArticle":"article",
224
+ "newspaperArticle":"article",
225
+ "thesis":"phdthesis",
226
+ "letter":"misc",
227
+ "manuscript":"unpublished",
228
+ "patent" :"patent",
229
+ "interview":"misc",
230
+ "film":"misc",
231
+ "artwork":"misc",
232
+ "webpage":"misc",
233
+ "conferencePaper":"inproceedings",
234
+ "report":"techreport"
235
+ };
236
+
237
+ var bibtex2zoteroTypeMap = {
238
+ "book":"book", // or booklet, proceedings
239
+ "inbook":"bookSection",
240
+ "incollection":"bookSection",
241
+ "article":"journalArticle", // or magazineArticle or newspaperArticle
242
+ "patent" :"patent",
243
+ "phdthesis":"thesis",
244
+ "unpublished":"manuscript",
245
+ "inproceedings":"conferencePaper", // check for conference also
246
+ "conference":"conferencePaper",
247
+ "techreport":"report",
248
+ "booklet":"book",
249
+ "manual":"book",
250
+ "mastersthesis":"thesis",
251
+ "misc":"document",
252
+ "proceedings":"book",
253
+ "online":"webpage",
254
+ // alias for online from BibLaTeX:
255
+ "electronic":"webpage",
256
+ // from BibLaTeX translator:
257
+ "thesis":"thesis",
258
+ "letter":"letter",
259
+ "movie":"film",
260
+ "artwork":"artwork",
261
+ "report":"report",
262
+ "legislation":"bill",
263
+ "jurisdiction":"case",
264
+ "audio":"audioRecording",
265
+ "video":"videoRecording",
266
+ "software":"computerProgram",
267
+ "inreference":"encyclopediaArticle",
268
+ "collection":"book",
269
+ "mvbook":"book"
270
+ };
271
+
272
+ /*
273
+ * three-letter month abbreviations. i assume these are the same ones that the
274
+ * docs say are defined in some appendix of the LaTeX book. (i don't have the
275
+ * LaTeX book.)
276
+ */
277
+ var months = ["jan", "feb", "mar", "apr", "may", "jun",
278
+ "jul", "aug", "sep", "oct", "nov", "dec"];
279
+
280
+ var jabref = {
281
+ format: null,
282
+ root: {}
283
+ };
284
+
285
+ var alwaysMap = {
286
+ "|":"{\\textbar}",
287
+ "<":"{\\textless}",
288
+ ">":"{\\textgreater}",
289
+ "~":"{\\textasciitilde}",
290
+ "^":"{\\textasciicircum}",
291
+ "\\":"{\\textbackslash}",
292
+ // See http://tex.stackexchange.com/questions/230750/open-brace-in-bibtex-fields/230754
293
+ "{" : "\\{\\vphantom{\\}}",
294
+ "}" : "\\vphantom{\\{}\\}"
295
+ };
296
+
297
+
298
+ var strings = {};
299
+ var keyRe = /[a-zA-Z0-9\-]/;
300
+
301
+ // Split keywords on space by default when called from another translator
302
+ // This is purely for historical reasons. Otherwise we risk breaking tag import
303
+ // from some websites
304
+ var keywordSplitOnSpace = !!Zotero.parentTranslator;
305
+ var keywordDelimRe = /\s*[,;]\s*/;
306
+
307
+ function setKeywordSplitOnSpace( val ) {
308
+ keywordSplitOnSpace = val;
309
+ }
310
+
311
+ function setKeywordDelimRe( val, flags ) {
312
+ //expect string, but it could be RegExp
313
+ if (typeof(val) != 'string') {
314
+ val = val.toString();
315
+ flags = val.slice(val.lastIndexOf('/')+1);
316
+ val = val.slice(1, val.lastIndexOf('/'));
317
+ }
318
+
319
+ keywordDelimRe = new RegExp(val, flags);
320
+ }
321
+
322
+ function processField(item, field, value, rawValue) {
323
+ if (Zotero.Utilities.trim(value) == '') return null;
324
+ if (fieldMap[field]) {
325
+ //map DOIs + Label to Extra for unsupported item types
326
+ if (field == "doi" &&!ZU.fieldIsValidForType("DOI", item.itemType) && ZU.cleanDOI(value)) {
327
+ item._extraFields.push({field: "DOI", value: ZU.cleanDOI(value)});
328
+ }
329
+ if (field == "url") { // pass raw values for URL
330
+ item.url = rawValue;
331
+ }
332
+ else {
333
+ item[fieldMap[field]] = value;
334
+ }
335
+ } else if (inputFieldMap[field]) {
336
+ item[inputFieldMap[field]] = value;
337
+ } else if (field == "subtitle") {
338
+ if (!item.title) item.title = '';
339
+ item.title = item.title.trim();
340
+ value = value.trim();
341
+
342
+ if (!/[-–—:!?.;]$/.test(item.title)
343
+ && !/^[-–—:.;¡¿]/.test(value)
344
+ ) {
345
+ item.title += ': ';
346
+ } else if (item.title.length) {
347
+ item.title += ' ';
348
+ }
349
+
350
+ item.title += value;
351
+ } else if (field == "journal") {
352
+ if (item.publicationTitle) {
353
+ item.journalAbbreviation = value;
354
+ } else {
355
+ item.publicationTitle = value;
356
+ }
357
+ } else if (field == "fjournal") {
358
+ if (item.publicationTitle) {
359
+ // move publicationTitle to abbreviation, since it probably came from 'journal'
360
+ item.journalAbbreviation = item.publicationTitle;
361
+ }
362
+ item.publicationTitle = value;
363
+ } else if (field == "author" || field == "editor" || field == "translator") {
364
+ // parse authors/editors/translators
365
+ var names = splitUnprotected(rawValue.trim(), /\s+and\s+/gi);
366
+ for (var i in names) {
367
+ var name = names[i];
368
+ // skip empty names
369
+ if (!name) continue;
370
+
371
+ // Names in BibTeX can have three commas
372
+ var pieces = splitUnprotected(name, /\s*,\s*/g);
373
+ var creator = {};
374
+ if (pieces.length > 1) {
375
+ creator.firstName = pieces.pop();
376
+ creator.lastName = unescapeBibTeX(pieces.shift());
377
+ if (pieces.length) {
378
+ // If anything is left, it should only be the 'Jr' part
379
+ creator.firstName += ', ' + pieces.join(', ');
380
+ }
381
+ creator.firstName = unescapeBibTeX(creator.firstName);
382
+ creator.creatorType = field;
383
+ } else if (splitUnprotected(name, / +/g).length > 1){
384
+ creator = Zotero.Utilities.cleanAuthor(unescapeBibTeX(name), field, false);
385
+ } else {
386
+ creator = {
387
+ lastName: unescapeBibTeX(name),
388
+ creatorType: field,
389
+ fieldMode: 1
390
+ };
391
+ }
392
+ item.creators.push(creator);
393
+ }
394
+ } else if (field == "institution" || field == "organization") {
395
+ item.backupPublisher = value;
396
+ } else if (field == "location") {
397
+ item.backupLocation = value;
398
+ } else if (field == "number") { // fix for techreport
399
+ if (item.itemType == "report") {
400
+ item.reportNumber = value;
401
+ } else if (item.itemType == "book" || item.itemType == "bookSection") {
402
+ item.seriesNumber = value;
403
+ } else if (item.itemType == "patent"){
404
+ item.patentNumber = value;
405
+ } else {
406
+ item.issue = value;
407
+ }
408
+ } else if (field == "day") {
409
+ // this and the following two blocks assign to temporary fields that
410
+ // are cleared before the item is completed. "day" isn't an official
411
+ // field, but some sites use it.
412
+ item.day = value;
413
+ } else if (field == "month") {
414
+ var monthIndex = months.indexOf(value.toLowerCase());
415
+ if (monthIndex != -1) {
416
+ value = Zotero.Utilities.formatDate({month:monthIndex});
417
+ }
418
+
419
+ item.month = value;
420
+ } else if (field == "year") {
421
+ item.year = value;
422
+ } else if (field == "date") {
423
+ //We're going to assume that "date" and the date parts don't occur together. If they do, we pick date, which should hold all.
424
+ item.date = value;
425
+ } else if (field == "pages") {
426
+ if (item.itemType == "book" || item.itemType == "thesis" || item.itemType == "manuscript") {
427
+ item.numPages = value;
428
+ }
429
+ else {
430
+ item.pages = value.replace(/--/g, "-");
431
+ }
432
+ } else if (field == "note") {
433
+ var isExtraId = false;
434
+ for (var element in extraIdentifiers) {
435
+ if (value.trim().startsWith(extraIdentifiers[element])) {
436
+ isExtraId = true;
437
+ }
438
+ }
439
+ if (isExtraId) {
440
+ item._extraFields.push({raw: value.trim()});
441
+ } else {
442
+ item.notes.push({note:Zotero.Utilities.text2html(value)});
443
+ }
444
+ } else if (field == "howpublished") {
445
+ if (value.length >= 7) {
446
+ var str = value.substr(0, 7);
447
+ if (str == "http://" || str == "https:/" || str == "mailto:") {
448
+ item.url = value;
449
+ } else {
450
+ item._extraFields.push({field: 'Published', value: value});
451
+ }
452
+ }
453
+
454
+ }
455
+ //accept lastchecked or urldate for access date. These should never both occur.
456
+ //If they do we don't know which is better so we might as well just take the second one
457
+ else if (field == "lastchecked"|| field == "urldate"){
458
+ item.accessDate = value;
459
+ } else if (field == "keywords" || field == "keyword") {
460
+ item.tags = value.split(keywordDelimRe);
461
+ if (item.tags.length == 1 && keywordSplitOnSpace) {
462
+ item.tags = value.split(/\s+/);
463
+ }
464
+ } else if (field == "comment" || field == "annote" || field == "review" || field == "notes") {
465
+ item.notes.push({note:Zotero.Utilities.text2html(value)});
466
+ } else if (field == "pdf" || field == "path" /*Papers2 compatibility*/) {
467
+ item.attachments.push({path:value, mimeType:"application/pdf"});
468
+ } else if (field == "sentelink") { // the reference manager 'Sente' has a unique file scheme in exported BibTeX; it can occur multiple times
469
+ item.attachments.push({path:value.split(",")[0], mimeType:"application/pdf"});
470
+ } else if (field == "file") {
471
+ var start = 0, attachment;
472
+ rawValue = rawValue.replace(/\$\\backslash\$/g, '\\') // Mendeley invention?
473
+ .replace(/([^\\](?:\\\\)*)\\(.){}/g, '$1$2'); // part of Mendeley's escaping (e.g. \~{} = ~)
474
+ for (var i=0; i<rawValue.length; i++) {
475
+ if (rawValue[i] == '\\') {
476
+ i++; //skip next char
477
+ continue;
478
+ }
479
+ if (rawValue[i] == ';') {
480
+ attachment = parseFilePathRecord(rawValue.slice(start, i));
481
+ if (attachment) item.attachments.push(attachment);
482
+ start = i+1;
483
+ }
484
+ }
485
+
486
+ attachment = parseFilePathRecord(rawValue.slice(start));
487
+ if (attachment) item.attachments.push(attachment);
488
+ } else if (field == "eprint" || field == "eprinttype") {
489
+ // Support for IDs exported by BibLaTeX
490
+ if (field == 'eprint') item._eprint = value;
491
+ else item._eprinttype = value;
492
+
493
+ var eprint = item._eprint;
494
+ var eprinttype = item._eprinttype;
495
+ // If we don't have both yet, continue
496
+ if (!eprint || !eprinttype) return;
497
+
498
+ var label = eprintIds[eprinttype.trim().toLowerCase()];
499
+ if (!label) return;
500
+
501
+ item._extraFields.push({field: label, value: eprint.trim()});
502
+
503
+ delete item._eprinttype;
504
+ delete item._eprint;
505
+ } else if (extraIdentifiers[field]) {
506
+ var label = extraIdentifiers[field];
507
+ item._extraFields.push({field: label, value: value.trim()});
508
+ }
509
+ }
510
+
511
+ /**
512
+ * Split a string on a provided delimiter, but not if delimiter appears inside { }
513
+ * @param {String} str String to split
514
+ * @param {RegExp} delim RegExp object for the split delimiter. Use g flag to split on each
515
+ * @return {String[]} Array of strings without delimiters
516
+ */
517
+ function splitUnprotected(str, delim) {
518
+ delim.lastIndex = 0; // In case we're reusing a regexp
519
+ var nextPossibleSplit = delim.exec(str);
520
+ if (!nextPossibleSplit) return [str];
521
+
522
+ var parts = [], open = 0, nextPartStart = 0;
523
+ for (var i=0; i<str.length; i++) {
524
+ if (i>nextPossibleSplit.index) {
525
+ // Must have been inside braces
526
+ nextPossibleSplit = delim.exec(str);
527
+ if (!nextPossibleSplit) {
528
+ parts.push(str.substr(nextPartStart));
529
+ return parts;
530
+ }
531
+ }
532
+
533
+ if (str[i] == '\\') {
534
+ // Skip next character
535
+ i++;
536
+ continue;
537
+ }
538
+
539
+ if (str[i] == '{') {
540
+ open++;
541
+ continue;
542
+ }
543
+
544
+ if (str[i] == '}') {
545
+ open--;
546
+ if (open < 0) open = 0; // Shouldn't happen, but...
547
+ continue;
548
+ }
549
+
550
+ if (open) continue;
551
+
552
+ if (i == nextPossibleSplit.index) {
553
+ parts.push(str.substring(nextPartStart, i));
554
+ i += nextPossibleSplit[0].length - 1; // We can jump past the split delim
555
+ nextPartStart = i + 1;
556
+ nextPossibleSplit = delim.exec(str);
557
+ if (!nextPossibleSplit) {
558
+ parts.push(str.substr(nextPartStart));
559
+ return parts;
560
+ }
561
+ }
562
+ }
563
+
564
+ // I don't think we should ever get here*, but just to be safe
565
+ // *we should always be returning from the for loop
566
+ var last = str.substr(nextPartStart).trim();
567
+ if (last) parts.push(last);
568
+
569
+ return parts;
570
+ }
571
+
572
+ function parseFilePathRecord(record) {
573
+ var start = 0, fields = [];
574
+ for (var i=0; i<record.length; i++) {
575
+ if (record[i] == '\\') {
576
+ i++;
577
+ continue;
578
+ }
579
+ if (record[i] == ':') {
580
+ fields.push(decodeFilePathComponent(record.slice(start, i)));
581
+ start = i+1;
582
+ }
583
+ }
584
+
585
+ fields.push(decodeFilePathComponent(record.slice(start)));
586
+
587
+ if (fields.length != 3 && fields.length != 1) {
588
+ Zotero.debug("Unknown file path record format: " + record);
589
+ return;
590
+ }
591
+
592
+ var attachment = {};
593
+ if (fields.length == 3) {
594
+ attachment.title = fields[0].trim() || 'Attachment';
595
+ attachment.path = fields[1];
596
+ attachment.mimeType = fields[2];
597
+ if (attachment.mimeType.search(/pdf/i) != -1) {
598
+ attachment.mimeType = 'application/pdf';
599
+ }
600
+ } else {
601
+ attachment.title = 'Attachment';
602
+ attachment.path = fields[0];
603
+ }
604
+
605
+ attachment.path = attachment.path.trim();
606
+ if (!attachment.path) return;
607
+
608
+ return attachment;
609
+ }
610
+
611
+ function getFieldValue(read) {
612
+ var value = "";
613
+ // now, we have the first character of the field
614
+ if (read == "{") {
615
+ // character is a brace
616
+ var openBraces = 1, nextAsLiteral = false;
617
+ while (read = Zotero.read(1)) {
618
+ if (nextAsLiteral) { // Previous character was a backslash
619
+ value += read;
620
+ nextAsLiteral = false;
621
+ continue;
622
+ }
623
+
624
+ if (read == "\\") {
625
+ value += read;
626
+ nextAsLiteral = true;
627
+ continue;
628
+ }
629
+
630
+ if (read == "{") {
631
+ openBraces++;
632
+ value += "{";
633
+ } else if (read == "}") {
634
+ openBraces--;
635
+ if (openBraces == 0) {
636
+ break;
637
+ } else {
638
+ value += "}";
639
+ }
640
+ } else {
641
+ value += read;
642
+ }
643
+ }
644
+
645
+ } else if (read == '"') {
646
+ var openBraces = 0;
647
+ while (read = Zotero.read(1)) {
648
+ if (read == "{" && value[value.length-1] != "\\") {
649
+ openBraces++;
650
+ value += "{";
651
+ } else if (read == "}" && value[value.length-1] != "\\") {
652
+ openBraces--;
653
+ value += "}";
654
+ } else if (read == '"' && openBraces == 0) {
655
+ break;
656
+ } else {
657
+ value += read;
658
+ }
659
+ }
660
+ }
661
+
662
+ return value;
663
+ }
664
+
665
+ function unescapeBibTeX(value) {
666
+ if (value.length < 2) return value;
667
+
668
+ // replace accented characters (yucky slow)
669
+ value = value.replace(/{?(\\[`"'^~=]){?\\?([A-Za-z])}/g, "{$1$2}");
670
+ // normalize some special characters, e.g. caron \v{c} -> {\v c}
671
+ value = value.replace(/(\\[a-z]){(\\?[A-Za-z])}/g, "{$1 $2}");
672
+ //convert tex markup into permitted HTML
673
+ value = mapTeXmarkup(value);
674
+ for (var mapped in reversemappingTable) { // really really slow!
675
+ var unicode = reversemappingTable[mapped];
676
+ while (value.includes(mapped)) {
677
+ Zotero.debug("Replace " + mapped + " in " + value + " with " + unicode);
678
+ value = value.replace(mapped, unicode);
679
+ }
680
+ mapped = mapped.replace(/[{}]/g, "");
681
+ while (value.includes(mapped)) {
682
+ //Z.debug(value)
683
+ Zotero.debug("Replace(2) " + mapped + " in " + value + " with " + unicode);
684
+ value = value.replace(mapped, unicode);
685
+ }
686
+ }
687
+ value = value.replace(/\$([^$]+)\$/g, '$1')
688
+
689
+ // kill braces
690
+ value = value.replace(/([^\\])[{}]+/g, "$1");
691
+ if (value[0] == "{") {
692
+ value = value.substr(1);
693
+ }
694
+
695
+ // chop off backslashes
696
+ value = value.replace(/([^\\])\\([#$%&~_^\\{}])/g, "$1$2");
697
+ value = value.replace(/([^\\])\\([#$%&~_^\\{}])/g, "$1$2");
698
+ if (value[0] == "\\" && "#$%&~_^\\{}".includes(value[1])) {
699
+ value = value.substr(1);
700
+ }
701
+ if (value[value.length-1] == "\\" && "#$%&~_^\\{}".includes(value[value.length-2])) {
702
+ value = value.substr(0, value.length-1);
703
+ }
704
+ value = value.replace(/\\\\/g, "\\");
705
+ value = value.replace(/\s+/g, " ");
706
+
707
+ // Unescape HTML entities coming from web translators
708
+ if (Zotero.parentTranslator && value.includes('&')) {
709
+ value = value.replace(/&#?\w+;/g, function(entity) {
710
+ var char = ZU.unescapeHTML(entity);
711
+ if (char == entity) char = ZU.unescapeHTML(entity.toLowerCase()); // Sometimes case can be incorrect and entities are case-sensitive
712
+
713
+ return char;
714
+ });
715
+ }
716
+
717
+ return value;
718
+ }
719
+
720
+ function jabrefSplit(str, sep) {
721
+ var quoted = false;
722
+ var result = [];
723
+
724
+ str = str.split('');
725
+ while (str.length > 0) {
726
+ if (result.length == 0) { result = ['']; }
727
+
728
+ if (str[0] == sep) {
729
+ str.shift();
730
+ result.push('');
731
+ } else {
732
+ if (str[0] == '\\') { str.shift(); }
733
+ result[result.length - 1] += str.shift();
734
+ }
735
+ }
736
+ return result;
737
+ }
738
+
739
+ function jabrefCollect(arr, func) {
740
+ if (arr == null) { return []; }
741
+
742
+ var result = [];
743
+
744
+ for (var i = 0; i < arr.length; i++) {
745
+ if (func(arr[i])) {
746
+ result.push(arr[i]);
747
+ }
748
+ }
749
+ return result;
750
+ }
751
+
752
+ function processComment() {
753
+ var comment = "";
754
+ var read;
755
+ var collectionPath = [];
756
+ var parentCollection, collection;
757
+
758
+ while (read = Zotero.read(1)) {
759
+ if (read == "}") { break; } // JabRef ought to escape '}' but doesn't; embedded '}' chars will break the import just as it will on JabRef itself
760
+ comment += read;
761
+ }
762
+
763
+ if (comment == 'jabref-meta: groupsversion:3;') {
764
+ jabref.format = 3;
765
+ return;
766
+ }
767
+
768
+ if (comment.startsWith('jabref-meta: groupstree:')) {
769
+ if (jabref.format != 3) {
770
+ Zotero.debug("jabref: fatal: unsupported group format: " + jabref.format);
771
+ return;
772
+ }
773
+ comment = comment.replace(/^jabref-meta: groupstree:/, '').replace(/[\r\n]/gm, '');
774
+
775
+ var records = jabrefSplit(comment, ';');
776
+ while (records.length > 0) {
777
+ var record = records.shift();
778
+ var keys = jabrefSplit(record, ';');
779
+ if (keys.length < 2) { continue; }
780
+
781
+ var record = {id: keys.shift()};
782
+ record.data = record.id.match(/^([0-9]) ([^:]*):(.*)/);
783
+ if (record.data == null) {
784
+ Zotero.debug("jabref: fatal: unexpected non-match for group " + record.id);
785
+ return;
786
+ }
787
+ record.level = parseInt(record.data[1]);
788
+ record.type = record.data[2];
789
+ record.name = record.data[3];
790
+ record.intersection = keys.shift(); // 0 = independent, 1 = intersection, 2 = union
791
+
792
+ if (isNaN(record.level)) {
793
+ Zotero.debug("jabref: fatal: unexpected record level in " + record.id);
794
+ return;
795
+ }
796
+
797
+ if (record.level == 0) { continue; }
798
+ if (record.type != 'ExplicitGroup') {
799
+ Zotero.debug("jabref: fatal: group type " + record.type + " is not supported");
800
+ return;
801
+ }
802
+
803
+ collectionPath = collectionPath.slice(0, record.level - 1).concat([record.name]);
804
+ Zotero.debug("jabref: locating level " + record.level + ": " + collectionPath.join('/'));
805
+
806
+ if (jabref.root.hasOwnProperty(collectionPath[0])) {
807
+ collection = jabref.root[collectionPath[0]];
808
+ Zotero.debug("jabref: root " + collection.name + " found");
809
+ } else {
810
+ collection = new Zotero.Collection();
811
+ collection.name = collectionPath[0];
812
+ collection.type = 'collection';
813
+ collection.children = [];
814
+ jabref.root[collectionPath[0]] = collection;
815
+ Zotero.debug("jabref: root " + collection.name + " created");
816
+ }
817
+ parentCollection = null;
818
+
819
+ for (var i = 1; i < collectionPath.length; i++) {
820
+ var path = collectionPath[i];
821
+ Zotero.debug("jabref: looking for child " + path + " under " + collection.name);
822
+
823
+ var child = jabrefCollect(collection.children, function(n) { return (n.name == path); });
824
+ if (child.length != 0) {
825
+ child = child[0];
826
+ Zotero.debug("jabref: child " + child.name + " found under " + collection.name);
827
+ } else {
828
+ child = new Zotero.Collection();
829
+ child.name = path;
830
+ child.type = 'collection';
831
+ child.children = [];
832
+
833
+ collection.children.push(child);
834
+ Zotero.debug("jabref: child " + child.name + " created under " + collection.name);
835
+ }
836
+
837
+ parentCollection = collection;
838
+ collection = child;
839
+ }
840
+
841
+ if (parentCollection) {
842
+ parentCollection = jabrefCollect(parentCollection.children, function(n) { return (n.type == 'item'); });
843
+ }
844
+
845
+ if (record.intersection == '2' && parentCollection) { // union with parent
846
+ collection.children = parentCollection;
847
+ }
848
+
849
+ while (keys.length > 0) {
850
+ var key = keys.shift();
851
+ if (key != '') {
852
+ Zotero.debug('jabref: adding ' + key + ' to ' + collection.name);
853
+ collection.children.push({type: 'item', id: key});
854
+ }
855
+ }
856
+
857
+ if (parentCollection && record.intersection == '1') { // intersection with parent
858
+ collection.children = jabrefMap(collection.children, function(n) { parentCollection.includes(n); });
859
+ }
860
+ }
861
+ }
862
+ }
863
+
864
+ function beginRecord(type, closeChar) {
865
+ type = Zotero.Utilities.trimInternal(type.toLowerCase());
866
+ if (type !== "string" && type !== "preamble") {
867
+ var zoteroType = bibtex2zoteroTypeMap[type];
868
+ if (!zoteroType) {
869
+ Zotero.debug("discarded item from BibTeX; type was "+type);
870
+ return;
871
+ }
872
+ var item = new Zotero.Item(zoteroType);
873
+ item._extraFields = [];
874
+ }
875
+ else if (type == "preamble") { // Preamble (keeping separate in case we want to do something with these)
876
+ Zotero.debug("discarded preamble from BibTeX");
877
+ return;
878
+ }
879
+
880
+ // For theses write the thesisType determined by the BibTeX type.
881
+ if (type == "mastersthesis" && item) item.type = "Master's Thesis";
882
+ if (type == "phdthesis" && item) item.type = "PhD Thesis";
883
+
884
+ var field = "";
885
+
886
+ // by setting dontRead to true, we can skip a read on the next iteration
887
+ // of this loop. this is useful after we read past the end of a string.
888
+ var dontRead = false;
889
+
890
+ var value, rawValue;
891
+ while (dontRead || (read = Zotero.read(1))) {
892
+ dontRead = false;
893
+
894
+ // the equal sign indicate the start of the value
895
+ // which will be handled in the following part
896
+ // possible formats are:
897
+ // = 42,
898
+ // = "42",
899
+ // = {42},
900
+ // = name, (where this is defined as a string)
901
+ if (read == "=") {
902
+ var valueArray = [];
903
+ var rawValueArray = [];
904
+ // concatenation is possible with # and for that we
905
+ // do this do-while-loop here, e.g.
906
+ // = name # " and " # "Adam Smith",
907
+ do {
908
+ var read = Zotero.read(1);
909
+ // skip whitespaces
910
+ while (" \n\r\t".includes(read)) {
911
+ read = Zotero.read(1);
912
+ }
913
+
914
+ if (keyRe.test(read)) {
915
+ // read numeric data here, since we might get an end bracket
916
+ // that we should care about
917
+ value = "";
918
+ value += read;
919
+
920
+ // character is a number or part of a string name
921
+ while ((read = Zotero.read(1)) && /[a-zA-Z0-9\-:_]/.test(read)) {
922
+ value += read;
923
+ }
924
+
925
+ // don't read the next char; instead, process the character
926
+ // we already read past the end of the string
927
+ dontRead = true;
928
+
929
+ // see if there's a defined string
930
+ if (strings[value.toLowerCase()]) value = strings[value.toLowerCase()];
931
+
932
+ // rawValue has to be set for some fields to process
933
+ // thus, in this case, we set it equal to value
934
+ rawValue = value;
935
+ } else {
936
+ rawValue = getFieldValue(read);
937
+ value = unescapeBibTeX(rawValue);
938
+ }
939
+
940
+ valueArray.push(value);
941
+ rawValueArray.push(rawValue);
942
+
943
+ while (" \n\r\t".includes(read)) {
944
+ read = Zotero.read(1);
945
+ }
946
+
947
+ } while (read === "#");
948
+
949
+ value = valueArray.join('');
950
+ rawValue = rawValueArray.join('');
951
+
952
+ if (item) {
953
+ processField(item, field.toLowerCase(), value, rawValue);
954
+ } else if (type == "string") {
955
+ strings[field.toLowerCase()] = value;
956
+ }
957
+ field = "";
958
+ }
959
+ // commas reset, i.e. we are not reading a field
960
+ // but rather we are reading the bibkey
961
+ else if (read == ",") {
962
+ if (item.itemID == null) {
963
+ item.itemID = field; // itemID = citekey
964
+ }
965
+ field = "";
966
+
967
+ }
968
+ // closing character
969
+ else if (read == closeChar) {
970
+ if (item) {
971
+ if (item.backupLocation) {
972
+ if (item.itemType=="conferencePaper") {
973
+ item._extraFields.push({field: "event-place", value: item.backupLocation});
974
+ } else if (!item.place) {
975
+ item.place = item.backupLocation;
976
+ }
977
+ delete item.backupLocation;
978
+ }
979
+
980
+ if (!item.date) {
981
+ item.date = dateFieldsToDate(item.year, item.month, item.day);
982
+ }
983
+ delete item.year;
984
+ delete item.month;
985
+ delete item.day;
986
+
987
+ item.extra = extraFieldsToString(item._extraFields);
988
+ delete item._extraFields;
989
+
990
+ if (!item.publisher && item.backupPublisher){
991
+ item.publisher=item.backupPublisher;
992
+ delete item.backupPublisher;
993
+ }
994
+ return item.complete();
995
+ }
996
+ return;
997
+ }
998
+ // skip whitespaces; the rest will become
999
+ // the field name (or bibkey)
1000
+ else if (!" \n\r\t".includes(read)) {
1001
+ field += read;
1002
+ }
1003
+ }
1004
+ }
1005
+
1006
+ function doImport() {
1007
+ if (typeof Promise == 'undefined') {
1008
+ readString(
1009
+ function () {},
1010
+ function (e) {
1011
+ throw e;
1012
+ }
1013
+ );
1014
+ }
1015
+ else {
1016
+ return new Promise(function (resolve, reject) {
1017
+ readString(resolve, reject);
1018
+ });
1019
+ }
1020
+ }
1021
+
1022
+ function readString(resolve, reject) {
1023
+ var read = "";
1024
+ var type = false;
1025
+
1026
+ var next = function () {
1027
+ readString(resolve, reject);
1028
+ };
1029
+
1030
+ try {
1031
+ while (read = Zotero.read(1)) {
1032
+ if (read == "@") {
1033
+ type = "";
1034
+ } else if (type !== false) {
1035
+ if (type == "comment") {
1036
+ processComment();
1037
+ type = false;
1038
+ } else if (read == "{") { // possible open character
1039
+ // This might return a promise if an item was saved
1040
+ // TODO: When 5.0-only, make sure this always returns a promise
1041
+ var maybePromise = beginRecord(type, "}");
1042
+ if (maybePromise) {
1043
+ maybePromise.then(next);
1044
+ return;
1045
+ }
1046
+ } else if (read == "(") { // possible open character
1047
+ var maybePromise = beginRecord(type, ")");
1048
+ if (maybePromise) {
1049
+ maybePromise.then(next);
1050
+ return;
1051
+ }
1052
+ } else if (/[a-zA-Z0-9-_]/.test(read)) {
1053
+ type += read;
1054
+ }
1055
+ }
1056
+ }
1057
+ for (var key in jabref.root) {
1058
+ // TODO: Handle promise?
1059
+ if (jabref.root.hasOwnProperty(key)) { jabref.root[key].complete(); }
1060
+ }
1061
+ }
1062
+ catch (e) {
1063
+ reject(e);
1064
+ return;
1065
+ }
1066
+
1067
+ resolve();
1068
+ }
1069
+
1070
+ // some fields are, in fact, macros. If that is the case then we should not put the
1071
+ // data in the braces as it will cause the macros to not expand properly
1072
+ function writeField(field, value, isMacro) {
1073
+ if (!value && typeof value != "number") return;
1074
+ value = value + ""; // convert integers to strings
1075
+
1076
+ Zotero.write(",\n\t" + field + " = ");
1077
+ if (!isMacro) Zotero.write("{");
1078
+ // url field is preserved, for use with \href and \url
1079
+ // Other fields (DOI?) may need similar treatment
1080
+ if (!isMacro && !(field == "url" || field == "doi" || field == "file" || field == "lccn" )) {
1081
+ // I hope these are all the escape characters!
1082
+ value = escapeSpecialCharacters(value);
1083
+
1084
+ if (caseProtectedFields.includes(field)) {
1085
+ value = ZU.XRegExp.replace(value, protectCapsRE, "$1{$2$3}"); // only $2 or $3 will have a value, not both
1086
+ }
1087
+ }
1088
+ var exportCharset = Zotero.getOption("exportCharset");
1089
+ if (exportCharset && !exportCharset.startsWith("UTF-8")) {
1090
+ value = value.replace(/[\u0080-\uFFFF]/g, mapAccent);
1091
+ }
1092
+ //convert the HTML markup allowed in Zotero for rich text to TeX; excluding doi/url/file shouldn't be necessary, but better to be safe;
1093
+ if (!((field == "url") || (field == "doi") || (field == "file"))) value = mapHTMLmarkup(value);
1094
+ Zotero.write(value);
1095
+ if (!isMacro) Zotero.write("}");
1096
+ }
1097
+
1098
+ function mapHTMLmarkup(characters){
1099
+ //converts the HTML markup allowed in Zotero for rich text to TeX
1100
+ //since < and > have already been escaped, we need this rather hideous code - I couldn't see a way around it though.
1101
+ //italics and bold
1102
+ characters = characters.replace(/\{\\textless\}i\{\\textgreater\}(.+?)\{\\textless\}\/i{\\textgreater\}/g, "\\textit{$1}")
1103
+ .replace(/\{\\textless\}b\{\\textgreater\}(.+?)\{\\textless\}\/b{\\textgreater\}/g, "\\textbf{$1}");
1104
+ //sub and superscript
1105
+ characters = characters.replace(/\{\\textless\}sup\{\\textgreater\}(.+?)\{\\textless\}\/sup{\\textgreater\}/g, "\$^{\\textrm{$1}}\$")
1106
+ .replace(/\{\\textless\}sub\{\\textgreater\}(.+?)\{\\textless\}\/sub\{\\textgreater\}/g, "\$_{\\textrm{$1}}\$");
1107
+ //two variants of small caps
1108
+ characters = characters.replace(/\{\\textless\}span\sstyle=\"small\-caps\"\{\\textgreater\}(.+?)\{\\textless\}\/span{\\textgreater\}/g, "\\textsc{$1}")
1109
+ .replace(/\{\\textless\}sc\{\\textgreater\}(.+?)\{\\textless\}\/sc\{\\textgreater\}/g, "\\textsc{$1}");
1110
+ return characters;
1111
+ }
1112
+
1113
+ function xcase(prefix, cased, tag, tex) {
1114
+ return (prefix ? `$${prefix}$` : '') + (reversemappingTable[`$${tex}{${cased}}$`] || `<${tag}>${cased}</${tag}>`)
1115
+ }
1116
+ function sup(match, prefix, cased) {
1117
+ return xcase(prefix, cased, 'sup', '^');
1118
+ }
1119
+ function sub(match, prefix, cased) {
1120
+ return xcase(prefix, cased, 'sub', '_');
1121
+ }
1122
+ function mapTeXmarkup(tex){
1123
+ //reverse of the above - converts tex mark-up into html mark-up permitted by Zotero
1124
+ //italics and bold
1125
+ tex = tex.replace(/\\textit\{([^\}]+\})/g, "<i>$1</i>").replace(/\\textbf\{([^\}]+\})/g, "<b>$1</b>");
1126
+ //two versions of subscript the .* after $ is necessary because people m
1127
+ tex = tex.replace(/\$([^\{\$]*)_\{([^\}]+)\}\$/g, sub).replace(/\$([^\{\$]*)_\{\\textrm\{([^\}\$]+)\}\}\$/g, sub);
1128
+ //two version of superscript
1129
+ tex = tex.replace(/\$([^\{\$]*)\^\{([^\}]+)\}\$/g, sup).replace(/\$([^\{\$]*)\^\{\\textrm\{([^\}]+)\}\}\$/g, sup);
1130
+ //small caps
1131
+ tex = tex.replace(/\\textsc\{([^\}]+)/g, "<span style=\"small-caps\">$1</span>");
1132
+ return tex;
1133
+ }
1134
+ //Disable the isTitleCase function until we decide what to do with it.
1135
+ /* const skipWords = ["but", "or", "yet", "so", "for", "and", "nor",
1136
+ "a", "an", "the", "at", "by", "from", "in", "into", "of", "on",
1137
+ "to", "with", "up", "down", "as", "while", "aboard", "about",
1138
+ "above", "across", "after", "against", "along", "amid", "among",
1139
+ "anti", "around", "as", "before", "behind", "below", "beneath",
1140
+ "beside", "besides", "between", "beyond", "but", "despite",
1141
+ "down", "during", "except", "for", "inside", "like", "near",
1142
+ "off", "onto", "over", "past", "per", "plus", "round", "save",
1143
+ "since", "than", "through", "toward", "towards", "under",
1144
+ "underneath", "unlike", "until", "upon", "versus", "via",
1145
+ "within", "without"];
1146
+
1147
+ function isTitleCase(string) {
1148
+ const wordRE = /[\s[(]([^\s,\.:?!\])]+)/g;
1149
+
1150
+ var word;
1151
+ while (word = wordRE.exec(string)) {
1152
+ word = word[1];
1153
+ if (word.search(/\d/) != -1 //ignore words with numbers (including just numbers)
1154
+ || skipWords.includes(word.toLowerCase())) {
1155
+ continue;
1156
+ }
1157
+
1158
+ if (word.toLowerCase() == word) return false;
1159
+ }
1160
+ return true;
1161
+ }
1162
+ */
1163
+
1164
+ // See http://tex.stackexchange.com/questions/230750/open-brace-in-bibtex-fields/230754
1165
+ var vphantomRe = /\\vphantom{\\}}((?:.(?!\\vphantom{\\}}))*)\\vphantom{\\{}/g;
1166
+ function escapeSpecialCharacters(str) {
1167
+ var newStr = str.replace(/[|\<\>\~\^\\\{\}]/g, function(c) { return alwaysMap[c]; })
1168
+ .replace(/([\#\$\%\&\_])/g, "\\$1");
1169
+
1170
+ // We escape each brace in the text by making sure that it has a counterpart,
1171
+ // but sometimes this is overkill if the brace already has a counterpart in
1172
+ // the text.
1173
+ if (newStr.includes('\\vphantom')) {
1174
+ var m;
1175
+ while (m = vphantomRe.exec(newStr)) {
1176
+ // Can't use a simple replace, because we want to match up inner with inner
1177
+ // and outer with outer
1178
+ newStr = newStr.substr(0,m.index) + m[1] + newStr.substr(m.index + m[0].length);
1179
+ vphantomRe.lastIndex = 0; // Start over, because the previous replacement could have created a new pair
1180
+ }
1181
+ }
1182
+
1183
+ return newStr;
1184
+ }
1185
+
1186
+ function mapAccent(character) {
1187
+ return (mappingTable[character] ? mappingTable[character] : "?");
1188
+ }
1189
+
1190
+ var filePathSpecialChars = '\\\\:;$'; // $ for Mendeley (see cleanFilePath for {})
1191
+ var encodeFilePathRE = new RegExp('[' + filePathSpecialChars + ']', 'g');
1192
+
1193
+ // We strip out {} in general, because \{ and \} still break BibTeX (0.99d)
1194
+ function cleanFilePath(str) {
1195
+ if (!str) return '';
1196
+ return str.replace(/(?:\s*[{}]+)+\s*/g, ' ');
1197
+ }
1198
+
1199
+ function encodeFilePathComponent(value) {
1200
+ if (!value) return '';
1201
+ return value.replace(encodeFilePathRE, "\\$&");
1202
+ }
1203
+
1204
+ function decodeFilePathComponent(value) {
1205
+ if (!value) return '';
1206
+ return value.replace(/\\([^A-Za-z0-9.])/g, "$1");
1207
+ }
1208
+
1209
+ // a little substitution function for BibTeX keys, where we don't want LaTeX
1210
+ // escaping, but we do want to preserve the base characters
1211
+
1212
+ function tidyAccents(s) {
1213
+ var r=s.toLowerCase();
1214
+
1215
+ // XXX Remove conditional when we drop Zotero 2.1.x support
1216
+ // This is supported in Zotero 3.0 and higher
1217
+ if (ZU.removeDiacritics !== undefined)
1218
+ r = ZU.removeDiacritics(r, true);
1219
+ else {
1220
+ // We fall back on the replacement list we used previously
1221
+ r = r.replace(new RegExp("[ä]", 'g'),"ae");
1222
+ r = r.replace(new RegExp("[ö]", 'g'),"oe");
1223
+ r = r.replace(new RegExp("[ü]", 'g'),"ue");
1224
+ r = r.replace(new RegExp("[àáâãå]", 'g'),"a");
1225
+ r = r.replace(new RegExp("æ", 'g'),"ae");
1226
+ r = r.replace(new RegExp("ç", 'g'),"c");
1227
+ r = r.replace(new RegExp("[èéêë]", 'g'),"e");
1228
+ r = r.replace(new RegExp("[ìíîï]", 'g'),"i");
1229
+ r = r.replace(new RegExp("ñ", 'g'),"n");
1230
+ r = r.replace(new RegExp("[òóôõ]", 'g'),"o");
1231
+ r = r.replace(new RegExp("œ", 'g'),"oe");
1232
+ r = r.replace(new RegExp("[ùúû]", 'g'),"u");
1233
+ r = r.replace(new RegExp("[ýÿ]", 'g'),"y");
1234
+ }
1235
+
1236
+ return r;
1237
+ };
1238
+
1239
+ var numberRe = /^[0-9]+/;
1240
+ // Below is a list of words that should not appear as part of the citation key
1241
+ // it includes the indefinite articles of English, German, French and Spanish, as well as a small set of English prepositions whose
1242
+ // force is more grammatical than lexical, i.e. which are likely to strike many as 'insignificant'.
1243
+ // The assumption is that most who want a title word in their key would prefer the first word of significance.
1244
+ // Also remove markup
1245
+ var citeKeyTitleBannedRe = /\b(a|an|the|some|from|on|in|to|of|do|with|der|die|das|ein|eine|einer|eines|einem|einen|un|une|la|le|l\'|les|el|las|los|al|uno|una|unos|unas|de|des|del|d\')(\s+|\b)|(<\/?(i|b|sup|sub|sc|span style=\"small-caps\"|span)>)/g;
1246
+ var citeKeyConversionsRe = /%([a-zA-Z])/;
1247
+
1248
+ var citeKeyConversions = {
1249
+ "a":function (flags, item) {
1250
+ if (item.creators && item.creators[0] && item.creators[0].lastName) {
1251
+ return item.creators[0].lastName.toLowerCase().replace(/ /g,"_").replace(/,/g,"");
1252
+ }
1253
+ return "noauthor";
1254
+ },
1255
+ "t":function (flags, item) {
1256
+ if (item["title"]) {
1257
+ return item["title"].toLowerCase().replace(citeKeyTitleBannedRe, "").split(/\s+/g)[0];
1258
+ }
1259
+ return "notitle";
1260
+ },
1261
+ "y":function (flags, item) {
1262
+ if (item.date) {
1263
+ var date = Zotero.Utilities.strToDate(item.date);
1264
+ if (date.year && numberRe.test(date.year)) {
1265
+ return date.year;
1266
+ }
1267
+ }
1268
+ return "nodate";
1269
+ }
1270
+ };
1271
+
1272
+
1273
+ function buildCiteKey (item, extraFields, citekeys) {
1274
+ if (extraFields) {
1275
+ const citationKey = extraFields.findIndex(field => field.field && field.value && field.field.toLowerCase() === 'citation key');
1276
+ if (citationKey >= 0) return extraFields.splice(citationKey, 1)[0].value;
1277
+ }
1278
+
1279
+ if (item.citationKey) return item.citationKey;
1280
+
1281
+ var basekey = "";
1282
+ var counter = 0;
1283
+ var citeKeyFormatRemaining = citeKeyFormat;
1284
+ while (citeKeyConversionsRe.test(citeKeyFormatRemaining)) {
1285
+ if (counter > 100) {
1286
+ Zotero.debug("Pathological BibTeX format: " + citeKeyFormat);
1287
+ break;
1288
+ }
1289
+ var m = citeKeyFormatRemaining.match(citeKeyConversionsRe);
1290
+ if (m.index > 0) {
1291
+ //add data before the conversion match to basekey
1292
+ basekey = basekey + citeKeyFormatRemaining.substr(0, m.index);
1293
+ }
1294
+ var flags = ""; // for now
1295
+ var f = citeKeyConversions[m[1]];
1296
+ if (typeof(f) == "function") {
1297
+ var value = f(flags, item);
1298
+ Zotero.debug("Got value " + value + " for %" + m[1]);
1299
+ //add conversion to basekey
1300
+ basekey = basekey + value;
1301
+ }
1302
+ citeKeyFormatRemaining = citeKeyFormatRemaining.substr(m.index + m.length);
1303
+ counter++;
1304
+ }
1305
+ if (citeKeyFormatRemaining.length > 0) {
1306
+ basekey = basekey + citeKeyFormatRemaining;
1307
+ }
1308
+
1309
+ // for now, remove any characters not explicitly known to be allowed;
1310
+ // we might want to allow UTF-8 citation keys in the future, depending
1311
+ // on implementation support.
1312
+ //
1313
+ // no matter what, we want to make sure we exclude
1314
+ // " # % ' ( ) , = { } ~ and backslash
1315
+ // however, we want to keep the base characters
1316
+
1317
+ basekey = tidyAccents(basekey);
1318
+ // use legacy pattern for all old items to not break existing usages
1319
+ var citeKeyCleanRe = /[^a-z0-9\!\$\&\*\+\-\.\/\:\;\<\>\?\[\]\^\_\`\|]+/g;
1320
+ // but use the simple pattern for all newly added items
1321
+ // or always if the hiddenPref is set
1322
+ // extensions.zotero.translators.BibTeX.export.simpleCitekey
1323
+ if ((Zotero.getHiddenPref && Zotero.getHiddenPref('BibTeX.export.simpleCitekey'))
1324
+ || (item.dateAdded && parseInt(item.dateAdded.substr(0, 4)) >= 2020)) {
1325
+ citeKeyCleanRe = /[^a-z0-9_-]/g;
1326
+ }
1327
+ basekey = basekey.replace(citeKeyCleanRe, "");
1328
+ var citekey = basekey;
1329
+ var i = 0;
1330
+ while (citekeys[citekey]) {
1331
+ i++;
1332
+ citekey = basekey + "-" + i;
1333
+ }
1334
+ citekeys[citekey] = true;
1335
+ return citekey;
1336
+ }
1337
+
1338
+ var protectCapsRE;
1339
+ function doExport() {
1340
+ if (Zotero.getHiddenPref && Zotero.getHiddenPref('BibTeX.export.dontProtectInitialCase')) {
1341
+ // Case of words with uppercase characters in non-initial positions is
1342
+ // preserved with braces.
1343
+ // Two extra captures because of the other regexp below
1344
+ protectCapsRE = new ZU.XRegExp("()()\\b([\\p{Letter}\\d]+\\p{Uppercase_Letter}[\\p{Letter}\\d]*)", 'g');
1345
+ } else {
1346
+ // Protect all upper case letters, even if the uppercase letter is only in
1347
+ // initial position of the word.
1348
+ // Don't protect first word if only first letter is capitalized
1349
+ protectCapsRE = new ZU.XRegExp(
1350
+ "(.)\\b([\\p{Letter}\\d]*\\p{Uppercase_Letter}[\\p{Letter}\\d]*)" // Non-initial words with capital letter anywhere
1351
+ + "|^([\\p{Letter}\\d]+\\p{Uppercase_Letter}[\\p{Letter}\\d]*)" // Initial word with capital in non-initial position
1352
+ , 'g');
1353
+ }
1354
+
1355
+ //Zotero.write("% BibTeX export generated by Zotero "+Zotero.Utilities.getVersion());
1356
+ // to make sure the BOM gets ignored
1357
+ Zotero.write("\n");
1358
+
1359
+ var first = true;
1360
+ var citekeys = new Object();
1361
+ var item;
1362
+ while (item = Zotero.nextItem()) {
1363
+ //don't export standalone notes and attachments
1364
+ if (item.itemType == "note" || item.itemType == "attachment") continue;
1365
+
1366
+ // determine type
1367
+ var type = zotero2bibtexTypeMap[item.itemType];
1368
+ if (typeof(type) == "function") { type = type(item); }
1369
+
1370
+ // For theses BibTeX distinguish between @mastersthesis and @phdthesis
1371
+ // and the default mapping will map all Zotero thesis items to a
1372
+ // BibTeX phdthesis item. Here we try to fix this by examining the
1373
+ // Zotero thesisType field.
1374
+ if (type == "phdthesis") {
1375
+ // In practice, we just want to separate out masters theses,
1376
+ // and will assume everything else maps to @phdthesis. Better to
1377
+ // err on the side of caution.
1378
+ var thesisType = item.type && item.type.toLowerCase().replace(/[\s.]+|thesis|unpublished/g, '');
1379
+ if (thesisType && (thesisType == 'master' || thesisType == 'masters' || thesisType == "master's" || thesisType == 'ms' || thesisType == 'msc' || thesisType == 'ma')) {
1380
+ type = "mastersthesis";
1381
+ item["type"] = "";
1382
+ }
1383
+ }
1384
+
1385
+ if (!type) type = "misc";
1386
+
1387
+ // create a unique citation key
1388
+ var extraFields = item.extra ? parseExtraFields(item.extra) : null;
1389
+ var citekey = buildCiteKey(item, extraFields, citekeys);
1390
+
1391
+ // write citation key
1392
+ Zotero.write((first ? "" : "\n\n") + "@"+type+"{"+citekey);
1393
+ first = false;
1394
+
1395
+ for (var field in fieldMap) {
1396
+ if (item[fieldMap[field]]) {
1397
+ writeField(field, item[fieldMap[field]]);
1398
+ }
1399
+ }
1400
+
1401
+ if (item.reportNumber || item.issue || item.seriesNumber || item.patentNumber) {
1402
+ writeField("number", item.reportNumber || item.issue || item.seriesNumber|| item.patentNumber);
1403
+ }
1404
+
1405
+ if (item.accessDate){
1406
+ var accessYMD = item.accessDate.replace(/\s*\d+:\d+:\d+/, "");
1407
+ writeField("urldate", accessYMD);
1408
+ }
1409
+
1410
+ if (item.publicationTitle) {
1411
+ if (item.itemType == "bookSection" || item.itemType == "conferencePaper") {
1412
+ writeField("booktitle", item.publicationTitle);
1413
+ } else if (Zotero.getOption("useJournalAbbreviation") && item.journalAbbreviation){
1414
+ writeField("journal", item.journalAbbreviation);
1415
+ } else {
1416
+ writeField("journal", item.publicationTitle);
1417
+ }
1418
+ }
1419
+
1420
+ if (item.publisher) {
1421
+ if (item.itemType == "thesis") {
1422
+ writeField("school", item.publisher);
1423
+ } else if (item.itemType =="report") {
1424
+ writeField("institution", item.publisher);
1425
+ } else {
1426
+ writeField("publisher", item.publisher);
1427
+ }
1428
+ }
1429
+
1430
+ if (item.creators && item.creators.length) {
1431
+ // split creators into subcategories
1432
+ var author = "";
1433
+ var editor = "";
1434
+ var translator = "";
1435
+ var collaborator = "";
1436
+ var primaryCreatorType = Zotero.Utilities.getCreatorsForType(item.itemType)[0];
1437
+ for (var i in item.creators) {
1438
+ var creator = item.creators[i];
1439
+ var creatorString;
1440
+
1441
+ if (creator.firstName) {
1442
+ var fname = creator.firstName.split(/\s*,!?\s*/);
1443
+ fname.push(fname.shift()); // If we have a Jr. part(s), it should precede first name
1444
+ creatorString = creator.lastName + ", " + fname.join(', ');
1445
+ } else {
1446
+ creatorString = creator.lastName;
1447
+ }
1448
+
1449
+ creatorString = escapeSpecialCharacters(creatorString);
1450
+
1451
+ if (creator.fieldMode == true) { // fieldMode true, assume corporate author
1452
+ creatorString = "{" + creatorString + "}";
1453
+ } else {
1454
+ creatorString = creatorString.replace(/ (and) /gi, ' {$1} ');
1455
+ }
1456
+
1457
+ if (creator.creatorType == "editor" || creator.creatorType == "seriesEditor") {
1458
+ editor += " and "+creatorString;
1459
+ } else if (creator.creatorType == "translator") {
1460
+ translator += " and "+creatorString;
1461
+ } else if (creator.creatorType == primaryCreatorType) {
1462
+ author += " and "+creatorString;
1463
+ } else {
1464
+ collaborator += " and "+creatorString;
1465
+ }
1466
+ }
1467
+
1468
+ if (author) {
1469
+ writeField("author", "{" + author.substr(5) + "}", true);
1470
+ }
1471
+ if (editor) {
1472
+ writeField("editor", "{" + editor.substr(5) + "}", true);
1473
+ }
1474
+ if (translator) {
1475
+ writeField("translator", "{" + translator.substr(5) + "}", true);
1476
+ }
1477
+ if (collaborator) {
1478
+ writeField("collaborator", "{" + collaborator.substr(5) + "}", true);
1479
+ }
1480
+ }
1481
+
1482
+ if (item.date) {
1483
+ var date = Zotero.Utilities.strToDate(item.date);
1484
+ // need to use non-localized abbreviation
1485
+ if (typeof date.month == "number") {
1486
+ writeField("month", months[date.month], true);
1487
+ }
1488
+ if (date.year) {
1489
+ writeField("year", date.year);
1490
+ }
1491
+ }
1492
+
1493
+ if (extraFields) {
1494
+ // Export identifiers
1495
+ for (var i=0; i<extraFields.length; i++) {
1496
+ var rec = extraFields[i];
1497
+ if (!rec.field || !revExtraIds[rec.field]) continue;
1498
+ var value = rec.value.trim();
1499
+ if (value) {
1500
+ writeField(revExtraIds[rec.field], '{'+value+'}', true);
1501
+ extraFields.splice(i, 1);
1502
+ i--;
1503
+ }
1504
+ }
1505
+ var extra = extraFieldsToString(extraFields); // Make sure we join exactly with what we split
1506
+ if (extra) writeField("note", extra);
1507
+ }
1508
+
1509
+ if (item.tags && item.tags.length) {
1510
+ var tagString = "";
1511
+ for (var i in item.tags) {
1512
+ var tag = item.tags[i];
1513
+ tagString += ", "+tag.tag;
1514
+ }
1515
+ writeField("keywords", tagString.substr(2));
1516
+ }
1517
+
1518
+ if (item.pages) {
1519
+ writeField("pages", item.pages.replace(/[-\u2012-\u2015\u2053]+/g,"--"));
1520
+ }
1521
+
1522
+ // Commented out, because we don't want a books number of pages in the BibTeX "pages" field for books.
1523
+ //if (item.numPages) {
1524
+ // writeField("pages", item.numPages);
1525
+ //}
1526
+
1527
+ /* We'll prefer url over howpublished see
1528
+ https://forums.zotero.org/discussion/24554/bibtex-doubled-url/#Comment_157802
1529
+
1530
+ if (item.itemType == "webpage") {
1531
+ writeField("howpublished", item.url);
1532
+ }*/
1533
+ if (item.notes && Zotero.getOption("exportNotes")) {
1534
+ for (var i in item.notes) {
1535
+ var note = item.notes[i];
1536
+ writeField("annote", Zotero.Utilities.unescapeHTML(note["note"]));
1537
+ }
1538
+ }
1539
+
1540
+ if (item.attachments) {
1541
+ var attachmentString = "";
1542
+
1543
+ for (var i in item.attachments) {
1544
+ var attachment = item.attachments[i];
1545
+ // Unfortunately, it looks like \{ in file field breaks BibTeX (0.99d)
1546
+ // even if properly backslash escaped, so we have to make sure that
1547
+ // it doesn't make it into this field at all
1548
+ var title = cleanFilePath(attachment.title),
1549
+ path = null;
1550
+
1551
+ if (Zotero.getOption("exportFileData") && attachment.saveFile) {
1552
+ path = cleanFilePath(attachment.defaultPath);
1553
+ attachment.saveFile(path, true);
1554
+ } else if (attachment.localPath) {
1555
+ path = cleanFilePath(attachment.localPath);
1556
+ }
1557
+
1558
+ if (path) {
1559
+ attachmentString += ";" + encodeFilePathComponent(title)
1560
+ + ":" + encodeFilePathComponent(path)
1561
+ + ":" + encodeFilePathComponent(attachment.mimeType);
1562
+ }
1563
+ }
1564
+
1565
+ if (attachmentString) {
1566
+ writeField("file", attachmentString.substr(1));
1567
+ }
1568
+ }
1569
+
1570
+ Zotero.write(",\n}");
1571
+ }
1572
+
1573
+ Zotero.write("\n");
1574
+ }
1575
+
1576
+ var exports = {
1577
+ "doExport": doExport,
1578
+ "doImport": doImport,
1579
+ "setKeywordDelimRe": setKeywordDelimRe,
1580
+ "setKeywordSplitOnSpace": setKeywordSplitOnSpace
1581
+ };
1582
+
1583
+ /*
1584
+ * new mapping table based on that from Matthias Steffens,
1585
+ * then enhanced with some fields generated from the unicode table.
1586
+ */
1587
+
1588
+ var mappingTable = {
1589
+ "\u00A0":"~", // NO-BREAK SPACE
1590
+ "\u00A1":"{\\textexclamdown}", // INVERTED EXCLAMATION MARK
1591
+ "\u00A2":"{\\textcent}", // CENT SIGN
1592
+ "\u00A3":"{\\textsterling}", // POUND SIGN
1593
+ "\u00A5":"{\\textyen}", // YEN SIGN
1594
+ "\u00A6":"{\\textbrokenbar}", // BROKEN BAR
1595
+ "\u00A7":"{\\textsection}", // SECTION SIGN
1596
+ "\u00A8":"{\\textasciidieresis}", // DIAERESIS
1597
+ "\u00A9":"{\\textcopyright}", // COPYRIGHT SIGN
1598
+ "\u00AA":"{\\textordfeminine}", // FEMININE ORDINAL INDICATOR
1599
+ "\u00AB":"{\\guillemotleft}", // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
1600
+ "\u00AC":"{\\textlnot}", // NOT SIGN
1601
+ "\u00AD":"-", // SOFT HYPHEN
1602
+ "\u00AE":"{\\textregistered}", // REGISTERED SIGN
1603
+ "\u00AF":"{\\textasciimacron}", // MACRON
1604
+ "\u00B0":"{\\textdegree}", // DEGREE SIGN
1605
+ "\u00B1":"{\\textpm}", // PLUS-MINUS SIGN
1606
+ "\u00B2":"{\\texttwosuperior}", // SUPERSCRIPT TWO
1607
+ "\u00B3":"{\\textthreesuperior}", // SUPERSCRIPT THREE
1608
+ "\u00B4":"{\\textasciiacute}", // ACUTE ACCENT
1609
+ "\u00B5":"{\\textmu}", // MICRO SIGN
1610
+ "\u00B6":"{\\textparagraph}", // PILCROW SIGN
1611
+ "\u00B7":"{\\textperiodcentered}", // MIDDLE DOT
1612
+ "\u00B8":"{\\c\\ }", // CEDILLA
1613
+ "\u00B9":"{\\textonesuperior}", // SUPERSCRIPT ONE
1614
+ "\u00BA":"{\\textordmasculine}", // MASCULINE ORDINAL INDICATOR
1615
+ "\u00BB":"{\\guillemotright}", // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
1616
+ "\u00BC":"{\\textonequarter}", // VULGAR FRACTION ONE QUARTER
1617
+ "\u00BD":"{\\textonehalf}", // VULGAR FRACTION ONE HALF
1618
+ "\u00BE":"{\\textthreequarters}", // VULGAR FRACTION THREE QUARTERS
1619
+ "\u00BF":"{\\textquestiondown}", // INVERTED QUESTION MARK
1620
+ "\u00C6":"{\\AE}", // LATIN CAPITAL LETTER AE
1621
+ "\u00D0":"{\\DH}", // LATIN CAPITAL LETTER ETH
1622
+ "\u00D7":"{\\texttimes}", // MULTIPLICATION SIGN
1623
+ "\u00D8":"{\\O}", // LATIN CAPITAL LETTER O WITH STROKE
1624
+ "\u00DE":"{\\TH}", // LATIN CAPITAL LETTER THORN
1625
+ "\u00DF":"{\\ss}", // LATIN SMALL LETTER SHARP S
1626
+ "\u00E6":"{\\ae}", // LATIN SMALL LETTER AE
1627
+ "\u00F0":"{\\dh}", // LATIN SMALL LETTER ETH
1628
+ "\u00F7":"{\\textdiv}", // DIVISION SIGN
1629
+ "\u00F8":"{\\o}", // LATIN SMALL LETTER O WITH STROKE
1630
+ "\u00FE":"{\\th}", // LATIN SMALL LETTER THORN
1631
+ "\u0131":"{\\i}", // LATIN SMALL LETTER DOTLESS I
1632
+ "\u0132":"IJ", // LATIN CAPITAL LIGATURE IJ
1633
+ "\u0133":"ij", // LATIN SMALL LIGATURE IJ
1634
+ "\u0138":"k", // LATIN SMALL LETTER KRA
1635
+ "\u0149":"'n", // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
1636
+ "\u014A":"{\\NG}", // LATIN CAPITAL LETTER ENG
1637
+ "\u014B":"{\\ng}", // LATIN SMALL LETTER ENG
1638
+ "\u0152":"{\\OE}", // LATIN CAPITAL LIGATURE OE
1639
+ "\u0153":"{\\oe}", // LATIN SMALL LIGATURE OE
1640
+ "\u017F":"s", // LATIN SMALL LETTER LONG S
1641
+ "\u02B9":"'", // MODIFIER LETTER PRIME
1642
+ "\u02BB":"'", // MODIFIER LETTER TURNED COMMA
1643
+ "\u02BC":"'", // MODIFIER LETTER APOSTROPHE
1644
+ "\u02BD":"'", // MODIFIER LETTER REVERSED COMMA
1645
+ "\u02C6":"{\\textasciicircum}", // MODIFIER LETTER CIRCUMFLEX ACCENT
1646
+ "\u02C8":"'", // MODIFIER LETTER VERTICAL LINE
1647
+ "\u02C9":"-", // MODIFIER LETTER MACRON
1648
+ "\u02CC":",", // MODIFIER LETTER LOW VERTICAL LINE
1649
+ "\u02D0":":", // MODIFIER LETTER TRIANGULAR COLON
1650
+ "\u02DA":"o", // RING ABOVE
1651
+ "\u02DC":"\\~{}", // SMALL TILDE
1652
+ "\u02DD":"{\\textacutedbl}", // DOUBLE ACUTE ACCENT
1653
+ "\u0374":"'", // GREEK NUMERAL SIGN
1654
+ "\u0375":",", // GREEK LOWER NUMERAL SIGN
1655
+ "\u037E":";", // GREEK QUESTION MARK
1656
+ //Greek letters courtesy of spartanroc
1657
+ "\u0393":"$\\Gamma$", // GREEK Gamma
1658
+ "\u0394":"$\\Delta$", // GREEK Delta
1659
+ "\u0398":"$\\Theta$", // GREEK Theta
1660
+ "\u039B":"$\\Lambda$", // GREEK Lambda
1661
+ "\u039E":"$\\Xi$", // GREEK Xi
1662
+ "\u03A0":"$\\Pi$", // GREEK Pi
1663
+ "\u03A3":"$\\Sigma$", // GREEK Sigma
1664
+ "\u03A6":"$\\Phi$", // GREEK Phi
1665
+ "\u03A8":"$\\Psi$", // GREEK Psi
1666
+ "\u03A9":"$\\Omega$", // GREEK Omega
1667
+ "\u03B1":"$\\alpha$", // GREEK alpha
1668
+ "\u03B2":"$\\beta$", // GREEK beta
1669
+ "\u03B3":"$\\gamma$", // GREEK gamma
1670
+ "\u03B4":"$\\delta$", // GREEK delta
1671
+ "\u03B5":"$\\varepsilon$", // GREEK var-epsilon
1672
+ "\u03B6":"$\\zeta$", // GREEK zeta
1673
+ "\u03B7":"$\\eta$", // GREEK eta
1674
+ "\u03B8":"$\\theta$", // GREEK theta
1675
+ "\u03B9":"$\\iota$", // GREEK iota
1676
+ "\u03BA":"$\\kappa$", // GREEK kappa
1677
+ "\u03BB":"$\\lambda$", // GREEK lambda
1678
+ "\u03BC":"$\\mu$", // GREEK mu
1679
+ "\u03BD":"$\\nu$", // GREEK nu
1680
+ "\u03BE":"$\\xi$", // GREEK xi
1681
+ "\u03C0":"$\\pi$", // GREEK pi
1682
+ "\u03C1":"$\\rho$", // GREEK rho
1683
+ "\u03C2":"$\\varsigma$", // GREEK var-sigma
1684
+ "\u03C3":"$\\sigma$", // GREEK sigma
1685
+ "\u03C4":"$\\tau$", // GREEK tau
1686
+ "\u03C5":"$\\upsilon$", // GREEK upsilon
1687
+ "\u03C6":"$\\varphi$", // GREEK var-phi
1688
+ "\u03C7":"$\\chi$", // GREEK chi
1689
+ "\u03C8":"$\\psi$", // GREEK psi
1690
+ "\u03C9":"$\\omega$", // GREEK omega
1691
+ "\u03D1":"$\\vartheta$", // GREEK var-theta
1692
+ "\u03D2":"$\\Upsilon$", // GREEK Upsilon
1693
+ "\u03D5":"$\\phi$", // GREEK phi
1694
+ "\u03D6":"$\\varpi$", // GREEK var-pi
1695
+ "\u03F1":"$\\varrho$", // GREEK var-rho
1696
+ "\u03F5":"$\\epsilon$", // GREEK epsilon
1697
+ //Greek letters end
1698
+ "\u2000":" ", // EN QUAD
1699
+ "\u2001":" ", // EM QUAD
1700
+ "\u2002":" ", // EN SPACE
1701
+ "\u2003":" ", // EM SPACE
1702
+ "\u2004":" ", // THREE-PER-EM SPACE
1703
+ "\u2005":" ", // FOUR-PER-EM SPACE
1704
+ "\u2006":" ", // SIX-PER-EM SPACE
1705
+ "\u2007":" ", // FIGURE SPACE
1706
+ "\u2008":" ", // PUNCTUATION SPACE
1707
+ "\u2009":" ", // THIN SPACE
1708
+ "\u2010":"-", // HYPHEN
1709
+ "\u2011":"-", // NON-BREAKING HYPHEN
1710
+ "\u2012":"-", // FIGURE DASH
1711
+ "\u2013":"{\\textendash}", // EN DASH
1712
+ "\u2014":"{\\textemdash}", // EM DASH
1713
+ "\u2015":"{\\textemdash}", // HORIZONTAL BAR or QUOTATION DASH (not in LaTeX -- use EM DASH)
1714
+ "\u2016":"{\\textbardbl}", // DOUBLE VERTICAL LINE
1715
+ "\u2017":"{\\textunderscore}", // DOUBLE LOW LINE
1716
+ "\u2018":"{\\textquoteleft}", // LEFT SINGLE QUOTATION MARK
1717
+ "\u2019":"{\\textquoteright}", // RIGHT SINGLE QUOTATION MARK
1718
+ "`" : "\u2018", // LEFT SINGLE QUOTATION MARK
1719
+ "'" : "\u2019", // RIGHT SINGLE QUOTATION MARK
1720
+ "\u201A":"{\\quotesinglbase}", // SINGLE LOW-9 QUOTATION MARK
1721
+ "\u201B":"'", // SINGLE HIGH-REVERSED-9 QUOTATION MARK
1722
+ "\u201C":"{\\textquotedblleft}", // LEFT DOUBLE QUOTATION MARK
1723
+ "\u201D":"{\\textquotedblright}", // RIGHT DOUBLE QUOTATION MARK
1724
+ "\u201E":"{\\quotedblbase}", // DOUBLE LOW-9 QUOTATION MARK
1725
+ "\u201F":"{\\quotedblbase}", // DOUBLE HIGH-REVERSED-9 QUOTATION MARK
1726
+ "\u2020":"{\\textdagger}", // DAGGER
1727
+ "\u2021":"{\\textdaggerdbl}", // DOUBLE DAGGER
1728
+ "\u2022":"{\\textbullet}", // BULLET
1729
+ "\u2023":">", // TRIANGULAR BULLET
1730
+ "\u2024":".", // ONE DOT LEADER
1731
+ "\u2025":"..", // TWO DOT LEADER
1732
+ "\u2026":"{\\textellipsis}", // HORIZONTAL ELLIPSIS
1733
+ "\u2027":"-", // HYPHENATION POINT
1734
+ "\u202F":" ", // NARROW NO-BREAK SPACE
1735
+ "\u2030":"{\\textperthousand}", // PER MILLE SIGN
1736
+ "\u2032":"'", // PRIME
1737
+ "\u2033":"'", // DOUBLE PRIME
1738
+ "\u2034":"'''", // TRIPLE PRIME
1739
+ "\u2035":"`", // REVERSED PRIME
1740
+ "\u2036":"``", // REVERSED DOUBLE PRIME
1741
+ "\u2037":"```", // REVERSED TRIPLE PRIME
1742
+ "\u2039":"{\\guilsinglleft}", // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
1743
+ "\u203A":"{\\guilsinglright}", // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
1744
+ "\u203C":"!!", // DOUBLE EXCLAMATION MARK
1745
+ "\u203E":"-", // OVERLINE
1746
+ "\u2043":"-", // HYPHEN BULLET
1747
+ "\u2044":"{\\textfractionsolidus}", // FRACTION SLASH
1748
+ "\u2048":"?!", // QUESTION EXCLAMATION MARK
1749
+ "\u2049":"!?", // EXCLAMATION QUESTION MARK
1750
+ "\u204A":"7", // TIRONIAN SIGN ET
1751
+ "\u2070":"$^{0}$", // SUPERSCRIPT ZERO
1752
+ "\u2074":"$^{4}$", // SUPERSCRIPT FOUR
1753
+ "\u2075":"$^{5}$", // SUPERSCRIPT FIVE
1754
+ "\u2076":"$^{6}$", // SUPERSCRIPT SIX
1755
+ "\u2077":"$^{7}$", // SUPERSCRIPT SEVEN
1756
+ "\u2078":"$^{8}$", // SUPERSCRIPT EIGHT
1757
+ "\u2079":"$^{9}$", // SUPERSCRIPT NINE
1758
+ "\u207A":"$^{+}$", // SUPERSCRIPT PLUS SIGN
1759
+ "\u207B":"$^{-}$", // SUPERSCRIPT MINUS
1760
+ "\u207C":"$^{=}$", // SUPERSCRIPT EQUALS SIGN
1761
+ "\u207D":"$^{(}$", // SUPERSCRIPT LEFT PARENTHESIS
1762
+ "\u207E":"$^{)}$", // SUPERSCRIPT RIGHT PARENTHESIS
1763
+ "\u207F":"$^{n}$", // SUPERSCRIPT LATIN SMALL LETTER N
1764
+ "\u2080":"$_{0}$", // SUBSCRIPT ZERO
1765
+ "\u2081":"$_{1}$", // SUBSCRIPT ONE
1766
+ "\u2082":"$_{2}$", // SUBSCRIPT TWO
1767
+ "\u2083":"$_{3}$", // SUBSCRIPT THREE
1768
+ "\u2084":"$_{4}$", // SUBSCRIPT FOUR
1769
+ "\u2085":"$_{5}$", // SUBSCRIPT FIVE
1770
+ "\u2086":"$_{6}$", // SUBSCRIPT SIX
1771
+ "\u2087":"$_{7}$", // SUBSCRIPT SEVEN
1772
+ "\u2088":"$_{8}$", // SUBSCRIPT EIGHT
1773
+ "\u2089":"$_{9}$", // SUBSCRIPT NINE
1774
+ "\u208A":"$_{+}$", // SUBSCRIPT PLUS SIGN
1775
+ "\u208B":"$_{-}$", // SUBSCRIPT MINUS
1776
+ "\u208C":"$_{=}$", // SUBSCRIPT EQUALS SIGN
1777
+ "\u208D":"$_{(}$", // SUBSCRIPT LEFT PARENTHESIS
1778
+ "\u208E":"$_{)}$", // SUBSCRIPT RIGHT PARENTHESIS
1779
+ "\u20AC":"{\\texteuro}", // EURO SIGN
1780
+ "\u2100":"a/c", // ACCOUNT OF
1781
+ "\u2101":"a/s", // ADDRESSED TO THE SUBJECT
1782
+ "\u2103":"{\\textcelsius}", // DEGREE CELSIUS
1783
+ "\u2105":"c/o", // CARE OF
1784
+ "\u2106":"c/u", // CADA UNA
1785
+ "\u2109":"F", // DEGREE FAHRENHEIT
1786
+ "\u2113":"l", // SCRIPT SMALL L
1787
+ "\u2116":"{\\textnumero}", // NUMERO SIGN
1788
+ "\u2117":"{\\textcircledP}", // SOUND RECORDING COPYRIGHT
1789
+ "\u2120":"{\\textservicemark}", // SERVICE MARK
1790
+ "\u2121":"TEL", // TELEPHONE SIGN
1791
+ "\u2122":"{\\texttrademark}", // TRADE MARK SIGN
1792
+ "\u2126":"{\\textohm}", // OHM SIGN
1793
+ "\u212A":"K", // KELVIN SIGN
1794
+ "\u212B":"A", // ANGSTROM SIGN
1795
+ "\u212E":"{\\textestimated}", // ESTIMATED SYMBOL
1796
+ "\u2153":" 1/3", // VULGAR FRACTION ONE THIRD
1797
+ "\u2154":" 2/3", // VULGAR FRACTION TWO THIRDS
1798
+ "\u2155":" 1/5", // VULGAR FRACTION ONE FIFTH
1799
+ "\u2156":" 2/5", // VULGAR FRACTION TWO FIFTHS
1800
+ "\u2157":" 3/5", // VULGAR FRACTION THREE FIFTHS
1801
+ "\u2158":" 4/5", // VULGAR FRACTION FOUR FIFTHS
1802
+ "\u2159":" 1/6", // VULGAR FRACTION ONE SIXTH
1803
+ "\u215A":" 5/6", // VULGAR FRACTION FIVE SIXTHS
1804
+ "\u215B":" 1/8", // VULGAR FRACTION ONE EIGHTH
1805
+ "\u215C":" 3/8", // VULGAR FRACTION THREE EIGHTHS
1806
+ "\u215D":" 5/8", // VULGAR FRACTION FIVE EIGHTHS
1807
+ "\u215E":" 7/8", // VULGAR FRACTION SEVEN EIGHTHS
1808
+ "\u215F":" 1/", // FRACTION NUMERATOR ONE
1809
+ "\u2160":"I", // ROMAN NUMERAL ONE
1810
+ "\u2161":"II", // ROMAN NUMERAL TWO
1811
+ "\u2162":"III", // ROMAN NUMERAL THREE
1812
+ "\u2163":"IV", // ROMAN NUMERAL FOUR
1813
+ "\u2164":"V", // ROMAN NUMERAL FIVE
1814
+ "\u2165":"VI", // ROMAN NUMERAL SIX
1815
+ "\u2166":"VII", // ROMAN NUMERAL SEVEN
1816
+ "\u2167":"VIII", // ROMAN NUMERAL EIGHT
1817
+ "\u2168":"IX", // ROMAN NUMERAL NINE
1818
+ "\u2169":"X", // ROMAN NUMERAL TEN
1819
+ "\u216A":"XI", // ROMAN NUMERAL ELEVEN
1820
+ "\u216B":"XII", // ROMAN NUMERAL TWELVE
1821
+ "\u216C":"L", // ROMAN NUMERAL FIFTY
1822
+ "\u216D":"C", // ROMAN NUMERAL ONE HUNDRED
1823
+ "\u216E":"D", // ROMAN NUMERAL FIVE HUNDRED
1824
+ "\u216F":"M", // ROMAN NUMERAL ONE THOUSAND
1825
+ "\u2170":"i", // SMALL ROMAN NUMERAL ONE
1826
+ "\u2171":"ii", // SMALL ROMAN NUMERAL TWO
1827
+ "\u2172":"iii", // SMALL ROMAN NUMERAL THREE
1828
+ "\u2173":"iv", // SMALL ROMAN NUMERAL FOUR
1829
+ "\u2174":"v", // SMALL ROMAN NUMERAL FIVE
1830
+ "\u2175":"vi", // SMALL ROMAN NUMERAL SIX
1831
+ "\u2176":"vii", // SMALL ROMAN NUMERAL SEVEN
1832
+ "\u2177":"viii", // SMALL ROMAN NUMERAL EIGHT
1833
+ "\u2178":"ix", // SMALL ROMAN NUMERAL NINE
1834
+ "\u2179":"x", // SMALL ROMAN NUMERAL TEN
1835
+ "\u217A":"xi", // SMALL ROMAN NUMERAL ELEVEN
1836
+ "\u217B":"xii", // SMALL ROMAN NUMERAL TWELVE
1837
+ "\u217C":"l", // SMALL ROMAN NUMERAL FIFTY
1838
+ "\u217D":"c", // SMALL ROMAN NUMERAL ONE HUNDRED
1839
+ "\u217E":"d", // SMALL ROMAN NUMERAL FIVE HUNDRED
1840
+ "\u217F":"m", // SMALL ROMAN NUMERAL ONE THOUSAND
1841
+ "\u2190":"{\\textleftarrow}", // LEFTWARDS ARROW
1842
+ "\u2191":"{\\textuparrow}", // UPWARDS ARROW
1843
+ "\u2192":"{\\textrightarrow}", // RIGHTWARDS ARROW
1844
+ "\u2193":"{\\textdownarrow}", // DOWNWARDS ARROW
1845
+ "\u2194":"<->", // LEFT RIGHT ARROW
1846
+ "\u21D0":"<=", // LEFTWARDS DOUBLE ARROW
1847
+ "\u21D2":"=>", // RIGHTWARDS DOUBLE ARROW
1848
+ "\u21D4":"<=>", // LEFT RIGHT DOUBLE ARROW
1849
+ "\u2212":"-", // MINUS SIGN
1850
+ "\u2215":"/", // DIVISION SLASH
1851
+ "\u2216":"\\", // SET MINUS
1852
+ "\u2217":"*", // ASTERISK OPERATOR
1853
+ "\u2218":"o", // RING OPERATOR
1854
+ "\u2219":".", // BULLET OPERATOR
1855
+ "\u221E":"$\\infty$", // INFINITY
1856
+ "\u2223":"|", // DIVIDES
1857
+ "\u2225":"||", // PARALLEL TO
1858
+ "\u2236":":", // RATIO
1859
+ "\u223C":"\\~{}", // TILDE OPERATOR
1860
+ "\u2260":"/=", // NOT EQUAL TO
1861
+ "\u2261":"=", // IDENTICAL TO
1862
+ "\u2264":"<=", // LESS-THAN OR EQUAL TO
1863
+ "\u2265":">=", // GREATER-THAN OR EQUAL TO
1864
+ "\u226A":"<<", // MUCH LESS-THAN
1865
+ "\u226B":">>", // MUCH GREATER-THAN
1866
+ "\u2295":"(+)", // CIRCLED PLUS
1867
+ "\u2296":"(-)", // CIRCLED MINUS
1868
+ "\u2297":"(x)", // CIRCLED TIMES
1869
+ "\u2298":"(/)", // CIRCLED DIVISION SLASH
1870
+ "\u22A2":"|-", // RIGHT TACK
1871
+ "\u22A3":"-|", // LEFT TACK
1872
+ "\u22A6":"|-", // ASSERTION
1873
+ "\u22A7":"|=", // MODELS
1874
+ "\u22A8":"|=", // TRUE
1875
+ "\u22A9":"||-", // FORCES
1876
+ "\u22C5":".", // DOT OPERATOR
1877
+ "\u22C6":"*", // STAR OPERATOR
1878
+ "\u22D5":"$\\#$", // EQUAL AND PARALLEL TO
1879
+ "\u22D8":"<<<", // VERY MUCH LESS-THAN
1880
+ "\u22D9":">>>", // VERY MUCH GREATER-THAN
1881
+ "\u2329":"{\\textlangle}", // LEFT-POINTING ANGLE BRACKET
1882
+ "\u232A":"{\\textrangle}", // RIGHT-POINTING ANGLE BRACKET
1883
+ "\u2400":"NUL", // SYMBOL FOR NULL
1884
+ "\u2401":"SOH", // SYMBOL FOR START OF HEADING
1885
+ "\u2402":"STX", // SYMBOL FOR START OF TEXT
1886
+ "\u2403":"ETX", // SYMBOL FOR END OF TEXT
1887
+ "\u2404":"EOT", // SYMBOL FOR END OF TRANSMISSION
1888
+ "\u2405":"ENQ", // SYMBOL FOR ENQUIRY
1889
+ "\u2406":"ACK", // SYMBOL FOR ACKNOWLEDGE
1890
+ "\u2407":"BEL", // SYMBOL FOR BELL
1891
+ "\u2408":"BS", // SYMBOL FOR BACKSPACE
1892
+ "\u2409":"HT", // SYMBOL FOR HORIZONTAL TABULATION
1893
+ "\u240A":"LF", // SYMBOL FOR LINE FEED
1894
+ "\u240B":"VT", // SYMBOL FOR VERTICAL TABULATION
1895
+ "\u240C":"FF", // SYMBOL FOR FORM FEED
1896
+ "\u240D":"CR", // SYMBOL FOR CARRIAGE RETURN
1897
+ "\u240E":"SO", // SYMBOL FOR SHIFT OUT
1898
+ "\u240F":"SI", // SYMBOL FOR SHIFT IN
1899
+ "\u2410":"DLE", // SYMBOL FOR DATA LINK ESCAPE
1900
+ "\u2411":"DC1", // SYMBOL FOR DEVICE CONTROL ONE
1901
+ "\u2412":"DC2", // SYMBOL FOR DEVICE CONTROL TWO
1902
+ "\u2413":"DC3", // SYMBOL FOR DEVICE CONTROL THREE
1903
+ "\u2414":"DC4", // SYMBOL FOR DEVICE CONTROL FOUR
1904
+ "\u2415":"NAK", // SYMBOL FOR NEGATIVE ACKNOWLEDGE
1905
+ "\u2416":"SYN", // SYMBOL FOR SYNCHRONOUS IDLE
1906
+ "\u2417":"ETB", // SYMBOL FOR END OF TRANSMISSION BLOCK
1907
+ "\u2418":"CAN", // SYMBOL FOR CANCEL
1908
+ "\u2419":"EM", // SYMBOL FOR END OF MEDIUM
1909
+ "\u241A":"SUB", // SYMBOL FOR SUBSTITUTE
1910
+ "\u241B":"ESC", // SYMBOL FOR ESCAPE
1911
+ "\u241C":"FS", // SYMBOL FOR FILE SEPARATOR
1912
+ "\u241D":"GS", // SYMBOL FOR GROUP SEPARATOR
1913
+ "\u241E":"RS", // SYMBOL FOR RECORD SEPARATOR
1914
+ "\u241F":"US", // SYMBOL FOR UNIT SEPARATOR
1915
+ "\u2420":"SP", // SYMBOL FOR SPACE
1916
+ "\u2421":"DEL", // SYMBOL FOR DELETE
1917
+ "\u2423":"{\\textvisiblespace}", // OPEN BOX
1918
+ "\u2424":"NL", // SYMBOL FOR NEWLINE
1919
+ "\u2425":"///", // SYMBOL FOR DELETE FORM TWO
1920
+ "\u2426":"?", // SYMBOL FOR SUBSTITUTE FORM TWO
1921
+ "\u2460":"(1)", // CIRCLED DIGIT ONE
1922
+ "\u2461":"(2)", // CIRCLED DIGIT TWO
1923
+ "\u2462":"(3)", // CIRCLED DIGIT THREE
1924
+ "\u2463":"(4)", // CIRCLED DIGIT FOUR
1925
+ "\u2464":"(5)", // CIRCLED DIGIT FIVE
1926
+ "\u2465":"(6)", // CIRCLED DIGIT SIX
1927
+ "\u2466":"(7)", // CIRCLED DIGIT SEVEN
1928
+ "\u2467":"(8)", // CIRCLED DIGIT EIGHT
1929
+ "\u2468":"(9)", // CIRCLED DIGIT NINE
1930
+ "\u2469":"(10)", // CIRCLED NUMBER TEN
1931
+ "\u246A":"(11)", // CIRCLED NUMBER ELEVEN
1932
+ "\u246B":"(12)", // CIRCLED NUMBER TWELVE
1933
+ "\u246C":"(13)", // CIRCLED NUMBER THIRTEEN
1934
+ "\u246D":"(14)", // CIRCLED NUMBER FOURTEEN
1935
+ "\u246E":"(15)", // CIRCLED NUMBER FIFTEEN
1936
+ "\u246F":"(16)", // CIRCLED NUMBER SIXTEEN
1937
+ "\u2470":"(17)", // CIRCLED NUMBER SEVENTEEN
1938
+ "\u2471":"(18)", // CIRCLED NUMBER EIGHTEEN
1939
+ "\u2472":"(19)", // CIRCLED NUMBER NINETEEN
1940
+ "\u2473":"(20)", // CIRCLED NUMBER TWENTY
1941
+ "\u2474":"(1)", // PARENTHESIZED DIGIT ONE
1942
+ "\u2475":"(2)", // PARENTHESIZED DIGIT TWO
1943
+ "\u2476":"(3)", // PARENTHESIZED DIGIT THREE
1944
+ "\u2477":"(4)", // PARENTHESIZED DIGIT FOUR
1945
+ "\u2478":"(5)", // PARENTHESIZED DIGIT FIVE
1946
+ "\u2479":"(6)", // PARENTHESIZED DIGIT SIX
1947
+ "\u247A":"(7)", // PARENTHESIZED DIGIT SEVEN
1948
+ "\u247B":"(8)", // PARENTHESIZED DIGIT EIGHT
1949
+ "\u247C":"(9)", // PARENTHESIZED DIGIT NINE
1950
+ "\u247D":"(10)", // PARENTHESIZED NUMBER TEN
1951
+ "\u247E":"(11)", // PARENTHESIZED NUMBER ELEVEN
1952
+ "\u247F":"(12)", // PARENTHESIZED NUMBER TWELVE
1953
+ "\u2480":"(13)", // PARENTHESIZED NUMBER THIRTEEN
1954
+ "\u2481":"(14)", // PARENTHESIZED NUMBER FOURTEEN
1955
+ "\u2482":"(15)", // PARENTHESIZED NUMBER FIFTEEN
1956
+ "\u2483":"(16)", // PARENTHESIZED NUMBER SIXTEEN
1957
+ "\u2484":"(17)", // PARENTHESIZED NUMBER SEVENTEEN
1958
+ "\u2485":"(18)", // PARENTHESIZED NUMBER EIGHTEEN
1959
+ "\u2486":"(19)", // PARENTHESIZED NUMBER NINETEEN
1960
+ "\u2487":"(20)", // PARENTHESIZED NUMBER TWENTY
1961
+ "\u2488":"1.", // DIGIT ONE FULL STOP
1962
+ "\u2489":"2.", // DIGIT TWO FULL STOP
1963
+ "\u248A":"3.", // DIGIT THREE FULL STOP
1964
+ "\u248B":"4.", // DIGIT FOUR FULL STOP
1965
+ "\u248C":"5.", // DIGIT FIVE FULL STOP
1966
+ "\u248D":"6.", // DIGIT SIX FULL STOP
1967
+ "\u248E":"7.", // DIGIT SEVEN FULL STOP
1968
+ "\u248F":"8.", // DIGIT EIGHT FULL STOP
1969
+ "\u2490":"9.", // DIGIT NINE FULL STOP
1970
+ "\u2491":"10.", // NUMBER TEN FULL STOP
1971
+ "\u2492":"11.", // NUMBER ELEVEN FULL STOP
1972
+ "\u2493":"12.", // NUMBER TWELVE FULL STOP
1973
+ "\u2494":"13.", // NUMBER THIRTEEN FULL STOP
1974
+ "\u2495":"14.", // NUMBER FOURTEEN FULL STOP
1975
+ "\u2496":"15.", // NUMBER FIFTEEN FULL STOP
1976
+ "\u2497":"16.", // NUMBER SIXTEEN FULL STOP
1977
+ "\u2498":"17.", // NUMBER SEVENTEEN FULL STOP
1978
+ "\u2499":"18.", // NUMBER EIGHTEEN FULL STOP
1979
+ "\u249A":"19.", // NUMBER NINETEEN FULL STOP
1980
+ "\u249B":"20.", // NUMBER TWENTY FULL STOP
1981
+ "\u249C":"(a)", // PARENTHESIZED LATIN SMALL LETTER A
1982
+ "\u249D":"(b)", // PARENTHESIZED LATIN SMALL LETTER B
1983
+ "\u249E":"(c)", // PARENTHESIZED LATIN SMALL LETTER C
1984
+ "\u249F":"(d)", // PARENTHESIZED LATIN SMALL LETTER D
1985
+ "\u24A0":"(e)", // PARENTHESIZED LATIN SMALL LETTER E
1986
+ "\u24A1":"(f)", // PARENTHESIZED LATIN SMALL LETTER F
1987
+ "\u24A2":"(g)", // PARENTHESIZED LATIN SMALL LETTER G
1988
+ "\u24A3":"(h)", // PARENTHESIZED LATIN SMALL LETTER H
1989
+ "\u24A4":"(i)", // PARENTHESIZED LATIN SMALL LETTER I
1990
+ "\u24A5":"(j)", // PARENTHESIZED LATIN SMALL LETTER J
1991
+ "\u24A6":"(k)", // PARENTHESIZED LATIN SMALL LETTER K
1992
+ "\u24A7":"(l)", // PARENTHESIZED LATIN SMALL LETTER L
1993
+ "\u24A8":"(m)", // PARENTHESIZED LATIN SMALL LETTER M
1994
+ "\u24A9":"(n)", // PARENTHESIZED LATIN SMALL LETTER N
1995
+ "\u24AA":"(o)", // PARENTHESIZED LATIN SMALL LETTER O
1996
+ "\u24AB":"(p)", // PARENTHESIZED LATIN SMALL LETTER P
1997
+ "\u24AC":"(q)", // PARENTHESIZED LATIN SMALL LETTER Q
1998
+ "\u24AD":"(r)", // PARENTHESIZED LATIN SMALL LETTER R
1999
+ "\u24AE":"(s)", // PARENTHESIZED LATIN SMALL LETTER S
2000
+ "\u24AF":"(t)", // PARENTHESIZED LATIN SMALL LETTER T
2001
+ "\u24B0":"(u)", // PARENTHESIZED LATIN SMALL LETTER U
2002
+ "\u24B1":"(v)", // PARENTHESIZED LATIN SMALL LETTER V
2003
+ "\u24B2":"(w)", // PARENTHESIZED LATIN SMALL LETTER W
2004
+ "\u24B3":"(x)", // PARENTHESIZED LATIN SMALL LETTER X
2005
+ "\u24B4":"(y)", // PARENTHESIZED LATIN SMALL LETTER Y
2006
+ "\u24B5":"(z)", // PARENTHESIZED LATIN SMALL LETTER Z
2007
+ "\u24B6":"(A)", // CIRCLED LATIN CAPITAL LETTER A
2008
+ "\u24B7":"(B)", // CIRCLED LATIN CAPITAL LETTER B
2009
+ "\u24B8":"(C)", // CIRCLED LATIN CAPITAL LETTER C
2010
+ "\u24B9":"(D)", // CIRCLED LATIN CAPITAL LETTER D
2011
+ "\u24BA":"(E)", // CIRCLED LATIN CAPITAL LETTER E
2012
+ "\u24BB":"(F)", // CIRCLED LATIN CAPITAL LETTER F
2013
+ "\u24BC":"(G)", // CIRCLED LATIN CAPITAL LETTER G
2014
+ "\u24BD":"(H)", // CIRCLED LATIN CAPITAL LETTER H
2015
+ "\u24BE":"(I)", // CIRCLED LATIN CAPITAL LETTER I
2016
+ "\u24BF":"(J)", // CIRCLED LATIN CAPITAL LETTER J
2017
+ "\u24C0":"(K)", // CIRCLED LATIN CAPITAL LETTER K
2018
+ "\u24C1":"(L)", // CIRCLED LATIN CAPITAL LETTER L
2019
+ "\u24C2":"(M)", // CIRCLED LATIN CAPITAL LETTER M
2020
+ "\u24C3":"(N)", // CIRCLED LATIN CAPITAL LETTER N
2021
+ "\u24C4":"(O)", // CIRCLED LATIN CAPITAL LETTER O
2022
+ "\u24C5":"(P)", // CIRCLED LATIN CAPITAL LETTER P
2023
+ "\u24C6":"(Q)", // CIRCLED LATIN CAPITAL LETTER Q
2024
+ "\u24C7":"(R)", // CIRCLED LATIN CAPITAL LETTER R
2025
+ "\u24C8":"(S)", // CIRCLED LATIN CAPITAL LETTER S
2026
+ "\u24C9":"(T)", // CIRCLED LATIN CAPITAL LETTER T
2027
+ "\u24CA":"(U)", // CIRCLED LATIN CAPITAL LETTER U
2028
+ "\u24CB":"(V)", // CIRCLED LATIN CAPITAL LETTER V
2029
+ "\u24CC":"(W)", // CIRCLED LATIN CAPITAL LETTER W
2030
+ "\u24CD":"(X)", // CIRCLED LATIN CAPITAL LETTER X
2031
+ "\u24CE":"(Y)", // CIRCLED LATIN CAPITAL LETTER Y
2032
+ "\u24CF":"(Z)", // CIRCLED LATIN CAPITAL LETTER Z
2033
+ "\u24D0":"(a)", // CIRCLED LATIN SMALL LETTER A
2034
+ "\u24D1":"(b)", // CIRCLED LATIN SMALL LETTER B
2035
+ "\u24D2":"(c)", // CIRCLED LATIN SMALL LETTER C
2036
+ "\u24D3":"(d)", // CIRCLED LATIN SMALL LETTER D
2037
+ "\u24D4":"(e)", // CIRCLED LATIN SMALL LETTER E
2038
+ "\u24D5":"(f)", // CIRCLED LATIN SMALL LETTER F
2039
+ "\u24D6":"(g)", // CIRCLED LATIN SMALL LETTER G
2040
+ "\u24D7":"(h)", // CIRCLED LATIN SMALL LETTER H
2041
+ "\u24D8":"(i)", // CIRCLED LATIN SMALL LETTER I
2042
+ "\u24D9":"(j)", // CIRCLED LATIN SMALL LETTER J
2043
+ "\u24DA":"(k)", // CIRCLED LATIN SMALL LETTER K
2044
+ "\u24DB":"(l)", // CIRCLED LATIN SMALL LETTER L
2045
+ "\u24DC":"(m)", // CIRCLED LATIN SMALL LETTER M
2046
+ "\u24DD":"(n)", // CIRCLED LATIN SMALL LETTER N
2047
+ "\u24DE":"(o)", // CIRCLED LATIN SMALL LETTER O
2048
+ "\u24DF":"(p)", // CIRCLED LATIN SMALL LETTER P
2049
+ "\u24E0":"(q)", // CIRCLED LATIN SMALL LETTER Q
2050
+ "\u24E1":"(r)", // CIRCLED LATIN SMALL LETTER R
2051
+ "\u24E2":"(s)", // CIRCLED LATIN SMALL LETTER S
2052
+ "\u24E3":"(t)", // CIRCLED LATIN SMALL LETTER T
2053
+ "\u24E4":"(u)", // CIRCLED LATIN SMALL LETTER U
2054
+ "\u24E5":"(v)", // CIRCLED LATIN SMALL LETTER V
2055
+ "\u24E6":"(w)", // CIRCLED LATIN SMALL LETTER W
2056
+ "\u24E7":"(x)", // CIRCLED LATIN SMALL LETTER X
2057
+ "\u24E8":"(y)", // CIRCLED LATIN SMALL LETTER Y
2058
+ "\u24E9":"(z)", // CIRCLED LATIN SMALL LETTER Z
2059
+ "\u24EA":"(0)", // CIRCLED DIGIT ZERO
2060
+ "\u2500":"-", // BOX DRAWINGS LIGHT HORIZONTAL
2061
+ "\u2501":"=", // BOX DRAWINGS HEAVY HORIZONTAL
2062
+ "\u2502":"|", // BOX DRAWINGS LIGHT VERTICAL
2063
+ "\u2503":"|", // BOX DRAWINGS HEAVY VERTICAL
2064
+ "\u2504":"-", // BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
2065
+ "\u2505":"=", // BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
2066
+ "\u2506":"|", // BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
2067
+ "\u2507":"|", // BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
2068
+ "\u2508":"-", // BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
2069
+ "\u2509":"=", // BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
2070
+ "\u250A":"|", // BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
2071
+ "\u250B":"|", // BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
2072
+ "\u250C":"+", // BOX DRAWINGS LIGHT DOWN AND RIGHT
2073
+ "\u250D":"+", // BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
2074
+ "\u250E":"+", // BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
2075
+ "\u250F":"+", // BOX DRAWINGS HEAVY DOWN AND RIGHT
2076
+ "\u2510":"+", // BOX DRAWINGS LIGHT DOWN AND LEFT
2077
+ "\u2511":"+", // BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
2078
+ "\u2512":"+", // BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
2079
+ "\u2513":"+", // BOX DRAWINGS HEAVY DOWN AND LEFT
2080
+ "\u2514":"+", // BOX DRAWINGS LIGHT UP AND RIGHT
2081
+ "\u2515":"+", // BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
2082
+ "\u2516":"+", // BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
2083
+ "\u2517":"+", // BOX DRAWINGS HEAVY UP AND RIGHT
2084
+ "\u2518":"+", // BOX DRAWINGS LIGHT UP AND LEFT
2085
+ "\u2519":"+", // BOX DRAWINGS UP LIGHT AND LEFT HEAVY
2086
+ "\u251A":"+", // BOX DRAWINGS UP HEAVY AND LEFT LIGHT
2087
+ "\u251B":"+", // BOX DRAWINGS HEAVY UP AND LEFT
2088
+ "\u251C":"+", // BOX DRAWINGS LIGHT VERTICAL AND RIGHT
2089
+ "\u251D":"+", // BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
2090
+ "\u251E":"+", // BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
2091
+ "\u251F":"+", // BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
2092
+ "\u2520":"+", // BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
2093
+ "\u2521":"+", // BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
2094
+ "\u2522":"+", // BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
2095
+ "\u2523":"+", // BOX DRAWINGS HEAVY VERTICAL AND RIGHT
2096
+ "\u2524":"+", // BOX DRAWINGS LIGHT VERTICAL AND LEFT
2097
+ "\u2525":"+", // BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
2098
+ "\u2526":"+", // BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
2099
+ "\u2527":"+", // BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
2100
+ "\u2528":"+", // BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
2101
+ "\u2529":"+", // BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
2102
+ "\u252A":"+", // BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
2103
+ "\u252B":"+", // BOX DRAWINGS HEAVY VERTICAL AND LEFT
2104
+ "\u252C":"+", // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
2105
+ "\u252D":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
2106
+ "\u252E":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
2107
+ "\u252F":"+", // BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
2108
+ "\u2530":"+", // BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
2109
+ "\u2531":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
2110
+ "\u2532":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
2111
+ "\u2533":"+", // BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
2112
+ "\u2534":"+", // BOX DRAWINGS LIGHT UP AND HORIZONTAL
2113
+ "\u2535":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
2114
+ "\u2536":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
2115
+ "\u2537":"+", // BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
2116
+ "\u2538":"+", // BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
2117
+ "\u2539":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
2118
+ "\u253A":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
2119
+ "\u253B":"+", // BOX DRAWINGS HEAVY UP AND HORIZONTAL
2120
+ "\u253C":"+", // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
2121
+ "\u253D":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
2122
+ "\u253E":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
2123
+ "\u253F":"+", // BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
2124
+ "\u2540":"+", // BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
2125
+ "\u2541":"+", // BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
2126
+ "\u2542":"+", // BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
2127
+ "\u2543":"+", // BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
2128
+ "\u2544":"+", // BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
2129
+ "\u2545":"+", // BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
2130
+ "\u2546":"+", // BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
2131
+ "\u2547":"+", // BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
2132
+ "\u2548":"+", // BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
2133
+ "\u2549":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
2134
+ "\u254A":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
2135
+ "\u254B":"+", // BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
2136
+ "\u254C":"-", // BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
2137
+ "\u254D":"=", // BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
2138
+ "\u254E":"|", // BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
2139
+ "\u254F":"|", // BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
2140
+ "\u2550":"=", // BOX DRAWINGS DOUBLE HORIZONTAL
2141
+ "\u2551":"|", // BOX DRAWINGS DOUBLE VERTICAL
2142
+ "\u2552":"+", // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
2143
+ "\u2553":"+", // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
2144
+ "\u2554":"+", // BOX DRAWINGS DOUBLE DOWN AND RIGHT
2145
+ "\u2555":"+", // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
2146
+ "\u2556":"+", // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
2147
+ "\u2557":"+", // BOX DRAWINGS DOUBLE DOWN AND LEFT
2148
+ "\u2558":"+", // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
2149
+ "\u2559":"+", // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
2150
+ "\u255A":"+", // BOX DRAWINGS DOUBLE UP AND RIGHT
2151
+ "\u255B":"+", // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
2152
+ "\u255C":"+", // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
2153
+ "\u255D":"+", // BOX DRAWINGS DOUBLE UP AND LEFT
2154
+ "\u255E":"+", // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
2155
+ "\u255F":"+", // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
2156
+ "\u2560":"+", // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
2157
+ "\u2561":"+", // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
2158
+ "\u2562":"+", // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
2159
+ "\u2563":"+", // BOX DRAWINGS DOUBLE VERTICAL AND LEFT
2160
+ "\u2564":"+", // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
2161
+ "\u2565":"+", // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
2162
+ "\u2566":"+", // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
2163
+ "\u2567":"+", // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
2164
+ "\u2568":"+", // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
2165
+ "\u2569":"+", // BOX DRAWINGS DOUBLE UP AND HORIZONTAL
2166
+ "\u256A":"+", // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
2167
+ "\u256B":"+", // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
2168
+ "\u256C":"+", // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
2169
+ "\u256D":"+", // BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
2170
+ "\u256E":"+", // BOX DRAWINGS LIGHT ARC DOWN AND LEFT
2171
+ "\u256F":"+", // BOX DRAWINGS LIGHT ARC UP AND LEFT
2172
+ "\u2570":"+", // BOX DRAWINGS LIGHT ARC UP AND RIGHT
2173
+ "\u2571":"/", // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
2174
+ "\u2572":"\\", // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
2175
+ "\u2573":"X", // BOX DRAWINGS LIGHT DIAGONAL CROSS
2176
+ "\u257C":"-", // BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
2177
+ "\u257D":"|", // BOX DRAWINGS LIGHT UP AND HEAVY DOWN
2178
+ "\u257E":"-", // BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
2179
+ "\u257F":"|", // BOX DRAWINGS HEAVY UP AND LIGHT DOWN
2180
+ "\u25CB":"o", // WHITE CIRCLE
2181
+ "\u25E6":"{\\textopenbullet}", // WHITE BULLET
2182
+ "\u2605":"*", // BLACK STAR
2183
+ "\u2606":"*", // WHITE STAR
2184
+ "\u2612":"X", // BALLOT BOX WITH X
2185
+ "\u2613":"X", // SALTIRE
2186
+ "\u2639":":-(", // WHITE FROWNING FACE
2187
+ "\u263A":":-)", // WHITE SMILING FACE
2188
+ "\u263B":"(-:", // BLACK SMILING FACE
2189
+ "\u266D":"b", // MUSIC FLAT SIGN
2190
+ "\u266F":"$\\#$", // MUSIC SHARP SIGN
2191
+ "\u2701":"$\\%<$", // UPPER BLADE SCISSORS
2192
+ "\u2702":"$\\%<$", // BLACK SCISSORS
2193
+ "\u2703":"$\\%<$", // LOWER BLADE SCISSORS
2194
+ "\u2704":"$\\%<$", // WHITE SCISSORS
2195
+ "\u270C":"V", // VICTORY HAND
2196
+ "\u2713":"v", // CHECK MARK
2197
+ "\u2714":"V", // HEAVY CHECK MARK
2198
+ "\u2715":"x", // MULTIPLICATION X
2199
+ "\u2716":"x", // HEAVY MULTIPLICATION X
2200
+ "\u2717":"X", // BALLOT X
2201
+ "\u2718":"X", // HEAVY BALLOT X
2202
+ "\u2719":"+", // OUTLINED GREEK CROSS
2203
+ "\u271A":"+", // HEAVY GREEK CROSS
2204
+ "\u271B":"+", // OPEN CENTRE CROSS
2205
+ "\u271C":"+", // HEAVY OPEN CENTRE CROSS
2206
+ "\u271D":"+", // LATIN CROSS
2207
+ "\u271E":"+", // SHADOWED WHITE LATIN CROSS
2208
+ "\u271F":"+", // OUTLINED LATIN CROSS
2209
+ "\u2720":"+", // MALTESE CROSS
2210
+ "\u2721":"*", // STAR OF DAVID
2211
+ "\u2722":"+", // FOUR TEARDROP-SPOKED ASTERISK
2212
+ "\u2723":"+", // FOUR BALLOON-SPOKED ASTERISK
2213
+ "\u2724":"+", // HEAVY FOUR BALLOON-SPOKED ASTERISK
2214
+ "\u2725":"+", // FOUR CLUB-SPOKED ASTERISK
2215
+ "\u2726":"+", // BLACK FOUR POINTED STAR
2216
+ "\u2727":"+", // WHITE FOUR POINTED STAR
2217
+ "\u2729":"*", // STRESS OUTLINED WHITE STAR
2218
+ "\u272A":"*", // CIRCLED WHITE STAR
2219
+ "\u272B":"*", // OPEN CENTRE BLACK STAR
2220
+ "\u272C":"*", // BLACK CENTRE WHITE STAR
2221
+ "\u272D":"*", // OUTLINED BLACK STAR
2222
+ "\u272E":"*", // HEAVY OUTLINED BLACK STAR
2223
+ "\u272F":"*", // PINWHEEL STAR
2224
+ "\u2730":"*", // SHADOWED WHITE STAR
2225
+ "\u2731":"*", // HEAVY ASTERISK
2226
+ "\u2732":"*", // OPEN CENTRE ASTERISK
2227
+ "\u2733":"*", // EIGHT SPOKED ASTERISK
2228
+ "\u2734":"*", // EIGHT POINTED BLACK STAR
2229
+ "\u2735":"*", // EIGHT POINTED PINWHEEL STAR
2230
+ "\u2736":"*", // SIX POINTED BLACK STAR
2231
+ "\u2737":"*", // EIGHT POINTED RECTILINEAR BLACK STAR
2232
+ "\u2738":"*", // HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
2233
+ "\u2739":"*", // TWELVE POINTED BLACK STAR
2234
+ "\u273A":"*", // SIXTEEN POINTED ASTERISK
2235
+ "\u273B":"*", // TEARDROP-SPOKED ASTERISK
2236
+ "\u273C":"*", // OPEN CENTRE TEARDROP-SPOKED ASTERISK
2237
+ "\u273D":"*", // HEAVY TEARDROP-SPOKED ASTERISK
2238
+ "\u273E":"*", // SIX PETALLED BLACK AND WHITE FLORETTE
2239
+ "\u273F":"*", // BLACK FLORETTE
2240
+ "\u2740":"*", // WHITE FLORETTE
2241
+ "\u2741":"*", // EIGHT PETALLED OUTLINED BLACK FLORETTE
2242
+ "\u2742":"*", // CIRCLED OPEN CENTRE EIGHT POINTED STAR
2243
+ "\u2743":"*", // HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
2244
+ "\u2744":"*", // SNOWFLAKE
2245
+ "\u2745":"*", // TIGHT TRIFOLIATE SNOWFLAKE
2246
+ "\u2746":"*", // HEAVY CHEVRON SNOWFLAKE
2247
+ "\u2747":"*", // SPARKLE
2248
+ "\u2748":"*", // HEAVY SPARKLE
2249
+ "\u2749":"*", // BALLOON-SPOKED ASTERISK
2250
+ "\u274A":"*", // EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
2251
+ "\u274B":"*", // HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
2252
+ "\uFB00":"ff", // LATIN SMALL LIGATURE FF
2253
+ "\uFB01":"fi", // LATIN SMALL LIGATURE FI
2254
+ "\uFB02":"fl", // LATIN SMALL LIGATURE FL
2255
+ "\uFB03":"ffi", // LATIN SMALL LIGATURE FFI
2256
+ "\uFB04":"ffl", // LATIN SMALL LIGATURE FFL
2257
+ "\uFB05":"st", // LATIN SMALL LIGATURE LONG S T
2258
+ "\uFB06":"st", // LATIN SMALL LIGATURE ST
2259
+ /* Derived accented characters */
2260
+
2261
+ /* These two require the "semtrans" package to work; uncomment to enable */
2262
+ /* "\u02BF":"\{\\Ayn}", // MGR Ayn
2263
+ "\u02BE":"\{\\Alif}", // MGR Alif/Hamza
2264
+ */
2265
+ "\u00C0":"{\\`A}", // LATIN CAPITAL LETTER A WITH GRAVE
2266
+ "\u00C1":"{\\'A}", // LATIN CAPITAL LETTER A WITH ACUTE
2267
+ "\u00C2":"{\\^A}", // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
2268
+ "\u00C3":"{\\~A}", // LATIN CAPITAL LETTER A WITH TILDE
2269
+ "\u00C4":"{\\\"A}", // LATIN CAPITAL LETTER A WITH DIAERESIS
2270
+ "\u00C5":"{\\r A}", // LATIN CAPITAL LETTER A WITH RING ABOVE
2271
+ "\u00C7":"{\\c C}", // LATIN CAPITAL LETTER C WITH CEDILLA
2272
+ "\u00C8":"{\\`E}", // LATIN CAPITAL LETTER E WITH GRAVE
2273
+ "\u00C9":"{\\'E}", // LATIN CAPITAL LETTER E WITH ACUTE
2274
+ "\u00CA":"{\\^E}", // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
2275
+ "\u00CB":"{\\\"E}", // LATIN CAPITAL LETTER E WITH DIAERESIS
2276
+ "\u00CC":"{\\`I}", // LATIN CAPITAL LETTER I WITH GRAVE
2277
+ "\u00CD":"{\\'I}", // LATIN CAPITAL LETTER I WITH ACUTE
2278
+ "\u00CE":"{\\^I}", // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
2279
+ "\u00CF":"{\\\"I}", // LATIN CAPITAL LETTER I WITH DIAERESIS
2280
+ "\u00D1":"{\\~N}", // LATIN CAPITAL LETTER N WITH TILDE
2281
+ "\u00D2":"{\\`O}", // LATIN CAPITAL LETTER O WITH GRAVE
2282
+ "\u00D3":"{\\'O}", // LATIN CAPITAL LETTER O WITH ACUTE
2283
+ "\u00D4":"{\\^O}", // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
2284
+ "\u00D5":"{\\~O}", // LATIN CAPITAL LETTER O WITH TILDE
2285
+ "\u00D6":"{\\\"O}", // LATIN CAPITAL LETTER O WITH DIAERESIS
2286
+ "\u00D9":"{\\`U}", // LATIN CAPITAL LETTER U WITH GRAVE
2287
+ "\u00DA":"{\\'U}", // LATIN CAPITAL LETTER U WITH ACUTE
2288
+ "\u00DB":"{\\^U}", // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
2289
+ "\u00DC":"{\\\"U}", // LATIN CAPITAL LETTER U WITH DIAERESIS
2290
+ "\u00DD":"{\\'Y}", // LATIN CAPITAL LETTER Y WITH ACUTE
2291
+ "\u00E0":"{\\`a}", // LATIN SMALL LETTER A WITH GRAVE
2292
+ "\u00E1":"{\\'a}", // LATIN SMALL LETTER A WITH ACUTE
2293
+ "\u00E2":"{\\^a}", // LATIN SMALL LETTER A WITH CIRCUMFLEX
2294
+ "\u00E3":"{\\~a}", // LATIN SMALL LETTER A WITH TILDE
2295
+ "\u00E4":"{\\\"a}", // LATIN SMALL LETTER A WITH DIAERESIS
2296
+ "\u00E5":"{\\r a}", // LATIN SMALL LETTER A WITH RING ABOVE
2297
+ "\u00E7":"{\\c c}", // LATIN SMALL LETTER C WITH CEDILLA
2298
+ "\u00E8":"{\\`e}", // LATIN SMALL LETTER E WITH GRAVE
2299
+ "\u00E9":"{\\'e}", // LATIN SMALL LETTER E WITH ACUTE
2300
+ "\u00EA":"{\\^e}", // LATIN SMALL LETTER E WITH CIRCUMFLEX
2301
+ "\u00EB":"{\\\"e}", // LATIN SMALL LETTER E WITH DIAERESIS
2302
+ "\u00EC":"{\\`i}", // LATIN SMALL LETTER I WITH GRAVE
2303
+ "\u00ED":"{\\'i}", // LATIN SMALL LETTER I WITH ACUTE
2304
+ "\u00EE":"{\\^i}", // LATIN SMALL LETTER I WITH CIRCUMFLEX
2305
+ "\u00EF":"{\\\"i}", // LATIN SMALL LETTER I WITH DIAERESIS
2306
+ "\u00F1":"{\\~n}", // LATIN SMALL LETTER N WITH TILDE
2307
+ "\u00F2":"{\\`o}", // LATIN SMALL LETTER O WITH GRAVE
2308
+ "\u00F3":"{\\'o}", // LATIN SMALL LETTER O WITH ACUTE
2309
+ "\u00F4":"{\\^o}", // LATIN SMALL LETTER O WITH CIRCUMFLEX
2310
+ "\u00F5":"{\\~o}", // LATIN SMALL LETTER O WITH TILDE
2311
+ "\u00F6":"{\\\"o}", // LATIN SMALL LETTER O WITH DIAERESIS
2312
+ "\u00F9":"{\\`u}", // LATIN SMALL LETTER U WITH GRAVE
2313
+ "\u00FA":"{\\'u}", // LATIN SMALL LETTER U WITH ACUTE
2314
+ "\u00FB":"{\\^u}", // LATIN SMALL LETTER U WITH CIRCUMFLEX
2315
+ "\u00FC":"{\\\"u}", // LATIN SMALL LETTER U WITH DIAERESIS
2316
+ "\u00FD":"{\\'y}", // LATIN SMALL LETTER Y WITH ACUTE
2317
+ "\u00FF":"{\\\"y}", // LATIN SMALL LETTER Y WITH DIAERESIS
2318
+ "\u0100":"{\\=A}", // LATIN CAPITAL LETTER A WITH MACRON
2319
+ "\u0101":"{\\=a}", // LATIN SMALL LETTER A WITH MACRON
2320
+ "\u0102":"{\\u A}", // LATIN CAPITAL LETTER A WITH BREVE
2321
+ "\u0103":"{\\u a}", // LATIN SMALL LETTER A WITH BREVE
2322
+ "\u0104":"{\\k A}", // LATIN CAPITAL LETTER A WITH OGONEK
2323
+ "\u0105":"{\\k a}", // LATIN SMALL LETTER A WITH OGONEK
2324
+ "\u0106":"{\\'C}", // LATIN CAPITAL LETTER C WITH ACUTE
2325
+ "\u0107":"{\\'c}", // LATIN SMALL LETTER C WITH ACUTE
2326
+ "\u0108":"{\\^C}", // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
2327
+ "\u0109":"{\\^c}", // LATIN SMALL LETTER C WITH CIRCUMFLEX
2328
+ "\u010A":"{\\.C}", // LATIN CAPITAL LETTER C WITH DOT ABOVE
2329
+ "\u010B":"{\\.c}", // LATIN SMALL LETTER C WITH DOT ABOVE
2330
+ "\u010C":"{\\v C}", // LATIN CAPITAL LETTER C WITH CARON
2331
+ "\u010D":"{\\v c}", // LATIN SMALL LETTER C WITH CARON
2332
+ "\u010E":"{\\v D}", // LATIN CAPITAL LETTER D WITH CARON
2333
+ "\u010F":"{\\v d}", // LATIN SMALL LETTER D WITH CARON
2334
+ "\u0112":"{\\=E}", // LATIN CAPITAL LETTER E WITH MACRON
2335
+ "\u0113":"{\\=e}", // LATIN SMALL LETTER E WITH MACRON
2336
+ "\u0114":"{\\u E}", // LATIN CAPITAL LETTER E WITH BREVE
2337
+ "\u0115":"{\\u e}", // LATIN SMALL LETTER E WITH BREVE
2338
+ "\u0116":"{\\.E}", // LATIN CAPITAL LETTER E WITH DOT ABOVE
2339
+ "\u0117":"{\\.e}", // LATIN SMALL LETTER E WITH DOT ABOVE
2340
+ "\u0118":"{\\k E}", // LATIN CAPITAL LETTER E WITH OGONEK
2341
+ "\u0119":"{\\k e}", // LATIN SMALL LETTER E WITH OGONEK
2342
+ "\u011A":"{\\v E}", // LATIN CAPITAL LETTER E WITH CARON
2343
+ "\u011B":"{\\v e}", // LATIN SMALL LETTER E WITH CARON
2344
+ "\u011C":"{\\^G}", // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
2345
+ "\u011D":"{\\^g}", // LATIN SMALL LETTER G WITH CIRCUMFLEX
2346
+ "\u011E":"{\\u G}", // LATIN CAPITAL LETTER G WITH BREVE
2347
+ "\u011F":"{\\u g}", // LATIN SMALL LETTER G WITH BREVE
2348
+ "\u0120":"{\\.G}", // LATIN CAPITAL LETTER G WITH DOT ABOVE
2349
+ "\u0121":"{\\.g}", // LATIN SMALL LETTER G WITH DOT ABOVE
2350
+ "\u0122":"{\\c G}", // LATIN CAPITAL LETTER G WITH CEDILLA
2351
+ "\u0123":"{\\c g}", // LATIN SMALL LETTER G WITH CEDILLA
2352
+ "\u0124":"{\\^H}", // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
2353
+ "\u0125":"{\\^h}", // LATIN SMALL LETTER H WITH CIRCUMFLEX
2354
+ "\u0128":"{\\~I}", // LATIN CAPITAL LETTER I WITH TILDE
2355
+ "\u0129":"{\\~i}", // LATIN SMALL LETTER I WITH TILDE
2356
+ "\u012A":"{\\=I}", // LATIN CAPITAL LETTER I WITH MACRON
2357
+ "\u012B":"{\\=\\i}", // LATIN SMALL LETTER I WITH MACRON
2358
+ "\u012C":"{\\u I}", // LATIN CAPITAL LETTER I WITH BREVE
2359
+ "\u012D":"{\\u i}", // LATIN SMALL LETTER I WITH BREVE
2360
+ "\u012E":"{\\k I}", // LATIN CAPITAL LETTER I WITH OGONEK
2361
+ "\u012F":"{\\k i}", // LATIN SMALL LETTER I WITH OGONEK
2362
+ "\u0130":"{\\.I}", // LATIN CAPITAL LETTER I WITH DOT ABOVE
2363
+ "\u0134":"{\\^J}", // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
2364
+ "\u0135":"{\\^j}", // LATIN SMALL LETTER J WITH CIRCUMFLEX
2365
+ "\u0136":"{\\c K}", // LATIN CAPITAL LETTER K WITH CEDILLA
2366
+ "\u0137":"{\\c k}", // LATIN SMALL LETTER K WITH CEDILLA
2367
+ "\u0139":"{\\'L}", // LATIN CAPITAL LETTER L WITH ACUTE
2368
+ "\u013A":"{\\'l}", // LATIN SMALL LETTER L WITH ACUTE
2369
+ "\u013B":"{\\c L}", // LATIN CAPITAL LETTER L WITH CEDILLA
2370
+ "\u013C":"{\\c l}", // LATIN SMALL LETTER L WITH CEDILLA
2371
+ "\u013D":"{\\v L}", // LATIN CAPITAL LETTER L WITH CARON
2372
+ "\u013E":"{\\v l}", // LATIN SMALL LETTER L WITH CARON
2373
+ "\u0141":"{\\L }", //LATIN CAPITAL LETTER L WITH STROKE
2374
+ "\u0142":"{\\l }", //LATIN SMALL LETTER L WITH STROKE
2375
+ "\u0143":"{\\'N}", // LATIN CAPITAL LETTER N WITH ACUTE
2376
+ "\u0144":"{\\'n}", // LATIN SMALL LETTER N WITH ACUTE
2377
+ "\u0145":"{\\c N}", // LATIN CAPITAL LETTER N WITH CEDILLA
2378
+ "\u0146":"{\\c n}", // LATIN SMALL LETTER N WITH CEDILLA
2379
+ "\u0147":"{\\v N}", // LATIN CAPITAL LETTER N WITH CARON
2380
+ "\u0148":"{\\v n}", // LATIN SMALL LETTER N WITH CARON
2381
+ "\u014C":"{\\=O}", // LATIN CAPITAL LETTER O WITH MACRON
2382
+ "\u014D":"{\\=o}", // LATIN SMALL LETTER O WITH MACRON
2383
+ "\u014E":"{\\u O}", // LATIN CAPITAL LETTER O WITH BREVE
2384
+ "\u014F":"{\\u o}", // LATIN SMALL LETTER O WITH BREVE
2385
+ "\u0150":"{\\H O}", // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
2386
+ "\u0151":"{\\H o}", // LATIN SMALL LETTER O WITH DOUBLE ACUTE
2387
+ "\u0154":"{\\'R}", // LATIN CAPITAL LETTER R WITH ACUTE
2388
+ "\u0155":"{\\'r}", // LATIN SMALL LETTER R WITH ACUTE
2389
+ "\u0156":"{\\c R}", // LATIN CAPITAL LETTER R WITH CEDILLA
2390
+ "\u0157":"{\\c r}", // LATIN SMALL LETTER R WITH CEDILLA
2391
+ "\u0158":"{\\v R}", // LATIN CAPITAL LETTER R WITH CARON
2392
+ "\u0159":"{\\v r}", // LATIN SMALL LETTER R WITH CARON
2393
+ "\u015A":"{\\'S}", // LATIN CAPITAL LETTER S WITH ACUTE
2394
+ "\u015B":"{\\'s}", // LATIN SMALL LETTER S WITH ACUTE
2395
+ "\u015C":"{\\^S}", // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
2396
+ "\u015D":"{\\^s}", // LATIN SMALL LETTER S WITH CIRCUMFLEX
2397
+ "\u015E":"{\\c S}", // LATIN CAPITAL LETTER S WITH CEDILLA
2398
+ "\u015F":"{\\c s}", // LATIN SMALL LETTER S WITH CEDILLA
2399
+ "\u0160":"{\\v S}", // LATIN CAPITAL LETTER S WITH CARON
2400
+ "\u0161":"{\\v s}", // LATIN SMALL LETTER S WITH CARON
2401
+ "\u0162":"{\\c T}", // LATIN CAPITAL LETTER T WITH CEDILLA
2402
+ "\u0163":"{\\c t}", // LATIN SMALL LETTER T WITH CEDILLA
2403
+ "\u0164":"{\\v T}", // LATIN CAPITAL LETTER T WITH CARON
2404
+ "\u0165":"{\\v t}", // LATIN SMALL LETTER T WITH CARON
2405
+ "\u0168":"{\\~U}", // LATIN CAPITAL LETTER U WITH TILDE
2406
+ "\u0169":"{\\~u}", // LATIN SMALL LETTER U WITH TILDE
2407
+ "\u016A":"{\\=U}", // LATIN CAPITAL LETTER U WITH MACRON
2408
+ "\u016B":"{\\=u}", // LATIN SMALL LETTER U WITH MACRON
2409
+ "\u016C":"{\\u U}", // LATIN CAPITAL LETTER U WITH BREVE
2410
+ "\u016D":"{\\u u}", // LATIN SMALL LETTER U WITH BREVE
2411
+ "\u016E":"{\\r U}", // LATIN CAPITAL U WITH A RING ABOVE
2412
+ "\u016F":"{\\r u}", // LATIN SMALL U WITH A RING ABOVE
2413
+ "\u0170":"{\\H U}", // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
2414
+ "\u0171":"{\\H u}", // LATIN SMALL LETTER U WITH DOUBLE ACUTE
2415
+ "\u0172":"{\\k U}", // LATIN CAPITAL LETTER U WITH OGONEK
2416
+ "\u0173":"{\\k u}", // LATIN SMALL LETTER U WITH OGONEK
2417
+ "\u0174":"{\\^W}", // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
2418
+ "\u0175":"{\\^w}", // LATIN SMALL LETTER W WITH CIRCUMFLEX
2419
+ "\u0176":"{\\^Y}", // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
2420
+ "\u0177":"{\\^y}", // LATIN SMALL LETTER Y WITH CIRCUMFLEX
2421
+ "\u0178":"{\\\"Y}", // LATIN CAPITAL LETTER Y WITH DIAERESIS
2422
+ "\u0179":"{\\'Z}", // LATIN CAPITAL LETTER Z WITH ACUTE
2423
+ "\u017A":"{\\'z}", // LATIN SMALL LETTER Z WITH ACUTE
2424
+ "\u017B":"{\\.Z}", // LATIN CAPITAL LETTER Z WITH DOT ABOVE
2425
+ "\u017C":"{\\.z}", // LATIN SMALL LETTER Z WITH DOT ABOVE
2426
+ "\u017D":"{\\v Z}", // LATIN CAPITAL LETTER Z WITH CARON
2427
+ "\u017E":"{\\v z}", // LATIN SMALL LETTER Z WITH CARON
2428
+ "\u01CD":"{\\v A}", // LATIN CAPITAL LETTER A WITH CARON
2429
+ "\u01CE":"{\\v a}", // LATIN SMALL LETTER A WITH CARON
2430
+ "\u01CF":"{\\v I}", // LATIN CAPITAL LETTER I WITH CARON
2431
+ "\u01D0":"{\\v i}", // LATIN SMALL LETTER I WITH CARON
2432
+ "\u01D1":"{\\v O}", // LATIN CAPITAL LETTER O WITH CARON
2433
+ "\u01D2":"{\\v o}", // LATIN SMALL LETTER O WITH CARON
2434
+ "\u01D3":"{\\v U}", // LATIN CAPITAL LETTER U WITH CARON
2435
+ "\u01D4":"{\\v u}", // LATIN SMALL LETTER U WITH CARON
2436
+ "\u01E6":"{\\v G}", // LATIN CAPITAL LETTER G WITH CARON
2437
+ "\u01E7":"{\\v g}", // LATIN SMALL LETTER G WITH CARON
2438
+ "\u01E8":"{\\v K}", // LATIN CAPITAL LETTER K WITH CARON
2439
+ "\u01E9":"{\\v k}", // LATIN SMALL LETTER K WITH CARON
2440
+ "\u01EA":"{\\k O}", // LATIN CAPITAL LETTER O WITH OGONEK
2441
+ "\u01EB":"{\\k o}", // LATIN SMALL LETTER O WITH OGONEK
2442
+ "\u01F0":"{\\v j}", // LATIN SMALL LETTER J WITH CARON
2443
+ "\u01F4":"{\\'G}", // LATIN CAPITAL LETTER G WITH ACUTE
2444
+ "\u01F5":"{\\'g}", // LATIN SMALL LETTER G WITH ACUTE
2445
+ "\u1E02":"{\\.B}", // LATIN CAPITAL LETTER B WITH DOT ABOVE
2446
+ "\u1E03":"{\\.b}", // LATIN SMALL LETTER B WITH DOT ABOVE
2447
+ "\u1E04":"{\\d B}", // LATIN CAPITAL LETTER B WITH DOT BELOW
2448
+ "\u1E05":"{\\d b}", // LATIN SMALL LETTER B WITH DOT BELOW
2449
+ "\u1E06":"{\\b B}", // LATIN CAPITAL LETTER B WITH LINE BELOW
2450
+ "\u1E07":"{\\b b}", // LATIN SMALL LETTER B WITH LINE BELOW
2451
+ "\u1E0A":"{\\.D}", // LATIN CAPITAL LETTER D WITH DOT ABOVE
2452
+ "\u1E0B":"{\\.d}", // LATIN SMALL LETTER D WITH DOT ABOVE
2453
+ "\u1E0C":"{\\d D}", // LATIN CAPITAL LETTER D WITH DOT BELOW
2454
+ "\u1E0D":"{\\d d}", // LATIN SMALL LETTER D WITH DOT BELOW
2455
+ "\u1E0E":"{\\b D}", // LATIN CAPITAL LETTER D WITH LINE BELOW
2456
+ "\u1E0F":"{\\b d}", // LATIN SMALL LETTER D WITH LINE BELOW
2457
+ "\u1E10":"{\\c D}", // LATIN CAPITAL LETTER D WITH CEDILLA
2458
+ "\u1E11":"{\\c d}", // LATIN SMALL LETTER D WITH CEDILLA
2459
+ "\u1E1E":"{\\.F}", // LATIN CAPITAL LETTER F WITH DOT ABOVE
2460
+ "\u1E1F":"{\\.f}", // LATIN SMALL LETTER F WITH DOT ABOVE
2461
+ "\u1E20":"{\\=G}", // LATIN CAPITAL LETTER G WITH MACRON
2462
+ "\u1E21":"{\\=g}", // LATIN SMALL LETTER G WITH MACRON
2463
+ "\u1E22":"{\\.H}", // LATIN CAPITAL LETTER H WITH DOT ABOVE
2464
+ "\u1E23":"{\\.h}", // LATIN SMALL LETTER H WITH DOT ABOVE
2465
+ "\u1E24":"{\\d H}", // LATIN CAPITAL LETTER H WITH DOT BELOW
2466
+ "\u1E25":"{\\d h}", // LATIN SMALL LETTER H WITH DOT BELOW
2467
+ "\u1E26":"{\\\"H}", // LATIN CAPITAL LETTER H WITH DIAERESIS
2468
+ "\u1E27":"{\\\"h}", // LATIN SMALL LETTER H WITH DIAERESIS
2469
+ "\u1E28":"{\\c H}", // LATIN CAPITAL LETTER H WITH CEDILLA
2470
+ "\u1E29":"{\\c h}", // LATIN SMALL LETTER H WITH CEDILLA
2471
+ "\u1E30":"{\\'K}", // LATIN CAPITAL LETTER K WITH ACUTE
2472
+ "\u1E31":"{\\'k}", // LATIN SMALL LETTER K WITH ACUTE
2473
+ "\u1E32":"{\\d K}", // LATIN CAPITAL LETTER K WITH DOT BELOW
2474
+ "\u1E33":"{\\d k}", // LATIN SMALL LETTER K WITH DOT BELOW
2475
+ "\u1E34":"{\\b K}", // LATIN CAPITAL LETTER K WITH LINE BELOW
2476
+ "\u1E35":"{\\b k}", // LATIN SMALL LETTER K WITH LINE BELOW
2477
+ "\u1E36":"{\\d L}", // LATIN CAPITAL LETTER L WITH DOT BELOW
2478
+ "\u1E37":"{\\d l}", // LATIN SMALL LETTER L WITH DOT BELOW
2479
+ "\u1E3A":"{\\b L}", // LATIN CAPITAL LETTER L WITH LINE BELOW
2480
+ "\u1E3B":"{\\b l}", // LATIN SMALL LETTER L WITH LINE BELOW
2481
+ "\u1E3E":"{\\'M}", // LATIN CAPITAL LETTER M WITH ACUTE
2482
+ "\u1E3F":"{\\'m}", // LATIN SMALL LETTER M WITH ACUTE
2483
+ "\u1E40":"{\\.M}", // LATIN CAPITAL LETTER M WITH DOT ABOVE
2484
+ "\u1E41":"{\\.m}", // LATIN SMALL LETTER M WITH DOT ABOVE
2485
+ "\u1E42":"{\\d M}", // LATIN CAPITAL LETTER M WITH DOT BELOW
2486
+ "\u1E43":"{\\d m}", // LATIN SMALL LETTER M WITH DOT BELOW
2487
+ "\u1E44":"{\\.N}", // LATIN CAPITAL LETTER N WITH DOT ABOVE
2488
+ "\u1E45":"{\\.n}", // LATIN SMALL LETTER N WITH DOT ABOVE
2489
+ "\u1E46":"{\\d N}", // LATIN CAPITAL LETTER N WITH DOT BELOW
2490
+ "\u1E47":"{\\d n}", // LATIN SMALL LETTER N WITH DOT BELOW
2491
+ "\u1E48":"{\\b N}", // LATIN CAPITAL LETTER N WITH LINE BELOW
2492
+ "\u1E49":"{\\b n}", // LATIN SMALL LETTER N WITH LINE BELOW
2493
+ "\u1E54":"{\\'P}", // LATIN CAPITAL LETTER P WITH ACUTE
2494
+ "\u1E55":"{\\'p}", // LATIN SMALL LETTER P WITH ACUTE
2495
+ "\u1E56":"{\\.P}", // LATIN CAPITAL LETTER P WITH DOT ABOVE
2496
+ "\u1E57":"{\\.p}", // LATIN SMALL LETTER P WITH DOT ABOVE
2497
+ "\u1E58":"{\\.R}", // LATIN CAPITAL LETTER R WITH DOT ABOVE
2498
+ "\u1E59":"{\\.r}", // LATIN SMALL LETTER R WITH DOT ABOVE
2499
+ "\u1E5A":"{\\d R}", // LATIN CAPITAL LETTER R WITH DOT BELOW
2500
+ "\u1E5B":"{\\d r}", // LATIN SMALL LETTER R WITH DOT BELOW
2501
+ "\u1E5E":"{\\b R}", // LATIN CAPITAL LETTER R WITH LINE BELOW
2502
+ "\u1E5F":"{\\b r}", // LATIN SMALL LETTER R WITH LINE BELOW
2503
+ "\u1E60":"{\\.S}", // LATIN CAPITAL LETTER S WITH DOT ABOVE
2504
+ "\u1E61":"{\\.s}", // LATIN SMALL LETTER S WITH DOT ABOVE
2505
+ "\u1E62":"{\\d S}", // LATIN CAPITAL LETTER S WITH DOT BELOW
2506
+ "\u1E63":"{\\d s}", // LATIN SMALL LETTER S WITH DOT BELOW
2507
+ "\u1E6A":"{\\.T}", // LATIN CAPITAL LETTER T WITH DOT ABOVE
2508
+ "\u1E6B":"{\\.t}", // LATIN SMALL LETTER T WITH DOT ABOVE
2509
+ "\u1E6C":"{\\d T}", // LATIN CAPITAL LETTER T WITH DOT BELOW
2510
+ "\u1E6D":"{\\d t}", // LATIN SMALL LETTER T WITH DOT BELOW
2511
+ "\u1E6E":"{\\b T}", // LATIN CAPITAL LETTER T WITH LINE BELOW
2512
+ "\u1E6F":"{\\b t}", // LATIN SMALL LETTER T WITH LINE BELOW
2513
+ "\u1E7C":"{\\~V}", // LATIN CAPITAL LETTER V WITH TILDE
2514
+ "\u1E7D":"{\\~v}", // LATIN SMALL LETTER V WITH TILDE
2515
+ "\u1E7E":"{\\d V}", // LATIN CAPITAL LETTER V WITH DOT BELOW
2516
+ "\u1E7F":"{\\d v}", // LATIN SMALL LETTER V WITH DOT BELOW
2517
+ "\u1E80":"{\\`W}", // LATIN CAPITAL LETTER W WITH GRAVE
2518
+ "\u1E81":"{\\`w}", // LATIN SMALL LETTER W WITH GRAVE
2519
+ "\u1E82":"{\\'W}", // LATIN CAPITAL LETTER W WITH ACUTE
2520
+ "\u1E83":"{\\'w}", // LATIN SMALL LETTER W WITH ACUTE
2521
+ "\u1E84":"{\\\"W}", // LATIN CAPITAL LETTER W WITH DIAERESIS
2522
+ "\u1E85":"{\\\"w}", // LATIN SMALL LETTER W WITH DIAERESIS
2523
+ "\u1E86":"{\\.W}", // LATIN CAPITAL LETTER W WITH DOT ABOVE
2524
+ "\u1E87":"{\\.w}", // LATIN SMALL LETTER W WITH DOT ABOVE
2525
+ "\u1E88":"{\\d W}", // LATIN CAPITAL LETTER W WITH DOT BELOW
2526
+ "\u1E89":"{\\d w}", // LATIN SMALL LETTER W WITH DOT BELOW
2527
+ "\u1E8A":"{\\.X}", // LATIN CAPITAL LETTER X WITH DOT ABOVE
2528
+ "\u1E8B":"{\\.x}", // LATIN SMALL LETTER X WITH DOT ABOVE
2529
+ "\u1E8C":"{\\\"X}", // LATIN CAPITAL LETTER X WITH DIAERESIS
2530
+ "\u1E8D":"{\\\"x}", // LATIN SMALL LETTER X WITH DIAERESIS
2531
+ "\u1E8E":"{\\.Y}", // LATIN CAPITAL LETTER Y WITH DOT ABOVE
2532
+ "\u1E8F":"{\\.y}", // LATIN SMALL LETTER Y WITH DOT ABOVE
2533
+ "\u1E90":"{\\^Z}", // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
2534
+ "\u1E91":"{\\^z}", // LATIN SMALL LETTER Z WITH CIRCUMFLEX
2535
+ "\u1E92":"{\\d Z}", // LATIN CAPITAL LETTER Z WITH DOT BELOW
2536
+ "\u1E93":"{\\d z}", // LATIN SMALL LETTER Z WITH DOT BELOW
2537
+ "\u1E94":"{\\b Z}", // LATIN CAPITAL LETTER Z WITH LINE BELOW
2538
+ "\u1E95":"{\\b z}", // LATIN SMALL LETTER Z WITH LINE BELOW
2539
+ "\u1E96":"{\\b h}", // LATIN SMALL LETTER H WITH LINE BELOW
2540
+ "\u1E97":"{\\\"t}", // LATIN SMALL LETTER T WITH DIAERESIS
2541
+ "\u1E98":"{\\r w}", // LATIN SMALL W WITH A RING ABOVE
2542
+ "\u1E99":"{\\r y}", // LATIN SMALL Y WITH A RING ABOVE
2543
+ "\u1EA0":"{\\d A}", // LATIN CAPITAL LETTER A WITH DOT BELOW
2544
+ "\u1EA1":"{\\d a}", // LATIN SMALL LETTER A WITH DOT BELOW
2545
+ "\u1EB8":"{\\d E}", // LATIN CAPITAL LETTER E WITH DOT BELOW
2546
+ "\u1EB9":"{\\d e}", // LATIN SMALL LETTER E WITH DOT BELOW
2547
+ "\u1EBC":"{\\~E}", // LATIN CAPITAL LETTER E WITH TILDE
2548
+ "\u1EBD":"{\\~e}", // LATIN SMALL LETTER E WITH TILDE
2549
+ "\u1ECA":"{\\d I}", // LATIN CAPITAL LETTER I WITH DOT BELOW
2550
+ "\u1ECB":"{\\d i}", // LATIN SMALL LETTER I WITH DOT BELOW
2551
+ "\u1ECC":"{\\d O}", // LATIN CAPITAL LETTER O WITH DOT BELOW
2552
+ "\u1ECD":"{\\d o}", // LATIN SMALL LETTER O WITH DOT BELOW
2553
+ "\u1EE4":"{\\d U}", // LATIN CAPITAL LETTER U WITH DOT BELOW
2554
+ "\u1EE5":"{\\d u}", // LATIN SMALL LETTER U WITH DOT BELOW
2555
+ "\u1EF2":"{\\`Y}", // LATIN CAPITAL LETTER Y WITH GRAVE
2556
+ "\u1EF3":"{\\`y}", // LATIN SMALL LETTER Y WITH GRAVE
2557
+ "\u1EF4":"{\\d Y}", // LATIN CAPITAL LETTER Y WITH DOT BELOW
2558
+ "\u1EF5":"{\\d y}", // LATIN SMALL LETTER Y WITH DOT BELOW
2559
+ "\u1EF8":"{\\~Y}", // LATIN CAPITAL LETTER Y WITH TILDE
2560
+ "\u1EF9":"{\\~y}" // LATIN SMALL LETTER Y WITH TILDE
2561
+ };
2562
+
2563
+ /* unfortunately the mapping isn't reversible - hence this second table - sigh! */
2564
+ var reversemappingTable = {
2565
+ "\\url" : "", // strip 'url'
2566
+ "\\href" : "", // strip 'href'
2567
+ "{\\textexclamdown}" : "\u00A1", // INVERTED EXCLAMATION MARK
2568
+ "{\\textcent}" : "\u00A2", // CENT SIGN
2569
+ "{\\textsterling}" : "\u00A3", // POUND SIGN
2570
+ "{\\textyen}" : "\u00A5", // YEN SIGN
2571
+ "{\\textbrokenbar}" : "\u00A6", // BROKEN BAR
2572
+ "{\\textsection}" : "\u00A7", // SECTION SIGN
2573
+ "{\\textasciidieresis}" : "\u00A8", // DIAERESIS
2574
+ "{\\textcopyright}" : "\u00A9", // COPYRIGHT SIGN
2575
+ "{\\textordfeminine}" : "\u00AA", // FEMININE ORDINAL INDICATOR
2576
+ "{\\guillemotleft}" : "\u00AB", // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
2577
+ "{\\textlnot}" : "\u00AC", // NOT SIGN
2578
+ "{\\textregistered}" : "\u00AE", // REGISTERED SIGN
2579
+ "{\\textasciimacron}" : "\u00AF", // MACRON
2580
+ "{\\textdegree}" : "\u00B0", // DEGREE SIGN
2581
+ "{\\textpm}" : "\u00B1", // PLUS-MINUS SIGN
2582
+ "{\\texttwosuperior}" : "\u00B2", // SUPERSCRIPT TWO
2583
+ "{\\textthreesuperior}" : "\u00B3", // SUPERSCRIPT THREE
2584
+ "{\\textasciiacute}" : "\u00B4", // ACUTE ACCENT
2585
+ "{\\textmu}" : "\u00B5", // MICRO SIGN
2586
+ "{\\textparagraph}" : "\u00B6", // PILCROW SIGN
2587
+ "{\\textperiodcentered}" : "\u00B7", // MIDDLE DOT
2588
+ "{\\c\\ }" : "\u00B8", // CEDILLA
2589
+ "{\\textonesuperior}" : "\u00B9", // SUPERSCRIPT ONE
2590
+ "{\\textordmasculine}" : "\u00BA", // MASCULINE ORDINAL INDICATOR
2591
+ "{\\guillemotright}" : "\u00BB", // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
2592
+ "{\\textonequarter}" : "\u00BC", // VULGAR FRACTION ONE QUARTER
2593
+ "{\\textonehalf}" : "\u00BD", // VULGAR FRACTION ONE HALF
2594
+ "{\\textthreequarters}" : "\u00BE", // VULGAR FRACTION THREE QUARTERS
2595
+ "{\\textquestiondown}" : "\u00BF", // INVERTED QUESTION MARK
2596
+ "{\\AE}" : "\u00C6", // LATIN CAPITAL LETTER AE
2597
+ "{\\DH}" : "\u00D0", // LATIN CAPITAL LETTER ETH
2598
+ "{\\texttimes}" : "\u00D7", // MULTIPLICATION SIGN
2599
+ "{\\O}" : "\u00D8", // LATIN SMALL LETTER O WITH STROKE
2600
+ "{\\TH}" : "\u00DE", // LATIN CAPITAL LETTER THORN
2601
+ "{\\ss}" : "\u00DF", // LATIN SMALL LETTER SHARP S
2602
+ "{\\ae}" : "\u00E6", // LATIN SMALL LETTER AE
2603
+ "{\\dh}" : "\u00F0", // LATIN SMALL LETTER ETH
2604
+ "{\\textdiv}" : "\u00F7", // DIVISION SIGN
2605
+ "{\\o}" : "\u00F8", // LATIN SMALL LETTER O WITH STROKE
2606
+ "{\\th}" : "\u00FE", // LATIN SMALL LETTER THORN
2607
+ "{\\i}" : "\u0131", // LATIN SMALL LETTER DOTLESS I
2608
+ //"'n" : "\u0149", // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
2609
+ "{\\NG}" : "\u014A", // LATIN CAPITAL LETTER ENG
2610
+ "{\\ng}" : "\u014B", // LATIN SMALL LETTER ENG
2611
+ "{\\OE}" : "\u0152", // LATIN CAPITAL LIGATURE OE
2612
+ "{\\oe}" : "\u0153", // LATIN SMALL LIGATURE OE
2613
+ "{\\textasciicircum}" : "\u02C6", // MODIFIER LETTER CIRCUMFLEX ACCENT
2614
+ // "\\~{}" : "\u02DC", // SMALL TILDE
2615
+ "{\\textacutedbl}" : "\u02DD", // DOUBLE ACUTE ACCENT
2616
+
2617
+ //Greek Letters Courtesy of Spartanroc
2618
+ "$\\Gamma$" : "\u0393", // GREEK Gamma
2619
+ "$\\Delta$" : "\u0394", // GREEK Delta
2620
+ "$\\Theta$" : "\u0398", // GREEK Theta
2621
+ "$\\Lambda$" : "\u039B", // GREEK Lambda
2622
+ "$\\Xi$" : "\u039E", // GREEK Xi
2623
+ "$\\Pi$" : "\u03A0", // GREEK Pi
2624
+ "$\\Sigma$" : "\u03A3", // GREEK Sigma
2625
+ "$\\Phi$" : "\u03A6", // GREEK Phi
2626
+ "$\\Psi$" : "\u03A8", // GREEK Psi
2627
+ "$\\Omega$" : "\u03A9", // GREEK Omega
2628
+ "$\\alpha$" : "\u03B1", // GREEK alpha
2629
+ "$\\beta$" : "\u03B2", // GREEK beta
2630
+ "$\\gamma$" : "\u03B3", // GREEK gamma
2631
+ "$\\delta$" : "\u03B4", // GREEK delta
2632
+ "$\\varepsilon$": "\u03B5", // GREEK var-epsilon
2633
+ "$\\zeta$" : "\u03B6", // GREEK zeta
2634
+ "$\\eta$" : "\u03B7", // GREEK eta
2635
+ "$\\theta$" : "\u03B8", // GREEK theta
2636
+ "$\\iota$" : "\u03B9", // GREEK iota
2637
+ "$\\kappa$" : "\u03BA", // GREEK kappa
2638
+ "$\\lambda$" : "\u03BB", // GREEK lambda
2639
+ "$\\mu$" : "\u03BC", // GREEK mu
2640
+ "$\\nu$" : "\u03BD", // GREEK nu
2641
+ "$\\xi$" : "\u03BE", // GREEK xi
2642
+ "$\\pi$" : "\u03C0", // GREEK pi
2643
+ "$\\rho$" : "\u03C1", // GREEK rho
2644
+ "$\\varsigma$" : "\u03C2", // GREEK var-sigma
2645
+ "$\\sigma$" : "\u03C3", // GREEK sigma
2646
+ "$\\tau$" : "\u03C4", // GREEK tau
2647
+ "$\\upsilon$" : "\u03C5", // GREEK upsilon
2648
+ "$\\varphi$" : "\u03C6", // GREEK var-phi
2649
+ "$\\chi$" : "\u03C7", // GREEK chi
2650
+ "$\\psi$" : "\u03C8", // GREEK psi
2651
+ "$\\omega$" : "\u03C9", // GREEK omega
2652
+ "$\\vartheta$" : "\u03D1", // GREEK var-theta
2653
+ "$\\Upsilon$" : "\u03D2", // GREEK Upsilon
2654
+ "$\\phi$" : "\u03D5", // GREEK phi
2655
+ "$\\varpi$" : "\u03D6", // GREEK var-pi
2656
+ "$\\varrho$" : "\u03F1", // GREEK var-rho
2657
+ "$\\epsilon$" : "\u03F5", // GREEK epsilon
2658
+ //Greek letters end
2659
+ "{\\textendash}" : "\u2013", // EN DASH
2660
+ "{\\textemdash}" : "\u2014", // EM DASH
2661
+ "---" : "\u2014", // EM DASH
2662
+ "--" : "\u2013", // EN DASH
2663
+ "{\\textbardbl}" : "\u2016", // DOUBLE VERTICAL LINE
2664
+ "{\\textunderscore}" : "\u2017", // DOUBLE LOW LINE
2665
+ "{\\textquoteleft}" : "\u2018", // LEFT SINGLE QUOTATION MARK
2666
+ "{\\textquoteright}" : "\u2019", // RIGHT SINGLE QUOTATION MARK
2667
+ "{\\textquotesingle}" : "'", // APOSTROPHE / NEUTRAL SINGLE QUOTATION MARK
2668
+ "{\\quotesinglbase}" : "\u201A", // SINGLE LOW-9 QUOTATION MARK
2669
+ "{\\textquotedblleft}" : "\u201C", // LEFT DOUBLE QUOTATION MARK
2670
+ "{\\textquotedblright}" : "\u201D", // RIGHT DOUBLE QUOTATION MARK
2671
+ "{\\quotedblbase}" : "\u201E", // DOUBLE LOW-9 QUOTATION MARK
2672
+ // "{\\quotedblbase}" : "\u201F", // DOUBLE HIGH-REVERSED-9 QUOTATION MARK
2673
+ "{\\textdagger}" : "\u2020", // DAGGER
2674
+ "{\\textdaggerdbl}" : "\u2021", // DOUBLE DAGGER
2675
+ "{\\textbullet}" : "\u2022", // BULLET
2676
+ "{\\textellipsis}" : "\u2026", // HORIZONTAL ELLIPSIS
2677
+ "{\\textperthousand}" : "\u2030", // PER MILLE SIGN
2678
+ "'''" : "\u2034", // TRIPLE PRIME
2679
+ "''" : "\u201D", // RIGHT DOUBLE QUOTATION MARK (could be a double prime)
2680
+ "``" : "\u201C", // LEFT DOUBLE QUOTATION MARK (could be a reversed double prime)
2681
+ "```" : "\u2037", // REVERSED TRIPLE PRIME
2682
+ "{\\guilsinglleft}" : "\u2039", // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
2683
+ "{\\guilsinglright}" : "\u203A", // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
2684
+ "!!" : "\u203C", // DOUBLE EXCLAMATION MARK
2685
+ "{\\textfractionsolidus}" : "\u2044", // FRACTION SLASH
2686
+ "?!" : "\u2048", // QUESTION EXCLAMATION MARK
2687
+ "!?" : "\u2049", // EXCLAMATION QUESTION MARK
2688
+ "$^{0}$" : "\u2070", // SUPERSCRIPT ZERO
2689
+ "$^{4}$" : "\u2074", // SUPERSCRIPT FOUR
2690
+ "$^{5}$" : "\u2075", // SUPERSCRIPT FIVE
2691
+ "$^{6}$" : "\u2076", // SUPERSCRIPT SIX
2692
+ "$^{7}$" : "\u2077", // SUPERSCRIPT SEVEN
2693
+ "$^{8}$" : "\u2078", // SUPERSCRIPT EIGHT
2694
+ "$^{9}$" : "\u2079", // SUPERSCRIPT NINE
2695
+ "$^{+}$" : "\u207A", // SUPERSCRIPT PLUS SIGN
2696
+ "$^{-}$" : "\u207B", // SUPERSCRIPT MINUS
2697
+ "$^{=}$" : "\u207C", // SUPERSCRIPT EQUALS SIGN
2698
+ "$^{(}$" : "\u207D", // SUPERSCRIPT LEFT PARENTHESIS
2699
+ "$^{)}$" : "\u207E", // SUPERSCRIPT RIGHT PARENTHESIS
2700
+ "$^{n}$" : "\u207F", // SUPERSCRIPT LATIN SMALL LETTER N
2701
+ "$_{0}$" : "\u2080", // SUBSCRIPT ZERO
2702
+ "$_{1}$" : "\u2081", // SUBSCRIPT ONE
2703
+ "$_{2}$" : "\u2082", // SUBSCRIPT TWO
2704
+ "$_{3}$" : "\u2083", // SUBSCRIPT THREE
2705
+ "$_{4}$" : "\u2084", // SUBSCRIPT FOUR
2706
+ "$_{5}$" : "\u2085", // SUBSCRIPT FIVE
2707
+ "$_{6}$" : "\u2086", // SUBSCRIPT SIX
2708
+ "$_{7}$" : "\u2087", // SUBSCRIPT SEVEN
2709
+ "$_{8}$" : "\u2088", // SUBSCRIPT EIGHT
2710
+ "$_{9}$" : "\u2089", // SUBSCRIPT NINE
2711
+ "$_{+}$" : "\u208A", // SUBSCRIPT PLUS SIGN
2712
+ "$_{-}$" : "\u208B", // SUBSCRIPT MINUS
2713
+ "$_{=}$" : "\u208C", // SUBSCRIPT EQUALS SIGN
2714
+ "$_{(}$" : "\u208D", // SUBSCRIPT LEFT PARENTHESIS
2715
+ "$_{)}$" : "\u208E", // SUBSCRIPT RIGHT PARENTHESIS
2716
+ "{\\texteuro}" : "\u20AC", // EURO SIGN
2717
+ //"a/c" : "\u2100", // ACCOUNT OF
2718
+ //"a/s" : "\u2101", // ADDRESSED TO THE SUBJECT
2719
+ "{\\textcelsius}" : "\u2103", // DEGREE CELSIUS
2720
+ //"c/o" : "\u2105", // CARE OF
2721
+ //"c/u" : "\u2106", // CADA UNA
2722
+ "{\\textnumero}" : "\u2116", // NUMERO SIGN
2723
+ "{\\textcircledP}" : "\u2117", // SOUND RECORDING COPYRIGHT
2724
+ "{\\textservicemark}" : "\u2120", // SERVICE MARK
2725
+ "{TEL}" : "\u2121", // TELEPHONE SIGN
2726
+ "{\\texttrademark}" : "\u2122", // TRADE MARK SIGN
2727
+ "{\\textohm}" : "\u2126", // OHM SIGN
2728
+ "{\\textestimated}" : "\u212E", // ESTIMATED SYMBOL
2729
+
2730
+ /*" 1/3" : "\u2153", // VULGAR FRACTION ONE THIRD
2731
+ " 2/3" : "\u2154", // VULGAR FRACTION TWO THIRDS
2732
+ " 1/5" : "\u2155", // VULGAR FRACTION ONE FIFTH
2733
+ " 2/5" : "\u2156", // VULGAR FRACTION TWO FIFTHS
2734
+ " 3/5" : "\u2157", // VULGAR FRACTION THREE FIFTHS
2735
+ " 4/5" : "\u2158", // VULGAR FRACTION FOUR FIFTHS
2736
+ " 1/6" : "\u2159", // VULGAR FRACTION ONE SIXTH
2737
+ " 5/6" : "\u215A", // VULGAR FRACTION FIVE SIXTHS
2738
+ " 1/8" : "\u215B", // VULGAR FRACTION ONE EIGHTH
2739
+ " 3/8" : "\u215C", // VULGAR FRACTION THREE EIGHTHS
2740
+ " 5/8" : "\u215D", // VULGAR FRACTION FIVE EIGHTHS
2741
+ " 7/8" : "\u215E", // VULGAR FRACTION SEVEN EIGHTHS
2742
+ " 1/" : "\u215F", // FRACTION NUMERATOR ONE */
2743
+
2744
+ "{\\textleftarrow}" : "\u2190", // LEFTWARDS ARROW
2745
+ "{\\textuparrow}" : "\u2191", // UPWARDS ARROW
2746
+ "{\\textrightarrow}" : "\u2192", // RIGHTWARDS ARROW
2747
+ "{\\textdownarrow}" : "\u2193", // DOWNWARDS ARROW
2748
+ /*"<->" : "\u2194", // LEFT RIGHT ARROW
2749
+ "<=" : "\u21D0", // LEFTWARDS DOUBLE ARROW
2750
+ "=>" : "\u21D2", // RIGHTWARDS DOUBLE ARROW
2751
+ "<=>" : "\u21D4", // LEFT RIGHT DOUBLE ARROW */
2752
+ "$\\infty$" : "\u221E", // INFINITY
2753
+
2754
+ /*"||" : "\u2225", // PARALLEL TO
2755
+ "/=" : "\u2260", // NOT EQUAL TO
2756
+ "<=" : "\u2264", // LESS-THAN OR EQUAL TO
2757
+ ">=" : "\u2265", // GREATER-THAN OR EQUAL TO
2758
+ "<<" : "\u226A", // MUCH LESS-THAN
2759
+ ">>" : "\u226B", // MUCH GREATER-THAN
2760
+ "(+)" : "\u2295", // CIRCLED PLUS
2761
+ "(-)" : "\u2296", // CIRCLED MINUS
2762
+ "(x)" : "\u2297", // CIRCLED TIMES
2763
+ "(/)" : "\u2298", // CIRCLED DIVISION SLASH
2764
+ "|-" : "\u22A2", // RIGHT TACK
2765
+ "-|" : "\u22A3", // LEFT TACK
2766
+ "|-" : "\u22A6", // ASSERTION
2767
+ "|=" : "\u22A7", // MODELS
2768
+ "|=" : "\u22A8", // TRUE
2769
+ "||-" : "\u22A9", // FORCES */
2770
+
2771
+ "$\\#$" : "\u22D5", // EQUAL AND PARALLEL TO
2772
+ //"<<<" : "\u22D8", // VERY MUCH LESS-THAN
2773
+ //">>>" : "\u22D9", // VERY MUCH GREATER-THAN
2774
+ "{\\textlangle}" : "\u2329", // LEFT-POINTING ANGLE BRACKET
2775
+ "{\\textrangle}" : "\u232A", // RIGHT-POINTING ANGLE BRACKET
2776
+ "{\\textvisiblespace}" : "\u2423", // OPEN BOX
2777
+ //"///" : "\u2425", // SYMBOL FOR DELETE FORM TWO
2778
+ "{\\textopenbullet}" : "\u25E6", // WHITE BULLET
2779
+ //":-(" : "\u2639", // WHITE FROWNING FACE
2780
+ //":-)" : "\u263A", // WHITE SMILING FACE
2781
+ //"(-: " : "\u263B", // BLACK SMILING FACE
2782
+ // "$\\#$" : "\u266F", // MUSIC SHARP SIGN
2783
+ "$\\%<$" : "\u2701", // UPPER BLADE SCISSORS
2784
+ /* "$\\%<$" : "\u2702", // BLACK SCISSORS
2785
+ "$\\%<$" : "\u2703", // LOWER BLADE SCISSORS
2786
+ "$\\%<$" : "\u2704", // WHITE SCISSORS */
2787
+ /* Derived accented characters */
2788
+ "{\\`A}" : "\u00C0", // LATIN CAPITAL LETTER A WITH GRAVE
2789
+ "{\\'A}" : "\u00C1", // LATIN CAPITAL LETTER A WITH ACUTE
2790
+ "{\\^A}" : "\u00C2", // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
2791
+ "{\\~A}" : "\u00C3", // LATIN CAPITAL LETTER A WITH TILDE
2792
+ "{\\\"A}" : "\u00C4", // LATIN CAPITAL LETTER A WITH DIAERESIS
2793
+ "{\\r A}" : "\u00C5", // LATIN CAPITAL LETTER A WITH RING ABOVE
2794
+ "{\\AA}" : "\u00C5", // LATIN CAPITAL LETTER A WITH RING ABOVE
2795
+ "{\\c C}" : "\u00C7", // LATIN CAPITAL LETTER C WITH CEDILLA
2796
+ "{\\`E}" : "\u00C8", // LATIN CAPITAL LETTER E WITH GRAVE
2797
+ "{\\'E}" : "\u00C9", // LATIN CAPITAL LETTER E WITH ACUTE
2798
+ "{\\^E}" : "\u00CA", // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
2799
+ "{\\\"E}" : "\u00CB", // LATIN CAPITAL LETTER E WITH DIAERESIS
2800
+ "{\\`I}" : "\u00CC", // LATIN CAPITAL LETTER I WITH GRAVE
2801
+ "{\\'I}" : "\u00CD", // LATIN CAPITAL LETTER I WITH ACUTE
2802
+ "{\\^I}" : "\u00CE", // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
2803
+ "{\\\"I}" : "\u00CF", // LATIN CAPITAL LETTER I WITH DIAERESIS
2804
+ "{\\~N}" : "\u00D1", // LATIN CAPITAL LETTER N WITH TILDE
2805
+ "{\\`O}" : "\u00D2", // LATIN CAPITAL LETTER O WITH GRAVE
2806
+ "{\\'O}" : "\u00D3", // LATIN CAPITAL LETTER O WITH ACUTE
2807
+ "{\\^O}" : "\u00D4", // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
2808
+ "{\\~O}" : "\u00D5", // LATIN CAPITAL LETTER O WITH TILDE
2809
+ "{\\\"O}" : "\u00D6", // LATIN CAPITAL LETTER O WITH DIAERESIS
2810
+ "{\\`U}" : "\u00D9", // LATIN CAPITAL LETTER U WITH GRAVE
2811
+ "{\\'U}" : "\u00DA", // LATIN CAPITAL LETTER U WITH ACUTE
2812
+ "{\\^U}" : "\u00DB", // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
2813
+ "{\\\"U}" : "\u00DC", // LATIN CAPITAL LETTER U WITH DIAERESIS
2814
+ "{\\'Y}" : "\u00DD", // LATIN CAPITAL LETTER Y WITH ACUTE
2815
+ "{\\`a}" : "\u00E0", // LATIN SMALL LETTER A WITH GRAVE
2816
+ "{\\'a}" : "\u00E1", // LATIN SMALL LETTER A WITH ACUTE
2817
+ "{\\^a}" : "\u00E2", // LATIN SMALL LETTER A WITH CIRCUMFLEX
2818
+ "{\\~a}" : "\u00E3", // LATIN SMALL LETTER A WITH TILDE
2819
+ "{\\\"a}" : "\u00E4", // LATIN SMALL LETTER A WITH DIAERESIS
2820
+ "{\\r a}" : "\u00E5", // LATIN SMALL LETTER A WITH RING ABOVE
2821
+ "{\\aa}" : "\u00E5", // LATIN SMALL LETTER A WITH RING ABOVE
2822
+ "{\\c c}" : "\u00E7", // LATIN SMALL LETTER C WITH CEDILLA
2823
+ "{\\`e}" : "\u00E8", // LATIN SMALL LETTER E WITH GRAVE
2824
+ "{\\'e}" : "\u00E9", // LATIN SMALL LETTER E WITH ACUTE
2825
+ "{\\^e}" : "\u00EA", // LATIN SMALL LETTER E WITH CIRCUMFLEX
2826
+ "{\\\"e}" : "\u00EB", // LATIN SMALL LETTER E WITH DIAERESIS
2827
+ "{\\`i}" : "\u00EC", // LATIN SMALL LETTER I WITH GRAVE
2828
+ "{\\'i}" : "\u00ED", // LATIN SMALL LETTER I WITH ACUTE
2829
+ "{\\^i}" : "\u00EE", // LATIN SMALL LETTER I WITH CIRCUMFLEX
2830
+ "{\\\"i}" : "\u00EF", // LATIN SMALL LETTER I WITH DIAERESIS
2831
+ "{\\~n}" : "\u00F1", // LATIN SMALL LETTER N WITH TILDE
2832
+ "{\\`o}" : "\u00F2", // LATIN SMALL LETTER O WITH GRAVE
2833
+ "{\\'o}" : "\u00F3", // LATIN SMALL LETTER O WITH ACUTE
2834
+ "{\\^o}" : "\u00F4", // LATIN SMALL LETTER O WITH CIRCUMFLEX
2835
+ "{\\~o}" : "\u00F5", // LATIN SMALL LETTER O WITH TILDE
2836
+ "{\\\"o}" : "\u00F6", // LATIN SMALL LETTER O WITH DIAERESIS
2837
+ "{\\`u}" : "\u00F9", // LATIN SMALL LETTER U WITH GRAVE
2838
+ "{\\'u}" : "\u00FA", // LATIN SMALL LETTER U WITH ACUTE
2839
+ "{\\^u}" : "\u00FB", // LATIN SMALL LETTER U WITH CIRCUMFLEX
2840
+ "{\\\"u}" : "\u00FC", // LATIN SMALL LETTER U WITH DIAERESIS
2841
+ "{\\'y}" : "\u00FD", // LATIN SMALL LETTER Y WITH ACUTE
2842
+ "{\\\"y}" : "\u00FF", // LATIN SMALL LETTER Y WITH DIAERESIS
2843
+ "{\\=A}" : "\u0100", // LATIN CAPITAL LETTER A WITH MACRON
2844
+ "{\\=a}" : "\u0101", // LATIN SMALL LETTER A WITH MACRON
2845
+ "{\\u A}" : "\u0102", // LATIN CAPITAL LETTER A WITH BREVE
2846
+ "{\\u a}" : "\u0103", // LATIN SMALL LETTER A WITH BREVE
2847
+ "{\\k A}" : "\u0104", // LATIN CAPITAL LETTER A WITH OGONEK
2848
+ "{\\k a}" : "\u0105", // LATIN SMALL LETTER A WITH OGONEK
2849
+ "{\\'C}" : "\u0106", // LATIN CAPITAL LETTER C WITH ACUTE
2850
+ "{\\'c}" : "\u0107", // LATIN SMALL LETTER C WITH ACUTE
2851
+ "{\\^C}" : "\u0108", // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
2852
+ "{\\^c}" : "\u0109", // LATIN SMALL LETTER C WITH CIRCUMFLEX
2853
+ "{\\.C}" : "\u010A", // LATIN CAPITAL LETTER C WITH DOT ABOVE
2854
+ "{\\.c}" : "\u010B", // LATIN SMALL LETTER C WITH DOT ABOVE
2855
+ "{\\v C}" : "\u010C", // LATIN CAPITAL LETTER C WITH CARON
2856
+ "{\\v c}" : "\u010D", // LATIN SMALL LETTER C WITH CARON
2857
+ "{\\v D}" : "\u010E", // LATIN CAPITAL LETTER D WITH CARON
2858
+ "{\\v d}" : "\u010F", // LATIN SMALL LETTER D WITH CARON
2859
+ "{\\=E}" : "\u0112", // LATIN CAPITAL LETTER E WITH MACRON
2860
+ "{\\=e}" : "\u0113", // LATIN SMALL LETTER E WITH MACRON
2861
+ "{\\u E}" : "\u0114", // LATIN CAPITAL LETTER E WITH BREVE
2862
+ "{\\u e}" : "\u0115", // LATIN SMALL LETTER E WITH BREVE
2863
+ "{\\.E}" : "\u0116", // LATIN CAPITAL LETTER E WITH DOT ABOVE
2864
+ "{\\.e}" : "\u0117", // LATIN SMALL LETTER E WITH DOT ABOVE
2865
+ "{\\k E}" : "\u0118", // LATIN CAPITAL LETTER E WITH OGONEK
2866
+ "{\\k e}" : "\u0119", // LATIN SMALL LETTER E WITH OGONEK
2867
+ "{\\v E}" : "\u011A", // LATIN CAPITAL LETTER E WITH CARON
2868
+ "{\\v e}" : "\u011B", // LATIN SMALL LETTER E WITH CARON
2869
+ "{\\^G}" : "\u011C", // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
2870
+ "{\\^g}" : "\u011D", // LATIN SMALL LETTER G WITH CIRCUMFLEX
2871
+ "{\\u G}" : "\u011E", // LATIN CAPITAL LETTER G WITH BREVE
2872
+ "{\\u g}" : "\u011F", // LATIN SMALL LETTER G WITH BREVE
2873
+ "{\\.G}" : "\u0120", // LATIN CAPITAL LETTER G WITH DOT ABOVE
2874
+ "{\\.g}" : "\u0121", // LATIN SMALL LETTER G WITH DOT ABOVE
2875
+ "{\\c G}" : "\u0122", // LATIN CAPITAL LETTER G WITH CEDILLA
2876
+ "{\\c g}" : "\u0123", // LATIN SMALL LETTER G WITH CEDILLA
2877
+ "{\\^H}" : "\u0124", // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
2878
+ "{\\^h}" : "\u0125", // LATIN SMALL LETTER H WITH CIRCUMFLEX
2879
+ "{\\~I}" : "\u0128", // LATIN CAPITAL LETTER I WITH TILDE
2880
+ "{\\~i}" : "\u0129", // LATIN SMALL LETTER I WITH TILDE
2881
+ "{\\=I}" : "\u012A", // LATIN CAPITAL LETTER I WITH MACRON
2882
+ "{\\=i}" : "\u012B", // LATIN SMALL LETTER I WITH MACRON
2883
+ "{\\=\\i}" : "\u012B", // LATIN SMALL LETTER I WITH MACRON
2884
+ "{\\u I}" : "\u012C", // LATIN CAPITAL LETTER I WITH BREVE
2885
+ "{\\u i}" : "\u012D", // LATIN SMALL LETTER I WITH BREVE
2886
+ "{\\k I}" : "\u012E", // LATIN CAPITAL LETTER I WITH OGONEK
2887
+ "{\\k i}" : "\u012F", // LATIN SMALL LETTER I WITH OGONEK
2888
+ "{\\.I}" : "\u0130", // LATIN CAPITAL LETTER I WITH DOT ABOVE
2889
+ "{\\^J}" : "\u0134", // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
2890
+ "{\\^j}" : "\u0135", // LATIN SMALL LETTER J WITH CIRCUMFLEX
2891
+ "{\\c K}" : "\u0136", // LATIN CAPITAL LETTER K WITH CEDILLA
2892
+ "{\\c k}" : "\u0137", // LATIN SMALL LETTER K WITH CEDILLA
2893
+ "{\\'L}" : "\u0139", // LATIN CAPITAL LETTER L WITH ACUTE
2894
+ "{\\'l}" : "\u013A", // LATIN SMALL LETTER L WITH ACUTE
2895
+ "{\\c L}" : "\u013B", // LATIN CAPITAL LETTER L WITH CEDILLA
2896
+ "{\\c l}" : "\u013C", // LATIN SMALL LETTER L WITH CEDILLA
2897
+ "{\\v L}" : "\u013D", // LATIN CAPITAL LETTER L WITH CARON
2898
+ "{\\v l}" : "\u013E", // LATIN SMALL LETTER L WITH CARON
2899
+ "{\\L}" : "\u0141", //LATIN CAPITAL LETTER L WITH STROKE
2900
+ "{\\l}" : "\u0142", //LATIN SMALL LETTER L WITH STROKE
2901
+ "{\\'N}" : "\u0143", // LATIN CAPITAL LETTER N WITH ACUTE
2902
+ "{\\'n}" : "\u0144", // LATIN SMALL LETTER N WITH ACUTE
2903
+ "{\\c N}" : "\u0145", // LATIN CAPITAL LETTER N WITH CEDILLA
2904
+ "{\\c n}" : "\u0146", // LATIN SMALL LETTER N WITH CEDILLA
2905
+ "{\\v N}" : "\u0147", // LATIN CAPITAL LETTER N WITH CARON
2906
+ "{\\v n}" : "\u0148", // LATIN SMALL LETTER N WITH CARON
2907
+ "{\\=O}" : "\u014C", // LATIN CAPITAL LETTER O WITH MACRON
2908
+ "{\\=o}" : "\u014D", // LATIN SMALL LETTER O WITH MACRON
2909
+ "{\\u O}" : "\u014E", // LATIN CAPITAL LETTER O WITH BREVE
2910
+ "{\\u o}" : "\u014F", // LATIN SMALL LETTER O WITH BREVE
2911
+ "{\\H O}" : "\u0150", // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
2912
+ "{\\H o}" : "\u0151", // LATIN SMALL LETTER O WITH DOUBLE ACUTE
2913
+ "{\\'R}" : "\u0154", // LATIN CAPITAL LETTER R WITH ACUTE
2914
+ "{\\'r}" : "\u0155", // LATIN SMALL LETTER R WITH ACUTE
2915
+ "{\\c R}" : "\u0156", // LATIN CAPITAL LETTER R WITH CEDILLA
2916
+ "{\\c r}" : "\u0157", // LATIN SMALL LETTER R WITH CEDILLA
2917
+ "{\\v R}" : "\u0158", // LATIN CAPITAL LETTER R WITH CARON
2918
+ "{\\v r}" : "\u0159", // LATIN SMALL LETTER R WITH CARON
2919
+ "{\\'S}" : "\u015A", // LATIN CAPITAL LETTER S WITH ACUTE
2920
+ "{\\'s}" : "\u015B", // LATIN SMALL LETTER S WITH ACUTE
2921
+ "{\\^S}" : "\u015C", // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
2922
+ "{\\^s}" : "\u015D", // LATIN SMALL LETTER S WITH CIRCUMFLEX
2923
+ "{\\c S}" : "\u015E", // LATIN CAPITAL LETTER S WITH CEDILLA
2924
+ "{\\c s}" : "\u015F", // LATIN SMALL LETTER S WITH CEDILLA
2925
+ "{\\v S}" : "\u0160", // LATIN CAPITAL LETTER S WITH CARON
2926
+ "{\\v s}" : "\u0161", // LATIN SMALL LETTER S WITH CARON
2927
+ "{\\c T}" : "\u0162", // LATIN CAPITAL LETTER T WITH CEDILLA
2928
+ "{\\c t}" : "\u0163", // LATIN SMALL LETTER T WITH CEDILLA
2929
+ "{\\v T}" : "\u0164", // LATIN CAPITAL LETTER T WITH CARON
2930
+ "{\\v t}" : "\u0165", // LATIN SMALL LETTER T WITH CARON
2931
+ "{\\~U}" : "\u0168", // LATIN CAPITAL LETTER U WITH TILDE
2932
+ "{\\~u}" : "\u0169", // LATIN SMALL LETTER U WITH TILDE
2933
+ "{\\=U}" : "\u016A", // LATIN CAPITAL LETTER U WITH MACRON
2934
+ "{\\=u}" : "\u016B", // LATIN SMALL LETTER U WITH MACRON
2935
+ "{\\u U}" : "\u016C", // LATIN CAPITAL LETTER U WITH BREVE
2936
+ "{\\u u}" : "\u016D", // LATIN SMALL LETTER U WITH BREVE
2937
+ "{\\r U}" : "\u016E", // LATIN CAPITAL LETTER U WITH RING ABOVE
2938
+ "{\\r u}" : "\u016F", // LATIN SMALL LETTER U WITH RING ABOVE
2939
+ "{\\H U}" : "\u0170", // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
2940
+ "{\\H u}" : "\u0171", // LATIN SMALL LETTER U WITH DOUBLE ACUTE
2941
+ "{\\k U}" : "\u0172", // LATIN CAPITAL LETTER U WITH OGONEK
2942
+ "{\\k u}" : "\u0173", // LATIN SMALL LETTER U WITH OGONEK
2943
+ "{\\^W}" : "\u0174", // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
2944
+ "{\\^w}" : "\u0175", // LATIN SMALL LETTER W WITH CIRCUMFLEX
2945
+ "{\\^Y}" : "\u0176", // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
2946
+ "{\\^y}" : "\u0177", // LATIN SMALL LETTER Y WITH CIRCUMFLEX
2947
+ "{\\\"Y}" : "\u0178", // LATIN CAPITAL LETTER Y WITH DIAERESIS
2948
+ "{\\'Z}" : "\u0179", // LATIN CAPITAL LETTER Z WITH ACUTE
2949
+ "{\\'z}" : "\u017A", // LATIN SMALL LETTER Z WITH ACUTE
2950
+ "{\\.Z}" : "\u017B", // LATIN CAPITAL LETTER Z WITH DOT ABOVE
2951
+ "{\\.z}" : "\u017C", // LATIN SMALL LETTER Z WITH DOT ABOVE
2952
+ "{\\v Z}" : "\u017D", // LATIN CAPITAL LETTER Z WITH CARON
2953
+ "{\\v z}" : "\u017E", // LATIN SMALL LETTER Z WITH CARON
2954
+ "{\\v A}" : "\u01CD", // LATIN CAPITAL LETTER A WITH CARON
2955
+ "{\\v a}" : "\u01CE", // LATIN SMALL LETTER A WITH CARON
2956
+ "{\\v I}" : "\u01CF", // LATIN CAPITAL LETTER I WITH CARON
2957
+ "{\\v i}" : "\u01D0", // LATIN SMALL LETTER I WITH CARON
2958
+ "{\\v O}" : "\u01D1", // LATIN CAPITAL LETTER O WITH CARON
2959
+ "{\\v o}" : "\u01D2", // LATIN SMALL LETTER O WITH CARON
2960
+ "{\\v U}" : "\u01D3", // LATIN CAPITAL LETTER U WITH CARON
2961
+ "{\\v u}" : "\u01D4", // LATIN SMALL LETTER U WITH CARON
2962
+ "{\\v G}" : "\u01E6", // LATIN CAPITAL LETTER G WITH CARON
2963
+ "{\\v g}" : "\u01E7", // LATIN SMALL LETTER G WITH CARON
2964
+ "{\\v K}" : "\u01E8", // LATIN CAPITAL LETTER K WITH CARON
2965
+ "{\\v k}" : "\u01E9", // LATIN SMALL LETTER K WITH CARON
2966
+ "{\\k O}" : "\u01EA", // LATIN CAPITAL LETTER O WITH OGONEK
2967
+ "{\\k o}" : "\u01EB", // LATIN SMALL LETTER O WITH OGONEK
2968
+ "{\\v j}" : "\u01F0", // LATIN SMALL LETTER J WITH CARON
2969
+ "{\\'G}" : "\u01F4", // LATIN CAPITAL LETTER G WITH ACUTE
2970
+ "{\\'g}" : "\u01F5", // LATIN SMALL LETTER G WITH ACUTE
2971
+ "{\\.B}" : "\u1E02", // LATIN CAPITAL LETTER B WITH DOT ABOVE
2972
+ "{\\.b}" : "\u1E03", // LATIN SMALL LETTER B WITH DOT ABOVE
2973
+ "{\\d B}" : "\u1E04", // LATIN CAPITAL LETTER B WITH DOT BELOW
2974
+ "{\\d b}" : "\u1E05", // LATIN SMALL LETTER B WITH DOT BELOW
2975
+ "{\\b B}" : "\u1E06", // LATIN CAPITAL LETTER B WITH LINE BELOW
2976
+ "{\\b b}" : "\u1E07", // LATIN SMALL LETTER B WITH LINE BELOW
2977
+ "{\\.D}" : "\u1E0A", // LATIN CAPITAL LETTER D WITH DOT ABOVE
2978
+ "{\\.d}" : "\u1E0B", // LATIN SMALL LETTER D WITH DOT ABOVE
2979
+ "{\\d D}" : "\u1E0C", // LATIN CAPITAL LETTER D WITH DOT BELOW
2980
+ "{\\d d}" : "\u1E0D", // LATIN SMALL LETTER D WITH DOT BELOW
2981
+ "{\\b D}" : "\u1E0E", // LATIN CAPITAL LETTER D WITH LINE BELOW
2982
+ "{\\b d}" : "\u1E0F", // LATIN SMALL LETTER D WITH LINE BELOW
2983
+ "{\\c D}" : "\u1E10", // LATIN CAPITAL LETTER D WITH CEDILLA
2984
+ "{\\c d}" : "\u1E11", // LATIN SMALL LETTER D WITH CEDILLA
2985
+ "{\\.F}" : "\u1E1E", // LATIN CAPITAL LETTER F WITH DOT ABOVE
2986
+ "{\\.f}" : "\u1E1F", // LATIN SMALL LETTER F WITH DOT ABOVE
2987
+ "{\\=G}" : "\u1E20", // LATIN CAPITAL LETTER G WITH MACRON
2988
+ "{\\=g}" : "\u1E21", // LATIN SMALL LETTER G WITH MACRON
2989
+ "{\\.H}" : "\u1E22", // LATIN CAPITAL LETTER H WITH DOT ABOVE
2990
+ "{\\.h}" : "\u1E23", // LATIN SMALL LETTER H WITH DOT ABOVE
2991
+ "{\\d H}" : "\u1E24", // LATIN CAPITAL LETTER H WITH DOT BELOW
2992
+ "{\\d h}" : "\u1E25", // LATIN SMALL LETTER H WITH DOT BELOW
2993
+ "{\\\"H}" : "\u1E26", // LATIN CAPITAL LETTER H WITH DIAERESIS
2994
+ "{\\\"h}" : "\u1E27", // LATIN SMALL LETTER H WITH DIAERESIS
2995
+ "{\\c H}" : "\u1E28", // LATIN CAPITAL LETTER H WITH CEDILLA
2996
+ "{\\c h}" : "\u1E29", // LATIN SMALL LETTER H WITH CEDILLA
2997
+ "{\\'K}" : "\u1E30", // LATIN CAPITAL LETTER K WITH ACUTE
2998
+ "{\\'k}" : "\u1E31", // LATIN SMALL LETTER K WITH ACUTE
2999
+ "{\\d K}" : "\u1E32", // LATIN CAPITAL LETTER K WITH DOT BELOW
3000
+ "{\\d k}" : "\u1E33", // LATIN SMALL LETTER K WITH DOT BELOW
3001
+ "{\\b K}" : "\u1E34", // LATIN CAPITAL LETTER K WITH LINE BELOW
3002
+ "{\\b k}" : "\u1E35", // LATIN SMALL LETTER K WITH LINE BELOW
3003
+ "{\\d L}" : "\u1E36", // LATIN CAPITAL LETTER L WITH DOT BELOW
3004
+ "{\\d l}" : "\u1E37", // LATIN SMALL LETTER L WITH DOT BELOW
3005
+ "{\\b L}" : "\u1E3A", // LATIN CAPITAL LETTER L WITH LINE BELOW
3006
+ "{\\b l}" : "\u1E3B", // LATIN SMALL LETTER L WITH LINE BELOW
3007
+ "{\\'M}" : "\u1E3E", // LATIN CAPITAL LETTER M WITH ACUTE
3008
+ "{\\'m}" : "\u1E3F", // LATIN SMALL LETTER M WITH ACUTE
3009
+ "{\\.M}" : "\u1E40", // LATIN CAPITAL LETTER M WITH DOT ABOVE
3010
+ "{\\.m}" : "\u1E41", // LATIN SMALL LETTER M WITH DOT ABOVE
3011
+ "{\\d M}" : "\u1E42", // LATIN CAPITAL LETTER M WITH DOT BELOW
3012
+ "{\\d m}" : "\u1E43", // LATIN SMALL LETTER M WITH DOT BELOW
3013
+ "{\\.N}" : "\u1E44", // LATIN CAPITAL LETTER N WITH DOT ABOVE
3014
+ "{\\.n}" : "\u1E45", // LATIN SMALL LETTER N WITH DOT ABOVE
3015
+ "{\\d N}" : "\u1E46", // LATIN CAPITAL LETTER N WITH DOT BELOW
3016
+ "{\\d n}" : "\u1E47", // LATIN SMALL LETTER N WITH DOT BELOW
3017
+ "{\\b N}" : "\u1E48", // LATIN CAPITAL LETTER N WITH LINE BELOW
3018
+ "{\\b n}" : "\u1E49", // LATIN SMALL LETTER N WITH LINE BELOW
3019
+ "{\\'P}" : "\u1E54", // LATIN CAPITAL LETTER P WITH ACUTE
3020
+ "{\\'p}" : "\u1E55", // LATIN SMALL LETTER P WITH ACUTE
3021
+ "{\\.P}" : "\u1E56", // LATIN CAPITAL LETTER P WITH DOT ABOVE
3022
+ "{\\.p}" : "\u1E57", // LATIN SMALL LETTER P WITH DOT ABOVE
3023
+ "{\\.R}" : "\u1E58", // LATIN CAPITAL LETTER R WITH DOT ABOVE
3024
+ "{\\.r}" : "\u1E59", // LATIN SMALL LETTER R WITH DOT ABOVE
3025
+ "{\\d R}" : "\u1E5A", // LATIN CAPITAL LETTER R WITH DOT BELOW
3026
+ "{\\d r}" : "\u1E5B", // LATIN SMALL LETTER R WITH DOT BELOW
3027
+ "{\\b R}" : "\u1E5E", // LATIN CAPITAL LETTER R WITH LINE BELOW
3028
+ "{\\b r}" : "\u1E5F", // LATIN SMALL LETTER R WITH LINE BELOW
3029
+ "{\\.S}" : "\u1E60", // LATIN CAPITAL LETTER S WITH DOT ABOVE
3030
+ "{\\.s}" : "\u1E61", // LATIN SMALL LETTER S WITH DOT ABOVE
3031
+ "{\\d S}" : "\u1E62", // LATIN CAPITAL LETTER S WITH DOT BELOW
3032
+ "{\\d s}" : "\u1E63", // LATIN SMALL LETTER S WITH DOT BELOW
3033
+ "{\\.T}" : "\u1E6A", // LATIN CAPITAL LETTER T WITH DOT ABOVE
3034
+ "{\\.t}" : "\u1E6B", // LATIN SMALL LETTER T WITH DOT ABOVE
3035
+ "{\\d T}" : "\u1E6C", // LATIN CAPITAL LETTER T WITH DOT BELOW
3036
+ "{\\d t}" : "\u1E6D", // LATIN SMALL LETTER T WITH DOT BELOW
3037
+ "{\\b T}" : "\u1E6E", // LATIN CAPITAL LETTER T WITH LINE BELOW
3038
+ "{\\b t}" : "\u1E6F", // LATIN SMALL LETTER T WITH LINE BELOW
3039
+ "{\\~V}" : "\u1E7C", // LATIN CAPITAL LETTER V WITH TILDE
3040
+ "{\\~v}" : "\u1E7D", // LATIN SMALL LETTER V WITH TILDE
3041
+ "{\\d V}" : "\u1E7E", // LATIN CAPITAL LETTER V WITH DOT BELOW
3042
+ "{\\d v}" : "\u1E7F", // LATIN SMALL LETTER V WITH DOT BELOW
3043
+ "{\\`W}" : "\u1E80", // LATIN CAPITAL LETTER W WITH GRAVE
3044
+ "{\\`w}" : "\u1E81", // LATIN SMALL LETTER W WITH GRAVE
3045
+ "{\\'W}" : "\u1E82", // LATIN CAPITAL LETTER W WITH ACUTE
3046
+ "{\\'w}" : "\u1E83", // LATIN SMALL LETTER W WITH ACUTE
3047
+ "{\\\"W}" : "\u1E84", // LATIN CAPITAL LETTER W WITH DIAERESIS
3048
+ "{\\\"w}" : "\u1E85", // LATIN SMALL LETTER W WITH DIAERESIS
3049
+ "{\\.W}" : "\u1E86", // LATIN CAPITAL LETTER W WITH DOT ABOVE
3050
+ "{\\.w}" : "\u1E87", // LATIN SMALL LETTER W WITH DOT ABOVE
3051
+ "{\\d W}" : "\u1E88", // LATIN CAPITAL LETTER W WITH DOT BELOW
3052
+ "{\\d w}" : "\u1E89", // LATIN SMALL LETTER W WITH DOT BELOW
3053
+ "{\\.X}" : "\u1E8A", // LATIN CAPITAL LETTER X WITH DOT ABOVE
3054
+ "{\\.x}" : "\u1E8B", // LATIN SMALL LETTER X WITH DOT ABOVE
3055
+ "{\\\"X}" : "\u1E8C", // LATIN CAPITAL LETTER X WITH DIAERESIS
3056
+ "{\\\"x}" : "\u1E8D", // LATIN SMALL LETTER X WITH DIAERESIS
3057
+ "{\\.Y}" : "\u1E8E", // LATIN CAPITAL LETTER Y WITH DOT ABOVE
3058
+ "{\\.y}" : "\u1E8F", // LATIN SMALL LETTER Y WITH DOT ABOVE
3059
+ "{\\^Z}" : "\u1E90", // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
3060
+ "{\\^z}" : "\u1E91", // LATIN SMALL LETTER Z WITH CIRCUMFLEX
3061
+ "{\\d Z}" : "\u1E92", // LATIN CAPITAL LETTER Z WITH DOT BELOW
3062
+ "{\\d z}" : "\u1E93", // LATIN SMALL LETTER Z WITH DOT BELOW
3063
+ "{\\b Z}" : "\u1E94", // LATIN CAPITAL LETTER Z WITH LINE BELOW
3064
+ "{\\b z}" : "\u1E95", // LATIN SMALL LETTER Z WITH LINE BELOW
3065
+ "{\\b h}" : "\u1E96", // LATIN SMALL LETTER H WITH LINE BELOW
3066
+ "{\\\"t}" : "\u1E97", // LATIN SMALL LETTER T WITH DIAERESIS
3067
+ "{\\r w}" : "\u1E98", // LATIN SMALL LETTER W WITH RING ABOVE
3068
+ "{\\r y}" : "\u1e99", // LATIN SMALL LETTER Y WITH RING ABOVE
3069
+ "{\\d A}" : "\u1EA0", // LATIN CAPITAL LETTER A WITH DOT BELOW
3070
+ "{\\d a}" : "\u1EA1", // LATIN SMALL LETTER A WITH DOT BELOW
3071
+ "{\\d E}" : "\u1EB8", // LATIN CAPITAL LETTER E WITH DOT BELOW
3072
+ "{\\d e}" : "\u1EB9", // LATIN SMALL LETTER E WITH DOT BELOW
3073
+ "{\\~E}" : "\u1EBC", // LATIN CAPITAL LETTER E WITH TILDE
3074
+ "{\\~e}" : "\u1EBD", // LATIN SMALL LETTER E WITH TILDE
3075
+ "{\\d I}" : "\u1ECA", // LATIN CAPITAL LETTER I WITH DOT BELOW
3076
+ "{\\d i}" : "\u1ECB", // LATIN SMALL LETTER I WITH DOT BELOW
3077
+ "{\\d O}" : "\u1ECC", // LATIN CAPITAL LETTER O WITH DOT BELOW
3078
+ "{\\d o}" : "\u1ECD", // LATIN SMALL LETTER O WITH DOT BELOW
3079
+ "{\\d U}" : "\u1EE4", // LATIN CAPITAL LETTER U WITH DOT BELOW
3080
+ "{\\d u}" : "\u1EE5", // LATIN SMALL LETTER U WITH DOT BELOW
3081
+ "{\\`Y}" : "\u1EF2", // LATIN CAPITAL LETTER Y WITH GRAVE
3082
+ "{\\`y}" : "\u1EF3", // LATIN SMALL LETTER Y WITH GRAVE
3083
+ "{\\d Y}" : "\u1EF4", // LATIN CAPITAL LETTER Y WITH DOT BELOW
3084
+ "{\\d y}" : "\u1EF5", // LATIN SMALL LETTER Y WITH DOT BELOW
3085
+ "{\\~Y}" : "\u1EF8", // LATIN CAPITAL LETTER Y WITH TILDE
3086
+ "{\\~y}" : "\u1EF9", // LATIN SMALL LETTER Y WITH TILDE
3087
+ "{\\~}" : "\u223C", // TILDE OPERATOR
3088
+ "~" : "\u00A0" // NO-BREAK SPACE
3089
+ };/** BEGIN TEST CASES **/
3090
+ var testCases = [
3091
+ {
3092
+ "type": "import",
3093
+ "input": "@article{Adams2001,\nauthor = {Adams, Nancy K and DeSilva, Shanaka L and Self, Steven and Salas, Guido and Schubring, Steven and Permenter, Jason L and Arbesman, Kendra},\nfile = {:Users/heatherwright/Documents/Scientific Papers/Adams\\_Huaynaputina.pdf:pdf;::},\njournal = {Bulletin of Volcanology},\nkeywords = {Vulcanian eruptions,breadcrust,plinian},\npages = {493--518},\ntitle = {{The physical volcanology of the 1600 eruption of Huaynaputina, southern Peru}},\nvolume = {62},\nyear = {2001}\n}",
3094
+ "items": [
3095
+ {
3096
+ "itemType": "journalArticle",
3097
+ "title": "The physical volcanology of the 1600 eruption of Huaynaputina, southern Peru",
3098
+ "creators": [
3099
+ {
3100
+ "firstName": "Nancy K",
3101
+ "lastName": "Adams",
3102
+ "creatorType": "author"
3103
+ },
3104
+ {
3105
+ "firstName": "Shanaka L",
3106
+ "lastName": "DeSilva",
3107
+ "creatorType": "author"
3108
+ },
3109
+ {
3110
+ "firstName": "Steven",
3111
+ "lastName": "Self",
3112
+ "creatorType": "author"
3113
+ },
3114
+ {
3115
+ "firstName": "Guido",
3116
+ "lastName": "Salas",
3117
+ "creatorType": "author"
3118
+ },
3119
+ {
3120
+ "firstName": "Steven",
3121
+ "lastName": "Schubring",
3122
+ "creatorType": "author"
3123
+ },
3124
+ {
3125
+ "firstName": "Jason L",
3126
+ "lastName": "Permenter",
3127
+ "creatorType": "author"
3128
+ },
3129
+ {
3130
+ "firstName": "Kendra",
3131
+ "lastName": "Arbesman",
3132
+ "creatorType": "author"
3133
+ }
3134
+ ],
3135
+ "date": "2001",
3136
+ "itemID": "Adams2001",
3137
+ "pages": "493–518",
3138
+ "publicationTitle": "Bulletin of Volcanology",
3139
+ "volume": "62",
3140
+ "attachments": [
3141
+ {
3142
+ "path": "Users/heatherwright/Documents/Scientific Papers/Adams_Huaynaputina.pdf",
3143
+ "mimeType": "application/pdf",
3144
+ "title": "Attachment"
3145
+ }
3146
+ ],
3147
+ "tags": [
3148
+ "Vulcanian eruptions",
3149
+ "breadcrust",
3150
+ "plinian"
3151
+ ],
3152
+ "notes": [],
3153
+ "seeAlso": []
3154
+ }
3155
+ ]
3156
+ },
3157
+ {
3158
+ "type": "import",
3159
+ "input": "@Book{abramowitz+stegun,\n author = \"Milton {Abramowitz} and Irene A. {Stegun}\",\n title = \"Handbook of Mathematical Functions with\n Formulas, Graphs, and Mathematical Tables\",\n publisher = \"Dover\",\n year = 1964,\n address = \"New York\",\n edition = \"ninth Dover printing, tenth GPO printing\"\n}\n\n@Book{Torre2008,\n author = \"Joe Torre and Tom Verducci\",\n publisher = \"Doubleday\",\n title = \"The Yankee Years\",\n year = 2008,\n isbn = \"0385527403\"\n}\n",
3160
+ "items": [
3161
+ {
3162
+ "itemType": "book",
3163
+ "title": "Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables",
3164
+ "creators": [
3165
+ {
3166
+ "firstName": "Milton",
3167
+ "lastName": "Abramowitz",
3168
+ "creatorType": "author"
3169
+ },
3170
+ {
3171
+ "firstName": "Irene A.",
3172
+ "lastName": "Stegun",
3173
+ "creatorType": "author"
3174
+ }
3175
+ ],
3176
+ "date": "1964",
3177
+ "edition": "ninth Dover printing, tenth GPO printing",
3178
+ "itemID": "abramowitz+stegun",
3179
+ "place": "New York",
3180
+ "publisher": "Dover",
3181
+ "attachments": [],
3182
+ "tags": [],
3183
+ "notes": [],
3184
+ "seeAlso": []
3185
+ },
3186
+ {
3187
+ "itemType": "book",
3188
+ "title": "The Yankee Years",
3189
+ "creators": [
3190
+ {
3191
+ "firstName": "Joe",
3192
+ "lastName": "Torre",
3193
+ "creatorType": "author"
3194
+ },
3195
+ {
3196
+ "firstName": "Tom",
3197
+ "lastName": "Verducci",
3198
+ "creatorType": "author"
3199
+ }
3200
+ ],
3201
+ "date": "2008",
3202
+ "ISBN": "0385527403",
3203
+ "itemID": "Torre2008",
3204
+ "publisher": "Doubleday",
3205
+ "attachments": [],
3206
+ "tags": [],
3207
+ "notes": [],
3208
+ "seeAlso": []
3209
+ }
3210
+ ]
3211
+ },
3212
+ {
3213
+ "type": "import",
3214
+ "input": "@INPROCEEDINGS {author:06,\n title = {Some publication title},\n author = {First Author and Second Author},\n crossref = {conference:06},\n pages = {330—331},\n}\n@PROCEEDINGS {conference:06,\n editor = {First Editor and Second Editor},\n title = {Proceedings of the Xth Conference on XYZ},\n booktitle = {Proceedings of the Xth Conference on XYZ},\n year = {2006},\n month = oct,\n}",
3215
+ "items": [
3216
+ {
3217
+ "itemType": "conferencePaper",
3218
+ "title": "Some publication title",
3219
+ "creators": [
3220
+ {
3221
+ "firstName": "First",
3222
+ "lastName": "Author",
3223
+ "creatorType": "author"
3224
+ },
3225
+ {
3226
+ "firstName": "Second",
3227
+ "lastName": "Author",
3228
+ "creatorType": "author"
3229
+ }
3230
+ ],
3231
+ "itemID": "author:06",
3232
+ "pages": "330—331",
3233
+ "attachments": [],
3234
+ "tags": [],
3235
+ "notes": [],
3236
+ "seeAlso": []
3237
+ },
3238
+ {
3239
+ "itemType": "book",
3240
+ "title": "Proceedings of the Xth Conference on XYZ",
3241
+ "creators": [
3242
+ {
3243
+ "firstName": "First",
3244
+ "lastName": "Editor",
3245
+ "creatorType": "editor"
3246
+ },
3247
+ {
3248
+ "firstName": "Second",
3249
+ "lastName": "Editor",
3250
+ "creatorType": "editor"
3251
+ }
3252
+ ],
3253
+ "date": "2006-10",
3254
+ "itemID": "conference:06",
3255
+ "attachments": [],
3256
+ "tags": [],
3257
+ "notes": [],
3258
+ "seeAlso": []
3259
+ }
3260
+ ]
3261
+ },
3262
+ {
3263
+ "type": "import",
3264
+ "input": "@Book{hicks2001,\n author = \"von Hicks, III, Michael\",\n title = \"Design of a Carbon Fiber Composite Grid Structure for the GLAST\n Spacecraft Using a Novel Manufacturing Technique\",\n publisher = \"Stanford Press\",\n year = 2001,\n address = \"Palo Alto\",\n edition = \"1st,\",\n isbn = \"0-69-697269-4\"\n}",
3265
+ "items": [
3266
+ {
3267
+ "itemType": "book",
3268
+ "title": "Design of a Carbon Fiber Composite Grid Structure for the GLAST Spacecraft Using a Novel Manufacturing Technique",
3269
+ "creators": [
3270
+ {
3271
+ "firstName": "Michael, III",
3272
+ "lastName": "von Hicks",
3273
+ "creatorType": "author"
3274
+ }
3275
+ ],
3276
+ "date": "2001",
3277
+ "ISBN": "0-69-697269-4",
3278
+ "edition": "1st,",
3279
+ "itemID": "hicks2001",
3280
+ "place": "Palo Alto",
3281
+ "publisher": "Stanford Press",
3282
+ "attachments": [],
3283
+ "tags": [],
3284
+ "notes": [],
3285
+ "seeAlso": []
3286
+ }
3287
+ ]
3288
+ },
3289
+ {
3290
+ "type": "import",
3291
+ "input": "@article{Oliveira_2009, title={USGS monitoring ecological impacts}, volume={107}, number={29}, journal={Oil & Gas Journal}, author={Oliveira, A}, year={2009}, pages={29}}",
3292
+ "items": [
3293
+ {
3294
+ "itemType": "journalArticle",
3295
+ "title": "USGS monitoring ecological impacts",
3296
+ "creators": [
3297
+ {
3298
+ "firstName": "A",
3299
+ "lastName": "Oliveira",
3300
+ "creatorType": "author"
3301
+ }
3302
+ ],
3303
+ "date": "2009",
3304
+ "issue": "29",
3305
+ "itemID": "Oliveira_2009",
3306
+ "pages": "29",
3307
+ "publicationTitle": "Oil & Gas Journal",
3308
+ "volume": "107",
3309
+ "attachments": [],
3310
+ "tags": [],
3311
+ "notes": [],
3312
+ "seeAlso": []
3313
+ }
3314
+ ]
3315
+ },
3316
+ {
3317
+ "type": "import",
3318
+ "input": "@article{test-ticket1661,\ntitle={non-braking space: ~; accented characters: {\\~n} and \\~{n}; tilde operator: \\~},\n} ",
3319
+ "items": [
3320
+ {
3321
+ "itemType": "journalArticle",
3322
+ "title": "non-braking space: ; accented characters: ñ and ñ; tilde operator: ∼",
3323
+ "creators": [],
3324
+ "itemID": "test-ticket1661",
3325
+ "attachments": [],
3326
+ "tags": [],
3327
+ "notes": [],
3328
+ "seeAlso": []
3329
+ }
3330
+ ]
3331
+ },
3332
+ {
3333
+ "type": "import",
3334
+ "input": "@ARTICLE{Frit2,\n author = {Fritz, U. and Corti, C. and P\\\"{a}ckert, M.},\n title = {Test of markupconversion: Italics, bold, superscript, subscript, and small caps: Mitochondrial DNA$_{\\textrm{2}}$ sequences suggest unexpected phylogenetic position\n of Corso-Sardinian grass snakes (\\textit{Natrix cetti}) and \\textbf{do not}\n support their \\textsc{species status}, with notes on phylogeography and subspecies\n delineation of grass snakes.},\n journal = {Actes du $4^{\\textrm{ème}}$ Congrès Français d'Acoustique},\n year = {2012},\n volume = {12},\n pages = {71-80},\n doi = {10.1007/s13127-011-0069-8}\n}\n",
3335
+ "items": [
3336
+ {
3337
+ "itemType": "journalArticle",
3338
+ "title": "Test of markupconversion: Italics, bold, superscript, subscript, and small caps: Mitochondrial DNA₂ sequences suggest unexpected phylogenetic position of Corso-Sardinian grass snakes (<i>Natrix cetti</i>) and <b>do not</b> support their <span style=\"small-caps\">species status</span>, with notes on phylogeography and subspecies delineation of grass snakes.",
3339
+ "creators": [
3340
+ {
3341
+ "firstName": "U.",
3342
+ "lastName": "Fritz",
3343
+ "creatorType": "author"
3344
+ },
3345
+ {
3346
+ "firstName": "C.",
3347
+ "lastName": "Corti",
3348
+ "creatorType": "author"
3349
+ },
3350
+ {
3351
+ "firstName": "M.",
3352
+ "lastName": "Päckert",
3353
+ "creatorType": "author"
3354
+ }
3355
+ ],
3356
+ "date": "2012",
3357
+ "DOI": "10.1007/s13127-011-0069-8",
3358
+ "itemID": "Frit2",
3359
+ "pages": "71-80",
3360
+ "publicationTitle": "Actes du 4<sup>ème</sup> Congrès Français d'Acoustique",
3361
+ "volume": "12",
3362
+ "attachments": [],
3363
+ "tags": [],
3364
+ "notes": [],
3365
+ "seeAlso": []
3366
+ }
3367
+ ]
3368
+ },
3369
+ {
3370
+ "type": "import",
3371
+ "input": "@misc{american_rights_at_work_public_2012,\n title = {Public Service Research Foundation},\n\turl = {http://www.americanrightsatwork.org/blogcategory-275/},\n\turldate = {2012-07-27},\n\tauthor = {American Rights at Work},\n\tyear = {2012},\n\thowpublished = {http://www.americanrightsatwork.org/blogcategory-275/},\n}",
3372
+ "items": [
3373
+ {
3374
+ "itemType": "document",
3375
+ "title": "Public Service Research Foundation",
3376
+ "creators": [
3377
+ {
3378
+ "firstName": "American Rights at",
3379
+ "lastName": "Work",
3380
+ "creatorType": "author"
3381
+ }
3382
+ ],
3383
+ "date": "2012",
3384
+ "itemID": "american_rights_at_work_public_2012",
3385
+ "url": "http://www.americanrightsatwork.org/blogcategory-275/",
3386
+ "attachments": [],
3387
+ "tags": [],
3388
+ "notes": [],
3389
+ "seeAlso": []
3390
+ }
3391
+ ]
3392
+ },
3393
+ {
3394
+ "type": "import",
3395
+ "input": "@article{zoteroFilePath1,\n title = {Zotero: single attachment},\n file = {Test:files/47/test2.pdf:application/pdf}\n}\n\n@article{zoteroFilePaths2,\n title = {Zotero: multiple attachments},\n file = {Test1:files/47/test2.pdf:application/pdf;Test2:files/46/test2-min.pdf:application/pdf}\n}\n\n@article{zoteroFilePaths3,\n title = {Zotero: linked attachments (old)},\n file = {Test:E:\\some\\random\\folder\\test2.pdf:application/pdf}\n}\n\n@article{zoteroFilePaths4,\n title = {Zotero: linked attachments},\n file = {Test:E\\:\\\\some\\\\random\\\\folder\\\\test2.pdf:application/pdf}\n}\n\n@article{mendeleyFilePaths1,\n title = {Mendeley: single attachment},\n url = {https://forums.zotero.org/discussion/28347/unable-to-get-pdfs-stored-on-computer-into-zotero-standalone/},\n file = {:C$\\backslash$:/Users/somewhere/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/test.pdf:pdf}\n}\n\n@article{mendeleyFilePaths2,\ntitle = {Mendeley: escaped characters}\nfile = {:C$\\backslash$:/some/path/,.$\\backslash$;'[]\\{\\}`-=\\~{}!@\\#\\$\\%\\^{}\\&()\\_+.pdf:pdf},\n}\n\n@article{citaviFilePaths1,\n title = {Citavi: single attachment},\n url = {https://forums.zotero.org/discussion/35909/bibtex-import-from-citavi-including-pdf-attachments/},\n file = {Test:Q\\:\\\\some\\\\random\\\\folder\\\\test.pdf:pdf}\n}",
3396
+ "items": [
3397
+ {
3398
+ "itemType": "journalArticle",
3399
+ "title": "Zotero: single attachment",
3400
+ "creators": [],
3401
+ "itemID": "zoteroFilePath1",
3402
+ "attachments": [
3403
+ {
3404
+ "title": "Test",
3405
+ "path": "files/47/test2.pdf",
3406
+ "mimeType": "application/pdf"
3407
+ }
3408
+ ],
3409
+ "tags": [],
3410
+ "notes": [],
3411
+ "seeAlso": []
3412
+ },
3413
+ {
3414
+ "itemType": "journalArticle",
3415
+ "title": "Zotero: multiple attachments",
3416
+ "creators": [],
3417
+ "itemID": "zoteroFilePaths2",
3418
+ "attachments": [
3419
+ {
3420
+ "title": "Test1",
3421
+ "path": "files/47/test2.pdf",
3422
+ "mimeType": "application/pdf"
3423
+ },
3424
+ {
3425
+ "title": "Test2",
3426
+ "path": "files/46/test2-min.pdf",
3427
+ "mimeType": "application/pdf"
3428
+ }
3429
+ ],
3430
+ "tags": [],
3431
+ "notes": [],
3432
+ "seeAlso": []
3433
+ },
3434
+ {
3435
+ "itemType": "journalArticle",
3436
+ "title": "Zotero: linked attachments (old)",
3437
+ "creators": [],
3438
+ "itemID": "zoteroFilePaths3",
3439
+ "attachments": [],
3440
+ "tags": [],
3441
+ "notes": [],
3442
+ "seeAlso": []
3443
+ },
3444
+ {
3445
+ "itemType": "journalArticle",
3446
+ "title": "Zotero: linked attachments",
3447
+ "creators": [],
3448
+ "itemID": "zoteroFilePaths4",
3449
+ "attachments": [
3450
+ {
3451
+ "title": "Test",
3452
+ "path": "E:\\some\\random\\folder\\test2.pdf",
3453
+ "mimeType": "application/pdf"
3454
+ }
3455
+ ],
3456
+ "tags": [],
3457
+ "notes": [],
3458
+ "seeAlso": []
3459
+ },
3460
+ {
3461
+ "itemType": "journalArticle",
3462
+ "title": "Mendeley: single attachment",
3463
+ "creators": [],
3464
+ "itemID": "mendeleyFilePaths1",
3465
+ "url": "https://forums.zotero.org/discussion/28347/unable-to-get-pdfs-stored-on-computer-into-zotero-standalone/",
3466
+ "attachments": [
3467
+ {
3468
+ "title": "Attachment",
3469
+ "path": "C:/Users/somewhere/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/test.pdf",
3470
+ "mimeType": "application/pdf"
3471
+ }
3472
+ ],
3473
+ "tags": [],
3474
+ "notes": [],
3475
+ "seeAlso": []
3476
+ },
3477
+ {
3478
+ "itemType": "journalArticle",
3479
+ "title": "Mendeley: escaped characters",
3480
+ "creators": [],
3481
+ "itemID": "mendeleyFilePaths2",
3482
+ "attachments": [
3483
+ {
3484
+ "title": "Attachment",
3485
+ "path": "C:/some/path/,.;'[]{}`-=~!@#$%^&()_+.pdf",
3486
+ "mimeType": "application/pdf"
3487
+ }
3488
+ ],
3489
+ "tags": [],
3490
+ "notes": [],
3491
+ "seeAlso": []
3492
+ },
3493
+ {
3494
+ "itemType": "journalArticle",
3495
+ "title": "Citavi: single attachment",
3496
+ "creators": [],
3497
+ "itemID": "citaviFilePaths1",
3498
+ "url": "https://forums.zotero.org/discussion/35909/bibtex-import-from-citavi-including-pdf-attachments/",
3499
+ "attachments": [
3500
+ {
3501
+ "title": "Test",
3502
+ "path": "Q:\\some\\random\\folder\\test.pdf",
3503
+ "mimeType": "application/pdf"
3504
+ }
3505
+ ],
3506
+ "tags": [],
3507
+ "notes": [],
3508
+ "seeAlso": []
3509
+ }
3510
+ ]
3511
+ },
3512
+ {
3513
+ "type": "import",
3514
+ "input": "@article{BibTeXEscapeTest1,\n title = {\textbackslash\textbackslash\\{\\}: \\\\{}}\n}",
3515
+ "items": [
3516
+ {
3517
+ "itemType": "journalArticle",
3518
+ "title": "extbackslash extbackslash{}: {",
3519
+ "creators": [],
3520
+ "itemID": "BibTeXEscapeTest1",
3521
+ "attachments": [],
3522
+ "tags": [],
3523
+ "notes": [],
3524
+ "seeAlso": []
3525
+ }
3526
+ ]
3527
+ },
3528
+ {
3529
+ "type": "import",
3530
+ "input": "@article{sasson_increasing_2013,\n title = {Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates: a science advisory from the American Heart Association for healthcare providers, policymakers, public health departments, and community leaders},\n\tvolume = {127},\n\tissn = {1524-4539},\n\tshorttitle = {Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates},\n\tdoi = {10.1161/CIR.0b013e318288b4dd},\n\tlanguage = {eng},\n\tnumber = {12},\n\tjournal = {Circulation},\n\tauthor = {Sasson, Comilla and Meischke, Hendrika and Abella, Benjamin S and Berg, Robert A and Bobrow, Bentley J and Chan, Paul S and Root, Elisabeth Dowling and Heisler, Michele and Levy, Jerrold H and Link, Mark and Masoudi, Frederick and Ong, Marcus and Sayre, Michael R and Rumsfeld, John S and Rea, Thomas D and {American Heart Association Council on Quality of Care and Outcomes Research} and {Emergency Cardiovascular Care Committee} and {Council on Cardiopulmonary, Critical Care, Perioperative and Resuscitation} and {Council on Clinical Cardiology} and {Council on Cardiovascular Surgery and Anesthesia}},\n\tmonth = mar,\n\tyear = {2013},\n\tnote = {{PMID:} 23439512},\n\tkeywords = {Administrative Personnel, American Heart Association, Cardiopulmonary Resuscitation, Community Health Services, Health Personnel, Heart Arrest, Humans, Leadership, Public Health, United States},\n\tpages = {1342--1350}\n}",
3531
+ "items": [
3532
+ {
3533
+ "itemType": "journalArticle",
3534
+ "title": "Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates: a science advisory from the American Heart Association for healthcare providers, policymakers, public health departments, and community leaders",
3535
+ "creators": [
3536
+ {
3537
+ "firstName": "Comilla",
3538
+ "lastName": "Sasson",
3539
+ "creatorType": "author"
3540
+ },
3541
+ {
3542
+ "firstName": "Hendrika",
3543
+ "lastName": "Meischke",
3544
+ "creatorType": "author"
3545
+ },
3546
+ {
3547
+ "firstName": "Benjamin S",
3548
+ "lastName": "Abella",
3549
+ "creatorType": "author"
3550
+ },
3551
+ {
3552
+ "firstName": "Robert A",
3553
+ "lastName": "Berg",
3554
+ "creatorType": "author"
3555
+ },
3556
+ {
3557
+ "firstName": "Bentley J",
3558
+ "lastName": "Bobrow",
3559
+ "creatorType": "author"
3560
+ },
3561
+ {
3562
+ "firstName": "Paul S",
3563
+ "lastName": "Chan",
3564
+ "creatorType": "author"
3565
+ },
3566
+ {
3567
+ "firstName": "Elisabeth Dowling",
3568
+ "lastName": "Root",
3569
+ "creatorType": "author"
3570
+ },
3571
+ {
3572
+ "firstName": "Michele",
3573
+ "lastName": "Heisler",
3574
+ "creatorType": "author"
3575
+ },
3576
+ {
3577
+ "firstName": "Jerrold H",
3578
+ "lastName": "Levy",
3579
+ "creatorType": "author"
3580
+ },
3581
+ {
3582
+ "firstName": "Mark",
3583
+ "lastName": "Link",
3584
+ "creatorType": "author"
3585
+ },
3586
+ {
3587
+ "firstName": "Frederick",
3588
+ "lastName": "Masoudi",
3589
+ "creatorType": "author"
3590
+ },
3591
+ {
3592
+ "firstName": "Marcus",
3593
+ "lastName": "Ong",
3594
+ "creatorType": "author"
3595
+ },
3596
+ {
3597
+ "firstName": "Michael R",
3598
+ "lastName": "Sayre",
3599
+ "creatorType": "author"
3600
+ },
3601
+ {
3602
+ "firstName": "John S",
3603
+ "lastName": "Rumsfeld",
3604
+ "creatorType": "author"
3605
+ },
3606
+ {
3607
+ "firstName": "Thomas D",
3608
+ "lastName": "Rea",
3609
+ "creatorType": "author"
3610
+ },
3611
+ {
3612
+ "lastName": "American Heart Association Council on Quality of Care and Outcomes Research",
3613
+ "creatorType": "author",
3614
+ "fieldMode": 1
3615
+ },
3616
+ {
3617
+ "lastName": "Emergency Cardiovascular Care Committee",
3618
+ "creatorType": "author",
3619
+ "fieldMode": 1
3620
+ },
3621
+ {
3622
+ "lastName": "Council on Cardiopulmonary, Critical Care, Perioperative and Resuscitation",
3623
+ "creatorType": "author",
3624
+ "fieldMode": 1
3625
+ },
3626
+ {
3627
+ "lastName": "Council on Clinical Cardiology",
3628
+ "creatorType": "author",
3629
+ "fieldMode": 1
3630
+ },
3631
+ {
3632
+ "lastName": "Council on Cardiovascular Surgery and Anesthesia",
3633
+ "creatorType": "author",
3634
+ "fieldMode": 1
3635
+ }
3636
+ ],
3637
+ "date": "2013-03",
3638
+ "DOI": "10.1161/CIR.0b013e318288b4dd",
3639
+ "ISSN": "1524-4539",
3640
+ "extra": "PMID: 23439512",
3641
+ "issue": "12",
3642
+ "itemID": "sasson_increasing_2013",
3643
+ "language": "eng",
3644
+ "pages": "1342–1350",
3645
+ "publicationTitle": "Circulation",
3646
+ "shortTitle": "Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates",
3647
+ "volume": "127",
3648
+ "attachments": [],
3649
+ "tags": [
3650
+ {
3651
+ "tag": "Administrative Personnel"
3652
+ },
3653
+ {
3654
+ "tag": "American Heart Association"
3655
+ },
3656
+ {
3657
+ "tag": "Cardiopulmonary Resuscitation"
3658
+ },
3659
+ {
3660
+ "tag": "Community Health Services"
3661
+ },
3662
+ {
3663
+ "tag": "Health Personnel"
3664
+ },
3665
+ {
3666
+ "tag": "Heart Arrest"
3667
+ },
3668
+ {
3669
+ "tag": "Humans"
3670
+ },
3671
+ {
3672
+ "tag": "Leadership"
3673
+ },
3674
+ {
3675
+ "tag": "Public Health"
3676
+ },
3677
+ {
3678
+ "tag": "United States"
3679
+ }
3680
+ ],
3681
+ "notes": [],
3682
+ "seeAlso": []
3683
+ }
3684
+ ]
3685
+ },
3686
+ {
3687
+ "type": "import",
3688
+ "input": "@article{smith_testing_????,\n title = {Testing identifier import},\n\tauthor = {Smith, John},\n\tdoi = {10.12345/123456},\n\tlccn = {L123456},\n\tmrnumber = {MR123456},\n\tzmnumber = {ZM123456},\n\tpmid = {P123456},\n\tpmcid = {PMC123456},\n\teprinttype = {arxiv},\n\teprint = {AX123456}\n}",
3689
+ "items": [
3690
+ {
3691
+ "itemType": "journalArticle",
3692
+ "title": "Testing identifier import",
3693
+ "creators": [
3694
+ {
3695
+ "firstName": "John",
3696
+ "lastName": "Smith",
3697
+ "creatorType": "author"
3698
+ }
3699
+ ],
3700
+ "DOI": "10.12345/123456",
3701
+ "extra": "LCCN: L123456\nMR: MR123456\nZbl: ZM123456\nPMID: P123456\nPMCID: PMC123456\narXiv: AX123456",
3702
+ "itemID": "smith_testing_????",
3703
+ "attachments": [],
3704
+ "tags": [],
3705
+ "notes": [],
3706
+ "seeAlso": []
3707
+ }
3708
+ ]
3709
+ },
3710
+ {
3711
+ "type": "import",
3712
+ "input": "@inbook{smith_testing_????,\n title = {Testing identifier import chapter},\n\tauthor = {Smith, John},\n\tdoi = {10.12345/123456},\n\tlccn = {L123456},\n\tmrnumber = {MR123456},\n\tzmnumber = {ZM123456},\n\tpmid = {P123456},\n\tpmcid = {PMC123456},\n\teprinttype = {arxiv},\n\teprint = {AX123456}\n}",
3713
+ "items": [
3714
+ {
3715
+ "itemType": "bookSection",
3716
+ "title": "Testing identifier import chapter",
3717
+ "creators": [
3718
+ {
3719
+ "firstName": "John",
3720
+ "lastName": "Smith",
3721
+ "creatorType": "author"
3722
+ }
3723
+ ],
3724
+ "extra": "DOI: 10.12345/123456\nLCCN: L123456\nMR: MR123456\nZbl: ZM123456\nPMID: P123456\nPMCID: PMC123456\narXiv: AX123456",
3725
+ "itemID": "smith_testing_????",
3726
+ "attachments": [],
3727
+ "tags": [],
3728
+ "notes": [],
3729
+ "seeAlso": []
3730
+ }
3731
+ ]
3732
+ },
3733
+ {
3734
+ "type": "import",
3735
+ "input": "@mastersthesis{DBLP:ms/Hoffmann2008,\n author = {Oliver Hoffmann},\n title = {Regelbasierte Extraktion und asymmetrische Fusion bibliographischer\n Informationen},\n school = {Diplomarbeit, Universit{\\\"{a}}t Trier, {FB} IV, {DBIS/DBLP}},\n year = {2009},\n url = {http://dblp.uni-trier.de/papers/DiplomarbeitOliverHoffmann.pdf},\n timestamp = {Wed, 03 Aug 2011 15:40:21 +0200},\n biburl = {http://dblp.org/rec/bib/ms/Hoffmann2008},\n bibsource = {dblp computer science bibliography, http://dblp.org}\n}\n\n@phdthesis{DBLP:phd/Ackermann2009,\n author = {Marcel R. Ackermann},\n title = {Algorithms for the Bregman k-Median problem},\n school = {University of Paderborn},\n year = {2009},\n url = {http://digital.ub.uni-paderborn.de/hs/content/titleinfo/1561},\n urn = {urn:nbn:de:hbz:466-20100407029},\n timestamp = {Thu, 01 Dec 2016 16:33:49 +0100},\n biburl = {http://dblp.org/rec/bib/phd/Ackermann2009},\n bibsource = {dblp computer science bibliography, http://dblp.org}\n}",
3736
+ "items": [
3737
+ {
3738
+ "itemType": "thesis",
3739
+ "title": "Regelbasierte Extraktion und asymmetrische Fusion bibliographischer Informationen",
3740
+ "creators": [
3741
+ {
3742
+ "firstName": "Oliver",
3743
+ "lastName": "Hoffmann",
3744
+ "creatorType": "author"
3745
+ }
3746
+ ],
3747
+ "date": "2009",
3748
+ "itemID": "DBLP:ms/Hoffmann2008",
3749
+ "thesisType": "Master's Thesis",
3750
+ "university": "Diplomarbeit, Universität Trier, FB IV, DBIS/DBLP",
3751
+ "url": "http://dblp.uni-trier.de/papers/DiplomarbeitOliverHoffmann.pdf",
3752
+ "attachments": [],
3753
+ "tags": [],
3754
+ "notes": [],
3755
+ "seeAlso": []
3756
+ },
3757
+ {
3758
+ "itemType": "thesis",
3759
+ "title": "Algorithms for the Bregman k-Median problem",
3760
+ "creators": [
3761
+ {
3762
+ "firstName": "Marcel R.",
3763
+ "lastName": "Ackermann",
3764
+ "creatorType": "author"
3765
+ }
3766
+ ],
3767
+ "date": "2009",
3768
+ "itemID": "DBLP:phd/Ackermann2009",
3769
+ "thesisType": "PhD Thesis",
3770
+ "university": "University of Paderborn",
3771
+ "url": "http://digital.ub.uni-paderborn.de/hs/content/titleinfo/1561",
3772
+ "attachments": [],
3773
+ "tags": [],
3774
+ "notes": [],
3775
+ "seeAlso": []
3776
+ }
3777
+ ]
3778
+ },
3779
+ {
3780
+ "type": "import",
3781
+ "input": "@inproceedings{Giannotti:2007:TPM:1281192.1281230,\n author = {Giannotti, Fosca and Nanni, Mirco and Pinelli, Fabio and Pedreschi, Dino},\n title = {Trajectory Pattern Mining},\n booktitle = {Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining},\n series = {KDD '07},\n year = {2007},\n isbn = {978-1-59593-609-7},\n location = {San Jose, California, USA},\n pages = {330--339},\n numpages = {10},\n url = {http://doi.acm.org/10.1145/1281192.1281230},\n doi = {10.1145/1281192.1281230},\n acmid = {1281230},\n publisher = {ACM},\n address = {New York, NY, USA},\n keywords = {spatio-temporal data mining, trajectory patterns},\n }",
3782
+ "items": [
3783
+ {
3784
+ "itemType": "conferencePaper",
3785
+ "title": "Trajectory Pattern Mining",
3786
+ "creators": [
3787
+ {
3788
+ "firstName": "Fosca",
3789
+ "lastName": "Giannotti",
3790
+ "creatorType": "author"
3791
+ },
3792
+ {
3793
+ "firstName": "Mirco",
3794
+ "lastName": "Nanni",
3795
+ "creatorType": "author"
3796
+ },
3797
+ {
3798
+ "firstName": "Fabio",
3799
+ "lastName": "Pinelli",
3800
+ "creatorType": "author"
3801
+ },
3802
+ {
3803
+ "firstName": "Dino",
3804
+ "lastName": "Pedreschi",
3805
+ "creatorType": "author"
3806
+ }
3807
+ ],
3808
+ "date": "2007",
3809
+ "DOI": "10.1145/1281192.1281230",
3810
+ "ISBN": "978-1-59593-609-7",
3811
+ "extra": "event-place: San Jose, California, USA",
3812
+ "itemID": "Giannotti:2007:TPM:1281192.1281230",
3813
+ "pages": "330–339",
3814
+ "place": "New York, NY, USA",
3815
+ "proceedingsTitle": "Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining",
3816
+ "publisher": "ACM",
3817
+ "series": "KDD '07",
3818
+ "url": "http://doi.acm.org/10.1145/1281192.1281230",
3819
+ "attachments": [],
3820
+ "tags": [
3821
+ {
3822
+ "tag": "spatio-temporal data mining"
3823
+ },
3824
+ {
3825
+ "tag": "trajectory patterns"
3826
+ }
3827
+ ],
3828
+ "notes": [],
3829
+ "seeAlso": []
3830
+ }
3831
+ ]
3832
+ },
3833
+ {
3834
+ "type": "import",
3835
+ "input": "@article{madoc40756,\n author = {Elias Naumann and Moritz He{\\ss} and Leander Steinkopf},\n number = {6},\n language = {Deutsch},\n volume = {44},\n publisher = {Lucius \\& Lucius},\n address = {Stuttgart},\n pages = {426--446},\n journal = {Zeitschrift f{\\\"u}r Soziologie : ZfS},\n year = {2015},\n doi = {10.1515/zfsoz-2015-0604},\n title = {Die Alterung der Gesellschaft und der Generationenkonflikt in Europa},\n url = {https://madoc.bib.uni-mannheim.de/40756/}\n}\n\n@article {MR3077863,\nAUTHOR = {Eli{\\'a}{\\v{s}}, Marek and Matou{\\v{s}}ek, Ji{\\v{r}}{\\'{\\i}}},\nTITLE = {Higher-order {E}rd{\\H o}s-{S}zekeres theorems},\nJOURNAL = {Adv. Math.},\nFJOURNAL = {Advances in Mathematics},\nVOLUME = {244},\nYEAR = {2013},\nPAGES = {1--15},\nISSN = {0001-8708},\nMRCLASS = {05C65 (05C55 52C10)},\nMRNUMBER = {3077863},\nMRREVIEWER = {David Conlon},\nDOI = {10.1016/j.aim.2013.04.020},\nURL = {http://dx.doi.org/10.1016/j.aim.2013.04.020},\n}",
3836
+ "items": [
3837
+ {
3838
+ "itemType": "journalArticle",
3839
+ "title": "Die Alterung der Gesellschaft und der Generationenkonflikt in Europa",
3840
+ "creators": [
3841
+ {
3842
+ "firstName": "Elias",
3843
+ "lastName": "Naumann",
3844
+ "creatorType": "author"
3845
+ },
3846
+ {
3847
+ "firstName": "Moritz",
3848
+ "lastName": "Heß",
3849
+ "creatorType": "author"
3850
+ },
3851
+ {
3852
+ "firstName": "Leander",
3853
+ "lastName": "Steinkopf",
3854
+ "creatorType": "author"
3855
+ }
3856
+ ],
3857
+ "date": "2015",
3858
+ "DOI": "10.1515/zfsoz-2015-0604",
3859
+ "issue": "6",
3860
+ "itemID": "madoc40756",
3861
+ "language": "Deutsch",
3862
+ "pages": "426–446",
3863
+ "publicationTitle": "Zeitschrift für Soziologie : ZfS",
3864
+ "url": "https://madoc.bib.uni-mannheim.de/40756/",
3865
+ "volume": "44",
3866
+ "attachments": [],
3867
+ "tags": [],
3868
+ "notes": [],
3869
+ "seeAlso": []
3870
+ },
3871
+ {
3872
+ "itemType": "journalArticle",
3873
+ "title": "Higher-order Erdős-Szekeres theorems",
3874
+ "creators": [
3875
+ {
3876
+ "firstName": "Marek",
3877
+ "lastName": "Eliáš",
3878
+ "creatorType": "author"
3879
+ },
3880
+ {
3881
+ "firstName": "Jiří",
3882
+ "lastName": "Matoušek",
3883
+ "creatorType": "author"
3884
+ }
3885
+ ],
3886
+ "date": "2013",
3887
+ "DOI": "10.1016/j.aim.2013.04.020",
3888
+ "ISSN": "0001-8708",
3889
+ "extra": "MR: 3077863",
3890
+ "itemID": "MR3077863",
3891
+ "journalAbbreviation": "Adv. Math.",
3892
+ "pages": "1–15",
3893
+ "publicationTitle": "Advances in Mathematics",
3894
+ "url": "http://dx.doi.org/10.1016/j.aim.2013.04.020",
3895
+ "volume": "244",
3896
+ "attachments": [],
3897
+ "tags": [],
3898
+ "notes": [],
3899
+ "seeAlso": []
3900
+ }
3901
+ ]
3902
+ },
3903
+ {
3904
+ "type": "import",
3905
+ "input": "@incollection{madoc44942,\n language = {isl},\n author = {Eva H. {\\\"O}nnud{\\'o}ttir},\n title = {B{\\'u}s{\\'a}haldabyltingin : P{\\'o}lit{\\'i}skt jafnr{\\ae}{\\dh}i og {\\th}{\\'a}tttaka almennings {\\'i} m{\\'o}tm{\\ae}lum},\n year = {2011},\n publisher = {F{\\'e}lagsv{\\'i}sindastofnun H{\\'a}sk{\\'o}la {\\'I}slands},\n address = {Reykjavik},\n pages = {36--44}\n}\n",
3906
+ "items": [
3907
+ {
3908
+ "itemType": "bookSection",
3909
+ "title": "Búsáhaldabyltingin : Pólitískt jafnræði og þátttaka almennings í mótmælum",
3910
+ "creators": [
3911
+ {
3912
+ "firstName": "Eva H.",
3913
+ "lastName": "Önnudóttir",
3914
+ "creatorType": "author"
3915
+ }
3916
+ ],
3917
+ "date": "2011",
3918
+ "itemID": "madoc44942",
3919
+ "language": "isl",
3920
+ "pages": "36–44",
3921
+ "place": "Reykjavik",
3922
+ "publisher": "Félagsvísindastofnun Háskóla Íslands",
3923
+ "attachments": [],
3924
+ "tags": [],
3925
+ "notes": [],
3926
+ "seeAlso": []
3927
+ }
3928
+ ]
3929
+ },
3930
+ {
3931
+ "type": "import",
3932
+ "input": "@String {zotero-url = {https://www.zotero.org/}}\n@string(zotero-creator = \"Corporation for Digital Scholarship\"))\n\n@Electronic{example-electronic-string,\n author = zotero-creator,\n title= {Zotero's Homepage},\n year = 2019,\n url =zotero-url,\n urldate=\"2019-10-12\"\n}\n",
3933
+ "items": [
3934
+ {
3935
+ "itemType": "webpage",
3936
+ "title": "Zotero's Homepage",
3937
+ "creators": [
3938
+ {
3939
+ "firstName": "Corporation for Digital",
3940
+ "lastName": "Scholarship",
3941
+ "creatorType": "author"
3942
+ }
3943
+ ],
3944
+ "date": "2019",
3945
+ "itemID": "example-electronic-string",
3946
+ "url": "https://www.zotero.org/",
3947
+ "attachments": [],
3948
+ "tags": [],
3949
+ "notes": [],
3950
+ "seeAlso": []
3951
+ }
3952
+ ]
3953
+ },
3954
+ {
3955
+ "type": "import",
3956
+ "input": "@String {meta:maintainer = \"Xavier D\\\\'ecoret\"}\n\n@\n %a\npreamble\n %a\n{ \"Maintained by \" # meta:maintainer }\n@String(Stefan = \"Stefan Swe{\\\\i}g\")\n@String(and = \" and \")\n\n@Book{sweig42,\n Author =\t stefan # And # meta:maintainer,\n title =\t { The {impossible} TEL---book },\n publisher =\t { D\\\\\"ead Po$_{eee}$t Society},\n yEAr =\t 1942,\n month = mar\n}",
3957
+ "items": [
3958
+ {
3959
+ "itemType": "book",
3960
+ "title": "The impossible ℡—book",
3961
+ "creators": [
3962
+ {
3963
+ "firstName": "Stefan",
3964
+ "lastName": "Swe\\ıg",
3965
+ "creatorType": "author"
3966
+ },
3967
+ {
3968
+ "firstName": "Xavier",
3969
+ "lastName": "D\\écoret",
3970
+ "creatorType": "author"
3971
+ }
3972
+ ],
3973
+ "date": "1942-03",
3974
+ "itemID": "sweig42",
3975
+ "publisher": "D\\ëad Po<sub>eee</sub>t Society",
3976
+ "attachments": [],
3977
+ "tags": [],
3978
+ "notes": [],
3979
+ "seeAlso": []
3980
+ }
3981
+ ]
3982
+ },
3983
+ {
3984
+ "type": "import",
3985
+ "input": "@preamble{BibTeX for papers by David Kotz; for complete/updated list see\nhttps://www.cs.dartmouth.edu/~kotz/research/papers.html}\n\n@Article{batsis:rural,\n author = {John A. Batsis and Curtis L. Petersen and Matthew M. Clark and Summer B. Cook and David Kotz and Tyler L. Gooding and Meredith N. Roderka and Rima I. Al-Nimr and Dawna M. Pidgeon and Ann Haedrich and KC Wright and Christina Aquila and Todd A. Mackenzie},\n title = {A Rural Mobile Health Obesity Wellness Intervention for Older Adults with Obesity},\n journal = {BMC Geriatrics},\n year = 2020,\n month = {December},\n copyright = {the authors},\n URL = {https://www.cs.dartmouth.edu/~kotz/research/batsis-rural/index.html},\n note = {Accepted for publication},\n}\n",
3986
+ "items": [
3987
+ {
3988
+ "itemType": "journalArticle",
3989
+ "title": "A Rural Mobile Health Obesity Wellness Intervention for Older Adults with Obesity",
3990
+ "creators": [
3991
+ {
3992
+ "firstName": "John A.",
3993
+ "lastName": "Batsis",
3994
+ "creatorType": "author"
3995
+ },
3996
+ {
3997
+ "firstName": "Curtis L.",
3998
+ "lastName": "Petersen",
3999
+ "creatorType": "author"
4000
+ },
4001
+ {
4002
+ "firstName": "Matthew M.",
4003
+ "lastName": "Clark",
4004
+ "creatorType": "author"
4005
+ },
4006
+ {
4007
+ "firstName": "Summer B.",
4008
+ "lastName": "Cook",
4009
+ "creatorType": "author"
4010
+ },
4011
+ {
4012
+ "firstName": "David",
4013
+ "lastName": "Kotz",
4014
+ "creatorType": "author"
4015
+ },
4016
+ {
4017
+ "firstName": "Tyler L.",
4018
+ "lastName": "Gooding",
4019
+ "creatorType": "author"
4020
+ },
4021
+ {
4022
+ "firstName": "Meredith N.",
4023
+ "lastName": "Roderka",
4024
+ "creatorType": "author"
4025
+ },
4026
+ {
4027
+ "firstName": "Rima I.",
4028
+ "lastName": "Al-Nimr",
4029
+ "creatorType": "author"
4030
+ },
4031
+ {
4032
+ "firstName": "Dawna M.",
4033
+ "lastName": "Pidgeon",
4034
+ "creatorType": "author"
4035
+ },
4036
+ {
4037
+ "firstName": "Ann",
4038
+ "lastName": "Haedrich",
4039
+ "creatorType": "author"
4040
+ },
4041
+ {
4042
+ "firstName": "K. C.",
4043
+ "lastName": "Wright",
4044
+ "creatorType": "author"
4045
+ },
4046
+ {
4047
+ "firstName": "Christina",
4048
+ "lastName": "Aquila",
4049
+ "creatorType": "author"
4050
+ },
4051
+ {
4052
+ "firstName": "Todd A.",
4053
+ "lastName": "Mackenzie",
4054
+ "creatorType": "author"
4055
+ }
4056
+ ],
4057
+ "date": "2020-12",
4058
+ "itemID": "batsis:rural",
4059
+ "publicationTitle": "BMC Geriatrics",
4060
+ "rights": "the authors",
4061
+ "url": "https://www.cs.dartmouth.edu/~kotz/research/batsis-rural/index.html",
4062
+ "attachments": [],
4063
+ "tags": [],
4064
+ "notes": [
4065
+ {
4066
+ "note": "<p>Accepted for publication</p>"
4067
+ }
4068
+ ],
4069
+ "seeAlso": []
4070
+ }
4071
+ ]
4072
+ },
4073
+ {
4074
+ "type": "import",
4075
+ "input": "@techreport{ietf-bmwg-evpntest-09,\n\tnumber =\t{draft-ietf-bmwg-evpntest-09},\n\ttype =\t\t{Internet-Draft},\n\tinstitution =\t{Internet Engineering Task Force},\n\tpublisher =\t{Internet Engineering Task Force},\n\tnote =\t\t{Work in Progress},\n\turl =\t\t{https://datatracker.ietf.org/doc/html/draft-ietf-bmwg-evpntest-09},\n author =\t{sudhin jacob and Kishore Tiruveedhula},\n\ttitle =\t\t{{Benchmarking Methodology for EVPN and PBB-EVPN}},\n\tpagetotal =\t28,\n\tyear =\t\t2021,\n\tmonth =\t\tjun,\n\tday =\t\t18,\n\tabstract =\t{This document defines methodologies for benchmarking EVPN and PBB- EVPN performance. EVPN is defined in RFC 7432, and is being deployed in Service Provider networks. Specifically, this document defines the methodologies for benchmarking EVPN/PBB-EVPN convergence, data plane performance, and control plane performance.},\n}\n",
4076
+ "items": [
4077
+ {
4078
+ "itemType": "report",
4079
+ "title": "Benchmarking Methodology for EVPN and PBB-EVPN",
4080
+ "creators": [
4081
+ {
4082
+ "firstName": "sudhin",
4083
+ "lastName": "jacob",
4084
+ "creatorType": "author"
4085
+ },
4086
+ {
4087
+ "firstName": "Kishore",
4088
+ "lastName": "Tiruveedhula",
4089
+ "creatorType": "author"
4090
+ }
4091
+ ],
4092
+ "date": "2021-06-18",
4093
+ "abstractNote": "This document defines methodologies for benchmarking EVPN and PBB- EVPN performance. EVPN is defined in RFC 7432, and is being deployed in Service Provider networks. Specifically, this document defines the methodologies for benchmarking EVPN/PBB-EVPN convergence, data plane performance, and control plane performance.",
4094
+ "institution": "Internet Engineering Task Force",
4095
+ "itemID": "ietf-bmwg-evpntest-09",
4096
+ "reportNumber": "draft-ietf-bmwg-evpntest-09",
4097
+ "reportType": "Internet-Draft",
4098
+ "url": "https://datatracker.ietf.org/doc/html/draft-ietf-bmwg-evpntest-09",
4099
+ "attachments": [],
4100
+ "tags": [],
4101
+ "notes": [
4102
+ {
4103
+ "note": "<p>Work in Progress</p>"
4104
+ }
4105
+ ],
4106
+ "seeAlso": []
4107
+ }
4108
+ ]
4109
+ },
4110
+ {
4111
+ "type": "import",
4112
+ "input": "@inproceedings{NIPS2009_0188e8b8,\n author = {Cuturi, Marco and Vert, Jean-philippe and D\\textquotesingle aspremont, Alexandre},\n booktitle = {Advances in Neural Information Processing Systems},\n editor = {Y. Bengio and D. Schuurmans and J. Lafferty and C. Williams and A. Culotta},\n pages = {},\n publisher = {Curran Associates, Inc.},\n title = {White Functionals for Anomaly Detection in Dynamical Systems},\n url = {https://proceedings.neurips.cc/paper/2009/file/0188e8b8b014829e2fa0f430f0a95961-Paper.pdf},\n volume = {22},\n year = {2009}\n}",
4113
+ "items": [
4114
+ {
4115
+ "itemType": "conferencePaper",
4116
+ "title": "White Functionals for Anomaly Detection in Dynamical Systems",
4117
+ "creators": [
4118
+ {
4119
+ "firstName": "Marco",
4120
+ "lastName": "Cuturi",
4121
+ "creatorType": "author"
4122
+ },
4123
+ {
4124
+ "firstName": "Jean-philippe",
4125
+ "lastName": "Vert",
4126
+ "creatorType": "author"
4127
+ },
4128
+ {
4129
+ "firstName": "Alexandre",
4130
+ "lastName": "D' aspremont",
4131
+ "creatorType": "author"
4132
+ },
4133
+ {
4134
+ "firstName": "Y.",
4135
+ "lastName": "Bengio",
4136
+ "creatorType": "editor"
4137
+ },
4138
+ {
4139
+ "firstName": "D.",
4140
+ "lastName": "Schuurmans",
4141
+ "creatorType": "editor"
4142
+ },
4143
+ {
4144
+ "firstName": "J.",
4145
+ "lastName": "Lafferty",
4146
+ "creatorType": "editor"
4147
+ },
4148
+ {
4149
+ "firstName": "C.",
4150
+ "lastName": "Williams",
4151
+ "creatorType": "editor"
4152
+ },
4153
+ {
4154
+ "firstName": "A.",
4155
+ "lastName": "Culotta",
4156
+ "creatorType": "editor"
4157
+ }
4158
+ ],
4159
+ "date": "2009",
4160
+ "itemID": "NIPS2009_0188e8b8",
4161
+ "proceedingsTitle": "Advances in Neural Information Processing Systems",
4162
+ "publisher": "Curran Associates, Inc.",
4163
+ "url": "https://proceedings.neurips.cc/paper/2009/file/0188e8b8b014829e2fa0f430f0a95961-Paper.pdf",
4164
+ "volume": "22",
4165
+ "attachments": [],
4166
+ "tags": [],
4167
+ "notes": [],
4168
+ "seeAlso": []
4169
+ }
4170
+ ]
4171
+ },
4172
+ {
4173
+ "type": "import",
4174
+ "input": "@article{Borissov:2855446,\r\n author = \"Borissov, Alexander and Solokhin, Sergei\",\r\n collaboration = \"ALICE\",\r\n title = \"{Production of $\\Sigma^{0}$ Hyperon and Search of\r\n $\\Sigma^{0}$ Hypernuclei at LHC with ALICE}\",\r\n journal = \"Phys. At. Nucl.\",\r\n volume = \"85\",\r\n number = \"6\",\r\n pages = \"970-975\",\r\n year = \"2023\",\r\n url = \"https://cds.cern.ch/record/2855446\",\r\n doi = \"10.1134/S1063778823010131\",\r\n }",
4175
+ "items": [
4176
+ {
4177
+ "itemType": "journalArticle",
4178
+ "title": "Production of Σ⁰ Hyperon and Search of Σ⁰ Hypernuclei at LHC with ALICE",
4179
+ "creators": [
4180
+ {
4181
+ "firstName": "Alexander",
4182
+ "lastName": "Borissov",
4183
+ "creatorType": "author"
4184
+ },
4185
+ {
4186
+ "firstName": "Sergei",
4187
+ "lastName": "Solokhin",
4188
+ "creatorType": "author"
4189
+ }
4190
+ ],
4191
+ "date": "2023",
4192
+ "DOI": "10.1134/S1063778823010131",
4193
+ "issue": "6",
4194
+ "itemID": "Borissov:2855446",
4195
+ "pages": "970-975",
4196
+ "publicationTitle": "Phys. At. Nucl.",
4197
+ "url": "https://cds.cern.ch/record/2855446",
4198
+ "volume": "85",
4199
+ "attachments": [],
4200
+ "tags": [],
4201
+ "notes": [],
4202
+ "seeAlso": []
4203
+ }
4204
+ ]
4205
+ },
4206
+ {
4207
+ "type": "import",
4208
+ "input": "@book{derbis1998poczucie,\r\ntitle={Poczucie jako{\\'s}ci {\\.z}ycia a swoboda dzia{\\l}ania i odpowiedzialno{\\'s}{\\'c}},\r\nauthor={Derbis, Romuald and Ba{\\'n}ka, Augustyn},\r\nyear={1998},\r\npublisher={Stowarzyszenie Psychologia i Architektura}\r\n}",
4209
+ "items": [
4210
+ {
4211
+ "itemType": "book",
4212
+ "title": "Poczucie jakości życia a swoboda działania i odpowiedzialność",
4213
+ "creators": [
4214
+ {
4215
+ "firstName": "Romuald",
4216
+ "lastName": "Derbis",
4217
+ "creatorType": "author"
4218
+ },
4219
+ {
4220
+ "firstName": "Augustyn",
4221
+ "lastName": "Bańka",
4222
+ "creatorType": "author"
4223
+ }
4224
+ ],
4225
+ "date": "1998",
4226
+ "itemID": "derbis1998poczucie",
4227
+ "publisher": "Stowarzyszenie Psychologia i Architektura",
4228
+ "attachments": [],
4229
+ "tags": [],
4230
+ "notes": [],
4231
+ "seeAlso": []
4232
+ }
4233
+ ]
4234
+ }
4235
+ ]
4236
+ /** END TEST CASES **/