107107) ;
108108
109109add ( "rpm" , [ "0xed" , "0xab" , "0xee" , "0xdb" ] ) ;
110- add ( "bin" , [ "0x53" , "0x50" , "0x30" , "0x31" ] ) ;
110+ add ( "bin" , [ "0x53" , "0x50" , "0x30" , "0x31" ] , { mime : "application/octet-stream" , extension : "bin" } ) ;
111111add ( "pic" , [ "0x00" ] ) ;
112112add ( "pif" , [ "0x00" ] ) ;
113113add ( "sea" , [ "0x00" ] ) ;
@@ -142,7 +142,7 @@ add("dba", ["0xBE", "0xBA", "0xFE", "0xCA"]);
142142add ( "dba2" , [ "0x00" , "0x01" , "0x42" , "0x44" ] ) ;
143143add ( "tda" , [ "0x00" , "0x01" , "0x44" , "0x54" ] ) ;
144144add ( "tda2" , [ "0x00" , "0x01" , "0x00" , "0x00" ] ) ;
145- add ( "ico" , [ "0x00" , "0x00" , "0x01" , "0x00" ] ) ;
145+ add ( "ico" , [ "0x00" , "0x00" , "0x01" , "0x00" ] , { mime : "image/x-icon" , extension : "ico" } ) ;
146146add ( "3gp" , [ "0x66" , "0x74" , "0x79" , "0x70" , "0x33" , "0x67" ] ) ;
147147add ( "z" , [ "0x1F" , "0x9D" ] ) ;
148148add ( "tar.z" , [ "0x1F" , "0xA0" ] ) ;
@@ -160,9 +160,9 @@ add("bac", [
160160 "0x53" ,
161161 "0x4B"
162162] ) ;
163- add ( "bz2" , [ "0x42" , "0x5A" , "0x68" ] ) ;
164- add ( "tif" , [ "0x49" , "0x49" , "0x2A" , "0x00" ] ) ;
165- add ( "tiff" , [ "0x4D" , "0x4D" , "0x00" , "0x2A" ] ) ;
163+ add ( "bz2" , [ "0x42" , "0x5A" , "0x68" ] , { mime : "application/x-bzip2" , extension : "bz2" } ) ;
164+ add ( "tif" , [ "0x49" , "0x49" , "0x2A" , "0x00" ] , { mime : "image/tiff" , extension : "tif" } ) ;
165+ add ( "tiff" , [ "0x4D" , "0x4D" , "0x00" , "0x2A" ] , { mime : "image/tiff" , extension : "tiff" } ) ;
166166add ( "cr2" , [
167167 "0x49" ,
168168 "0x49" ,
@@ -351,7 +351,7 @@ add("aiff", [
351351 "0x49" ,
352352 "0x46" ,
353353 "0x46"
354- ] ) ;
354+ ] , { mime : "audio/x-aiff" , extension : "aiff" } ) ;
355355add ( "idx" , [ "0x49" , "0x4E" , "0x44" , "0x58" ] ) ;
356356add ( "lz" , [ "0x4C" , "0x5A" , "0x49" , "0x50" ] ) ;
357357add ( "exe" , [ "0x4D" , "0x5A" ] ) ;
@@ -369,33 +369,33 @@ add("zip", ["0x50", "0x4B", "0x07", "0x08"], {
369369 extension : "zip"
370370} ) ;
371371
372- add ( "jar" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] ) ;
373- add ( "jar" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] ) ;
374- add ( "jar" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] ) ;
372+ add ( "jar" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] , { mime : "application/java-archive" , extension : "jar" } ) ;
373+ add ( "jar" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] , { mime : "application/java-archive" , extension : "jar" } ) ;
374+ add ( "jar" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] , { mime : "application/java-archive" , extension : "jar" } ) ;
375375
376- add ( "odt" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] ) ;
377- add ( "odt" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] ) ;
378- add ( "odt" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] ) ;
376+ add ( "odt" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] , { mime : "application/vnd.oasis.opendocument.text" , extension : "odt" } ) ;
377+ add ( "odt" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] , { mime : "application/vnd.oasis.opendocument.text" , extension : "odt" } ) ;
378+ add ( "odt" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] , { mime : "application/vnd.oasis.opendocument.text" , extension : "odt" } ) ;
379379
380- add ( "ods" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] ) ;
381- add ( "ods" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] ) ;
382- add ( "ods" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] ) ;
380+ add ( "ods" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] , { mime : "application/vnd.oasis.opendocument.spreadsheet" , extension : "ods" } ) ;
381+ add ( "ods" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] , { mime : "application/vnd.oasis.opendocument.spreadsheet" , extension : "ods" } ) ;
382+ add ( "ods" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] , { mime : "application/vnd.oasis.opendocument.spreadsheet" , extension : "ods" } ) ;
383383
384- add ( "odp" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] ) ;
385- add ( "odp" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] ) ;
386- add ( "odp" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] ) ;
384+ add ( "odp" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] , { mime : "application/vnd.oasis.opendocument.presentation" , extension : "odp" } ) ;
385+ add ( "odp" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] , { mime : "application/vnd.oasis.opendocument.presentation" , extension : "odp" } ) ;
386+ add ( "odp" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] , { mime : "application/vnd.oasis.opendocument.presentation" , extension : "odp" } ) ;
387387
388- add ( "docx" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] ) ;
389- add ( "docx" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] ) ;
390- add ( "docx" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] ) ;
388+ add ( "docx" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] , { mime : "application/vnd.openxmlformats-officedocument.wordprocessingml.document" , extension : "docx" } ) ;
389+ add ( "docx" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] , { mime : "application/vnd.openxmlformats-officedocument.wordprocessingml.document" , extension : "docx" } ) ;
390+ add ( "docx" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] , { mime : "application/vnd.openxmlformats-officedocument.wordprocessingml.document" , extension : "docx" } ) ;
391391
392- add ( "xlsx" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] ) ;
393- add ( "xlsx" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] ) ;
394- add ( "xlsx" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] ) ;
392+ add ( "xlsx" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] , { mime : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" , extension : "xlsx" } ) ;
393+ add ( "xlsx" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] , { mime : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" , extension : "xlsx" } ) ;
394+ add ( "xlsx" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] , { mime : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" , extension : "xlsx" } ) ;
395395
396- add ( "pptx" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] ) ;
397- add ( "pptx" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] ) ;
398- add ( "pptx" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] ) ;
396+ add ( "pptx" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] , { mime : "application/vnd.openxmlformats-officedocument.presentationml.presentation" , extension : "pptx" } ) ;
397+ add ( "pptx" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] , { mime : "application/vnd.openxmlformats-officedocument.presentationml.presentation" , extension : "pptx" } ) ;
398+ add ( "pptx" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] , { mime : "application/vnd.openxmlformats-officedocument.presentationml.presentation" , extension : "pptx" } ) ;
399399
400400add ( "vsdx" , [ "0x50" , "0x4B" , "0x03" , "0x04" ] ) ;
401401add ( "vsdx" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] ) ;
@@ -409,9 +409,9 @@ add("aar", ["0x50", "0x4B", "0x03", "0x04"]);
409409add ( "aar" , [ "0x50" , "0x4B" , "0x05" , "0x06" ] ) ;
410410add ( "aar" , [ "0x50" , "0x4B" , "0x07" , "0x08" ] ) ;
411411
412- add ( "rar" , [ "0x52" , "0x61" , "0x72" , "0x21" , "0x1A" , "0x07" , "0x00" ] ) ;
413- add ( "rar" , [ "0x52" , "0x61" , "0x72" , "0x21" , "0x1A" , "0x07" , "0x01" , "0x00" ] ) ;
414- add ( "rar" , [ "0x7F" , "0x45" , "0x4C" , "0x46" ] ) ;
412+ add ( "rar" , [ "0x52" , "0x61" , "0x72" , "0x21" , "0x1A" , "0x07" , "0x00" ] , { mime : "application/vnd.rar" , extension : "rar" } ) ;
413+ add ( "rar" , [ "0x52" , "0x61" , "0x72" , "0x21" , "0x1A" , "0x07" , "0x01" , "0x00" ] , { mime : "application/vnd.rar" , extension : "rar" } ) ;
414+ add ( "rar" , [ "0x7F" , "0x45" , "0x4C" , "0x46" ] , { mime : "application/vnd.rar" , extension : "rar" } ) ;
415415
416416add ( "png" , [ "0x89" , "0x50" , "0x4E" , "0x47" , "0x0D" , "0x0A" , "0x1A" , "0x0A" ] , {
417417 mime : "image/png" ,
@@ -429,7 +429,7 @@ add("class", ["0xFF", "0xFE"]);
429429add ( "class" , [ "0xFF" , "0xFE" , "0x00" , "0x00" ] ) ;
430430
431431add ( "ps" , [ "0x25" , "0x21" , "0x50" , "0x53" ] ) ;
432- add ( "pdf" , [ "0x25" , "0x50" , "0x44" , "0x46" ] ) ;
432+ add ( "pdf" , [ "0x25" , "0x50" , "0x44" , "0x46" ] , { mime : "application/pdf" , extension : "pdf" } ) ;
433433
434434add ( "asf" , [
435435 "0x30" ,
@@ -497,11 +497,11 @@ add("deploymentimage", [
497497 "0x31"
498498] ) ;
499499
500- add ( "ogg" , [ "0x4F" , "0x67" , "0x67" , "0x53" ] ) ;
501- add ( "oga" , [ "0x4F" , "0x67" , "0x67" , "0x53" ] ) ;
502- add ( "ogv" , [ "0x4F" , "0x67" , "0x67" , "0x53" ] ) ;
500+ add ( "ogg" , [ "0x4F" , "0x67" , "0x67" , "0x53" ] , { mime : "audio/ogg" , extension : "ogg" } ) ;
501+ add ( "oga" , [ "0x4F" , "0x67" , "0x67" , "0x53" ] , { mime : "audio/ogg" , extension : "oga" } ) ;
502+ add ( "ogv" , [ "0x4F" , "0x67" , "0x67" , "0x53" ] , { mime : "video/ogg" , extension : "ogv" } ) ;
503503
504- add ( "psd" , [ "0x38" , "0x42" , "0x50" , "0x53" ] ) ;
504+ add ( "psd" , [ "0x38" , "0x42" , "0x50" , "0x53" ] , { mime : "application/x-photoshop" , extension : "psd" } ) ;
505505
506506add (
507507 "wav" ,
@@ -534,23 +534,23 @@ add("avi", [
534534 "0x56" ,
535535 "0x49" ,
536536 "0x20"
537- ] ) ;
537+ ] , { mime : "video/x-msvideo" , extension : "avi" } ) ;
538538
539- add ( "mp3" , [ "0xFF" , "0xFB" ] ) ;
540- add ( "mp3" , [ "0x49" , "0x44" , "0x33" ] ) ;
539+ add ( "mp3" , [ "0xFF" , "0xFB" ] , { mime : "audio/mpeg" , extension : "mp3" } ) ;
540+ add ( "mp3" , [ "0x49" , "0x44" , "0x33" ] , { mime : "audio/mpeg" , extension : "mp3" } ) ;
541541
542542add ( "bmp" , [ "0x42" , "0x4D" ] , { mime : "image/bmp" , extension : "bmp" } ) ;
543543
544544add ( "iso" , [ "0x43" , "0x44" , "0x30" , "0x30" , "0x31" ] ) ;
545545
546546add ( "flac" , [ "0x66" , "0x4C" , "0x61" , "0x43" ] ) ;
547547
548- add ( "mid" , [ "0x4D" , "0x54" , "0x68" , "0x64" ] ) ;
549- add ( "midi" , [ "0x4D" , "0x54" , "0x68" , "0x64" ] ) ;
548+ add ( "mid" , [ "0x4D" , "0x54" , "0x68" , "0x64" ] , { mime : "audio/midi" , extension : "mid" } ) ;
549+ add ( "midi" , [ "0x4D" , "0x54" , "0x68" , "0x64" ] , { mime : "audio/midi" , extension : "midi" } ) ;
550550
551- add ( "doc" , [ "0xD0" , "0xCF" , "0x11" , "0xE0" , "0xA1" , "0xB1" , "0x1A" , "0xE1" ] ) ;
552- add ( "xls" , [ "0xD0" , "0xCF" , "0x11" , "0xE0" , "0xA1" , "0xB1" , "0x1A" , "0xE1" ] ) ;
553- add ( "ppt" , [ "0xD0" , "0xCF" , "0x11" , "0xE0" , "0xA1" , "0xB1" , "0x1A" , "0xE1" ] ) ;
551+ add ( "doc" , [ "0xD0" , "0xCF" , "0x11" , "0xE0" , "0xA1" , "0xB1" , "0x1A" , "0xE1" ] , { mime : "application/msword" , extension : "doc" } ) ;
552+ add ( "xls" , [ "0xD0" , "0xCF" , "0x11" , "0xE0" , "0xA1" , "0xB1" , "0x1A" , "0xE1" ] , { mime : "application/vnd.ms-excel" , extension : "xls" } ) ;
553+ add ( "ppt" , [ "0xD0" , "0xCF" , "0x11" , "0xE0" , "0xA1" , "0xB1" , "0x1A" , "0xE1" ] , { mime : "application/vnd.ms-powerpoint" , extension : "ppt" } ) ;
554554add ( "msg" , [ "0xD0" , "0xCF" , "0x11" , "0xE0" , "0xA1" , "0xB1" , "0x1A" , "0xE1" ] ) ;
555555
556556add ( "dex" , [ "0x64" , "0x65" , "0x78" , "0x0A" , "0x30" , "0x33" , "0x35" , "0x00" ] ) ;
@@ -638,34 +638,34 @@ add("windowsupdate", [
638638 "0x33" ,
639639 "0x30"
640640] ) ;
641- add ( "7z" , [ "0x37" , "0x7A" , "0xBC" , "0xAF" , "0x27" , "0x1C" ] ) ;
641+ add ( "7z" , [ "0x37" , "0x7A" , "0xBC" , "0xAF" , "0x27" , "0x1C" ] , { mime : "application/x-7z-compressed" , extension : "7z" } ) ;
642642
643- add ( "gz" , [ "0x1F" , "0x8B" ] ) ;
644- add ( "tar.gz" , [ "0x1F" , "0x8B" ] ) ;
643+ add ( "gz" , [ "0x1F" , "0x8B" ] , { mime : "application/gzip" , extension : "gz" } ) ;
644+ add ( "tar.gz" , [ "0x1F" , "0x8B" ] , { mime : "application/gzip" , extension : "tar.gz" } ) ;
645645
646- add ( "xz" , [ "0xFD" , "0x37" , "0x7A" , "0x58" , "0x5A" , "0x00" , "0x00" ] ) ;
647- add ( "tar.xz" , [ "0xFD" , "0x37" , "0x7A" , "0x58" , "0x5A" , "0x00" , "0x00" ] ) ;
646+ add ( "xz" , [ "0xFD" , "0x37" , "0x7A" , "0x58" , "0x5A" , "0x00" , "0x00" ] , { mime : "application/gzip" , extension : "xz" } ) ;
647+ add ( "tar.xz" , [ "0xFD" , "0x37" , "0x7A" , "0x58" , "0x5A" , "0x00" , "0x00" ] , { mime : "application/gzip" , extension : "tar.xz" } ) ;
648648
649649add ( "lz2" , [ "0x04" , "0x22" , "0x4D" , "0x18" ] ) ;
650650add ( "cab" , [ "0x4D" , "0x53" , "0x43" , "0x46" ] ) ;
651651add ( "mkv" , [ "0x1A" , "0x45" , "0xDF" , "0xA3" ] ) ;
652652add ( "mka" , [ "0x1A" , "0x45" , "0xDF" , "0xA3" ] ) ;
653653add ( "mks" , [ "0x1A" , "0x45" , "0xDF" , "0xA3" ] ) ;
654654add ( "mk3d" , [ "0x1A" , "0x45" , "0xDF" , "0xA3" ] ) ;
655- add ( "webm" , [ "0x1A" , "0x45" , "0xDF" , "0xA3" ] ) ;
655+ add ( "webm" , [ "0x1A" , "0x45" , "0xDF" , "0xA3" ] , { mime : "audio/webm" , extension : "webm" } ) ;
656656add ( "dcm" , [ "0x44" , "0x49" , "0x43" , "0x4D" ] , undefined , 0x80 ) ;
657- add ( "xml" , [ "0x3C" , "0x3f" , "0x78" , "0x6d" , "0x6C" , "0x20" ] ) ;
657+ add ( "xml" , [ "0x3C" , "0x3f" , "0x78" , "0x6d" , "0x6C" , "0x20" ] , { mime : "application/xml" , extension : "xml" } ) ;
658658add ( "wasm" , [ "0x00" , "0x61" , "0x73" , "0x6d" ] ) ;
659659add ( "lep" , [ "0xCF" , "0x84" , "0x01" ] ) ;
660- add ( "swf" , [ "0x43" , "0x57" , "0x53" ] ) ;
661- add ( "swf" , [ "0x46" , "0x57" , "0x53" ] ) ;
660+ add ( "swf" , [ "0x43" , "0x57" , "0x53" ] , { mime : "application/x-shockwave-flash" , extension : "swf" } ) ;
661+ add ( "swf" , [ "0x46" , "0x57" , "0x53" ] , { mime : "application/x-shockwave-flash" , extension : "swf" } ) ;
662662add ( "deb" , [ "0x21" , "0x3C" , "0x61" , "0x72" , "0x63" , "0x68" , "0x3E" ] ) ;
663663
664- add ( "rtf" , [ "0x7B" , "0x5C" , "0x72" , "0x74" , "0x66" , "0x31" ] ) ;
664+ add ( "rtf" , [ "0x7B" , "0x5C" , "0x72" , "0x74" , "0x66" , "0x31" ] , { mime : "application/rtf" , extension : "rtf" } ) ;
665665
666666add ( "m2p" , [ "0x00" , "0x00" , "0x01" , "0xBA" ] ) ;
667667add ( "vob" , [ "0x00" , "0x00" , "0x01" , "0xBA" ] ) ;
668- add ( "mpg" , [ "0x00" , "0x00" , "0x01" , "0xBA" ] ) ;
668+ add ( "mpg" , [ "0x00" , "0x00" , "0x01" , "0xBA" ] , { mime : "video/mpeg" , extension : "mpg" } ) ;
669669add ( "mpeg" , [ "0x00" , "0x00" , "0x01" , "0xBA" ] , {
670670 mime : "video/mpeg" ,
671671 extension : "mpeg"
0 commit comments