authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2024-08-19 06:11:03 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2024-08-19 06:11:03 -07:00
loga6de80638189430453b81b579a0b14e811f8d3aa
tree3721952aed7883eb69a4f3c55217e70879284159
parentb24d262e28dc00886ff0272b5fc92ea615926202

add entries from mailcap

closes #1

1 files changed, 1331 insertions(+), 0 deletions(-)

mime.zig+1331
...@@ -1,81 +1,1412 @@...@@ -1,81 +1,1412 @@
1const std = @import("std");1const std = @import("std");
2const string = []const u8;2const string = []const u8;
33
4// Many entries added from https://pagure.io/mailcap/blob/master/f/mime.types
5// Last updated as of 9699055a1b4dfb90f7594ee2e8dda705fa56d3b8
6
4const types = std.ComptimeStringMap(string, .{7const types = std.ComptimeStringMap(string, .{
8 .{ ".1", "application/x-troff-man" },
9 .{ ".123", "application/vnd.lotus-1-2-3" },
10 .{ ".1clr", "application/clr" },
11 .{ ".1km", "application/vnd.1000minds.decision-model+xml" },
12 .{ ".2", "application/x-troff-man" },
13 .{ ".210", "application/p21" },
14 .{ ".3", "application/x-troff-man" },
15 .{ ".3dm", "text/vnd.in3d.3dml" },
16 .{ ".3dml", "text/vnd.in3d.3dml" },
5 .{ ".3g2", "video/3gpp2" },17 .{ ".3g2", "video/3gpp2" },
6 .{ ".3gp", "video/3gpp" },18 .{ ".3gp", "video/3gpp" },
19 .{ ".3gpp", "video/3gpp" },
20 .{ ".3gpp2", "video/3gpp2" },
21 .{ ".3mf", "application/vnd.ms-3mfdocument" },
22 .{ ".3tz", "application/vnd.maxar.archive.3tz+zip" },
23 .{ ".4", "application/x-troff-man" },
24 .{ ".5", "application/x-troff-man" },
25 .{ ".6", "application/x-troff-man" },
26 .{ ".669", "audio/x-mod" },
27 .{ ".7", "application/x-troff-man" },
28 .{ ".726", "audio/32kadpcm" },
7 .{ ".7z", "application/x-7z-compressed" },29 .{ ".7z", "application/x-7z-compressed" },
30 .{ ".8", "application/x-troff-man" },
31 .{ ".CQL", "text/cql" },
32 .{ ".SAR", "application/vnd.sar" },
33 .{ ".VES", "application/vnd.ves.encrypted" },
34 .{ ".a", "text/vnd.a" },
35 .{ ".a2l", "application/A2L" },
36 .{ ".aa3", "audio/ATRAC3" },
8 .{ ".aac", "audio/aac" },37 .{ ".aac", "audio/aac" },
38 .{ ".aal", "audio/ATRAC-ADVANCED-LOSSLESS" },
39 .{ ".abc", "text/vnd.abc" },
9 .{ ".abw", "application/x-abiword" },40 .{ ".abw", "application/x-abiword" },
41 .{ ".ac", "application/vnd.nokia.n-gage.ac+xml" },
42 .{ ".ac2", "application/vnd.banana-accounting" },
43 .{ ".ac3", "audio/ac3" },
44 .{ ".acc", "application/vnd.americandynamics.acc" },
45 .{ ".acn", "audio/asc" },
46 .{ ".acu", "application/vnd.acucobol" },
47 .{ ".acutc", "application/vnd.acucorp" },
48 .{ ".adts", "audio/aac" },
49 .{ ".aep", "application/vnd.audiograph" },
50 .{ ".afp", "application/vnd.afpc.modca" },
51 .{ ".age", "application/vnd.age" },
52 .{ ".ahead", "application/vnd.ahead.space" },
53 .{ ".ai", "application/postscript" },
54 .{ ".aif", "audio/x-aiff" },
55 .{ ".aifc", "audio/x-aiff" },
56 .{ ".aiff", "audio/x-aiff" },
57 .{ ".aion", "application/vnd.veritone.aion+json" },
58 .{ ".ait", "application/vnd.dvb.ait" },
59 .{ ".ami", "application/vnd.amiga.ami" },
60 .{ ".aml", "application/AML" },
61 .{ ".amlx", "application/automationml-amlx+zip" },
62 .{ ".amr", "audio/AMR" },
63 .{ ".anx", "application/x-annodex" },
64 .{ ".apex", "application/vnd.apexlang" },
65 .{ ".apexland", "application/vnd.apexlang" },
66 .{ ".apk", "application/vnd.android.package-archive" },
67 .{ ".apkg", "application/vnd.anki" },
68 .{ ".apng", "image/vnd.mozilla.apng" },
69 .{ ".appcache", "text/cache-manifest" },
70 .{ ".apr", "application/vnd.lotus-approach" },
71 .{ ".apxml", "application/auth-policy+xml" },
10 .{ ".arc", "application/x-freearc" },72 .{ ".arc", "application/x-freearc" },
73 .{ ".arrow", "application/vnd.apache.arrow.file" },
74 .{ ".arrows", "application/vnd.apache.arrow.stream" },
75 .{ ".art", "message/rfc822" },
76 .{ ".artisan", "application/vnd.artisan+json" },
77 .{ ".asc", "text/plain" },
78 .{ ".ascii", "text/vnd.ascii-art" },
79 .{ ".asf", "application/vnd.ms-asf" },
80 .{ ".asice", "application/vnd.etsi.asic-e+zip" },
81 .{ ".asics", "application/vnd.etsi.asic-s+zip" },
82 .{ ".aso", "application/vnd.accpac.simply.aso" },
83 .{ ".ass", "audio/aac" },
84 .{ ".asx", "video/x-ms-asf" },
85 .{ ".at3", "audio/ATRAC3" },
86 .{ ".atc", "application/vnd.acucorp" },
87 .{ ".atf", "application/ATF" },
88 .{ ".atfx", "application/ATFX" },
89 .{ ".atom", "application/atom+xml" },
90 .{ ".atomcat", "application/atomcat+xml" },
91 .{ ".atomdeleted", "application/atomdeleted+xml" },
92 .{ ".atomsvc", "application/atomsvc+xml" },
93 .{ ".atx", "audio/ATRAC-X" },
94 .{ ".atxml", "application/ATXML" },
95 .{ ".au", "audio/basic" },
96 .{ ".auc", "application/tamp-apex-update-confirm" },
97 .{ ".avci", "image/avci" },
98 .{ ".avcs", "image/avcs" },
11 .{ ".avi", "video/x-msvideo" },99 .{ ".avi", "video/x-msvideo" },
100 .{ ".avif", "image/avif" },
101 .{ ".awb", "audio/AMR-WB" },
102 .{ ".axa", "audio/x-annodex" },
103 .{ ".axdl", "application/vnd.apexlang" },
104 .{ ".axv", "video/x-annodex" },
105 .{ ".azf", "application/vnd.airzip.filesecure.azf" },
106 .{ ".azs", "application/vnd.airzip.filesecure.azs" },
107 .{ ".azv", "image/vnd.airzip.accelerator.azv" },
12 .{ ".azw", "application/vnd.amazon.ebook" },108 .{ ".azw", "application/vnd.amazon.ebook" },
109 .{ ".azw3", "application/vnd.amazon.mobi8-ebook" },
110 .{ ".b16", "image/vnd.pco.b16" },
111 .{ ".bar", "application/vnd.qualcomm.brew-app-res" },
112 .{ ".bary", "model/vnd.bary" },
113 .{ ".bcpio", "application/x-bcpio" },
114 .{ ".bdm", "application/vnd.syncml.dm+wbxml" },
115 .{ ".bed", "application/vnd.realvnc.bed" },
116 .{ ".bh2", "application/vnd.fujitsu.oasysprs" },
117 .{ ".bik", "video/vnd.radgamettools.bink" },
13 .{ ".bin", "application/octet-stream" },118 .{ ".bin", "application/octet-stream" },
119 .{ ".bk2", "video/vnd.radgamettools.bink" },
120 .{ ".bkm", "application/vnd.nervana" },
121 .{ ".bmed", "multipart/vnd.bint.med-plus" },
122 .{ ".bmi", "application/vnd.bmi" },
123 .{ ".bmml", "application/vnd.balsamiq.bmml+xml" },
14 .{ ".bmp", "image/bmp" },124 .{ ".bmp", "image/bmp" },
125 .{ ".bmpr", "application/vnd.balsamiq.bmpr" },
126 .{ ".box", "application/vnd.previewsystems.box" },
127 .{ ".bpd", "application/vnd.hbci" },
128 .{ ".bsp", "model/vnd.valve.source.compiled-map" },
129 .{ ".btf", "image/prs.btif" },
130 .{ ".btif", "image/prs.btif" },
15 .{ ".bz", "application/x-bzip" },131 .{ ".bz", "application/x-bzip" },
16 .{ ".bz2", "application/x-bzip2" },132 .{ ".bz2", "application/x-bzip2" },
133 .{ ".c", "text/plain" },
134 .{ ".c11amc", "application/vnd.cluetrust.cartomobile-config" },
135 .{ ".c11amz", "application/vnd.cluetrust.cartomobile-config-pkg" },
136 .{ ".c3ex", "application/cccex" },
137 .{ ".c4d", "application/vnd.clonk.c4group" },
138 .{ ".c4f", "application/vnd.clonk.c4group" },
139 .{ ".c4g", "application/vnd.clonk.c4group" },
140 .{ ".c4p", "application/vnd.clonk.c4group" },
141 .{ ".c4u", "application/vnd.clonk.c4group" },
142 .{ ".c9r", "application/vnd.cryptomator.encrypted" },
143 .{ ".c9s", "application/vnd.cryptomator.encrypted" },
144 .{ ".cab", "application/vnd.ms-cab-compressed" },
145 .{ ".cap", "application/vnd.tcpdump.pcap" },
146 .{ ".car", "application/vnd.ipld.car" },
147 .{ ".carjson", "application/vnd.eu.kasparian.car+json" },
148 .{ ".cbor", "application/cbor" },
149 .{ ".cbr", "application/vnd.comicbook-rar" },
150 .{ ".cbz", "application/vnd.comicbook+zip" },
151 .{ ".cc", "text/plain" },
152 .{ ".ccc", "text/vnd.net2phone.commcenter.command" },
153 .{ ".ccmp", "application/ccmp+xml" },
154 .{ ".ccxml", "application/ccxml+xml" },
17 .{ ".cda", "application/x-cdf" },155 .{ ".cda", "application/x-cdf" },
156 .{ ".cdbcmsg", "application/vnd.contact.cmsg" },
157 .{ ".cdf", "application/x-netcdf" },
158 .{ ".cdfx", "application/CDFX+XML" },
159 .{ ".cdkey", "application/vnd.mediastation.cdkey" },
160 .{ ".cdmia", "application/cdmi-capability" },
161 .{ ".cdmic", "application/cdmi-container" },
162 .{ ".cdmid", "application/cdmi-domain" },
163 .{ ".cdmio", "application/cdmi-object" },
164 .{ ".cdmiq", "application/cdmi-queue" },
165 .{ ".cdxml", "application/vnd.chemdraw+xml" },
166 .{ ".cdy", "application/vnd.cinderella" },
167 .{ ".cea", "application/CEA" },
168 .{ ".cellml", "application/cellml+xml" },
169 .{ ".cer", "application/pkix-cert" },
170 .{ ".cgm", "image/cgm" },
171 .{ ".chm", "application/vnd.ms-htmlhelp" },
172 .{ ".chrt", "application/vnd.kde.kchart" },
173 .{ ".cif", "application/vnd.multiad.creator.cif" },
174 .{ ".cii", "application/vnd.anser-web-certificate-issue-initiation" },
175 .{ ".cil", "application/vnd.ms-artgalry" },
176 .{ ".cjs", "application/javascript" },
177 .{ ".cl", "application/simple-filter+xml" },
178 .{ ".cla", "application/vnd.claymore" },
179 .{ ".class", "application/octet-stream" },
180 .{ ".cld", "model/vnd.cld" },
181 .{ ".clkk", "application/vnd.crick.clicker.keyboard" },
182 .{ ".clkp", "application/vnd.crick.clicker.palette" },
183 .{ ".clkt", "application/vnd.crick.clicker.template" },
184 .{ ".clkw", "application/vnd.crick.clicker.wordbank" },
185 .{ ".clkx", "application/vnd.crick.clicker" },
186 .{ ".clue", "application/clue_info+xml" },
187 .{ ".cmc", "application/vnd.cosmocaller" },
188 .{ ".cml", "application/cellml+xml" },
189 .{ ".cmp", "application/vnd.yellowriver-custom-menu" },
190 .{ ".cmsc", "application/cms" },
191 .{ ".cnd", "text/jcr-cnd" },
192 .{ ".coffee", "application/vnd.coffeescript" },
193 .{ ".conf", "text/plain" },
194 .{ ".copyright", "text/vnd.debian.copyright" },
195 .{ ".coswid", "application/swid+cbor" },
196 .{ ".cpio", "application/x-cpio" },
197 .{ ".cpkg", "application/vnd.xmpie.cpkg" },
198 .{ ".cpl", "application/cpl+xml" },
199 .{ ".cpt", "application/mac-compactpro" },
200 .{ ".crl", "application/pkix-crl" },
201 .{ ".crtr", "application/vnd.multiad.creator" },
202 .{ ".crx", "application/x-chrome-extension" },
203 .{ ".cryptomator", "application/vnd.cryptomator.vault" },
204 .{ ".cryptonote", "application/vnd.rig.cryptonote" },
18 .{ ".csh", "application/x-csh" },205 .{ ".csh", "application/x-csh" },
206 .{ ".csl", "application/vnd.citationstyles.style+xml" },
207 .{ ".csp", "application/vnd.commonspace" },
208 .{ ".csrattrs", "application/csrattrs" },
19 .{ ".css", "text/css" },209 .{ ".css", "text/css" },
210 .{ ".cst", "application/vnd.commonspace" },
20 .{ ".csv", "text/csv" },211 .{ ".csv", "text/csv" },
212 .{ ".csvs", "text/csv-schema" },
213 .{ ".cuc", "application/tamp-community-update-confirm" },
214 .{ ".curl", "application/vnd.curl" },
215 .{ ".cw", "application/prs.cww" },
216 .{ ".cwl", "application/cwl" },
217 .{ ".cwl.json", "application/cwl+json" },
218 .{ ".cww", "application/prs.cww" },
219 .{ ".cxx", "text/plain" },
220 .{ ".dae", "model/vnd.collada+xml" },
221 .{ ".daf", "application/vnd.Mobius.DAF" },
222 .{ ".dart", "application/vnd.dart" },
223 .{ ".dataless", "application/vnd.fdsn.seed" },
224 .{ ".davmount", "application/davmount+xml" },
225 .{ ".dbf", "application/vnd.dbf" },
226 .{ ".dcd", "application/DCD" },
227 .{ ".dcf", "application/vnd.oma.drm.content" },
228 .{ ".dcm", "application/dicom" },
229 .{ ".dcr", "application/x-director" },
230 .{ ".dd", "application/vnd.oma.dd+xml" },
231 .{ ".dd2", "application/vnd.oma.dd2+xml" },
232 .{ ".ddd", "application/vnd.fujixerox.ddd" },
233 .{ ".ddf", "application/vnd.syncml.dmddf+xml" },
234 .{ ".deb", "application/vnd.debian.binary-package" },
235 .{ ".dfac", "application/vnd.dreamfactory" },
236 .{ ".dib", "image/bmp" },
237 .{ ".dii", "application/DII" },
238 .{ ".dim", "application/vnd.fastcopy-disk-image" },
239 .{ ".dir", "application/x-director" },
240 .{ ".dis", "application/vnd.Mobius.DIS" },
241 .{ ".dist", "application/vnd.apple.installer+xml" },
242 .{ ".distz", "application/vnd.apple.installer+xml" },
243 .{ ".dit", "application/DIT" },
244 .{ ".dive", "application/vnd.patentdive" },
245 .{ ".djv", "image/vnd.djvu" },
246 .{ ".djvu", "image/vnd.djvu" },
247 .{ ".dl", "application/vnd.datalog" },
248 .{ ".dll", "application/octet-stream" },
249 .{ ".dls", "audio/dls" },
250 .{ ".dm", "application/vnd.oma.drm.message" },
251 .{ ".dmp", "application/vnd.tcpdump.pcap" },
252 .{ ".dms", "text/vnd.DMClientScript" },
253 .{ ".dna", "application/vnd.dna" },
21 .{ ".doc", "application/msword" },254 .{ ".doc", "application/msword" },
255 .{ ".docjson", "application/vnd.document+json" },
256 .{ ".docm", "application/vnd.ms-word.document.macroEnabled.12" },
22 .{ ".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" },257 .{ ".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" },
258 .{ ".dor", "model/vnd.gdl" },
259 .{ ".dot", "text/vnd.graphviz" },
260 .{ ".dotm", "application/vnd.ms-word.template.macroEnabled.12" },
261 .{ ".dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template" },
262 .{ ".dp", "application/vnd.osgi.dp" },
263 .{ ".dpg", "application/vnd.dpgraph" },
264 .{ ".dpgraph", "application/vnd.dpgraph" },
265 .{ ".dpkg", "application/vnd.xmpie.dpkg" },
266 .{ ".dpx", "image/dpx" },
267 .{ ".dr", "application/vnd.oma.drm.rights+xml" },
268 .{ ".drc", "application/vnd.oma.drm.rights+wbxml" },
269 .{ ".drle", "image/dicom-rle" },
270 .{ ".dsc", "text/prs.lines.tag" },
271 .{ ".dsm", "application/vnd.desmume.movie" },
272 .{ ".dssc", "application/dssc+der" },
273 .{ ".dtd", "application/xml-dtd" },
274 .{ ".dts", "audio/vnd.dts" },
275 .{ ".dtshd", "audio/vnd.dts.hd" },
276 .{ ".dvb", "video/vnd.dvb.file" },
277 .{ ".dvc", "application/dvcs" },
278 .{ ".dvi", "application/x-dvi" },
279 .{ ".dwd", "application/atsc-dwd+xml" },
280 .{ ".dwf", "model/vnd.dwf" },
281 .{ ".dwg", "image/vnd.dwg" },
282 .{ ".dxf", "image/vnd.dxf" },
283 .{ ".dxp", "application/vnd.spotfire.dxp" },
284 .{ ".dxr", "application/x-director" },
285 .{ ".dzr", "application/vnd.dzr" },
286 .{ ".ebuild", "application/vnd.gentoo.ebuild" },
287 .{ ".ecelp4800", "audio/vnd.nuera.ecelp4800" },
288 .{ ".ecelp7470", "audio/vnd.nuera.ecelp7470" },
289 .{ ".ecelp9600", "audio/vnd.nuera.ecelp9600" },
290 .{ ".ecig", "application/vnd.evolv.ecig.settings" },
291 .{ ".ecigprofile", "application/vnd.evolv.ecig.profile" },
292 .{ ".ecigtheme", "application/vnd.evolv.ecig.theme" },
293 .{ ".eclass", "application/vnd.gentoo.eclass" },
294 .{ ".edm", "application/vnd.novadigm.EDM" },
295 .{ ".edx", "application/vnd.novadigm.EDX" },
296 .{ ".efi", "application/efi" },
297 .{ ".efif", "application/vnd.picsel" },
298 .{ ".ei6", "application/vnd.pg.osasli" },
299 .{ ".el", "text/plain" },
300 .{ ".eln", "application/vnd.eln+zip" },
301 .{ ".emf", "image/emf" },
302 .{ ".eml", "message/rfc822" },
303 .{ ".emm", "application/vnd.ibm.electronic-media" },
304 .{ ".emma", "application/emma+xml" },
305 .{ ".emotionml", "application/emotionml+xml" },
306 .{ ".ent", "text/xml-external-parsed-entity" },
307 .{ ".entity", "application/vnd.nervana" },
308 .{ ".enw", "audio/EVRCNW" },
309 .{ ".eol", "audio/vnd.digital-winds" },
23 .{ ".eot", "application/vnd.ms-fontobject" },310 .{ ".eot", "application/vnd.ms-fontobject" },
311 .{ ".ep", "application/vnd.bluetooth.ep.oob" },
312 .{ ".eps", "application/postscript" },
24 .{ ".epub", "application/epub+zip" },313 .{ ".epub", "application/epub+zip" },
314 .{ ".es", "application/ecmascript" },
315 .{ ".es3", "application/vnd.eszigno3+xml" },
316 .{ ".esa", "application/vnd.osgi.subsystem" },
317 .{ ".esf", "application/vnd.epson.esf" },
318 .{ ".espass", "application/vnd.espass-espass+zip" },
319 .{ ".et3", "application/vnd.eszigno3+xml" },
320 .{ ".etx", "text/x-setext" },
321 .{ ".evb", "audio/EVRCB" },
322 .{ ".evc", "audio/EVRC" },
323 .{ ".evw", "audio/EVRCWB" },
324 .{ ".exe", "application/octet-stream" },
325 .{ ".exi", "application/exi" },
326 .{ ".exp", "application/express" },
327 .{ ".exr", "image/aces" },
328 .{ ".ext", "application/vnd.novadigm.EXT" },
329 .{ ".ez", "application/andrew-inset" },
330 .{ ".ez2", "application/vnd.ezpix-album" },
331 .{ ".ez3", "application/vnd.ezpix-package" },
332 .{ ".f90", "text/plain" },
333 .{ ".fbs", "image/vnd.fastbidsheet" },
334 .{ ".fcdt", "application/vnd.adobe.formscentral.fcdt" },
335 .{ ".fcs", "application/vnd.isac.fcs" },
336 .{ ".fdf", "application/vnd.fdf" },
337 .{ ".fdt", "application/fdt+xml" },
338 .{ ".fe_launch", "application/vnd.denovo.fcselayout-link" },
339 .{ ".fg5", "application/vnd.fujitsu.oasysgp" },
340 .{ ".finf", "application/fastinfoset" },
341 .{ ".fit", "image/fits" },
342 .{ ".fits", "image/fits" },
343 .{ ".fla", "application/vnd.dtg.local.flash" },
344 .{ ".flac", "audio/x-flac" },
345 .{ ".flb", "application/vnd.ficlab.flb+zip" },
346 .{ ".flo", "application/vnd.micrografx.flo" },
347 .{ ".flt", "text/vnd.ficlab.flt" },
348 .{ ".flv", "video/x-flv" },
349 .{ ".flw", "application/vnd.kde.kivio" },
350 .{ ".flx", "text/vnd.fmi.flexstor" },
351 .{ ".fly", "text/vnd.fly" },
352 .{ ".fm", "application/vnd.framemaker" },
353 .{ ".fnc", "application/vnd.frogans.fnc" },
354 .{ ".fo", "application/vnd.software602.filler.form+xml" },
355 .{ ".fpx", "image/vnd.fpx" },
356 .{ ".frm", "application/vnd.ufdl" },
357 .{ ".fsc", "application/vnd.fsc.weblaunch" },
358 .{ ".fst", "image/vnd.fst" },
359 .{ ".ftc", "application/vnd.fluxtime.clip" },
360 .{ ".fti", "application/vnd.anser-web-funds-transfer-initiation" },
361 .{ ".fts", "image/fits" },
362 .{ ".fvt", "video/vnd.fvt" },
363 .{ ".fxm", "video/x-javafx" },
364 .{ ".fxp", "application/vnd.adobe.fxp" },
365 .{ ".fxpl", "application/vnd.adobe.fxp" },
366 .{ ".fzs", "application/vnd.fuzzysheet" },
367 .{ ".g2w", "application/vnd.geoplan" },
368 .{ ".g3", "application/vnd.geocube+xml" },
369 .{ ".g3w", "application/vnd.geospace" },
370 .{ ".gac", "application/vnd.groove-account" },
371 .{ ".gbr", "application/rpki-ghostbusters" },
372 .{ ".gdl", "model/vnd.gdl" },
373 .{ ".gdz", "application/vnd.familysearch.gedcom+zip" },
374 .{ ".ged", "text/vnd.familysearch.gedcom" },
375 .{ ".genozip", "application/vnd.genozip" },
376 .{ ".geo", "application/vnd.dynageo" },
377 .{ ".geojson", "application/geo+json" },
378 .{ ".gex", "application/vnd.geometry-explorer" },
379 .{ ".gff3", "text/gff3" },
380 .{ ".ggb", "application/vnd.geogebra.file" },
381 .{ ".ggs", "application/vnd.geogebra.slides" },
382 .{ ".ggt", "application/vnd.geogebra.tool" },
383 .{ ".ghf", "application/vnd.groove-help" },
25 .{ ".gif", "image/gif" },384 .{ ".gif", "image/gif" },
385 .{ ".gim", "application/vnd.groove-identity-message" },
386 .{ ".glb", "model/gltf-binary" },
387 .{ ".glbin", "application/gltf-buffer" },
388 .{ ".glbuf", "application/gltf-buffer" },
389 .{ ".gltf", "model/gltf+json" },
390 .{ ".gml", "application/gml+xml" },
391 .{ ".gmx", "application/vnd.gmx" },
392 .{ ".gph", "application/vnd.FloGraphIt" },
393 .{ ".gpkg", "application/geopackage+sqlite3" },
394 .{ ".gpkg.tar", "application/vnd.gentoo.gpkg" },
395 .{ ".gqf", "application/vnd.grafeq" },
396 .{ ".gqs", "application/vnd.grafeq" },
397 .{ ".gram", "application/srgs" },
398 .{ ".gre", "application/vnd.geometry-explorer" },
399 .{ ".grv", "application/vnd.groove-injector" },
400 .{ ".grxml", "application/srgs+xml" },
401 .{ ".gsheet", "application/urc-grpsheet+xml" },
402 .{ ".gsm", "model/vnd.gdl" },
403 .{ ".gtar", "application/x-gtar" },
404 .{ ".gtm", "application/vnd.groove-tool-message" },
405 .{ ".gtw", "model/vnd.gtw" },
406 .{ ".gv", "text/vnd.graphviz" },
407 .{ ".gxt", "application/vnd.geonext" },
26 .{ ".gz", "application/gzip" },408 .{ ".gz", "application/gzip" },
409 .{ ".h", "text/plain" },
410 .{ ".h5", "application/mipc" },
411 .{ ".hal", "application/vnd.hal+xml" },
412 .{ ".hans", "text/vnd.hans" },
413 .{ ".hbc", "application/vnd.hbci" },
414 .{ ".hbci", "application/vnd.hbci" },
415 .{ ".hdf", "application/x-hdf" },
416 .{ ".hdr", "image/vnd.radiance" },
417 .{ ".hdt", "application/vnd.hdt" },
418 .{ ".heic", "image/heic" },
419 .{ ".heics", "image/heic-sequence" },
420 .{ ".heif", "image/heif" },
421 .{ ".heifs", "image/heif-sequence" },
422 .{ ".hej2", "image/hej2k" },
423 .{ ".held", "application/atsc-held+xml" },
424 .{ ".hgl", "text/vnd.hgl" },
425 .{ ".hh", "text/plain" },
426 .{ ".hif", "image/avif" },
427 .{ ".hpgl", "application/vnd.hp-HPGL" },
428 .{ ".hpi", "application/vnd.hp-hpid" },
429 .{ ".hpid", "application/vnd.hp-hpid" },
430 .{ ".hps", "application/vnd.hp-hps" },
431 .{ ".hpub", "application/prs.hpub+zip" },
432 .{ ".hqx", "application/mac-binhex40" },
433 .{ ".hsj2", "image/hsj2" },
434 .{ ".hsl", "application/vnd.hsl" },
435 .{ ".htke", "application/vnd.kenameaapp" },
27 .{ ".htm", "text/html" },436 .{ ".htm", "text/html" },
28 .{ ".html", "text/html" },437 .{ ".html", "text/html" },
438 .{ ".hvd", "application/vnd.yamaha.hv-dic" },
439 .{ ".hvp", "application/vnd.yamaha.hv-voice" },
440 .{ ".hvs", "application/vnd.yamaha.hv-script" },
441 .{ ".hxx", "text/plain" },
442 .{ ".i2g", "application/vnd.intergeo" },
443 .{ ".ic0", "application/vnd.commerce-battelle" },
444 .{ ".ic1", "application/vnd.commerce-battelle" },
445 .{ ".ic2", "application/vnd.commerce-battelle" },
446 .{ ".ic3", "application/vnd.commerce-battelle" },
447 .{ ".ic4", "application/vnd.commerce-battelle" },
448 .{ ".ic5", "application/vnd.commerce-battelle" },
449 .{ ".ic6", "application/vnd.commerce-battelle" },
450 .{ ".ic7", "application/vnd.commerce-battelle" },
451 .{ ".ic8", "application/vnd.commerce-battelle" },
452 .{ ".ica", "application/vnd.commerce-battelle" },
453 .{ ".icc", "application/vnd.iccprofile" },
454 .{ ".icd", "application/vnd.commerce-battelle" },
455 .{ ".ice", "x-conference/x-cooltalk" },
456 .{ ".icf", "application/vnd.commerce-battelle" },
457 .{ ".icm", "application/vnd.iccprofile" },
29 .{ ".ico", "image/vnd.microsoft.icon" },458 .{ ".ico", "image/vnd.microsoft.icon" },
30 .{ ".ics", "text/calendar" },459 .{ ".ics", "text/calendar" },
460 .{ ".ief", "image/ief" },
461 .{ ".ifb", "text/calendar" },
462 .{ ".ifc", "application/p21" },
463 .{ ".ifm", "application/vnd.shana.informed.formdata" },
464 .{ ".iges", "model/iges" },
465 .{ ".igl", "application/vnd.igloader" },
466 .{ ".igm", "application/vnd.insors.igm" },
467 .{ ".ign", "application/vnd.coreos.ignition+json" },
468 .{ ".ignition", "application/vnd.coreos.ignition+json" },
469 .{ ".igs", "model/iges" },
470 .{ ".igx", "application/vnd.micrografx.igx" },
471 .{ ".iif", "application/vnd.shana.informed.interchange" },
472 .{ ".imf", "application/vnd.imagemeter.folder+zip" },
473 .{ ".img", "application/octet-stream" },
474 .{ ".imgcal", "application/vnd.3lightssoftware.imagescal" },
475 .{ ".imi", "application/vnd.imagemeter.image+zip" },
476 .{ ".imp", "application/vnd.accpac.simply.imp" },
477 .{ ".ims", "application/vnd.ms-ims" },
478 .{ ".imscc", "application/vnd.ims.imsccv1p1" },
479 .{ ".ink", "application/inkml+xml" },
480 .{ ".inkml", "application/inkml+xml" },
481 .{ ".iota", "application/vnd.astraea-software.iota" },
482 .{ ".ipfix", "application/ipfix" },
483 .{ ".ipk", "application/vnd.shana.informed.package" },
484 .{ ".irm", "application/vnd.ibm.rights-management" },
485 .{ ".irp", "application/vnd.irepository.package+xml" },
486 .{ ".ism", "model/vnd.gdl" },
487 .{ ".iso", "application/octet-stream" },
488 .{ ".istc", "application/vnd.veryant.thin" },
489 .{ ".isws", "application/vnd.veryant.thin" },
490 .{ ".itp", "application/vnd.shana.informed.formtemplate" },
491 .{ ".its", "application/its+xml" },
492 .{ ".ivp", "application/vnd.immervision-ivp" },
493 .{ ".ivu", "application/vnd.immervision-ivu" },
494 .{ ".jad", "text/vnd.sun.j2me.app-descriptor" },
495 .{ ".jam", "application/vnd.jam" },
31 .{ ".jar", "application/java-archive" },496 .{ ".jar", "application/java-archive" },
497 .{ ".jfif", "image/jpeg" },
498 .{ ".jhc", "image/jphc" },
499 .{ ".jisp", "application/vnd.jisp" },
500 .{ ".jls", "image/jls" },
501 .{ ".jlt", "application/vnd.hp-jlyt" },
502 .{ ".jnlp", "application/x-java-jnlp-file" },
503 .{ ".joda", "application/vnd.joost.joda-archive" },
504 .{ ".jp2", "image/jp2" },
505 .{ ".jpe", "image/jpeg" },
32 .{ ".jpeg", "image/jpeg" },506 .{ ".jpeg", "image/jpeg" },
507 .{ ".jpf", "image/jpx" },
33 .{ ".jpg", "image/jpeg" },508 .{ ".jpg", "image/jpeg" },
509 .{ ".jpg2", "image/jp2" },
510 .{ ".jpgm", "image/jpm" },
511 .{ ".jph", "image/jph" },
512 .{ ".jpm", "image/jpm" },
513 .{ ".jpx", "image/jpx" },
514 .{ ".jrd", "application/jrd+json" },
34 .{ ".js", "application/javascript" },515 .{ ".js", "application/javascript" },
35 .{ ".json", "application/json" },516 .{ ".json", "application/json" },
517 .{ ".json-patch", "application/json-patch+json" },
36 .{ ".jsonld", "application/ld+json" },518 .{ ".jsonld", "application/ld+json" },
519 .{ ".jsontd", "application/td+json" },
520 .{ ".jsontm", "application/tm+json" },
521 .{ ".jt", "model/JT" },
522 .{ ".jtd", "text/vnd.esmertec.theme-descriptor" },
523 .{ ".jxl", "image/jxl" },
524 .{ ".jxr", "image/jxr" },
525 .{ ".jxra", "image/jxrA" },
526 .{ ".jxrs", "image/jxrS" },
527 .{ ".jxs", "image/jxs" },
528 .{ ".jxsc", "image/jxsc" },
529 .{ ".jxsi", "image/jxsi" },
530 .{ ".jxss", "image/jxss" },
531 .{ ".kar", "audio/midi" },
532 .{ ".karbon", "application/vnd.kde.karbon" },
533 .{ ".kcm", "application/vnd.nervana" },
534 .{ ".keynote", "application/vnd.apple.keynote" },
535 .{ ".kfo", "application/vnd.kde.kformula" },
536 .{ ".kia", "application/vnd.kidspiration" },
537 .{ ".kil", "application/x-killustrator" },
538 .{ ".kml", "application/vnd.google-earth.kml+xml" },
539 .{ ".kmz", "application/vnd.google-earth.kmz" },
540 .{ ".kne", "application/vnd.Kinar" },
541 .{ ".knp", "application/vnd.Kinar" },
542 .{ ".kom", "application/vnd.hbci" },
543 .{ ".kon", "application/vnd.kde.kontour" },
544 .{ ".koz", "audio/vnd.audiokoz" },
545 .{ ".kpr", "application/vnd.kde.kpresenter" },
546 .{ ".kpt", "application/vnd.kde.kpresenter" },
547 .{ ".ksp", "application/vnd.kde.kspread" },
548 .{ ".ktr", "application/vnd.kahootz" },
549 .{ ".ktx", "image/ktx" },
550 .{ ".ktx2", "image/ktx2" },
551 .{ ".ktz", "application/vnd.kahootz" },
552 .{ ".kwd", "application/vnd.kde.kword" },
553 .{ ".kwt", "application/vnd.kde.kword" },
554 .{ ".l16", "audio/L16" },
555 .{ ".las", "application/vnd.las" },
556 .{ ".lasjson", "application/vnd.las.las+json" },
557 .{ ".lasxml", "application/vnd.las.las+xml" },
558 .{ ".latex", "application/x-latex" },
559 .{ ".lbc", "audio/iLBC" },
560 .{ ".lbd", "application/vnd.llamagraphics.life-balance.desktop" },
561 .{ ".lbe", "application/vnd.llamagraphics.life-balance.exchange+xml" },
562 .{ ".lca", "application/vnd.logipipe.circuit+zip" },
563 .{ ".lcs", "application/vnd.logipipe.circuit+zip" },
564 .{ ".le", "application/vnd.bluetooth.le.oob" },
565 .{ ".les", "application/vnd.hhe.lesson-player" },
566 .{ ".lgr", "application/lgr+xml" },
567 .{ ".lha", "application/octet-stream" },
568 .{ ".lhzd", "application/vnd.belightsoft.lhzd+zip" },
569 .{ ".lhzl", "application/vnd.belightsoft.lhzl+zip" },
570 .{ ".line", "application/vnd.nebumind.line" },
571 .{ ".link66", "application/vnd.route66.link66+xml" },
572 .{ ".list3820", "application/vnd.afpc.modca" },
573 .{ ".listafp", "application/vnd.afpc.modca" },
574 .{ ".lmp", "model/vnd.gdl" },
575 .{ ".loas", "audio/usac" },
576 .{ ".log", "text/plain" },
577 .{ ".loom", "application/vnd.loom" },
578 .{ ".lostsyncxml", "application/lostsync+xml" },
579 .{ ".lostxml", "application/lost+xml" },
580 .{ ".lpf", "application/lpf+zip" },
581 .{ ".lrm", "application/vnd.ms-lrm" },
582 .{ ".ltf", "application/vnd.frogans.ltf" },
583 .{ ".lvp", "audio/vnd.lucent.voice" },
584 .{ ".lwp", "application/vnd.lotus-wordpro" },
585 .{ ".lxf", "application/LXF" },
586 .{ ".lzh", "application/octet-stream" },
587 .{ ".m", "application/vnd.wolfram.mathematica.package" },
588 .{ ".m15", "audio/x-mod" },
589 .{ ".m1v", "video/mpeg" },
590 .{ ".m21", "application/mp21" },
591 .{ ".m2v", "video/mpeg" },
592 .{ ".m3u", "audio/x-mpegurl" },
593 .{ ".m3u8", "application/vnd.apple.mpegurl" },
594 .{ ".m4a", "audio/mp4" },
595 .{ ".m4s", "video/iso.segment" },
596 .{ ".m4u", "video/vnd.mpegurl" },
597 .{ ".m4v", "video/mp4" },
598 .{ ".ma", "application/mathematica" },
599 .{ ".mads", "application/mads+xml" },
600 .{ ".maei", "application/mmt-aei+xml" },
601 .{ ".mag", "application/vnd.ecowin.chart" },
602 .{ ".mail", "message/rfc822" },
603 .{ ".man", "application/x-troff-man" },
604 .{ ".manifest", "text/cache-manifest" },
605 .{ ".markdown", "text/markdown" },
606 .{ ".mb", "application/mathematica" },
607 .{ ".mbk", "application/vnd.Mobius.MBK" },
608 .{ ".mbox", "application/mbox" },
609 .{ ".mbsdf", "application/vnd.mdl-mbsdf" },
610 .{ ".mc1", "application/vnd.medcalcdata" },
611 .{ ".mc2", "text/vnd.senx.warpscript" },
612 .{ ".mcd", "application/vnd.mcd" },
613 .{ ".md", "text/markdown" },
614 .{ ".mdc", "application/vnd.marlin.drm.mdcf" },
615 .{ ".mdi", "image/vnd.ms-modi" },
616 .{ ".mdl", "application/vnd.mdl" },
617 .{ ".me", "application/x-troff-me" },
618 .{ ".med", "audio/x-mod" },
619 .{ ".mesh", "model/mesh" },
620 .{ ".meta4", "application/metalink4+xml" },
621 .{ ".metalink", "application/metalink+xml" },
622 .{ ".mets", "application/mets+xml" },
623 .{ ".mf4", "application/MF4" },
624 .{ ".mfm", "application/vnd.mfmp" },
625 .{ ".mft", "application/rpki-manifest" },
626 .{ ".mgp", "application/vnd.osgeo.mapguide.package" },
627 .{ ".mgz", "application/vnd.proteus.magazine" },
628 .{ ".mhas", "audio/mhas" },
37 .{ ".mid", "audio/midi" },629 .{ ".mid", "audio/midi" },
630 .{ ".midi", "audio/midi" },
631 .{ ".mif", "application/vnd.mif" },
632 .{ ".miz", "text/mizar" },
633 .{ ".mj2", "video/mj2" },
634 .{ ".mjp2", "video/mj2" },
38 .{ ".mjs", "application/javascript" },635 .{ ".mjs", "application/javascript" },
636 .{ ".mk3d", "video/x-matroska-3d" },
637 .{ ".mka", "audio/x-matroska" },
638 .{ ".mkv", "video/x-matroska" },
639 .{ ".ml2", "application/vnd.sybyl.mol2" },
640 .{ ".mlp", "audio/vnd.dolby.mlp" },
641 .{ ".mmd", "application/vnd.chipnuts.karaoke-mmd" },
642 .{ ".mmdb", "application/vnd.maxmind.maxmind-db" },
643 .{ ".mmf", "application/vnd.smaf" },
644 .{ ".mml", "application/mathml+xml" },
645 .{ ".mmr", "image/vnd.fujixerox.edmics-mmr" },
646 .{ ".mms", "application/vnd.wap.mms-message" },
647 .{ ".mod", "audio/x-mod" },
648 .{ ".model-inter", "application/vnd.vd-study" },
649 .{ ".modl", "application/vnd.modl" },
650 .{ ".mods", "application/mods+xml" },
651 .{ ".mol2", "application/vnd.sybyl.mol2" },
652 .{ ".moml", "model/vnd.moml+xml" },
653 .{ ".mov", "video/quicktime" },
654 .{ ".movie", "video/x-sgi-movie" },
655 .{ ".mp1", "audio/mpeg" },
656 .{ ".mp2", "audio/mpeg" },
657 .{ ".mp21", "application/mp21" },
39 .{ ".mp3", "audio/mpeg" },658 .{ ".mp3", "audio/mpeg" },
40 .{ ".mp4", "video/mp4" },659 .{ ".mp4", "video/mp4" },
660 .{ ".mpc", "application/vnd.mophun.certificate" },
661 .{ ".mpd", "application/dash+xml" },
662 .{ ".mpdd", "application/dashdelta" },
663 .{ ".mpe", "video/mpeg" },
41 .{ ".mpeg", "video/mpeg" },664 .{ ".mpeg", "video/mpeg" },
665 .{ ".mpf", "text/vnd.ms-mediapackage" },
666 .{ ".mpg", "video/mpeg" },
667 .{ ".mpg4", "video/mp4" },
668 .{ ".mpga", "audio/mpeg" },
42 .{ ".mpkg", "application/vnd.apple.installer+xml" },669 .{ ".mpkg", "application/vnd.apple.installer+xml" },
670 .{ ".mpm", "application/vnd.blueice.multipass" },
671 .{ ".mpn", "application/vnd.mophun.application" },
672 .{ ".mpp", "application/vnd.ms-project" },
673 .{ ".mpt", "application/vnd.ms-project" },
674 .{ ".mpw", "application/vnd.exstream-empower+zip" },
675 .{ ".mpy", "application/vnd.ibm.MiniPay" },
676 .{ ".mqy", "application/vnd.Mobius.MQY" },
677 .{ ".mrc", "application/marc" },
678 .{ ".mrcx", "application/marcxml+xml" },
679 .{ ".ms", "application/x-troff-ms" },
680 .{ ".msa", "application/vnd.msa-disk-image" },
681 .{ ".msd", "application/vnd.fdsn.mseed" },
682 .{ ".mseed", "application/vnd.fdsn.mseed" },
683 .{ ".mseq", "application/vnd.mseq" },
684 .{ ".msf", "application/vnd.epson.msf" },
685 .{ ".msh", "model/mesh" },
686 .{ ".msl", "application/vnd.Mobius.MSL" },
687 .{ ".msm", "model/vnd.gdl" },
688 .{ ".msty", "application/vnd.muvee.style" },
689 .{ ".mtl", "model/mtl" },
690 .{ ".mtm", "audio/x-mod" },
691 .{ ".mts", "model/vnd.mts" },
692 .{ ".multitrack", "audio/vnd.presonus.multitrack" },
693 .{ ".mus", "application/vnd.musician" },
694 .{ ".musd", "application/mmt-usd+xml" },
695 .{ ".mvt", "application/vnd.mapbox-vector-tile" },
696 .{ ".mwc", "application/vnd.dpgraph" },
697 .{ ".mwf", "application/vnd.MFER" },
698 .{ ".mxf", "application/mxf" },
699 .{ ".mxi", "application/vnd.vd-study" },
700 .{ ".mxl", "application/vnd.recordare.musicxml" },
701 .{ ".mxmf", "audio/mobile-xmf" },
702 .{ ".mxml", "application/xv+xml" },
703 .{ ".mxs", "application/vnd.triscape.mxs" },
704 .{ ".mxu", "video/vnd.mpegurl" },
705 .{ ".n-gage", "application/vnd.nokia.n-gage.symbian.install" },
706 .{ ".n3", "text/n3" },
707 .{ ".nb", "application/mathematica" },
708 .{ ".nbp", "application/vnd.wolfram.player" },
709 .{ ".nc", "application/x-netcdf" },
710 .{ ".ndc", "application/vnd.osa.netdeploy" },
711 .{ ".ndl", "application/vnd.lotus-notes" },
712 .{ ".nds", "application/vnd.nintendo.nitro.rom" },
713 .{ ".nebul", "application/vnd.nebumind.line" },
714 .{ ".ngdat", "application/vnd.nokia.n-gage.data" },
715 .{ ".nim", "video/vnd.nokia.interleaved-multimedia" },
716 .{ ".nimn", "application/vnd.nimn" },
717 .{ ".nitf", "application/vnd.nitf" },
718 .{ ".nlu", "application/vnd.neurolanguage.nlu" },
719 .{ ".nml", "application/vnd.enliven" },
720 .{ ".nnd", "application/vnd.noblenet-directory" },
721 .{ ".nns", "application/vnd.noblenet-sealer" },
722 .{ ".nnw", "application/vnd.noblenet-web" },
723 .{ ".notebook", "application/vnd.smart.notebook" },
724 .{ ".nq", "application/n-quads" },
725 .{ ".ns2", "application/vnd.lotus-notes" },
726 .{ ".ns3", "application/vnd.lotus-notes" },
727 .{ ".ns4", "application/vnd.lotus-notes" },
728 .{ ".nsf", "application/vnd.lotus-notes" },
729 .{ ".nsg", "application/vnd.lotus-notes" },
730 .{ ".nsh", "application/vnd.lotus-notes" },
731 .{ ".nt", "application/n-triples" },
732 .{ ".ntf", "application/vnd.lotus-notes" },
733 .{ ".numbers", "application/vnd.apple.numbers" },
734 .{ ".o4a", "application/vnd.oma.drm.dcf" },
735 .{ ".o4v", "application/vnd.oma.drm.dcf" },
736 .{ ".oa2", "application/vnd.fujitsu.oasys2" },
737 .{ ".oa3", "application/vnd.fujitsu.oasys3" },
738 .{ ".oas", "application/vnd.fujitsu.oasys" },
739 .{ ".ob", "application/vnd.1ob" },
740 .{ ".obg", "application/vnd.openblox.game-binary" },
741 .{ ".obgx", "application/vnd.openblox.game+xml" },
742 .{ ".obj", "model/obj" },
743 .{ ".oda", "application/ODA" },
744 .{ ".odb", "application/vnd.oasis.opendocument.base" },
745 .{ ".odc", "application/vnd.oasis.opendocument.chart" },
746 .{ ".odd", "application/tei+xml" },
747 .{ ".odf", "application/vnd.oasis.opendocument.formula" },
748 .{ ".odg", "application/vnd.oasis.opendocument.graphics" },
749 .{ ".odi", "application/vnd.oasis.opendocument.image" },
750 .{ ".odm", "application/vnd.oasis.opendocument.text-master" },
43 .{ ".odp", "application/vnd.oasis.opendocument.presentation" },751 .{ ".odp", "application/vnd.oasis.opendocument.presentation" },
44 .{ ".ods", "application/vnd.oasis.opendocument.spreadsheet" },752 .{ ".ods", "application/vnd.oasis.opendocument.spreadsheet" },
45 .{ ".odt", "application/vnd.oasis.opendocument.text" },753 .{ ".odt", "application/vnd.oasis.opendocument.text" },
754 .{ ".odt", "application/vnd.oasis.opendocument.text" },
755 .{ ".odx", "application/ODX" },
756 .{ ".oeb", "application/vnd.openeye.oeb" },
46 .{ ".oga", "audio/ogg" },757 .{ ".oga", "audio/ogg" },
758 .{ ".ogex", "model/vnd.opengex" },
759 .{ ".ogg", "audio/ogg" },
47 .{ ".ogv", "video/ogg" },760 .{ ".ogv", "video/ogg" },
48 .{ ".ogx", "application/ogg" },761 .{ ".ogx", "application/ogg" },
762 .{ ".omg", "audio/ATRAC3" },
763 .{ ".opf", "application/oebps-package+xml" },
764 .{ ".oprc", "application/vnd.palm" },
765 .{ ".opus", "audio/ogg" },
49 .{ ".opus", "audio/opus" },766 .{ ".opus", "audio/opus" },
767 .{ ".or2", "application/vnd.lotus-organizer" },
768 .{ ".or3", "application/vnd.lotus-organizer" },
769 .{ ".org", "application/vnd.lotus-organizer" },
770 .{ ".orq", "application/ocsp-request" },
771 .{ ".ors", "application/ocsp-response" },
772 .{ ".osf", "application/vnd.yamaha.openscoreformat" },
773 .{ ".osm", "application/vnd.openstreetmap.data+xml" },
774 .{ ".ota", "application/vnd.android.ota" },
775 .{ ".otc", "application/vnd.oasis.opendocument.chart-template" },
50 .{ ".otf", "font/otf" },776 .{ ".otf", "font/otf" },
777 .{ ".otg", "application/vnd.oasis.opendocument.graphics-template" },
778 .{ ".oth", "application/vnd.oasis.opendocument.text-web" },
779 .{ ".oti", "application/vnd.oasis.opendocument.image-template" },
780 .{ ".otm", "application/vnd.oasis.opendocument.text-master-template" },
781 .{ ".otp", "application/vnd.oasis.opendocument.presentation-template" },
782 .{ ".ots", "application/vnd.oasis.opendocument.spreadsheet-template" },
783 .{ ".ott", "application/vnd.oasis.opendocument.text-template" },
784 .{ ".ovl", "application/vnd.afpc.modca-overlay" },
785 .{ ".owx", "application/owl+xml" },
786 .{ ".oxlicg", "application/vnd.oxli.countgraph" },
787 .{ ".oxps", "application/oxps" },
788 .{ ".oxt", "application/vnd.openofficeorg.extension" },
789 .{ ".p10", "application/pkcs10" },
790 .{ ".p12", "application/pkcs12" },
791 .{ ".p21", "application/p21" },
792 .{ ".p2p", "application/vnd.wfa.p2p" },
793 .{ ".p7c", "application/pkcs7-mime" },
794 .{ ".p7m", "application/pkcs7-mime" },
795 .{ ".p7s", "application/pkcs7-signature" },
796 .{ ".p8", "application/pkcs8" },
797 .{ ".p8e", "application/pkcs8-encrypted" },
798 .{ ".pack", "application/x-java-pack200" },
799 .{ ".package", "application/vnd.autopackage" },
800 .{ ".pages", "application/vnd.apple.pages" },
801 .{ ".paw", "application/vnd.pawaafile" },
802 .{ ".pbd", "application/vnd.powerbuilder6" },
803 .{ ".pbm", "image/x-portable-bitmap" },
804 .{ ".pcap", "application/vnd.tcpdump.pcap" },
805 .{ ".pcl", "application/vnd.hp-PCL" },
806 .{ ".pcx", "image/vnd.zbrush.pcx" },
807 .{ ".pdb", "application/vnd.palm" },
51 .{ ".pdf", "application/pdf" },808 .{ ".pdf", "application/pdf" },
809 .{ ".pdx", "application/PDX" },
810 .{ ".pem", "application/pem-certificate-chain" },
811 .{ ".pfr", "application/font-tdpfr" },
812 .{ ".pfx", "application/pkcs12" },
813 .{ ".pgb", "image/vnd.globalgraphics.pgb" },
814 .{ ".pgm", "image/x-portable-graymap" },
815 .{ ".pgn", "application/vnd.chess-pgn" },
816 .{ ".pgp", "application/pgp-encrypted" },
52 .{ ".php", "application/x-httpd-php" },817 .{ ".php", "application/x-httpd-php" },
818 .{ ".pil", "application/vnd.piaccess.application-licence" },
819 .{ ".pkd", "application/vnd.hbci" },
820 .{ ".pkg", "application/vnd.apple.installer+xml" },
821 .{ ".pki", "application/pkixcmp" },
822 .{ ".pkipath", "application/pkix-pkipath" },
823 .{ ".pl", "application/x-perl" },
824 .{ ".plb", "application/vnd.3gpp.pic-bw-large" },
825 .{ ".plc", "application/vnd.Mobius.PLC" },
826 .{ ".plf", "application/vnd.pocketlearn" },
827 .{ ".plj", "audio/vnd.everad.plj" },
828 .{ ".plp", "application/vnd.panoply" },
829 .{ ".pls", "application/pls+xml" },
830 .{ ".pm", "text/plain" },
831 .{ ".pml", "application/vnd.ctc-posml" },
53 .{ ".png", "image/png" },832 .{ ".png", "image/png" },
833 .{ ".pnm", "image/x-portable-anymap" },
834 .{ ".pod", "text/x-pod" },
835 .{ ".portpkg", "application/vnd.macports.portpkg" },
836 .{ ".pot", "application/vnd.ms-powerpoint" },
837 .{ ".potm", "application/vnd.ms-powerpoint.template.macroEnabled.12" },
838 .{ ".potx", "application/vnd.openxmlformats-officedocument.presentationml.template" },
839 .{ ".ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12" },
840 .{ ".ppd", "application/vnd.cups-ppd" },
841 .{ ".ppkg", "application/vnd.xmpie.ppkg" },
842 .{ ".ppm", "image/x-portable-pixmap" },
843 .{ ".pps", "application/vnd.ms-powerpoint" },
844 .{ ".ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12" },
845 .{ ".ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow" },
54 .{ ".ppt", "application/vnd.ms-powerpoint" },846 .{ ".ppt", "application/vnd.ms-powerpoint" },
847 .{ ".pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12" },
848 .{ ".ppttc", "application/vnd.think-cell.ppttc+json" },
55 .{ ".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation" },849 .{ ".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation" },
850 .{ ".pqa", "application/vnd.palm" },
851 .{ ".prc", "application/vnd.palm" },
852 .{ ".pre", "application/vnd.lotus-freelance" },
853 .{ ".preminet", "application/vnd.preminet" },
854 .{ ".provn", "text/provenance-notation" },
855 .{ ".provx", "application/provenance+xml" },
856 .{ ".prz", "application/vnd.lotus-freelance" },
857 .{ ".ps", "application/postscript" },
858 .{ ".psb", "application/vnd.3gpp.pic-bw-small" },
859 .{ ".psd", "image/vnd.adobe.photoshop" },
860 .{ ".pseg3820", "application/vnd.afpc.modca" },
861 .{ ".psfs", "application/vnd.psfs" },
862 .{ ".psg", "application/vnd.afpc.modca-pagesegment" },
863 .{ ".psid", "audio/prs.sid" },
864 .{ ".pskcxml", "application/pskc+xml" },
865 .{ ".pt", "application/vnd.snesdev-page-table" },
866 .{ ".pti", "image/prs.pti" },
867 .{ ".ptid", "application/vnd.pvi.ptid1" },
868 .{ ".ptrom", "application/vnd.snesdev-page-table" },
869 .{ ".pub", "application/vnd.exstream-package" },
870 .{ ".pvb", "application/vnd.3gpp.pic-bw-var" },
871 .{ ".pwn", "application/vnd.3M.Post-it-Notes" },
872 .{ ".pya", "audio/vnd.ms-playready.media.pya" },
873 .{ ".pyo", "model/vnd.pytha.pyox" },
874 .{ ".pyox", "model/vnd.pytha.pyox" },
875 .{ ".pyv", "video/vnd.ms-playready.media.pyv" },
876 .{ ".qam", "application/vnd.epson.quickanime" },
877 .{ ".qbo", "application/vnd.intu.qbo" },
878 .{ ".qca", "application/vnd.ericsson.quickcall" },
879 .{ ".qcall", "application/vnd.ericsson.quickcall" },
880 .{ ".qcp", "audio/QCELP" },
881 .{ ".qfx", "application/vnd.intu.qfx" },
882 .{ ".qps", "application/vnd.publishare-delta-tree" },
883 .{ ".qt", "video/quicktime" },
884 .{ ".quiz", "application/vnd.quobject-quoxdocument" },
885 .{ ".quox", "application/vnd.quobject-quoxdocument" },
886 .{ ".qvd", "application/vnd.theqvd" },
887 .{ ".qwd", "application/vnd.Quark.QuarkXPress" },
888 .{ ".qwt", "application/vnd.Quark.QuarkXPress" },
889 .{ ".qxb", "application/vnd.Quark.QuarkXPress" },
890 .{ ".qxd", "application/vnd.Quark.QuarkXPress" },
891 .{ ".qxl", "application/vnd.Quark.QuarkXPress" },
892 .{ ".qxt", "application/vnd.Quark.QuarkXPress" },
893 .{ ".ra", "audio/x-realaudio" },
894 .{ ".ram", "audio/x-pn-realaudio" },
895 .{ ".rapd", "application/route-apd+xml" },
56 .{ ".rar", "application/vnd.rar" },896 .{ ".rar", "application/vnd.rar" },
897 .{ ".ras", "image/x-cmu-raster" },
898 .{ ".rcprofile", "application/vnd.ipunplugged.rcprofile" },
899 .{ ".rct", "application/prs.nprend" },
900 .{ ".rdf", "application/rdf+xml" },
901 .{ ".rdf-crypt", "application/prs.rdf-xml-crypt" },
902 .{ ".rdz", "application/vnd.data-vision.rdz" },
903 .{ ".relo", "application/p2p-overlay+xml" },
904 .{ ".reload", "application/vnd.resilient.logic" },
905 .{ ".rep", "application/vnd.businessobjects" },
906 .{ ".request", "application/vnd.nervana" },
907 .{ ".rfcxml", "application/rfc+xml" },
908 .{ ".rgb", "image/x-rgb" },
909 .{ ".rgbe", "image/vnd.radiance" },
910 .{ ".rif", "application/reginfo+xml" },
911 .{ ".rip", "audio/vnd.rip" },
912 .{ ".rl", "application/resource-lists+xml" },
913 .{ ".rlc", "image/vnd.fujixerox.edmics-rlc" },
914 .{ ".rld", "application/resource-lists-diff+xml" },
915 .{ ".rlm", "application/vnd.resilient.logic" },
916 .{ ".rm", "audio/x-pn-realaudio" },
917 .{ ".rms", "application/vnd.jcp.javame.midlet-rms" },
918 .{ ".rnc", "application/relax-ng-compact-syntax" },
919 .{ ".rnd", "application/prs.nprend" },
920 .{ ".rng", "text/xml" },
921 .{ ".roa", "application/rpki-roa" },
922 .{ ".roff", "text/troff" },
923 .{ ".rp9", "application/vnd.cloanto.rp9" },
924 .{ ".rpm", "application/x-rpm" },
925 .{ ".rpss", "application/vnd.nokia.radio-presets" },
926 .{ ".rpst", "application/vnd.nokia.radio-preset" },
927 .{ ".rq", "application/sparql-query" },
928 .{ ".rs", "application/rls-services+xml" },
929 .{ ".rsat", "application/atsc-rsat+xml" },
930 .{ ".rsheet", "application/urc-ressheet+xml" },
931 .{ ".rsm", "model/vnd.gdl" },
932 .{ ".rss", "application/rss+xml" },
933 .{ ".rst", "text/prs.fallenstein.rst" },
57 .{ ".rtf", "application/rtf" },934 .{ ".rtf", "application/rtf" },
935 .{ ".rtx", "text/richtext" },
936 .{ ".rusd", "application/route-usd+xml" },
937 .{ ".rxr", "application/vnd.medicalholodeck.recordxr" },
938 .{ ".s11", "video/vnd.sealed.mpeg1" },
939 .{ ".s14", "video/vnd.sealed.mpeg4" },
940 .{ ".s1a", "application/vnd.sealedmedia.softseal.pdf" },
941 .{ ".s1e", "application/vnd.sealed.xls" },
942 .{ ".s1g", "image/vnd.sealedmedia.softseal.gif" },
943 .{ ".s1h", "application/vnd.sealedmedia.softseal.html" },
944 .{ ".s1j", "image/vnd.sealedmedia.softseal.jpg" },
945 .{ ".s1m", "audio/vnd.sealedmedia.softseal.mpeg" },
946 .{ ".s1n", "image/vnd.sealed.png" },
947 .{ ".s1p", "application/vnd.sealed.ppt" },
948 .{ ".s1q", "video/vnd.sealedmedia.softseal.mov" },
949 .{ ".s1w", "application/vnd.sealed.doc" },
950 .{ ".s3df", "application/vnd.sealed.3df" },
951 .{ ".s3m", "audio/x-s3m" },
952 .{ ".sac", "application/tamp-sequence-adjust-confirm" },
953 .{ ".saf", "application/vnd.yamaha.smaf-audio" },
954 .{ ".sam", "application/vnd.lotus-wordpro" },
955 .{ ".sandboxed", "text/html-sandboxed" },
956 .{ ".sarif", "application/sarif+json" },
957 .{ ".sarif-external-properties", "application/sarif-external-properties+json" },
958 .{ ".sarif-external-properties.json", "application/sarif-external-properties+json" },
959 .{ ".sarif.json", "application/sarif+json" },
960 .{ ".sc", "application/vnd.ibm.secure-container" },
961 .{ ".scd", "application/vnd.scribus" },
962 .{ ".sce", "application/vnd.etsi.asic-e+zip" },
963 .{ ".scim", "application/scim+json" },
964 .{ ".scl", "application/vnd.sycle+xml" },
965 .{ ".scld", "application/vnd.doremir.scorecloud-binary-document" },
966 .{ ".scm", "application/vnd.lotus-screencam" },
967 .{ ".scq", "application/scvp-cv-request" },
968 .{ ".scs", "application/scvp-cv-response" },
969 .{ ".scsf", "application/vnd.sealed.csf" },
970 .{ ".sdf", "application/vnd.Kinar" },
971 .{ ".sdkd", "application/vnd.solent.sdkm+xml" },
972 .{ ".sdkm", "application/vnd.solent.sdkm+xml" },
973 .{ ".sdo", "application/vnd.sealed.doc" },
974 .{ ".sdoc", "application/vnd.sealed.doc" },
975 .{ ".sdp", "application/sdp" },
976 .{ ".see", "application/vnd.seemail" },
977 .{ ".seed", "application/vnd.fdsn.seed" },
978 .{ ".sem", "application/vnd.sealed.eml" },
979 .{ ".sema", "application/vnd.sema" },
980 .{ ".semd", "application/vnd.semd" },
981 .{ ".semf", "application/vnd.semf" },
982 .{ ".seml", "application/vnd.sealed.eml" },
983 .{ ".senml", "application/senml+json" },
984 .{ ".senml-etchc", "application/senml-etch+cbor" },
985 .{ ".senml-etchj", "application/senml-etch+json" },
986 .{ ".senmlc", "application/senml+cbor" },
987 .{ ".senmle", "application/senml-exi" },
988 .{ ".senmlx", "application/senml+xml" },
989 .{ ".sensml", "application/sensml+json" },
990 .{ ".sensmlc", "application/sensml+cbor" },
991 .{ ".sensmle", "application/sensml-exi" },
992 .{ ".sensmlx", "application/sensml+xml" },
993 .{ ".sfc", "application/vnd.nintendo.snes.rom" },
994 .{ ".sfd", "application/vnd.font-fontforge-sfd" },
995 .{ ".sfd-hdstx", "application/vnd.hydrostatix.sof-data" },
996 .{ ".sfs", "application/vnd.spotfire.sfs" },
997 .{ ".sgi", "image/vnd.sealedmedia.softseal.gif" },
998 .{ ".sgif", "image/vnd.sealedmedia.softseal.gif" },
999 .{ ".sgm", "text/SGML" },
1000 .{ ".sgml", "text/SGML" },
58 .{ ".sh", "application/x-sh" },1001 .{ ".sh", "application/x-sh" },
1002 .{ ".shaclc", "text/shaclc" },
1003 .{ ".shar", "application/x-shar" },
1004 .{ ".shc", "text/shaclc" },
1005 .{ ".shex", "text/shex" },
1006 .{ ".shf", "application/shf+xml" },
1007 .{ ".shp", "application/vnd.shp" },
1008 .{ ".shx", "application/vnd.shx" },
1009 .{ ".si", "text/vnd.wap.si" },
1010 .{ ".sic", "application/vnd.wap.sic" },
1011 .{ ".sid", "audio/prs.sid" },
1012 .{ ".sieve", "application/sieve" },
1013 .{ ".sig", "application/pgp-signature" },
1014 .{ ".silo", "model/mesh" },
1015 .{ ".sipa", "application/vnd.smintio.portals.archive" },
1016 .{ ".sis", "application/vnd.symbian.install" },
1017 .{ ".sisx", "x-epoc/x-sisx-app" },
1018 .{ ".sit", "application/x-stuffit" },
1019 .{ ".siv", "application/sieve" },
1020 .{ ".sjp", "image/vnd.sealedmedia.softseal.jpg" },
1021 .{ ".sjpg", "image/vnd.sealedmedia.softseal.jpg" },
1022 .{ ".skd", "application/vnd.koan" },
1023 .{ ".skm", "application/vnd.koan" },
1024 .{ ".skp", "application/vnd.koan" },
1025 .{ ".skt", "application/vnd.koan" },
1026 .{ ".sl", "text/vnd.wap.sl" },
1027 .{ ".sla", "application/vnd.scribus" },
1028 .{ ".slaz", "application/vnd.scribus" },
1029 .{ ".slc", "application/vnd.wap.slc" },
1030 .{ ".sldm", "application/vnd.ms-powerpoint.slide.macroEnabled.12" },
1031 .{ ".sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide" },
1032 .{ ".sls", "application/route-s-tsid+xml" },
1033 .{ ".slt", "application/vnd.epson.salt" },
1034 .{ ".sm", "application/vnd.stepmania.stepchart" },
1035 .{ ".smc", "application/vnd.nintendo.snes.rom" },
1036 .{ ".smh", "application/vnd.sealed.mht" },
1037 .{ ".smht", "application/vnd.sealed.mht" },
1038 .{ ".smi", "application/smil+xml" },
1039 .{ ".smil", "application/smil+xml" },
1040 .{ ".smk", "video/vnd.radgamettools.smacker" },
1041 .{ ".sml", "application/smil+xml" },
1042 .{ ".smo", "video/vnd.sealedmedia.softseal.mov" },
1043 .{ ".smov", "video/vnd.sealedmedia.softseal.mov" },
1044 .{ ".smp", "audio/vnd.sealedmedia.softseal.mpeg" },
1045 .{ ".smp3", "audio/vnd.sealedmedia.softseal.mpeg" },
1046 .{ ".smpg", "video/vnd.sealed.mpeg1" },
1047 .{ ".sms", "application/vnd.3gpp2.sms" },
1048 .{ ".smv", "audio/SMV" },
1049 .{ ".smzip", "application/vnd.stepmania.package" },
1050 .{ ".snd", "audio/basic" },
1051 .{ ".so", "application/octet-stream" },
1052 .{ ".soa", "text/dns" },
1053 .{ ".soc", "application/sgml-open-catalog" },
1054 .{ ".sofa", "audio/sofa" },
1055 .{ ".sos", "text/vnd.sosi" },
1056 .{ ".spd", "application/vnd.sealedmedia.softseal.pdf" },
1057 .{ ".spdf", "application/vnd.sealedmedia.softseal.pdf" },
1058 .{ ".spdx", "text/spdx" },
1059 .{ ".spdx.json", "application/spdx+json" },
1060 .{ ".spf", "application/vnd.yamaha.smaf-phrase" },
1061 .{ ".spl", "application/x-futuresplash" },
1062 .{ ".spn", "image/vnd.sealed.png" },
1063 .{ ".spng", "image/vnd.sealed.png" },
1064 .{ ".spo", "text/vnd.in3d.spot" },
1065 .{ ".spot", "text/vnd.in3d.spot" },
1066 .{ ".spp", "application/scvp-vp-response" },
1067 .{ ".sppt", "application/vnd.sealed.ppt" },
1068 .{ ".spq", "application/scvp-vp-request" },
1069 .{ ".spx", "audio/ogg" },
1070 .{ ".sql", "application/sql" },
1071 .{ ".sqlite", "application/vnd.sqlite3" },
1072 .{ ".sqlite3", "application/vnd.sqlite3" },
1073 .{ ".sr", "application/vnd.sigrok.session" },
1074 .{ ".src", "application/x-wais-source" },
1075 .{ ".sru", "application/sru+xml" },
1076 .{ ".srx", "application/sparql-results+xml" },
1077 .{ ".sse", "application/vnd.kodak-descriptor" },
1078 .{ ".ssf", "application/vnd.epson.ssf" },
1079 .{ ".ssml", "application/ssml+xml" },
1080 .{ ".ssv", "application/vnd.shade-save-file" },
1081 .{ ".ssvc", "application/vnd.crypto-shade-file" },
1082 .{ ".ssw", "video/vnd.sealed.swf" },
1083 .{ ".sswf", "video/vnd.sealed.swf" },
1084 .{ ".st", "application/vnd.sailingtracker.track" },
1085 .{ ".stc", "application/vnd.sun.xml.calc.template" },
1086 .{ ".std", "application/vnd.sun.xml.draw.template" },
1087 .{ ".step", "application/p21" },
1088 .{ ".stf", "application/vnd.wt.stf" },
1089 .{ ".sti", "application/vnd.sun.xml.impress.template" },
1090 .{ ".stif", "application/vnd.sealed.tiff" },
1091 .{ ".stix", "application/stix+json" },
1092 .{ ".stk", "application/hyperstudio" },
1093 .{ ".stl", "model/stl" },
1094 .{ ".stm", "audio/x-stm" },
1095 .{ ".stml", "application/vnd.sealedmedia.softseal.html" },
1096 .{ ".stp", "application/p21" },
1097 .{ ".stpnc", "application/p21" },
1098 .{ ".stpx", "model/step+xml" },
1099 .{ ".stpxz", "model/step-xml+zip" },
1100 .{ ".stpz", "application/p21+zip" },
1101 .{ ".str", "application/vnd.pg.format" },
1102 .{ ".study-inter", "application/vnd.vd-study" },
1103 .{ ".stw", "application/vnd.sun.xml.writer.template" },
1104 .{ ".sub", "text/vnd.dvb.subtitle" },
1105 .{ ".sus", "application/vnd.sus-calendar" },
1106 .{ ".susp", "application/vnd.sus-calendar" },
1107 .{ ".sv4cpio", "application/x-sv4cpio" },
1108 .{ ".sv4crc", "application/x-sv4crc" },
1109 .{ ".svc", "application/vnd.dvb.service" },
59 .{ ".svg", "image/svg+xml" },1110 .{ ".svg", "image/svg+xml" },
1111 .{ ".svgz", "image/svg+xml" },
60 .{ ".swf", "application/x-shockwave-flash" },1112 .{ ".swf", "application/x-shockwave-flash" },
1113 .{ ".swi", "application/vnd.aristanetworks.swi" },
1114 .{ ".swidtag", "application/swid+xml" },
1115 .{ ".sxc", "application/vnd.sun.xml.calc" },
1116 .{ ".sxd", "application/vnd.sun.xml.draw" },
1117 .{ ".sxg", "application/vnd.sun.xml.writer.global" },
1118 .{ ".sxi", "application/vnd.sun.xml.impress" },
1119 .{ ".sxl", "application/vnd.sealed.xls" },
1120 .{ ".sxls", "application/vnd.sealed.xls" },
1121 .{ ".sxm", "application/vnd.sun.xml.math" },
1122 .{ ".sxw", "application/vnd.sun.xml.writer" },
1123 .{ ".sy2", "application/vnd.sybyl.mol2" },
1124 .{ ".syft.json", "application/vnd.syft+json" },
1125 .{ ".t", "text/troff" },
1126 .{ ".t38", "image/t38" },
1127 .{ ".tag", "text/prs.lines.tag" },
1128 .{ ".taglet", "application/vnd.mynfc" },
1129 .{ ".tam", "application/vnd.onepager" },
1130 .{ ".tamp", "application/vnd.onepagertamp" },
1131 .{ ".tamx", "application/vnd.onepagertamx" },
1132 .{ ".tao", "application/vnd.tao.intent-module-archive" },
1133 .{ ".tap", "image/vnd.tencent.tap" },
61 .{ ".tar", "application/x-tar" },1134 .{ ".tar", "application/x-tar" },
1135 .{ ".tat", "application/vnd.onepagertat" },
1136 .{ ".tatp", "application/vnd.onepagertatp" },
1137 .{ ".tatx", "application/vnd.onepagertatx" },
1138 .{ ".tau", "application/tamp-apex-update" },
1139 .{ ".tbz2", "application/vnd.gentoo.xpak" },
1140 .{ ".tcap", "application/vnd.3gpp2.tcap" },
1141 .{ ".tcl", "application/x-tcl" },
1142 .{ ".tcu", "application/tamp-community-update" },
1143 .{ ".td", "application/urc-targetdesc+xml" },
1144 .{ ".teacher", "application/vnd.smart.teacher" },
1145 .{ ".tei", "application/tei+xml" },
1146 .{ ".teiCorpus", "application/tei+xml" },
1147 .{ ".ter", "application/tamp-error" },
1148 .{ ".tex", "application/x-tex" },
1149 .{ ".texi", "application/x-texinfo" },
1150 .{ ".texinfo", "application/x-texinfo" },
1151 .{ ".text", "text/plain" },
1152 .{ ".tfi", "application/thraud+xml" },
1153 .{ ".tfx", "image/tiff-fx" },
1154 .{ ".tga", "image/x-targa" },
1155 .{ ".tgz", "application/gzip" },
1156 .{ ".thmx", "application/vnd.ms-officetheme" },
1157 .{ ".tif", "image/tiff" },
62 .{ ".tiff", "image/tiff" },1158 .{ ".tiff", "image/tiff" },
1159 .{ ".tlclient", "application/vnd.cendio.thinlinc.clientconf" },
1160 .{ ".tm.json", "application/tm+json" },
1161 .{ ".tm.jsonld", "application/tm+json" },
1162 .{ ".tmo", "application/vnd.tmobile-livetv" },
1163 .{ ".tnef", "application/vnd.ms-tnef" },
1164 .{ ".tnf", "application/vnd.ms-tnef" },
1165 .{ ".torrent", "application/x-bittorrent" },
1166 .{ ".tpl", "application/vnd.groove-tool-template" },
1167 .{ ".tpt", "application/vnd.trid.tpt" },
1168 .{ ".tr", "text/troff" },
1169 .{ ".tra", "application/vnd.trueapp" },
1170 .{ ".tree", "application/vnd.rainstor.data" },
1171 .{ ".trig", "application/trig" },
63 .{ ".ts", "video/mp2t" },1172 .{ ".ts", "video/mp2t" },
1173 .{ ".tsa", "application/tamp-sequence-adjust" },
1174 .{ ".tsd", "application/timestamped-data" },
1175 .{ ".tsq", "application/timestamp-query" },
1176 .{ ".tsr", "application/timestamp-reply" },
1177 .{ ".tst", "application/vnd.etsi.timestamp-token" },
1178 .{ ".tsv", "text/tab-separated-values" },
1179 .{ ".ttc", "font/collection" },
64 .{ ".ttf", "font/ttf" },1180 .{ ".ttf", "font/ttf" },
1181 .{ ".ttl", "text/turtle" },
1182 .{ ".ttml", "application/ttml+xml" },
1183 .{ ".tuc", "application/tamp-update-confirm" },
1184 .{ ".tur", "application/tamp-update" },
1185 .{ ".twd", "application/vnd.SimTech-MindMapper" },
1186 .{ ".twds", "application/vnd.SimTech-MindMapper" },
1187 .{ ".txd", "application/vnd.genomatix.tuxedo" },
1188 .{ ".txf", "application/vnd.Mobius.TXF" },
65 .{ ".txt", "text/plain" },1189 .{ ".txt", "text/plain" },
1190 .{ ".u3d", "model/u3d" },
1191 .{ ".u8dsn", "message/global-delivery-status" },
1192 .{ ".u8hdr", "message/global-headers" },
1193 .{ ".u8mdn", "message/global-disposition-notification" },
1194 .{ ".u8msg", "message/global" },
1195 .{ ".udeb", "application/vnd.debian.binary-package" },
1196 .{ ".ufd", "application/vnd.ufdl" },
1197 .{ ".ufdl", "application/vnd.ufdl" },
1198 .{ ".uis", "application/urc-uisocketdesc+xml" },
1199 .{ ".ult", "audio/x-mod" },
1200 .{ ".umj", "application/vnd.umajin" },
1201 .{ ".uni", "audio/x-mod" },
1202 .{ ".unityweb", "application/vnd.unity" },
1203 .{ ".uo", "application/vnd.uoml+xml" },
1204 .{ ".uoml", "application/vnd.uoml+xml" },
1205 .{ ".upa", "application/vnd.hbci" },
1206 .{ ".uri", "text/uri-list" },
1207 .{ ".uric", "text/vnd.si.uricatalogue" },
1208 .{ ".urim", "application/vnd.uri-map" },
1209 .{ ".urimap", "application/vnd.uri-map" },
1210 .{ ".uris", "text/uri-list" },
1211 .{ ".usda", "model/vnd.usda" },
1212 .{ ".usdz", "model/vnd.usdz+zip" },
1213 .{ ".ustar", "application/x-ustar" },
1214 .{ ".utz", "application/vnd.uiq.theme" },
1215 .{ ".uva", "audio/vnd.dece.audio" },
1216 .{ ".uvd", "application/vnd.dece.data" },
1217 .{ ".uvf", "application/vnd.dece.data" },
1218 .{ ".uvg", "image/vnd.dece.graphic" },
1219 .{ ".uvh", "video/vnd.dece.hd" },
1220 .{ ".uvi", "image/vnd.dece.graphic" },
1221 .{ ".uvm", "video/vnd.dece.mobile" },
1222 .{ ".uvp", "video/vnd.dece.pd" },
1223 .{ ".uvs", "video/vnd.dece.sd" },
1224 .{ ".uvt", "application/vnd.dece.ttml+xml" },
1225 .{ ".uvu", "video/vnd.dece.mp4" },
1226 .{ ".uvv", "video/vnd.dece.video" },
1227 .{ ".uvva", "audio/vnd.dece.audio" },
1228 .{ ".uvvd", "application/vnd.dece.data" },
1229 .{ ".uvvf", "application/vnd.dece.data" },
1230 .{ ".uvvg", "image/vnd.dece.graphic" },
1231 .{ ".uvvh", "video/vnd.dece.hd" },
1232 .{ ".uvvi", "image/vnd.dece.graphic" },
1233 .{ ".uvvm", "video/vnd.dece.mobile" },
1234 .{ ".uvvp", "video/vnd.dece.pd" },
1235 .{ ".uvvs", "video/vnd.dece.sd" },
1236 .{ ".uvvt", "application/vnd.dece.ttml+xml" },
1237 .{ ".uvvu", "video/vnd.dece.mp4" },
1238 .{ ".uvvv", "video/vnd.dece.video" },
1239 .{ ".uvvx", "application/vnd.dece.unspecified" },
1240 .{ ".uvvz", "application/vnd.dece.zip" },
1241 .{ ".uvx", "application/vnd.dece.unspecified" },
1242 .{ ".uvz", "application/vnd.dece.zip" },
1243 .{ ".vbk", "audio/vnd.nortel.vbk" },
1244 .{ ".vbox", "application/vnd.previewsystems.box" },
1245 .{ ".vcard", "text/vcard" },
1246 .{ ".vcd", "application/x-cdlink" },
1247 .{ ".vcf", "text/vcard" },
1248 .{ ".vcg", "application/vnd.groove-vcard" },
1249 .{ ".vcj", "application/voucher-cms+json" },
1250 .{ ".vcx", "application/vnd.vcx" },
1251 .{ ".vds", "model/vnd.sap.vds" },
1252 .{ ".vew", "application/vnd.lotus-approach" },
1253 .{ ".vfk", "text/vnd.exchangeable" },
1254 .{ ".vfr", "application/vnd.tml" },
1255 .{ ".viaframe", "application/vnd.tml" },
1256 .{ ".vis", "application/vnd.visionary" },
1257 .{ ".viv", "video/vnd.vivo" },
1258 .{ ".vmt", "application/vnd.valve.source.material" },
1259 .{ ".vpm", "multipart/voice-message" },
1260 .{ ".vrml", "model/vrml" },
1261 .{ ".vsc", "application/vnd.vidsoft.vidconference" },
66 .{ ".vsd", "application/vnd.visio" },1262 .{ ".vsd", "application/vnd.visio" },
1263 .{ ".vsf", "application/vnd.vsf" },
1264 .{ ".vss", "application/vnd.visio" },
1265 .{ ".vst", "application/vnd.visio" },
1266 .{ ".vsw", "application/vnd.visio" },
1267 .{ ".vtf", "image/vnd.valve.source.texture" },
1268 .{ ".vtnstd", "application/vnd.veritone.aion+json" },
1269 .{ ".vtt", "text/vtt" },
1270 .{ ".vtu", "model/vnd.vtu" },
1271 .{ ".vwx", "application/vnd.vectorworks" },
1272 .{ ".vxml", "application/voicexml+xml" },
1273 .{ ".wadl", "application/vnd.sun.wadl+xml" },
1274 .{ ".wafl", "application/vnd.wasmflow.wafl" },
1275 .{ ".wasm", "application/wasm" },
67 .{ ".wav", "audio/wav" },1276 .{ ".wav", "audio/wav" },
1277 .{ ".wax", "audio/x-ms-wax" },
1278 .{ ".wbmp", "image/vnd.wap.wbmp" },
1279 .{ ".wbs", "application/vnd.criticaltools.wbs+xml" },
1280 .{ ".wbxml", "application/vnd.wap.wbxml" },
1281 .{ ".wcm", "application/vnd.ms-works" },
1282 .{ ".wdb", "application/vnd.ms-works" },
68 .{ ".weba", "audio/webm" },1283 .{ ".weba", "audio/webm" },
69 .{ ".webm", "video/webm" },1284 .{ ".webm", "video/webm" },
1285 .{ ".webmanifest", "application/manifest+json" },
70 .{ ".webp", "image/webp" },1286 .{ ".webp", "image/webp" },
1287 .{ ".wg", "application/vnd.pmi.widget" },
1288 .{ ".wgsl", "text/wgsl" },
1289 .{ ".wgt", "application/widget" },
1290 .{ ".wif", "application/watcherinfo+xml" },
1291 .{ ".win", "model/vnd.gdl" },
1292 .{ ".wk1", "application/vnd.lotus-1-2-3" },
1293 .{ ".wk3", "application/vnd.lotus-1-2-3" },
1294 .{ ".wk4", "application/vnd.lotus-1-2-3" },
1295 .{ ".wks", "application/vnd.ms-works" },
1296 .{ ".wlnk", "application/link-format" },
1297 .{ ".wm", "video/x-ms-wm" },
1298 .{ ".wma", "audio/x-ms-wma" },
1299 .{ ".wmc", "application/vnd.wmc" },
1300 .{ ".wmf", "image/wmf" },
1301 .{ ".wml", "text/vnd.wap.wml" },
1302 .{ ".wmlc", "application/vnd.wap.wmlc" },
1303 .{ ".wmls", "text/vnd.wap.wmlscript" },
1304 .{ ".wmlsc", "application/vnd.wap.wmlscriptc" },
1305 .{ ".wmv", "video/x-ms-wmv" },
1306 .{ ".wmx", "video/x-ms-wmx" },
71 .{ ".woff", "font/woff" },1307 .{ ".woff", "font/woff" },
72 .{ ".woff2", "font/woff2" },1308 .{ ".woff2", "font/woff2" },
1309 .{ ".wpd", "application/vnd.wordperfect" },
1310 .{ ".wpl", "application/vnd.ms-wpl" },
1311 .{ ".wps", "application/vnd.ms-works" },
1312 .{ ".wqd", "application/vnd.wqd" },
1313 .{ ".wrl", "model/vrml" },
1314 .{ ".wsc", "application/vnd.wfa.wsc" },
1315 .{ ".wsdl", "application/wsdl+xml" },
1316 .{ ".wspolicy", "application/wspolicy+xml" },
1317 .{ ".wtb", "application/vnd.webturbo" },
1318 .{ ".wv", "application/vnd.wv.csp+wbxml" },
1319 .{ ".wvx", "video/x-ms-wvx" },
1320 .{ ".x3d", "application/vnd.hzn-3d-crossword" },
1321 .{ ".x3db", "model/x3d+xml" },
1322 .{ ".x3dv", "model/x3d-vrml" },
1323 .{ ".x3dvz", "model/x3d-vrml" },
1324 .{ ".x_b", "model/vnd.parasolid.transmit.binary" },
1325 .{ ".x_t", "model/vnd.parasolid.transmit.text" },
1326 .{ ".xar", "application/vnd.xara" },
1327 .{ ".xav", "application/xcap-att+xml" },
1328 .{ ".xbd", "application/vnd.fujixerox.docuworks.binder" },
1329 .{ ".xbm", "image/x-xbitmap" },
1330 .{ ".xca", "application/xcap-caps+xml" },
1331 .{ ".xcs", "application/calendar+xml" },
1332 .{ ".xct", "application/vnd.fujixerox.docuworks.container" },
1333 .{ ".xdd", "application/bacnet-xdd+zip" },
1334 .{ ".xdf", "application/xcap-diff+xml" },
1335 .{ ".xdm", "application/vnd.syncml.dm+xml" },
1336 .{ ".xdp", "application/vnd.adobe.xdp+xml" },
1337 .{ ".xdssc", "application/dssc+xml" },
1338 .{ ".xdw", "application/vnd.fujixerox.docuworks" },
1339 .{ ".xel", "application/xcap-el+xml" },
1340 .{ ".xer", "application/xcap-error+xml" },
1341 .{ ".xfd", "application/vnd.xfdl" },
1342 .{ ".xfdf", "application/xfdf" },
1343 .{ ".xfdl", "application/vnd.xfdl" },
1344 .{ ".xhe", "audio/usac" },
1345 .{ ".xht", "application/xhtml+xml" },
1346 .{ ".xhtm", "application/xhtml+xml" },
73 .{ ".xhtml", "application/xhtml+xml" },1347 .{ ".xhtml", "application/xhtml+xml" },
1348 .{ ".xhvml", "application/xv+xml" },
1349 .{ ".xif", "image/vnd.xiff" },
1350 .{ ".xla", "application/vnd.ms-excel" },
1351 .{ ".xlam", "application/vnd.ms-excel.addin.macroEnabled.12" },
1352 .{ ".xlc", "application/vnd.ms-excel" },
1353 .{ ".xlf", "application/xliff+xml" },
1354 .{ ".xlim", "application/vnd.xmpie.xlim" },
1355 .{ ".xlm", "application/vnd.ms-excel" },
74 .{ ".xls", "application/vnd.ms-excel" },1356 .{ ".xls", "application/vnd.ms-excel" },
1357 .{ ".xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12" },
1358 .{ ".xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12" },
75 .{ ".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" },1359 .{ ".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" },
1360 .{ ".xlt", "application/vnd.ms-excel" },
1361 .{ ".xltm", "application/vnd.ms-excel.template.macroEnabled.12" },
1362 .{ ".xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template" },
1363 .{ ".xlw", "application/vnd.ms-excel" },
76 .{ ".xml", "application/xml" },1364 .{ ".xml", "application/xml" },
1365 .{ ".xmls", "application/dskpp+xml" },
1366 .{ ".xmt_bin", "model/vnd.parasolid.transmit.binary" },
1367 .{ ".xmt_txt", "model/vnd.parasolid.transmit.text" },
1368 .{ ".xns", "application/xcap-ns+xml" },
1369 .{ ".xo", "application/vnd.olpc-sugar" },
1370 .{ ".xodp", "application/vnd.collabio.xodocuments.presentation" },
1371 .{ ".xods", "application/vnd.collabio.xodocuments.spreadsheet" },
1372 .{ ".xodt", "application/vnd.collabio.xodocuments.document" },
1373 .{ ".xop", "application/xop+xml" },
1374 .{ ".xotp", "application/vnd.collabio.xodocuments.presentation-template" },
1375 .{ ".xots", "application/vnd.collabio.xodocuments.spreadsheet-template" },
1376 .{ ".xott", "application/vnd.collabio.xodocuments.document-template" },
1377 .{ ".xpak", "application/vnd.gentoo.xpak" },
1378 .{ ".xpi", "application/x-xpinstall" },
1379 .{ ".xpm", "image/x-xpixmap" },
1380 .{ ".xpr", "application/vnd.is-xpr" },
1381 .{ ".xps", "application/vnd.ms-xpsdocument" },
1382 .{ ".xpw", "application/vnd.intercon.formnet" },
1383 .{ ".xpx", "application/vnd.intercon.formnet" },
1384 .{ ".xsd", "text/xml" },
1385 .{ ".xsf", "application/prs.xsf+xml" },
1386 .{ ".xsl", "application/xslt+xml" },
1387 .{ ".xslt", "application/xslt+xml" },
1388 .{ ".xsm", "application/vnd.syncml+xml" },
1389 .{ ".xspf", "application/x-xspf+xml" },
77 .{ ".xul", "application/vnd.mozilla.xul+xml" },1390 .{ ".xul", "application/vnd.mozilla.xul+xml" },
1391 .{ ".xvm", "application/xv+xml" },
1392 .{ ".xvml", "application/xv+xml" },
1393 .{ ".xwd", "image/x-xwindowdump" },
1394 .{ ".xyz", "chemical/x-xyz" },
1395 .{ ".xyze", "image/vnd.radiance" },
1396 .{ ".xz", "application/x-xz" },
1397 .{ ".yang", "application/yang" },
1398 .{ ".yin", "application/yin+xml" },
1399 .{ ".yme", "application/vnd.yaoweme" },
1400 .{ ".yt", "video/vnd.youtube.yt" },
1401 .{ ".zaz", "application/vnd.zzazz.deck+xml" },
1402 .{ ".zfc", "application/vnd.filmit.zfc" },
1403 .{ ".zfo", "application/vnd.software602.filler.form-xml-zip" },
78 .{ ".zip", "application/zip" },1404 .{ ".zip", "application/zip" },
1405 .{ ".zir", "application/vnd.zul" },
1406 .{ ".zirz", "application/vnd.zul" },
1407 .{ ".zmm", "application/vnd.HandHeld-Entertainment+xml" },
1408 .{ ".zone", "text/dns" },
1409 .{ ".zst", "application/zstd" },
79});1410});
801411
81pub fn typeByExtension(comptime ext: string) ?string {1412pub fn typeByExtension(comptime ext: string) ?string {