NT      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u vwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-InferredaChecks if the given value is and actual numeric value and not a concept like NaN or infinity. Version of  that returns a monadic value.(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT) Safe-Inferred++Copied from Graphics.Rendering.Cairo.Matrix The path type used by Charts.@A path can consist of several subpaths. Each is started by a \ operation. All subpaths are open, except the last one, which may be closed using the  F operation. When filling a path all subpaths are closed implicitly.eClosing a subpath means that a line is drawn from the end point to the start point of the subpath.If a  (or  ) is drawn a implicit line from the last end point of the subpath is drawn to the beginning of the arc. Another implicit line is drawn from the end of an arc to the beginning of the next path segment.:The beginning of a subpath is either (0,0) or set by a z instruction. If the first subpath is started with an arc the beginning of that subpath is the beginning of the arc.Edge of a rectangle.%A rectangle is defined by two points."A function mapping between points.A vector in two dimensions.#A point in two dimensions.' Convert a # to a .(Scale a vector by a constant.)Add a point and a vector.*Subtract a vector from a point.+Subtract two points.,:Create a rectangle based upon the coordinates of 4 points.-&Test if a point is within a rectangle..[Intersects the rectangles. If they intersect the intersection rectangle is returned. . is the empty rectangle / intersection and  is the infinite plane./Make a path from a rectangle.0-Move the paths pointer to the given location.1Short-cut for 0 , if you don't want to create a #.2YMove the paths pointer to the given location and draw a straight line while doing so.3Short-cut for 2 , if you don't want to create a #.44Draw the arc of a circle. A straight line connects the end of the previous path with the beginning of the arc. The zero angle points in direction of the positive x-axis. Angles increase in clock-wise direction. If the stop angle is smaller then the start angle it is increased by multiples of 2 * pi until is is greater or equal.5Short-cut for 4 , if you don't want to create a #.6Like 4N, but draws from the stop angle to the start angle instead of between them.7Short-cut for 6 , if you don't want to create a #.81A closed empty path. Closes a path when appended.9*Fold the given path to a monoid structure.:eEnriches the path with explicit instructions to draw lines, that otherwise would be implicit. See  7 for details about what lines in paths are implicit. Utility for :.;)Transform a point using the given matrix.<CRotate a point around the origin. The angle is given in radians.=Scale a point.>Translate a point.+Copied from Graphics.Rendering.Cairo.Matrix+Copied from Graphics.Rendering.Cairo.Matrix?+Copied from Graphics.Rendering.Cairo.Matrix@7Copied and adopted from Graphics.Rendering.Cairo.MatrixA7Copied and adopted from Graphics.Rendering.Cairo.MatrixBSCopied from Graphics.Rendering.Cairo.Matrix Rotations angle is given in radians.C+Copied from Graphics.Rendering.Cairo.MatrixD+Copied from Graphics.Rendering.Cairo.MatrixE+Copied from Graphics.Rendering.Cairo.Matrix+Copied from Graphics.Rendering.Cairo.MatrixxPaths are monoids. After a path is closed you can not append anything to it anymore. The empty path is open. Use 8 to close a path.I  !"#$%&'()*+,-./01234Center point of the circle arc.Redius of the circle.&Angle to start drawing at, in radians.%Angle to stop drawing at, in radians.56789MoveToLineToArcArcNegClose Path to fold:;<=>?@ABCDED  !"#$%&'()*+,-./0123456789:;<=>?@ABCDED#$%& !"',/)*+(-.  2031456789:;=<> ?BA@CDE.   !"#$%&'()*+,-./0123456789:;<=>?@ABCDE(c) Tim Docker 2014BSD-style (see chart/COPYRIGHT)None0F2Holds the point and coordinate alignment function.H[An adjustment applied immediately prior to points being displayed in device coordinates.When device coordinates correspond to pixels, a cleaner image is created if this transform rounds to the nearest pixel. With higher-resolution output, this transform can just be the identity function.0This is usually used to align prior to stroking.IMThe adjustment applied immediately prior to coordinates being transformed./This is usually used to align prior to filling.J:A function to align points for a certain rendering device.K$Abstract data type for a fill style.LThe contained action sets the required fill style in the rendering state.NText metrics returned by textSize.PThe total width of the text.Q'The ascent or space above the baseline.R'The decent or space below the baseline.SThe Y bearing.TThe total height of the text.U)Possible vertical anchor points for text.Z+Possible horizontal anchor points for text.^Data type for a font.`$The font family or font face to use.a6The height of the rendered font in device coordinates.bThe slant to render with.cThe weight to render with.dThe color to render text with.eThe possible weights of a font.f Bold font.g!Normal font style without weight.hThe possible slants of a font.iWith a greater slant.jWith a slight slant.k Normal font style without slant.l"Data type for the style of a line.n(The thickness of a line in device units.oThe color of a line.pThe dash pattern. Every value at a even index gives a dash width and every value at a odd index gives a gap width in device units.qHow to end a line.rHow to connect two lines.s/The different supported ways to join line ends.tCLike miter, but cuts it off if a certain threshold is exceeded.u*Draw a circle fragment to connet line end.v/Extends the outline until they meet each other.w"The different supported line ends.x!Make a square that ends the line.yMake a rounded line end.zJust cut the line straight.{The default font style.|-Alignment to render on raster based graphics.}-Alignment to render on vector based graphics.~The default fill style.The default font style.The default font weight.The default font slant.The default line style.GFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~BFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}Gwzyxsvutlmnopqrhkjiegf^_`abcd{Z]\[UYXWVNOPQRSTKLM~JFGHI|}FGHIJKLMNOPQRSTUYXWVZ]\[^_`abcdegfhkjilmnopqrsvutwzyx{|}~(c) Tim Docker 2014BSD-style (see chart/COPYRIGHT)None!"5Alias so the old name for rendering code still works.A 5 provides the capability to render a chart somewhere.uThe coordinate system of the backend has its initial origin (0,0) in the top left corner of the drawing plane. The x-axis points towards the top right corner and the y-axis points towards the bottom left corner. The unit used by coordinates, the font size, and lengths is the always the same, but depends on the backend. All angles are measured in radians.LThe line, fill and font style are set to their default values initially.]Information about the semantics of the instructions can be found in the documentation of .QThe abstract drawing operation generated when using the the chart drawing API.aSee the documentation of the different function for the correct semantics of each instruction:, , , , F, , , ;Stroke the outline of the given path using the current l. This function does not2 perform alignment operations on the path. See  $ for the exact semantic of paths.&Fill the given path using the current KK. The given path will be closed prior to filling. This function does not5 perform alignment operations on the path. See  ! for the exact semantic of paths. Calculate a N[ object with rendering information about the given string without actually rendering it.sDraw a single-line textual label anchored by the baseline (vertical) left (horizontal) point. Uses the current ^ for drawing.Apply the given transformation in this local environment when drawing. The given transformation is applied after the current transformation. This means both are combined.HUse the given font style in this local environment when drawing text.\An implementing backend is expected to guarentee to support the following font families: serif,  sans-serif and  monospace;If the backend is not able to find or load a given font it is required to fall back to a custom fail-safe font and use it instead.IUse the given fill style in this local environment when filling paths.JUse the given line style in this local environment when stroking paths.Use the given clipping rectangle when drawing in this local environment. The new clipping region is intersected with the given clip region. You cannot escape the clip! Get the point alignment function%Get the coordinate alignment function (c) Tim Docker 2014BSD-style (see chart/COPYRIGHT)NoneLFJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}LNOPQRSTwzyxsvutlmnopqrKLMegfhkji^_`abcd{Z]\[UYXWVJF}|(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)None24Abstract data type for the style of a plotted point.!The color to fill the point with.%The color to stroke the outline with.The width of the outline.;The radius of the tightest surrounding circle of the point. The shape.&The different shapes a point can have."Combination of a cross and a plus.A cross. A plus sign.(Number of vertices and is right-side-up? A circle.6Apply a local rotation. The angle is given in radians.Apply a local translation.Apply a local scale."Apply a local scale on the x-axis."Apply a local scale on the y-axis. Changes the l and K to comply with the given .<Align the path by applying the given function on all points.yAlign the path using the environment's alignment function for points. This is generally useful when stroking. See  and .}Align the path using the environment's alignment function for coordinates. This is generally useful when filling. See  and ."The points will be aligned by the W, so that when drawing bitmaps, 1 pixel wide lines will be centred on the pixels."The points will be aligned by the W, so that when drawing bitmaps, the edges of the region will fall between pixels.NAlign the point using the environment's alignment function for points. See .SAlign the point using the environment's alignment function for coordinates. See .NCreate a path by connecting all points with a line. The path is not closed.(Draw lines between the specified points.'Fill the region with the given corners.HDraw a line of text that is aligned at a different anchor point. See .Draw a textual label anchored by one of its corners or edges, with rotation. Rotation angle is given in degrees, rotation is performed around anchor point. See .Draw a multi-line textual label anchored by one of its corners or edges, with rotation. Rotation angle is given in degrees, rotation is performed around anchor point. See .6Calculate the correct offset to align the text anchor.<Calculate the correct offset to align the horizontal anchor.:Calculate the correct offset to align the vertical anchor.YReturn the bounding rectangle for a text string positioned where it would be drawn by  . See .=Get the width and height of the string when rendered. See .Default style for points.*Draw a single point at the given location.WThe default sequence of colours to use when plotings different data sets in a graph.'Create a solid line style (not dashed).Create a dashed line style.Style for filled circle points. Style for stroked circle points.!Style for stroked polygon points. Style for filled polygon points.Plus sign point style.Cross point style.*Combination of plus and cross point style.6Fill style that fill everything this the given colour. Default style to use for points.9&Style to use when rendering the point. Position of the point to render.Width of line.Colour of line.Width of line.'The dash pattern in device coordinates.Colour of line.Radius of circle. Fill colour.Radius of circle.Thickness of line.Radius of circle.Thickness of line.Number of vertices.Is right-side-up?Colour of line.Radius of circle.Number of vertices.Is right-side-up? Fill color.&Radius of tightest surrounding circle.Thickness of line.Color of line.Radius of circle.Thickness of line.Color of line.Radius of circle.Thickness of line.Color of line.FJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}4.(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)NoneBA type class abtracting the conversion of a value to a Renderable.NA Renderable is a record of functions required to layout a graphic element.-Calculate the minimum size of the renderable.RDraw the renderable with a rectangle, which covers the origin to a given point.DThe resulting "pick" function maps a point in the image to a value.AA function that maps a point in device coordinates to some value.WPerhaps it might be generalised from Maybe a to (MonadPlus m ) => m a in the future.8Create a blank renderable with a specified minimum size.SCreate a blank renderable with a minimum size the same as some other renderable.7Replace the pick function of a renderable with another.LMap a function over the result of a renderable's pickfunction, keeping only  results.:Map a function over result of a renderable's pickfunction..Add some spacing at the edges of a renderable.2Overlay a renderable over a solid background fill.THelper function for using a renderable, when we generate it in the CRender monad.AConstruct a renderable from a text string, aligned with the axes.Construct a renderable from a text string, rotated wrt to axes. The angle of rotation is in degrees, measured clockwise from the horizontal.$The spacing to be added.The source renderable.""(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)None#iCollect the information we need to render an axis. The bool is true if the axis direction is reversed.XA function to generate the axis data, given the data values to be plotted against it..Control values for how an axis gets displayed.l to use for axis line and ticks.^ to use for axis labels.l to use for axis grid.1How far the labels are to be drawn from the axis.@The basic data associated with an axis showing values of type x.+Which parts of the axis shall be displayed.@The _axis_viewport function maps values into device coordinates.CThe _axis_tropweiv function maps device coordinates back to values. The tick marks on the axis as pairs. The first element is the position on the axis (in viewport units) and the second element is the length of the tick in output coordinates. The tick starts on the axis, and positive numbers are drawn towards the plot area. The labels on an axis as pairs. The first element of the pair is the position on the axis (in viewport units) and the second is the label text string. Note that multiple sets of labels can be specified, and are shown successively further away from the axis line. RThe positions on the axis (in viewport units) where we want to show grid lines. _Configures whick visual elements of a axis are shown at the appropriate edge of a plot area.)Whether to display a line along the axis."Whether to display the tick marks.Whether to display the labels.[A typeclass abstracting the functions we need to be able to plot against an axis of type aConstruct a renderable from an axis, in order that it can be composed with other renderables and drawn. This does not include the drawing of the grid, which must be done separately by the  function.*Modifier to remove grid lines from an axis9Modifier to position grid lines to line up with the ticksDModifier to position grid lines to line up with only the major ticks:Modifier to position grid lines to line up with the labels$Modifier to change labels on an axisOCalculate the amount by which the labels extend beyond the ends of the axis.eConstruct an axis given the positions for ticks, grid lines, and labels, and the labelling functionvConstruct an axis given the positions for ticks, grid lines, and labels, and the positioning and labelling functions The default l of an axis.  The default l of a plot area grid."3A linear mapping of points in one range to another.#PThe inverse mapping from device co-ordinate range back to interesting values.$3A linear mapping of points in one range to another.%>An inverse linear mapping of points from one range to another.+By default all parts of a axis are visible.D      !"#$%&'()*+,-./0128      !"#$%&'()*+,-./0128     ! "#$%'(&.-,+*)21/00      !"#$%&'()*+,-./012(c) Tim Docker 2010, 2014BSD-style (see chart/COPYRIGHT)NoneB 5*The function used to show the axes labels.8*The function used to show the axes labels.9(The target number of labels to be shown.:'The target number of ticks to be shown.;XA wrapper class for doubles used to indicate they are to be plotted against a log axis.=_A wrapper class for doubles used to indicate they are to be plotted against a percentage axis.A0Generate a linear axis with the specified boundsBOGenerate a linear axis automatically, scaled appropriately for the input data.CGiven a target number of values, and a list of input points, find evenly spaced values from the set {1*X, 2*X, 2.5*X, 5*X} (where X is some power of ten) that evenly cover the input points.EJGenerate a log axis automatically, scaled appropriate for the input data.#3456789:;<=>?@ABCDEFGHI3456789:;<=>?@ABCDEFGHI=>?6789:;<345@DABECFGHI3456789:;<=>?@ABCDEFGHI (c) Tim Docker 2010, 2014BSD-style (see chart/COPYRIGHT)NoneJKL  JKLJLKJKL  (c) Tim Docker 2010, 2014BSD-style (see chart/COPYRIGHT)None PHow to display a timeQHTimeSeq is a (potentially infinite) set of times. When passed a reference time, the function returns a a pair of lists. The first contains all times in the set less than the reference time in decreasing order. The second contains all times in the set greater than or equal to the reference time, in increasing order.R+Map a LocalTime value to a plot coordinate. %Map a plot coordinate to a LocalTime.S Create an  to for a time axis.BThe values to be plotted against this axis can be created with R. A Q for hours.TA Q for calendar days.UA Q for calendar months.VA Q for calendar years. A Q for no sequence at all.WAutomatically choose a suitable time axis, based upon the time range of data. The values to be plotted against this axis can be created with R.MNOPQR SLSet the minor ticks, and the final range will be aligned to its elements.Set the labels and grid.Set the second line of labels.Format  for labels. TUV W MNOPQRSTUVW QPMONSWTUVRMONPQR S TUV W (c) Tim Docker 2010BSD-style (see chart/COPYRIGHT)NoneXXXX (c) Tim Docker 2010, 2014BSD-style (see chart/COPYRIGHT)NoneBYkType for capturing values plotted by index number (ie position in a list) rather than a numerical value.\9Augment a list of values with index numbers for plotting.]`Create an axis for values indexed by position. The list of strings are the labels to be used.YZ[\] YZ[\]YZ[]\YZ[\] (c) Tim Docker 2006BSD-style (see chart/COPYRIGHT)Nonec      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] (c) Tim Docker 2010, 2014BSD-style (see chart/COPYRIGHT)None^&Abstract datatype representing a grid.!An empty 0x0 grid cell."An empty 1x1 grid cell.#+Two grids positioned one over the other.$*One grid horizontally beside the other.%One grid above the other. SizeD is their cached total size (so it is NOT specified manually).&mA singleton grid item "a" spanning a given rectangle (measured in grid cells), with given space weight._When more space is available for an item than the total width of items, extra added space is proportional to 'space weight'.c3A 1x1 grid from a given value, with no extra space.dKA WxH (measured in cells) grid from a given value, with space weight (1,1).eA 1x1 empty grid.fA 0x0 empty grid.hCA value occupying 1 row with the same horizontal span as the grid.i\A value placed below the grid, occupying 1 row with the same horizontal span as the grid.jfA value placed to the left of the grid, occupying 1 column with the same vertical span as the grid.kgA value placed to the right of the grid, occupying 1 column with the same vertical span as the grid.l<A value placed under a grid, with the same span as the grid.m;A value placed over a grid, with the same span as the grid.qKOne grid over the other. The first argument is shallow, the second is deep.rA synonym for n.sA synonym for g.tASets the space weight of *every* cell of the grid to given value.*'()^!"#$%&*_+`abcdefghijklmnopqrst,-./0u12^_`abcdefghijklmnopqrstu^`_cdefrsgonpqabutihjklm$'()^&%$#"!*_+`abcdefghijklmnopqrst,-./0u12(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)NonexLegends can be constructed in two orientations: in rows (where we specify the maximum number of columns), and in columns (where we specify the maximum number of rows)vwxyz{|}~3456vwxyz{|}~vw{|}~xzy vwxzy{|}~3456(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)None=A type class abstracting the conversion of a value to a Plot.+Interface to control plotting on a 2D area.kGiven the mapping between model space coordinates and device coordinates, render this plot into a chart.Details for how to show this plot in a legend. For each item the string is the text to show, and the function renders a graphical sample of the plot.jAll of the model space coordinates to be plotted. These are used to autoscale the axes where necessary.7Join any two plots together (they will share a legend).   (c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)NoneoValue defining some hidden x and y values. The values are not displayed, but they still affect axis scaling.77(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)None_Value defining a series of (possibly disjointed) lines, and a style in which to render them.The lines to be plottedqAdditional lines to be plotted, specified using the Limit type to allow referencing the edges of the plot area.1Helper function to plot a single horizontal line./Helper function to plot a single vertical line.89:; 89:;(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)NoneNValue defining a series of datapoints, and a style in which to render them. <=>?   <=>?(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)NonejValue specifying a plot filling the area between two sets of Y coordinates, given common X coordinates.@ABCDE   @ABCDE(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)NoneSValue defining a series of error intervals, and a style in which to render them.EValue for holding a point with associated error bounds for each axis.DWhen the error is symmetric, we can simply pass in dx for the error.FGHIJFGHIJ(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)NoneA Value holding price intervals for a given x-coord. An alternative view is that these are statistical intervals: the 0th, 25th, 50th, 75th, and 100th percentiles.Value defining a financial interval: opening and closing prices, with maxima and minima; and a style in which to render them. By convention, there are different fill styles depending on whether the price rises (open < close) or falls (close < open). (This plot type can also be re-purposed for statistical intervals, e.g. minimum, first quartile, median, third quartile, maximum.)"KLMNO KLMNO(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)NoneValue describing how to plot a set of bars. Note that the input data is typed [(x,[y])], ie for each x value we plot several y values. Typically the size of each [y] list would be the same.gThis value specifies whether each value from [y] should be shown beside or above the previous value.The style in which to draw each element of [y]. A fill style is required, and if a linestyle is given, each bar will be outlined.DThe title of each element of [y]. These will be shown in the legend.This value controls how the widths of the bars are calculated. Either the widths of the bars, or the gaps between them can be fixed.sThis value controls how bars for a fixed x are aligned with respect to the device coordinate corresponding to x..The starting level for the chart (normally 0). The actual points to be plotted.kHow bars for a given (x,[y]) are aligned with respect to screen coordinate corresponding to x (deviceX).$The right edge of bars is at deviceX Bars are centered around deviceX#The left edge of bars is at deviceXk(BarsFixGap g mw) means make the gaps between the bars equal to g, but with a minimum bar width of mw'All bars have the same width in pixels.=Bars for a fixed x are put horizontally beside each other.BBars for a fixed x are stacked vertically on top of each other.)PQRSTUVW     !     !      PQRSTUVW     (c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)NoneValue for describing a series of text annotations to be placed at arbitrary points on the graph. Annotations can be rotated and styled.CAngle, in degrees, to rotate the annotation about the anchor point.XYZ   XYZ(c) Malcolm Wallace 2009BSD-style (see COPYRIGHT file)NoneA collection of unconnected spots, with x,y position, an independent z value to be represented by the area of the spot, and in addition, a fourth variable t to be represented by a colour from a given palette. (A linear transfer function from t to palette is assumed.)!the largest size of spot#~A collection of unconnected spots, with x,y position, and an independent z value to be represented by the area of the spot.*the largest size of spot( !"#$%&'()*+,[\-]^_`ab./0123456789:  !"#$%&'()*+,-./0123456789: #$%&'()*+,30/.214 !"-95876: !"#$%&'()*+,[\-]^_`ab./0123456789:(c) Tim Docker 2008, 2014  BSD-style (see chart/COPYRIGHT) None/;<=>?@ABCDEFGHIJKLMNOPQRcdefghijklSTUVWXYZ[\]^_%;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_%GHIJKLM@ABCDEF;<=>?PNORQVWUSTYX[Z\]^_;<=>?@ABCDEFGHIJKLMNOPQRcdefghijklSTUVWXYZ[\]^_(c) Tim Docker 2006BSD-style (see chart/COPYRIGHT)None      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_(c) Tim Docker 2006, 2014BSD-style (see chart/COPYRIGHT)None:MM`$A container for a set of vertically d:s. The x axis of the different layouts will be aligned.bFThe stacked layouts from top (first element) to bottom (last element).cGIf the different legends shall be combined in one legend at the bottom.dA layout with its y type hidden, so that it can be stacked with other layouts with differing y axis, but the same x axis. See `.eA g to stack.fA x to stack.gA LayoutLR value is a single plot area, with an x axis and independent left and right y axes, with a title at the top; legend at the bottom. It's parametrized by the types of values to be plotted on the x and two y axes.i)How to fill the background of everything.jUHow to fill the background of the plot, if different from the overall background.k!Title to display above the chart.l Font style to use for the title.mRules to generate the x axis.n$Visibility options for the top axis.o'Visibility options for the bottom axis.p"Rules to generate the left y axis.q%Visibility options for the left axis.r#Rules to generate the right y axis.s&Visibility options for the right axis.tThe data sets to plot in the chart. The are ploted over each other. The either type associates the plot with the left or right y axis.uHow to style the legend.vThe margin distance to use.w*If the grid shall be rendered beneath (False ) or over (True ) all plots.xA Layout value is a single plot area, with single x and y axis. The title is at the top and the legend at the bottom. It's parametrized by the types of values to be plotted on the x and y axes.z)How to fill the background of everything.{UHow to fill the background of the plot, if different from the overall background.|!Title to display above the chart.} Font style to use for the title.~Rules to generate the x axis.$Visibility options for the top axis.'Visibility options for the bottom axis.Rules to generate the y axis.%Visibility options for the left axis.&Visibility options for the right axis.FThe data sets to plot in the chart. The are ploted over each other.How to style the legend.The margin distance to use.*If the grid shall be rendered beneath (False ) or over (True ) all plots.2Information on what is at a specifc location of a x or g. This is delivered by the  of a ..The right y axis at the given plot coordinate.-The left y axis at the given plot coordinate./The bottom x axis at the given plot coordinate.,The top x axis at the given plot coordinate.,The plot area at the given plot coordinates.The title of the right y axis.The title of the left y axis.The title of the bottom x axis.The title of the top x axis. The title.A legend entry.Type of axis that is used in x and g."To generate the actual axis type ( and  ) the < function is called and custom settings are applied with . Note that the   values in x and g6 override visibility related settings of the axis.%Font style to use for the axis title.Title displayed for the axis.Axis style applied.^Function that generates the axis data, based upon the points plotted. The default value is .WFunction that can be used to override the generated axis data. The default value is m.CTrue if left to right (bottom to top) is to show descending values.A MAxisFn_ is a function that generates an (optional) axis given the points plotted against that axis.Render the given x.n Extract all os from the plots of a x.pRender the given os for a x.qRender the plot area of a xV. This consists of the actual plot area with all plots, the axis and their titles.Render the given g.r Extract all os from the plots of a g:. Left and right plot legend items are still separated.sRender the given os for a g.Render several layouts with the same x-axis type and range, vertically stacked so that their origins and x-values are aligned.gThe legends from all the charts may be optionally combined, and shown once on the bottom chart. See ` for further information.t@Render the grids of the given axis to a plot area of given size.u4Swap the contents of the pair depending on the flag.v`Render a single set of plot data onto a plot area of given size using the given x and y axis.wDConstruct a axis for the given edge using the attributes from a  the given values.x=Override the visibility of a selected axis with the selected  .yEmpty g without title and plots. The background is white and the grid is drawn beneath all plots. There will be a legend. The top axis will not be visible.zA empty d with compressions applied.{Empty x without title and plots. The background is white and the grid is drawn beneath all plots. There will be a legend. The top and right axis will not be visible.=Helper to update all axis styles on a Layout1 simultaneously.>Helper to update all axis styles on a LayoutLR simultaneously.8Helper to set the forground color uniformly on a Layout.:Helper to set the forground color uniformly on a LayoutLR.|}~`abcdefghijklmnopqrstuvwxyz{|}~onpqrstuvwxyz{k`abcdefghijklmnopqrstuvwxyz{|}~kxyz{|}~ghijklmnopqrstuvw`abcdfeP|}~`abcdfeghijklmnopqrstuvwxyz{|}~o npqrstuvwxyz{>(c) Hitesh Jasani, 2008, Malcolm Wallace 2011, Tim Docker 2014BSD3None3Options to render the sparklines in different ways.smooth or bars step sizegraph height (pixels)data point limitsbackground colorcolor of minimum datapointcolor of maximum datapointcolor of last datapointdisplay minimum markerdisplay maximum markerdisplay last markerA sparkline is a single sequence of data values, treated as y-values. The x-values are anonymous and implicit in the sequence.'Default options for a smooth sparkline.)Default options for a barchart sparkline.%Create a renderable from a SparkLine.9Compute the width of a SparkLine, for rendering purposes.-Return the width and height of the SparkLine.(Render a SparkLine to a drawing surface.  (c) Tim Docker 2006-2013BSD-style (see chart/COPYRIGHT)None  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]vwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !""#$%&'()*+,-./01234567789:;<==>?@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abbcdefghiijklmnopqrstuvwxxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDDEFFGHIJJKKLMNOPQRSTUV W X Y Z [ \ ] ^ _ ` a b c d e f f g h i j k l m n o p q r s t u v w x y z { | } ~           !"#$%&'()*+,-./01234567789:;;<=>?@AABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]\^^_`abcdefghijklmnnopqrstuvwxyz{|}~                                   ! " # $ % & ' ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsstuvwxyz{|}~ Chart-1.2.3Graphics.Rendering.Chart.Utils!Graphics.Rendering.Chart.Geometry&Graphics.Rendering.Chart.Backend.Types%Graphics.Rendering.Chart.Backend.Impl Graphics.Rendering.Chart.Drawing#Graphics.Rendering.Chart.Renderable#Graphics.Rendering.Chart.Axis.Types&Graphics.Rendering.Chart.Axis.Floating!Graphics.Rendering.Chart.Axis.Int'Graphics.Rendering.Chart.Axis.LocalTime"Graphics.Rendering.Chart.Axis.Unit%Graphics.Rendering.Chart.Axis.IndexedGraphics.Rendering.Chart.GridGraphics.Rendering.Chart.Legend#Graphics.Rendering.Chart.Plot.Types$Graphics.Rendering.Chart.Plot.Hidden#Graphics.Rendering.Chart.Plot.Lines$Graphics.Rendering.Chart.Plot.Points)Graphics.Rendering.Chart.Plot.FillBetween%Graphics.Rendering.Chart.Plot.ErrBars$Graphics.Rendering.Chart.Plot.Candle"Graphics.Rendering.Chart.Plot.Bars(Graphics.Rendering.Chart.Plot.Annotation'Graphics.Rendering.Chart.Plot.AreaSpots!Graphics.Rendering.Chart.Plot.PieGraphics.Rendering.Chart.Layout"Graphics.Rendering.Chart.SparkLine Graphics.Rendering.Chart.BackendGraphics.Rendering.Chart.AxisGraphics.Rendering.Chart.PlotGraphics.Rendering.Chart isValidNumbermaybeMMatrixxxyxxyyyx0y0PathCloseEndArcNegArcLineToMoveToRectSizeRangeRectEdgeE_RightE_LeftE_BottomE_TopRect PointMapFnLimitLMaxLValueLMinVectorv_xv_yPointp_xp_y pointToVecvscalepvaddpvsubpsubmkrectwithin intersectRectrectPathmoveTomoveTo'lineTolineTo'arcarc'arcNegarcNeg'closefoldPathmakeLinesExplicit transformProtatePscaleP translatePidentity translatescalerotatescalarMultiplyadjointinvert AlignmentFnsafPointAlignFnafCoordAlignFn AlignmentFn FillStyleFillStyleSolid _fill_colourTextSize textSizeWidthtextSizeAscenttextSizeDescenttextSizeYBearingtextSizeHeight VTextAnchor VTA_BaseLine VTA_Bottom VTA_CentreVTA_Top HTextAnchor HTA_Right HTA_CentreHTA_Left FontStyle _font_name _font_size _font_slant _font_weight _font_color FontWeightFontWeightBoldFontWeightNormal FontSlantFontSlantObliqueFontSlantItalicFontSlantNormal LineStyle _line_width _line_color _line_dashes _line_cap _line_joinLineJoin LineJoinBevel LineJoinRound LineJoinMiterLineCap LineCapSquare LineCapRound LineCapButtdefaultFontStylebitmapAlignmentFnsvectorAlignmentFns$fDefaultFillStyle$fDefaultFontStyle$fDefaultFontWeight$fDefaultFontSlant$fDefaultLineStyleline_cap line_color line_dashes line_join line_width font_color font_name font_size font_slant font_weightCRender ChartBackendChartBackendInstrWithClipRegion WithLineStyle WithFillStyle WithFontStyle WithTransform GetAlignmentsDrawText GetTextSizeFillPath StrokePath strokePathfillPathtextSizedrawText withTransform withFontStyle withFillStyle withLineStylewithClipRegiongetPointAlignFngetCoordAlignFn PointStyle _point_color_point_border_color_point_border_width _point_radius _point_shape PointShapePointShapeStarPointShapeCrossPointShapePlusPointShapePolygonPointShapeCircle withRotationwithTranslation withScale withScaleX withScaleYwithPointStylewithDefaultStyle alignPathalignStrokePath alignFillPathalignStrokePointsalignFillPointsalignStrokePointalignFillPointstrokePointPath fillPointPath drawTextA drawTextR drawTextsR textDrawRect textDimensiondefaultPointStyle drawPointdefaultColorSeq solidLine dashedLine filledCircles hollowCircles hollowPolygon filledPolygonplussesexesstarssolidFillStylepoint_border_colorpoint_border_width point_color point_radius point_shape Rectangle _rect_minsize_rect_fillStyle_rect_lineStyle_rect_cornerStyleRectCornerStyleRCornerRounded RCornerBevel RCornerSquare ToRenderable toRenderable RenderableminsizerenderPickFn nullPickFnemptyRenderablespacerspacer1 setPickFnmapMaybePickFn mapPickFn addMarginsfillBackgroundembedRenderablelabelrlabelrectangleToRenderablerect_cornerStylerect_fillStylerect_lineStyle rect_minsizeAxisTAxisFn AxisStyle_axis_line_style_axis_label_style_axis_grid_style_axis_label_gapAxisData_axis_visibility_axis_viewport_axis_tropweiv _axis_ticks _axis_labels _axis_gridAxisVisibility_axis_show_line_axis_show_ticks_axis_show_labels PlotValuetoValue fromValueautoAxisaxisToRenderable axisGridHideaxisGridAtTicksaxisGridAtBigTicksaxisGridAtLabelsaxisLabelsOverride axisOverhangrenderAxisGridmakeAxis makeAxis'defaultAxisLineStyledefaultGridLineStyledefaultAxisStylevmapinvmaplinMap invLinMapaxis_show_labelsaxis_show_lineaxis_show_ticks axis_grid axis_labels axis_ticks axis_tropweiv axis_viewportaxis_visibilityaxis_grid_styleaxis_label_gapaxis_label_styleaxis_line_style LogAxisParams _loga_labelfLinearAxisParams _la_labelf _la_nLabels _la_nTicksLogValuePercent unPercentdefaultLinearAxis scaledAxisautoScaledAxis autoStepsdefaultLogAxisautoScaledLogAxis la_labelf la_nLabels la_nTicks loga_labelfdefaultIntAxisautoScaledIntAxis scaledIntAxisTimeLabelAlignment BetweenTicks UnderTicks TimeLabelFnTimeSeqdoubleFromLocalTimetimeAxisdaysmonthsyears autoTimeAxisunitAxis PlotIndex plotindex_i addIndexes autoIndexAxisGrid SpaceWeightSpanwidthheighttvaltspanemptynulltabove wideAbove aboveWide tallBeside besideTallfullOverlayUnderfullOverlayOverbesideaboveNbesideNoverlay.|../.weightsgridToRenderableLegendLegendOrientationLOColsLORows LegendStyle_legend_label_style_legend_margin_legend_plot_size_legend_orientationlegendToRenderabledefaultLegendStylelegend_label_style legend_marginlegend_orientationlegend_plot_sizeToPlottoPlotPlot _plot_render _plot_legend_plot_all_pointsjoinPlotmapXYplot_all_points plot_legend plot_render PlotHidden_plot_hidden_x_values_plot_hidden_y_valuesplot_hidden_x_valuesplot_hidden_y_values PlotLines_plot_lines_title_plot_lines_style_plot_lines_values_plot_lines_limit_valuesdefaultPlotLineStyledefaultPlotLines hlinePlot vlinePlotplot_lines_limit_valuesplot_lines_styleplot_lines_titleplot_lines_values PlotPoints_plot_points_title_plot_points_style_plot_points_valuesdefaultPlotPointsplot_points_styleplot_points_titleplot_points_valuesPlotFillBetween_plot_fillbetween_title_plot_fillbetween_style_plot_fillbetween_valuesdefaultPlotFillBetweenplot_fillbetween_styleplot_fillbetween_titleplot_fillbetween_values PlotErrBars_plot_errbars_title_plot_errbars_line_style_plot_errbars_tick_length_plot_errbars_overhang_plot_errbars_valuesErrPointep_xep_yErrValueev_lowev_bestev_high symErrPointdefaultPlotErrBarsplot_errbars_line_styleplot_errbars_overhangplot_errbars_tick_lengthplot_errbars_titleplot_errbars_valuesCandlecandle_x candle_low candle_open candle_mid candle_close candle_high PlotCandle_plot_candle_title_plot_candle_line_style_plot_candle_fill_plot_candle_rise_fill_style_plot_candle_fall_fill_style_plot_candle_tick_length_plot_candle_width_plot_candle_centre_plot_candle_valuesdefaultPlotCandleplot_candle_centreplot_candle_fall_fill_styleplot_candle_fillplot_candle_line_styleplot_candle_rise_fill_styleplot_candle_tick_lengthplot_candle_titleplot_candle_valuesplot_candle_widthPlotBars_plot_bars_style_plot_bars_item_styles_plot_bars_titles_plot_bars_spacing_plot_bars_alignment_plot_bars_reference_plot_bars_singleton_width_plot_bars_valuesPlotBarsAlignment BarsRight BarsCenteredBarsLeftPlotBarsSpacing BarsFixGap BarsFixWidth PlotBarsStyle BarsClustered BarsStacked BarsPlotValue barsReferencebarsAdddefaultPlotBarsplotBarsplot_bars_alignmentplot_bars_item_stylesplot_bars_referenceplot_bars_singleton_widthplot_bars_spacingplot_bars_styleplot_bars_titlesplot_bars_valuesPlotAnnotation_plot_annotation_hanchor_plot_annotation_vanchor_plot_annotation_angle_plot_annotation_style_plot_annotation_valuesdefaultPlotAnnotationplot_annotation_angleplot_annotation_hanchorplot_annotation_styleplot_annotation_valuesplot_annotation_vanchor AreaSpots4D_area_spots_4d_title_area_spots_4d_linethick_area_spots_4d_palette_area_spots_4d_opacity_area_spots_4d_max_radius_area_spots_4d_values AreaSpots_area_spots_title_area_spots_linethick_area_spots_linecolour_area_spots_fillcolour_area_spots_opacity_area_spots_max_radius_area_spots_valuesdefaultAreaSpotsdefaultAreaSpots4Darea_spots_fillcolourarea_spots_linecolourarea_spots_linethickarea_spots_max_radiusarea_spots_opacityarea_spots_titlearea_spots_valuesarea_spots_4d_linethickarea_spots_4d_max_radiusarea_spots_4d_opacityarea_spots_4d_palettearea_spots_4d_titlearea_spots_4d_valuesPieItem _pitem_label _pitem_offset _pitem_valuePieChart _pie_data _pie_colors_pie_label_style_pie_label_line_style_pie_start_angle PieLayout _pie_title_pie_title_style _pie_plot_pie_background _pie_margindefaultPieChartdefaultPieItemdefaultPieLayoutpieChartToRenderablepieToRenderablepie_background pie_marginpie_plot pie_titlepie_title_style pie_colorspie_datapie_label_line_stylepie_label_stylepie_start_angle pitem_label pitem_offset pitem_valueStackedLayouts_slayouts_layouts_slayouts_compress_legend StackedLayoutStackedLayoutLRLayoutLR_layoutlr_background_layoutlr_plot_background_layoutlr_title_layoutlr_title_style_layoutlr_x_axis_layoutlr_top_axis_visibility _layoutlr_bottom_axis_visibility_layoutlr_left_axis_layoutlr_left_axis_visibility_layoutlr_right_axis_layoutlr_right_axis_visibility_layoutlr_plots_layoutlr_legend_layoutlr_margin_layoutlr_grid_lastLayout_layout_background_layout_plot_background _layout_title_layout_title_style_layout_x_axis_layout_top_axis_visibility_layout_bottom_axis_visibility_layout_y_axis_layout_left_axis_visibility_layout_right_axis_visibility _layout_plots_layout_legend_layout_margin_layout_grid_last LayoutPickLayoutPick_YRightAxisLayoutPick_YLeftAxisLayoutPick_XBottomAxisLayoutPick_XTopAxisLayoutPick_PlotAreaLayoutPick_YRightAxisTitleLayoutPick_YLeftAxisTitleLayoutPick_XBottomAxisTitleLayoutPick_XTopAxisTitleLayoutPick_TitleLayoutPick_Legend LayoutAxis_laxis_title_style _laxis_title _laxis_style_laxis_generate_laxis_override_laxis_reverseMAxisFnlayoutToRenderablelayoutLRToRenderabledefaultStackedLayoutsrenderStackedLayoutsdefaultLayoutAxislayout_backgroundlayout_bottom_axis_visibilitylayout_grid_lastlayout_left_axis_visibility layout_legend layout_marginlayout_plot_background layout_plotslayout_right_axis_visibility layout_titlelayout_title_stylelayout_top_axis_visibility layout_x_axis layout_y_axislayoutlr_backgroundlayoutlr_bottom_axis_visibilitylayoutlr_grid_lastlayoutlr_left_axislayoutlr_left_axis_visibilitylayoutlr_legendlayoutlr_marginlayoutlr_plot_backgroundlayoutlr_plotslayoutlr_right_axislayoutlr_right_axis_visibilitylayoutlr_titlelayoutlr_title_stylelayoutlr_top_axis_visibilitylayoutlr_x_axislaxis_generatelaxis_override laxis_reverse laxis_style laxis_titlelaxis_title_styleslayouts_compress_legendslayouts_layoutsupdateAllAxesStylesupdateAllAxesStylesLRsetLayoutForegroundsetLayoutLRForeground SparkOptions so_smoothso_step so_height so_limits so_bgColor so_minColor so_maxColor so_lastColor so_minMarker so_maxMarker so_lastMarker SparkLine sl_optionssl_data smoothSparkbarSparksparkLineToRenderable sparkWidth sparkSizerenderSparkLinebase Data.MaybemaybemakeLinesExplicit' pointwise pointwise2 $fNumMatrix $fMonoidPathstepPath adjustText adjustTextX adjustTextY$fDefaultPointStyleJust$fToRenderableRectangle$fDefaultRectangle$fDefaultAxisVisibility minsizeAxis labelTextsmaximum0 renderAxis hBufferRect noOverlaps rectsOverlapeachNth withinRect axisMapping$fDefaultAxisStyleshowDsteps chooseSteplogTickslog10$fDefaultLogAxisParams$fDefaultLinearAxisParams$fPlotValueLogValue$fShowLogValue$fPlotValuePercent $fShowPercent$fPlotValueDoublestepsInt$fPlotValueInteger$fPlotValueIntlocalTimeFromDoublehoursnoTimecoverTS enumerateTSelemTS time-1.4.2Data.Time.LocalTime.LocalTime LocalTimenormalizeTimeOfDayaddTod truncateTo secondSeqmillis1millis10 millis100seconds fiveSeconds minuteSeqminutes fiveMinutes$fPlotValueLocalTime $fPlotValue()$fPlotValuePlotIndexNullEmptyOverlayBesideAboveValueDArrayFlatElFlatGridCellSizemapGridMflattenflatten2foldTgetSizes$fToRenderableGrid $fFunctorGridgroupsjoin_nub$fDefaultLegendStyle$fToRenderableLegend$fToPlotPlotHiddenrenderPlotLinesrenderPlotLegendLines$fDefaultPlotLines$fToPlotPlotLinesrenderPlotPointsrenderPlotLegendPoints$fDefaultPlotPoints$fToPlotPlotPointsrenderPlotFillBetweenrenderPlotFillBetween'renderPlotLegendFillplotAllPointsFillBetween$fDefaultPlotFillBetween$fToPlotPlotFillBetweenrenderPlotErrBars drawErrBar0renderPlotLegendErrBars$fDefaultPlotErrBars$fToPlotPlotErrBarsrenderPlotCandle drawCandlerenderPlotLegendCandle$fDefaultPlotCandle$fToPlotPlotCandlerenderPlotBarswhenJust allBarPointsstackrenderPlotLegendBars$fDefaultPlotBars$fBarsPlotValueInt$fBarsPlotValueDoublerenderAnnotation$fDefaultPlotAnnotation$fToPlotPlotAnnotationrenderAreaSpotsrenderSpotLegendrenderAreaSpots4DrenderSpotLegend4D$fToPlotAreaSpots4D$fDefaultAreaSpots4D$fToPlotAreaSpots$fDefaultAreaSpots extraSpace minsizePie renderPie label_rgap label_rlength$fToRenderablePieChart$fToRenderablePieLayout$fDefaultPieLayout$fDefaultPieItem$fDefaultPieChartGHC.BaseidgetLegendItems LegendItem renderLegendlayoutPlotAreaToGridgetLegendItemsLRrenderLegendLR renderGridsoptPairReverserenderSinglePlotmkAxisoverrideAxisVisibility$fDefaultLayoutLR$fDefaultStackedLayouts$fDefaultLayoutLayoutGridElements lge_plots lge_taxis lge_baxis lge_laxis lge_raxis lge_margingetLayoutXValsgetLayoutLRXValslayoutLRPlotAreaToGridaddMarginsToGridtitleToRenderablemkLegend buildGrid axesSpacermfill$fDefaultLayoutAxis$fToRenderableLayoutLR$fToRenderableLayout$fToRenderableSparkLine