Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
11.11% covered (danger)
11.11%
1 / 9
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
MimeType
11.11% covered (danger)
11.11%
1 / 9
0.00% covered (danger)
0.00%
0 / 2
95.98
0.00% covered (danger)
0.00%
0 / 1
 extensionToMime
33.33% covered (danger)
33.33%
1 / 3
0.00% covered (danger)
0.00%
0 / 1
3.19
 mimeToExtension
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
90
1<?php
2/**
3 * Jingga
4 *
5 * PHP Version 8.1
6 *
7 * @package   phpOMS\System
8 * @copyright Dennis Eichhorn
9 * @license   OMS License 2.0
10 * @version   1.0.0
11 * @link      https://jingga.app
12 */
13declare(strict_types=1);
14
15namespace phpOMS\System;
16
17use phpOMS\Stdlib\Base\Enum;
18
19/**
20 * Mime type enum.
21 *
22 * Common mime types which can be helpful for responses where a specific mime needs to be set.
23 *
24 * @package phpOMS\System
25 * @license OMS License 2.0
26 * @link    https://jingga.app
27 * @since   1.0.0
28 */
29abstract class MimeType extends Enum
30{
31    public const M_3DML = 'text/vnd.in3d.3dml';
32
33    public const M_3DS = 'image/x-3ds';
34
35    public const M_3G2 = 'video/3gpp2';
36
37    public const M_3GP = 'video/3gpp';
38
39    public const M_7Z = 'application/x-7z-compressed';
40
41    public const M_AAB = 'application/x-authorware-bin';
42
43    public const M_AAC = 'audio/x-aac';
44
45    public const M_AAM = 'application/x-authorware-map';
46
47    public const M_AAS = 'application/x-authorware-seg';
48
49    public const M_ABW = 'application/x-abiword';
50
51    public const M_AC = 'application/pkix-attr-cert';
52
53    public const M_ACC = 'application/vnd.americandynamics.acc';
54
55    public const M_ACE = 'application/x-ace-compressed';
56
57    public const M_ACU = 'application/vnd.acucobol';
58
59    public const M_ACUTC = 'application/vnd.acucorp';
60
61    public const M_ADP = 'audio/adpcm';
62
63    public const M_AEP = 'application/vnd.audiograph';
64
65    public const M_AFM = 'application/x-font-type1';
66
67    public const M_AFP = 'application/vnd.ibm.modcap';
68
69    public const M_AHEAD = 'application/vnd.ahead.space';
70
71    public const M_AI = 'application/postscript';
72
73    public const M_AIF = 'audio/x-aiff';
74
75    public const M_AIFC = 'audio/x-aiff';
76
77    public const M_AIFF = 'audio/x-aiff';
78
79    public const M_AIR = 'application/vnd.adobe.air-application-installer-package+zip';
80
81    public const M_AIT = 'application/vnd.dvb.ait';
82
83    public const M_AMI = 'application/vnd.amiga.ami';
84
85    public const M_APK = 'application/vnd.android.package-archive';
86
87    public const M_APPCACHE = 'text/cache-manifest';
88
89    public const M_APR = 'application/vnd.lotus-approach';
90
91    public const M_APS = 'application/postscript';
92
93    public const M_ARC = 'application/x-freearc';
94
95    public const M_ASC = 'application/pgp-signature';
96
97    public const M_ASF = 'video/x-ms-asf';
98
99    public const M_ASM = 'text/x-asm';
100
101    public const M_ASO = 'application/vnd.accpac.simply.aso';
102
103    public const M_ASX = 'video/x-ms-asf';
104
105    public const M_ATC = 'application/vnd.acucorp';
106
107    public const M_ATOM = 'application/atom+xml';
108
109    public const M_ATOMCAT = 'application/atomcat+xml';
110
111    public const M_ATOMSVC = 'application/atomsvc+xml';
112
113    public const M_ATX = 'application/vnd.antix.game-component';
114
115    public const M_AU = 'audio/basic';
116
117    public const M_AVI = 'video/x-msvideo';
118
119    public const M_AW = 'application/applixware';
120
121    public const M_AZF = 'application/vnd.airzip.filesecure.azf';
122
123    public const M_AZS = 'application/vnd.airzip.filesecure.azs';
124
125    public const M_AZW = 'application/vnd.amazon.ebook';
126
127    public const M_BAT = 'application/x-msdownload';
128
129    public const M_BCPIO = 'application/x-bcpio';
130
131    public const M_BDF = 'application/x-font-bdf';
132
133    public const M_BDM = 'application/vnd.syncml.dm+wbxml';
134
135    public const M_BED = 'application/vnd.realvnc.bed';
136
137    public const M_BH2 = 'application/vnd.fujitsu.oasysprs';
138
139    public const M_BIN = 'application/octet-stream';
140
141    public const M_BLB = 'application/x-blorb';
142
143    public const M_BLORB = 'application/x-blorb';
144
145    public const M_BMI = 'application/vnd.bmi';
146
147    public const M_BMP = 'image/bmp';
148
149    public const M_BOOK = 'application/vnd.framemaker';
150
151    public const M_BOX = 'application/vnd.previewsystems.box';
152
153    public const M_BOZ = 'application/x-bzip2';
154
155    public const M_BPK = 'application/octet-stream';
156
157    public const M_BTIF = 'image/prs.btif';
158
159    public const M_BZ = 'application/x-bzip';
160
161    public const M_BZ2 = 'application/x-bzip2';
162
163    public const M_C = 'text/x-c';
164
165    public const M_C11AMC = 'application/vnd.cluetrust.cartomobile-config';
166
167    public const M_C11AMZ = 'application/vnd.cluetrust.cartomobile-config-pkg';
168
169    public const M_C4D = 'application/vnd.clonk.c4group';
170
171    public const M_C4F = 'application/vnd.clonk.c4group';
172
173    public const M_C4G = 'application/vnd.clonk.c4group';
174
175    public const M_C4P = 'application/vnd.clonk.c4group';
176
177    public const M_C4U = 'application/vnd.clonk.c4group';
178
179    public const M_CAB = 'application/vnd.ms-cab-compressed';
180
181    public const M_CAF = 'audio/x-caf';
182
183    public const M_CAP = 'application/vnd.tcpdump.pcap';
184
185    public const M_CAR = 'application/vnd.curl.car';
186
187    public const M_CAT = 'application/vnd.ms-pki.seccat';
188
189    public const M_CB7 = 'application/x-cbr';
190
191    public const M_CBA = 'application/x-cbr';
192
193    public const M_CBR = 'application/x-cbr';
194
195    public const M_CBT = 'application/x-cbr';
196
197    public const M_CBZ = 'application/x-cbr';
198
199    public const M_CC = 'text/x-c';
200
201    public const M_CCT = 'application/x-director';
202
203    public const M_CCXML = 'application/ccxml+xml';
204
205    public const M_CDBCMSG = 'application/vnd.contact.cmsg';
206
207    public const M_CDF = 'application/x-netcdf';
208
209    public const M_CDKEY = 'application/vnd.mediastation.cdkey';
210
211    public const M_CDMIA = 'application/cdmi-capability';
212
213    public const M_CDMIC = 'application/cdmi-container';
214
215    public const M_CDMID = 'application/cdmi-domain';
216
217    public const M_CDMIO = 'application/cdmi-object';
218
219    public const M_CDMIQ = 'application/cdmi-queue';
220
221    public const M_CDX = 'chemical/x-cdx';
222
223    public const M_CDXML = 'application/vnd.chemdraw+xml';
224
225    public const M_CDY = 'application/vnd.cinderella';
226
227    public const M_CER = 'application/pkix-cert';
228
229    public const M_CFS = 'application/x-cfs-compressed';
230
231    public const M_CGM = 'image/cgm';
232
233    public const M_CHAT = 'application/x-chat';
234
235    public const M_CHM = 'application/vnd.ms-htmlhelp';
236
237    public const M_CHRT = 'application/vnd.kde.kchart';
238
239    public const M_CIF = 'chemical/x-cif';
240
241    public const M_CII = 'application/vnd.anser-web-certificate-issue-initiation';
242
243    public const M_CIL = 'application/vnd.ms-artgalry';
244
245    public const M_CLA = 'application/vnd.claymore';
246
247    public const M_CLASS = 'application/java-vm';
248
249    public const M_CLKK = 'application/vnd.crick.clicker.keyboard';
250
251    public const M_CLKP = 'application/vnd.crick.clicker.palette';
252
253    public const M_CLKT = 'application/vnd.crick.clicker.template';
254
255    public const M_CLKW = 'application/vnd.crick.clicker.wordbank';
256
257    public const M_CLKX = 'application/vnd.crick.clicker';
258
259    public const M_CLP = 'application/x-msclip';
260
261    public const M_CMC = 'application/vnd.cosmocaller';
262
263    public const M_CMDF = 'chemical/x-cmdf';
264
265    public const M_CML = 'chemical/x-cml';
266
267    public const M_CMP = 'application/vnd.yellowriver-custom-menu';
268
269    public const M_CMX = 'image/x-cmx';
270
271    public const M_COD = 'application/vnd.rim.cod';
272
273    public const M_COM = 'application/x-msdownload';
274
275    public const M_CONF = 'text/plain';
276
277    public const M_CPIO = 'application/x-cpio';
278
279    public const M_CPP = 'text/x-c';
280
281    public const M_CPT = 'application/mac-compactpro';
282
283    public const M_CRD = 'application/x-mscardfile';
284
285    public const M_CRL = 'application/pkix-crl';
286
287    public const M_CRT = 'application/x-x509-ca-cert';
288
289    public const M_CSH = 'application/x-csh';
290
291    public const M_CSML = 'chemical/x-csml';
292
293    public const M_CSP = 'application/vnd.commonspace';
294
295    public const M_CSS = 'text/css';
296
297    public const M_CST = 'application/x-director';
298
299    public const M_CSV = 'text/csv';
300
301    public const M_CU = 'application/cu-seeme';
302
303    public const M_CURL = 'text/vnd.curl';
304
305    public const M_CWW = 'application/prs.cww';
306
307    public const M_CXT = 'application/x-director';
308
309    public const M_CXX = 'text/x-c';
310
311    public const M_DAE = 'model/vnd.collada+xml';
312
313    public const M_DAF = 'application/vnd.mobius.daf';
314
315    public const M_DART = 'application/vnd.dart';
316
317    public const M_DATALESS = 'application/vnd.fdsn.seed';
318
319    public const M_DAVMOUNT = 'application/davmount+xml';
320
321    public const M_DBK = 'application/docbook+xml';
322
323    public const M_DCR = 'application/x-director';
324
325    public const M_DCURL = 'text/vnd.curl.dcurl';
326
327    public const M_DD2 = 'application/vnd.oma.dd2+xml';
328
329    public const M_DDD = 'application/vnd.fujixerox.ddd';
330
331    public const M_DEB = 'application/x-debian-package';
332
333    public const M_DEF = 'text/plain';
334
335    public const M_DEPLOY = 'application/octet-stream';
336
337    public const M_DER = 'application/x-x509-ca-cert';
338
339    public const M_DFAC = 'application/vnd.dreamfactory';
340
341    public const M_DGC = 'application/x-dgc-compressed';
342
343    public const M_DIC = 'text/x-c';
344
345    public const M_DIR = 'application/x-director';
346
347    public const M_DIS = 'application/vnd.mobius.dis';
348
349    public const M_DIST = 'application/octet-stream';
350
351    public const M_DISTZ = 'application/octet-stream';
352
353    public const M_DJV = 'image/vnd.djvu';
354
355    public const M_DJVU = 'image/vnd.djvu';
356
357    public const M_DLL = 'application/x-msdownload';
358
359    public const M_DMG = 'application/x-apple-diskimage';
360
361    public const M_DMP = 'application/vnd.tcpdump.pcap';
362
363    public const M_DMS = 'application/octet-stream';
364
365    public const M_DNA = 'application/vnd.dna';
366
367    public const M_DOC = 'application/msword';
368
369    public const M_DOCM = 'application/vnd.ms-word.document.macroenabled.12';
370
371    public const M_DOCX = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
372
373    public const M_DOT = 'application/msword';
374
375    public const M_DOTM = 'application/vnd.ms-word.template.macroenabled.12';
376
377    public const M_DOTX = 'application/vnd.openxmlformats-officedocument.wordprocessingml.template';
378
379    public const M_DP = 'application/vnd.osgi.dp';
380
381    public const M_DPG = 'application/vnd.dpgraph';
382
383    public const M_DRA = 'audio/vnd.dra';
384
385    public const M_DSC = 'text/prs.lines.tag';
386
387    public const M_DSSC = 'application/dssc+der';
388
389    public const M_DTB = 'application/x-dtbook+xml';
390
391    public const M_DTD = 'application/xml-dtd';
392
393    public const M_DTS = 'audio/vnd.dts';
394
395    public const M_DTSHD = 'audio/vnd.dts.hd';
396
397    public const M_DUMP = 'application/octet-stream';
398
399    public const M_DVB = 'video/vnd.dvb.file';
400
401    public const M_DVI = 'application/x-dvi';
402
403    public const M_DWF = 'model/vnd.dwf';
404
405    public const M_DWG = 'image/vnd.dwg';
406
407    public const M_DXF = 'image/vnd.dxf';
408
409    public const M_DXP = 'application/vnd.spotfire.dxp';
410
411    public const M_DXR = 'application/x-director';
412
413    public const M_ECELP4800 = 'audio/vnd.nuera.ecelp4800';
414
415    public const M_ECELP7470 = 'audio/vnd.nuera.ecelp7470';
416
417    public const M_ECELP9600 = 'audio/vnd.nuera.ecelp9600';
418
419    public const M_ECMA = 'application/ecmascript';
420
421    public const M_EDM = 'application/vnd.novadigm.edm';
422
423    public const M_EDX = 'application/vnd.novadigm.edx';
424
425    public const M_EFIF = 'application/vnd.picsel';
426
427    public const M_EI6 = 'application/vnd.pg.osasli';
428
429    public const M_ELC = 'application/octet-stream';
430
431    public const M_EMF = 'application/x-msmetafile';
432
433    public const M_EML = 'message/rfc822';
434
435    public const M_EMMA = 'application/emma+xml';
436
437    public const M_EMZ = 'application/x-msmetafile';
438
439    public const M_EOL = 'audio/vnd.digital-winds';
440
441    public const M_EOT = 'application/vnd.ms-fontobject';
442
443    public const M_EPS = 'application/postscript';
444
445    public const M_EPUB = 'application/epub+zip';
446
447    public const M_ES3 = 'application/vnd.eszigno3+xml';
448
449    public const M_ESA = 'application/vnd.osgi.subsystem';
450
451    public const M_ESF = 'application/vnd.epson.esf';
452
453    public const M_ET3 = 'application/vnd.eszigno3+xml';
454
455    public const M_ETX = 'text/x-setext';
456
457    public const M_EVA = 'application/x-eva';
458
459    public const M_EVY = 'application/x-envoy';
460
461    public const M_EXE = 'application/x-msdownload';
462
463    public const M_EXI = 'application/exi';
464
465    public const M_EXT = 'application/vnd.novadigm.ext';
466
467    public const M_EZ = 'application/andrew-inset';
468
469    public const M_EZ2 = 'application/vnd.ezpix-album';
470
471    public const M_EZ3 = 'application/vnd.ezpix-package';
472
473    public const M_F = 'text/x-fortran';
474
475    public const M_F4V = 'video/x-f4v';
476
477    public const M_F77 = 'text/x-fortran';
478
479    public const M_F90 = 'text/x-fortran';
480
481    public const M_FBS = 'image/vnd.fastbidsheet';
482
483    public const M_FCDT = 'application/vnd.adobe.formscentral.fcdt';
484
485    public const M_FCS = 'application/vnd.isac.fcs';
486
487    public const M_FDF = 'application/vnd.fdf';
488
489    public const M_FE_LAUNCH = 'application/vnd.denovo.fcselayout-link';
490
491    public const M_FG5 = 'application/vnd.fujitsu.oasysgp';
492
493    public const M_FGD = 'application/x-director';
494
495    public const M_FH = 'image/x-freehand';
496
497    public const M_FH4 = 'image/x-freehand';
498
499    public const M_FH5 = 'image/x-freehand';
500
501    public const M_FH7 = 'image/x-freehand';
502
503    public const M_FHC = 'image/x-freehand';
504
505    public const M_FIG = 'application/x-xfig';
506
507    public const M_FLAC = 'audio/x-flac';
508
509    public const M_FLI = 'video/x-fli';
510
511    public const M_FLO = 'application/vnd.micrografx.flo';
512
513    public const M_FLV = 'video/x-flv';
514
515    public const M_FLW = 'application/vnd.kde.kivio';
516
517    public const M_FLX = 'text/vnd.fmi.flexstor';
518
519    public const M_FLY = 'text/vnd.fly';
520
521    public const M_FM = 'application/vnd.framemaker';
522
523    public const M_FNC = 'application/vnd.frogans.fnc';
524
525    public const M_FOR = 'text/x-fortran';
526
527    public const M_FPX = 'image/vnd.fpx';
528
529    public const M_FRAME = 'application/vnd.framemaker';
530
531    public const M_FSC = 'application/vnd.fsc.weblaunch';
532
533    public const M_FST = 'image/vnd.fst';
534
535    public const M_FTC = 'application/vnd.fluxtime.clip';
536
537    public const M_FTI = 'application/vnd.anser-web-funds-transfer-initiation';
538
539    public const M_FVT = 'video/vnd.fvt';
540
541    public const M_FXP = 'application/vnd.adobe.fxp';
542
543    public const M_FXPL = 'application/vnd.adobe.fxp';
544
545    public const M_FZS = 'application/vnd.fuzzysheet';
546
547    public const M_G2W = 'application/vnd.geoplan';
548
549    public const M_G3 = 'image/g3fax';
550
551    public const M_G3W = 'application/vnd.geospace';
552
553    public const M_GAC = 'application/vnd.groove-account';
554
555    public const M_GAM = 'application/x-tads';
556
557    public const M_GBR = 'application/rpki-ghostbusters';
558
559    public const M_GCA = 'application/x-gca-compressed';
560
561    public const M_GDL = 'model/vnd.gdl';
562
563    public const M_GEO = 'application/vnd.dynageo';
564
565    public const M_GEX = 'application/vnd.geometry-explorer';
566
567    public const M_GGB = 'application/vnd.geogebra.file';
568
569    public const M_GGT = 'application/vnd.geogebra.tool';
570
571    public const M_GHF = 'application/vnd.groove-help';
572
573    public const M_GIF = 'image/gif';
574
575    public const M_GIM = 'application/vnd.groove-identity-message';
576
577    public const M_GML = 'application/gml+xml';
578
579    public const M_GMX = 'application/vnd.gmx';
580
581    public const M_GNUMERIC = 'application/x-gnumeric';
582
583    public const M_GPH = 'application/vnd.flographit';
584
585    public const M_GPX = 'application/gpx+xml';
586
587    public const M_GQF = 'application/vnd.grafeq';
588
589    public const M_GQS = 'application/vnd.grafeq';
590
591    public const M_GRAM = 'application/srgs';
592
593    public const M_GRAMPS = 'application/x-gramps-xml';
594
595    public const M_GRE = 'application/vnd.geometry-explorer';
596
597    public const M_GRV = 'application/vnd.groove-injector';
598
599    public const M_GRXML = 'application/srgs+xml';
600
601    public const M_GSF = 'application/x-font-ghostscript';
602
603    public const M_GTAR = 'application/x-gtar';
604
605    public const M_GTM = 'application/vnd.groove-tool-message';
606
607    public const M_GTW = 'model/vnd.gtw';
608
609    public const M_GV = 'text/vnd.graphviz';
610
611    public const M_GXF = 'application/gxf';
612
613    public const M_GXT = 'application/vnd.geonext';
614
615    public const M_GZ = 'application/x-gzip';
616
617    public const M_H = 'text/x-c';
618
619    public const M_H261 = 'video/h261';
620
621    public const M_H263 = 'video/h263';
622
623    public const M_H264 = 'video/h264';
624
625    public const M_HAL = 'application/vnd.hal+xml';
626
627    public const M_HBCI = 'application/vnd.hbci';
628
629    public const M_HDF = 'application/x-hdf';
630
631    public const M_HH = 'text/x-c';
632
633    public const M_HLP = 'application/winhlp';
634
635    public const M_HPGL = 'application/vnd.hp-hpgl';
636
637    public const M_HPID = 'application/vnd.hp-hpid';
638
639    public const M_HPS = 'application/vnd.hp-hps';
640
641    public const M_HQX = 'application/mac-binhex40';
642
643    public const M_HTKE = 'application/vnd.kenameaapp';
644
645    public const M_HTM = 'text/html';
646
647    public const M_HTML = 'text/html';
648
649    public const M_HVD = 'application/vnd.yamaha.hv-dic';
650
651    public const M_HVP = 'application/vnd.yamaha.hv-voice';
652
653    public const M_HVS = 'application/vnd.yamaha.hv-script';
654
655    public const M_I2G = 'application/vnd.intergeo';
656
657    public const M_ICC = 'application/vnd.iccprofile';
658
659    public const M_ICE = 'x-conference/x-cooltalk';
660
661    public const M_ICM = 'application/vnd.iccprofile';
662
663    public const M_ICO = 'image/x-icon';
664
665    public const M_ICS = 'text/calendar';
666
667    public const M_IEF = 'image/ief';
668
669    public const M_IFB = 'text/calendar';
670
671    public const M_IFM = 'application/vnd.shana.informed.formdata';
672
673    public const M_IGES = 'model/iges';
674
675    public const M_IGL = 'application/vnd.igloader';
676
677    public const M_IGM = 'application/vnd.insors.igm';
678
679    public const M_IGS = 'model/iges';
680
681    public const M_IGX = 'application/vnd.micrografx.igx';
682
683    public const M_IIF = 'application/vnd.shana.informed.interchange';
684
685    public const M_IMP = 'application/vnd.accpac.simply.imp';
686
687    public const M_IMS = 'application/vnd.ms-ims';
688
689    public const M_IN = 'text/plain';
690
691    public const M_INK = 'application/inkml+xml';
692
693    public const M_INKML = 'application/inkml+xml';
694
695    public const M_INSTALL = 'application/x-install-instructions';
696
697    public const M_IOTA = 'application/vnd.astraea-software.iota';
698
699    public const M_IPFIX = 'application/ipfix';
700
701    public const M_IPK = 'application/vnd.shana.informed.package';
702
703    public const M_IRM = 'application/vnd.ibm.rights-management';
704
705    public const M_IRP = 'application/vnd.irepository.package+xml';
706
707    public const M_ISO = 'application/x-iso9660-image';
708
709    public const M_ITP = 'application/vnd.shana.informed.formtemplate';
710
711    public const M_IVP = 'application/vnd.immervision-ivp';
712
713    public const M_IVU = 'application/vnd.immervision-ivu';
714
715    public const M_JAD = 'text/vnd.sun.j2me.app-descriptor';
716
717    public const M_JAM = 'application/vnd.jam';
718
719    public const M_JAR = 'application/java-archive';
720
721    public const M_JAVA = 'text/x-java-source';
722
723    public const M_JISP = 'application/vnd.jisp';
724
725    public const M_JLT = 'application/vnd.hp-jlyt';
726
727    public const M_JNLP = 'application/x-java-jnlp-file';
728
729    public const M_JODA = 'application/vnd.joost.joda-archive';
730
731    public const M_JPE = 'image/jpeg';
732
733    public const M_JPEG = 'image/jpeg';
734
735    public const M_JPG = 'image/jpeg';
736
737    public const M_JPGM = 'video/jpm';
738
739    public const M_JPGV = 'video/jpeg';
740
741    public const M_JPM = 'video/jpm';
742
743    public const M_JS = 'application/javascript';
744
745    public const M_JSON = 'application/json';
746
747    public const M_JSONML = 'application/jsonml+json';
748
749    public const M_KAR = 'audio/midi';
750
751    public const M_KARBON = 'application/vnd.kde.karbon';
752
753    public const M_KFO = 'application/vnd.kde.kformula';
754
755    public const M_KIA = 'application/vnd.kidspiration';
756
757    public const M_KML = 'application/vnd.google-earth.kml+xml';
758
759    public const M_KMZ = 'application/vnd.google-earth.kmz';
760
761    public const M_KNE = 'application/vnd.kinar';
762
763    public const M_KNP = 'application/vnd.kinar';
764
765    public const M_KON = 'application/vnd.kde.kontour';
766
767    public const M_KPR = 'application/vnd.kde.kpresenter';
768
769    public const M_KPT = 'application/vnd.kde.kpresenter';
770
771    public const M_KPXX = 'application/vnd.ds-keypoint';
772
773    public const M_KSP = 'application/vnd.kde.kspread';
774
775    public const M_KTR = 'application/vnd.kahootz';
776
777    public const M_KTX = 'image/ktx';
778
779    public const M_KTZ = 'application/vnd.kahootz';
780
781    public const M_KWD = 'application/vnd.kde.kword';
782
783    public const M_KWT = 'application/vnd.kde.kword';
784
785    public const M_LASXML = 'application/vnd.las.las+xml';
786
787    public const M_LATEX = 'application/x-latex';
788
789    public const M_LBD = 'application/vnd.llamagraphics.life-balance.desktop';
790
791    public const M_LBE = 'application/vnd.llamagraphics.life-balance.exchange+xml';
792
793    public const M_LES = 'application/vnd.hhe.lesson-player';
794
795    public const M_LHA = 'application/x-lzh-compressed';
796
797    public const M_LINK66 = 'application/vnd.route66.link66+xml';
798
799    public const M_LIST = 'text/plain';
800
801    public const M_LIST3820 = 'application/vnd.ibm.modcap';
802
803    public const M_LISTAFP = 'application/vnd.ibm.modcap';
804
805    public const M_LNK = 'application/x-ms-shortcut';
806
807    public const M_LOG = 'text/plain';
808
809    public const M_LOSTXML = 'application/lost+xml';
810
811    public const M_LRF = 'application/octet-stream';
812
813    public const M_LRM = 'application/vnd.ms-lrm';
814
815    public const M_LTF = 'application/vnd.frogans.ltf';
816
817    public const M_LVP = 'audio/vnd.lucent.voice';
818
819    public const M_LWP = 'application/vnd.lotus-wordpro';
820
821    public const M_LZH = 'application/x-lzh-compressed';
822
823    public const M_M13 = 'application/x-msmediaview';
824
825    public const M_M14 = 'application/x-msmediaview';
826
827    public const M_M1V = 'video/mpeg';
828
829    public const M_M21 = 'application/mp21';
830
831    public const M_M2A = 'audio/mpeg';
832
833    public const M_M2V = 'video/mpeg';
834
835    public const M_M3A = 'audio/mpeg';
836
837    public const M_M3U = 'audio/x-mpegurl';
838
839    public const M_M3U8 = 'application/vnd.apple.mpegurl';
840
841    public const M_M4A = 'audio/mp4';
842
843    public const M_M4U = 'video/vnd.mpegurl';
844
845    public const M_M4V = 'video/x-m4v';
846
847    public const M_MA = 'application/mathematica';
848
849    public const M_MADS = 'application/mads+xml';
850
851    public const M_MAG = 'application/vnd.ecowin.chart';
852
853    public const M_MAKER = 'application/vnd.framemaker';
854
855    public const M_MAN = 'text/troff';
856
857    public const M_MAR = 'application/octet-stream';
858
859    public const M_MATHML = 'application/mathml+xml';
860
861    public const M_MB = 'application/mathematica';
862
863    public const M_MBK = 'application/vnd.mobius.mbk';
864
865    public const M_MBOX = 'application/mbox';
866
867    public const M_MC1 = 'application/vnd.medcalcdata';
868
869    public const M_MCD = 'application/vnd.mcd';
870
871    public const M_MCURL = 'text/vnd.curl.mcurl';
872
873    public const M_MDB = 'application/x-msaccess';
874
875    public const M_MDI = 'image/vnd.ms-modi';
876
877    public const M_ME = 'text/troff';
878
879    public const M_MESH = 'model/mesh';
880
881    public const M_META4 = 'application/metalink4+xml';
882
883    public const M_METALINK = 'application/metalink+xml';
884
885    public const M_METS = 'application/mets+xml';
886
887    public const M_MFM = 'application/vnd.mfmp';
888
889    public const M_MFT = 'application/rpki-manifest';
890
891    public const M_MGP = 'application/vnd.osgeo.mapguide.package';
892
893    public const M_MGZ = 'application/vnd.proteus.magazine';
894
895    public const M_MID = 'audio/midi';
896
897    public const M_MIDI = 'audio/midi';
898
899    public const M_MIE = 'application/x-mie';
900
901    public const M_MIF = 'application/vnd.mif';
902
903    public const M_MIME = 'message/rfc822';
904
905    public const M_MJ2 = 'video/mj2';
906
907    public const M_MJP2 = 'video/mj2';
908
909    public const M_MK3D = 'video/x-matroska';
910
911    public const M_MKA = 'audio/x-matroska';
912
913    public const M_MKS = 'video/x-matroska';
914
915    public const M_MKV = 'video/x-matroska';
916
917    public const M_MLP = 'application/vnd.dolby.mlp';
918
919    public const M_MMD = 'application/vnd.chipnuts.karaoke-mmd';
920
921    public const M_MMF = 'application/vnd.smaf';
922
923    public const M_MMR = 'image/vnd.fujixerox.edmics-mmr';
924
925    public const M_MNG = 'video/x-mng';
926
927    public const M_MNY = 'application/x-msmoney';
928
929    public const M_MOBI = 'application/x-mobipocket-ebook';
930
931    public const M_MODS = 'application/mods+xml';
932
933    public const M_MOV = 'video/quicktime';
934
935    public const M_MOVIE = 'video/x-sgi-movie';
936
937    public const M_MP2 = 'audio/mpeg';
938
939    public const M_MP21 = 'application/mp21';
940
941    public const M_MP2A = 'audio/mpeg';
942
943    public const M_MP3 = 'audio/mpeg';
944
945    public const M_MP4 = 'video/mp4';
946
947    public const M_MP4A = 'audio/mp4';
948
949    public const M_MP4S = 'application/mp4';
950
951    public const M_MP4V = 'video/mp4';
952
953    public const M_MPC = 'application/vnd.mophun.certificate';
954
955    public const M_MPE = 'video/mpeg';
956
957    public const M_MPEG = 'video/mpeg';
958
959    public const M_MPG = 'video/mpeg';
960
961    public const M_MPG4 = 'video/mp4';
962
963    public const M_MPGA = 'audio/mpeg';
964
965    public const M_MPKG = 'application/vnd.apple.installer+xml';
966
967    public const M_MPM = 'application/vnd.blueice.multipass';
968
969    public const M_MPN = 'application/vnd.mophun.application';
970
971    public const M_MPP = 'application/vnd.ms-project';
972
973    public const M_MPT = 'application/vnd.ms-project';
974
975    public const M_MPY = 'application/vnd.ibm.minipay';
976
977    public const M_MQY = 'application/vnd.mobius.mqy';
978
979    public const M_MRC = 'application/marc';
980
981    public const M_MRCX = 'application/marcxml+xml';
982
983    public const M_MS = 'text/troff';
984
985    public const M_MSCML = 'application/mediaservercontrol+xml';
986
987    public const M_MSEED = 'application/vnd.fdsn.mseed';
988
989    public const M_MSEQ = 'application/vnd.mseq';
990
991    public const M_MSF = 'application/vnd.epson.msf';
992
993    public const M_MSH = 'model/mesh';
994
995    public const M_MSI = 'application/x-msdownload';
996
997    public const M_MSL = 'application/vnd.mobius.msl';
998
999    public const M_MSTY = 'application/vnd.muvee.style';
1000
1001    public const M_MULT = 'multipart/form-data';
1002
1003    public const M_ALT = 'multipart/alternative';
1004
1005    public const M_MIXED = 'multipart/mixed';
1006
1007    public const M_RELATED = 'multipart/related';
1008
1009    public const M_MTS = 'model/vnd.mts';
1010
1011    public const M_MUS = 'application/vnd.musician';
1012
1013    public const M_MUSICXML = 'application/vnd.recordare.musicxml+xml';
1014
1015    public const M_MVB = 'application/x-msmediaview';
1016
1017    public const M_MWF = 'application/vnd.mfer';
1018
1019    public const M_MXF = 'application/mxf';
1020
1021    public const M_MXL = 'application/vnd.recordare.musicxml';
1022
1023    public const M_MXML = 'application/xv+xml';
1024
1025    public const M_MXS = 'application/vnd.triscape.mxs';
1026
1027    public const M_MXU = 'video/vnd.mpegurl';
1028
1029    public const M_N_GAGE = 'application/vnd.nokia.n-gage.symbian.install';
1030
1031    public const M_N3 = 'text/n3';
1032
1033    public const M_NB = 'application/mathematica';
1034
1035    public const M_NBP = 'application/vnd.wolfram.player';
1036
1037    public const M_NC = 'application/x-netcdf';
1038
1039    public const M_NCX = 'application/x-dtbncx+xml';
1040
1041    public const M_NFO = 'text/x-nfo';
1042
1043    public const M_NGDAT = 'application/vnd.nokia.n-gage.data';
1044
1045    public const M_NITF = 'application/vnd.nitf';
1046
1047    public const M_NLU = 'application/vnd.neurolanguage.nlu';
1048
1049    public const M_NML = 'application/vnd.enliven';
1050
1051    public const M_NND = 'application/vnd.noblenet-directory';
1052
1053    public const M_NNS = 'application/vnd.noblenet-sealer';
1054
1055    public const M_NNW = 'application/vnd.noblenet-web';
1056
1057    public const M_NPX = 'image/vnd.net-fpx';
1058
1059    public const M_NSC = 'application/x-conference';
1060
1061    public const M_NSF = 'application/vnd.lotus-notes';
1062
1063    public const M_NTF = 'application/vnd.nitf';
1064
1065    public const M_NZB = 'application/x-nzb';
1066
1067    public const M_OA2 = 'application/vnd.fujitsu.oasys2';
1068
1069    public const M_OA3 = 'application/vnd.fujitsu.oasys3';
1070
1071    public const M_OAS = 'application/vnd.fujitsu.oasys';
1072
1073    public const M_OBD = 'application/x-msbinder';
1074
1075    public const M_OBJ = 'application/x-tgif';
1076
1077    public const M_ODA = 'application/oda';
1078
1079    public const M_ODB = 'application/vnd.oasis.opendocument.database';
1080
1081    public const M_ODC = 'application/vnd.oasis.opendocument.chart';
1082
1083    public const M_ODF = 'application/vnd.oasis.opendocument.formula';
1084
1085    public const M_ODFT = 'application/vnd.oasis.opendocument.formula-template';
1086
1087    public const M_ODG = 'application/vnd.oasis.opendocument.graphics';
1088
1089    public const M_ODI = 'application/vnd.oasis.opendocument.image';
1090
1091    public const M_ODM = 'application/vnd.oasis.opendocument.text-master';
1092
1093    public const M_ODP = 'application/vnd.oasis.opendocument.presentation';
1094
1095    public const M_ODS = 'application/vnd.oasis.opendocument.spreadsheet';
1096
1097    public const M_ODT = 'application/vnd.oasis.opendocument.text';
1098
1099    public const M_OGA = 'audio/ogg';
1100
1101    public const M_OGG = 'audio/ogg';
1102
1103    public const M_OGV = 'video/ogg';
1104
1105    public const M_OGX = 'application/ogg';
1106
1107    public const M_OMDOC = 'application/omdoc+xml';
1108
1109    public const M_ONEPKG = 'application/onenote';
1110
1111    public const M_ONETMP = 'application/onenote';
1112
1113    public const M_ONETOC = 'application/onenote';
1114
1115    public const M_ONETOC2 = 'application/onenote';
1116
1117    public const M_OPF = 'application/oebps-package+xml';
1118
1119    public const M_OPML = 'text/x-opml';
1120
1121    public const M_OPRC = 'application/vnd.palm';
1122
1123    public const M_ORG = 'application/vnd.lotus-organizer';
1124
1125    public const M_OSF = 'application/vnd.yamaha.openscoreformat';
1126
1127    public const M_OSFPVG = 'application/vnd.yamaha.openscoreformat.osfpvg+xml';
1128
1129    public const M_OTC = 'application/vnd.oasis.opendocument.chart-template';
1130
1131    public const M_OTF = 'application/x-font-otf';
1132
1133    public const M_OTG = 'application/vnd.oasis.opendocument.graphics-template';
1134
1135    public const M_OTH = 'application/vnd.oasis.opendocument.text-web';
1136
1137    public const M_OTI = 'application/vnd.oasis.opendocument.image-template';
1138
1139    public const M_OTP = 'application/vnd.oasis.opendocument.presentation-template';
1140
1141    public const M_OTS = 'application/vnd.oasis.opendocument.spreadsheet-template';
1142
1143    public const M_OTT = 'application/vnd.oasis.opendocument.text-template';
1144
1145    public const M_OXPS = 'application/oxps';
1146
1147    public const M_OXT = 'application/vnd.openofficeorg.extension';
1148
1149    public const M_P = 'text/x-pascal';
1150
1151    public const M_P10 = 'application/pkcs10';
1152
1153    public const M_P12 = 'application/x-pkcs12';
1154
1155    public const M_P7B = 'application/x-pkcs7-certificates';
1156
1157    public const M_P7C = 'application/pkcs7-mime';
1158
1159    public const M_P7M = 'application/pkcs7-mime';
1160
1161    public const M_P7R = 'application/x-pkcs7-certreqresp';
1162
1163    public const M_P7S = 'application/pkcs7-signature';
1164
1165    public const M_P8 = 'application/pkcs8';
1166
1167    public const M_PAS = 'text/x-pascal';
1168
1169    public const M_PAW = 'application/vnd.pawaafile';
1170
1171    public const M_PBD = 'application/vnd.powerbuilder6';
1172
1173    public const M_PBM = 'image/x-portable-bitmap';
1174
1175    public const M_PCAP = 'application/vnd.tcpdump.pcap';
1176
1177    public const M_PCF = 'application/x-font-pcf';
1178
1179    public const M_PCL = 'application/vnd.hp-pcl';
1180
1181    public const M_PCLXL = 'application/vnd.hp-pclxl';
1182
1183    public const M_PCT = 'image/x-pict';
1184
1185    public const M_PCURL = 'application/vnd.curl.pcurl';
1186
1187    public const M_PCX = 'image/x-pcx';
1188
1189    public const M_PDB = 'application/vnd.palm';
1190
1191    public const M_PDF = 'application/pdf';
1192
1193    public const M_PFA = 'application/x-font-type1';
1194
1195    public const M_PFB = 'application/x-font-type1';
1196
1197    public const M_PFM = 'application/x-font-type1';
1198
1199    public const M_PFR = 'application/font-tdpfr';
1200
1201    public const M_PFX = 'application/x-pkcs12';
1202
1203    public const M_PGM = 'image/x-portable-graymap';
1204
1205    public const M_PGN = 'application/x-chess-pgn';
1206
1207    public const M_PGP = 'application/pgp-encrypted';
1208
1209    public const M_PHP = 'application/x-php';
1210
1211    public const M_PHP3 = 'application/x-php';
1212
1213    public const M_PHP4 = 'application/x-php';
1214
1215    public const M_PHP5 = 'application/x-php';
1216
1217    public const M_PIC = 'image/x-pict';
1218
1219    public const M_PKG = 'application/octet-stream';
1220
1221    public const M_PKI = 'application/pkixcmp';
1222
1223    public const M_PKIPATH = 'application/pkix-pkipath';
1224
1225    public const M_PLB = 'application/vnd.3gpp.pic-bw-large';
1226
1227    public const M_PLC = 'application/vnd.mobius.plc';
1228
1229    public const M_PLF = 'application/vnd.pocketlearn';
1230
1231    public const M_PLS = 'application/pls+xml';
1232
1233    public const M_PML = 'application/vnd.ctc-posml';
1234
1235    public const M_PNG = 'image/png';
1236
1237    public const M_PNM = 'image/x-portable-anymap';
1238
1239    public const M_PORTPKG = 'application/vnd.macports.portpkg';
1240
1241    public const M_POST = 'application/x-www-form-urlencoded';
1242
1243    public const M_POT = 'application/vnd.ms-powerpoint';
1244
1245    public const M_POTM = 'application/vnd.ms-powerpoint.template.macroenabled.12';
1246
1247    public const M_POTX = 'application/vnd.openxmlformats-officedocument.presentationml.template';
1248
1249    public const M_PPAM = 'application/vnd.ms-powerpoint.addin.macroenabled.12';
1250
1251    public const M_PPD = 'application/vnd.cups-ppd';
1252
1253    public const M_PPM = 'image/x-portable-pixmap';
1254
1255    public const M_PPS = 'application/vnd.ms-powerpoint';
1256
1257    public const M_PPSM = 'application/vnd.ms-powerpoint.slideshow.macroenabled.12';
1258
1259    public const M_PPSX = 'application/vnd.openxmlformats-officedocument.presentationml.slideshow';
1260
1261    public const M_PPT = 'application/vnd.ms-powerpoint';
1262
1263    public const M_PPTM = 'application/vnd.ms-powerpoint.presentation.macroenabled.12';
1264
1265    public const M_PPTX = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';
1266
1267    public const M_PQA = 'application/vnd.palm';
1268
1269    public const M_PRC = 'application/x-mobipocket-ebook';
1270
1271    public const M_PRE = 'application/vnd.lotus-freelance';
1272
1273    public const M_PRF = 'application/pics-rules';
1274
1275    public const M_PS = 'application/postscript';
1276
1277    public const M_PSB = 'application/vnd.3gpp.pic-bw-small';
1278
1279    public const M_PSD = 'image/vnd.adobe.photoshop';
1280
1281    public const M_PSF = 'application/x-font-linux-psf';
1282
1283    public const M_PSKCXML = 'application/pskc+xml';
1284
1285    public const M_PTID = 'application/vnd.pvi.ptid1';
1286
1287    public const M_PUB = 'application/x-mspublisher';
1288
1289    public const M_PVB = 'application/vnd.3gpp.pic-bw-var';
1290
1291    public const M_PWN = 'application/vnd.3m.post-it-notes';
1292
1293    public const M_PYA = 'audio/vnd.ms-playready.media.pya';
1294
1295    public const M_PYV = 'video/vnd.ms-playready.media.pyv';
1296
1297    public const M_QAM = 'application/vnd.epson.quickanime';
1298
1299    public const M_QBO = 'application/vnd.intu.qbo';
1300
1301    public const M_QFX = 'application/vnd.intu.qfx';
1302
1303    public const M_QPS = 'application/vnd.publishare-delta-tree';
1304
1305    public const M_QT = 'video/quicktime';
1306
1307    public const M_QWD = 'application/vnd.quark.quarkxpress';
1308
1309    public const M_QWT = 'application/vnd.quark.quarkxpress';
1310
1311    public const M_QXB = 'application/vnd.quark.quarkxpress';
1312
1313    public const M_QXD = 'application/vnd.quark.quarkxpress';
1314
1315    public const M_QXL = 'application/vnd.quark.quarkxpress';
1316
1317    public const M_QXT = 'application/vnd.quark.quarkxpress';
1318
1319    public const M_RA = 'audio/x-pn-realaudio';
1320
1321    public const M_RAM = 'audio/x-pn-realaudio';
1322
1323    public const M_RAR = 'application/x-rar-compressed';
1324
1325    public const M_RAS = 'image/x-cmu-raster';
1326
1327    public const M_RCPROFILE = 'application/vnd.ipunplugged.rcprofile';
1328
1329    public const M_RDF = 'application/rdf+xml';
1330
1331    public const M_RDZ = 'application/vnd.data-vision.rdz';
1332
1333    public const M_REP = 'application/vnd.businessobjects';
1334
1335    public const M_RES = 'application/x-dtbresource+xml';
1336
1337    public const M_RGB = 'image/x-rgb';
1338
1339    public const M_RIF = 'application/reginfo+xml';
1340
1341    public const M_RIP = 'audio/vnd.rip';
1342
1343    public const M_RIS = 'application/x-research-info-systems';
1344
1345    public const M_RL = 'application/resource-lists+xml';
1346
1347    public const M_RLC = 'image/vnd.fujixerox.edmics-rlc';
1348
1349    public const M_RLD = 'application/resource-lists-diff+xml';
1350
1351    public const M_RM = 'application/vnd.rn-realmedia';
1352
1353    public const M_RMI = 'audio/midi';
1354
1355    public const M_RMP = 'audio/x-pn-realaudio-plugin';
1356
1357    public const M_RMS = 'application/vnd.jcp.javame.midlet-rms';
1358
1359    public const M_RMVB = 'application/vnd.rn-realmedia-vbr';
1360
1361    public const M_RNC = 'application/relax-ng-compact-syntax';
1362
1363    public const M_ROA = 'application/rpki-roa';
1364
1365    public const M_ROFF = 'text/troff';
1366
1367    public const M_RP9 = 'application/vnd.cloanto.rp9';
1368
1369    public const M_RPSS = 'application/vnd.nokia.radio-presets';
1370
1371    public const M_RPST = 'application/vnd.nokia.radio-preset';
1372
1373    public const M_RQ = 'application/sparql-query';
1374
1375    public const M_RS = 'application/rls-services+xml';
1376
1377    public const M_RSD = 'application/rsd+xml';
1378
1379    public const M_RSS = 'application/rss+xml';
1380
1381    public const M_RTF = 'application/rtf';
1382
1383    public const M_RTX = 'text/richtext';
1384
1385    public const M_S = 'text/x-asm';
1386
1387    public const M_S3M = 'audio/s3m';
1388
1389    public const M_SAF = 'application/vnd.yamaha.smaf-audio';
1390
1391    public const M_SBML = 'application/sbml+xml';
1392
1393    public const M_SC = 'application/vnd.ibm.secure-container';
1394
1395    public const M_SCD = 'application/x-msschedule';
1396
1397    public const M_SCM = 'application/vnd.lotus-screencam';
1398
1399    public const M_SCQ = 'application/scvp-cv-request';
1400
1401    public const M_SCS = 'application/scvp-cv-response';
1402
1403    public const M_SCURL = 'text/vnd.curl.scurl';
1404
1405    public const M_SDA = 'application/vnd.stardivision.draw';
1406
1407    public const M_SDC = 'application/vnd.stardivision.calc';
1408
1409    public const M_SDD = 'application/vnd.stardivision.impress';
1410
1411    public const M_SDKD = 'application/vnd.solent.sdkm+xml';
1412
1413    public const M_SDKM = 'application/vnd.solent.sdkm+xml';
1414
1415    public const M_SDP = 'application/sdp';
1416
1417    public const M_SDW = 'application/vnd.stardivision.writer';
1418
1419    public const M_SEE = 'application/vnd.seemail';
1420
1421    public const M_SEED = 'application/vnd.fdsn.seed';
1422
1423    public const M_SEMA = 'application/vnd.sema';
1424
1425    public const M_SEMD = 'application/vnd.semd';
1426
1427    public const M_SEMF = 'application/vnd.semf';
1428
1429    public const M_SER = 'application/java-serialized-object';
1430
1431    public const M_SETPAY = 'application/set-payment-initiation';
1432
1433    public const M_SETREG = 'application/set-registration-initiation';
1434
1435    public const M_SFD_HDSTX = 'application/vnd.hydrostatix.sof-data';
1436
1437    public const M_SFS = 'application/vnd.spotfire.sfs';
1438
1439    public const M_SFV = 'text/x-sfv';
1440
1441    public const M_SGI = 'image/sgi';
1442
1443    public const M_SGL = 'application/vnd.stardivision.writer-global';
1444
1445    public const M_SGM = 'text/sgml';
1446
1447    public const M_SGML = 'text/sgml';
1448
1449    public const M_SH = 'application/x-sh';
1450
1451    public const M_SHAR = 'application/x-shar';
1452
1453    public const M_SHF = 'application/shf+xml';
1454
1455    public const M_SID = 'image/x-mrsid-image';
1456
1457    public const M_SIG = 'application/pgp-signature';
1458
1459    public const M_SIL = 'audio/silk';
1460
1461    public const M_SILO = 'model/mesh';
1462
1463    public const M_SIS = 'application/vnd.symbian.install';
1464
1465    public const M_SISX = 'application/vnd.symbian.install';
1466
1467    public const M_SIT = 'application/x-stuffit';
1468
1469    public const M_SITX = 'application/x-stuffitx';
1470
1471    public const M_SKD = 'application/vnd.koan';
1472
1473    public const M_SKM = 'application/vnd.koan';
1474
1475    public const M_SKP = 'application/vnd.koan';
1476
1477    public const M_SKT = 'application/vnd.koan';
1478
1479    public const M_SLDM = 'application/vnd.ms-powerpoint.slide.macroenabled.12';
1480
1481    public const M_SLDX = 'application/vnd.openxmlformats-officedocument.presentationml.slide';
1482
1483    public const M_SLT = 'application/vnd.epson.salt';
1484
1485    public const M_SM = 'application/vnd.stepmania.stepchart';
1486
1487    public const M_SMF = 'application/vnd.stardivision.math';
1488
1489    public const M_SMI = 'application/smil+xml';
1490
1491    public const M_SMIL = 'application/smil+xml';
1492
1493    public const M_SMV = 'video/x-smv';
1494
1495    public const M_SMZIP = 'application/vnd.stepmania.package';
1496
1497    public const M_SND = 'audio/basic';
1498
1499    public const M_SNF = 'application/x-font-snf';
1500
1501    public const M_SO = 'application/octet-stream';
1502
1503    public const M_SPC = 'application/x-pkcs7-certificates';
1504
1505    public const M_SPF = 'application/vnd.yamaha.smaf-phrase';
1506
1507    public const M_SPL = 'application/x-futuresplash';
1508
1509    public const M_SPOT = 'text/vnd.in3d.spot';
1510
1511    public const M_SPP = 'application/scvp-vp-response';
1512
1513    public const M_SPQ = 'application/scvp-vp-request';
1514
1515    public const M_SPX = 'audio/ogg';
1516
1517    public const M_SQL = 'application/x-sql';
1518
1519    public const M_SRC = 'application/x-wais-source';
1520
1521    public const M_SRT = 'application/x-subrip';
1522
1523    public const M_SRU = 'application/sru+xml';
1524
1525    public const M_SRX = 'application/sparql-results+xml';
1526
1527    public const M_SSDL = 'application/ssdl+xml';
1528
1529    public const M_SSE = 'application/vnd.kodak-descriptor';
1530
1531    public const M_SSF = 'application/vnd.epson.ssf';
1532
1533    public const M_SSML = 'application/ssml+xml';
1534
1535    public const M_ST = 'application/vnd.sailingtracker.track';
1536
1537    public const M_STC = 'application/vnd.sun.xml.calc.template';
1538
1539    public const M_STD = 'application/vnd.sun.xml.draw.template';
1540
1541    public const M_STF = 'application/vnd.wt.stf';
1542
1543    public const M_STI = 'application/vnd.sun.xml.impress.template';
1544
1545    public const M_STK = 'application/hyperstudio';
1546
1547    public const M_STL = 'application/vnd.ms-pki.stl';
1548
1549    public const M_STR = 'application/vnd.pg.format';
1550
1551    public const M_STW = 'application/vnd.sun.xml.writer.template';
1552
1553    public const M_SUB = 'text/vnd.dvb.subtitle';
1554
1555    public const M_SUS = 'application/vnd.sus-calendar';
1556
1557    public const M_SUSP = 'application/vnd.sus-calendar';
1558
1559    public const M_SV4CPIO = 'application/x-sv4cpio';
1560
1561    public const M_SV4CRC = 'application/x-sv4crc';
1562
1563    public const M_SVC = 'application/vnd.dvb.service';
1564
1565    public const M_SVD = 'application/vnd.svd';
1566
1567    public const M_SVG = 'image/svg+xml';
1568
1569    public const M_SVGZ = 'image/svg+xml';
1570
1571    public const M_SWA = 'application/x-director';
1572
1573    public const M_SWF = 'application/x-shockwave-flash';
1574
1575    public const M_SWI = 'application/vnd.aristanetworks.swi';
1576
1577    public const M_SXC = 'application/vnd.sun.xml.calc';
1578
1579    public const M_SXD = 'application/vnd.sun.xml.draw';
1580
1581    public const M_SXG = 'application/vnd.sun.xml.writer.global';
1582
1583    public const M_SXI = 'application/vnd.sun.xml.impress';
1584
1585    public const M_SXM = 'application/vnd.sun.xml.math';
1586
1587    public const M_SXW = 'application/vnd.sun.xml.writer';
1588
1589    public const M_T = 'text/troff';
1590
1591    public const M_T3 = 'application/x-t3vm-image';
1592
1593    public const M_TAGLET = 'application/vnd.mynfc';
1594
1595    public const M_TAO = 'application/vnd.tao.intent-module-archive';
1596
1597    public const M_TAR = 'application/x-tar';
1598
1599    public const M_TCAP = 'application/vnd.3gpp2.tcap';
1600
1601    public const M_TCL = 'application/x-tcl';
1602
1603    public const M_TEACHER = 'application/vnd.smart.teacher';
1604
1605    public const M_TEI = 'application/tei+xml';
1606
1607    public const M_TEICORPUS = 'application/tei+xml';
1608
1609    public const M_TEX = 'application/x-tex';
1610
1611    public const M_TEXI = 'application/x-texinfo';
1612
1613    public const M_TEXINFO = 'application/x-texinfo';
1614
1615    public const M_TEXT = 'text/plain';
1616
1617    public const M_TFI = 'application/thraud+xml';
1618
1619    public const M_TFM = 'application/x-tex-tfm';
1620
1621    public const M_TGA = 'image/x-tga';
1622
1623    public const M_THMX = 'application/vnd.ms-officetheme';
1624
1625    public const M_TIF = 'image/tiff';
1626
1627    public const M_TIFF = 'image/tiff';
1628
1629    public const M_TMO = 'application/vnd.tmobile-livetv';
1630
1631    public const M_TORRENT = 'application/x-bittorrent';
1632
1633    public const M_TPL = 'application/vnd.groove-tool-template';
1634
1635    public const M_TPT = 'application/vnd.trid.tpt';
1636
1637    public const M_TR = 'text/troff';
1638
1639    public const M_TRA = 'application/vnd.trueapp';
1640
1641    public const M_TRM = 'application/x-msterminal';
1642
1643    public const M_TSD = 'application/timestamped-data';
1644
1645    public const M_TSV = 'text/tab-separated-values';
1646
1647    public const M_TTC = 'application/x-font-ttf';
1648
1649    public const M_TTF = 'application/x-font-ttf';
1650
1651    public const M_TTL = 'text/turtle';
1652
1653    public const M_TWD = 'application/vnd.simtech-mindmapper';
1654
1655    public const M_TWDS = 'application/vnd.simtech-mindmapper';
1656
1657    public const M_TXD = 'application/vnd.genomatix.tuxedo';
1658
1659    public const M_TXF = 'application/vnd.mobius.txf';
1660
1661    public const M_TXT = 'text/plain';
1662
1663    public const M_U32 = 'application/x-authorware-bin';
1664
1665    public const M_UDEB = 'application/x-debian-package';
1666
1667    public const M_UFD = 'application/vnd.ufdl';
1668
1669    public const M_UFDL = 'application/vnd.ufdl';
1670
1671    public const M_ULX = 'application/x-glulx';
1672
1673    public const M_UMJ = 'application/vnd.umajin';
1674
1675    public const M_UNITYWEB = 'application/vnd.unity';
1676
1677    public const M_UOML = 'application/vnd.uoml+xml';
1678
1679    public const M_URI = 'text/uri-list';
1680
1681    public const M_URIS = 'text/uri-list';
1682
1683    public const M_URLS = 'text/uri-list';
1684
1685    public const M_USTAR = 'application/x-ustar';
1686
1687    public const M_UTZ = 'application/vnd.uiq.theme';
1688
1689    public const M_UU = 'text/x-uuencode';
1690
1691    public const M_UVA = 'audio/vnd.dece.audio';
1692
1693    public const M_UVD = 'application/vnd.dece.data';
1694
1695    public const M_UVF = 'application/vnd.dece.data';
1696
1697    public const M_UVG = 'image/vnd.dece.graphic';
1698
1699    public const M_UVH = 'video/vnd.dece.hd';
1700
1701    public const M_UVI = 'image/vnd.dece.graphic';
1702
1703    public const M_UVM = 'video/vnd.dece.mobile';
1704
1705    public const M_UVP = 'video/vnd.dece.pd';
1706
1707    public const M_UVS = 'video/vnd.dece.sd';
1708
1709    public const M_UVT = 'application/vnd.dece.ttml+xml';
1710
1711    public const M_UVU = 'video/vnd.uvvu.mp4';
1712
1713    public const M_UVV = 'video/vnd.dece.video';
1714
1715    public const M_UVVA = 'audio/vnd.dece.audio';
1716
1717    public const M_UVVD = 'application/vnd.dece.data';
1718
1719    public const M_UVVF = 'application/vnd.dece.data';
1720
1721    public const M_UVVG = 'image/vnd.dece.graphic';
1722
1723    public const M_UVVH = 'video/vnd.dece.hd';
1724
1725    public const M_UVVI = 'image/vnd.dece.graphic';
1726
1727    public const M_UVVM = 'video/vnd.dece.mobile';
1728
1729    public const M_UVVP = 'video/vnd.dece.pd';
1730
1731    public const M_UVVS = 'video/vnd.dece.sd';
1732
1733    public const M_UVVT = 'application/vnd.dece.ttml+xml';
1734
1735    public const M_UVVU = 'video/vnd.uvvu.mp4';
1736
1737    public const M_UVVV = 'video/vnd.dece.video';
1738
1739    public const M_UVVX = 'application/vnd.dece.unspecified';
1740
1741    public const M_UVVZ = 'application/vnd.dece.zip';
1742
1743    public const M_UVX = 'application/vnd.dece.unspecified';
1744
1745    public const M_UVZ = 'application/vnd.dece.zip';
1746
1747    public const M_VCARD = 'text/vcard';
1748
1749    public const M_VCD = 'application/x-cdlink';
1750
1751    public const M_VCF = 'text/x-vcard';
1752
1753    public const M_VCG = 'application/vnd.groove-vcard';
1754
1755    public const M_VCS = 'text/x-vcalendar';
1756
1757    public const M_VCX = 'application/vnd.vcx';
1758
1759    public const M_VIS = 'application/vnd.visionary';
1760
1761    public const M_VIV = 'video/vnd.vivo';
1762
1763    public const M_VOB = 'video/x-ms-vob';
1764
1765    public const M_VOR = 'application/vnd.stardivision.writer';
1766
1767    public const M_VOX = 'application/x-authorware-bin';
1768
1769    public const M_VRML = 'model/vrml';
1770
1771    public const M_VSD = 'application/vnd.visio';
1772
1773    public const M_VSF = 'application/vnd.vsf';
1774
1775    public const M_VSS = 'application/vnd.visio';
1776
1777    public const M_VST = 'application/vnd.visio';
1778
1779    public const M_VSW = 'application/vnd.visio';
1780
1781    public const M_VTU = 'model/vnd.vtu';
1782
1783    public const M_VXML = 'application/voicexml+xml';
1784
1785    public const M_W3D = 'application/x-director';
1786
1787    public const M_WAD = 'application/x-doom';
1788
1789    public const M_WAV = 'audio/x-wav';
1790
1791    public const M_WAX = 'audio/x-ms-wax';
1792
1793    public const M_WBMP = 'image/vnd.wap.wbmp';
1794
1795    public const M_WBS = 'application/vnd.criticaltools.wbs+xml';
1796
1797    public const M_WBXML = 'application/vnd.wap.wbxml';
1798
1799    public const M_WCM = 'application/vnd.ms-works';
1800
1801    public const M_WDB = 'application/vnd.ms-works';
1802
1803    public const M_WDP = 'image/vnd.ms-photo';
1804
1805    public const M_WEBA = 'audio/webm';
1806
1807    public const M_WEBM = 'video/webm';
1808
1809    public const M_WEBP = 'image/webp';
1810
1811    public const M_WG = 'application/vnd.pmi.widget';
1812
1813    public const M_WGT = 'application/widget';
1814
1815    public const M_WKS = 'application/vnd.ms-works';
1816
1817    public const M_WM = 'video/x-ms-wm';
1818
1819    public const M_WMA = 'audio/x-ms-wma';
1820
1821    public const M_WMD = 'application/x-ms-wmd';
1822
1823    public const M_WMF = 'application/x-msmetafile';
1824
1825    public const M_WML = 'text/vnd.wap.wml';
1826
1827    public const M_WMLC = 'application/vnd.wap.wmlc';
1828
1829    public const M_WMLS = 'text/vnd.wap.wmlscript';
1830
1831    public const M_WMLSC = 'application/vnd.wap.wmlscriptc';
1832
1833    public const M_WMV = 'video/x-ms-wmv';
1834
1835    public const M_WMX = 'video/x-ms-wmx';
1836
1837    public const M_WMZ = 'application/x-msmetafile';
1838
1839    public const M_WOFF = 'application/font-woff';
1840
1841    public const M_WPD = 'application/vnd.wordperfect';
1842
1843    public const M_WPL = 'application/vnd.ms-wpl';
1844
1845    public const M_WPS = 'application/vnd.ms-works';
1846
1847    public const M_WQD = 'application/vnd.wqd';
1848
1849    public const M_WRI = 'application/x-mswrite';
1850
1851    public const M_WRL = 'model/vrml';
1852
1853    public const M_WSDL = 'application/wsdl+xml';
1854
1855    public const M_WSPOLICY = 'application/wspolicy+xml';
1856
1857    public const M_WTB = 'application/vnd.webturbo';
1858
1859    public const M_WVX = 'video/x-ms-wvx';
1860
1861    public const M_X32 = 'application/x-authorware-bin';
1862
1863    public const M_X3D = 'model/x3d+xml';
1864
1865    public const M_X3DB = 'model/x3d+binary';
1866
1867    public const M_X3DBZ = 'model/x3d+binary';
1868
1869    public const M_X3DV = 'model/x3d+vrml';
1870
1871    public const M_X3DVZ = 'model/x3d+vrml';
1872
1873    public const M_X3DZ = 'model/x3d+xml';
1874
1875    public const M_XAML = 'application/xaml+xml';
1876
1877    public const M_XAP = 'application/x-silverlight-app';
1878
1879    public const M_XAR = 'application/vnd.xara';
1880
1881    public const M_XBAP = 'application/x-ms-xbap';
1882
1883    public const M_XBD = 'application/vnd.fujixerox.docuworks.binder';
1884
1885    public const M_XBM = 'image/x-xbitmap';
1886
1887    public const M_XDF = 'application/xcap-diff+xml';
1888
1889    public const M_XDM = 'application/vnd.syncml.dm+xml';
1890
1891    public const M_XDP = 'application/vnd.adobe.xdp+xml';
1892
1893    public const M_XDSSC = 'application/dssc+xml';
1894
1895    public const M_XDW = 'application/vnd.fujixerox.docuworks';
1896
1897    public const M_XENC = 'application/xenc+xml';
1898
1899    public const M_XER = 'application/patch-ops-error+xml';
1900
1901    public const M_XFDF = 'application/vnd.adobe.xfdf';
1902
1903    public const M_XFDL = 'application/vnd.xfdl';
1904
1905    public const M_XHT = 'application/xhtml+xml';
1906
1907    public const M_XHTML = 'application/xhtml+xml';
1908
1909    public const M_XHVML = 'application/xv+xml';
1910
1911    public const M_XIF = 'image/vnd.xiff';
1912
1913    public const M_XLA = 'application/vnd.ms-excel';
1914
1915    public const M_XLAM = 'application/vnd.ms-excel.addin.macroenabled.12';
1916
1917    public const M_XLC = 'application/vnd.ms-excel';
1918
1919    public const M_XLF = 'application/x-xliff+xml';
1920
1921    public const M_XLM = 'application/vnd.ms-excel';
1922
1923    public const M_XLS = 'application/vnd.ms-excel';
1924
1925    public const M_XLSB = 'application/vnd.ms-excel.sheet.binary.macroenabled.12';
1926
1927    public const M_XLSM = 'application/vnd.ms-excel.sheet.macroenabled.12';
1928
1929    public const M_XLSX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
1930
1931    public const M_XLT = 'application/vnd.ms-excel';
1932
1933    public const M_XLTM = 'application/vnd.ms-excel.template.macroenabled.12';
1934
1935    public const M_XLTX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.template';
1936
1937    public const M_XLW = 'application/vnd.ms-excel';
1938
1939    public const M_XM = 'audio/xm';
1940
1941    public const M_XML = 'application/xml';
1942
1943    public const M_XO = 'application/vnd.olpc-sugar';
1944
1945    public const M_XOP = 'application/xop+xml';
1946
1947    public const M_XPI = 'application/x-xpinstall';
1948
1949    public const M_XPL = 'application/xproc+xml';
1950
1951    public const M_XPM = 'image/x-xpixmap';
1952
1953    public const M_XPR = 'application/vnd.is-xpr';
1954
1955    public const M_XPS = 'application/vnd.ms-xpsdocument';
1956
1957    public const M_XPW = 'application/vnd.intercon.formnet';
1958
1959    public const M_XPX = 'application/vnd.intercon.formnet';
1960
1961    public const M_XSL = 'application/xml';
1962
1963    public const M_XSLT = 'application/xslt+xml';
1964
1965    public const M_XSM = 'application/vnd.syncml+xml';
1966
1967    public const M_XSPF = 'application/xspf+xml';
1968
1969    public const M_XUL = 'application/vnd.mozilla.xul+xml';
1970
1971    public const M_XVM = 'application/xv+xml';
1972
1973    public const M_XVML = 'application/xv+xml';
1974
1975    public const M_XWD = 'image/x-xwindowdump';
1976
1977    public const M_XYZ = 'chemical/x-xyz';
1978
1979    public const M_XZ = 'application/x-xz';
1980
1981    public const M_YANG = 'application/yang';
1982
1983    public const M_YIN = 'application/yin+xml';
1984
1985    public const M_Z1 = 'application/x-zmachine';
1986
1987    public const M_Z2 = 'application/x-zmachine';
1988
1989    public const M_Z3 = 'application/x-zmachine';
1990
1991    public const M_Z4 = 'application/x-zmachine';
1992
1993    public const M_Z5 = 'application/x-zmachine';
1994
1995    public const M_Z6 = 'application/x-zmachine';
1996
1997    public const M_Z7 = 'application/x-zmachine';
1998
1999    public const M_Z8 = 'application/x-zmachine';
2000
2001    public const M_ZAZ = 'application/vnd.zzazz.deck+xml';
2002
2003    public const M_ZIP = 'application/zip';
2004
2005    public const M_ZIR = 'application/vnd.zul';
2006
2007    public const M_ZIRZ = 'application/vnd.zul';
2008
2009    public const M_ZMM = 'application/vnd.handheld-entertainment+xml';
2010
2011    public const M_123 = 'application/vnd.lotus-1-2-3';
2012
2013    /**
2014     * Get mime from file extension
2015     *
2016     * @param string $extension Extension
2017     *
2018     * @return string
2019     *
2020     * @since 1.0.0
2021     */
2022    public static function extensionToMime(string $extension) : string
2023    {
2024        try {
2025            return (string) (self::getByName('M_' . \strtoupper($extension)) ?? 'application/octet-stream');
2026        } catch (\Throwable $_) {
2027            return 'application/octet-stream';
2028        }
2029    }
2030
2031    /**
2032     * Get the file extension from a mime
2033     *
2034     * @param string $mime Mime
2035     *
2036     * @return null|string
2037     *
2038     * @since 1.0.0
2039     * @todo continue implementation
2040     */
2041    public static function mimeToExtension(string $mime) : ?string
2042    {
2043        switch($mime) {
2044            case self::M_PDF:
2045                return 'pdf';
2046            case self::M_JPEG:
2047            case self::M_JPG:
2048                return 'jpg';
2049            case self::M_BMP:
2050                return 'bmp';
2051            case self::M_GIF:
2052                return 'gif';
2053            case self::M_HTML:
2054            case self::M_HTM:
2055                return 'htm';
2056            default:
2057                return null;
2058        }
2059    }
2060}