;      !"#$%&'()*+,-./0123456789:SafedA token in a parsed UTF8 stream is either a valid Unicode character or an invalid input character. ;Is c of the form 0xxxxxxx?<Is c of the form 10xxxxxx?=Is c of the form 110xxxxx?>Is c of the form 1110xxxx??Is c of the form 11110xxx?Parse a UTF8 stream into tokens. Rejects overlong forms and code points above 0x10ffff. Does not check validity of individual unicode code points. ;<=>?;<=>?SafeA filter is basically a function from strings to strings. Ideally a filter is lazy, so that the input string is consumed incrementally; however, this is not strictly necessary. A filter may also return another result in addition to a string.The identity filter.dRun a filter by reading from one handle and writing to another. The handles are set to binary mode.Run a filter by reading from a file and writing to another file. We do not assume that the two files are necessarily distinct, so special care is taken not to overwrite the output file until after the input file has been read.CRun a filter on a number of files, overwriting each file in place. The top-level parser for Superdoc markup and ASCII armor, expressed as a filter. In addition to producing HTML output, this filter also returns the set of all image files that were linked to. 5Top-level parser for Superdoc markup and ASCII armor.top ::= (other | tag | uni | char)*. QLift a parser returning a string to a parser returning a string and an empty set. Like  A, but only permit brackets "[" and "]" to occur in nested pairs.nested ::= (other | tag | uni |  bracketed |  underscore)*. Parse bracketed text. bracketed ::= "[" nested "]".Parse a single underscore '_'. underscore ::= "_"..Parse any single character except '[' and ']'. nonbracket$ ::= any character besides '[', ']'.XParse any sequence of non-special characters: anything but '[', 'u', 'U', '=', and ']'.other6 ::= (any character besides '[', 'u', 'U', '=', ']')+.Parse any one character.char ::= any character. Parse a tag.tag ::= "[" keyword body "]".Parse a keyword.keyword` ::= "sup" | "super" | "sub" | "exp" | "bold" | "center" | "nobr" | "image" | "uni" | "literal".#Parse an armored Unicode character.#Parse an upper-case Unicode letter. uni_upper ::= "UNI_x_" digit+ "_x_"."Parse a lower-case Unicode letter. uni_lower ::= "uni_x_" digit+ "_x_". Parse a Unicode operator symbol. uni_symbol ::= "==|"  symbol_digit+ "|==".-Parse a symbol encoding a decimal digit. See  for the encoding used.&Parse any text with balanced brackets.literal ::= ( nonbracket | bracketed_literal)*.0Parse any bracketed text with balanced brackets.bracketed_literal ::= "[" literal "]".7Parse a tag's body. What to do depends on the tag name.body ::= nested (for keyword- = sup, super, sub, exp, bold, center, nobr),body ::= filename (for keyword = image),body ::= digit+ (for keyword = uni).body ::= literal (for keyword = literal).zConvert a tokenized Unicode stream into HTML entities. Non-ASCII characters are represented as HTML entities of the form &#nnnn;:. Any invalid characters are simply copied to the output.3Convert a tokenized Unicode stream to ASCII armor. 8The armor is designed to preserve lexical validity: thus, the armored version of a valid Haskell lower-case identifier, upper-case identifier, or operator is again a valid identifier or operator of the same kind. This makes it possible to use armored Unicode in source code as well as documentation comments.`The armoring is further designed to use only symbols that will not confuse GHC or Haddock. See  #ARMOR ASCII armor" for a description of the format.?Encode a string of decimal digits as a string of symbols. See  #ARMOR ASCII armor for the specific mapping used.    NonebThis parameter specifies what to do when the documentation links to an image that does not exist. This is the default setting. Cabal will fail with an error message if the documentation links to an image that does not exist or cannot be found.!EIgnore missing image files. Superdoc will still generate HTML image tags, but will not fail if a corresponding image file does not exist. This setting may be useful for testing, or to build documentation when the image files are incomplete or missing. It is not recommended to use this setting for production purposes."\This parameter specifies where to find image files that are linked to in the documentation.#nCopy image files from the specified source directory, which is relative to the package root. The default is "images". Superdoc will copy the required images to their appropriate location within the generated HTML documentation. The image files should also be declared as extra-source-files in the .cabal file.$Assume the images are already present in the directory where the Haddock documentation is being generated. This is useful if the images have been declared as extra-html-files in the .cabal file. They will then have been copied to their rightful location by Cabal. Superdoc will check that the required images are present.%A data structure to hold Superdoc's parameters. Additional parameters may be added in the future, so to ensure forward compatibility, packages should always specify parameters by modifying *, for example like this: 6let params = defaultSuperdocArgs { imageSource = ... }'Where to look for image files.(%What to do about missing image files.)Bootstrapping mode. Required to generate Superdoc's own documentation, because at that point, Superdoc is typically not yet installed. Other packages using Superdoc should not set this flag.* The default Superdoc parameters.+{A hook for Haddock. This simply adds a command line option to the subordinate Haddock process, instructing it to use the superdoc-armor_ preprocessor. Its purpose is to replace UTF8-encoded Unicode characters by their ASCII armor.,A hook to run after Haddock completes. This resolves Superdoc markup and ASCII armor in all generated HTML files. It also copies all of the linked images to the HTML directory (depending on the ' and (+ parameters). Finally, it checks for the "--hyperlink-source'" option, and if necessary, calls the /K hook as well (because it is not run from inside Cabal in this situation).]The first argument hold the Superdoc parameters, and the remaining arguments are as for any @ hook.-Do the actual work of the ,4 hook, given a path to the documentation directory.. Perform the action described by " and _, for the given set of images. The last argument is the path for the documentation directory./A hook to run after HsColour completes. This goes through the files generated by HsColour and replaces UTF8 characters by their corresponding HTML escapes.0Do the actual work of the ,4 hook, given a path to the documentation directory. !"#$%&'()*+,-./0 !"#$%&'()*+,-./0%&'()*"#$ !+,-./0  !"#$%&'()*+,-./0None7AThe main function for a Cabal setup script. Use this instead of A in your Setup.hs? to enable the Superdoc documentation features. Typical usage: 0import Distribution.Superdoc main = superdocMainSee  #HOWTOHow to use this package for more information.8Like 7/, but also accept parameters in the form of a % argument. Typical use: pimport Distribution.Superdoc main = superdocMainWithArgs defaultSuperdocArgs { imageSource = CopyFrom "imgdir" }9A predefined set of B. for package maintainers who need to use the C function from Distribution.Simple". The following is equivalent to 7: aimport Distribution.Simple import Distribution.Superdoc main = defaultMainWithHooks superdocHooks:Like 9/, but also accept parameters in the form of a % argument. Typical use: import Distribution.Simple import Distribution.Superdoc main = defaultMainWithHooks superdocHooksArgs { imageSource = CopyFrom "imgdir" }789: !"#$%&'()*789:7%&'()*"#$ !89:789:D      !"#$%&'()**+,-./0123456789:;<=>?@ABCDEFDGHDEIDGJK'superdoc-0.1.2.3-I3rAm5m0OjjBEmikEvF32XDistribution.Superdoc.UTF8Distribution.Superdoc.MarkupDistribution.Superdoc.HooksDistribution.SuperdocTokenUnicodeInvalid parse_utf8Filter filter_idfilter_handles filter_file filter_filesmarkup markup_toplift markup_nestedmarkup_bracketedmarkup_underscoremarkup_nonbracket markup_other markup_char markup_tagmarkup_keyword markup_unimarkup_uni_uppermarkup_uni_lowermarkup_uni_symbolmarkup_symbol_digitmarkup_literalmarkup_bracketed_literal markup_bodyto_htmlto_armorencode ImageMissing FailOnMissing IgnoreMissing ImageSourceCopyFromExtraHtmlFiles SuperdocArgs imageSource imageMissing bootstrapdefaultSuperdocArgs haddockhook posthaddockdo_posthaddock handle_images posthscolourdo_posthscolour$fShowImageSource$fEqImageSource$fShowImageMissing$fEqImageMissing$fShowSuperdocArgs$fEqSuperdocArgs superdocMainsuperdocMainArgs superdocHookssuperdocHooksArgstok0tok1tok2tok3tok4Cabal-1.24.0.0Distribution.Simple.UserHooks postHaddockDistribution.Simple defaultMain UserHooksdefaultMainWithHooks