!/      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe None 456=>?}4rainbox)A single cell in a spreadsheet-like grid.rainbox6The cell can have multiple rows of text; there is one  for each row of text.rainbox How this  should align compared to other  in its row.rainbox How this  should align compared to other  in its column.rainboxCBackground color for this cell. The background in the individual  in the cellRows are not affected by cellBackground ; instead, cellBackgroundg determines the color of necessary padding that will be added so that the cells make a uniform table.rainbox2Things that are oriented around a horizontal axis.rainbox*Number of lines above the horizontal axis.rainbox*Number of lines below the horizontal axis. rainbox0Things that are oriented around a vertical axis. rainbox(Length to the left of the vertical axis. rainbox)Length to the right of the vertical axis. rainbox1This typeclass is responsible for transforming a  into Rainbow  so they can be printed to your screen. This requires adding appropriate whitespace with the right colors, as well as adding newlines in the right places.rainboxBuilds a one-dimensional box of the given size; its single dimension is parallel to the axis. When added to a box, it will insert blank space of the given length. For a  &), this produces a horizontal line; for a  #, a vertical line.rainboxBuilds a one-dimensional box of the given size; its single dimension is perpendicular to the axis. This can be used to make a  # wider or a  & taller.rainboxA  is the central building block. It consists of zero or more payloads; each payload has the same orientation, which is either & or #C. This orientation also determines the orientation of the entire .A  is a C so you can combine them using the usual monoid functions. For a  #", the leftmost values added with  are at the top of the ; for a  &!, the leftmost values added with  are on the left side of the .rainboxA  holds a D, which determines the number and content of the screen rows. The  also has an )E, which specifies how the payload aligns with the axis. Whether the ) is & or #$ determines the orientation of the . The 2 also contains a background color, which is type 7. The background color extends continuously from the 8 in both directions that are perpendicular to the axis.rainbox,A list of screen rows; each screen row is a  of .A ` with width but no height does nothing if rendered alone, but it can affect the width of other  if combined with them.rainbox Each outer ' represents a single screen row. Each  has a height of 1. The outer 6 must have a length of at least 1, even if the inner  is empty. If the outer : has a length of zero, undefined behavior occurs. For a # with no height and no width, use .rainboxA  that has no height. If the  is less than 1, the . has no width and no height. Otherwise, the ' has no height but has the given width.rainboxDAn intermediate type used in rendering; it consists either of text : or of a number of spaces coupled with a background color.rainboxA  is either a single : or, if the box is blank, is merely a height and a width.rainboxA count of columns.!rainboxA count of rows.#rainbox5Determines how a payload aligns with a vertical axis.&rainbox7Determines how a payload aligns with a horizontal axis.)rainbox%Alignment. Used in conjunction with & and #;, this determines how a payload aligns with the axis of a .,rainboxSPlace this payload so that it is centered on the vertical axis or horizontal axis.-rainboxCenter horizontally; like ,, but monomorphic..rainboxCenter vertically; like ,, but monomorphic./rainbox4Place this payload's left edge on the vertical axis.0rainbox5Place this payload's right edge on the vertical axis.1rainbox5Place this payload's top edge on the horizontal axis.2rainbox8Place this payload's bottom edge on the horizontal axis.3rainbox Convert a  to a  of  for rendering.4rainbox Converts a  to a nested  of M in preparation for rendering. Newlines are added to the end of each line.5rainboxIAdds padding to the top and bottom of each Payload. A Payload with a Core is converted to a RodRows and has padding added; a Payload with a RodRows has necessary padding added to the top and bottom. The number of elements in the resulting Seq is the same as the number of elements in the input Seq; no merging is performed.6rainboxMerges multiple horizontal RodRows into a single RodRows. All RodRows must already have been the same height; if they are not the same height, undefined behavior occurs.7rainboxaSplit a number into two parts, so that the sum of the two parts is equal to the original number.8rainboxIAdds padding to the left and right of each Payload. A Payload with a Core is converted to a RodRows and has padding added; a Payload with a RodRows has necessary padding added to the left and right. The number of elements in the resulting Seq is the same as the number of elements in the input Seq; no merging is performed.9rainboxgMerge multiple vertical RodRows into a single RodRows. Each RodRows should already be the same width.:rainboxConstruct a box from a single .;rainboxvConstruct a blank box. Useful for adding in background spacers. For functions that build one-dimensional boxes, see  and .<rainboxWrap a  in another . Useful for changing a &  to a # one, or simply for putting a 9 inside another one to control size and background color.=rainboxConvert a box to a  of $ in preparation for rendering. Use  to convert the  of < to a list so that you can print it using the functions in Rainbow.>rainbox Renders a  to the given  . This uses  so consult that function for more details on how this works; generally it is going to use the maximum number of colors possible for your terminal.?rainboxUses > to render the given  to standard output.DrainboxCreates a blank Z with the given background color and width; useful for adding separators between columns.Erainbox Create a table where each inner  is a row of cells, from left to right. If necessary, blank cells are added to the end of a row to ensure that each row has the same number of cells as the longest row.Lrainbox Create a table where each inner  is a column of cells, from top to bottom. If necessary, blank cells are added to the end of a column to ensure that each column has the same number of cells as the longest column.SrainboxEnsures that each inner D is the same length by adding the given empty element where needed.Urainbox is ,.  takes the rightmost non-, value.prainbox combines two = horizontally so they are side-by-side, left-to-right. The , , and , fields are combined using their respective  instances.  uses the respective  value for each field.:rainbox/Background color. The background color in the 1 is not changed; this background is used if the  must be padded later on.;rainboxColor for the blank area.<rainboxAlignment for new ). This also determines whether the new  is & or #.rainboxBackground color for new boxU  !"#%$&(')+*,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU)+*&('#%$,-./012!" 3456789  :;<=>?@ABCDEFGHIJKLMNOPQRSTNonerainboxDescription for a table with rows of alternating background colors. For instance, if designed for a terminal with a white background, the row backgrounds might alternate between white and light grey. The different backgrounds help with readability.For the ) that are in the table, simply leave the O color blank if you wish to use the row's background color. Upon rendering,  bicolorTable will render the b with a background color that matches that of the row. If you specify a background color for a 5, it will override the background color for the row.7Note that a row may contain more than one line of text.Unlike tables built with E or L, all tables built with  bicolorTable1 will have separator colums between each column.rainboxBackground color for all even-numbered rows. Row numbering starts with zero. To use the terminal's default background color, use .rainboxBackground color for all odd-colored rows. Row numbering starts with zero. To use the terminal's default background color, use .rainbox)The width of each column of spacer cells.rainboxFSpecifies the alignment for each column in the table. If any row in  is longer than this 5, each extra column is assumed to have an alignment /.rainboxOSpecifies all the textual and color data for the BicolorTable. The outermost L is the set of all rows. These will alternate in background color bewteen  and %. This is a Russian doll of nested ,; the type synonyms help explain the types.rainboxThe set of all columns in a single row. If any single row is narrower than the widest row in the table, it will be padded with empty cells so that it is the same width as the widest row in the table.rainbox(The set of all lines within a cell in a .rainbox!A single line within a cell in a  . For each  , leave the  as the default if you want the  background to match  or -. If you specify a background color for any , it will for that ' override the table's background color.rainbox Transforms a  to a .rainbox5Creates a bi-color table and renders it to the given  using  bicolorTable and >.rainboxBCreates a bi-color table and renders it to standard output using .rainbox Convert a h for rendering by substituting the table's row background for the chunk's row background if applicable.rainbox Converts a  for rendering.rainbox Converts a  for rendering.rainboxTConvert a BicolorTable cell to a plain Cell. Does all necessary Chunk conversions.rainboxiConvert a BicolorTable row to a plain Row. Does all necessary Chunk conversions. Includes spacer cells.rainbox4Converts a BicolorTable table to a plain table with D. Does all necessary Chunk conversions, and includes spacer cells.rainbox Pads out R so that it is as long as the longest row in the table, and pads out each row in 8 so that it is as long as the longest row in the table.rainboxBackground for this rowrainboxAppropriate background colorrainboxColumn alignmentrainboxBackground color for even rowsrainboxBackground color for odd rowsrainboxWidth of spacer cellsrainboxNumber for this rowrainboxColumn alignmentsNone3 #&),-./012:;<=>?@ABCDEL3)&#,/012-. :;<=?>D@ABCELNonerainbox Create a Boxe for the given text. The default foreground and background colors of the terminal are used for the O; the given background is used as the background color for any added padding.rainboxCenters the given Box within a larger BoxH that has the given height and width and background color. The larger Box has the given  Alignment.rainboxRPuts the given text in the center of a box. The resulting box is center aligned.rainbox Converts a  to a list of Cell.rainboxNumber of rowsrainboxNumber of columnsrainboxBackground colorrainboxNumber of rowsrainboxNumber of columnsrainbox Background color for smaller boxrainboxBackground color for larger box))       !!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~&rainbox-0.26.0.0-8psgqeaWkw5qtg5pJmKYmRainbox Rainbox.CoreRainbox.BicolorTableRainbox.Tutorial Paths_rainboxCell_rows _horizontal _vertical _backgroundUpDownabovebelow LeftRightport starboard OrientationrodRowsspacerspreaderBoxPayloadRodRowsRodRowsWithHeightRodRowsNoHeightRodCoreHasWidthwidth HasHeightheightWidthHeightVerticalPort Starboard HorizontalTopBottom AlignmentCenter NonCentercentercenterHcenterVleftrighttopbottomrodRowsFromCorechunksFromRodRowsaddVerticalPaddinghorizontalMergesplitaddHorizontalPadding verticalMerge fromChunkblankwraprenderhPutBoxputBoxrows horizontalvertical background separator tableByRows rowToBoxV cellToBoxVtoBoxH addWidthMappadBoxV widestCellMaptableByColumns rowToBoxH cellToBoxH addHeightMaptallestCellMappadBoxHtoBoxVequalize mconcatSeq$fMonoidAlignment$fSemigroupAlignment$fHasHeightEither$fHasHeightChunk$fHasHeightHeight$fHasWidthEither$fHasWidthChunk$fHasWidthWidth$fHasHeightCore$fHasWidthCore $fHasWidthRod$fHasWidthRodRows$fHasHeightRodRows$fHasHeightPayload$fHasWidthPayload $fHasWidthBox$fHasHeightBox $fMonoidBox$fSemigroupBox$fOrientationHorizontal$fOrientationVertical$fHasWidthBox0$fLeftRightBox$fLeftRightPayload$fHasHeightBox0 $fUpDownBox$fUpDownPayload $fMonoidCell$fSemigroupCell $fEqAlignment$fOrdAlignment$fShowAlignment$fFunctorAlignment$fFoldableAlignment$fTraversableAlignment$fEqHorizontal$fOrdHorizontal$fShowHorizontal $fEqVertical $fOrdVertical$fShowVertical $fEqHeight $fOrdHeight $fShowHeight $fEqWidth $fOrdWidth $fShowWidth$fEqCore $fOrdCore $fShowCore$fEqRod$fOrdRod $fShowRod $fEqRodRows $fOrdRodRows $fShowRodRows $fEqPayload $fOrdPayload $fShowPayload$fEqBox$fOrdBox $fShowBox$fEqCell $fOrdCell $fShowCell BicolorTable_bctEvenBackground_bctOddBackground_bctSpacerWidth_bctAlignments_bctRowsBicolorTableRowBicolorTableCellBicolorTableCellLine$fShowBicolorTable bctAlignmentsbctEvenBackgroundbctOddBackgroundbctRowsbctSpacerWidthbicolorTableToBoxhPutBicolorTableputBicolorTableconvertChunkForRendering'convertBicolorTableCellLineForRendering#convertBicolorTableCellForRenderingbicolorToPlainCellbicolorToPlainRowbicolorToPlainTablepadBicolorTableStationname metroLinesaddress undergroundLineRedBlueOrangeGreenYellowSilvertextBoxwithin textWithinbox1 renderBox1box2 renderBox2box3 renderBox3box4 renderBox4box5 renderBox5nameCell linesCelllineRow addressCellundergroundCellstations coloredBack stationRowallStationRowsverticalStationTablerenderVerticalStationTable stationColumnallStationColumnshorizontalStationTablerenderHorizontalStationTable$fEqLine $fOrdLine $fShowLine $fEnumLineversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamecontainers-0.6.0.1Data.Sequence.InternalSeq'rainbow-0.34.2.2-7t24ufsHnNu3wfJNwSfztk Rainbow.TypesChunkbaseGHC.BaseMonoidmappendRadiantghc-prim GHC.TypesInt Data.FoldabletoListGHC.IO.Handle.TypesHandleRainbow.Translate hPutChunksmemptyRainbowback text-1.2.3.1Data.Text.InternalText