úι­Ç²      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°± (c) 2011 MailRank, Inc. BSD-stylebos@serpentine.com experimentalGHCNoneD %Unsafe conversion for decimal digits. The normal ²4 function with right associativity instead of left.4 NoneD ‚³´ (c) 2011 MailRank, Inc. BSD-stylebos@serpentine.com experimentalGHCNone1K.Render a value using its µ instance. 'Render an integral type in hexadecimal.   (c) 2011 MailRank, Inc. BSD-stylebos@serpentine.com experimentalGHCNone;=ƒ -The class of types that can be rendered to a ¶.    (c) 2011 MailRank, Inc. BSD-stylebos@serpentine.com experimentalGHCNonež24Pad the left hand side of a string until it reaches k7 characters wide, if necessary filling with character c.35Pad the right hand side of a string until it reaches k7 characters wide, if necessary filling with character c.4_Render a floating point number using normal notation, with the given number of decimal places.5`Render a floating point number using the smallest number of digits that correctly represent it.6KRender an integer using hexadecimal notation. (No leading "0x" is added.)40Number of digits of precision after the decimal.23456Safe&';=C17FA formatter. When you construct formatters the first type parameter, r8, will remain polymorphic. The second type parameter, aX, will change to reflect the types of the data that will be formatted. For example, in emyFormat :: Formatter r (Text -> Int -> r) myFormat = "Person's name is " % text % ", age is " % hex Pthe first type parameter remains polymorphic, and the second type parameter is Text -> Int -> r%, which indicates that it formats a · and an ¸.When you run the 7, for example with @F, you provide the arguments and they will be formatted into a string. g> format ("Person's name is " % text % ", age is " % hex) "Dave" 54 "Person's name is Dave, age is 36" :Concatenate two formatters.formatter1 % formatter2, is a formatter that accepts arguments for  formatter1 and  formatter2- and concatenates their results. For example Eformat1 :: Format r (Text -> r) format1 = "Person's name is " % text  %format2 :: Format r r format2 = ", "  9format3 :: Format r (Int -> r) format3 = "age is " % hex  RmyFormat :: Formatter r (Text -> Int -> r) myFormat = format1 % format2 % format3 !Notice how the argument types of format1 and format3 are gathered into the type of myFormat./(This is actually the composition operator for Format's ¹F instance, but that is (at present) inconvenient to use with regular Prelude2. So this function is provided as a convenience.);UFunction compose two formatters. Will feed the result of one formatter into another.<.Don't format any data, just output a constant ¶.='Monadic indexed bind for holey monoids.>2Functorial map over a formatter's input. Example: %format (mapf (drop 1) string) "hello"?Format a value of type a using a function of type a -> ¶. For example, later (f :: Int -> Builder) produces Format r (Int -> r).@$Run the formatter and return a lazy · value.A&Run the formatter and return a strict º value.BRun the formatter and return a ¶ value.C3Run the formatter and print out the text to stdout.D4Run the formatter and put the output onto the given ».E2Run the formatter and return a list of characters.F"The same as (%). At present using ¹G has an import overhead, but one day it might be imported as standard.GDUseful instance for writing format string. With this you can write Foo instead of  now "Foo!".IVUseful instance for applying two formatters to the same input argument. For example:  format (year <> "/" % month) now will yield  "2015/01".J&Not particularly useful, but could be.789:;<=>?@ABCDE789JIHGF:;<=>?@ABCDE789:9 ;8*(c) 2013 Chris Done, 2013 Shachaf Ben-KikiBSD3chrisdone@gmail.com experimentalGHCNoneQVk]#KOutput a lazy text.LOutput a strict text.MOutput a string.N%Output a showable value (instance of µ) by turning it into ·:@format ("Value number " % shown % " is " % shown % ".") 42 False"Value number 42 is False."OOutput a character.PBuild a builder.QLike ¼ but for formatters.R#Build anything that implements the  Buildable class.S/Render an integral e.g. 123 -> "123", 0 -> "0".TKRender some floating point with the usual notation, e.g. 123.32 => "123.32"U_Render a floating point number using normal notation, with the given number of decimal places.V`Render a floating point number using the smallest number of digits that correctly represent it.WRender a scientific number.X(Render a scientific number with options.Y,Shows the Int value of Enum instances using ½.4format ("Got: " % char % " (" % asInt % ")") 'a' 'a' "Got: a (97)"ZnPad the left hand side of a string until it reaches k characters wide, if necessary filling with character c.[oPad the right hand side of a string until it reaches k characters wide, if necessary filling with character c.\vPad the left & right hand side of a string until it reaches k characters wide, if necessary filling with character c.](Group integral numbers, e.g. groupInt 2 ¾ on 123456 -> "12.34.56".^0Fit in the given length, truncating on the left._1Fit in the given length, truncating on the right.`2Add commas to an integral, e.g 12000 -> "12,000".a6Add a suffix to an integral, e.g. 1st, 2nd, 3rd, 21st.b&English plural suffix for an integral.cRender an integral at base n.dORender an integer using binary notation. (No leading 0b is added.) Defined as bin = c 2.eNRender an integer using octal notation. (No leading 0o is added.) Defined as oct = c 8.fjRender an integer using hexadecimal notation. (No leading 0x is added.) Has a specialized implementation.g:Render an integer using binary notation with a leading 0b.h9Render an integer using octal notation with a leading 0o.i?Render an integer using hexadecimal notation with a leading 0x.¿KInternal function that converts a number to a base base-2 through base-36.ÀA simpler variant of  > that only prepends a dash and doesn't know about parenthesesÁLike , but handles up to base-36jERenders a given byte count using an appropiate decimal binary suffix:format (bytes shortest) 1024"1KB",format (bytes (fixed 2 % " ")) (1024*1024*5) "5.00 MB"jformatter for the decimal part! KLMNOPQRSTUVWXYZ[\]^_`abcdefghij!KLMNOPQSTUWXV]`abYZ[\^_cdefghijR *(c) 2013 Chris Done, 2013 Shachaf Ben-KikiBSD3chrisdone@gmail.com experimentalGHCNoneQVmú. 79:;<>?@ABCDEKLMNOPQRSTUVWXYZ[\]^_`abcdefghij79:;<?>9@ABCDENoneqÞkSimple hello, world!lPrinting strings.mPrinting texts.nPrinting builders.oPrinting integers.pPrinting floating points.q$Printing integrals in hex (base-16).rPadding.klmnopqrklmnopqrNoneOs^sSame as  durationNS but works on  from the clock package.ssNonesž 2345623645 *(c) 2013 Chris Done, 2013 Shachaf Ben-KikiBSD3chrisdone@gmail.com experimentalGHCNoneQV‚É tOutput a lazy text.u/Render an integral e.g. 123 -> "123", 0 -> "0".vCRender an integer using binary notation. (No leading 0b is added.)wARender an integer using octal notation. (No leading 0o is added.)xHRender an integer using hexadecimal notation. (No leading 0x is added.)yOutput a strict text.zOutput a string.{%Output a showable value (instance of µ) by turning it into ·.|Output a character.}_Render a floating point number using normal notation, with the given number of decimal places.~`Render a floating point number using the smallest number of digits that correctly represent it.4Pad the left hand side of a string until it reaches k7 characters wide, if necessary filling with character ch.€5Pad the right hand side of a string until it reaches k7 characters wide, if necessary filling with character ch. tuvwxyz{|}~€ tuvwxyz{|}~€NoneQV¬90Timezone offset on the format -HHMM.‚Timezone name.ƒAs à locale (e.g. %a %b %e %H:%M:%S %Z %Y).„Same as %H:%M.…Same as %H:%M:%S.†As Ä locale (e.g. %H:%M:%S).‡As Å locale (e.g.  %I:%M:%S %p).ˆDay half from (Æ locale), converted to lowercase, am, pm.‰Day half from (Æ locale), AM, PM.Š$Hour, 24-hour, leading 0 as needed, 00 - 23.‹$Hour, 12-hour, leading 0 as needed, 01 - 12.Œ(Hour, 24-hour, leading space as needed,  0 - 23.(Hour, 12-hour, leading space as needed,  1 - 12.ŽMinute, 00 - 59.Second, without decimal part, 00 - 60.&Picosecond, including trailing zeros,  000000000000 -  999999999999.‘„Decimal point and up to 12 second decimals, without trailing zeros. For a whole number of seconds, this produces the empty string.“Same as %m/%d/%y.”Same as %Y-%m-%d.•As Ç locale (e.g. %m/%d/%y).–Year.—Last two digits of year, 00 - 99.˜2Century (being the first two digits of the year), 00 - 99.™Month name, long form (È from É locale), January - December.š %H] month name, short form (Ê from É locale), Jan - Dec@.›$Month of year, leading 0 as needed, 01 - 12.œ#Day of month, leading 0 as needed, 01 - 31.Day of month, 1st, 2nd, 25th, etc.ž'Day of month, leading space as needed,  1 - 31.Ÿ%Day of year for Ordinal Date format, 001 - 366. Year for Week Date format e.g. 2013.¡.Last two digits of year for Week Date format, 00 - 99.¢9Century (first two digits of year) for Week Date format, 00 - 99.£Week for Week Date format, 01 - 53.¤Day for Week Date format, 1 - 7.¥Day of week, short form (Ê from Ë locale), Sun - Sat.¦Day of week, long form (È from Ë locale), Sunday - Saturday.§6Week number of year, where weeks start on Sunday (as sundayStartWeek), 00 - 53.¨Day of week number, 0 (= Sunday) - 6 (= Saturday).©6Week number of year, where weeks start on Monday (as mondayStartWeek), 00 - 53.ªiDisplay a time span as one time relative to another. Input is assumed to be seconds. Typical inputs are Ì and Í.«.Display the absolute value time span in years.¬-Display the absolute value time span in days.­.Display the absolute value time span in hours.®0Display the absolute value time span in minutes.¯0Display the absolute value time span in seconds.°0Formatter call. Probably don't want to use this.±*Helper for creating custom time formattersªDisplay 'in/ago'?+Example: '3 seconds ago', 'in three days'.)«Decimal places.¬Decimal places.­Decimal places.®Decimal places.¯Decimal places.1‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±1‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±Î            !"#$%&'()*+,-./0123456789:;<=>?@A B C D E FGGHIJKLMNOPQRSTUVWXYZ[\]^_`aDEbcdBCefghijklmnFopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹lº» ¼ ¼l½¾¿ÀÁ¿ÂÃÄÅÆlÇÈ¿ÉÃlÊËlºÌlÍÎlºÏÐÑÒÓÔÕÖרÖ×ÙÖ×ÚÖ×ÛÖ×ÜlÝÞÖ×ßlÝàÖ×áâãäâåæç'formatting-6.3.4-6UhM0X3NyTREtAJZhWFcu6Formatting.Internal.RawFormatting.BuildableFormatting.InternalFormatting.FormattersFormatting.ExamplesFormatting.ClockFormatting.ShortFormattersFormatting.TimeData.Text.Format.FunctionsData.Text.Format.IntData.Text.Format.TypesData.Text.FormatNumeric showSigned Data.Char intToDigit Formattingi2d<>decimal hexadecimalminusintegerShownshownHex Buildablebuild$fBuildableBool$fBuildablePtr$fBuildableWordPtr$fBuildableIntPtr$fBuildableZonedTime$fBuildableLocalTime$fBuildableTimeZone$fBuildableTimeOfDay$fBuildableMaybe$fBuildableShown$fBuildableDay$fBuildableUniversalTime$fBuildableUTCTime$fBuildableNominalDiffTime$fBuildableDiffTime$fBuildableDouble$fBuildableFloat$fBuildableRatio$fBuildableWord64$fBuildableWord$fBuildableWord32$fBuildableWord16$fBuildableWord8$fBuildableFixed$fBuildableInteger$fBuildableInt64$fBuildableInt$fBuildableInt32$fBuildableInt16$fBuildableInt8$fBuildableHex $fBuildable[]$fBuildableChar$fBuildableText$fBuildableText0$fBuildableVoid$fBuildableBuilderleftrightfixedshortesthexFormat runFormat%%.nowbindmapflaterformatsformatbprintfprinthprintformatToString$fCategoryTYPEFormat$fIsStringFormat$fSemigroupFormat$fMonoidFormat$fFunctorFormattextstextstringcharbuilderfconstintfloatsciscifmtasIntcentergroupIntfitLeftfitRightcommasordspluralbasebinoct prefixBin prefixOct prefixHexbyteshellostringstextsbuildersintegersfloatshexespadding timeSpecstdboxstsshcfsflrtztzNamedatetimehmhmshmsLhmsPLdayHalfdayHalfUhour24hour12hour24Shour12Sminutesecondpicodecimalsepoch dateSlashdateDash dateSlashLyearyycentury monthNamemonthNameShortmonth dayOfMonth dayOfMonthOrd dayOfMonthSdayweekYearweekYY weekCenturyweek dayOfWeek dayNameShortdayName weekFromZerodayOfWeekFromZero weekOfYearMondiffyearsdayshoursminutessecondsfmt customTimeFmtGHC.BasemappendTGHC.ShowShow#text-1.2.2.2-EakMpasry3jA6OIwSZhq9MData.Text.Internal.BuilderBuilderData.Text.Internal.LazyTextghc-prim GHC.TypesIntControl.CategoryCategoryData.Text.InternalGHC.IO.Handle.TypesHandleconstGHC.EnumfromEnum.atBase showSigned' intToDigit'"clock-0.7.2-9eH7xKbfVcK4kzFNhMiHdo System.ClockTimeSpec)old-locale-1.0.0.7-I8EKUmqpnblGLart8vAhL5 System.Locale dateTimeFmttimeFmt time12FmtamPmdateFmt Data.TuplefstmonthssndwDays time-1.8.0.2(Data.Time.Clock.Internal.NominalDiffTimeNominalDiffTime!Data.Time.Clock.Internal.DiffTimeDiffTime