# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Lines 7-299 of this file were generated with
# testing/libfuzzer/dictionary_generator.py using net_mime_sniffer_fuzzer
# binary and RFC 2045.
# The rest was created semimanually based on net/base/mime_sniffer.cc.

"all"
"BASE64"
"US-ASCII."
"LESS"
"being"
"text"
"supported"
"\"C\""
"TAB)"
"X.400"
"invalid"
"EQUAL"
"CRLF."
"CRLF,"
"A."
"data"
"its"
"to"
"before"
"TO"
"implementation"
"true"
"US-ASCII,"
"0"
"only"
"internal"
"TAB"
"(US-ASCII)"
"FORMATTING"
"(A"
"TILDE,"
"US-ASCII"
"(STD"
"\"F\")"
"V"
"string"
"get"
"EXPRESSLY"
"H"
"L"
"P"
"T"
"CONTENT-TYPE"
"CONTENT-TRANSFER-"
"not"
"X"
"D"
"BNF"
"ENCODING:"
"name"
"ON"
"d"
"success"
"MAY"
"\"=0D=0A\"."
"bytes"
"(RFC"
"default"
"ONLY"
"RFC."
"THE"
"section"
"\"0123456789ABCDEF\"."
"ASCII"
"*(CRLF"
"A"
"set"
"NO)"
"[RFC-821])"
"\"=0D=0A\""
"\"=0C\","
"M."
"some"
"direct"
"sign"
"TEXT,"
"\"A\""
"are"
"allowed."
"\"X-\")"
"MIME."
"\"X-\","
"event"
"THAN,"
"MUST"
"for"
"space"
"+"
"1*DIGIT"
"/"
"THAN"
"may"
"3"
"version"
"HISTORICAL"
"MIME,"
"probably"
"CRLF)"
"REQUIRES"
"corruption"
"IMPLEMENTORS:"
"available"
"be"
"C"
"G"
"7BIT\""
"This"
"NO"
"K"
"NJ"
"O"
"(EXCLAMATION"
"RFC"
"1)"
"[ATK],"
"base"
"STD"
"ISO-8859-1"
"W"
"application/octet-stream"
"\"=3D\"."
"["
"CA"
"by"
"AND"
"on"
"c"
"NOTE:"
"g"
"of"
"could"
"POINT"
"S"
"times"
"s"
"MANDATORY"
"NOT"
"UA"
"or"
"CR,"
"STRONGLY"
"TAB,"
"already"
"useful"
"*(SPACE"
"No"
"(MIME)"
"number"
"one"
"CHAR"
"RFC,"
"\"=0D\""
"because"
"[RFC-821]),"
"S."
"EBCDIC."
"[RFC-821]."
"(SMTP)"
"IMPORTANT:"
"\"=0A=0D\""
"use"
"from"
"USA"
"&"
"IETF"
"transfer"
"top"
"(US-ASCII"
"IANA"
"long"
"\"=0D\","
"few"
"2"
"E"
"expected"
"type"
">"
"\"D\""
"B"
"N."
"received"
"[RFC-1741],"
"completed"
"J"
"LF)"
"SMTP.)"
"but"
"back"
"warn"
"R"
"SIGN)"
"CRLF"
"EBCDIC"
"BETWEEN"
"CR"
"line"
"Z"
"with"
"unnecessarily"
"must"
"count"
"(HT)"
"GREATER"
"16"
"this"
"was"
"work"
"value"
"ISO-8859-1,"
"while"
"following"
"IANA.>"
"called"
"(US-"
"and"
"(PEM)"
"type."
"UNIX"
"RELATIONSHIP"
"ENCODING"
"\"E\""
"attribute"
"is"
"allowed"
"thus"
"lost."
"Virtual"
"an"
"high"
"as"
"MIME"
"at"
"have"
"in"
"need"
"any"
"contents"
"native"
"LF"
"binary"
"F"
"\"X-\""
"7BIT"
"TX"
"no"
")"
"FORBIDDEN"
"2(DIGIT"
"format"
"when"
"length"
"mechanism"
"j"
"RESTRICTIONS:"
"application"
"that"
"valid"
"which"
"="
"LWSP"
"profile"
"ISO"
"begin"
"used"
"multiple"
"SPACE"
"I"
"SMTP"
"after"
"M"
"\"B\""
"Q"
"U"
"[X400]"
"Y"
"such"
"The"
"N"
"]"
"\"=0A\","
"a"
"short"
"WARNING"
"ALWAYS"
"SPACE,"
"NOTE"
"As"
"does"
"<A"
"the"
"avoid"
"If"
"application/xhtml+xml"
"<html xmlns=\"http://www.w3.org/1999/xhtml\""
"application/atom+xml"
"application/rss+xml"
"<rss"
"<feed"
"\xFE\xFF"
"\xFF\xFE"
"\xEF\xBB\xBF"
"unknown/unknown"
"application/unknown"
"*/*"
"application/x-chrome-extension"
"Cr24\x02\x00\x00\x00"
"ftp"
"content"
"application/msword"
"application/vnd.ms-excel"
"application/vnd.ms-powerpoint"
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
"application/vnd.openxmlformats-officedocument.presentationml.presentation"
"application/vnd.ms-excel.sheet.macroenabled.12"
"application/vnd.ms-powerpoint.presentation.macroenabled.12"
"application/mspowerpoint"
"application/msexcel"
"application/vnd.ms-word"
"application/vnd.ms-word.document.12"
"application/vnd.msword"
"text/html"
"text/xml"
"application/xml"
"CFB"
"\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1"
"PK\x03\x04"
"OOXML"
"image/x-xbitmap"
"#define"
"image/x-icon"
"\x00\x00\x01\x00"
"image/svg+xml"
"<?xml_version="
"audio/wav"
"RIFF....WAVEfmt "
"video/avi"
"RIFF....AVI LIST"
"audio/ogg"
"OggS"
"video/mpeg"
"\x00\x00\x01\xB0", "\xFF\xFF\xFF\xF0"
"audio/mpeg"
"\xFF\xE0", "\xFF\xE0"
"....ftyp3g"
"video/3gpp"
"....ftypavcl"
"video/mp4"
"....ftyp"
"video/quicktime"
"....moov"
"application/x-shockwave-flash"
"CWS"
"FWS"
"video/x-flv"
"FLV"
"audio/x-flac"
"fLaC"
"image/x-canon-cr2"
"II\x2a\x00\x10\x00\x00\x00CR"
"image/x-canon-crw"
"II\x1a\x00\x00\x00HEAPCCDR"
"image/x-minolta-mrw"
"\x00MRM"
"MMOR"
"IIRO"
"image/x-olympus-orf"
"IIRS"
"image/x-fuji-raf"
"FUJIFILMCCD-RAW"
"image/x-panasonic-raw"
"IIU\x00\x08\x00\x00\x00"
"IIU\x00\x18\x00\x00\x00"
"image/x-phaseone-raw"
"MMMMRaw"
"image/x-x3f"
"FOVb"
".doc"
".xls"
".docx"
".ppt"
".pptx"
".xlsx"
"<!DOCTYPE html>"
"<script>"
"<html>"
"<!-->"
"<head>"
"<iframe>"
"<h1>"
"<div>"
"<font>"
"<table>"
"<a>"
"<style>"
"<title>"
"<b>"
"<body>"
"<br>"
"<p>"
"<?xml"
"<!DOCTYPE"
"application/pdf"
"%PDF-"
"application/postscript"
"%!PS-Adobe-"
"image/gif"
"GIF87a"
"GIF89a"
"image/png"
"\x89" "PNG\x0D\x0A\x1A\x0A"
"image/jpeg"
"\xFF\xD8\xFF"
"image/bmp"
"BM"
"text/plain"
"#!"
"%!"
"application/x-gzip"
"\x1F\x8B\x08"
"audio/x-pn-realaudio"
"\x2E\x52\x4D\x46"
"video/x-ms-asf"
"image/tiff"
"I I"
"II*"
"MM\x00*"
"ID3"
"image/webp"
"RIFF....WEBPVP8 "
"video/webm"
"\x1A\x45\xDF\xA3"
"application/zip"
"application/x-rar-compressed"
"Rar!\x1A\x07\x00"
"application/x-msmetafile"
"\xD7\xCD\xC6\x9A"
"MZ"
