úÎ!rÑn…*      !"#$%&'()Safeþbackstop’The environment contains the command name, operands, and the result of every option at least. It may contain other items that need to be updated.backstop Program namebackstopPresent Working Directory (PWD)backstoptrgdir srcdir  [srcdir...]backstop-a, use absolute symbolic linksbackstop-d, de-backstop trgdirbackstop-h, display help summarybackstop-l, display license terms backstop-m, display internal man page backstop-n , take no action but trace steps backstop-p&, populate trgdir with sub-directories backstop-r, report final statistics backstop-t , trace stepsbackstop-v, display versionbackstop-y, display manual synopsisbackstop{The defualt values, otherwise updated from the flags supplied on by the command line options. The default program name is backstop0. All options flags are False or off by default.    SafeB!backstop = [pathSeparator]backstop = "."backstop = ".."backstop Given a list [a],  returns the list of all pairs [(a,a)] of [a]& progressing from the head to tail of [a]. For example, Hpairs [x1,x2,x3,x4] == [(x1,x2),(x1,x3),(x1,x4),(x2,x3),(x2,x4),(x3,x4)] Note that %pairs [] == [] pairs (x:[]) == []backstopFor  length l /= 1, (unpairs . pairs) l == lis True. ÿNumber of elements Number of pairs ------------------ --------------- 0 => 0 1 => 0 2 => 1 3 => 3 4 => 6 5 => 10 e => p = e(e-1)/2, e >= 0backstop¯ returns a pathname that is reduced to canonical form equivalent to that of ksh(1), that is, symbolic link names are treated literally when finding the directory name. See cd -L2 of ksh(1). Specifically, extraneous separators ("/"), dot ("."), and double-dot ("..") directories are removed.backstopGiven a pathname wd4 representing a workng directory and two pathnames p1 and p2,  returns the reduced () and absolute path to p2 to which p1! could point as a symbolic link.If wdœ is not an absolute path, it is assumed to be a relative path that is relative to the root directory of the file system tree and is made an absolute path.backstopGiven a pathname wd4 representing a workng directory and two pathnames p1 and p2,  returns the reduced () and relative path from p1 to p2 to which p1( could point as a symbolic link. Thus, p1 must not be the root ("/"), dot ("."), nor double-dot ("..") directories but of the form "/SomePath/SymLink"If wdœ is not an absolute path, it is assumed to be a relative path that is relative to the root directory of the file system tree and is made an absolute path.backstop¥ compares elements of two lists and returns the list of elements that are in both lists, unique to the first list, and uniqued to the second list. Duplicates are *ed.backstop/ returns true if either the absolute pathname p1 or the absolute pathname p2. is a sub-directory or sub-path of the other.backstop' returns true if the absolute pathname p1- is a subdirectory of the absolute pathname p2 as in p1 `subdirectory` p2otherwise false.backstop returns true if p= is not a symbolic link and is a directory, otherwise false.backstop returns true if p& is a symbolic link, otherwise false.backstop returns true if pV is an object in the filesystem, otherwise false. Symbolic links are not deferenced. backstopCPut a string or page it if the environmental variable PAGER is set.+backstopGiven two abosulte pathnames p1 and p2, + returns the common prefix to p1 and p2 plus the remainders of p1 and p2, otherwise null plus p1 and p2.,backstop,¹ returns pathname components that are reduced to canonical form equivalent to that of ksh(1), that is, symbolic link names are treated literally when finding the directory name. See cd -L2 of ksh(1). Specifically, extraneous separators ("/"), dot ("."), and double-dot ("..") directories are removed.  SafeEK!backstopDisplay the internal manual.-backstopnInternal manual. The definitive source of the internal manual is the description section of the module Main.!!SafeGµ"backstop&Display the license terms (GNU GPLv3)..backstopPDerived from gpl-3.0.txt (GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007).""Safe>ny/backstop0Directory occupied with remaining content after  __unbackstop0backstopDirectory was emptied by  __unbackstop1backstop#Directory was empty when viewed by  __unbackstop2backstopNumber of calls to #3backstopDepth of recursion of #4backstop+Breadth for the given call to and depth of #5backstop%Number of symlinks created or removed6backstop(Number of directories created or removed7backstop+Number of non-fatal IO errors that occurred#backstop# the ˜ reporting a summary if requested, any errors, and a return code. The return code is either 0 for success, the number of errors, or 255 for infinity.8backstopPut to STDERR the 9 results 5, 6, 2, 3, 4, and 7.:backstop: the  keeping track of the 9 results.;backstop Given an  and a list of pathnames psm, create the objects which are links from the target to the source or directories as required yielding the 9 result.<backstop<; attempts to create a symbolic link or directory given an  and a basename pathname p yielding the 9 result.=backstop= the  keeping track of the 9 results.>backstop Given an  and a list of pathnames psn, destroy the objects which are links from the target to the source or directories as required yielding the 9 result.?backstop?< attempts to destroy a symbolic link or directory given an  and a basename pathname p yielding the 9 result.@backstop@/ attempts to destroy a symbolic link given an  and a basename pathname p yielding the 9 result.Abackstop Given an #, remove an empty target directory d if and only if the corresonding directory path exists under the source directory in which case the target directory is considered to have been populated by the source directory yielding the 9 result.Bbackstop Given an  and a pathname p, B yields the sorted list ps( of directory contents without the dot (".") or double ("..") directories yielding the 9 result bs in (bs, ps).CbackstopC of ps for further backstopping by :.Dbackstop Given an ,  the operation IO a yielding  (Backstop, a).Ebackstop Given an , E prints an error message for ioe to STDERR.FbackstopReturn the new  given a pathname p or the original  if done.GbackstopReturn the next  to process or the original  if done.HbackstopSet 2 to one in I.JbackstopSet 3 to one in I.KbackstopSet 5 to one in I.LbackstopSet 6 to one in I.MbackstopSet 7 to one in I.##N      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP1QRSTUVWbackstop-1.3.0.354-inplace EnvironmentUtilsManualLicenseBackstopIOtryEnvcommandpwdoperandsabsolute deBackstophelplicensemanualnoActionpopulatereporttraceversionsynopsis defaultEnv$fShowEnvironmentrootdotdotdotpairsunpairsreduceFilePath absoluteLink relativeLink compElemssubdirectories subdirectory aDirectory aSymbolicLinkanObjectputOrPageStrLn putManual putLicensebackstop$fMonoidBackstop$fSemigroupBackstop$fMonoidDirectoryContentStatus!$fSemigroupDirectoryContentStatus $fEqBackstop$fEqDirectoryContentStatusbase Data.OldListnubdecomposeFilePathsfilePathComponentsinternalManual gpl30LicenseOccupiedEmptiedEmptycallsdepthbreadthsymlinksdirserrs putBackstop _backstop createObjects createObject _unbackstopdestroyObjects destroyObjectdestroySymlink destroyDirlistDirectoryContentslistDirectories tryOperationputIOE nextDepth nextSourceoneCallGHC.BasememptyoneDepth oneSymlinkoneDironeErr