diff --git a/docs/file-scanning.md b/docs/file-scanning.md index 327845326..30dfbd8a6 100644 --- a/docs/file-scanning.md +++ b/docs/file-scanning.md @@ -6,6 +6,7 @@ To specify which files should be extracted, the following values are acceptable * `none`: no file extraction * `interesting`: extraction of files with mime types of common attack vectors +* `notcommtxt`: extraction of all files except common plain text files * `mapped`: extraction of files with recognized mime types * `known`: extraction of files for which any mime type can be determined * `all`: extract all files diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 66a67f07e..0c3cd1da6 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -401,6 +401,7 @@ Enable file extraction with Zeek? (y / N): y 3: mapped 4: all 5: interesting +6: notcommtxt Select file extraction behavior (none): 5 1: quarantined diff --git a/docs/malcolm-hedgehog-e2e-iso-install.md b/docs/malcolm-hedgehog-e2e-iso-install.md index 61c6822bb..1d7308a8d 100644 --- a/docs/malcolm-hedgehog-e2e-iso-install.md +++ b/docs/malcolm-hedgehog-e2e-iso-install.md @@ -228,6 +228,7 @@ The [configuration and tuning](malcolm-config.md#ConfigAndTuning) wizard's quest + `mapped`: extraction of files with recognized mime types + `known`: extraction of files for which any mime type can be determined + `all`: extract all files + + `notcommtxt`: extract all files except common plain text files * **Select file preservation behavior** - This determines the behavior for preservation of Zeek-extracted files: + `quarantined`: preserve only flagged files in `./zeek-logs/extract_files/quarantine` diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md index 5d5706157..0fbea72a7 100644 --- a/docs/ubuntu-install-example.md +++ b/docs/ubuntu-install-example.md @@ -160,6 +160,7 @@ Enable file extraction with Zeek? (y / N): y 3: mapped 4: all 5: interesting +6: notcommtxt Select file extraction behavior (none): 5 1: quarantined diff --git a/scripts/install.py b/scripts/install.py index a3f1d09c1..6bfe064d6 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -1184,7 +1184,14 @@ def tweak_malcolm_runtime(self, malcolm_install_path): ) # input file extraction parameters - allowedFileCarveModes = ('none', 'known', 'mapped', 'all', 'interesting') + allowedFileCarveModes = { + 'none': 'No file extraction', + 'known': 'Extract recognized MIME types', + 'mapped': 'Extract MIME types for which file extensions are known', + 'all': 'Extract all files', + 'interesting': 'Extract MIME types of common attack vectors', + 'notcommtxt': 'Extract all except common plain text files', + } allowedFilePreserveModes = ('quarantined', 'all', 'none') fileCarveMode = None @@ -1202,12 +1209,16 @@ def tweak_malcolm_runtime(self, malcolm_install_path): if InstallerYesOrNo('Enable file extraction with Zeek?', default=bool(fileCarveModeDefault)): loopBreaker = CountUntilException(MaxAskForValueCount, 'Invalid file extraction behavior') - while fileCarveMode not in allowedFileCarveModes and loopBreaker.increment(): + while fileCarveMode not in allowedFileCarveModes.keys() and loopBreaker.increment(): fileCarveMode = InstallerChooseOne( 'Select file extraction behavior', choices=[ - (x, '', x == fileCarveModeDefault if fileCarveModeDefault else allowedFileCarveModes[0]) - for x in allowedFileCarveModes + ( + x, + allowedFileCarveModes[x], + x == fileCarveModeDefault if fileCarveModeDefault else 'none', + ) + for x in allowedFileCarveModes.keys() ], ) if fileCarveMode and (fileCarveMode != 'none'): @@ -1256,9 +1267,9 @@ def tweak_malcolm_runtime(self, malcolm_install_path): 'Download updated file scanner signatures periodically?', default=args.fileScanRuleUpdate ) - if fileCarveMode not in allowedFileCarveModes: - fileCarveMode = allowedFileCarveModes[0] - if filePreserveMode not in allowedFileCarveModes: + if fileCarveMode not in allowedFileCarveModes.keys(): + fileCarveMode = 'none' + if filePreserveMode not in allowedFilePreserveModes: filePreserveMode = allowedFilePreserveModes[0] if (vtotApiKey is None) or (len(vtotApiKey) <= 1): vtotApiKey = '0' @@ -3685,7 +3696,7 @@ def main(): '--file-extraction', dest='fileCarveMode', required=False, - metavar='', + metavar='', type=str, default='none', help='Zeek file extraction behavior', diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek index 07e745368..643b67bc4 100644 --- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek +++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek @@ -17,7 +17,9 @@ event file_sniff(f: fa_file, meta: fa_metadata) { # we only want to extract knowns and we know the mime type OR ((extractor_extract_mode == extractor_extract_known) && meta?$mime_type) || # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped - ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map))) { + ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map)) || + # we want to extract everything except common plain-text mimes, and either there's no mime type or the mime type isn't one of those + ((extractor_extract_mode == extractor_extract_notcommtxt) && ((! meta?$mime_type) || (meta$mime_type !in plain_text_mimes)))) { local ext: string = ""; if (! meta?$mime_type) diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek index 2ffb8a8a2..e72dd0f15 100644 --- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek +++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek @@ -3,937 +3,792 @@ # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. export { - const extractor_extract_none = "none" &redef; - const extractor_extract_known = "known" &redef; - const extractor_extract_mapped = "mapped" &redef; - const extractor_extract_all = "all" &redef; + const extractor_extract_none = "none" &redef; + const extractor_extract_known = "known" &redef; + const extractor_extract_mapped = "mapped" &redef; + const extractor_extract_all = "all" &redef; + const extractor_extract_notcommtxt = "notcommtxt" &redef; const extractor_always_extract_unknown = F &redef; - const extractor_max_size_default = 268435456 &redef; + const extractor_max_size_default = 134217728 &redef; + + const plain_text_mimes : set[string] = { + "application/json", + "application/x-x509-ca-cert", + "application/xml", + "text/plain", + "text/xml", + } &redef; # wget -qO- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | egrep -v ^# | awk '{ for (i=2; i<=NF; i++) {print "[\x22"$1"\x22]"" = ""\x22"$i"\x22,"}}' | sort const extractor_mime_to_ext_map : table[string] of string = { - ["application/acad"]= "dwg", - ["application/andrew-inset"]= "ez", - ["application/annodex"]= "anx", - ["application/applixware"]= "aw", - ["application/atom+xml"]= "atom", - ["application/atomcat+xml"]= "atomcat", - ["application/atomsvc+xml"]= "atomsvc", - ["application/binary"]= "bin", - ["application/ccxml+xml"]= "ccxml", - ["application/cdmi-capability"]= "cdmia", - ["application/cdmi-container"]= "cdmic", - ["application/cdmi-domain"]= "cdmid", - ["application/cdmi-object"]= "cdmio", - ["application/cdmi-queue"]= "cdmiq", - ["application/cu-seeme"]= "cu", - ["application/davmount+xml"]= "davmount", - ["application/directx"]= "x", - ["application/docbook+xml"]= "dbk", - ["application/dssc+der"]= "dssc", - ["application/dssc+xml"]= "xdssc", - ["application/ecmascript"]= "es", - ["application/emma+xml"]= "emma", - ["application/envoy"]= "evy", - ["application/epub+zip"]= "epub", - ["application/etl"]= "etl", - ["application/exi"]= "exi", - ["application/font-sfnt"]= "ttf", - ["application/fractals"]= "fif", - ["application/fsharp-script"]= "fsscript", - ["application/futuresplash"]= "spl", - ["application/gml+xml"]= "gml", - ["application/gpx+xml"]= "gpx", - ["application/gxf"]= "gxf", - ["application/hta"]= "hta", - ["application/hyperstudio"]= "stk", - ["application/inkml+xml"]= "inkml", - ["application/internet-property-stream"]= "acx", - ["application/ipfix"]= "ipfix", - ["application/java-archive"]= "jar", - ["application/java-serialized-object"]= "ser", - ["application/java-vm"]= "class", - ["application/javascript"]= "js", - ["application/json"]= "json", - ["application/jsonml+json"]= "jsonml", - ["application/liquidmotion"]= "jck", - ["application/lost+xml"]= "lostxml", - ["application/mac-binhex40"]= "hqx", - ["application/mac-compactpro"]= "cpt", - ["application/mads+xml"]= "mads", - ["application/marc"]= "mrc", - ["application/marcxml+xml"]= "mrcx", - ["application/mathematica"]= "ma", - ["application/mathml+xml"]= "mathml", - ["application/mbox"]= "mbox", - ["application/mediaservercontrol+xml"]= "mscml", - ["application/metalink+xml"]= "metalink", - ["application/metalink4+xml"]= "meta4", - ["application/mets+xml"]= "mets", - ["application/mods+xml"]= "mods", - ["application/mp21"]= "mp21", - ["application/mp4"]= "mp4s", - ["application/mpeg"]= "amc", - ["application/ms-vsi"]= "vsi", - ["application/msaccess"]= "accdb", - ["application/msaccess.addin"]= "accda", - ["application/msaccess.cab"]= "accdc", - ["application/msaccess.ftemplate"]= "accft", - ["application/msaccess.runtime"]= "accdr", - ["application/msaccess.webapplication"]= "accdw", - ["application/msexcel"]= "xls", - ["application/mspowerpoint"]= "ppt", - ["application/msword"]= "doc", - ["application/mxf"]= "mxf", - ["application/octet-stream"]= "bin", - ["application/oda"]= "oda", - ["application/oebps-package+xml"]= "opf", - ["application/ogg"]= "ogx", - ["application/olescript"]= "axs", - ["application/omdoc+xml"]= "omdoc", - ["application/onenote"]= "one", - ["application/opensearchdescription+xml"]= "osdx", - ["application/oxps"]= "oxps", - ["application/patch-ops-error+xml"]= "xer", - ["application/pdf"]= "pdf", - ["application/pgp-encrypted"]= "pgp", - ["application/pgp-signature"]= "pgp", - ["application/pics-rules"]= "prf", - ["application/pkcs10"]= "p10", - ["application/pkcs7-mime"]= "p7c", - ["application/pkcs7-signature"]= "p7s", - ["application/pkcs8"]= "p8", - ["application/pkix-attr-cert"]= "ac", - ["application/pkix-cert"]= "cer", - ["application/pkix-crl"]= "crl", - ["application/pkix-pkipath"]= "pkipath", - ["application/pkixcmp"]= "pki", - ["application/pls+xml"]= "pls", - ["application/postscript"]= "ps", - ["application/PowerShell"]= "psc1", - ["application/prs.cww"]= "cww", - ["application/pskc+xml"]= "pskcxml", - ["application/rat-file"]= "rat", - ["application/rdf+xml"]= "rdf", - ["application/reginfo+xml"]= "rif", - ["application/relax-ng-compact-syntax"]= "rnc", - ["application/resource-lists+xml"]= "rl", - ["application/resource-lists-diff+xml"]= "rld", - ["application/rls-services+xml"]= "rs", - ["application/rpki-ghostbusters"]= "gbr", - ["application/rpki-manifest"]= "mft", - ["application/rpki-roa"]= "roa", - ["application/rsd+xml"]= "rsd", - ["application/rss+xml"]= "rss", - ["application/rtf"]= "rtf", - ["application/sbml+xml"]= "sbml", - ["application/scvp-cv-request"]= "scq", - ["application/scvp-cv-response"]= "scs", - ["application/scvp-vp-request"]= "spq", - ["application/scvp-vp-response"]= "spp", - ["application/sdp"]= "sdp", - ["application/set-payment-initiation"]= "setpay", - ["application/set-registration-initiation"]= "setreg", - ["application/shf+xml"]= "shf", - ["application/smil+xml"]= "smil", - ["application/sparql-query"]= "rq", - ["application/sparql-results+xml"]= "srx", - ["application/srgs"]= "gram", - ["application/srgs+xml"]= "grxml", - ["application/sru+xml"]= "sru", - ["application/ssdl+xml"]= "ssdl", - ["application/ssml+xml"]= "ssml", - ["application/step"]= "step", - ["application/streamingmedia"]= "ssm", - ["application/tei+xml"]= "tei", - ["application/thraud+xml"]= "tfi", - ["application/timestamped-data"]= "tsd", - ["application/vnd.3gpp.pic-bw-large"]= "plb", - ["application/vnd.3gpp.pic-bw-small"]= "psb", - ["application/vnd.3gpp.pic-bw-var"]= "pvb", - ["application/vnd.3gpp2.tcap"]= "tcap", - ["application/vnd.3m.post-it-notes"]= "pwn", - ["application/vnd.accpac.simply.aso"]= "aso", - ["application/vnd.accpac.simply.imp"]= "imp", - ["application/vnd.acucobol"]= "acu", - ["application/vnd.acucorp"]= "acutc", - ["application/vnd.adobe.air-application-installer-package+zip"]= "air", - ["application/vnd.adobe.formscentral.fcdt"]= "fcdt", - ["application/vnd.adobe.fxp"]= "fxp", - ["application/vnd.adobe.xdp+xml"]= "xdp", - ["application/vnd.adobe.xfdf"]= "xfdf", - ["application/vnd.ahead.space"]= "ahead", - ["application/vnd.airzip.filesecure.azf"]= "azf", - ["application/vnd.airzip.filesecure.azs"]= "azs", - ["application/vnd.amazon.ebook"]= "azw", - ["application/vnd.americandynamics.acc"]= "acc", - ["application/vnd.amiga.ami"]= "ami", - ["application/vnd.android.package-archive"]= "apk", - ["application/vnd.anser-web-certificate-issue-initiation"]= "cii", - ["application/vnd.anser-web-funds-transfer-initiation"]= "fti", - ["application/vnd.antix.game-component"]= "atx", - ["application/vnd.apple.installer+xml"]= "mpkg", - ["application/vnd.apple.mpegurl"]= "m3u8", - ["application/vnd.aristanetworks.swi"]= "swi", - ["application/vnd.astraea-software.iota"]= "iota", - ["application/vnd.audiograph"]= "aep", - ["application/vnd.blueice.multipass"]= "mpm", - ["application/vnd.bmi"]= "bmi", - ["application/vnd.businessobjects"]= "rep", - ["application/vnd.chemdraw+xml"]= "cdxml", - ["application/vnd.chipnuts.karaoke-mmd"]= "mmd", - ["application/vnd.cinderella"]= "cdy", - ["application/vnd.claymore"]= "cla", - ["application/vnd.cloanto.rp9"]= "rp9", - ["application/vnd.clonk.c4group"]= "c4g", - ["application/vnd.cluetrust.cartomobile-config"]= "c11amc", - ["application/vnd.cluetrust.cartomobile-config-pkg"]= "c11amz", - ["application/vnd.commonspace"]= "csp", - ["application/vnd.contact.cmsg"]= "cdbcmsg", - ["application/vnd.cosmocaller"]= "cmc", - ["application/vnd.crick.clicker"]= "clkx", - ["application/vnd.crick.clicker.keyboard"]= "clkk", - ["application/vnd.crick.clicker.palette"]= "clkp", - ["application/vnd.crick.clicker.template"]= "clkt", - ["application/vnd.crick.clicker.wordbank"]= "clkw", - ["application/vnd.criticaltools.wbs+xml"]= "wbs", - ["application/vnd.ctc-posml"]= "pml", - ["application/vnd.cups-ppd"]= "ppd", - ["application/vnd.curl.car"]= "car", - ["application/vnd.curl.pcurl"]= "pcurl", - ["application/vnd.dart"]= "dart", - ["application/vnd.data-vision.rdz"]= "rdz", - ["application/vnd.dece.data"]= "uvd", - ["application/vnd.dece.ttml+xml"]= "uvt", - ["application/vnd.dece.unspecified"]= "uvx", - ["application/vnd.dece.zip"]= "uvz", - ["application/vnd.denovo.fcselayout-link"]= "fe_launch", - ["application/vnd.dna"]= "dna", - ["application/vnd.dolby.mlp"]= "mlp", - ["application/vnd.dpgraph"]= "dpg", - ["application/vnd.dreamfactory"]= "dfac", - ["application/vnd.ds-keypoint"]= "kpxx", - ["application/vnd.dvb.ait"]= "ait", - ["application/vnd.dvb.service"]= "svc", - ["application/vnd.dynageo"]= "geo", - ["application/vnd.ecowin.chart"]= "mag", - ["application/vnd.enliven"]= "nml", - ["application/vnd.epson.esf"]= "esf", - ["application/vnd.epson.msf"]= "msf", - ["application/vnd.epson.quickanime"]= "qam", - ["application/vnd.epson.salt"]= "slt", - ["application/vnd.epson.ssf"]= "ssf", - ["application/vnd.eszigno3+xml"]= "es3", - ["application/vnd.ezpix-album"]= "ez2", - ["application/vnd.ezpix-package"]= "ez3", - ["application/vnd.fdf"]= "fdf", - ["application/vnd.fdsn.mseed"]= "mseed", - ["application/vnd.fdsn.seed"]= "seed", - ["application/vnd.flographit"]= "gph", - ["application/vnd.fluxtime.clip"]= "ftc", - ["application/vnd.framemaker"]= "fm", - ["application/vnd.frogans.fnc"]= "fnc", - ["application/vnd.frogans.ltf"]= "ltf", - ["application/vnd.fsc.weblaunch"]= "fsc", - ["application/vnd.fujitsu.oasys"]= "oas", - ["application/vnd.fujitsu.oasys2"]= "oa2", - ["application/vnd.fujitsu.oasys3"]= "oa3", - ["application/vnd.fujitsu.oasysgp"]= "fg5", - ["application/vnd.fujitsu.oasysprs"]= "bh2", - ["application/vnd.fujixerox.ddd"]= "ddd", - ["application/vnd.fujixerox.docuworks"]= "xdw", - ["application/vnd.fujixerox.docuworks.binder"]= "xbd", - ["application/vnd.fuzzysheet"]= "fzs", - ["application/vnd.genomatix.tuxedo"]= "txd", - ["application/vnd.geogebra.file"]= "ggb", - ["application/vnd.geogebra.tool"]= "ggt", - ["application/vnd.geometry-explorer"]= "gex", - ["application/vnd.geonext"]= "gxt", - ["application/vnd.geoplan"]= "g2w", - ["application/vnd.geospace"]= "g3w", - ["application/vnd.gmx"]= "gmx", - ["application/vnd.google-earth.kml+xml"]= "kml", - ["application/vnd.google-earth.kmz"]= "kmz", - ["application/vnd.grafeq"]= "gqf", - ["application/vnd.groove-account"]= "gac", - ["application/vnd.groove-help"]= "ghf", - ["application/vnd.groove-identity-message"]= "gim", - ["application/vnd.groove-injector"]= "grv", - ["application/vnd.groove-tool-message"]= "gtm", - ["application/vnd.groove-tool-template"]= "tpl", - ["application/vnd.groove-vcard"]= "vcg", - ["application/vnd.hal+xml"]= "hal", - ["application/vnd.handheld-entertainment+xml"]= "zmm", - ["application/vnd.hbci"]= "hbci", - ["application/vnd.hhe.lesson-player"]= "les", - ["application/vnd.hp-hpgl"]= "hpgl", - ["application/vnd.hp-hpid"]= "hpid", - ["application/vnd.hp-hps"]= "hps", - ["application/vnd.hp-jlyt"]= "jlt", - ["application/vnd.hp-pcl"]= "pcl", - ["application/vnd.hp-pclxl"]= "pclxl", - ["application/vnd.hydrostatix.sof-data"]= "sfd-hdstx", - ["application/vnd.ibm.minipay"]= "mpy", - ["application/vnd.ibm.modcap"]= "afp", - ["application/vnd.ibm.rights-management"]= "irm", - ["application/vnd.ibm.secure-container"]= "sc", - ["application/vnd.iccprofile"]= "icc", - ["application/vnd.igloader"]= "igl", - ["application/vnd.immervision-ivp"]= "ivp", - ["application/vnd.immervision-ivu"]= "ivu", - ["application/vnd.insors.igm"]= "igm", - ["application/vnd.intercon.formnet"]= "xpw", - ["application/vnd.intergeo"]= "i2g", - ["application/vnd.intu.qbo"]= "qbo", - ["application/vnd.intu.qfx"]= "qfx", - ["application/vnd.ipunplugged.rcprofile"]= "rcprofile", - ["application/vnd.irepository.package+xml"]= "irp", - ["application/vnd.is-xpr"]= "xpr", - ["application/vnd.isac.fcs"]= "fcs", - ["application/vnd.jam"]= "jam", - ["application/vnd.jcp.javame.midlet-rms"]= "rms", - ["application/vnd.jisp"]= "jisp", - ["application/vnd.joost.joda-archive"]= "joda", - ["application/vnd.kahootz"]= "ktz", - ["application/vnd.kde.karbon"]= "karbon", - ["application/vnd.kde.kchart"]= "chrt", - ["application/vnd.kde.kformula"]= "kfo", - ["application/vnd.kde.kivio"]= "flw", - ["application/vnd.kde.kontour"]= "kon", - ["application/vnd.kde.kpresenter"]= "kpt", - ["application/vnd.kde.kspread"]= "ksp", - ["application/vnd.kde.kword"]= "kwd", - ["application/vnd.kenameaapp"]= "htke", - ["application/vnd.kidspiration"]= "kia", - ["application/vnd.kinar"]= "kne", - ["application/vnd.koan"]= "skd", - ["application/vnd.kodak-descriptor"]= "sse", - ["application/vnd.las.las+xml"]= "lasxml", - ["application/vnd.llamagraphics.life-balance.desktop"]= "lbd", - ["application/vnd.llamagraphics.life-balance.exchange+xml"]= "lbe", - ["application/vnd.lotus-1-2-3"]= "123", - ["application/vnd.lotus-approach"]= "apr", - ["application/vnd.lotus-freelance"]= "pre", - ["application/vnd.lotus-notes"]= "nsf", - ["application/vnd.lotus-organizer"]= "org", - ["application/vnd.lotus-screencam"]= "scm", - ["application/vnd.lotus-wordpro"]= "lwp", - ["application/vnd.macports.portpkg"]= "portpkg", - ["application/vnd.mcd"]= "mcd", - ["application/vnd.medcalcdata"]= "mc1", - ["application/vnd.mediastation.cdkey"]= "cdkey", - ["application/vnd.mfer"]= "mwf", - ["application/vnd.mfmp"]= "mfm", - ["application/vnd.micrografx.flo"]= "flo", - ["application/vnd.micrografx.igx"]= "igx", - ["application/vnd.microsoft.portable-executable"]= "exe", - ["application/vnd.mif"]= "mif", - ["application/vnd.mobius.daf"]= "daf", - ["application/vnd.mobius.dis"]= "dis", - ["application/vnd.mobius.mbk"]= "mbk", - ["application/vnd.mobius.mqy"]= "mqy", - ["application/vnd.mobius.msl"]= "msl", - ["application/vnd.mobius.plc"]= "plc", - ["application/vnd.mobius.txf"]= "txf", - ["application/vnd.mophun.application"]= "mpn", - ["application/vnd.mophun.certificate"]= "mpc", - ["application/vnd.mozilla.xul+xml"]= "xul", - ["application/vnd.ms-artgalry"]= "cil", - ["application/vnd.ms-cab-compressed"]= "cab", - ["application/vnd.ms-excel"]= "xls", - ["application/vnd.ms-excel.addin.macroEnabled.12"]= "xlam", - ["application/vnd.ms-excel.addin.macroenabled.12"]= "xlam", - ["application/vnd.ms-excel.sheet.binary.macroEnabled.12"]= "xlsb", - ["application/vnd.ms-excel.sheet.binary.macroenabled.12"]= "xlsb", - ["application/vnd.ms-excel.sheet.macroEnabled.12"]= "xlsm", - ["application/vnd.ms-excel.sheet.macroenabled.12"]= "xlsm", - ["application/vnd.ms-excel.template.macroEnabled.12"]= "xltm", - ["application/vnd.ms-excel.template.macroenabled.12"]= "xltm", - ["application/vnd.ms-fontobject"]= "eot", - ["application/vnd.ms-htmlhelp"]= "chm", - ["application/vnd.ms-ims"]= "ims", - ["application/vnd.ms-lrm"]= "lrm", - ["application/vnd.ms-mediapackage"]= "mpf", - ["application/vnd.ms-office.calx"]= "calx", - ["application/vnd.ms-officetheme"]= "thmx", - ["application/vnd.ms-outlook"]= "msg", - ["application/vnd.ms-pki.certstore"]= "sst", - ["application/vnd.ms-pki.pko"]= "pko", - ["application/vnd.ms-pki.seccat"]= "cat", - ["application/vnd.ms-pki.stl"]= "stl", - ["application/vnd.ms-powerpoint"]= "ppt", - ["application/vnd.ms-powerpoint.addin.macroEnabled.12"]= "ppam", - ["application/vnd.ms-powerpoint.addin.macroenabled.12"]= "ppam", - ["application/vnd.ms-powerpoint.presentation.macroEnabled.12"]= "pptm", - ["application/vnd.ms-powerpoint.presentation.macroenabled.12"]= "pptm", - ["application/vnd.ms-powerpoint.slide.macroEnabled.12"]= "sldm", - ["application/vnd.ms-powerpoint.slide.macroenabled.12"]= "sldm", - ["application/vnd.ms-powerpoint.slideshow.macroEnabled.12"]= "ppsm", - ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"]= "ppsm", - ["application/vnd.ms-powerpoint.template.macroEnabled.12"]= "potm", - ["application/vnd.ms-powerpoint.template.macroenabled.12"]= "potm", - ["application/vnd.ms-project"]= "mpt", - ["application/vnd.ms-visio.viewer"]= "vdx", - ["application/vnd.ms-word.document.macroEnabled.12"]= "docm", - ["application/vnd.ms-word.document.macroenabled.12"]= "docm", - ["application/vnd.ms-word.template.macroEnabled.12"]= "dotm", - ["application/vnd.ms-word.template.macroenabled.12"]= "dotm", - ["application/vnd.ms-works"]= "wks", - ["application/vnd.ms-wpl"]= "wpl", - ["application/vnd.ms-xpsdocument"]= "xps", - ["application/vnd.mseq"]= "mseq", - ["application/vnd.musician"]= "mus", - ["application/vnd.muvee.style"]= "msty", - ["application/vnd.mynfc"]= "taglet", - ["application/vnd.neurolanguage.nlu"]= "nlu", - ["application/vnd.nitf"]= "nitf", - ["application/vnd.noblenet-directory"]= "nnd", - ["application/vnd.noblenet-sealer"]= "nns", - ["application/vnd.noblenet-web"]= "nnw", - ["application/vnd.nokia.n-gage.data"]= "ngdat", - ["application/vnd.nokia.n-gage.symbian.install"]= "n-gage", - ["application/vnd.nokia.radio-preset"]= "rpst", - ["application/vnd.nokia.radio-presets"]= "rpss", - ["application/vnd.novadigm.edm"]= "edm", - ["application/vnd.novadigm.edx"]= "edx", - ["application/vnd.novadigm.ext"]= "ext", - ["application/vnd.oasis.opendocument.chart"]= "odc", - ["application/vnd.oasis.opendocument.chart-template"]= "otc", - ["application/vnd.oasis.opendocument.database"]= "odb", - ["application/vnd.oasis.opendocument.formula"]= "odf", - ["application/vnd.oasis.opendocument.formula-template"]= "odft", - ["application/vnd.oasis.opendocument.graphics"]= "odg", - ["application/vnd.oasis.opendocument.graphics-template"]= "otg", - ["application/vnd.oasis.opendocument.image"]= "odi", - ["application/vnd.oasis.opendocument.image-template"]= "oti", - ["application/vnd.oasis.opendocument.presentation"]= "odp", - ["application/vnd.oasis.opendocument.presentation-template"]= "otp", - ["application/vnd.oasis.opendocument.spreadsheet"]= "ods", - ["application/vnd.oasis.opendocument.spreadsheet-template"]= "ots", - ["application/vnd.oasis.opendocument.text"]= "odt", - ["application/vnd.oasis.opendocument.text-master"]= "odm", - ["application/vnd.oasis.opendocument.text-template"]= "ott", - ["application/vnd.oasis.opendocument.text-web"]= "oth", - ["application/vnd.olpc-sugar"]= "xo", - ["application/vnd.oma.dd2+xml"]= "dd2", - ["application/vnd.openofficeorg.extension"]= "oxt", - ["application/vnd.openxmlformats-officedocument.presentationml.presentation"]= "pptx", - ["application/vnd.openxmlformats-officedocument.presentationml.slide"]= "sldx", - ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"]= "ppsx", - ["application/vnd.openxmlformats-officedocument.presentationml.template"]= "potx", - ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]= "xlsx", - ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"]= "xltx", - ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"]= "docx", - ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"]= "dotx", - ["application/vnd.osgeo.mapguide.package"]= "mgp", - ["application/vnd.osgi.dp"]= "dp", - ["application/vnd.osgi.subsystem"]= "esa", - ["application/vnd.palm"]= "pdb", - ["application/vnd.pawaafile"]= "paw", - ["application/vnd.pg.format"]= "str", - ["application/vnd.pg.osasli"]= "ei6", - ["application/vnd.picsel"]= "efif", - ["application/vnd.pmi.widget"]= "wg", - ["application/vnd.pocketlearn"]= "plf", - ["application/vnd.powerbuilder6"]= "pbd", - ["application/vnd.previewsystems.box"]= "box", - ["application/vnd.proteus.magazine"]= "mgz", - ["application/vnd.publishare-delta-tree"]= "qps", - ["application/vnd.pvi.ptid1"]= "ptid", - ["application/vnd.quark.quarkxpress"]= "qxt", - ["application/vnd.realvnc.bed"]= "bed", - ["application/vnd.recordare.musicxml"]= "mxl", - ["application/vnd.recordare.musicxml+xml"]= "musicxml", - ["application/vnd.rig.cryptonote"]= "cryptonote", - ["application/vnd.rim.cod"]= "cod", - ["application/vnd.rn-realmedia"]= "rm", - ["application/vnd.rn-realmedia-vbr"]= "rmvb", - ["application/vnd.rn-rn_music_package"]= "rmp", - ["application/vnd.route66.link66+xml"]= "link66", - ["application/vnd.sailingtracker.track"]= "st", - ["application/vnd.seemail"]= "see", - ["application/vnd.sema"]= "sema", - ["application/vnd.semd"]= "semd", - ["application/vnd.semf"]= "semf", - ["application/vnd.shana.informed.formdata"]= "ifm", - ["application/vnd.shana.informed.formtemplate"]= "itp", - ["application/vnd.shana.informed.interchange"]= "iif", - ["application/vnd.shana.informed.package"]= "ipk", - ["application/vnd.simtech-mindmapper"]= "twd", - ["application/vnd.smaf"]= "mmf", - ["application/vnd.smart.teacher"]= "teacher", - ["application/vnd.solent.sdkm+xml"]= "sdkm", - ["application/vnd.spotfire.dxp"]= "dxp", - ["application/vnd.spotfire.sfs"]= "sfs", - ["application/vnd.stardivision.calc"]= "sdc", - ["application/vnd.stardivision.draw"]= "sda", - ["application/vnd.stardivision.impress"]= "sdd", - ["application/vnd.stardivision.math"]= "smf", - ["application/vnd.stardivision.writer"]= "sdw", - ["application/vnd.stardivision.writer-global"]= "sgl", - ["application/vnd.stepmania.package"]= "smzip", - ["application/vnd.stepmania.stepchart"]= "sm", - ["application/vnd.sun.xml.calc"]= "sxc", - ["application/vnd.sun.xml.calc.template"]= "stc", - ["application/vnd.sun.xml.draw"]= "sxd", - ["application/vnd.sun.xml.draw.template"]= "std", - ["application/vnd.sun.xml.impress"]= "sxi", - ["application/vnd.sun.xml.impress.template"]= "sti", - ["application/vnd.sun.xml.math"]= "sxm", - ["application/vnd.sun.xml.writer"]= "sxw", - ["application/vnd.sun.xml.writer.global"]= "sxg", - ["application/vnd.sun.xml.writer.template"]= "stw", - ["application/vnd.sus-calendar"]= "sus", - ["application/vnd.svd"]= "svd", - ["application/vnd.symbian.install"]= "sis", - ["application/vnd.syncml+xml"]= "xsm", - ["application/vnd.syncml.dm+wbxml"]= "bdm", - ["application/vnd.syncml.dm+xml"]= "xdm", - ["application/vnd.tao.intent-module-archive"]= "tao", - ["application/vnd.tcpdump.pcap"]= "pcap", - ["application/vnd.tmobile-livetv"]= "tmo", - ["application/vnd.trid.tpt"]= "tpt", - ["application/vnd.triscape.mxs"]= "mxs", - ["application/vnd.trueapp"]= "tra", - ["application/vnd.ufdl"]= "ufdl", - ["application/vnd.uiq.theme"]= "utz", - ["application/vnd.umajin"]= "umj", - ["application/vnd.unity"]= "unityweb", - ["application/vnd.uoml+xml"]= "uoml", - ["application/vnd.vcx"]= "vcx", - ["application/vnd.visio"]= "vsd", - ["application/vnd.visionary"]= "vis", - ["application/vnd.vsf"]= "vsf", - ["application/vnd.wap.wbxml"]= "wbxml", - ["application/vnd.wap.wmlc"]= "wmlc", - ["application/vnd.wap.wmlscriptc"]= "wmlsc", - ["application/vnd.webturbo"]= "wtb", - ["application/vnd.wolfram.player"]= "nbp", - ["application/vnd.wordperfect"]= "wpd", - ["application/vnd.wqd"]= "wqd", - ["application/vnd.wt.stf"]= "stf", - ["application/vnd.xara"]= "xar", - ["application/vnd.xfdl"]= "xfdl", - ["application/vnd.yamaha.hv-dic"]= "hvd", - ["application/vnd.yamaha.hv-script"]= "hvs", - ["application/vnd.yamaha.hv-voice"]= "hvp", - ["application/vnd.yamaha.openscoreformat"]= "osf", - ["application/vnd.yamaha.openscoreformat.osfpvg+xml"]= "osfpvg", - ["application/vnd.yamaha.smaf-audio"]= "saf", - ["application/vnd.yamaha.smaf-phrase"]= "spf", - ["application/vnd.yellowriver-custom-menu"]= "cmp", - ["application/vnd.zul"]= "zir", - ["application/vnd.zzazz.deck+xml"]= "zaz", - ["application/voicexml+xml"]= "vxml", - ["application/vsix"]= "vsix", - ["application/wasm"]= "wasm", - ["application/widget"]= "wgt", - ["application/windows-library+xml"]= "library-ms", - ["application/windows-search-connector+xml"]= "searchConnector-ms", - ["application/winhlp"]= "hlp", - ["application/wlmoviemaker"]= "WLMP", - ["application/wsdl+xml"]= "wsdl", - ["application/wspolicy+xml"]= "wspolicy", - ["application/x-7z-compressed"]= "7z", - ["application/x-abiword"]= "abw", - ["application/x-ace-compressed"]= "ace", - ["application/x-apple-diskimage"]= "dmg", - ["application/x-authorware-bin"]= "aab", - ["application/x-authorware-map"]= "aam", - ["application/x-authorware-seg"]= "aas", - ["application/x-bcpio"]= "bcpio", - ["application/x-bittorrent"]= "torrent", - ["application/x-blorb"]= "blorb", - ["application/x-bridge-url"]= "adobebridge", - ["application/x-bzip"]= "bz", - ["application/x-bzip2"]= "bz2", - ["application/x-cbr"]= "cbr", - ["application/x-cdlink"]= "vcd", - ["application/x-cfs-compressed"]= "cfs", - ["application/x-chat"]= "chat", - ["application/x-chess-pgn"]= "pgn", - ["application/x-compress"]= "z", - ["application/x-compressed"]= "tgz", - ["application/x-conference"]= "nsc", - ["application/x-cpio"]= "cpio", - ["application/x-csh"]= "csh", - ["application/x-debian-package"]= "deb", - ["application/x-dgc-compressed"]= "dgc", - ["application/x-director"]= "dir", - ["application/x-doom"]= "wad", - ["application/x-dosexec"]= "exe", - ["application/x-dtbncx+xml"]= "ncx", - ["application/x-dtbook+xml"]= "dtb", - ["application/x-dtbresource+xml"]= "res", - ["application/x-dvi"]= "dvi", - ["application/x-dxf"]= "dxf", - ["application/x-elf"]= "elf", - ["application/x-envoy"]= "evy", - ["application/x-eva"]= "eva", - ["application/x-executable"]= "exe", - ["application/x-font-bdf"]= "bdf", - ["application/x-font-ghostscript"]= "gsf", - ["application/x-font-linux-psf"]= "psf", - ["application/x-font-pcf"]= "pcf", - ["application/x-font-snf"]= "snf", - ["application/x-font-type1"]= "pfm", - ["application/x-freearc"]= "arc", - ["application/x-futuresplash"]= "spl", - ["application/x-gca-compressed"]= "gca", - ["application/x-glulx"]= "ulx", - ["application/x-gnumeric"]= "gnumeric", - ["application/x-gramps-xml"]= "gramps", - ["application/x-gtar"]= "gtar", - ["application/x-gzip"]= "gz", - ["application/x-hdf"]= "hdf", - ["application/x-install-instructions"]= "install", - ["application/x-internet-signup"]= "isp", - ["application/x-iphone"]= "iii", - ["application/x-iso9660-image"]= "iso", - ["application/x-itunes-ipa"]= "ipa", - ["application/x-itunes-ipg"]= "ipg", - ["application/x-itunes-ipsw"]= "ipsw", - ["application/x-itunes-ite"]= "ite", - ["application/x-itunes-itlp"]= "itlp", - ["application/x-itunes-itms"]= "itms", - ["application/x-itunes-itpc"]= "itpc", - ["application/x-java-applet"]= "class", - ["application/x-java-jnlp-file"]= "jnlp", - ["application/x-koan"]= "skp", - ["application/x-latex"]= "latex", - ["application/x-lzh-compressed"]= "lzh", - ["application/x-mie"]= "mie", - ["application/x-miva-compiled"]= "mvc", - ["application/x-mmxp"]= "mxp", - ["application/x-mobipocket-ebook"]= "mobi", - ["application/x-ms-application"]= "application", - ["application/x-ms-installer"]= "msi", - ["application/x-ms-license"]= "slupkg-ms", - ["application/x-ms-manifest"]= "manifest", - ["application/x-ms-reader"]= "lit", - ["application/x-ms-shortcut"]= "lnk", - ["application/x-ms-vsto"]= "vsto", - ["application/x-ms-wmd"]= "wmd", - ["application/x-ms-wmz"]= "wmz", - ["application/x-ms-xbap"]= "xbap", - ["application/x-msaccess"]= "mdb", - ["application/x-msbinder"]= "obd", - ["application/x-mscardfile"]= "crd", - ["application/x-msclip"]= "clp", - ["application/x-msdos-program"]= "exe", - ["application/x-msdownload"]= "exe", - ["application/x-msmediaview"]= "mvb", - ["application/x-msmetafile"]= "wmf", - ["application/x-msmoney"]= "mny", - ["application/x-mspublisher"]= "pub", - ["application/x-msschedule"]= "scd", - ["application/x-msterminal"]= "trm", - ["application/x-mswrite"]= "wri", - ["application/x-netcdf"]= "cdf", - ["application/x-nzb"]= "nzb", - ["application/x-oleobject"]= "hhc", - ["application/x-pcapng"]= "pcap", - ["application/x-pe-app-32bit-i386"]= "exe", - ["application/x-perfmon"]= "pmw", - ["application/x-perl"]= "pl", - ["application/x-pkcs12"]= "p12", - ["application/x-pkcs7-certificates"]= "p7b", - ["application/x-pkcs7-certreqresp"]= "p7r", - ["application/x-podcast"]= "pcast", - ["application/x-python"]= "py", - ["application/x-quicktimeplayer"]= "qtl", - ["application/x-rar-compressed"]= "rar", - ["application/x-research-info-systems"]= "ris", - ["application/x-safari-safariextz"]= "safariextz", - ["application/x-safari-webarchive"]= "webarchive", - ["application/x-sgimb"]= "sgimb", - ["application/x-sh"]= "sh", - ["application/x-shar"]= "shar", - ["application/x-sharedlib"]= "lib", - ["application/x-shockwave-flash"]= "swf", - ["application/x-silverlight-app"]= "xap", - ["application/x-smaf"]= "mmf", - ["application/x-sql"]= "sql", - ["application/x-stuffit"]= "sit", - ["application/x-stuffitx"]= "sitx", - ["application/x-subrip"]= "srt", - ["application/x-sv4cpio"]= "sv4cpio", - ["application/x-sv4crc"]= "sv4crc", - ["application/x-t3vm-image"]= "t3", - ["application/x-tads"]= "gam", - ["application/x-tar"]= "tar", - ["application/x-tcl"]= "tcl", - ["application/x-tex"]= "tex", - ["application/x-tex-tfm"]= "tfm", - ["application/x-texinfo"]= "texinfo", - ["application/x-tgif"]= "obj", - ["application/x-troff"]= "tr", - ["application/x-troff-man"]= "man", - ["application/x-troff-me"]= "me", - ["application/x-troff-ms"]= "ms", - ["application/x-ustar"]= "ustar", - ["application/x-wais-source"]= "src", - ["application/x-wlpg-detect"]= "wlpginstall", - ["application/x-wlpg3-detect"]= "wlpginstall3", - ["application/x-x509-ca-cert"]= "crt", - ["application/x-xfig"]= "fig", - ["application/x-xliff+xml"]= "xlf", - ["application/x-xpinstall"]= "xpi", - ["application/x-xz"]= "xz", - ["application/x-zip-compressed"]= "zip", - ["application/x-zmachine"]= "z1", - ["application/xaml+xml"]= "xaml", - ["application/xcap-diff+xml"]= "xdf", - ["application/xenc+xml"]= "xenc", - ["application/xhtml+xml"]= "xhtml", - ["application/xml"]= "xml", - ["application/xml-dtd"]= "dtd", - ["application/xop+xml"]= "xop", - ["application/xproc+xml"]= "xpl", - ["application/xslt+xml"]= "xslt", - ["application/xspf+xml"]= "xspf", - ["application/xv+xml"]= "xvml", - ["application/yang"]= "yang", - ["application/yin+xml"]= "yin", - ["application/zip"]= "zip", - ["audio/aac"]= "aac", - ["audio/ac3"]= "ac3", - ["audio/adpcm"]= "adp", - ["audio/aiff"]= "aiff", - ["audio/annodex"]= "axa", - ["audio/audible"]= "aa", - ["audio/basic"]= "au", - ["audio/flac"]= "flac", - ["audio/m4a"]= "m4a", - ["audio/m4b"]= "m4b", - ["audio/m4p"]= "m4p", - ["audio/mid"]= "midi", - ["audio/midi"]= "midi", - ["audio/mp4"]= "m4a", - ["audio/mpeg"]= "mp3", - ["audio/ogg"]= "ogg", - ["audio/s3m"]= "s3m", - ["audio/scpls"]= "pls", - ["audio/silk"]= "sil", - ["audio/vnd.audible.aax"]= "aax", - ["audio/vnd.dece.audio"]= "uva", - ["audio/vnd.digital-winds"]= "eol", - ["audio/vnd.dlna.adts"]= "ADT", - ["audio/vnd.dra"]= "dra", - ["audio/vnd.dts"]= "dts", - ["audio/vnd.dts.hd"]= "dtshd", - ["audio/vnd.lucent.voice"]= "lvp", - ["audio/vnd.ms-playready.media.pya"]= "pya", - ["audio/vnd.nuera.ecelp4800"]= "ecelp4800", - ["audio/vnd.nuera.ecelp7470"]= "ecelp7470", - ["audio/vnd.nuera.ecelp9600"]= "ecelp9600", - ["audio/vnd.rip"]= "rip", - ["audio/wav"]= "wav", - ["audio/webm"]= "weba", - ["audio/x-aac"]= "aac", - ["audio/x-aiff"]= "aiff", - ["audio/x-caf"]= "caf", - ["audio/x-flac"]= "flac", - ["audio/x-gsm"]= "gsm", - ["audio/x-m4a"]= "m4a", - ["audio/x-m4r"]= "m4r", - ["audio/x-matroska"]= "mka", - ["audio/x-mpegurl"]= "m3u", - ["audio/x-ms-wax"]= "wax", - ["audio/x-ms-wma"]= "wma", - ["audio/x-pn-realaudio"]= "ra", - ["audio/x-pn-realaudio-plugin"]= "rmp", - ["audio/x-sd2"]= "sd2", - ["audio/x-smd"]= "smd", - ["audio/x-wav"]= "wav", - ["audio/xm"]= "xm", - ["chemical/x-cdx"]= "cdx", - ["chemical/x-cif"]= "cif", - ["chemical/x-cmdf"]= "cmdf", - ["chemical/x-cml"]= "cml", - ["chemical/x-csml"]= "csml", - ["chemical/x-xyz"]= "xyz", - ["drawing/x-dwf"]= "dwf", - ["font/collection"]= "ttc", - ["font/otf"]= "otf", - ["font/ttf"]= "ttf", - ["font/woff"]= "woff", - ["font/woff2"]= "woff2", - ["image/bmp"]= "bmp", - ["image/cgm"]= "cgm", - ["image/cis-cod"]= "cod", - ["image/g3fax"]= "g3", - ["image/gif"]= "gif", - ["image/ief"]= "ief", - ["image/jpeg"]= "jpg", - ["image/ktx"]= "ktx", - ["image/pict"]= "pict", - ["image/pjpeg"]= "jfif", - ["image/png"]= "png", - ["image/prs.btif"]= "btif", - ["image/sgi"]= "sgi", - ["image/svg+xml"]= "svg", - ["image/tiff"]= "tiff", - ["image/vnd.adobe.photoshop"]= "psd", - ["image/vnd.dece.graphic"]= "uvg", - ["image/vnd.djvu"]= "djvu", - ["image/vnd.dvb.subtitle"]= "sub", - ["image/vnd.dwg"]= "dwg", - ["image/vnd.dxf"]= "dxf", - ["image/vnd.fastbidsheet"]= "fbs", - ["image/vnd.fpx"]= "fpx", - ["image/vnd.fst"]= "fst", - ["image/vnd.fujixerox.edmics-mmr"]= "mmr", - ["image/vnd.fujixerox.edmics-rlc"]= "rlc", - ["image/vnd.ms-modi"]= "mdi", - ["image/vnd.ms-photo"]= "wdp", - ["image/vnd.net-fpx"]= "npx", - ["image/vnd.rn-realflash"]= "rf", - ["image/vnd.wap.wbmp"]= "wbmp", - ["image/vnd.xiff"]= "xif", - ["image/webp"]= "webp", - ["image/x-3ds"]= "3ds", - ["image/x-cmu-raster"]= "ras", - ["image/x-cmx"]= "cmx", - ["image/x-freehand"]= "fh", - ["image/x-gif"]= "gif", - ["image/x-icon"]= "ico", - ["image/x-jg"]= "art", - ["image/x-jpeg"]= "jpg", - ["image/x-macpaint"]= "mac", - ["image/x-mrsid-image"]= "sid", - ["image/x-pcx"]= "pcx", - ["image/x-pict"]= "pic", - ["image/x-png"]= "png", - ["image/x-portable-anymap"]= "pnm", - ["image/x-portable-bitmap"]= "pbm", - ["image/x-portable-graymap"]= "pgm", - ["image/x-portable-pixmap"]= "ppm", - ["image/x-quicktime"]= "qti", - ["image/x-rgb"]= "rgb", - ["image/x-tga"]= "tga", - ["image/x-xbitmap"]= "xbm", - ["image/x-xpixmap"]= "xpm", - ["image/x-xwindowdump"]= "xwd", - ["message/rfc822"]= "eml", - ["model/iges"]= "iges", - ["model/mesh"]= "mesh", - ["model/vnd.collada+xml"]= "dae", - ["model/vnd.dwf"]= "dwf", - ["model/vnd.gdl"]= "gdl", - ["model/vnd.gtw"]= "gtw", - ["model/vnd.mts"]= "mts", - ["model/vnd.vtu"]= "vtu", - ["model/vrml"]= "vrml", - ["model/x3d+binary"]= "x3db", - ["model/x3d+vrml"]= "x3dv", - ["model/x3d+xml"]= "x3d", - ["text/cache-manifest"]= "appcache", - ["text/calendar"]= "ics", - ["text/css"]= "css", - ["text/csv"]= "csv", - ["text/dlm"]= "dlm", - ["text/h323"]= "323", - ["text/html"]= "html", - ["text/iuls"]= "uls", - ["text/jscript"]= "jsx", - ["text/n3"]= "n3", - ["text/plain"]= "txt", - ["text/prs.lines.tag"]= "dsc", - ["text/richtext"]= "rtx", - ["text/rtf"]= "rtf", - ["text/scriptlet"]= "sct", - ["text/sgml"]= "sgml", - ["text/tab-separated-values"]= "tsv", - ["text/troff"]= "tr", - ["text/uri-list"]= "uri", - ["text/vbscript"]= "vbs", - ["text/vcard"]= "vcard", - ["text/vnd.curl"]= "curl", - ["text/vnd.curl.dcurl"]= "dcurl", - ["text/vnd.curl.mcurl"]= "mcurl", - ["text/vnd.curl.scurl"]= "scurl", - ["text/vnd.dvb.subtitle"]= "sub", - ["text/vnd.fly"]= "fly", - ["text/vnd.fmi.flexstor"]= "flx", - ["text/vnd.graphviz"]= "gv", - ["text/vnd.in3d.3dml"]= "3dml", - ["text/vnd.in3d.spot"]= "spot", - ["text/vnd.sun.j2me.app-descriptor"]= "jad", - ["text/vnd.wap.wml"]= "wml", - ["text/vnd.wap.wmlscript"]= "wmls", - ["text/vtt"]= "vtt", - ["text/webviewhtml"]= "htt", - ["text/x-asm"]= "asm", - ["text/x-c"]= "c", - ["text/x-component"]= "htc", - ["text/x-fortran"]= "f", - ["text/x-hdml"]= "hdml", - ["text/x-html-insertion"]= "qhtm", - ["text/x-java-source"]= "java", - ["text/x-ms-contact"]= "contact", - ["text/x-ms-group"]= "group", - ["text/x-ms-iqy"]= "iqy", - ["text/x-ms-rqy"]= "rqy", - ["text/x-nfo"]= "nfo", - ["text/x-opml"]= "opml", - ["text/x-pascal"]= "pas", - ["text/x-setext"]= "etx", - ["text/x-sfv"]= "sfv", - ["text/x-uuencode"]= "uu", - ["text/x-vcalendar"]= "vcs", - ["text/x-vcard"]= "vcf", - ["text/xml"]= "xml", - ["video/3gpp"]= "3gp", - ["video/3gpp2"]= "3g2", - ["video/annodex"]= "axv", - ["video/divx"]= "divx", - ["video/h261"]= "h261", - ["video/h263"]= "h263", - ["video/h264"]= "h264", - ["video/jpeg"]= "jpgv", - ["video/jpm"]= "jpm", - ["video/mj2"]= "mj2", - ["video/mp4"]= "mp4", - ["video/mpeg"]= "mpg", - ["video/ogg"]= "ogv", - ["video/quicktime"]= "mov", - ["video/vnd.dece.hd"]= "uvh", - ["video/vnd.dece.mobile"]= "uvm", - ["video/vnd.dece.pd"]= "uvp", - ["video/vnd.dece.sd"]= "uvs", - ["video/vnd.dece.video"]= "uvv", - ["video/vnd.dlna.mpeg-tts"]= "m2t", - ["video/vnd.dvb.file"]= "dvb", - ["video/vnd.fvt"]= "fvt", - ["video/vnd.mpegurl"]= "m4u", - ["video/vnd.ms-playready.media.pyv"]= "pyv", - ["video/vnd.uvvu.mp4"]= "uvu", - ["video/vnd.vivo"]= "viv", - ["video/webm"]= "webm", - ["video/x-dv"]= "dv", - ["video/x-f4v"]= "f4v", - ["video/x-fli"]= "fli", - ["video/x-flv"]= "flv", - ["video/x-ivf"]= "IVF", - ["video/x-la-asf"]= "lsf", - ["video/x-m4v"]= "m4v", - ["video/x-matroska"]= "mkv", - ["video/x-matroska-3d"]= "mk3d", - ["video/x-mng"]= "mng", - ["video/x-ms-asf"]= "asf", - ["video/x-ms-vob"]= "vob", - ["video/x-ms-wm"]= "wm", - ["video/x-ms-wmp"]= "wmp", - ["video/x-ms-wmv"]= "wmv", - ["video/x-ms-wmx"]= "wmx", - ["video/x-ms-wvx"]= "wvx", - ["video/x-msvideo"]= "avi", - ["video/x-sgi-movie"]= "movie", - ["video/x-smv"]= "smv", - ["x-conference/x-cooltalk"]= "ice", - ["x-world/x-vrml"]= "wrl" + ["application/andrew-inset"] = "ez", + ["application/applixware"] = "aw", + ["application/atomcat+xml"] = "atomcat", + ["application/atomsvc+xml"] = "atomsvc", + ["application/atom+xml"] = "atom", + ["application/ccxml+xml"] = "ccxml", + ["application/cdmi-capability"] = "cdmia", + ["application/cdmi-container"] = "cdmic", + ["application/cdmi-domain"] = "cdmid", + ["application/cdmi-object"] = "cdmio", + ["application/cdmi-queue"] = "cdmiq", + ["application/cu-seeme"] = "cu", + ["application/davmount+xml"] = "davmount", + ["application/docbook+xml"] = "dbk", + ["application/dssc+der"] = "dssc", + ["application/dssc+xml"] = "xdssc", + ["application/ecmascript"] = "ecma", + ["application/emma+xml"] = "emma", + ["application/epub+zip"] = "epub", + ["application/exi"] = "exi", + ["application/font-tdpfr"] = "pfr", + ["application/gml+xml"] = "gml", + ["application/gpx+xml"] = "gpx", + ["application/gxf"] = "gxf", + ["application/hyperstudio"] = "stk", + ["application/inkml+xml"] = "inkml", + ["application/ipfix"] = "ipfix", + ["application/java-archive"] = "jar", + ["application/java-serialized-object"] = "ser", + ["application/java-vm"] = "class", + ["application/json"] = "json", + ["application/jsonml+json"] = "jsonml", + ["application/lost+xml"] = "lostxml", + ["application/mac-binhex40"] = "hqx", + ["application/mac-compactpro"] = "cpt", + ["application/mads+xml"] = "mads", + ["application/marc"] = "mrc", + ["application/marcxml+xml"] = "mrcx", + ["application/mathematica"] = "ma", + ["application/mathml+xml"] = "mathml", + ["application/mbox"] = "mbox", + ["application/mediaservercontrol+xml"] = "mscml", + ["application/metalink4+xml"] = "meta4", + ["application/metalink+xml"] = "metalink", + ["application/mets+xml"] = "mets", + ["application/mods+xml"] = "mods", + ["application/mp21"] = "mp21", + ["application/mp4"] = "mp4s", + ["application/msword"] = "doc", + ["application/mxf"] = "mxf", + ["application/octet-stream"] = "bin", + ["application/oda"] = "oda", + ["application/oebps-package+xml"] = "opf", + ["application/ogg"] = "ogx", + ["application/omdoc+xml"] = "omdoc", + ["application/onenote"] = "onepkg", + ["application/oxps"] = "oxps", + ["application/patch-ops-error+xml"] = "xer", + ["application/pdf"] = "pdf", + ["application/pgp-encrypted"] = "pgp", + ["application/pgp-signature"] = "sig", + ["application/pics-rules"] = "prf", + ["application/pkcs10"] = "p10", + ["application/pkcs7-mime"] = "p7m", + ["application/pkcs7-signature"] = "p7s", + ["application/pkcs8"] = "p8", + ["application/pkix-attr-cert"] = "ac", + ["application/pkix-cert"] = "cer", + ["application/pkixcmp"] = "pki", + ["application/pkix-crl"] = "crl", + ["application/pkix-pkipath"] = "pkipath", + ["application/pls+xml"] = "pls", + ["application/postscript"] = "ps", + ["application/prs.cww"] = "cww", + ["application/pskc+xml"] = "pskcxml", + ["application/rdf+xml"] = "rdf", + ["application/reginfo+xml"] = "rif", + ["application/relax-ng-compact-syntax"] = "rnc", + ["application/resource-lists-diff+xml"] = "rld", + ["application/resource-lists+xml"] = "rl", + ["application/rls-services+xml"] = "rs", + ["application/rpki-ghostbusters"] = "gbr", + ["application/rpki-manifest"] = "mft", + ["application/rpki-roa"] = "roa", + ["application/rsd+xml"] = "rsd", + ["application/rss+xml"] = "rss", + ["application/rtf"] = "rtf", + ["application/sbml+xml"] = "sbml", + ["application/scvp-cv-request"] = "scq", + ["application/scvp-cv-response"] = "scs", + ["application/scvp-vp-request"] = "spq", + ["application/scvp-vp-response"] = "spp", + ["application/sdp"] = "sdp", + ["application/set-payment-initiation"] = "setpay", + ["application/set-registration-initiation"] = "setreg", + ["application/shf+xml"] = "shf", + ["application/smil+xml"] = "smil", + ["application/sparql-query"] = "rq", + ["application/sparql-results+xml"] = "srx", + ["application/srgs"] = "gram", + ["application/srgs+xml"] = "grxml", + ["application/sru+xml"] = "sru", + ["application/ssdl+xml"] = "ssdl", + ["application/ssml+xml"] = "ssml", + ["application/tei+xml"] = "tei", + ["application/thraud+xml"] = "tfi", + ["application/timestamped-data"] = "tsd", + ["application/vnd.3gpp2.tcap"] = "tcap", + ["application/vnd.3gpp.pic-bw-large"] = "plb", + ["application/vnd.3gpp.pic-bw-small"] = "psb", + ["application/vnd.3gpp.pic-bw-var"] = "pvb", + ["application/vnd.3m.post-it-notes"] = "pwn", + ["application/vnd.accpac.simply.aso"] = "aso", + ["application/vnd.accpac.simply.imp"] = "imp", + ["application/vnd.acucobol"] = "acu", + ["application/vnd.acucorp"] = "acutc", + ["application/vnd.adobe.air-application-installer-package+zip"] = "air", + ["application/vnd.adobe.formscentral.fcdt"] = "fcdt", + ["application/vnd.adobe.fxp"] = "fxp", + ["application/vnd.adobe.xdp+xml"] = "xdp", + ["application/vnd.adobe.xfdf"] = "xfdf", + ["application/vnd.ahead.space"] = "ahead", + ["application/vnd.airzip.filesecure.azf"] = "azf", + ["application/vnd.airzip.filesecure.azs"] = "azs", + ["application/vnd.amazon.ebook"] = "azw", + ["application/vnd.americandynamics.acc"] = "acc", + ["application/vnd.amiga.ami"] = "ami", + ["application/vnd.android.package-archive"] = "apk", + ["application/vnd.anser-web-certificate-issue-initiation"] = "cii", + ["application/vnd.anser-web-funds-transfer-initiation"] = "fti", + ["application/vnd.antix.game-component"] = "atx", + ["application/vnd.apple.installer+xml"] = "mpkg", + ["application/vnd.apple.mpegurl"] = "m3u8", + ["application/vnd.aristanetworks.swi"] = "swi", + ["application/vnd.astraea-software.iota"] = "iota", + ["application/vnd.audiograph"] = "aep", + ["application/vnd.blueice.multipass"] = "mpm", + ["application/vnd.bmi"] = "bmi", + ["application/vnd.businessobjects"] = "rep", + ["application/vnd.chemdraw+xml"] = "cdxml", + ["application/vnd.chipnuts.karaoke-mmd"] = "mmd", + ["application/vnd.cinderella"] = "cdy", + ["application/vnd.claymore"] = "cla", + ["application/vnd.cloanto.rp9"] = "rp9", + ["application/vnd.clonk.c4group"] = "c4g", + ["application/vnd.cluetrust.cartomobile-config"] = "c11amc", + ["application/vnd.cluetrust.cartomobile-config-pkg"] = "c11amz", + ["application/vnd.commonspace"] = "csp", + ["application/vnd.contact.cmsg"] = "cdbcmsg", + ["application/vnd.cosmocaller"] = "cmc", + ["application/vnd.crick.clicker"] = "clkx", + ["application/vnd.crick.clicker.keyboard"] = "clkk", + ["application/vnd.crick.clicker.palette"] = "clkp", + ["application/vnd.crick.clicker.template"] = "clkt", + ["application/vnd.crick.clicker.wordbank"] = "clkw", + ["application/vnd.criticaltools.wbs+xml"] = "wbs", + ["application/vnd.ctc-posml"] = "pml", + ["application/vnd.cups-ppd"] = "ppd", + ["application/vnd.curl.car"] = "car", + ["application/vnd.curl.pcurl"] = "pcurl", + ["application/vnd.dart"] = "dart", + ["application/vnd.data-vision.rdz"] = "rdz", + ["application/vnd.dece.data"] = "uvd", + ["application/vnd.dece.ttml+xml"] = "uvt", + ["application/vnd.dece.unspecified"] = "uvx", + ["application/vnd.dece.zip"] = "uvz", + ["application/vnd.denovo.fcselayout-link"] = "fe_launch", + ["application/vnd.dna"] = "dna", + ["application/vnd.dolby.mlp"] = "mlp", + ["application/vnd.dpgraph"] = "dpg", + ["application/vnd.dreamfactory"] = "dfac", + ["application/vnd.ds-keypoint"] = "kpxx", + ["application/vnd.dvb.ait"] = "ait", + ["application/vnd.dvb.service"] = "svc", + ["application/vnd.dynageo"] = "geo", + ["application/vnd.ecowin.chart"] = "mag", + ["application/vnd.enliven"] = "nml", + ["application/vnd.epson.esf"] = "esf", + ["application/vnd.epson.msf"] = "msf", + ["application/vnd.epson.quickanime"] = "qam", + ["application/vnd.epson.salt"] = "slt", + ["application/vnd.epson.ssf"] = "ssf", + ["application/vnd.eszigno3+xml"] = "es3", + ["application/vnd.ezpix-album"] = "ez2", + ["application/vnd.ezpix-package"] = "ez3", + ["application/vnd.fdf"] = "fdf", + ["application/vnd.fdsn.mseed"] = "mseed", + ["application/vnd.fdsn.seed"] = "seed", + ["application/vnd.flographit"] = "gph", + ["application/vnd.fluxtime.clip"] = "ftc", + ["application/vnd.framemaker"] = "frame", + ["application/vnd.frogans.fnc"] = "fnc", + ["application/vnd.frogans.ltf"] = "ltf", + ["application/vnd.fsc.weblaunch"] = "fsc", + ["application/vnd.fujitsu.oasys2"] = "oa2", + ["application/vnd.fujitsu.oasys3"] = "oa3", + ["application/vnd.fujitsu.oasysgp"] = "fg5", + ["application/vnd.fujitsu.oasys"] = "oas", + ["application/vnd.fujitsu.oasysprs"] = "bh2", + ["application/vnd.fujixerox.ddd"] = "ddd", + ["application/vnd.fujixerox.docuworks.binder"] = "xbd", + ["application/vnd.fujixerox.docuworks"] = "xdw", + ["application/vnd.fuzzysheet"] = "fzs", + ["application/vnd.genomatix.tuxedo"] = "txd", + ["application/vnd.geogebra.file"] = "ggb", + ["application/vnd.geogebra.slides"] = "ggs", + ["application/vnd.geogebra.tool"] = "ggt", + ["application/vnd.geometry-explorer"] = "gex", + ["application/vnd.geonext"] = "gxt", + ["application/vnd.geoplan"] = "g2w", + ["application/vnd.geospace"] = "g3w", + ["application/vnd.gmx"] = "gmx", + ["application/vnd.google-earth.kml+xml"] = "kml", + ["application/vnd.google-earth.kmz"] = "kmz", + ["application/vnd.grafeq"] = "gqf", + ["application/vnd.groove-account"] = "gac", + ["application/vnd.groove-help"] = "ghf", + ["application/vnd.groove-identity-message"] = "gim", + ["application/vnd.groove-injector"] = "grv", + ["application/vnd.groove-tool-message"] = "gtm", + ["application/vnd.groove-tool-template"] = "tpl", + ["application/vnd.groove-vcard"] = "vcg", + ["application/vnd.hal+xml"] = "hal", + ["application/vnd.handheld-entertainment+xml"] = "zmm", + ["application/vnd.hbci"] = "hbci", + ["application/vnd.hhe.lesson-player"] = "les", + ["application/vnd.hp-hpgl"] = "hpgl", + ["application/vnd.hp-hpid"] = "hpid", + ["application/vnd.hp-hps"] = "hps", + ["application/vnd.hp-jlyt"] = "jlt", + ["application/vnd.hp-pcl"] = "pcl", + ["application/vnd.hp-pclxl"] = "pclxl", + ["application/vnd.hydrostatix.sof-data"] = "sfd-hdstx", + ["application/vnd.ibm.minipay"] = "mpy", + ["application/vnd.ibm.modcap"] = "afp", + ["application/vnd.ibm.rights-management"] = "irm", + ["application/vnd.ibm.secure-container"] = "sc", + ["application/vnd.iccprofile"] = "icc", + ["application/vnd.igloader"] = "igl", + ["application/vnd.immervision-ivp"] = "ivp", + ["application/vnd.immervision-ivu"] = "ivu", + ["application/vnd.insors.igm"] = "igm", + ["application/vnd.intercon.formnet"] = "xpw", + ["application/vnd.intergeo"] = "i2g", + ["application/vnd.intu.qbo"] = "qbo", + ["application/vnd.intu.qfx"] = "qfx", + ["application/vnd.ipunplugged.rcprofile"] = "rcprofile", + ["application/vnd.irepository.package+xml"] = "irp", + ["application/vnd.isac.fcs"] = "fcs", + ["application/vnd.is-xpr"] = "xpr", + ["application/vnd.jam"] = "jam", + ["application/vnd.jcp.javame.midlet-rms"] = "rms", + ["application/vnd.jisp"] = "jisp", + ["application/vnd.joost.joda-archive"] = "joda", + ["application/vnd.kahootz"] = "ktz", + ["application/vnd.kde.karbon"] = "karbon", + ["application/vnd.kde.kchart"] = "chrt", + ["application/vnd.kde.kformula"] = "kfo", + ["application/vnd.kde.kivio"] = "flw", + ["application/vnd.kde.kontour"] = "kon", + ["application/vnd.kde.kpresenter"] = "kpr", + ["application/vnd.kde.kspread"] = "ksp", + ["application/vnd.kde.kword"] = "kwd", + ["application/vnd.kenameaapp"] = "htke", + ["application/vnd.kidspiration"] = "kia", + ["application/vnd.kinar"] = "kne", + ["application/vnd.koan"] = "skd", + ["application/vnd.kodak-descriptor"] = "sse", + ["application/vnd.las.las+xml"] = "lasxml", + ["application/vnd.llamagraphics.life-balance.desktop"] = "lbd", + ["application/vnd.llamagraphics.life-balance.exchange+xml"] = "lbe", + ["application/vnd.lotus-1-2-3"] = "123", + ["application/vnd.lotus-approach"] = "apr", + ["application/vnd.lotus-freelance"] = "pre", + ["application/vnd.lotus-notes"] = "nsf", + ["application/vnd.lotus-organizer"] = "org", + ["application/vnd.lotus-screencam"] = "scm", + ["application/vnd.lotus-wordpro"] = "lwp", + ["application/vnd.macports.portpkg"] = "portpkg", + ["application/vnd.mcd"] = "mcd", + ["application/vnd.medcalcdata"] = "mc1", + ["application/vnd.mediastation.cdkey"] = "cdkey", + ["application/vnd.mfer"] = "mwf", + ["application/vnd.mfmp"] = "mfm", + ["application/vnd.micrografx.flo"] = "flo", + ["application/vnd.micrografx.igx"] = "igx", + ["application/vnd.mif"] = "mif", + ["application/vnd.mobius.daf"] = "daf", + ["application/vnd.mobius.dis"] = "dis", + ["application/vnd.mobius.mbk"] = "mbk", + ["application/vnd.mobius.mqy"] = "mqy", + ["application/vnd.mobius.msl"] = "msl", + ["application/vnd.mobius.plc"] = "plc", + ["application/vnd.mobius.txf"] = "txf", + ["application/vnd.mophun.application"] = "mpn", + ["application/vnd.mophun.certificate"] = "mpc", + ["application/vnd.mozilla.xul+xml"] = "xul", + ["application/vnd.ms-artgalry"] = "cil", + ["application/vnd.ms-cab-compressed"] = "cab", + ["application/vnd.mseq"] = "mseq", + ["application/vnd.ms-excel.addin.macroenabled.12"] = "xlam", + ["application/vnd.ms-excel.sheet.binary.macroenabled.12"] = "xlsb", + ["application/vnd.ms-excel.sheet.macroenabled.12"] = "xlsm", + ["application/vnd.ms-excel.template.macroenabled.12"] = "xltm", + ["application/vnd.ms-excel"] = "xls", + ["application/vnd.ms-fontobject"] = "eot", + ["application/vnd.ms-htmlhelp"] = "chm", + ["application/vnd.ms-ims"] = "ims", + ["application/vnd.ms-lrm"] = "lrm", + ["application/vnd.ms-officetheme"] = "thmx", + ["application/vnd.ms-pki.seccat"] = "cat", + ["application/vnd.ms-pki.stl"] = "stl", + ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam", + ["application/vnd.ms-powerpoint"] = "ppt", + ["application/vnd.ms-powerpoint.presentation.macroenabled.12"] = "pptm", + ["application/vnd.ms-powerpoint.slide.macroenabled.12"] = "sldm", + ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"] = "ppsm", + ["application/vnd.ms-powerpoint.template.macroenabled.12"] = "potm", + ["application/vnd.ms-project"] = "mpp", + ["application/vnd.ms-word.document.macroenabled.12"] = "docm", + ["application/vnd.ms-word.template.macroenabled.12"] = "dotm", + ["application/vnd.ms-works"] = "wps", + ["application/vnd.ms-wpl"] = "wpl", + ["application/vnd.ms-xpsdocument"] = "xps", + ["application/vnd.musician"] = "mus", + ["application/vnd.muvee.style"] = "msty", + ["application/vnd.mynfc"] = "taglet", + ["application/vnd.neurolanguage.nlu"] = "nlu", + ["application/vnd.nitf"] = "nitf", + ["application/vnd.noblenet-directory"] = "nnd", + ["application/vnd.noblenet-sealer"] = "nns", + ["application/vnd.noblenet-web"] = "nnw", + ["application/vnd.nokia.n-gage.data"] = "ngdat", + ["application/vnd.nokia.n-gage.symbian.install"] = "n-gage", + ["application/vnd.nokia.radio-preset"] = "rpst", + ["application/vnd.nokia.radio-presets"] = "rpss", + ["application/vnd.novadigm.edm"] = "edm", + ["application/vnd.novadigm.edx"] = "edx", + ["application/vnd.novadigm.ext"] = "ext", + ["application/vnd.oasis.opendocument.chart"] = "odc", + ["application/vnd.oasis.opendocument.chart-template"] = "otc", + ["application/vnd.oasis.opendocument.database"] = "odb", + ["application/vnd.oasis.opendocument.formula"] = "odf", + ["application/vnd.oasis.opendocument.formula-template"] = "odft", + ["application/vnd.oasis.opendocument.graphics"] = "odg", + ["application/vnd.oasis.opendocument.graphics-template"] = "otg", + ["application/vnd.oasis.opendocument.image"] = "odi", + ["application/vnd.oasis.opendocument.image-template"] = "oti", + ["application/vnd.oasis.opendocument.presentation"] = "odp", + ["application/vnd.oasis.opendocument.presentation-template"] = "otp", + ["application/vnd.oasis.opendocument.spreadsheet"] = "ods", + ["application/vnd.oasis.opendocument.spreadsheet-template"] = "ots", + ["application/vnd.oasis.opendocument.text-master"] = "odm", + ["application/vnd.oasis.opendocument.text"] = "odt", + ["application/vnd.oasis.opendocument.text-template"] = "ott", + ["application/vnd.oasis.opendocument.text-web"] = "oth", + ["application/vnd.olpc-sugar"] = "xo", + ["application/vnd.oma.dd2+xml"] = "dd2", + ["application/vnd.openofficeorg.extension"] = "oxt", + ["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = "pptx", + ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx", + ["application/vnd.openxmlformats-officedocument.presentationml.slide"] = "sldx", + ["application/vnd.openxmlformats-officedocument.presentationml.template"] = "potx", + ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = "xlsx", + ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"] = "xltx", + ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"] = "docx", + ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"] = "dotx", + ["application/vnd.osgeo.mapguide.package"] = "mgp", + ["application/vnd.osgi.dp"] = "dp", + ["application/vnd.osgi.subsystem"] = "esa", + ["application/vnd.palm"] = "pdb", + ["application/vnd.pawaafile"] = "paw", + ["application/vnd.pg.format"] = "str", + ["application/vnd.pg.osasli"] = "ei6", + ["application/vnd.picsel"] = "efif", + ["application/vnd.pmi.widget"] = "wg", + ["application/vnd.pocketlearn"] = "plf", + ["application/vnd.powerbuilder6"] = "pbd", + ["application/vnd.previewsystems.box"] = "box", + ["application/vnd.proteus.magazine"] = "mgz", + ["application/vnd.publishare-delta-tree"] = "qps", + ["application/vnd.pvi.ptid1"] = "ptid", + ["application/vnd.quark.quarkxpress"] = "qxd", + ["application/vnd.realvnc.bed"] = "bed", + ["application/vnd.recordare.musicxml"] = "mxl", + ["application/vnd.recordare.musicxml+xml"] = "musicxml", + ["application/vnd.rig.cryptonote"] = "cryptonote", + ["application/vnd.rim.cod"] = "cod", + ["application/vnd.rn-realmedia"] = "rm", + ["application/vnd.rn-realmedia-vbr"] = "rmvb", + ["application/vnd.route66.link66+xml"] = "link66", + ["application/vnd.sailingtracker.track"] = "st", + ["application/vnd.seemail"] = "see", + ["application/vnd.sema"] = "sema", + ["application/vnd.semd"] = "semd", + ["application/vnd.semf"] = "semf", + ["application/vnd.shana.informed.formdata"] = "ifm", + ["application/vnd.shana.informed.formtemplate"] = "itp", + ["application/vnd.shana.informed.interchange"] = "iif", + ["application/vnd.shana.informed.package"] = "ipk", + ["application/vnd.simtech-mindmapper"] = "twd", + ["application/vnd.smaf"] = "mmf", + ["application/vnd.smart.teacher"] = "teacher", + ["application/vnd.solent.sdkm+xml"] = "sdkm", + ["application/vnd.spotfire.dxp"] = "dxp", + ["application/vnd.spotfire.sfs"] = "sfs", + ["application/vnd.stardivision.calc"] = "sdc", + ["application/vnd.stardivision.draw"] = "sda", + ["application/vnd.stardivision.impress"] = "sdd", + ["application/vnd.stardivision.math"] = "smf", + ["application/vnd.stardivision.writer-global"] = "sgl", + ["application/vnd.stardivision.writer"] = "sdw", + ["application/vnd.stepmania.package"] = "smzip", + ["application/vnd.stepmania.stepchart"] = "sm", + ["application/vnd.sun.xml.calc"] = "sxc", + ["application/vnd.sun.xml.calc.template"] = "stc", + ["application/vnd.sun.xml.draw"] = "sxd", + ["application/vnd.sun.xml.draw.template"] = "std", + ["application/vnd.sun.xml.impress"] = "sxi", + ["application/vnd.sun.xml.impress.template"] = "sti", + ["application/vnd.sun.xml.math"] = "sxm", + ["application/vnd.sun.xml.writer.global"] = "sxg", + ["application/vnd.sun.xml.writer"] = "sxw", + ["application/vnd.sun.xml.writer.template"] = "stw", + ["application/vnd.sus-calendar"] = "sus", + ["application/vnd.svd"] = "svd", + ["application/vnd.symbian.install"] = "sis", + ["application/vnd.syncml.dm+wbxml"] = "bdm", + ["application/vnd.syncml.dm+xml"] = "xdm", + ["application/vnd.syncml+xml"] = "xsm", + ["application/vnd.tao.intent-module-archive"] = "tao", + ["application/vnd.tcpdump.pcap"] = "pcap", + ["application/vnd.tmobile-livetv"] = "tmo", + ["application/vnd.trid.tpt"] = "tpt", + ["application/vnd.triscape.mxs"] = "mxs", + ["application/vnd.trueapp"] = "tra", + ["application/vnd.ufdl"] = "ufdl", + ["application/vnd.uiq.theme"] = "utz", + ["application/vnd.umajin"] = "umj", + ["application/vnd.unity"] = "unityweb", + ["application/vnd.uoml+xml"] = "uoml", + ["application/vnd.vcx"] = "vcx", + ["application/vnd.visionary"] = "vis", + ["application/vnd.visio"] = "vsd", + ["application/vnd.vsf"] = "vsf", + ["application/vnd.wap.wbxml"] = "wbxml", + ["application/vnd.wap.wmlc"] = "wmlc", + ["application/vnd.wap.wmlscriptc"] = "wmlsc", + ["application/vnd.webturbo"] = "wtb", + ["application/vnd.wolfram.player"] = "nbp", + ["application/vnd.wordperfect"] = "wpd", + ["application/vnd.wqd"] = "wqd", + ["application/vnd.wt.stf"] = "stf", + ["application/vnd.xara"] = "xar", + ["application/vnd.xfdl"] = "xfdl", + ["application/vnd.yamaha.hv-dic"] = "hvd", + ["application/vnd.yamaha.hv-script"] = "hvs", + ["application/vnd.yamaha.hv-voice"] = "hvp", + ["application/vnd.yamaha.openscoreformat"] = "osf", + ["application/vnd.yamaha.openscoreformat.osfpvg+xml"] = "osfpvg", + ["application/vnd.yamaha.smaf-audio"] = "saf", + ["application/vnd.yamaha.smaf-phrase"] = "spf", + ["application/vnd.yellowriver-custom-menu"] = "cmp", + ["application/vnd.zul"] = "zir", + ["application/vnd.zzazz.deck+xml"] = "zaz", + ["application/voicexml+xml"] = "vxml", + ["application/wasm"] = "wasm", + ["application/widget"] = "wgt", + ["application/winhlp"] = "hlp", + ["application/wsdl+xml"] = "wsdl", + ["application/wspolicy+xml"] = "wspolicy", + ["application/x-7z-compressed"] = "7z", + ["application/x-abiword"] = "abw", + ["application/x-ace-compressed"] = "ace", + ["application/xaml+xml"] = "xaml", + ["application/x-apple-diskimage"] = "dmg", + ["application/x-authorware-bin"] = "aab", + ["application/x-bcpio"] = "bcpio", + ["application/x-bittorrent"] = "torrent", + ["application/x-blorb"] = "blorb", + ["application/x-bzip2"] = "bz2", + ["application/x-bzip"] = "bz", + ["application/xcap-diff+xml"] = "xdf", + ["application/x-cbr"] = "cbr", + ["application/x-cdlink"] = "vcd", + ["application/x-cfs-compressed"] = "cfs", + ["application/x-chat"] = "chat", + ["application/x-chess-pgn"] = "pgn", + ["application/x-conference"] = "nsc", + ["application/x-cpio"] = "cpio", + ["application/x-csh"] = "csh", + ["application/x-debian-package"] = "deb", + ["application/x-dgc-compressed"] = "dgc", + ["application/x-director"] = "dir", + ["application/x-doom"] = "wad", + ["application/x-dtbncx+xml"] = "ncx", + ["application/x-dtbook+xml"] = "dtb", + ["application/x-dtbresource+xml"] = "res", + ["application/x-dvi"] = "dvi", + ["application/xenc+xml"] = "xenc", + ["application/x-envoy"] = "evy", + ["application/x-eva"] = "eva", + ["application/x-font-bdf"] = "bdf", + ["application/x-font-ghostscript"] = "gsf", + ["application/x-font-linux-psf"] = "psf", + ["application/x-font-pcf"] = "pcf", + ["application/x-font-snf"] = "snf", + ["application/x-font-type1"] = "pfm", + ["application/x-freearc"] = "arc", + ["application/x-futuresplash"] = "spl", + ["application/x-gca-compressed"] = "gca", + ["application/x-glulx"] = "ulx", + ["application/x-gnumeric"] = "gnumeric", + ["application/x-gramps-xml"] = "gramps", + ["application/x-gtar"] = "gtar", + ["application/x-hdf"] = "hdf", + ["application/xhtml+xml"] = "xhtml", + ["application/x-install-instructions"] = "install", + ["application/x-iso9660-image"] = "iso", + ["application/x-java-jnlp-file"] = "jnlp", + ["application/x-latex"] = "latex", + ["application/x-lzh-compressed"] = "lzh", + ["application/x-mie"] = "mie", + ["application/xml-dtd"] = "dtd", + ["application/xml"] = "xml", + ["application/x-mobipocket-ebook"] = "mobi", + ["application/x-msaccess"] = "mdb", + ["application/x-ms-application"] = "application", + ["application/x-msbinder"] = "obd", + ["application/x-mscardfile"] = "crd", + ["application/x-msclip"] = "clp", + ["application/x-msdownload"] = "msi", + ["application/x-msmediaview"] = "mvb", + ["application/x-msmetafile"] = "wmf", + ["application/x-msmoney"] = "mny", + ["application/x-mspublisher"] = "pub", + ["application/x-msschedule"] = "scd", + ["application/x-ms-shortcut"] = "lnk", + ["application/x-msterminal"] = "trm", + ["application/x-ms-wmd"] = "wmd", + ["application/x-ms-wmz"] = "wmz", + ["application/x-mswrite"] = "wri", + ["application/x-ms-xbap"] = "xbap", + ["application/x-netcdf"] = "cdf", + ["application/x-nzb"] = "nzb", + ["application/xop+xml"] = "xop", + ["application/x-pkcs12"] = "p12", + ["application/x-pkcs7-certificates"] = "p7b", + ["application/x-pkcs7-certreqresp"] = "p7r", + ["application/xproc+xml"] = "xpl", + ["application/x-rar-compressed"] = "rar", + ["application/x-research-info-systems"] = "ris", + ["application/x-shar"] = "shar", + ["application/x-shockwave-flash"] = "swf", + ["application/x-sh"] = "sh", + ["application/x-silverlight-app"] = "xap", + ["application/xslt+xml"] = "xslt", + ["application/xspf+xml"] = "xspf", + ["application/x-sql"] = "sql", + ["application/x-stuffit"] = "sit", + ["application/x-stuffitx"] = "sitx", + ["application/x-subrip"] = "srt", + ["application/x-sv4cpio"] = "sv4cpio", + ["application/x-sv4crc"] = "sv4crc", + ["application/x-t3vm-image"] = "t3", + ["application/x-tads"] = "gam", + ["application/x-tar"] = "tar", + ["application/x-tcl"] = "tcl", + ["application/x-texinfo"] = "texinfo", + ["application/x-tex"] = "tex", + ["application/x-tex-tfm"] = "tfm", + ["application/x-tgif"] = "obj", + ["application/x-ustar"] = "ustar", + ["application/xv+xml"] = "xvml", + ["application/x-wais-source"] = "src", + ["application/x-x509-ca-cert"] = "crt", + ["application/x-xfig"] = "fig", + ["application/x-xliff+xml"] = "xlf", + ["application/x-xpinstall"] = "xpi", + ["application/x-xz"] = "xz", + ["application/x-zmachine"] = "z1", + ["application/yang"] = "yang", + ["application/yin+xml"] = "yin", + ["application/zip"] = "zip", + ["audio/adpcm"] = "adp", + ["audio/basic"] = "au", + ["audio/midi"] = "mid", + ["audio/mp4"] = "m4a", + ["audio/mpeg"] = "mpga", + ["audio/ogg"] = "ogg", + ["audio/s3m"] = "s3m", + ["audio/silk"] = "sil", + ["audio/vnd.dece.audio"] = "uva", + ["audio/vnd.digital-winds"] = "eol", + ["audio/vnd.dra"] = "dra", + ["audio/vnd.dts"] = "dts", + ["audio/vnd.dts.hd"] = "dtshd", + ["audio/vnd.lucent.voice"] = "lvp", + ["audio/vnd.ms-playready.media.pya"] = "pya", + ["audio/vnd.nuera.ecelp4800"] = "ecelp4800", + ["audio/vnd.nuera.ecelp7470"] = "ecelp7470", + ["audio/vnd.nuera.ecelp9600"] = "ecelp9600", + ["audio/vnd.rip"] = "rip", + ["audio/webm"] = "weba", + ["audio/x-aac"] = "aac", + ["audio/x-aiff"] = "aiff", + ["audio/x-caf"] = "caf", + ["audio/x-flac"] = "flac", + ["audio/x-matroska"] = "mka", + ["audio/x-mpegurl"] = "m3u", + ["audio/x-ms-wax"] = "wax", + ["audio/x-ms-wma"] = "wma", + ["audio/xm"] = "xm", + ["audio/x-pn-realaudio-plugin"] = "rmp", + ["audio/x-pn-realaudio"] = "ra", + ["audio/x-wav"] = "wav", + ["chemical/x-cdx"] = "cdx", + ["chemical/x-cif"] = "cif", + ["chemical/x-cmdf"] = "cmdf", + ["chemical/x-cml"] = "cml", + ["chemical/x-csml"] = "csml", + ["chemical/x-xyz"] = "xyz", + ["font/collection"] = "ttc", + ["font/otf"] = "otf", + ["font/ttf"] = "ttf", + ["font/woff2"] = "woff2", + ["font/woff"] = "woff", + ["image/bmp"] = "bmp", + ["image/cgm"] = "cgm", + ["image/g3fax"] = "g3", + ["image/gif"] = "gif", + ["image/ief"] = "ief", + ["image/jpeg"] = "jpg", + ["image/ktx"] = "ktx", + ["image/png"] = "png", + ["image/prs.btif"] = "btif", + ["image/sgi"] = "sgi", + ["image/svg+xml"] = "svg", + ["image/tiff"] = "tiff", + ["image/vnd.adobe.photoshop"] = "psd", + ["image/vnd.dece.graphic"] = "uvg", + ["image/vnd.djvu"] = "djvu", + ["image/vnd.dvb.subtitle"] = "sub", + ["image/vnd.dwg"] = "dwg", + ["image/vnd.dxf"] = "dxf", + ["image/vnd.fastbidsheet"] = "fbs", + ["image/vnd.fpx"] = "fpx", + ["image/vnd.fst"] = "fst", + ["image/vnd.fujixerox.edmics-mmr"] = "mmr", + ["image/vnd.fujixerox.edmics-rlc"] = "rlc", + ["image/vnd.ms-modi"] = "mdi", + ["image/vnd.ms-photo"] = "wdp", + ["image/vnd.net-fpx"] = "npx", + ["image/vnd.wap.wbmp"] = "wbmp", + ["image/vnd.xiff"] = "xif", + ["image/webp"] = "webp", + ["image/x-3ds"] = "3ds", + ["image/x-cmu-raster"] = "ras", + ["image/x-cmx"] = "cmx", + ["image/x-freehand"] = "fh", + ["image/x-icon"] = "ico", + ["image/x-mrsid-image"] = "sid", + ["image/x-pcx"] = "pcx", + ["image/x-pict"] = "pct", + ["image/x-portable-anymap"] = "pnm", + ["image/x-portable-bitmap"] = "pbm", + ["image/x-portable-graymap"] = "pgm", + ["image/x-portable-pixmap"] = "ppm", + ["image/x-rgb"] = "rgb", + ["image/x-tga"] = "tga", + ["image/x-xbitmap"] = "xbm", + ["image/x-xpixmap"] = "xpm", + ["image/x-xwindowdump"] = "xwd", + ["message/rfc822"] = "mime", + ["model/iges"] = "iges", + ["model/mesh"] = "mesh", + ["model/vnd.collada+xml"] = "dae", + ["model/vnd.dwf"] = "dwf", + ["model/vnd.gdl"] = "gdl", + ["model/vnd.gtw"] = "gtw", + ["model/vnd.mts"] = "mts", + ["model/vnd.vtu"] = "vtu", + ["model/vrml"] = "vrml", + ["model/x3d+binary"] = "x3db", + ["model/x3d+vrml"] = "x3dv", + ["model/x3d+xml"] = "x3d", + ["text/cache-manifest"] = "appcache", + ["text/calendar"] = "ics", + ["text/css"] = "css", + ["text/csv"] = "csv", + ["text/html"] = "html", + ["text/javascript"] = "js", + ["text/n3"] = "n3", + ["text/plain"] = "txt", + ["text/prs.lines.tag"] = "dsc", + ["text/richtext"] = "rtx", + ["text/sgml"] = "sgml", + ["text/tab-separated-values"] = "tsv", + ["text/troff"] = "tr", + ["text/turtle"] = "ttl", + ["text/uri-list"] = "uri", + ["text/vcard"] = "vcard", + ["text/vnd.curl"] = "curl", + ["text/vnd.curl.dcurl"] = "dcurl", + ["text/vnd.curl.mcurl"] = "mcurl", + ["text/vnd.curl.scurl"] = "scurl", + ["text/vnd.dvb.subtitle"] = "sub", + ["text/vnd.fly"] = "fly", + ["text/vnd.fmi.flexstor"] = "flx", + ["text/vnd.graphviz"] = "gv", + ["text/vnd.in3d.3dml"] = "3dml", + ["text/vnd.in3d.spot"] = "spot", + ["text/vnd.sun.j2me.app-descriptor"] = "jad", + ["text/vnd.wap.wmlscript"] = "wmls", + ["text/vnd.wap.wml"] = "wml", + ["text/x-asm"] = "asm", + ["text/x-c"] = "c", + ["text/x-fortran"] = "f", + ["text/x-java-source"] = "java", + ["text/x-nfo"] = "nfo", + ["text/x-opml"] = "opml", + ["text/x-pascal"] = "pas", + ["text/x-setext"] = "etx", + ["text/x-sfv"] = "sfv", + ["text/x-uuencode"] = "uu", + ["text/x-vcalendar"] = "vcs", + ["text/x-vcard"] = "vcf", + ["video/3gpp2"] = "3g2", + ["video/3gpp"] = "3gp", + ["video/h261"] = "h261", + ["video/h263"] = "h263", + ["video/h264"] = "h264", + ["video/jpeg"] = "jpgv", + ["video/jpm"] = "jpm", + ["video/mj2"] = "mj2", + ["video/mp4"] = "mp4", + ["video/mpeg"] = "mpg", + ["video/ogg"] = "ogv", + ["video/quicktime"] = "mov", + ["video/vnd.dece.hd"] = "uvh", + ["video/vnd.dece.mobile"] = "uvm", + ["video/vnd.dece.pd"] = "uvp", + ["video/vnd.dece.sd"] = "uvs", + ["video/vnd.dece.video"] = "uvv", + ["video/vnd.dvb.file"] = "dvb", + ["video/vnd.fvt"] = "fvt", + ["video/vnd.mpegurl"] = "m4u", + ["video/vnd.ms-playready.media.pyv"] = "pyv", + ["video/vnd.uvvu.mp4"] = "uvu", + ["video/vnd.vivo"] = "viv", + ["video/webm"] = "webm", + ["video/x-f4v"] = "f4v", + ["video/x-fli"] = "fli", + ["video/x-flv"] = "flv", + ["video/x-m4v"] = "m4v", + ["video/x-matroska"] = "mkv", + ["video/x-mng"] = "mng", + ["video/x-ms-asf"] = "asf", + ["video/x-msvideo"] = "avi", + ["video/x-ms-vob"] = "vob", + ["video/x-ms-wmv"] = "wmv", + ["video/x-ms-wm"] = "wm", + ["video/x-ms-wmx"] = "wmx", + ["video/x-ms-wvx"] = "wvx", + ["video/x-sgi-movie"] = "movie", + ["video/x-smv"] = "smv", + ["x-conference/x-cooltalk"] = "ice" } &default="bin" &redef; } diff --git a/shared/bin/configure-capture.py b/shared/bin/configure-capture.py index c67729d81..d463fa206 100755 --- a/shared/bin/configure-capture.py +++ b/shared/bin/configure-capture.py @@ -48,6 +48,7 @@ class Constants: ZEEK_FILE_CARVING_KNOWN = 'known' ZEEK_FILE_CARVING_MAPPED = 'mapped' ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT = 'mapped (except common plain text files)' + ZEEK_FILE_CARVING_NOTCOMMTXT = 'notcommtxt' ZEEK_FILE_CARVING_INTERESTING = 'interesting' ZEEK_FILE_CARVING_CUSTOM = 'custom' ZEEK_FILE_CARVING_CUSTOM_MIME = 'custom (mime-sorted)' @@ -56,13 +57,6 @@ class Constants: ZEEK_FILE_CARVING_OVERRIDE_FILE = '/opt/sensor/sensor_ctl/extractor_override.zeek' ZEEK_FILE_CARVING_OVERRIDE_INTERESTING_FILE = '/opt/sensor/sensor_ctl/zeek/extractor_override.interesting.zeek' ZEEK_FILE_CARVING_OVERRIDE_FILE_MAP_NAME = 'extractor_mime_to_ext_map' - ZEEK_FILE_CARVING_PLAIN_TEXT_MIMES = { - "application/json", - "application/x-x509-ca-cert", - "application/xml", - "text/plain", - "text/xml", - } FILEBEAT = 'filebeat' MISCBEAT = 'miscbeat' @@ -594,7 +588,7 @@ def main(): ( Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT, 'Carve files with recognized mime types (except common plain text files)', - False, + (capture_config_dict["ZEEK_EXTRACTOR_MODE"] == Constants.ZEEK_FILE_CARVING_NOTCOMMTXT), ), ( Constants.ZEEK_FILE_CARVING_KNOWN, @@ -633,45 +627,32 @@ def main(): capture_config_dict["ZEEK_EXTRACTOR_OVERRIDE_FILE"] = "" zeek_carved_file_preservation = PRESERVE_NONE - if zeek_carve_mode.startswith(Constants.ZEEK_FILE_CARVING_CUSTOM) or zeek_carve_mode.startswith( - Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT - ): + if zeek_carve_mode.startswith(Constants.ZEEK_FILE_CARVING_CUSTOM): # get all known mime-to-extension mappings into a dictionary all_mime_maps = mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_DEFAULTS) - if zeek_carve_mode == Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT: - # all mime types minus common text mime types - mime_tags.extend( - [ - mime - for mime in all_mime_maps.keys() - if mime not in Constants.ZEEK_FILE_CARVING_PLAIN_TEXT_MIMES - ] - ) - + # select mimes to carve (pre-selecting items previously in the override file) + if zeek_carve_mode == Constants.ZEEK_FILE_CARVING_CUSTOM_EXT: + mime_choices = [ + ( + pair[0], + pair[1], + pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE), + ) + for pair in sorted(all_mime_maps.items(), key=lambda x: x[1].lower()) + ] else: - # select mimes to carve (pre-selecting items previously in the override file) - if zeek_carve_mode == Constants.ZEEK_FILE_CARVING_CUSTOM_EXT: - mime_choices = [ - ( - pair[0], - pair[1], - pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE), - ) - for pair in sorted(all_mime_maps.items(), key=lambda x: x[1].lower()) - ] - else: - mime_choices = [ - ( - pair[0], - pair[1], - pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE), - ) - for pair in sorted(all_mime_maps.items(), key=lambda x: x[0].lower()) - ] - code, mime_tags = d.checklist(Constants.MSG_CONFIG_ZEEK_CARVING_MIMES, choices=mime_choices) - if code == Dialog.CANCEL or code == Dialog.ESC: - raise CancelledError + mime_choices = [ + ( + pair[0], + pair[1], + pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE), + ) + for pair in sorted(all_mime_maps.items(), key=lambda x: x[0].lower()) + ] + code, mime_tags = d.checklist(Constants.MSG_CONFIG_ZEEK_CARVING_MIMES, choices=mime_choices) + if code == Dialog.CANCEL or code == Dialog.ESC: + raise CancelledError mime_tags.sort() if len(mime_tags) == 0: @@ -691,6 +672,9 @@ def main(): zeek_carve_mode = Constants.ZEEK_FILE_CARVING_MAPPED capture_config_dict["ZEEK_EXTRACTOR_OVERRIDE_FILE"] = Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE + elif zeek_carve_mode.startswith(Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT): + zeek_carve_mode = Constants.ZEEK_FILE_CARVING_NOTCOMMTXT + # what to do with carved files if zeek_carve_mode != Constants.ZEEK_FILE_CARVING_NONE: # select engines for file scanning diff --git a/shared/bin/pcap_processor.py b/shared/bin/pcap_processor.py index 40e62d1c0..eef96db41 100755 --- a/shared/bin/pcap_processor.py +++ b/shared/bin/pcap_processor.py @@ -60,6 +60,7 @@ ZEEK_EXTRACTOR_MODE_INTERESTING = 'interesting' ZEEK_EXTRACTOR_MODE_MAPPED = 'mapped' ZEEK_EXTRACTOR_MODE_NONE = 'none' +ZEEK_EXTRACTOR_MODE_NOTCOMMTXT = 'notcommtxt' ZEEK_EXTRACTOR_SCRIPT = "extractor.zeek" ZEEK_EXTRACTOR_SCRIPT_INTERESTING = "extractor_override.interesting.zeek" ZEEK_LOCAL_SCRIPT = 'local' @@ -640,7 +641,7 @@ def main(): '--extract', dest='zeekExtractFileMode', help='Zeek file carving mode', - metavar=f'{ZEEK_EXTRACTOR_MODE_INTERESTING}|{ZEEK_EXTRACTOR_MODE_MAPPED}|{ZEEK_EXTRACTOR_MODE_NONE}', + metavar=f'{ZEEK_EXTRACTOR_MODE_INTERESTING}|{ZEEK_EXTRACTOR_MODE_MAPPED}|{ZEEK_EXTRACTOR_MODE_NONE}|{ZEEK_EXTRACTOR_MODE_NOTCOMMTXT}', type=str, default=ZEEK_EXTRACTOR_MODE_NONE, ) diff --git a/zeek/config/extractor.zeek b/zeek/config/extractor.zeek index 07e745368..643b67bc4 100644 --- a/zeek/config/extractor.zeek +++ b/zeek/config/extractor.zeek @@ -17,7 +17,9 @@ event file_sniff(f: fa_file, meta: fa_metadata) { # we only want to extract knowns and we know the mime type OR ((extractor_extract_mode == extractor_extract_known) && meta?$mime_type) || # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped - ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map))) { + ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map)) || + # we want to extract everything except common plain-text mimes, and either there's no mime type or the mime type isn't one of those + ((extractor_extract_mode == extractor_extract_notcommtxt) && ((! meta?$mime_type) || (meta$mime_type !in plain_text_mimes)))) { local ext: string = ""; if (! meta?$mime_type) diff --git a/zeek/config/extractor_params.zeek b/zeek/config/extractor_params.zeek index 653e91503..e72dd0f15 100644 --- a/zeek/config/extractor_params.zeek +++ b/zeek/config/extractor_params.zeek @@ -3,937 +3,792 @@ # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. export { - const extractor_extract_none = "none" &redef; - const extractor_extract_known = "known" &redef; - const extractor_extract_mapped = "mapped" &redef; - const extractor_extract_all = "all" &redef; + const extractor_extract_none = "none" &redef; + const extractor_extract_known = "known" &redef; + const extractor_extract_mapped = "mapped" &redef; + const extractor_extract_all = "all" &redef; + const extractor_extract_notcommtxt = "notcommtxt" &redef; const extractor_always_extract_unknown = F &redef; const extractor_max_size_default = 134217728 &redef; + const plain_text_mimes : set[string] = { + "application/json", + "application/x-x509-ca-cert", + "application/xml", + "text/plain", + "text/xml", + } &redef; + # wget -qO- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | egrep -v ^# | awk '{ for (i=2; i<=NF; i++) {print "[\x22"$1"\x22]"" = ""\x22"$i"\x22,"}}' | sort const extractor_mime_to_ext_map : table[string] of string = { - ["application/acad"]= "dwg", - ["application/andrew-inset"]= "ez", - ["application/annodex"]= "anx", - ["application/applixware"]= "aw", - ["application/atom+xml"]= "atom", - ["application/atomcat+xml"]= "atomcat", - ["application/atomsvc+xml"]= "atomsvc", - ["application/binary"]= "bin", - ["application/ccxml+xml"]= "ccxml", - ["application/cdmi-capability"]= "cdmia", - ["application/cdmi-container"]= "cdmic", - ["application/cdmi-domain"]= "cdmid", - ["application/cdmi-object"]= "cdmio", - ["application/cdmi-queue"]= "cdmiq", - ["application/cu-seeme"]= "cu", - ["application/davmount+xml"]= "davmount", - ["application/directx"]= "x", - ["application/docbook+xml"]= "dbk", - ["application/dssc+der"]= "dssc", - ["application/dssc+xml"]= "xdssc", - ["application/ecmascript"]= "es", - ["application/emma+xml"]= "emma", - ["application/envoy"]= "evy", - ["application/epub+zip"]= "epub", - ["application/etl"]= "etl", - ["application/exi"]= "exi", - ["application/font-sfnt"]= "ttf", - ["application/fractals"]= "fif", - ["application/fsharp-script"]= "fsscript", - ["application/futuresplash"]= "spl", - ["application/gml+xml"]= "gml", - ["application/gpx+xml"]= "gpx", - ["application/gxf"]= "gxf", - ["application/hta"]= "hta", - ["application/hyperstudio"]= "stk", - ["application/inkml+xml"]= "inkml", - ["application/internet-property-stream"]= "acx", - ["application/ipfix"]= "ipfix", - ["application/java-archive"]= "jar", - ["application/java-serialized-object"]= "ser", - ["application/java-vm"]= "class", - ["application/javascript"]= "js", - ["application/json"]= "json", - ["application/jsonml+json"]= "jsonml", - ["application/liquidmotion"]= "jck", - ["application/lost+xml"]= "lostxml", - ["application/mac-binhex40"]= "hqx", - ["application/mac-compactpro"]= "cpt", - ["application/mads+xml"]= "mads", - ["application/marc"]= "mrc", - ["application/marcxml+xml"]= "mrcx", - ["application/mathematica"]= "ma", - ["application/mathml+xml"]= "mathml", - ["application/mbox"]= "mbox", - ["application/mediaservercontrol+xml"]= "mscml", - ["application/metalink+xml"]= "metalink", - ["application/metalink4+xml"]= "meta4", - ["application/mets+xml"]= "mets", - ["application/mods+xml"]= "mods", - ["application/mp21"]= "mp21", - ["application/mp4"]= "mp4s", - ["application/mpeg"]= "amc", - ["application/ms-vsi"]= "vsi", - ["application/msaccess"]= "accdb", - ["application/msaccess.addin"]= "accda", - ["application/msaccess.cab"]= "accdc", - ["application/msaccess.ftemplate"]= "accft", - ["application/msaccess.runtime"]= "accdr", - ["application/msaccess.webapplication"]= "accdw", - ["application/msexcel"]= "xls", - ["application/mspowerpoint"]= "ppt", - ["application/msword"]= "doc", - ["application/mxf"]= "mxf", - ["application/octet-stream"]= "bin", - ["application/oda"]= "oda", - ["application/oebps-package+xml"]= "opf", - ["application/ogg"]= "ogx", - ["application/olescript"]= "axs", - ["application/omdoc+xml"]= "omdoc", - ["application/onenote"]= "one", - ["application/opensearchdescription+xml"]= "osdx", - ["application/oxps"]= "oxps", - ["application/patch-ops-error+xml"]= "xer", - ["application/pdf"]= "pdf", - ["application/pgp-encrypted"]= "pgp", - ["application/pgp-signature"]= "pgp", - ["application/pics-rules"]= "prf", - ["application/pkcs10"]= "p10", - ["application/pkcs7-mime"]= "p7c", - ["application/pkcs7-signature"]= "p7s", - ["application/pkcs8"]= "p8", - ["application/pkix-attr-cert"]= "ac", - ["application/pkix-cert"]= "cer", - ["application/pkix-crl"]= "crl", - ["application/pkix-pkipath"]= "pkipath", - ["application/pkixcmp"]= "pki", - ["application/pls+xml"]= "pls", - ["application/postscript"]= "ps", - ["application/PowerShell"]= "psc1", - ["application/prs.cww"]= "cww", - ["application/pskc+xml"]= "pskcxml", - ["application/rat-file"]= "rat", - ["application/rdf+xml"]= "rdf", - ["application/reginfo+xml"]= "rif", - ["application/relax-ng-compact-syntax"]= "rnc", - ["application/resource-lists+xml"]= "rl", - ["application/resource-lists-diff+xml"]= "rld", - ["application/rls-services+xml"]= "rs", - ["application/rpki-ghostbusters"]= "gbr", - ["application/rpki-manifest"]= "mft", - ["application/rpki-roa"]= "roa", - ["application/rsd+xml"]= "rsd", - ["application/rss+xml"]= "rss", - ["application/rtf"]= "rtf", - ["application/sbml+xml"]= "sbml", - ["application/scvp-cv-request"]= "scq", - ["application/scvp-cv-response"]= "scs", - ["application/scvp-vp-request"]= "spq", - ["application/scvp-vp-response"]= "spp", - ["application/sdp"]= "sdp", - ["application/set-payment-initiation"]= "setpay", - ["application/set-registration-initiation"]= "setreg", - ["application/shf+xml"]= "shf", - ["application/smil+xml"]= "smil", - ["application/sparql-query"]= "rq", - ["application/sparql-results+xml"]= "srx", - ["application/srgs"]= "gram", - ["application/srgs+xml"]= "grxml", - ["application/sru+xml"]= "sru", - ["application/ssdl+xml"]= "ssdl", - ["application/ssml+xml"]= "ssml", - ["application/step"]= "step", - ["application/streamingmedia"]= "ssm", - ["application/tei+xml"]= "tei", - ["application/thraud+xml"]= "tfi", - ["application/timestamped-data"]= "tsd", - ["application/vnd.3gpp.pic-bw-large"]= "plb", - ["application/vnd.3gpp.pic-bw-small"]= "psb", - ["application/vnd.3gpp.pic-bw-var"]= "pvb", - ["application/vnd.3gpp2.tcap"]= "tcap", - ["application/vnd.3m.post-it-notes"]= "pwn", - ["application/vnd.accpac.simply.aso"]= "aso", - ["application/vnd.accpac.simply.imp"]= "imp", - ["application/vnd.acucobol"]= "acu", - ["application/vnd.acucorp"]= "acutc", - ["application/vnd.adobe.air-application-installer-package+zip"]= "air", - ["application/vnd.adobe.formscentral.fcdt"]= "fcdt", - ["application/vnd.adobe.fxp"]= "fxp", - ["application/vnd.adobe.xdp+xml"]= "xdp", - ["application/vnd.adobe.xfdf"]= "xfdf", - ["application/vnd.ahead.space"]= "ahead", - ["application/vnd.airzip.filesecure.azf"]= "azf", - ["application/vnd.airzip.filesecure.azs"]= "azs", - ["application/vnd.amazon.ebook"]= "azw", - ["application/vnd.americandynamics.acc"]= "acc", - ["application/vnd.amiga.ami"]= "ami", - ["application/vnd.android.package-archive"]= "apk", - ["application/vnd.anser-web-certificate-issue-initiation"]= "cii", - ["application/vnd.anser-web-funds-transfer-initiation"]= "fti", - ["application/vnd.antix.game-component"]= "atx", - ["application/vnd.apple.installer+xml"]= "mpkg", - ["application/vnd.apple.mpegurl"]= "m3u8", - ["application/vnd.aristanetworks.swi"]= "swi", - ["application/vnd.astraea-software.iota"]= "iota", - ["application/vnd.audiograph"]= "aep", - ["application/vnd.blueice.multipass"]= "mpm", - ["application/vnd.bmi"]= "bmi", - ["application/vnd.businessobjects"]= "rep", - ["application/vnd.chemdraw+xml"]= "cdxml", - ["application/vnd.chipnuts.karaoke-mmd"]= "mmd", - ["application/vnd.cinderella"]= "cdy", - ["application/vnd.claymore"]= "cla", - ["application/vnd.cloanto.rp9"]= "rp9", - ["application/vnd.clonk.c4group"]= "c4g", - ["application/vnd.cluetrust.cartomobile-config"]= "c11amc", - ["application/vnd.cluetrust.cartomobile-config-pkg"]= "c11amz", - ["application/vnd.commonspace"]= "csp", - ["application/vnd.contact.cmsg"]= "cdbcmsg", - ["application/vnd.cosmocaller"]= "cmc", - ["application/vnd.crick.clicker"]= "clkx", - ["application/vnd.crick.clicker.keyboard"]= "clkk", - ["application/vnd.crick.clicker.palette"]= "clkp", - ["application/vnd.crick.clicker.template"]= "clkt", - ["application/vnd.crick.clicker.wordbank"]= "clkw", - ["application/vnd.criticaltools.wbs+xml"]= "wbs", - ["application/vnd.ctc-posml"]= "pml", - ["application/vnd.cups-ppd"]= "ppd", - ["application/vnd.curl.car"]= "car", - ["application/vnd.curl.pcurl"]= "pcurl", - ["application/vnd.dart"]= "dart", - ["application/vnd.data-vision.rdz"]= "rdz", - ["application/vnd.dece.data"]= "uvd", - ["application/vnd.dece.ttml+xml"]= "uvt", - ["application/vnd.dece.unspecified"]= "uvx", - ["application/vnd.dece.zip"]= "uvz", - ["application/vnd.denovo.fcselayout-link"]= "fe_launch", - ["application/vnd.dna"]= "dna", - ["application/vnd.dolby.mlp"]= "mlp", - ["application/vnd.dpgraph"]= "dpg", - ["application/vnd.dreamfactory"]= "dfac", - ["application/vnd.ds-keypoint"]= "kpxx", - ["application/vnd.dvb.ait"]= "ait", - ["application/vnd.dvb.service"]= "svc", - ["application/vnd.dynageo"]= "geo", - ["application/vnd.ecowin.chart"]= "mag", - ["application/vnd.enliven"]= "nml", - ["application/vnd.epson.esf"]= "esf", - ["application/vnd.epson.msf"]= "msf", - ["application/vnd.epson.quickanime"]= "qam", - ["application/vnd.epson.salt"]= "slt", - ["application/vnd.epson.ssf"]= "ssf", - ["application/vnd.eszigno3+xml"]= "es3", - ["application/vnd.ezpix-album"]= "ez2", - ["application/vnd.ezpix-package"]= "ez3", - ["application/vnd.fdf"]= "fdf", - ["application/vnd.fdsn.mseed"]= "mseed", - ["application/vnd.fdsn.seed"]= "seed", - ["application/vnd.flographit"]= "gph", - ["application/vnd.fluxtime.clip"]= "ftc", - ["application/vnd.framemaker"]= "fm", - ["application/vnd.frogans.fnc"]= "fnc", - ["application/vnd.frogans.ltf"]= "ltf", - ["application/vnd.fsc.weblaunch"]= "fsc", - ["application/vnd.fujitsu.oasys"]= "oas", - ["application/vnd.fujitsu.oasys2"]= "oa2", - ["application/vnd.fujitsu.oasys3"]= "oa3", - ["application/vnd.fujitsu.oasysgp"]= "fg5", - ["application/vnd.fujitsu.oasysprs"]= "bh2", - ["application/vnd.fujixerox.ddd"]= "ddd", - ["application/vnd.fujixerox.docuworks"]= "xdw", - ["application/vnd.fujixerox.docuworks.binder"]= "xbd", - ["application/vnd.fuzzysheet"]= "fzs", - ["application/vnd.genomatix.tuxedo"]= "txd", - ["application/vnd.geogebra.file"]= "ggb", - ["application/vnd.geogebra.tool"]= "ggt", - ["application/vnd.geometry-explorer"]= "gex", - ["application/vnd.geonext"]= "gxt", - ["application/vnd.geoplan"]= "g2w", - ["application/vnd.geospace"]= "g3w", - ["application/vnd.gmx"]= "gmx", - ["application/vnd.google-earth.kml+xml"]= "kml", - ["application/vnd.google-earth.kmz"]= "kmz", - ["application/vnd.grafeq"]= "gqf", - ["application/vnd.groove-account"]= "gac", - ["application/vnd.groove-help"]= "ghf", - ["application/vnd.groove-identity-message"]= "gim", - ["application/vnd.groove-injector"]= "grv", - ["application/vnd.groove-tool-message"]= "gtm", - ["application/vnd.groove-tool-template"]= "tpl", - ["application/vnd.groove-vcard"]= "vcg", - ["application/vnd.hal+xml"]= "hal", - ["application/vnd.handheld-entertainment+xml"]= "zmm", - ["application/vnd.hbci"]= "hbci", - ["application/vnd.hhe.lesson-player"]= "les", - ["application/vnd.hp-hpgl"]= "hpgl", - ["application/vnd.hp-hpid"]= "hpid", - ["application/vnd.hp-hps"]= "hps", - ["application/vnd.hp-jlyt"]= "jlt", - ["application/vnd.hp-pcl"]= "pcl", - ["application/vnd.hp-pclxl"]= "pclxl", - ["application/vnd.hydrostatix.sof-data"]= "sfd-hdstx", - ["application/vnd.ibm.minipay"]= "mpy", - ["application/vnd.ibm.modcap"]= "afp", - ["application/vnd.ibm.rights-management"]= "irm", - ["application/vnd.ibm.secure-container"]= "sc", - ["application/vnd.iccprofile"]= "icc", - ["application/vnd.igloader"]= "igl", - ["application/vnd.immervision-ivp"]= "ivp", - ["application/vnd.immervision-ivu"]= "ivu", - ["application/vnd.insors.igm"]= "igm", - ["application/vnd.intercon.formnet"]= "xpw", - ["application/vnd.intergeo"]= "i2g", - ["application/vnd.intu.qbo"]= "qbo", - ["application/vnd.intu.qfx"]= "qfx", - ["application/vnd.ipunplugged.rcprofile"]= "rcprofile", - ["application/vnd.irepository.package+xml"]= "irp", - ["application/vnd.is-xpr"]= "xpr", - ["application/vnd.isac.fcs"]= "fcs", - ["application/vnd.jam"]= "jam", - ["application/vnd.jcp.javame.midlet-rms"]= "rms", - ["application/vnd.jisp"]= "jisp", - ["application/vnd.joost.joda-archive"]= "joda", - ["application/vnd.kahootz"]= "ktz", - ["application/vnd.kde.karbon"]= "karbon", - ["application/vnd.kde.kchart"]= "chrt", - ["application/vnd.kde.kformula"]= "kfo", - ["application/vnd.kde.kivio"]= "flw", - ["application/vnd.kde.kontour"]= "kon", - ["application/vnd.kde.kpresenter"]= "kpt", - ["application/vnd.kde.kspread"]= "ksp", - ["application/vnd.kde.kword"]= "kwd", - ["application/vnd.kenameaapp"]= "htke", - ["application/vnd.kidspiration"]= "kia", - ["application/vnd.kinar"]= "kne", - ["application/vnd.koan"]= "skd", - ["application/vnd.kodak-descriptor"]= "sse", - ["application/vnd.las.las+xml"]= "lasxml", - ["application/vnd.llamagraphics.life-balance.desktop"]= "lbd", - ["application/vnd.llamagraphics.life-balance.exchange+xml"]= "lbe", - ["application/vnd.lotus-1-2-3"]= "123", - ["application/vnd.lotus-approach"]= "apr", - ["application/vnd.lotus-freelance"]= "pre", - ["application/vnd.lotus-notes"]= "nsf", - ["application/vnd.lotus-organizer"]= "org", - ["application/vnd.lotus-screencam"]= "scm", - ["application/vnd.lotus-wordpro"]= "lwp", - ["application/vnd.macports.portpkg"]= "portpkg", - ["application/vnd.mcd"]= "mcd", - ["application/vnd.medcalcdata"]= "mc1", - ["application/vnd.mediastation.cdkey"]= "cdkey", - ["application/vnd.mfer"]= "mwf", - ["application/vnd.mfmp"]= "mfm", - ["application/vnd.micrografx.flo"]= "flo", - ["application/vnd.micrografx.igx"]= "igx", - ["application/vnd.microsoft.portable-executable"]= "exe", - ["application/vnd.mif"]= "mif", - ["application/vnd.mobius.daf"]= "daf", - ["application/vnd.mobius.dis"]= "dis", - ["application/vnd.mobius.mbk"]= "mbk", - ["application/vnd.mobius.mqy"]= "mqy", - ["application/vnd.mobius.msl"]= "msl", - ["application/vnd.mobius.plc"]= "plc", - ["application/vnd.mobius.txf"]= "txf", - ["application/vnd.mophun.application"]= "mpn", - ["application/vnd.mophun.certificate"]= "mpc", - ["application/vnd.mozilla.xul+xml"]= "xul", - ["application/vnd.ms-artgalry"]= "cil", - ["application/vnd.ms-cab-compressed"]= "cab", - ["application/vnd.ms-excel"]= "xls", - ["application/vnd.ms-excel.addin.macroEnabled.12"]= "xlam", - ["application/vnd.ms-excel.addin.macroenabled.12"]= "xlam", - ["application/vnd.ms-excel.sheet.binary.macroEnabled.12"]= "xlsb", - ["application/vnd.ms-excel.sheet.binary.macroenabled.12"]= "xlsb", - ["application/vnd.ms-excel.sheet.macroEnabled.12"]= "xlsm", - ["application/vnd.ms-excel.sheet.macroenabled.12"]= "xlsm", - ["application/vnd.ms-excel.template.macroEnabled.12"]= "xltm", - ["application/vnd.ms-excel.template.macroenabled.12"]= "xltm", - ["application/vnd.ms-fontobject"]= "eot", - ["application/vnd.ms-htmlhelp"]= "chm", - ["application/vnd.ms-ims"]= "ims", - ["application/vnd.ms-lrm"]= "lrm", - ["application/vnd.ms-mediapackage"]= "mpf", - ["application/vnd.ms-office.calx"]= "calx", - ["application/vnd.ms-officetheme"]= "thmx", - ["application/vnd.ms-outlook"]= "msg", - ["application/vnd.ms-pki.certstore"]= "sst", - ["application/vnd.ms-pki.pko"]= "pko", - ["application/vnd.ms-pki.seccat"]= "cat", - ["application/vnd.ms-pki.stl"]= "stl", - ["application/vnd.ms-powerpoint"]= "ppt", - ["application/vnd.ms-powerpoint.addin.macroEnabled.12"]= "ppam", - ["application/vnd.ms-powerpoint.addin.macroenabled.12"]= "ppam", - ["application/vnd.ms-powerpoint.presentation.macroEnabled.12"]= "pptm", - ["application/vnd.ms-powerpoint.presentation.macroenabled.12"]= "pptm", - ["application/vnd.ms-powerpoint.slide.macroEnabled.12"]= "sldm", - ["application/vnd.ms-powerpoint.slide.macroenabled.12"]= "sldm", - ["application/vnd.ms-powerpoint.slideshow.macroEnabled.12"]= "ppsm", - ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"]= "ppsm", - ["application/vnd.ms-powerpoint.template.macroEnabled.12"]= "potm", - ["application/vnd.ms-powerpoint.template.macroenabled.12"]= "potm", - ["application/vnd.ms-project"]= "mpt", - ["application/vnd.ms-visio.viewer"]= "vdx", - ["application/vnd.ms-word.document.macroEnabled.12"]= "docm", - ["application/vnd.ms-word.document.macroenabled.12"]= "docm", - ["application/vnd.ms-word.template.macroEnabled.12"]= "dotm", - ["application/vnd.ms-word.template.macroenabled.12"]= "dotm", - ["application/vnd.ms-works"]= "wks", - ["application/vnd.ms-wpl"]= "wpl", - ["application/vnd.ms-xpsdocument"]= "xps", - ["application/vnd.mseq"]= "mseq", - ["application/vnd.musician"]= "mus", - ["application/vnd.muvee.style"]= "msty", - ["application/vnd.mynfc"]= "taglet", - ["application/vnd.neurolanguage.nlu"]= "nlu", - ["application/vnd.nitf"]= "nitf", - ["application/vnd.noblenet-directory"]= "nnd", - ["application/vnd.noblenet-sealer"]= "nns", - ["application/vnd.noblenet-web"]= "nnw", - ["application/vnd.nokia.n-gage.data"]= "ngdat", - ["application/vnd.nokia.n-gage.symbian.install"]= "n-gage", - ["application/vnd.nokia.radio-preset"]= "rpst", - ["application/vnd.nokia.radio-presets"]= "rpss", - ["application/vnd.novadigm.edm"]= "edm", - ["application/vnd.novadigm.edx"]= "edx", - ["application/vnd.novadigm.ext"]= "ext", - ["application/vnd.oasis.opendocument.chart"]= "odc", - ["application/vnd.oasis.opendocument.chart-template"]= "otc", - ["application/vnd.oasis.opendocument.database"]= "odb", - ["application/vnd.oasis.opendocument.formula"]= "odf", - ["application/vnd.oasis.opendocument.formula-template"]= "odft", - ["application/vnd.oasis.opendocument.graphics"]= "odg", - ["application/vnd.oasis.opendocument.graphics-template"]= "otg", - ["application/vnd.oasis.opendocument.image"]= "odi", - ["application/vnd.oasis.opendocument.image-template"]= "oti", - ["application/vnd.oasis.opendocument.presentation"]= "odp", - ["application/vnd.oasis.opendocument.presentation-template"]= "otp", - ["application/vnd.oasis.opendocument.spreadsheet"]= "ods", - ["application/vnd.oasis.opendocument.spreadsheet-template"]= "ots", - ["application/vnd.oasis.opendocument.text"]= "odt", - ["application/vnd.oasis.opendocument.text-master"]= "odm", - ["application/vnd.oasis.opendocument.text-template"]= "ott", - ["application/vnd.oasis.opendocument.text-web"]= "oth", - ["application/vnd.olpc-sugar"]= "xo", - ["application/vnd.oma.dd2+xml"]= "dd2", - ["application/vnd.openofficeorg.extension"]= "oxt", - ["application/vnd.openxmlformats-officedocument.presentationml.presentation"]= "pptx", - ["application/vnd.openxmlformats-officedocument.presentationml.slide"]= "sldx", - ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"]= "ppsx", - ["application/vnd.openxmlformats-officedocument.presentationml.template"]= "potx", - ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]= "xlsx", - ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"]= "xltx", - ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"]= "docx", - ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"]= "dotx", - ["application/vnd.osgeo.mapguide.package"]= "mgp", - ["application/vnd.osgi.dp"]= "dp", - ["application/vnd.osgi.subsystem"]= "esa", - ["application/vnd.palm"]= "pdb", - ["application/vnd.pawaafile"]= "paw", - ["application/vnd.pg.format"]= "str", - ["application/vnd.pg.osasli"]= "ei6", - ["application/vnd.picsel"]= "efif", - ["application/vnd.pmi.widget"]= "wg", - ["application/vnd.pocketlearn"]= "plf", - ["application/vnd.powerbuilder6"]= "pbd", - ["application/vnd.previewsystems.box"]= "box", - ["application/vnd.proteus.magazine"]= "mgz", - ["application/vnd.publishare-delta-tree"]= "qps", - ["application/vnd.pvi.ptid1"]= "ptid", - ["application/vnd.quark.quarkxpress"]= "qxt", - ["application/vnd.realvnc.bed"]= "bed", - ["application/vnd.recordare.musicxml"]= "mxl", - ["application/vnd.recordare.musicxml+xml"]= "musicxml", - ["application/vnd.rig.cryptonote"]= "cryptonote", - ["application/vnd.rim.cod"]= "cod", - ["application/vnd.rn-realmedia"]= "rm", - ["application/vnd.rn-realmedia-vbr"]= "rmvb", - ["application/vnd.rn-rn_music_package"]= "rmp", - ["application/vnd.route66.link66+xml"]= "link66", - ["application/vnd.sailingtracker.track"]= "st", - ["application/vnd.seemail"]= "see", - ["application/vnd.sema"]= "sema", - ["application/vnd.semd"]= "semd", - ["application/vnd.semf"]= "semf", - ["application/vnd.shana.informed.formdata"]= "ifm", - ["application/vnd.shana.informed.formtemplate"]= "itp", - ["application/vnd.shana.informed.interchange"]= "iif", - ["application/vnd.shana.informed.package"]= "ipk", - ["application/vnd.simtech-mindmapper"]= "twd", - ["application/vnd.smaf"]= "mmf", - ["application/vnd.smart.teacher"]= "teacher", - ["application/vnd.solent.sdkm+xml"]= "sdkm", - ["application/vnd.spotfire.dxp"]= "dxp", - ["application/vnd.spotfire.sfs"]= "sfs", - ["application/vnd.stardivision.calc"]= "sdc", - ["application/vnd.stardivision.draw"]= "sda", - ["application/vnd.stardivision.impress"]= "sdd", - ["application/vnd.stardivision.math"]= "smf", - ["application/vnd.stardivision.writer"]= "sdw", - ["application/vnd.stardivision.writer-global"]= "sgl", - ["application/vnd.stepmania.package"]= "smzip", - ["application/vnd.stepmania.stepchart"]= "sm", - ["application/vnd.sun.xml.calc"]= "sxc", - ["application/vnd.sun.xml.calc.template"]= "stc", - ["application/vnd.sun.xml.draw"]= "sxd", - ["application/vnd.sun.xml.draw.template"]= "std", - ["application/vnd.sun.xml.impress"]= "sxi", - ["application/vnd.sun.xml.impress.template"]= "sti", - ["application/vnd.sun.xml.math"]= "sxm", - ["application/vnd.sun.xml.writer"]= "sxw", - ["application/vnd.sun.xml.writer.global"]= "sxg", - ["application/vnd.sun.xml.writer.template"]= "stw", - ["application/vnd.sus-calendar"]= "sus", - ["application/vnd.svd"]= "svd", - ["application/vnd.symbian.install"]= "sis", - ["application/vnd.syncml+xml"]= "xsm", - ["application/vnd.syncml.dm+wbxml"]= "bdm", - ["application/vnd.syncml.dm+xml"]= "xdm", - ["application/vnd.tao.intent-module-archive"]= "tao", - ["application/vnd.tcpdump.pcap"]= "pcap", - ["application/vnd.tmobile-livetv"]= "tmo", - ["application/vnd.trid.tpt"]= "tpt", - ["application/vnd.triscape.mxs"]= "mxs", - ["application/vnd.trueapp"]= "tra", - ["application/vnd.ufdl"]= "ufdl", - ["application/vnd.uiq.theme"]= "utz", - ["application/vnd.umajin"]= "umj", - ["application/vnd.unity"]= "unityweb", - ["application/vnd.uoml+xml"]= "uoml", - ["application/vnd.vcx"]= "vcx", - ["application/vnd.visio"]= "vsd", - ["application/vnd.visionary"]= "vis", - ["application/vnd.vsf"]= "vsf", - ["application/vnd.wap.wbxml"]= "wbxml", - ["application/vnd.wap.wmlc"]= "wmlc", - ["application/vnd.wap.wmlscriptc"]= "wmlsc", - ["application/vnd.webturbo"]= "wtb", - ["application/vnd.wolfram.player"]= "nbp", - ["application/vnd.wordperfect"]= "wpd", - ["application/vnd.wqd"]= "wqd", - ["application/vnd.wt.stf"]= "stf", - ["application/vnd.xara"]= "xar", - ["application/vnd.xfdl"]= "xfdl", - ["application/vnd.yamaha.hv-dic"]= "hvd", - ["application/vnd.yamaha.hv-script"]= "hvs", - ["application/vnd.yamaha.hv-voice"]= "hvp", - ["application/vnd.yamaha.openscoreformat"]= "osf", - ["application/vnd.yamaha.openscoreformat.osfpvg+xml"]= "osfpvg", - ["application/vnd.yamaha.smaf-audio"]= "saf", - ["application/vnd.yamaha.smaf-phrase"]= "spf", - ["application/vnd.yellowriver-custom-menu"]= "cmp", - ["application/vnd.zul"]= "zir", - ["application/vnd.zzazz.deck+xml"]= "zaz", - ["application/voicexml+xml"]= "vxml", - ["application/vsix"]= "vsix", - ["application/wasm"]= "wasm", - ["application/widget"]= "wgt", - ["application/windows-library+xml"]= "library-ms", - ["application/windows-search-connector+xml"]= "searchConnector-ms", - ["application/winhlp"]= "hlp", - ["application/wlmoviemaker"]= "WLMP", - ["application/wsdl+xml"]= "wsdl", - ["application/wspolicy+xml"]= "wspolicy", - ["application/x-7z-compressed"]= "7z", - ["application/x-abiword"]= "abw", - ["application/x-ace-compressed"]= "ace", - ["application/x-apple-diskimage"]= "dmg", - ["application/x-authorware-bin"]= "aab", - ["application/x-authorware-map"]= "aam", - ["application/x-authorware-seg"]= "aas", - ["application/x-bcpio"]= "bcpio", - ["application/x-bittorrent"]= "torrent", - ["application/x-blorb"]= "blorb", - ["application/x-bridge-url"]= "adobebridge", - ["application/x-bzip"]= "bz", - ["application/x-bzip2"]= "bz2", - ["application/x-cbr"]= "cbr", - ["application/x-cdlink"]= "vcd", - ["application/x-cfs-compressed"]= "cfs", - ["application/x-chat"]= "chat", - ["application/x-chess-pgn"]= "pgn", - ["application/x-compress"]= "z", - ["application/x-compressed"]= "tgz", - ["application/x-conference"]= "nsc", - ["application/x-cpio"]= "cpio", - ["application/x-csh"]= "csh", - ["application/x-debian-package"]= "deb", - ["application/x-dgc-compressed"]= "dgc", - ["application/x-director"]= "dir", - ["application/x-doom"]= "wad", - ["application/x-dosexec"]= "exe", - ["application/x-dtbncx+xml"]= "ncx", - ["application/x-dtbook+xml"]= "dtb", - ["application/x-dtbresource+xml"]= "res", - ["application/x-dvi"]= "dvi", - ["application/x-dxf"]= "dxf", - ["application/x-elf"]= "elf", - ["application/x-envoy"]= "evy", - ["application/x-eva"]= "eva", - ["application/x-executable"]= "exe", - ["application/x-font-bdf"]= "bdf", - ["application/x-font-ghostscript"]= "gsf", - ["application/x-font-linux-psf"]= "psf", - ["application/x-font-pcf"]= "pcf", - ["application/x-font-snf"]= "snf", - ["application/x-font-type1"]= "pfm", - ["application/x-freearc"]= "arc", - ["application/x-futuresplash"]= "spl", - ["application/x-gca-compressed"]= "gca", - ["application/x-glulx"]= "ulx", - ["application/x-gnumeric"]= "gnumeric", - ["application/x-gramps-xml"]= "gramps", - ["application/x-gtar"]= "gtar", - ["application/x-gzip"]= "gz", - ["application/x-hdf"]= "hdf", - ["application/x-install-instructions"]= "install", - ["application/x-internet-signup"]= "isp", - ["application/x-iphone"]= "iii", - ["application/x-iso9660-image"]= "iso", - ["application/x-itunes-ipa"]= "ipa", - ["application/x-itunes-ipg"]= "ipg", - ["application/x-itunes-ipsw"]= "ipsw", - ["application/x-itunes-ite"]= "ite", - ["application/x-itunes-itlp"]= "itlp", - ["application/x-itunes-itms"]= "itms", - ["application/x-itunes-itpc"]= "itpc", - ["application/x-java-applet"]= "class", - ["application/x-java-jnlp-file"]= "jnlp", - ["application/x-koan"]= "skp", - ["application/x-latex"]= "latex", - ["application/x-lzh-compressed"]= "lzh", - ["application/x-mie"]= "mie", - ["application/x-miva-compiled"]= "mvc", - ["application/x-mmxp"]= "mxp", - ["application/x-mobipocket-ebook"]= "mobi", - ["application/x-ms-application"]= "application", - ["application/x-ms-installer"]= "msi", - ["application/x-ms-license"]= "slupkg-ms", - ["application/x-ms-manifest"]= "manifest", - ["application/x-ms-reader"]= "lit", - ["application/x-ms-shortcut"]= "lnk", - ["application/x-ms-vsto"]= "vsto", - ["application/x-ms-wmd"]= "wmd", - ["application/x-ms-wmz"]= "wmz", - ["application/x-ms-xbap"]= "xbap", - ["application/x-msaccess"]= "mdb", - ["application/x-msbinder"]= "obd", - ["application/x-mscardfile"]= "crd", - ["application/x-msclip"]= "clp", - ["application/x-msdos-program"]= "exe", - ["application/x-msdownload"]= "exe", - ["application/x-msmediaview"]= "mvb", - ["application/x-msmetafile"]= "wmf", - ["application/x-msmoney"]= "mny", - ["application/x-mspublisher"]= "pub", - ["application/x-msschedule"]= "scd", - ["application/x-msterminal"]= "trm", - ["application/x-mswrite"]= "wri", - ["application/x-netcdf"]= "cdf", - ["application/x-nzb"]= "nzb", - ["application/x-oleobject"]= "hhc", - ["application/x-pcapng"]= "pcap", - ["application/x-pe-app-32bit-i386"]= "exe", - ["application/x-perfmon"]= "pmw", - ["application/x-perl"]= "pl", - ["application/x-pkcs12"]= "p12", - ["application/x-pkcs7-certificates"]= "p7b", - ["application/x-pkcs7-certreqresp"]= "p7r", - ["application/x-podcast"]= "pcast", - ["application/x-python"]= "py", - ["application/x-quicktimeplayer"]= "qtl", - ["application/x-rar-compressed"]= "rar", - ["application/x-research-info-systems"]= "ris", - ["application/x-safari-safariextz"]= "safariextz", - ["application/x-safari-webarchive"]= "webarchive", - ["application/x-sgimb"]= "sgimb", - ["application/x-sh"]= "sh", - ["application/x-shar"]= "shar", - ["application/x-sharedlib"]= "lib", - ["application/x-shockwave-flash"]= "swf", - ["application/x-silverlight-app"]= "xap", - ["application/x-smaf"]= "mmf", - ["application/x-sql"]= "sql", - ["application/x-stuffit"]= "sit", - ["application/x-stuffitx"]= "sitx", - ["application/x-subrip"]= "srt", - ["application/x-sv4cpio"]= "sv4cpio", - ["application/x-sv4crc"]= "sv4crc", - ["application/x-t3vm-image"]= "t3", - ["application/x-tads"]= "gam", - ["application/x-tar"]= "tar", - ["application/x-tcl"]= "tcl", - ["application/x-tex"]= "tex", - ["application/x-tex-tfm"]= "tfm", - ["application/x-texinfo"]= "texinfo", - ["application/x-tgif"]= "obj", - ["application/x-troff"]= "tr", - ["application/x-troff-man"]= "man", - ["application/x-troff-me"]= "me", - ["application/x-troff-ms"]= "ms", - ["application/x-ustar"]= "ustar", - ["application/x-wais-source"]= "src", - ["application/x-wlpg-detect"]= "wlpginstall", - ["application/x-wlpg3-detect"]= "wlpginstall3", - ["application/x-x509-ca-cert"]= "crt", - ["application/x-xfig"]= "fig", - ["application/x-xliff+xml"]= "xlf", - ["application/x-xpinstall"]= "xpi", - ["application/x-xz"]= "xz", - ["application/x-zip-compressed"]= "zip", - ["application/x-zmachine"]= "z1", - ["application/xaml+xml"]= "xaml", - ["application/xcap-diff+xml"]= "xdf", - ["application/xenc+xml"]= "xenc", - ["application/xhtml+xml"]= "xhtml", - ["application/xml"]= "xml", - ["application/xml-dtd"]= "dtd", - ["application/xop+xml"]= "xop", - ["application/xproc+xml"]= "xpl", - ["application/xslt+xml"]= "xslt", - ["application/xspf+xml"]= "xspf", - ["application/xv+xml"]= "xvml", - ["application/yang"]= "yang", - ["application/yin+xml"]= "yin", - ["application/zip"]= "zip", - ["audio/aac"]= "aac", - ["audio/ac3"]= "ac3", - ["audio/adpcm"]= "adp", - ["audio/aiff"]= "aiff", - ["audio/annodex"]= "axa", - ["audio/audible"]= "aa", - ["audio/basic"]= "au", - ["audio/flac"]= "flac", - ["audio/m4a"]= "m4a", - ["audio/m4b"]= "m4b", - ["audio/m4p"]= "m4p", - ["audio/mid"]= "midi", - ["audio/midi"]= "midi", - ["audio/mp4"]= "m4a", - ["audio/mpeg"]= "mp3", - ["audio/ogg"]= "ogg", - ["audio/s3m"]= "s3m", - ["audio/scpls"]= "pls", - ["audio/silk"]= "sil", - ["audio/vnd.audible.aax"]= "aax", - ["audio/vnd.dece.audio"]= "uva", - ["audio/vnd.digital-winds"]= "eol", - ["audio/vnd.dlna.adts"]= "ADT", - ["audio/vnd.dra"]= "dra", - ["audio/vnd.dts"]= "dts", - ["audio/vnd.dts.hd"]= "dtshd", - ["audio/vnd.lucent.voice"]= "lvp", - ["audio/vnd.ms-playready.media.pya"]= "pya", - ["audio/vnd.nuera.ecelp4800"]= "ecelp4800", - ["audio/vnd.nuera.ecelp7470"]= "ecelp7470", - ["audio/vnd.nuera.ecelp9600"]= "ecelp9600", - ["audio/vnd.rip"]= "rip", - ["audio/wav"]= "wav", - ["audio/webm"]= "weba", - ["audio/x-aac"]= "aac", - ["audio/x-aiff"]= "aiff", - ["audio/x-caf"]= "caf", - ["audio/x-flac"]= "flac", - ["audio/x-gsm"]= "gsm", - ["audio/x-m4a"]= "m4a", - ["audio/x-m4r"]= "m4r", - ["audio/x-matroska"]= "mka", - ["audio/x-mpegurl"]= "m3u", - ["audio/x-ms-wax"]= "wax", - ["audio/x-ms-wma"]= "wma", - ["audio/x-pn-realaudio"]= "ra", - ["audio/x-pn-realaudio-plugin"]= "rmp", - ["audio/x-sd2"]= "sd2", - ["audio/x-smd"]= "smd", - ["audio/x-wav"]= "wav", - ["audio/xm"]= "xm", - ["chemical/x-cdx"]= "cdx", - ["chemical/x-cif"]= "cif", - ["chemical/x-cmdf"]= "cmdf", - ["chemical/x-cml"]= "cml", - ["chemical/x-csml"]= "csml", - ["chemical/x-xyz"]= "xyz", - ["drawing/x-dwf"]= "dwf", - ["font/collection"]= "ttc", - ["font/otf"]= "otf", - ["font/ttf"]= "ttf", - ["font/woff"]= "woff", - ["font/woff2"]= "woff2", - ["image/bmp"]= "bmp", - ["image/cgm"]= "cgm", - ["image/cis-cod"]= "cod", - ["image/g3fax"]= "g3", - ["image/gif"]= "gif", - ["image/ief"]= "ief", - ["image/jpeg"]= "jpg", - ["image/ktx"]= "ktx", - ["image/pict"]= "pict", - ["image/pjpeg"]= "jfif", - ["image/png"]= "png", - ["image/prs.btif"]= "btif", - ["image/sgi"]= "sgi", - ["image/svg+xml"]= "svg", - ["image/tiff"]= "tiff", - ["image/vnd.adobe.photoshop"]= "psd", - ["image/vnd.dece.graphic"]= "uvg", - ["image/vnd.djvu"]= "djvu", - ["image/vnd.dvb.subtitle"]= "sub", - ["image/vnd.dwg"]= "dwg", - ["image/vnd.dxf"]= "dxf", - ["image/vnd.fastbidsheet"]= "fbs", - ["image/vnd.fpx"]= "fpx", - ["image/vnd.fst"]= "fst", - ["image/vnd.fujixerox.edmics-mmr"]= "mmr", - ["image/vnd.fujixerox.edmics-rlc"]= "rlc", - ["image/vnd.ms-modi"]= "mdi", - ["image/vnd.ms-photo"]= "wdp", - ["image/vnd.net-fpx"]= "npx", - ["image/vnd.rn-realflash"]= "rf", - ["image/vnd.wap.wbmp"]= "wbmp", - ["image/vnd.xiff"]= "xif", - ["image/webp"]= "webp", - ["image/x-3ds"]= "3ds", - ["image/x-cmu-raster"]= "ras", - ["image/x-cmx"]= "cmx", - ["image/x-freehand"]= "fh", - ["image/x-gif"]= "gif", - ["image/x-icon"]= "ico", - ["image/x-jg"]= "art", - ["image/x-jpeg"]= "jpg", - ["image/x-macpaint"]= "mac", - ["image/x-mrsid-image"]= "sid", - ["image/x-pcx"]= "pcx", - ["image/x-pict"]= "pic", - ["image/x-png"]= "png", - ["image/x-portable-anymap"]= "pnm", - ["image/x-portable-bitmap"]= "pbm", - ["image/x-portable-graymap"]= "pgm", - ["image/x-portable-pixmap"]= "ppm", - ["image/x-quicktime"]= "qti", - ["image/x-rgb"]= "rgb", - ["image/x-tga"]= "tga", - ["image/x-xbitmap"]= "xbm", - ["image/x-xpixmap"]= "xpm", - ["image/x-xwindowdump"]= "xwd", - ["message/rfc822"]= "eml", - ["model/iges"]= "iges", - ["model/mesh"]= "mesh", - ["model/vnd.collada+xml"]= "dae", - ["model/vnd.dwf"]= "dwf", - ["model/vnd.gdl"]= "gdl", - ["model/vnd.gtw"]= "gtw", - ["model/vnd.mts"]= "mts", - ["model/vnd.vtu"]= "vtu", - ["model/vrml"]= "vrml", - ["model/x3d+binary"]= "x3db", - ["model/x3d+vrml"]= "x3dv", - ["model/x3d+xml"]= "x3d", - ["text/cache-manifest"]= "appcache", - ["text/calendar"]= "ics", - ["text/css"]= "css", - ["text/csv"]= "csv", - ["text/dlm"]= "dlm", - ["text/h323"]= "323", - ["text/html"]= "html", - ["text/iuls"]= "uls", - ["text/jscript"]= "jsx", - ["text/n3"]= "n3", - ["text/plain"]= "txt", - ["text/prs.lines.tag"]= "dsc", - ["text/richtext"]= "rtx", - ["text/rtf"]= "rtf", - ["text/scriptlet"]= "sct", - ["text/sgml"]= "sgml", - ["text/tab-separated-values"]= "tsv", - ["text/troff"]= "tr", - ["text/uri-list"]= "uri", - ["text/vbscript"]= "vbs", - ["text/vcard"]= "vcard", - ["text/vnd.curl"]= "curl", - ["text/vnd.curl.dcurl"]= "dcurl", - ["text/vnd.curl.mcurl"]= "mcurl", - ["text/vnd.curl.scurl"]= "scurl", - ["text/vnd.dvb.subtitle"]= "sub", - ["text/vnd.fly"]= "fly", - ["text/vnd.fmi.flexstor"]= "flx", - ["text/vnd.graphviz"]= "gv", - ["text/vnd.in3d.3dml"]= "3dml", - ["text/vnd.in3d.spot"]= "spot", - ["text/vnd.sun.j2me.app-descriptor"]= "jad", - ["text/vnd.wap.wml"]= "wml", - ["text/vnd.wap.wmlscript"]= "wmls", - ["text/vtt"]= "vtt", - ["text/webviewhtml"]= "htt", - ["text/x-asm"]= "asm", - ["text/x-c"]= "c", - ["text/x-component"]= "htc", - ["text/x-fortran"]= "f", - ["text/x-hdml"]= "hdml", - ["text/x-html-insertion"]= "qhtm", - ["text/x-java-source"]= "java", - ["text/x-ms-contact"]= "contact", - ["text/x-ms-group"]= "group", - ["text/x-ms-iqy"]= "iqy", - ["text/x-ms-rqy"]= "rqy", - ["text/x-nfo"]= "nfo", - ["text/x-opml"]= "opml", - ["text/x-pascal"]= "pas", - ["text/x-setext"]= "etx", - ["text/x-sfv"]= "sfv", - ["text/x-uuencode"]= "uu", - ["text/x-vcalendar"]= "vcs", - ["text/x-vcard"]= "vcf", - ["text/xml"]= "xml", - ["video/3gpp"]= "3gp", - ["video/3gpp2"]= "3g2", - ["video/annodex"]= "axv", - ["video/divx"]= "divx", - ["video/h261"]= "h261", - ["video/h263"]= "h263", - ["video/h264"]= "h264", - ["video/jpeg"]= "jpgv", - ["video/jpm"]= "jpm", - ["video/mj2"]= "mj2", - ["video/mp4"]= "mp4", - ["video/mpeg"]= "mpg", - ["video/ogg"]= "ogv", - ["video/quicktime"]= "mov", - ["video/vnd.dece.hd"]= "uvh", - ["video/vnd.dece.mobile"]= "uvm", - ["video/vnd.dece.pd"]= "uvp", - ["video/vnd.dece.sd"]= "uvs", - ["video/vnd.dece.video"]= "uvv", - ["video/vnd.dlna.mpeg-tts"]= "m2t", - ["video/vnd.dvb.file"]= "dvb", - ["video/vnd.fvt"]= "fvt", - ["video/vnd.mpegurl"]= "m4u", - ["video/vnd.ms-playready.media.pyv"]= "pyv", - ["video/vnd.uvvu.mp4"]= "uvu", - ["video/vnd.vivo"]= "viv", - ["video/webm"]= "webm", - ["video/x-dv"]= "dv", - ["video/x-f4v"]= "f4v", - ["video/x-fli"]= "fli", - ["video/x-flv"]= "flv", - ["video/x-ivf"]= "IVF", - ["video/x-la-asf"]= "lsf", - ["video/x-m4v"]= "m4v", - ["video/x-matroska"]= "mkv", - ["video/x-matroska-3d"]= "mk3d", - ["video/x-mng"]= "mng", - ["video/x-ms-asf"]= "asf", - ["video/x-ms-vob"]= "vob", - ["video/x-ms-wm"]= "wm", - ["video/x-ms-wmp"]= "wmp", - ["video/x-ms-wmv"]= "wmv", - ["video/x-ms-wmx"]= "wmx", - ["video/x-ms-wvx"]= "wvx", - ["video/x-msvideo"]= "avi", - ["video/x-sgi-movie"]= "movie", - ["video/x-smv"]= "smv", - ["x-conference/x-cooltalk"]= "ice", - ["x-world/x-vrml"]= "wrl" + ["application/andrew-inset"] = "ez", + ["application/applixware"] = "aw", + ["application/atomcat+xml"] = "atomcat", + ["application/atomsvc+xml"] = "atomsvc", + ["application/atom+xml"] = "atom", + ["application/ccxml+xml"] = "ccxml", + ["application/cdmi-capability"] = "cdmia", + ["application/cdmi-container"] = "cdmic", + ["application/cdmi-domain"] = "cdmid", + ["application/cdmi-object"] = "cdmio", + ["application/cdmi-queue"] = "cdmiq", + ["application/cu-seeme"] = "cu", + ["application/davmount+xml"] = "davmount", + ["application/docbook+xml"] = "dbk", + ["application/dssc+der"] = "dssc", + ["application/dssc+xml"] = "xdssc", + ["application/ecmascript"] = "ecma", + ["application/emma+xml"] = "emma", + ["application/epub+zip"] = "epub", + ["application/exi"] = "exi", + ["application/font-tdpfr"] = "pfr", + ["application/gml+xml"] = "gml", + ["application/gpx+xml"] = "gpx", + ["application/gxf"] = "gxf", + ["application/hyperstudio"] = "stk", + ["application/inkml+xml"] = "inkml", + ["application/ipfix"] = "ipfix", + ["application/java-archive"] = "jar", + ["application/java-serialized-object"] = "ser", + ["application/java-vm"] = "class", + ["application/json"] = "json", + ["application/jsonml+json"] = "jsonml", + ["application/lost+xml"] = "lostxml", + ["application/mac-binhex40"] = "hqx", + ["application/mac-compactpro"] = "cpt", + ["application/mads+xml"] = "mads", + ["application/marc"] = "mrc", + ["application/marcxml+xml"] = "mrcx", + ["application/mathematica"] = "ma", + ["application/mathml+xml"] = "mathml", + ["application/mbox"] = "mbox", + ["application/mediaservercontrol+xml"] = "mscml", + ["application/metalink4+xml"] = "meta4", + ["application/metalink+xml"] = "metalink", + ["application/mets+xml"] = "mets", + ["application/mods+xml"] = "mods", + ["application/mp21"] = "mp21", + ["application/mp4"] = "mp4s", + ["application/msword"] = "doc", + ["application/mxf"] = "mxf", + ["application/octet-stream"] = "bin", + ["application/oda"] = "oda", + ["application/oebps-package+xml"] = "opf", + ["application/ogg"] = "ogx", + ["application/omdoc+xml"] = "omdoc", + ["application/onenote"] = "onepkg", + ["application/oxps"] = "oxps", + ["application/patch-ops-error+xml"] = "xer", + ["application/pdf"] = "pdf", + ["application/pgp-encrypted"] = "pgp", + ["application/pgp-signature"] = "sig", + ["application/pics-rules"] = "prf", + ["application/pkcs10"] = "p10", + ["application/pkcs7-mime"] = "p7m", + ["application/pkcs7-signature"] = "p7s", + ["application/pkcs8"] = "p8", + ["application/pkix-attr-cert"] = "ac", + ["application/pkix-cert"] = "cer", + ["application/pkixcmp"] = "pki", + ["application/pkix-crl"] = "crl", + ["application/pkix-pkipath"] = "pkipath", + ["application/pls+xml"] = "pls", + ["application/postscript"] = "ps", + ["application/prs.cww"] = "cww", + ["application/pskc+xml"] = "pskcxml", + ["application/rdf+xml"] = "rdf", + ["application/reginfo+xml"] = "rif", + ["application/relax-ng-compact-syntax"] = "rnc", + ["application/resource-lists-diff+xml"] = "rld", + ["application/resource-lists+xml"] = "rl", + ["application/rls-services+xml"] = "rs", + ["application/rpki-ghostbusters"] = "gbr", + ["application/rpki-manifest"] = "mft", + ["application/rpki-roa"] = "roa", + ["application/rsd+xml"] = "rsd", + ["application/rss+xml"] = "rss", + ["application/rtf"] = "rtf", + ["application/sbml+xml"] = "sbml", + ["application/scvp-cv-request"] = "scq", + ["application/scvp-cv-response"] = "scs", + ["application/scvp-vp-request"] = "spq", + ["application/scvp-vp-response"] = "spp", + ["application/sdp"] = "sdp", + ["application/set-payment-initiation"] = "setpay", + ["application/set-registration-initiation"] = "setreg", + ["application/shf+xml"] = "shf", + ["application/smil+xml"] = "smil", + ["application/sparql-query"] = "rq", + ["application/sparql-results+xml"] = "srx", + ["application/srgs"] = "gram", + ["application/srgs+xml"] = "grxml", + ["application/sru+xml"] = "sru", + ["application/ssdl+xml"] = "ssdl", + ["application/ssml+xml"] = "ssml", + ["application/tei+xml"] = "tei", + ["application/thraud+xml"] = "tfi", + ["application/timestamped-data"] = "tsd", + ["application/vnd.3gpp2.tcap"] = "tcap", + ["application/vnd.3gpp.pic-bw-large"] = "plb", + ["application/vnd.3gpp.pic-bw-small"] = "psb", + ["application/vnd.3gpp.pic-bw-var"] = "pvb", + ["application/vnd.3m.post-it-notes"] = "pwn", + ["application/vnd.accpac.simply.aso"] = "aso", + ["application/vnd.accpac.simply.imp"] = "imp", + ["application/vnd.acucobol"] = "acu", + ["application/vnd.acucorp"] = "acutc", + ["application/vnd.adobe.air-application-installer-package+zip"] = "air", + ["application/vnd.adobe.formscentral.fcdt"] = "fcdt", + ["application/vnd.adobe.fxp"] = "fxp", + ["application/vnd.adobe.xdp+xml"] = "xdp", + ["application/vnd.adobe.xfdf"] = "xfdf", + ["application/vnd.ahead.space"] = "ahead", + ["application/vnd.airzip.filesecure.azf"] = "azf", + ["application/vnd.airzip.filesecure.azs"] = "azs", + ["application/vnd.amazon.ebook"] = "azw", + ["application/vnd.americandynamics.acc"] = "acc", + ["application/vnd.amiga.ami"] = "ami", + ["application/vnd.android.package-archive"] = "apk", + ["application/vnd.anser-web-certificate-issue-initiation"] = "cii", + ["application/vnd.anser-web-funds-transfer-initiation"] = "fti", + ["application/vnd.antix.game-component"] = "atx", + ["application/vnd.apple.installer+xml"] = "mpkg", + ["application/vnd.apple.mpegurl"] = "m3u8", + ["application/vnd.aristanetworks.swi"] = "swi", + ["application/vnd.astraea-software.iota"] = "iota", + ["application/vnd.audiograph"] = "aep", + ["application/vnd.blueice.multipass"] = "mpm", + ["application/vnd.bmi"] = "bmi", + ["application/vnd.businessobjects"] = "rep", + ["application/vnd.chemdraw+xml"] = "cdxml", + ["application/vnd.chipnuts.karaoke-mmd"] = "mmd", + ["application/vnd.cinderella"] = "cdy", + ["application/vnd.claymore"] = "cla", + ["application/vnd.cloanto.rp9"] = "rp9", + ["application/vnd.clonk.c4group"] = "c4g", + ["application/vnd.cluetrust.cartomobile-config"] = "c11amc", + ["application/vnd.cluetrust.cartomobile-config-pkg"] = "c11amz", + ["application/vnd.commonspace"] = "csp", + ["application/vnd.contact.cmsg"] = "cdbcmsg", + ["application/vnd.cosmocaller"] = "cmc", + ["application/vnd.crick.clicker"] = "clkx", + ["application/vnd.crick.clicker.keyboard"] = "clkk", + ["application/vnd.crick.clicker.palette"] = "clkp", + ["application/vnd.crick.clicker.template"] = "clkt", + ["application/vnd.crick.clicker.wordbank"] = "clkw", + ["application/vnd.criticaltools.wbs+xml"] = "wbs", + ["application/vnd.ctc-posml"] = "pml", + ["application/vnd.cups-ppd"] = "ppd", + ["application/vnd.curl.car"] = "car", + ["application/vnd.curl.pcurl"] = "pcurl", + ["application/vnd.dart"] = "dart", + ["application/vnd.data-vision.rdz"] = "rdz", + ["application/vnd.dece.data"] = "uvd", + ["application/vnd.dece.ttml+xml"] = "uvt", + ["application/vnd.dece.unspecified"] = "uvx", + ["application/vnd.dece.zip"] = "uvz", + ["application/vnd.denovo.fcselayout-link"] = "fe_launch", + ["application/vnd.dna"] = "dna", + ["application/vnd.dolby.mlp"] = "mlp", + ["application/vnd.dpgraph"] = "dpg", + ["application/vnd.dreamfactory"] = "dfac", + ["application/vnd.ds-keypoint"] = "kpxx", + ["application/vnd.dvb.ait"] = "ait", + ["application/vnd.dvb.service"] = "svc", + ["application/vnd.dynageo"] = "geo", + ["application/vnd.ecowin.chart"] = "mag", + ["application/vnd.enliven"] = "nml", + ["application/vnd.epson.esf"] = "esf", + ["application/vnd.epson.msf"] = "msf", + ["application/vnd.epson.quickanime"] = "qam", + ["application/vnd.epson.salt"] = "slt", + ["application/vnd.epson.ssf"] = "ssf", + ["application/vnd.eszigno3+xml"] = "es3", + ["application/vnd.ezpix-album"] = "ez2", + ["application/vnd.ezpix-package"] = "ez3", + ["application/vnd.fdf"] = "fdf", + ["application/vnd.fdsn.mseed"] = "mseed", + ["application/vnd.fdsn.seed"] = "seed", + ["application/vnd.flographit"] = "gph", + ["application/vnd.fluxtime.clip"] = "ftc", + ["application/vnd.framemaker"] = "frame", + ["application/vnd.frogans.fnc"] = "fnc", + ["application/vnd.frogans.ltf"] = "ltf", + ["application/vnd.fsc.weblaunch"] = "fsc", + ["application/vnd.fujitsu.oasys2"] = "oa2", + ["application/vnd.fujitsu.oasys3"] = "oa3", + ["application/vnd.fujitsu.oasysgp"] = "fg5", + ["application/vnd.fujitsu.oasys"] = "oas", + ["application/vnd.fujitsu.oasysprs"] = "bh2", + ["application/vnd.fujixerox.ddd"] = "ddd", + ["application/vnd.fujixerox.docuworks.binder"] = "xbd", + ["application/vnd.fujixerox.docuworks"] = "xdw", + ["application/vnd.fuzzysheet"] = "fzs", + ["application/vnd.genomatix.tuxedo"] = "txd", + ["application/vnd.geogebra.file"] = "ggb", + ["application/vnd.geogebra.slides"] = "ggs", + ["application/vnd.geogebra.tool"] = "ggt", + ["application/vnd.geometry-explorer"] = "gex", + ["application/vnd.geonext"] = "gxt", + ["application/vnd.geoplan"] = "g2w", + ["application/vnd.geospace"] = "g3w", + ["application/vnd.gmx"] = "gmx", + ["application/vnd.google-earth.kml+xml"] = "kml", + ["application/vnd.google-earth.kmz"] = "kmz", + ["application/vnd.grafeq"] = "gqf", + ["application/vnd.groove-account"] = "gac", + ["application/vnd.groove-help"] = "ghf", + ["application/vnd.groove-identity-message"] = "gim", + ["application/vnd.groove-injector"] = "grv", + ["application/vnd.groove-tool-message"] = "gtm", + ["application/vnd.groove-tool-template"] = "tpl", + ["application/vnd.groove-vcard"] = "vcg", + ["application/vnd.hal+xml"] = "hal", + ["application/vnd.handheld-entertainment+xml"] = "zmm", + ["application/vnd.hbci"] = "hbci", + ["application/vnd.hhe.lesson-player"] = "les", + ["application/vnd.hp-hpgl"] = "hpgl", + ["application/vnd.hp-hpid"] = "hpid", + ["application/vnd.hp-hps"] = "hps", + ["application/vnd.hp-jlyt"] = "jlt", + ["application/vnd.hp-pcl"] = "pcl", + ["application/vnd.hp-pclxl"] = "pclxl", + ["application/vnd.hydrostatix.sof-data"] = "sfd-hdstx", + ["application/vnd.ibm.minipay"] = "mpy", + ["application/vnd.ibm.modcap"] = "afp", + ["application/vnd.ibm.rights-management"] = "irm", + ["application/vnd.ibm.secure-container"] = "sc", + ["application/vnd.iccprofile"] = "icc", + ["application/vnd.igloader"] = "igl", + ["application/vnd.immervision-ivp"] = "ivp", + ["application/vnd.immervision-ivu"] = "ivu", + ["application/vnd.insors.igm"] = "igm", + ["application/vnd.intercon.formnet"] = "xpw", + ["application/vnd.intergeo"] = "i2g", + ["application/vnd.intu.qbo"] = "qbo", + ["application/vnd.intu.qfx"] = "qfx", + ["application/vnd.ipunplugged.rcprofile"] = "rcprofile", + ["application/vnd.irepository.package+xml"] = "irp", + ["application/vnd.isac.fcs"] = "fcs", + ["application/vnd.is-xpr"] = "xpr", + ["application/vnd.jam"] = "jam", + ["application/vnd.jcp.javame.midlet-rms"] = "rms", + ["application/vnd.jisp"] = "jisp", + ["application/vnd.joost.joda-archive"] = "joda", + ["application/vnd.kahootz"] = "ktz", + ["application/vnd.kde.karbon"] = "karbon", + ["application/vnd.kde.kchart"] = "chrt", + ["application/vnd.kde.kformula"] = "kfo", + ["application/vnd.kde.kivio"] = "flw", + ["application/vnd.kde.kontour"] = "kon", + ["application/vnd.kde.kpresenter"] = "kpr", + ["application/vnd.kde.kspread"] = "ksp", + ["application/vnd.kde.kword"] = "kwd", + ["application/vnd.kenameaapp"] = "htke", + ["application/vnd.kidspiration"] = "kia", + ["application/vnd.kinar"] = "kne", + ["application/vnd.koan"] = "skd", + ["application/vnd.kodak-descriptor"] = "sse", + ["application/vnd.las.las+xml"] = "lasxml", + ["application/vnd.llamagraphics.life-balance.desktop"] = "lbd", + ["application/vnd.llamagraphics.life-balance.exchange+xml"] = "lbe", + ["application/vnd.lotus-1-2-3"] = "123", + ["application/vnd.lotus-approach"] = "apr", + ["application/vnd.lotus-freelance"] = "pre", + ["application/vnd.lotus-notes"] = "nsf", + ["application/vnd.lotus-organizer"] = "org", + ["application/vnd.lotus-screencam"] = "scm", + ["application/vnd.lotus-wordpro"] = "lwp", + ["application/vnd.macports.portpkg"] = "portpkg", + ["application/vnd.mcd"] = "mcd", + ["application/vnd.medcalcdata"] = "mc1", + ["application/vnd.mediastation.cdkey"] = "cdkey", + ["application/vnd.mfer"] = "mwf", + ["application/vnd.mfmp"] = "mfm", + ["application/vnd.micrografx.flo"] = "flo", + ["application/vnd.micrografx.igx"] = "igx", + ["application/vnd.mif"] = "mif", + ["application/vnd.mobius.daf"] = "daf", + ["application/vnd.mobius.dis"] = "dis", + ["application/vnd.mobius.mbk"] = "mbk", + ["application/vnd.mobius.mqy"] = "mqy", + ["application/vnd.mobius.msl"] = "msl", + ["application/vnd.mobius.plc"] = "plc", + ["application/vnd.mobius.txf"] = "txf", + ["application/vnd.mophun.application"] = "mpn", + ["application/vnd.mophun.certificate"] = "mpc", + ["application/vnd.mozilla.xul+xml"] = "xul", + ["application/vnd.ms-artgalry"] = "cil", + ["application/vnd.ms-cab-compressed"] = "cab", + ["application/vnd.mseq"] = "mseq", + ["application/vnd.ms-excel.addin.macroenabled.12"] = "xlam", + ["application/vnd.ms-excel.sheet.binary.macroenabled.12"] = "xlsb", + ["application/vnd.ms-excel.sheet.macroenabled.12"] = "xlsm", + ["application/vnd.ms-excel.template.macroenabled.12"] = "xltm", + ["application/vnd.ms-excel"] = "xls", + ["application/vnd.ms-fontobject"] = "eot", + ["application/vnd.ms-htmlhelp"] = "chm", + ["application/vnd.ms-ims"] = "ims", + ["application/vnd.ms-lrm"] = "lrm", + ["application/vnd.ms-officetheme"] = "thmx", + ["application/vnd.ms-pki.seccat"] = "cat", + ["application/vnd.ms-pki.stl"] = "stl", + ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam", + ["application/vnd.ms-powerpoint"] = "ppt", + ["application/vnd.ms-powerpoint.presentation.macroenabled.12"] = "pptm", + ["application/vnd.ms-powerpoint.slide.macroenabled.12"] = "sldm", + ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"] = "ppsm", + ["application/vnd.ms-powerpoint.template.macroenabled.12"] = "potm", + ["application/vnd.ms-project"] = "mpp", + ["application/vnd.ms-word.document.macroenabled.12"] = "docm", + ["application/vnd.ms-word.template.macroenabled.12"] = "dotm", + ["application/vnd.ms-works"] = "wps", + ["application/vnd.ms-wpl"] = "wpl", + ["application/vnd.ms-xpsdocument"] = "xps", + ["application/vnd.musician"] = "mus", + ["application/vnd.muvee.style"] = "msty", + ["application/vnd.mynfc"] = "taglet", + ["application/vnd.neurolanguage.nlu"] = "nlu", + ["application/vnd.nitf"] = "nitf", + ["application/vnd.noblenet-directory"] = "nnd", + ["application/vnd.noblenet-sealer"] = "nns", + ["application/vnd.noblenet-web"] = "nnw", + ["application/vnd.nokia.n-gage.data"] = "ngdat", + ["application/vnd.nokia.n-gage.symbian.install"] = "n-gage", + ["application/vnd.nokia.radio-preset"] = "rpst", + ["application/vnd.nokia.radio-presets"] = "rpss", + ["application/vnd.novadigm.edm"] = "edm", + ["application/vnd.novadigm.edx"] = "edx", + ["application/vnd.novadigm.ext"] = "ext", + ["application/vnd.oasis.opendocument.chart"] = "odc", + ["application/vnd.oasis.opendocument.chart-template"] = "otc", + ["application/vnd.oasis.opendocument.database"] = "odb", + ["application/vnd.oasis.opendocument.formula"] = "odf", + ["application/vnd.oasis.opendocument.formula-template"] = "odft", + ["application/vnd.oasis.opendocument.graphics"] = "odg", + ["application/vnd.oasis.opendocument.graphics-template"] = "otg", + ["application/vnd.oasis.opendocument.image"] = "odi", + ["application/vnd.oasis.opendocument.image-template"] = "oti", + ["application/vnd.oasis.opendocument.presentation"] = "odp", + ["application/vnd.oasis.opendocument.presentation-template"] = "otp", + ["application/vnd.oasis.opendocument.spreadsheet"] = "ods", + ["application/vnd.oasis.opendocument.spreadsheet-template"] = "ots", + ["application/vnd.oasis.opendocument.text-master"] = "odm", + ["application/vnd.oasis.opendocument.text"] = "odt", + ["application/vnd.oasis.opendocument.text-template"] = "ott", + ["application/vnd.oasis.opendocument.text-web"] = "oth", + ["application/vnd.olpc-sugar"] = "xo", + ["application/vnd.oma.dd2+xml"] = "dd2", + ["application/vnd.openofficeorg.extension"] = "oxt", + ["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = "pptx", + ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx", + ["application/vnd.openxmlformats-officedocument.presentationml.slide"] = "sldx", + ["application/vnd.openxmlformats-officedocument.presentationml.template"] = "potx", + ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = "xlsx", + ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"] = "xltx", + ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"] = "docx", + ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"] = "dotx", + ["application/vnd.osgeo.mapguide.package"] = "mgp", + ["application/vnd.osgi.dp"] = "dp", + ["application/vnd.osgi.subsystem"] = "esa", + ["application/vnd.palm"] = "pdb", + ["application/vnd.pawaafile"] = "paw", + ["application/vnd.pg.format"] = "str", + ["application/vnd.pg.osasli"] = "ei6", + ["application/vnd.picsel"] = "efif", + ["application/vnd.pmi.widget"] = "wg", + ["application/vnd.pocketlearn"] = "plf", + ["application/vnd.powerbuilder6"] = "pbd", + ["application/vnd.previewsystems.box"] = "box", + ["application/vnd.proteus.magazine"] = "mgz", + ["application/vnd.publishare-delta-tree"] = "qps", + ["application/vnd.pvi.ptid1"] = "ptid", + ["application/vnd.quark.quarkxpress"] = "qxd", + ["application/vnd.realvnc.bed"] = "bed", + ["application/vnd.recordare.musicxml"] = "mxl", + ["application/vnd.recordare.musicxml+xml"] = "musicxml", + ["application/vnd.rig.cryptonote"] = "cryptonote", + ["application/vnd.rim.cod"] = "cod", + ["application/vnd.rn-realmedia"] = "rm", + ["application/vnd.rn-realmedia-vbr"] = "rmvb", + ["application/vnd.route66.link66+xml"] = "link66", + ["application/vnd.sailingtracker.track"] = "st", + ["application/vnd.seemail"] = "see", + ["application/vnd.sema"] = "sema", + ["application/vnd.semd"] = "semd", + ["application/vnd.semf"] = "semf", + ["application/vnd.shana.informed.formdata"] = "ifm", + ["application/vnd.shana.informed.formtemplate"] = "itp", + ["application/vnd.shana.informed.interchange"] = "iif", + ["application/vnd.shana.informed.package"] = "ipk", + ["application/vnd.simtech-mindmapper"] = "twd", + ["application/vnd.smaf"] = "mmf", + ["application/vnd.smart.teacher"] = "teacher", + ["application/vnd.solent.sdkm+xml"] = "sdkm", + ["application/vnd.spotfire.dxp"] = "dxp", + ["application/vnd.spotfire.sfs"] = "sfs", + ["application/vnd.stardivision.calc"] = "sdc", + ["application/vnd.stardivision.draw"] = "sda", + ["application/vnd.stardivision.impress"] = "sdd", + ["application/vnd.stardivision.math"] = "smf", + ["application/vnd.stardivision.writer-global"] = "sgl", + ["application/vnd.stardivision.writer"] = "sdw", + ["application/vnd.stepmania.package"] = "smzip", + ["application/vnd.stepmania.stepchart"] = "sm", + ["application/vnd.sun.xml.calc"] = "sxc", + ["application/vnd.sun.xml.calc.template"] = "stc", + ["application/vnd.sun.xml.draw"] = "sxd", + ["application/vnd.sun.xml.draw.template"] = "std", + ["application/vnd.sun.xml.impress"] = "sxi", + ["application/vnd.sun.xml.impress.template"] = "sti", + ["application/vnd.sun.xml.math"] = "sxm", + ["application/vnd.sun.xml.writer.global"] = "sxg", + ["application/vnd.sun.xml.writer"] = "sxw", + ["application/vnd.sun.xml.writer.template"] = "stw", + ["application/vnd.sus-calendar"] = "sus", + ["application/vnd.svd"] = "svd", + ["application/vnd.symbian.install"] = "sis", + ["application/vnd.syncml.dm+wbxml"] = "bdm", + ["application/vnd.syncml.dm+xml"] = "xdm", + ["application/vnd.syncml+xml"] = "xsm", + ["application/vnd.tao.intent-module-archive"] = "tao", + ["application/vnd.tcpdump.pcap"] = "pcap", + ["application/vnd.tmobile-livetv"] = "tmo", + ["application/vnd.trid.tpt"] = "tpt", + ["application/vnd.triscape.mxs"] = "mxs", + ["application/vnd.trueapp"] = "tra", + ["application/vnd.ufdl"] = "ufdl", + ["application/vnd.uiq.theme"] = "utz", + ["application/vnd.umajin"] = "umj", + ["application/vnd.unity"] = "unityweb", + ["application/vnd.uoml+xml"] = "uoml", + ["application/vnd.vcx"] = "vcx", + ["application/vnd.visionary"] = "vis", + ["application/vnd.visio"] = "vsd", + ["application/vnd.vsf"] = "vsf", + ["application/vnd.wap.wbxml"] = "wbxml", + ["application/vnd.wap.wmlc"] = "wmlc", + ["application/vnd.wap.wmlscriptc"] = "wmlsc", + ["application/vnd.webturbo"] = "wtb", + ["application/vnd.wolfram.player"] = "nbp", + ["application/vnd.wordperfect"] = "wpd", + ["application/vnd.wqd"] = "wqd", + ["application/vnd.wt.stf"] = "stf", + ["application/vnd.xara"] = "xar", + ["application/vnd.xfdl"] = "xfdl", + ["application/vnd.yamaha.hv-dic"] = "hvd", + ["application/vnd.yamaha.hv-script"] = "hvs", + ["application/vnd.yamaha.hv-voice"] = "hvp", + ["application/vnd.yamaha.openscoreformat"] = "osf", + ["application/vnd.yamaha.openscoreformat.osfpvg+xml"] = "osfpvg", + ["application/vnd.yamaha.smaf-audio"] = "saf", + ["application/vnd.yamaha.smaf-phrase"] = "spf", + ["application/vnd.yellowriver-custom-menu"] = "cmp", + ["application/vnd.zul"] = "zir", + ["application/vnd.zzazz.deck+xml"] = "zaz", + ["application/voicexml+xml"] = "vxml", + ["application/wasm"] = "wasm", + ["application/widget"] = "wgt", + ["application/winhlp"] = "hlp", + ["application/wsdl+xml"] = "wsdl", + ["application/wspolicy+xml"] = "wspolicy", + ["application/x-7z-compressed"] = "7z", + ["application/x-abiword"] = "abw", + ["application/x-ace-compressed"] = "ace", + ["application/xaml+xml"] = "xaml", + ["application/x-apple-diskimage"] = "dmg", + ["application/x-authorware-bin"] = "aab", + ["application/x-bcpio"] = "bcpio", + ["application/x-bittorrent"] = "torrent", + ["application/x-blorb"] = "blorb", + ["application/x-bzip2"] = "bz2", + ["application/x-bzip"] = "bz", + ["application/xcap-diff+xml"] = "xdf", + ["application/x-cbr"] = "cbr", + ["application/x-cdlink"] = "vcd", + ["application/x-cfs-compressed"] = "cfs", + ["application/x-chat"] = "chat", + ["application/x-chess-pgn"] = "pgn", + ["application/x-conference"] = "nsc", + ["application/x-cpio"] = "cpio", + ["application/x-csh"] = "csh", + ["application/x-debian-package"] = "deb", + ["application/x-dgc-compressed"] = "dgc", + ["application/x-director"] = "dir", + ["application/x-doom"] = "wad", + ["application/x-dtbncx+xml"] = "ncx", + ["application/x-dtbook+xml"] = "dtb", + ["application/x-dtbresource+xml"] = "res", + ["application/x-dvi"] = "dvi", + ["application/xenc+xml"] = "xenc", + ["application/x-envoy"] = "evy", + ["application/x-eva"] = "eva", + ["application/x-font-bdf"] = "bdf", + ["application/x-font-ghostscript"] = "gsf", + ["application/x-font-linux-psf"] = "psf", + ["application/x-font-pcf"] = "pcf", + ["application/x-font-snf"] = "snf", + ["application/x-font-type1"] = "pfm", + ["application/x-freearc"] = "arc", + ["application/x-futuresplash"] = "spl", + ["application/x-gca-compressed"] = "gca", + ["application/x-glulx"] = "ulx", + ["application/x-gnumeric"] = "gnumeric", + ["application/x-gramps-xml"] = "gramps", + ["application/x-gtar"] = "gtar", + ["application/x-hdf"] = "hdf", + ["application/xhtml+xml"] = "xhtml", + ["application/x-install-instructions"] = "install", + ["application/x-iso9660-image"] = "iso", + ["application/x-java-jnlp-file"] = "jnlp", + ["application/x-latex"] = "latex", + ["application/x-lzh-compressed"] = "lzh", + ["application/x-mie"] = "mie", + ["application/xml-dtd"] = "dtd", + ["application/xml"] = "xml", + ["application/x-mobipocket-ebook"] = "mobi", + ["application/x-msaccess"] = "mdb", + ["application/x-ms-application"] = "application", + ["application/x-msbinder"] = "obd", + ["application/x-mscardfile"] = "crd", + ["application/x-msclip"] = "clp", + ["application/x-msdownload"] = "msi", + ["application/x-msmediaview"] = "mvb", + ["application/x-msmetafile"] = "wmf", + ["application/x-msmoney"] = "mny", + ["application/x-mspublisher"] = "pub", + ["application/x-msschedule"] = "scd", + ["application/x-ms-shortcut"] = "lnk", + ["application/x-msterminal"] = "trm", + ["application/x-ms-wmd"] = "wmd", + ["application/x-ms-wmz"] = "wmz", + ["application/x-mswrite"] = "wri", + ["application/x-ms-xbap"] = "xbap", + ["application/x-netcdf"] = "cdf", + ["application/x-nzb"] = "nzb", + ["application/xop+xml"] = "xop", + ["application/x-pkcs12"] = "p12", + ["application/x-pkcs7-certificates"] = "p7b", + ["application/x-pkcs7-certreqresp"] = "p7r", + ["application/xproc+xml"] = "xpl", + ["application/x-rar-compressed"] = "rar", + ["application/x-research-info-systems"] = "ris", + ["application/x-shar"] = "shar", + ["application/x-shockwave-flash"] = "swf", + ["application/x-sh"] = "sh", + ["application/x-silverlight-app"] = "xap", + ["application/xslt+xml"] = "xslt", + ["application/xspf+xml"] = "xspf", + ["application/x-sql"] = "sql", + ["application/x-stuffit"] = "sit", + ["application/x-stuffitx"] = "sitx", + ["application/x-subrip"] = "srt", + ["application/x-sv4cpio"] = "sv4cpio", + ["application/x-sv4crc"] = "sv4crc", + ["application/x-t3vm-image"] = "t3", + ["application/x-tads"] = "gam", + ["application/x-tar"] = "tar", + ["application/x-tcl"] = "tcl", + ["application/x-texinfo"] = "texinfo", + ["application/x-tex"] = "tex", + ["application/x-tex-tfm"] = "tfm", + ["application/x-tgif"] = "obj", + ["application/x-ustar"] = "ustar", + ["application/xv+xml"] = "xvml", + ["application/x-wais-source"] = "src", + ["application/x-x509-ca-cert"] = "crt", + ["application/x-xfig"] = "fig", + ["application/x-xliff+xml"] = "xlf", + ["application/x-xpinstall"] = "xpi", + ["application/x-xz"] = "xz", + ["application/x-zmachine"] = "z1", + ["application/yang"] = "yang", + ["application/yin+xml"] = "yin", + ["application/zip"] = "zip", + ["audio/adpcm"] = "adp", + ["audio/basic"] = "au", + ["audio/midi"] = "mid", + ["audio/mp4"] = "m4a", + ["audio/mpeg"] = "mpga", + ["audio/ogg"] = "ogg", + ["audio/s3m"] = "s3m", + ["audio/silk"] = "sil", + ["audio/vnd.dece.audio"] = "uva", + ["audio/vnd.digital-winds"] = "eol", + ["audio/vnd.dra"] = "dra", + ["audio/vnd.dts"] = "dts", + ["audio/vnd.dts.hd"] = "dtshd", + ["audio/vnd.lucent.voice"] = "lvp", + ["audio/vnd.ms-playready.media.pya"] = "pya", + ["audio/vnd.nuera.ecelp4800"] = "ecelp4800", + ["audio/vnd.nuera.ecelp7470"] = "ecelp7470", + ["audio/vnd.nuera.ecelp9600"] = "ecelp9600", + ["audio/vnd.rip"] = "rip", + ["audio/webm"] = "weba", + ["audio/x-aac"] = "aac", + ["audio/x-aiff"] = "aiff", + ["audio/x-caf"] = "caf", + ["audio/x-flac"] = "flac", + ["audio/x-matroska"] = "mka", + ["audio/x-mpegurl"] = "m3u", + ["audio/x-ms-wax"] = "wax", + ["audio/x-ms-wma"] = "wma", + ["audio/xm"] = "xm", + ["audio/x-pn-realaudio-plugin"] = "rmp", + ["audio/x-pn-realaudio"] = "ra", + ["audio/x-wav"] = "wav", + ["chemical/x-cdx"] = "cdx", + ["chemical/x-cif"] = "cif", + ["chemical/x-cmdf"] = "cmdf", + ["chemical/x-cml"] = "cml", + ["chemical/x-csml"] = "csml", + ["chemical/x-xyz"] = "xyz", + ["font/collection"] = "ttc", + ["font/otf"] = "otf", + ["font/ttf"] = "ttf", + ["font/woff2"] = "woff2", + ["font/woff"] = "woff", + ["image/bmp"] = "bmp", + ["image/cgm"] = "cgm", + ["image/g3fax"] = "g3", + ["image/gif"] = "gif", + ["image/ief"] = "ief", + ["image/jpeg"] = "jpg", + ["image/ktx"] = "ktx", + ["image/png"] = "png", + ["image/prs.btif"] = "btif", + ["image/sgi"] = "sgi", + ["image/svg+xml"] = "svg", + ["image/tiff"] = "tiff", + ["image/vnd.adobe.photoshop"] = "psd", + ["image/vnd.dece.graphic"] = "uvg", + ["image/vnd.djvu"] = "djvu", + ["image/vnd.dvb.subtitle"] = "sub", + ["image/vnd.dwg"] = "dwg", + ["image/vnd.dxf"] = "dxf", + ["image/vnd.fastbidsheet"] = "fbs", + ["image/vnd.fpx"] = "fpx", + ["image/vnd.fst"] = "fst", + ["image/vnd.fujixerox.edmics-mmr"] = "mmr", + ["image/vnd.fujixerox.edmics-rlc"] = "rlc", + ["image/vnd.ms-modi"] = "mdi", + ["image/vnd.ms-photo"] = "wdp", + ["image/vnd.net-fpx"] = "npx", + ["image/vnd.wap.wbmp"] = "wbmp", + ["image/vnd.xiff"] = "xif", + ["image/webp"] = "webp", + ["image/x-3ds"] = "3ds", + ["image/x-cmu-raster"] = "ras", + ["image/x-cmx"] = "cmx", + ["image/x-freehand"] = "fh", + ["image/x-icon"] = "ico", + ["image/x-mrsid-image"] = "sid", + ["image/x-pcx"] = "pcx", + ["image/x-pict"] = "pct", + ["image/x-portable-anymap"] = "pnm", + ["image/x-portable-bitmap"] = "pbm", + ["image/x-portable-graymap"] = "pgm", + ["image/x-portable-pixmap"] = "ppm", + ["image/x-rgb"] = "rgb", + ["image/x-tga"] = "tga", + ["image/x-xbitmap"] = "xbm", + ["image/x-xpixmap"] = "xpm", + ["image/x-xwindowdump"] = "xwd", + ["message/rfc822"] = "mime", + ["model/iges"] = "iges", + ["model/mesh"] = "mesh", + ["model/vnd.collada+xml"] = "dae", + ["model/vnd.dwf"] = "dwf", + ["model/vnd.gdl"] = "gdl", + ["model/vnd.gtw"] = "gtw", + ["model/vnd.mts"] = "mts", + ["model/vnd.vtu"] = "vtu", + ["model/vrml"] = "vrml", + ["model/x3d+binary"] = "x3db", + ["model/x3d+vrml"] = "x3dv", + ["model/x3d+xml"] = "x3d", + ["text/cache-manifest"] = "appcache", + ["text/calendar"] = "ics", + ["text/css"] = "css", + ["text/csv"] = "csv", + ["text/html"] = "html", + ["text/javascript"] = "js", + ["text/n3"] = "n3", + ["text/plain"] = "txt", + ["text/prs.lines.tag"] = "dsc", + ["text/richtext"] = "rtx", + ["text/sgml"] = "sgml", + ["text/tab-separated-values"] = "tsv", + ["text/troff"] = "tr", + ["text/turtle"] = "ttl", + ["text/uri-list"] = "uri", + ["text/vcard"] = "vcard", + ["text/vnd.curl"] = "curl", + ["text/vnd.curl.dcurl"] = "dcurl", + ["text/vnd.curl.mcurl"] = "mcurl", + ["text/vnd.curl.scurl"] = "scurl", + ["text/vnd.dvb.subtitle"] = "sub", + ["text/vnd.fly"] = "fly", + ["text/vnd.fmi.flexstor"] = "flx", + ["text/vnd.graphviz"] = "gv", + ["text/vnd.in3d.3dml"] = "3dml", + ["text/vnd.in3d.spot"] = "spot", + ["text/vnd.sun.j2me.app-descriptor"] = "jad", + ["text/vnd.wap.wmlscript"] = "wmls", + ["text/vnd.wap.wml"] = "wml", + ["text/x-asm"] = "asm", + ["text/x-c"] = "c", + ["text/x-fortran"] = "f", + ["text/x-java-source"] = "java", + ["text/x-nfo"] = "nfo", + ["text/x-opml"] = "opml", + ["text/x-pascal"] = "pas", + ["text/x-setext"] = "etx", + ["text/x-sfv"] = "sfv", + ["text/x-uuencode"] = "uu", + ["text/x-vcalendar"] = "vcs", + ["text/x-vcard"] = "vcf", + ["video/3gpp2"] = "3g2", + ["video/3gpp"] = "3gp", + ["video/h261"] = "h261", + ["video/h263"] = "h263", + ["video/h264"] = "h264", + ["video/jpeg"] = "jpgv", + ["video/jpm"] = "jpm", + ["video/mj2"] = "mj2", + ["video/mp4"] = "mp4", + ["video/mpeg"] = "mpg", + ["video/ogg"] = "ogv", + ["video/quicktime"] = "mov", + ["video/vnd.dece.hd"] = "uvh", + ["video/vnd.dece.mobile"] = "uvm", + ["video/vnd.dece.pd"] = "uvp", + ["video/vnd.dece.sd"] = "uvs", + ["video/vnd.dece.video"] = "uvv", + ["video/vnd.dvb.file"] = "dvb", + ["video/vnd.fvt"] = "fvt", + ["video/vnd.mpegurl"] = "m4u", + ["video/vnd.ms-playready.media.pyv"] = "pyv", + ["video/vnd.uvvu.mp4"] = "uvu", + ["video/vnd.vivo"] = "viv", + ["video/webm"] = "webm", + ["video/x-f4v"] = "f4v", + ["video/x-fli"] = "fli", + ["video/x-flv"] = "flv", + ["video/x-m4v"] = "m4v", + ["video/x-matroska"] = "mkv", + ["video/x-mng"] = "mng", + ["video/x-ms-asf"] = "asf", + ["video/x-msvideo"] = "avi", + ["video/x-ms-vob"] = "vob", + ["video/x-ms-wmv"] = "wmv", + ["video/x-ms-wm"] = "wm", + ["video/x-ms-wmx"] = "wmx", + ["video/x-ms-wvx"] = "wvx", + ["video/x-sgi-movie"] = "movie", + ["video/x-smv"] = "smv", + ["x-conference/x-cooltalk"] = "ice" } &default="bin" &redef; }