úÎ:œ8>      Safe-InferredM 7Concatenates two filepaths, for example: | | > "ab" <> "c" | "abc" |XFunction composition, but where the inner function's returnvalue | is inside a functor.7Ternary operator: if the predicate function evalues to 5 | , take the second argument; otherwise, the first.  getFileDirectory "a/b/c/d/e.txt"| "abcd!" | | > getFileDirectory "abcd " | "abcd4" | | > getFiledirectory "file.txt" | "."<Takes a list of filepaths, and removes "." and ".." from it.Creates a file at the specified path with the specified contents. | If intermediate directories do not exist, it creates them._Removes the oldest ancestor from a path component, e.g. | | > removeFirstPathComponent "abc" | "b/c"…Gets paths to all files in or in subdirectories of the | specified directory. Returned paths are relative to the | given directory.KDrops elements from the given list until the predicate function | returns 2 (returned list includes element that passes test)  None)24MDiff between two sequences. 3 represents the indices | at which to delete, and  / represents the indices and | contents to add.wreturns (to delete, to add) | | > diffSequences "abcdefg" "wabxyze" | SeqDiff {dels = [2,3,5,6], adds = [(0,w),(3,x),(4,y),(5,z)]} !diffSequences "abcdefg" "wabxyze",| SeqDiff {dels = [2,3,5,6], adds = [(0,w),(3,x),(4,y),(5,z?)]} | | > applySequenceDiff it "abcdefg" | "wabxyze"!¡Compute the longest common (potentially noncontiguous) subsequence | between two sequences. Element type is fixed because memoization | requires a static type."When sub2 is a (not necessarily contiguous) subsequence of super,, | get the index at which each element of subL appears. E.g. | | > subsequenceIndices "abe" "abcdefg" | [0,1,4]#When sub2 is a (not necessarily contiguous) subsequence of super*, | get the indices at which elements of subY do *not* appear. E.g. | | > nonSubsequenceIndices "abe" "abcdefg" | [2,3,5,6]$O(n). indicesN parameter *must* be sorted in increasing order, | and indices must all exist !"#$%!"#$%None)Basic error typeData type for a line/A data type for differences between directories ?The basic data type for a difference between two files. The | &ü is the "base" file in the base-comp comparison, and | is the file to which the patch will be applied. Deletions: a list | of indices at which to remove elements. Additions: each line to add | comes with the index at which it will eventually reside. '()*+,       '()*+,None)MO(mn)ÿz. Compute the difference between the two files (more | specifically, the minimal number of changes to make to transform the | file residing at the location specified by the first | parameter into the second). Throws an exception if either or both of | the parameters point to a directory, not a file. | | Files are allowed to not exist at either or both of the parameters.ÿ9Compute the difference between the two directories (more | specifically, the minimal number of changes to make to transform the | directory residing at the location specified by the first | parameter into the second). Throws an exception if either or both of | the parameters point to a file, not a directory.O(n)%. Apply a diff to a directory or file upon success; - upon failure.       !"#"$%&'()*+,-./0123filediff-0.1.0.0Filediff.SequenceFilediff.TypesFilediffFilediff.UtilsSeqDiffdelsadds diffSequencesapplySequenceDiffErrorLineDiff filediffsbasecomplinediff diffFilesdiffDirectories applyToFileapplyToDirectory<.>?:ghc-prim GHC.TypesTruegetFileDirectory removeDotDirscreateFileWithContentsremoveFirstPathComponent!getDirectoryContentsRecursiveSafe dropUntil"getDirectoryContentsRecursiveSafe' Data.TuplefstsndlongestCommonSubsequencesubsequenceIndicesnonSubsequenceIndicesremoveAtIndices$fMonoidSeqDiffGHC.IOFilePath excludeBy intersectBy $fMonoidDiff$fMemoTableText$fEqDiff$fMonoidFilediffFalse