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,1082 @@
1
+ /*
2
+ ***** BEGIN LICENSE BLOCK *****
3
+
4
+ Copyright © 2021 Corporation for Digital Scholarship
5
+ Vienna, Virginia, USA
6
+ http://zotero.org
7
+
8
+ This file is part of Zotero.
9
+
10
+ Zotero is free software: you can redistribute it and/or modify
11
+ it under the terms of the GNU Affero General Public License as published by
12
+ the Free Software Foundation, either version 3 of the License, or
13
+ (at your option) any later version.
14
+
15
+ Zotero is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ GNU Affero General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Affero General Public License
21
+ along with Zotero. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ ***** END LICENSE BLOCK *****
24
+ */
25
+
26
+ (function() {
27
+
28
+ // Various Utility functions related to Zotero, API, Translation Item formats
29
+ // and their conversion or field access.
30
+
31
+ var Utilities_Item = {
32
+ PARTICLE_GIVEN_REGEXP: /^([^ ]+(?:\u02bb |\u2019 | |\' ) *)(.+)$/,
33
+ PARTICLE_FAMILY_REGEXP: /^([^ ]+(?:\-|\u02bb|\u2019| |\') *)(.+)$/,
34
+
35
+ /**
36
+ * Tests if an item type exists
37
+ *
38
+ * @param {String} type Item type
39
+ * @type Boolean
40
+ */
41
+ itemTypeExists: function(type) {
42
+ return !!Zotero.ItemTypes.getID(type);
43
+ },
44
+
45
+ /**
46
+ * Converts an item from toArray() format to citeproc-js JSON
47
+ * @param {Zotero.Item} zoteroItem
48
+ * @return {Object|Promise<Object>} A CSL item, or a promise for a CSL item if a Zotero.Item
49
+ * is passed
50
+ */
51
+ itemToCSLJSON: function(zoteroItem) {
52
+ // If a Zotero.Item was passed, convert it to the proper format (skipping child items) and
53
+ // call this function again with that object
54
+ //
55
+ // (Zotero.Item won't be defined in translation-server)
56
+ if (typeof Zotero.Item !== 'undefined' && zoteroItem instanceof Zotero.Item) {
57
+ return Utilities_Item.itemToCSLJSON(
58
+ Zotero.Utilities.Internal.itemToExportFormat(zoteroItem, false, true)
59
+ );
60
+ }
61
+
62
+ var cslType = Zotero.Schema.CSL_TYPE_MAPPINGS[zoteroItem.itemType];
63
+ if (!cslType) {
64
+ throw new Error('Unexpected Zotero Item type "' + zoteroItem.itemType + '"');
65
+ }
66
+
67
+ var itemTypeID = Zotero.ItemTypes.getID(zoteroItem.itemType);
68
+
69
+ var cslItem = {
70
+ 'id':zoteroItem.uri,
71
+ 'type':cslType
72
+ };
73
+
74
+ // get all text variables (there must be a better way)
75
+ for(var variable in Zotero.Schema.CSL_TEXT_MAPPINGS) {
76
+ if (variable === "shortTitle") continue; // read both title-short and shortTitle, but write only title-short
77
+ var fields = Zotero.Schema.CSL_TEXT_MAPPINGS[variable];
78
+ for(var i=0, n=fields.length; i<n; i++) {
79
+ var field = fields[i],
80
+ value = null;
81
+
82
+ if(field in zoteroItem) {
83
+ value = zoteroItem[field];
84
+ } else {
85
+ if (field == 'versionNumber') field = 'version'; // Until https://github.com/zotero/zotero/issues/670
86
+ var fieldID = Zotero.ItemFields.getID(field),
87
+ typeFieldID;
88
+ if(fieldID
89
+ && (typeFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(itemTypeID, fieldID))
90
+ ) {
91
+ value = zoteroItem[Zotero.ItemFields.getName(typeFieldID)];
92
+ }
93
+ }
94
+
95
+ if (!value) continue;
96
+
97
+ if (typeof value == 'string') {
98
+ if (field == 'ISBN') {
99
+ // Only use the first ISBN in CSL JSON
100
+ var isbn = value.match(/^(?:97[89]-?)?(?:\d-?){9}[\dx](?!-)\b/i);
101
+ if (isbn) value = isbn[0];
102
+ }
103
+ else if (field == 'extra') {
104
+ value = Zotero.Utilities.Item.extraToCSL(value);
105
+ }
106
+
107
+ // Strip enclosing quotes
108
+ if(value.charAt(0) == '"' && value.indexOf('"', 1) == value.length - 1) {
109
+ value = value.substring(1, value.length-1);
110
+ }
111
+ cslItem[variable] = value;
112
+ break;
113
+ }
114
+ }
115
+ }
116
+
117
+ // separate name variables
118
+ if (zoteroItem.type != "attachment" && zoteroItem.type != "note") {
119
+ let primaryCreatorType = Zotero.CreatorTypes.getName(Zotero.CreatorTypes.getPrimaryIDForType(itemTypeID));
120
+ var creators = zoteroItem.creators;
121
+ for(var i=0; creators && i<creators.length; i++) {
122
+ var creator = creators[i];
123
+ var creatorType = creator.creatorType;
124
+ let cslCreatorType = Zotero.Schema.CSL_NAME_MAPPINGS[creatorType];
125
+ if (!cslCreatorType && creatorType == primaryCreatorType) {
126
+ cslCreatorType = "author";
127
+ }
128
+ if (!cslCreatorType) continue;
129
+
130
+ var nameObj;
131
+ if (creator.name || (creator.fieldMode === 1 && creator.lastName && !creator.firstName)) {
132
+ nameObj = {'literal': creator.name || creator.lastName};
133
+ }
134
+ else if (creator.lastName || creator.firstName) {
135
+ nameObj = {
136
+ family: creator.lastName || '',
137
+ given: creator.firstName || ''
138
+ };
139
+
140
+ // Parse name particles
141
+ // Replicate citeproc-js logic for what should be parsed so we don't
142
+ // break current behavior.
143
+ if (nameObj.family && nameObj.given) {
144
+ // Don't parse if last name is quoted
145
+ if (nameObj.family.length > 1
146
+ && nameObj.family.charAt(0) == '"'
147
+ && nameObj.family.charAt(nameObj.family.length - 1) == '"'
148
+ ) {
149
+ nameObj.family = nameObj.family.substr(1, nameObj.family.length - 2);
150
+ } else {
151
+ Zotero.Utilities.Item.parseParticles(nameObj);
152
+ }
153
+ }
154
+ }
155
+
156
+ if(cslItem[cslCreatorType]) {
157
+ cslItem[cslCreatorType].push(nameObj);
158
+ } else {
159
+ cslItem[cslCreatorType] = [nameObj];
160
+ }
161
+ }
162
+ }
163
+
164
+ // get date variables
165
+ for(var variable in Zotero.Schema.CSL_DATE_MAPPINGS) {
166
+ var date = zoteroItem[Zotero.Schema.CSL_DATE_MAPPINGS[variable]];
167
+ if (!date) {
168
+ var typeSpecificFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(itemTypeID, Zotero.Schema.CSL_DATE_MAPPINGS[variable]);
169
+ if (typeSpecificFieldID) {
170
+ date = zoteroItem[Zotero.ItemFields.getName(typeSpecificFieldID)];
171
+ }
172
+ }
173
+
174
+ if(date) {
175
+ // Convert UTC timestamp to local timestamp for access date
176
+ if (Zotero.Schema.CSL_DATE_MAPPINGS[variable] == 'accessDate' && !Zotero.Date.isSQLDate(date)) {
177
+ // Accept ISO date
178
+ if (Zotero.Date.isISODate(date)) {
179
+ let d = Zotero.Date.isoToDate(date);
180
+ date = Zotero.Date.dateToSQL(d, true);
181
+ }
182
+ let localDate = Zotero.Date.sqlToDate(date, true);
183
+ date = Zotero.Date.dateToSQL(localDate);
184
+ }
185
+ var dateObj = Zotero.Date.strToDate(date);
186
+ // otherwise, use date-parts
187
+ var dateParts = [];
188
+ if(dateObj.year) {
189
+ // add year, month, and day, if they exist
190
+ dateParts.push(dateObj.year);
191
+ if(dateObj.month !== undefined) {
192
+ // strToDate() returns a JS-style 0-indexed month, so we add 1 to it
193
+ dateParts.push(dateObj.month+1);
194
+ if(dateObj.day) {
195
+ dateParts.push(dateObj.day);
196
+ }
197
+ }
198
+ cslItem[variable] = {"date-parts":[dateParts]};
199
+
200
+ // if no month, use season as month
201
+ if(dateObj.part && dateObj.month === undefined) {
202
+ cslItem[variable].season = dateObj.part;
203
+ }
204
+ } else {
205
+ // if no year, pass date literally
206
+ cslItem[variable] = {"literal":date};
207
+ }
208
+ }
209
+ }
210
+
211
+ // Special mapping for note title
212
+ if (zoteroItem.itemType == 'note' && zoteroItem.note) {
213
+ cslItem.title = Zotero.Utilities.Item.noteToTitle(zoteroItem.note);
214
+ }
215
+
216
+ //this._cache[zoteroItem.id] = cslItem;
217
+ return cslItem;
218
+ },
219
+
220
+ /**
221
+ * Converts an item in CSL JSON format to a Zotero item
222
+ * @param {Zotero.Item} item
223
+ * @param {Object} cslItem
224
+ */
225
+ itemFromCSLJSON: function(item, cslItem) {
226
+ var isZoteroItem = !!item.setType,
227
+ zoteroType;
228
+
229
+ if (!cslItem.type) {
230
+ Zotero.debug(cslItem, 1);
231
+ throw new Error("No 'type' provided in CSL-JSON");
232
+ }
233
+
234
+ // Some special cases to help us map item types correctly
235
+ // This ensures that we don't lose data on import. The fields
236
+ // we check are incompatible with the alternative item types
237
+ if (cslItem.type == 'bill' && (cslItem.publisher || cslItem['number-of-volumes'])) {
238
+ zoteroType = 'hearing';
239
+ }
240
+ else if (cslItem.type == 'broadcast'
241
+ && (cslItem['archive']
242
+ || cslItem['archive_location']
243
+ || cslItem['container-title']
244
+ || cslItem['event-place']
245
+ || cslItem['publisher']
246
+ || cslItem['publisher-place']
247
+ || cslItem['source'])) {
248
+ zoteroType = 'tvBroadcast';
249
+ }
250
+ else if (cslItem.type == 'book' && cslItem.version) {
251
+ zoteroType = 'computerProgram';
252
+ }
253
+ else if (cslItem.type == 'song' && cslItem.number) {
254
+ zoteroType = 'podcast';
255
+ }
256
+ else if (cslItem.type == 'motion_picture'
257
+ && (cslItem['collection-title'] || cslItem['publisher-place']
258
+ || cslItem['event-place'] || cslItem.volume
259
+ || cslItem['number-of-volumes'] || cslItem.ISBN)) {
260
+ zoteroType = 'videoRecording';
261
+ }
262
+ else if (Zotero.Schema.CSL_TYPE_MAPPINGS_REVERSE[cslItem.type]) {
263
+ zoteroType = Zotero.Schema.CSL_TYPE_MAPPINGS_REVERSE[cslItem.type][0];
264
+ }
265
+ else {
266
+ Zotero.debug(`Unknown CSL type '${cslItem.type}' -- using 'document'`, 2);
267
+ zoteroType = "document"
268
+ }
269
+
270
+ var itemTypeID = Zotero.ItemTypes.getID(zoteroType);
271
+ if(isZoteroItem) {
272
+ item.setType(itemTypeID);
273
+ } else {
274
+ item.itemID = cslItem.id;
275
+ item.itemType = zoteroType;
276
+ }
277
+
278
+ // map text fields
279
+ for (let variable in Zotero.Schema.CSL_TEXT_MAPPINGS) {
280
+ if(variable in cslItem) {
281
+ let textMappings = Zotero.Schema.CSL_TEXT_MAPPINGS[variable];
282
+ for(var i=0; i<textMappings.length; i++) {
283
+ var field = textMappings[i];
284
+ var fieldID = Zotero.ItemFields.getID(field);
285
+
286
+ if(Zotero.ItemFields.isBaseField(fieldID)) {
287
+ var newFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(itemTypeID, fieldID);
288
+ if(newFieldID) fieldID = newFieldID;
289
+ }
290
+
291
+ if(Zotero.ItemFields.isValidForType(fieldID, itemTypeID)) {
292
+ // TODO: Convert restrictive Extra cheater syntax ('original-date: 2018')
293
+ // to nicer format we allow ('Original Date: 2018'), unless we've added
294
+ // those fields before we get to that
295
+ if(isZoteroItem) {
296
+ item.setField(fieldID, cslItem[variable]);
297
+ } else {
298
+ item[field] = cslItem[variable];
299
+ }
300
+
301
+ break;
302
+ }
303
+ }
304
+ }
305
+ }
306
+
307
+ // separate name variables
308
+ for (let field in Zotero.Schema.CSL_NAME_MAPPINGS) {
309
+ if (Zotero.Schema.CSL_NAME_MAPPINGS[field] in cslItem) {
310
+ var creatorTypeID = Zotero.CreatorTypes.getID(field);
311
+ if(!Zotero.CreatorTypes.isValidForItemType(creatorTypeID, itemTypeID)) {
312
+ creatorTypeID = Zotero.CreatorTypes.getPrimaryIDForType(itemTypeID);
313
+ }
314
+
315
+ let nameMappings = cslItem[Zotero.Schema.CSL_NAME_MAPPINGS[field]];
316
+ for(var i in nameMappings) {
317
+ var cslAuthor = nameMappings[i];
318
+ let creator = {};
319
+ if(cslAuthor.family || cslAuthor.given) {
320
+ creator.lastName = cslAuthor.family || '';
321
+ creator.firstName = cslAuthor.given || '';
322
+ } else if(cslAuthor.literal) {
323
+ creator.lastName = cslAuthor.literal;
324
+ creator.fieldMode = 1;
325
+ } else {
326
+ continue;
327
+ }
328
+ creator.creatorTypeID = creatorTypeID;
329
+
330
+ if(isZoteroItem) {
331
+ item.setCreator(item.getCreators().length, creator);
332
+ } else {
333
+ creator.creatorType = Zotero.CreatorTypes.getName(creatorTypeID);
334
+ if (Zotero.isFx && !Zotero.isBookmarklet) {
335
+ creator = Components.utils.cloneInto(creator, item);
336
+ }
337
+ item.creators.push(creator);
338
+ }
339
+ }
340
+ }
341
+ }
342
+
343
+ // get date variables
344
+ for (let variable in Zotero.Schema.CSL_DATE_MAPPINGS) {
345
+ if(variable in cslItem) {
346
+ let field = Zotero.Schema.CSL_DATE_MAPPINGS[variable];
347
+ let fieldID = Zotero.ItemFields.getID(field);
348
+ let cslDate = cslItem[variable];
349
+ if(Zotero.ItemFields.isBaseField(fieldID)) {
350
+ var newFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(itemTypeID, fieldID);
351
+ if(newFieldID) fieldID = newFieldID;
352
+ }
353
+
354
+ if(Zotero.ItemFields.isValidForType(fieldID, itemTypeID)) {
355
+ var date = "";
356
+ if(cslDate.literal || cslDate.raw) {
357
+ date = cslDate.literal || cslDate.raw;
358
+ if(variable === "accessed") {
359
+ date = Zotero.Date.strToISO(date);
360
+ }
361
+ } else {
362
+ var newDate = Zotero.Utilities.deepCopy(cslDate);
363
+ if(cslDate["date-parts"] && typeof cslDate["date-parts"] === "object"
364
+ && cslDate["date-parts"] !== null
365
+ && typeof cslDate["date-parts"][0] === "object"
366
+ && cslDate["date-parts"][0] !== null) {
367
+ if(cslDate["date-parts"][0][0]) newDate.year = cslDate["date-parts"][0][0];
368
+ if(cslDate["date-parts"][0][1]) newDate.month = cslDate["date-parts"][0][1];
369
+ if(cslDate["date-parts"][0][2]) newDate.day = cslDate["date-parts"][0][2];
370
+ }
371
+
372
+ if(newDate.year) {
373
+ if(variable === "accessed") {
374
+ // Need to convert to SQL
375
+ var date = Zotero.Utilities.lpad(newDate.year, "0", 4);
376
+ if(newDate.month) {
377
+ date += "-"+Zotero.Utilities.lpad(newDate.month, "0", 2);
378
+ if(newDate.day) {
379
+ date += "-"+Zotero.Utilities.lpad(newDate.day, "0", 2);
380
+ }
381
+ }
382
+ } else {
383
+ if(newDate.month) newDate.month--;
384
+ date = Zotero.Date.formatDate(newDate);
385
+ if(newDate.season) {
386
+ date = newDate.season+" "+date;
387
+ }
388
+ }
389
+ }
390
+ }
391
+
392
+ if(isZoteroItem) {
393
+ item.setField(fieldID, date);
394
+ } else {
395
+ item[field] = date;
396
+ }
397
+ }
398
+ }
399
+ }
400
+ },
401
+
402
+ /**
403
+ * Given API JSON for an item, return the best single first creator, regardless of creator order
404
+ *
405
+ * Note that this is just a single creator, not the firstCreator field return from the
406
+ * Zotero.Item::firstCreator property or Zotero.Items.getFirstCreatorFromData()
407
+ *
408
+ * @return {Object|false} - Creator in API JSON format, or false
409
+ */
410
+ getFirstCreatorFromItemJSON: function (json) {
411
+ var primaryCreatorType = Zotero.CreatorTypes.getName(
412
+ Zotero.CreatorTypes.getPrimaryIDForType(
413
+ Zotero.ItemTypes.getID(json.itemType)
414
+ )
415
+ );
416
+ let firstCreator = json.creators.find(creator => {
417
+ return creator.creatorType == primaryCreatorType || creator.creatorType == 'author';
418
+ });
419
+ if (!firstCreator) {
420
+ firstCreator = json.creators.find(creator => creator.creatorType == 'editor');
421
+ }
422
+ if (!firstCreator) {
423
+ return false;
424
+ }
425
+ return firstCreator;
426
+ },
427
+
428
+ /**
429
+ * Taken from citeproc-js. Extracts particles (e.g. de, von, etc.) from family name and given name.
430
+ *
431
+ * Copyright (c) 2009-2019 Frank Bennett
432
+ * This program is free software: you can redistribute it and/or
433
+ * modify it under EITHER
434
+ *
435
+ * * the terms of the Common Public Attribution License (CPAL) as
436
+ * published by the Open Source Initiative, either version 1 of
437
+ * the CPAL, or (at your option) any later version; OR
438
+ *
439
+ * * the terms of the GNU Affero General Public License (AGPL)
440
+ * as published by the Free Software Foundation, either version
441
+ * 3 of the AGPL, or (at your option) any later version.
442
+ *
443
+ * This program is distributed in the hope that it will be useful,
444
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
445
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
446
+ * Affero General Public License for more details.
447
+ *
448
+ * You should have received copies of the Common Public Attribution
449
+ * License and of the GNU Affero General Public License along with
450
+ * this program. If not, see <https://opensource.org/licenses/> or
451
+ * <http://www.gnu.org/licenses/> respectively.
452
+ */
453
+ parseParticles: function (nameObj) {
454
+ function splitParticles(nameValue, firstNameFlag, caseOverride) {
455
+ // Parse particles out from name fields.
456
+ // * nameValue (string) is the field content to be parsed.
457
+ // * firstNameFlag (boolean) parse trailing particles
458
+ // (default is to parse leading particles)
459
+ // * caseOverride (boolean) include all but one word in particle set
460
+ // (default is to include only words with lowercase first char)
461
+ // [caseOverride is not used in this application]
462
+ // Returns an array with:
463
+ // * (boolean) flag indicating whether a particle was found
464
+ // * (string) the name after removal of particles
465
+ // * (array) the list of particles found
466
+ var origNameValue = nameValue;
467
+ nameValue = caseOverride ? nameValue.toLowerCase() : nameValue;
468
+ var particleList = [];
469
+ var rex;
470
+ var hasParticle;
471
+ if (firstNameFlag) {
472
+ nameValue = nameValue.split("").reverse().join("");
473
+ rex = Utilities_Item.PARTICLE_GIVEN_REGEXP;
474
+ } else {
475
+ rex = Utilities_Item.PARTICLE_FAMILY_REGEXP;
476
+ }
477
+ var m = nameValue.match(rex);
478
+ while (m) {
479
+ var m1 = firstNameFlag ? m[1].split("").reverse().join("") : m[1];
480
+ var firstChar = m ? m1 : false;
481
+ var firstChar = firstChar ? m1.replace(/^[-\'\u02bb\u2019\s]*(.).*$/, "$1") : false;
482
+ hasParticle = firstChar ? firstChar.toUpperCase() !== firstChar : false;
483
+ if (!hasParticle) {
484
+ break;
485
+ }
486
+ if (firstNameFlag) {
487
+ particleList.push(origNameValue.slice(m1.length * -1));
488
+ origNameValue = origNameValue.slice(0,m1.length * -1);
489
+ } else {
490
+ particleList.push(origNameValue.slice(0,m1.length));
491
+ origNameValue = origNameValue.slice(m1.length);
492
+ }
493
+ //particleList.push(m1);
494
+ nameValue = m[2];
495
+ m = nameValue.match(rex);
496
+ }
497
+ if (firstNameFlag) {
498
+ nameValue = nameValue.split("").reverse().join("");
499
+ particleList.reverse();
500
+ for (var i=1,ilen=particleList.length;i<ilen;i++) {
501
+ if (particleList[i].slice(0, 1) == " ") {
502
+ particleList[i-1] += " ";
503
+ }
504
+ }
505
+ for (var i=0,ilen=particleList.length;i<ilen;i++) {
506
+ if (particleList[i].slice(0, 1) == " ") {
507
+ particleList[i] = particleList[i].slice(1);
508
+ }
509
+ }
510
+ nameValue = origNameValue.slice(0, nameValue.length);
511
+ } else {
512
+ nameValue = origNameValue.slice(nameValue.length * -1);
513
+ }
514
+ return [hasParticle, nameValue, particleList];
515
+ }
516
+ function trimLast(str) {
517
+ var lastChar = str.slice(-1);
518
+ str = str.trim();
519
+ if (lastChar === " " && ["\'", "\u2019"].indexOf(str.slice(-1)) > -1) {
520
+ str += " ";
521
+ }
522
+ return str;
523
+ }
524
+ function parseSuffix(nameObj) {
525
+ if (!nameObj.suffix && nameObj.given) {
526
+ var m = nameObj.given.match(/(\s*,!*\s*)/);
527
+ if (m) {
528
+ var idx = nameObj.given.indexOf(m[1]);
529
+ var possible_suffix = nameObj.given.slice(idx + m[1].length);
530
+ var possible_comma = nameObj.given.slice(idx, idx + m[1].length).replace(/\s*/g, "");
531
+ if (possible_suffix.replace(/\./g, "") === 'et al' && !nameObj["dropping-particle"]) {
532
+ // This hack covers the case where "et al." is explicitly used in the
533
+ // authorship information of the work.
534
+ nameObj["dropping-particle"] = possible_suffix;
535
+ nameObj["comma-dropping-particle"] = ",";
536
+ } else {
537
+ if (possible_comma.length === 2) {
538
+ nameObj["comma-suffix"] = true;
539
+ }
540
+ nameObj.suffix = possible_suffix;
541
+ }
542
+ nameObj.given = nameObj.given.slice(0, idx);
543
+ }
544
+ }
545
+ }
546
+ // Extract and set non-dropping particle(s) from family name field
547
+ var res = splitParticles(nameObj.family);
548
+ var lastNameValue = res[1];
549
+ var lastParticleList = res[2];
550
+ nameObj.family = lastNameValue;
551
+ var nonDroppingParticle = trimLast(lastParticleList.join(""));
552
+ if (nonDroppingParticle) {
553
+ nameObj['non-dropping-particle'] = nonDroppingParticle;
554
+ }
555
+ // Split off suffix first of all
556
+ parseSuffix(nameObj);
557
+ // Extract and set dropping particle(s) from given name field
558
+ var res = splitParticles(nameObj.given, true);
559
+ var firstNameValue = res[1];
560
+ var firstParticleList = res[2];
561
+ nameObj.given = firstNameValue;
562
+ var droppingParticle = firstParticleList.join("").trim();
563
+ if (droppingParticle) {
564
+ nameObj['dropping-particle'] = droppingParticle;
565
+ }
566
+ },
567
+
568
+ /**
569
+ * Return first line (or first MAX_LENGTH characters) of note content
570
+ *
571
+ * @param {String} text
572
+ * @param {Object} [options]
573
+ * @param {Boolean} [options.stopAtLineBreak] - Stop at <br/> instead of converting to space
574
+ * @return {String}
575
+ */
576
+ noteToTitle: function (text, options = {}) {
577
+ var MAX_TITLE_LENGTH = 120;
578
+ var origText = text;
579
+ text = text.trim();
580
+ // Add line breaks after block elements
581
+ text = text.replace(/(<\/(h\d|p|div)+>)/g, '$1\n');
582
+ if (options.stopAtLineBreak) {
583
+ text = text.replace(/<br\s*\/?>/g, '\n');
584
+ }
585
+ else {
586
+ text = text.replace(/<br\s*\/?>/g, ' ');
587
+ }
588
+ text = Zotero.Utilities.unescapeHTML(text);
589
+
590
+ // If first line is just an opening HTML tag, remove it
591
+ //
592
+ // Example:
593
+ //
594
+ // <blockquote>
595
+ // <p>Foo</p>
596
+ // </blockquote>
597
+ if (/^<[^>\n]+[^\/]>\n/.test(origText)) {
598
+ text = text.trim();
599
+ }
600
+
601
+ var t = text.substring(0, MAX_TITLE_LENGTH);
602
+ var ln = t.indexOf("\n");
603
+ if (ln > -1 && ln < MAX_TITLE_LENGTH) {
604
+ t = t.substring(0, ln);
605
+ }
606
+ return t;
607
+ },
608
+
609
+ /**
610
+ * Preprocess Zotero item extra field for passing to citeproc-js for extra CSL properties
611
+ * @param extra
612
+ * @returns {String|string|void|*}
613
+ */
614
+ extraToCSL: function (extra) {
615
+ return extra.replace(/^([A-Za-z \-]+)(:\s*.+)/gm, function (_, field, value) {
616
+ var originalField = field;
617
+ field = field.toLowerCase().replace(/ /g, '-');
618
+ // Fields from https://aurimasv.github.io/z2csl/typeMap.xml
619
+ switch (field) {
620
+ // Standard fields
621
+ case 'abstract':
622
+ case 'accessed':
623
+ case 'annote':
624
+ case 'archive':
625
+ case 'archive-place':
626
+ case 'author':
627
+ case 'authority':
628
+ case 'call-number':
629
+ case 'chapter-number':
630
+ case 'citation-label':
631
+ case 'citation-number':
632
+ case 'collection-editor':
633
+ case 'collection-number':
634
+ case 'collection-title':
635
+ case 'composer':
636
+ case 'container':
637
+ case 'container-author':
638
+ case 'container-title':
639
+ case 'container-title-short':
640
+ case 'dimensions':
641
+ case 'director':
642
+ case 'edition':
643
+ case 'editor':
644
+ case 'editorial-director':
645
+ case 'event':
646
+ case 'event-date':
647
+ case 'event-place':
648
+ case 'first-reference-note-number':
649
+ case 'genre':
650
+ case 'illustrator':
651
+ case 'interviewer':
652
+ case 'issue':
653
+ case 'issued':
654
+ case 'jurisdiction':
655
+ case 'keyword':
656
+ case 'language':
657
+ case 'locator':
658
+ case 'medium':
659
+ case 'note':
660
+ case 'number':
661
+ case 'number-of-pages':
662
+ case 'number-of-volumes':
663
+ case 'original-author':
664
+ case 'original-date':
665
+ case 'original-publisher':
666
+ case 'original-publisher-place':
667
+ case 'original-title':
668
+ case 'page':
669
+ case 'page-first':
670
+ case 'publisher':
671
+ case 'publisher-place':
672
+ case 'recipient':
673
+ case 'references':
674
+ case 'reviewed-author':
675
+ case 'reviewed-title':
676
+ case 'scale':
677
+ case 'section':
678
+ case 'source':
679
+ case 'status':
680
+ case 'submitted':
681
+ case 'title':
682
+ case 'title-short':
683
+ case 'translator':
684
+ case 'type':
685
+ case 'version':
686
+ case 'volume':
687
+ case 'year-suffix':
688
+ break;
689
+
690
+ // Uppercase fields
691
+ case 'doi':
692
+ case 'isbn':
693
+ case 'issn':
694
+ case 'pmcid':
695
+ case 'pmid':
696
+ case 'url':
697
+ field = field.toUpperCase();
698
+ break;
699
+
700
+ // Weirdo
701
+ case 'archive-location':
702
+ field = 'archive_location';
703
+ break;
704
+
705
+ default:
706
+ // See if this is a Zotero field written out (e.g., "Publication Title"), and if so
707
+ // convert to its associated CSL field
708
+ var zoteroField = originalField.replace(/ ([A-Z])/, '$1');
709
+ // If second character is lowercase (so not an acronym), lowercase first letter too
710
+ if (zoteroField[1] && zoteroField[1] == zoteroField[1].toLowerCase()) {
711
+ zoteroField = zoteroField[0].toLowerCase() + zoteroField.substr(1);
712
+ }
713
+ if (Zotero.Schema.CSL_FIELD_MAPPINGS_REVERSE[zoteroField]) {
714
+ field = Zotero.Schema.CSL_FIELD_MAPPINGS_REVERSE[zoteroField];
715
+ }
716
+ // Don't change other lines
717
+ else {
718
+ field = originalField;
719
+ }
720
+ }
721
+ return field + value;
722
+ });
723
+ },
724
+
725
+ /**
726
+ * Map a user-provided language name to an ISO 639-1 language code.
727
+ * Language names are matched against languages' English names and native
728
+ * names. Case and diacritics are ignored.
729
+ *
730
+ * @param {String} language
731
+ * @return {String}
732
+ */
733
+ languageToISO6391: function (language) {
734
+ if (!language) {
735
+ return '';
736
+ }
737
+
738
+ if (!globalThis.Intl || !globalThis.Intl.DisplayNames) {
739
+ Zotero.debug('Intl.DisplayNames not available: returning language as-is');
740
+ return language;
741
+ }
742
+
743
+ let normalize = s => s.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
744
+
745
+ let languageMap = Utilities_Item._languageMap;
746
+ if (!languageMap) {
747
+ languageMap = Utilities_Item._languageMap = new Map();
748
+
749
+ let allLocales = ["ab", "aa", "af", "ak", "sq", "am", "ar", "an", "hy", "as", "av", "ae", "ay", "az", "bm", "ba", "eu", "be", "bn", "bi", "bs", "br", "bg", "my", "ca", "ch", "ce", "ny", "zh", "cu", "cv", "kw", "co", "cr", "hr", "cs", "da", "dv", "nl", "dz", "en", "eo", "et", "ee", "fo", "fj", "fi", "fr", "fy", "ff", "gd", "gl", "lg", "ka", "de", "el", "kl", "gn", "gu", "ht", "ha", "he", "hz", "hi", "ho", "hu", "is", "io", "ig", "id", "ia", "ie", "iu", "ik", "ga", "it", "ja", "jv", "kn", "kr", "ks", "kk", "km", "ki", "rw", "ky", "kv", "kg", "ko", "kj", "ku", "lo", "la", "lv", "li", "ln", "lt", "lu", "lb", "mk", "mg", "ms", "ml", "mt", "gv", "mi", "mr", "mh", "mn", "na", "nv", "nd", "nr", "ng", "ne", "no", "nb", "nn", "ii", "oc", "oj", "or", "om", "os", "pi", "ps", "fa", "pl", "pt", "pa", "qu", "ro", "rm", "rn", "ru", "se", "sm", "sg", "sa", "sc", "sr", "sn", "sd", "si", "sk", "sl", "so", "st", "es", "su", "sw", "ss", "sv", "tl", "ty", "tg", "ta", "tt", "te", "th", "bo", "ti", "to", "ts", "tn", "tr", "tk", "tw", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "cy", "wo", "xh", "yi", "yo", "za", "zu"];
750
+ let englishLanguageNames = new Intl.DisplayNames('en', { type: 'language' });
751
+ let userLanguageNames = new Intl.DisplayNames(Zotero.locale, { type: 'language' });
752
+ for (let locale of Intl.DisplayNames.supportedLocalesOf(allLocales)) {
753
+ let inEnglish = englishLanguageNames.of(locale);
754
+ if (inEnglish) {
755
+ languageMap.set(normalize(inEnglish), locale);
756
+ }
757
+
758
+ let inUser = userLanguageNames.of(locale);
759
+ if (inUser) {
760
+ languageMap.set(normalize(inUser), locale);
761
+ }
762
+
763
+ let selfLanguageNames = new Intl.DisplayNames(locale, { type: 'language' });
764
+ let inSelf = selfLanguageNames.of(locale);
765
+ if (inSelf) {
766
+ languageMap.set(normalize(inSelf), locale);
767
+ }
768
+ }
769
+ }
770
+
771
+ return languageMap.get(normalize(language)) || language;
772
+ },
773
+
774
+ /**
775
+ * Converts an item from toArray() format to an array of items in
776
+ * the content=json format used by the server
777
+ *
778
+ * (for origin see: https://github.com/zotero/zotero/blob/56f9f043/chrome/content/zotero/xpcom/utilities.js#L1526-L1526)
779
+ *
780
+ */
781
+ itemToAPIJSON: function(item) {
782
+ var newItem = {
783
+ key: Zotero.Utilities.generateObjectKey(),
784
+ version: 0
785
+ },
786
+ newItems = [newItem];
787
+
788
+ var typeID = Zotero.ItemTypes.getID(item.itemType);
789
+ if(!typeID) {
790
+ Zotero.debug(`itemToAPIJSON: Invalid itemType ${item.itemType}; using webpage`);
791
+ item.itemType = "webpage";
792
+ typeID = Zotero.ItemTypes.getID(item.itemType);
793
+ }
794
+
795
+ var accessDateFieldID = Zotero.ItemFields.getID('accessDate');
796
+
797
+ var fieldID, itemFieldID;
798
+ for(var field in item) {
799
+ if(field === "complete" || field === "itemID" || field === "attachments"
800
+ || field === "seeAlso") continue;
801
+
802
+ var val = item[field];
803
+
804
+ if(field === "itemType") {
805
+ newItem[field] = val;
806
+ } else if(field === "creators") {
807
+ // normalize creators
808
+ var n = val.length;
809
+ var newCreators = newItem.creators = [];
810
+ for(var j=0; j<n; j++) {
811
+ var creator = val[j];
812
+
813
+ if(!creator.firstName && !creator.lastName) {
814
+ Zotero.debug("itemToAPIJSON: Silently dropping empty creator");
815
+ continue;
816
+ }
817
+
818
+ // Single-field mode
819
+ if (!creator.firstName || (creator.fieldMode && creator.fieldMode == 1)) {
820
+ var newCreator = {
821
+ name: creator.lastName
822
+ };
823
+ }
824
+ // Two-field mode
825
+ else {
826
+ var newCreator = {
827
+ firstName: creator.firstName,
828
+ lastName: creator.lastName
829
+ };
830
+ }
831
+
832
+ // ensure creatorType is present and valid
833
+ if(creator.creatorType) {
834
+ if(Zotero.CreatorTypes.getID(creator.creatorType)) {
835
+ newCreator.creatorType = creator.creatorType;
836
+ } else {
837
+ Zotero.debug(`itemToAPIJSON: Invalid creator type ${creator.creatorType}; `
838
+ + "falling back to author");
839
+ }
840
+ }
841
+ if(!newCreator.creatorType) newCreator.creatorType = "author";
842
+
843
+ newCreators.push(newCreator);
844
+ }
845
+ } else if(field === "tags") {
846
+ // normalize tags
847
+ var n = val.length;
848
+ var newTags = newItem.tags = [];
849
+ for(var j=0; j<n; j++) {
850
+ var tag = val[j];
851
+ if(typeof tag === "object") {
852
+ if(tag.tag) {
853
+ tag = tag.tag;
854
+ } else if(tag.name) {
855
+ tag = tag.name;
856
+ } else {
857
+ Zotero.debug("itemToAPIJSON: Discarded invalid tag");
858
+ continue;
859
+ }
860
+ } else if(tag === "") {
861
+ continue;
862
+ }
863
+ newTags.push({"tag":tag.toString(), "type":1});
864
+ }
865
+ } else if(field === "notes") {
866
+ // normalize notes
867
+ var n = val.length;
868
+ for(var j=0; j<n; j++) {
869
+ var note = val[j];
870
+ if(typeof note === "object") {
871
+ if(!note.note) {
872
+ Zotero.debug("itemToAPIJSON: Discarded invalid note");
873
+ continue;
874
+ }
875
+ note = note.note;
876
+ }
877
+ newItems.push({
878
+ itemType: "note",
879
+ parentItem: newItem.key,
880
+ note: note.toString()
881
+ });
882
+ }
883
+ } else if((fieldID = Zotero.ItemFields.getID(field))) {
884
+ // if content is not a string, either stringify it or delete it
885
+ if(typeof val !== "string") {
886
+ if(val || val === 0) {
887
+ val = val.toString();
888
+ } else {
889
+ continue;
890
+ }
891
+ }
892
+
893
+ // map from base field if possible
894
+ if((itemFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(typeID, fieldID))) {
895
+ let fieldName = Zotero.ItemFields.getName(itemFieldID);
896
+ // Only map if item field does not exist
897
+ if(fieldName !== field && !newItem[fieldName]) newItem[fieldName] = val;
898
+ continue; // already know this is valid
899
+ }
900
+
901
+ // if field is valid for this type, set field
902
+ if(Zotero.ItemFields.isValidForType(fieldID, typeID)) {
903
+ // Convert access date placeholder to current time
904
+ if (fieldID == accessDateFieldID && val == "CURRENT_TIMESTAMP") {
905
+ val = Zotero.Date.dateToISO(new Date());
906
+ }
907
+
908
+ newItem[field] = val;
909
+ } else {
910
+ Zotero.debug(`itemToAPIJSON: Discarded field ${field}: `
911
+ + `field not valid for type ${item.itemType}`, 3);
912
+ }
913
+ } else {
914
+ Zotero.debug(`itemToAPIJSON: Discarded unknown field ${field}`, 3);
915
+ }
916
+ }
917
+
918
+ return newItems;
919
+ },
920
+
921
+ /**
922
+ * Converts a current Zotero Item to a format that export translators written for Zotero versions pre-4.0.26
923
+ * See https://github.com/zotero/translation-server/issues/73
924
+ * @param {Object} item
925
+ * @returns {Object}
926
+ */
927
+ itemToLegacyExportFormat: function(item) {
928
+ item.uniqueFields = {};
929
+
930
+ // Map base fields
931
+ for (let field in item) {
932
+ try {
933
+ var baseField = Zotero.ItemFields.getName(
934
+ Zotero.ItemFields.getBaseIDFromTypeAndField(item.itemType, field)
935
+ );
936
+ } catch (e) {
937
+ continue;
938
+ }
939
+
940
+ if (!baseField || baseField == field) {
941
+ item.uniqueFields[field] = item[field];
942
+ } else {
943
+ item[baseField] = item[field];
944
+ item.uniqueFields[baseField] = item[field];
945
+ }
946
+ }
947
+
948
+ // Meaningless local item ID, but some older export translators depend on it
949
+ item.itemID = Zotero.Utilities.randomString(6);
950
+ item.key = Zotero.Utilities.randomString(6); // CSV translator exports this
951
+
952
+ // "version" is expected to be a field for "computerProgram", which is now
953
+ // called "versionNumber"
954
+ delete item.version;
955
+ if (item.versionNumber) {
956
+ item.version = item.uniqueFields.version = item.versionNumber;
957
+ delete item.versionNumber;
958
+ }
959
+
960
+ // Creators
961
+ if (item.creators) {
962
+ for (let i=0; i<item.creators.length; i++) {
963
+ let creator = item.creators[i];
964
+
965
+ if (creator.name) {
966
+ creator.fieldMode = 1;
967
+ creator.lastName = creator.name;
968
+ delete creator.name;
969
+ }
970
+
971
+ // Old format used to supply creatorID (the database ID), but no
972
+ // translator ever used it
973
+ }
974
+ }
975
+ else {
976
+ item.creators = [];
977
+ }
978
+
979
+ item.sourceItemKey = item.parentItem;
980
+
981
+ // Tags
982
+ if (item.tags) {
983
+ for (let i = 0; i < item.tags.length; i++) {
984
+ if (!item.tags[i].type) {
985
+ item.tags[i].type = 0;
986
+ }
987
+ // No translator ever used "primary", "fields", or "linkedItems" objects
988
+ }
989
+ }
990
+ else {
991
+ item.tags = [];
992
+ }
993
+
994
+ // seeAlso was always present, but it was always an empty array.
995
+ // Zotero RDF translator pretended to use it
996
+ item.seeAlso = [];
997
+
998
+ if (item.contentType) {
999
+ item.mimeType = item.uniqueFields.mimeType = item.contentType;
1000
+ }
1001
+
1002
+ if (item.note) {
1003
+ item.uniqueFields.note = item.note;
1004
+ }
1005
+
1006
+ return item;
1007
+ },
1008
+
1009
+ /**
1010
+ * Compare two call numbers. Handles Dewey and LC specially,
1011
+ * compares numbers as numbers, uses string comparison for everything else.
1012
+ *
1013
+ * @param {String} fieldA
1014
+ * @param {String} fieldB
1015
+ * @returns {Number} Negative if A < B, 0 if A == B, positive if A > B
1016
+ */
1017
+ compareCallNumbers: function (fieldA, fieldB) {
1018
+ function compareStringArrays(a, b) {
1019
+ let i;
1020
+ for (i = 0; i < a.length && i < b.length; i++) {
1021
+ if (a[i] < b[i]) {
1022
+ return -1;
1023
+ }
1024
+ else if (a[i] > b[i]) {
1025
+ return 1;
1026
+ }
1027
+ }
1028
+ return (i < a.length) ? 1 : (i < b.length) ? -1 : 0;
1029
+ }
1030
+
1031
+ let onlyNumbersRe = /^\d*$/;
1032
+ let deweyRe = /^(\d{3})(?:\.(\d+))?(?:\/([a-zA-Z]{3}))?$/;
1033
+ let lcWithClassificationRe = /^[a-zA-Z]{1,3}\d+($|(?=\s*(.|\s\d)))/;
1034
+
1035
+ if (onlyNumbersRe.test(fieldA) && onlyNumbersRe.test(fieldB)) {
1036
+ return parseInt(fieldA) - parseInt(fieldB);
1037
+ }
1038
+
1039
+ let splitA = fieldA.toLowerCase().replace(/\s/g, '').match(deweyRe);
1040
+ let splitB = fieldB.toLowerCase().replace(/\s/g, '').match(deweyRe);
1041
+ if (splitA && splitB) {
1042
+ // Looks like Dewey Decimal, so we'll compare by parts
1043
+ splitA.shift();
1044
+ splitB.shift();
1045
+ return compareStringArrays(splitA, splitB);
1046
+ }
1047
+
1048
+ let classificationA = fieldA.match(lcWithClassificationRe);
1049
+ let classificationB = fieldB.match(lcWithClassificationRe);
1050
+ if (classificationA && classificationB) {
1051
+ // Looks like a LC call number, so we'll first compare
1052
+ // by classification field using locale collation
1053
+ let classificationComp = Zotero.localeCompare(
1054
+ classificationA[0].replace(/[\s.]/g, ''),
1055
+ classificationB[0].replace(/[\s.]/g, '')
1056
+ );
1057
+
1058
+ if (classificationComp == 0) {
1059
+ // If they match, we'll compare the rest using
1060
+ // basic string comparison
1061
+ fieldA = fieldA.substring(classificationA[0].length).replace(/[\s.]+/g, ' ');
1062
+ fieldB = fieldB.substring(classificationB[0].length).replace(/[\s.]+/g, ' ');
1063
+ return compareStringArrays(fieldA.split(' '), fieldB.split(' '));
1064
+ }
1065
+ else {
1066
+ return classificationComp;
1067
+ }
1068
+ }
1069
+
1070
+ return Zotero.localeCompare(fieldA, fieldB);
1071
+ }
1072
+ }
1073
+
1074
+ if (typeof module != 'undefined') {
1075
+ module.exports = Utilities_Item;
1076
+ } else if (typeof Zotero != 'undefined' && typeof Zotero.Utilities != 'undefined') {
1077
+ Zotero.Utilities.Item = Utilities_Item;
1078
+ } else {
1079
+ console.log('Could not find a way to expose utilities_item.js. Check your load order.')
1080
+ }
1081
+
1082
+ })();