###############################################################################
#
#  MIME-TYPES and the extensions that represent them
#
#  This file is part of the "mime-support" package.  Please send email (not a
#  bug report) to mime-support@packages.debian.org if you would like new types
#  and/or extensions to be added.
#
#  Note: Compression schemes like "gzip", "bzip", and "compress" are not
#  actually "mime-types".  They are "encodings" and hence must _not_ have
#  entries in this file to map their extensions.  The "mime-type" of an
#  encoded file refers to the type of data that has been encoded, not the
#  type of the encoding.
#
###############################################################################


application/activemessage
application/andrew-inset
application/applefile
application/atomicmail
application/cu-seeme				csm cu
application/dca-rft
application/dec-dx
application/dsptype				tsp
application/futuresplash			spl
application/ghostview
application/mac-binhex40			hqx
application/macwriteii
application/msaccess				mdb
application/msword				doc dot
application/news-message-id
application/news-transmission
application/octet-stream			bin
application/oda					oda
application/pdf					pdf
application/pgp-signature			pgp
application/postscript				ps ai eps
application/remote-printing
application/rtf					rtf
application/slate
application/vnd.ms-excel			xls xlb
application/vnd.ms-powerpoint			ppt pps pot
application/vnd.wap.wmlc			wmlc
application/vnd.wap.wmlscriptc			wmlsc
application/wita
application/wordperfect5.1			wp5
application/zip					zip
application/x-123				wk
application/x-bcpio				bcpio
application/x-chess-pgn				pgn
application/x-core
application/x-cpio				cpio
application/x-csh
application/x-debian-package			deb
application/x-director				dcr dir dxr
application/x-dms				dms
application/x-dvi				dvi
application/x-executable
application/x-font				pfa pfb gsf pcf pcf.Z
application/x-gnumeric				gnumeric
application/x-gtar				gtar tgz
application/x-hdf				hdf
application/x-httpd-php				phtml pht php
application/x-httpd-php3			php3
application/x-httpd-php3-source			phps
application/x-httpd-php3-preprocessed 		php3p
application/x-httpd-php4			php4
application/x-ica				ica
application/x-java				class
application/x-javascript			js
application/x-kdelnk
application/x-kchart				chrt
application/x-killustrator			kil
application/x-kpresenter			kpr kpt
application/x-kspread				ksp
application/x-kword				kwd kwt
application/x-latex				latex
application/x-lha				lha
application/x-lzh				lzh
application/x-lzx				lzx
application/x-maker				frm maker frame fm fb book fbdoc
application/x-mif				mif
application/x-msdos-program			com exe bat dll
application/x-msi				msi
application/x-netcdf				nc cdf
application/x-ns-proxy-autoconfig		pac
application/x-object				o
application/x-ogg				ogg
application/x-oz-application			oza
application/x-perl				pl pm
application/x-redhat-package-manager		rpm
application/x-rx
application/x-sh
application/x-shar				shar
application/x-shellscript
application/x-shockwave-flash			swf swfl
application/x-stuffit				sit
application/x-sv4cpio				sv4cpio
application/x-sv4crc				sv4crc
application/x-tar				tar
application/x-tcl
application/x-tex
application/x-tex-gf				gf
application/x-tex-pk				pk PK
application/x-texinfo				texinfo texi
application/x-trash				~ % bak old sik
application/x-troff				t tr roff
application/x-troff-man				man
application/x-troff-me				me
application/x-troff-ms				ms
application/x-ustar				ustar
application/x-wais-source			src
application/x-wingz				wz

audio/basic					au snd
audio/midi					mid midi
audio/mpeg					mpga mpega mp2 mp3
audio/mpegurl					m3u
audio/prs.sid					sid
audio/x-aiff					aif aiff aifc
audio/x-gsm					gsm
audio/x-pn-realaudio				ra rm ram
audio/x-wav					wav

image/bitmap					bmp
image/gif					gif
image/ief					ief
image/jpeg					jpeg jpg jpe
image/pcx					pcx
image/png					png
image/tiff					tiff tif
image/vnd.wap.wbmp				wbmp
image/x-cmu-raster				ras
image/x-coreldraw				cdr
image/x-coreldrawpattern			pat
image/x-coreldrawtemplate			cdt
image/x-corelphotopaint				cpt
image/x-jng					jng
image/x-portable-anymap				pnm
image/x-portable-bitmap				pbm
image/x-portable-graymap			pgm
image/x-portable-pixmap				ppm
image/x-rgb					rgb
image/x-xbitmap					xbm
image/x-xpixmap					xpm
image/x-xwindowdump				xwd

inode/chardevice
inode/blockdevice
inode/directory-locked
inode/directory
inode/fifo
inode/socket

message/external-body
message/news
message/partial
message/rfc822

multipart/alternative
multipart/appledouble
multipart/digest
multipart/mixed
multipart/parallel

text/comma-separated-values			csv
text/css					css
text/english
text/html					htm html xhtml
text/mathml					mml
text/plain					txt text diff
text/richtext					rtx
text/tab-separated-values			tsv
text/vnd.wap.wml				wml
text/vnd.wap.wmlscript				wmls
text/xml					xml
text/x-c++hdr					h++ hpp hxx hh
text/x-c++src					c++ cpp cxx cc
text/x-chdr					h
text/x-crontab
text/x-csh					csh
text/x-csrc					c
text/x-java					java
text/x-makefile
text/x-moc					moc
text/x-pascal					p pas
text/x-setext					etx
text/x-sh					sh
text/x-tcl					tcl tk
text/x-tex					tex ltx sty cls
text/x-vcalendar				vcs
text/x-vcard					vcf

video/dl					dl
video/fli					fli
video/gl					gl
video/mpeg					mpeg mpg mpe
video/quicktime					qt mov
video/x-mng					mng
video/x-ms-asf					asf asx
video/x-msvideo					avi
video/x-sgi-movie				movie

x-world/x-vrml					vrm vrml wrl
