q-      !"#$%&'()*+, None&!"&(*+-0123468;=?BEGHIJKMTU-A replacement for the missing Traverse instance of pair in base < 4.7../-0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCD./-./-None&!"&(*+-0123468;=?BEGHIJKMTUEA compact set of indices.F(A number of indexes, preceding this one.GHEFIJKLMNOPQRSTGHEFIJKLMNOPQRSTGHEFIJKLMNOPQRSTNone&!"&(*+-0123468;=?BEGHIJKMTU UAn index of an element.VA bitmap of set elements.WyAn immutable space-efficient sparse array, which can store only as many elements as there are bits in the machine word.X6An array with a single element at the specified index.YKUnsafe. Assumes that the list is sorted and contains no duplicate indexes.Z#Convert into a list representation.["Set an element value at the index.\Remove an element.]Lookup an item at the index.^Lookup strictly, using _.`0Check, whether there is an element at the index.aGet the amount of elements.UVWbcdeXfYgZh[\]^`aijkUVWbcdeXfYgZh[\]^`aijUVWbcdeXfYgZh[\]^`aijkNone&!"&(*+-0123468;=?BEGHIJKMTUlAn index of an element.mTAn array, which sacrifices the performance for space-efficiency and thread-safety.nGet the amount of elements.oGet the amount of elements.p)Unsafe. Doesn't check the index overflow. lmqrnosptuvw lmqrnosptuv lmqrnosptuvw None&!"&(*+-0123468;=?BEGHIJKMTUx4A depth level of a node. Must be a multiple of the y value.xz{y|}xz{y|}xz{y|} None&!"&(*+-0123468;=?BEGHIJKMTU~~ ~ None&!"&(*+-0123468;=?BEGHIJKMTU   None&!"&(*+-0123468;=?BEGHIJKMTU A key-value association.A standard constraint for keys.AA hash table, based on an STM-specialized hash array mapped trie.Look up an item.Insert a value at a key.Delete an item by a key.*Focus on an item by a key with a strategy.This function allows to perform composite operations in a single access to a map item. E.g., you can look up an item and delete it at the same time, or update it and return the new value.Construct a new map.Construct a new map in IO.4This is useful for creating it on a top-level using , because using 0 inside  isn't possible. Check, whether the map is empty. Stream associations.PAmongst other features this function provides an interface to folding via the   function.     None&!"&(*+-0123468;=?BEGHIJKMTU #A standard constraint for elements. ?A hash set, based on an STM-specialized hash array mapped trie. Insert a new element. Delete an element.Lookup an element.$Focus on an element with a strategy.EThis function allows to perform simultaneous lookup and modification.The strategy is over a unit since we already know, which element we're focusing on and it doesn't make sense to replace it, however we still can decide wether to keep or remove it.Construct a new set.Construct a new set in IO.4This is useful for creating it on a top-level using , because using 0 inside  isn't possible. Check, whether the set is empty.Stream elements.PAmongst other features this function provides an interface to folding via the   function.        None&!"&(*+-0123468;=?BEGHIJKMTU  A standard constraint for items.?A multimap, based on an STM-specialized hash array mapped trie.)Basically it's just a wrapper API around  k (  v).%Look up an item by a value and a key.Insert an item.$Delete an item by a value and a key.6Focus on an item with a strategy by a value and a key.EThis function allows to perform simultaneous lookup and modification.The strategy is over a unit since we already know, which value we're focusing on and it doesn't make sense to replace it, however we still can decide wether to keep or remove it.Construct a new multimap.Construct a new multimap in IO.4This is useful for creating it on a top-level using , because using 0 inside  isn't possible.Check on being empty.Stream associations.PAmongst other features this function provides an interface to folding via the   function.Stream values by a key.    None&!"&(*+-0123468;=?BEGHIJKMTU'A standard constraint for associations. XA bidirectional map. Essentially a bijection between subsets of its two argument types.fFor one value of a left-hand type this map contains one value of the right-hand type and vice versa.!Construct a new bimap."Construct a new bimap in IO.4This is useful for creating it on a top-level using , because using 0 inside  isn't possible.#Check on being empty.$&Look up a right value by a left value.%&Look up a left value by a right value.&&Insert an association by a left value.''Insert an association by a right value.(&Delete an association by a left value.)'Delete an association by a right value.*7Focus on a right value by a left value with a strategy.This function allows to perform composite operations in a single access to a map item. E.g., you can look up an item and delete it at the same time, or update it and return the new value.+7Focus on a left value by a right value with a strategy.This function allows to perform composite operations in a single access to a map item. E.g., you can look up an item and delete it at the same time, or update it and return the new value.,Stream associations.PAmongst other features this function provides an interface to folding via the   function. !"#$%&'()*+, !"#$%&'()*+, !"&'()$%*+#, !"#$%&'()*+, !"#$%&'()*+),-./0)12)13)45)67)68)*9)*:.;<)=>.;?)*@)*A),B)CD)CE)FG)HI)HJ)HK)HL.MN.MO)CP)*Q)*R)*S)*T)*U)VW)VX)VY)VZ)V[)\])F^)F_)F`)Fa)bc)bd)be)fg)fh)fi)Hj)Hk.Ml)mn)Fo)Fp)*q)rs)*t)Cu.Mv)wx)Fy)mz)F{)|})~))b)\)f))).....)))).)F)F./..))))))*..))...))~)~)~)~))=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=))))))))))))))))))))))))))))))))))))))))))))) ) ) ) ) )))))))))))))))) ))) )!)")#)$)%)&)')())(*)(+),-),.)/0)12)13)14)15)16)17)18)19)1:)1;)1<)1=)1>)1?)1@)1A)1B)1C)1D)1E)1F)1G)HI)HJ)HK)HL)HM)HN)HO)HP)HQ)HR)rS)rT)rU)rV)rW)rX)rY)rZ)r[)r\)r])r^)r_)r`)ra)rb)rc)rd)re)rf)rg)rh)ri)rj)rk)rl)rm)rn)ro)rp)rq)rr)rs)rt)ru)rv)rw)rx)ry)rz)r{)r|)r})r~)r)r)r)r)r)r)r)r)r)r)r)r)r)r)r)r)f)f)f)f)f)f)f)f)f)f)f)f)f)f)f)f)f)f)f)f)f)f)f)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)V)))))))))))))))))))))))))))))))))))))4)4)4)4)4)4)4)4)4)4)4)4)))))))))))))))))))) ) ) ) ) ))))))))))))))))))) )!)")#$)#%)#&)#')())*+)*,)*-)*-)./).0).1).2).3).4).5).6).7)89)8:)8;)8<)8=)8>)8?)8@)8A)8B)8C)8D)8E)8E)8F)8F)8G)8G)8H)8H)8I)8I)8J)8J)8K)8K)LM)LN)LO)LP)LQ)LR)LS)LT)LU)LV)LW)LX)LY)LZ)L[)L\)L])L^)L_)L`)La)Lb)Lc)Ld)Le)Lf)Lg)Lh)Li)Lj)Lk)Ll)Lm)Ln)Lo)Lp)Lq)Lr)Ls)Ls)Lt)Lu)Lv)Lw)Lx)Ly)Lz)L{)L|)L})L~)L)L)L)L)L)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) ) ) ) ) ))))))))))))))))) )!)")=#)=$)=)%&)%')%()%))%*)%+)%+)%,)%-)%.)%/)%0)%1)%2)34)35)36)37)89)8:)8;)8<)8=)8>)8?)8?)8@)8A)8A)8B)8C)8C)8D)8E)8E)8F)8G)8G)8H)8I)8I)8J)8K)8K)8L)8M)8M)N)O)P)Q)R)S)TU)TV)TW)TX)TY)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|})|})~)~)))w)w)w)w)w)w)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)m)))))))))))))))))))))))))))))))))F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)H)H)H)H)H)H)))))|)|)|)|)|)|)|)|)|)|)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b )b )b )b )b )1)1)1)1)1)1)1)1)1)1)1)1)1)1)1)1)1)1)1)1 )1!)1")1#)1$)1)1%)1&)1')1())*))+)),))-)).))/))0))1))2))3))4))5)66)67)68)C9)C:)C;)C<)C=)*>)*?)*@)*A)*B)*C)%')D)E)F)G)H)I)J)K)L)M)N)O)PQ.MR.MS.MT.MU.MV.MW.MX.MY.MZ.M[\]^\]_\]`\]abcdbcebcfg  hijhiklmnlmolmplmqlmrlmrstuvwxyz{ |}vs~w{y~z vy                                stm-containers-0.2.2STMContainers.MapSTMContainers.SetSTMContainers.MultimapSTMContainers.BimapSTMContainers.PreludeSTMContainers.WordArray.IndicesSTMContainers.WordArraySTMContainers.SizedArraySTMContainers.HAMT.LevelSTMContainers.HAMT.NodesSTMContainers.HAMTListTfoldKeyMaplookupinsertdeletefocusnewnewIOnullstreamElementSet AssociationMultimap streamByKeyBimaplookup1lookup2insert1insert2delete1delete2focus1focus2 traversePairbugbottombaseGHC.Base++GHC.Errerrorghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwiseassert GHC.MagiclazyGHC.IO.Exception assertErrorinlinemap$ undefinedGHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturn Control.Arrowarrfirstapp|||loop Data.String fromString fromIntegral realToFrac toInteger toRational Control.MonadguardliftMjoinControl.Applicative<*>pure AlternativeBoundedEnumEq GHC.FloatFloating FractionalIntegralMonad Data.DataDataFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowGHC.ArrIxData.Typeable.InternalTypeable MonadPlusIsString Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGeneric GHC.TypesBoolCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerOrderingRatioRational RealWorldIOWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherStringFalseTrueLeftRightLTEQGTGHC.IO.Handle.TypesHandlerangeindexinRange rangeSizeGHC.STSTuntangle ioException heapOverflow stackOverflowblockedIndefinitelyOnSTMblockedIndefinitelyOnMVar ioe_filename ioe_errnoioe_description ioe_locationioe_type ioe_handleIOError AlreadyExists NoSuchThing ResourceBusyResourceExhaustedEOFIllegalOperationPermissionDenied UserErrorUnsatisfiedConstraints SystemError ProtocolError OtherErrorInvalidArgumentInappropriateType HardwareFaultUnsupportedOperation TimeExpiredResourceVanished InterruptedunsupportedOperationSystem.TimeouttimeoutSystem.Mem.StableName eqStableNamehashStableNamemakeStableName StableName System.Mem performGCperformMajorGCperformMinorGC System.Exit exitSuccess exitFailureexitWithSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePathfoldMapDefault fmapDefault mapAccumR mapAccumLforMforsequencemapM sequenceAtraversefindnotElemelem minimumByminimum maximumBymaximumproductsumallanyorand concatMapconcattoListmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMfoldl1foldr1foldl'foldlfoldr'foldrfoldMap Debug.Trace traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowtraceIdtrace putTraceMsgtraceIO Data.Unique hashUnique newUniqueUnique Data.STRef modifySTRef' modifySTRef Data.RatioapproxRational Data.Fixed showFixedmod'divMod'div'MkFixedFixed resolution HasResolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12Pico Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPart:+Complex 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 dataTypeOftoConstrgunfoldgfoldlDataTypeConstrAlgRepIntRepFloatRepCharRepNoRepDataRep AlgConstr IntConstr FloatConstr CharConstr ConstrRepConIndexPrefixInfixFixityoptionalliftA3liftA2liftA<**><**>manysome<|>emptygetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipListleftApp^<<<<^>>^^>>returnA&&&***secondArrow runKleisliKleisli zeroArrow ArrowZero<+> ArrowPlus+++rightleft ArrowChoice ArrowApply ArrowMonad ArrowLoop Data.FunctiononfixControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChan Data.Functor<$>Control.Category>>><<<.idCategoryPrelude$!readIOreadLn 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 numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOThreadId BlockedOnMVarBlockedOnBlackHoleBlockedOnException BlockedOnSTMBlockedOnForeignCallBlockedOnOther BlockReason ThreadRunningThreadFinished ThreadBlocked ThreadDied ThreadStatusSTMTVarioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAssertionFailedSomeAsyncException StackOverflow HeapOverflow ThreadKilled UserInterruptAsyncExceptionIndexOutOfBoundsUndefinedElementArrayException ExitSuccess ExitFailureExitCode IOErrorType Data.Listunwordswordsunlineslinesfoldl1'unfoldrsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertBy partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBynubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEnd Data.Char isSeparatorisSymbol isPunctuationisNumberisMarkisLettergeneralCategory digitToIntUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparatorControlFormat Surrogate PrivateUse NotAssignedGeneralCategory GHC.UnicodetoTitletoUppertoLower isAsciiUpper isAsciiLower Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORefGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVar GHC.IORef writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingStatethrowIOunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOstToIOUnmaskedMaskedInterruptibleMaskedUninterruptible MaskingState userError IOException GHC.Exceptionthrow SomeException fromException toException Exception ErrorCallOverflow UnderflowLossOfPrecision DivideByZeroDenormalRatioZeroDenominatorArithException Text.Readread readMaybe readEitherreads Data.Monoid<>mconcatmappendmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLastisRightisLeftpartitionEithersrightsleftseither Data.Typeablegcast2gcast1gcasteqTcast showsTypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOftypeRep tyConString typeRepArgs typeRepTyConmkTyCon3mkAppTy funResultTy splitTyConAppmkFunTy mkTyConAppTypeRep tyConName tyConModule tyConPackageTyCon Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7 byteSwap64 byteSwap32 byteSwap16Data.OrdDownData.Type.EqualityRefl:~: Data.ProxyProxy readLitChar lexLitCharlex readParenreadList readsPrecacoshatanhasinhcoshtanhsinhacosatanasincostansinlogBase**logsqrtexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadix GHC.STRef writeSTRef readSTRefnewSTRefSTRef Data.BitspopCountDefaulttestBitDefault bitDefaultpopCountrotateRrotateL unsafeShiftRshiftR unsafeShiftLshiftLisSignedbitSize bitSizeMaybetestBit complementBitclearBitsetBitbitzeroBitsrotateshift complementxor.|..&.Bits finiteBitSize FiniteBitslcmgcd^^^oddeven denominator numerator%divModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsuccGHC.CharchrText.ParserCombinators.ReadPReadSrunSTfixST intToDigit showLitChar showParen showStringshowCharshowsShowSshowListshow showsPrecmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMvoidforever<=<>=>filterM=<<mplusmzerounzip3unzipzipWith3zipWithzip3!!reversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanllengthinitlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeNothingJustMaybeswapuncurrycurrysubtractsignumabs*+asTypeOfuntilflipconstord<$isAsciiisLatin1 isControlisPrintisSpaceisUpperisLowerisAlphaisDigit isOctDigit isHexDigit isAlphaNum Unsafe.Coerce unsafeCoerce/=compare<=&&||not<>maxminbase-prelude-0.1.6 BasePrelude traceShowMtraceM traceShowIdboolhashable-1.2.2.0Data.Hashable.Classhash hashWithSaltHashable list-t-0.2.6transformers-0.3.0.0Control.Monad.Trans.Class MonadTransliftplaceholders-0.1Development.PlaceholdersplaceholderNoWarning placeholdertodonotImplementedPlaceholderExceptionIndicespositionPositionIndex singletoninvertsizemaxSizefromList positions allIndices WordArray toMaybeListsetunsetlookupMprimitive-0.5.4.0Data.Primitive.Array indexArrayMisSetindicespairelementsfocusM$fFoldableWordArray SizedArrayappend$fFoldableSizedArrayLevelstep hashIndexlimit ElementKey elementKeyHashNodeLeavesLeafNodesHAMTassociationValue $fElement(,) HAMTElementhamt elementValue$fElementHAMTElementm1m2