|E,      !"#$%&'()*+. ,-./012345678 ,./01234567 ,./012345679:;<=>9;<=>9;<=>?@ABCDE?@ABCDE?@ABCDE#FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghFMOPQRSTU_`abcdefghFMOPQRSTU_`abcdefghijklmnopqrstuvwxyz{|}~jklmnopqrstuvwxyz{|}~jmlkklmn zyxwvutsrqpoopqrstuvwxyz{|}~NA list of scores where one is lower than the other, returns the score result.  In the Y monad since it may require randomness, and it may output status messages while solving, $ particularly if in Verbose mode. )Greedy hill climbing to improve a config (Try and minimize the cost of the config Perturb one value in the list jklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Z    ,Only append strings if neither one is empty CLike splitAt, but also return the number of items that were split.  For performance.  /  :Take a piece of text and escape all the HTML special bits 4Escape the second argument as HTML before appending 7Take an escape encoded string, and return the original BEscape the second argument as a CGI query string before appending   FFMOPQRSTU_`abcdefgh                 !"#$%Items will obtain the Id's 0..length-1 &'() "$%&'() "$%&'() ,Colored text. Index into a 0-based palette. A hyperlink to a URL.  Underlined/ italic text.  Bold text. "A list of tags one after another.  Plain text. Show a & as a string, without any formatting. Show a * on a console with ANSI escape sequences. Show a / as HTML, using CSS classes for color styling. 0Show TagStr with an override for specific tags.       *+,-./0123.01.01#456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV#456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV#455687789 :;<=>?@ABC:;<=>?@ABCDIHGFEEFGHIJ KLMNOPQRSKLMNOPQRSTUV1 based WWWXYZ[\]XYZ[\]XYZ[\YZ[\]^      .01456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm__ nopqrstuvwnopqrstuvwxy nrqpoopqrstuvstuvw z{|}~~~ ZGiven a set of items, which may or may not individually satisfy the entryScore invariant, . make it so they _do_ satisfy the invariant NCreate a substring search index. Values are returned in order where possible.  !  "# $% &                 '(  ) ! ! !*"#$%&'  !"#$%&'"#$%&'+()*((,nopqrstuvwxy~(-+,-./09Apply the PlusModule, MinusModule and MinusPackage modes 12-.-..3456734348 !"#$(From a textbase lines we have currently %&'()9*+_A pair of bounds. These bounds are the lowest and highest indices in the array, in that order. L For example, the first 10 elements are (0,9) and the next 10 are (10,19) ,  !"#$%&'()*+,   !"%$#&'()*+ !!"#$%&'()*+:/0 123456789:;<=>>?@ABCDEFGGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdeeZfg_hijklmnoppqqrrstuvwxyz{|}~/       !"#$%&'(_)*+,-./0123456789:;<g=>?@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@[@\@]@^@_@`@a@b@c@d@e@f@ghihjhkhlhmhnhnhohphphqhrhrhshththuhvhvhwhxhxhyhzhzh{h|h|}~f      !"#$%&'()*+ , - . / 0 1 2 3 4 5 6 7 8 9 : ; <=>?@ABCDCECFGHGIGJGKGLGM=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=bcdcecfcgchijikiliminioipiqirisitiuiviwixiyizi{i|i}i~iiiici???????????????                                                              ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 89:;<=>?@ABBCDEEFGHIJKLMNOPQRSTUVWXYYZ[]\]]^^_`abcdee7ffghijkklmnoopqrstuvwxyz{|}~GGDS                !!!!!!!!!!!!!!!!!!!""""""############ $ $ $ $ $ $$$$G$$$$$%%%%%%%%%%&&&&&& &!&"&"&#&$&%&&&'&(&)&*&+',','-'.(/(/(0(1(2(3(4( (5(6)7)8)9*:*;*<*=*>*?+@+A+B-C-C-D-E-F-G-H-I.W.X.J.1.2LKL hoogle-4.1Hoogle Data.Heap Data.TypeMapData.Binary.RawData.Binary.Defer.MonadHoogle.Score.TypeHoogle.Score.ScoringHoogle.Score.All General.BaseGeneral.System General.UtilData.Binary.Defer.Class General.WebData.Binary.DeferHoogle.Type.TypeSigData.Binary.Defer.ArrayData.Binary.Defer.IndexHoogle.Type.TagStrHoogle.Type.DocumentationHoogle.Type.ItemHoogle.Type.ParseErrorHoogle.Type.ResultHoogle.Type.AllHoogle.Language.HaskellHoogle.Query.TypeHoogle.Query.ParserHoogle.Query.RenderHoogle.DataBase.AliasesHoogle.DataBase.InstancesHoogle.DataBase.ItemsHoogle.DataBase.SubstrSearchHoogle.DataBase.Suggest"Hoogle.DataBase.TypeSearch.Binding$Hoogle.DataBase.TypeSearch.EntryInfo$Hoogle.DataBase.TypeSearch.TypeScore!Hoogle.DataBase.TypeSearch.Result Hoogle.DataBase.TypeSearch.Graph!Hoogle.DataBase.TypeSearch.GraphsHoogle.DataBase.TypeSearch.AllHoogle.DataBase.TypeHoogle.DataBase.SerialiseHoogle.DataBase.AllHoogle.Query.SuggestHoogle.Query.AllHoogle.Search.ResultsHoogle.Search.AllScorescoringURLTagStrTagColorTagLinkTagEmphTagBoldTagsStr showTagText showTagANSI showTagHTMLshowTagHTMLWith formatTags ParseErrorlineNocolumnNo errorMessage parseInputemptyParseErrorQuery isBlankQuery renderQueryResultpackagemodulselfdocsDatabaseLanguageHaskell loadDatabase showDatabasecreateDatabase saveDatabase parseQueryqueryDatabasesquerySuggestionsqueryCompletions searchAll searchRangeHeapemptyfromListtoListelems singletoninsert insertListpoppopUntilpopWhilepopByTypeMaplookupfindhGetPoshSetPosmaxBytehPutInthPutBytehGetInthGetByteDeferGetBuffer DeferPatchup DeferPendingDeferPutputValueputIntputByteputChr putByteStringputLazyByteStringputDefer runDeferPutrunDeferPendingsrunDeferPending bufferNew bufferAddbufferAddByteStringbufferAddLazyByteString bufferFlush bufferPos bufferPatchgetIntgetBytegetChr getByteStringgetLazyByteStringgetDefer runDeferGet getDeferGet getDeferPutunwrapDeferGet TextMatch MatchSubstr MatchPrefix MatchExactTypeCostCostArgReorder CostDeadArgCostInstanceAddCostInstanceDelCostDupVarQueryCostDupVarResultCostUnrestrict CostRestrict CostRebox CostUnbox CostAliasBwd CostAliasFwdcost textScore typeScore scoreCostsConfigRangeCostghc-prim GHC.TypesIO improveConfig solveConfigperturb unzipEithersinitLastchopbaseGHC.Base++foldrGHC.Listconcatfilterzipmap$ GHC.Classes>=fail>>=>>return Control.Arrowarrfirstapp|||loopMonad Data.DataDataFunctorOrd Data.TypeableTypeable Control.Monad MonadPlusChar GHC.OrderingOrdering Data.EitherEitherStringLeftRight GHC.UnicodeisSpace Debug.TracetraceleftApp^<<<<^>>^^>>returnA&&&***secondArrow runKleisliKleisli zeroArrow ArrowZero<+> ArrowPlus+++rightleft ArrowChoice ArrowApply ArrowMonad ArrowLoop Data.FunctiononfixControl.Category>>><<<Data.Ord comparingpartitionEithersrightsleftseither Data.Listunwordswordsunlineslinesproductsumfoldl1'foldl1foldl'unfoldrsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLength minimumBy maximumByminimummaximuminsertBy mapAccumR mapAccumL partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix Data.Char isSeparatorisSymbol isPunctuationisNumberisMarkisLettergeneralCategory digitToIntUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparatorControlFormat Surrogate PrivateUse NotAssignedGeneralCategory Data.MonoidmconcatmappendmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLasttoTitletoUppertoLower isAsciiUpper isAsciiLowerNumericshowHexreadHexGHC.Read readLitChar lexLitCharGHC.IOFilePathmfilterapliftM5liftM4liftM3liftM2liftMunlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<>=>msumforM_forMfilterMguardmapM_mapM sequence_sequence=<<mplusmzeroGHC.Show intToDigit showLitCharunzip3unzipzipWith3zipWithzip3!! concatMapnotElemelemallanyorandreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrfoldr1scanl1scanlfoldllengthnullinitlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeNothingJustMaybeflip.constidordchrfmapminmax<=><compareisAsciiisLatin1 isControlisPrintisUpperisLowerisAlphaisDigit isOctDigit isHexDigit isAlphaNumGTEQLTfilepath-1.2.0.0System.FilePath.Posix makeRelative isAbsolute isRelative makeValidisValid normalise equalFilePathjoinPathsplitDirectories splitPathreplaceDirectory takeDirectorydropTrailingPathSeparatoraddTrailingPathSeparatorhasTrailingPathSeparatorreplaceBaseName takeBaseName takeFileName dropFileNamereplaceFileName splitFileNameisDrivehasDrive dropDrive takeDrive joinDrive splitDrivetakeExtensionsdropExtensionssplitExtensions hasExtension addExtension dropExtension<.>replaceExtension takeExtensionsplitExtension getSearchPathsplitSearchPathisExtSeparator extSeparatorisSearchPathSeparatorsearchPathSeparatorisPathSeparatorpathSeparators pathSeparatorfst3snd3thd3fromLeft fromRightisLeftisRight concatMapMlowerupper readFile'ltrimrtrimtrim captureOutputsystem_ exitMessage System.IOprintGHC.IO.Handle.TypesHandle System.Mem performGC System.Exit exitSuccess exitFailureexitWithSystem.EnvironmentgetEnvironment withProgNamewithArgsgetEnv getProgNamegetArgs(openBinaryTempFileWithDefaultPermissions"openTempFileWithDefaultPermissionsopenBinaryTempFile openTempFilefixIOwithBinaryFilewithFilehPrinthReadyreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.Handle.FDopenBinaryFileopenFileisEOFstderrstdin GHC.IO.HandlehShowhSetNewlineModehSetBinaryModehIsTerminalDevicehGetEchohSetEcho hIsSeekable hGetBuffering hIsWritable hIsReadable hIsClosedhIsOpenhTellhSeekhSetPosnhGetPosn hGetEncoding hSetEncoding hSetBuffering hLookAheadhIsEOF hSetFileSize hFileSizehClose HandlePosnGHC.IO.Handle.TexthGetBufNonBlocking hGetBufSomehGetBufhPutBufNonBlockinghPutBuf hPutStrLnhPutStrhPutChar hGetContentshGetLinehGetChar hWaitForInputGHC.IO.EncodingmkTextEncodinglocaleEncodingutf32beutf32leutf32utf16beutf16leutf16utf8_bomutf8latin1stdouthFlushGHC.IO.Exception ExitSuccess ExitFailureExitCodenoNewlineTranslationnativeNewlineModeuniversalNewlineMode nativeNewline NoBuffering LineBufferingBlockBuffering BufferModeLFCRLFNewlineoutputNLinputNL NewlineModeGHC.IO.Encoding.Types TextEncoding GHC.IO.Device AbsoluteSeek RelativeSeek SeekFromEndSeekMode GHC.IO.IOModeReadMode WriteMode AppendMode ReadWriteModeIOModedirectory-1.1.0.0System.DirectorygetTemporaryDirectorygetUserDocumentsDirectorygetAppUserDataDirectorygetHomeDirectorygetModificationTime doesFileExistdoesDirectoryExistsetCurrentDirectorygetCurrentDirectorygetDirectoryContentsfindExecutablemakeRelativeToCurrentDirectorycanonicalizePathcopyFile renameFilerenameDirectory removeFileremoveDirectoryRecursiveremoveDirectorycreateDirectoryIfMissingcreateDirectorycopyPermissionssetPermissionsgetPermissionssetOwnerSearchablesetOwnerExecutablesetOwnerWritablesetOwnerReadableemptyPermissions searchable executablewritablereadable Permissionsprocess-1.0.1.5System.Processsystem rawSystem withDirectory++? groupFstsfoldfold1halvesmergemergeBymergesmergesBysplit splitAtLengthcompareCaseless compareString compareCharsortOngroupOnsortFstgroupFst sortGroupFsts sortGroupFstreprepsrbreakDefer BinaryDeferputgetsizeputFixedgetFixed errorDeferGet putEnumByte getEnumByteputList fromDeferget0get1get2get3get4get5get6get7get8get9 getFixed0 getFixed1 getFixed2 getFixed3 getFixed4 getFixed5 getFixed6put0put1put2put3put4put5put6put7put8put9 putFixed0 putFixed1 putFixed2 putFixed3 putFixed4 putFixed5 putFixed6 escapeHTML++&htmlTag filePathToURL combineURL unescapeURL escapeURL++% cgiVariable envVariablecgiArgsparseHttpQueryArgs splitList splitPair FixedBinary fixedSizeBinaryDeferGetbinaryDeferGetTypeTFunTVarTLitTAppTypeSimp TypeContext ConstraintTypeSigtAppfromTFunisTLitisTVarfromTApp isTLitTuple insertTApp removeTApp onTypeSig variables variablesSigshowConstraintshowFunnormaliseTypeSig normaliseTypesplitFun renameVars transformSig universeSigArrayarray! arraySizeLinkIndexIdnewIndexnewLinkfromLinklinkKey indexLinksTag DocumentationhtmlDocumentationrenderDocumentation parseHTMLreadHTML EntryScore EntryView ArgPosNumFocusOnEntry entryPackage entryModule entryName entryText entryDocsentryURL entryPriorityentryKey entryTypeFact FactCtorType FactClassKind FactDataKind FactInstance FactAliasTextItem itemLevelitemKeyitemNameitemTypeitemDispitemURLitemDocs itemPriorityInputrenderEntryText entryScoreparseErrorWith resultEntry resultView resultScore renderResultSparseInputHaskell parseLine subtractColsripple transDecl typeArgsPoscolsfindName transType transContext transTypeSig transDeclHead transInstHeadtransVarkindsScope MinusModule PlusModule MinusPackage PlusPackagenamestypeSigscope blankQuery isPlusModule isMinusModuleStrPosBracket NoBracket toParseError optionBool parsecQueryparseFlagScope parsecTypeSig bracketer readBracket renderTypeSigAlias_argsrhsAliases fromAliases createAliases mergeAliasestransitiveClosure followAliases followAlias normAliases Instances fromInstancescreateInstancesmergeInstances normInstances hasInstanceItems entriesItems createItems mergeItemssCountsFocussLastsPrefixsInfix SubstrSearchtextlensindscreateSubstrSearchsearchSubstrSearchcompletionsSubstrSearch putBinary getBinarybsMatch SuggestItem suggestCtor suggestData suggestClassSuggest fromSuggest createSuggest mergeSuggestjoinItem askSuggest contextTrimimprove improveArity improveNameBoxReboxUnboxBindingBindLitVar costBinding newBindingnewBindingUnboxnewBindingRebox addBindingaddVaraddLit mergeBindingscostsBindingLocal costsBindingbindings EntryInfoentryInfoEntriesentryInfoArityentryInfoContextentryInfoAlias TypeScore costTypeScorebadargsbadorderbind badInstancebadAlias newTypeScore calcScorecostsTypeScoreLocalcostsTypeScore ResultArgresultArgEntry resultArgPos resultArgBind ResultAll ResultRealArgPosflattenResults newResultAll addResultAllnewGraphsResultsNodeGraph typeStructuretypeUnstructurenewGraphnewNode graphSearch graphCheckinfospendingtodo instancesqueryGraphs entryInfoargGraphresGraph newGraphsnormType graphsSearchresultsCombine delResult addResult TypeSearchcreateTypeSearchsearchTypeSearchDataBaseitems nameSearch typeSearchsuggestaliasesshowDataBaseParts showDataBase hooVersion saveDataBase loadDataBasecreateDataBasecombineDataBase searchName searchType suggestion completions suggestQuery didYouMeanfixupKeymergeDataBaseResultsmergeQueryResults joinResults filterResultscorrectPackage correctModule getResultstoResult