h$qxkl      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred3r Safe-Inferred3\pqueue&A priority queue where values of type a! are annotated with keys of type k>. The queue supports extracting the element with minimum key.pqueueO(1)#. Returns the empty priority queue.pqueueO(1)). Checks if this priority queue is empty.pqueueO(1)*. Returns the size of this priority queue.pqueueO(1)(. Constructs a singleton priority queue.pqueue Amortized O(1) , worst-case O(log n)<. Inserts an element with the specified key into the queue.pqueueO(n) (an earlier implementation had O(1) but was buggy). Insert an element with the specified key into the priority queue, putting it behind elements whose key compares equal to the inserted one.pqueue Amortized O(log(min(n1, n2))) , worst-case O(log(max(n1, n2)))1. Returns the union of the two specified queues. pqueueO(1). The minimal (key, element) in the queue, if the queue is nonempty. pqueueO(1). Alter the value at the minimum key. If the queue is empty, does nothing. pqueueO(log n) . (Actually O(1) if there's no deletion.) Update the value at the minimum key. If the queue is empty, does nothing. pqueueO(log n). Retrieves the minimal (key, value) pair of the map, and the map stripped of that element, or  if passed an empty map. pqueueO(n).. Map a function over all values in the queue.pqueueO(n).  f q == mapKeys f q, but only works when f is strictly monotonic.  The precondition is not checked., This function has better performance than mapKeys.pqueueO(n). Map values and collect the  results.pqueueO(n). Map values and separate the  and  results.pqueue O(n log n)2. Fold the keys and values in the map, such that  f z q ==  ( f) z ( toAscList q).=If you do not care about the traversal order, consider using .pqueue O(n log n)2. Fold the keys and values in the map, such that  f z q ==   ( . f) z ( toAscList q).=If you do not care about the traversal order, consider using .pqueueEquivalent to ', save the assumption that this key is <= every other key in the map.  The precondition is not checked.pqueue+Utility function for mapping over a forest.pqueueO(n). An unordered right fold over the elements of the queue, in no particular order.pqueueO(n). An unordered left fold over the elements of the queue, in no particular order.pqueueO(n). An unordered traversal over a priority queue, in no particular order. While there is no guarantee in which order the elements are traversed, the resulting priority queue will be perfectly valid.pqueueO(log n). Analogous to deepseq in the deepseq9 package, but only forces the spine of the binomial heap.& 8  Safe-Inferred23pqueue%Type alias for a comparison function.pqueue$Type corresponding to the Zero rank.pqueueIf |rk| corresponds to rank k, then | rk| corresponds to rank k+1.pqueue'A priority queue with elements of type a*. Supports extracting the minimum element.pqueueO(1). The empty priority queue.pqueueO(1)#. Is this the empty priority queue?pqueueO(1)&. The number of elements in the queue.pqueueReturns the minimum element of the queue, if the queue is nonempty.pqueueRetrieves the minimum element of the queue, and the queue stripped of that element, or  if passed an empty queue.pqueueO(1)3. Construct a priority queue with a single element.pqueue Amortized O(1) , worst-case O(log n),. Insert an element into the priority queue.pqueue Amortized O(log (min(n,m))) , worst-case O(log (max (n,m)))(. Take the union of two priority queues. pqueueO(n). Map elements and collect the  results.!pqueueO(n) . Map elements and separate the  and  results.pqueueO(n). Assumes that the function it is given is monotonic, and applies this function to every element of the priority queue, as in (. If it is not, the result is undefined."pqueue O(n log n). Performs a right-fold on the elements of a priority queue in ascending order.#pqueue O(n log n). Performs a left-fold on the elements of a priority queue in ascending order.$pqueueO(n)+. Unordered right fold on a priority queue.%pqueueO(n)*. Unordered left fold on a priority queue.&pqueue'Forces the spine of the priority queue.'pqueue=Constructs a priority queue out of the keys of the specified .! !"#$%&'(c) Louis Wasserman 2010 BSD-stylelibraries@haskell.org experimentalportableNone3&g(pqueueO(1). Returns the minimum element. Throws an error on an empty queue.)pqueueO(log n). Deletes the minimum element. If the queue is empty, does nothing.*pqueueO(log n). Extracts the minimum element. Throws an error on an empty queue.+pqueue=  queue.2pqueue O(k log n). 2 k, applied to a queue queue , returns queue with the smallest k) elements deleted, or an empty queue if  k >= size queue.3pqueue O(k log n). Equivalent to (1 k queue, 2 k queue).4pqueueO(n)5. Returns the queue with all elements not satisfying p removed.5pqueueO(n). Returns a pair where the first queue contains all elements satisfying p=, and the second queue contains all elements not satisfying p.6pqueueO(n). Creates a new priority queue containing the images of the elements of this queue. Equivalent to < .   f . toList.7pqueue O(n log n). Extracts the elements of the priority queue in ascending order.8pqueue O(n log n). Extracts the elements of the priority queue in descending order.9pqueue O(n log n). Returns the elements of the priority queue in ascending order. Equivalent to 7.;If the order of the elements is irrelevant, consider using A.:pqueue O(n log n). Performs a right-fold on the elements of a priority queue in descending order. (foldrDesc f z q == foldlAsc (flip f) z q.;pqueue O(n log n). Performs a left-fold on the elements of a priority queue in descending order. (foldlDesc f z q == foldrAsc (flip f) z q.<pqueueO(n)5. Constructs a priority queue from an unordered list.=pqueueO(n)6. Constructs a priority queue from an ascending list. Warning": Does not check the precondition.>pqueueO(n)7. Constructs a priority queue from an descending list. Warning": Does not check the precondition.?pqueueMaps a function over the elements of the queue, ignoring order. This function is only safe if the function is monotonic. This function does not check the precondition.@pqueueEquivalent to A.ApqueueO(n)<. Returns the elements of the queue, in no particular order.+ !"#$%&'()*+,-./0123456789:;<=>?@A+()*+,123-./045 !6"#:;978<=>?$%@A'&  Safe-Inferred3'Fpqueue&A priority queue where values of type a! are annotated with keys of type k>. The queue supports extracting the element with maximum key.F(c) Louis Wasserman 2010 BSD-stylelibraries@haskell.org experimentalportableNone3:[+Gpqueue'A priority queue with elements of type a. Supports extracting the maximum element. Implemented as a wrapper around .HpqueueO(1). The empty priority queue.IpqueueO(1)#. Is this the empty priority queue?JpqueueO(1)&. The number of elements in the queue.KpqueueO(1). Returns the maximum element of the queue. Throws an error on an empty queue.LpqueueO(1):. The top (maximum) element of the queue, if there is one.MpqueueO(log n). Deletes the maximum element of the queue. Does nothing on an empty queue.NpqueueO(log n). Extracts the maximum element of the queue. Throws an error on an empty queue.OpqueueO(log n). Extract the top (maximum) element of the sequence, if there is one.PpqueueO(log n). Delete the top (maximum) element of the sequence, if there is one.QpqueueO(1)3. Construct a priority queue with a single element.RpqueueO(1),. Insert an element into the priority queue.SpqueueO(log (min(n1,n2)))(. Take the union of two priority queues.Tpqueue= n.Wpqueue O(k log n). Returns the queue with the k1 largest elements deleted, or the empty queue if k >= n.Xpqueue O(k log n). Equivalent to (take k queue, drop k queue).YpqueueY, applied to a predicate p and a queue queue2, returns the longest prefix (possibly empty) of queue of elements that satisfy p.ZpqueueZ p queue# returns the queue remaining after Y p queue.[pqueue[, applied to a predicate p and a queue queue, returns a tuple where first element is longest prefix (possibly empty) of queue of elements that satisfy p2 and second element is the remainder of the queue.\pqueue\, applied to a predicate p and a queue queue, returns a tuple where first element is longest prefix (possibly empty) of queue of elements that do not satisfy p2 and second element is the remainder of the queue.]pqueueO(n). Returns a queue of those elements which satisfy the predicate.^pqueueO(n). Returns a pair of queues, where the left queue contains those elements that satisfy the predicate, and the right queue contains those that do not._pqueueO(n). Maps a function over the elements of the queue, and collects the  values.`pqueueO(n). Maps a function over the elements of the queue, and separates the  and  values.apqueueO(n). Assumes that the function it is given is monotonic, and applies this function to every element of the priority queue. Does not check the precondition.bpqueueO(n)+. Unordered right fold on a priority queue.cpqueueO(n)*. Unordered left fold on a priority queue.dpqueueEquivalent to e.epqueueO(n). Returns a list of the elements of the priority queue, in no particular order.fpqueue O(n log n). Performs a right-fold on the elements of a priority queue in ascending order. f f z q == i (flip f) z q.gpqueue O(n log n). Performs a left-fold on the elements of a priority queue in descending order. g f z q == h (flip f) z q.hpqueue O(n log n). Performs a right-fold on the elements of a priority queue in descending order.ipqueue O(n log n). Performs a left-fold on the elements of a priority queue in descending order.jpqueue O(n log n). Extracts the elements of the priority queue in ascending order.kpqueue O(n log n). Extracts the elements of the priority queue in descending order.lpqueue O(n log n). Returns the elements of the priority queue in ascending order. Equivalent to k.;If the order of the elements is irrelevant, consider using e.mpqueueO(n)6. Constructs a priority queue from an ascending list. Warning": Does not check the precondition.npqueueO(n)6. Constructs a priority queue from a descending list. Warning": Does not check the precondition.opqueue O(n log n)5. Constructs a priority queue from an unordered list.ppqueueO(n)1. Constructs a priority queue from the keys of a F.qpqueueO(log n). Forces the spine of the heap.,GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq,GHIJKLMNPOQRSTUVWXYZ[\]^_`fghiljkomnabcdepq(c) Louis Wasserman 2010 BSD-stylelibraries@haskell.org experimentalportableNone3M+zpqueue The union of a list of queues: (z ==   ).{pqueueO(1)1. The minimal (key, element) in the queue. Calls  if empty.|pqueueO(log n). Deletes the minimal (key, element) in the queue. Returns an empty queue if the queue is empty.}pqueueO(log n):. Delete and find the element with the minimum key. Calls  if empty.~pqueueO(1). Alter the value at the minimum key. If the queue is empty, does nothing.pqueueO(log n) . (Actually O(1) if there's no deletion.) Update the value at the minimum key. If the queue is empty, does nothing.pqueueO(log n). Retrieves the value associated with the minimal key of the queue, and the queue stripped of that element, or  if passed an empty queue.pqueueO(n).. Map a function over all values in the queue.pqueueO(n).  f q# is the queue obtained by applying f to each key of q.pqueue O(n log n). Traverses the elements of the queue in ascending order by key. ( f q ==   $  ( f) ( q))If you do not care about the order" of the traversal, consider using .pqueueO(n). Map values and collect the  results.pqueueO(n). Map values and separate the  and  results.pqueueO(n)/. Filter all values that satisfy the predicate.pqueueO(n)/. Filter all values that satisfy the predicate.pqueueO(n). Partition the queue according to a predicate. The first queue contains all elements which satisfy the predicate, the second all elements that fail the predicate.pqueueO(n). Partition the queue according to a predicate. The first queue contains all elements which satisfy the predicate, the second all elements that fail the predicate.pqueue O(k log n). Takes the first k/ (key, value) pairs in the queue, or the first n if k >= n. ( k q ==  k ( q))pqueue O(k log n). Deletes the first k? (key, value) pairs in the queue, or returns an empty queue if k >= n.pqueue O(k log n). Equivalent to ( k q,  k q).pqueueTakes the longest possible prefix of elements satisfying the predicate. ( p q ==  (p . ) ( q))pqueueTakes the longest possible prefix of elements satisfying the predicate. ( p q ==  (uncurry p) ( q))pqueueRemoves the longest possible prefix of elements satisfying the predicate.pqueueRemoves the longest possible prefix of elements satisfying the predicate.pqueueEquivalent to ( p q,  p q).pqueueEquivalent to  ( . p).pqueueEquivalent to ( p q,  p q).pqueueEquivalent to  ( k a ->  (p k a)) q.pqueueO(n)=. Build a priority queue from the list of (key, value) pairs.pqueueO(n). Build a priority queue from an ascending list of (key, value) pairs.  The precondition is not checked.pqueueO(n). Build a priority queue from a descending list of (key, value) pairs.  The precondition is not checked.pqueue O(n log n)2. Return all keys of the queue in ascending order.pqueue O(n log n)=. Return all elements of the queue in ascending order by key.pqueue O(n log n):. Return all (key, value) pairs in ascending order by key.pqueue O(n log n);. Return all (key, value) pairs in descending order by key.pqueue O(n log n). Equivalent to .5If the traversal order is irrelevant, consider using .pqueue O(n log n). Equivalent to .pqueueO(n)6. Return all keys of the queue in no particular order.pqueueO(n):. Return all elements of the queue in no particular order.pqueueO(n). Equivalent to .pqueueO(n). Returns all (key, value) pairs in the queue in no particular order.pqueueO(n). An unordered right fold over the elements of the queue, in no particular order.pqueueO(n). An unordered left fold over the elements of the queue, in no particular order.pqueueO(n). An unordered traversal over a priority queue, in no particular order. While there is no guarantee in which order the elements are traversed, the resulting priority queue will be perfectly valid. z{|}~z{ |}~    8(c) Louis Wasserman 2010 BSD-stylelibraries@haskell.org experimentalportableNone3jdpqueueO(1)#. Returns the empty priority queue.pqueueO(1)(. Constructs a singleton priority queue.pqueue Amortized O(1) , worst-case O(log n)<. Inserts an element with the specified key into the queue.pqueueO(n) (an earlier implementation had O(1) but was buggy). Insert an element with the specified key into the priority queue, putting it behind elements whose key compares equal to the inserted one.pqueue Amortized O(log(min(n1, n2))) , worst-case O(log(max(n1, n2)))1. Returns the union of the two specified queues.pqueue The union of a list of queues: ( ==    ).pqueueO(1)). Checks if this priority queue is empty.pqueueO(1)*. Returns the size of this priority queue.pqueueO(1)1. The maximal (key, element) in the queue. Calls  if empty.pqueueO(1). The maximal (key, element) in the queue, if the queue is nonempty.pqueueO(log n):. Delete and find the element with the maximum key. Calls  if empty.pqueueO(log n):. Delete and find the element with the maximum key. Calls  if empty.pqueueO(1). Alter the value at the maximum key. If the queue is empty, does nothing.pqueueO(1). Alter the value at the maximum key. If the queue is empty, does nothing.pqueueO(log n) . (Actually O(1) if there's no deletion.) Update the value at the maximum key. If the queue is empty, does nothing.pqueueO(log n) . (Actually O(1) if there's no deletion.) Update the value at the maximum key. If the queue is empty, does nothing.pqueueO(log n). Retrieves the value associated with the maximum key of the queue, and the queue stripped of that element, or  if passed an empty queue.pqueueO(log n). Retrieves the maximal (key, value) pair of the map, and the map stripped of that element, or  if passed an empty map.pqueueO(n).. Map a function over all values in the queue.pqueueO(n).. Map a function over all values in the queue.pqueueO(n).. Map a function over all values in the queue.pqueueO(n).  f q ==  f q, but only works when f is strictly monotonic.  The precondition is not checked.- This function has better performance than .pqueue O(n log n)2. Fold the keys and values in the map, such that  f z q ==  ( f) z ( q).=If you do not care about the traversal order, consider using .pqueue O(n log n)2. Fold the keys and values in the map, such that  f z q ==   ( . f) z ( q).=If you do not care about the traversal order, consider using .pqueue O(n log n). Traverses the elements of the queue in descending order by key. ( f q ==   $  ( f) ( q))If you do not care about the order" of the traversal, consider using .pqueue O(k log n). Takes the first k/ (key, value) pairs in the queue, or the first n if k >= n. ( k q ==  k ( q))pqueue O(k log n). Deletes the first k? (key, value) pairs in the queue, or returns an empty queue if k >= n.pqueue O(k log n). Equivalent to ( k q,  k q).pqueueTakes the longest possible prefix of elements satisfying the predicate. ( p q ==  (p . ) ( q))pqueueTakes the longest possible prefix of elements satisfying the predicate. ( p q ==  (uncurry p) ( q))pqueueRemoves the longest possible prefix of elements satisfying the predicate.pqueueRemoves the longest possible prefix of elements satisfying the predicate.pqueueEquivalent to ( p q,  p q).pqueueEquivalent to  ( . p).pqueueEquivalent to  (k a ->  (p k a)) q.pqueueEquivalent to  (k a ->  (p k a)) q.pqueueO(n)/. Filter all values that satisfy the predicate.pqueueO(n)/. Filter all values that satisfy the predicate.pqueueO(n). Partition the queue according to a predicate. The first queue contains all elements which satisfy the predicate, the second all elements that fail the predicate.pqueueO(n). Partition the queue according to a predicate. The first queue contains all elements which satisfy the predicate, the second all elements that fail the predicate.pqueueO(n). Map values and collect the  results.pqueueO(n). Map values and collect the  results.pqueueO(n). Map values and separate the  and  results.pqueueO(n). Map values and separate the  and  results.pqueueO(n)=. Build a priority queue from the list of (key, value) pairs.pqueueO(n). Build a priority queue from an ascending list of (key, value) pairs.  The precondition is not checked.pqueueO(n). Build a priority queue from a descending list of (key, value) pairs.  The precondition is not checked.pqueue O(n log n)3. Return all keys of the queue in descending order.pqueue O(n log n)>. Return all elements of the queue in descending order by key.pqueue O(n log n). Equivalent to .pqueue O(n log n):. Return all (key, value) pairs in ascending order by key.pqueue O(n log n);. Return all (key, value) pairs in descending order by key.pqueue O(n log n). Equivalent to .5If the traversal order is irrelevant, consider using .pqueueO(n). An unordered right fold over the elements of the queue, in no particular order.pqueueO(n). An unordered right fold over the elements of the queue, in no particular order.pqueueO(n). An unordered left fold over the elements of the queue, in no particular order.pqueueO(n). An unordered left fold over the elements of the queue, in no particular order.pqueueO(n). An unordered traversal over a priority queue, in no particular order. While there is no guarantee in which order the elements are traversed, the resulting priority queue will be perfectly valid.pqueueO(n). An unordered traversal over a priority queue, in no particular order. While there is no guarantee in which order the elements are traversed, the resulting priority queue will be perfectly valid.pqueueO(n)6. Return all keys of the queue in no particular order.pqueueO(n):. Return all elements of the queue in no particular order.pqueueO(n). Equivalent to .pqueueO(n). Returns all (key, value) pairs in the queue in no particular order.pqueueO(log n). Analogous to deepseq in the deepseq9 package, but only forces the spine of the binomial heap.FF  !"#$%&' (     )    * + , - . / ' 0123456789:;< =>?@ABCDEFGHIJK LMNOPQRS459:678;<*+E./FG,-@A=>?CDB0'TUVWXYZ[4123\]) ^_*+;`<a9:b6c78deBCDfg=>?hiFjG./klmnopqr4NOPQstuvRw ^"#_9:b6c78de;`<a* +!BCDfgh=>?.$/%k&iFjG'xyz{|}~              (      %pqueue-1.4.1.4-GWSkTLwrLQbAghtY18mqdyData.PQueue.MaxData.PQueue.Prio.MinData.PQueue.MinData.PQueue.Prio.MaxControl.Applicative.IdentityData.PQueue.Prio.InternalsListfoldrfoldlData.PQueue.Internals Data.ListmapData.PQueue.Prio.Max.Internalstake takeWhilebaseGHC.Base MinPQueueemptynullsize singletoninsert insertBehinduniongetMinadjustMinWithKeyupdateMinWithKeyminViewWithKey mapWithKeymapKeysMonotonicmapMaybeWithKeymapEitherWithKey foldrWithKey foldlWithKey foldrWithKeyU foldlWithKeyUtraverseWithKeyUseqSpineMinQueueminViewmapMaybe mapEitherfoldrAscfoldlAscfoldrUfoldlU keysQueuefindMin deleteMin deleteFindMinunions!! dropWhilespanbreakdropsplitAtfilter partition toAscList toDescListtoList foldrDesc foldlDescfromList fromAscList fromDescListmapUelemsUtoListU$fMonoidMinQueue$fSemigroupMinQueue$fReadMinQueue$fShowMinQueue MaxPQueueMaxQueuefindMaxgetMax deleteMax deleteFindMaxmaxViewdelete$fMonoidMaxQueue$fSemigroupMaxQueue$fReadMaxQueue$fShowMaxQueue$fNFDataMaxQueue $fEqMaxQueue $fOrdMaxQueue$fDataMaxQueue adjustMin updateMinmapKeystraverseWithKey filterWithKeypartitionWithKeytakeWhileWithKeydropWhileWithKey spanWithKey breakWithKeykeyselemsassocskeysUassocsU traverseU$fTraversableMinPQueue$fFoldableMinPQueue$fFunctorMinPQueue$fReadMinPQueue$fShowMinPQueue$fMonoidMinPQueue$fSemigroupMinPQueue adjustMaxadjustMaxWithKey updateMaxupdateMaxWithKeymaxViewWithKey$fTraversableMaxPQueue$fFoldableMaxPQueue$fFunctorMaxPQueue$fReadMaxPQueue$fShowMaxPQueue$fMonoidMaxPQueue$fSemigroupMaxPQueueIdentity runIdentity GHC.MaybeNothingJust Data.EitherLeftRight Data.Tupleuncurry insertMin mapForestCompFSuccZero BinomTree BinomHeap BinomForestNilSkipConsEmptyMinPQ.:LEq mapMonotonicfmap insertMinQ Data.FoldableMaxPQDownunDownGHC.ErrerrorData.TraversabletraverseGHC.Listsndghc-prim GHC.Classesnot