!hN|      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{SafeDb-zzNoneDb/z{numhask-preludeKrebindable syntax splats this, and I'm not sure where it exists in GHC land/!gf" hikj# $,+*)%&'() *+,9876543210/.--./01 23 456789:;<=>?lp@AkBmCDEFGHIJnoKstuLMNOPQRSTUVqrWXYZ[\]^_`abcdefghij~     !"#$%&'()*+,-./0123457698;:=<?>A@CBEDFGHIJKLMNOPQRSTUWVYX[Z]\_^a`cbhgfedkjinmlopqrstuvwx|{zy}~|vwxyz{|}      !"'&%$#(:;<=>?@AVUTSRQPONMLKJIHGFEDCBZYXW[\]^_`abcdelmnopqrstuvwxyz{|}~}~      !"#$%&'()*+,-./      !"#$%&'()*+,-./0125436789:;<=>?@ABCDEFGHILJKNMOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy{|!gf" hikj# $,+*)%&'() *+,9876543210/.--./01 23 456789:;<=>?lp@AkBmCDEFGHJnoKstuLMNOPQRSTUVqrWXYZ[\]^_`abcdefghij~     !"#$%&'()*+,-./0123457698;:=<?>A@CBEDFGHIJKLMNOPQRSTUWVYX[Z]\_^a`cbhgfedkjinmlopqrstuvwx|{zy}~vwxyz{|}      !"'&%$#(:;<=>?@AVUTSRQPONMLKJIHGFEDCBZYXW[\]^_`abcdelmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0125436789:;<=>?@ABCDEFGHILJKNMOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy{INone  +.=>?@ADbN0      !"#$%&%'()*+,-./0123456!789:;<=>!?5@!ABCDEFGHIJKLMLNLOLPLQRSTUVWXYZ[\]\^\_\`\abcbdbebfghi,jkl\m!nop\q\rstsusvswxyxz{|\}\~LLLLLLLLLLLL\\R\\\\kk\{{\\\LLLLLLLL!!!!!!!!!!!!!!!!!!!          !"#$$%&%'V(Z)*+,-,.,/#0#1#2#3#4#5#6#7#8#9#:#;#<#=J>J?J@JAJBJCJDJEJFJGHIHJHKHKLMLNLNOPQRQSQTUVWXWYWZW[W\W]W^W_W`abacdedfghijikiliminioipiqirisitiuiuiviviwiwixixiyiyizizi{i{i|i|}~QHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLLLLLLLLLLLLLL L L L L LLLLLLLLLTTTTTTRR !"#$%&'()*+,-./010203{4{5{6{7{8{9{:{;<=<><>?@?@ABACADADEFEGEHEIEJEKLKMNONPNQNRNSTU5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5fsgshsijklkmknkokpkqkrksktkukvkwkxkykzk{k|k}k~kkkkkkkkkk!!!!                   :,            !"#"$"%&'&'&(&)&*&+&,&-&./0/0/1/2/34545464748494:4;4<4=>?@>?A>?B>?C>?D>?E>?F>?G>?H>?I>?J>?K>?L>?M>?N>?O>?P>QR>QS>QT>QU>QV>QW>QX>QY>QZ>Q[>\]>\^>\_>\`>\a>\b>\c>\d>\e>\f>\g>hi>hj>hk>hl>hm>hn>ho>hp>hq>hr>hs>ht>hu>hv>hw>hx>hy>hz>h{>|}>|~>|>|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&&      !"#$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#DEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYZ[Z\Z]Z^Z_`abcbdbebfbgbhbibjbkblbmbnopoqorosotouovowoxoyozo{o|}~}}}}}},numhask-prelude-0.3.3-GayxnIDRlEa6lNkpsQnTsENumHask.Prelude NumHask.ErrorNumHask.ExamplesbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip Data.Tuplefstsnd otherwise$GHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=fail>>=>>fmapreturn Data.String fromStringGHC.Real realToFrac Control.MonadguardGHC.ExtsfromList fromListN<>memptymappendmconcat GHC.NaturalNatS#join<*>pure*>BoundedEnumEq GHC.FloatFloating FractionalMonadFunctorGHC.NumNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowData.Typeable.InternalTypeableIsString Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGenericGeneric1Datatype ConstructorSelector GHC.TypeNatsKnownNat GHC.TypeLits KnownSymbolGHC.OverloadedLabelsIsLabel SemigroupMonoid GHC.RecordsHasField GHC.TypesBoolCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerNatural GHC.MaybeMaybeOrderingRational GHC.Stable StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherType ConstraintV1U1K1M1:+::*::.:Rec0D1C1S1URecNatSymbolCmpNat Coercible GHC.StaticPtr StaticPtrGHC.Stack.Types CallStackD#FalseF#NothingJustTrueLeftRightLTEQGTPrefixIInfixILeftAssociativeRightAssociativeNotAssociativeMetaDataMetaConsMetaSelGHC.IO.Handle.TypesHandleGHC.STST GHC.Conc.SyncforkOnWithUnmaskforkIOWithUnmaskforkOnControl.ConcurrentforkOSThreadId"async-2.2.2-JNOgs3QkEuXLm97AkAPhACControl.Concurrent.Async concurrentlyrace_racelink2linkwaitBothwaitEitherCancel waitEither_ waitEitherwaitEitherCatchCancelwaitEitherCatch waitAnyCancelwaitAnywaitAnyCatchCancel waitAnyCatch cancelWithcancelpoll waitCatchwait withAsyncOnwithAsyncBound withAsyncasyncOn asyncBoundasync asyncThreadIdAsyncrunConcurrently ConcurrentlyintegralEnumFromThenTointegralEnumFromTointegralEnumFromThenintegralEnumFromgcdWord'gcdInt'^^%^^^%^numericEnumFromThenTonumericEnumFromTonumericEnumFromThennumericEnumFrom notANumber ratioPrec1 ratioPrecunderflowError overflowErrorratioZeroDenominatorError divZeroErrorboundedEnumFromThenboundedEnumFrommaxIntminInt Data.Complex conjugate Data.VoidvacuousabsurdVoidData.Semigroupoption mtimesDefaultdiffcycle1 WrappedMonoid getOptionOptionthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmask forkFinallyrtsSupportsBoundThreadsControl.Concurrent.ChanwriteList2ChangetChanContentsdupChanreadChan writeChannewChanChanControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNData.Bifunctorsecondfirstbimap BifunctorData.List.NonEmptynonEmptyGHC.ExecutionStackshowStackTrace getStackTraceGHC.ExecutionStack.Internal sourceColumn sourceLine sourceFileSrcLocsrcLoc functionName objectNameLocationControl.Monad.IO.ClassliftIOMonadIO fromLabelgetFieldSystem.EnvironmentgetArgs System.Exit exitSuccess exitFailureexitWithmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforsequencemapM sequenceAtraverseControl.Applicativeoptional getZipListZipListData.Functor.Identity runIdentityIdentity System.IOwithFileGHC.IO.Handle.FDopenFilestderrstdin GHC.Conc.IO threadDelayControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVar GHC.StackwithFrozenCallStack callStackControl.ExceptionallowInterruptcatchesControl.Monad.ST.ImpfixSTControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomicallycatchSTMthrowSTMorElseretry atomicallymkWeakThreadIdthreadCapability myThreadId killThreadsetNumCapabilitiesgetNumCapabilitiesforkIOSTMGHC.IO.ExceptionioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededCompactionFailedAssertionFailedSomeAsyncException UserInterrupt ThreadKilled HeapOverflow StackOverflowAsyncExceptionUndefinedElementIndexOutOfBoundsArrayException ExitFailure ExitSuccessExitCodestdoutGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblecatchFilePathMaskedUninterruptibleMaskedInterruptibleUnmasked MaskingState IOException GHC.ExceptionprettyCallStack prettySrcLoc ErrorCallErrorCallWithLocationGHC.Exception.Type SomeExceptiondisplayException fromException toException ExceptionRatioZeroDenominatorDenormal DivideByZeroLossOfPrecision UnderflowOverflowArithException Data.TypeableeqTcasttypeRepTypeRepData.Functor.ConstgetConstConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMminimummaximumelemlengthnulltoListfoldl'foldlfoldr'foldrfoldMapfold Data.MonoidgetFirstFirstgetLastLastgetApApData.Semigroup.Internal stimesMonoidstimesIdempotentgetDualDualappEndoEndogetAllAllgetAnyAnygetAltAltunK1unM1R1L1unComp1Comp1 isNewtype packageName moduleName datatypeName conIsRecord conFixityconNameInfixPrefixFixityFixityI AssociativityselDecidedStrictnessselSourceStrictnessselSourceUnpackednessselNametofromMeta someSymbolVal someNatVal symbolValnatVal SomeSymbolSomeNat Data.OldListunfoldrsortBysort permutations subsequencestailsinitsgroupBygroupgenericReplicategenericSplitAt genericDrop genericTake genericLength transpose intercalate intersperse isPrefixOf Text.Read readMaybe readEitherreads fromRightfromLeftisRightisLeftpartitionEithersrightsleftseitherData.Ord comparingDown Data.ProxyProxyData.Type.Coercionrepr coerceWithCoercionData.Type.Equality gcastWithcastWithsymRefl:~: Foreign.PtrWordPtrIntPtr GHC.IO.IOMode ReadWriteMode AppendMode WriteModeReadModeIOModeForeign.StorableStorablelog1mexplog1pexpexpm1log1pisIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadix byteSwap64 byteSwap32 byteSwap16runST Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultpopCountrotateRrotateLshiftRshiftLisSignedbitSize bitSizeMaybetestBit complementBitclearBitsetBitbitzeroBitsrotateshift complementxor.|..&.BitscountTrailingZeroscountLeadingZeros finiteBitSize FiniteBits Data.Function&onfix Data.Functorvoid$><&><$>lcm denominator numerator%maxBoundminBoundfromEnumtoEnumpredsuccGHC.CharchrunzipzipWithreversebreaksplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanrscanl'scanl Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybe isNothingisJustmaybeswapuncurrycurryGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVarsignum GHC.Stack.CCScurrentCallStackasTypeOfuntilflip.constordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA<**>stimessconcat<$<*liftA2manysome<|>empty Alternativemplusmzero MonadPlus:|NonEmpty getCallStack HasCallStackstimesIdempotentMonoidNatJ#/=<=compare&&||not<>maxminbytestring-0.10.8.2Data.ByteString.Internal ByteStringcontainers-0.6.0.1Data.IntMap.InternalIntMapData.IntSet.InternalIntSetData.Map.InternalMapData.Sequence.InternalSeqData.Set.InternalSetdeepseq-1.4.4.0Control.DeepSeqforce$!!deepseqrnfNFData'hashable-1.3.0.0-1RsrIcitxVDKffGN1TuMlmData.Hashable.Class hashUsinghash hashWithSaltHashabletransformers-0.5.5.0Control.Monad.Trans.Classlift mtl-2.2.2Control.Monad.State.Classgetsmodifystateputget MonadStateControl.Monad.Reader.Classasksreaderlocalask MonadReaderControl.Monad.Error.Class catchError throwError MonadErrorControl.Monad.Trans.ExceptExceptTExcept runExcept mapExcept withExcept runExceptT mapExceptT withExceptTControl.Monad.Trans.ReaderReaderT runReaderTReader runReaderControl.Monad.Trans.State.LazyStateT runStateTStaterunState evalState execState withState evalStateT execStateT&protolude-0.2.4-Jnf7xRLZkBsLxgXgLkKzqC ProtoludedieshowliftIO2liftIO1guardedAguardedpassthrowTothrowIOprintapplyNunsnocunconsmapidentityLText LByteStringDebugwitness undefinednotImplementedtraceIdtraceM traceShowM traceShowId traceShowtraceIOtraceProtolude.Show putErrTextputLByteString putByteStringputLTextputTextputErrLnputStrLn hPutStrLnputStrhPutStrPrintProtolude.SafeatDefatMay foldl1May' foldl1May foldr1May maximumDef minimumDef maximumMay minimumMaylastDeflastMaytailSafetailDeftailMayinitSafeinitDefinitMayheadDefheadMayProtolude.PanicpanicfatalErrorMessage FatalErrorProtolude.MonadliftM2'liftM' concatMapMProtolude.ListlistordNubsortOnheadProtolude.Functorforeach<<$>>Protolude.ExceptionstryIOnotehushProtolude.Either maybeToEither maybeEmpty maybeToLeft maybeToRight rightToMaybe leftToMaybeProtolude.ConvtoSLtoSStrictLenientLeniencystrConv StringConvProtolude.Bool<&&>&&^<||>||^guardMifMunlessMwhenMboolProtolude.Base$!Protolude.Applicative<<*>>liftAA2purereitherAorEmptyorAltthrowEcatchE text-1.2.3.1Data.Text.Encoding.ErrorUnicodeException OnDecodeErrorOnError strictDecode lenientDecodeignorereplaceData.Text.InternalTextData.Text.EncodingdecodeUtf8With decodeUtf8 decodeUtf8' encodeUtf8 Data.TextwordslinesunlinesunwordsData.Text.LazytoStrict fromStrict Data.Text.IOreadFile writeFile appendFileinteract getContentsgetLine stm-2.5.0.0Control.Monad.STMcheck impossible ifThenElsethrow$numhask-0.4.0-EqSf3e8C8ziJNQ4g6TfOYnNumHask.Data.Positive positive_positivePositive unPositiveNumHask.ExceptionNumHaskException errorMessageNumHask.Data.LogFieldaccurateProduct accurateSumpowlogFromLogField fromLogField logToLogFieldlogFieldLogFieldNumHask.Data.PairPairPair'NumHask.Data.Rationalgcdreduce fromRational'fromBaseRational toRationalRatio:%ToRatiotoRatio ToRational FromRatio fromRatio FromRational fromRationalNumHask.Data.Complexphase magnitudepolarcismkPolarimagPartrealPartComplex:+NumHask.Analysis.Metric~=SignedabssignNormednormL1normL2Metric distanceL1 distanceL2EpsilonepsilonnearZero aboutEqual NumHask.Algebra.Abstract.LatticemeetLeqjoinLeqJoinSemiLattice\/MeetSemiLattice/\LatticeBoundedJoinSemiLatticebottomBoundedMeetSemiLatticetopBoundedLatticeNumHask.Algebra.Abstract.FieldhalfFieldExpFieldexplogsqrt**logBase QuotientFieldproperFractiontruncateroundceilingfloorUpperBoundedFieldinfinitynanLowerBoundedField negInfinity TrigFieldpisincostanasinacosatansinhcoshtanhasinhacoshatanhNumHask.Data.Integral^^^oddeven fromIntegral toIntegerIntegralquotremdivmodquotRemdivMod ToIntegral toIntegral ToInteger FromIntegral fromIntegral_ FromInteger fromIntegerNumHask.Algebra.Linear.HadamardHadamardMultiplication.*.HadamardDivision./.HadamardNumHask.Algebra.Abstract.ModuleModuleNumHask.Algebra.Abstract.Ringtwo DistributiveSemiringRingCommutativeRingIntegralDomain StarSemiringstarplus KleeneAlgebraInvolutiveRingadjNumHask.Algebra.Abstract.ActionActorAdditiveAction.++.SubtractiveAction.--.MultiplicativeAction.**.DivisiveAction.//.'NumHask.Algebra.Abstract.MultiplicativeproductMultiplicative*oneDivisive/recipNumHask.Algebra.Abstract.GroupMagmamagmaUnitalunit Associative Commutative InvertibleinvGroup Absorbingabsorb Idempotent AbelianGroup!NumHask.Algebra.Abstract.AdditivesumAdditive+zero Subtractive-negate