Caml1999I031 JGa0Stdlib__Filename0current_dir_name!&stringO@@@@,filename.mliRYYRYv@@@@/parent_dir_name"@@@@UU@@A@'dir_sep#@@@@Y>>Y>R@@+B@&concat$@,@@@@2@@@6@@@@@@@@4^5^@@DC@+is_relative%@E@@@$boolE@@@@@@Ib##Jb#C@@YD@+is_implicit&@Z@@@@@@@@@\g]g@@lE@,check_suffix'@m@@@@s@@@.@@@@@@@@umvm@@F@+chop_suffix(@@@@@@@@@@@@@@@@v s sv s @@G@/chop_suffix_opt)&suffix@@@@@@@&optionJ@@@@@@@@@@@| C C| C @@H@)extension*@@@@@@@@@@J ) )J ) I@@I@0remove_extension+@@@@@@@@@@Y  Y  @@J@.chop_extension,@@@@@@@@@@ee6@@K@(basename-@@@@@@@@@@jj@@ L@'dirname.@ @@@@@@@@@uu@@M@$null/@@@@zsszs@@,N@)temp_file0(temp_dir3@@@@@@@:@@@@@@@@D@@@@@@@@@@B77C7v@@RO@.open_temp_file1$mode&$listI&Stdlib)open_flag@@@@@@@@@%perms=#intA@@@@@@(temp_dirK}@@@@@@@@@@@@@@@@@ߠ8+out_channel@@@@@@@@@@@@@@@@CC@@P@1get_temp_dir_name2@$unitF@@@@@@@@@   3@@Q@1set_temp_dir_name3@@@@@@@@@@@@R@-temp_dir_name4@@@@dd@0ocaml.deprecated@ &Use Filename.get_temp_dir_name instead@@@@@@@@@S@%quote5@@@@@@@@@@:@@T@-quote_command6@@@@%stdinޠ@@@@@@&stdout@@@@@@&stderr(@@@@@@@נ3@@@@@@8@@@@@@@@@@@@@@6NN7@@FU@@n;/0Stdlib__Filename0;P0 uF*ߠ&Stdlib0yӶ~*8CamlinternalFormatBasics0cEXyRYm@г&stringFRYpGRYv@@ @@@H@@@NRYY@)ocaml.doc_ E The conventional name for the current directory (e.g. [.] in Unix). \Sww]Sw@@@@@@@t@@@]/parent_dir_name hUiU@гΠ&stringqUrU@@ @@@0srrsssss@r?,@A@@@{U @- W The conventional name for the parent of the current directory (e.g. [..] in Unix). VW"<@@@@@@@A@@'dir_sep Y>BY>I@г&stringY>LY>R@@ @@@0@,?*@A@@@Y>> @X @ The directory separator (e.g. [/] in Unix). @since 3.11.2 ZSS\@@@@@@@B@@&concat^^@б@г&&string^^@@ @@@0@.A,@A@@б@г7&string^^@@ @@@@@гD&string^^@@ @@@@@@@@!@@@'@@$* @@@^@ Z [concat dir file] returns a file name that designates file [file] in directory [dir]. _`!@@@@@@@C@@7+is_relative b#'b#2@б@гu&stringb#5b#;@@ @@@0@Pe,@A@@г$bool'b#?(b#C@@ @@@@@@@@@@@2b## @䐠 Return [true] if the file name is relative to the current directory, [false] if it is absolute (i.e. in Unix, starts with [/]). >cDD?e@@@@@@@VD@@%+is_implicitJgKg@б@г&stringUgVg@@ @@@0WVVWWWWW@>S,@A@@г3$booldgeg@@ @@@@@@@@@@@og @! Return [true] if the file name is relative and does not start with an explicit reference to the current directory ([./] or [../] in Unix), [false] if it starts with an explicit reference to the root directory or the current directory. {h|k@@@@@@@E@@%,check_suffixmm@б@г&stringmm@@ @@@0@>S,@A@@б@г&stringm m@@ @@@@@г$boolmm@@ @@@@@@@@!@@@'@@$* @@@m@p Q [check_suffix name suff] returns [true] if the filename [name] ends with the suffix [suff]. Under Windows ports (including Cygwin), comparison is case-insensitive, relying on [String.lowercase_ascii]. Note that this does not match exactly the interpretation of case-insensitive filename equivalence from Windows. nt G q@@@@@@@F@@7+chop_suffixv s wv s @б@г>&stringv s v s @@ @@@0@Pe,@A@@б@гO&stringv s v s @@ @@@@@г\&stringv s v s @@ @@@@@@@@!@@@'@@$* @@@ v s s@ [chop_suffix name suff] removes the suffix [suff] from the filename [name]. @raise Invalid_argument if [name] does not end with the suffix [suff]. w  z ? A@@@@@@@1G@@7/chop_suffix_opt%| C G&| C V@б&suffixг&string2| C _3| C e@@ @@@043344444@Rg.@A@@б@г&stringC| C iD| C o@@ @@@@@гĠ&optionP| C zQ| C @г&stringZ| C s[| C y@@ @@@(@@@@@@- @@@"@@0%@@A6@@3k| C X@@@n| C C@  [chop_suffix_opt ~suffix filename] removes the suffix from the [filename] if possible, or returns [None] if the filename does not end with the suffix. Under Windows ports (including Cygwin), comparison is case-insensitive, relying on [String.lowercase_ascii]. Note that this does not match exactly the interpretation of case-insensitive filename equivalence from Windows. @since 4.08 z}  {G $ &@@@@@@@H@-@G)extensionJ ) -J ) 6@б@г&stringJ ) 9J ) ?@@ @@@0@`w,@A@@г&stringJ ) CJ ) I@@ @@@@@@@@@@@J ) ) @] u [extension name] is the shortest suffix [ext] of [name0] where: - [name0] is the longest suffix of [name] that does not contain a directory separator; - [ext] starts with a period; - [ext] is preceded by at least one non-period character in [name0]. If such a suffix does not exist, [extension name] is the empty string. @since 4.04 K J JW  @@@@@@@I@@%0remove_extensionY  Y  @б@г+&stringY  Y  @@ @@@0@>S,@A@@г:&stringY  Y  @@ @@@@@@@@@@@Y   @  Return the given file name without its extension, as defined in {!Filename.extension}. If the extension is empty, the function returns the given file name. The following invariant holds for any file name [s]: [remove_extension s ^ extension s = s] @since 4.04 Z  c @@@@@@@ J@@%.chop_extensionee#@б@гh&string e& e,@@ @@@0        @>S,@A@@гw&stringe0e6@@ @@@@@@@@@@@%e @א r Same as {!Filename.remove_extension}, but raise [Invalid_argument] if the given name has an empty extension. 1f772g~@@@@@@@IK@@%(basename=j>j@б@г&stringHjIj@@ @@@0JIIJJJJJ@>S,@A@@г&stringWjXj@@ @@@@@@@@@@@bj @  Split a file name into directory name / base file name. If [name] is a valid file name, then [concat (dirname name) (basename name)] returns a file name which is equivalent to [name]. Moreover, after setting the current directory to [dirname name] (with {!Sys.chdir}), references to [basename name] (which is a relative file name) designate the same file as [name] before the call to {!Sys.chdir}. This function conforms to the specification of POSIX.1-2008 for the [basename] utility. nkos@@@@@@@L@@%'dirnamezu{u@б@г⠐&stringuu@@ @@@0@>S,@A@@г&stringuu@@ @@@@@@@@@@@u @Q x See {!Filename.basename}. This function conforms to the specification of POSIX.1-2008 for the [dirname] utility. vxYq@@@@@@@M@@%$nullzswzs{@г&stringzs~zs@@ @@@0@<Q*@A@@@zss @| [null] is ["/dev/null"] on POSIX and ["NUL"] on Windows. It represents a file on the OS that discards all writes and returns end of file on reads. @since 4.10.0 {~!5@@@@@@@N@@)temp_file7;7D@б(temp_dirгL&string7R7X@@ @@@0@0C.@A@@б@г]&string7\7b@@ @@@@@б@гl&string7f7l@@ @@@ @@гy&string7p7v@@ @@@-@@@@@0@@@%@@3( @@D=@@@ @@;07G@@ @377@吠  [temp_file prefix suffix] returns the name of a fresh temporary file in the temporary directory. The base name of the temporary file is formed by concatenating [prefix], then a suitably chosen integer number, then [suffix]. The optional argument [temp_dir] indicates the temporary directory to use, defaulting to the current result of {!Filename.get_temp_dir_name}. The temporary file is created empty, with permissions [0o600] (readable and writable only by the file owner). The file is guaranteed to be different from any other file that existed when [temp_file] was called. @raise Sys_error if the file could not be created. @before 3.11.2 no ?temp_dir optional argument ?ww@?A@@@@@@@WO@&@O.open_temp_fileKCGLCU@б$modeг$listXXoYXs@г,)open_flagbXecXn@@ @@@0dccddddd@t8@A@@@ @@@ @@б%permsг$#intzX{X@@ @@@@@б(temp_dirг蠐&stringXX@@ @@@)@@б@г&stringXX@@ @@@8@@б@г&string@@ @@@G@@Вг&string@@ @@@W@@г+out_channel@@ @@@e@@@@@j @@@)@@m, @@@;@@p>@@XP@@@ @@wX@@qi@@@@@Xw @@@@@@@X^(@@ @CC+@ < Same as {!Filename.temp_file}, but returns both the name of a fresh temporary file, and an output channel opened (atomically) on this file. This function is more secure than [temp_file]: there is no risk that the temporary file will be modified (e.g. replaced by a symbolic link) before the program opens it. The optional argument [mode] is a list of additional flags to control the opening of the file. It can contain one or several of [Open_append], [Open_binary], and [Open_text]. The default is [[Open_text]] (open in text mode). The file is created with permissions [perms] (defaults to readable and writable only by the file owner, [0o600]). @raise Sys_error if the file could not be opened. @before 4.03.0 no ?perms optional argument @before 3.11.2 no ?temp_dir optional argument   @@@@@@@P@:@1get_temp_dir_name    "@б@гn$unit % )@@ @@@0@,@A@@г&string$ -% 3@@ @@@@@@@@@@@/   @ᐠ Y The name of the temporary directory: Under Unix, the value of the [TMPDIR] environment variable, or "/tmp" if the variable is not set. Under Windows, the value of the [TEMP] environment variable, or "." if the variable is not set. The temporary directory can be changed with {!Filename.set_temp_dir_name}. @since 4.00.0 ;44<@@@@@@@SQ@@%1set_temp_dir_nameGH@б@г&stringRS@@ @@@0TSSTTTTT@>S,@A@@г$unitab@@ @@@@@@@@@@@l @ Change the temporary directory returned by {!Filename.get_temp_dir_name} and used by {!Filename.temp_file} and {!Filename.open_temp_file}. @since 4.00.0 xy`b@@@@@@@R@@%-temp_dir_namedhdu@гꠐ&stringdxd~@@ @@@0@<Q*@A@@@dd@0ocaml.deprecated@ &Use Filename.get_temp_dir_name instead@@@@@@@@a X The name of the initial temporary directory: Under Unix, the value of the [TMPDIR] environment variable, or "/tmp" if the variable is not set. Under Windows, the value of the [TEMP] environment variable, or "." if the variable is not set. @deprecated You should use {!Filename.get_temp_dir_name} instead. @since 3.09.1 @@@@@@@S@('@&-)%quote"'@б@г/&string*0@@ @@@0@FYD@A@@г>&string4:@@ @@@@@@@@@@@ @  Return a quoted version of a file name, suitable for use as one argument in a command line, escaping all meta-characters. Warning: under Windows, the output is only suitable for use with programs that follow the standard Windows quoting conventions. ;;IL@@@@@@@T@@%-quote_command NRN_@б@гl&stringbibo@@ @@@0@>S,@A@@б%stdinг&string"bz#b@@ @@@@@б&stdoutг&string3b4b@@ @@@$@@б&stderrг&stringDbEb@@ @@@5@@б@г蠐$listST@г&string]^@@ @@@N@@@@@@S @@г̠&stringop@@ @@@`@@@@@c@@?P7@@@ @@jb@@XXP@@@@@rb@@q`i@@@@@zbs @@@ @@~#@@@NN&@G  [quote_command cmd args] returns a quoted command line, suitable for use as an argument to {!Sys.command}, {!Unix.system}, and the {!Unix.open_process} functions. The string [cmd] is the command to call. The list [args] is the list of arguments to pass to this command. It can be empty. The optional arguments [?stdin] and [?stdout] and [?stderr] are file names used to redirect the standard input, the standard output, or the standard error of the command. If [~stdin:f] is given, a redirection [< f] is performed and the standard input of the command reads from file [f]. If [~stdout:f] is given, a redirection [> f] is performed and the standard output of the command is written to file [f]. If [~stderr:f] is given, a redirection [2> f] is performed and the standard error of the command is written to file [f]. If both [~stdout:f] and [~stderr:f] are given, with the exact same file name [f], a [2>&1] redirection is performed so that the standard output and the standard error of the command are interleaved and redirected to the same file [f]. Under Unix and Cygwin, the command, the arguments, and the redirections if any are quoted using {!Filename.quote}, then concatenated. Under Win32, additional quoting is performed as required by the [cmd.exe] shell that is called by {!Sys.command}. @raise Failure if the command cannot be escaped on the current platform. @since 4.10.0 %%@@@@@@@U@5@@n[@E0@@@@kD@0@@K@7@@@_@K$@@@@@a@M8@ @>@@0@@@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Xavier Leroy, projet Cristal, INRIA Rocquencourt E44E4@ H FF@ H Copyright 1996 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of  JJ@ H the GNU Lesser General Public License version 2.1, with the KKN@ H special exception on linking described in the file LICENSE. LOOLO@ H M M@ H************************************************************************%N&N5@<* Operations on file names. + F* The conventional name for the current directory (e.g. [.] in Unix). Ҡ X* The conventional name for the parent of the current directory (e.g. [..] in Unix).  A* The directory separator (e.g. [/] in Unix). @since 3.11.2  [* [concat dir file] returns a file name that designates file [file] in directory [dir]. 6 * Return [true] if the file name is relative to the current directory, [false] if it is absolute (i.e. in Unix, starts with [/]).  * Return [true] if the file name is relative and does not start with an explicit reference to the current directory ([./] or [../] in Unix), [false] if it starts with an explicit reference to the root directory or the current directory.   R* [check_suffix name suff] returns [true] if the filename [name] ends with the suffix [suff]. Under Windows ports (including Cygwin), comparison is case-insensitive, relying on [String.lowercase_ascii]. Note that this does not match exactly the interpretation of case-insensitive filename equivalence from Windows. v * [chop_suffix name suff] removes the suffix [suff] from the filename [name]. @raise Invalid_argument if [name] does not end with the suffix [suff]. * * [chop_suffix_opt ~suffix filename] removes the suffix from the [filename] if possible, or returns [None] if the filename does not end with the suffix. Under Windows ports (including Cygwin), comparison is case-insensitive, relying on [String.lowercase_ascii]. Note that this does not match exactly the interpretation of case-insensitive filename equivalence from Windows. @since 4.08 ̠ v* [extension name] is the shortest suffix [ext] of [name0] where: - [name0] is the longest suffix of [name] that does not contain a directory separator; - [ext] starts with a period; - [ext] is preceded by at least one non-period character in [name0]. If such a suffix does not exist, [extension name] is the empty string. @since 4.04  * Return the given file name without its extension, as defined in {!Filename.extension}. If the extension is empty, the function returns the given file name. The following invariant holds for any file name [s]: [remove_extension s ^ extension s = s] @since 4.04 X s* Same as {!Filename.remove_extension}, but raise [Invalid_argument] if the given name has an empty extension.  * Split a file name into directory name / base file name. If [name] is a valid file name, then [concat (dirname name) (basename name)] returns a file name which is equivalent to [name]. Moreover, after setting the current directory to [dirname name] (with {!Sys.chdir}), references to [basename name] (which is a relative file name) designate the same file as [name] before the call to {!Sys.chdir}. This function conforms to the specification of POSIX.1-2008 for the [basename] utility. 䠠 y* See {!Filename.basename}. This function conforms to the specification of POSIX.1-2008 for the [dirname] utility.  * [null] is ["/dev/null"] on POSIX and ["NUL"] on Windows. It represents a file on the OS that discards all writes and returns end of file on reads. @since 4.10.0  * [temp_file prefix suffix] returns the name of a fresh temporary file in the temporary directory. The base name of the temporary file is formed by concatenating [prefix], then a suitably chosen integer number, then [suffix]. The optional argument [temp_dir] indicates the temporary directory to use, defaulting to the current result of {!Filename.get_temp_dir_name}. The temporary file is created empty, with permissions [0o600] (readable and writable only by the file owner). The file is guaranteed to be different from any other file that existed when [temp_file] was called. @raise Sys_error if the file could not be created. @before 3.11.2 no ?temp_dir optional argument  =* Same as {!Filename.temp_file}, but returns both the name of a fresh temporary file, and an output channel opened (atomically) on this file. This function is more secure than [temp_file]: there is no risk that the temporary file will be modified (e.g. replaced by a symbolic link) before the program opens it. The optional argument [mode] is a list of additional flags to control the opening of the file. It can contain one or several of [Open_append], [Open_binary], and [Open_text]. The default is [[Open_text]] (open in text mode). The file is created with permissions [perms] (defaults to readable and writable only by the file owner, [0o600]). @raise Sys_error if the file could not be opened. @before 4.03.0 no ?perms optional argument @before 3.11.2 no ?temp_dir optional argument ` Z* The name of the temporary directory: Under Unix, the value of the [TMPDIR] environment variable, or "/tmp" if the variable is not set. Under Windows, the value of the [TEMP] environment variable, or "." if the variable is not set. The temporary directory can be changed with {!Filename.set_temp_dir_name}. @since 4.00.0 & * Change the temporary directory returned by {!Filename.get_temp_dir_name} and used by {!Filename.temp_file} and {!Filename.open_temp_file}. @since 4.00.0 젠 Y* The name of the initial temporary directory: Under Unix, the value of the [TMPDIR] environment variable, or "/tmp" if the variable is not set. Under Windows, the value of the [TEMP] environment variable, or "." if the variable is not set. @deprecated You should use {!Filename.get_temp_dir_name} instead. @since 3.09.1   * Return a quoted version of a file name, suitable for use as one argument in a command line, escaping all meta-characters. Warning: under Windows, the output is only suitable for use with programs that follow the standard Windows quoting conventions. r * [quote_command cmd args] returns a quoted command line, suitable for use as an argument to {!Sys.command}, {!Unix.system}, and the {!Unix.open_process} functions. The string [cmd] is the command to call. The list [args] is the list of arguments to pass to this command. It can be empty. The optional arguments [?stdin] and [?stdout] and [?stderr] are file names used to redirect the standard input, the standard output, or the standard error of the command. If [~stdin:f] is given, a redirection [< f] is performed and the standard input of the command reads from file [f]. If [~stdout:f] is given, a redirection [> f] is performed and the standard output of the command is written to file [f]. If [~stderr:f] is given, a redirection [2> f] is performed and the standard error of the command is written to file [f]. If both [~stdout:f] and [~stderr:f] are given, with the exact same file name [f], a [2>&1] redirection is performed so that the standard output and the standard error of the command are interleaved and redirected to the same file [f]. Under Unix and Cygwin, the command, the arguments, and the redirections if any are quoted using {!Filename.quote}, then concatenated. Under Win32, additional quoting is performed as required by the [cmd.exe] shell that is called by {!Sys.command}. @raise Failure if the command cannot be escaped on the current platform. @since 4.10.0 @D)../ocamlc0-strict-sequence(-absname"-w8+a-4-9-41-42-44-45-48-70"-g+-warn-error"+A*-bin-annot)-nostdlib*-principal,-safe-string/-strict-formats"-o4stdlib__Filename.cmi"-c|} :/home/barsac/ci/builds/workspace/step-by-step-build/stdlib @0xm\@2-0@~@@8CamlinternalFormatBasics0cEXy