-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmime.zig
1414 lines (1411 loc) · 62.7 KB
/
mime.zig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
const std = @import("std");
const string = []const u8;
// Many entries added from https://pagure.io/mailcap/blob/master/f/mime.types
// Last updated as of 9699055a1b4dfb90f7594ee2e8dda705fa56d3b8
const types = std.ComptimeStringMap(string, .{
.{ ".1", "application/x-troff-man" },
.{ ".123", "application/vnd.lotus-1-2-3" },
.{ ".1clr", "application/clr" },
.{ ".1km", "application/vnd.1000minds.decision-model+xml" },
.{ ".2", "application/x-troff-man" },
.{ ".210", "application/p21" },
.{ ".3", "application/x-troff-man" },
.{ ".3dm", "text/vnd.in3d.3dml" },
.{ ".3dml", "text/vnd.in3d.3dml" },
.{ ".3g2", "video/3gpp2" },
.{ ".3gp", "video/3gpp" },
.{ ".3gpp", "video/3gpp" },
.{ ".3gpp2", "video/3gpp2" },
.{ ".3mf", "application/vnd.ms-3mfdocument" },
.{ ".3tz", "application/vnd.maxar.archive.3tz+zip" },
.{ ".4", "application/x-troff-man" },
.{ ".5", "application/x-troff-man" },
.{ ".6", "application/x-troff-man" },
.{ ".669", "audio/x-mod" },
.{ ".7", "application/x-troff-man" },
.{ ".726", "audio/32kadpcm" },
.{ ".7z", "application/x-7z-compressed" },
.{ ".8", "application/x-troff-man" },
.{ ".CQL", "text/cql" },
.{ ".SAR", "application/vnd.sar" },
.{ ".VES", "application/vnd.ves.encrypted" },
.{ ".a", "text/vnd.a" },
.{ ".a2l", "application/A2L" },
.{ ".aa3", "audio/ATRAC3" },
.{ ".aac", "audio/aac" },
.{ ".aal", "audio/ATRAC-ADVANCED-LOSSLESS" },
.{ ".abc", "text/vnd.abc" },
.{ ".abw", "application/x-abiword" },
.{ ".ac", "application/vnd.nokia.n-gage.ac+xml" },
.{ ".ac2", "application/vnd.banana-accounting" },
.{ ".ac3", "audio/ac3" },
.{ ".acc", "application/vnd.americandynamics.acc" },
.{ ".acn", "audio/asc" },
.{ ".acu", "application/vnd.acucobol" },
.{ ".acutc", "application/vnd.acucorp" },
.{ ".adts", "audio/aac" },
.{ ".aep", "application/vnd.audiograph" },
.{ ".afp", "application/vnd.afpc.modca" },
.{ ".age", "application/vnd.age" },
.{ ".ahead", "application/vnd.ahead.space" },
.{ ".ai", "application/postscript" },
.{ ".aif", "audio/x-aiff" },
.{ ".aifc", "audio/x-aiff" },
.{ ".aiff", "audio/x-aiff" },
.{ ".aion", "application/vnd.veritone.aion+json" },
.{ ".ait", "application/vnd.dvb.ait" },
.{ ".ami", "application/vnd.amiga.ami" },
.{ ".aml", "application/AML" },
.{ ".amlx", "application/automationml-amlx+zip" },
.{ ".amr", "audio/AMR" },
.{ ".anx", "application/x-annodex" },
.{ ".apex", "application/vnd.apexlang" },
.{ ".apexland", "application/vnd.apexlang" },
.{ ".apk", "application/vnd.android.package-archive" },
.{ ".apkg", "application/vnd.anki" },
.{ ".apng", "image/vnd.mozilla.apng" },
.{ ".appcache", "text/cache-manifest" },
.{ ".apr", "application/vnd.lotus-approach" },
.{ ".apxml", "application/auth-policy+xml" },
.{ ".arc", "application/x-freearc" },
.{ ".arrow", "application/vnd.apache.arrow.file" },
.{ ".arrows", "application/vnd.apache.arrow.stream" },
.{ ".art", "message/rfc822" },
.{ ".artisan", "application/vnd.artisan+json" },
.{ ".asc", "text/plain" },
.{ ".ascii", "text/vnd.ascii-art" },
.{ ".asf", "application/vnd.ms-asf" },
.{ ".asice", "application/vnd.etsi.asic-e+zip" },
.{ ".asics", "application/vnd.etsi.asic-s+zip" },
.{ ".aso", "application/vnd.accpac.simply.aso" },
.{ ".ass", "audio/aac" },
.{ ".asx", "video/x-ms-asf" },
.{ ".at3", "audio/ATRAC3" },
.{ ".atc", "application/vnd.acucorp" },
.{ ".atf", "application/ATF" },
.{ ".atfx", "application/ATFX" },
.{ ".atom", "application/atom+xml" },
.{ ".atomcat", "application/atomcat+xml" },
.{ ".atomdeleted", "application/atomdeleted+xml" },
.{ ".atomsvc", "application/atomsvc+xml" },
.{ ".atx", "audio/ATRAC-X" },
.{ ".atxml", "application/ATXML" },
.{ ".au", "audio/basic" },
.{ ".auc", "application/tamp-apex-update-confirm" },
.{ ".avci", "image/avci" },
.{ ".avcs", "image/avcs" },
.{ ".avi", "video/x-msvideo" },
.{ ".avif", "image/avif" },
.{ ".awb", "audio/AMR-WB" },
.{ ".axa", "audio/x-annodex" },
.{ ".axdl", "application/vnd.apexlang" },
.{ ".axv", "video/x-annodex" },
.{ ".azf", "application/vnd.airzip.filesecure.azf" },
.{ ".azs", "application/vnd.airzip.filesecure.azs" },
.{ ".azv", "image/vnd.airzip.accelerator.azv" },
.{ ".azw", "application/vnd.amazon.ebook" },
.{ ".azw3", "application/vnd.amazon.mobi8-ebook" },
.{ ".b16", "image/vnd.pco.b16" },
.{ ".bar", "application/vnd.qualcomm.brew-app-res" },
.{ ".bary", "model/vnd.bary" },
.{ ".bcpio", "application/x-bcpio" },
.{ ".bdm", "application/vnd.syncml.dm+wbxml" },
.{ ".bed", "application/vnd.realvnc.bed" },
.{ ".bh2", "application/vnd.fujitsu.oasysprs" },
.{ ".bik", "video/vnd.radgamettools.bink" },
.{ ".bin", "application/octet-stream" },
.{ ".bk2", "video/vnd.radgamettools.bink" },
.{ ".bkm", "application/vnd.nervana" },
.{ ".bmed", "multipart/vnd.bint.med-plus" },
.{ ".bmi", "application/vnd.bmi" },
.{ ".bmml", "application/vnd.balsamiq.bmml+xml" },
.{ ".bmp", "image/bmp" },
.{ ".bmpr", "application/vnd.balsamiq.bmpr" },
.{ ".box", "application/vnd.previewsystems.box" },
.{ ".bpd", "application/vnd.hbci" },
.{ ".bsp", "model/vnd.valve.source.compiled-map" },
.{ ".btf", "image/prs.btif" },
.{ ".btif", "image/prs.btif" },
.{ ".bz", "application/x-bzip" },
.{ ".bz2", "application/x-bzip2" },
.{ ".c", "text/plain" },
.{ ".c11amc", "application/vnd.cluetrust.cartomobile-config" },
.{ ".c11amz", "application/vnd.cluetrust.cartomobile-config-pkg" },
.{ ".c3ex", "application/cccex" },
.{ ".c4d", "application/vnd.clonk.c4group" },
.{ ".c4f", "application/vnd.clonk.c4group" },
.{ ".c4g", "application/vnd.clonk.c4group" },
.{ ".c4p", "application/vnd.clonk.c4group" },
.{ ".c4u", "application/vnd.clonk.c4group" },
.{ ".c9r", "application/vnd.cryptomator.encrypted" },
.{ ".c9s", "application/vnd.cryptomator.encrypted" },
.{ ".cab", "application/vnd.ms-cab-compressed" },
.{ ".cap", "application/vnd.tcpdump.pcap" },
.{ ".car", "application/vnd.ipld.car" },
.{ ".carjson", "application/vnd.eu.kasparian.car+json" },
.{ ".cbor", "application/cbor" },
.{ ".cbr", "application/vnd.comicbook-rar" },
.{ ".cbz", "application/vnd.comicbook+zip" },
.{ ".cc", "text/plain" },
.{ ".ccc", "text/vnd.net2phone.commcenter.command" },
.{ ".ccmp", "application/ccmp+xml" },
.{ ".ccxml", "application/ccxml+xml" },
.{ ".cda", "application/x-cdf" },
.{ ".cdbcmsg", "application/vnd.contact.cmsg" },
.{ ".cdf", "application/x-netcdf" },
.{ ".cdfx", "application/CDFX+XML" },
.{ ".cdkey", "application/vnd.mediastation.cdkey" },
.{ ".cdmia", "application/cdmi-capability" },
.{ ".cdmic", "application/cdmi-container" },
.{ ".cdmid", "application/cdmi-domain" },
.{ ".cdmio", "application/cdmi-object" },
.{ ".cdmiq", "application/cdmi-queue" },
.{ ".cdxml", "application/vnd.chemdraw+xml" },
.{ ".cdy", "application/vnd.cinderella" },
.{ ".cea", "application/CEA" },
.{ ".cellml", "application/cellml+xml" },
.{ ".cer", "application/pkix-cert" },
.{ ".cgm", "image/cgm" },
.{ ".chm", "application/vnd.ms-htmlhelp" },
.{ ".chrt", "application/vnd.kde.kchart" },
.{ ".cif", "application/vnd.multiad.creator.cif" },
.{ ".cii", "application/vnd.anser-web-certificate-issue-initiation" },
.{ ".cil", "application/vnd.ms-artgalry" },
.{ ".cjs", "application/javascript" },
.{ ".cl", "application/simple-filter+xml" },
.{ ".cla", "application/vnd.claymore" },
.{ ".class", "application/octet-stream" },
.{ ".cld", "model/vnd.cld" },
.{ ".clkk", "application/vnd.crick.clicker.keyboard" },
.{ ".clkp", "application/vnd.crick.clicker.palette" },
.{ ".clkt", "application/vnd.crick.clicker.template" },
.{ ".clkw", "application/vnd.crick.clicker.wordbank" },
.{ ".clkx", "application/vnd.crick.clicker" },
.{ ".clue", "application/clue_info+xml" },
.{ ".cmc", "application/vnd.cosmocaller" },
.{ ".cml", "application/cellml+xml" },
.{ ".cmp", "application/vnd.yellowriver-custom-menu" },
.{ ".cmsc", "application/cms" },
.{ ".cnd", "text/jcr-cnd" },
.{ ".coffee", "application/vnd.coffeescript" },
.{ ".conf", "text/plain" },
.{ ".copyright", "text/vnd.debian.copyright" },
.{ ".coswid", "application/swid+cbor" },
.{ ".cpio", "application/x-cpio" },
.{ ".cpkg", "application/vnd.xmpie.cpkg" },
.{ ".cpl", "application/cpl+xml" },
.{ ".cpt", "application/mac-compactpro" },
.{ ".crl", "application/pkix-crl" },
.{ ".crtr", "application/vnd.multiad.creator" },
.{ ".crx", "application/x-chrome-extension" },
.{ ".cryptomator", "application/vnd.cryptomator.vault" },
.{ ".cryptonote", "application/vnd.rig.cryptonote" },
.{ ".csh", "application/x-csh" },
.{ ".csl", "application/vnd.citationstyles.style+xml" },
.{ ".csp", "application/vnd.commonspace" },
.{ ".csrattrs", "application/csrattrs" },
.{ ".css", "text/css" },
.{ ".cst", "application/vnd.commonspace" },
.{ ".csv", "text/csv" },
.{ ".csvs", "text/csv-schema" },
.{ ".cuc", "application/tamp-community-update-confirm" },
.{ ".curl", "application/vnd.curl" },
.{ ".cw", "application/prs.cww" },
.{ ".cwl", "application/cwl" },
.{ ".cwl.json", "application/cwl+json" },
.{ ".cww", "application/prs.cww" },
.{ ".cxx", "text/plain" },
.{ ".dae", "model/vnd.collada+xml" },
.{ ".daf", "application/vnd.Mobius.DAF" },
.{ ".dart", "application/vnd.dart" },
.{ ".dataless", "application/vnd.fdsn.seed" },
.{ ".davmount", "application/davmount+xml" },
.{ ".dbf", "application/vnd.dbf" },
.{ ".dcd", "application/DCD" },
.{ ".dcf", "application/vnd.oma.drm.content" },
.{ ".dcm", "application/dicom" },
.{ ".dcr", "application/x-director" },
.{ ".dd", "application/vnd.oma.dd+xml" },
.{ ".dd2", "application/vnd.oma.dd2+xml" },
.{ ".ddd", "application/vnd.fujixerox.ddd" },
.{ ".ddf", "application/vnd.syncml.dmddf+xml" },
.{ ".deb", "application/vnd.debian.binary-package" },
.{ ".dfac", "application/vnd.dreamfactory" },
.{ ".dib", "image/bmp" },
.{ ".dii", "application/DII" },
.{ ".dim", "application/vnd.fastcopy-disk-image" },
.{ ".dir", "application/x-director" },
.{ ".dis", "application/vnd.Mobius.DIS" },
.{ ".dist", "application/vnd.apple.installer+xml" },
.{ ".distz", "application/vnd.apple.installer+xml" },
.{ ".dit", "application/DIT" },
.{ ".dive", "application/vnd.patentdive" },
.{ ".djv", "image/vnd.djvu" },
.{ ".djvu", "image/vnd.djvu" },
.{ ".dl", "application/vnd.datalog" },
.{ ".dll", "application/octet-stream" },
.{ ".dls", "audio/dls" },
.{ ".dm", "application/vnd.oma.drm.message" },
.{ ".dmp", "application/vnd.tcpdump.pcap" },
.{ ".dms", "text/vnd.DMClientScript" },
.{ ".dna", "application/vnd.dna" },
.{ ".doc", "application/msword" },
.{ ".docjson", "application/vnd.document+json" },
.{ ".docm", "application/vnd.ms-word.document.macroEnabled.12" },
.{ ".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" },
.{ ".dor", "model/vnd.gdl" },
.{ ".dot", "text/vnd.graphviz" },
.{ ".dotm", "application/vnd.ms-word.template.macroEnabled.12" },
.{ ".dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template" },
.{ ".dp", "application/vnd.osgi.dp" },
.{ ".dpg", "application/vnd.dpgraph" },
.{ ".dpgraph", "application/vnd.dpgraph" },
.{ ".dpkg", "application/vnd.xmpie.dpkg" },
.{ ".dpx", "image/dpx" },
.{ ".dr", "application/vnd.oma.drm.rights+xml" },
.{ ".drc", "application/vnd.oma.drm.rights+wbxml" },
.{ ".drle", "image/dicom-rle" },
.{ ".dsc", "text/prs.lines.tag" },
.{ ".dsm", "application/vnd.desmume.movie" },
.{ ".dssc", "application/dssc+der" },
.{ ".dtd", "application/xml-dtd" },
.{ ".dts", "audio/vnd.dts" },
.{ ".dtshd", "audio/vnd.dts.hd" },
.{ ".dvb", "video/vnd.dvb.file" },
.{ ".dvc", "application/dvcs" },
.{ ".dvi", "application/x-dvi" },
.{ ".dwd", "application/atsc-dwd+xml" },
.{ ".dwf", "model/vnd.dwf" },
.{ ".dwg", "image/vnd.dwg" },
.{ ".dxf", "image/vnd.dxf" },
.{ ".dxp", "application/vnd.spotfire.dxp" },
.{ ".dxr", "application/x-director" },
.{ ".dzr", "application/vnd.dzr" },
.{ ".ebuild", "application/vnd.gentoo.ebuild" },
.{ ".ecelp4800", "audio/vnd.nuera.ecelp4800" },
.{ ".ecelp7470", "audio/vnd.nuera.ecelp7470" },
.{ ".ecelp9600", "audio/vnd.nuera.ecelp9600" },
.{ ".ecig", "application/vnd.evolv.ecig.settings" },
.{ ".ecigprofile", "application/vnd.evolv.ecig.profile" },
.{ ".ecigtheme", "application/vnd.evolv.ecig.theme" },
.{ ".eclass", "application/vnd.gentoo.eclass" },
.{ ".edm", "application/vnd.novadigm.EDM" },
.{ ".edx", "application/vnd.novadigm.EDX" },
.{ ".efi", "application/efi" },
.{ ".efif", "application/vnd.picsel" },
.{ ".ei6", "application/vnd.pg.osasli" },
.{ ".el", "text/plain" },
.{ ".eln", "application/vnd.eln+zip" },
.{ ".emf", "image/emf" },
.{ ".eml", "message/rfc822" },
.{ ".emm", "application/vnd.ibm.electronic-media" },
.{ ".emma", "application/emma+xml" },
.{ ".emotionml", "application/emotionml+xml" },
.{ ".ent", "text/xml-external-parsed-entity" },
.{ ".entity", "application/vnd.nervana" },
.{ ".enw", "audio/EVRCNW" },
.{ ".eol", "audio/vnd.digital-winds" },
.{ ".eot", "application/vnd.ms-fontobject" },
.{ ".ep", "application/vnd.bluetooth.ep.oob" },
.{ ".eps", "application/postscript" },
.{ ".epub", "application/epub+zip" },
.{ ".es", "application/ecmascript" },
.{ ".es3", "application/vnd.eszigno3+xml" },
.{ ".esa", "application/vnd.osgi.subsystem" },
.{ ".esf", "application/vnd.epson.esf" },
.{ ".espass", "application/vnd.espass-espass+zip" },
.{ ".et3", "application/vnd.eszigno3+xml" },
.{ ".etx", "text/x-setext" },
.{ ".evb", "audio/EVRCB" },
.{ ".evc", "audio/EVRC" },
.{ ".evw", "audio/EVRCWB" },
.{ ".exe", "application/octet-stream" },
.{ ".exi", "application/exi" },
.{ ".exp", "application/express" },
.{ ".exr", "image/aces" },
.{ ".ext", "application/vnd.novadigm.EXT" },
.{ ".ez", "application/andrew-inset" },
.{ ".ez2", "application/vnd.ezpix-album" },
.{ ".ez3", "application/vnd.ezpix-package" },
.{ ".f90", "text/plain" },
.{ ".fbs", "image/vnd.fastbidsheet" },
.{ ".fcdt", "application/vnd.adobe.formscentral.fcdt" },
.{ ".fcs", "application/vnd.isac.fcs" },
.{ ".fdf", "application/vnd.fdf" },
.{ ".fdt", "application/fdt+xml" },
.{ ".fe_launch", "application/vnd.denovo.fcselayout-link" },
.{ ".fg5", "application/vnd.fujitsu.oasysgp" },
.{ ".finf", "application/fastinfoset" },
.{ ".fit", "image/fits" },
.{ ".fits", "image/fits" },
.{ ".fla", "application/vnd.dtg.local.flash" },
.{ ".flac", "audio/x-flac" },
.{ ".flb", "application/vnd.ficlab.flb+zip" },
.{ ".flo", "application/vnd.micrografx.flo" },
.{ ".flt", "text/vnd.ficlab.flt" },
.{ ".flv", "video/x-flv" },
.{ ".flw", "application/vnd.kde.kivio" },
.{ ".flx", "text/vnd.fmi.flexstor" },
.{ ".fly", "text/vnd.fly" },
.{ ".fm", "application/vnd.framemaker" },
.{ ".fnc", "application/vnd.frogans.fnc" },
.{ ".fo", "application/vnd.software602.filler.form+xml" },
.{ ".fpx", "image/vnd.fpx" },
.{ ".frm", "application/vnd.ufdl" },
.{ ".fsc", "application/vnd.fsc.weblaunch" },
.{ ".fst", "image/vnd.fst" },
.{ ".ftc", "application/vnd.fluxtime.clip" },
.{ ".fti", "application/vnd.anser-web-funds-transfer-initiation" },
.{ ".fts", "image/fits" },
.{ ".fvt", "video/vnd.fvt" },
.{ ".fxm", "video/x-javafx" },
.{ ".fxp", "application/vnd.adobe.fxp" },
.{ ".fxpl", "application/vnd.adobe.fxp" },
.{ ".fzs", "application/vnd.fuzzysheet" },
.{ ".g2w", "application/vnd.geoplan" },
.{ ".g3", "application/vnd.geocube+xml" },
.{ ".g3w", "application/vnd.geospace" },
.{ ".gac", "application/vnd.groove-account" },
.{ ".gbr", "application/rpki-ghostbusters" },
.{ ".gdl", "model/vnd.gdl" },
.{ ".gdz", "application/vnd.familysearch.gedcom+zip" },
.{ ".ged", "text/vnd.familysearch.gedcom" },
.{ ".genozip", "application/vnd.genozip" },
.{ ".geo", "application/vnd.dynageo" },
.{ ".geojson", "application/geo+json" },
.{ ".gex", "application/vnd.geometry-explorer" },
.{ ".gff3", "text/gff3" },
.{ ".ggb", "application/vnd.geogebra.file" },
.{ ".ggs", "application/vnd.geogebra.slides" },
.{ ".ggt", "application/vnd.geogebra.tool" },
.{ ".ghf", "application/vnd.groove-help" },
.{ ".gif", "image/gif" },
.{ ".gim", "application/vnd.groove-identity-message" },
.{ ".glb", "model/gltf-binary" },
.{ ".glbin", "application/gltf-buffer" },
.{ ".glbuf", "application/gltf-buffer" },
.{ ".gltf", "model/gltf+json" },
.{ ".gml", "application/gml+xml" },
.{ ".gmx", "application/vnd.gmx" },
.{ ".gph", "application/vnd.FloGraphIt" },
.{ ".gpkg", "application/geopackage+sqlite3" },
.{ ".gpkg.tar", "application/vnd.gentoo.gpkg" },
.{ ".gqf", "application/vnd.grafeq" },
.{ ".gqs", "application/vnd.grafeq" },
.{ ".gram", "application/srgs" },
.{ ".gre", "application/vnd.geometry-explorer" },
.{ ".grv", "application/vnd.groove-injector" },
.{ ".grxml", "application/srgs+xml" },
.{ ".gsheet", "application/urc-grpsheet+xml" },
.{ ".gsm", "model/vnd.gdl" },
.{ ".gtar", "application/x-gtar" },
.{ ".gtm", "application/vnd.groove-tool-message" },
.{ ".gtw", "model/vnd.gtw" },
.{ ".gv", "text/vnd.graphviz" },
.{ ".gxt", "application/vnd.geonext" },
.{ ".gz", "application/gzip" },
.{ ".h", "text/plain" },
.{ ".h5", "application/mipc" },
.{ ".hal", "application/vnd.hal+xml" },
.{ ".hans", "text/vnd.hans" },
.{ ".hbc", "application/vnd.hbci" },
.{ ".hbci", "application/vnd.hbci" },
.{ ".hdf", "application/x-hdf" },
.{ ".hdr", "image/vnd.radiance" },
.{ ".hdt", "application/vnd.hdt" },
.{ ".heic", "image/heic" },
.{ ".heics", "image/heic-sequence" },
.{ ".heif", "image/heif" },
.{ ".heifs", "image/heif-sequence" },
.{ ".hej2", "image/hej2k" },
.{ ".held", "application/atsc-held+xml" },
.{ ".hgl", "text/vnd.hgl" },
.{ ".hh", "text/plain" },
.{ ".hif", "image/avif" },
.{ ".hpgl", "application/vnd.hp-HPGL" },
.{ ".hpi", "application/vnd.hp-hpid" },
.{ ".hpid", "application/vnd.hp-hpid" },
.{ ".hps", "application/vnd.hp-hps" },
.{ ".hpub", "application/prs.hpub+zip" },
.{ ".hqx", "application/mac-binhex40" },
.{ ".hsj2", "image/hsj2" },
.{ ".hsl", "application/vnd.hsl" },
.{ ".htke", "application/vnd.kenameaapp" },
.{ ".htm", "text/html" },
.{ ".html", "text/html" },
.{ ".hvd", "application/vnd.yamaha.hv-dic" },
.{ ".hvp", "application/vnd.yamaha.hv-voice" },
.{ ".hvs", "application/vnd.yamaha.hv-script" },
.{ ".hxx", "text/plain" },
.{ ".i2g", "application/vnd.intergeo" },
.{ ".ic0", "application/vnd.commerce-battelle" },
.{ ".ic1", "application/vnd.commerce-battelle" },
.{ ".ic2", "application/vnd.commerce-battelle" },
.{ ".ic3", "application/vnd.commerce-battelle" },
.{ ".ic4", "application/vnd.commerce-battelle" },
.{ ".ic5", "application/vnd.commerce-battelle" },
.{ ".ic6", "application/vnd.commerce-battelle" },
.{ ".ic7", "application/vnd.commerce-battelle" },
.{ ".ic8", "application/vnd.commerce-battelle" },
.{ ".ica", "application/vnd.commerce-battelle" },
.{ ".icc", "application/vnd.iccprofile" },
.{ ".icd", "application/vnd.commerce-battelle" },
.{ ".ice", "x-conference/x-cooltalk" },
.{ ".icf", "application/vnd.commerce-battelle" },
.{ ".icm", "application/vnd.iccprofile" },
.{ ".ico", "image/vnd.microsoft.icon" },
.{ ".ics", "text/calendar" },
.{ ".ief", "image/ief" },
.{ ".ifb", "text/calendar" },
.{ ".ifc", "application/p21" },
.{ ".ifm", "application/vnd.shana.informed.formdata" },
.{ ".iges", "model/iges" },
.{ ".igl", "application/vnd.igloader" },
.{ ".igm", "application/vnd.insors.igm" },
.{ ".ign", "application/vnd.coreos.ignition+json" },
.{ ".ignition", "application/vnd.coreos.ignition+json" },
.{ ".igs", "model/iges" },
.{ ".igx", "application/vnd.micrografx.igx" },
.{ ".iif", "application/vnd.shana.informed.interchange" },
.{ ".imf", "application/vnd.imagemeter.folder+zip" },
.{ ".img", "application/octet-stream" },
.{ ".imgcal", "application/vnd.3lightssoftware.imagescal" },
.{ ".imi", "application/vnd.imagemeter.image+zip" },
.{ ".imp", "application/vnd.accpac.simply.imp" },
.{ ".ims", "application/vnd.ms-ims" },
.{ ".imscc", "application/vnd.ims.imsccv1p1" },
.{ ".ink", "application/inkml+xml" },
.{ ".inkml", "application/inkml+xml" },
.{ ".iota", "application/vnd.astraea-software.iota" },
.{ ".ipfix", "application/ipfix" },
.{ ".ipk", "application/vnd.shana.informed.package" },
.{ ".irm", "application/vnd.ibm.rights-management" },
.{ ".irp", "application/vnd.irepository.package+xml" },
.{ ".ism", "model/vnd.gdl" },
.{ ".iso", "application/octet-stream" },
.{ ".istc", "application/vnd.veryant.thin" },
.{ ".isws", "application/vnd.veryant.thin" },
.{ ".itp", "application/vnd.shana.informed.formtemplate" },
.{ ".its", "application/its+xml" },
.{ ".ivp", "application/vnd.immervision-ivp" },
.{ ".ivu", "application/vnd.immervision-ivu" },
.{ ".jad", "text/vnd.sun.j2me.app-descriptor" },
.{ ".jam", "application/vnd.jam" },
.{ ".jar", "application/java-archive" },
.{ ".jfif", "image/jpeg" },
.{ ".jhc", "image/jphc" },
.{ ".jisp", "application/vnd.jisp" },
.{ ".jls", "image/jls" },
.{ ".jlt", "application/vnd.hp-jlyt" },
.{ ".jnlp", "application/x-java-jnlp-file" },
.{ ".joda", "application/vnd.joost.joda-archive" },
.{ ".jp2", "image/jp2" },
.{ ".jpe", "image/jpeg" },
.{ ".jpeg", "image/jpeg" },
.{ ".jpf", "image/jpx" },
.{ ".jpg", "image/jpeg" },
.{ ".jpg2", "image/jp2" },
.{ ".jpgm", "image/jpm" },
.{ ".jph", "image/jph" },
.{ ".jpm", "image/jpm" },
.{ ".jpx", "image/jpx" },
.{ ".jrd", "application/jrd+json" },
.{ ".js", "application/javascript" },
.{ ".json", "application/json" },
.{ ".json-patch", "application/json-patch+json" },
.{ ".jsonld", "application/ld+json" },
.{ ".jsontd", "application/td+json" },
.{ ".jsontm", "application/tm+json" },
.{ ".jt", "model/JT" },
.{ ".jtd", "text/vnd.esmertec.theme-descriptor" },
.{ ".jxl", "image/jxl" },
.{ ".jxr", "image/jxr" },
.{ ".jxra", "image/jxrA" },
.{ ".jxrs", "image/jxrS" },
.{ ".jxs", "image/jxs" },
.{ ".jxsc", "image/jxsc" },
.{ ".jxsi", "image/jxsi" },
.{ ".jxss", "image/jxss" },
.{ ".kar", "audio/midi" },
.{ ".karbon", "application/vnd.kde.karbon" },
.{ ".kcm", "application/vnd.nervana" },
.{ ".keynote", "application/vnd.apple.keynote" },
.{ ".kfo", "application/vnd.kde.kformula" },
.{ ".kia", "application/vnd.kidspiration" },
.{ ".kil", "application/x-killustrator" },
.{ ".kml", "application/vnd.google-earth.kml+xml" },
.{ ".kmz", "application/vnd.google-earth.kmz" },
.{ ".kne", "application/vnd.Kinar" },
.{ ".knp", "application/vnd.Kinar" },
.{ ".kom", "application/vnd.hbci" },
.{ ".kon", "application/vnd.kde.kontour" },
.{ ".koz", "audio/vnd.audiokoz" },
.{ ".kpr", "application/vnd.kde.kpresenter" },
.{ ".kpt", "application/vnd.kde.kpresenter" },
.{ ".ksp", "application/vnd.kde.kspread" },
.{ ".ktr", "application/vnd.kahootz" },
.{ ".ktx", "image/ktx" },
.{ ".ktx2", "image/ktx2" },
.{ ".ktz", "application/vnd.kahootz" },
.{ ".kwd", "application/vnd.kde.kword" },
.{ ".kwt", "application/vnd.kde.kword" },
.{ ".l16", "audio/L16" },
.{ ".las", "application/vnd.las" },
.{ ".lasjson", "application/vnd.las.las+json" },
.{ ".lasxml", "application/vnd.las.las+xml" },
.{ ".latex", "application/x-latex" },
.{ ".lbc", "audio/iLBC" },
.{ ".lbd", "application/vnd.llamagraphics.life-balance.desktop" },
.{ ".lbe", "application/vnd.llamagraphics.life-balance.exchange+xml" },
.{ ".lca", "application/vnd.logipipe.circuit+zip" },
.{ ".lcs", "application/vnd.logipipe.circuit+zip" },
.{ ".le", "application/vnd.bluetooth.le.oob" },
.{ ".les", "application/vnd.hhe.lesson-player" },
.{ ".lgr", "application/lgr+xml" },
.{ ".lha", "application/octet-stream" },
.{ ".lhzd", "application/vnd.belightsoft.lhzd+zip" },
.{ ".lhzl", "application/vnd.belightsoft.lhzl+zip" },
.{ ".line", "application/vnd.nebumind.line" },
.{ ".link66", "application/vnd.route66.link66+xml" },
.{ ".list3820", "application/vnd.afpc.modca" },
.{ ".listafp", "application/vnd.afpc.modca" },
.{ ".lmp", "model/vnd.gdl" },
.{ ".loas", "audio/usac" },
.{ ".log", "text/plain" },
.{ ".loom", "application/vnd.loom" },
.{ ".lostsyncxml", "application/lostsync+xml" },
.{ ".lostxml", "application/lost+xml" },
.{ ".lpf", "application/lpf+zip" },
.{ ".lrm", "application/vnd.ms-lrm" },
.{ ".ltf", "application/vnd.frogans.ltf" },
.{ ".lvp", "audio/vnd.lucent.voice" },
.{ ".lwp", "application/vnd.lotus-wordpro" },
.{ ".lxf", "application/LXF" },
.{ ".lzh", "application/octet-stream" },
.{ ".m", "application/vnd.wolfram.mathematica.package" },
.{ ".m15", "audio/x-mod" },
.{ ".m1v", "video/mpeg" },
.{ ".m21", "application/mp21" },
.{ ".m2v", "video/mpeg" },
.{ ".m3u", "audio/x-mpegurl" },
.{ ".m3u8", "application/vnd.apple.mpegurl" },
.{ ".m4a", "audio/mp4" },
.{ ".m4s", "video/iso.segment" },
.{ ".m4u", "video/vnd.mpegurl" },
.{ ".m4v", "video/mp4" },
.{ ".ma", "application/mathematica" },
.{ ".mads", "application/mads+xml" },
.{ ".maei", "application/mmt-aei+xml" },
.{ ".mag", "application/vnd.ecowin.chart" },
.{ ".mail", "message/rfc822" },
.{ ".man", "application/x-troff-man" },
.{ ".manifest", "text/cache-manifest" },
.{ ".markdown", "text/markdown" },
.{ ".mb", "application/mathematica" },
.{ ".mbk", "application/vnd.Mobius.MBK" },
.{ ".mbox", "application/mbox" },
.{ ".mbsdf", "application/vnd.mdl-mbsdf" },
.{ ".mc1", "application/vnd.medcalcdata" },
.{ ".mc2", "text/vnd.senx.warpscript" },
.{ ".mcd", "application/vnd.mcd" },
.{ ".md", "text/markdown" },
.{ ".mdc", "application/vnd.marlin.drm.mdcf" },
.{ ".mdi", "image/vnd.ms-modi" },
.{ ".mdl", "application/vnd.mdl" },
.{ ".me", "application/x-troff-me" },
.{ ".med", "audio/x-mod" },
.{ ".mesh", "model/mesh" },
.{ ".meta4", "application/metalink4+xml" },
.{ ".metalink", "application/metalink+xml" },
.{ ".mets", "application/mets+xml" },
.{ ".mf4", "application/MF4" },
.{ ".mfm", "application/vnd.mfmp" },
.{ ".mft", "application/rpki-manifest" },
.{ ".mgp", "application/vnd.osgeo.mapguide.package" },
.{ ".mgz", "application/vnd.proteus.magazine" },
.{ ".mhas", "audio/mhas" },
.{ ".mid", "audio/midi" },
.{ ".midi", "audio/midi" },
.{ ".mif", "application/vnd.mif" },
.{ ".miz", "text/mizar" },
.{ ".mj2", "video/mj2" },
.{ ".mjp2", "video/mj2" },
.{ ".mjs", "application/javascript" },
.{ ".mk3d", "video/x-matroska-3d" },
.{ ".mka", "audio/x-matroska" },
.{ ".mkv", "video/x-matroska" },
.{ ".ml2", "application/vnd.sybyl.mol2" },
.{ ".mlp", "audio/vnd.dolby.mlp" },
.{ ".mmd", "application/vnd.chipnuts.karaoke-mmd" },
.{ ".mmdb", "application/vnd.maxmind.maxmind-db" },
.{ ".mmf", "application/vnd.smaf" },
.{ ".mml", "application/mathml+xml" },
.{ ".mmr", "image/vnd.fujixerox.edmics-mmr" },
.{ ".mms", "application/vnd.wap.mms-message" },
.{ ".mod", "audio/x-mod" },
.{ ".model-inter", "application/vnd.vd-study" },
.{ ".modl", "application/vnd.modl" },
.{ ".mods", "application/mods+xml" },
.{ ".mol2", "application/vnd.sybyl.mol2" },
.{ ".moml", "model/vnd.moml+xml" },
.{ ".mov", "video/quicktime" },
.{ ".movie", "video/x-sgi-movie" },
.{ ".mp1", "audio/mpeg" },
.{ ".mp2", "audio/mpeg" },
.{ ".mp21", "application/mp21" },
.{ ".mp3", "audio/mpeg" },
.{ ".mp4", "video/mp4" },
.{ ".mpc", "application/vnd.mophun.certificate" },
.{ ".mpd", "application/dash+xml" },
.{ ".mpdd", "application/dashdelta" },
.{ ".mpe", "video/mpeg" },
.{ ".mpeg", "video/mpeg" },
.{ ".mpf", "text/vnd.ms-mediapackage" },
.{ ".mpg", "video/mpeg" },
.{ ".mpg4", "video/mp4" },
.{ ".mpga", "audio/mpeg" },
.{ ".mpkg", "application/vnd.apple.installer+xml" },
.{ ".mpm", "application/vnd.blueice.multipass" },
.{ ".mpn", "application/vnd.mophun.application" },
.{ ".mpp", "application/vnd.ms-project" },
.{ ".mpt", "application/vnd.ms-project" },
.{ ".mpw", "application/vnd.exstream-empower+zip" },
.{ ".mpy", "application/vnd.ibm.MiniPay" },
.{ ".mqy", "application/vnd.Mobius.MQY" },
.{ ".mrc", "application/marc" },
.{ ".mrcx", "application/marcxml+xml" },
.{ ".ms", "application/x-troff-ms" },
.{ ".msa", "application/vnd.msa-disk-image" },
.{ ".msd", "application/vnd.fdsn.mseed" },
.{ ".mseed", "application/vnd.fdsn.mseed" },
.{ ".mseq", "application/vnd.mseq" },
.{ ".msf", "application/vnd.epson.msf" },
.{ ".msh", "model/mesh" },
.{ ".msl", "application/vnd.Mobius.MSL" },
.{ ".msm", "model/vnd.gdl" },
.{ ".msty", "application/vnd.muvee.style" },
.{ ".mtl", "model/mtl" },
.{ ".mtm", "audio/x-mod" },
.{ ".mts", "model/vnd.mts" },
.{ ".multitrack", "audio/vnd.presonus.multitrack" },
.{ ".mus", "application/vnd.musician" },
.{ ".musd", "application/mmt-usd+xml" },
.{ ".mvt", "application/vnd.mapbox-vector-tile" },
.{ ".mwc", "application/vnd.dpgraph" },
.{ ".mwf", "application/vnd.MFER" },
.{ ".mxf", "application/mxf" },
.{ ".mxi", "application/vnd.vd-study" },
.{ ".mxl", "application/vnd.recordare.musicxml" },
.{ ".mxmf", "audio/mobile-xmf" },
.{ ".mxml", "application/xv+xml" },
.{ ".mxs", "application/vnd.triscape.mxs" },
.{ ".mxu", "video/vnd.mpegurl" },
.{ ".n-gage", "application/vnd.nokia.n-gage.symbian.install" },
.{ ".n3", "text/n3" },
.{ ".nb", "application/mathematica" },
.{ ".nbp", "application/vnd.wolfram.player" },
.{ ".nc", "application/x-netcdf" },
.{ ".ndc", "application/vnd.osa.netdeploy" },
.{ ".ndl", "application/vnd.lotus-notes" },
.{ ".nds", "application/vnd.nintendo.nitro.rom" },
.{ ".nebul", "application/vnd.nebumind.line" },
.{ ".ngdat", "application/vnd.nokia.n-gage.data" },
.{ ".nim", "video/vnd.nokia.interleaved-multimedia" },
.{ ".nimn", "application/vnd.nimn" },
.{ ".nitf", "application/vnd.nitf" },
.{ ".nlu", "application/vnd.neurolanguage.nlu" },
.{ ".nml", "application/vnd.enliven" },
.{ ".nnd", "application/vnd.noblenet-directory" },
.{ ".nns", "application/vnd.noblenet-sealer" },
.{ ".nnw", "application/vnd.noblenet-web" },
.{ ".notebook", "application/vnd.smart.notebook" },
.{ ".nq", "application/n-quads" },
.{ ".ns2", "application/vnd.lotus-notes" },
.{ ".ns3", "application/vnd.lotus-notes" },
.{ ".ns4", "application/vnd.lotus-notes" },
.{ ".nsf", "application/vnd.lotus-notes" },
.{ ".nsg", "application/vnd.lotus-notes" },
.{ ".nsh", "application/vnd.lotus-notes" },
.{ ".nt", "application/n-triples" },
.{ ".ntf", "application/vnd.lotus-notes" },
.{ ".numbers", "application/vnd.apple.numbers" },
.{ ".o4a", "application/vnd.oma.drm.dcf" },
.{ ".o4v", "application/vnd.oma.drm.dcf" },
.{ ".oa2", "application/vnd.fujitsu.oasys2" },
.{ ".oa3", "application/vnd.fujitsu.oasys3" },
.{ ".oas", "application/vnd.fujitsu.oasys" },
.{ ".ob", "application/vnd.1ob" },
.{ ".obg", "application/vnd.openblox.game-binary" },
.{ ".obgx", "application/vnd.openblox.game+xml" },
.{ ".obj", "model/obj" },
.{ ".oda", "application/ODA" },
.{ ".odb", "application/vnd.oasis.opendocument.base" },
.{ ".odc", "application/vnd.oasis.opendocument.chart" },
.{ ".odd", "application/tei+xml" },
.{ ".odf", "application/vnd.oasis.opendocument.formula" },
.{ ".odg", "application/vnd.oasis.opendocument.graphics" },
.{ ".odi", "application/vnd.oasis.opendocument.image" },
.{ ".odm", "application/vnd.oasis.opendocument.text-master" },
.{ ".odp", "application/vnd.oasis.opendocument.presentation" },
.{ ".ods", "application/vnd.oasis.opendocument.spreadsheet" },
.{ ".odt", "application/vnd.oasis.opendocument.text" },
.{ ".odt", "application/vnd.oasis.opendocument.text" },
.{ ".odx", "application/ODX" },
.{ ".oeb", "application/vnd.openeye.oeb" },
.{ ".oga", "audio/ogg" },
.{ ".ogex", "model/vnd.opengex" },
.{ ".ogg", "audio/ogg" },
.{ ".ogv", "video/ogg" },
.{ ".ogx", "application/ogg" },
.{ ".omg", "audio/ATRAC3" },
.{ ".opf", "application/oebps-package+xml" },
.{ ".oprc", "application/vnd.palm" },
.{ ".opus", "audio/ogg" },
.{ ".opus", "audio/opus" },
.{ ".or2", "application/vnd.lotus-organizer" },
.{ ".or3", "application/vnd.lotus-organizer" },
.{ ".org", "application/vnd.lotus-organizer" },
.{ ".orq", "application/ocsp-request" },
.{ ".ors", "application/ocsp-response" },
.{ ".osf", "application/vnd.yamaha.openscoreformat" },
.{ ".osm", "application/vnd.openstreetmap.data+xml" },
.{ ".ota", "application/vnd.android.ota" },
.{ ".otc", "application/vnd.oasis.opendocument.chart-template" },
.{ ".otf", "font/otf" },
.{ ".otg", "application/vnd.oasis.opendocument.graphics-template" },
.{ ".oth", "application/vnd.oasis.opendocument.text-web" },
.{ ".oti", "application/vnd.oasis.opendocument.image-template" },
.{ ".otm", "application/vnd.oasis.opendocument.text-master-template" },
.{ ".otp", "application/vnd.oasis.opendocument.presentation-template" },
.{ ".ots", "application/vnd.oasis.opendocument.spreadsheet-template" },
.{ ".ott", "application/vnd.oasis.opendocument.text-template" },
.{ ".ovl", "application/vnd.afpc.modca-overlay" },
.{ ".owx", "application/owl+xml" },
.{ ".oxlicg", "application/vnd.oxli.countgraph" },
.{ ".oxps", "application/oxps" },
.{ ".oxt", "application/vnd.openofficeorg.extension" },
.{ ".p10", "application/pkcs10" },
.{ ".p12", "application/pkcs12" },
.{ ".p21", "application/p21" },
.{ ".p2p", "application/vnd.wfa.p2p" },
.{ ".p7c", "application/pkcs7-mime" },
.{ ".p7m", "application/pkcs7-mime" },
.{ ".p7s", "application/pkcs7-signature" },
.{ ".p8", "application/pkcs8" },
.{ ".p8e", "application/pkcs8-encrypted" },
.{ ".pack", "application/x-java-pack200" },
.{ ".package", "application/vnd.autopackage" },
.{ ".pages", "application/vnd.apple.pages" },
.{ ".paw", "application/vnd.pawaafile" },
.{ ".pbd", "application/vnd.powerbuilder6" },
.{ ".pbm", "image/x-portable-bitmap" },
.{ ".pcap", "application/vnd.tcpdump.pcap" },
.{ ".pcl", "application/vnd.hp-PCL" },
.{ ".pcx", "image/vnd.zbrush.pcx" },
.{ ".pdb", "application/vnd.palm" },
.{ ".pdf", "application/pdf" },
.{ ".pdx", "application/PDX" },
.{ ".pem", "application/pem-certificate-chain" },
.{ ".pfr", "application/font-tdpfr" },
.{ ".pfx", "application/pkcs12" },
.{ ".pgb", "image/vnd.globalgraphics.pgb" },
.{ ".pgm", "image/x-portable-graymap" },
.{ ".pgn", "application/vnd.chess-pgn" },
.{ ".pgp", "application/pgp-encrypted" },
.{ ".php", "application/x-httpd-php" },
.{ ".pil", "application/vnd.piaccess.application-licence" },
.{ ".pkd", "application/vnd.hbci" },
.{ ".pkg", "application/vnd.apple.installer+xml" },
.{ ".pki", "application/pkixcmp" },
.{ ".pkipath", "application/pkix-pkipath" },
.{ ".pl", "application/x-perl" },
.{ ".plb", "application/vnd.3gpp.pic-bw-large" },
.{ ".plc", "application/vnd.Mobius.PLC" },
.{ ".plf", "application/vnd.pocketlearn" },
.{ ".plj", "audio/vnd.everad.plj" },
.{ ".plp", "application/vnd.panoply" },
.{ ".pls", "application/pls+xml" },
.{ ".pm", "text/plain" },
.{ ".pml", "application/vnd.ctc-posml" },
.{ ".png", "image/png" },
.{ ".pnm", "image/x-portable-anymap" },
.{ ".pod", "text/x-pod" },
.{ ".portpkg", "application/vnd.macports.portpkg" },
.{ ".pot", "application/vnd.ms-powerpoint" },
.{ ".potm", "application/vnd.ms-powerpoint.template.macroEnabled.12" },
.{ ".potx", "application/vnd.openxmlformats-officedocument.presentationml.template" },
.{ ".ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12" },
.{ ".ppd", "application/vnd.cups-ppd" },
.{ ".ppkg", "application/vnd.xmpie.ppkg" },
.{ ".ppm", "image/x-portable-pixmap" },
.{ ".pps", "application/vnd.ms-powerpoint" },
.{ ".ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12" },
.{ ".ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow" },
.{ ".ppt", "application/vnd.ms-powerpoint" },
.{ ".pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12" },
.{ ".ppttc", "application/vnd.think-cell.ppttc+json" },
.{ ".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation" },
.{ ".pqa", "application/vnd.palm" },
.{ ".prc", "application/vnd.palm" },
.{ ".pre", "application/vnd.lotus-freelance" },
.{ ".preminet", "application/vnd.preminet" },
.{ ".provn", "text/provenance-notation" },
.{ ".provx", "application/provenance+xml" },
.{ ".prz", "application/vnd.lotus-freelance" },
.{ ".ps", "application/postscript" },
.{ ".psb", "application/vnd.3gpp.pic-bw-small" },
.{ ".psd", "image/vnd.adobe.photoshop" },
.{ ".pseg3820", "application/vnd.afpc.modca" },
.{ ".psfs", "application/vnd.psfs" },
.{ ".psg", "application/vnd.afpc.modca-pagesegment" },
.{ ".psid", "audio/prs.sid" },
.{ ".pskcxml", "application/pskc+xml" },
.{ ".pt", "application/vnd.snesdev-page-table" },
.{ ".pti", "image/prs.pti" },
.{ ".ptid", "application/vnd.pvi.ptid1" },
.{ ".ptrom", "application/vnd.snesdev-page-table" },
.{ ".pub", "application/vnd.exstream-package" },
.{ ".pvb", "application/vnd.3gpp.pic-bw-var" },
.{ ".pwn", "application/vnd.3M.Post-it-Notes" },
.{ ".pya", "audio/vnd.ms-playready.media.pya" },
.{ ".pyo", "model/vnd.pytha.pyox" },
.{ ".pyox", "model/vnd.pytha.pyox" },
.{ ".pyv", "video/vnd.ms-playready.media.pyv" },
.{ ".qam", "application/vnd.epson.quickanime" },
.{ ".qbo", "application/vnd.intu.qbo" },
.{ ".qca", "application/vnd.ericsson.quickcall" },
.{ ".qcall", "application/vnd.ericsson.quickcall" },
.{ ".qcp", "audio/QCELP" },
.{ ".qfx", "application/vnd.intu.qfx" },
.{ ".qps", "application/vnd.publishare-delta-tree" },
.{ ".qt", "video/quicktime" },
.{ ".quiz", "application/vnd.quobject-quoxdocument" },
.{ ".quox", "application/vnd.quobject-quoxdocument" },
.{ ".qvd", "application/vnd.theqvd" },
.{ ".qwd", "application/vnd.Quark.QuarkXPress" },
.{ ".qwt", "application/vnd.Quark.QuarkXPress" },
.{ ".qxb", "application/vnd.Quark.QuarkXPress" },
.{ ".qxd", "application/vnd.Quark.QuarkXPress" },
.{ ".qxl", "application/vnd.Quark.QuarkXPress" },
.{ ".qxt", "application/vnd.Quark.QuarkXPress" },
.{ ".ra", "audio/x-realaudio" },
.{ ".ram", "audio/x-pn-realaudio" },
.{ ".rapd", "application/route-apd+xml" },
.{ ".rar", "application/vnd.rar" },
.{ ".ras", "image/x-cmu-raster" },
.{ ".rcprofile", "application/vnd.ipunplugged.rcprofile" },
.{ ".rct", "application/prs.nprend" },
.{ ".rdf", "application/rdf+xml" },
.{ ".rdf-crypt", "application/prs.rdf-xml-crypt" },
.{ ".rdz", "application/vnd.data-vision.rdz" },
.{ ".relo", "application/p2p-overlay+xml" },
.{ ".reload", "application/vnd.resilient.logic" },
.{ ".rep", "application/vnd.businessobjects" },
.{ ".request", "application/vnd.nervana" },
.{ ".rfcxml", "application/rfc+xml" },
.{ ".rgb", "image/x-rgb" },
.{ ".rgbe", "image/vnd.radiance" },
.{ ".rif", "application/reginfo+xml" },
.{ ".rip", "audio/vnd.rip" },
.{ ".rl", "application/resource-lists+xml" },
.{ ".rlc", "image/vnd.fujixerox.edmics-rlc" },
.{ ".rld", "application/resource-lists-diff+xml" },
.{ ".rlm", "application/vnd.resilient.logic" },
.{ ".rm", "audio/x-pn-realaudio" },
.{ ".rms", "application/vnd.jcp.javame.midlet-rms" },
.{ ".rnc", "application/relax-ng-compact-syntax" },
.{ ".rnd", "application/prs.nprend" },
.{ ".rng", "text/xml" },
.{ ".roa", "application/rpki-roa" },
.{ ".roff", "text/troff" },
.{ ".rp9", "application/vnd.cloanto.rp9" },
.{ ".rpm", "application/x-rpm" },
.{ ".rpss", "application/vnd.nokia.radio-presets" },
.{ ".rpst", "application/vnd.nokia.radio-preset" },
.{ ".rq", "application/sparql-query" },
.{ ".rs", "application/rls-services+xml" },
.{ ".rsat", "application/atsc-rsat+xml" },
.{ ".rsheet", "application/urc-ressheet+xml" },
.{ ".rsm", "model/vnd.gdl" },
.{ ".rss", "application/rss+xml" },
.{ ".rst", "text/prs.fallenstein.rst" },
.{ ".rtf", "application/rtf" },
.{ ".rtx", "text/richtext" },
.{ ".rusd", "application/route-usd+xml" },
.{ ".rxr", "application/vnd.medicalholodeck.recordxr" },
.{ ".s11", "video/vnd.sealed.mpeg1" },
.{ ".s14", "video/vnd.sealed.mpeg4" },
.{ ".s1a", "application/vnd.sealedmedia.softseal.pdf" },
.{ ".s1e", "application/vnd.sealed.xls" },
.{ ".s1g", "image/vnd.sealedmedia.softseal.gif" },
.{ ".s1h", "application/vnd.sealedmedia.softseal.html" },
.{ ".s1j", "image/vnd.sealedmedia.softseal.jpg" },
.{ ".s1m", "audio/vnd.sealedmedia.softseal.mpeg" },
.{ ".s1n", "image/vnd.sealed.png" },
.{ ".s1p", "application/vnd.sealed.ppt" },
.{ ".s1q", "video/vnd.sealedmedia.softseal.mov" },
.{ ".s1w", "application/vnd.sealed.doc" },
.{ ".s3df", "application/vnd.sealed.3df" },
.{ ".s3m", "audio/x-s3m" },
.{ ".sac", "application/tamp-sequence-adjust-confirm" },
.{ ".saf", "application/vnd.yamaha.smaf-audio" },
.{ ".sam", "application/vnd.lotus-wordpro" },
.{ ".sandboxed", "text/html-sandboxed" },
.{ ".sarif", "application/sarif+json" },
.{ ".sarif-external-properties", "application/sarif-external-properties+json" },
.{ ".sarif-external-properties.json", "application/sarif-external-properties+json" },
.{ ".sarif.json", "application/sarif+json" },
.{ ".sc", "application/vnd.ibm.secure-container" },
.{ ".scd", "application/vnd.scribus" },
.{ ".sce", "application/vnd.etsi.asic-e+zip" },
.{ ".scim", "application/scim+json" },
.{ ".scl", "application/vnd.sycle+xml" },
.{ ".scld", "application/vnd.doremir.scorecloud-binary-document" },
.{ ".scm", "application/vnd.lotus-screencam" },
.{ ".scq", "application/scvp-cv-request" },
.{ ".scs", "application/scvp-cv-response" },
.{ ".scsf", "application/vnd.sealed.csf" },
.{ ".sdf", "application/vnd.Kinar" },
.{ ".sdkd", "application/vnd.solent.sdkm+xml" },
.{ ".sdkm", "application/vnd.solent.sdkm+xml" },
.{ ".sdo", "application/vnd.sealed.doc" },
.{ ".sdoc", "application/vnd.sealed.doc" },
.{ ".sdp", "application/sdp" },
.{ ".see", "application/vnd.seemail" },
.{ ".seed", "application/vnd.fdsn.seed" },
.{ ".sem", "application/vnd.sealed.eml" },
.{ ".sema", "application/vnd.sema" },
.{ ".semd", "application/vnd.semd" },
.{ ".semf", "application/vnd.semf" },
.{ ".seml", "application/vnd.sealed.eml" },
.{ ".senml", "application/senml+json" },
.{ ".senml-etchc", "application/senml-etch+cbor" },
.{ ".senml-etchj", "application/senml-etch+json" },
.{ ".senmlc", "application/senml+cbor" },
.{ ".senmle", "application/senml-exi" },
.{ ".senmlx", "application/senml+xml" },
.{ ".sensml", "application/sensml+json" },
.{ ".sensmlc", "application/sensml+cbor" },
.{ ".sensmle", "application/sensml-exi" },
.{ ".sensmlx", "application/sensml+xml" },
.{ ".sfc", "application/vnd.nintendo.snes.rom" },
.{ ".sfd", "application/vnd.font-fontforge-sfd" },
.{ ".sfd-hdstx", "application/vnd.hydrostatix.sof-data" },
.{ ".sfs", "application/vnd.spotfire.sfs" },
.{ ".sgi", "image/vnd.sealedmedia.softseal.gif" },
.{ ".sgif", "image/vnd.sealedmedia.softseal.gif" },
.{ ".sgm", "text/SGML" },
.{ ".sgml", "text/SGML" },