def GetMimeType(fileEx):
    fileEx = "."+fileEx.lower()
    if fileEx == ".x3d": return "application/vnd.hzn-3d-crossword"
    if fileEx == ".3gp": return "video/3gpp"
    if fileEx == ".3g2": return "video/3gpp2"
    if fileEx == ".mseq": return "application/vnd.mseq"
    if fileEx == ".pwn": return "application/vnd.3m.post-it-notes"
    if fileEx == ".plb": return "application/vnd.3gpp.pic-bw-large"
    if fileEx == ".psb": return "application/vnd.3gpp.pic-bw-small"
    if fileEx == ".pvb": return "application/vnd.3gpp.pic-bw-var"
    if fileEx == ".tcap": return "application/vnd.3gpp2.tcap"
    if fileEx == ".7z": return "application/x-7z-compressed"
    if fileEx == ".abw": return "application/x-abiword"
    if fileEx == ".ace": return "application/x-ace-compressed"
    if fileEx == ".acc": return "application/vnd.americandynamics.acc"
    if fileEx == ".acu": return "application/vnd.acucobol"
    if fileEx == ".atc": return "application/vnd.acucorp"
    if fileEx == ".adp": return "audio/adpcm"
    if fileEx == ".aab": return "application/x-authorware-bin"
    if fileEx == ".aam": return "application/x-authorware-map"
    if fileEx == ".aas": return "application/x-authorware-seg"
    if fileEx == ".air": return "application/vnd.adobe.air-application-installer-package+zip"
    if fileEx == ".swf": return "application/x-shockwave-flash"
    if fileEx == ".fxp": return "application/vnd.adobe.fxp"
    if fileEx == ".pdf": return "application/pdf"
    if fileEx == ".ppd": return "application/vnd.cups-ppd"
    if fileEx == ".dir": return "application/x-director"
    if fileEx == ".xdp": return "application/vnd.adobe.xdp+xml"
    if fileEx == ".xfdf": return "application/vnd.adobe.xfdf"
    if fileEx == ".aac": return "audio/x-aac"
    if fileEx == ".ahead": return "application/vnd.ahead.space"
    if fileEx == ".azf": return "application/vnd.airzip.filesecure.azf"
    if fileEx == ".azs": return "application/vnd.airzip.filesecure.azs"
    if fileEx == ".azw": return "application/vnd.amazon.ebook"
    if fileEx == ".ami": return "application/vnd.amiga.ami"
    if fileEx == "N/A": return "application/andrew-inset"
    if fileEx == ".apk": return "application/vnd.android.package-archive"
    if fileEx == ".cii": return "application/vnd.anser-web-certificate-issue-initiation"
    if fileEx == ".fti": return "application/vnd.anser-web-funds-transfer-initiation"
    if fileEx == ".atx": return "application/vnd.antix.game-component"
    if fileEx == ".mpkg": return "application/vnd.apple.installer+xml"
    if fileEx == ".aw": return "application/applixware"
    if fileEx == ".les": return "application/vnd.hhe.lesson-player"
    if fileEx == ".swi": return "application/vnd.aristanetworks.swi"
    if fileEx == ".s": return "text/x-asm"
    if fileEx == ".atomcat": return "application/atomcat+xml"
    if fileEx == ".atomsvc": return "application/atomsvc+xml"
    if fileEx == ".atom, .xml": return "application/atom+xml"
    if fileEx == ".ac": return "application/pkix-attr-cert"
    if fileEx == ".aif": return "audio/x-aiff"
    if fileEx == ".avi": return "video/x-msvideo"
    if fileEx == ".aep": return "application/vnd.audiograph"
    if fileEx == ".dxf": return "image/vnd.dxf"
    if fileEx == ".dwf": return "model/vnd.dwf"
    if fileEx == ".par": return "text/plain-bas"
    if fileEx == ".bcpio": return "application/x-bcpio"
    if fileEx == ".bin": return "application/octet-stream"
    if fileEx == ".bmp": return "image/bmp"
    if fileEx == ".torrent": return "application/x-bittorrent"
    if fileEx == ".cod": return "application/vnd.rim.cod"
    if fileEx == ".mpm": return "application/vnd.blueice.multipass"
    if fileEx == ".bmi": return "application/vnd.bmi"
    if fileEx == ".sh": return "application/x-sh"
    if fileEx == ".btif": return "image/prs.btif"
    if fileEx == ".rep": return "application/vnd.businessobjects"
    if fileEx == ".bz": return "application/x-bzip"
    if fileEx == ".bz2": return "application/x-bzip2"
    if fileEx == ".csh": return "application/x-csh"
    if fileEx == ".c": return "text/x-c"
    if fileEx == ".cdxml": return "application/vnd.chemdraw+xml"
    if fileEx == ".css": return "text/css"
    if fileEx == ".cdx": return "chemical/x-cdx"
    if fileEx == ".cml": return "chemical/x-cml"
    if fileEx == ".csml": return "chemical/x-csml"
    if fileEx == ".cdbcmsg": return "application/vnd.contact.cmsg"
    if fileEx == ".cla": return "application/vnd.claymore"
    if fileEx == ".c4g": return "application/vnd.clonk.c4group"
    if fileEx == ".sub": return "image/vnd.dvb.subtitle"
    if fileEx == ".cdmia": return "application/cdmi-capability"
    if fileEx == ".cdmic": return "application/cdmi-container"
    if fileEx == ".cdmid": return "application/cdmi-domain"
    if fileEx == ".cdmio": return "application/cdmi-object"
    if fileEx == ".cdmiq": return "application/cdmi-queue"
    if fileEx == ".c11amc": return "application/vnd.cluetrust.cartomobile-config"
    if fileEx == ".c11amz": return "application/vnd.cluetrust.cartomobile-config-pkg"
    if fileEx == ".ras": return "image/x-cmu-raster"
    if fileEx == ".dae": return "model/vnd.collada+xml"
    if fileEx == ".csv": return "text/csv"
    if fileEx == ".cpt": return "application/mac-compactpro"
    if fileEx == ".wmlc": return "application/vnd.wap.wmlc"
    if fileEx == ".cgm": return "image/cgm"
    if fileEx == ".ice": return "x-conference/x-cooltalk"
    if fileEx == ".cmx": return "image/x-cmx"
    if fileEx == ".xar": return "application/vnd.xara"
    if fileEx == ".cmc": return "application/vnd.cosmocaller"
    if fileEx == ".cpio": return "application/x-cpio"
    if fileEx == ".clkx": return "application/vnd.crick.clicker"
    if fileEx == ".clkk": return "application/vnd.crick.clicker.keyboard"
    if fileEx == ".clkp": return "application/vnd.crick.clicker.palette"
    if fileEx == ".clkt": return "application/vnd.crick.clicker.template"
    if fileEx == ".clkw": return "application/vnd.crick.clicker.wordbank"
    if fileEx == ".wbs": return "application/vnd.criticaltools.wbs+xml"
    if fileEx == ".cryptonote": return "application/vnd.rig.cryptonote"
    if fileEx == ".cif": return "chemical/x-cif"
    if fileEx == ".cmdf": return "chemical/x-cmdf"
    if fileEx == ".cu": return "application/cu-seeme"
    if fileEx == ".cww": return "application/prs.cww"
    if fileEx == ".curl": return "text/vnd.curl"
    if fileEx == ".dcurl": return "text/vnd.curl.dcurl"
    if fileEx == ".mcurl": return "text/vnd.curl.mcurl"
    if fileEx == ".scurl": return "text/vnd.curl.scurl"
    if fileEx == ".car": return "application/vnd.curl.car"
    if fileEx == ".pcurl": return "application/vnd.curl.pcurl"
    if fileEx == ".cmp": return "application/vnd.yellowriver-custom-menu"
    if fileEx == ".dssc": return "application/dssc+der"
    if fileEx == ".xdssc": return "application/dssc+xml"
    if fileEx == ".deb": return "application/x-debian-package"
    if fileEx == ".uva": return "audio/vnd.dece.audio"
    if fileEx == ".uvi": return "image/vnd.dece.graphic"
    if fileEx == ".uvh": return "video/vnd.dece.hd"
    if fileEx == ".uvm": return "video/vnd.dece.mobile"
    if fileEx == ".uvu": return "video/vnd.uvvu.mp4"
    if fileEx == ".uvp": return "video/vnd.dece.pd"
    if fileEx == ".uvs": return "video/vnd.dece.sd"
    if fileEx == ".uvv": return "video/vnd.dece.video"
    if fileEx == ".dvi": return "application/x-dvi"
    if fileEx == ".seed": return "application/vnd.fdsn.seed"
    if fileEx == ".dtb": return "application/x-dtbook+xml"
    if fileEx == ".res": return "application/x-dtbresource+xml"
    if fileEx == ".ait": return "application/vnd.dvb.ait"
    if fileEx == ".svc": return "application/vnd.dvb.service"
    if fileEx == ".eol": return "audio/vnd.digital-winds"
    if fileEx == ".djvu": return "image/vnd.djvu"
    if fileEx == ".dtd": return "application/xml-dtd"
    if fileEx == ".mlp": return "application/vnd.dolby.mlp"
    if fileEx == ".wad": return "application/x-doom"
    if fileEx == ".dpg": return "application/vnd.dpgraph"
    if fileEx == ".dra": return "audio/vnd.dra"
    if fileEx == ".dfac": return "application/vnd.dreamfactory"
    if fileEx == ".dts": return "audio/vnd.dts"
    if fileEx == ".dtshd": return "audio/vnd.dts.hd"
    if fileEx == ".dwg": return "image/vnd.dwg"
    if fileEx == ".geo": return "application/vnd.dynageo"
    if fileEx == ".es": return "application/ecmascript"
    if fileEx == ".mag": return "application/vnd.ecowin.chart"
    if fileEx == ".mmr": return "image/vnd.fujixerox.edmics-mmr"
    if fileEx == ".rlc": return "image/vnd.fujixerox.edmics-rlc"
    if fileEx == ".exi": return "application/exi"
    if fileEx == ".mgz": return "application/vnd.proteus.magazine"
    if fileEx == ".epub": return "application/epub+zip"
    if fileEx == ".eml": return "message/rfc822"
    if fileEx == ".nml": return "application/vnd.enliven"
    if fileEx == ".xpr": return "application/vnd.is-xpr"
    if fileEx == ".xif": return "image/vnd.xiff"
    if fileEx == ".xfdl": return "application/vnd.xfdl"
    if fileEx == ".emma": return "application/emma+xml"
    if fileEx == ".ez2": return "application/vnd.ezpix-album"
    if fileEx == ".ez3": return "application/vnd.ezpix-package"
    if fileEx == ".fst": return "image/vnd.fst"
    if fileEx == ".fvt": return "video/vnd.fvt"
    if fileEx == ".fbs": return "image/vnd.fastbidsheet"
    if fileEx == ".fe_launch": return "application/vnd.denovo.fcselayout-link"
    if fileEx == ".f4v": return "video/x-f4v"
    if fileEx == ".flv": return "video/x-flv"
    if fileEx == ".fpx": return "image/vnd.fpx"
    if fileEx == ".npx": return "image/vnd.net-fpx"
    if fileEx == ".flx": return "text/vnd.fmi.flexstor"
    if fileEx == ".fli": return "video/x-fli"
    if fileEx == ".ftc": return "application/vnd.fluxtime.clip"
    if fileEx == ".fdf": return "application/vnd.fdf"
    if fileEx == ".f": return "text/x-fortran"
    if fileEx == ".mif": return "application/vnd.mif"
    if fileEx == ".fm": return "application/vnd.framemaker"
    if fileEx == ".fh": return "image/x-freehand"
    if fileEx == ".fsc": return "application/vnd.fsc.weblaunch"
    if fileEx == ".fnc": return "application/vnd.frogans.fnc"
    if fileEx == ".ltf": return "application/vnd.frogans.ltf"
    if fileEx == ".ddd": return "application/vnd.fujixerox.ddd"
    if fileEx == ".xdw": return "application/vnd.fujixerox.docuworks"
    if fileEx == ".xbd": return "application/vnd.fujixerox.docuworks.binder"
    if fileEx == ".oas": return "application/vnd.fujitsu.oasys"
    if fileEx == ".oa2": return "application/vnd.fujitsu.oasys2"
    if fileEx == ".oa3": return "application/vnd.fujitsu.oasys3"
    if fileEx == ".fg5": return "application/vnd.fujitsu.oasysgp"
    if fileEx == ".bh2": return "application/vnd.fujitsu.oasysprs"
    if fileEx == ".spl": return "application/x-futuresplash"
    if fileEx == ".fzs": return "application/vnd.fuzzysheet"
    if fileEx == ".g3": return "image/g3fax"
    if fileEx == ".gmx": return "application/vnd.gmx"
    if fileEx == ".gtw": return "model/vnd.gtw"
    if fileEx == ".txd": return "application/vnd.genomatix.tuxedo"
    if fileEx == ".ggb": return "application/vnd.geogebra.file"
    if fileEx == ".ggt": return "application/vnd.geogebra.tool"
    if fileEx == ".gdl": return "model/vnd.gdl"
    if fileEx == ".gex": return "application/vnd.geometry-explorer"
    if fileEx == ".gxt": return "application/vnd.geonext"
    if fileEx == ".g2w": return "application/vnd.geoplan"
    if fileEx == ".g3w": return "application/vnd.geospace"
    if fileEx == ".gsf": return "application/x-font-ghostscript"
    if fileEx == ".bdf": return "application/x-font-bdf"
    if fileEx == ".gtar": return "application/x-gtar"
    if fileEx == ".texinfo": return "application/x-texinfo"
    if fileEx == ".gnumeric": return "application/x-gnumeric"
    if fileEx == ".kml": return "application/vnd.google-earth.kml+xml"
    if fileEx == ".kmz": return "application/vnd.google-earth.kmz"
    if fileEx == ".gqf": return "application/vnd.grafeq"
    if fileEx == ".gif": return "image/gif"
    if fileEx == ".gv": return "text/vnd.graphviz"
    if fileEx == ".gac": return "application/vnd.groove-account"
    if fileEx == ".ghf": return "application/vnd.groove-help"
    if fileEx == ".gim": return "application/vnd.groove-identity-message"
    if fileEx == ".grv": return "application/vnd.groove-injector"
    if fileEx == ".gtm": return "application/vnd.groove-tool-message"
    if fileEx == ".tpl": return "application/vnd.groove-tool-template"
    if fileEx == ".vcg": return "application/vnd.groove-vcard"
    if fileEx == ".h261": return "video/h261"
    if fileEx == ".h263": return "video/h263"
    if fileEx == ".h264": return "video/h264"
    if fileEx == ".hpid": return "application/vnd.hp-hpid"
    if fileEx == ".hps": return "application/vnd.hp-hps"
    if fileEx == ".hdf": return "application/x-hdf"
    if fileEx == ".rip": return "audio/vnd.rip"
    if fileEx == ".hbci": return "application/vnd.hbci"
    if fileEx == ".jlt": return "application/vnd.hp-jlyt"
    if fileEx == ".pcl": return "application/vnd.hp-pcl"
    if fileEx == ".hpgl": return "application/vnd.hp-hpgl"
    if fileEx == ".hvs": return "application/vnd.yamaha.hv-script"
    if fileEx == ".hvd": return "application/vnd.yamaha.hv-dic"
    if fileEx == ".hvp": return "application/vnd.yamaha.hv-voice"
    if fileEx == ".sfd-hdstx": return "application/vnd.hydrostatix.sof-data"
    if fileEx == ".stk": return "application/hyperstudio"
    if fileEx == ".hal": return "application/vnd.hal+xml"
    if fileEx == ".html": return "text/html"
    if fileEx == ".irm": return "application/vnd.ibm.rights-management"
    if fileEx == ".sc": return "application/vnd.ibm.secure-container"
    if fileEx == ".ics": return "text/calendar"
    if fileEx == ".icc": return "application/vnd.iccprofile"
    if fileEx == ".ico": return "image/x-icon"
    if fileEx == ".igl": return "application/vnd.igloader"
    if fileEx == ".ief": return "image/ief"
    if fileEx == ".ivp": return "application/vnd.immervision-ivp"
    if fileEx == ".ivu": return "application/vnd.immervision-ivu"
    if fileEx == ".rif": return "application/reginfo+xml"
    if fileEx == ".3dml": return "text/vnd.in3d.3dml"
    if fileEx == ".spot": return "text/vnd.in3d.spot"
    if fileEx == ".igs": return "model/iges"
    if fileEx == ".i2g": return "application/vnd.intergeo"
    if fileEx == ".cdy": return "application/vnd.cinderella"
    if fileEx == ".xpw": return "application/vnd.intercon.formnet"
    if fileEx == ".fcs": return "application/vnd.isac.fcs"
    if fileEx == ".ipfix": return "application/ipfix"
    if fileEx == ".cer": return "application/pkix-cert"
    if fileEx == ".pki": return "application/pkixcmp"
    if fileEx == ".crl": return "application/pkix-crl"
    if fileEx == ".pkipath": return "application/pkix-pkipath"
    if fileEx == ".igm": return "application/vnd.insors.igm"
    if fileEx == ".rcprofile": return "application/vnd.ipunplugged.rcprofile"
    if fileEx == ".irp": return "application/vnd.irepository.package+xml"
    if fileEx == ".jad": return "text/vnd.sun.j2me.app-descriptor"
    if fileEx == ".jar": return "application/java-archive"
    if fileEx == ".class": return "application/java-vm"
    if fileEx == ".jnlp": return "application/x-java-jnlp-file"
    if fileEx == ".ser": return "application/java-serialized-object"
    if fileEx == ".java": return "text/x-java-source,java"
    if fileEx == ".js": return "application/javascript"
    if fileEx == ".json": return "application/json"
    if fileEx == ".joda": return "application/vnd.joost.joda-archive"
    if fileEx == ".jpm": return "video/jpm"
    if fileEx == ".jpeg, .jpg": return "image/jpeg"
    if fileEx == ".jpgv": return "video/jpeg"
    if fileEx == ".ktz": return "application/vnd.kahootz"
    if fileEx == ".mmd": return "application/vnd.chipnuts.karaoke-mmd"
    if fileEx == ".karbon": return "application/vnd.kde.karbon"
    if fileEx == ".chrt": return "application/vnd.kde.kchart"
    if fileEx == ".kfo": return "application/vnd.kde.kformula"
    if fileEx == ".flw": return "application/vnd.kde.kivio"
    if fileEx == ".kon": return "application/vnd.kde.kontour"
    if fileEx == ".kpr": return "application/vnd.kde.kpresenter"
    if fileEx == ".ksp": return "application/vnd.kde.kspread"
    if fileEx == ".kwd": return "application/vnd.kde.kword"
    if fileEx == ".htke": return "application/vnd.kenameaapp"
    if fileEx == ".kia": return "application/vnd.kidspiration"
    if fileEx == ".kne": return "application/vnd.kinar"
    if fileEx == ".sse": return "application/vnd.kodak-descriptor"
    if fileEx == ".lasxml": return "application/vnd.las.las+xml"
    if fileEx == ".latex": return "application/x-latex"
    if fileEx == ".lbd": return "application/vnd.llamagraphics.life-balance.desktop"
    if fileEx == ".lbe": return "application/vnd.llamagraphics.life-balance.exchange+xml"
    if fileEx == ".jam": return "application/vnd.jam"
    if fileEx == "0.123": return "application/vnd.lotus-1-2-3"
    if fileEx == ".apr": return "application/vnd.lotus-approach"
    if fileEx == ".pre": return "application/vnd.lotus-freelance"
    if fileEx == ".nsf": return "application/vnd.lotus-notes"
    if fileEx == ".org": return "application/vnd.lotus-organizer"
    if fileEx == ".scm": return "application/vnd.lotus-screencam"
    if fileEx == ".lwp": return "application/vnd.lotus-wordpro"
    if fileEx == ".lvp": return "audio/vnd.lucent.voice"
    if fileEx == ".m3u": return "audio/x-mpegurl"
    if fileEx == ".m4v": return "video/x-m4v"
    if fileEx == ".hqx": return "application/mac-binhex40"
    if fileEx == ".portpkg": return "application/vnd.macports.portpkg"
    if fileEx == ".mgp": return "application/vnd.osgeo.mapguide.package"
    if fileEx == ".mrc": return "application/marc"
    if fileEx == ".mrcx": return "application/marcxml+xml"
    if fileEx == ".mxf": return "application/mxf"
    if fileEx == ".nbp": return "application/vnd.wolfram.player"
    if fileEx == ".ma": return "application/mathematica"
    if fileEx == ".mathml": return "application/mathml+xml"
    if fileEx == ".mbox": return "application/mbox"
    if fileEx == ".mc1": return "application/vnd.medcalcdata"
    if fileEx == ".mscml": return "application/mediaservercontrol+xml"
    if fileEx == ".cdkey": return "application/vnd.mediastation.cdkey"
    if fileEx == ".mwf": return "application/vnd.mfer"
    if fileEx == ".mfm": return "application/vnd.mfmp"
    if fileEx == ".msh": return "model/mesh"
    if fileEx == ".mads": return "application/mads+xml"
    if fileEx == ".mets": return "application/mets+xml"
    if fileEx == ".mods": return "application/mods+xml"
    if fileEx == ".meta4": return "application/metalink4+xml"
    if fileEx == ".potm": return "application/vnd.ms-powerpoint.template.macroenabled.12"
    if fileEx == ".docm": return "application/vnd.ms-word.document.macroenabled.12"
    if fileEx == ".dotm": return "application/vnd.ms-word.template.macroenabled.12"
    if fileEx == ".mcd": return "application/vnd.mcd"
    if fileEx == ".flo": return "application/vnd.micrografx.flo"
    if fileEx == ".igx": return "application/vnd.micrografx.igx"
    if fileEx == ".es3": return "application/vnd.eszigno3+xml"
    if fileEx == ".mdb": return "application/x-msaccess"
    if fileEx == ".asf": return "video/x-ms-asf"
    if fileEx == ".exe": return "application/x-msdownload"
    if fileEx == ".cil": return "application/vnd.ms-artgalry"
    if fileEx == ".cab": return "application/vnd.ms-cab-compressed"
    if fileEx == ".ims": return "application/vnd.ms-ims"
    if fileEx == ".application": return "application/x-ms-application"
    if fileEx == ".clp": return "application/x-msclip"
    if fileEx == ".mdi": return "image/vnd.ms-modi"
    if fileEx == ".eot": return "application/vnd.ms-fontobject"
    if fileEx == ".xls": return "application/vnd.ms-excel"
    if fileEx == ".xlam": return "application/vnd.ms-excel.addin.macroenabled.12"
    if fileEx == ".xlsb": return "application/vnd.ms-excel.sheet.binary.macroenabled.12"
    if fileEx == ".xltm": return "application/vnd.ms-excel.template.macroenabled.12"
    if fileEx == ".xlsm": return "application/vnd.ms-excel.sheet.macroenabled.12"
    if fileEx == ".chm": return "application/vnd.ms-htmlhelp"
    if fileEx == ".crd": return "application/x-mscardfile"
    if fileEx == ".lrm": return "application/vnd.ms-lrm"
    if fileEx == ".mvb": return "application/x-msmediaview"
    if fileEx == ".mny": return "application/x-msmoney"
    if fileEx == ".pptx": return "application/vnd.openxmlformats-officedocument.presentationml.presentation"
    if fileEx == ".sldx": return "application/vnd.openxmlformats-officedocument.presentationml.slide"
    if fileEx == ".ppsx": return "application/vnd.openxmlformats-officedocument.presentationml.slideshow"
    if fileEx == ".potx": return "application/vnd.openxmlformats-officedocument.presentationml.template"
    if fileEx == ".xlsx": return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    if fileEx == ".xltx": return "application/vnd.openxmlformats-officedocument.spreadsheetml.template"
    if fileEx == ".docx": return "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
    if fileEx == ".dotx": return "application/vnd.openxmlformats-officedocument.wordprocessingml.template"
    if fileEx == ".obd": return "application/x-msbinder"
    if fileEx == ".thmx": return "application/vnd.ms-officetheme"
    if fileEx == ".onetoc": return "application/onenote"
    if fileEx == ".pya": return "audio/vnd.ms-playready.media.pya"
    if fileEx == ".pyv": return "video/vnd.ms-playready.media.pyv"
    if fileEx == ".ppt": return "application/vnd.ms-powerpoint"
    if fileEx == ".ppam": return "application/vnd.ms-powerpoint.addin.macroenabled.12"
    if fileEx == ".sldm": return "application/vnd.ms-powerpoint.slide.macroenabled.12"
    if fileEx == ".pptm": return "application/vnd.ms-powerpoint.presentation.macroenabled.12"
    if fileEx == ".ppsm": return "application/vnd.ms-powerpoint.slideshow.macroenabled.12"
    if fileEx == ".mpp": return "application/vnd.ms-project"
    if fileEx == ".pub": return "application/x-mspublisher"
    if fileEx == ".scd": return "application/x-msschedule"
    if fileEx == ".xap": return "application/x-silverlight-app"
    if fileEx == ".stl": return "application/vnd.ms-pki.stl"
    if fileEx == ".cat": return "application/vnd.ms-pki.seccat"
    if fileEx == ".vsd": return "application/vnd.visio"
    if fileEx == ".wm": return "video/x-ms-wm"
    if fileEx == ".wma": return "audio/x-ms-wma"
    if fileEx == ".wax": return "audio/x-ms-wax"
    if fileEx == ".wmx": return "video/x-ms-wmx"
    if fileEx == ".wmd": return "application/x-ms-wmd"
    if fileEx == ".wpl": return "application/vnd.ms-wpl"
    if fileEx == ".wmz": return "application/x-ms-wmz"
    if fileEx == ".wmv": return "video/x-ms-wmv"
    if fileEx == ".wvx": return "video/x-ms-wvx"
    if fileEx == ".wmf": return "application/x-msmetafile"
    if fileEx == ".trm": return "application/x-msterminal"
    if fileEx == ".doc": return "application/msword"
    if fileEx == ".wri": return "application/x-mswrite"
    if fileEx == ".wps": return "application/vnd.ms-works"
    if fileEx == ".xbap": return "application/x-ms-xbap"
    if fileEx == ".xps": return "application/vnd.ms-xpsdocument"
    if fileEx == ".mid": return "audio/midi"
    if fileEx == ".mpy": return "application/vnd.ibm.minipay"
    if fileEx == ".afp": return "application/vnd.ibm.modcap"
    if fileEx == ".rms": return "application/vnd.jcp.javame.midlet-rms"
    if fileEx == ".tmo": return "application/vnd.tmobile-livetv"
    if fileEx == ".prc": return "application/x-mobipocket-ebook"
    if fileEx == ".mbk": return "application/vnd.mobius.mbk"
    if fileEx == ".dis": return "application/vnd.mobius.dis"
    if fileEx == ".plc": return "application/vnd.mobius.plc"
    if fileEx == ".mqy": return "application/vnd.mobius.mqy"
    if fileEx == ".msl": return "application/vnd.mobius.msl"
    if fileEx == ".txf": return "application/vnd.mobius.txf"
    if fileEx == ".daf": return "application/vnd.mobius.daf"
    if fileEx == ".fly": return "text/vnd.fly"
    if fileEx == ".mpc": return "application/vnd.mophun.certificate"
    if fileEx == ".mpn": return "application/vnd.mophun.application"
    if fileEx == ".mj2": return "video/mj2"
    if fileEx == ".mpga": return "audio/mpeg"
    if fileEx == ".mxu": return "video/vnd.mpegurl"
    if fileEx == ".mpeg": return "video/mpeg"
    if fileEx == ".m21": return "application/mp21"
    if fileEx == ".mp4a": return "audio/mp4"
    if fileEx == ".mp4": return "video/mp4"
    if fileEx == ".mp4": return "application/mp4"
    if fileEx == ".m3u8": return "application/vnd.apple.mpegurl"
    if fileEx == ".mus": return "application/vnd.musician"
    if fileEx == ".msty": return "application/vnd.muvee.style"
    if fileEx == ".mxml": return "application/xv+xml"
    if fileEx == ".ngdat": return "application/vnd.nokia.n-gage.data"
    if fileEx == ".n-gage": return "application/vnd.nokia.n-gage.symbian.install"
    if fileEx == ".ncx": return "application/x-dtbncx+xml"
    if fileEx == ".nc": return "application/x-netcdf"
    if fileEx == ".nlu": return "application/vnd.neurolanguage.nlu"
    if fileEx == ".dna": return "application/vnd.dna"
    if fileEx == ".nnd": return "application/vnd.noblenet-directory"
    if fileEx == ".nns": return "application/vnd.noblenet-sealer"
    if fileEx == ".nnw": return "application/vnd.noblenet-web"
    if fileEx == ".rpst": return "application/vnd.nokia.radio-preset"
    if fileEx == ".rpss": return "application/vnd.nokia.radio-presets"
    if fileEx == ".n3": return "text/n3"
    if fileEx == ".edm": return "application/vnd.novadigm.edm"
    if fileEx == ".edx": return "application/vnd.novadigm.edx"
    if fileEx == ".ext": return "application/vnd.novadigm.ext"
    if fileEx == ".gph": return "application/vnd.flographit"
    if fileEx == ".ecelp4800": return "audio/vnd.nuera.ecelp4800"
    if fileEx == ".ecelp7470": return "audio/vnd.nuera.ecelp7470"
    if fileEx == ".ecelp9600": return "audio/vnd.nuera.ecelp9600"
    if fileEx == ".oda": return "application/oda"
    if fileEx == ".ogx": return "application/ogg"
    if fileEx == ".oga": return "audio/ogg"
    if fileEx == ".ogv": return "video/ogg"
    if fileEx == ".dd2": return "application/vnd.oma.dd2+xml"
    if fileEx == ".oth": return "application/vnd.oasis.opendocument.text-web"
    if fileEx == ".opf": return "application/oebps-package+xml"
    if fileEx == ".qbo": return "application/vnd.intu.qbo"
    if fileEx == ".oxt": return "application/vnd.openofficeorg.extension"
    if fileEx == ".osf": return "application/vnd.yamaha.openscoreformat"
    if fileEx == ".weba": return "audio/webm"
    if fileEx == ".webm": return "video/webm"
    if fileEx == ".odc": return "application/vnd.oasis.opendocument.chart"
    if fileEx == ".otc": return "application/vnd.oasis.opendocument.chart-template"
    if fileEx == ".odb": return "application/vnd.oasis.opendocument.database"
    if fileEx == ".odf": return "application/vnd.oasis.opendocument.formula"
    if fileEx == ".odft": return "application/vnd.oasis.opendocument.formula-template"
    if fileEx == ".odg": return "application/vnd.oasis.opendocument.graphics"
    if fileEx == ".otg": return "application/vnd.oasis.opendocument.graphics-template"
    if fileEx == ".odi": return "application/vnd.oasis.opendocument.image"
    if fileEx == ".oti": return "application/vnd.oasis.opendocument.image-template"
    if fileEx == ".odp": return "application/vnd.oasis.opendocument.presentation"
    if fileEx == ".otp": return "application/vnd.oasis.opendocument.presentation-template"
    if fileEx == ".ods": return "application/vnd.oasis.opendocument.spreadsheet"
    if fileEx == ".ots": return "application/vnd.oasis.opendocument.spreadsheet-template"
    if fileEx == ".odt": return "application/vnd.oasis.opendocument.text"
    if fileEx == ".odm": return "application/vnd.oasis.opendocument.text-master"
    if fileEx == ".ott": return "application/vnd.oasis.opendocument.text-template"
    if fileEx == ".ktx": return "image/ktx"
    if fileEx == ".sxc": return "application/vnd.sun.xml.calc"
    if fileEx == ".stc": return "application/vnd.sun.xml.calc.template"
    if fileEx == ".sxd": return "application/vnd.sun.xml.draw"
    if fileEx == ".std": return "application/vnd.sun.xml.draw.template"
    if fileEx == ".sxi": return "application/vnd.sun.xml.impress"
    if fileEx == ".sti": return "application/vnd.sun.xml.impress.template"
    if fileEx == ".sxm": return "application/vnd.sun.xml.math"
    if fileEx == ".sxw": return "application/vnd.sun.xml.writer"
    if fileEx == ".sxg": return "application/vnd.sun.xml.writer.global"
    if fileEx == ".stw": return "application/vnd.sun.xml.writer.template"
    if fileEx == ".otf": return "application/x-font-otf"
    if fileEx == ".osfpvg": return "application/vnd.yamaha.openscoreformat.osfpvg+xml"
    if fileEx == ".dp": return "application/vnd.osgi.dp"
    if fileEx == ".pdb": return "application/vnd.palm"
    if fileEx == ".p": return "text/x-pascal"
    if fileEx == ".paw": return "application/vnd.pawaafile"
    if fileEx == ".pclxl": return "application/vnd.hp-pclxl"
    if fileEx == ".efif": return "application/vnd.picsel"
    if fileEx == ".pcx": return "image/x-pcx"
    if fileEx == ".psd": return "image/vnd.adobe.photoshop"
    if fileEx == ".prf": return "application/pics-rules"
    if fileEx == ".pic": return "image/x-pict"
    if fileEx == ".chat": return "application/x-chat"
    if fileEx == ".p10": return "application/pkcs10"
    if fileEx == ".p12": return "application/x-pkcs12"
    if fileEx == ".p7m": return "application/pkcs7-mime"
    if fileEx == ".p7s": return "application/pkcs7-signature"
    if fileEx == ".p7r": return "application/x-pkcs7-certreqresp"
    if fileEx == ".p7b": return "application/x-pkcs7-certificates"
    if fileEx == ".p8": return "application/pkcs8"
    if fileEx == ".plf": return "application/vnd.pocketlearn"
    if fileEx == ".pnm": return "image/x-portable-anymap"
    if fileEx == ".pbm": return "image/x-portable-bitmap"
    if fileEx == ".pcf": return "application/x-font-pcf"
    if fileEx == ".pfr": return "application/font-tdpfr"
    if fileEx == ".pgn": return "application/x-chess-pgn"
    if fileEx == ".pgm": return "image/x-portable-graymap"
    if fileEx == ".png": return "image/png"
    if fileEx == ".ppm": return "image/x-portable-pixmap"
    if fileEx == ".pskcxml": return "application/pskc+xml"
    if fileEx == ".pml": return "application/vnd.ctc-posml"
    if fileEx == ".ai": return "application/postscript"
    if fileEx == ".pfa": return "application/x-font-type1"
    if fileEx == ".pbd": return "application/vnd.powerbuilder6"
    if fileEx == "": return "application/pgp-encrypted"
    if fileEx == ".pgp": return "application/pgp-signature"
    if fileEx == ".box": return "application/vnd.previewsystems.box"
    if fileEx == ".ptid": return "application/vnd.pvi.ptid1"
    if fileEx == ".pls": return "application/pls+xml"
    if fileEx == ".str": return "application/vnd.pg.format"
    if fileEx == ".ei6": return "application/vnd.pg.osasli"
    if fileEx == ".dsc": return "text/prs.lines.tag"
    if fileEx == ".psf": return "application/x-font-linux-psf"
    if fileEx == ".qps": return "application/vnd.publishare-delta-tree"
    if fileEx == ".wg": return "application/vnd.pmi.widget"
    if fileEx == ".qxd": return "application/vnd.quark.quarkxpress"
    if fileEx == ".esf": return "application/vnd.epson.esf"
    if fileEx == ".msf": return "application/vnd.epson.msf"
    if fileEx == ".ssf": return "application/vnd.epson.ssf"
    if fileEx == ".qam": return "application/vnd.epson.quickanime"
    if fileEx == ".qfx": return "application/vnd.intu.qfx"
    if fileEx == ".qt": return "video/quicktime"
    if fileEx == ".rar": return "application/x-rar-compressed"
    if fileEx == ".ram": return "audio/x-pn-realaudio"
    if fileEx == ".rmp": return "audio/x-pn-realaudio-plugin"
    if fileEx == ".rsd": return "application/rsd+xml"
    if fileEx == ".rm": return "application/vnd.rn-realmedia"
    if fileEx == ".bed": return "application/vnd.realvnc.bed"
    if fileEx == ".mxl": return "application/vnd.recordare.musicxml"
    if fileEx == ".musicxml": return "application/vnd.recordare.musicxml+xml"
    if fileEx == ".rnc": return "application/relax-ng-compact-syntax"
    if fileEx == ".rdz": return "application/vnd.data-vision.rdz"
    if fileEx == ".rdf": return "application/rdf+xml"
    if fileEx == ".rp9": return "application/vnd.cloanto.rp9"
    if fileEx == ".jisp": return "application/vnd.jisp"
    if fileEx == ".rtf": return "application/rtf"
    if fileEx == ".rtx": return "text/richtext"
    if fileEx == ".link66": return "application/vnd.route66.link66+xml"
    if fileEx == ".rss, .xml": return "application/rss+xml"
    if fileEx == ".shf": return "application/shf+xml"
    if fileEx == ".st": return "application/vnd.sailingtracker.track"
    if fileEx == ".svg": return "image/svg+xml"
    if fileEx == ".sus": return "application/vnd.sus-calendar"
    if fileEx == ".sru": return "application/sru+xml"
    if fileEx == ".setpay": return "application/set-payment-initiation"
    if fileEx == ".setreg": return "application/set-registration-initiation"
    if fileEx == ".sema": return "application/vnd.sema"
    if fileEx == ".semd": return "application/vnd.semd"
    if fileEx == ".semf": return "application/vnd.semf"
    if fileEx == ".see": return "application/vnd.seemail"
    if fileEx == ".snf": return "application/x-font-snf"
    if fileEx == ".spq": return "application/scvp-vp-request"
    if fileEx == ".spp": return "application/scvp-vp-response"
    if fileEx == ".scq": return "application/scvp-cv-request"
    if fileEx == ".scs": return "application/scvp-cv-response"
    if fileEx == ".sdp": return "application/sdp"
    if fileEx == ".etx": return "text/x-setext"
    if fileEx == ".movie": return "video/x-sgi-movie"
    if fileEx == ".ifm": return "application/vnd.shana.informed.formdata"
    if fileEx == ".itp": return "application/vnd.shana.informed.formtemplate"
    if fileEx == ".iif": return "application/vnd.shana.informed.interchange"
    if fileEx == ".ipk": return "application/vnd.shana.informed.package"
    if fileEx == ".tfi": return "application/thraud+xml"
    if fileEx == ".shar": return "application/x-shar"
    if fileEx == ".rgb": return "image/x-rgb"
    if fileEx == ".slt": return "application/vnd.epson.salt"
    if fileEx == ".aso": return "application/vnd.accpac.simply.aso"
    if fileEx == ".imp": return "application/vnd.accpac.simply.imp"
    if fileEx == ".twd": return "application/vnd.simtech-mindmapper"
    if fileEx == ".csp": return "application/vnd.commonspace"
    if fileEx == ".saf": return "application/vnd.yamaha.smaf-audio"
    if fileEx == ".mmf": return "application/vnd.smaf"
    if fileEx == ".spf": return "application/vnd.yamaha.smaf-phrase"
    if fileEx == ".teacher": return "application/vnd.smart.teacher"
    if fileEx == ".svd": return "application/vnd.svd"
    if fileEx == ".rq": return "application/sparql-query"
    if fileEx == ".srx": return "application/sparql-results+xml"
    if fileEx == ".gram": return "application/srgs"
    if fileEx == ".grxml": return "application/srgs+xml"
    if fileEx == ".ssml": return "application/ssml+xml"
    if fileEx == ".skp": return "application/vnd.koan"
    if fileEx == ".sgml": return "text/sgml"
    if fileEx == ".sdc": return "application/vnd.stardivision.calc"
    if fileEx == ".sda": return "application/vnd.stardivision.draw"
    if fileEx == ".sdd": return "application/vnd.stardivision.impress"
    if fileEx == ".smf": return "application/vnd.stardivision.math"
    if fileEx == ".sdw": return "application/vnd.stardivision.writer"
    if fileEx == ".sgl": return "application/vnd.stardivision.writer-global"
    if fileEx == ".sm": return "application/vnd.stepmania.stepchart"
    if fileEx == ".sit": return "application/x-stuffit"
    if fileEx == ".sitx": return "application/x-stuffitx"
    if fileEx == ".sdkm": return "application/vnd.solent.sdkm+xml"
    if fileEx == ".xo": return "application/vnd.olpc-sugar"
    if fileEx == ".au": return "audio/basic"
    if fileEx == ".wqd": return "application/vnd.wqd"
    if fileEx == ".sis": return "application/vnd.symbian.install"
    if fileEx == ".smi": return "application/smil+xml"
    if fileEx == ".xsm": return "application/vnd.syncml+xml"
    if fileEx == ".bdm": return "application/vnd.syncml.dm+wbxml"
    if fileEx == ".xdm": return "application/vnd.syncml.dm+xml"
    if fileEx == ".sv4cpio": return "application/x-sv4cpio"
    if fileEx == ".sv4crc": return "application/x-sv4crc"
    if fileEx == ".sbml": return "application/sbml+xml"
    if fileEx == ".tsv": return "text/tab-separated-values"
    if fileEx == ".tiff": return "image/tiff"
    if fileEx == ".tao": return "application/vnd.tao.intent-module-archive"
    if fileEx == ".tar": return "application/x-tar"
    if fileEx == ".tcl": return "application/x-tcl"
    if fileEx == ".tex": return "application/x-tex"
    if fileEx == ".tfm": return "application/x-tex-tfm"
    if fileEx == ".tei": return "application/tei+xml"
    if fileEx == ".txt": return "text/plain"
    if fileEx == ".dxp": return "application/vnd.spotfire.dxp"
    if fileEx == ".sfs": return "application/vnd.spotfire.sfs"
    if fileEx == ".tsd": return "application/timestamped-data"
    if fileEx == ".tpt": return "application/vnd.trid.tpt"
    if fileEx == ".mxs": return "application/vnd.triscape.mxs"
    if fileEx == ".t": return "text/troff"
    if fileEx == ".tra": return "application/vnd.trueapp"
    if fileEx == ".ttf": return "application/x-font-ttf"
    if fileEx == ".ttl": return "text/turtle"
    if fileEx == ".umj": return "application/vnd.umajin"
    if fileEx == ".uoml": return "application/vnd.uoml+xml"
    if fileEx == ".unityweb": return "application/vnd.unity"
    if fileEx == ".ufd": return "application/vnd.ufdl"
    if fileEx == ".uri": return "text/uri-list"
    if fileEx == ".utz": return "application/vnd.uiq.theme"
    if fileEx == ".ustar": return "application/x-ustar"
    if fileEx == ".uu": return "text/x-uuencode"
    if fileEx == ".vcs": return "text/x-vcalendar"
    if fileEx == ".vcf": return "text/x-vcard"
    if fileEx == ".vcd": return "application/x-cdlink"
    if fileEx == ".vsf": return "application/vnd.vsf"
    if fileEx == ".wrl": return "model/vrml"
    if fileEx == ".vcx": return "application/vnd.vcx"
    if fileEx == ".mts": return "model/vnd.mts"
    if fileEx == ".vtu": return "model/vnd.vtu"
    if fileEx == ".vis": return "application/vnd.visionary"
    if fileEx == ".viv": return "video/vnd.vivo"
    if fileEx == ".ccxml": return "application/ccxml+xml,"
    if fileEx == ".vxml": return "application/voicexml+xml"
    if fileEx == ".src": return "application/x-wais-source"
    if fileEx == ".wbxml": return "application/vnd.wap.wbxml"
    if fileEx == ".wbmp": return "image/vnd.wap.wbmp"
    if fileEx == ".wav": return "audio/x-wav"
    if fileEx == ".davmount": return "application/davmount+xml"
    if fileEx == ".woff": return "application/x-font-woff"
    if fileEx == ".wspolicy": return "application/wspolicy+xml"
    if fileEx == ".webp": return "image/webp"
    if fileEx == ".wtb": return "application/vnd.webturbo"
    if fileEx == ".wgt": return "application/widget"
    if fileEx == ".hlp": return "application/winhlp"
    if fileEx == ".wml": return "text/vnd.wap.wml"
    if fileEx == ".wmls": return "text/vnd.wap.wmlscript"
    if fileEx == ".wmlsc": return "application/vnd.wap.wmlscriptc"
    if fileEx == ".wpd": return "application/vnd.wordperfect"
    if fileEx == ".stf": return "application/vnd.wt.stf"
    if fileEx == ".wsdl": return "application/wsdl+xml"
    if fileEx == ".xbm": return "image/x-xbitmap"
    if fileEx == ".xpm": return "image/x-xpixmap"
    if fileEx == ".xwd": return "image/x-xwindowdump"
    if fileEx == ".der": return "application/x-x509-ca-cert"
    if fileEx == ".fig": return "application/x-xfig"
    if fileEx == ".xhtml": return "application/xhtml+xml"
    if fileEx == ".xml": return "application/xml"
    if fileEx == ".xdf": return "application/xcap-diff+xml"
    if fileEx == ".xenc": return "application/xenc+xml"
    if fileEx == ".xer": return "application/patch-ops-error+xml"
    if fileEx == ".rl": return "application/resource-lists+xml"
    if fileEx == ".rs": return "application/rls-services+xml"
    if fileEx == ".rld": return "application/resource-lists-diff+xml"
    if fileEx == ".xslt": return "application/xslt+xml"
    if fileEx == ".xop": return "application/xop+xml"
    if fileEx == ".xpi": return "application/x-xpinstall"
    if fileEx == ".xspf": return "application/xspf+xml"
    if fileEx == ".xul": return "application/vnd.mozilla.xul+xml"
    if fileEx == ".xyz": return "chemical/x-xyz"
    if fileEx == ".yaml": return "text/yaml"
    if fileEx == ".yang": return "application/yang"
    if fileEx == ".yin": return "application/yin+xml"
    if fileEx == ".zir": return "application/vnd.zul"
    if fileEx == ".zip": return "application/zip"
    if fileEx == ".zmm": return "application/vnd.handheld-entertainment+xml"
    if fileEx == ".zaz": return "application/vnd.zzazz.deck+xml"
