E(=     NoneInformation of positive result.KSpecified domain is IP address. So, it is converted into a numeric address.+An address resolved from cache DNS servers.#An address obtained from the cache. !"#$%&' None()*()*()*None+,-+,-+,-None.A mapping from keys k to priorites p./E k p binds the key k with the priority p.0O(1)# The number of elements in a queue.1O(1) True if the queue is empty.2O(log n)L The priority and value of a given key, or Nothing if the key is not bound.3O(1) Build a queue with one element.4O(log n) Insert a new key, priority and value in the queue. If the key is already present in the queue, the associated priority and value are replaced with the supplied priority and value.5O(log n) Delete a key and its priority and value from the queue. When the key is not a member of the queue, the original queue is returned.6O(log n) Update a priority at a specific key with the result of the provided function. When the key is not a member of the queue, the original queue is returned.7 O(n*log n)! Build a queue from a list of keypriorityvalue tuples. If the list contains more than one priority and value for the same key, the last priority and value for the key is retained.8O(n) Convert to a list of keypriority value tuples.9O(n) Convert to an ascending list.:O(n) Convert to a descending list.;O(1)& The element with the lowest priority.<O(log n)] Delete the element with the lowest priority. Returns an empty queue if the queue is empty.=O(log n)c Retrieve the binding with the least priority, and the rest of the queue stripped of that binding.>O(r*(log n - log r))H Return a list of elements ordered by key whose priorities are at most pt.?Balance factor@Take two pennants and returns a new pennant that is the union of the two with the precondition that the keys in the rst tree are strictly smaller than the keys in the second tree.A A version of @c that can be used if the shape of the tree has not changed or if the tree is known to be balanced.EBCDEFGHIJKL.MN/OPQR012S3456789T:U;<=V>WXYZ[\]?^_`abcdefghijk@Almnopqr./OPQR012S3456789:;<=>8BCDGFEHKJIL.NM/OPQR012S3456789T:U;<=V>WXYZ[\]?^_`abcdefghijk@AlmnopqrpNonestuvwxyz{|}~suwyz{|}~stuvwxyz{|}~NoneNone fAn abstract data for DNS cache. Cached domains are expired every 10 seconds according to their TTL.Configuration for DNS cache.A list of resolvers (cache DNS servers). A domain is resolved by the resolvers concurrently. The first reply is used regardless of success/failure at this moment;Capability of how many domains can be resolved concurrently CThe minimum bound of cache duration for success replies in seconds. CThe maximum bound of cache duration for success replies in seconds. 2The cache duration for failure replies in seconds. kA basic function to create DNS cache. Domains should be resolved in the function of the second argument. Lookup  only in the cache.Lookup h in the cache. If not exist, queries are sent to DNS servers and resolved IP addresses are cached.Lookup  only in the cache.Lookup h in the cache. If not exist, queries are sent to DNS servers and resolved IP addresses are cached.Wait until the predicate in the second argument is satisfied. The predicate are given the number of the current resolving domains.<For instance, if you ensure that no resolvings are going on: wait cache (== 0)JIf you want to ensure that capability of concurrent resolving is not full: wait cache (< maxCon)where maxCon represents  in .!              !"#!"$!"%!"&!"'!"(!")!"*!"+!",!"-./0123456789:;<=6>?@ABCDEFGHIIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyyzz{{|}~ }~concurrent-dns-cache-0.0.0Network.DNS.CacheNetwork.DNS.Cache.TypesNetwork.DNS.Cache.UtilsNetwork.DNS.Cache.ValueNetwork.DNS.Cache.PSQNetwork.DNS.Cache.SyncNetwork.DNS.Cache.CacheResultNumericResolvedHitDNSCache DNSCacheConf resolvConfsmaxConcurrencyminTTLmaxTTL negativeTTL withDNSCache lookupCachelookup resolveCacheresolvewaitEntryTTLValuePrioKeyHash $fShowValue$fEqKey dns-1.4.4Network.DNS.InternalDomainSequenceNumberMismatchTimeoutExpiredUnexpectedRDATA IllegalDomain FormatError ServerFailure NameErrorNotImplementedOperationRefusedDNSErrornetwork-2.6.0.2Network.Socket.Types HostAddressisIPAddr fromResult fromEither positiveEntryrotateadjustPSQElemsizenull singletoninsertdeletefromListtoList toAscList toDescListfindMin deleteMinminViewatMostomegaplay unsafePlaySequTourViewPlaySingleNullLTreeRLoserLLoserStartSizeWinnerVoidEkeypriovalueempty toAscLists toDescLists secondBestatMostssize'leftrightmaxKeylloserrloserlbalancerbalance lbalanceLeft lbalanceRight rbalanceLeft rbalanceRight lsingleLeft rsingleLeft lsingleRight rsingleRight ldoubleLeft ldoubleRight rdoubleLeft rdoubleRighttourView moduleError emptySequ singleSequ<> seqToList $fShowSequ ActiveRef ActiveVarConcVar newConcVar waitIncreasedecrease newActiveVartelllisten newActiveReflookupActiveRefinsertActiveRefdeleteActiveRefCacheRef newCacheReflookupCacheRefinsertCacheRef pruneCacheRefnewKey cacheSeedscacheNofServerscacheRefcacheActiveRef cacheConcVarcacheConcLimit cacheMinTTL cacheMaxTTL cacheNegTTL lookupPSQinsertPositiveinsertNegative sendQuery concResolvresolvprune