#pragma once #include #ifdef NO_GC #include #define malloc(n) GC_malloc(n) #else #include #endif #include "log.h" int hasTriedIndex; int getMime(char** mime, char* filename) { char* dot = strrchr(filename, '.'); if (!dot || dot == filename) { if (!hasTriedIndex) { hasTriedIndex++; strcat(filename, "/index.html"); info("trying to upgrade directory to index.html"); return getMime(mime, filename); } else { warn("file extension does not exist or is the same as request's path.\n"); hasTriedIndex = 1; *mime = "text/plain"; return 0; } } else { if (0) {} else if (!strcmp(dot, ".js")) { *mime = "application/javascript"; } else if (!strcmp(dot, ".mjs")) { *mime = "application/javascript"; } else if (!strcmp(dot, ".json")) { *mime = "application/json"; } else if (!strcmp(dot, ".webmanifest")) { *mime = "application/manifest+json"; return 1; } else if (!strcmp(dot, ".doc")) { *mime = "application/msword"; return 1; } else if (!strcmp(dot, ".dot")) { *mime = "application/msword"; return 1; } else if (!strcmp(dot, ".wiz")) { *mime = "application/msword"; return 1; } else if (!strcmp(dot, ".bin")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".a")) { *mime = "text/vnd.a"; } else if (!strcmp(dot, ".dll")) { *mime = "application/x-msdownload"; return 1; } else if (!strcmp(dot, ".exe")) { *mime = "application/x-msdownload"; return 1; } else if (!strcmp(dot, ".o")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".obj")) { *mime = "application/x-tgif"; return 1; } else if (!strcmp(dot, ".so")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".oda")) { *mime = "application/oda"; return 1; } else if (!strcmp(dot, ".pdf")) { *mime = "application/pdf"; return 1; } else if (!strcmp(dot, ".p7c")) { *mime = "application/pkcs7-mime"; return 1; } else if (!strcmp(dot, ".ps")) { *mime = "application/postscript"; return 1; } else if (!strcmp(dot, ".ai")) { *mime = "application/postscript"; return 1; } else if (!strcmp(dot, ".eps")) { *mime = "application/postscript"; return 1; } else if (!strcmp(dot, ".m3u")) { *mime = "audio/x-mpegurl"; return 1; } else if (!strcmp(dot, ".m3u8")) { *mime = "application/vnd.apple.mpegurl"; return 1; } else if (!strcmp(dot, ".xls")) { *mime = "application/vnd.ms-excel"; return 1; } else if (!strcmp(dot, ".xlb")) { *mime = "application/vnd.ms-excel"; return 1; } else if (!strcmp(dot, ".ppt")) { *mime = "application/vnd.ms-powerpoint"; return 1; } else if (!strcmp(dot, ".pot")) { *mime = "application/vnd.ms-powerpoint"; return 1; } else if (!strcmp(dot, ".ppa")) { *mime = "application/vnd.ms-powerpoint"; return 1; } else if (!strcmp(dot, ".pps")) { *mime = "application/vnd.ms-powerpoint"; return 1; } else if (!strcmp(dot, ".pwz")) { *mime = "application/vnd.ms-powerpoint"; return 1; } else if (!strcmp(dot, ".wasm")) { *mime = "application/wasm"; return 1; } else if (!strcmp(dot, ".bcpio")) { *mime = "application/x-bcpio"; return 1; } else if (!strcmp(dot, ".cpio")) { *mime = "application/x-cpio"; return 1; } else if (!strcmp(dot, ".csh")) { *mime = "application/x-csh"; return 1; } else if (!strcmp(dot, ".dvi")) { *mime = "application/x-dvi"; return 1; } else if (!strcmp(dot, ".gtar")) { *mime = "application/x-gtar"; return 1; } else if (!strcmp(dot, ".hdf")) { *mime = "application/x-hdf"; return 1; } else if (!strcmp(dot, ".h5")) { *mime = "application/mipc"; return 1; } else if (!strcmp(dot, ".latex")) { *mime = "application/x-latex"; return 1; } else if (!strcmp(dot, ".mif")) { *mime = "application/vnd.mif"; return 1; } else if (!strcmp(dot, ".cdf")) { *mime = "application/x-netcdf"; return 1; } else if (!strcmp(dot, ".nc")) { *mime = "application/x-netcdf"; return 1; } else if (!strcmp(dot, ".p12")) { *mime = "application/x-pkcs12"; return 1; } else if (!strcmp(dot, ".pfx")) { *mime = "application/x-pkcs12"; return 1; } else if (!strcmp(dot, ".ram")) { *mime = "audio/x-pn-realaudio"; return 1; } else if (!strcmp(dot, ".pyc")) { *mime = "application/x-python-code"; return 1; } else if (!strcmp(dot, ".pyo")) { *mime = "model/vnd.pytha.pyox"; return 1; } else if (!strcmp(dot, ".sh")) { *mime = "application/x-sh"; } else if (!strcmp(dot, ".shar")) { *mime = "application/x-shar"; } else if (!strcmp(dot, ".swf")) { *mime = "application/x-shockwave-flash"; } else if (!strcmp(dot, ".sv4cpio")) { *mime = "application/x-sv4cpio"; return 1; } else if (!strcmp(dot, ".sv4crc")) { *mime = "application/x-sv4crc"; return 1; } else if (!strcmp(dot, ".tar")) { *mime = "application/x-tar"; return 1; } else if (!strcmp(dot, ".tcl")) { *mime = "application/x-tcl"; return 1; } else if (!strcmp(dot, ".tex")) { *mime = "application/x-tex"; return 1; } else if (!strcmp(dot, ".texi")) { *mime = "application/x-texinfo"; return 1; } else if (!strcmp(dot, ".texinfo")) { *mime = "application/x-texinfo"; return 1; } else if (!strcmp(dot, ".roff")) { *mime = "text/troff"; } else if (!strcmp(dot, ".t")) { *mime = "text/troff"; } else if (!strcmp(dot, ".tr")) { *mime = "text/troff"; } else if (!strcmp(dot, ".man")) { *mime = "text/troff"; } else if (!strcmp(dot, ".me")) { *mime = "text/troff"; } else if (!strcmp(dot, ".ms")) { *mime = "text/troff"; } else if (!strcmp(dot, ".ustar")) { *mime = "application/x-ustar"; return 1; } else if (!strcmp(dot, ".src")) { *mime = "application/x-wais-source"; return 1; } else if (!strcmp(dot, ".xsl")) { *mime = "application/xml"; } else if (!strcmp(dot, ".rdf")) { *mime = "application/rdf+xml"; return 1; } else if (!strcmp(dot, ".wsdl")) { *mime = "application/wsdl+xml"; return 1; } else if (!strcmp(dot, ".xpdl")) { *mime = "application/xml"; } else if (!strcmp(dot, ".zip")) { *mime = "application/zip"; return 1; } else if (!strcmp(dot, ".3gp")) { *mime = "video/3gpp"; return 1; } else if (!strcmp(dot, ".3gpp")) { *mime = "video/3gpp"; return 1; } else if (!strcmp(dot, ".3g2")) { *mime = "video/3gpp2"; return 1; } else if (!strcmp(dot, ".3gpp2")) { *mime = "video/3gpp2"; return 1; } else if (!strcmp(dot, ".aac")) { *mime = "audio/x-aac"; return 1; } else if (!strcmp(dot, ".adts")) { *mime = "audio/aac"; return 1; } else if (!strcmp(dot, ".loas")) { *mime = "audio/usac"; return 1; } else if (!strcmp(dot, ".ass")) { *mime = "audio/aac"; return 1; } else if (!strcmp(dot, ".au")) { *mime = "audio/basic"; return 1; } else if (!strcmp(dot, ".snd")) { *mime = "audio/basic"; return 1; } else if (!strcmp(dot, ".mp3")) { *mime = "audio/mpeg"; return 1; } else if (!strcmp(dot, ".mp2")) { *mime = "audio/mpeg"; return 1; } else if (!strcmp(dot, ".opus")) { *mime = "audio/ogg"; return 1; } else if (!strcmp(dot, ".aif")) { *mime = "audio/x-aiff"; return 1; } else if (!strcmp(dot, ".aifc")) { *mime = "audio/x-aiff"; return 1; } else if (!strcmp(dot, ".aiff")) { *mime = "audio/x-aiff"; return 1; } else if (!strcmp(dot, ".ra")) { *mime = "audio/x-pn-realaudio"; return 1; } else if (!strcmp(dot, ".wav")) { *mime = "audio/x-wav"; return 1; } else if (!strcmp(dot, ".bmp")) { *mime = "image/bmp"; return 1; } else if (!strcmp(dot, ".gif")) { *mime = "image/gif"; return 1; } else if (!strcmp(dot, ".ief")) { *mime = "image/ief"; return 1; } else if (!strcmp(dot, ".jpg")) { *mime = "image/jpeg"; return 1; } else if (!strcmp(dot, ".jpe")) { *mime = "image/jpeg"; return 1; } else if (!strcmp(dot, ".jpeg")) { *mime = "image/jpeg"; return 1; } else if (!strcmp(dot, ".heic")) { *mime = "image/heic"; return 1; } else if (!strcmp(dot, ".heif")) { *mime = "image/heif"; return 1; } else if (!strcmp(dot, ".png")) { *mime = "image/png"; return 1; } else if (!strcmp(dot, ".svg")) { *mime = "image/svg+xml"; return 1; } else if (!strcmp(dot, ".tiff")) { *mime = "image/tiff"; return 1; } else if (!strcmp(dot, ".tif")) { *mime = "image/tiff"; return 1; } else if (!strcmp(dot, ".ico")) { *mime = "image/x-icon"; return 1; } else if (!strcmp(dot, ".ras")) { *mime = "image/x-cmu-raster"; return 1; } else if (!strcmp(dot, ".pnm")) { *mime = "image/x-portable-anymap"; return 1; } else if (!strcmp(dot, ".pbm")) { *mime = "image/x-portable-bitmap"; return 1; } else if (!strcmp(dot, ".pgm")) { *mime = "image/x-portable-graymap"; return 1; } else if (!strcmp(dot, ".ppm")) { *mime = "image/x-portable-pixmap"; return 1; } else if (!strcmp(dot, ".rgb")) { *mime = "image/x-rgb"; return 1; } else if (!strcmp(dot, ".xbm")) { *mime = "image/x-xbitmap"; return 1; } else if (!strcmp(dot, ".xpm")) { *mime = "image/x-xpixmap"; return 1; } else if (!strcmp(dot, ".xwd")) { *mime = "image/x-xwindowdump"; return 1; } else if (!strcmp(dot, ".eml")) { *mime = "message/rfc822"; return 1; } else if (!strcmp(dot, ".mht")) { *mime = "message/rfc822"; return 1; } else if (!strcmp(dot, ".mhtml")) { *mime = "message/rfc822"; return 1; } else if (!strcmp(dot, ".nws")) { *mime = "message/rfc822"; return 1; } else if (!strcmp(dot, ".css")) { *mime = "text/css"; } else if (!strcmp(dot, ".csv")) { *mime = "text/csv"; } else if (!strcmp(dot, ".html")) { *mime = "text/html"; } else if (!strcmp(dot, ".htm")) { *mime = "text/html"; } else if (!strcmp(dot, ".txt")) { *mime = "text/plain"; } else if (!strcmp(dot, ".bat")) { *mime = "application/x-msdownload"; return 1; } else if (!strcmp(dot, ".c")) { *mime = "text/x-c"; } else if (!strcmp(dot, ".h")) { *mime = "text/x-c"; } else if (!strcmp(dot, ".ksh")) { *mime = "text/plain"; } else if (!strcmp(dot, ".pl")) { *mime = "application/x-perl"; return 1; } else if (!strcmp(dot, ".rtx")) { *mime = "text/richtext"; } else if (!strcmp(dot, ".tsv")) { *mime = "text/tab-separated-values"; } else if (!strcmp(dot, ".py")) { *mime = "text/x-python"; } else if (!strcmp(dot, ".etx")) { *mime = "text/x-setext"; } else if (!strcmp(dot, ".sgm")) { *mime = "text/sgml"; } else if (!strcmp(dot, ".sgml")) { *mime = "text/sgml"; } else if (!strcmp(dot, ".vcf")) { *mime = "text/x-vcard"; } else if (!strcmp(dot, ".xml")) { *mime = "application/xml"; } else if (!strcmp(dot, ".mp4")) { *mime = "video/mp4"; return 1; } else if (!strcmp(dot, ".mpeg")) { *mime = "video/mpeg"; return 1; } else if (!strcmp(dot, ".m1v")) { *mime = "video/mpeg"; return 1; } else if (!strcmp(dot, ".mpa")) { *mime = "video/mpeg"; return 1; } else if (!strcmp(dot, ".mpe")) { *mime = "video/mpeg"; return 1; } else if (!strcmp(dot, ".mpg")) { *mime = "video/mpeg"; return 1; } else if (!strcmp(dot, ".mov")) { *mime = "video/quicktime"; return 1; } else if (!strcmp(dot, ".qt")) { *mime = "video/quicktime"; return 1; } else if (!strcmp(dot, ".webm")) { *mime = "video/webm"; return 1; } else if (!strcmp(dot, ".avi")) { *mime = "video/x-msvideo"; return 1; } else if (!strcmp(dot, ".movie")) { *mime = "video/x-sgi-movie"; return 1; } else if (!strcmp(dot, ".a2l")) { *mime = "application/A2L"; return 1; } else if (!strcmp(dot, ".aml")) { *mime = "application/AML"; return 1; } else if (!strcmp(dot, ".ez")) { *mime = "application/andrew-inset"; return 1; } else if (!strcmp(dot, ".atf")) { *mime = "application/ATF"; return 1; } else if (!strcmp(dot, ".atfx")) { *mime = "application/ATFX"; return 1; } else if (!strcmp(dot, ".atxml")) { *mime = "application/ATXML"; return 1; } else if (!strcmp(dot, ".atom")) { *mime = "application/atom+xml"; return 1; } else if (!strcmp(dot, ".atomcat")) { *mime = "application/atomcat+xml"; return 1; } else if (!strcmp(dot, ".atomdeleted")) { *mime = "application/atomdeleted+xml"; return 1; } else if (!strcmp(dot, ".atomsvc")) { *mime = "application/atomsvc+xml"; return 1; } else if (!strcmp(dot, ".dwd")) { *mime = "application/atsc-dwd+xml"; return 1; } else if (!strcmp(dot, ".held")) { *mime = "application/atsc-held+xml"; return 1; } else if (!strcmp(dot, ".rsat")) { *mime = "application/atsc-rsat+xml"; return 1; } else if (!strcmp(dot, ".apxml")) { *mime = "application/auth-policy+xml"; return 1; } else if (!strcmp(dot, ".xdd")) { *mime = "application/bacnet-xdd+zip"; return 1; } else if (!strcmp(dot, ".xcs")) { *mime = "application/calendar+xml"; return 1; } else if (!strcmp(dot, ".cbor")) { *mime = "application/cbor"; return 1; } else if (!strcmp(dot, ".c3ex")) { *mime = "application/cccex"; return 1; } else if (!strcmp(dot, ".ccmp")) { *mime = "application/ccmp+xml"; return 1; } else if (!strcmp(dot, ".ccxml")) { *mime = "application/ccxml+xml"; return 1; } else if (!strcmp(dot, ".cdfx")) { *mime = "application/CDFX+XML"; return 1; } else if (!strcmp(dot, ".cdmia")) { *mime = "application/cdmi-capability"; return 1; } else if (!strcmp(dot, ".cdmic")) { *mime = "application/cdmi-container"; return 1; } else if (!strcmp(dot, ".cdmid")) { *mime = "application/cdmi-domain"; return 1; } else if (!strcmp(dot, ".cdmio")) { *mime = "application/cdmi-object"; return 1; } else if (!strcmp(dot, ".cdmiq")) { *mime = "application/cdmi-queue"; return 1; } else if (!strcmp(dot, ".cea")) { *mime = "application/CEA"; return 1; } else if (!strcmp(dot, ".cellml")) { *mime = "application/cellml+xml"; return 1; } else if (!strcmp(dot, ".cml")) { *mime = "chemical/x-cml"; return 1; } else if (!strcmp(dot, ".1clr")) { *mime = "application/clr"; return 1; } else if (!strcmp(dot, ".clue")) { *mime = "application/clue_info+xml"; return 1; } else if (!strcmp(dot, ".cmsc")) { *mime = "application/cms"; return 1; } else if (!strcmp(dot, ".cpl")) { *mime = "application/cpl+xml"; return 1; } else if (!strcmp(dot, ".csrattrs")) { *mime = "application/csrattrs"; return 1; } else if (!strcmp(dot, ".mpd")) { *mime = "application/dash+xml"; return 1; } else if (!strcmp(dot, ".mpdd")) { *mime = "application/dashdelta"; return 1; } else if (!strcmp(dot, ".davmount")) { *mime = "application/davmount+xml"; return 1; } else if (!strcmp(dot, ".dcd")) { *mime = "application/DCD"; return 1; } else if (!strcmp(dot, ".dcm")) { *mime = "application/dicom"; return 1; } else if (!strcmp(dot, ".dii")) { *mime = "application/DII"; return 1; } else if (!strcmp(dot, ".dit")) { *mime = "application/DIT"; return 1; } else if (!strcmp(dot, ".xmls")) { *mime = "application/dskpp+xml"; return 1; } else if (!strcmp(dot, ".dssc")) { *mime = "application/dssc+der"; return 1; } else if (!strcmp(dot, ".xdssc")) { *mime = "application/dssc+xml"; return 1; } else if (!strcmp(dot, ".dvc")) { *mime = "application/dvcs"; return 1; } else if (!strcmp(dot, ".es")) { *mime = "application/ecmascript"; return 1; } else if (!strcmp(dot, ".efi")) { *mime = "application/efi"; return 1; } else if (!strcmp(dot, ".emma")) { *mime = "application/emma+xml"; return 1; } else if (!strcmp(dot, ".emotionml")) { *mime = "application/emotionml+xml"; return 1; } else if (!strcmp(dot, ".epub")) { *mime = "application/epub+zip"; return 1; } else if (!strcmp(dot, ".exi")) { *mime = "application/exi"; return 1; } else if (!strcmp(dot, ".finf")) { *mime = "application/fastinfoset"; return 1; } else if (!strcmp(dot, ".fdt")) { *mime = "application/fdt+xml"; return 1; } else if (!strcmp(dot, ".pfr")) { *mime = "application/font-tdpfr"; return 1; } else if (!strcmp(dot, ".geojson")) { *mime = "application/geo+json"; return 1; } else if (!strcmp(dot, ".gpkg")) { *mime = "application/geopackage+sqlite3"; return 1; } else if (!strcmp(dot, ".glbin")) { *mime = "application/gltf-buffer"; return 1; } else if (!strcmp(dot, ".glbuf")) { *mime = "application/gltf-buffer"; return 1; } else if (!strcmp(dot, ".gml")) { *mime = "application/gml+xml"; return 1; } else if (!strcmp(dot, ".gz")) { *mime = "application/gzip"; return 1; } else if (!strcmp(dot, ".tgz")) { *mime = "application/gzip"; return 1; } else if (!strcmp(dot, ".stk")) { *mime = "application/hyperstudio"; return 1; } else if (!strcmp(dot, ".ink")) { *mime = "application/inkml+xml"; return 1; } else if (!strcmp(dot, ".inkml")) { *mime = "application/inkml+xml"; return 1; } else if (!strcmp(dot, ".ipfix")) { *mime = "application/ipfix"; return 1; } else if (!strcmp(dot, ".its")) { *mime = "application/its+xml"; return 1; } else if (!strcmp(dot, ".jrd")) { *mime = "application/jrd+json"; return 1; } else if (!strcmp(dot, ".json-patch")) { *mime = "application/json-patch+json"; } else if (!strcmp(dot, ".jsonld")) { *mime = "application/ld+json"; return 1; } else if (!strcmp(dot, ".lgr")) { *mime = "application/lgr+xml"; return 1; } else if (!strcmp(dot, ".wlnk")) { *mime = "application/link-format"; return 1; } else if (!strcmp(dot, ".lostxml")) { *mime = "application/lost+xml"; return 1; } else if (!strcmp(dot, ".lostsyncxml")) { *mime = "application/lostsync+xml"; return 1; } else if (!strcmp(dot, ".lpf")) { *mime = "application/lpf+zip"; return 1; } else if (!strcmp(dot, ".lxf")) { *mime = "application/LXF"; return 1; } else if (!strcmp(dot, ".hqx")) { *mime = "application/mac-binhex40"; return 1; } else if (!strcmp(dot, ".mads")) { *mime = "application/mads+xml"; return 1; } else if (!strcmp(dot, ".mrc")) { *mime = "application/marc"; return 1; } else if (!strcmp(dot, ".mrcx")) { *mime = "application/marcxml+xml"; return 1; } else if (!strcmp(dot, ".nb")) { *mime = "application/mathematica"; return 1; } else if (!strcmp(dot, ".ma")) { *mime = "application/mathematica"; return 1; } else if (!strcmp(dot, ".mb")) { *mime = "application/mathematica"; return 1; } else if (!strcmp(dot, ".mml")) { *mime = "application/mathml+xml"; return 1; } else if (!strcmp(dot, ".mbox")) { *mime = "application/mbox"; return 1; } else if (!strcmp(dot, ".meta4")) { *mime = "application/metalink4+xml"; return 1; } else if (!strcmp(dot, ".mets")) { *mime = "application/mets+xml"; return 1; } else if (!strcmp(dot, ".mf4")) { *mime = "application/MF4"; return 1; } else if (!strcmp(dot, ".maei")) { *mime = "application/mmt-aei+xml"; return 1; } else if (!strcmp(dot, ".musd")) { *mime = "application/mmt-usd+xml"; return 1; } else if (!strcmp(dot, ".mods")) { *mime = "application/mods+xml"; return 1; } else if (!strcmp(dot, ".m21")) { *mime = "application/mp21"; return 1; } else if (!strcmp(dot, ".mp21")) { *mime = "application/mp21"; return 1; } else if (!strcmp(dot, ".mxf")) { *mime = "application/mxf"; return 1; } else if (!strcmp(dot, ".nq")) { *mime = "application/n-quads"; return 1; } else if (!strcmp(dot, ".nt")) { *mime = "application/n-triples"; return 1; } else if (!strcmp(dot, ".orq")) { *mime = "application/ocsp-request"; return 1; } else if (!strcmp(dot, ".ors")) { *mime = "application/ocsp-response"; return 1; } else if (!strcmp(dot, ".lha")) { *mime = "application/x-lzh-compressed"; return 1; } else if (!strcmp(dot, ".lzh")) { *mime = "application/x-lzh-compressed"; return 1; } else if (!strcmp(dot, ".class")) { *mime = "application/java-vm"; return 1; } else if (!strcmp(dot, ".img")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".iso")) { *mime = "application/x-iso9660-image"; return 1; } else if (!strcmp(dot, ".odx")) { *mime = "application/ODX"; return 1; } else if (!strcmp(dot, ".opf")) { *mime = "application/oebps-package+xml"; return 1; } else if (!strcmp(dot, ".ogx")) { *mime = "application/ogg"; return 1; } else if (!strcmp(dot, ".oxps")) { *mime = "application/oxps"; return 1; } else if (!strcmp(dot, ".relo")) { *mime = "application/p2p-overlay+xml"; return 1; } else if (!strcmp(dot, ".pdx")) { *mime = "application/PDX"; return 1; } else if (!strcmp(dot, ".pem")) { *mime = "application/pem-certificate-chain"; return 1; } else if (!strcmp(dot, ".pgp")) { *mime = "application/pgp-encrypted"; return 1; } else if (!strcmp(dot, ".sig")) { *mime = "application/pgp-signature"; return 1; } else if (!strcmp(dot, ".p10")) { *mime = "application/pkcs10"; return 1; } else if (!strcmp(dot, ".p7m")) { *mime = "application/pkcs7-mime"; return 1; } else if (!strcmp(dot, ".p7s")) { *mime = "application/pkcs7-signature"; return 1; } else if (!strcmp(dot, ".p8")) { *mime = "application/pkcs8"; return 1; } else if (!strcmp(dot, ".p8e")) { *mime = "application/pkcs8-encrypted"; return 1; } else if (!strcmp(dot, ".cer")) { *mime = "application/pkix-cert"; return 1; } else if (!strcmp(dot, ".crl")) { *mime = "application/pkix-crl"; return 1; } else if (!strcmp(dot, ".pkipath")) { *mime = "application/pkix-pkipath"; return 1; } else if (!strcmp(dot, ".pki")) { *mime = "application/pkixcmp"; return 1; } else if (!strcmp(dot, ".pls")) { *mime = "application/pls+xml"; return 1; } else if (!strcmp(dot, ".provx")) { *mime = "application/provenance+xml"; return 1; } else if (!strcmp(dot, ".cw")) { *mime = "application/prs.cww"; return 1; } else if (!strcmp(dot, ".cww")) { *mime = "application/prs.cww"; return 1; } else if (!strcmp(dot, ".hpub")) { *mime = "application/prs.hpub+zip"; return 1; } else if (!strcmp(dot, ".rnd")) { *mime = "application/prs.nprend"; return 1; } else if (!strcmp(dot, ".rct")) { *mime = "application/prs.nprend"; return 1; } else if (!strcmp(dot, ".rdf-crypt")) { *mime = "application/prs.rdf-xml-crypt"; return 1; } else if (!strcmp(dot, ".xsf")) { *mime = "application/prs.xsf+xml"; return 1; } else if (!strcmp(dot, ".pskcxml")) { *mime = "application/pskc+xml"; return 1; } else if (!strcmp(dot, ".rapd")) { *mime = "application/route-apd+xml"; return 1; } else if (!strcmp(dot, ".sls")) { *mime = "application/route-s-tsid+xml"; return 1; } else if (!strcmp(dot, ".rusd")) { *mime = "application/route-usd+xml"; return 1; } else if (!strcmp(dot, ".rif")) { *mime = "application/reginfo+xml"; return 1; } else if (!strcmp(dot, ".rnc")) { *mime = "application/relax-ng-compact-syntax"; return 1; } else if (!strcmp(dot, ".rld")) { *mime = "application/resource-lists-diff+xml"; return 1; } else if (!strcmp(dot, ".rl")) { *mime = "application/resource-lists+xml"; return 1; } else if (!strcmp(dot, ".rfcxml")) { *mime = "application/rfc+xml"; return 1; } else if (!strcmp(dot, ".rs")) { *mime = "application/rls-services+xml"; return 1; } else if (!strcmp(dot, ".gbr")) { *mime = "application/rpki-ghostbusters"; return 1; } else if (!strcmp(dot, ".mft")) { *mime = "application/rpki-manifest"; return 1; } else if (!strcmp(dot, ".roa")) { *mime = "application/rpki-roa"; return 1; } else if (!strcmp(dot, ".rtf")) { *mime = "application/rtf"; return 1; } else if (!strcmp(dot, ".sarif-external-properties")) { *mime = "application/sarif-external-properties+json"; return 1; } else if (!strcmp(dot, ".sarif-external-properties.json")) { *mime = "application/sarif-external-properties+json"; return 1; } else if (!strcmp(dot, ".sarif")) { *mime = "application/sarif+json"; return 1; } else if (!strcmp(dot, ".sarif.json")) { *mime = "application/sarif+json"; return 1; } else if (!strcmp(dot, ".scim")) { *mime = "application/scim+json"; return 1; } else if (!strcmp(dot, ".scq")) { *mime = "application/scvp-cv-request"; return 1; } else if (!strcmp(dot, ".scs")) { *mime = "application/scvp-cv-response"; return 1; } else if (!strcmp(dot, ".spq")) { *mime = "application/scvp-vp-request"; return 1; } else if (!strcmp(dot, ".spp")) { *mime = "application/scvp-vp-response"; return 1; } else if (!strcmp(dot, ".sdp")) { *mime = "application/sdp"; return 1; } else if (!strcmp(dot, ".senml-etchc")) { *mime = "application/senml-etch+cbor"; return 1; } else if (!strcmp(dot, ".senml-etchj")) { *mime = "application/senml-etch+json"; return 1; } else if (!strcmp(dot, ".senmlc")) { *mime = "application/senml+cbor"; return 1; } else if (!strcmp(dot, ".senml")) { *mime = "application/senml+json"; return 1; } else if (!strcmp(dot, ".senmlx")) { *mime = "application/senml+xml"; return 1; } else if (!strcmp(dot, ".senmle")) { *mime = "application/senml-exi"; return 1; } else if (!strcmp(dot, ".sensmlc")) { *mime = "application/sensml+cbor"; return 1; } else if (!strcmp(dot, ".sensml")) { *mime = "application/sensml+json"; return 1; } else if (!strcmp(dot, ".sensmlx")) { *mime = "application/sensml+xml"; return 1; } else if (!strcmp(dot, ".sensmle")) { *mime = "application/sensml-exi"; return 1; } else if (!strcmp(dot, ".soc")) { *mime = "application/sgml-open-catalog"; return 1; } else if (!strcmp(dot, ".shf")) { *mime = "application/shf+xml"; return 1; } else if (!strcmp(dot, ".siv")) { *mime = "application/sieve"; return 1; } else if (!strcmp(dot, ".sieve")) { *mime = "application/sieve"; return 1; } else if (!strcmp(dot, ".cl")) { *mime = "application/simple-filter+xml"; return 1; } else if (!strcmp(dot, ".smil")) { *mime = "application/smil+xml"; return 1; } else if (!strcmp(dot, ".smi")) { *mime = "application/smil+xml"; return 1; } else if (!strcmp(dot, ".sml")) { *mime = "application/smil+xml"; return 1; } else if (!strcmp(dot, ".rq")) { *mime = "application/sparql-query"; return 1; } else if (!strcmp(dot, ".srx")) { *mime = "application/sparql-results+xml"; return 1; } else if (!strcmp(dot, ".sql")) { *mime = "application/x-sql"; return 1; } else if (!strcmp(dot, ".gram")) { *mime = "application/srgs"; return 1; } else if (!strcmp(dot, ".grxml")) { *mime = "application/srgs+xml"; return 1; } else if (!strcmp(dot, ".sru")) { *mime = "application/sru+xml"; return 1; } else if (!strcmp(dot, ".ssml")) { *mime = "application/ssml+xml"; return 1; } else if (!strcmp(dot, ".stix")) { *mime = "application/stix+json"; return 1; } else if (!strcmp(dot, ".swidtag")) { *mime = "application/swid+xml"; return 1; } else if (!strcmp(dot, ".tau")) { *mime = "application/tamp-apex-update"; return 1; } else if (!strcmp(dot, ".auc")) { *mime = "application/tamp-apex-update-confirm"; return 1; } else if (!strcmp(dot, ".tcu")) { *mime = "application/tamp-community-update"; return 1; } else if (!strcmp(dot, ".cuc")) { *mime = "application/tamp-community-update-confirm"; return 1; } else if (!strcmp(dot, ".jsontd")) { *mime = "application/td+json"; return 1; } else if (!strcmp(dot, ".ter")) { *mime = "application/tamp-error"; return 1; } else if (!strcmp(dot, ".tsa")) { *mime = "application/tamp-sequence-adjust"; return 1; } else if (!strcmp(dot, ".sac")) { *mime = "application/tamp-sequence-adjust-confirm"; return 1; } else if (!strcmp(dot, ".tur")) { *mime = "application/tamp-update"; return 1; } else if (!strcmp(dot, ".tuc")) { *mime = "application/tamp-update-confirm"; return 1; } else if (!strcmp(dot, ".tei")) { *mime = "application/tei+xml"; return 1; } else if (!strcmp(dot, ".teiCorpus")) { *mime = "application/tei+xml"; return 1; } else if (!strcmp(dot, ".odd")) { *mime = "application/tei+xml"; return 1; } else if (!strcmp(dot, ".tfi")) { *mime = "application/thraud+xml"; return 1; } else if (!strcmp(dot, ".tsq")) { *mime = "application/timestamp-query"; return 1; } else if (!strcmp(dot, ".tsr")) { *mime = "application/timestamp-reply"; return 1; } else if (!strcmp(dot, ".tsd")) { *mime = "application/timestamped-data"; return 1; } else if (!strcmp(dot, ".trig")) { *mime = "application/trig"; return 1; } else if (!strcmp(dot, ".ttml")) { *mime = "application/ttml+xml"; return 1; } else if (!strcmp(dot, ".gsheet")) { *mime = "application/urc-grpsheet+xml"; return 1; } else if (!strcmp(dot, ".rsheet")) { *mime = "application/urc-ressheet+xml"; return 1; } else if (!strcmp(dot, ".td")) { *mime = "application/urc-targetdesc+xml"; return 1; } else if (!strcmp(dot, ".uis")) { *mime = "application/urc-uisocketdesc+xml"; return 1; } else if (!strcmp(dot, ".1km")) { *mime = "application/vnd.1000minds.decision-model+xml"; return 1; } else if (!strcmp(dot, ".plb")) { *mime = "application/vnd.3gpp.pic-bw-large"; return 1; } else if (!strcmp(dot, ".psb")) { *mime = "application/vnd.3gpp.pic-bw-small"; return 1; } else if (!strcmp(dot, ".pvb")) { *mime = "application/vnd.3gpp.pic-bw-var"; return 1; } else if (!strcmp(dot, ".sms")) { *mime = "application/vnd.3gpp2.sms"; return 1; } else if (!strcmp(dot, ".tcap")) { *mime = "application/vnd.3gpp2.tcap"; return 1; } else if (!strcmp(dot, ".imgcal")) { *mime = "application/vnd.3lightssoftware.imagescal"; return 1; } else if (!strcmp(dot, ".pwn")) { *mime = "application/vnd.3m.post-it-notes"; return 1; } else if (!strcmp(dot, ".aso")) { *mime = "application/vnd.accpac.simply.aso"; return 1; } else if (!strcmp(dot, ".imp")) { *mime = "application/vnd.accpac.simply.imp"; return 1; } else if (!strcmp(dot, ".acu")) { *mime = "application/vnd.acucobol"; return 1; } else if (!strcmp(dot, ".atc")) { *mime = "application/vnd.acucorp"; return 1; } else if (!strcmp(dot, ".acutc")) { *mime = "application/vnd.acucorp"; return 1; } else if (!strcmp(dot, ".fcdt")) { *mime = "application/vnd.adobe.formscentral.fcdt"; return 1; } else if (!strcmp(dot, ".fxp")) { *mime = "application/vnd.adobe.fxp"; return 1; } else if (!strcmp(dot, ".fxpl")) { *mime = "application/vnd.adobe.fxp"; return 1; } else if (!strcmp(dot, ".xdp")) { *mime = "application/vnd.adobe.xdp+xml"; return 1; } else if (!strcmp(dot, ".xfdf")) { *mime = "application/vnd.adobe.xfdf"; return 1; } else if (!strcmp(dot, ".list3820")) { *mime = "application/vnd.ibm.modcap"; return 1; } else if (!strcmp(dot, ".listafp")) { *mime = "application/vnd.ibm.modcap"; return 1; } else if (!strcmp(dot, ".afp")) { *mime = "application/vnd.ibm.modcap"; return 1; } else if (!strcmp(dot, ".pseg3820")) { *mime = "application/vnd.afpc.modca"; return 1; } else if (!strcmp(dot, ".ovl")) { *mime = "application/vnd.afpc.modca-overlay"; return 1; } else if (!strcmp(dot, ".psg")) { *mime = "application/vnd.afpc.modca-pagesegment"; return 1; } else if (!strcmp(dot, ".ahead")) { *mime = "application/vnd.ahead.space"; return 1; } else if (!strcmp(dot, ".azf")) { *mime = "application/vnd.airzip.filesecure.azf"; return 1; } else if (!strcmp(dot, ".azs")) { *mime = "application/vnd.airzip.filesecure.azs"; return 1; } else if (!strcmp(dot, ".azw3")) { *mime = "application/vnd.amazon.mobi8-ebook"; return 1; } else if (!strcmp(dot, ".acc")) { *mime = "application/vnd.americandynamics.acc"; return 1; } else if (!strcmp(dot, ".ami")) { *mime = "application/vnd.amiga.ami"; return 1; } else if (!strcmp(dot, ".ota")) { *mime = "application/vnd.android.ota"; return 1; } else if (!strcmp(dot, ".apkg")) { *mime = "application/vnd.anki"; return 1; } else if (!strcmp(dot, ".cii")) { *mime = "application/vnd.anser-web-certificate-issue-initiation"; return 1; } else if (!strcmp(dot, ".fti")) { *mime = "application/vnd.anser-web-funds-transfer-initiation"; return 1; } else if (!strcmp(dot, ".dist")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".distz")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".pkg")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".mpkg")) { *mime = "application/vnd.apple.installer+xml"; return 1; } else if (!strcmp(dot, ".keynote")) { *mime = "application/vnd.apple.keynote"; return 1; } else if (!strcmp(dot, ".numbers")) { *mime = "application/vnd.apple.numbers"; return 1; } else if (!strcmp(dot, ".pages")) { *mime = "application/vnd.apple.pages"; return 1; } else if (!strcmp(dot, ".swi")) { *mime = "application/vnd.aristanetworks.swi"; return 1; } else if (!strcmp(dot, ".artisan")) { *mime = "application/vnd.artisan+json"; return 1; } else if (!strcmp(dot, ".iota")) { *mime = "application/vnd.astraea-software.iota"; return 1; } else if (!strcmp(dot, ".aep")) { *mime = "application/vnd.audiograph"; return 1; } else if (!strcmp(dot, ".package")) { *mime = "application/vnd.autopackage"; return 1; } else if (!strcmp(dot, ".bmml")) { *mime = "application/vnd.balsamiq.bmml+xml"; return 1; } else if (!strcmp(dot, ".ac2")) { *mime = "application/vnd.banana-accounting"; return 1; } else if (!strcmp(dot, ".bmpr")) { *mime = "application/vnd.balsamiq.bmpr"; return 1; } else if (!strcmp(dot, ".mpm")) { *mime = "application/vnd.blueice.multipass"; return 1; } else if (!strcmp(dot, ".ep")) { *mime = "application/vnd.bluetooth.ep.oob"; return 1; } else if (!strcmp(dot, ".le")) { *mime = "application/vnd.bluetooth.le.oob"; return 1; } else if (!strcmp(dot, ".bmi")) { *mime = "application/vnd.bmi"; return 1; } else if (!strcmp(dot, ".rep")) { *mime = "application/vnd.businessobjects"; return 1; } else if (!strcmp(dot, ".tlclient")) { *mime = "application/vnd.cendio.thinlinc.clientconf"; return 1; } else if (!strcmp(dot, ".cdxml")) { *mime = "application/vnd.chemdraw+xml"; return 1; } else if (!strcmp(dot, ".pgn")) { *mime = "application/x-chess-pgn"; return 1; } else if (!strcmp(dot, ".mmd")) { *mime = "application/vnd.chipnuts.karaoke-mmd"; return 1; } else if (!strcmp(dot, ".cdy")) { *mime = "application/vnd.cinderella"; return 1; } else if (!strcmp(dot, ".csl")) { *mime = "application/vnd.citationstyles.style+xml"; return 1; } else if (!strcmp(dot, ".cla")) { *mime = "application/vnd.claymore"; return 1; } else if (!strcmp(dot, ".rp9")) { *mime = "application/vnd.cloanto.rp9"; return 1; } else if (!strcmp(dot, ".c4g")) { *mime = "application/vnd.clonk.c4group"; return 1; } else if (!strcmp(dot, ".c4d")) { *mime = "application/vnd.clonk.c4group"; return 1; } else if (!strcmp(dot, ".c4f")) { *mime = "application/vnd.clonk.c4group"; return 1; } else if (!strcmp(dot, ".c4p")) { *mime = "application/vnd.clonk.c4group"; return 1; } else if (!strcmp(dot, ".c4u")) { *mime = "application/vnd.clonk.c4group"; return 1; } else if (!strcmp(dot, ".c11amc")) { *mime = "application/vnd.cluetrust.cartomobile-config"; return 1; } else if (!strcmp(dot, ".c11amz")) { *mime = "application/vnd.cluetrust.cartomobile-config-pkg"; return 1; } else if (!strcmp(dot, ".coffee")) { *mime = "application/vnd.coffeescript"; return 1; } else if (!strcmp(dot, ".xodt")) { *mime = "application/vnd.collabio.xodocuments.document"; return 1; } else if (!strcmp(dot, ".xott")) { *mime = "application/vnd.collabio.xodocuments.document-template"; return 1; } else if (!strcmp(dot, ".xodp")) { *mime = "application/vnd.collabio.xodocuments.presentation"; return 1; } else if (!strcmp(dot, ".xotp")) { *mime = "application/vnd.collabio.xodocuments.presentation-template"; return 1; } else if (!strcmp(dot, ".xods")) { *mime = "application/vnd.collabio.xodocuments.spreadsheet"; return 1; } else if (!strcmp(dot, ".xots")) { *mime = "application/vnd.collabio.xodocuments.spreadsheet-template"; return 1; } else if (!strcmp(dot, ".cbr")) { *mime = "application/x-cbr"; return 1; } else if (!strcmp(dot, ".cbz")) { *mime = "application/x-cbr"; return 1; } else if (!strcmp(dot, ".ica")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".icf")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".icd")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".ic0")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".ic1")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".ic2")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".ic3")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".ic4")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".ic5")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".ic6")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".ic7")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".ic8")) { *mime = "application/vnd.commerce-battelle"; return 1; } else if (!strcmp(dot, ".csp")) { *mime = "application/vnd.commonspace"; return 1; } else if (!strcmp(dot, ".cst")) { *mime = "application/x-director"; return 1; } else if (!strcmp(dot, ".cdbcmsg")) { *mime = "application/vnd.contact.cmsg"; return 1; } else if (!strcmp(dot, ".ign")) { *mime = "application/vnd.coreos.ignition+json"; return 1; } else if (!strcmp(dot, ".ignition")) { *mime = "application/vnd.coreos.ignition+json"; return 1; } else if (!strcmp(dot, ".cmc")) { *mime = "application/vnd.cosmocaller"; return 1; } else if (!strcmp(dot, ".clkx")) { *mime = "application/vnd.crick.clicker"; return 1; } else if (!strcmp(dot, ".clkk")) { *mime = "application/vnd.crick.clicker.keyboard"; return 1; } else if (!strcmp(dot, ".clkp")) { *mime = "application/vnd.crick.clicker.palette"; return 1; } else if (!strcmp(dot, ".clkt")) { *mime = "application/vnd.crick.clicker.template"; return 1; } else if (!strcmp(dot, ".clkw")) { *mime = "application/vnd.crick.clicker.wordbank"; return 1; } else if (!strcmp(dot, ".wbs")) { *mime = "application/vnd.criticaltools.wbs+xml"; return 1; } else if (!strcmp(dot, ".ssvc")) { *mime = "application/vnd.crypto-shade-file"; return 1; } else if (!strcmp(dot, ".c9r")) { *mime = "application/vnd.cryptomator.encrypted"; return 1; } else if (!strcmp(dot, ".c9s")) { *mime = "application/vnd.cryptomator.encrypted"; return 1; } else if (!strcmp(dot, ".cryptomator")) { *mime = "application/vnd.cryptomator.vault"; return 1; } else if (!strcmp(dot, ".pml")) { *mime = "application/vnd.ctc-posml"; return 1; } else if (!strcmp(dot, ".ppd")) { *mime = "application/vnd.cups-ppd"; return 1; } else if (!strcmp(dot, ".curl")) { *mime = "text/vnd.curl"; } else if (!strcmp(dot, ".dart")) { *mime = "application/vnd.dart"; return 1; } else if (!strcmp(dot, ".rdz")) { *mime = "application/vnd.data-vision.rdz"; return 1; } else if (!strcmp(dot, ".dbf")) { *mime = "application/vnd.dbf"; return 1; } else if (!strcmp(dot, ".deb")) { *mime = "application/x-debian-package"; return 1; } else if (!strcmp(dot, ".udeb")) { *mime = "application/x-debian-package"; return 1; } else if (!strcmp(dot, ".uvf")) { *mime = "application/vnd.dece.data"; return 1; } else if (!strcmp(dot, ".uvvf")) { *mime = "application/vnd.dece.data"; return 1; } else if (!strcmp(dot, ".uvd")) { *mime = "application/vnd.dece.data"; return 1; } else if (!strcmp(dot, ".uvvd")) { *mime = "application/vnd.dece.data"; return 1; } else if (!strcmp(dot, ".uvt")) { *mime = "application/vnd.dece.ttml+xml"; return 1; } else if (!strcmp(dot, ".uvvt")) { *mime = "application/vnd.dece.ttml+xml"; return 1; } else if (!strcmp(dot, ".uvx")) { *mime = "application/vnd.dece.unspecified"; return 1; } else if (!strcmp(dot, ".uvvx")) { *mime = "application/vnd.dece.unspecified"; return 1; } else if (!strcmp(dot, ".uvz")) { *mime = "application/vnd.dece.zip"; return 1; } else if (!strcmp(dot, ".uvvz")) { *mime = "application/vnd.dece.zip"; return 1; } else if (!strcmp(dot, ".fe_launch")) { *mime = "application/vnd.denovo.fcselayout-link"; return 1; } else if (!strcmp(dot, ".dsm")) { *mime = "application/vnd.desmume.movie"; return 1; } else if (!strcmp(dot, ".dna")) { *mime = "application/vnd.dna"; return 1; } else if (!strcmp(dot, ".docjson")) { *mime = "application/vnd.document+json"; return 1; } else if (!strcmp(dot, ".scld")) { *mime = "application/vnd.doremir.scorecloud-binary-document"; return 1; } else if (!strcmp(dot, ".dpg")) { *mime = "application/vnd.dpgraph"; return 1; } else if (!strcmp(dot, ".mwc")) { *mime = "application/vnd.dpgraph"; return 1; } else if (!strcmp(dot, ".dpgraph")) { *mime = "application/vnd.dpgraph"; return 1; } else if (!strcmp(dot, ".dfac")) { *mime = "application/vnd.dreamfactory"; return 1; } else if (!strcmp(dot, ".fla")) { *mime = "application/vnd.dtg.local.flash"; return 1; } else if (!strcmp(dot, ".ait")) { *mime = "application/vnd.dvb.ait"; return 1; } else if (!strcmp(dot, ".svc")) { *mime = "application/vnd.dvb.service"; return 1; } else if (!strcmp(dot, ".geo")) { *mime = "application/vnd.dynageo"; return 1; } else if (!strcmp(dot, ".dzr")) { *mime = "application/vnd.dzr"; return 1; } else if (!strcmp(dot, ".mag")) { *mime = "application/vnd.ecowin.chart"; return 1; } else if (!strcmp(dot, ".nml")) { *mime = "application/vnd.enliven"; return 1; } else if (!strcmp(dot, ".esf")) { *mime = "application/vnd.epson.esf"; return 1; } else if (!strcmp(dot, ".msf")) { *mime = "application/vnd.epson.msf"; return 1; } else if (!strcmp(dot, ".qam")) { *mime = "application/vnd.epson.quickanime"; return 1; } else if (!strcmp(dot, ".slt")) { *mime = "application/vnd.epson.salt"; return 1; } else if (!strcmp(dot, ".ssf")) { *mime = "application/vnd.epson.ssf"; return 1; } else if (!strcmp(dot, ".qcall")) { *mime = "application/vnd.ericsson.quickcall"; return 1; } else if (!strcmp(dot, ".qca")) { *mime = "application/vnd.ericsson.quickcall"; return 1; } else if (!strcmp(dot, ".espass")) { *mime = "application/vnd.espass-espass+zip"; return 1; } else if (!strcmp(dot, ".es3")) { *mime = "application/vnd.eszigno3+xml"; return 1; } else if (!strcmp(dot, ".et3")) { *mime = "application/vnd.eszigno3+xml"; return 1; } else if (!strcmp(dot, ".asice")) { *mime = "application/vnd.etsi.asic-e+zip"; return 1; } else if (!strcmp(dot, ".sce")) { *mime = "application/vnd.etsi.asic-e+zip"; return 1; } else if (!strcmp(dot, ".asics")) { *mime = "application/vnd.etsi.asic-s+zip"; return 1; } else if (!strcmp(dot, ".tst")) { *mime = "application/vnd.etsi.timestamp-token"; return 1; } else if (!strcmp(dot, ".mpw")) { *mime = "application/vnd.exstream-empower+zip"; return 1; } else if (!strcmp(dot, ".pub")) { *mime = "application/x-mspublisher"; return 1; } else if (!strcmp(dot, ".ecigprofile")) { *mime = "application/vnd.evolv.ecig.profile"; return 1; } else if (!strcmp(dot, ".ecig")) { *mime = "application/vnd.evolv.ecig.settings"; return 1; } else if (!strcmp(dot, ".ecigtheme")) { *mime = "application/vnd.evolv.ecig.theme"; return 1; } else if (!strcmp(dot, ".ez2")) { *mime = "application/vnd.ezpix-album"; return 1; } else if (!strcmp(dot, ".ez3")) { *mime = "application/vnd.ezpix-package"; return 1; } else if (!strcmp(dot, ".dim")) { *mime = "application/vnd.fastcopy-disk-image"; return 1; } else if (!strcmp(dot, ".fdf")) { *mime = "application/vnd.fdf"; return 1; } else if (!strcmp(dot, ".msd")) { *mime = "application/vnd.fdsn.mseed"; return 1; } else if (!strcmp(dot, ".mseed")) { *mime = "application/vnd.fdsn.mseed"; return 1; } else if (!strcmp(dot, ".seed")) { *mime = "application/vnd.fdsn.seed"; return 1; } else if (!strcmp(dot, ".dataless")) { *mime = "application/vnd.fdsn.seed"; return 1; } else if (!strcmp(dot, ".flb")) { *mime = "application/vnd.ficlab.flb+zip"; return 1; } else if (!strcmp(dot, ".zfc")) { *mime = "application/vnd.filmit.zfc"; return 1; } else if (!strcmp(dot, ".gph")) { *mime = "application/vnd.flographit"; return 1; } else if (!strcmp(dot, ".ftc")) { *mime = "application/vnd.fluxtime.clip"; return 1; } else if (!strcmp(dot, ".sfd")) { *mime = "application/vnd.font-fontforge-sfd"; return 1; } else if (!strcmp(dot, ".fm")) { *mime = "application/vnd.framemaker"; return 1; } else if (!strcmp(dot, ".fnc")) { *mime = "application/vnd.frogans.fnc"; return 1; } else if (!strcmp(dot, ".ltf")) { *mime = "application/vnd.frogans.ltf"; return 1; } else if (!strcmp(dot, ".fsc")) { *mime = "application/vnd.fsc.weblaunch"; return 1; } else if (!strcmp(dot, ".oas")) { *mime = "application/vnd.fujitsu.oasys"; return 1; } else if (!strcmp(dot, ".oa2")) { *mime = "application/vnd.fujitsu.oasys2"; return 1; } else if (!strcmp(dot, ".oa3")) { *mime = "application/vnd.fujitsu.oasys3"; return 1; } else if (!strcmp(dot, ".fg5")) { *mime = "application/vnd.fujitsu.oasysgp"; return 1; } else if (!strcmp(dot, ".bh2")) { *mime = "application/vnd.fujitsu.oasysprs"; return 1; } else if (!strcmp(dot, ".ddd")) { *mime = "application/vnd.fujixerox.ddd"; return 1; } else if (!strcmp(dot, ".xdw")) { *mime = "application/vnd.fujixerox.docuworks"; return 1; } else if (!strcmp(dot, ".xbd")) { *mime = "application/vnd.fujixerox.docuworks.binder"; return 1; } else if (!strcmp(dot, ".xct")) { *mime = "application/vnd.fujixerox.docuworks.container"; return 1; } else if (!strcmp(dot, ".fzs")) { *mime = "application/vnd.fuzzysheet"; return 1; } else if (!strcmp(dot, ".txd")) { *mime = "application/vnd.genomatix.tuxedo"; return 1; } else if (!strcmp(dot, ".g3")) { *mime = "image/g3fax"; return 1; } else if (!strcmp(dot, ".g³")) { *mime = "application/vnd.geocube+xml"; return 1; } else if (!strcmp(dot, ".ggb")) { *mime = "application/vnd.geogebra.file"; return 1; } else if (!strcmp(dot, ".ggs")) { *mime = "application/vnd.geogebra.slides"; return 1; } else if (!strcmp(dot, ".ggt")) { *mime = "application/vnd.geogebra.tool"; return 1; } else if (!strcmp(dot, ".gex")) { *mime = "application/vnd.geometry-explorer"; return 1; } else if (!strcmp(dot, ".gre")) { *mime = "application/vnd.geometry-explorer"; return 1; } else if (!strcmp(dot, ".gxt")) { *mime = "application/vnd.geonext"; return 1; } else if (!strcmp(dot, ".g2w")) { *mime = "application/vnd.geoplan"; return 1; } else if (!strcmp(dot, ".g3w")) { *mime = "application/vnd.geospace"; return 1; } else if (!strcmp(dot, ".gmx")) { *mime = "application/vnd.gmx"; return 1; } else if (!strcmp(dot, ".kml")) { *mime = "application/vnd.google-earth.kml+xml"; return 1; } else if (!strcmp(dot, ".kmz")) { *mime = "application/vnd.google-earth.kmz"; return 1; } else if (!strcmp(dot, ".gqf")) { *mime = "application/vnd.grafeq"; return 1; } else if (!strcmp(dot, ".gqs")) { *mime = "application/vnd.grafeq"; return 1; } else if (!strcmp(dot, ".gac")) { *mime = "application/vnd.groove-account"; return 1; } else if (!strcmp(dot, ".ghf")) { *mime = "application/vnd.groove-help"; return 1; } else if (!strcmp(dot, ".gim")) { *mime = "application/vnd.groove-identity-message"; return 1; } else if (!strcmp(dot, ".grv")) { *mime = "application/vnd.groove-injector"; return 1; } else if (!strcmp(dot, ".gtm")) { *mime = "application/vnd.groove-tool-message"; return 1; } else if (!strcmp(dot, ".tpl")) { *mime = "application/vnd.groove-tool-template"; return 1; } else if (!strcmp(dot, ".vcg")) { *mime = "application/vnd.groove-vcard"; return 1; } else if (!strcmp(dot, ".hal")) { *mime = "application/vnd.hal+xml"; return 1; } else if (!strcmp(dot, ".zmm")) { *mime = "application/vnd.handheld-entertainment+xml"; return 1; } else if (!strcmp(dot, ".hbci")) { *mime = "application/vnd.hbci"; return 1; } else if (!strcmp(dot, ".hbc")) { *mime = "application/vnd.hbci"; return 1; } else if (!strcmp(dot, ".kom")) { *mime = "application/vnd.hbci"; return 1; } else if (!strcmp(dot, ".upa")) { *mime = "application/vnd.hbci"; return 1; } else if (!strcmp(dot, ".pkd")) { *mime = "application/vnd.hbci"; return 1; } else if (!strcmp(dot, ".bpd")) { *mime = "application/vnd.hbci"; return 1; } else if (!strcmp(dot, ".hdt")) { *mime = "application/vnd.hdt"; return 1; } else if (!strcmp(dot, ".les")) { *mime = "application/vnd.hhe.lesson-player"; return 1; } else if (!strcmp(dot, ".hpgl")) { *mime = "application/vnd.hp-hpgl"; return 1; } else if (!strcmp(dot, ".hpi")) { *mime = "application/vnd.hp-hpid"; return 1; } else if (!strcmp(dot, ".hpid")) { *mime = "application/vnd.hp-hpid"; return 1; } else if (!strcmp(dot, ".hps")) { *mime = "application/vnd.hp-hps"; return 1; } else if (!strcmp(dot, ".jlt")) { *mime = "application/vnd.hp-jlyt"; return 1; } else if (!strcmp(dot, ".pcl")) { *mime = "application/vnd.hp-pcl"; return 1; } else if (!strcmp(dot, ".sfd-hdstx")) { *mime = "application/vnd.hydrostatix.sof-data"; return 1; } else if (!strcmp(dot, ".x3d")) { *mime = "model/x3d+xml"; return 1; } else if (!strcmp(dot, ".emm")) { *mime = "application/vnd.ibm.electronic-media"; return 1; } else if (!strcmp(dot, ".mpy")) { *mime = "application/vnd.ibm.minipay"; return 1; } else if (!strcmp(dot, ".irm")) { *mime = "application/vnd.ibm.rights-management"; return 1; } else if (!strcmp(dot, ".sc")) { *mime = "application/vnd.ibm.secure-container"; return 1; } else if (!strcmp(dot, ".icc")) { *mime = "application/vnd.iccprofile"; return 1; } else if (!strcmp(dot, ".icm")) { *mime = "application/vnd.iccprofile"; return 1; } else if (!strcmp(dot, ".1905.1")) { *mime = "application/vnd.ieee.1905"; return 1; } else if (!strcmp(dot, ".igl")) { *mime = "application/vnd.igloader"; return 1; } else if (!strcmp(dot, ".imf")) { *mime = "application/vnd.imagemeter.folder+zip"; return 1; } else if (!strcmp(dot, ".imi")) { *mime = "application/vnd.imagemeter.image+zip"; return 1; } else if (!strcmp(dot, ".ivp")) { *mime = "application/vnd.immervision-ivp"; return 1; } else if (!strcmp(dot, ".ivu")) { *mime = "application/vnd.immervision-ivu"; return 1; } else if (!strcmp(dot, ".imscc")) { *mime = "application/vnd.ims.imsccv1p1"; return 1; } else if (!strcmp(dot, ".igm")) { *mime = "application/vnd.insors.igm"; return 1; } else if (!strcmp(dot, ".xpw")) { *mime = "application/vnd.intercon.formnet"; return 1; } else if (!strcmp(dot, ".xpx")) { *mime = "application/vnd.intercon.formnet"; return 1; } else if (!strcmp(dot, ".i2g")) { *mime = "application/vnd.intergeo"; return 1; } else if (!strcmp(dot, ".qbo")) { *mime = "application/vnd.intu.qbo"; return 1; } else if (!strcmp(dot, ".qfx")) { *mime = "application/vnd.intu.qfx"; return 1; } else if (!strcmp(dot, ".rcprofile")) { *mime = "application/vnd.ipunplugged.rcprofile"; return 1; } else if (!strcmp(dot, ".irp")) { *mime = "application/vnd.irepository.package+xml"; return 1; } else if (!strcmp(dot, ".xpr")) { *mime = "application/vnd.is-xpr"; return 1; } else if (!strcmp(dot, ".fcs")) { *mime = "application/vnd.isac.fcs"; return 1; } else if (!strcmp(dot, ".jam")) { *mime = "application/vnd.jam"; return 1; } else if (!strcmp(dot, ".rms")) { *mime = "application/vnd.jcp.javame.midlet-rms"; return 1; } else if (!strcmp(dot, ".jisp")) { *mime = "application/vnd.jisp"; return 1; } else if (!strcmp(dot, ".joda")) { *mime = "application/vnd.joost.joda-archive"; return 1; } else if (!strcmp(dot, ".ktz")) { *mime = "application/vnd.kahootz"; return 1; } else if (!strcmp(dot, ".ktr")) { *mime = "application/vnd.kahootz"; return 1; } else if (!strcmp(dot, ".karbon")) { *mime = "application/vnd.kde.karbon"; return 1; } else if (!strcmp(dot, ".chrt")) { *mime = "application/vnd.kde.kchart"; return 1; } else if (!strcmp(dot, ".kfo")) { *mime = "application/vnd.kde.kformula"; return 1; } else if (!strcmp(dot, ".flw")) { *mime = "application/vnd.kde.kivio"; return 1; } else if (!strcmp(dot, ".kon")) { *mime = "application/vnd.kde.kontour"; return 1; } else if (!strcmp(dot, ".kpr")) { *mime = "application/vnd.kde.kpresenter"; return 1; } else if (!strcmp(dot, ".kpt")) { *mime = "application/vnd.kde.kpresenter"; return 1; } else if (!strcmp(dot, ".ksp")) { *mime = "application/vnd.kde.kspread"; return 1; } else if (!strcmp(dot, ".kwd")) { *mime = "application/vnd.kde.kword"; return 1; } else if (!strcmp(dot, ".kwt")) { *mime = "application/vnd.kde.kword"; return 1; } else if (!strcmp(dot, ".htke")) { *mime = "application/vnd.kenameaapp"; return 1; } else if (!strcmp(dot, ".kia")) { *mime = "application/vnd.kidspiration"; return 1; } else if (!strcmp(dot, ".kne")) { *mime = "application/vnd.kinar"; return 1; } else if (!strcmp(dot, ".knp")) { *mime = "application/vnd.kinar"; return 1; } else if (!strcmp(dot, ".sdf")) { *mime = "application/vnd.Kinar"; return 1; } else if (!strcmp(dot, ".skp")) { *mime = "application/vnd.koan"; return 1; } else if (!strcmp(dot, ".skd")) { *mime = "application/vnd.koan"; return 1; } else if (!strcmp(dot, ".skm")) { *mime = "application/vnd.koan"; return 1; } else if (!strcmp(dot, ".skt")) { *mime = "application/vnd.koan"; return 1; } else if (!strcmp(dot, ".sse")) { *mime = "application/vnd.kodak-descriptor"; return 1; } else if (!strcmp(dot, ".las")) { *mime = "application/vnd.las"; return 1; } else if (!strcmp(dot, ".lasjson")) { *mime = "application/vnd.las.las+json"; return 1; } else if (!strcmp(dot, ".lasxml")) { *mime = "application/vnd.las.las+xml"; return 1; } else if (!strcmp(dot, ".lbd")) { *mime = "application/vnd.llamagraphics.life-balance.desktop"; return 1; } else if (!strcmp(dot, ".lbe")) { *mime = "application/vnd.llamagraphics.life-balance.exchange+xml"; return 1; } else if (!strcmp(dot, ".lcs")) { *mime = "application/vnd.logipipe.circuit+zip"; return 1; } else if (!strcmp(dot, ".lca")) { *mime = "application/vnd.logipipe.circuit+zip"; return 1; } else if (!strcmp(dot, ".loom")) { *mime = "application/vnd.loom"; return 1; } else if (!strcmp(dot, ".123")) { *mime = "application/vnd.lotus-1-2-3"; return 1; } else if (!strcmp(dot, ".wk4")) { *mime = "application/vnd.lotus-1-2-3"; return 1; } else if (!strcmp(dot, ".wk3")) { *mime = "application/vnd.lotus-1-2-3"; return 1; } else if (!strcmp(dot, ".wk1")) { *mime = "application/vnd.lotus-1-2-3"; return 1; } else if (!strcmp(dot, ".apr")) { *mime = "application/vnd.lotus-approach"; return 1; } else if (!strcmp(dot, ".vew")) { *mime = "application/vnd.lotus-approach"; return 1; } else if (!strcmp(dot, ".prz")) { *mime = "application/vnd.lotus-freelance"; return 1; } else if (!strcmp(dot, ".pre")) { *mime = "application/vnd.lotus-freelance"; return 1; } else if (!strcmp(dot, ".nsf")) { *mime = "application/vnd.lotus-notes"; return 1; } else if (!strcmp(dot, ".ntf")) { *mime = "application/vnd.nitf"; return 1; } else if (!strcmp(dot, ".ndl")) { *mime = "application/vnd.lotus-notes"; return 1; } else if (!strcmp(dot, ".ns4")) { *mime = "application/vnd.lotus-notes"; return 1; } else if (!strcmp(dot, ".ns3")) { *mime = "application/vnd.lotus-notes"; return 1; } else if (!strcmp(dot, ".ns2")) { *mime = "application/vnd.lotus-notes"; return 1; } else if (!strcmp(dot, ".nsh")) { *mime = "application/vnd.lotus-notes"; return 1; } else if (!strcmp(dot, ".nsg")) { *mime = "application/vnd.lotus-notes"; return 1; } else if (!strcmp(dot, ".or3")) { *mime = "application/vnd.lotus-organizer"; return 1; } else if (!strcmp(dot, ".or2")) { *mime = "application/vnd.lotus-organizer"; return 1; } else if (!strcmp(dot, ".org")) { *mime = "application/vnd.lotus-organizer"; return 1; } else if (!strcmp(dot, ".scm")) { *mime = "application/vnd.lotus-screencam"; return 1; } else if (!strcmp(dot, ".lwp")) { *mime = "application/vnd.lotus-wordpro"; return 1; } else if (!strcmp(dot, ".sam")) { *mime = "application/vnd.lotus-wordpro"; return 1; } else if (!strcmp(dot, ".portpkg")) { *mime = "application/vnd.macports.portpkg"; return 1; } else if (!strcmp(dot, ".mvt")) { *mime = "application/vnd.mapbox-vector-tile"; return 1; } else if (!strcmp(dot, ".mdc")) { *mime = "application/vnd.marlin.drm.mdcf"; return 1; } else if (!strcmp(dot, ".mmdb")) { *mime = "application/vnd.maxmind.maxmind-db"; return 1; } else if (!strcmp(dot, ".mcd")) { *mime = "application/vnd.mcd"; return 1; } else if (!strcmp(dot, ".mc1")) { *mime = "application/vnd.medcalcdata"; return 1; } else if (!strcmp(dot, ".cdkey")) { *mime = "application/vnd.mediastation.cdkey"; return 1; } else if (!strcmp(dot, ".mwf")) { *mime = "application/vnd.mfer"; return 1; } else if (!strcmp(dot, ".mfm")) { *mime = "application/vnd.mfmp"; return 1; } else if (!strcmp(dot, ".flo")) { *mime = "application/vnd.micrografx.flo"; return 1; } else if (!strcmp(dot, ".igx")) { *mime = "application/vnd.micrografx.igx"; return 1; } else if (!strcmp(dot, ".daf")) { *mime = "application/vnd.mobius.daf"; return 1; } else if (!strcmp(dot, ".dis")) { *mime = "application/vnd.mobius.dis"; return 1; } else if (!strcmp(dot, ".mbk")) { *mime = "application/vnd.mobius.mbk"; return 1; } else if (!strcmp(dot, ".mqy")) { *mime = "application/vnd.mobius.mqy"; return 1; } else if (!strcmp(dot, ".msl")) { *mime = "application/vnd.mobius.msl"; return 1; } else if (!strcmp(dot, ".plc")) { *mime = "application/vnd.mobius.plc"; return 1; } else if (!strcmp(dot, ".txf")) { *mime = "application/vnd.mobius.txf"; return 1; } else if (!strcmp(dot, ".mpn")) { *mime = "application/vnd.mophun.application"; return 1; } else if (!strcmp(dot, ".mpc")) { *mime = "application/vnd.mophun.certificate"; return 1; } else if (!strcmp(dot, ".xul")) { *mime = "application/vnd.mozilla.xul+xml"; return 1; } else if (!strcmp(dot, ".3mf")) { *mime = "application/vnd.ms-3mfdocument"; return 1; } else if (!strcmp(dot, ".cil")) { *mime = "application/vnd.ms-artgalry"; return 1; } else if (!strcmp(dot, ".asf")) { *mime = "video/x-ms-asf"; return 1; } else if (!strcmp(dot, ".cab")) { *mime = "application/vnd.ms-cab-compressed"; return 1; } else if (!strcmp(dot, ".xlm")) { *mime = "application/vnd.ms-excel"; return 1; } else if (!strcmp(dot, ".xla")) { *mime = "application/vnd.ms-excel"; return 1; } else if (!strcmp(dot, ".xlc")) { *mime = "application/vnd.ms-excel"; return 1; } else if (!strcmp(dot, ".xlt")) { *mime = "application/vnd.ms-excel"; return 1; } else if (!strcmp(dot, ".xlw")) { *mime = "application/vnd.ms-excel"; return 1; } else if (!strcmp(dot, ".xltm")) { *mime = "application/vnd.ms-excel.template.macroenabled.12"; return 1; } else if (!strcmp(dot, ".xlam")) { *mime = "application/vnd.ms-excel.addin.macroenabled.12"; return 1; } else if (!strcmp(dot, ".xlsb")) { *mime = "application/vnd.ms-excel.sheet.binary.macroenabled.12"; return 1; } else if (!strcmp(dot, ".xlsm")) { *mime = "application/vnd.ms-excel.sheet.macroenabled.12"; return 1; } else if (!strcmp(dot, ".eot")) { *mime = "application/vnd.ms-fontobject"; return 1; } else if (!strcmp(dot, ".chm")) { *mime = "application/vnd.ms-htmlhelp"; return 1; } else if (!strcmp(dot, ".ims")) { *mime = "application/vnd.ms-ims"; return 1; } else if (!strcmp(dot, ".lrm")) { *mime = "application/vnd.ms-lrm"; return 1; } else if (!strcmp(dot, ".thmx")) { *mime = "application/vnd.ms-officetheme"; return 1; } else if (!strcmp(dot, ".ppam")) { *mime = "application/vnd.ms-powerpoint.addin.macroenabled.12"; return 1; } else if (!strcmp(dot, ".pptm")) { *mime = "application/vnd.ms-powerpoint.presentation.macroenabled.12"; return 1; } else if (!strcmp(dot, ".sldm")) { *mime = "application/vnd.ms-powerpoint.slide.macroenabled.12"; return 1; } else if (!strcmp(dot, ".ppsm")) { *mime = "application/vnd.ms-powerpoint.slideshow.macroenabled.12"; return 1; } else if (!strcmp(dot, ".potm")) { *mime = "application/vnd.ms-powerpoint.template.macroenabled.12"; return 1; } else if (!strcmp(dot, ".mpp")) { *mime = "application/vnd.ms-project"; return 1; } else if (!strcmp(dot, ".mpt")) { *mime = "application/vnd.ms-project"; return 1; } else if (!strcmp(dot, ".tnef")) { *mime = "application/vnd.ms-tnef"; return 1; } else if (!strcmp(dot, ".tnf")) { *mime = "application/vnd.ms-tnef"; return 1; } else if (!strcmp(dot, ".docm")) { *mime = "application/vnd.ms-word.document.macroenabled.12"; return 1; } else if (!strcmp(dot, ".dotm")) { *mime = "application/vnd.ms-word.template.macroenabled.12"; return 1; } else if (!strcmp(dot, ".wcm")) { *mime = "application/vnd.ms-works"; return 1; } else if (!strcmp(dot, ".wdb")) { *mime = "application/vnd.ms-works"; return 1; } else if (!strcmp(dot, ".wks")) { *mime = "application/vnd.ms-works"; return 1; } else if (!strcmp(dot, ".wps")) { *mime = "application/vnd.ms-works"; return 1; } else if (!strcmp(dot, ".wpl")) { *mime = "application/vnd.ms-wpl"; return 1; } else if (!strcmp(dot, ".xps")) { *mime = "application/vnd.ms-xpsdocument"; return 1; } else if (!strcmp(dot, ".msa")) { *mime = "application/vnd.msa-disk-image"; return 1; } else if (!strcmp(dot, ".mseq")) { *mime = "application/vnd.mseq"; return 1; } else if (!strcmp(dot, ".crtr")) { *mime = "application/vnd.multiad.creator"; return 1; } else if (!strcmp(dot, ".cif")) { *mime = "chemical/x-cif"; return 1; } else if (!strcmp(dot, ".mus")) { *mime = "application/vnd.musician"; return 1; } else if (!strcmp(dot, ".msty")) { *mime = "application/vnd.muvee.style"; return 1; } else if (!strcmp(dot, ".taglet")) { *mime = "application/vnd.mynfc"; return 1; } else if (!strcmp(dot, ".nebul")) { *mime = "application/vnd.nebumind.line"; return 1; } else if (!strcmp(dot, ".line")) { *mime = "application/vnd.nebumind.line"; return 1; } else if (!strcmp(dot, ".entity")) { *mime = "application/vnd.nervana"; return 1; } else if (!strcmp(dot, ".request")) { *mime = "application/vnd.nervana"; return 1; } else if (!strcmp(dot, ".bkm")) { *mime = "application/vnd.nervana"; return 1; } else if (!strcmp(dot, ".kcm")) { *mime = "application/vnd.nervana"; return 1; } else if (!strcmp(dot, ".nimn")) { *mime = "application/vnd.nimn"; return 1; } else if (!strcmp(dot, ".nitf")) { *mime = "application/vnd.nitf"; return 1; } else if (!strcmp(dot, ".nlu")) { *mime = "application/vnd.neurolanguage.nlu"; return 1; } else if (!strcmp(dot, ".nds")) { *mime = "application/vnd.nintendo.nitro.rom"; return 1; } else if (!strcmp(dot, ".sfc")) { *mime = "application/vnd.nintendo.snes.rom"; return 1; } else if (!strcmp(dot, ".smc")) { *mime = "application/vnd.nintendo.snes.rom"; return 1; } else if (!strcmp(dot, ".nnd")) { *mime = "application/vnd.noblenet-directory"; return 1; } else if (!strcmp(dot, ".nns")) { *mime = "application/vnd.noblenet-sealer"; return 1; } else if (!strcmp(dot, ".nnw")) { *mime = "application/vnd.noblenet-web"; return 1; } else if (!strcmp(dot, ".ac")) { *mime = "application/pkix-attr-cert"; return 1; } else if (!strcmp(dot, ".ngdat")) { *mime = "application/vnd.nokia.n-gage.data"; return 1; } else if (!strcmp(dot, ".n-gage")) { *mime = "application/vnd.nokia.n-gage.symbian.install"; return 1; } else if (!strcmp(dot, ".rpst")) { *mime = "application/vnd.nokia.radio-preset"; return 1; } else if (!strcmp(dot, ".rpss")) { *mime = "application/vnd.nokia.radio-presets"; return 1; } else if (!strcmp(dot, ".edm")) { *mime = "application/vnd.novadigm.edm"; return 1; } else if (!strcmp(dot, ".edx")) { *mime = "application/vnd.novadigm.edx"; return 1; } else if (!strcmp(dot, ".ext")) { *mime = "application/vnd.novadigm.ext"; return 1; } else if (!strcmp(dot, ".odc")) { *mime = "application/vnd.oasis.opendocument.chart"; return 1; } else if (!strcmp(dot, ".otc")) { *mime = "application/vnd.oasis.opendocument.chart-template"; return 1; } else if (!strcmp(dot, ".odb")) { *mime = "application/vnd.oasis.opendocument.database"; return 1; } else if (!strcmp(dot, ".odf")) { *mime = "application/vnd.oasis.opendocument.formula"; return 1; } else if (!strcmp(dot, ".odg")) { *mime = "application/vnd.oasis.opendocument.graphics"; return 1; } else if (!strcmp(dot, ".otg")) { *mime = "application/vnd.oasis.opendocument.graphics-template"; return 1; } else if (!strcmp(dot, ".odi")) { *mime = "application/vnd.oasis.opendocument.image"; return 1; } else if (!strcmp(dot, ".oti")) { *mime = "application/vnd.oasis.opendocument.image-template"; return 1; } else if (!strcmp(dot, ".odp")) { *mime = "application/vnd.oasis.opendocument.presentation"; return 1; } else if (!strcmp(dot, ".otp")) { *mime = "application/vnd.oasis.opendocument.presentation-template"; return 1; } else if (!strcmp(dot, ".ods")) { *mime = "application/vnd.oasis.opendocument.spreadsheet"; return 1; } else if (!strcmp(dot, ".ots")) { *mime = "application/vnd.oasis.opendocument.spreadsheet-template"; return 1; } else if (!strcmp(dot, ".odt")) { *mime = "application/vnd.oasis.opendocument.text"; } else if (!strcmp(dot, ".odm")) { *mime = "application/vnd.oasis.opendocument.text-master"; } else if (!strcmp(dot, ".ott")) { *mime = "application/vnd.oasis.opendocument.text-template"; } else if (!strcmp(dot, ".oth")) { *mime = "application/vnd.oasis.opendocument.text-web"; } else if (!strcmp(dot, ".xo")) { *mime = "application/vnd.olpc-sugar"; return 1; } else if (!strcmp(dot, ".dd2")) { *mime = "application/vnd.oma.dd2+xml"; return 1; } else if (!strcmp(dot, ".tam")) { *mime = "application/vnd.onepager"; return 1; } else if (!strcmp(dot, ".tamp")) { *mime = "application/vnd.onepagertamp"; return 1; } else if (!strcmp(dot, ".tamx")) { *mime = "application/vnd.onepagertamx"; return 1; } else if (!strcmp(dot, ".tat")) { *mime = "application/vnd.onepagertat"; return 1; } else if (!strcmp(dot, ".tatp")) { *mime = "application/vnd.onepagertatp"; return 1; } else if (!strcmp(dot, ".tatx")) { *mime = "application/vnd.onepagertatx"; return 1; } else if (!strcmp(dot, ".obgx")) { *mime = "application/vnd.openblox.game+xml"; return 1; } else if (!strcmp(dot, ".obg")) { *mime = "application/vnd.openblox.game-binary"; return 1; } else if (!strcmp(dot, ".oeb")) { *mime = "application/vnd.openeye.oeb"; return 1; } else if (!strcmp(dot, ".oxt")) { *mime = "application/vnd.openofficeorg.extension"; return 1; } else if (!strcmp(dot, ".osm")) { *mime = "application/vnd.openstreetmap.data+xml"; return 1; } else if (!strcmp(dot, ".pptx")) { *mime = "application/vnd.openxmlformats-officedocument.presentationml.presentation"; return 1; } else if (!strcmp(dot, ".sldx")) { *mime = "application/vnd.openxmlformats-officedocument.presentationml.slide"; return 1; } else if (!strcmp(dot, ".ppsx")) { *mime = "application/vnd.openxmlformats-officedocument.presentationml.slideshow"; return 1; } else if (!strcmp(dot, ".potx")) { *mime = "application/vnd.openxmlformats-officedocument.presentationml.template"; return 1; } else if (!strcmp(dot, ".xlsx")) { *mime = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; return 1; } else if (!strcmp(dot, ".xltx")) { *mime = "application/vnd.openxmlformats-officedocument.spreadsheetml.template"; return 1; } else if (!strcmp(dot, ".docx")) { *mime = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; return 1; } else if (!strcmp(dot, ".dotx")) { *mime = "application/vnd.openxmlformats-officedocument.wordprocessingml.template"; return 1; } else if (!strcmp(dot, ".ndc")) { *mime = "application/vnd.osa.netdeploy"; return 1; } else if (!strcmp(dot, ".mgp")) { *mime = "application/vnd.osgeo.mapguide.package"; return 1; } else if (!strcmp(dot, ".dp")) { *mime = "application/vnd.osgi.dp"; return 1; } else if (!strcmp(dot, ".esa")) { *mime = "application/vnd.osgi.subsystem"; return 1; } else if (!strcmp(dot, ".oxlicg")) { *mime = "application/vnd.oxli.countgraph"; return 1; } else if (!strcmp(dot, ".prc")) { *mime = "application/x-mobipocket-ebook"; return 1; } else if (!strcmp(dot, ".pdb")) { *mime = "application/vnd.palm"; return 1; } else if (!strcmp(dot, ".pqa")) { *mime = "application/vnd.palm"; return 1; } else if (!strcmp(dot, ".oprc")) { *mime = "application/vnd.palm"; return 1; } else if (!strcmp(dot, ".plp")) { *mime = "application/vnd.panoply"; return 1; } else if (!strcmp(dot, ".dive")) { *mime = "application/vnd.patentdive"; return 1; } else if (!strcmp(dot, ".paw")) { *mime = "application/vnd.pawaafile"; return 1; } else if (!strcmp(dot, ".str")) { *mime = "application/vnd.pg.format"; return 1; } else if (!strcmp(dot, ".ei6")) { *mime = "application/vnd.pg.osasli"; return 1; } else if (!strcmp(dot, ".pil")) { *mime = "application/vnd.piaccess.application-licence"; return 1; } else if (!strcmp(dot, ".efif")) { *mime = "application/vnd.picsel"; return 1; } else if (!strcmp(dot, ".wg")) { *mime = "application/vnd.pmi.widget"; return 1; } else if (!strcmp(dot, ".plf")) { *mime = "application/vnd.pocketlearn"; return 1; } else if (!strcmp(dot, ".pbd")) { *mime = "application/vnd.powerbuilder6"; return 1; } else if (!strcmp(dot, ".preminet")) { *mime = "application/vnd.preminet"; return 1; } else if (!strcmp(dot, ".box")) { *mime = "application/vnd.previewsystems.box"; return 1; } else if (!strcmp(dot, ".vbox")) { *mime = "application/vnd.previewsystems.box"; return 1; } else if (!strcmp(dot, ".mgz")) { *mime = "application/vnd.proteus.magazine"; return 1; } else if (!strcmp(dot, ".psfs")) { *mime = "application/vnd.psfs"; return 1; } else if (!strcmp(dot, ".qps")) { *mime = "application/vnd.publishare-delta-tree"; return 1; } else if (!strcmp(dot, ".ptid")) { *mime = "application/vnd.pvi.ptid1"; return 1; } else if (!strcmp(dot, ".bar")) { *mime = "application/vnd.qualcomm.brew-app-res"; return 1; } else if (!strcmp(dot, ".qxd")) { *mime = "application/vnd.quark.quarkxpress"; return 1; } else if (!strcmp(dot, ".qxt")) { *mime = "application/vnd.quark.quarkxpress"; return 1; } else if (!strcmp(dot, ".qwd")) { *mime = "application/vnd.quark.quarkxpress"; return 1; } else if (!strcmp(dot, ".qwt")) { *mime = "application/vnd.quark.quarkxpress"; return 1; } else if (!strcmp(dot, ".qxl")) { *mime = "application/vnd.quark.quarkxpress"; return 1; } else if (!strcmp(dot, ".qxb")) { *mime = "application/vnd.quark.quarkxpress"; return 1; } else if (!strcmp(dot, ".quox")) { *mime = "application/vnd.quobject-quoxdocument"; return 1; } else if (!strcmp(dot, ".quiz")) { *mime = "application/vnd.quobject-quoxdocument"; return 1; } else if (!strcmp(dot, ".tree")) { *mime = "application/vnd.rainstor.data"; return 1; } else if (!strcmp(dot, ".rar")) { *mime = "application/x-rar-compressed"; return 1; } else if (!strcmp(dot, ".bed")) { *mime = "application/vnd.realvnc.bed"; return 1; } else if (!strcmp(dot, ".mxl")) { *mime = "application/vnd.recordare.musicxml"; return 1; } else if (!strcmp(dot, ".cryptonote")) { *mime = "application/vnd.rig.cryptonote"; return 1; } else if (!strcmp(dot, ".link66")) { *mime = "application/vnd.route66.link66+xml"; return 1; } else if (!strcmp(dot, ".st")) { *mime = "application/vnd.sailingtracker.track"; return 1; } else if (!strcmp(dot, ".SAR")) { *mime = "application/vnd.sar"; return 1; } else if (!strcmp(dot, ".scd")) { *mime = "application/x-msschedule"; return 1; } else if (!strcmp(dot, ".sla")) { *mime = "application/vnd.scribus"; return 1; } else if (!strcmp(dot, ".slaz")) { *mime = "application/vnd.scribus"; return 1; } else if (!strcmp(dot, ".s3df")) { *mime = "application/vnd.sealed.3df"; return 1; } else if (!strcmp(dot, ".scsf")) { *mime = "application/vnd.sealed.csf"; return 1; } else if (!strcmp(dot, ".sdoc")) { *mime = "application/vnd.sealed.doc"; return 1; } else if (!strcmp(dot, ".sdo")) { *mime = "application/vnd.sealed.doc"; return 1; } else if (!strcmp(dot, ".s1w")) { *mime = "application/vnd.sealed.doc"; return 1; } else if (!strcmp(dot, ".seml")) { *mime = "application/vnd.sealed.eml"; return 1; } else if (!strcmp(dot, ".sem")) { *mime = "application/vnd.sealed.eml"; return 1; } else if (!strcmp(dot, ".smht")) { *mime = "application/vnd.sealed.mht"; return 1; } else if (!strcmp(dot, ".smh")) { *mime = "application/vnd.sealed.mht"; return 1; } else if (!strcmp(dot, ".sppt")) { *mime = "application/vnd.sealed.ppt"; return 1; } else if (!strcmp(dot, ".s1p")) { *mime = "application/vnd.sealed.ppt"; return 1; } else if (!strcmp(dot, ".stif")) { *mime = "application/vnd.sealed.tiff"; return 1; } else if (!strcmp(dot, ".sxls")) { *mime = "application/vnd.sealed.xls"; return 1; } else if (!strcmp(dot, ".sxl")) { *mime = "application/vnd.sealed.xls"; return 1; } else if (!strcmp(dot, ".s1e")) { *mime = "application/vnd.sealed.xls"; return 1; } else if (!strcmp(dot, ".stml")) { *mime = "application/vnd.sealedmedia.softseal.html"; return 1; } else if (!strcmp(dot, ".s1h")) { *mime = "application/vnd.sealedmedia.softseal.html"; return 1; } else if (!strcmp(dot, ".spdf")) { *mime = "application/vnd.sealedmedia.softseal.pdf"; return 1; } else if (!strcmp(dot, ".spd")) { *mime = "application/vnd.sealedmedia.softseal.pdf"; return 1; } else if (!strcmp(dot, ".s1a")) { *mime = "application/vnd.sealedmedia.softseal.pdf"; return 1; } else if (!strcmp(dot, ".see")) { *mime = "application/vnd.seemail"; return 1; } else if (!strcmp(dot, ".sema")) { *mime = "application/vnd.sema"; return 1; } else if (!strcmp(dot, ".semd")) { *mime = "application/vnd.semd"; return 1; } else if (!strcmp(dot, ".semf")) { *mime = "application/vnd.semf"; return 1; } else if (!strcmp(dot, ".ssv")) { *mime = "application/vnd.shade-save-file"; return 1; } else if (!strcmp(dot, ".ifm")) { *mime = "application/vnd.shana.informed.formdata"; return 1; } else if (!strcmp(dot, ".itp")) { *mime = "application/vnd.shana.informed.formtemplate"; return 1; } else if (!strcmp(dot, ".iif")) { *mime = "application/vnd.shana.informed.interchange"; return 1; } else if (!strcmp(dot, ".ipk")) { *mime = "application/vnd.shana.informed.package"; return 1; } else if (!strcmp(dot, ".shp")) { *mime = "application/vnd.shp"; return 1; } else if (!strcmp(dot, ".shx")) { *mime = "application/vnd.shx"; return 1; } else if (!strcmp(dot, ".sr")) { *mime = "application/vnd.sigrok.session"; return 1; } else if (!strcmp(dot, ".twd")) { *mime = "application/vnd.simtech-mindmapper"; return 1; } else if (!strcmp(dot, ".twds")) { *mime = "application/vnd.simtech-mindmapper"; return 1; } else if (!strcmp(dot, ".mmf")) { *mime = "application/vnd.smaf"; return 1; } else if (!strcmp(dot, ".notebook")) { *mime = "application/vnd.smart.notebook"; return 1; } else if (!strcmp(dot, ".teacher")) { *mime = "application/vnd.smart.teacher"; return 1; } else if (!strcmp(dot, ".ptrom")) { *mime = "application/vnd.snesdev-page-table"; return 1; } else if (!strcmp(dot, ".pt")) { *mime = "application/vnd.snesdev-page-table"; return 1; } else if (!strcmp(dot, ".fo")) { *mime = "application/vnd.software602.filler.form+xml"; return 1; } else if (!strcmp(dot, ".zfo")) { *mime = "application/vnd.software602.filler.form-xml-zip"; return 1; } else if (!strcmp(dot, ".sdkm")) { *mime = "application/vnd.solent.sdkm+xml"; return 1; } else if (!strcmp(dot, ".sdkd")) { *mime = "application/vnd.solent.sdkm+xml"; return 1; } else if (!strcmp(dot, ".dxp")) { *mime = "application/vnd.spotfire.dxp"; return 1; } else if (!strcmp(dot, ".sfs")) { *mime = "application/vnd.spotfire.sfs"; return 1; } else if (!strcmp(dot, ".sqlite")) { *mime = "application/vnd.sqlite3"; return 1; } else if (!strcmp(dot, ".sqlite3")) { *mime = "application/vnd.sqlite3"; return 1; } else if (!strcmp(dot, ".smzip")) { *mime = "application/vnd.stepmania.package"; return 1; } else if (!strcmp(dot, ".sm")) { *mime = "application/vnd.stepmania.stepchart"; return 1; } else if (!strcmp(dot, ".wadl")) { *mime = "application/vnd.sun.wadl+xml"; return 1; } else if (!strcmp(dot, ".sus")) { *mime = "application/vnd.sus-calendar"; return 1; } else if (!strcmp(dot, ".susp")) { *mime = "application/vnd.sus-calendar"; return 1; } else if (!strcmp(dot, ".scl")) { *mime = "application/vnd.sycle+xml"; return 1; } else if (!strcmp(dot, ".xsm")) { *mime = "application/vnd.syncml+xml"; return 1; } else if (!strcmp(dot, ".bdm")) { *mime = "application/vnd.syncml.dm+wbxml"; return 1; } else if (!strcmp(dot, ".xdm")) { *mime = "application/vnd.syncml.dm+xml"; return 1; } else if (!strcmp(dot, ".ddf")) { *mime = "application/vnd.syncml.dmddf+xml"; return 1; } else if (!strcmp(dot, ".tao")) { *mime = "application/vnd.tao.intent-module-archive"; return 1; } else if (!strcmp(dot, ".pcap")) { *mime = "application/vnd.tcpdump.pcap"; return 1; } else if (!strcmp(dot, ".cap")) { *mime = "application/vnd.tcpdump.pcap"; return 1; } else if (!strcmp(dot, ".dmp")) { *mime = "application/vnd.tcpdump.pcap"; return 1; } else if (!strcmp(dot, ".qvd")) { *mime = "application/vnd.theqvd"; return 1; } else if (!strcmp(dot, ".ppttc")) { *mime = "application/vnd.think-cell.ppttc+json"; return 1; } else if (!strcmp(dot, ".vfr")) { *mime = "application/vnd.tml"; return 1; } else if (!strcmp(dot, ".viaframe")) { *mime = "application/vnd.tml"; return 1; } else if (!strcmp(dot, ".tmo")) { *mime = "application/vnd.tmobile-livetv"; return 1; } else if (!strcmp(dot, ".tpt")) { *mime = "application/vnd.trid.tpt"; return 1; } else if (!strcmp(dot, ".mxs")) { *mime = "application/vnd.triscape.mxs"; return 1; } else if (!strcmp(dot, ".tra")) { *mime = "application/vnd.trueapp"; return 1; } else if (!strcmp(dot, ".ufdl")) { *mime = "application/vnd.ufdl"; return 1; } else if (!strcmp(dot, ".ufd")) { *mime = "application/vnd.ufdl"; return 1; } else if (!strcmp(dot, ".frm")) { *mime = "application/vnd.ufdl"; return 1; } else if (!strcmp(dot, ".utz")) { *mime = "application/vnd.uiq.theme"; return 1; } else if (!strcmp(dot, ".umj")) { *mime = "application/vnd.umajin"; return 1; } else if (!strcmp(dot, ".unityweb")) { *mime = "application/vnd.unity"; return 1; } else if (!strcmp(dot, ".uoml")) { *mime = "application/vnd.uoml+xml"; return 1; } else if (!strcmp(dot, ".uo")) { *mime = "application/vnd.uoml+xml"; return 1; } else if (!strcmp(dot, ".urim")) { *mime = "application/vnd.uri-map"; return 1; } else if (!strcmp(dot, ".urimap")) { *mime = "application/vnd.uri-map"; return 1; } else if (!strcmp(dot, ".vmt")) { *mime = "application/vnd.valve.source.material"; return 1; } else if (!strcmp(dot, ".vcx")) { *mime = "application/vnd.vcx"; return 1; } else if (!strcmp(dot, ".mxi")) { *mime = "application/vnd.vd-study"; return 1; } else if (!strcmp(dot, ".study-inter")) { *mime = "application/vnd.vd-study"; return 1; } else if (!strcmp(dot, ".model-inter")) { *mime = "application/vnd.vd-study"; return 1; } else if (!strcmp(dot, ".vwx")) { *mime = "application/vnd.vectorworks"; return 1; } else if (!strcmp(dot, ".istc")) { *mime = "application/vnd.veryant.thin"; return 1; } else if (!strcmp(dot, ".isws")) { *mime = "application/vnd.veryant.thin"; return 1; } else if (!strcmp(dot, ".VES")) { *mime = "application/vnd.ves.encrypted"; return 1; } else if (!strcmp(dot, ".vsc")) { *mime = "application/vnd.vidsoft.vidconference"; return 1; } else if (!strcmp(dot, ".vsd")) { *mime = "application/vnd.visio"; return 1; } else if (!strcmp(dot, ".vst")) { *mime = "application/vnd.visio"; return 1; } else if (!strcmp(dot, ".vsw")) { *mime = "application/vnd.visio"; return 1; } else if (!strcmp(dot, ".vss")) { *mime = "application/vnd.visio"; return 1; } else if (!strcmp(dot, ".vis")) { *mime = "application/vnd.visionary"; return 1; } else if (!strcmp(dot, ".vsf")) { *mime = "application/vnd.vsf"; return 1; } else if (!strcmp(dot, ".sic")) { *mime = "application/vnd.wap.sic"; return 1; } else if (!strcmp(dot, ".slc")) { *mime = "application/vnd.wap.slc"; return 1; } else if (!strcmp(dot, ".wbxml")) { *mime = "application/vnd.wap.wbxml"; return 1; } else if (!strcmp(dot, ".wmlc")) { *mime = "application/vnd.wap.wmlc"; return 1; } else if (!strcmp(dot, ".wmlsc")) { *mime = "application/vnd.wap.wmlscriptc"; return 1; } else if (!strcmp(dot, ".wtb")) { *mime = "application/vnd.webturbo"; return 1; } else if (!strcmp(dot, ".p2p")) { *mime = "application/vnd.wfa.p2p"; return 1; } else if (!strcmp(dot, ".wsc")) { *mime = "application/vnd.wfa.wsc"; return 1; } else if (!strcmp(dot, ".wmc")) { *mime = "application/vnd.wmc"; return 1; } else if (!strcmp(dot, ".m")) { *mime = "application/vnd.wolfram.mathematica.package"; return 1; } else if (!strcmp(dot, ".nbp")) { *mime = "application/vnd.wolfram.player"; return 1; } else if (!strcmp(dot, ".wpd")) { *mime = "application/vnd.wordperfect"; return 1; } else if (!strcmp(dot, ".wqd")) { *mime = "application/vnd.wqd"; return 1; } else if (!strcmp(dot, ".stf")) { *mime = "application/vnd.wt.stf"; return 1; } else if (!strcmp(dot, ".wv")) { *mime = "application/vnd.wv.csp+wbxml"; return 1; } else if (!strcmp(dot, ".xar")) { *mime = "application/vnd.xara"; return 1; } else if (!strcmp(dot, ".xfdl")) { *mime = "application/vnd.xfdl"; return 1; } else if (!strcmp(dot, ".xfd")) { *mime = "application/vnd.xfdl"; return 1; } else if (!strcmp(dot, ".cpkg")) { *mime = "application/vnd.xmpie.cpkg"; return 1; } else if (!strcmp(dot, ".dpkg")) { *mime = "application/vnd.xmpie.dpkg"; return 1; } else if (!strcmp(dot, ".ppkg")) { *mime = "application/vnd.xmpie.ppkg"; return 1; } else if (!strcmp(dot, ".xlim")) { *mime = "application/vnd.xmpie.xlim"; return 1; } else if (!strcmp(dot, ".hvd")) { *mime = "application/vnd.yamaha.hv-dic"; return 1; } else if (!strcmp(dot, ".hvs")) { *mime = "application/vnd.yamaha.hv-script"; return 1; } else if (!strcmp(dot, ".hvp")) { *mime = "application/vnd.yamaha.hv-voice"; return 1; } else if (!strcmp(dot, ".osf")) { *mime = "application/vnd.yamaha.openscoreformat"; return 1; } else if (!strcmp(dot, ".saf")) { *mime = "application/vnd.yamaha.smaf-audio"; return 1; } else if (!strcmp(dot, ".spf")) { *mime = "application/vnd.yamaha.smaf-phrase"; return 1; } else if (!strcmp(dot, ".yme")) { *mime = "application/vnd.yaoweme"; return 1; } else if (!strcmp(dot, ".cmp")) { *mime = "application/vnd.yellowriver-custom-menu"; return 1; } else if (!strcmp(dot, ".zir")) { *mime = "application/vnd.zul"; return 1; } else if (!strcmp(dot, ".zirz")) { *mime = "application/vnd.zul"; return 1; } else if (!strcmp(dot, ".zaz")) { *mime = "application/vnd.zzazz.deck+xml"; return 1; } else if (!strcmp(dot, ".vxml")) { *mime = "application/voicexml+xml"; return 1; } else if (!strcmp(dot, ".vcj")) { *mime = "application/voucher-cms+json"; return 1; } else if (!strcmp(dot, ".wif")) { *mime = "application/watcherinfo+xml"; return 1; } else if (!strcmp(dot, ".wgt")) { *mime = "application/widget"; return 1; } else if (!strcmp(dot, ".wspolicy")) { *mime = "application/wspolicy+xml"; return 1; } else if (!strcmp(dot, ".xav")) { *mime = "application/xcap-att+xml"; return 1; } else if (!strcmp(dot, ".xca")) { *mime = "application/xcap-caps+xml"; return 1; } else if (!strcmp(dot, ".xdf")) { *mime = "application/xcap-diff+xml"; return 1; } else if (!strcmp(dot, ".xel")) { *mime = "application/xcap-el+xml"; return 1; } else if (!strcmp(dot, ".xer")) { *mime = "application/patch-ops-error+xml"; return 1; } else if (!strcmp(dot, ".xns")) { *mime = "application/xcap-ns+xml"; return 1; } else if (!strcmp(dot, ".xhtml")) { *mime = "application/xhtml+xml"; } else if (!strcmp(dot, ".xhtm")) { *mime = "application/xhtml+xml"; } else if (!strcmp(dot, ".xht")) { *mime = "application/xhtml+xml"; } else if (!strcmp(dot, ".xlf")) { *mime = "application/x-xliff+xml"; return 1; } else if (!strcmp(dot, ".dtd")) { *mime = "application/xml-dtd"; } else if (!strcmp(dot, ".xop")) { *mime = "application/xop+xml"; return 1; } else if (!strcmp(dot, ".xslt")) { *mime = "application/xslt+xml"; return 1; } else if (!strcmp(dot, ".mxml")) { *mime = "application/xv+xml"; return 1; } else if (!strcmp(dot, ".xhvml")) { *mime = "application/xv+xml"; return 1; } else if (!strcmp(dot, ".xvml")) { *mime = "application/xv+xml"; return 1; } else if (!strcmp(dot, ".xvm")) { *mime = "application/xv+xml"; return 1; } else if (!strcmp(dot, ".yang")) { *mime = "application/yang"; return 1; } else if (!strcmp(dot, ".yin")) { *mime = "application/yin+xml"; return 1; } else if (!strcmp(dot, ".zst")) { *mime = "application/zstd"; return 1; } else if (!strcmp(dot, ".726")) { *mime = "audio/32kadpcm"; return 1; } else if (!strcmp(dot, ".ac3")) { *mime = "audio/ac3"; return 1; } else if (!strcmp(dot, ".amr")) { *mime = "audio/AMR"; return 1; } else if (!strcmp(dot, ".awb")) { *mime = "audio/AMR-WB"; return 1; } else if (!strcmp(dot, ".acn")) { *mime = "audio/asc"; return 1; } else if (!strcmp(dot, ".aal")) { *mime = "audio/ATRAC-ADVANCED-LOSSLESS"; return 1; } else if (!strcmp(dot, ".atx")) { *mime = "application/vnd.antix.game-component"; return 1; } else if (!strcmp(dot, ".at3")) { *mime = "audio/ATRAC3"; return 1; } else if (!strcmp(dot, ".aa3")) { *mime = "audio/ATRAC3"; return 1; } else if (!strcmp(dot, ".omg")) { *mime = "audio/ATRAC3"; return 1; } else if (!strcmp(dot, ".dls")) { *mime = "audio/dls"; return 1; } else if (!strcmp(dot, ".evc")) { *mime = "audio/EVRC"; return 1; } else if (!strcmp(dot, ".evb")) { *mime = "audio/EVRCB"; return 1; } else if (!strcmp(dot, ".enw")) { *mime = "audio/EVRCNW"; return 1; } else if (!strcmp(dot, ".evw")) { *mime = "audio/EVRCWB"; return 1; } else if (!strcmp(dot, ".lbc")) { *mime = "audio/iLBC"; return 1; } else if (!strcmp(dot, ".l16")) { *mime = "audio/L16"; return 1; } else if (!strcmp(dot, ".mhas")) { *mime = "audio/mhas"; return 1; } else if (!strcmp(dot, ".mxmf")) { *mime = "audio/mobile-xmf"; return 1; } else if (!strcmp(dot, ".m4a")) { *mime = "audio/mp4"; return 1; } else if (!strcmp(dot, ".mpga")) { *mime = "audio/mpeg"; return 1; } else if (!strcmp(dot, ".mp1")) { *mime = "audio/mpeg"; return 1; } else if (!strcmp(dot, ".oga")) { *mime = "audio/ogg"; return 1; } else if (!strcmp(dot, ".ogg")) { *mime = "audio/ogg"; return 1; } else if (!strcmp(dot, ".spx")) { *mime = "audio/ogg"; return 1; } else if (!strcmp(dot, ".sid")) { *mime = "image/x-mrsid-image"; return 1; } else if (!strcmp(dot, ".psid")) { *mime = "audio/prs.sid"; return 1; } else if (!strcmp(dot, ".qcp")) { *mime = "audio/QCELP"; return 1; } else if (!strcmp(dot, ".smv")) { *mime = "video/x-smv"; return 1; } else if (!strcmp(dot, ".sofa")) { *mime = "audio/sofa"; return 1; } else if (!strcmp(dot, ".xhe")) { *mime = "audio/usac"; return 1; } else if (!strcmp(dot, ".koz")) { *mime = "audio/vnd.audiokoz"; return 1; } else if (!strcmp(dot, ".uva")) { *mime = "audio/vnd.dece.audio"; return 1; } else if (!strcmp(dot, ".uvva")) { *mime = "audio/vnd.dece.audio"; return 1; } else if (!strcmp(dot, ".eol")) { *mime = "audio/vnd.digital-winds"; return 1; } else if (!strcmp(dot, ".mlp")) { *mime = "application/vnd.dolby.mlp"; return 1; } else if (!strcmp(dot, ".dts")) { *mime = "audio/vnd.dts"; return 1; } else if (!strcmp(dot, ".dtshd")) { *mime = "audio/vnd.dts.hd"; return 1; } else if (!strcmp(dot, ".plj")) { *mime = "audio/vnd.everad.plj"; return 1; } else if (!strcmp(dot, ".lvp")) { *mime = "audio/vnd.lucent.voice"; return 1; } else if (!strcmp(dot, ".pya")) { *mime = "audio/vnd.ms-playready.media.pya"; return 1; } else if (!strcmp(dot, ".vbk")) { *mime = "audio/vnd.nortel.vbk"; return 1; } else if (!strcmp(dot, ".ecelp4800")) { *mime = "audio/vnd.nuera.ecelp4800"; return 1; } else if (!strcmp(dot, ".ecelp7470")) { *mime = "audio/vnd.nuera.ecelp7470"; return 1; } else if (!strcmp(dot, ".ecelp9600")) { *mime = "audio/vnd.nuera.ecelp9600"; return 1; } else if (!strcmp(dot, ".multitrack")) { *mime = "audio/vnd.presonus.multitrack"; return 1; } else if (!strcmp(dot, ".rip")) { *mime = "audio/vnd.rip"; return 1; } else if (!strcmp(dot, ".smp3")) { *mime = "audio/vnd.sealedmedia.softseal.mpeg"; return 1; } else if (!strcmp(dot, ".smp")) { *mime = "audio/vnd.sealedmedia.softseal.mpeg"; return 1; } else if (!strcmp(dot, ".s1m")) { *mime = "audio/vnd.sealedmedia.softseal.mpeg"; return 1; } else if (!strcmp(dot, ".ttc")) { *mime = "font/collection"; return 1; } else if (!strcmp(dot, ".otf")) { *mime = "font/otf"; return 1; } else if (!strcmp(dot, ".ttf")) { *mime = "font/ttf"; return 1; } else if (!strcmp(dot, ".woff")) { *mime = "font/woff"; return 1; } else if (!strcmp(dot, ".woff2")) { *mime = "font/woff2"; return 1; } else if (!strcmp(dot, ".exr")) { *mime = "image/aces"; return 1; } else if (!strcmp(dot, ".avci")) { *mime = "image/avci"; return 1; } else if (!strcmp(dot, ".avcs")) { *mime = "image/avcs"; return 1; } else if (!strcmp(dot, ".avif")) { *mime = "image/avif"; return 1; } else if (!strcmp(dot, ".hif")) { *mime = "image/avif"; return 1; } else if (!strcmp(dot, ".dib")) { *mime = "image/bmp"; return 1; } else if (!strcmp(dot, ".cgm")) { *mime = "image/cgm"; return 1; } else if (!strcmp(dot, ".drle")) { *mime = "image/dicom-rle"; return 1; } else if (!strcmp(dot, ".emf")) { *mime = "application/x-msmetafile"; return 1; } else if (!strcmp(dot, ".fits")) { *mime = "image/fits"; return 1; } else if (!strcmp(dot, ".fit")) { *mime = "image/fits"; return 1; } else if (!strcmp(dot, ".fts")) { *mime = "image/fits"; return 1; } else if (!strcmp(dot, ".heics")) { *mime = "image/heic-sequence"; return 1; } else if (!strcmp(dot, ".heifs")) { *mime = "image/heif-sequence"; return 1; } else if (!strcmp(dot, ".hej2")) { *mime = "image/hej2k"; return 1; } else if (!strcmp(dot, ".hsj2")) { *mime = "image/hsj2"; return 1; } else if (!strcmp(dot, ".jls")) { *mime = "image/jls"; return 1; } else if (!strcmp(dot, ".jp2")) { *mime = "image/jp2"; return 1; } else if (!strcmp(dot, ".jpg2")) { *mime = "image/jp2"; return 1; } else if (!strcmp(dot, ".jph")) { *mime = "image/jph"; return 1; } else if (!strcmp(dot, ".jhc")) { *mime = "image/jphc"; return 1; } else if (!strcmp(dot, ".jfif")) { *mime = "image/jpeg"; return 1; } else if (!strcmp(dot, ".jpm")) { *mime = "video/jpm"; return 1; } else if (!strcmp(dot, ".jpgm")) { *mime = "video/jpm"; return 1; } else if (!strcmp(dot, ".jpx")) { *mime = "image/jpx"; return 1; } else if (!strcmp(dot, ".jpf")) { *mime = "image/jpx"; return 1; } else if (!strcmp(dot, ".jxl")) { *mime = "image/jxl"; return 1; } else if (!strcmp(dot, ".jxr")) { *mime = "image/jxr"; return 1; } else if (!strcmp(dot, ".jxra")) { *mime = "image/jxrA"; return 1; } else if (!strcmp(dot, ".jxrs")) { *mime = "image/jxrS"; return 1; } else if (!strcmp(dot, ".jxs")) { *mime = "image/jxs"; return 1; } else if (!strcmp(dot, ".jxsc")) { *mime = "image/jxsc"; return 1; } else if (!strcmp(dot, ".jxsi")) { *mime = "image/jxsi"; return 1; } else if (!strcmp(dot, ".jxss")) { *mime = "image/jxss"; return 1; } else if (!strcmp(dot, ".ktx")) { *mime = "image/ktx"; return 1; } else if (!strcmp(dot, ".ktx2")) { *mime = "image/ktx2"; return 1; } else if (!strcmp(dot, ".btif")) { *mime = "image/prs.btif"; return 1; } else if (!strcmp(dot, ".btf")) { *mime = "image/prs.btif"; return 1; } else if (!strcmp(dot, ".pti")) { *mime = "image/prs.pti"; return 1; } else if (!strcmp(dot, ".svgz")) { *mime = "image/svg+xml"; return 1; } else if (!strcmp(dot, ".t38")) { *mime = "image/t38"; return 1; } else if (!strcmp(dot, ".tfx")) { *mime = "image/tiff-fx"; return 1; } else if (!strcmp(dot, ".psd")) { *mime = "image/vnd.adobe.photoshop"; return 1; } else if (!strcmp(dot, ".azv")) { *mime = "image/vnd.airzip.accelerator.azv"; return 1; } else if (!strcmp(dot, ".uvi")) { *mime = "image/vnd.dece.graphic"; return 1; } else if (!strcmp(dot, ".uvvi")) { *mime = "image/vnd.dece.graphic"; return 1; } else if (!strcmp(dot, ".uvg")) { *mime = "image/vnd.dece.graphic"; return 1; } else if (!strcmp(dot, ".uvvg")) { *mime = "image/vnd.dece.graphic"; return 1; } else if (!strcmp(dot, ".djvu")) { *mime = "image/vnd.djvu"; return 1; } else if (!strcmp(dot, ".djv")) { *mime = "image/vnd.djvu"; return 1; } else if (!strcmp(dot, ".dwg")) { *mime = "image/vnd.dwg"; return 1; } else if (!strcmp(dot, ".dxf")) { *mime = "image/vnd.dxf"; return 1; } else if (!strcmp(dot, ".fbs")) { *mime = "image/vnd.fastbidsheet"; return 1; } else if (!strcmp(dot, ".fpx")) { *mime = "image/vnd.fpx"; return 1; } else if (!strcmp(dot, ".fst")) { *mime = "image/vnd.fst"; return 1; } else if (!strcmp(dot, ".mmr")) { *mime = "image/vnd.fujixerox.edmics-mmr"; return 1; } else if (!strcmp(dot, ".rlc")) { *mime = "image/vnd.fujixerox.edmics-rlc"; return 1; } else if (!strcmp(dot, ".pgb")) { *mime = "image/vnd.globalgraphics.pgb"; return 1; } else if (!strcmp(dot, ".apng")) { *mime = "image/vnd.mozilla.apng"; return 1; } else if (!strcmp(dot, ".mdi")) { *mime = "image/vnd.ms-modi"; return 1; } else if (!strcmp(dot, ".b16")) { *mime = "image/vnd.pco.b16"; return 1; } else if (!strcmp(dot, ".hdr")) { *mime = "image/vnd.radiance"; return 1; } else if (!strcmp(dot, ".rgbe")) { *mime = "image/vnd.radiance"; return 1; } else if (!strcmp(dot, ".xyze")) { *mime = "image/vnd.radiance"; return 1; } else if (!strcmp(dot, ".spng")) { *mime = "image/vnd.sealed.png"; return 1; } else if (!strcmp(dot, ".spn")) { *mime = "image/vnd.sealed.png"; return 1; } else if (!strcmp(dot, ".s1n")) { *mime = "image/vnd.sealed.png"; return 1; } else if (!strcmp(dot, ".sgif")) { *mime = "image/vnd.sealedmedia.softseal.gif"; return 1; } else if (!strcmp(dot, ".sgi")) { *mime = "image/sgi"; return 1; } else if (!strcmp(dot, ".s1g")) { *mime = "image/vnd.sealedmedia.softseal.gif"; return 1; } else if (!strcmp(dot, ".sjpg")) { *mime = "image/vnd.sealedmedia.softseal.jpg"; return 1; } else if (!strcmp(dot, ".sjp")) { *mime = "image/vnd.sealedmedia.softseal.jpg"; return 1; } else if (!strcmp(dot, ".s1j")) { *mime = "image/vnd.sealedmedia.softseal.jpg"; return 1; } else if (!strcmp(dot, ".tap")) { *mime = "image/vnd.tencent.tap"; return 1; } else if (!strcmp(dot, ".vtf")) { *mime = "image/vnd.valve.source.texture"; } else if (!strcmp(dot, ".wbmp")) { *mime = "image/vnd.wap.wbmp"; return 1; } else if (!strcmp(dot, ".xif")) { *mime = "image/vnd.xiff"; return 1; } else if (!strcmp(dot, ".pcx")) { *mime = "image/x-pcx"; return 1; } else if (!strcmp(dot, ".wmf")) { *mime = "application/x-msmetafile"; return 1; } else if (!strcmp(dot, ".u8msg")) { *mime = "message/global"; return 1; } else if (!strcmp(dot, ".u8dsn")) { *mime = "message/global-delivery-status"; return 1; } else if (!strcmp(dot, ".u8mdn")) { *mime = "message/global-disposition-notification"; return 1; } else if (!strcmp(dot, ".u8hdr")) { *mime = "message/global-headers"; return 1; } else if (!strcmp(dot, ".mail")) { *mime = "message/rfc822"; return 1; } else if (!strcmp(dot, ".art")) { *mime = "message/rfc822"; return 1; } else if (!strcmp(dot, ".glb")) { *mime = "model/gltf-binary"; return 1; } else if (!strcmp(dot, ".gltf")) { *mime = "model/gltf+json"; return 1; } else if (!strcmp(dot, ".igs")) { *mime = "model/iges"; return 1; } else if (!strcmp(dot, ".iges")) { *mime = "model/iges"; return 1; } else if (!strcmp(dot, ".msh")) { *mime = "model/mesh"; return 1; } else if (!strcmp(dot, ".mesh")) { *mime = "model/mesh"; return 1; } else if (!strcmp(dot, ".silo")) { *mime = "model/mesh"; return 1; } else if (!strcmp(dot, ".mtl")) { *mime = "model/mtl"; return 1; } else if (!strcmp(dot, ".stl")) { *mime = "application/vnd.ms-pki.stl"; return 1; } else if (!strcmp(dot, ".dae")) { *mime = "model/vnd.collada+xml"; return 1; } else if (!strcmp(dot, ".dwf")) { *mime = "model/vnd.dwf"; return 1; } else if (!strcmp(dot, ".gdl")) { *mime = "model/vnd.gdl"; return 1; } else if (!strcmp(dot, ".gsm")) { *mime = "model/vnd.gdl"; return 1; } else if (!strcmp(dot, ".win")) { *mime = "model/vnd.gdl"; return 1; } else if (!strcmp(dot, ".dor")) { *mime = "model/vnd.gdl"; return 1; } else if (!strcmp(dot, ".lmp")) { *mime = "model/vnd.gdl"; return 1; } else if (!strcmp(dot, ".rsm")) { *mime = "model/vnd.gdl"; return 1; } else if (!strcmp(dot, ".msm")) { *mime = "model/vnd.gdl"; return 1; } else if (!strcmp(dot, ".ism")) { *mime = "model/vnd.gdl"; return 1; } else if (!strcmp(dot, ".gtw")) { *mime = "model/vnd.gtw"; return 1; } else if (!strcmp(dot, ".moml")) { *mime = "model/vnd.moml+xml"; return 1; } else if (!strcmp(dot, ".mts")) { *mime = "model/vnd.mts"; return 1; } else if (!strcmp(dot, ".ogex")) { *mime = "model/vnd.opengex"; return 1; } else if (!strcmp(dot, ".x_b")) { *mime = "model/vnd.parasolid.transmit.binary"; return 1; } else if (!strcmp(dot, ".xmt_bin")) { *mime = "model/vnd.parasolid.transmit.binary"; return 1; } else if (!strcmp(dot, ".x_t")) { *mime = "model/vnd.parasolid.transmit.text"; } else if (!strcmp(dot, ".xmt_txt")) { *mime = "model/vnd.parasolid.transmit.text"; } else if (!strcmp(dot, ".pyox")) { *mime = "model/vnd.pytha.pyox"; return 1; } else if (!strcmp(dot, ".vds")) { *mime = "model/vnd.sap.vds"; return 1; } else if (!strcmp(dot, ".usdz")) { *mime = "model/vnd.usdz+zip"; return 1; } else if (!strcmp(dot, ".bsp")) { *mime = "model/vnd.valve.source.compiled-map"; return 1; } else if (!strcmp(dot, ".vtu")) { *mime = "model/vnd.vtu"; return 1; } else if (!strcmp(dot, ".wrl")) { *mime = "model/vrml"; return 1; } else if (!strcmp(dot, ".vrml")) { *mime = "model/vrml"; return 1; } else if (!strcmp(dot, ".x3db")) { *mime = "model/x3d+binary"; return 1; } else if (!strcmp(dot, ".x3dv")) { *mime = "model/x3d+vrml"; return 1; } else if (!strcmp(dot, ".x3dvz")) { *mime = "model/x3d+vrml"; return 1; } else if (!strcmp(dot, ".bmed")) { *mime = "multipart/vnd.bint.med-plus"; return 1; } else if (!strcmp(dot, ".vpm")) { *mime = "multipart/voice-message"; return 1; } else if (!strcmp(dot, ".appcache")) { *mime = "text/cache-manifest"; } else if (!strcmp(dot, ".manifest")) { *mime = "text/cache-manifest"; } else if (!strcmp(dot, ".ics")) { *mime = "text/calendar"; } else if (!strcmp(dot, ".ifb")) { *mime = "text/calendar"; } else if (!strcmp(dot, ".CQL")) { *mime = "text/cql"; } else if (!strcmp(dot, ".csvs")) { *mime = "text/csv-schema"; } else if (!strcmp(dot, ".soa")) { *mime = "text/dns"; } else if (!strcmp(dot, ".zone")) { *mime = "text/dns"; } else if (!strcmp(dot, ".gff3")) { *mime = "text/gff3"; } else if (!strcmp(dot, ".cnd")) { *mime = "text/jcr-cnd"; } else if (!strcmp(dot, ".markdown")) { *mime = "text/markdown"; } else if (!strcmp(dot, ".md")) { *mime = "text/markdown"; } else if (!strcmp(dot, ".miz")) { *mime = "text/mizar"; } else if (!strcmp(dot, ".n3")) { *mime = "text/n3"; } else if (!strcmp(dot, ".asc")) { *mime = "application/pgp-signature"; return 1; } else if (!strcmp(dot, ".text")) { *mime = "text/plain"; } else if (!strcmp(dot, ".pm")) { *mime = "text/plain"; } else if (!strcmp(dot, ".el")) { *mime = "text/plain"; } else if (!strcmp(dot, ".cc")) { *mime = "text/x-c"; } else if (!strcmp(dot, ".hh")) { *mime = "text/x-c"; } else if (!strcmp(dot, ".cxx")) { *mime = "text/x-c"; } else if (!strcmp(dot, ".hxx")) { *mime = "text/plain"; } else if (!strcmp(dot, ".f90")) { *mime = "text/x-fortran"; } else if (!strcmp(dot, ".conf")) { *mime = "text/plain"; } else if (!strcmp(dot, ".log")) { *mime = "text/plain"; } else if (!strcmp(dot, ".provn")) { *mime = "text/provenance-notation"; } else if (!strcmp(dot, ".rst")) { *mime = "text/prs.fallenstein.rst"; } else if (!strcmp(dot, ".tag")) { *mime = "text/prs.lines.tag"; } else if (!strcmp(dot, ".dsc")) { *mime = "text/prs.lines.tag"; } else if (!strcmp(dot, ".shaclc")) { *mime = "text/shaclc"; } else if (!strcmp(dot, ".shc")) { *mime = "text/shaclc"; } else if (!strcmp(dot, ".spdx")) { *mime = "text/spdx"; } else if (!strcmp(dot, ".ttl")) { *mime = "text/turtle"; } else if (!strcmp(dot, ".uris")) { *mime = "text/uri-list"; } else if (!strcmp(dot, ".uri")) { *mime = "text/uri-list"; } else if (!strcmp(dot, ".vcard")) { *mime = "text/vcard"; } else if (!strcmp(dot, ".abc")) { *mime = "text/vnd.abc"; } else if (!strcmp(dot, ".ascii")) { *mime = "text/vnd.ascii-art"; } else if (!strcmp(dot, ".copyright")) { *mime = "text/vnd.debian.copyright"; } else if (!strcmp(dot, ".dms")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".sub")) { *mime = "text/vnd.dvb.subtitle"; } else if (!strcmp(dot, ".jtd")) { *mime = "text/vnd.esmertec.theme-descriptor"; } else if (!strcmp(dot, ".flt")) { *mime = "text/vnd.ficlab.flt"; } else if (!strcmp(dot, ".fly")) { *mime = "text/vnd.fly"; } else if (!strcmp(dot, ".flx")) { *mime = "text/vnd.fmi.flexstor"; } else if (!strcmp(dot, ".gv")) { *mime = "text/vnd.graphviz"; } else if (!strcmp(dot, ".hans")) { *mime = "text/vnd.hans"; } else if (!strcmp(dot, ".hgl")) { *mime = "text/vnd.hgl"; } else if (!strcmp(dot, ".3dml")) { *mime = "text/vnd.in3d.3dml"; } else if (!strcmp(dot, ".3dm")) { *mime = "text/vnd.in3d.3dml"; } else if (!strcmp(dot, ".spot")) { *mime = "text/vnd.in3d.spot"; } else if (!strcmp(dot, ".spo")) { *mime = "text/vnd.in3d.spot"; } else if (!strcmp(dot, ".mpf")) { *mime = "text/vnd.ms-mediapackage"; } else if (!strcmp(dot, ".ccc")) { *mime = "text/vnd.net2phone.commcenter.command"; } else if (!strcmp(dot, ".mc2")) { *mime = "text/vnd.senx.warpscript"; } else if (!strcmp(dot, ".uric")) { *mime = "text/vnd.si.uricatalogue"; } else if (!strcmp(dot, ".jad")) { *mime = "text/vnd.sun.j2me.app-descriptor"; } else if (!strcmp(dot, ".sos")) { *mime = "text/vnd.sosi"; } else if (!strcmp(dot, ".ts")) { *mime = "text/vnd.trolltech.linguist"; } else if (!strcmp(dot, ".si")) { *mime = "text/vnd.wap.si"; } else if (!strcmp(dot, ".sl")) { *mime = "text/vnd.wap.sl"; } else if (!strcmp(dot, ".wml")) { *mime = "text/vnd.wap.wml"; } else if (!strcmp(dot, ".wmls")) { *mime = "text/vnd.wap.wmlscript"; } else if (!strcmp(dot, ".vtt")) { *mime = "text/vtt"; } else if (!strcmp(dot, ".xsd")) { *mime = "text/xml"; } else if (!strcmp(dot, ".rng")) { *mime = "text/xml"; } else if (!strcmp(dot, ".ent")) { *mime = "text/xml-external-parsed-entity"; } else if (!strcmp(dot, ".m4s")) { *mime = "video/iso.segment"; return 1; } else if (!strcmp(dot, ".mj2")) { *mime = "video/mj2"; return 1; } else if (!strcmp(dot, ".mjp2")) { *mime = "video/mj2"; return 1; } else if (!strcmp(dot, ".mpg4")) { *mime = "video/mp4"; return 1; } else if (!strcmp(dot, ".m4v")) { *mime = "video/x-m4v"; return 1; } else if (!strcmp(dot, ".m2v")) { *mime = "video/mpeg"; return 1; } else if (!strcmp(dot, ".ogv")) { *mime = "video/ogg"; return 1; } else if (!strcmp(dot, ".uvh")) { *mime = "video/vnd.dece.hd"; return 1; } else if (!strcmp(dot, ".uvvh")) { *mime = "video/vnd.dece.hd"; return 1; } else if (!strcmp(dot, ".uvm")) { *mime = "video/vnd.dece.mobile"; return 1; } else if (!strcmp(dot, ".uvvm")) { *mime = "video/vnd.dece.mobile"; return 1; } else if (!strcmp(dot, ".uvu")) { *mime = "video/vnd.uvvu.mp4"; return 1; } else if (!strcmp(dot, ".uvvu")) { *mime = "video/vnd.uvvu.mp4"; return 1; } else if (!strcmp(dot, ".uvp")) { *mime = "video/vnd.dece.pd"; return 1; } else if (!strcmp(dot, ".uvvp")) { *mime = "video/vnd.dece.pd"; return 1; } else if (!strcmp(dot, ".uvs")) { *mime = "video/vnd.dece.sd"; return 1; } else if (!strcmp(dot, ".uvvs")) { *mime = "video/vnd.dece.sd"; return 1; } else if (!strcmp(dot, ".uvv")) { *mime = "video/vnd.dece.video"; return 1; } else if (!strcmp(dot, ".uvvv")) { *mime = "video/vnd.dece.video"; return 1; } else if (!strcmp(dot, ".dvb")) { *mime = "video/vnd.dvb.file"; return 1; } else if (!strcmp(dot, ".fvt")) { *mime = "video/vnd.fvt"; return 1; } else if (!strcmp(dot, ".mxu")) { *mime = "video/vnd.mpegurl"; return 1; } else if (!strcmp(dot, ".m4u")) { *mime = "video/vnd.mpegurl"; return 1; } else if (!strcmp(dot, ".pyv")) { *mime = "video/vnd.ms-playready.media.pyv"; return 1; } else if (!strcmp(dot, ".nim")) { *mime = "video/vnd.nokia.interleaved-multimedia"; return 1; } else if (!strcmp(dot, ".bik")) { *mime = "video/vnd.radgamettools.bink"; return 1; } else if (!strcmp(dot, ".bk2")) { *mime = "video/vnd.radgamettools.bink"; return 1; } else if (!strcmp(dot, ".smk")) { *mime = "video/vnd.radgamettools.smacker"; return 1; } else if (!strcmp(dot, ".smpg")) { *mime = "video/vnd.sealed.mpeg1"; return 1; } else if (!strcmp(dot, ".s11")) { *mime = "video/vnd.sealed.mpeg1"; return 1; } else if (!strcmp(dot, ".s14")) { *mime = "video/vnd.sealed.mpeg4"; return 1; } else if (!strcmp(dot, ".sswf")) { *mime = "video/vnd.sealed.swf"; return 1; } else if (!strcmp(dot, ".ssw")) { *mime = "video/vnd.sealed.swf"; return 1; } else if (!strcmp(dot, ".smov")) { *mime = "video/vnd.sealedmedia.softseal.mov"; return 1; } else if (!strcmp(dot, ".smo")) { *mime = "video/vnd.sealedmedia.softseal.mov"; return 1; } else if (!strcmp(dot, ".s1q")) { *mime = "video/vnd.sealedmedia.softseal.mov"; return 1; } else if (!strcmp(dot, ".yt")) { *mime = "video/vnd.youtube.yt"; return 1; } else if (!strcmp(dot, ".viv")) { *mime = "video/vnd.vivo"; return 1; } else if (!strcmp(dot, ".cpt")) { *mime = "application/mac-compactpro"; return 1; } else if (!strcmp(dot, ".metalink")) { *mime = "application/metalink+xml"; return 1; } else if (!strcmp(dot, ".owx")) { *mime = "application/owl+xml"; return 1; } else if (!strcmp(dot, ".rss")) { *mime = "application/rss+xml"; return 1; } else if (!strcmp(dot, ".apk")) { *mime = "application/vnd.android.package-archive"; return 1; } else if (!strcmp(dot, ".dd")) { *mime = "application/vnd.oma.dd+xml"; return 1; } else if (!strcmp(dot, ".dcf")) { *mime = "application/vnd.oma.drm.content"; return 1; } else if (!strcmp(dot, ".o4a")) { *mime = "application/vnd.oma.drm.dcf"; return 1; } else if (!strcmp(dot, ".o4v")) { *mime = "application/vnd.oma.drm.dcf"; return 1; } else if (!strcmp(dot, ".dm")) { *mime = "application/vnd.oma.drm.message"; return 1; } else if (!strcmp(dot, ".drc")) { *mime = "application/vnd.oma.drm.rights+wbxml"; return 1; } else if (!strcmp(dot, ".dr")) { *mime = "application/vnd.oma.drm.rights+xml"; return 1; } else if (!strcmp(dot, ".sxc")) { *mime = "application/vnd.sun.xml.calc"; return 1; } else if (!strcmp(dot, ".stc")) { *mime = "application/vnd.sun.xml.calc.template"; return 1; } else if (!strcmp(dot, ".sxd")) { *mime = "application/vnd.sun.xml.draw"; return 1; } else if (!strcmp(dot, ".std")) { *mime = "application/vnd.sun.xml.draw.template"; return 1; } else if (!strcmp(dot, ".sxi")) { *mime = "application/vnd.sun.xml.impress"; return 1; } else if (!strcmp(dot, ".sti")) { *mime = "application/vnd.sun.xml.impress.template"; return 1; } else if (!strcmp(dot, ".sxm")) { *mime = "application/vnd.sun.xml.math"; return 1; } else if (!strcmp(dot, ".sxw")) { *mime = "application/vnd.sun.xml.writer"; return 1; } else if (!strcmp(dot, ".sxg")) { *mime = "application/vnd.sun.xml.writer.global"; return 1; } else if (!strcmp(dot, ".stw")) { *mime = "application/vnd.sun.xml.writer.template"; return 1; } else if (!strcmp(dot, ".sis")) { *mime = "application/vnd.symbian.install"; return 1; } else if (!strcmp(dot, ".mms")) { *mime = "application/vnd.wap.mms-message"; return 1; } else if (!strcmp(dot, ".anx")) { *mime = "application/x-annodex"; return 1; } else if (!strcmp(dot, ".torrent")) { *mime = "application/x-bittorrent"; return 1; } else if (!strcmp(dot, ".bz2")) { *mime = "application/x-bzip2"; return 1; } else if (!strcmp(dot, ".vcd")) { *mime = "application/x-cdlink"; return 1; } else if (!strcmp(dot, ".crx")) { *mime = "application/x-chrome-extension"; return 1; } else if (!strcmp(dot, ".dcr")) { *mime = "application/x-director"; return 1; } else if (!strcmp(dot, ".dir")) { *mime = "application/x-director"; return 1; } else if (!strcmp(dot, ".dxr")) { *mime = "application/x-director"; return 1; } else if (!strcmp(dot, ".spl")) { *mime = "application/x-futuresplash"; return 1; } else if (!strcmp(dot, ".jar")) { *mime = "application/java-archive"; return 1; } else if (!strcmp(dot, ".jnlp")) { *mime = "application/x-java-jnlp-file"; return 1; } else if (!strcmp(dot, ".pack")) { *mime = "application/x-java-pack200"; return 1; } else if (!strcmp(dot, ".kil")) { *mime = "application/x-killustrator"; return 1; } else if (!strcmp(dot, ".rpm")) { *mime = "application/x-rpm"; return 1; } else if (!strcmp(dot, ".sit")) { *mime = "application/x-stuffit"; return 1; } else if (!strcmp(dot, ".1")) { *mime = "application/x-troff-man"; return 1; } else if (!strcmp(dot, ".2")) { *mime = "application/x-troff-man"; return 1; } else if (!strcmp(dot, ".3")) { *mime = "application/x-troff-man"; return 1; } else if (!strcmp(dot, ".4")) { *mime = "application/x-troff-man"; return 1; } else if (!strcmp(dot, ".5")) { *mime = "application/x-troff-man"; return 1; } else if (!strcmp(dot, ".6")) { *mime = "application/x-troff-man"; return 1; } else if (!strcmp(dot, ".7")) { *mime = "application/x-troff-man"; return 1; } else if (!strcmp(dot, ".8")) { *mime = "application/x-troff-man"; return 1; } else if (!strcmp(dot, ".xpi")) { *mime = "application/x-xpinstall"; return 1; } else if (!strcmp(dot, ".xspf")) { *mime = "application/xspf+xml"; return 1; } else if (!strcmp(dot, ".xz")) { *mime = "application/x-xz"; return 1; } else if (!strcmp(dot, ".mid")) { *mime = "audio/midi"; return 1; } else if (!strcmp(dot, ".midi")) { *mime = "audio/midi"; return 1; } else if (!strcmp(dot, ".kar")) { *mime = "audio/midi"; return 1; } else if (!strcmp(dot, ".axa")) { *mime = "audio/x-annodex"; return 1; } else if (!strcmp(dot, ".flac")) { *mime = "audio/x-flac"; return 1; } else if (!strcmp(dot, ".mka")) { *mime = "audio/x-matroska"; return 1; } else if (!strcmp(dot, ".mod")) { *mime = "audio/x-mod"; return 1; } else if (!strcmp(dot, ".ult")) { *mime = "audio/x-mod"; return 1; } else if (!strcmp(dot, ".uni")) { *mime = "audio/x-mod"; return 1; } else if (!strcmp(dot, ".m15")) { *mime = "audio/x-mod"; return 1; } else if (!strcmp(dot, ".mtm")) { *mime = "audio/x-mod"; return 1; } else if (!strcmp(dot, ".669")) { *mime = "audio/x-mod"; return 1; } else if (!strcmp(dot, ".med")) { *mime = "audio/x-mod"; return 1; } else if (!strcmp(dot, ".wax")) { *mime = "audio/x-ms-wax"; return 1; } else if (!strcmp(dot, ".wma")) { *mime = "audio/x-ms-wma"; return 1; } else if (!strcmp(dot, ".rm")) { *mime = "application/vnd.rn-realmedia"; return 1; } else if (!strcmp(dot, ".s3m")) { *mime = "audio/s3m"; return 1; } else if (!strcmp(dot, ".stm")) { *mime = "audio/x-stm"; return 1; } else if (!strcmp(dot, ".xyz")) { *mime = "chemical/x-xyz"; return 1; } else if (!strcmp(dot, ".webp")) { *mime = "image/webp"; return 1; } else if (!strcmp(dot, ".tga")) { *mime = "image/x-tga"; return 1; } else if (!strcmp(dot, ".sandboxed")) { *mime = "text/html-sandboxed"; } else if (!strcmp(dot, ".pod")) { *mime = "text/x-pod"; } else if (!strcmp(dot, ".axv")) { *mime = "video/x-annodex"; return 1; } else if (!strcmp(dot, ".flv")) { *mime = "video/x-flv"; return 1; } else if (!strcmp(dot, ".fxm")) { *mime = "video/x-javafx"; return 1; } else if (!strcmp(dot, ".mkv")) { *mime = "video/x-matroska"; return 1; } else if (!strcmp(dot, ".mk3d")) { *mime = "video/x-matroska"; return 1; } else if (!strcmp(dot, ".asx")) { *mime = "video/x-ms-asf"; return 1; } else if (!strcmp(dot, ".wm")) { *mime = "video/x-ms-wm"; return 1; } else if (!strcmp(dot, ".wmv")) { *mime = "video/x-ms-wmv"; return 1; } else if (!strcmp(dot, ".wmx")) { *mime = "video/x-ms-wmx"; return 1; } else if (!strcmp(dot, ".wvx")) { *mime = "video/x-ms-wvx"; return 1; } else if (!strcmp(dot, ".ice")) { *mime = "x-conference/x-cooltalk"; return 1; } else if (!strcmp(dot, ".sisx")) { *mime = "application/vnd.symbian.install"; return 1; } else if (!strcmp(dot, ".aw")) { *mime = "application/applixware"; return 1; } else if (!strcmp(dot, ".cu")) { *mime = "application/cu-seeme"; return 1; } else if (!strcmp(dot, ".dbk")) { *mime = "application/docbook+xml"; return 1; } else if (!strcmp(dot, ".ecma")) { *mime = "application/ecmascript"; return 1; } else if (!strcmp(dot, ".gpx")) { *mime = "application/gpx+xml"; return 1; } else if (!strcmp(dot, ".gxf")) { *mime = "application/gxf"; return 1; } else if (!strcmp(dot, ".ser")) { *mime = "application/java-serialized-object"; return 1; } else if (!strcmp(dot, ".jsonml")) { *mime = "application/jsonml+json"; } else if (!strcmp(dot, ".mathml")) { *mime = "application/mathml+xml"; return 1; } else if (!strcmp(dot, ".mscml")) { *mime = "application/mediaservercontrol+xml"; return 1; } else if (!strcmp(dot, ".mp4s")) { *mime = "application/mp4"; return 1; } else if (!strcmp(dot, ".lrf")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".mar")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".bpk")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".dump")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".elc")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".deploy")) { *mime = "application/octet-stream"; return 1; } else if (!strcmp(dot, ".omdoc")) { *mime = "application/omdoc+xml"; return 1; } else if (!strcmp(dot, ".onetoc")) { *mime = "application/onenote"; return 1; } else if (!strcmp(dot, ".onetoc2")) { *mime = "application/onenote"; return 1; } else if (!strcmp(dot, ".onetmp")) { *mime = "application/onenote"; return 1; } else if (!strcmp(dot, ".onepkg")) { *mime = "application/onenote"; return 1; } else if (!strcmp(dot, ".prf")) { *mime = "application/pics-rules"; return 1; } else if (!strcmp(dot, ".rsd")) { *mime = "application/rsd+xml"; return 1; } else if (!strcmp(dot, ".sbml")) { *mime = "application/sbml+xml"; return 1; } else if (!strcmp(dot, ".setpay")) { *mime = "application/set-payment-initiation"; return 1; } else if (!strcmp(dot, ".setreg")) { *mime = "application/set-registration-initiation"; return 1; } else if (!strcmp(dot, ".ssdl")) { *mime = "application/ssdl+xml"; return 1; } else if (!strcmp(dot, ".teicorpus")) { *mime = "application/tei+xml"; return 1; } else if (!strcmp(dot, ".air")) { *mime = "application/vnd.adobe.air-application-installer-package+zip"; return 1; } else if (!strcmp(dot, ".azw")) { *mime = "application/vnd.amazon.ebook"; return 1; } else if (!strcmp(dot, ".car")) { *mime = "application/vnd.curl.car"; return 1; } else if (!strcmp(dot, ".pcurl")) { *mime = "application/vnd.curl.pcurl"; return 1; } else if (!strcmp(dot, ".kpxx")) { *mime = "application/vnd.ds-keypoint"; return 1; } else if (!strcmp(dot, ".frame")) { *mime = "application/vnd.framemaker"; return 1; } else if (!strcmp(dot, ".maker")) { *mime = "application/vnd.framemaker"; return 1; } else if (!strcmp(dot, ".book")) { *mime = "application/vnd.framemaker"; return 1; } else if (!strcmp(dot, ".pclxl")) { *mime = "application/vnd.hp-pclxl"; return 1; } else if (!strcmp(dot, ".cat")) { *mime = "application/vnd.ms-pki.seccat"; return 1; } else if (!strcmp(dot, ".odft")) { *mime = "application/vnd.oasis.opendocument.formula-template"; return 1; } else if (!strcmp(dot, ".musicxml")) { *mime = "application/vnd.recordare.musicxml+xml"; return 1; } else if (!strcmp(dot, ".cod")) { *mime = "application/vnd.rim.cod"; return 1; } else if (!strcmp(dot, ".rmvb")) { *mime = "application/vnd.rn-realmedia-vbr"; return 1; } else if (!strcmp(dot, ".sdc")) { *mime = "application/vnd.stardivision.calc"; return 1; } else if (!strcmp(dot, ".sda")) { *mime = "application/vnd.stardivision.draw"; return 1; } else if (!strcmp(dot, ".sdd")) { *mime = "application/vnd.stardivision.impress"; return 1; } else if (!strcmp(dot, ".smf")) { *mime = "application/vnd.stardivision.math"; return 1; } else if (!strcmp(dot, ".sdw")) { *mime = "application/vnd.stardivision.writer"; return 1; } else if (!strcmp(dot, ".vor")) { *mime = "application/vnd.stardivision.writer"; return 1; } else if (!strcmp(dot, ".sgl")) { *mime = "application/vnd.stardivision.writer-global"; return 1; } else if (!strcmp(dot, ".svd")) { *mime = "application/vnd.svd"; return 1; } else if (!strcmp(dot, ".osfpvg")) { *mime = "application/vnd.yamaha.openscoreformat.osfpvg+xml"; return 1; } else if (!strcmp(dot, ".hlp")) { *mime = "application/winhlp"; return 1; } else if (!strcmp(dot, ".7z")) { *mime = "application/x-7z-compressed"; return 1; } else if (!strcmp(dot, ".abw")) { *mime = "application/x-abiword"; return 1; } else if (!strcmp(dot, ".ace")) { *mime = "application/x-ace-compressed"; return 1; } else if (!strcmp(dot, ".dmg")) { *mime = "application/x-apple-diskimage"; return 1; } else if (!strcmp(dot, ".aab")) { *mime = "application/x-authorware-bin"; return 1; } else if (!strcmp(dot, ".x32")) { *mime = "application/x-authorware-bin"; return 1; } else if (!strcmp(dot, ".u32")) { *mime = "application/x-authorware-bin"; return 1; } else if (!strcmp(dot, ".vox")) { *mime = "application/x-authorware-bin"; return 1; } else if (!strcmp(dot, ".aam")) { *mime = "application/x-authorware-map"; return 1; } else if (!strcmp(dot, ".aas")) { *mime = "application/x-authorware-seg"; return 1; } else if (!strcmp(dot, ".blb")) { *mime = "application/x-blorb"; return 1; } else if (!strcmp(dot, ".blorb")) { *mime = "application/x-blorb"; return 1; } else if (!strcmp(dot, ".bz")) { *mime = "application/x-bzip"; return 1; } else if (!strcmp(dot, ".boz")) { *mime = "application/x-bzip2"; return 1; } else if (!strcmp(dot, ".cba")) { *mime = "application/x-cbr"; return 1; } else if (!strcmp(dot, ".cbt")) { *mime = "application/x-cbr"; return 1; } else if (!strcmp(dot, ".cb7")) { *mime = "application/x-cbr"; return 1; } else if (!strcmp(dot, ".cfs")) { *mime = "application/x-cfs-compressed"; return 1; } else if (!strcmp(dot, ".chat")) { *mime = "application/x-chat"; return 1; } else if (!strcmp(dot, ".nsc")) { *mime = "application/x-conference"; return 1; } else if (!strcmp(dot, ".dgc")) { *mime = "application/x-dgc-compressed"; return 1; } else if (!strcmp(dot, ".cct")) { *mime = "application/x-director"; return 1; } else if (!strcmp(dot, ".cxt")) { *mime = "application/x-director"; return 1; } else if (!strcmp(dot, ".w3d")) { *mime = "application/x-director"; return 1; } else if (!strcmp(dot, ".fgd")) { *mime = "application/x-director"; return 1; } else if (!strcmp(dot, ".swa")) { *mime = "application/x-director"; return 1; } else if (!strcmp(dot, ".wad")) { *mime = "application/x-doom"; return 1; } else if (!strcmp(dot, ".ncx")) { *mime = "application/x-dtbncx+xml"; return 1; } else if (!strcmp(dot, ".dtb")) { *mime = "application/x-dtbook+xml"; return 1; } else if (!strcmp(dot, ".res")) { *mime = "application/x-dtbresource+xml"; return 1; } else if (!strcmp(dot, ".evy")) { *mime = "application/x-envoy"; return 1; } else if (!strcmp(dot, ".eva")) { *mime = "application/x-eva"; return 1; } else if (!strcmp(dot, ".bdf")) { *mime = "application/x-font-bdf"; return 1; } else if (!strcmp(dot, ".gsf")) { *mime = "application/x-font-ghostscript"; return 1; } else if (!strcmp(dot, ".psf")) { *mime = "application/x-font-linux-psf"; return 1; } else if (!strcmp(dot, ".pcf")) { *mime = "application/x-font-pcf"; return 1; } else if (!strcmp(dot, ".snf")) { *mime = "application/x-font-snf"; return 1; } else if (!strcmp(dot, ".pfa")) { *mime = "application/x-font-type1"; return 1; } else if (!strcmp(dot, ".pfb")) { *mime = "application/x-font-type1"; return 1; } else if (!strcmp(dot, ".pfm")) { *mime = "application/x-font-type1"; return 1; } else if (!strcmp(dot, ".afm")) { *mime = "application/x-font-type1"; return 1; } else if (!strcmp(dot, ".arc")) { *mime = "application/x-freearc"; return 1; } else if (!strcmp(dot, ".gca")) { *mime = "application/x-gca-compressed"; return 1; } else if (!strcmp(dot, ".ulx")) { *mime = "application/x-glulx"; return 1; } else if (!strcmp(dot, ".gnumeric")) { *mime = "application/x-gnumeric"; return 1; } else if (!strcmp(dot, ".gramps")) { *mime = "application/x-gramps-xml"; return 1; } else if (!strcmp(dot, ".install")) { *mime = "application/x-install-instructions"; return 1; } else if (!strcmp(dot, ".mie")) { *mime = "application/x-mie"; return 1; } else if (!strcmp(dot, ".mobi")) { *mime = "application/x-mobipocket-ebook"; return 1; } else if (!strcmp(dot, ".application")) { *mime = "application/x-ms-application"; return 1; } else if (!strcmp(dot, ".lnk")) { *mime = "application/x-ms-shortcut"; return 1; } else if (!strcmp(dot, ".wmd")) { *mime = "application/x-ms-wmd"; return 1; } else if (!strcmp(dot, ".wmz")) { *mime = "application/x-msmetafile"; return 1; } else if (!strcmp(dot, ".xbap")) { *mime = "application/x-ms-xbap"; return 1; } else if (!strcmp(dot, ".mdb")) { *mime = "application/x-msaccess"; return 1; } else if (!strcmp(dot, ".obd")) { *mime = "application/x-msbinder"; return 1; } else if (!strcmp(dot, ".crd")) { *mime = "application/x-mscardfile"; return 1; } else if (!strcmp(dot, ".clp")) { *mime = "application/x-msclip"; return 1; } else if (!strcmp(dot, ".com")) { *mime = "application/x-msdownload"; return 1; } else if (!strcmp(dot, ".msi")) { *mime = "application/x-msdownload"; return 1; } else if (!strcmp(dot, ".mvb")) { *mime = "application/x-msmediaview"; return 1; } else if (!strcmp(dot, ".m13")) { *mime = "application/x-msmediaview"; return 1; } else if (!strcmp(dot, ".m14")) { *mime = "application/x-msmediaview"; return 1; } else if (!strcmp(dot, ".emz")) { *mime = "application/x-msmetafile"; return 1; } else if (!strcmp(dot, ".mny")) { *mime = "application/x-msmoney"; return 1; } else if (!strcmp(dot, ".trm")) { *mime = "application/x-msterminal"; return 1; } else if (!strcmp(dot, ".wri")) { *mime = "application/x-mswrite"; return 1; } else if (!strcmp(dot, ".nzb")) { *mime = "application/x-nzb"; return 1; } else if (!strcmp(dot, ".p7b")) { *mime = "application/x-pkcs7-certificates"; return 1; } else if (!strcmp(dot, ".spc")) { *mime = "application/x-pkcs7-certificates"; return 1; } else if (!strcmp(dot, ".p7r")) { *mime = "application/x-pkcs7-certreqresp"; return 1; } else if (!strcmp(dot, ".ris")) { *mime = "application/x-research-info-systems"; return 1; } else if (!strcmp(dot, ".xap")) { *mime = "application/x-silverlight-app"; return 1; } else if (!strcmp(dot, ".sitx")) { *mime = "application/x-stuffitx"; return 1; } else if (!strcmp(dot, ".srt")) { *mime = "application/x-subrip"; return 1; } else if (!strcmp(dot, ".t3")) { *mime = "application/x-t3vm-image"; return 1; } else if (!strcmp(dot, ".gam")) { *mime = "application/x-tads"; return 1; } else if (!strcmp(dot, ".tfm")) { *mime = "application/x-tex-tfm"; return 1; } else if (!strcmp(dot, ".der")) { *mime = "application/x-x509-ca-cert"; return 1; } else if (!strcmp(dot, ".crt")) { *mime = "application/x-x509-ca-cert"; return 1; } else if (!strcmp(dot, ".fig")) { *mime = "application/x-xfig"; return 1; } else if (!strcmp(dot, ".z1")) { *mime = "application/x-zmachine"; return 1; } else if (!strcmp(dot, ".z2")) { *mime = "application/x-zmachine"; return 1; } else if (!strcmp(dot, ".z3")) { *mime = "application/x-zmachine"; return 1; } else if (!strcmp(dot, ".z4")) { *mime = "application/x-zmachine"; return 1; } else if (!strcmp(dot, ".z5")) { *mime = "application/x-zmachine"; return 1; } else if (!strcmp(dot, ".z6")) { *mime = "application/x-zmachine"; return 1; } else if (!strcmp(dot, ".z7")) { *mime = "application/x-zmachine"; return 1; } else if (!strcmp(dot, ".z8")) { *mime = "application/x-zmachine"; return 1; } else if (!strcmp(dot, ".xaml")) { *mime = "application/xaml+xml"; return 1; } else if (!strcmp(dot, ".xenc")) { *mime = "application/xenc+xml"; return 1; } else if (!strcmp(dot, ".xpl")) { *mime = "application/xproc+xml"; return 1; } else if (!strcmp(dot, ".adp")) { *mime = "audio/adpcm"; return 1; } else if (!strcmp(dot, ".rmi")) { *mime = "audio/midi"; return 1; } else if (!strcmp(dot, ".mp4a")) { *mime = "audio/mp4"; return 1; } else if (!strcmp(dot, ".mp2a")) { *mime = "audio/mpeg"; return 1; } else if (!strcmp(dot, ".m2a")) { *mime = "audio/mpeg"; return 1; } else if (!strcmp(dot, ".m3a")) { *mime = "audio/mpeg"; return 1; } else if (!strcmp(dot, ".sil")) { *mime = "audio/silk"; return 1; } else if (!strcmp(dot, ".dra")) { *mime = "audio/vnd.dra"; return 1; } else if (!strcmp(dot, ".weba")) { *mime = "audio/webm"; return 1; } else if (!strcmp(dot, ".caf")) { *mime = "audio/x-caf"; return 1; } else if (!strcmp(dot, ".rmp")) { *mime = "audio/x-pn-realaudio-plugin"; return 1; } else if (!strcmp(dot, ".xm")) { *mime = "audio/xm"; return 1; } else if (!strcmp(dot, ".cdx")) { *mime = "chemical/x-cdx"; return 1; } else if (!strcmp(dot, ".cmdf")) { *mime = "chemical/x-cmdf"; return 1; } else if (!strcmp(dot, ".csml")) { *mime = "chemical/x-csml"; return 1; } else if (!strcmp(dot, ".wdp")) { *mime = "image/vnd.ms-photo"; return 1; } else if (!strcmp(dot, ".npx")) { *mime = "image/vnd.net-fpx"; return 1; } else if (!strcmp(dot, ".3ds")) { *mime = "image/x-3ds"; return 1; } else if (!strcmp(dot, ".cmx")) { *mime = "image/x-cmx"; return 1; } else if (!strcmp(dot, ".fh")) { *mime = "image/x-freehand"; return 1; } else if (!strcmp(dot, ".fhc")) { *mime = "image/x-freehand"; return 1; } else if (!strcmp(dot, ".fh4")) { *mime = "image/x-freehand"; return 1; } else if (!strcmp(dot, ".fh5")) { *mime = "image/x-freehand"; return 1; } else if (!strcmp(dot, ".fh7")) { *mime = "image/x-freehand"; return 1; } else if (!strcmp(dot, ".pic")) { *mime = "image/x-pict"; return 1; } else if (!strcmp(dot, ".pct")) { *mime = "image/x-pict"; return 1; } else if (!strcmp(dot, ".mime")) { *mime = "message/rfc822"; return 1; } else if (!strcmp(dot, ".x3dbz")) { *mime = "model/x3d+binary"; return 1; } else if (!strcmp(dot, ".x3dz")) { *mime = "model/x3d+xml"; return 1; } else if (!strcmp(dot, ".def")) { *mime = "text/plain"; } else if (!strcmp(dot, ".list")) { *mime = "text/plain"; } else if (!strcmp(dot, ".in")) { *mime = "text/plain"; } else if (!strcmp(dot, ".urls")) { *mime = "text/uri-list"; } else if (!strcmp(dot, ".dcurl")) { *mime = "text/vnd.curl.dcurl"; } else if (!strcmp(dot, ".mcurl")) { *mime = "text/vnd.curl.mcurl"; } else if (!strcmp(dot, ".scurl")) { *mime = "text/vnd.curl.scurl"; } else if (!strcmp(dot, ".s")) { *mime = "text/x-asm"; } else if (!strcmp(dot, ".asm")) { *mime = "text/x-asm"; } else if (!strcmp(dot, ".cpp")) { *mime = "text/x-c"; } else if (!strcmp(dot, ".dic")) { *mime = "text/x-c"; } else if (!strcmp(dot, ".f")) { *mime = "text/x-fortran"; } else if (!strcmp(dot, ".for")) { *mime = "text/x-fortran"; } else if (!strcmp(dot, ".f77")) { *mime = "text/x-fortran"; } else if (!strcmp(dot, ".java")) { *mime = "text/x-java-source"; } else if (!strcmp(dot, ".nfo")) { *mime = "text/x-nfo"; } else if (!strcmp(dot, ".opml")) { *mime = "text/x-opml"; } else if (!strcmp(dot, ".p")) { *mime = "text/x-pascal"; } else if (!strcmp(dot, ".pas")) { *mime = "text/x-pascal"; } else if (!strcmp(dot, ".sfv")) { *mime = "text/x-sfv"; } else if (!strcmp(dot, ".uu")) { *mime = "text/x-uuencode"; } else if (!strcmp(dot, ".vcs")) { *mime = "text/x-vcalendar"; } else if (!strcmp(dot, ".h261")) { *mime = "video/h261"; return 1; } else if (!strcmp(dot, ".h263")) { *mime = "video/h263"; return 1; } else if (!strcmp(dot, ".h264")) { *mime = "video/h264"; return 1; } else if (!strcmp(dot, ".jpgv")) { *mime = "video/jpeg"; return 1; } else if (!strcmp(dot, ".mp4v")) { *mime = "video/mp4"; return 1; } else if (!strcmp(dot, ".f4v")) { *mime = "video/x-f4v"; return 1; } else if (!strcmp(dot, ".fli")) { *mime = "video/x-fli"; return 1; } else if (!strcmp(dot, ".mks")) { *mime = "video/x-matroska"; return 1; } else if (!strcmp(dot, ".mng")) { *mime = "video/x-mng"; return 1; } else if (!strcmp(dot, ".vob")) { *mime = "video/x-ms-vob"; return 1; } else if (!strcmp(dot, "example")) { *mime = "text/example"; } else { warn("mimetype for %s not found\n", filename); *mime = "text/plain"; } if (hasTriedIndex == 1) { hasTriedIndex = 2; } else { hasTriedIndex = 0; } } return 0; }