h*$ʄ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                        1.7$(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred  Safe-Inferred (c) 2023, Henning Thielemann BSD-stylehaskell@henning-thielemann.de experimentalportable Safe-Inferred V  444 4 4 432(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-InferredH(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred "HPDF"A monad where paths can be created0HPDFA reference to a PDF objectHPDFA Referenced objects1HPDFA PDF rectangleHPDFA PDFDictionaryHPDF A PDFArrayHPDFA PDFName objectHPDF7 bit encoded ASCII stringHPDF7 bit encoded ASCII stringHPDF,A list of glyph to be used in text operatorsHPDF,A list of glyph to be used in text operators5HPDFA PDFString containing a strict bytestring (serialied as UTF16BE)6HPDFA real number in a PDF documentHPDFA length in a PDF documentHPDFAn integer in a PDF documentHPDFAnonymous PDF objectHPDF PDF ObjectsHPDF'Create a PDF string from an Haskell oneHPDFAm empty dictionaryHPDFGet the reference value/01234567(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred!STU:;C<=>?@ABDEFGHIJKLMNOPQR3489V!STU:;C<=>?@ABDEFGHIJKLMNOPQR3489V(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred9(c) Daan Leijen 2002 BSD-stylemisc@NOSPAMalpheccar.org provisionalportable Safe-InferredrHPDFA map of integers to values a. The total size of subtrees is tracked by each node. It is needed for the PDF TreeHPDFThe key function needed to export a Tree of PDF objects into the format defined by the PDF specHPDFO(n) . Number of elements in the map.HPDF O(min(n,W))'. Lookup the value at a key in the map.HPDF O(n*min(n,W)).. Create a map from a list of key/value pairs.HPDF Parent refHPDF Node actionHPDF Leaf actionHPDFPDFTreeHPDF+Final action and reference of the root node (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-InferredbbHPDF=A transformation matrix. An affine transformation a b c d e f a b 0 c d 0 e f 1 eHPDFAngle fHPDFAngle in degreesgHPDFAngle in radiansiHPDFDot product of two points 'dot (x :+ y) (a :+ b) == x * a + y * b' 'dot z w == magnitude z * magnitude w * cos (phase z - phase w)'kHPDF(projects the first point onto the secondlHPDF projects a point onto the x-axismHPDF projects a point onto the y-axisnHPDFIdentity matrixoHPDF"Specifies a matrix as three pointspHPDFApplies a matrix to a pointqHPDFRotation matrixrHPDFTranslation matrix 'transform (translate z) w == z + w' tHPDFScaling matrix oHPDF X componentHPDF Y componentHPDFtranslation componentqHPDFRotation angletHPDFHorizontal scalingHPDFVertical scalingefgdbchijklmopnqrtsefgdbchijklmopnqrts(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred<yHPDFAction of going to an URL{yz{yz(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred!HPDFA PDF Color spaceHPDF A PDF PatternHPDFA PDF ResourceHPDFAdd a new G State to the G State dictionary for the given resourceHPDF(Convert the resource to a PDf dictionaryHPDFGState dictionaryHPDFGState name must be uniqueHPDFG State contentHPDF Old resourceHPDF New resource(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred69SU:/8SU:/8(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred9HPDFGlyph name to unicodeHPDF/Glyph name to glyph code if not standard coding (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred9 S S (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred9 bSS(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred )*6)-4HPDF A shadingHPDFViewer preferencesHPDFTo hide the toolbarHPDFTo hide the menubarHPDFTo hide the windowHPDFFit window to screenHPDFCenter window on screenHPDFDisplay the docu,ent titleHPDF.Display mode when exiting the full screen modeHPDFDocument page layoutHPDFDocument page modeHPDFDocument metadataHPDFTransition styleHPDF The PDF MonadHPDFDirection of a transitionHPDF Wipe onlyHPDF Wipe onlyHPDF Glitter onlyHPDFDirection of a transitionHPDFDimension of a transitionHPDFA PDF TransitionHPDF PDF PagesHPDFList of all pagesHPDFA PDF Page objectHPDF The PDF stateHPDFSupply of unique identifiersHPDFDictionary of PDF objectsHPDFPagesHPDF Draw commandsHPDFReference to the PDF catalogHPDFDefault page sizeHPDFDocument infosHPDF Root outlineHPDF5Reference to the current page used to create outlinesHPDFWidth and height of xobjectsHPDFUsed to improve the outline APIHPDFThe PDF CatalogHPDF An XObjectHPDF A PDF Xobject which can be drawnHPDFA PDF stream objectHPDFThe drawing monadHPDF A PDF colorHPDFAn empty drawingHPDFis member of the dictionaryHPDFGet a new resource nameHPDFExecute the drawing commands to get a new state and an uncompressed PDF streamHPDFDraw in a new drawing context without perturbing the previous context that is restored after the draw HPDF)Set a resource in the resource dictionaryHPDFGet the bounds for an xobjectHPDFGet the bounds for an xobjectHPDFInterpolation functionHPDF=Apply a transformation matrix to the current coordinate frameHPDF Dict nameHPDFResource valueHPDFOld cache valueHPDFNew cache valueHPDF ReferenceHPDF Referencebcn(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred0}HPDFSet page annotationsHPDFSet page resourceHPDF%Create a new empty content for a pageHPDFReturns a new unique identifierHPDFAdd an object to the PDF object dictionary and return a PDF reference HPDF)Update a referenced object with a new oneHPDF#Record the page in the page catalogHPDFFind a page in the catalogHPDFAdd a node PDFTree objectHPDF'Add a page to the PDG object dictionaryHPDF*Add all pages to the PDF object dictionaryHPDFEmpty page catalogHPDF"Reference to the last created pageHPDFRecord bound of an xobjectHPDFCreate an embedded fontHPDFCreate a type 1 font HPDFList of drawing commandsHPDFReference to the drawingHPDFReference to the initial objectHPDF New valueHPDFReference to the pageHPDF Page contentHPDFPages n the documentsHPDFReference to the pageHPDFPages in the documentHPDFPage content if foundHPDF Parent nodeHPDF Left treeHPDF Right treeHPDFPDF reference to the new node pointing to the left and right onesHPDFPage parent if anyHPDFPage referenceHPDF Page dataHPDFReference to a PDFPages objectsHPDF ReferenceHPDFWidthHPDFHeight(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred3HPDF Tiling typeHPDFCreate a colored tiling patternHPDF"Create an uncolored tiling patternHPDFCreate a PDF tiling patternHPDFSet the fill patternHPDFSet the stroke patternHPDFSet the fill patternHPDFSet the stroke patternHPDFLeftHPDFBottomHPDFRightHPDFTopHPDFHorizontal stepHPDF Vertical stepHPDFDrawing commandsHPDFLeftHPDFBottomHPDFRightHPDFTopHPDFHorizontal stepHPDF Vertical stepHPDFDrawing commandsHPDFLeftHPDFBottomHPDFRightHPDFTopHPDFHorizontal stepHPDF Vertical stepHPDFDrawing commands   (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred7lHPDF5True if we are adding the first outline to this levelHPDFStart a new outline level HPDF,We remember there are outlines at this levelHPDFClose an outline levelHPDF>Create a new outline section pointing to the last created pageHPDF5Create a new outline section pointing to a given pageHPDF Outline titleHPDF Outline colorHPDF Outline styleHPDF Outline titleHPDF Outline colorHPDF Outline styleHPDFPage referenceHPDF Outline titleHPDF Outline colorHPDF Outline styleHPDF Outline titleHPDF Outline colorHPDF Outline styleHPDF Outline titleHPDF Outline colorHPDF Outline style(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred;HPDF A raw imageHPDFA Jpeg PDF objectHPDFFile analyzer monadHPDFA Jpeg file HPDFRead a JPEG file and return an abstract description of its content or an error The read is not lazy. The whole image will be loaded into memoryHPDFGet the JPEG boundsHPDFUse an abstract description of a Jpeg to return a PDFReference that can be used to manipulate the Jpeg in the context of the PDF documentHPDFReads a data URL string, and returns a JpegFile. The incoming string must be a correctly formatted data URL for a JPEG. You can convert jpeg files to data URLs at the following web site: http://dataurl.net/#dataurlmakerHPDFWidthHPDFHeightHPDF InterpolationHPDFDecompression filter to be sued by the PDF reader to render the pictureHPDF RGB pixelsHPDFWidthHPDFHeightHPDF InterpolationHPDF5ARGB pixels (A component not used y the PDF document)(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred<HPDF+Get the border shqpe depending on the styleHPDFCreate a new annotation object77(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred>HPDF Set alpha value for transparencyHPDF Set alpha value for transparencyHPDF Init the PDF color space to RGB.HPDFSelect the filling colorHPDFSelect the drawing colorHPDF Filling colorHPDF Drawing color(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-InferredCHPDFLine join stylesHPDFLine cap stylesHPDF Set pen widthHPDF Set pen widthHPDF Set line capHPDF Set line joinHPDFSet the dash patternHPDFNo dash patternHPDFBegin a new path at a positionHPDFClose current path HPDFAppend a cubic Bezier curve to the current path. The curve extends from the current point to the point (x3 , y3), using (x1 , y1 ) and (x2, y2) as the Bezier control pointsHPDF2Move pen to a given point without drawing anythingHPDF=Draw a line from current point to the one specified by linetoHPDFApproximate a circular arc by one cubic bezier curve. larger arc angles mean larger distortionsHPDFAdd a polygon to current pathHPDFDraw current pathHPDFFill current pathHPDFFill current pathHPDFSet clipping pathHPDFSet clipping pathHPDF%Fill current path using even odd ruleHPDF%Fill current path using even odd ruleHPDF Extent of arcHPDF Center of arc55 (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred)*E<HPDF#Fill clipping region with a shadingHPDFShadingHPDFShape to paint(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-InferredHHPDF!No information for the document HPDFCreate a PDF XObjectHPDFCreate a PDF XObjectHPDF Add a new page to a PDF documentHPDFDraw on a given pageHPDFLeftHPDFBottomHPDFRightHPDFTopHPDFDrawing commandsHPDF Bounding BoxHPDFDrawing commandsHPDF#Page size or default document's oneHPDFReference to the new pageHPDF#Page size or default document's oneHPDFReference to the new pageHPDF#Page size or default document's oneHPDFOptional durationHPDFOptional transitionHPDFReference to the new pageHPDFPageHPDFDrawing commands(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred9LHPDFRendering mode for text displayHPDF+Unscaled unit (not scaled by the font size)HPDFThe text monad HPDFSelect a font to useHPDFDraw a text in the draw monadHPDF#Set position for the text beginningHPDFDisplay glyphsHPDF Display textHPDF3Start a new line (leading value must have been set)HPDFSet leading valueHPDFSet the additional char spaceHPDFSet the additional word spaceHPDFSet scaling factor for textHPDFChoose the text rendering modeHPDFSet the rise valueHPDF"Set the text transformation matrixHPDF4Utility function to quickly display one line of text-- '(c) 2023, haskell@henning-thielemann.de BSD-stylehaskell@henning-thielemann.de experimentalportable Safe-InferredOHPDFIf the Draw Monad paints overlapping geometric primitives or text, the result will certainly not be what you want. Text ignores soft masks. Each primitive other than text is painted with the soft mask over the previous geometric objects. It is very likely, that in this case you want to generate a transparency group for your drawing.HPDF Bounding boxHPDFContent of the soft maskHPDF Bounding boxHPDFPaintingHPDF Soft maskHPDFShape to paint (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-InferredW|HPDFA box that can be displayedHPDF Draw a boxHPDFA box is an object with dimensions and used in the typesetting processHPDF Box widthHPDF Box heightHPDF,Distance between box bottom and box baselineHPDF)Distance between box top and box baselineHPDFStyle of text (sentences and words). Minimum definition textStyle HPDFModify the look of a sentence (sequence of words using the same style on a line)HPDF2A style may contain data changed from word to wordHPDF&A style may change the height of words Default implementation styleHeight = getHeight . textFont . textStyleHPDF'A style may change the descent of lines Default implementation styleDescent = getDescent . textFont . textStyleHPDFUsed to compare two style without taking into account the style stateHPDFWhat kind of style drawing function is required for a word when word styling is enabled HPDFMust style a wordHPDFMust style a glueHPDF Text style used by PDF operatorsHPDFScaling factor for normal space size (scale also the dilation and compression factors)HPDF"Scale the dilation factor of gluesHPDF%Scale the compression factor of gluesHPDF.Dimension of a box : width, height and descentHPDFA box containing a Draw valueHPDF8Make a drawing box. A box object containing a Draw valueHPDFThe boxHPDFHorizontal positionHPDF3Vertical position (top of the box and NOT baseline)HPDFBoxHPDFWidth of the boxHPDF The styleHPDFFunction receiving the bounding rectangle and the command for drawing the sentenceHPDF The styleHPDFWord styling function#(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-InferredXHPDFSplit a sentence into words keeping the space but shortening them to 1 space!(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred(d@!HPDFBreaking algorithm settings HPDFDefault value 100HPDFDefault value 100HPDFDefault value 50HPDFDefault value 1000HPDFDefault value 1000HPDFDefault value 10HPDFDefault value falseHPDFA letter which can be anything. Sizes are widths and for glue the dilation and compression factors For the generic letter, height and descent are also providedHPDFAny box as a letterHPDFCurrent word (created from letter) is converted to a PDFStringHPDFhorizontalPostProcessHPDF!Change the style of the box HPDFA line of hboxes with an adjustement ratio required to display the text (generate the PDF command to increase space size) data HLine = HLine !PDFFloat ![HBox] deriving(Show)HPDFCreate an HBox HPDF2Draw a line of words and glue using the word styleHPDF9Draw a line of words, glue, or any box without word styleHPDF1Draw only words and glues using PDF text commandsHPDFDraw the additional displacement required for a space in a text due to the dilaton of the glueHPDFAdjustement ratioHPDF Current wordHPDFList of lettersHPDFList of words or sentencesHPDF4adjust ratio, hyphen style, list of letters or boxesHPDF List of linesHPDFAdjustement ratioHPDFStyleHPDFList of glyphsHPDFWidthHPDF;Height of the total line first time this function is calledHPDFEnd the current paragraph with or without using the same styleHPDF9Run a paragraph. Style changes are local to the paragraphHPDF1Get the current writing system for the paragraph HPDFGet the current paragraph styleHPDF"Change the current paragraph styleHPDFAdd a letter to the paragraphHPDFAdd a new paragraph to the textHPDFAdd a null char nullChar :: Para () nullChar = Para . tell $ [nullLetter]Add a text lineHPDFadd a kern (space that can be dilated or compressed and on which no line breaking can occur)HPDF9Draw a text box with relative position. Useful for labelsHPDFWidthHPDFHeightHPDFDescentHPDF4Size of glue (width or height depending on the mode)HPDFDilatation factorHPDFCompression factorHPDF5Size of glue (width or height depending on the mode) HPDFDilatation factor HPDFCompression factor HPDF Text areaHPDFdefault vertical styleHPDFDefault horizontal styleHPDFTypesetting monadHPDF Draw monadHPDFdefault vertical styleHPDFDefault horizontal styleHPDFTypesetting monadHPDF List of boxesHPDFTrue if we use the same style to end a paragraph. false for an invisible styleHPDF!Centered, left or fully justifiedHPDFxHPDFyHPDF width limitHPDF height limitHPDFdefault vertical styleHPDFDefault horizontal styleHPDFTypesetting monad(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportable Safe-Inferred}HPDFThe PDFTrailerHPDFCreate a new PDF document and return a first page The page is using the document size by defaultHPDF?@ABCDEFGHIJKLMNOPQRSTUVVWWXYZ[\]^_`abcdefghijklmnopqrsttuuvwxyz{|}~                                                                               !!!!!!!!!!!!!""""""""""""""""""""""""$$%%%%*UX          !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""""""""####################$$$$$HPDF-1.7-CoAsJP3XpUUGgQ8ojYDAsOGraphics.PDF.ExpressionGraphics.PDF.Fonts.Font Graphics.PDFGraphics.PDF.Fonts.FontTypesGraphics.PDF.AnnotationGraphics.PDF.CoordinatesGraphics.PDF.ActionGraphics.PDF.PatternGraphics.PDF.Fonts.Type1Graphics.PDF.Fonts.StandardFontGraphics.PDF.TransparencyGraphics.PDF.ShadingGraphics.PDF.NavigationGraphics.PDF.DocumentGraphics.PDF.ColorsGraphics.PDF.ImageGraphics.PDF.ShapesGraphics.PDF.TextGraphics.PDF.Typesetting&Graphics.PDF.Typesetting.WritingSystemHPDFGraphics.PDF.Data.TrieGraphics.PDF.Documentation Graphics.PDF.LowLevel.SerializerGraphics.PDF.LowLevel.TypesGraphics.PDF.Fonts.EncodingGraphics.PDF.Data.PDFTreeGraphics.PDF.ResourcesGraphics.PDF.Fonts.AFMParserGraphics.PDF.DrawGraphics.PDF.PagesGraphics.PDF.Typesetting.Box!Graphics.PDF.Typesetting.BreakingGraphics.PDF.Typesetting.Layout#Graphics.PDF.Typesetting.Horizontal!Graphics.PDF.Typesetting.Vertical&Graphics.PDF.Typesetting.StandardStyleArgumentResultFunction PDFExpression serialize==%/=%<%>=%>%<=%minmaxtruefalse&&*||*not ifThenElsesqrtsinDegcosDegloglog10powatan2Degfloorceilingroundtruncate$fFractionalPDFExpression$fNumPDFExpression $fResult(,,,) $fResult(,,) $fResult(,)$fResultPDFExpression$fFunction(,,,)$fFunction(,,) $fFunction(,)$fFunctionPDFExpression$fArgument(,,,)$fArgument(,,) $fArgument(,)$fArgumentPDFExpression $fFunctionFUN $fShowToken EmbeddedFont PDFReferencePDFRect GlyphCode PDFStringPDFFloat toAsciiStringFontData Type1Data FontStructureFSbaseFontdescentascentheight widthData kernMetricshyphenspaceencodingfontBBox italicAngle capHeight fixedPitchserifsymbolicscript nonSymbolicitalicallCapsmallCap forceBold GlyphPair GlyphSizeFontSizemkFlags$fShowFontStructure $fEqGlyphPair$fOrdGlyphPair$fShowGlyphPair $fEqGlyphSize$fOrdGlyphSize$fNumGlyphSize$fIntegralGlyphSize$fEnumGlyphSize$fRealGlyphSize$fShowGlyphSizeMatrixPointAngleDegreeRadiantoRadiandotscalePtprojectprojectXprojectYidentity pointMatrix transformrotate translatespiralscale $fNumMatrix $fEqMatrix $fOrdMatrix $fShowMatrixGoToURLAction$fPdfLengthInfoGoToURL$fActionGoToURL$fPdfObjectGoToURLPDFColoredPatternPDFUncoloredPatternPDFFontAnyFontIsFontname getDescent getHeightgetKern glyphWidth hyphenGlyph spaceGlyph charGlyphemptyFontStructurefontSizetrueSize readFontData $fOrdAnyFont $fEqAnyFont$fIsFontAnyFont$fPdfResourceObjectAnyFont $fOrdPDFFont $fEqPDFFont $fShowAnyFontType1FontStructureAFMData Type1Font readAfmData parseAfmDatamkType1FontStructure$fPdfResourceObjectType1Font$fIsFontType1Font $fShowAFMData$fShowType1FontStdFontFontName HelveticaHelvetica_BoldHelvetica_ObliqueHelvetica_BoldOblique Times_Roman Times_Bold Times_ItalicTimes_BoldItalicCourier Courier_BoldCourier_ObliqueCourier_BoldObliqueSymbol ZapfDingbats embeddedFont mkStdFont$fShowFontName$fIsFontStdFont$fPdfResourceObjectStdFont $fShowStdFont $fEqFontName $fOrdFontName$fEnumFontNameSoftMask PDFShadingFunctionalShading AxialShading RadialShading Function2GlobalFunction2Sampled2 Calculator2 Function1GlobalFunction1Sampled1 Interpolated1 Stitched1 Calculator1LocalGlobalColorFunction2ColorFunction1 ColorSpace GraySpaceRGBSpace CMYKSpaceFunctionObject OutlineStyle NormalOutline ItalicOutline BoldOutlinePDFViewerPreferences hideToolbar hideMenuBar hideWindowUI fitWindow centerWindowdisplayDoctitlenonFullScreenPageModePDFDocumentPageLayout SinglePage OneColumn TwoColumnLeftTwoColumnRight TwoPageLeft TwoPageRightPDFDocumentPageModeUseNone UseOutlines UseThumbs FullScreenPDFDocumentInfoauthorsubjectpageMode pageLayoutviewerPreferences compressed PDFTransStyleSplitBlindsBoxWipeDissolveGlitterPDFPDFTransDirection2 LeftToRight BottomToTop RightToLeft TopToBottomTopLeftToBottomRightPDFTransDirectionInwardOutwardPDFTransDimension HorizontalVertical PDFTransitionPagesPDFPagePDFXForm PDFXObject drawXObjectDraw PDFGlobalsboundsColorRgbHsv emptyDrawingwithNewContexthsvToRgblinearStitched calculator1 calculator2 applyMatrixstandardViewerPrefs readType1Font mkType1Font TilingTypeConstantSpacing NoDistortionConstantSpacingAndFastercreateColoredTilingcreateUncoloredTilingsetColoredFillPatternsetColoredStrokePatternsetUncoloredFillPatternsetUncoloredStrokePattern$fEqTilingType$fEnumTilingType $fEqPaintType$fEnumPaintType newSectionnewSectionWithPageRawImagePDFJpeg PDFFilterASCIIHexDecode ASCII85Decode LZWDecode FlateDecodeRunLengthDecodeCCITTFaxDecode DCTDecodeNoFilterJpegFile readJpegFile jpegBounds createPDFJpegcreatePDFRawImageFromByteStringcreatePDFRawImageFromARGBreadJpegDataURL$fPdfResourceObjectPDFReference$fPdfLengthInfoPDFJpeg$fPdfObjectPDFJpeg$fPDFXObjectPDFJpeg $fPdfResourceObjectPDFReference0$fPdfLengthInfoRawImage$fPdfObjectRawImage$fPDFXObjectRawImage $fMonadFA$fApplicativeFA$fMonadErrorListFA $fFunctorFAPDFLinkURLLinkTextAnnotationTextIconNote Paragraph NewParagraphKeyCommentHelpInsert newAnnotation $fAnnotationObjectTextAnnotation$fPdfLengthInfoTextAnnotation$fPdfObjectTextAnnotation$fAnnotationObjectURLLink$fPdfLengthInfoURLLink$fPdfObjectURLLink$fAnnotationObjectPDFLink$fPdfLengthInfoPDFLink$fPdfObjectPDFLink $fEqTextIcon$fShowTextIconblackwhiteredgreenbluesetStrokeAlpha setFillAlphasetRGBColorSpace fillColor strokeColor DashPattern JoinStyle MiterJoin RoundJoin BevelJoinCapStyleButtCapRoundCap SquareCapPolygonCircleRoundRectangleEllipseArc RectangleLineShapeaddShapestrokefill fillAndStrokefillEOfillAndStrokeEOsetWidth setMiterLimit setLineCap setLineJoinsetDash setNoDash beginPath closePathaddBezierCubicmovetolinetocurvetoarcto addLineToPathaddPolygonToPath strokePathfillPathfillAndStrokePathsetAsClipPathEO setAsClipPath fillPathEOfillAndStrokePathEO $fShapeLine$fShapeRectangle $fShapeArc$fShapeEllipse$fShapeRoundRectangle $fShapeCircle$fShapePolygon$fEqDashPattern $fEqJoinStyle$fEnumJoinStyle $fEqCapStyle$fEnumCapStyle $fEqCircle$fEqRoundRectangle $fEqEllipse$fEqArc $fEqRectangle$fEqLinecreateFunction1ObjectcreateFunction2Object applyShadingpaintWithShadingstandardDocInfocreatePDFXFormcreatePDFXFormExtraaddPageaddPageWithTransition drawWithPageTextModeFillText StrokeTextFillAndStrokeText InvisibleTextFillTextAndAddToClipStrokeTextAndAddToClipFillAndStrokeTextAndAddToClip AddToClip UnscaledUnitPDFText textWidthpdfGlyphsetFontdrawText textStartglyph displayGlyphs displayText startNewLineleading charSpace wordSpace textScale renderModerise setTextMatrixtext$fMonadPathPDFText $fEqTextMode $fOrdTextMode$fEnumTextMode$fMonadPDFText$fApplicativePDFText$fFunctorPDFText$fMonadWriterBuilderPDFText $fMonadStateTextParameterPDFTextcreateSoftMaskcreateTransparencyGrouppaintWithTransparencyDisplayableBox strokeBoxboxWidth boxHeight boxDescent boxAscentStyle sentenceStyle wordStyle textStyle updateStyle styleHeight styleDescentComparableStyle isSameStyleAs StyleFunctionDrawWordDrawGlue TextStyletextFonttextStrokeColor textFillColortextModepenWidth scaleSpacescaleDilatationscaleCompression BoxDimension mkDrawBox styleFont WritingSystemLatinUnknownWritingSystemmapToSpecialGlyphsLetterGlueFlaggedPenaltyPenaltyAGlyphKern JustificationFullJustificationCenteredLeftJustificationRightJustificationmkLetterParagraphStyle lineWidth linePosition interlineparagraphChangeparagraphStyle ContainerVBoxVerState baselineskiplineskip lineskiplimitcurrentParagraphStyle mkContainercontainerWidthcontainerHeightcontainerCurrentHeightcontainerContentHeightcontainerContentLeftBordercontainerContentRightBorder containerX containerYcontainerContentRectangledefaultVerState fillContainerStandardParagraphStyleNormalParagraph StandardStyleFont OrientationEWNSNENWSESW MonadStylesetStyle currentStyleaddBoxglue unstyledGlueParaTMdisplayFormattedTextgetBoxes addPenalty forceNewLineendPara startParagetWritingSystemsetWritingSystem getParaStyle setParaStyle paragraphtxtkernsetBaseLineSkipgetBaseLineSkipsetLineSkipLimitgetLineSkipLimit setLineSkip getLineSkipsetFirstPassTolerancegetFirstPassTolerancesetSecondPassTolerancegetSecondPassTolerancesetHyphenPenaltyValuegetHyphenPenaltyValuesetFitnessDemeritgetFitnessDemeritsetHyphenDemeritgetHyphenDemeritsetLinePenaltygetLinePenaltysetJustification drawTextBox$fMonadStylesPara$fMonadStylesTM$fEqOrientation$fShowOrientation $fMonadPara$fApplicativePara$fMonadWriterListPara$fMonadReaderBRStatePara$fMonadStatesPara $fFunctorPara $fMonadTM$fApplicativeTM$fMonadWriterListTM$fMonadStateTMStateTM $fFunctorTM pdfByteStringrunPdf$fPdfLengthInfoPDFTrailer$fPdfObjectPDFTrailer MapStringTrie EmptyTrielookupinsertfromListSerializeValuecons MonadPathPDFReferencedObject PDFDictionaryPDFArrayPDFNameEscapedAsciiString AsciiStringEscapedPDFGlyphPDFGlyph PDFLength PDFInteger AnyPdfObject PdfObject toPDFStringemptyDictionaryreferenceValue HasHexaStream toHexaStream MaybeLength KnownLength UnknownLength PdfLengthInfo pdfLengthInfotoPDF SpecialChar NormalSpace BiggerSpaceBreakingHyphen NormalChar escapeTextescapeByteString toPDFGlyphlparenrparenlbracketrbracketbspacebltbgtnewline noPdfObjectespacePDFGlyphespaceAsciiStringentryisEmptyDictionaryinsertInPdfDict pdfDictUnion dictFromList modifyStrict getEncoding EncodingsAdobeStandardEncodingZapfDingbatsEncodingPostscriptNameparseMacEncodingPDFTreefold2sizeemptyisLeafkeyOfbase Data.ComplexComplex:+realPartimagPart conjugatemkPolarcispolar magnitudephase PDFColorSpace PDFResource addResourceresourceToDictprocSet resources emptyRsrc StrokeAlpha FillAlphaPdfResourceObjecttoRsrc emptyResource AnyPdfPattern PatternRGBfontToStructureAFMFontmetricsunderlinePositionunderlineThickness afmAscent afmDescentkernData type1BaseFontencodingScheme afmItalic afmCapHeightafmBBox afmFixedPitch afmSymbolicEncodingSchemeAFMAdobeStandardEncodingAFMFontSpecificAFMUnsupportedEncodingMetriccharCode metricWidthKXparseAfmPDFPagesPdfState supplySrcobjectspagesstreamscatalog defaultRectdocInfooutline currentPage xobjectBound firstOutline PDFCatalog AnyPdfXForm PDFStream pdfDictMember supplyName runDrawing setResourcegetBoundInDraw getBoundInPDFrsrcFromInterpolated DrawState supplyNamesrsrc strokeAlphas fillAlphastheFontsxobjects otherRsrcsannotspatterns colorSpacesshadings softMasksmatrixDrawEnvironmentstreamId xobjectBoundD readDrawST writeDrawST modifyDrawST DrawTuple penPositionregisterResourceemptyEnvironmentprivateDrawXObjectunPDF PDFOutlinePDFOutlineEntry DestinationOutline OutlineLocTreeNode OutlineCtxTopChildleftsrightsvalueparentAnnotationObject addAnnotationannotationTypeannotationContentannotationRectannotationToGlobalCoordinates OutlineData AnyAnnotationAnnotationStylecolorSpaceNameFunctionStreamrsrcFromCalculatorrsrcFromSampledrsrcFromStitched ColorTuple domain1Dict domain2Dict getRgbColoremptyDrawState currentMatrixmultiplyCurrentMatrixWithsetPageAnnotationssetPageResource createContentsupply addObject updateObject recordPagefindPagenodePageleafPageaddPagesnoPagesgetCurrentPage recordBoundcreateEmbeddedFont addOutlines insertDown insertRightupcreateTilingPatternisFirststartNew addedOutlinecloseNewnewSectionPrivate newSiblingnewChildFA getBordercreateANewPageDrawBoxAnyBoxmyWordsBRStatefirstPassTolerancesecondPassTolerancehyphenPenaltyValuefitness_demeritflagged_demerit line_penaltycenteredglueSizecreateBreaknodegetDimupdateWithNewRIfNoSolution hyphenBoxinfinityglueBox spaceWidthcenteredDilatationFactorleftDilatationFactorrightDilatationFactor spaceGlueBoxsimplifypenalty createGlyph splitText hyphenPenalty letterWidthdilatationRatiocomputeDemeritisFeasibleBreakpointripText formatListkernBox MaybeGlueglueYglueZglueSizeWithRatiodefaultBreakingSettings writingSystembadnessbigAdjustRatiocontainerParaTolerancegetInterlineStyle interlineGlue getBoxDelta strokeVBoxesvglueWidthHeightVGlueSomeVBoxaddTo isOverfull StartText ContinueTextStopTextOneBlockHBoxsaveCurrentwordhorizontalPostProcess withNewStylemkHboxWithRatio createText drawTextLine drawWords drawPureWords drawTextGlue createWordsdrawLineOfHboxesTextHGlueSomeHBoxmkVboxWithRatio createPara addParaLinetoVBoxes drawContainerendFullyJustifiedrunPara addLetter PDFTrailer createPDF saveObjectswriteObjectsAndCreateToc