HOOG}ĩHm-++_&' !a9  #%''+:==AACCFFLLNNRSVVY^cchikltuwx{  !$b  !45EFWW^^llc-!!$$&'*+/26CGGPPVVXXabdemmqruuyy  !%%d3 !))4499<<AEGGRRWWZ]__aadellvvyy  ##&&e5 $'+01469:<=@CERTUY]__abdemottvy|| !!&&f""%'))00CCHKRX``cdmmg(*2245LMQQTUY]ijxx %%h +   %&i3$$()2288EELMQUWW^kmmpt    !##%&k %%++l<  !#%*,0099<<ACEEGGLLRSZ[aadeiiltvvyy ""%%m%$$''88::==EEGKSSUUabggllooqquw  !!$$n@ !!$$&(1145:@GMTUWY__cgijmmrrwy||    "&&o1 "$')*/2;@DEGKPPSUXYabmmqrvvzz !p#((-.5588>>EEOUacghqqx    q ##  ""r0  *+2278EEHKNNPPSVY]abghkktt|| #&s! ##) $$t; $*,,..0025@ACCGGIMPUY[__abejmuyy}    !%&u' !##&(CCEEGKRRWXZ]vv  "%%v NNkk#%w MMjjyy  &&x $$@@OQTTcdy &'45QQyy$%>8()y8->Q8All08Any8ArithException8Array7ArrayException7AsyncException7Bool7 BufferMode7 BufferState7CCharD7CClock7CDev6CDouble6CFloat.6CIno5CInt5CIntMaxV5CIntPtr5CLDouble4CLLongm4CLong%4CMode3COff3CPidM3CPtrdiff3CSChar2CShortu2 CSigAtomic-2CSize1CSsize1CTimek1CUChar#1CUInt0CUIntMax0CUIntPtrK0CULLong0CULong/CUShorts/CWchar+/Chan /Char.Complex. ConsoleEvent.Constr. ConstrRep.DataRep.DataTypew.Docq.Double.Dynamic-E12-E6-Errno- Exception-ExitCode-FDType-Fdl-Fixityc-Float,GeneralCategory,Handle, HandlePosn, HandleType,HashData,HsAlt,HsAssocr, HsBangTypeT,HsCName2, HsConDecl,HsDecl+HsExp+ HsExportSpec+ HsFieldUpdate+ HsGuardedAlt~+ HsGuardedAlts`+ HsGuardedRhsB+ HsImportDecl$+ HsImportSpec+ HsLiteral*HsMatch*HsModule*HsName*HsOpk*HsPatM* HsPatField/*HsQName *HsQOp) HsQualType)HsRhs)HsSafety) HsSpecialConr)HsStmtT)HsType6)IO) IOErrorType ) IOException)IOMode(Id(Inserts(Intn(Int16(Int32'Int64Q'Int8&IntPtr&Integerj& LexContext]&LexemeO&Maybe&Module%Ordering%P%PPLayout%QSem%QSemN%ReadPn%ReadPrecU%STM<%STUArray1%SeekMode%SrcLoc$ StableName$TVar$ThreadId$Timeout$Token$TyCon$TypeRep$UArray'$Unique$Version$Weak#Word#Word16;#Word32"Word64}"Word8"WordPtr!ZipList![::]![]c! TraversableFoldableMonadFix Applicative Alternative MonadPlusFunctorMonadFunctorMonadFunctor Applicative ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq PrintfArgStorableDataShowNumRealEnumIntegralBoundedIxReadBitsOrdEqIArrayMArray PrintfArgStorableDataEqOrdNumEnumIntegralBitsShowRealBoundedIxReadIArrayMArray PrintfArgStorableDataNumEnumIntegralBitsShowRealBoundedIxReadOrdEqIArrayMArray PrintfArgStorableDataShowNumRealEnumIntegralBoundedIxReadBitsOrdEqIArrayMArray PrintfArgStorableDataShowNumRealEnumIntegralBoundedIxReadBitsOrdEqIArrayMArray Typeable1EqOrdShowReadTypeableOrdEq Typeable2IArrayIArrayIArrayIArrayIArrayIArrayIArrayIArrayIArrayIArrayIArrayIArrayIArrayIArrayIArrayIArrayIArrayDataDataShowEqEqTypeableDataShowEqOrdTypeable Typeable1 Typeable1DataShowOrdEqTypeableShowReadEnumIxOrdEq Typeable3 Typeable1FunctorMonadFunctorMonad MonadPlusFunctorMonad MonadPlusTypeableTypeableEqMonad MonadPlus MonoidDataReadShowBoundedEnumIxOrdEqPrettyDataShowOrdEqTypeable TraversableFoldableMonadFix Applicative AlternativeFunctorMonad MonadPlusShowEqReadShowOrdEq PrintfArgBitsDataReadEqOrdNumEnumShowIxRealIntegral ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq PrintfArgStorableDataShowNumRealEnumIntegralBoundedIxReadBitsOrdEqIArrayMArray PrintfArgStorableDataEqOrdShowNumEnumIntegralReadBitsRealBoundedIxIArrayMArray PrintfArgStorableDataShowNumEnumIntegralReadBitsRealBoundedIxOrdEqIArrayMArray PrintfArgStorableDataShowNumRealEnumIntegralBoundedIxReadBitsOrdEqIArrayMArray PrintfArgBitsStorableDataReadShowNumBoundedEnumIxRealIntegralEqOrdIArrayMArrayEqFunctor ApplicativeShowReadEnumIxOrdEqEqShowEqShowMonadFix ApplicativeFunctorMonadPrettyDataShowEqTypeablePrettyDataShowEqTypeableDataShowOrdEqTypeablePrettyDataShowOrdEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowOrdEqTypeablePrettyDataShowOrdEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowOrdEqTypeablePrettyDataShowOrdEqTypeablePrettyDataShowTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowOrdEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeablePrettyDataShowEqTypeableShowEqShowEqShowDataEqShowIxBoundedShowReadEnumOrdEq PrintfArgStorableDataEqOrdNumReal FractionalRealFracFloating RealFloatShowEnumReadIArrayMArrayShowEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEqEqShowReadOrdEqShowEqEq HasResolution HasResolutionTypeableShow PrintfArgStorableDataEqOrdNumReal FractionalFloatingRealFrac RealFloatShowEnumReadIArrayMArrayShowTypeableDataShowShowEqShowEqShowEqReadShowEnumOrdEqTypeable Typeable1 PrintfArgIsCharStorableDataReadShowBoundedEnumIxEqOrdIArrayMArray Typeable1 ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeable RealFloatRealFracFloating FractionalRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeable RealFloatRealFracFloating FractionalRealStorableEnumNumOrdEq ReadShowTypeable RealFloatRealFracFloating FractionalRealStorableEnumNumOrdEq ReadShowTypeableRealStorableEnumNumOrdEq ReadShowTypeableRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEqEqShowReadOrdEq StorableDataReadShowBoundedEnumIxOrdEqIArrayMArrayShowOrdEqShowOrdEqIArrayShowOrdEqMonoidBoundedShowReadOrdEqMonoidBoundedShowReadOrdEqArrow ArrowChoice ArrowApply ArrowLoop MonoidDataReadShowBoundedEnumIxEqOrd8: ByteCount>CDir>CDirent>CFLock>CGroup>CLconv>CPasswd> CSigaction>CSigset>CStat>CString> CStringLen>CTermios>CTm>CTms>CUtimbuf>CUtsname{>CWStringk> CWStringLenO> ClockTickF>ConIndex@>DeviceID9> DiffArray> DiffUArray> EpochTime=FD=FileID=FileMode= FileOffset=FilePath=FinalizerEnvPtr= FinalizerPtrz=Genericj=GenericBf=GenericMV=GenericQK=GenericR@=GenericT7=HandlePosition-=HsAsst= HsContext<IOError<IPr<Indent<Limit< ListUArray<Micro<Picos<Precm<ProcessGroupIDf< ProcessID_<RationalL< RawBuffer+<ReadS;STRep; SampleVar;ShowS;String;[]Char[]Char[]CharaMVar(,)IntMVarasaState#s(#,#)State#saa[]Char[](,)a[]CharMutableByteArray# RealWorldRatioIntegerCPidCPidIntFixedE12FixedE6e(,)ii[]eUArrayieCLongInt(,)IntInt IOException[](,)HsQName[]HsType(,)HsQName[]HsTypeIntegeraammararmamaacacaaFunPtrPtraIO()envaFunPtrPtrenvPtraIO()[]CharCOffCModeCInoCIntCTime IOToDiffArrayIOUArray IOToDiffArrayIOArrayCDevIntCClock(,)PtrCWcharIntPtrCWchar()()()()()(,)PtrCCharIntPtrCChar()()()()()()()()()CSize(:u[Aab8cd0efgh{i4tjtkol1kmgnldo`pYqXrQsKtOGuCv2Cw?z|?i?g?p?l?i?s?t?ZipListz?a?g?m?o?d?e?Mode#(C1C3B6B8BeBoAr!@a@i-@t4@e;@b@hm@mL@oS@dZ@ea@IOModeat@n{@d@l@e@ HandleTypeu@f@f@e@r@ BufferStatep@aAmjAp@e@d@a8AmAo AnAaAd"A WrappedMonadr?ArFAoMAwTA WrappedArrowoqAnxAaAdA WrappedMonadrArAoAwA WrappedArrowrAdAWord#B1rB3[B6.B8BpBtBrBWordPtrWord845BWord64#JBWord64#2bBWord326yBWord16Word#aBkBWeak#BWeak##BWord84B#BWord642B#CWord326C#CWord16WordaCeCrCCiJCgQChXCt_CcfCumCrtCl{CyCTokenrCsCiCoCnCVersionrCiCsCyCmCTokendCTokena#GnDpWDsDeDr#De*Dr1Dr8Do?DrFD IOErrorTypep^DeeDrlDcsDazDsDeDlDeDtDtDeDrDGeneralCategorydSFiFqEsDajEuDpDpDoDrEt EeEdEo!Ep(Ee/Er6Ea=EtDEiKEoREnYE IOErrorTypetqEixEsEfEiEeEdEcEoEnEsEtErEaEiEnEtEsE IOErrorTypeuFaFlFHsQNameq5Ft'FUnituOcEOSrcLocaOeaOchOioOavOl}OHsQNamecOePiOnOgOcOoOmObOiOnOiOnOgOmOaOrOkPGeneralCategoryGeneralCategoryoqPusuEslLstSsTokentesalsTokenaslsasssssTokenssesTokenssTokenesissslsisKleisli#'tutstttMaybeInteger#{1{3{6{8{a_{d>{g{lznvouptstx|tIxctstttrtitntgtIsStringhtatrtIsCharrtIPrIOavevmurutauu,ua3ur:urAuaHuyOuIOUArrayohudouivuf}ufuaururuauyu IOToDiffArrayeufuIORefoudueuIOModerRvx vcvevp!vt(vi/vo6vn=v IOExceptionrYvo`vrgvIOErrort}vyvpvev IOErrorTypervrvavyvIOArraya/zdyfyi6yl-yr$ytcwvvawl wiwdwa!wr(wg/wu6wm=weDwnKwtRw IOErrorTypeInt #y1y3x6x8xcxewpwrwtwowkwTokenewpwDataReptwrwIntPtrg;xrxrxuxpxtxe#xd*x IOErrorTypeegxrGxaNxlUxIntegralrnxIntegeroxnxsxtxrx ConstrRepInt84xInt64#xInt64#2xInt326yInt16Int#:+::+:t=yiDyaKylRyqYyu`yogytnyeuyGeneralCategoryiyxyFixityeynzxyoyuytyoyfybyoyuynydyszArrayExceptiontzIndentp6zp=zrDzoKzpRzrYzi`zagztnzeuzt|zyzpzez IOErrorTypelzezgzazlzozpzezrzaztzizozn{ IOErrorTypen{o#{r*{e1{HandlereE{nL{tS{Lexemerf{rm{at{y{{IArray#{Int84{#{Int642{#{Int326{#{Int16IntaepQs|aCbԑc7d9ef8gLiևlm,no}pЂqrszt~u|v|wl|is|lz|d|c|a|r|d|HsExpa|r|HsExpn|o|p|HsOpa|m|e|HsCNamen}b}gl}i>}s}a"}f)}e0}HsSafetytE}cL}oS}nZ} HsSpecialConus}az}r}d}e}d}a}r}h}s}HsRhsl}t} HsGuardedAltsa}n}g}e}d}t~y ~ HsBangTypeu5y)~acf~p~tc~vI~aP~rW~HsTypeuj~pq~lx~e~HsTypee~HsTyped~s~i~g~HsDecle~c~l~HsDeclu~n~HsTypeonHsTypep"p)HsTypep<lCeJHsExpcZoanh HsSpecialConavp(tymbolHsNamemring HsLiteralprim HsLiteraltHsStmte/c6i=aDlKcRoYn` HsSpecialConf}eHsSafetytyHsSafetye(higȀhπtրs݀ectionHsExpsHsRhsc/cdnu@pGdNaUt\ecHsExpeuc|l HsConDeclonstrHsExpcnomuvہaropHsQOpa liEty#p*e1 HsQualTypefLiSeZraHsStmtptHsQOpameHsQNameonopłHsQOp afqi lكnprtYv@wi ldc a'r.d5HsPataGrNHsPatu`pglneuHsPatecHsPatarenHsPateǃg΃HsPatistHsPattHsPatn<rrp#a*t1HsPatfCiJxQaXp_pfHsPatixeldpat HsPatFieldpkrRs2tȄHsPatbfield HsPatFieldind&HsDeclp9a@tGHsPateYn`HsExpprHsPatpHsOpaegwtypeƅdͅeԅcۅlHsDeclappHsExpmeHsNameafo8d?uFlMeTHsModuletmcth{HsMatchae/istHsExperadžlΆ HsLiteraltHsExpcomn  HsSpecialConp$HsExpflt;HsExpsKtRmYt`HsStmttsszectionHsExpmbdćaˇHsExpa,d fmnrt var HsImportSpech'i.n5g<aowHiOtVh] HsImportSpeclvl} HsImportSpecrpatHsExpf.stLj HsLiteralpۈrim HsLiteraltd ecl"HsDecli5x<aidHeOcVl]HsDeclpppwHsExpportdՉspec HsImportSpece܉cl HsImportDeclHsExpent HsNameb3s: HsImportSpeceuXa_rfdmetd{arhs HsGuardedRhssHsRhslŠtɊ HsGuardedAlts HsGuardedAltsne rato%r,HsStmtilQoċruSnZbcfomnt HsSpecialConindHsDeclac HsLiteralrˋeҋiًgne"importHsDeclx)p0o7r>tEHsDecloXa_tfpmrti{m HsLiteraleldupdaŒtɌeЌ HsFieldUpdateamn+tvxpHsExpo\t'y.p5e<sCiJgQHsExprctjsqpxec HsExportSpecar HsExportSpechÍiʍnэg؍a with HsExportSpecll HsExportSpecu2m9f@rGoNmUHsExpteh|oqHsExpenHsExptoHsExpodulȎeώc֎oݎntents HsExportSpecb s' HsExportSpecaeoJHsExpuZbalheopvr}im HsLiteralcfaultdɏeЏc׏lޏHsDecllHsDecltadec$l+HsDeclahul8noRnYHsExpdnȐost}ext HsContext HsSpecialConpHsOpaϐm֐eݐHsCNameecl HsConDeclam e'HsCNamea?sFsMdTe[cbliHsDecla|r HsLiteralprim HsLiterals‘eɑHsExpaۑngetype  HsBangTyped%t,y3 HsBangTypel;p)sTps`o|tlHsAsstcHsAssocln̒rightHsAssocoӒnڒeHsAssoceftHsAssocatHsExpp0HsExptBHsAltrXi_nftmftt{ype HPrintfTypeapoveȓrϓf֓lݓowAsyncExceptionnrshrre#s*o1l8u?tFiMoTn[ HasResolutiontyable HashTabledwarĔe˔fҔaٔult IOErrorTypedl eHandle_ԕprrat8y?pFeM HandleTypeHandleroysin HandlePosntionHandlePosition_ەHandle__e/m qtOrdering GenericQ' GenericM'n6e=rDa:iPcWGeneric'(bmq–rtGenericT' GenericT'GenericRGenericQ'ٖ GenericQ'GenericM' GenericM'GenericBGeneric'lAcHaOtVe]gdokrryyGeneralCategory #adHfci7ldodrunȗcpԗtۗrFunPtrtorFunctorac&t-i4o;nBaIlP Fractionall/rpem|atGeneralCategoryignpt˜rɘ ForeignPtrcontent sForeignPtrContentsd6a=bDlKeRFoldableokartyFloat#'ciՙrtokTokenepșDataRepnܙgFloatingons tr ConstrRepFloat#lvnrxMewiYt`ygFixityd~FixedstFirstaliqĚu˚oҚtٚeGeneralCategoryzer e:ptr$ FinalizerPtrnAvHpOtVr]FinalizerEnvPtre}h4imopathFilePathfƛf͛sԛeۛt FileOffsetode FileModed$FileIDa;nBdIlPeWHandlee fgte{nericFFFormatiormƜa͜tԜFFFormatxedFFFormatxpon%e,n3t:FFFormatFDFdt`ygpneuFDTypelseBoolFloat 16inNo<pqrcxޝcitcewf?succe#s*s1ExitCodeaFiMlTu[rbeiExitCodex~ception ExceptionoŞd̞eӞExitCodee-lamat ion"Tokenp4t;iBoInP Exceptionrjnovr}call ExceptionoErrnoOrderingEqu؟aߟlsTokenoch tim"e) EpochTimefCTokencdtu_mfEnumo{EndolosingmarȠkϠGeneralCategorytherEitherE62#E12#aeeiRouyUn\aeimote{rror IOErrorTypexcepġtˡiҡo١n ExceptionmicDynamicalp!l(e/x6h=aDnKdRlYe`HandlelsDualcEt%ubleDouble#acƢo͢lԢoۢnTokenrrow TokenDouble#d,o3t:TokenDocfrvcijdqexbyzeroArithExceptionecģtˣoңr٣yFDTypefa6uar ray" DiffUArrayr=rDaKyR DiffArrayapcfnviceidDeviceIDorämʤaѤlؤArithExceptionaultHandlerim#a*l1n8u?mFbMeTr[GeneralCategorydwl~ock ExceptionstaDataDatart֥yݥpeDataTypeep DataReph#p*u1n8c?tFuMaTt[iboinpGeneralCategoryDouble#.a cd2fgzhi~jJlm|o&pstiuvwcQstri ngCWStringl.e5n< CWStringLenhXa_rfCWcharcDiݨlr+stiЧsnameCUtsnamemקbާufCUtimbufho rtCUShortr2e9n@cGyNsUy\mcbjoqlxGeneralCategorylongCULongonŨg̨CULLongntCUIntm$pt rCUIntPtra+x2CUIntMaxhKaRrYCUChareimzCTmsCTmsmeCTimermũi̩oөsکCTermioscyhTisvta`rin!g(CStringl>eEnL CStringLentgCStati}zeCSsizegzeCSizeasɪeЪtתCSigsetc$tomi c CSigAtomict+i2o9n@ CSigactiono[rbtiCShortharCSCharaitrdiīf˫fҫCPtrdiffdCPidsswdCPasswdfglNm n<i̭nGstRrYo`lgGeneralCategoryc ConsoleEventotymTokenConstrʬConstrr߬ep ConstrRepleeve#n*t1 ConsoleEventeNcUt\ocrjpquxnctuationGeneralCategorydnحd߭exConIndexTokenm<ple$x+ComplexaCTokenoUn\TokenfnCOffodeCModec%dl˯ocnsǮeή ConsoleEventdEpunctu ati"o)n0GeneralCategoryhLaSnZdalheo HandleTypegCLongktick ClockTickoүnٯgCLLongoubl eCLDoubleo,n3v:CLconvmQpXb_uffmCJmpBufnotCIntmȰptrCIntPtraϰxְCIntMaxCInoar TextDetailsnlrChar#]a6c=tDeKrRTokenChar#ChanroupCGroupilԱposűCFposo۱ackCFLocktCFloatle#CFileeipoCuJbQlXe_CDoublerwCDirentCDirentvCDevhlʲoѲcزk߲CClockarCChartch!HandlerCharail]oruݳy]tdekacwo~unt ByteCountrray³#ɳ ByteArray#fferBufferlrmIsta&t-e4 BufferStateoPdWe^ BufferModeiyst BufferListcônil BufferListoʴnѴsش BufferListeak ConsoleEventoHun"d)e0d7BoundedlOBoolodckkrb;e~diߵondeadmvµaɵrе Exceptionndefin itel%y, ExceptionuBfIfPeWr^ienlgs BufferModetsBitscrTokenkqsɶlжa׶s޶hTokenuote Tokenbdɼlnpκr sLtATokensyXn_cfemxtc{eptionAsyncExceptioneķr˷tҷiٷonfaile d Exceptiongfir1ao=wDArrowaQclmpzqexro ArrowZerolus ArrowPlusoȸnϸaָdݸ ArrowMonadoop ArrowLooph o'i.c5e< ArrowChoicepXp_lfym ArrowApplyyArray#exceptĹi˹oҹnٹArrayExceptionArray#thexc$e+p2t9i@oGnNArithExceptiondorryderArgOrderescrArgDescrpպe'licativ e Applicativen.d5hbmAoHdOeVIOModeainpdwl~e HandleTypeyAnygplcr teƻrͻnԻaۻtive Alternativeead!y(e/x6i=sDtKsR IOErrorTypeAllcr|epDataReponstr ConstrRepdмr׼#޼Addr#solu tese%e,k3SeekMode:Y]M[]:`]g[::]*+::+:::*:)() X>o6`&Boolp?HsAltHsAssoc HsBangTypeaHsCNameE HsConDeclHsDecl ~}zyxw)HsExpdZTQFB:9765431+&$ HsExportSpecnVP HsFieldUpdateU HsGuardedAlt HsGuardedAlts8' HsGuardedRhs HsImportDecl HsImportSpecGD HsLiteralk-HsMatchHsModuleHsNameHsOpHHsPat SRNMJIC*  HsPatFieldWHsQNameoe]K HsQOpX HsQualTypeHsRhs;(HsSafety  HsSpecialConf HsStmt<%HsTypegbYL, Intq LexContextiModule@ PPHsModeh PPLayoutr ParseMode!SrcLocATokenl."()aLexm()rLexcBoolaLexOrderingaLexvaLexaLexChar[]aLexChar[]rLex ()PChar[]{usHsDeclPHsExpP2/HsModule ParseResultvHsNamePOHsPatP0IntPjModuleMaybe>SrcLocPaPa ParseResult|t HsImportSpec[]Bool(,)Maybe=HsType[]HsName(,)P^HsType[]HsQName(,)P_HsDecl[]P#HsType[]HsQName(,)[]P` HsName[]HsNameHsType[]HsQName(,)[](,,)P[ HsType[]HsQNameHsType[]HsQName(,)[](,,)P\ sO+fPBoolCharaPTokenBoolh hhChar.-HsAssoc HsConDeclyHsExpZUF<;::9877766543210/$ HsGuardedAlts HsImportDeclA@?>= HsLiteralCBHsName~}yxwoLKJIHGFEDHsPatWNNMJHsQName zYXWVUTSRQPONHsQOpZ:9 HsQualType\[HsRhsHsSafety~ HsSpecialCon]HsType ~}bba`_^IntihhhhhhgfedcIntegerlkj LexContextmModuleonPPHsModesrqpPPLayouth ParseModevutSrcLoc~}|{zyxwStyleasvaLexChar[]~~}}|vt"! HsAlt[]1 HsBangType[]HsCName[]PD HsConDecl[]wHsDecl[] zx%$#HsExp[]& HsFieldUpdate[]Q32 HsGuardedAlt[]' HsGuardedRhs[]( HsImportDecl[]HsMatch[])HsName[]yxwHsOp[]HsPat[]R* HsPatField[]SHsQName[]ywHsStmt[]4+HsType[]z,IntegerRatioModuleMaybeaPt HsImportSpec[]Bool(,)MaybeHsType[]HsQName(,)[]zyxwChar[]Char[](,) HsExportSpec[]Maybe HsBangTypeHsName[](,)[]VK@.w`QvXM;0wa?0% tiR?0%teZOD9&nYNC1 vk`M'saK9'sh]B3StringPrettyaStringPrettyaStringo*,4cEZierLz_String^StringString+Strings HsContext HsContextA HsContextJ HsContextStringString$StringPrettyaString &>Indent'Ptu Indent5463%< HsContextHsAsst)( HsContext HsContextOUW\CV:Gkwy6Fxq{Sm5RTQv>?@Majg~}| !0;<StringStringString.StringlStringStringString String HsContext-RationalN]`Rational #StringString5 '()*+, !"%17=#$".Hb/9889:2 0String1&/&&nF*j@r\F*t\:jN.hF" zX>(x`:&tH$h>vT,nF"pN*dF0zfN4bH0rXB ~h@( tZ: x^:|bB&hR8rR4pX:tX4jI)q[) oE#uU5uS7[C)aCgE+oG%iQ/ whereindent whereIndent> vrightcurly? VRightCurly=varsym\VarSym<varidsVarId;unqualUnQual: unit_con_name unit_con_name9unit_conunit_con8 underscore Underscore7tuple_tycon_nametuple_tycon_name6 tuple_tycon5 tuple_tycon5tuple_con_nameZtuple_con_name4 tuple_con} tuple_con3tokenToken2tildeTilde1syntaxSyntax stringtok StringTok0 starttoken startToken/srclocSrcLoc-.srcline7srcLine, srcfilenameU srcFilename+ srccolumnu srcColumn* splittyconapp splitTyConApp)specialSpecial(spacingspacing'setbolsetBOL& semicolon SemiColon%runparserwithmode+runParserWithMode$ runparserQ runParser# rightsquareq RightSquare" rightparen RightParen! rightcurly RightCurly  rightarrow RightArrowqvarsymQVarSymqvaridQVarIdqualQualqconsym5QConSymqconidNQConIdpushcurrentcontextrpushCurrentContext pushcontextl pushContextLprettyprintwithmodeprettyPrintWithModeprettyprintstylemodeprettyPrintStyleMode prettyprint% prettyPrintprettyBPretty ppsemicolonc PPSemiColon ppoffsiderule PPOffsideRule ppnolayout PPNoLayoutpplayoutPPLayoutppinlinePPInLinepphsmodePPHsMode  popcontextl# popContextL  popcontextD popContext  parseutilsd ParseUtils parseresult ParseResult  parserParserparseokParseOk parsemonad ParseMonadparsemodulewithmode parseModuleWithMode parsemodule3 parseModule parsemodeS ParseMode parsefilename parseFilename parsefailed ParseFailedpP onsideindent onsideIndentnolayoutNoLayoutmoduleModulemkrecconstrorupdateAmkRecConstrOrUpdateminuseMinus main_name main_namemain_modmain_modlist_cons_namelist_cons_name linepragmas linePragmaslexwhilelexWhilelextablexTab lexnewline8 lexNewlinelexerSLexerlexer lexcontexty LexContextlexLex letindent letIndent leftsquare LeftSquare leftparen LeftParen leftcurly LeftCurly leftarrow$ LeftArrowlayout?Layoutlayoutkw_whereeKW_Where kw_unsafe KW_Unsafekw_typeKW_Typekw_thenKW_Thenkw_safeKW_Safe kw_qualified KW_Qualifiedkw_ofKW_Of kw_newtype) KW_NewType kw_moduleH KW_Modulekw_letcKW_Let kw_instance KW_Instance kw_infixr KW_InfixR kw_infixl KW_InfixLkw_infixKW_Infixkw_inKW_In kw_import KW_Importkw_if(KW_If kw_hidingB KW_Hiding kw_foreigna KW_Foreign kw_export KW_Exportkw_elseKW_Elsekw_doKW_Do kw_deriving KW_Deriving kw_default KW_Defaultkw_dataKW_Datakw_class)KW_Classkw_caseDKW_Casekw_as\KW_AsinttoksIntTokindentIndent importspecs importSpecsimportqualifiedimportQualified importmodule importModule importloc importLocimportas3importAs hswildcardQ HsWildCardhsvaropnHsVarOp hsvarname HsVarNamehsvarHsVarhsunsafeHsUnsafe hsunitcon HsUnitConhsunguardedrhsHsUnGuardedRhshsunguardedalt%HsUnGuardedAlt hsunbangedtyK HsUnBangedTyhstyvarjHsTyVar hstytuple HsTyTuple hstypesig HsTypeSig hstypedecl HsTypeDeclhstypeHsTypehstyfunHsTyFunhstyconHsTyConhstyapp,HsTyApp hstupleconI HsTupleConhstuplefHsTuplehssymbolHsSymbol hsstringprim HsStringPrimhsstringHsStringhsstmtHsStmt hsspecialcon HsSpecialConhssafetyHsSafetyhssafe3HsSafehsrightsectionSHsRightSectionhsrhsrHsRhs hsrecupdate HsRecUpdate hsrecdecl HsRecDecl hsrecconstr HsRecConstrhsqvaropHsQVarOp hsqualtype  HsQualType hsqualifier0 HsQualifierhsqopLHsQOphsqnamedHsQNamehsqconopHsQConOp hspwildcard HsPWildCardhspvarHsPVarhsptupleHsPTuplehsprecHsPRechspparen HsPParenhspneg#HsPNeghsplit;HsPLithsplistTHsPList hspirrpatp HsPIrrPat hspinfixapp HsPInfixApp hspfieldpat HsPFieldPat hspatfield HsPatField hspatbind HsPatBindhspat HsPathspaspat%HsPAsPathsparen@HsParenhspappYHsPApphsopoHsOp hsnewtypedecl HsNewTypeDeclhsnegappHsNegApphsnameHsNamehsmoduleHsModulehsmatchHsMatch hsliteral  HsLiteralhslit:HsLit hslistconT HsListCon hslistcomps HsListComphslistHsList~ hsletstmt HsLetStmt}hsletHsLet| hsleftsection HsLeftSection{hslambdaHsLambdazhsivarHsIVary hsithingwith; HsIThingWithx hsithingall^ HsIThingAllwhsirrpat}HsIrrPatv hsintprim HsIntPrimuhsintHsIntt hsinstdecl HsInstDecls hsinfixdecl HsInfixDeclr hsinfixapp HsInfixAppq hsimportspec3 HsImportSpecp hsimportdeclW HsImportDeclnohsifwHsIfmhsidentHsIdentlhsiabsHsIAbsk hsguardedrhss HsGuardedRhssj hsguardedrhs HsGuardedRhshi hsguardedalts HsGuardedAltsfg hsguardedalt= HsGuardedAltde hsgeneratord HsGeneratorchsfunconHsFunConb hsfunbind HsFunBindahsfracHsFrac`hsforeignimportHsForeignImport_hsforeignexportHsForeignExport^ hsfloatprim, HsFloatPrim] hsfieldupdateP HsFieldUpdate[\ hsexptypesigy HsExpTypeSigZ hsexportspec HsExportSpecYhsexpHsExpXhsevarHsEVarW hsethingwith HsEThingWithV hsethingall HsEThingAllU hsenumfromto5 HsEnumFromToThsenumfromthento]HsEnumFromThenToShsenumfromthenHsEnumFromThenR hsenumfrom HsEnumFromQhsemodulecontentsHsEModuleContentsPhseabsHsEAbsO hsdoubleprim HsDoublePrimNhsdo/HsDoM hsdefaultdeclL HsDefaultDeclLhsdeclkHsDeclK hsdatadecl HsDataDeclJ hscontext HsContextIhsconsHsConsHhsconopHsConOpG hsconname HsConNameF hscondecl HsConDeclDEhscon2HsConChscnameJHsCNameB hsclassdeclh HsClassDeclA hscharprim HsCharPrim@hscharHsChar?hscaseHsCase> hsbangtype HsBangType= hsbangedty HsBangedTy<hsasstHsAsst; hsassocright3 HsAssocRight: hsassocnoneV HsAssocNone9 hsassocleftx HsAssocLeft8hsassocHsAssoc7hsaspatHsAsPat6hsappHsApp5hsaltHsAlt34 haskell-src haskell-src getsrcloc getSrcLoc2 getoffside= getOffside1getinput[getInput0fun_tycon_name}fun_tycon_name/ fun_tycon fun_tycon.floattokFloatTok- exclamation Exclamation,equalsEquals+eofEOF* doublecolon( DoubleColon) doublearrowJ DoubleArrow(dotdotgDotDot'doindentdoIndent&discarddiscard%defaultparsemodedefaultParseMode#$ defaultmode defaultMode"consymConSym!conidConId comments7commentscommaPCommacolonfColon classindent classIndent checkvaldef checkValDef checkunqual checkUnQual checkrevdecls checkRevDecls checkprec  checkPrec checkpattern- checkPatterncheckinstheaderTcheckInstHeader checkexprx checkExprcheckdataheadercheckDataHeader checkcontext checkContextcheckclassheadercheckClassHeadercheckclassbodycheckClassBodycheckbol7checkBOLcheckassertionYcheckAssertion character| Character caseindent caseIndent barBar backslash Backslash backquote BackQuote atsrclocatSrcLoc atAt alternative6 alternative>F3Ѥ]գ0]1|`TܚhpŗR •L\ Z u,YexYڇ\n4P+~}}z2zxyxaxww vu$uts4srRrq qepoonmmhlltkjijihzhgffneddc3cb*ba`e`_D_9^]B]8\[4[Z8ZY,YX@XWWV'VUMUTDTS{SRoRQ QPOzONM:MLLK_KJ JIIHHtGF[FEED DC?CB(BAA@P@?W??Z>=2=<;H;::p:.:99`9$988Z8877Z7766H6 655D544z4:433V322M2 21 100R0/T/.A.--e-)-,/,++**)(K(''&&%$#b#""0"!{! `B[ @5M{3cPbZ&b.  V   5  H  whereIndent whereIndent :: PPHsMode -> Indent  PPHsModeIndent;indentation of the declarations in a where clause  VRightCurly VRightCurly :: Token1 ) TokenVarSymVarSym :: String -> Token y StringTokenVarIdVarId :: String -> Token  StringTokenUnQualUnQual :: HsName -> HsQNameA - HsNameHsQNameunqualified name  unit_con_name unit_con_name :: HsQName  HsQNameunit_conunit_con :: HsExp  HsExp Underscore Underscore :: Token*"Tokentuple_tycon_nametuple_tycon_name :: Int -> HsQNameIntHsQName tuple_tycon tuple_tycon :: Int -> HsTypeIntHsTypetuple_con_nametuple_con_name :: Int -> HsQName^MIntHsQName tuple_con tuple_con :: Int -> HsExpIntHsExpTokendata TokenTildeTilde :: Token"Token StringTok StringTok :: String -> TokenpStringToken startToken startToken :: Lex a ()Lexa()SrcLoc SrcLoc :: String -> Int -> Int -> SrcLocV9StringIntIntSrcLocSrcLocdata SrcLocA position in the source. srcLinesrcLine :: SrcLoc -> IntSrcLocInt srcFilename srcFilename :: SrcLoc -> String^KSrcLocString srcColumn srcColumn :: SrcLoc -> IntSrcLocInt splitTyConApp splitTyConApp :: HsType -> P (HsName, [HsType])LHsTypeP(,)HsName[]HsTypeSpecialSpecial ::  HsSpecialCon -> HsQName HsSpecialConHsQName)built-in constructor with special syntax spacingspacing :: PPHsMode -> Bool?,PPHsModeBool blank lines between statements? setBOLsetBOL :: Lex a ()Lexa() SemiColon SemiColon :: TokenTokenrunParserWithMode runParserWithMode ::  ParseMode -> P a -> String ->  ParseResult au ParseModePaString ParseResulta runParser runParser :: P a -> String ->  ParseResult a/ PaString ParseResulta RightSquare RightSquare :: TokenwoToken RightParen RightParen :: TokenToken RightCurly RightCurly :: TokenToken RightArrow RightArrow :: TokenIATokenQVarSymQVarSym :: (String, String) -> Token(,)StringStringTokenQVarIdQVarId :: (String, String) -> Token1(,)StringStringTokenQualQual :: Module -> HsName -> HsQNameModuleHsNameHsQName"name qualified with a module name QConSymQConSym :: (String, String) -> Token<(,)StringStringTokenQConIdQConId :: (String, String) -> Token(,)StringStringTokenpushCurrentContextpushCurrentContext :: P ()P() pushContextL pushContextL ::  LexContext -> Lex a ()~a LexContextLexa()prettyPrintWithModeprettyPrintWithMode ::  Pretty a => PPHsMode -> a -> String!PrettyaPPHsModeaString6pretty-print with the default style and a given mode. prettyPrintStyleMode prettyPrintStyleMode ::  Pretty a => Style -> PPHsMode -> a -> StringPrettyaStylePPHsModeaString*pretty-print with a given style and mode.  prettyPrint prettyPrint ::  Pretty a => a -> StringPrettyaaString<pretty-print with the default style and defaultMode. Prettyclass Pretty a"jThings that can be pretty-printed, including all the syntactic objects in Language.Haskell.Syntax.  PPSemiColon PPSemiColon :: PPLayoutPPLayoutclassical layout made explicit  PPOffsideRule PPOffsideRule :: PPLayoutK@PPLayoutclassical layout  PPNoLayout PPNoLayout :: PPLayoutPPLayouteverything on a single line PPLayoutdata PPLayout Varieties of layout we can use. PPInLinePPInLine :: PPLayout`UPPLayout)inline decls, with newlines between them PPHsModePPHsMode :: Indent -> Indent -> Indent -> Indent -> Indent -> Indent -> Bool -> PPLayout -> Bool ->  Bool -> PPHsMode v  IndentIndentIndentIndentIndentIndentBoolPPLayoutBoolBoolPPHsModePPHsModedata PPHsMode!tPretty-printing parameters. Note: the onsideIndent must be positive and less than all other indents.  popContextL popContextL :: String -> Lex a ()!!StringLexa() popContext popContext :: P (),"""P() ParseResultdata  ParseResult ah"The result of a parse.  ParseResultdata  ParseResult a"The result of a parse. ParseOkParseOk :: a ->  ParseResult a7##a ParseResulta'The parse succeeded, yielding a value. ParseOkParseOk :: a ->  ParseResult a##a ParseResulta'The parse succeeded, yielding a value. parseModuleWithModeparseModuleWithMode ::  ParseMode -> String -> ParseResult HsModule$p$ ParseModeString ParseResultHsModuleFParse of a string, which should contain a complete Haskell 98 module.  parseModule parseModule :: String -> ParseResult HsModulej%F%String ParseResultHsModuleFParse of a string, which should contain a complete Haskell 98 module.  ParseMode ParseMode :: String ->  ParseMode&&String ParseMode ParseModedata  ParseModeN&bStatic parameters governing a parse. More to come later, e.g. literate mode, language extensions.  ParseMode ParseMode :: String ->  ParseMode''String ParseMode ParseModedata  ParseModeN'bStatic parameters governing a parse. More to come later, e.g. literate mode, language extensions.  parseFilename parseFilename ::  ParseMode -> String ( ( ParseModeString'original name of the file being parsed  parseFilename parseFilename ::  ParseMode -> String(( ParseModeString'original name of the file being parsed  ParseFailed ParseFailed :: SrcLoc -> String ->  ParseResult ao)J)SrcLocString ParseResultaJThe parse failed at the specified source location, with an error message.  ParseFailed ParseFailed :: SrcLoc -> String ->  ParseResult aJ*%*SrcLocString ParseResultaJThe parse failed at the specified source location, with an error message. Pdata P a*Monad for parsing  onsideIndent onsideIndent :: PPHsMode -> Indent:+%+PPHsModeIndentIindentation added for continuation lines that would otherwise be offside NoLayoutNoLayout ::  LexContext++ LexContextModuleModule :: String -> Module+,,StringModuleModulenewtype Module^,The name of a Haskell module. mkRecConstrOrUpdatemkRecConstrOrUpdate :: HsExp -> [HsFieldUpdate] -> P HsExp%-,HsExp[] HsFieldUpdatePHsExpMinusMinus :: Tokena-Y-Token main_name main_name :: HsName--HsNamemain_modmain_mod :: Module--Modulelist_cons_namelist_cons_name :: HsQName=.3.HsQName linePragmas linePragmas :: PPHsMode -> Bool..PPHsModeBool/add GHC-style LINE pragmas to output? lexWhilelexWhile :: (Char -> Bool) ->  Lex a StringP/-/CharBoolLexaStringlexTablexTab :: Lex a ()//Lexa()1Discard the next character, which must be a tab.  lexNewline lexNewline :: Lex a ()0 0Lexa()5Discard the next character, which must be a newline. lexerlexer :: (Token -> P a) -> P a00TokenPaPa LexContextdata  LexContext0Lexdata Lex r a1 letIndent letIndent :: PPHsMode -> Indent1m1PPHsModeIndent=indentation of the declarations in a let expression  LeftSquare LeftSquare :: Token21Token LeftParen LeftParen :: TokenI2A2Token LeftCurly LeftCurly :: Token22Token LeftArrow LeftArrow :: Token22Tokenlayoutlayout :: PPHsMode -> PPLayout533PPHsModePPLayoutPretty-printing style to use LayoutLayout :: Int ->  LexContext33Int LexContextKW_WhereKW_Where :: Token33Token KW_Unsafe KW_Unsafe :: Token64.4TokenKW_TypeKW_Type :: Tokenv4n4TokenKW_ThenKW_Then :: Token44TokenKW_SafeKW_Safe :: Token44Token KW_Qualified KW_Qualified :: Token@585TokenKW_OfKW_Of :: Token|5t5Token KW_NewType KW_NewType :: Token55Token KW_Module KW_Module :: Token65TokenKW_LetKW_Let :: TokenD6<6Token KW_Instance KW_Instance :: Token66Token KW_InfixR KW_InfixR :: Token66Token KW_InfixL KW_InfixL :: Token7 7TokenKW_InfixKW_Infix :: TokenV7N7TokenKW_InKW_In :: Token77Token KW_Import KW_Import :: Token77TokenKW_IfKW_If :: Token8 8Token KW_Hiding KW_Hiding :: TokenV8N8Token KW_Foreign KW_Foreign :: Token88Token KW_Export KW_Export :: Token88TokenKW_ElseKW_Else :: Token 99TokenKW_DoKW_Do :: Token\9T9Token KW_Deriving KW_Deriving :: Token99Token KW_Default KW_Default :: Token99TokenKW_DataKW_Data :: Token*:":TokenKW_ClassKW_Class :: Tokenl:d:TokenKW_CaseKW_Case :: Token::TokenKW_AsKW_As :: Token::TokenIntTokIntTok :: Integer -> TokenD;1;IntegerTokenIndenttype Indent = Int|; importSpecs importSpecs ::  HsImportDecl -> Maybe (Bool, [HsImportSpec])&<; HsImportDeclMaybe(,)Bool[] HsImportSpecuoptional list of import specifications. The Bool is True if the names are excluded by hiding. importQualifiedimportQualified ::  HsImportDecl -> Bool=< HsImportDeclBoolimported qualified?  importModule importModule ::  HsImportDecl -> Module== HsImportDeclModulename of the module imported.  importLoc importLoc ::  HsImportDecl -> SrcLoc->> HsImportDeclSrcLoc)position of the import keyword. importAsimportAs ::  HsImportDecl ->  Maybe Module>> HsImportDeclMaybeModule.optional alias name in an as clause.  HsWildCard HsWildCard :: HsExpE?=?HsExppatterns only HsVarOpHsVarOp :: HsName -> HsOp??HsNameHsOp!variable operator (varop)  HsVarName HsVarName :: HsName -> HsCName2@@HsNameHsCNamename of a method or field HsVarHsVar :: HsQName -> HsExp@@HsQNameHsExp variable HsUnsafeHsUnsafe :: HsSafety@@HsSafety!call will not generate callbacks  HsUnitCon HsUnitCon ::  HsSpecialConjA[A HsSpecialCon+unit type and data constructor () HsUnGuardedRhsHsUnGuardedRhs :: HsExp -> HsRhsAAHsExpHsRhs'unguarded right hand side (exp) HsUnGuardedAltHsUnGuardedAlt :: HsExp ->  HsGuardedAltsBBHsExp HsGuardedAlts-> exp  HsUnBangedTy HsUnBangedTy :: HsType ->  HsBangType&CCHsType HsBangTypenon-strict component HsTyVarHsTyVar :: HsName -> HsTypeCCHsNameHsTypetype variable  HsTyTuple HsTyTuple :: [HsType] -> HsTypeDC[]HsTypeHsType tuple type  HsTypeSig  HsTypeSig :: SrcLoc -> [HsName] ->  HsQualType -> HsDeclDDSrcLoc[]HsName HsQualTypeHsDecl HsTypeDecl  HsTypeDecl :: SrcLoc -> HsName -> [HsName] -> HsType -> HsDecl|EKESrcLocHsName[]HsNameHsTypeHsDeclHsTypedata HsTypeE%Haskell types and type constructors. HsTyFunHsTyFun :: HsType -> HsType -> HsTypeIF.FHsTypeHsTypeHsTypefunction type HsTyConHsTyCon :: HsQName -> HsTypeFFHsQNameHsTypenamed type or type constructor HsTyAppHsTyApp :: HsType -> HsType -> HsTypeNG3GHsTypeHsTypeHsType"application of a type constructor  HsTupleCon HsTupleCon :: Int ->  HsSpecialConGGInt HsSpecialCon?n-ary tuple type and data constructors (,) etc HsTupleHsTuple :: [HsExp] -> HsExp{HdH[]HsExpHsExptuple expression HsSymbolHsSymbol :: String -> HsNameHHStringHsNamevarsym or consym  HsStringPrim HsStringPrim :: String ->  HsLiteralyIcIString HsLiteralGHC unboxed string literal HsStringHsString :: String ->  HsLiteralIIString HsLiteralstring literal HsStmtdata HsStmt9JlThis type represents both stmt in a do-expression, and qual in a list comprehension.  HsSpecialCondata  HsSpecialConJzConstructors with special syntax. These names are never qualified, and always refer to builtin type or data constructors. HsSafetydata HsSafetyK+Safety level for invoking a foreign entity HsSafeHsSafe :: HsSafetyKKHsSafetycall may generate callbacks HsRightSectionHsRightSection :: HsQOp -> HsExp -> HsExpLLHsQOpHsExpHsExp8right section (qop exp) HsRhsdata HsRhsM6The right hand side of a function or pattern binding.  HsRecUpdate HsRecUpdate :: HsExp -> [HsFieldUpdate] -> HsExpMMHsExp[] HsFieldUpdateHsExprecord update expression  HsRecDecl  HsRecDecl :: SrcLoc -> HsName -> [([HsName], HsBangType)] ->  HsConDeclNiNSrcLocHsName[](,)[]HsName HsBangType HsConDeclrecord constructor  HsRecConstr HsRecConstr :: HsQName -> [HsFieldUpdate] -> HsExpWO/OHsQName[] HsFieldUpdateHsExprecord construction expression HsQVarOpHsQVarOp :: HsQName -> HsQOpOOHsQNameHsQOp"variable operator (qvarop)  HsQualType HsQualType ::  HsContext -> HsType ->  HsQualTypePbP HsContextHsType HsQualType HsQualTypedata  HsQualTypePKA type qualified with a context. An unqualified type has an empty context.  HsQualifier HsQualifier :: HsExp -> HsStmtkQYQHsExpHsStmtan exp by itself: in a do-expression, an action whose result is discarded; in a list comprehension, a guard expression HsQOpdata HsQOp RKPossibly qualified infix operators (qop), appearing in expressions. HsQNamedata HsQNameRUThis type is used to represent qualified variables, and also qualified constructors. HsQConOpHsQConOp :: HsQName -> HsQOpRS?SHsQNameHsQOp%constructor operator (qconop)  HsPWildCard HsPWildCard :: HsPatSSHsPatwildcard pattern (_) HsPVarHsPVar :: HsName -> HsPat7T%THsNameHsPat variable HsPTupleHsPTuple :: [HsPat] -> HsPatTT[]HsPatHsPattuple pattern HsPRecHsPRec :: HsQName ->  [HsPatField] -> HsPat8UUHsQName[] HsPatFieldHsPatlabelled pattern HsPParenHsPParen :: HsPat -> HsPatUUHsPatHsPatparenthesized pattern HsPNegHsPNeg :: HsPat -> HsPatVVHsPatHsPatnegated pattern HsPLitHsPLit ::  HsLiteral -> HsPatVnV HsLiteralHsPatliteral constant HsPListHsPList :: [HsPat] -> HsPatVV[]HsPatHsPat list pattern  HsPIrrPat HsPIrrPat :: HsPat -> HsPataWPWHsPatHsPat!irrefutable pattern (~)  HsPInfixApp  HsPInfixApp :: HsPat -> HsQName -> HsPat -> HsPatXWHsPatHsQNameHsPatHsPat$pattern with infix data constructor  HsPFieldPat HsPFieldPat :: HsQName -> HsPat ->  HsPatFieldXXHsQNameHsPat HsPatField HsPatFielddata  HsPatFieldX,An fpat in a labeled record pattern.  HsPatBind  HsPatBind :: SrcLoc -> HsPat -> HsRhs -> [HsDecl] -> HsDeclYYSrcLocHsPatHsRhs[]HsDeclHsDeclHsPatdata HsPat Z*A pattern, to be matched against a value. HsPAsPatHsPAsPat :: HsName -> HsPat -> HsPatZZHsNameHsPatHsPat@-pattern HsParenHsParen :: HsExp -> HsExp[[HsExpHsExpparenthesized expression HsPAppHsPApp :: HsQName -> [HsPat] -> HsPat[[HsQName[]HsPatHsPat'data constructor and argument patterns HsOpdata HsOp[5Operators, appearing in infix declarations.  HsNewTypeDecl HsNewTypeDecl :: SrcLoc ->  HsContext -> HsName -> [HsName] ->  HsConDecl ->  [HsQName] -> HsDecl>]\SrcLoc HsContextHsName[]HsName HsConDecl[]HsQNameHsDeclHsNegAppHsNegApp :: HsExp -> HsExp]]HsExpHsExp*negation expression - exp HsNamedata HsName]AThis type is used to represent variables, and also constructors. HsModuleHsModule :: SrcLoc -> Module -> Maybe [HsExportSpec] -> [HsImportDecl] -> [HsDecl] -> HsModule@_^SrcLocModuleMaybe[] HsExportSpec[] HsImportDecl[]HsDeclHsModuleHsModuledata HsModulet_A Haskell source module. HsMatchHsMatch :: SrcLoc -> HsName -> [HsPat] -> HsRhs -> [HsDecl] -> HsMatcha`#`SrcLocHsName[]HsPatHsRhs[]HsDeclHsMatchHsMatchdata HsMatch`Clauses of a function binding.  HsLiteraldata  HsLiteral`literal. Values of this type hold the abstract value of the literal, not the precise string representation used. For example, 10, 0o12 and 0xa have the same representation. HsLitHsLit ::  HsLiteral -> HsExpbb HsLiteralHsExpliteral constant  HsListCon HsListCon ::  HsSpecialConxbib HsSpecialCon"list type constructor []  HsListComp HsListComp :: HsExp -> [HsStmt] -> HsExpcbHsExp[]HsStmtHsExplist comprehension HsListHsList :: [HsExp] -> HsExpcxc[]HsExpHsExplist expression  HsLetStmt HsLetStmt :: [HsDecl] -> HsStmt dc[]HsDeclHsStmtlocal bindings HsLetHsLet :: [HsDecl] -> HsExp -> HsExpdqd[]HsDeclHsExpHsExp%local declarations with let  HsLeftSection HsLeftSection :: HsExp -> HsQOp -> HsExp3eeHsExpHsQOpHsExp7left section (exp qop) HsLambda HsLambda :: SrcLoc -> [HsPat] -> HsExp -> HsExpfeSrcLoc[]HsPatHsExpHsExplambda expression HsIVarHsIVar :: HsName ->  HsImportSpeczfafHsName HsImportSpec variable  HsIThingWith HsIThingWith :: HsName ->  [HsCName] ->  HsImportSpecgfHsName[]HsCName HsImportSpeczT(C_1,...,C_n): a class imported with some of its methods, or a datatype imported with some of its constructors.  HsIThingAll HsIThingAll :: HsName ->  HsImportSpechgHsName HsImportSpecoT(..): a class imported with all of its methods, or a datatype imported with all of its constructors. HsIrrPatHsIrrPat :: HsExp -> HsExphhHsExpHsExppatterns only  HsIntPrim HsIntPrim :: Integer ->  HsLiteralJi3iInteger HsLiteralGHC unboxed integer literal HsIntHsInt :: Integer ->  HsLiteraliiInteger HsLiteralinteger literal  HsInstDecl HsInstDecl :: SrcLoc ->  HsContext -> HsQName -> [HsType] -> [HsDecl] -> HsDecljyjSrcLoc HsContextHsQName[]HsType[]HsDeclHsDecl HsInfixDecl  HsInfixDecl :: SrcLoc -> HsAssoc -> Int -> [HsOp] -> HsDeclpkCkSrcLocHsAssocInt[]HsOpHsDecl HsInfixApp  HsInfixApp :: HsExp -> HsQOp -> HsExp -> HsExplkHsExpHsQOpHsExpHsExpinfix application  HsImportSpecdata  HsImportSpecNlImport specification.  HsImportDecl HsImportDecl :: SrcLoc -> Module -> Bool ->  Maybe Module -> Maybe (Bool, [HsImportSpec]) ->  HsImportDeclm!mSrcLocModuleBoolMaybeModuleMaybe(,)Bool[] HsImportSpec HsImportDecl HsImportDecldata  HsImportDeclmImport declaration. HsIf HsIf :: HsExp -> HsExp -> HsExp -> HsExpWn8nHsExpHsExpHsExpHsExpIif exp then exp else exp HsIdentHsIdent :: String -> HsNamennStringHsNamevarid or conid HsIAbsHsIAbs :: HsName ->  HsImportSpecojoHsName HsImportSpec;T: the name of a class, datatype or type synonym.  HsGuardedRhss HsGuardedRhss :: [HsGuardedRhs] -> HsRhs:pp[] HsGuardedRhsHsRhs'guarded right hand side (gdrhs)  HsGuardedRhs  HsGuardedRhs :: SrcLoc -> HsExp -> HsExp ->  HsGuardedRhsqpSrcLocHsExpHsExp HsGuardedRhs HsGuardedRhsdata  HsGuardedRhsAqtA guarded right hand side | exp = exp. The first expression will be Boolean-valued.  HsGuardedAlts HsGuardedAlts :: [HsGuardedAlt] ->  HsGuardedAltsArr[] HsGuardedAlt HsGuardedAlts gdpat  HsGuardedAltsdata  HsGuardedAltsr HsGuardedAlt  HsGuardedAlt :: SrcLoc -> HsExp -> HsExp ->  HsGuardedAlt0s sSrcLocHsExpHsExp HsGuardedAlt HsGuardedAltdata  HsGuardedAltlstA guarded alternative | exp -> exp. The first expression will be Boolean-valued.  HsGenerator  HsGenerator :: SrcLoc -> HsPat -> HsExp -> HsStmtvtUtSrcLocHsPatHsExpHsStmt1a generator pat <- exp HsFunConHsFunCon ::  HsSpecialContt HsSpecialCon)function type constructor ->  HsFunBind HsFunBind ::  [HsMatch] -> HsDecluru[]HsMatchHsDeclHsFracHsFrac :: Rational ->  HsLiteraluuRational HsLiteralfloating point literal HsForeignImportHsForeignImport :: SrcLoc -> String -> HsSafety -> String -> HsName -> HsType -> HsDeclvvSrcLocStringHsSafetyStringHsNameHsTypeHsDeclHsForeignExportHsForeignExport :: SrcLoc -> String -> String -> HsName -> HsType -> HsDeclwwSrcLocStringStringHsNameHsTypeHsDecl HsFloatPrim HsFloatPrim :: Rational ->  HsLiteralCx+xRational HsLiteralGHC unboxed float literal  HsFieldUpdate HsFieldUpdate :: HsQName -> HsExp ->  HsFieldUpdatexxHsQNameHsExp HsFieldUpdate HsFieldUpdatedata  HsFieldUpdate-yGAn fbind in a labeled record construction or update expression.  HsExpTypeSig  HsExpTypeSig :: SrcLoc -> HsExp ->  HsQualType -> HsExpzySrcLocHsExp HsQualTypeHsExpexpression type signature  HsExportSpecdata  HsExportSpecjzExport specification. HsExpdata HsExpzdHaskell expressions. Notes: HsEVarHsEVar :: HsQName ->  HsExportSpec|}b}HsQName HsExportSpec variable  HsEThingWith HsEThingWith :: HsQName ->  [HsCName] ->  HsExportSpec~}HsQName[]HsCName HsExportSpeczT(C_1,...,C_n): a class exported with some of its methods, or a datatype exported with some of its constructors.  HsEThingAll HsEThingAll :: HsQName ->  HsExportSpec ~HsQName HsExportSpecoT(..): a class exported with all of its methods, or a datatype exported with all of its constructors.  HsEnumFromTo HsEnumFromTo :: HsExp -> HsExp -> HsExpHsExpHsExpHsExp/bounded arithmetic sequence, incrementing by 1 HsEnumFromThenTo HsEnumFromThenTo :: HsExp -> HsExp -> HsExp -> HsExpÀHsExpHsExpHsExpHsExp;bounded arithmetic sequence, with first two elements given HsEnumFromThenHsEnumFromThen :: HsExp -> HsExp -> HsExp~fHsExpHsExpHsExp=unbounded arithmetic sequence, with first two elements given  HsEnumFrom HsEnumFrom :: HsExp -> HsExp HsExpHsExp1unbounded arithmetic sequence, incrementing by 1 HsEModuleContentsHsEModuleContents :: Module ->  HsExportSpecʂModule HsExportSpec'module M: re-export a module. HsEAbsHsEAbs :: HsQName ->  HsExportSpec[AHsQName HsExportSpecHT: a class or datatype exported abstractly, or a type synonym.  HsDoublePrim HsDoublePrim :: Rational ->  HsLiteralRational HsLiteralGHC unboxed double literal HsDoHsDo :: [HsStmt] -> HsExpv[]HsStmtHsExpPdo-expression: the last statement in the list should be an expression.  HsDefaultDecl HsDefaultDecl :: SrcLoc -> [HsType] -> HsDecljISrcLoc[]HsTypeHsDeclHsDecldata HsDecl HsDataDecl HsDataDecl :: SrcLoc ->  HsContext -> HsName -> [HsName] ->  [HsConDecl] ->  [HsQName] -> HsDeclRSrcLoc HsContextHsName[]HsName[] HsConDecl[]HsQNameHsDecl HsContexttype  HsContext = [HsAsst]HsConsHsCons ::  HsSpecialCon5& HsSpecialCon#list data constructor (:) HsConOpHsConOp :: HsName -> HsOpHsNameHsOp$constructor operator (conop)  HsConName HsConName :: HsName -> HsCName:&HsNameHsCNamename of a data constructor  HsConDecl  HsConDecl :: SrcLoc -> HsName ->  [HsBangType] ->  HsConDeclшSrcLocHsName[] HsBangType HsConDeclordinary data constructor  HsConDecldata  HsConDeclQ#Declaration of a data constructor. HsConHsCon :: HsQName -> HsExpΉHsQNameHsExpdata constructor HsCNamedata HsCNamelA name (cname) of a component of a class or data type in an import or export specification.  HsClassDecl HsClassDecl :: SrcLoc ->  HsContext -> HsName -> [HsName] -> [HsDecl] -> HsDeclaSrcLoc HsContextHsName[]HsName[]HsDeclHsDecl HsCharPrim HsCharPrim :: Char ->  HsLiteralNjChar HsLiteralGHC unboxed character literal HsCharHsChar :: Char ->  HsLiteralC/Char HsLiteralcharacter literal HsCaseHsCase :: HsExp -> [HsAlt] -> HsExp͌HsExp[]HsAltHsExp1case exp of alts  HsBangTypedata  HsBangType6[The type of a constructor argument or field, optionally including a strictness annotation.  HsBangedTy HsBangedTy :: HsType ->  HsBangTypeHsType HsBangType+strict component, marked with "!" HsAssttype HsAsst = (HsQName, [HsType])pClass assertions. In Haskell 98, the argument would be a tyvar, but this definition allows multiple parameters, and allows them to be types.  HsAssocRight HsAssocRight :: HsAssocYOHsAssoc;right-associative operator (declared with infixr)  HsAssocNone HsAssocNone :: HsAssoc֏HsAssoc8non-associative operator (declared with infix)  HsAssocLeft HsAssocLeft :: HsAssocdZHsAssoc;left-associative operator (declared with infixl). HsAssocdata HsAssocѐAssociativity of an operator. HsAsPatHsAsPat :: HsName -> HsExp -> HsExpcJHsNameHsExpHsExppatterns only HsAppHsApp :: HsExp -> HsExp -> HsExpߑǑHsExpHsExpHsExpordinary application HsAlt HsAlt :: SrcLoc -> HsPat ->  HsGuardedAlts -> [HsDecl] -> HsAltxSrcLocHsPat HsGuardedAlts[]HsDeclHsAltHsAltdata HsAltܒ-An alt in a case expression.  getSrcLoc getSrcLoc :: P SrcLocVHPSrcLoc getOffside getOffside :: Lex a OrderingLexaOrderinggetInputgetInput ::  Lex r StringLexrStringfun_tycon_namefun_tycon_name :: HsQNameXNHsQName fun_tycon fun_tycon :: HsTypeHsTypeFloatTokFloatTok :: Rational -> TokenRationalToken Exclamation Exclamation :: TokenH@TokenEqualsEquals :: Token~TokenEOFEOF :: TokenToken DoubleColon DoubleColon :: TokenToken DoubleArrow DoubleArrow :: TokenNFTokenDotDotDotDot :: TokenTokendoIndentdoIndent :: PPHsMode -> IndentۖPPHsModeIndent(indentation of a do-expression discarddiscard :: Int -> Lex r ()xbIntLexr()IDiscard some input characters (these must not include tabs or newlines). defaultParseModedefaultParseMode ::  ParseMode ParseModeQDefault parameters for a parse, currently just a marker for an unknown filename. defaultParseModedefaultParseMode ::  ParseModeƘ ParseModeQDefault parameters for a parse, currently just a marker for an unknown filename.  defaultMode defaultMode :: PPHsModeeZPPHsModeMThe default mode: pretty-print using the offside rule and sensible defaults. ConSymConSym :: String -> Token StringTokenConIdConId :: String -> TokendRStringTokencommentscomments :: PPHsMode -> BoolĚPPHsModeBoolnot implemented yet CommaComma :: Token TokenColonColon :: TokenPHToken classIndent classIndent :: PPHsMode -> IndentPPHsModeIndent#indentation of a class or instance  checkValDef  checkValDef :: SrcLoc -> HsExp -> HsRhs -> [HsDecl] -> P HsDeclhSrcLocHsExpHsRhs[]HsDeclPHsDecl checkUnQual checkUnQual :: HsQName -> P HsName HsQNamePHsName checkRevDecls checkRevDecls :: [HsDecl] ->  P [HsDecl]h[]HsDeclP[]HsDecl checkPrec checkPrec :: Integer -> P Int۝IntegerPInt checkPattern checkPattern :: HsExp -> P HsPat\FHsExpPHsPatcheckInstHeadercheckInstHeader ::  HsQualType ->  P (HsContext, HsQName, [HsType])՞ HsQualTypeP(,,) HsContextHsQName[]HsType checkExpr checkExpr :: HsExp -> P HsExpxbHsExpPHsExpcheckDataHeadercheckDataHeader ::  HsQualType -> P (HsContext, HsName, [HsName])- HsQualTypeP(,,) HsContextHsName[]HsName checkContext checkContext :: HsType ->  P HsContextHsTypeP HsContextcheckClassHeadercheckClassHeader ::  HsQualType -> P (HsContext, HsName, [HsName])Y HsQualTypeP(,,) HsContextHsName[]HsNamecheckClassBodycheckClassBody :: [HsDecl] ->  P [HsDecl]ܡ[]HsDeclP[]HsDeclcheckBOLcheckBOL ::  Lex a Bool,LexaBoolcheckAssertioncheckAssertion :: HsType -> P HsAsstHsTypePHsAsst Character Character :: Char -> TokenCharToken caseIndent caseIndent :: PPHsMode -> IndentcNPPHsModeIndent6indentation of the body of a case expression BarBar :: TokenѣɣToken Backslash Backslash :: Token Token BackQuote BackQuote :: TokenYQTokenatSrcLocatSrcLoc :: P a -> SrcLoc -> P aͤPaSrcLocPaAtAt :: TokenToken alternative alternative :: Lex a v -> Lex a (Lex a v)`LexavLexaLexavSyntaxmodule Language.Haskell.SyntaxƥiA suite of datatypes describing the abstract syntax of Haskell 98 http://www.haskell.org/onlinereport/ plus a few extensions: This module has been changed so that show is a real show. For GHC, we also derive Typeable and Data for all types. Prettymodule Language.Haskell.PrettynPretty printer for Haskell.  ParseUtilsmodule Language.Haskell. ParseUtilsѧ"Utilities for the Haskell parser. Parsermodule Language.Haskell.Parser2Haskell parser.  ParseMonadmodule Language.Haskell. ParseMonad)Monads for the Haskell parser and lexer. Lexermodule Language.Haskell.LexerLexer for Haskell. haskell-srcpackage  haskell-src7Manipulating Haskell source code Facilities for manipulating Haskell source code: an abstract syntax, lexer, parser and pretty-printer. eH/LanguageHaskellPrettyLanguageHaskell ParseUtilsLanguageHaskellSyntaxLanguageHaskellParserLanguageHaskell ParseMonadLanguageHaskellLexer haskell-src1.0.1.2Ihttp://hackage.haskell.org/packages/archive/haskell-src/1.0.1.2/doc/html/Fhttp://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src