i'mNone(!"&(*+-./0134579<>@CFHIJKLNUV  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  None(!"&(*+-./0134579<>@CFHIJKLNUVNone(!"&(*+-./0134579<>@CFHIJKLNUVNone(!"&(*+-./0134579<>@CFHIJKLNUV   None(!"&(*+-./0134579<>@CFHIJKLNUV=<8None(!"&(*+-./0134579<>@CFHIJKLNUV               None(!"&(*+-./0134579<>@CFHIJKLNUVBParses the code using "haskell-src-exts", reifying the AST levels.None(!"&(*+-./0134579<>@CFHIJKLNUV      !"#$%$&'()*+,)-./012343567898:8;8<=>=?3@ABCDEFGHIHJHKHLHMNO6P6Q6R6STUVWXYZ8[8\=]^_6`6abcde3f=ghi6j^k6lmnopVqFrNstuvwxyz{|{}{~{{{66{{V{{{{{oooo++++++++++++++++++++++++++++++++++      !"#$#%#&#'()(*(+(,(-(.(/(0(1/23435363738393:3;3<3=c>c?c@cAcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcXcYcZc[c\c]c^c_c`cacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyz{z|z}z~zzzTTTTTTTTTTTTTTwwwwwwwwwwHHHHHHHHHHHHHHHHHHHHHHH""""""""""""                               !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJJKLMNOPQRSTUVWWXX+Y+Z+[+\+\+]+]+^+^+_+_+`+`+a+a+b+c+d+e+f+g+h+i+j+k+l+mnopqprpsptpupvpwxyxzx{x|x}x~+++uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuVVVVVVVVVVVVVVVVVV V V V V VVVVVVVVVVV !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUTVTWTXTYTZT[T\T]T^T_T`TaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzT{|}|~|||hhhhhhhh^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^666666666666666666666 6 8 8 8 888mmmmmm m!m"m#m$%&'()*+,-./0123456789:;<=>?@ABCBDBEBFBGBHBIBJBK$L$M$N3O3P3Q3R3STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy=z={=|=}=~=====O     3 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOrecor_0zq7dQ6spT3CUvbAGGbSXv Record.SyntaxRecord.Syntax.PreludeRecord.Syntax.SharedRecord.Syntax.PositionRecord.Syntax.RendererRecord.Syntax.Parser!Record.Syntax.LevelReifier.LevelsRecord.Syntax.LevelReifier processModuleprocessprocessExtensionForestprocessExtensionprocessExtensionExpprocessRecordExpprocessExtensionType offsetResult TextBuilderLazyText∘∘∘zipTraversableWithzipTraversableWithMbaseGHC.Base++GHC.Errerrorghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwiseassert GHC.MagiclazyGHC.IO.Exception assertErrorinlinemapGHC.Exts groupWith$ undefinedGHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturnControl.Monad.Fixmfix Control.Arrowarrfirstapp|||loop Data.String fromString fromIntegral realToFrac toInteger toRational Control.MonadguardData.Typeable.InternalmkAppTyjoin<*>pureBoundedEnumEq GHC.FloatFloating FractionalIntegralMonad Data.DataDataFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowGHC.ArrIxTypeableMonadFixIsString Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGeneric GHC.TypesBoolCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerOrderingRatioRational RealWorldIOWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherStringTypeRepFalseTrueLeftRightLTEQGTGHC.IO.Handle.TypesHandlerangeindexinRange rangeSizeGHC.STSTuntangle ioException heapOverflow stackOverflowallocationLimitExceededblockedIndefinitelyOnSTMblockedIndefinitelyOnMVar ioe_filename ioe_errnoioe_description ioe_locationioe_type ioe_handleIOError InterruptedResourceVanished TimeExpiredUnsupportedOperation HardwareFaultInappropriateTypeInvalidArgument OtherError ProtocolError SystemErrorUnsatisfiedConstraints UserErrorPermissionDeniedIllegalOperationEOFResourceExhausted ResourceBusy NoSuchThing AlreadyExistsunsupportedOperationSystem.TimeouttimeoutSystem.Mem.StableName eqStableNamehashStableNamemakeStableName StableName System.Mem performGCperformMajorGCperformMinorGC System.Exitdie exitSuccess exitFailureexitWithSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath Data.Unique hashUnique newUniqueUnique Data.STRef modifySTRef' modifySTRef Data.RatioapproxRationalData.Functor.Identity runIdentityIdentity Data.Fixed showFixedmod'divMod'div'MkFixedFixed resolution HasResolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12Pico Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPart:+ComplexControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChansortWith Debug.Trace traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowtraceIdtrace putTraceMsgtraceIO tyconModule tyconUQname isNorepType mkNoRepType mkCharConstr mkRealConstrmkIntegralConstr mkCharType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrgmapMogmapMpgmapMgmapQigmapQgmapQrgmapQlgmapT dataCast2 dataCast1 dataTypeOftoConstrgunfoldgfoldlDataTypeConstrNoRepCharRepFloatRepIntRepAlgRepDataRep CharConstr FloatConstr IntConstr AlgConstr ConstrRepConIndexInfixPrefixFixity Data.Version makeVersion parseVersion showVersion versionTags versionBranchVersionmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforsequencemapM sequenceAtraverseControl.ApplicativeoptionalgetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipListleftApp^<<<<^>>^^>>returnA&&&***secondArrow runKleisliKleisli zeroArrow ArrowZero<+> ArrowPlus+++ ArrowChoice ArrowApply ArrowMonad ArrowLoopreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar GHC.IO.HandlehClose GHC.Conc.IO registerDelay threadDelay closeFdWithioManagerCapabilitiesChangedensureIOManagerIsRunningSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorGHC.Conc.Signal runHandlers setHandlerSignal HandlerFunSystem.IO.Unsafe unsafeFixIOControl.ExceptionallowInterruptcatchesHandlerControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustcatchPatternMatchFail RecSelError RecConError RecUpdError NoMethodErrorNonTerminationNestedAtomically GHC.Conc.SyncgetUncaughtExceptionHandlersetUncaughtExceptionHandler reportErrorreportStackOverflow writeTVarreadTVar readTVarIO newTVarIOnewTVaralwaysalwaysSucceedscatchSTMthrowSTMorElseretry atomically unsafeIOToSTMmkWeakThreadIdthreadCapability threadStatus runSparksparpseq labelThreadyield myThreadIdthrowTo killThread childHandler numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOdisableAllocationLimitenableAllocationLimitgetAllocationCountersetAllocationCounterThreadIdBlockedOnOtherBlockedOnForeignCall BlockedOnSTMBlockedOnExceptionBlockedOnBlackHole BlockedOnMVar BlockReason ThreadDied ThreadBlockedThreadFinished ThreadRunning ThreadStatusSTMTVarioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededAssertionFailedSomeAsyncException UserInterrupt ThreadKilled HeapOverflow StackOverflowAsyncExceptionUndefinedElementIndexOutOfBoundsArrayException ExitFailure ExitSuccessExitCode IOErrorTypeForeign.StorableStorable Data.Dynamic dynTypeRepdynAppdynApply fromDynamicfromDyntoDynDynamic Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORef GHC.IORef writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingStatethrowIOunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOstToIOFilePathMaskedUninterruptibleMaskedInterruptibleUnmasked MaskingState userError IOException GHC.Exceptionthrow SomeExceptiondisplayException fromException toException Exception ErrorCallRatioZeroDenominatorDenormal DivideByZeroLossOfPrecision UnderflowOverflowArithExceptionGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVar Text.Readread readMaybe readEitherreadsfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMproductsumminimummaximumelemlengthnulltoListfoldl1foldr1foldl'foldlfoldr'foldrfoldMapfold Data.Monoid<>getDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLastgetAltAltpartitionEithersrightsleftseither Data.Typeablegcast2gcast1gcasteqTcastrnfTyCon rnfTypeRep showsTypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOftypeReptypeRepFingerprint tyConString typeRepArgs typeRepTyConmkTyCon3 funResultTy splitTyConAppmkFunTy mkTyConApp tyConName tyConModule tyConPackagetyConFingerprintTyCon Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7 Data.ProxyProxy Data.OldListunwordswordsunlineslinesunfoldrsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEnd Data.Char isSeparatorisSymbol isPunctuationisNumberisMarkisLettergeneralCategory digitToInt NotAssigned PrivateUse SurrogateFormatControlParagraphSeparator LineSeparatorSpace OtherSymbolModifierSymbolCurrencySymbol MathSymbolOtherPunctuation FinalQuote InitialQuoteClosePunctuationOpenPunctuationDashPunctuationConnectorPunctuation OtherNumber LetterNumber DecimalNumber EnclosingMarkSpacingCombiningMarkNonSpacingMark OtherLetterModifierLetterTitlecaseLetterLowercaseLetterUppercaseLetterGeneralCategoryControl.Category>>><<<.idCategoryData.Type.EqualityRefl:~:Data.Ord comparingDown byteSwap64 byteSwap32 byteSwap16 readLitChar lexLitCharlex readParen readListPrecreadPrecreadList readsPrecatanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixText.ParserCombinators.ReadPrec readS_to_Prec readPrec_to_S readP_to_Prec readPrec_to_PReadPrecText.ParserCombinators.ReadP readS_to_P readP_to_SReadSReadP GHC.STRef writeSTRef readSTRefnewSTRefSTRef GHC.UnicodetoTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNumisAlpha isHexDigit isOctDigitisDigitisSpace isAsciiUpper isAsciiLowerisLatin1isAscii Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultpopCountrotateRrotateL unsafeShiftRshiftR unsafeShiftLshiftLisSignedbitSize bitSizeMaybetestBit complementBitclearBitsetBitbitzeroBitsrotateshift complementxor.|..&.BitscountTrailingZeroscountLeadingZeros finiteBitSize FiniteBitslcmgcd^^^oddeven denominator numerator%divModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsuccGHC.Charchr Data.Functiononfix Data.Functorvoid<$>runSTfixST intToDigit showLitChar showParen showStringshowCharshowsShowSshowListshow showsPrecunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeswapuncurrycurrysubtractsignumabs*+asTypeOfuntil$!flipconstordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA2liftA<**>JustNothingMaybemconcatmappendmemptyMonoid<$<**>manysome<|>empty Alternativemplusmzero MonadPlus Unsafe.Coerce unsafeCoerce/=compare<=&&||not<>maxminbasep_FxX9573ye3E4LZ0W9LfRS8 BasePreludesortOnunconsisSubsequenceOf&$> traceShowMtraceM traceShowIdboolconve_KGU2PoEZztVEC3iWuTpHoL Conversionconvert2convert1converttrans_3eG64VdP2vzGjP6wJiCp5XControl.Monad.Trans.Class MonadTransliftControl.Monad.IO.ClassMonadIOliftIOControl.Monad.Trans.ReaderReaderT runReaderTReader runReader mapReader withReader mapReaderT withReaderT Control.Monad.Trans.State.StrictStateT runStateTStaterunState evalState execStatemapState withState evalStateT execStateT mapStateT withStateTControl.Monad.Trans.Writer.LazyWriterT runWriterTWriter runWriter execWriter mapWriter execWriterT mapWriterTtext_1l1AN4I48k37RaQ6fm6CEhData.Text.InternalTextcensorpasslistenslistentellwriterControl.Monad.Trans.MaybeexceptToMaybeTmaybeToExceptT mapMaybeT runMaybeTMaybeT liftCallCC'getsmodify'modifyputgetstateaskslocalaskreader RecordType ExtensionTypeExtensionType_RecordLabel RecordExp ExtensionExpExtensionExp_RecordExtensionExp_LabelRecursiveBlockExtendableSyntaxForestExtendableSyntaxTreeExtendableSyntaxTree_Extension#ExtendableSyntaxTree_RecursiveBlockExtendableSyntaxTree_Lexeme BraceTypeBraceType_CurlyBraceType_RoundBraceType_SquareLevel Level_Type Level_Exp Level_Pat Level_DeclPositionErrormarkerbraceTypeCharsaddzero fromParsec fromSrcExtsRendererextendableSyntaxForestextendableSyntaxTreerecursiveBlock recordExplabelExp fieldNameExp recordType extensionTypeLineTypeLineType_SpaceLineType_CommentLineType_ImportLineType_Other ModuleHeadParserrun lookAheadlabeledtotalmanyTill manyTillPairmanyTillMonoidsepBysepBy1 manyMergedcharstringspacespacesspaces1 nonEOLSpace nonEOLSpacessatisfy takeWhile1anyChar endOfLine endOfFilenoneOfpositionunparsedExtensionLexemeunparsedRecordBlock unparsedLabel extensionExp moduleHeadlookAheadLineTypemoduleDeclarationimportStatementqualifiedIdentifier identifier quasiQuote inlineComment blockCommentpragmacharLit stringLit plainLexemeplainRecursiveSyntax plainTree$fMonoidParserLevelsmodule_declruleruleVarmatchrhs guardedRhsinstDecl classDeclgadtDecl qualConDeclconDecltypeEqn deriving_type_levelasstqNamenamesplicequalStmtaltpatrPatstmtbindsipBindreify parseMode convertResult convertSrcLoc