Z      !"#$%&'()*+,-./0123456789:;<= > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` ab c d e f g h i j k l m n o pqr s t u v w x y z { | } ~                  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     Safe(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafe(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafe Hyphenation databases(Create a custom language for hyphenation(Is it a char used in hyphenation patternGet numerical value for a char6Convert a char from an hyphenation pattern to a number"Remove 0 contained between numbers;Split a patterns into a list of numbers 9Convert a pattern into a list of number and a normal word%Remove hyphens from an excepyion wordGet exception points ExceptionsPatterns (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafeList of exceptionList of hyphenation patternsSafe(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone357(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone3457;CN"A monad where paths can be createdA reference to a PDF objectA Referenced objectsA PDF rectangleA PDFDictionary A PDFArrayA PDFName object *A PDFString containing a strict bytestring A real number in a PDF documentA length in a PDF documentAn integer in a PDF documentAnonymous PDF object PDF Objects 'Create a PDF string from an Haskell one2Escape PDF characters which have a special meaningAm empty dictionaryGet the reference valueS   0   F   (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone35A PDF Color space  A PDF PatternA PDF ResourceBAdd a new G State to the G State dictionary for the given resource(Convert the resource to a PDf dictionary7      GState dictionaryGState name must be uniqueG State content Old resource New resource !"#$$      !       !"#$(c) Daan Leijen 2002 BSD-stylemisc@NOSPAMalpheccar.org provisionalportableNone<%A map of integers to values aT. The total size of subtrees is tracked by each node. It is needed for the PDF Tree&aThe key function needed to export a Tree of PDF objects into the format defined by the PDF spec'O(n) . Number of elements in the map.( O(min(n,W))'. Lookup the value at a key in the map.) O(n*min(n,W)).. Create a map from a list of key/value pairs.%*+,-./012& Parent ref Node action Leaf actionPDFTree+Final action and reference of the root node34'(56789:;<=>?@AB) %-&34'(8A)%*+,-./012&34'(56789:;<=>?@AB)(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafeC#Get the hyphen positions for a wordD*Get the hyphen positions from the patternsHyphenate a stringEFGCD1Hyphenation database to use to hyphenate the wordWord to hyphenateEFGCD(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone Action of going to an URL !"HIJ !"" ! !"HIJ(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone#=A transformation matrix. An affine transformation a b c d e f a b 0 c d 0 e f 1 &Angle 'Angle in degrees(Angle in radians*Dot 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)',(projects the first point onto the second- projects a point onto the x-axis. projects a point onto the y-axis/Identity matrix0"Specifies a matrix as three points1Applies a matrix to a point2Rotation matrix3ETranslation matrix 'transform (translate z) w == z + w' 5Scaling matrix #$%&'()*+,-./0 X component Y componenttranslation component12Rotation angle345Horizontal scalingHorizontal scalingKLMNOPQRSTU#$%&'()*+,-./012345&'(%#$)*+,-.01/2354#$%&'()*+,-./012345K(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone357;CIN46&A shading =Viewer preferences?To hide the toolbar@To hide the menubarATo hide the windowBFit window to screenCCenter window on screenDDisplay the docu,ent titleE.Display mode when exiting the full screen modeFDocument page layoutMDocument page modeRDocument metadataZTransition stylea The PDF MonadbDirection of a transitiond Wipe onlye Wipe onlyg Glitter onlyhDirection of a transitionkDimension of a transitionnA PDF TransitionV PDF PagespList of all pagesqA PDF Page objectW The PDF stateXSupply of unique identifiersYDictionary of PDF objectsZPages[ Draw commands\Reference to the PDF catalog]Default page size^Document infos_ Root outline`5Reference to the current page used to create outlinesaWidth and height of xobjectsbUsed to improve the outline APIcThe PDF Catalogd An XObjects A PDF Xobject which can be drawneA PDF stream objectuThe drawing monadx A PDF color{An empty drawingfis member of the dictionarygGet a new resource namehNExecute the drawing commands to get a new state and an uncompressed PDF stream|mDraw in a new drawing context without perturbing the previous context that is restored after the draw i)Set a resource in the resource dictionaryjGet the bounds for an xobjectkGet the bounds for an xobjectlInterpolation function~=Apply a transformation matrix to the current coordinate frame678mnopqrstuvwxyz{|}9:;<~=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoVpqWXYZ[\]^_`abcrdsteuvwxyz{fgh|i Dict nameResource valueOld cache valueNew cache valuej Referencek Reference}l~#$/678mnopqrstuvwxyz{|}9:;<~=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoVpqWXYZ[\]^_`abcrdsteuvwxyz{fgh|i}~k678mnopqrstuvwxyz{|}9:;<~=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoVpqW XYZ[\]^_`abcrdsteuvw xyz{fgh|ijk}l~(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone-4CRendering mode for text display+Unscaled unit (not scaled by the font size)The text monad /Convert a dimension in font unit to device unit8Get the kern value for a given font and pair of charcodeSelect a font to useDraw a text in the draw monad#Set position for the text beginningDisplay some text3Start a new line (leading value must have been set)Set leading valueSet the additional char spaceSet the additional word spaceSet scaling factor for textChoose the text rendering modeSet the rise value"Set the text transformation matrix4Utility function to quickly display one line of text2FontString8List of chars and char width taking into account kerning/ / (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneSet page annotationsSet page resource%Create a new empty content for a pageReturns a new unique identifierJAdd an object to the PDF object dictionary and return a PDF reference )Update a referenced object with a new one#Record the page in the page catalogFind a page in the catalogAdd a node PDFTree object'Add a page to the PDG object dictionary*Add all pages to the PDF object dictionaryEmpty page catalog "Reference to the last created page Record bound of an xobjectList of drawing commandsReference to the drawingReference to the initial object New valueReference to the page Page contentPages n the documentsReference to the pagePages in the documentPage content if found Parent node Left tree Right treeAPDF reference to the new node pointing to the left and right onesPage parent if anyPage reference Page dataReference to a PDFPages objects      ReferenceWidthHeight          (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone5True if we are adding the first outline to this levelStart a new outline level ,We remember there are outlines at this levelClose an outline level>Create a new outline section pointing to the last created page5Create a new outline section pointing to a given page  Outline title Outline color Outline style Outline title Outline color Outline stylePage reference Outline title Outline color Outline style Outline title Outline color Outline style Outline title Outline color Outline style9:;<9:;<  (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone+Get the border shqpe depending on the styleCreate a new annotation object !"#$% !"#$% (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone35CN A raw imageA Jpeg PDF object&File analyzer monadA Jpeg file Read 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 memoryGet the JPEG boundsUse an abstract description of a Jpeg to return a PDFReference that can be used to manipulate the Jpeg in the context of the PDF documentReads 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/#dataurlmakerE&'()*+,-./0123456789:;<=>?@ABCDEFGWidthHeight InterpolationGDecompression filter to be sued by the PDF reader to render the picture RGB pixelsWidthHeight Interpolation5ARGB pixels (A component not used y the PDF document)HIJKLMNOPQRSTUVWX:&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone Tiling typeCreate a colored tiling pattern"Create an uncolored tiling patternYCreate a PDF tiling patternSet the fill patternSet the stroke patternSet the fill patternSet the stroke patternZ[\LeftBottomRightTopHorizontal step Vertical stepDrawing commandsLeftBottomRightTopHorizontal step Vertical stepDrawing commandsYLeftBottomRightTopHorizontal step Vertical stepDrawing commands Z[\Y (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone Set alpha value for transparency Set alpha value for transparency Init the PDF color space to RGB.Select the filling colorSelect the drawing color  Filling color Drawing colorxyz}xyz} (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneLine join stylesLine cap styles Set pen width Set pen width Set line cap Set line joinSet the dash patternNo dash patternBegin a new path at a positionClose current path Append 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 points2Move pen to a given point without drawing anything=Draw a line from current point to the one specified by lineto`Approximate a circular arc by one cubic bezier curve. larger arc angles mean larger distortionsAdd a polygon to current pathDraw current pathFill current pathFill current pathSet clipping pathSet clipping path%Fill current path using even odd rule%Fill current path using even odd rule< Extent of arc Center of arc]^_`abc55(]^_`abc(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone #Fill clipping region with a shading  ShadingShape to paint678  678    (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone35;N A box that can be displayed  Draw a box FA box is an object with dimensions and used in the typesetting process Box width Box height,Distance between box bottom and box baseline)Distance between box top and box baselineHStyle of text (sentences and words). Minimum definition textStyle PModify the look of a sentence (sequence of words using the same style on a line)2A style may contain data changed from word to word&A style may change the height of words EDefault implementation styleHeight = getHeight . textFont . textStyle'A style may change the descent of lines GDefault implementation styleDescent = getDescent . textFont . textStyleEUsed to compare two style without taking into account the style statefWhat kind of style drawing function is required for a word when word styling is enabled Must style a wordMust style a glue Text style used by PDF operators%VScaling factor for normal space size (scale also the dilation and compression factors)&"Scale the dilation factor of glues'%Scale the compression factor of glues(.Dimension of a box : width, height and descentdA box containing a Draw value)8Make a drawing box. A box object containing a Draw value*ef  The boxHorizontal position3Vertical position (top of the box and NOT baseline) BoxWidth of the box The styleRFunction receiving the bounding rectangle and the command for drawing the sentence The styleWord styling function !"#$%&'(dg)hijklmn"ef    !"#$%&'(d)ef     !"#$%&'(dg)hijklmn(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone3579#oBreaking algorithm settings pDefault value 100qDefault value 100rDefault value 50sDefault value 1000tDefault value 1000uDefault value 10vDefault value falsewDefault value English*A 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 provided+Any box as a letter,<A glue with style to know if it is part of the same sentence- Hyphen point.Penalty/A char0-A kern : non dilatable and non breakable glue6Make a letter from any boxx Compute glue width with dilationyWe create a new breakpoint but we get the cumulated dimensions only at the next box following the break since glues and penalties are removed at the beginning of a linez)Get cumulated dimension for following box{Check is a break point is possible otherwise, if none is possible and there is only one remaining active point, we force a breakpoint|Create an hyphen box}Value modeling infinity ~Add a glue to the streamReturn the standard space width<How much dilatation is allowed compred to the space width =How much dilatation is allowed compared to the space width =How much dilatation is allowed compared to the space width Add a glue to the streamWhen a paragraph is full and we start a new one we must clean the beginning paragraph and remove what has been left by the broken spaceAdd a penalty to the streamCreate a box containing textCreate boxes for the letters3split a line into boxes and add hyphen where neededCreate an hyphen penaltydopqrstuvw*+,-./0123456Dimension of the box!Text style of the box (can use t)BoxxletterAdjustement ratioWidthMaxw Current wyzDilatation ratio adjust ratioFlag for previousFlag for currentDemerit for the breakpointyz Second passCurrent analyzed boxResult{Old rCurrentActives|}~ Glue widthGlue dilatationGlue compression The styleParagraph settings The style The style  Penalty value Char style Char width Char code Letter styleLetter and size BoxesStyle of future hyphenSize of hyphen taking into account the kerning that was perturbed by the hyphen introduction. The char before the hyphen is now bigger.opqrstuvw*+,-./0123456x}~9o pqrstuvw  *+,-./0123456xyz{|}~(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone797Paragraph style8"Width of the line of the paragraph9_Horizontal shift of the line position relatively to the left egde of the paragraph bounding box:THow to style the interline glues added in a paragraph by the line breaking algorithm;iChange the content of a paragraph before the line breaking algorithm is run. It may also change the style<YGet the paragraph bounding box and the paragraph draw command to apply additional effects=Container for vboxes (x,y,width,maxheight,height,currenty,current z, tolerance para) tolerance para means a paragraph is not started if too close from the bottom edge of the boxADefault value (12,0.17,0.0)BDefault value (3.0,0.33,0.0)CDefault value 2EOCreate a empty container to constraint the amount of line that can be displayedFGet the width of the containerGet the width of the containerGGet the height of the containerH?Get the current height of the container without glue dilatationI<Get the content height of the container with glue dilatationJ4Get the minimum left border of the container contentKoGet the maximum right border of the container content (maybe bigger than container width due to overfull lines)LContainer horizontal positionMContainer vertical positionNMReturn the rectangle containing the text after formatting and glue dilatation-Get the required style for the interline glueInterline glue required@Get the delta used to position a box with non rectangular shapesStroke the VBoxes/78 The style8Width of the text area used by the typesetting algorithm Line number Line width9 The style 8Width of the text area used by the typesetting algorithm Line number 5Horizontal offset from the left edge of the text area: The style &Function used to style interline glues; The style=Line offset different from 0 when a paragraph has been broken List of letters in the paragraph Update style and list of letters< The style "Function used to style a paragraph=>?@ABCD Glue heightGlue dilatation factorGlue compression factor Glue width Glue deltaExywidthheightPargraph tolerance New containerFGHIJKLMN List of boxesX posY pos$789:;<=>?@ABCDEFGHIJKLMN 789:;<=>?@ABCDEFGHIJKLMN(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone(Send PDF commands needed to start a textContinue adding text Stop the textOne block of textAn horizontal Hbox (sentence or word) The width of the glue was computed with the adjustement ratio of the HLine containing the glue The width of the text is already taking into account the adjustement ratio of the HLine containing the Text Otherwise, HBox cannot dilate or compress. >Current word (created from letter) is converted to a PDFStringhorizontalPostProcess!Change the style of the box A 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)Create an HBox 2Draw a line of words and glue using the word style9Draw a line of words, glue, or any box without word style1Draw only words and glues using PDF text commands^Draw the additional displacement required for a space in a text due to the dilaton of the glueAdjustement ratio Current wordList of lettersList of words or sentences4adjust ratio, hyphen style, list of letters or boxes List of linesAdjustement ratioStyleStringWidth;Height of the total line first time this function is called<Descent of the total line first time this function is calledRemaining box to displayx for the remaining boxesy for the whole line(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneODefault vertical state WDefault values baselineskip = (12,0.17,0.0) lineskip = (3.0,0.33,0.0) lineskiplimit = 2Pair of functions describing the shape of a text areas : horizontal position of each line, vertical top of the area, width of each line First line is 1A 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)1Create a new paragraph from the remaining letters"Add paragraph lines to a containerPFill a container with linesConvert pure lines to VBoxesOAdjustement ratio Container ContainerP"Vertical style for interline glues Container VBox to addOComponent to draw, new container and remaining VBoxes due to overfull container Max width List of lines Line numberList of VBoxes789:;<>?@ABCDEOPOP(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone7QStandard styles for paragraphsSStandard styles for sentencesQRSTQRSTQRST(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone-3579C^9A MonadStyle where some typesetting operators can be used_Set the current text style`Get the current text styleaoAdd a box using the current mode (horizontal or vertical. The current style is always applied to the added box)b"Add a glue using the current stylec3Add a glue with no style (it is just a translation)fDisplay a formatted text in a given bounding rectangle with a given default paragraph style, a given default text style. No clipping is taking place. Drawing stop when the last line is crossing the bounding rectangle in vertical directiong$Return the list of Vboxes for a texth Add a penaltyi+For a newline and end the current paragraph>End the current paragraph with or without using the same style9Run a paragraph. Style changes are local to the paragraphlGet the current paragraph stylem"Change the current paragraph styleAdd a letter to the paragraphnAdd a new paragraph to the textIAdd a null char nullChar :: Para () nullChar = Para . tell $ [nullLetter]LSplit a sentence into words keeping the space but shortening them to 1 spaceoAdd a text linep\add a kern (space that can be dilated or compressed and on which no line breaking can occur)9Draw a text box with relative position. Useful for labelsBUVWXYZ[\]^_`aWidthHeightDescentb4Size of glue (width or height depending on the mode)Dilatation factorCompression factorc5Size of glue (width or height depending on the mode) Dilatation factor Compression factor d e    f Text areadefault vertical styleDefault horizontal styleTypesetting monad Draw monadgdefault vertical styleDefault horizontal styleTypesetting monad List of boxeshiNTrue if we use the same style to end a paragraph. false for an invisible stylejklmnopqrstuvwxyz{|}~!Centered, left or fully justifiedxy width limit height limitdefault vertical styleDefault horizontal styleTypesetting monadz    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~z   *+,-./0( !"#$%&'789:;<^_`abcde>?@ABCD=12345UVWXYZ[\]foph6)injklmEPOgLMFGIKJHNwy{}xz|~qsurtvSTQR-UVWXYZ[\]^_`abcd e    fghijklmnopqrstuvwxyz{|}~ (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone!No information for the document Create a PDF XObject Add a new page to a PDF documentDraw on a given pageLeftBottomRightTopDrawing commands#Page size or default document's oneReference to the new page#Page size or default document's oneReference to the new page#Page size or default document's oneOptional durationOptional transitionReference to the new pagePageDrawing commands@=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`bcdefghijklmnorstuvw{|@rnoZ[\]^_`hijklmbcdefgRSTUVWXYMNOPQFGHIJKL=>?@ABCDEustvw|{(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone4The PDFTraileraCreate a new PDF document and return a first page The page is using the document size by default<Save all the pages and streams in the main object dictionaryWrite PDF objects in the TOC+Generate a lazy bytestring for the PDF Generates a PDF document CList of objects each object being already converted to a bytestringDefault size for a page PDF action Name of the PDF documentDefault size for a page PDF action  LMNOPQRSTU  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ a  qp~  ! !"#$%&''()*+,--./0123456789:;<=>>?@@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmmnopqrstuvwxyz{|}~                                                                           w !"#$%&'()*++,-./01234566789:;<=>?@ABCDEFGHIJJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     &(       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGEFHEFIEFJEFKEFLEFMEFNEFOEFPQRSTUVWXYZ[\]^_`abcdefghhijklmnopqrsttuuvv{wQR^_x`yzz{|}~                                       ! " # $ % & ' ( ) * + , - . / 0 1 2  3 4 5  6 7 89:;< = > ? @ A B CDEEDFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiijklMmmnopqrstuvwxyz{|}~HIno HPDF_Ito8j4iz3mQAmzG3xudOjiGraphics.PDF.Hyphenate Graphics.PDFGraphics.PDF.TextGraphics.PDF.PatternGraphics.PDF.ActionGraphics.PDF.CoordinatesGraphics.PDF.ShadingGraphics.PDF.NavigationGraphics.PDF.DocumentGraphics.PDF.ColorsGraphics.PDF.AnnotationGraphics.PDF.ImageGraphics.PDF.ShapesGraphics.PDF.TypesettingGraphics.PDF.DocumentationGraphics.PDF.Data.TrieGraphics.PDF.Hyphenate.LowLevelGraphics.PDF.Hyphenate.EnglishGraphics.PDF.LowLevel.Kern Graphics.PDF.LowLevel.SerializerGraphics.PDF.LowLevel.TypesGraphics.PDF.ResourcesGraphics.PDF.Data.PDFTreeGraphics.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.StandardStyle MapStringHyphenationDatabaseEnglishCustomLanguage mkExceptionsmkCustomLanguage PDFReferencePDFRect PDFStringPDFFloat toPDFStringPDFColoredPatternPDFUncoloredPatternPDFFontFontName HelveticaHelvetica_BoldHelvetica_ObliqueHelvetica_BoldOblique Times_Roman Times_Bold Times_ItalicTimes_BoldItalicCourier Courier_BoldCourier_ObliqueCourier_BoldObliqueSymbol ZapfDingbats hyphenateGoToURLActionMatrixPointAngleDegreeRadiantoRadiandotscalePtprojectprojectXprojectYidentity pointMatrix transformrotate translatespiralscale PDFShading AxialShading RadialShading 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 emptyDrawingwithNewContexthsvToRgb applyMatrixTextModeFillText StrokeTextFillAndStrokeText InvisibleTextFillTextAndAddToClipStrokeTextAndAddToClipFillAndStrokeTextAndAddToClip AddToClip UnscaledUnitPDFText getDescent getHeight textWidth charWidthripTextsetFontdrawText textStart displayText startNewLineleading charSpace wordSpace textScale renderModerise setTextMatrixtextstandardViewerPrefs newSectionnewSectionWithPagePDFLinkURLLinkTextAnnotationTextIconNote Paragraph NewParagraphKeyCommentHelpInsert newAnnotationRawImagePDFJpeg PDFFilterASCIIHexDecode ASCII85Decode LZWDecode FlateDecodeRunLengthDecodeCCITTFaxDecode DCTDecodeNoFilterJpegFile readJpegFile jpegBounds createPDFJpegcreatePDFRawImageFromByteStringcreatePDFRawImageFromARGBreadJpegDataURL TilingTypeConstantSpacing NoDistortionConstantSpacingAndFastercreateColoredTilingcreateUncoloredTilingsetColoredFillPatternsetColoredStrokePatternsetUncoloredFillPatternsetUncoloredStrokePatternblackwhiteredgreenbluesetStrokeAlpha setFillAlphasetRGBColorSpace fillColor strokeColor DashPattern JoinStyle MiterJoin RoundJoin BevelJoinCapStyleButtCapRoundCap SquareCapPolygonCircleRoundRectangleEllipseArc RectangleLineShapeaddShapestrokefill fillAndStrokefillEOfillAndStrokeEOsetWidth setMiterLimit setLineCap setLineJoinsetDash setNoDash beginPath closePathaddBezierCubicmovetolinetocurvetoarcto addLineToPathaddPolygonToPath strokePathfillPathfillAndStrokePathsetAsClipPathEO setAsClipPath fillPathEOfillAndStrokePathEO applyShadingpaintWithShadingDisplayableBox strokeBoxboxWidth boxHeight boxDescent boxAscentStyle sentenceStyle wordStyle textStyle updateStyle styleHeight styleDescentComparableStyle isSameStyleAs StyleFunctionDrawWordDrawGlue TextStyletextFonttextStrokeColor textFillColortextModepenWidth scaleSpacescaleDilatationscaleCompression BoxDimension mkDrawBoxLetterGlueFlaggedPenaltyPenaltyACharKern JustificationFullJustificationCenteredLeftJustificationRightJustificationmkLetterParagraphStyle lineWidth linePosition interlineparagraphChangeparagraphStyle ContainerVBoxVerState baselineskiplineskip lineskiplimitcurrentParagraphStyle mkContainercontainerWidthcontainerHeightcontainerCurrentHeightcontainerContentHeightcontainerContentLeftBordercontainerContentRightBorder containerX containerYcontainerContentRectangledefaultVerState fillContainerStandardParagraphStyleNormalParagraph StandardStyleFont OrientationEWNSNENWSESW MonadStylesetStyle currentStyleaddBoxglue unstyledGlueParaTMdisplayFormattedTextgetBoxes addPenalty forceNewLineendPara startPara getParaStyle setParaStyle paragraphtxtkernsetBaseLineSkipgetBaseLineSkipsetLineSkipLimitgetLineSkipLimit setLineSkip getLineSkipsetFirstPassTolerancegetFirstPassTolerancesetSecondPassTolerancegetSecondPassTolerancesetHyphenPenaltyValuegetHyphenPenaltyValuesetFitnessDemeritgetFitnessDemeritsetHyphenDemeritgetHyphenDemeritsetLinePenaltygetLinePenaltysetJustification drawTextBoxstandardDocInfocreatePDFXFormaddPageaddPageWithTransition drawWithPage pdfByteStringrunPdf EmptyTrieTriemyLookupfromListlookupinsertisChar fromDigittoNumbersimplifysplitconvertPattern removeHyphenexceptionPoints mkPatternssplit' exceptionspatterns exceptionList patternListkernsSerializeValue serializeconscshortToStringcfloatToString convertShort convertFloat$fSerializeValueBuilderDouble$fSerializeValueBuilderInt!$fSerializeValueBuilderByteString$fSerializeValueBuilder[]$fSerializeValueBuilderChar$fSerializeValueBuilderWord8 $fSerializeValueByteStringDouble$fSerializeValueByteStringInt$$fSerializeValueByteStringByteString$fSerializeValueByteString[]$fSerializeValueByteStringChar$fSerializeValueByteStringWord8 MonadPathPDFReferencedObject PDFDictionaryPDFArrayPDFName PDFLength PDFInteger AnyPdfObject PdfObject escapeStringemptyDictionaryreferenceValue MaybeLength UnknownLength KnownLength PdfLengthInfo pdfLengthInfotoPDFencodeISO88591pc2wescapeOnWords8lparenrparenlbracketrbracketbspacebltbgtnewline noPdfObjectisEmptyDictionaryinsertInPdfDict pdfDictUnion modifyStrict$fPdfLengthInfoEither$fPdfObjectEither$fPdfLengthInfoPDFReference$fPdfObjectPDFReference$fNumPDFReference"$fPdfLengthInfoPDFReferencedObject$fPdfObjectPDFReferencedObject$fPdfLengthInfoPDFRect$fPdfObjectPDFRect$fPdfLengthInfoPDFDictionary$fPdfObjectPDFDictionary$fPdfLengthInfo[] $fPdfObject[]$fPdfLengthInfoPDFName$fPdfObjectPDFName$fPdfLengthInfoPDFString$fPdfObjectPDFString $fSerializeValueBuilderPDFString#$fSerializeValueByteStringPDFString$fPdfLengthInfoBool$fPdfObjectBool$fPdfLengthInfoComplex$fPdfObjectComplex$fPdfLengthInfoDouble$fPdfObjectDouble$fPdfLengthInfoPDFLength$fPdfObjectPDFLength$fPdfLengthInfoInt$fPdfObjectInt$fPdfLengthInfoPDFInteger$fPdfObjectPDFInteger$fPdfLengthInfoMaybeLength$fPdfObjectMaybeLength$fPdfLengthInfoAnyPdfObject$fPdfObjectAnyPdfObject PDFColorSpace PDFResource addResourceresourceToDict PatternRGB AnyPdfPatternprocSet resourcesPdfResourceObjecttoRsrc FillAlpha StrokeAlphaFontSize emptyRsrc getResources emptyResource$fPdfResourceObjectPDFReference$fPdfLengthInfoAnyPdfPattern$fPdfObjectAnyPdfPattern $fPdfResourceObjectPDFReference0"$fPdfLengthInfoPDFUncoloredPattern$fPdfObjectPDFUncoloredPattern $fPdfResourceObjectPDFReference1 $fPdfLengthInfoPDFColoredPattern$fPdfObjectPDFColoredPattern $fPdfResourceObjectPDFColorSpace$fPdfLengthInfoPDFResource$fPdfObjectPDFResource$fPdfResourceObjectFillAlpha$fPdfResourceObjectStrokeAlpha$fPdfResourceObjectPDFFont $fOrdPDFFont$fShowFontNamePDFTreefold2sizeNilTipBinMaskPrefixNat natFromInt intFromNatisLeafkeyOflookup'lookupNzeroNjoinzeronomatchmaskmaskW branchMaskhighestBitMaskshiftRLempty foldlStrict getWordPointsgetFromPatternaddedExceptions$fPdfLengthInfoGoToURL$fActionGoToURL$fPdfObjectGoToURL $fNumMatrixbase Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPart:+ComplexPDFPagesPdfState supplySrcobjectspagesstreamscatalog defaultRectdocInfooutline currentPage xobjectBound firstOutline PDFCatalog AnyPdfXForm PDFStream pdfDictMember supplyName runDrawing setResourcegetBoundInDraw getBoundInPDF interpole OutlineLoc OutlineCtxTopChildvalueparentleftsrightsTreeNodeOutline OutlineData DestinationPDFOutlineEntry PDFOutlineunPDFprivateDrawXObjectunDraw DrawTupledrawEnvironment drawStateRef builderRef penPositionDrawEnvironmentstreamId xobjectBoundD DrawState supplyNamesrsrc strokeAlphas fillAlphastheFontsxobjects otherRsrcsannots colorSpacesshadingsmatrix AnyAnnotationAnnotationObject addAnnotationannotationTypeannotationContentannotationRectannotationToGlobalCoordinatesAnnotationStyleemptyEnvironment readDrawST writeDrawST modifyDrawSTemptyDrawStatepushMatrixStackpopMatrixStackmultiplyCurrentMatrixWith currentMatrixfloatDirection getRgbColor$fPdfResourceObjectPDFShading$fPdfLengthInfoColor$fPdfObjectColor$fPdfLengthInfoDestination$fPdfObjectDestination$fPdfLengthInfoPDFOutlineEntry$fPdfObjectPDFOutlineEntry$fPdfLengthInfoOutlineStyle$fPdfObjectOutlineStyle$fPdfLengthInfoPDFCatalog$fPdfObjectPDFCatalog$fPdfLengthInfoPDFPage$fPdfObjectPDFPage$fPdfLengthInfoPDFPages$fPdfObjectPDFPages$fPdfLengthInfoPDFTransition$fPdfObjectPDFTransition$fShowPDFTransStyle#$fPdfLengthInfoPDFViewerPreferences$fPdfObjectPDFViewerPreferences$fPdfLengthInfoPDFOutline$fPdfObjectPDFOutline$fShowPDFTransDirection$fShowPDFTransDimension $fShowPDFPage$fPdfLengthInfoPDFXForm$fPdfObjectPDFXForm$fPDFXObjectPDFXForm$fPDFXObjectAnyPdfXForm$fPdfLengthInfoAnyPdfXForm$fPdfObjectAnyPdfXForm$fPDFGlobalsPDF$fPDFGlobalsDraw$fPdfLengthInfoPDFStream$fPdfObjectPDFStream$fMonadPathDraw $fFunctorDraw$fMonadWriterBuilderDraw$fMonadStateDrawStateDraw $fMonadReaderDrawEnvironmentDraw $fMonadDraw$fApplicativeDraw$fAnnotationObjectAnyAnnotation$fPdfLengthInfoAnyAnnotation$fPdfObjectAnyAnnotationtrueSizegetKernunText TextParametertctwtztlts fontState currentFont FontStatehasKern cgetDescent cgetAdvance cgetLeadingc2idefaultParameters$fMonadPathPDFTextsetPageAnnotationssetPageResource createContentsupply addObject updateObject recordPagefindPagenodePageleafPageaddPagesnoPagesgetCurrentPage recordBound insertRight insertDownup addOutlines createOutlinetoTreeisFirststartNew addedOutlinecloseNewnewSectionPrivate newSiblingnewChild moveToParent getBorderapplyMatrixToRectanglestandardAnnotationDicttransformAnnotRect$fAnnotationObjectPDFLink$fPdfLengthInfoPDFLink$fPdfObjectPDFLink$fAnnotationObjectURLLink$fPdfLengthInfoURLLink$fPdfObjectURLLink $fAnnotationObjectTextAnnotation$fPdfLengthInfoTextAnnotation$fPdfObjectTextAnnotationFAunFAm_sof0m_sof1m_sof3m_sof5m_sof6m_sof7m_sof9m_sof10m_sof11m_sof13m_sof14m_sof15m_rst0m_rst1m_rst2m_rst3m_rst4m_rst5m_rst6m_rst7m_soim_eoim_temiorunFA readWord16 readWord8parseJpegContent analyzeJpegwithFilesIndex sReadWord8 sReadWord16parseJpegDetailData?|parseJpegContentDatacheckColorSpaceanalyzeJpegData readJpegData$fPdfLengthInfoRawImage$fPdfObjectRawImage$fPDFXObjectRawImage$fPdfLengthInfoPDFJpeg$fPdfObjectPDFJpeg$fPDFXObjectPDFJpegcreateTilingPattern PaintType ColoredTilingUncoloredTiling$fShapePolygon $fShapeCircle$fShapeRoundRectangle$fShapeEllipse $fShapeArc$fShapeRectangle $fShapeLineDrawBoxAnyBox $fShowAnyBox$fDisplayableBoxAnyBox $fBoxAnyBox $fBox(,,) $fShowDrawBox$fDisplayableBoxDrawBox $fBoxDrawBoxBRStatefirstPassTolerancesecondPassTolerancehyphenPenaltyValuefitness_demeritflagged_demerit line_penaltycentered hyphenationglueSizecreateBreaknodegetDimupdateWithNewRIfNoSolution hyphenBoxinfinityglueBox spaceWidthcenteredDilatationFactorleftDilatationFactorrightDilatationFactor spaceGlueBoxpenalty createCharcreateLetterBoxes splitText hyphenPenalty ActiveNodes PossibleBreakZListMaybeCBNoCBOneCB BreakNode totalWidthtotalDilatationtotalCompressiondemeritflagged fitnessValueratioprevious PointedBox isFlagged getPenalty isPenaltyletterposition cumulatedW cumulatedY cumulatedZ isForcedBreakCB MaybeGlueglueYglueZglueSizeWithRatio letterWidth penaltyWidthdilatationRatio adjustRatiobadnessfitnessdefaultBreakingSettingscomputeDemerit createZListtheEndbreakN moveRightisFeasibleBreakpoint updateBreakgetNewActiveBreakpoints genNodeList analyzeBoxescutList formatListbigAdjustRatio spaceSizehyphenForJustificationkernBox$fPointedBoxsZList$fPointedBoxs(,,,,) $fShowLetter$fMaybeGlueLettercontainerParaTolerancegetInterlineStyle interlineGlue getBoxDelta strokeVBoxesHeightWidthVGlueSomeVBoxnotGluevglueaddTo isOverfullisSameParaStylerecurseStrokeVBoxesdrawWithParaStyle$fDisplayableBoxVBox $fBoxVBox$fMaybeGlueVBox $fShowVBox StartText ContinueTextStopTextOneBlockHBoxsaveCurrentwordhorizontalPostProcess withNewStylemkHboxWithRatio createText drawTextLine drawWords drawPureWords drawTextGlueTextDrawingStateHGlueTextSomeHBox createWordsstartDrawingNewLineOfTextdrawLineOfHboxesdrawTheTextBox isSameStyle$fDisplayableBoxHBox $fBoxHBox $fShowHBox$fMaybeGlueHBoxmkVboxWithRatio createPara addParaLinetoVBoxes dilateVboxes drawContainer3$fParagraphStyleStandardParagraphStyleStandardStyle$fStyleStandardStyle'$fComparableStyleStandardParagraphStyle$fComparableStyleStandardStyleendFullyJustifiedrunPara addLettermyWords'myWordsunParaunTMTMStatetmStyle paraSettings pageSettingsdefaultTmState addHyphens$fMonadStylesPara$fMonadStylesTMcreateANewPage PDFTrailer createPDF saveObjectswriteObjectsAndCreateToc createStreamsgenerateStreamsdefaultPdfSettingscreateObjectByteStrings$fPdfLengthInfoPDFTrailer$fPdfObjectPDFTrailer