!ƞ|J      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHINone2456=?@AHMV@monoidal-containersA HashMap with monoidal accumulationmonoidal-containersO(1). A map with a single element.monoidal-containersO(1)$. The number of elements in the map.monoidal-containersO(log n)+. Is the key a member of the map? See also .monoidal-containersO(log n)/. Is the key not a member of the map? See also .monoidal-containersO(log n)< Return the value to which the specified key is mapped, or J- if this map contains no mapping for the key.monoidal-containersO(log n)o Return the value to which the specified key is mapped, or mempty if this map contains no mapping for the key. monoidal-containersO(log n)r. Delete a key and its value from the map. When the key is not a member of the map, the original map is returned. monoidal-containersO(n)C. Return a list of this map's values. The list is produced lazily. monoidal-containersO(n)I. Return all keys of the map in ascending order. Subject to list fusion. monoidal-containers O(n*log n)p. Construct a map with the supplied mappings. If the list contains duplicate mappings, values will be replaced. monoidal-containers O(n*log n). Construct a map with the supplied mappings. If the list contains duplicate mappings, values will be merged using the provided combining function.monoidal-containers O(n*log n)p. Return a list of this map's elements. The list is produced lazily. The order of its elements is unspecified.monoidal-containersO(log n)=. Insert a value on some key, if it exists replace the value.monoidal-containersO(log n)H. Insert a value on some key, if it exists apply the combining function.monoidal-containersO(log n)^. Modify a value on some key with a function, if value under key doesn't exist -- use mempty.monoidal-containersO(log n)c. Modify a value on some key with a function, providing a default value if that key doesn't exist.monoidal-containersO(n). Map a function to each key of a map, if it will result in duplicated mappings, their values will be merged in unspecified ordermonoidal-containersO(n)D Filter this map by retaining only elements satisfying a predicate.monoidal-containersO(n): Transform this map by applying a function to every value.   None12456=?@AHMVXP .monoidal-containersAn IntMap with monoidal accumulation1monoidal-containersO(1). A map with a single element.2monoidal-containersO(1)$. The number of elements in the map.3monoidal-containersO(log n)+. Is the key a member of the map? See also 4.4monoidal-containersO(log n)/. Is the key not a member of the map? See also 3.5monoidal-containersO(log n). The expression (5 def k map) returns the value at key k or returns default value def! when the key is not in the map.6monoidal-containersO(log n)r. Delete a key and its value from the map. When the key is not a member of the map, the original map is returned.7monoidal-containersO(n)/. Return all elements of the map and their keys8monoidal-containersO(n)_. Return all elements of the map in the ascending order of their keys. Subject to list fusion.9monoidal-containersO(n)I. Return all keys of the map in ascending order. Subject to list fusion.d./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~d./012345789:;GHL6PQRBuvc`ebg_dafpqrstklmiCFDESTh=A?@>VY[Z{|\^]yzWU<wx}~nojXMNOIKJ:9 ;9 None12456=?@AHMVXc~ monoidal-containersAn IntMap with monoidal accumulationmonoidal-containersO(1). A map with a single element.monoidal-containersO(1)$. The number of elements in the map.monoidal-containersO(log n)+. Is the key a member of the map? See also .monoidal-containersO(log n)/. Is the key not a member of the map? See also .monoidal-containersO(log n). The expression ( def k map) returns the value at key k or returns default value def! when the key is not in the map.monoidal-containersO(log n)r. Delete a key and its value from the map. When the key is not a member of the map, the original map is returned.monoidal-containersO(n)/. Return all elements of the map and their keysmonoidal-containersO(n)_. Return all elements of the map in the ascending order of their keys. Subject to list fusion.monoidal-containersO(n)I. Return all keys of the map in ascending order. Subject to list fusion.d     d     9 9 None12456=?@AHMVX( 6monoidal-containersA Map with monoidal accumulation9monoidal-containersO(1). A map with a single element.:monoidal-containersO(1)$. The number of elements in the map.;monoidal-containersO(log n)+. Is the key a member of the map? See also <.<monoidal-containersO(log n)/. Is the key not a member of the map? See also ;.=monoidal-containersO(log n). The expression (= def k map) returns the value at key k or returns default value def! when the key is not in the map.>monoidal-containersO(log n)r. Delete a key and its value from the map. When the key is not a member of the map, the original map is returned.?monoidal-containersO(n)/. Return all elements of the map and their keys@monoidal-containersO(n)_. Return all elements of the map in the ascending order of their keys. Subject to list fusion.Amonoidal-containersO(n)I. Return all keys of the map in ascending order. Subject to list fusion.fmonoidal-containersO(n). f f s == d f s, but works only when fR is strictly increasing (both monotonic and injective). That is, for any values x and y, if x < y then f x < f y and fK is injective (i.e. it never maps two input keys to the same output key).  The precondition is not checked. Semi-formally, we have: ~and [x < y ==> f x < f y | x <- ls, y <- ls] ==> mapKeysMonotonic f s == mapKeys f s where ls = keys sThis means that fd maps distinct original keys to distinct resulting keys. This function has better performance than d. mapKeysMonotonic (\ k -> k * 2) (fromList [(5,"a"), (3,"b")]) == fromList [(6, "b"), (10, "a")] valid (mapKeysMonotonic (\ k -> k * 2) (fromList [(5,"a"), (3,"b")])) == True valid (mapKeysMonotonic (\ _ -> 1) (fromList [(5,"a"), (3,"b")])) == Falsej6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~j6789:;<=?@ABCOPT>XYZJ}~khmjoglinxyz{|stuqKNLM[\pEIGHF^acbdfe_]Dvwr`UVWQSRB9 C9 None12456=?@AHMVX monoidal-containersA Map with monoidal accumulationmonoidal-containersO(1). A map with a single element.monoidal-containersO(1)$. The number of elements in the map.monoidal-containersO(log n)+. Is the key a member of the map? See also .monoidal-containersO(log n)/. Is the key not a member of the map? See also .monoidal-containersO(log n). The expression ( def k map) returns the value at key k or returns default value def! when the key is not in the map.monoidal-containersO(log n)r. Delete a key and its value from the map. When the key is not a member of the map, the original map is returned.monoidal-containersO(n)/. Return all elements of the map and their keysmonoidal-containersO(n)_. Return all elements of the map in the ascending order of their keys. Subject to list fusion.monoidal-containersO(n)I. Return all keys of the map in ascending order. Subject to list fusion.monoidal-containersO(n).  f s ==  f s, but works only when fR is strictly increasing (both monotonic and injective). That is, for any values x and y, if x < y then f x < f y and fK is injective (i.e. it never maps two input keys to the same output key).  The precondition is not checked. Semi-formally, we have: ~and [x < y ==> f x < f y | x <- ls, y <- ls] ==> mapKeysMonotonic f s == mapKeys f s where ls = keys sThis means that fd maps distinct original keys to distinct resulting keys. This function has better performance than . mapKeysMonotonic (\ k -> k * 2) (fromList [(5,"a"), (3,"b")]) == fromList [(6, "b"), (10, "a")] valid (mapKeysMonotonic (\ k -> k * 2) (fromList [(5,"a"), (3,"b")])) == True valid (mapKeysMonotonic (\ _ -> 1) (fromList [(5,"a"), (3,"b")])) == Falsej      !"#$%&'()j    &(%'  "$!#)9 9 K      !"#$%&'()*+,-./012334   56789 :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~334   56789 :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   56789 :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   56789 :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.monoidal-containers-0.6-C08EX7W4puJ1RQKA8Z4q0tData.HashMap.MonoidalData.IntMap.MonoidalData.IntMap.Monoidal.StrictData.Map.MonoidalData.Map.Monoidal.StrictMonoidalHashMapgetMonoidalHashMap singletonsizemember notMemberlookuplookupMdeleteelemskeysfromList fromListWithtoListinsert insertWithmodify modifyDefmapKeys filterWithKeymap$fIsListMonoidalHashMap$fNewtypeMonoidalHashMapHashMap$fMonoidMonoidalHashMap$fSemigroupMonoidalHashMap$fWrappedMonoidalHashMap$fAsEmptyMonoidalHashMap&$fTraversableWithIndexkMonoidalHashMap#$fFoldableWithIndexkMonoidalHashMap"$fFunctorWithIndexkMonoidalHashMap&$fEachMonoidalHashMapMonoidalHashMapab$fAtMonoidalHashMap$fIxedMonoidalHashMap$fShowMonoidalHashMap$fReadMonoidalHashMap$fFunctorMonoidalHashMap$fEqMonoidalHashMap$fNFDataMonoidalHashMap$fFoldableMonoidalHashMap$fTraversableMonoidalHashMap$fDataMonoidalHashMap$fHashableMonoidalHashMap$fAlignMonoidalHashMap$fHashable1MonoidalHashMap$fSemialignMonoidalHashMapMonoidalIntMapgetMonoidalIntMapfindWithDefaultassocs!\\nulllookupLTlookupGTlookupLElookupGEempty insertWithKeyinsertLookupWithKeyadjust adjustWithKeyupdate updateWithKeyupdateLookupWithKeyalter unionWith unionWithKey unionsWith differencedifferenceWithdifferenceWithKeyintersectionWithintersectionWithKey mergeWithKey mapWithKeytraverseWithKeymapAccummapAccumWithKeymapAccumRWithKey mapKeysWithmapKeysMonotonicfoldrfoldl foldrWithKey foldlWithKeyfoldMapWithKeyfoldr'foldl' foldrWithKey' foldlWithKey'keysSetfromSetfromListWithKey toAscList toDescList fromAscListfromAscListWithfromAscListWithKeyfromDistinctAscListfromDistinctListfilter partitionpartitionWithKeymapMaybemapMaybeWithKey mapEithermapEitherWithKeysplit splitLookup splitRoot isSubmapOf isSubmapOfByisProperSubmapOfisProperSubmapOfByfindMinfindMax deleteMin deleteMax deleteFindMin deleteFindMax updateMin updateMaxupdateMinWithKeyupdateMaxWithKeyminViewmaxViewminViewWithKeymaxViewWithKey$fIsListMonoidalIntMap$fNewtypeMonoidalIntMapIntMap$fMonoidMonoidalIntMap$fSemigroupMonoidalIntMap$fWrappedMonoidalIntMap$fAsEmptyMonoidalIntMap$fTraverseMaxIntMonoidalIntMap$fTraverseMinIntMonoidalIntMap'$fTraversableWithIndexIntMonoidalIntMap$$fFoldableWithIndexIntMonoidalIntMap#$fFunctorWithIndexIntMonoidalIntMap$$fEachMonoidalIntMapMonoidalIntMapab$fAtMonoidalIntMap$fIxedMonoidalIntMap$fShowMonoidalIntMap$fReadMonoidalIntMap$fFunctorMonoidalIntMap$fEqMonoidalIntMap$fOrdMonoidalIntMap$fNFDataMonoidalIntMap$fFoldableMonoidalIntMap$fTraversableMonoidalIntMap$fFromJSONMonoidalIntMap$fToJSONMonoidalIntMap$fFromJSON1MonoidalIntMap$fToJSON1MonoidalIntMap$fDataMonoidalIntMap$fAlignMonoidalIntMap$fSemialignMonoidalIntMap$fShow1MonoidalIntMap$fOrd1MonoidalIntMap$fEq1MonoidalIntMap MonoidalMapgetMonoidalMap lookupIndex findIndexelemAtupdateAtdeleteAtvalid$fIsListMonoidalMap$fNewtypeMonoidalMapMap$fMonoidMonoidalMap$fSemigroupMonoidalMap$fWrappedMonoidalMap$fAsEmptyMonoidalMap$fTraverseMaxkMonoidalMap$fTraverseMinkMonoidalMap"$fTraversableWithIndexkMonoidalMap$fFoldableWithIndexkMonoidalMap$fFunctorWithIndexkMonoidalMap$fEachMonoidalMapMonoidalMapab$fAtMonoidalMap$fIxedMonoidalMap$fShowMonoidalMap$fReadMonoidalMap$fFunctorMonoidalMap$fEqMonoidalMap$fOrdMonoidalMap$fNFDataMonoidalMap$fFoldableMonoidalMap$fTraversableMonoidalMap$fFromJSONMonoidalMap$fToJSONMonoidalMap$fFromJSON1MonoidalMap$fToJSON1MonoidalMap$fDataMonoidalMap$fAlignMonoidalMap$fSemialignMonoidalMap$fShow1MonoidalMap$fOrd1MonoidalMap$fEq1MonoidalMapbase GHC.MaybeNothing