%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/net/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/net/tramp.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\312\311\313\314\315\316\317&\207" [require tramp-compat tramp-integration trampver cl-lib custom-declare-group tramp nil "Edit remote files with a combination of ssh, scp, etc." :group files comm :link (custom-manual "(tramp)Top") :version "22.1"] 12)
#@46 Forms to be executed at the end of tramp.el.
(defvar tramp--startup-hook nil (#$ . 746))
#@71 Schedule BODY to be executed at the end of tramp.el.

(fn &rest BODY)
(defalias 'tramp--with-startup '(macro . #[128 "\300\301\302\303BBE\207" [add-hook 'tramp--startup-hook lambda nil] 6 (#$ . 841)]))
(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311%\210\302\312\304\305\313DD\314\310\315%\210\302\316\304\305\317DD\320\310\321%\210\302\322\304\305\323DD\324\310\325%\210\302\326\304\305\327DD\330\310\331%\210\302\332\304\305\333DD\334\310\335%\210\302\336\304\305\337DD\340\341\342\310\343&\207" [require tramp-loaddefs custom-declare-variable tramp-mode funcall function #[0 "\300\207" [t] 1] "Whether Tramp is enabled.\nIf it is set to nil, all remote file names are used literally." :type boolean tramp-verbose #[0 "\300\207" [3] 1] "Verbosity level for Tramp messages.\nAny level x includes messages for all levels 1 .. x-1.  The levels are\n\n 0  silent (no tramp messages at all)\n 1  errors\n 2  warnings\n 3  connection to remote hosts (default level)\n 4  activities\n 5  internal\n 6  sent and received strings\n 7  file caching\n 8  connection properties\n 9  test commands\n10  traces (huge)." integer tramp-backup-directory-alist #[0 "\300\207" [nil] 1] "Alist of filename patterns and backup directory names.\nEach element looks like (REGEXP . DIRECTORY), with the same meaning like\nin `backup-directory-alist'.  If a Tramp file is backed up, and DIRECTORY\nis a local file name, the backup directory is prepended with Tramp file\nname prefix (method, user, host) of file.\n\n  (setq tramp-backup-directory-alist backup-directory-alist)\n\ngives the same backup policy for Tramp files on their hosts like the\npolicy for local files." (repeat (cons (regexp :tag "Regexp matching filename") (directory :tag "Backup directory name"))) tramp-auto-save-directory #[0 "\300\207" [nil] 1] "Put auto-save files in this directory, if set.\nThe idea is to use a local directory so that auto-saving is faster.\nThis setting has precedence over `auto-save-file-name-transforms'." (choice (const :tag "Use default" nil) (directory :tag "Auto save directory name")) tramp-encoding-shell #[0 "\301\302\303!\203
\303 \206\304)\207" [shell-file-name nil functionp w32-shell-name "/bin/sh"] 2] "Use this program for encoding and decoding commands on the local host.\nThis shell is used to execute the encoding and decoding command on the\nlocal host, so if you want to use \"~\" in those commands, you should\nchoose a shell here which groks tilde expansion.  \"/bin/sh\" normally\ndoes not understand tilde expansion.\n\nFor encoding and decoding, commands like the following are executed:\n\n    /bin/sh -c COMMAND < INPUT > OUTPUT\n\nThis variable can be used to change the \"/bin/sh\" part.  See the\nvariable `tramp-encoding-command-switch' for the \"-c\" part.\n\nIf the shell must be forced to be interactive, see\n`tramp-encoding-command-interactive'.\n\nNote that this variable is not used for remote commands.  There are\nmechanisms in tramp.el which automatically determine the right shell to\nuse for the remote host." (file :must-match t) tramp-encoding-command-switch #[0 "\301\302\303!\203\303 \203\304\202\305)\207" [shell-file-name nil functionp w32-shell-dos-semantics "/c" "-c"] 2] "Use this switch together with `tramp-encoding-shell' for local commands.\nSee the variable `tramp-encoding-shell' for more information." string tramp-encoding-command-interactive #[0 "\301\302\303!\205\n\303 ?\205\304)\207" [shell-file-name nil functionp w32-shell-dos-semantics "-i"] 2] "Use this switch together with `tramp-encoding-shell' for interactive shells.\nSee the variable `tramp-encoding-shell' for more information." :version "24.1" (choice (const nil) string)] 8)
#@43 The system name Tramp is running locally.
(defconst tramp-system-name (byte-code "\300 \206\301\207" [system-name ""] 1) (#$ . 4556))
#@7128 Alist of methods for remote files.
This is a list of entries of the form (NAME PARAM1 PARAM2 ...).
Each NAME stands for a remote access method.  Each PARAM is a
pair of the form (KEY VALUE).  The following KEYs are defined:

  * `tramp-remote-shell'
    This specifies the shell to use on the remote host.  This
    MUST be a Bourne-like shell.  It is normally not necessary to
    set this to any value other than "/bin/sh": Tramp wants to
    use a shell which groks tilde expansion, but it can search
    for it.  Also note that "/bin/sh" exists on all Unixen,
    this might not be true for the value that you decide to use.
    You Have Been Warned.

  * `tramp-remote-shell-login'
    This specifies the arguments to let `tramp-remote-shell' run
    as a login shell.  It defaults to ("-l"), but some shells,
    like ksh, require another argument.  See
    `tramp-connection-properties' for a way to overwrite the
    default value.

  * `tramp-remote-shell-args'
    For implementation of `shell-command', this specifies the
    arguments to let `tramp-remote-shell' run a single command.

  * `tramp-login-program'
    This specifies the name of the program to use for logging in to the
    remote host.  This may be the name of rsh or a workalike program,
    or the name of telnet or a workalike, or the name of su or a workalike.

  * `tramp-login-args'
    This specifies a list of lists of arguments to pass to the
    above mentioned program.  You normally want to put each
    argument in an individual string, i.e.
    ("-a" "-b") rather than ("-a -b").

    "%" followed by a letter are expanded in the arguments as
    follows:

    - "%h" is replaced by the host name
    - "%u" is replaced by the user name
    - "%p" is replaced by the port number
    - "%%" can be used to obtain a literal percent character.

    If a sub-list containing "%h", "%u" or "%p" is
    unchanged after expansion (i.e. no host, no user or no port
    were specified), that sublist is not used.  For e.g.

    '(("-a" "-b") ("-l" "%u"))

    that means that ("-l" "%u") is used only if the user was
    specified, and it is thus effectively optional.

    Other expansions are:

    - "%l" is replaced by the login shell `tramp-remote-shell'
      and its parameters.
    - "%t" is replaced by the temporary file name produced with
      `tramp-make-tramp-temp-file'.
    - "%k" indicates the keep-date parameter of a program, if exists.
    - "%c" adds additional `tramp-ssh-controlmaster-options'
      options for the first hop.

    The existence of `tramp-login-args', combined with the
    absence of `tramp-copy-args', is an indication that the
    method is capable of multi-hops.

  * `tramp-async-args'
    When an asynchronous process is started, we know already that
    the connection works.  Therefore, we can pass additional
    parameters to suppress diagnostic messages, in order not to
    tamper the process output.

  * `tramp-copy-program'
    This specifies the name of the program to use for remotely copying
    the file; this might be the absolute filename of scp or the name of
    a workalike program.  It is always applied on the local host.

  * `tramp-copy-args'
    This specifies the list of parameters to pass to the above mentioned
    program, the hints for `tramp-login-args' also apply here.

  * `tramp-copy-env'
     A list of environment variables and their values, which will
     be set when calling `tramp-copy-program'.

  * `tramp-remote-copy-program'
    The listener program to be applied on remote side, if needed.

  * `tramp-remote-copy-args'
    The list of parameters to pass to the listener program, the hints
    for `tramp-login-args' also apply here.  Additionally, "%r" could
    be used here and in `tramp-copy-args'.  It denotes a randomly
    chosen port for the remote listener.

  * `tramp-copy-keep-date'
    This specifies whether the copying program when the preserves the
    timestamp of the original file.

  * `tramp-copy-keep-tmpfile'
    This specifies whether a temporary local file shall be kept
    for optimization reasons (useful for "rsync" methods).

  * `tramp-copy-recursive'
    Whether the operation copies directories recursively.

  * `tramp-default-port'
    The default port of a method.

  * `tramp-tmpdir'
    A directory on the remote host for temporary files.  If not
    specified, "/tmp" is taken as default.

  * `tramp-connection-timeout'
    This is the maximum time to be spent for establishing a connection.
    In general, the global default value shall be used, but for
    some methods, like "su" or "sudo", a shorter timeout
    might be desirable.

  * `tramp-session-timeout'
    How long a Tramp connection keeps open before being disconnected.
    This is useful for methods like "su" or "sudo", which
    shouldn't run an open connection in the background forever.

  * `tramp-case-insensitive'
    Whether the remote file system handles file names case insensitive.
    Only a non-nil value counts, the default value nil means to
    perform further checks on the remote host.  See
    `tramp-connection-properties' for a way to overwrite this.

  * `tramp-mount-args'
  * `tramp-copyto-args'
  * `tramp-moveto-args'
  * `tramp-about-args'
    These parameters, a list of list like `tramp-login-args', are used
    for the "rclone" method, and are appended to the respective
    "rclone" commands.  In general, they shouldn't be changed inside
    `tramp-methods'; it is recommended to change their values via
    `tramp-connection-properties'.  Unlike `tramp-login-args' there is
     no pattern replacement.

What does all this mean?  Well, you should specify `tramp-login-program'
for all methods; this program is used to log in to the remote site.  Then,
there are two ways to actually transfer the files between the local and the
remote side.  One way is using an additional scp-like program.  If you want
to do this, set `tramp-copy-program' in the method.

Another possibility for file transfer is inline transfer, i.e. the
file is passed through the same buffer used by `tramp-login-program'.  In
this case, the file contents need to be protected since the
`tramp-login-program' might use escape codes or the connection might not
be eight-bit clean.  Therefore, file contents are encoded for transit.
See the variables `tramp-local-coding-commands' and
`tramp-remote-coding-commands' for details.

So, to summarize: if the method is an out-of-band method, then you
must specify `tramp-copy-program' and `tramp-copy-args'.  If it is an
inline method, then these two parameters should be nil.

Notes:

All these arguments can be overwritten by connection properties.
See Info node `(tramp) Predefined connection information'.

When using `su' or `sudo' the phrase "open connection to a remote
host" sounds strange, but it is used nevertheless, for consistency.
No connection is opened to a remote host, but `su' or `sudo' is
started on the local host.  You should specify a remote host
`localhost' or the name of the local host.  Another host name is
useful only in combination with `tramp-default-proxies-alist'.
(defvar tramp-methods nil (#$ . 4700))
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\207" [custom-declare-variable tramp-default-method funcall function #[0 "\301=\203\302\303!\203\303\207\302\304!\203\304\207\305\207" [system-type windows-nt executable-find "pscp" "scp" "ftp"] 2] "Default method to use for transferring files.\nSee `tramp-methods' for possibilities.\nAlso see `tramp-default-method-alist'." :type string tramp-default-method-alist #[0 "\300\207" [nil] 1] "Default method to use for specific host/user pairs.\nThis is an alist of items (HOST USER METHOD).  The first matching item\nspecifies the method to use for a file name which does not specify a\nmethod.  HOST and USER are regular expressions or nil, which is\ninterpreted as a regular expression which always matches.  If no entry\nmatches, the variable `tramp-default-method' takes effect.\n\nIf the file name does not specify the user, lookup is done using the\nempty string for the user name.\n\nSee `tramp-methods' for a list of possibilities for METHOD." (repeat (list (choice :tag "Host regexp" regexp sexp) (choice :tag "User regexp" regexp sexp) (choice :tag "Method name" string (const nil))))] 6)
#@49 Marker for default method in remote file names.
(defconst tramp-default-method-marker "-" (#$ . 13063))
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\210\300\314\302\303\315DD\316\306\317%\210\300\320\302\303\321DD\322\323\324\306\325&\210\300\326\302\303\327DD\330\306\331%\210\300\332\302\303\333DD\334\323\335\306\336&\210\300\337\302\303\340DD\341\323\342\306\343&\210\300\344\302\303\345DD\346\323\342\306\347&\207" [custom-declare-variable tramp-default-user funcall function #[0 "\300\207" [nil] 1] "Default user to use for transferring files.\nIt is nil by default; otherwise settings in configuration files like\n\"~/.ssh/config\" would be overwritten.  Also see `tramp-default-user-alist'.\n\nThis variable is regarded as obsolete, and will be removed soon." :type (choice (const nil) string) tramp-default-user-alist #[0 "\300\207" [nil] 1] "Default user to use for specific method/host pairs.\nThis is an alist of items (METHOD HOST USER).  The first matching item\nspecifies the user to use for a file name which does not specify a\nuser.  METHOD and HOST are regular expressions or nil, which is\ninterpreted as a regular expression which always matches.  If no entry\nmatches, the variable `tramp-default-user' takes effect.\n\nIf the file name does not specify the method, lookup is done using the\nempty string for the method name." (repeat (list (choice :tag "Method regexp" regexp sexp) (choice :tag "  Host regexp" regexp sexp) (choice :tag "    User name" string (const nil)))) tramp-default-host #[0 "\207" [tramp-system-name] 1] "Default host to use for transferring files.\nUseful for su and sudo methods mostly." string tramp-default-host-alist #[0 "\300\207" [nil] 1] "Default host to use for specific method/user pairs.\nThis is an alist of items (METHOD USER HOST).  The first matching item\nspecifies the host to use for a file name which does not specify a\nhost.  METHOD and USER are regular expressions or nil, which is\ninterpreted as a regular expression which always matches.  If no entry\nmatches, the variable `tramp-default-host' takes effect.\n\nIf the file name does not specify the method, lookup is done using the\nempty string for the method name." :version "24.4" (repeat (list (choice :tag "Method regexp" regexp sexp) (choice :tag "  User regexp" regexp sexp) (choice :tag "    Host name" string (const nil)))) tramp-default-proxies-alist #[0 "\300\207" [nil] 1] "Route to be followed for specific host/user pairs.\nThis is an alist of items (HOST USER PROXY).  The first matching\nitem specifies the proxy to be passed for a file name located on\na remote target matching USER@HOST.  HOST and USER are regular\nexpressions, which could also cover a domain (USER%DOMAIN) or\nport (HOST#PORT).  PROXY must be a Tramp filename without a\nlocalname part.  Method and user name on PROXY are optional,\nwhich is interpreted with the default values.\n\nPROXY can contain the patterns %h and %u, which are replaced by\nthe strings matching HOST or USER (without DOMAIN and PORT parts),\nrespectively.\n\nIf an entry is added while parsing ad-hoc hop definitions, PROXY\ncarries the non-nil text property `tramp-ad-hoc'.\n\nHOST, USER or PROXY could also be Lisp forms, which will be\nevaluated.  The result must be a string or nil, which is\ninterpreted as a regular expression which always matches." (repeat (list (choice :tag "Host regexp" regexp sexp) (choice :tag "User regexp" regexp sexp) (choice :tag " Proxy name" string (const nil)))) tramp-save-ad-hoc-proxies #[0 "\300\207" [nil] 1] "Whether to save ad-hoc proxies persistently." "24.3" boolean tramp-restricted-shell-hosts-alist #[0 "\302=\205\303\304\305	\227!\305	\226!#C\207" [system-type tramp-system-name windows-nt format "\\`\\(%s\\|%s\\)\\'" regexp-quote] 5] "List of hosts, which run a restricted shell.\nThis is a list of regular expressions, which denote hosts running\na restricted shell like \"rbash\".  Those hosts can be used as\nproxies only, see `tramp-default-proxies-alist'.  If the local\nhost runs a restricted shell, it shall be added to this list, too." "27.1" (repeat (regexp :tag "Host regexp")) tramp-local-host-regexp #[0 "\301\302\303\304\305\306\257\307\"\310Q\207" [tramp-system-name "\\`" regexp-opt "localhost" "localhost6" "127.0.0.1" "::1" t "\\'"] 7] "Host names which are regarded as local host.\nIf the local host runs a chrooted environment, set this to nil." (choice (const :tag "Chrooted environment" nil) (regexp :tag "Host regexp"))] 8)
#@1013 Alist of methods for remote files.
This is a list of entries of the form (NAME PAIR1 PAIR2 ...).
Each NAME stands for a remote access method.  Each PAIR is of the form
(FUNCTION FILE).  FUNCTION is responsible to extract user names and host
names from FILE for completion.  The following predefined FUNCTIONs exists:

 * `tramp-parse-rhosts'      for "~/.rhosts" like files,
 * `tramp-parse-shosts'      for "~/.ssh/known_hosts" like files,
 * `tramp-parse-sconfig'     for "~/.ssh/config" like files,
 * `tramp-parse-shostkeys'   for "~/.ssh2/hostkeys/*" like files,
 * `tramp-parse-sknownhosts' for "~/.ssh2/knownhosts/*" like files,
 * `tramp-parse-hosts'       for "/etc/hosts" like files,
 * `tramp-parse-passwd'      for "/etc/passwd" like files.
 * `tramp-parse-etc-group'   for "/etc/group" like files.
 * `tramp-parse-netrc'       for "~/.netrc" like files.
 * `tramp-parse-putty'       for PuTTY registered sessions.

FUNCTION can also be a user defined function.  For more details see
the info pages.
(defvar tramp-completion-function-alist nil (#$ . 17602))
#@44 String marker to surround echoed commands.
(defconst tramp-echo-mark-marker "_echo" (#$ . 18678))
#@44 String length of `tramp-echo-mark-marker'.
(defconst tramp-echo-mark-marker-length (length tramp-echo-mark-marker) (#$ . 18782))
#@437 String mark to be transmitted around shell commands.
Used to separate their echo from the output they produce.  This
will only be used if we cannot disable remote echo via stty.
This string must have no effect on the remote shell except for
producing some echo which can later be detected by
`tramp-echoed-echo-mark-regexp'.  Using `tramp-echo-mark-marker',
followed by an equal number of backspaces to erase them will
usually suffice.
(defconst tramp-echo-mark (byte-code "\302	\303\"P\207" [tramp-echo-mark-marker tramp-echo-mark-marker-length make-string 8] 4) (#$ . 18918))
#@79 Regexp which matches `tramp-echo-mark' as it gets echoed by the remote shell.
(defconst tramp-echoed-echo-mark-regexp (format "%s\\(\\( \\)?\\)\\{%d\\}" tramp-echo-mark-marker tramp-echo-mark-marker-length) (#$ . 19503))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\310\311%\210\300\315\302\303\316DD\317\310\320%\210\300\321\302\303\322DD\323\310\320%\210\300\324\302\303\325DD\326\306\327\310\320&\210\300\330\302\303\331DD\332\310\320%\210\300\333\302\303\334DD\335\310\320%\210\300\336\302\303\337DD\340\310\320%\210\300\341\302\303\342DD\343\310\320%\210\300\344\302\303\345DD\346\306\347\310\320&\210\300\350\302\303\351DD\352\310\320%\210\300\353\302\303\354DD\355\310\320%\210\300\356\302\303\357DD\360\310\320%\207" [custom-declare-variable tramp-local-end-of-line funcall function #[0 "\301=\203\302\207\303\207" [system-type windows-nt "
\n" "\n"] 2] "String used for end of line in local processes." :version "24.1" :type string tramp-rsh-end-of-line #[0 "\300\207" [#1="\n"] 1 #1#] "String used for end of line in rsh connections.\nI don't think this ever needs to be changed, so please tell me about it\nif you need to change this." tramp-login-prompt-regexp #[0 "\300\207" [#2=".*\\(user\\|login\\)\\( .*\\)?: *"] 1 #2#] "Regexp matching login-like prompts.\nThe regexp should match at end of buffer.\n\nSometimes the prompt is reported to look like \"login as:\"." regexp tramp-shell-prompt-pattern #[0 "\300\207" ["\\(?:^\\|
\\)[^]#$%>\n]*#?[]#$%>] *\\(\\[[0-9;]*[a-zA-Z] *\\)*"] 1] "Regexp to match prompts from remote shell.\nNormally, Tramp expects you to configure `shell-prompt-pattern'\ncorrectly, but sometimes it happens that you are connecting to a\nremote host which sends a different kind of shell prompt.  Therefore,\nTramp recognizes things matched by `shell-prompt-pattern' as prompt,\nand also things matched by this variable.  The default value of this\nvariable is similar to the default value of `shell-prompt-pattern',\nwhich should work well in many cases.\n\nThis regexp must match both `tramp-initial-end-of-output' and\n`tramp-end-of-output'." tramp-password-prompt-regexp #[0 "\301\302\303!\"\207" [password-word-equivalents format "^.*\\(%s\\).*:? *" regexp-opt] 4] "Regexp matching password-like prompts.\nThe regexp should match at end of buffer.\n\nThe `sudo' program appears to insert a `^@' character into the prompt." "24.4" tramp-wrong-passwd-regexp #[0 "\300\207" ["^.*\\(Connection \\(?:\\(?:clo\\|refu\\)sed\\)\\|Host key verification failed\\.\\|Login \\(?:[Ii]ncorrect\\)\\|N\\(?:ame or service not known\\|o supported authentication methods left to try!\\)\\|Permission denied\\|\\(?:Sorry, try again\\|Timeout, server not responding\\)\\.\\).*\\|^.*\\(Received signal [0-9]+\\).*"] 1] "Regexp matching a `login failed' message.\nThe regexp should match at end of buffer." tramp-yesno-prompt-regexp #[0 "\300\207" ["\\(Are you sure you want to continue connecting (yes/no\\(?:\\(?:/\\[fingerprint]\\)?)\\?\\)\\)\\s-*"] 1] "Regular expression matching all yes/no queries which need to be confirmed.\nThe confirmation should be done with yes or no.\nThe regexp should match at end of buffer.\nSee also `tramp-yn-prompt-regexp'." tramp-yn-prompt-regexp #[0 "\300\207" ["\\(\\(?:Store key in cache\\? (y/\\|Update cached key\\? (y/n, Return cancels connectio\\)n)\\)\\s-*"] 1] "Regular expression matching all y/n queries which need to be confirmed.\nThe confirmation should be done with y or n.\nThe regexp should match at end of buffer.\nSee also `tramp-yesno-prompt-regexp'." tramp-terminal-prompt-regexp #[0 "\300\207" ["\\(TERM = (.*)\\|Terminal type\\? \\[.*\\]\\)\\s-*"] 1] "Regular expression matching all terminal setting prompts.\nThe regexp should match at end of buffer.\nThe answer will be provided by `tramp-action-terminal', which see." tramp-antispoof-regexp #[0 "\300\207" ["Access granted\\. Press Return to begin session\\. "] 1] "Regular expression matching plink's anti-spoofing message.\nThe regexp should match at end of buffer." "27.1" tramp-operation-not-permitted-regexp #[0 "\300\207" ["\\(preserving times.*\\|set mode\\):\\s-*\\(Operation not permitted\\)"] 1] "Regular expression matching keep-date problems in (s)cp operations.\nCopying has been performed successfully already, so this message can\nbe ignored safely." tramp-copy-failed-regexp #[0 "\300\207" ["\\(.+: \\(No such file or directory\\|Permission denied\\|is a directory\\|not a regular file\\)\\)\\s-*"] 1] "Regular expression matching copy problems in (s)cp operations." tramp-process-alive-regexp #[0 "\300\207" [#3=""] 1 #3#] "Regular expression indicating a process has finished.\nIn fact this expression is empty by intention, it will be used only to\ncheck regularly the status of the associated process.\nThe answer will be provided by `tramp-action-process-alive',\n`tramp-action-out-of-band', which see."] 8)
#@317 Prefix to use for temporary files.
If this is a relative file name (such as "tramp."), it is considered
relative to the directory name returned by the function
`tramp-compat-temporary-file-directory' (which see).  It may also be an
absolute file name; don't forget to include a prefix for the filename
part, though.
(defconst tramp-temp-name-prefix "tramp." (#$ . 24426))
#@102 Buffer name for a temporary buffer.
It shall be used in combination with `generate-new-buffer-name'.
(defconst tramp-temp-buffer-name " *tramp temp*" (#$ . 24805))
#@82 File name of a persistent local temporary file.
Useful for "rsync" like methods.
(defvar tramp-temp-buffer-file-name nil (#$ . 24975))
(byte-code "\300\301!\210\302\301\303\304#\210\305\306\307\310\311DD\312\313\314\315\316\317\320\321\322\323\324\325\326&\207" [make-variable-buffer-local tramp-temp-buffer-file-name put permanent-local t custom-declare-variable tramp-syntax funcall function #[0 "\300\207" [default] 1] "Tramp filename syntax to be used.\n\nIt can have the following values:\n\n  `default'    -- Default syntax\n  `simplified' -- Ange-FTP like syntax\n  `separate'   -- Syntax as defined for XEmacs originally\n\nDo not change the value by `setq', it must be changed only via\nCustomize.  See also `tramp-change-syntax'." :version "26.1" :package-version (Tramp . "2.3.3") :type (choice (const :tag "Default" default) (const :tag "Ange-FTP" simplified) (const :tag "XEmacs" separate)) :require tramp :initialize custom-initialize-default :set tramp-set-syntax] 16)
#@143 Set SYMBOL to value VALUE.
Used in user option `tramp-syntax'.  There are further variables
to be set, depending on VALUE.

(fn SYMBOL VALUE)
(defalias 'tramp-set-syntax #[514 "\211\306 >\204
\307\310\311#\210J=\204\312 \210\313\"\210\314 \315 \316 \317 \320 \321 \322 \323 \324 \325 \326  \327 !\330 \"\331 #\332 $\333 \207" [tramp-prefix-format tramp-prefix-regexp tramp-method-regexp tramp-postfix-method-format tramp-postfix-method-regexp tramp-prefix-ipv6-format tramp-syntax-values tramp-user-error nil "Wrong `tramp-syntax' %s" tramp-cleanup-all-buffers set-default tramp-build-prefix-format tramp-build-prefix-regexp tramp-build-method-regexp tramp-build-postfix-method-format tramp-build-postfix-method-regexp tramp-build-prefix-ipv6-format tramp-build-prefix-ipv6-regexp tramp-build-postfix-ipv6-format tramp-build-postfix-ipv6-regexp tramp-build-postfix-host-format tramp-build-postfix-host-regexp tramp-build-remote-file-name-spec-regexp tramp-build-file-name-structure tramp-build-file-name-regexp tramp-build-completion-file-name-regexp tramp-register-file-name-handlers tramp-prefix-ipv6-regexp tramp-postfix-ipv6-format tramp-postfix-ipv6-regexp tramp-postfix-host-format tramp-postfix-host-regexp tramp-remote-file-name-spec-regexp tramp-file-name-structure tramp-file-name-regexp tramp-completion-file-name-regexp] 6 (#$ . 25967)])
(add-hook 'tramp--startup-hook #[0 "\300\301\302 \"\207" [tramp-set-syntax tramp-syntax #[0 "\301\267\202\n\302\207\303\207\207" [tramp-syntax #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ftp 6 sep 8)) default separate] 2 ("/srv/data/home/e/eliz/git/emacs/pretest/lisp/net/tramp-compat.elc" . 8070)]] 3])
#@51 Return possible values of `tramp-syntax', a list.
(defalias 'tramp-syntax-values #[0 "\300\301NA\302\303\"\262\302\304\"\262\211\207" [tramp-syntax custom-type mapcar last car] 4 (#$ . 27699)])
#@133 Look up a syntax string in ALIST according to `tramp-compat-tramp-syntax'.
Raise an error if `tramp-syntax' is invalid.

(fn ALIST)
(defalias 'tramp-lookup-syntax #[257 "\301 \236A\206\f\302\303\"\207" [tramp-syntax #[0 "\301\267\202\n\302\207\303\207\207" [tramp-syntax #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ftp 6 sep 8)) default separate] 2 ("/srv/data/home/e/eliz/git/emacs/pretest/lisp/net/tramp-compat.elc" . 8070)] error "Wrong `tramp-syntax' %s"] 4 (#$ . 27904)])
#@67 Alist mapping Tramp syntax to strings beginning Tramp file names.
(defconst tramp-prefix-format-alist '((default . "/") (simplified . "/") (separate . "/[")) (#$ . 28435))
#@59 Return `tramp-prefix-format' according to `tramp-syntax'.
(defalias 'tramp-build-prefix-format #[0 "\301!\207" [tramp-prefix-format-alist tramp-lookup-syntax] 2 (#$ . 28613)])
#@95 String matching the very beginning of Tramp file names.
Used in `tramp-make-tramp-file-name'.
(defvar tramp-prefix-format nil (#$ . 28796))
#@31 Return `tramp-prefix-regexp'.
(defalias 'tramp-build-prefix-regexp #[0 "\301\302!P\207" [tramp-prefix-format "^" regexp-quote] 3 (#$ . 28942)])
#@123 Regexp matching the very beginning of Tramp file names.
Should always start with "^". Derived from `tramp-prefix-format'.
(defvar tramp-prefix-regexp nil (#$ . 29094))
#@69 Alist mapping Tramp syntax to regexps matching methods identifiers.
(defconst tramp-method-regexp-alist '((default . "[a-zA-Z0-9-]+") (simplified . "") (separate . "[a-zA-Z0-9-]*")) (#$ . 29268))
#@59 Return `tramp-method-regexp' according to `tramp-syntax'.
(defalias 'tramp-build-method-regexp #[0 "\301!\207" [tramp-method-regexp-alist tramp-lookup-syntax] 2 (#$ . 29470)])
#@81 Regexp matching methods identifiers.
The `ftp' syntax does not support methods.
(defvar tramp-method-regexp nil (#$ . 29653))
#@63 Alist mapping Tramp syntax to the delimiter after the method.
(defconst tramp-postfix-method-format-alist '((default . ":") (simplified . "") (separate . "/")) (#$ . 29785))
#@67 Return `tramp-postfix-method-format' according to `tramp-syntax'.
(defalias 'tramp-build-postfix-method-format #[0 "\301!\207" [tramp-postfix-method-format-alist tramp-lookup-syntax] 2 (#$ . 29965)])
#@147 String matching delimiter between method and user or host names.
The `ftp' syntax does not support methods.
Used in `tramp-make-tramp-file-name'.
(defvar tramp-postfix-method-format nil (#$ . 30173))
#@39 Return `tramp-postfix-method-regexp'.
(defalias 'tramp-build-postfix-method-regexp #[0 "\301!\207" [tramp-postfix-method-format regexp-quote] 2 (#$ . 30379)])
#@110 Regexp matching delimiter between method and user or host names.
Derived from `tramp-postfix-method-format'.
(defvar tramp-postfix-method-regexp nil (#$ . 30546))
#@29 Regexp matching user names.
(defconst tramp-user-regexp "[^/|: 	]+" (#$ . 30715))
#@58 String matching delimiter between user and domain names.
(defconst tramp-prefix-domain-format "%" (#$ . 30803))
#@101 Regexp matching delimiter between user and domain names.
Derived from `tramp-prefix-domain-format'.
(defconst tramp-prefix-domain-regexp (regexp-quote tramp-prefix-domain-format) (#$ . 30922))
#@31 Regexp matching domain names.
(defconst tramp-domain-regexp "[a-zA-Z0-9_.-]+" (#$ . 31121))
#@47 Regexp matching user names with domain names.
(defconst tramp-user-with-domain-regexp (concat #1="\\(" tramp-user-regexp #2="\\)" tramp-prefix-domain-regexp #1# tramp-domain-regexp #2#) (#$ . 31219))
#@94 String matching delimiter between user and host names.
Used in `tramp-make-tramp-file-name'.
(defconst tramp-postfix-user-format "@" (#$ . 31425))
#@98 Regexp matching delimiter between user and host names.
Derived from `tramp-postfix-user-format'.
(defconst tramp-postfix-user-regexp (regexp-quote tramp-postfix-user-format) (#$ . 31578))
#@29 Regexp matching host names.
(defconst tramp-host-regexp "[a-zA-Z0-9_.%-]+" (#$ . 31772))
#@65 Alist mapping Tramp syntax to strings prefixing IPv6 addresses.
(defconst tramp-prefix-ipv6-format-alist '((default . "[") (simplified . "[") (separate . "")) (#$ . 31867))
#@64 Return `tramp-prefix-ipv6-format' according to `tramp-syntax'.
(defalias 'tramp-build-prefix-ipv6-format #[0 "\301!\207" [tramp-prefix-ipv6-format-alist tramp-lookup-syntax] 2 (#$ . 32046)])
#@89 String matching left hand side of IPv6 addresses.
Used in `tramp-make-tramp-file-name'.
(defvar tramp-prefix-ipv6-format nil (#$ . 32244))
#@36 Return `tramp-prefix-ipv6-regexp'.
(defalias 'tramp-build-prefix-ipv6-regexp #[0 "\301!\207" [tramp-prefix-ipv6-format regexp-quote] 2 (#$ . 32389)])
#@92 Regexp matching left hand side of IPv6 addresses.
Derived from `tramp-prefix-ipv6-format'.
(defvar tramp-prefix-ipv6-regexp nil (#$ . 32546))
#@33 Regexp matching IPv6 addresses.
(defconst tramp-ipv6-regexp "\\(?:[a-zA-Z0-9]*:\\)+[a-zA-Z0-9.]+" (#$ . 32694))
#@58 Alist mapping Tramp syntax to suffix for IPv6 addresses.
(defconst tramp-postfix-ipv6-format-alist '((default . "]") (simplified . "]") (separate . "")) (#$ . 32812))
#@65 Return `tramp-postfix-ipv6-format' according to `tramp-syntax'.
(defalias 'tramp-build-postfix-ipv6-format #[0 "\301!\207" [tramp-postfix-ipv6-format-alist tramp-lookup-syntax] 2 (#$ . 32985)])
#@90 String matching right hand side of IPv6 addresses.
Used in `tramp-make-tramp-file-name'.
(defvar tramp-postfix-ipv6-format nil (#$ . 33186))
#@37 Return `tramp-postfix-ipv6-regexp'.
(defalias 'tramp-build-postfix-ipv6-regexp #[0 "\301!\207" [tramp-postfix-ipv6-format regexp-quote] 2 (#$ . 33333)])
#@94 Regexp matching right hand side of IPv6 addresses.
Derived from `tramp-postfix-ipv6-format'.
(defvar tramp-postfix-ipv6-regexp nil (#$ . 33493))
#@64 String matching delimiter between host names and port numbers.
(defconst tramp-prefix-port-format "#" (#$ . 33644))
#@105 Regexp matching delimiter between host names and port numbers.
Derived from `tramp-prefix-port-format'.
(defconst tramp-prefix-port-regexp (regexp-quote tramp-prefix-port-format) (#$ . 33767))
#@31 Regexp matching port numbers.
(defconst tramp-port-regexp "[0-9]+" (#$ . 33966))
#@47 Regexp matching host names with port numbers.
(defconst tramp-host-with-port-regexp (concat #1="\\(" tramp-host-regexp #2="\\)" tramp-prefix-port-regexp #1# tramp-port-regexp #2#) (#$ . 34053))
#@57 String matching delimiter after ad-hoc hop definitions.
(defconst tramp-postfix-hop-format "|" (#$ . 34253))
#@98 Regexp matching delimiter after ad-hoc hop definitions.
Derived from `tramp-postfix-hop-format'.
(defconst tramp-postfix-hop-regexp (regexp-quote tramp-postfix-hop-format) (#$ . 34368))
#@69 Alist mapping Tramp syntax to strings between host and local names.
(defconst tramp-postfix-host-format-alist '((default . ":") (simplified . ":") (separate . "]")) (#$ . 34560))
#@65 Return `tramp-postfix-host-format' according to `tramp-syntax'.
(defalias 'tramp-build-postfix-host-format #[0 "\301!\207" [tramp-postfix-host-format-alist tramp-lookup-syntax] 2 (#$ . 34745)])
#@100 String matching delimiter between host names and localnames.
Used in `tramp-make-tramp-file-name'.
(defvar tramp-postfix-host-format nil (#$ . 34947))
#@37 Return `tramp-postfix-host-regexp'.
(defalias 'tramp-build-postfix-host-regexp #[0 "\301!\207" [tramp-postfix-host-format regexp-quote] 2 (#$ . 35104)])
#@104 Regexp matching delimiter between host names and localnames.
Derived from `tramp-postfix-host-format'.
(defvar tramp-postfix-host-regexp nil (#$ . 35265))
#@29 Regexp matching localnames.
(defconst tramp-localname-regexp "[^\n
]*\\'" (#$ . 35426))
#@49 String used to denote an unknown user or group.
(defconst tramp-unknown-id-string "UNKNOWN" (#$ . 35520))
#@50 Integer used to denote an unknown user or group.
(defconst tramp-unknown-id-integer -1 (#$ . 35632))
#@125 Construct a regexp matching a Tramp file name for a Tramp syntax.
It is expected, that `tramp-syntax' has the proper value.
(defalias 'tramp-build-remote-file-name-spec-regexp #[0 "\306\307	\310\n\307\311\f\312
\313\314\315\316\260\207" [tramp-method-regexp tramp-postfix-method-regexp tramp-user-regexp tramp-postfix-user-regexp tramp-host-regexp tramp-prefix-ipv6-regexp "\\(" "\\)" "\\(?:\\(" "\\)?\\(\\(?:" "\\|" "\\(?:" "\\)?" "\\)\\(?:" "\\)?\\)?" tramp-ipv6-regexp tramp-postfix-ipv6-regexp tramp-prefix-port-regexp tramp-port-regexp] 20 (#$ . 35740)])
#@75 Regular expression matching a Tramp file name between prefix and postfix.
(defvar tramp-remote-file-name-spec-regexp nil (#$ . 36317))
#@152 Construct the Tramp file name structure for a Tramp syntax.
It is expected, that `tramp-syntax' has the proper value.
See `tramp-file-name-structure'.
(defalias 'tramp-build-file-name-structure #[0 "\305	\n\306	\307\f\310\260\n\311\312\313\314\315\257\207" [tramp-prefix-regexp tramp-remote-file-name-spec-regexp tramp-postfix-hop-regexp tramp-postfix-host-regexp tramp-localname-regexp "\\(\\(?:" "\\)+\\)?" "\\(" "\\)" 5 6 7 8 1] 10 (#$ . 36459)])
#@821 List of six elements (REGEXP METHOD USER HOST FILE HOP), detailing the Tramp file name structure.

The first element REGEXP is a regular expression matching a Tramp file
name.  The regex should contain parentheses around the method name,
the user name, the host name, and the file name parts.

The second element METHOD is a number, saying which pair of
parentheses matches the method name.  The third element USER is
similar, but for the user name.  The fourth element HOST is similar,
but for the host name.  The fifth element FILE is for the file name.
The last element HOP is the ad-hoc hop definition, which could be a
cascade of several hops.

These numbers are passed directly to `match-string', which see.  That
means the opening parentheses are counted to identify the pair.

See also `tramp-file-name-regexp'.
(defvar tramp-file-name-structure nil (#$ . 36919))
#@34 Return `tramp-file-name-regexp'.
(defalias 'tramp-build-file-name-regexp #[0 "@\207" [tramp-file-name-structure] 1 (#$ . 37797)])
#@101 Value for `tramp-file-name-regexp' for autoload.
It must match the initial `tramp-syntax' settings.
(defconst tramp-initial-file-name-regexp "\\`/[^/:]+:[^/:]*:" (#$ . 37935))
#@252 Regular expression matching file names handled by Tramp.
This regexp should match Tramp file names but no other file
names.  When calling `tramp-register-file-name-handlers', the
initial value is overwritten by the car of `tramp-file-name-structure'.
(defvar tramp-file-name-regexp tramp-initial-file-name-regexp (#$ . 38118))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable tramp-ignored-file-name-regexp funcall function #[0 "\300\207" [nil] 1] "Regular expression matching file names that are not under Tramp's control." :version "27.1" :type (choice (const nil) regexp)] 8)
#@176 Value for `tramp-completion-file-name-regexp' for default remoting.
See `tramp-file-name-structure' for more explanations.

On W32 systems, the volume letter must be ignored.
(defconst tramp-completion-file-name-regexp-default (byte-code "\301\302>\203\303\202\f\304\305Q\207" [system-type "\\`/\\(\\([^/|:]+:[^/|:]*|\\)*" (cygwin windows-nt) "\\(-\\|[^/|:]\\{2,\\}\\)" "[^/|:]+" "\\(:[^/|:]*\\)?\\)?\\'"] 3) (#$ . 38742))
#@185 Value for `tramp-completion-file-name-regexp' for simplified style remoting.
See `tramp-file-name-structure' for more explanations.

On W32 systems, the volume letter must be ignored.
(defconst tramp-completion-file-name-regexp-simplified (byte-code "\301\302>\203\303\202\f\304\305Q\207" [system-type "\\`/\\(\\([^/|:]*|\\)*" (cygwin windows-nt) "[^/|:]\\{2,\\}" "[^/|:]+" "\\)?\\'"] 3) (#$ . 39176))
#@125 Value for `tramp-completion-file-name-regexp' for separate remoting.
See `tramp-file-name-structure' for more explanations.
(defconst tramp-completion-file-name-regexp-separate "\\`/\\(\\[[^]]*\\)?\\'" (#$ . 39589))
#@44 Alist mapping incomplete Tramp file names.
(defconst tramp-completion-file-name-regexp-alist (byte-code "\303B\304	B\305\nBE\207" [tramp-completion-file-name-regexp-default tramp-completion-file-name-regexp-simplified tramp-completion-file-name-regexp-separate default simplified separate] 4) (#$ . 39811))
#@73 Return `tramp-completion-file-name-regexp' according to `tramp-syntax'.
(defalias 'tramp-build-completion-file-name-regexp #[0 "\301!\207" [tramp-completion-file-name-regexp-alist tramp-lookup-syntax] 2 (#$ . 40125)])
#@421 Regular expression matching file names handled by Tramp completion.
This regexp should match partial Tramp file names only.

Please note that the entry in `file-name-handler-alist' is made when
this file (tramp.el) is loaded.  This means that this variable must be set
before loading tramp.el.  Alternatively, `file-name-handler-alist' can be
updated after changing this variable.

Also see `tramp-file-name-structure'.
(defvar tramp-completion-file-name-regexp nil (#$ . 40351))
#@217 Regular expression matching file names handled by Tramp autoload.
It must match the initial `tramp-syntax' settings.  It should not
match file names at root of the underlying local file system,
like "/sys" or "/C:".
(defconst tramp-autoload-file-name-regexp (byte-code "\301\302>\203\303\202\f\304\305Q\207" [system-type "\\`/" (cygwin windows-nt) "\\(-\\|[^/|:]\\{2,\\}\\)" "[^/|:]+" ":"] 3) (#$ . 40838))
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\210\300\314\302\303\315DD\316\317\320\306\321&\210\300\322\302\303\323DD\324\317\320\306\325&\210\300\326\302\303\327DD\330\306\331%\210\332\326\333\334#\207" [custom-declare-variable tramp-chunksize funcall function #[0 "\301=\205\302\207" [system-type hpux 500] 2] "If non-nil, chunksize for sending input to local process.\nIt is necessary only on systems which have a buggy `process-send-string'\nimplementation.  The necessity, whether this variable must be set, can be\nchecked via the following code:\n\n  (with-temp-buffer\n    (let* ((user \"xxx\") (host \"yyy\")\n           (init 0) (step 50)\n           (sent init) (received init))\n      (while (= sent received)\n        (setq sent (+ sent step))\n        (erase-buffer)\n        (let ((proc (start-process (buffer-name) (current-buffer)\n                                   \"ssh\" \"-l\" user host \"wc\" \"-c\")))\n          (when (process-live-p proc)\n            (process-send-string proc (make-string sent ?\\ ))\n            (process-send-eof proc)\n            (process-send-eof proc))\n          (while (not (progn (goto-char (point-min))\n                             (re-search-forward \"\\\\w+\" (point-max) t)))\n            (accept-process-output proc 1))\n          (when (process-live-p proc)\n            (setq received (string-to-number (match-string 0)))\n            (delete-process proc)\n            (message \"Bytes sent: %s\\tBytes received: %s\" sent received)\n            (sit-for 0))))\n      (if (> sent (+ init step))\n          (message \"You should set `tramp-chunksize' to a maximum of %s\"\n                   (- sent step))\n        (message \"Test does not work\")\n        (display-buffer (current-buffer))\n        (sit-for 30))))\n\nIn the Emacs normally running Tramp, evaluate the above code\n(replace \"xxx\" and \"yyy\" by the remote user and host name,\nrespectively).  You can do this, for example, by pasting it into\nthe `*scratch*' buffer and then hitting `C-j' with the cursor after the\nlast closing parenthesis.  Note that it works only if you have configured\n\"ssh\" to run without password query, see ssh-agent(1).\n\nYou will see the number of bytes sent successfully to the remote host.\nIf that number exceeds 1000, you can stop the execution by hitting\n`C-g', because your Emacs is likely clean.\n\nWhen it is necessary to set `tramp-chunksize', you might consider to\nuse an out-of-the-band method (like \"scp\") instead of an internal one\n(like \"ssh\"), because setting `tramp-chunksize' to non-nil decreases\nperformance.\n\nIf your Emacs is buggy, the code stops and gives you an indication\nabout the value `tramp-chunksize' should be set.  Maybe you could just\nexperiment a bit, e.g. changing the values of `init' and `step'\nin the third line of the code.\n\nPlease raise a bug report via \\[tramp-bug] if your system needs\nthis variable to be set as well." :type (choice (const nil) integer) tramp-process-connection-type #[0 "\300\207" [t] 1] "Overrides `process-connection-type' for connections from Tramp.\nTramp binds `process-connection-type' to the value given here before\nopening a connection to a remote host." (choice (const nil) (const t) (const pty)) tramp-connection-timeout #[0 "\300\207" [60] 1] "Defines the max time to wait for establishing a connection (in seconds).\nThis can be overwritten for different connection types in `tramp-methods'.\n\nThe timeout does not include the time reading a password." :version "24.4" integer tramp-connection-min-time-diff #[0 "\300\207" [5] 1] "Defines seconds between two consecutive connection attempts.\nThis is necessary as self defense mechanism, in order to avoid\nyo-yo connection attempts when the remote host is unavailable.\n\nA value of 0 or nil suppresses this check.  This might be\nnecessary, when several out-of-order copy operations are\nperformed, or when several asynchronous processes will be started\nin a short time frame.  In those cases it is recommended to\nlet-bind this variable." (choice (const nil) integer) tramp-completion-reread-directory-timeout #[0 "\300\207" [10] 1] "Defines seconds since last remote command before rereading a directory.\nA remote directory might have changed its contents.  In order to\nmake it visible during file name completion in the minibuffer,\nTramp flushes its cache and rereads the directory contents when\nmore than `tramp-completion-reread-directory-timeout' seconds\nhave been gone since last remote command execution.  A value of t\nwould require an immediate reread during filename completion, nil\nmeans to use always cached values for the directory contents." (choice (const nil) (const t) integer) make-obsolete-variable remote-file-name-inhibit-cache "27.2"] 8)
#@155 Last connection timestamp.
It is a cons cell of the actual `tramp-file-name-structure', and
the (optional) timestamp of last activity on this connection.
(defvar tramp-current-connection nil (#$ . 46074))
#@106 Password save function.
Will be called once the password has been verified by successful
authentication.
(defvar tramp-password-save-function nil (#$ . 46286))
#@223 Alist of completion handler functions.
Used for file names matching `tramp-completion-file-name-regexp'.
Operations not mentioned here will be handled by Tramp's file
name handler functions, or the normal Emacs functions.
(defconst tramp-completion-file-name-handler-alist '((file-name-all-completions . tramp-completion-handle-file-name-all-completions) (file-name-completion . tramp-completion-handle-file-name-completion)) (#$ . 46453))
#@173 Alist of elements (FUNCTION . HANDLER) for foreign methods handled specially.
If (FUNCTION FILENAME) returns non-nil, then all I/O on that file is done by
calling HANDLER.
(defvar tramp-foreign-file-name-handler-alist nil (#$ . 46900))
#@74 compiler-macro for inlining `tramp-file-name-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-p (and (memq (car-safe cl-x) cl-struct-tramp-file-name-tags) t)) nil] 9 (#$ . 47142)])
(put 'tramp-file-name-p 'compiler-macro 'tramp-file-name-p--cmacro)
#@13 

(fn CL-X)
(defalias 'tramp-file-name-p #[257 "\211\242>\205\301\207" [cl-struct-tramp-file-name-tags t] 3 (#$ . 47508)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put tramp-file-name-p side-effect-free error-free put tramp-file-name cl-deftype-satisfies] 5)
#@79 compiler-macro for inlining `tramp-file-name-method'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-method--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-method (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 1 cl-x))) nil] 9 (#$ . 47797)])
(put 'tramp-file-name-method 'compiler-macro 'tramp-file-name-method--cmacro)
#@67 Access slot "method" of `tramp-file-name' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-method #[257 "\211\242>\204\301\302\303D\"\210\211A@\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name] 5 (#$ . 48236)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-method side-effect-free t] 4)
#@77 compiler-macro for inlining `tramp-file-name-user'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-user--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-user (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 2 cl-x))) nil] 9 (#$ . 48589)])
(put 'tramp-file-name-user 'compiler-macro 'tramp-file-name-user--cmacro)
#@65 Access slot "user" of `tramp-file-name' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-user #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 2] 5 (#$ . 49018)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-user side-effect-free t] 4)
#@79 compiler-macro for inlining `tramp-file-name-domain'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-domain--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-domain (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 3 cl-x))) nil] 9 (#$ . 49367)])
(put 'tramp-file-name-domain 'compiler-macro 'tramp-file-name-domain--cmacro)
#@67 Access slot "domain" of `tramp-file-name' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-domain #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 3] 5 (#$ . 49806)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-domain side-effect-free t] 4)
#@77 compiler-macro for inlining `tramp-file-name-host'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-host--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-host (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 4 cl-x))) nil] 9 (#$ . 50161)])
(put 'tramp-file-name-host 'compiler-macro 'tramp-file-name-host--cmacro)
#@65 Access slot "host" of `tramp-file-name' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-host #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 4] 5 (#$ . 50590)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-host side-effect-free t] 4)
#@77 compiler-macro for inlining `tramp-file-name-port'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-port--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-port (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 5 cl-x))) nil] 9 (#$ . 50939)])
(put 'tramp-file-name-port 'compiler-macro 'tramp-file-name-port--cmacro)
#@65 Access slot "port" of `tramp-file-name' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-port #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 5] 5 (#$ . 51368)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-port side-effect-free t] 4)
#@82 compiler-macro for inlining `tramp-file-name-localname'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-localname--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-localname (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 6 cl-x))) nil] 9 (#$ . 51717)])
(put 'tramp-file-name-localname 'compiler-macro 'tramp-file-name-localname--cmacro)
#@70 Access slot "localname" of `tramp-file-name' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-localname #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 6] 5 (#$ . 52171)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-localname side-effect-free t] 4)
#@76 compiler-macro for inlining `tramp-file-name-hop'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-hop--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-hop (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 7 cl-x))) nil] 9 (#$ . 52535)])
(put 'tramp-file-name-hop 'compiler-macro 'tramp-file-name-hop--cmacro)
#@64 Access slot "hop" of `tramp-file-name' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-hop #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 7] 5 (#$ . 52959)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put tramp-file-name-hop side-effect-free t defalias copy-tramp-file-name copy-sequence] 4)
#@126 compiler-macro for inlining `make-tramp-file-name'.

(fn CL-WHOLE &cl-quote &key METHOD USER DOMAIN HOST PORT LOCALNAME HOP)
(defalias 'make-tramp-file-name--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\211\203Y\211@\310>\203A\211AA\262\202.\311	>A@\203P\312\262\202.\313\314@\"\210\202.\210\315\316\317\312\f\312\f\f\f\f\f\f\f&\f\207" [plist-member :method :user :domain :host :port :localname :hop (:method :user :domain :host :port :localname :hop :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:method :user :domain :host :port :localname :hop)" cl--defsubst-expand (method user domain host port localname hop) (cl-block make-tramp-file-name (list 'tramp-file-name method user domain host port localname hop))] 22 (#$ . 53360)])
(put 'make-tramp-file-name 'compiler-macro 'make-tramp-file-name--cmacro)
#@106 Constructor for objects of type `tramp-file-name'.

(fn &key METHOD USER DOMAIN HOST PORT LOCALNAME HOP)
(defalias 'make-tramp-file-name #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\211\203Y\211@\310>\203A\211AA\262\202.\311	>A@\203P\312\262\202.\313\314@\"\210\202.\210\315\257\207" [plist-member :method :user :domain :host :port :localname :hop (:method :user :domain :host :port :localname :hop :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:method :user :domain :host :port :localname :hop)" tramp-file-name] 16 (#$ . 54290)])
(byte-code "\300\301\302\303#\304\305\306\211\307\303\310\311\305\306&	\207" [function-put make-tramp-file-name side-effect-free t cl-struct-define tramp-file-name nil list ((cl-tag-slot) (method) (user) (domain) (host) (port) (localname) (hop)) cl-struct-tramp-file-name-tags] 11)
#@53 Return user and domain components of VEC.

(fn VEC)
(defalias 'tramp-file-name-user-domain #[257 "\211\242>\204\302\303\304D\"\210\3058\204(\211\242>\204\"\302\303\304D\"\210\3068\205`\211\242>\2046\302\303\304D\"\210\3058\242>\204G\302\303\304D\"\210\3068\205N	\242>\204\\\302\303\304D\"\210\3068Q\207" [cl-struct-tramp-file-name-tags tramp-prefix-domain-format signal wrong-type-argument tramp-file-name 2 3] 7 (#$ . 55227)])
#@51 Return host and port components of VEC.

(fn VEC)
(defalias 'tramp-file-name-host-port #[257 "\211\242>\204\302\303\304D\"\210\3058\204(\211\242>\204\"\302\303\304D\"\210\3068\205`\211\242>\2046\302\303\304D\"\210\3058\242>\204G\302\303\304D\"\210\3068\205N	\242>\204\\\302\303\304D\"\210\3068Q\207" [cl-struct-tramp-file-name-tags tramp-prefix-port-format signal wrong-type-argument tramp-file-name 4 5] 7 (#$ . 55687)])
#@78 Return port component of VEC.
If nil, return `tramp-default-port'.

(fn VEC)
(defalias 'tramp-file-name-port-or-default #[257 "\211\242>\204\301\302\303D\"\210\3048\206\305\306\"\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 5 tramp-get-method-parameter tramp-default-port] 5 (#$ . 56141)])
#@81 Check, whether VEC1 and VEC2 denote the same `tramp-file-name'.

(fn VEC1 VEC2)
(defalias 'tramp-file-name-equal-p #[514 "\242>\205E\211\242>\205E\242>\204\301\302\303D\"\210A@\242>\204-\301\302\303D\"\210A@\230\205E\304!\304!\230\205E\305!\305!\230\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name tramp-file-name-user-domain tramp-file-name-host-port] 7 (#$ . 56480)])
#@206 Return the method parameter PARAM.
If VEC is a vector, check first in connection properties.
Afterwards, check in `tramp-methods'.  If the `tramp-methods'
entry does not exist, return nil.

(fn VEC PARAM)
(defalias 'tramp-get-method-parameter #[514 "\302\303\304\305!#\306\"\203\307\310#\2027\311\311\242>\204(\312\313\314D\"\210A@	\"\"\211\2055\211A@\262\207" [cl-struct-tramp-file-name-tags tramp-methods replace-regexp-in-string "^tramp-" "" symbol-name tramp-connection-property-p tramp-get-connection-property nil assoc signal wrong-type-argument tramp-file-name] 10 (#$ . 56911)])
#@55 Return unquoted localname component of VEC.

(fn VEC)
(defalias 'tramp-file-name-unquote-localname #[257 "\211\242>\204\302\303\304D\"\210\3058\306\211?\205	\307!\211\211?\205$	\310\311\307!\")\266\202\203B\211G\312U\203<\313\202@\314\312\"\262\315!P)\207" [cl-struct-tramp-file-name-tags file-name-handler-alist signal wrong-type-argument tramp-file-name 6 nil file-local-name string-prefix-p "/:" 2 "/" substring file-remote-p] 10 (#$ . 57521)])
#@70 Return t if NAME is a string with Tramp file name syntax.

(fn NAME)
(defalias 'tramp-tramp-file-p #[257 "\205J\211;\205J	\305>\203\306\202\307\310\311\312#)\266\203?\205J\2039\310\311\312#)\266\203?\205J\f\310\311\312#)\266\203\205J\311\207" [tramp-mode system-type inhibit-changing-match-data tramp-ignored-file-name-regexp tramp-file-name-regexp (cygwin windows-nt) "^/[[:alpha:]]?:" "^/:" nil t string-match] 8 (#$ . 57995)])
#@435 Return the local name component of NAME.
This function removes from NAME the specification of the remote
host and the method of accessing the host, leaving only the part
that identifies NAME locally on the remote system.  If NAME does
not match `tramp-file-name-regexp', just `file-local-name' is
called.  The returned file name can be used directly as argument
of `process-file', `start-file-process', or `shell-command'.

(fn NAME)
(defalias 'tramp-file-local-name #[257 "\301!\203\302@\"\203\303\3048\"\206\305!\207" [tramp-file-name-structure tramp-tramp-file-p string-match match-string 4 tramp-compat-file-local-name] 4 (#$ . 58460)])
#@47 Return unquoted localname of NAME.

(fn NAME)
(defalias 'tramp-unquote-file-local-name #[257 "\301!\302\211?\205\n\303!\211\211?\205\304\305\303!\")\266\202\2034\211G\306U\203.\307\2022\310\306\"\262\311!P)\207" [file-name-handler-alist tramp-file-local-name nil file-local-name string-prefix-p "/:" 2 "/" substring file-remote-p] 10 (#$ . 59119)])
#@202 Return the right method string to use depending on USER and HOST.
This is METHOD, if non-nil.  Otherwise, do a lookup in
`tramp-default-method-alist' and `tramp-default-method'.

(fn METHOD USER HOST)
(defalias 'tramp-find-method #[771 "\203\304\230\204\230\203\305\262\206k	\305\211\203d\211A\262\242\262\211@\206,\304\2061\304\305\306\307#)\266\203\203\211A@\206F\304\206K\304\305\306\307#)\266\203\203\3108\262\305\262\202\266\203\206k\204s\211\204w\211\202|\311\312\306#\207" [tramp-default-method-marker tramp-default-method-alist inhibit-changing-match-data tramp-default-method "" nil t string-match 2 propertize tramp-default] 13 (#$ . 59493)])
#@196 Return the right user string to use depending on METHOD and HOST.
This is USER, if non-nil.  Otherwise, do a lookup in
`tramp-default-user-alist' and `tramp-default-user'.

(fn METHOD USER HOST)
(defalias 'tramp-find-user #[771 "\206Y\303\211\203R\211A\262\242\262\211@\206\304\206\304\303\305\306#)\266\203\203\211A@\2064\304\2069\304\303\305\306#)\266\203\203\3078\262\303\262\202\266\203\206Y\n\204a\211\204e\211\202j\310\311\305#\207" [tramp-default-user-alist inhibit-changing-match-data tramp-default-user nil "" t string-match 2 propertize tramp-default] 13 (#$ . 60202)])
#@196 Return the right host string to use depending on METHOD and USER.
This is HOST, if non-nil.  Otherwise, do a lookup in
`tramp-default-host-alist' and `tramp-default-host'.

(fn METHOD USER HOST)
(defalias 'tramp-find-host #[771 "\211G\303V\203\211\206`\304\211\203Y\211A\262\242\262\211@\206 \305\206&\305\304\306\307#)\266\203\203\211A@\206;\305\206@\305\304\306\307#)\266\203\203\3108\262\304\262\202\266\203\206`\nG\303V\204k\211\204o\211\202t\311\312\306#\207" [tramp-default-host-alist inhibit-changing-match-data tramp-default-host 0 nil "" t string-match 2 propertize tramp-default] 13 (#$ . 60830)])
#@355 Return a `tramp-file-name' structure of NAME, a remote file name.
The structure consists of method, user, domain, host, port,
localname (file name on remote host), and hop.

Unless NODEFAULT is non-nil, method, user and host are expanded
to their default values.  For the other file name parts, no
default values are used.

(fn NAME &optional NODEFAULT)
(defalias 'tramp-dissect-file-name #[513 "\306 \307\310\311\312\313!\314\"\315$\216\316!\204\317\320\321#\210\322@\"\204(\323\324!\202w\325A@\"\325\3268\"\325\3158\"\325\3278\"\325\3308\"\320\211\211\203g\322	\"\203g\325\326\"\262\325\331\"\262\203\243\322\n\"\203\201\325\326\"\262\325\331\"\262\322\"\203\222\332\333\320\334	$\262\322\f\"\203\243\332\333\320\334	$\262	\204'\203\272\335!\262\205\270\336!\262\211\203\363\337\242
>\204\315\340\341\342D\"\210\3278\320\3341\322#)\266\203\204\363\211\242
>\204\355\340\341\342D\"\210\3278\206\36522\343#\262\344#\262\345#\262\205$\346\347\350	\351\f$\"\262)\342	\n\n\257\211\262\n\204\\\352 \204\\3\230\204\\\353	4\"\204\\\317\354#\210\203u\355\356\"\203n\355\357\"\203u\317\360#\210\266\210)\207" [tramp-file-name-structure tramp-user-with-domain-regexp tramp-host-with-port-regexp tramp-prefix-ipv6-regexp tramp-postfix-ipv6-regexp cl-struct-tramp-file-name-tags match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 tramp-tramp-file-p tramp-user-error nil "Not a Tramp file name: \"%s\"" string-match error "`tramp-file-name-structure' didn't match!" match-string 2 4 5 1 replace-match "" t tramp-dissect-hop-name tramp-make-tramp-hop-name "%h" signal wrong-type-argument tramp-file-name tramp-find-method tramp-find-user tramp-find-host format-spec format-spec-make 104 117 tramp-completion-mode-p assoc "Method `%s' is not known." tramp-get-method-parameter tramp-login-program tramp-copy-program "Method `%s' is not supported for multi-hops." inhibit-changing-match-data tramp-default-host tramp-default-method-marker tramp-methods] 19 (#$ . 61485)])
#@135 Return a `tramp-file-name' structure of `hop' part of NAME.
See `tramp-dissect-file-name' for details.

(fn NAME &optional NODEFAULT)
(defalias 'tramp-dissect-hop-name #[513 "\304\305	\306P\n#P\"\307\310\"\203\307\311\"\2032\312\313\242>\204-\314\315\316D\"\210A@#\210\211\207" [tramp-prefix-format tramp-postfix-hop-regexp tramp-postfix-host-format cl-struct-tramp-file-name-tags tramp-dissect-file-name replace-regexp-in-string "$" tramp-get-method-parameter tramp-login-program tramp-copy-program tramp-user-error "Method `%s' is not supported for multi-hops." signal wrong-type-argument tramp-file-name] 10 (#$ . 63634)])
#@49 A name for the connection buffer VEC.

(fn VEC)
(defalias 'tramp-buffer-name #[257 "\211\242>\204\301\302\303D\"\210\211A@\304!\305!G\306U\204'\307\310$\202,\307\311#\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name tramp-file-name-user-domain tramp-file-name-host-port 0 format "*tramp/%s %s@%s*" "*tramp/%s %s*"] 9 (#$ . 64282)])
#@604 Construct a Tramp file name from ARGS.

ARGS could have two different signatures.  The first one is of
type (VEC &optional LOCALNAME HOP).
If LOCALNAME is nil, the value in VEC is used.  If it is a
symbol, a null localname will be used.  Otherwise, LOCALNAME is
expected to be a string, which will be used.
If HOP is nil, the value in VEC is used.  If it is a symbol, a
null hop will be used.  Otherwise, HOP is expected to be a
string, which will be used.

The other signature exists for backward compatibility.  It has
the form (METHOD USER DOMAIN HOST PORT LOCALNAME &optional HOP).

(fn &rest ARGS)
(defalias 'tramp-make-tramp-file-name #[128 "\306\211\211\211\211\211\211@\242>\203\357@\242>\204\"\307\310\311\n@D\"\210@A@\262@\242>\204;\307\310\311\n@D\"\210\312@8\262@\242>\204T\307\310\311\n@D\"\210\313@8\262@\242>\204m\307\310\311\n@D\"\210\314@8\262@\242>\204\206\307\310\311\n@D\"\210\315@8\262@\242>\204\237\307\310\311\n@D\"\210\316@8\262@\242>\204\270\307\310\311\n@D\"\210\317@8\262A@\203\324A@;\205\322A@\262AA@\203AA@;\205\352AA@\262\202@\262A@\262\3128\262\3138\262\3148\262\3158\262\3168\262	G\320U\204/G\320U\203/\307\310\321	D\"\210\n	G\320U?\205=	PG\320U?\205L	P\nG\320U?\205V\f	\205y
\n\306\322\323#)\266\203\203w\nQ\202y		G\320U?\205\207\nP\n\260\n\207" [cl-struct-tramp-file-name-tags tramp-postfix-method-format tramp-prefix-format tramp-prefix-domain-format tramp-postfix-user-format tramp-ipv6-regexp nil signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 0 stringp t string-match inhibit-changing-match-data tramp-prefix-ipv6-format tramp-postfix-ipv6-format tramp-prefix-port-format tramp-postfix-host-format] 21 (#$ . 64666)])
#@48 Construct a Tramp hop name from VEC.

(fn VEC)
(defalias 'tramp-make-tramp-hop-name #[257 "\303\304\303	\305P\n\306\307\"##\207" [tramp-prefix-regexp tramp-postfix-host-regexp tramp-postfix-hop-format replace-regexp-in-string "" "$" tramp-make-tramp-file-name noloc] 10 (#$ . 66479)])
#@238 Construct a Tramp file name from METHOD, USER, HOST and LOCALNAME.
It must not be a complete Tramp file name, but as long as there are
necessary only.  This function will be used in file name completion.

(fn METHOD USER HOST LOCALNAME)
(defalias 'tramp-completion-make-tramp-file-name #[1028 "G\306U\206\f	G\306U?\205	PG\306U?\205\nPG\306U?\205B\307\310\311#)\266\203\203>
\nQ\202?P\260\207" [tramp-prefix-format tramp-postfix-method-format tramp-postfix-user-format tramp-ipv6-regexp inhibit-changing-match-data tramp-prefix-ipv6-format 0 nil t string-match tramp-postfix-ipv6-format tramp-postfix-host-format] 14 (#$ . 66774)])
#@148 Get the connection buffer to be used for VEC.
Unless DONT-CREATE, the buffer is created when it doesn't exist yet.

(fn VEC &optional DONT-CREATE)
(defalias 'tramp-get-buffer #[513 "\302\303!!\206)\211?\205)r\304\303!!q\210\305\306\307\306\310##\210\311\312\313\314#p)\207" [buffer-undo-list default-directory get-buffer tramp-buffer-name get-buffer-create tramp-set-connection-property "process-buffer" tramp-get-connection-property nil t tramp-make-tramp-file-name noloc nohop] 9 (#$ . 67439)])
#@251 Get the connection buffer to be used for VEC.
Unless DONT-CREATE, the buffer is created when it doesn't exist yet.
In case a second asynchronous communication has been started, it is different
from `tramp-get-buffer'.

(fn VEC &optional DONT-CREATE)
(defalias 'tramp-get-connection-buffer #[513 "\300\301\302#\206\f\303\"\207" [tramp-get-connection-property "process-buffer" nil tramp-get-buffer] 6 (#$ . 67952)])
#@155 Get the connection name to be used for VEC.
In case a second asynchronous communication has been started, it is different
from the default one.

(fn VEC)
(defalias 'tramp-get-connection-name #[257 "\300\301\302#\206\303!\207" [tramp-get-connection-property "process-name" nil tramp-buffer-name] 5 (#$ . 68377)])
#@158 Get the connection process to be used for VEC.
In case a second asynchronous communication has been started, it is different
from the default one.

(fn VEC)
(defalias 'tramp-get-connection-process #[257 "\211\242>\205\f\301\302!!\207" [cl-struct-tramp-file-name-tags get-process tramp-get-connection-name] 4 (#$ . 68700)])
#@179 Set connection-local variables in the connection buffer used for VEC.
If connection-local variables are not supported by this Emacs
version, the function does nothing.

(fn VEC)
(defalias 'tramp-set-connection-local-variables #[257 "r\301!q\210\302\303!\205/\303\304\305\306\242>\204\307\310\311D\"\210A@\312\313!\314\315	!\257!)\207" [cl-struct-tramp-file-name-tags tramp-get-connection-buffer functionp hack-connection-local-variables-apply :application tramp :protocol signal wrong-type-argument tramp-file-name :user tramp-file-name-user-domain :machine tramp-file-name-host-port] 11 (#$ . 69033)])
#@153 Set connection-local variables in the current buffer.
If connection-local variables are not supported by this Emacs
version, the function does nothing.
(defalias 'tramp-set-connection-local-variables-for-buffer #[0 "\301!\205!\302\303!\205!\303\304\305\306\307\310\"\311\307\312\"\313\307\314\"\257!\207" [default-directory tramp-tramp-file-p functionp hack-connection-local-variables-apply :application tramp :protocol file-remote-p method :user user :machine host] 11 (#$ . 69656)])
#@48 A name for the debug buffer for VEC.

(fn VEC)
(defalias 'tramp-debug-buffer-name #[257 "\211\242>\204\301\302\303D\"\210\211A@\304!\305!G\306U\204'\307\310$\202,\307\311#\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name tramp-file-name-user-domain tramp-file-name-host-port 0 format "*debug tramp/%s %s@%s*" "*debug tramp/%s %s*"] 9 (#$ . 70154)])
#@62 Used for highlighting Tramp debug buffers in `outline-mode'.
(defconst tramp-debug-outline-regexp "[0-9]+:[0-9]+:[0-9]+\\.[0-9]+ \\(?:\\(#<thread .+>\\) \\)?[a-z0-9-]+ (\\([0-9]+\\)) #" (#$ . 70554))
#@62 Used for highlighting Tramp debug buffers in `outline-mode'.
(defconst tramp-debug-font-lock-keywords '(list (concat "^\\(?:" tramp-debug-outline-regexp "\\).+") '(1 font-lock-warning-face t t) '(0 (outline-font-lock-face) keep t)) (#$ . 70760))
#@181 Return the depth to which a statement is nested in the outline.
Point must be at the beginning of a header line.

The outline level is equal to the verbosity of the Tramp message.
(defalias 'tramp-debug-outline-level #[0 "\300\301\302!!T\207" [string-to-number match-string 2] 3 (#$ . 71013)])
#@41 Get the debug buffer for VEC.

(fn VEC)
(defalias 'tramp-get-debug-buffer #[257 "r\306\307!!q\210o\2033\310\311\312\313N@!\314\315 \210*\316\303!\210\317\316\305!\210\310\311\fD\311\f!E\320!\210p)\207" [buffer-undo-list signal-hook-function default-directory outline-level tramp-debug-font-lock-keywords font-lock-keywords get-buffer-create tramp-debug-buffer-name t eval temporary-file-directory standard-value nil outline-mode make-local-variable tramp-debug-outline-level use-local-map special-mode-map] 5 (#$ . 71313)])
#@206 Append message to debug buffer of VEC.
Message is formatted with FMT-STRING as control string and the remaining
ARGUMENTS to actually emit the message (if applicable).

(fn VEC FMT-STRING &rest ARGUMENTS)
(defalias 'tramp-debug-message #[642 "r\306!q\210db\210o\203/\307\310	#c\210\n\311Y\203/\312\307\313\314\315!\206&\316\f\206+\316$c\210)n\2046\317c\210\320 \321\322\"c\210\307\323\3248\"c\266\325\326\211\211\204\223\327!A@\262\204_\316\262\202J9\203\214\330!\262\331\326\332\333#)\266\203\203\211\334\326\332\333#)\266\203\203\214\326\262T\262\202J\307\335\"c\266\336\337#c)\207" [emacs-version tramp-version tramp-verbose tramp-repository-branch tramp-repository-version inhibit-changing-match-data tramp-get-debug-buffer format ";; Emacs: %s Tramp: %s -*- mode: outline; -*-" 10 0 "\n;; Location: %s Git: %s/%s" locate-library "tramp" "" "\n" current-time format-time-string "%T." "%06d " 2 1 nil backtrace-frame symbol-name "^tramp" t string-match "^\\(tramp-\\(?:backtrace\\|compat-funcall\\|debug-message\\|error\\(?:-with-buffer\\)?\\|message\\|signal-hook-function\\|user-error\\)\\)$" "%s " apply format-message] 13 (#$ . 71853)])
(put 'tramp-debug-message 'byte-optimizer 'byte-compile-inline-expand)
#@207 Show Tramp message in the minibuffer.
This variable is used to suppress progress reporter output, and
to disable messages from `tramp-error'.  Those messages are
visible anyway, because an error is raised.
(defvar tramp-message-show-message (null noninteractive) (#$ . 73118))
#@592 Emit a message depending on verbosity level.
VEC-OR-PROC identifies the Tramp buffer to use.  It can be either a
vector or a process.  LEVEL says to be quiet if `tramp-verbose' is
less than LEVEL.  The message is emitted only if `tramp-verbose' is
greater than or equal to LEVEL.

The message is also logged into the debug buffer when `tramp-verbose'
is greater than or equal 4.

Calls functions `message' and `tramp-debug-message' with FMT-STRING as
control string and the remaining ARGUMENTS to actually emit the message (if
applicable).

(fn VEC-OR-PROC LEVEL FMT-STRING &rest ARGUMENTS)
(defalias 'tramp-message #[899 "\3031\231X\205\227	\203:\304X\203:\305\306\307U\203 \310\2025\311U\203*\310\2025\312U\2034\313\2025\314P#\210\315Y\205\227\307\311U\203w\3161rr\317!\203Y\320!\202]\321\322\"q\210\323P\262\324\325 C\"\211\262)0\202v\210\202w\210\317!\203\203\326\327\"\262)\242\n>\205\227\305\330\331\332\"P$0\207\210\333\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " nil] 10 (#$ . 73402)])
(put 'tramp-message 'byte-optimizer 'byte-compile-inline-expand)
#@174 Dump a backtrace into the debug buffer.
If VEC-OR-PROC is nil, the buffer *debug tramp* is used.  This
function is meant for debugging purposes.

(fn &optional VEC-OR-PROC)
(defalias 'tramp-backtrace #[256 "\306Y\205\353\211\203\275\211\306\307\310\311!\312\216	\313 \210)r	q\210\314 +C\3151\272X\205\270\n\203[\316X\203[\317\320\321U\203A\322\202V\323U\203K\322\202V\324U\203U\325\202V\326P#\210\327Y\205\270\321\323U\203\230\3301\223r\331!\203z\332!\202~\333\334\"q\210\307P\262\335\314 C\"\211\262)0\202\227\210\202\230\210\331!\203\244\336\337\"\262)\242>\205\270\317\340\341\342\"P$0\207\210\343\207\fr\344\345!q\210p\346 \210\343\211,\347\211-\347./\350 \210\351\352!\210+\211\313 \353!\210)\266\202\207" [tramp-verbose standard-output tramp-message-show-message cl-struct-tramp-file-name-tags default-directory buffer-read-only 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " nil get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 12 (#$ . 74761)])
(put 'tramp-backtrace 'byte-optimizer 'byte-compile-inline-expand)
#@272 Emit an error.
VEC-OR-PROC identifies the connection to use, SIGNAL is the
signal identifier to be raised, remaining arguments passed to
`tramp-message'.  Finally, signal SIGNAL is raised with
FMT-STRING and ARGUMENTS.

(fn VEC-OR-PROC SIGNAL FMT-STRING &rest ARGUMENTS)
(defalias 'tramp-error #[899 "\306\211\n\307Y\205\371\211\203\312\211\307\310\311\312!\313\216\314 \210)rq\210\315 +C\3161\303\nX\205\275	\203`\317X\203`\320\321\322U\203F\323\202[\324U\203P\323\202[\325U\203Z\326\202[\327P#\210\n\330Y\205\275\322\324U\203\235\3311\230r\332!\203\333!\202\203\334\335\"q\210\310P\262\336\315 C\"\211\262)0\202\234\210\202\235\210\332!\203\251\337\340\"\262)\242\f>\205\275\320\341\342\343\"P$0\266\205\202\373\210\306\266\205\202\373
r\344\345!q\210p\346 \210\306\21123\347\2114\34756\350 \210\351\352!\210+\211\314 \353!\210)\266\202\262\210\211\204C\262\354\262\203\300\324\354\355\211\356N\320\357		#E!C\3161\273\nX\205\265	\203X\317X\203X\320\321\322U\203>\323\202S\324U\203H\323\202S\325U\203R\326\202S\327P#\210\n\330Y\205\265\322\324U\203\225\3311\220r\332!\203w\333!\202{\334\335\"q\210\310P\262\336\315 C\"\211\262)0\202\224\210\202\225\210\332!\203\241\337\340\"\262)\242\f>\205\265\320\341\342\343\"P$0\266\204\202\277\210\306\266\204\210\360\361\320\357#!C\"*\207" [signal-hook-function tramp-message-show-message tramp-verbose standard-output cl-struct-tramp-file-name-tags default-directory nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal substring-no-properties buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 15 (#$ . 76288)])
(put 'tramp-error 'byte-optimizer 'byte-compile-inline-expand)
#@224 Emit an error, and show BUF.
If BUF is nil, show the connection buf.  Wait for 30", or until
an input event arrives.  The other arguments are passed to `tramp-error'.

(fn BUF VEC-OR-PROC SIGNAL FMT-STRING &rest ARGUMENTS)
(defalias 'tramp-error-with-buffer #[1156 "\302 \303\304\305\306\307!\310\"\311$\216\312!\203\206/\313!\203%\314!\206/\242>\205/\315!\242>\203:\206F\211\205Fr\211q\210\316	!)\303\304\317\306\307		$\320\"\321$\216\322\323%)\266\202)\207" [cl-struct-tramp-file-name-tags default-directory current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 bufferp processp process-buffer tramp-get-connection-buffer tramp-dissect-file-name "\302\203-\f\203-
\306U\204-\307 \204-\310 \203-\311\312\313\300\301#\210\314\302!\210\315 \210\316\317!\210)\320\303@\"\205;\321 \241\207" [tramp-message-show-message tramp-verbose 0 tramp-completion-mode-p current-message t apply message pop-to-buffer discard-input sit-for 30 tramp-file-name-equal-p current-time enable-recursive-minibuffers tramp-current-connection] 4 apply tramp-error] 17 (#$ . 78555)])
(put 'tramp-error-with-buffer 'byte-optimizer 'byte-compile-inline-expand)
#@86 Signal a user error (or "pilot error").

(fn VEC-OR-PROC FMT-STRING &rest ARGUMENTS)
(defalias 'tramp-user-error #[642 "\300\301\302\303\304#\305\"\306$\216\307\310\311%)\207" [make-byte-code 0 "\2054\f\306U?\2054\307 ?\2054\310 \2054\311\312\313\301\302#\210\314 \210\315\316!\210\317\300@\"\2053\320 \241)\207" vconcat vector [tramp-message-show-message tramp-verbose enable-recursive-minibuffers 0 tramp-completion-mode-p current-message t apply message discard-input sit-for 30 tramp-file-name-equal-p current-time tramp-current-connection] 4 apply tramp-error user-error] 11 (#$ . 79793)])
#@264 Execute BODY while redirecting the error message to `tramp-message'.
BODY is executed like wrapped by `with-demoted-errors'.  FORMAT
is a format-string containing a %-sequence meaning to substitute
the resulting error message.

(fn VEC-OR-PROC FORMAT &rest BODY)
(defalias 'tramp-with-demoted-errors '(macro . #[642 "\300\301!\302\303B\304\305\306	\257\307BBF\207" [make-symbol "err" condition-case-unless-debug progn error tramp-message 3 (nil)] 13 (#$ . 80415)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put tramp-with-demoted-errors edebug-form-spec (symbolp body) function-put lisp-indent-function 2] 4)
#@75 Function to be called via `signal-hook-function'.

(fn ERROR-SYMBOL DATA)
(defalias 'tramp-signal-hook-function #[514 "\306=?\205\343@\307\310\311\312#C\313\211\314Y\205\f\211\203\333\211\314\315\316\317!\320\216\f\321 \210)r\fq\210\322 +C\3231\324X\205\316\n\203q\324X\203q\325\326\327U\203W\330\202l\331U\203a\330\202l\332U\203k\333\202l\334P#\210\335Y\205\316\327\331U\203\256\3361\251r\337!\203\220\340!\202\224\341\342\"q\210\315P\262\343\322 C\"\211\262)0\202\255\210\202\256\210\337!\203\272\344\345\"\262)\242
>\205\316\325\346\347\350\"P$0\266\205\202\210\313\266\205\2026r\351\352!q\210p\353 \2106\313\21178\354\2119\354:;\355 \210\356\357!\210+\211\321 \360!\210)\266\202\262\210\211\204C\262\307\262\203\323\331\307\361\211\362N\325\363		#E!C\3231\316X\205\310\n\203k\324X\203k\325\326\327U\203Q\330\202f\331U\203[\330\202f\332U\203e\333\202f\334P#\210\335Y\205\310\327\331U\203\250\3361\243r\337!\203\212\340!\202\216\341\342\"q\210\315P\262\343\322 C\"\211\262)0\202\247\210\202\250\210\337!\203\264\344\345\"\262)\242
>\205\310\325\346\347\350\"P$0\266\204\202\322\210\313\266\204\210\364\365\325\363#!C\"*\266\204\207" [tramp-current-connection signal-hook-function tramp-message-show-message tramp-verbose standard-output cl-struct-tramp-file-name-tags void-variable "%s" mapconcat #[257 "\300\301\"\207" [format "%s"] 4 "\n\n(fn X)"] " " nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show error-message-string error-message format-message signal substring-no-properties default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 17 (#$ . 81058)])
#@781 Parse a Tramp filename and make components available in the body.

First arg FILENAME is evaluated and dissected into its components.
Second arg VAR is a symbol.  It is used as a variable name to hold
the filename structure.  It is also used as a prefix for the variables
holding the components.  For example, if VAR is the symbol `foo', then
`foo' will be bound to the whole structure, `foo-method' will be bound to
the method component, and so on for `foo-user', `foo-domain', `foo-host',
`foo-port', `foo-localname', `foo-hop'.

Remaining args are Lisp expressions to be evaluated (inside an implicit
`progn').

If VAR is nil, then we bind `v' to the structure and `method', `user',
`domain', `host', `port', `localname', `hop' to the components.

(fn FILENAME VAR &rest BODY)
(defalias 'with-parsed-tramp-file-name '(macro . #[642 "\300\301\302\303\304\305!\306\"\307\310%\300\311\312\"A\"\313\206\314\315DDB\316\300\311\"BBBB\207" [mapcar make-byte-code 257 "\300\203\301\302\303\300#!\202\211\301\302\304\"!\300\206\305DD\207" vconcat vector [intern format "%s-%s" "tramp-file-name-%s" v] 6 "\n\n(fn ELEM)" car ((cl-tag-slot nil) (method nil) (user nil) (domain nil) (host nil) (port nil) (localname nil) (hop nil)) let* v tramp-dissect-file-name ignore] 10 (#$ . 83233)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\307\310\"\207" [put with-parsed-tramp-file-name lisp-indent-function 2 edebug-form-spec (form symbolp body) font-lock-add-keywords emacs-lisp-mode ("\\<with-parsed-tramp-file-name\\>")] 4)
#@82 Report progress of an operation for Tramp.

(fn REPORTER &optional VALUE SUFFIX)
(defalias 'tramp-progress-reporter-update #[769 "A\211\301H\211\302 \206\f\303\304\305\306#)\266\203\2050\247\203)@Y\205.\307#\266\203\207" [inhibit-changing-match-data 3 current-message "" nil t string-match progress-reporter-do-update] 12 (#$ . 84785)])
#@196 Execute BODY, spinning a progress reporter with MESSAGE.
If LEVEL does not fit for visible messages, there are only traces
without a visible progress reporter.

(fn VEC LEVEL MESSAGE &rest BODY)
(defalias 'with-tramp-progress-reporter '(macro . #[899 "\300\301\302\257\303\304\305\306\307\310\311\312BBE\303\313\314\315BBDC\316BBEDD\317\320\300B\321BB\322\301\323\f\324BBBBBFEE\207" [progn tramp-message "%s..." let (cookie "failed") tm when and tramp-message-show-message <= ((min tramp-verbose 3)) pr make-progress-reporter (nil nil) ((when pr (run-at-time 3 0.1 #'tramp-progress-reporter-update pr))) unwind-protect prog1 ((setq cookie "done")) (if tm (cancel-timer tm)) "%s...%s" (cookie)] 17 (#$ . 85147)]))
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\"\207" [function-put with-tramp-progress-reporter lisp-indent-function 3 put edebug-form-spec t font-lock-add-keywords emacs-lisp-mode ("\\<with-tramp-progress-reporter\\>")] 5)
#@176 Check in Tramp cache for PROPERTY, otherwise execute BODY and set cache.
FILE must be a local file name on a connection identified via VEC.

(fn VEC FILE PROPERTY &rest BODY)
(defalias 'with-tramp-file-property '(macro . #[899 "\300\301D\302\303\304\305BBBBDC\306\307\310\303\311	BE\312\313BBBBF\314BBBBBB\207" [if file-name-absolute-p let value tramp-get-file-property ('undef) when (eq value 'undef) setq progn tramp-set-file-property (value) (value)] 16 (#$ . 86124)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\307\310\"\207" [put with-tramp-file-property lisp-indent-function 3 edebug-form-spec t font-lock-add-keywords emacs-lisp-mode ("\\<with-tramp-file-property\\>")] 4)
#@101 Check in Tramp for property PROPERTY, otherwise execute BODY and set.

(fn KEY PROPERTY &rest BODY)
(defalias 'with-tramp-connection-property '(macro . #[642 "\300\301\302\303BBBDC\304\305\306\301\307BE\310\311BBBF\312BBB\207" [let value tramp-get-connection-property ('undef) when (eq value 'undef) setq progn tramp-set-connection-property (value) (value)] 12 (#$ . 86843)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\307\310\"\207" [put with-tramp-connection-property lisp-indent-function 2 edebug-form-spec t font-lock-add-keywords emacs-lisp-mode ("\\<with-tramp-connection-property\\>")] 4)
#@324 Cut off unnecessary drive letter from file NAME.
The functions `tramp-*-handle-expand-file-name' call `expand-file-name'
locally on a remote file name.  When the local system is a W32 system
but the remote system is Unix, this introduces a superfluous drive
letter into the file name.  This function removes it.

(fn NAME)
(defalias 'tramp-drop-volume-letter #[257 "\301 \302\303\304\305\306!\307\"\310$\216\311\211?\205\312\313\314!\")\266\202\311\211?\205(\314!\211\211?\2054\312\313\314!\")\266\202\203R\211G\315U\203L\316\202P\317\315\"\262\320!P)\266\203\321\322\"\203j\323\316\324\325$\202k\211\262\203\241\211\311\211?\205y\211?\205\202\312\313\314!\")\266\202\203\223\202\233\320!\313\314!Q)\266\202\202\242\211\266\202)\207" [file-name-handler-alist match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 top string-prefix-p "/:" file-local-name 2 "/" substring file-remote-p string-match "\\`[a-zA-Z]:/" replace-match nil t] 12 (#$ . 87471)])
#@494 Set the list of completion functions for METHOD.
FUNCTION-LIST is a list of entries of the form (FUNCTION FILE).
The FUNCTION is intended to parse FILE according its syntax.
It might be a predefined FUNCTION, or a user defined FUNCTION.
For the list of predefined FUNCTIONs see `tramp-completion-function-alist'.

Example:

    (tramp-set-completion-function
     "ssh"
     \='((tramp-parse-sconfig "/etc/ssh_config")
       (tramp-parse-sconfig "~/.ssh/config")))

(fn METHOD FUNCTION-LIST)
(defalias 'tramp-set-completion-function #[514 "\211\303\304\"\"\211\203}\211@A\235\203\211\303@A\"\241\210\305@@!\203o\306@A@\307\310\311#)\266\203\203S\n\312>\203o\313\314\307\211\211\315@A@&\316U\202l\317@A@\307\310\311#)\266\203\204v\320@A@!\204v\303@\"\262\211A\262\202\n\205\225B\211\235\203\216\202\223\211B\211\262\207" [tramp-completion-function-alist inhibit-changing-match-data system-type delete assoc functionp "^HKEY_CURRENT_USER" nil t string-match (cygwin windows-nt) tramp-call-process "reg" "query" 0 "^_[[:alpha:]]+\\._[[:alpha:]]+$" file-exists-p] 12 (#$ . 88515)])
#@129 Return a list of completion functions for METHOD.
For definition of that list see `tramp-set-completion-function'.

(fn METHOD)
(defalias 'tramp-get-completion-function #[257 "\301\302D\303D\304DE\305\"A\"\207" [tramp-completion-function-alist append tramp-parse-default-user-host tramp-parse-auth-sources tramp-parse-connection-properties assoc] 6 (#$ . 89650)])
#@31 Keeps virtual inodes numbers.
(defvar tramp-inodes 0 (#$ . 90025))
#@31 Keeps virtual device numbers.
(defvar tramp-devices 0 (#$ . 90098))
#@181 Return file modes of FILENAME as integer.
If the file modes of FILENAME cannot be determined, return the
value of `default-file-modes', without execute permissions.

(fn FILENAME)
(defalias 'tramp-default-file-modes #[257 "\300!\206\301\302 \303\"\207" [file-modes logand default-file-modes 438] 4 (#$ . 90173)])
#@106 Replace environment variables in FILENAME.
Return the string with the replaced variables.

(fn FILENAME)
(defalias 'tramp-replace-environment-variables #[257 "\300\301\"\207" [substitute-env-vars only-defined] 4 (#$ . 90496)])
#@334 Like `find-operation-coding-system' for Tramp filenames.
Tramp's `insert-file-contents' and `write-region' work over
temporary file names.  If `file-coding-system-alist' contains an
expression, which matches more than the file name suffix, the
coding system might not be determined.  This function repairs it.

(fn FILENAME TMPNAME)
(defalias 'tramp-find-file-name-coding-system-alist #[514 "\302\211\203/\211@\211:\203(\211@\302\303\304#)\266\203\203(\305!ABB\262A\266\202\202\237\262\207" [file-coding-system-alist inhibit-changing-match-data nil t string-match regexp-quote] 12 (#$ . 90731)])
#@169 Invoke normal file name handler for OPERATION.
First arg specifies the OPERATION, second arg ARGS is a list of
arguments to pass to the OPERATION.

(fn OPERATION ARGS)
(defalias 'tramp-run-real-handler #[514 "\303\304\305\306\307\310=\205	BBBBBB\311\312\"+\207" [inhibit-file-name-operation inhibit-file-name-handlers signal-hook-function tramp-file-name-handler tramp-vc-file-name-handler tramp-completion-file-name-handler tramp-archive-file-name-handler cygwin-mount-name-hook-function cygwin-mount-map-drive-hook-function nil apply] 10 (#$ . 91352)])
#@299 Return file name related to OPERATION file primitive.
ARGS are the arguments OPERATION has been called with.

It does not always return a Tramp file name, for example if the
first argument of `expand-file-name' is absolute and not remote.
Must be handled by the callers.

(fn OPERATION &rest ARGS)
(defalias 'tramp-file-name-for-operation #[385 "\301\267\202w\302@!\203\211@\207\207\211A@\207\303@!\203 \211@\207\303A@!\203,\211A@\207\207\302@!\2038\211@\207\303A@!\203D\211A@\207\207\302\3048!\203R\3048\207\207\305\306@!\203a@\202bp!\207\207\307@!\205{r\310@!q\210)\207\311\312\"\207" [default-directory #s(hash-table size 72 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (access-file 6 byte-compiler-base-file-name 6 delete-directory 6 delete-file 6 diff-latest-backup-file 6 directory-file-name 6 directory-files 6 directory-files-and-attributes 6 dired-compress-file 6 dired-uncache 6 file-acl 6 file-accessible-directory-p 6 file-attributes 6 file-directory-p 6 file-executable-p 6 file-exists-p 6 file-local-copy 6 file-modes 6 file-name-as-directory 6 file-name-directory 6 file-name-nondirectory 6 file-name-sans-versions 6 file-notify-add-watch 6 file-ownership-preserved-p 6 file-readable-p 6 file-regular-p 6 file-remote-p 6 file-selinux-context 6 file-symlink-p 6 file-truename 6 file-writable-p 6 find-backup-file-name 6 get-file-buffer 6 insert-directory 6 insert-file-contents 6 load 6 make-directory 6 make-directory-internal 6 set-file-acl 6 set-file-modes 6 set-file-selinux-context 6 set-file-times 6 substitute-in-file-name 6 unhandled-file-name-directory 6 vc-registered 6 file-name-case-insensitive-p 6 file-system-info 6 tramp-set-file-uid-gid 6 make-symbolic-link 18 add-name-to-file 22 copy-directory 22 copy-file 22 file-equal-p 22 file-in-directory-p 22 file-name-all-completions 22 file-name-completion 22 file-newer-than-file-p 22 rename-file 22 expand-file-name 46 write-region 70 make-auto-save-file-name 84 set-visited-file-modtime 84 verify-visited-file-modtime 84 process-file 100 shell-command 100 start-file-process 100 make-nearby-temp-file 100 temporary-file-directory 100 exec-path 100 make-process 100 file-notify-rm-watch 102 file-notify-valid-p 102)) file-name-absolute-p tramp-tramp-file-p 2 buffer-file-name bufferp processp process-buffer error "Unknown file I/O primitive: %s"] 5 (#$ . 91925)])
#@80 Return foreign file name handler if exists.

(fn FILENAME &optional OPERATION)
(defalias 'tramp-find-foreign-file-name-handler #[513 "\301!\205(\302\211\203&@\262A\262@!\203	\302\262A\262\202	\266\202\207" [tramp-foreign-file-name-handler-alist tramp-tramp-file-p nil] 7 (#$ . 94321)])
#@146 If non-nil, then Tramp is currently busy.
Together with `tramp-locker', this implements a locking mechanism
preventing reentrant calls of Tramp.
(defvar tramp-locked nil (#$ . 94630))
#@148 If non-nil, then a caller has locked Tramp.
Together with `tramp-locked', this implements a locking mechanism
preventing reentrant calls of Tramp.
(defvar tramp-locker nil (#$ . 94821))
#@159 Invoke Tramp file name handler for OPERATION and ARGS.
Fall back to normal file name handler if no Tramp file name handler exists.

(fn OPERATION &rest ARGS)
(defalias 'tramp-file-name-handler #[385 "\306\307#\206\f\310=\311!\203\357\312 \313\314\315\316\317!\320\"\321$\216\322!\262\323!\211\242	>\2047\324\325\326D\"\210\211A@\242	>\204H\324\325\326D\"\210\3278\242	>\204Y\324\325\326D\"\210\3218\242	>\204k\324\325\326D\"\210\3308\242	>\204}\324\325\326D\"\210\3318\242	>\204\217\324\325\326D\"\210\3328\242	>\204\243\324\325\326	D\"\210\3338\n\334\"\335\336\337\f\n@\"\204\277C\313\314\340\316\317!\341\"\321$\216\203\314K\211\211\242\342=\262\203\353\343\344\345N@!\336\346\"\210*\30020\3472/@\203A\204\336@\f\350\351\336\211\211BC\352Y\205\211\203\333\211\352\353\354\355!D\356\216DD\357 \210)rDq\210\360 +C\3611\324CX\205\316B\203m\321X\203m\306\362\314U\203S\363\202h\364U\203]\363\202h\327U\203g\365\202h\366P#\210C\330Y\205\316\314C\364U\203\254\3671\247r\370!\203\216\371!\202\222\372\373\"q\210\353P\262\374\360 C\"\211\262)0\202\253\210\202\254\210\370!\203\270\375\317\"\262)\242	>\205\316\306\376\377\201J\"P$0\266\205\202\210\336\266\205\202
r\201K\201L!q\210p\201M \210\336\211EF\201N\211G\201NHI\201O \210\201P\201Q!\210+\211D\357 \201R!\210)\266\202\262\210\211\204-C\262\201S\262\203\364\364\201S\201T\211\201UN\306\201V		#E!C\3611\357CX\205\351B\203\210\321X\203\210\306\362\314U\203n\363\202\203\364U\203x\363\202\203\327U\203\202\365\202\203\366P#\210C\330Y\205\351\314C\364U\203\307\3671\302r\370!\203\251\371!\202\255\372\373\"q\210\353P\262\374\360 C\"\211\262)0\202\306\210\202\307\210\370!\203\323\375\317\"\262)\242	>\205\351\306\376\377\201J\"P$0\266\204\202\363\210\336\266\204\210\324\201W\306\201V#!C\"*\266@\201N@\313\314\201X\316\317!\201Y\"\327$\216\201NA\306#*\26200\262\201Z\267\202\306\f\331\201[BC\3611\351CX\205\343B\203\202\321X\203\202\306\362\314U\203h\363\202}\364U\203r\363\202}\327U\203|\365\202}\366P#\210C\330Y\205\343\314C\364U\203\301\3671\274r\370!\203\243\371!\202\247\372\373\"q\210\353P\262\374\360 C\"\211\262)0\202\300\210\202\301\210\370!\203\315\375\317\"\262)\242	>\205\343\306\376\377\201J\"P$0\266\204\202\355\210\336\266\204\210\201\\\"\202\307\336B\f\364\201]BC\3611\253CX\205\245B\203D\321X\203D\306\362\314U\203*\363\202?\364U\2034\363\202?\327U\203>\365\202?\366P#\210C\330Y\205\245\314C\364U\203\203\3671~r\370!\203e\371!\202i\372\373\"q\210\353P\262\374\360 C\"\211\262)0\202\202\210\202\203\210\370!\203\217\375\317\"\262)\242	>\205\245\306\376\377\201J\"P$0\266\204\202\257\210\336\266\204\210\201^
\201N\"\210\201\\\")\202\307\262\202\344\201\\\"\262\211;\203\343\201_!\202\344\211*\266\204\266\210)\262\202\365\201\\\")\207" [non-essential cl-struct-tramp-file-name-tags tramp-current-connection signal-hook-function file-name-handler-alist default-directory apply tramp-file-name-for-operation file-remote-p tramp-tramp-file-p match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 tramp-replace-environment-variables tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 4 5 6 7 tramp-find-foreign-file-name-handler tramp-signal-hook-function nil tramp-file-name-equal-p "\302\300@	@\"?\205
\300\211\207" [tramp-current-connection tramp-file-name-equal-p] autoload eval temporary-file-directory standard-value autoload-do-load suppress file-error "Forbidden reentrant call of Tramp" 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) message "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get tramp-debug-message format tramp-locked tramp-locker tramp-message-show-message tramp-verbose standard-output buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message substring-no-properties "\300\211\207" [tramp-locked] #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (non-essential 826 suppress 1017)) "Non-essential received in operation %s" tramp-run-real-handler "Suppress received in operation %s" tramp-cleanup-connection tramp-drop-volume-letter] 32 (#$ . 95014)])
#@171 Invoke Tramp file name completion handler for OPERATION and ARGS.
Falls back to normal file name handler if no Tramp file name handler exists.

(fn OPERATION &rest ARGS)
(defalias 'tramp-completion-file-name-handler #[385 "\302\"\211\203%	\203%\303 \304\305\306\307\310!\311\"\312$\216\313A\")\262\202)\314\"\207" [tramp-completion-file-name-handler-alist tramp-mode assoc match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply tramp-run-real-handler] 10 (#$ . 99839)])
#@81 Load Tramp file name handler, and perform OPERATION.

(fn OPERATION &rest ARGS)
(defalias 'tramp-autoload-file-name-handler #[385 "\303 \210\203	\304\305\306\307#\210)\310\"\207" [tramp-mode temporary-file-directory default-directory tramp-unload-file-name-handlers load "tramp" noerror nomessage apply] 6 (#$ . 100370)])
#@76 Add Tramp file name handlers to `file-name-handler-alist' during autoload.
(defalias 'tramp-register-autoload-file-name-handlers #[0 "\301\302\303B\"\210\304\303\305\306#\207" [tramp-autoload-file-name-regexp add-to-list file-name-handler-alist tramp-autoload-file-name-handler put safe-magic t] 4 (#$ . 100704)])
#@142 Change Tramp autoload objects to use absolute file names.
This avoids problems during autoload, when `load-path' contains
remote file names.
(defalias 'tramp-use-absolute-autoload-file-names #[0 "\300\301\302\303!!!\304\305\306\307\310\311\312\313#\"\314\"\"\315\316\317\320\321\322\"\323\"\324\325%!\207" [expand-file-name file-name-directory locate-library "tramp" format "^%s$" regexp-opt mapcar file-name-sans-extension directory-files nil "\\`tramp.+\\.elc?\\'" paren mapatoms make-byte-code 257 "\303!\205:\211K\211\242\304=\262\205:\301KA@\305\306\307#)\266\203\205:\31018\211K\211A\311KA@\300\"\240\2620\207\210\305\207" vconcat vector [inhibit-changing-match-data functionp autoload nil t string-match (error) expand-file-name] 8 "\n\n(fn ATOM)"] 10 (#$ . 101026)])
(add-hook 'tramp--startup-hook #[0 "\300 \207" [tramp-use-absolute-autoload-file-names] 1])
#@60 Add Tramp file name handlers to `file-name-handler-alist'.
(defalias 'tramp-register-file-name-handlers #[0 "\306 \210\307\305\310B\"\210\311\310\312\313#\210\307\305	\314B\"\210\311\314\312\313#\210\311\314\315\316\317\n\"#\210\320\303!\203=\203=\307\305\f\321B\"\210\311\321\312\313#\210\322\211\205[\211@\323
\"\211\203S\211\324
\"B\210A\266\202\202>\207" [tramp-file-name-regexp tramp-completion-file-name-regexp tramp-completion-file-name-handler-alist tramp-archive-enabled tramp-archive-file-name-regexp file-name-handler-alist tramp-unload-file-name-handlers add-to-list tramp-file-name-handler put safe-magic t tramp-completion-file-name-handler operations mapcar car boundp tramp-archive-file-name-handler (epa-file-handler jka-compr-handler) rassoc delete] 7 (#$ . 101918)])
(add-hook 'tramp--startup-hook #[0 "\300 \207" [tramp-register-file-name-handlers] 1])
#@251 Register (FUNC . HANDLER) in `tramp-foreign-file-name-handler-alist'.
FUNC is the function, which determines whether HANDLER is to be called.
Add operations defined in `HANDLER-alist' to `tramp-file-name-handler'.

(fn FUNC HANDLER &optional APPEND)
(defalias 'tramp-register-foreign-file-name-handler #[770 "\300\301B#\210\302\303\304\305\306\303\304N\307\310\311\312!\313P!J\"\"!#\207" [add-to-list tramp-foreign-file-name-handler-alist put tramp-file-name-handler operations delete-dups append mapcar car intern symbol-name "-alist"] 14 (#$ . 102809)])
#@79 Check, whether OPERATION runs a file name handler.

(fn OPERATION &rest ARGS)
(defalias 'tramp-exists-file-name-handler #[385 "\3031(\304\211\n\304\305\306\307\310\311\"\312\"\313\314%BC\315\"\232+\266\2020\207\210\316\207" [buffer-file-name default-directory file-name-handler-alist (error) "/" make-byte-code 385 "\301\232\203\207\300\303\")\207" vconcat vector [file-name-handler-alist apply] 5 "Returns OPERATION if it is the one to be checked.\n\n(fn OPERATION &rest ARGS)" apply nil] 13 (#$ . 103376)])
#@65 Unload Tramp file name handlers from `file-name-handler-alist'.
(defalias 'tramp-unload-file-name-handlers #[0 "\211\205#\211@\211A9\203\301\302\303A!\"\203\304\"A\266\202\202\207" [file-name-handler-alist string-prefix-p "tramp-" symbol-name delq] 6 (#$ . 103910)])
(add-hook 'tramp-unload-hook 'tramp-unload-file-name-handlers)
#@77 If non-nil, external packages signal that they are in file name completion.
(defvar tramp-completion-mode nil (#$ . 104259))
(make-obsolete-variable 'tramp-completion-mode 'non-essential "26.1")
#@69 Check, whether method / user name / host name completion is active.
(defalias 'tramp-completion-mode-p #[0 "\206	\207" [non-essential tramp-completion-mode] 1 (#$ . 104460)])
#@197 Check, whether it is possible to connect the remote host w/o side-effects.
This is true, if either the remote host is already connected, or if we are
not in completion mode.

(fn VEC-OR-FILENAME)
(defalias 'tramp-connectable-p #[257 "\302\242>\203\f\202\303!\205\304!\211\203%\305\306\307!!!\206(\310 ?)\207" [cl-struct-tramp-file-name-tags tramp-verbose nil tramp-tramp-file-p tramp-dissect-file-name process-live-p get-process tramp-buffer-name tramp-completion-mode-p] 7 (#$ . 104645)])
#@84 Like `file-name-all-completions' for partial Tramp files.

(fn FILENAME DIRECTORY)
(defalias 'tramp-completion-handle-file-name-all-completions #[514 "\305\306\"!\307\211\211\310\311	\n\312\260\"\203&\313\314\"\262\315\316\307\211\314%\262\317!\211\203\316\211@\211\242>\204=\320\321\322D\"\210\211A@\242>\204N\320\321\322D\"\210\3238\242>\204_\320\321\322D\"\210\3248\242>\204q\320\321\322D\"\210\3258\326#\307C\204\305\204\207\203\274\327\330\331\332\333\334!\335\"\325\336%\337!\"\210\340\n\341\330\331\342\333\334


#\343\"\344\336%\345\307\242\"\"\"\262\n\202\305\340\n\346!\"\262\n\266A\266\202\202)\210\211\203\375\211@\211\203\366\310\"\210\315\fP\307\211$\262\347\305	!G\"B\262A\266\202\202\320\210\340\3501\351\352		D\"0\202\210\307\"\207" [tramp-prefix-regexp tramp-remote-file-name-spec-regexp tramp-postfix-hop-regexp cl-struct-tramp-file-name-tags tramp-prefix-format tramp-drop-volume-letter expand-file-name nil string-match "\\(\\(" "\\)+\\)" match-string 1 replace-match "" tramp-completion-dissect-file-name signal wrong-type-argument tramp-file-name 2 4 6 tramp-find-method mapc make-byte-code 257 "\300\301\300\242@A@!\"\240\207" vconcat vector [append] "\n\n(fn X)" tramp-get-completion-function append mapcar "\303\300\301\302@A@%\207" [tramp-get-completion-user-host] 7 delq tramp-get-completion-methods substring (error) tramp-run-real-handler file-name-all-completions] 25 (#$ . 105156)])
#@99 Like `file-name-completion' for partial Tramp files.

(fn FILENAME DIRECTORY &optional PREDICATE)
(defalias 'tramp-completion-handle-file-name-completion #[770 "\301\302\303\304\305\"\"\205&\306!\205&\307\310\311\312\313		\"\314\"\315\316%#)\207" [non-essential t try-completion mapcar list file-name-all-completions tramp-connectable-p make-byte-code 257 "\301\302@\300\"!\207" vconcat vector [expand-file-name] 5 "\n\n(fn X)"] 13 (#$ . 106659)])
#@129 Return a list of `tramp-file-name' structures for NAME.
They are collected by `tramp-completion-dissect-file-name1'.

(fn NAME)
(defalias 'tramp-completion-dissect-file-name #[257 "\306\307\310G\311U\203	\202\"\n\312\313\260\314\315\211\211\257\n\312\316\f\312
	\313\260	\314\317\315\211\257\n\312\316\f\312\n\313\260	\314\315\317\315\257\n\312\316\f\312\n\f\313\260\n\314\315\317\315\257\n\312\316\f\312
\316\312\313\260
\314\317\320\315\257\n\312\316\f\312
\316\312\313\260\314\317\320\315\257\321\315\322\323\324\325\326\327!\330\"\331\332%						\257\"\"\207" [tramp-postfix-ipv6-format tramp-postfix-host-format tramp-prefix-regexp tramp-method-regexp tramp-postfix-method-regexp tramp-user-regexp "\\|\\(\\)" format "[^%s]*" 0 "\\(" "\\)$" 1 nil "\\)" 2 3 delq mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [tramp-completion-dissect-file-name1] 4 "\n\n(fn STRUCTURE)" tramp-host-regexp tramp-prefix-ipv6-regexp tramp-postfix-user-regexp] 22 (#$ . 107127)])
#@195 Return a `tramp-file-name' structure for NAME matching STRUCTURE.
The structure consists of remote method, remote user,
remote host and localname (filename on remote host).

(fn STRUCTURE NAME)
(defalias 'tramp-completion-dissect-file-name1 #[514 "\300 \301\302\303\304\305!\306\"\307$\216\310@\"\205E\311A@\205#\312A@\"\3138\2050\312\3138\"\314\3078\205@\312\3078\"\314\211\211\257)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match tramp-file-name match-string 2 nil] 11 (#$ . 108161)])
#@72 Return all method completions for PARTIAL-METHOD.

(fn PARTIAL-METHOD)
(defalias 'tramp-get-completion-methods #[257 "\301\302\303\304\305\306!\307\"\310\311%\301\312\"\"\207" [tramp-methods mapcar make-byte-code 257 "\211\205\302\303\300!P\304\305\306#)\266\203\205\307\304\211\211$\207" vconcat vector [inhibit-changing-match-data "^" regexp-quote nil t string-match tramp-completion-make-tramp-file-name] 8 "\n\n(fn METHOD)" car] 8 (#$ . 108739)])
#@177 Return the most expanded string for user and host name completion.
PARTIAL-USER must match USER, PARTIAL-HOST must match HOST.

(fn METHOD PARTIAL-USER PARTIAL-HOST USER HOST)
(defalias 'tramp-get-completion-user-host #[1285 "\2039\2039\211\2030\301\302!P\303\304\305#)\266\203\2030\206&\230\2030\262\202\211\303\262\303\262\202\211\203^\303\262\203X\301\302!P\303\304\305#)\266\203\204\211\303\262\202\211\203\203\303\262\211\203}\301\302!P\303\304\305#)\266\203\204\211\303\262\202\211\303\262\303\262GG\\\306U?\205\232\307\303$\207" [inhibit-changing-match-data "^" regexp-quote nil t string-match 0 tramp-completion-make-tramp-file-name] 12 (#$ . 109210)])
#@213 Return a list of (user host) tuples allowed to access for METHOD.
This function is added always in `tramp-get-completion-function'
for all methods.  Resulting data are derived from default settings.

(fn METHOD)
(defalias 'tramp-parse-default-user-host #[257 "\300\301\211#\302\301\211#DC\207" [tramp-find-user nil tramp-find-host] 6 (#$ . 109936)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable tramp-completion-use-auth-sources funcall function #[0 "\207" [auth-source-do-cache] 1] "Whether to use `auth-source-search' for completion of user and host names.\nThis could be disturbing, if it requires a password / passphrase,\nas for \"~/.authinfo.gpg\"." :version "27.1" :type boolean] 8)
#@213 Return a list of (user host) tuples allowed to access for METHOD.
This function is added always in `tramp-get-completion-function'
for all methods.  Resulting data are derived from default settings.

(fn METHOD)
(defalias 'tramp-parse-auth-sources #[257 "\205\302\303\304\305\306\307\310	&\"\207" [tramp-completion-use-auth-sources most-positive-fixnum mapcar #[257 "\300\301\"\300\302\"D\207" [plist-get :user :host] 5 "\n\n(fn X)"] auth-source-search :port :require (:port) :max] 10 (#$ . 110678)])
#@103 Return a (user host) tuple allowed to access.
User is always nil.

(fn REGEXP MATCH-LEVEL SKIP-CHARS)
(defalias 'tramp-parse-group #[771 "\300\301\302 \303#\203\300\304!D\262\300w\305V\204\306y\210\211\207" [nil re-search-forward point-at-eol t match-string 0 1] 8 (#$ . 111193)])
#@100 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn FILENAME FUNCTION)
(defalias 'tramp-parse-file #[514 "\301\302\303N@!\304!\205<\305\306!r\211q\210\307\310\311\312\313!\314\"\315$\216\316!\210eb\210\317m\2045 B\262\202(\211\237\262*\262)\207" [default-directory eval temporary-file-directory standard-value file-readable-p generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-file-contents-literally nil] 9 (#$ . 111489)])
#@103 Return a list of (user host) tuples allowed to access.
Either user or host may be nil.

(fn FILENAME)
(defalias 'tramp-parse-rhosts #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-rhosts-group] 4 (#$ . 112037)])
#@79 Return a (user host) tuple allowed to access.
Either user or host may be nil.
(defalias 'tramp-parse-rhosts-group #[0 "\302\303\304	\305\260\306\307 \310#\203\311\312\313!\312\314!D!\262\314y\210\207" [tramp-host-regexp tramp-user-regexp nil "^\\(" "\\)\\([ 	]+\\(" "\\)\\)?" re-search-forward point-at-eol t append match-string 3 1] 6 (#$ . 112261)])
#@91 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn FILENAME)
(defalias 'tramp-parse-shosts #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-shosts-group] 4 (#$ . 112626)])
#@67 Return a (user host) tuple allowed to access.
User is always nil.
(defalias 'tramp-parse-shosts-group #[0 "\301\302\303Q\304\305#\207" [tramp-host-regexp tramp-parse-group "^\\(" "\\)" 1 ","] 4 (#$ . 112838)])
#@91 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn FILENAME)
(defalias 'tramp-parse-sconfig #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-sconfig-group] 4 (#$ . 113055)])
#@67 Return a (user host) tuple allowed to access.
User is always nil.
(defalias 'tramp-parse-sconfig-group #[0 "\301\302\303Q\304\305#\207" [tramp-host-regexp tramp-parse-group "\\(?:^[ 	]*Host\\)\\|\\(?:^.+\\)\\|\\(" "\\)" 1 " 	"] 4 (#$ . 113269)])
#@97 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn DIRNAME REGEXP)
(defalias 'tramp-parse-shostkeys-sknownhosts #[514 "\301\302\303N@!\304!\205\305!\211\306\211:\203;@\262\307\310\"\2044\307\"\2034\306\311\312\"DB\262A\262\202\211\237\266\203)\207" [default-directory eval temporary-file-directory standard-value file-directory-p directory-files nil string-match "^\\.\\.?$" match-string 1] 10 (#$ . 113522)])
#@90 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn DIRNAME)
(defalias 'tramp-parse-shostkeys #[257 "\301\302\303Q\"\207" [tramp-host-regexp tramp-parse-shostkeys-sknownhosts "^key_[0-9]+_\\(" "\\)\\.pub$"] 6 (#$ . 113988)])
#@90 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn DIRNAME)
(defalias 'tramp-parse-sknownhosts #[257 "\301\302\303Q\"\207" [tramp-host-regexp tramp-parse-shostkeys-sknownhosts "^\\(" "\\)\\.ssh-\\(dss\\|rsa\\)\\.pub$"] 6 (#$ . 114249)])
#@91 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn FILENAME)
(defalias 'tramp-parse-hosts #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-hosts-group] 4 (#$ . 114523)])
#@67 Return a (user host) tuple allowed to access.
User is always nil.
(defalias 'tramp-parse-hosts-group #[0 "\302\303\304	\305\260\306\307#\207" [tramp-ipv6-regexp tramp-host-regexp tramp-parse-group "^\\(" "\\|" "\\)" 1 " 	"] 6 (#$ . 114733)])
#@99 Return a list of (user host) tuples allowed to access.
Host is always "localhost".

(fn FILENAME)
(defalias 'tramp-parse-passwd #[257 "\300\301\302\303#\211\303=\203Y\304\305!\203M\306\307!r\211q\210\310\311\312\313\314!\315\"\316$\216\317\301\305\301\320\301\321&\311U\205Geb\210\301m\204C\322 B\262\2026\211\237\262*\262\202Q\323\324\"\262\325\301\302#\210\211\207" [tramp-get-connection-property nil "parse-passwd" undef executable-find "getent" generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 tramp-call-process t "passwd" tramp-parse-etc-group-group tramp-parse-file tramp-parse-passwd-group tramp-set-connection-property] 10 (#$ . 114983)])
#@75 Return a (user host) tuple allowed to access.
Host is always "localhost".
(defalias 'tramp-parse-passwd-group #[0 "\301\302\303Q\304\305 \306#\203\307\310!\311D\262\310y\210\207" [tramp-user-regexp nil "^\\(" "\\):" re-search-forward point-at-eol t match-string 1 "localhost"] 6 (#$ . 115724)])
#@100 Return a list of (group host) tuples allowed to access.
Host is always "localhost".

(fn FILENAME)
(defalias 'tramp-parse-etc-group #[257 "\300\301\302\303#\211\303=\203Y\304\305!\203M\306\307!r\211q\210\310\311\312\313\314!\315\"\316$\216\317\301\305\301\320\301\321&\311U\205Geb\210\301m\204C\322 B\262\2026\211\237\262*\262\202Q\323\322\"\262\324\301\302#\210\211\207" [tramp-get-connection-property nil "parse-group" undef executable-find "getent" generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 tramp-call-process t "group" tramp-parse-etc-group-group tramp-parse-file tramp-set-connection-property] 10 (#$ . 116032)])
#@76 Return a (group host) tuple allowed to access.
Host is always "localhost".
(defalias 'tramp-parse-etc-group-group #[0 "\300\301`\302 {\303\"\304 \301\3058\306\307#\235\203\211@\310D\262\311y\210\207" [nil split-string point-at-eol ":" user-login-name 3 "," omit "localhost" 1] 7 (#$ . 116750)])
#@88 Return a list of (user host) tuples allowed to access.
User may be nil.

(fn FILENAME)
(defalias 'tramp-parse-netrc #[257 "\300\301\302\"\210\303\304\301!\"\207" [autoload netrc-parse "netrc" mapcar #[257 "\300\301\"\205\300\302\"A\300\301\"AD\207" [assoc "machine" "login"] 5 "\n\n(fn ITEM)"]] 5 (#$ . 117056)])
#@102 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn REGISTRY-OR-DIRNAME)
(defalias 'tramp-parse-putty #[257 "\302=\203W\303\304\305\306#\211\306=\203U\307\310!r\211q\210\311\312\313\314\315!\316\"\317$\216\320\304\321\304\322\304\323	&\312U\205Jeb\210\304m\204F\324!B\262\2028\211\237\262*\262\262\325\304\305#\210\211\207\326\327	\330Q\"\207" [system-type tramp-host-regexp windows-nt tramp-get-connection-property nil "parse-putty" undef generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 tramp-call-process "reg" t "query" tramp-parse-putty-group tramp-set-connection-property tramp-parse-shostkeys-sknownhosts "^\\(" "\\)$"] 11 (#$ . 117382)])
#@82 Return a (user host) tuple allowed to access.
User is always nil.

(fn REGISTRY)
(defalias 'tramp-parse-putty-group #[257 "\300\301!\302P\303\304 \305#\203\300\306\307!D\262\307y\210\207" [nil regexp-quote "\\\\\\(.+\\)" re-search-forward point-at-eol t match-string 1] 7 (#$ . 118151)])
#@71 Normal hook to be run at the end of `tramp-*-handle-file-local-copy'.
(defvar tramp-handle-file-local-copy-hook nil (#$ . 118451))
#@68 Normal hook to be run at the end of `tramp-*-handle-write-region'.
(defvar tramp-handle-write-region-hook nil (#$ . 118588))
#@59 Like `access-file' for Tramp files.

(fn FILENAME STRING)
(defalias 'tramp-handle-access-file #[514 "\306\307!!?\205\343\310!\311D\312\211\313Y\205\f\211\203\333\211\313\314\315\316!\317\216\f\320 \210)r\fq\210\321 +C\3221\324X\205\316\n\203q\323X\203q\324\325\326U\203W\327\202l\330U\203a\327\202l\331U\203k\332\202l\333P#\210\334Y\205\316\326\330U\203\256\3351\251r\336!\203\220\337!\202\224\340\341\"q\210\314P\262\342\321 C\"\211\262)0\202\255\210\202\256\210\336!\203\272\343\344\"\262)\242
>\205\316\324\345\346\347\"P$0\266\205\202\210\312\266\205\2026r\350\351!q\210p\352 \2106\312\21178\353\2119\353:;\354 \210\355\356!\210+\211\320 \357!\210)\266\202\262\210\211\204C\262\360\262\203\323\330\360\361\211\362N\324\363		#E!C\3221\316X\205\310\n\203k\323X\203k\324\325\326U\203Q\327\202f\330U\203[\327\202f\331U\203e\332\202f\333P#\210\334Y\205\310\326\330U\203\250\3351\243r\336!\203\212\337!\202\216\340\341\"q\210\314P\262\342\321 C\"\211\262)0\202\247\210\202\250\210\336!\203\264\343\344\"\262)\242
>\205\310\324\345\346\347\"P$0\266\204\202\322\210\312\266\204\210\364\365\324\363#!C\"*\266\204\207" [tramp-file-missing signal-hook-function tramp-message-show-message tramp-verbose standard-output cl-struct-tramp-file-name-tags file-readable-p file-truename tramp-dissect-file-name "%s: No such file or directory %s" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal substring-no-properties default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 17 (#$ . 118719)])
#@96 Like `add-name-to-file' for Tramp files.

(fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS)
(defalias 'tramp-handle-add-name-to-file #[770 "\306\307!\203\202\f!\211\242>\204\310\311\312D\"\210\211A@\242>\204,\310\311\312D\"\210\3138\242>\204=\310\311\312D\"\210\3148\242>\204O\310\311\312D\"\210\3158\242>\204a\310\311\312D\"\210\3168\242>\204s\310\311\312D\"\210\3178\242>\204\207\310\311\312	D\"\210\3208\321\"\204j\322\323\324C\325\211\326Y\205\223\211\203d\211\326\327\330\331!\332\216\f\333 \210)r\fq\210\334 +C\3351]X\205W\n\203\372\314X\203\372\336\337\340U\203\340\341\202\365\342U\203\352\341\202\365\313U\203\364\343\202\365\344P#\210\315Y\205W\340\342U\2037\34512r\346!\203\347!\202\350\351\"q\210\327P\262\352\334 C\"\211\262)0\2026\210\2027\210\346!\203C\353\354\"\262)\242>\205W\336\355\356\357\"P$0\266\205\202\225\210\325\266\205\202\225
r\360\361!q\210p\362 \210\325\211@A\363\211B\363CD\364 \210\365\366!\210+\211\333 \367!\210)\266\202\262\210\211\204\241C\262\370\262\203Z\342\370\371\211\372N\336\373		#E!C\3351UX\205O\n\203\362\314X\203\362\336\337\340U\203\330\341\202\355\342U\203\342\341\202\355\313U\203\354\343\202\355\344P#\210\315Y\205O\340\342U\203/\3451*r\346!\203\347!\202\350\351\"q\210\327P\262\352\334 C\"\211\262)0\202.\210\202/\210\346!\203;\353\354\"\262)\242>\205O\336\355\356\357\"P$0\266\204\202Y\210\325\266\204\210\310\374\336\373#!C\"*\266\375\n!\203g\203\205\247\203`\376\356\377\"!\204`\201E\325\211\211\326Y\205\206\211\203W\211\326\327\330\331!\332\216\f\333 \210)r\fq\210\334 +C\3351PX\205J\n\203\355\314X\203\355\336\337\340U\203\323\341\202\350\342U\203\335\341\202\350\313U\203\347\343\202\350\344P#\210\315Y\205J\340\342U\203*\3451%r\346!\203\f\347!\202\350\351\"q\210\327P\262\352\334 C\"\211\262)0\202)\210\202*\210\346!\2036\353\354\"\262)\242>\205J\336\355\356\357\"P$0\266\205\202\210\210\325\266\205\202\210
r\360\361!q\210p\362 \210\325\211@A\363\211B\363CD\364 \210\365\366!\210+\211\333 \367!\210)\266\202\262\210\211\204\224C\262\370\262\203M\342\370\371\211\372N\336\373		#E!C\3351HX\205B\n\203\345\314X\203\345\336\337\340U\203\313\341\202\340\342U\203\325\341\202\340\313U\203\337\343\202\340\344P#\210\315Y\205B\340\342U\203\"\3451r\346!\203\347!\202\350\351\"q\210\327P\262\352\334 C\"\211\262)0\202!\210\202\"\210\346!\203.\353\354\"\262)\242>\205B\336\355\356\357\"P$0\266\204\202L\210\325\266\204\210\310\374\336\373#!C\"*\266\202g\201F\n!\210\201G\"\210\201H\201I\201J\201K\201L&\207" [cl-struct-tramp-file-name-tags signal-hook-function tramp-message-show-message tramp-verbose standard-output default-directory tramp-dissect-file-name tramp-tramp-file-p signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-equal-remote file-error "add-name-to-file: %s" "only implemented for same method, same user, same host" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) apply message 0 "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message substring-no-properties file-exists-p yes-or-no-p "File %s already exists; make it a link anyway? " buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only file-already-exists delete-file tramp-flush-file-properties copy-file ok-if-already-exists keep-time preserve-uid-gid preserve-permissions] 26 (#$ . 120874)])
#@106 Like `copy-directory' for Tramp files.

(fn DIRECTORY NEWNAME &optional KEEP-DATE PARENTS COPY-CONTENTS)
(defalias 'tramp-handle-copy-directory #[1282 "\306!\204\340\307!\310C\311\211\312Y\205	\211\203\330\211\312\313\314\315!\316\216\f\317 \210)r\fq\210\320 +C\3211\321X\205\313\n\203n\322X\203n\323\324\325U\203T\326\202i\327U\203^\326\202i\330U\203h\331\202i\332P#\210\333Y\205\313\325\327U\203\253\3341\246r\335!\203\215\336!\202\221\337\340\"q\210\313P\262\341\320 C\"\211\262)0\202\252\210\202\253\210\335!\203\267\342\343\"\262)\242
>\205\313\323\344\345\346\"P$0\266\205\202\210\311\266\205\2027r\347\350!q\210p\351 \2107\311\21189\352\211:\352;<\353 \210\354\355!\210+\211\317 \356!\210)\266\202\262\210\211\204C\262\357\262\203\320\327\357\360\211\361N\323\362		#E!C\3211\313X\205\305\n\203h\322X\203h\323\324\325U\203N\326\202c\327U\203X\326\202c\330U\203b\331\202c\332P#\210\333Y\205\305\325\327U\203\245\3341\240r\335!\203\207\336!\202\213\337\340\"q\210\313P\262\341\320 C\"\211\262)0\202\244\210\202\245\210\335!\203\261\342\343\"\262)\242
>\205\305\323\344\345\346\"P$0\266\204\202\317\210\311\266\204\210\363\364\323\362#!C\"*\266\365\366\257\"\207" [tramp-file-missing signal-hook-function tramp-message-show-message tramp-verbose standard-output cl-struct-tramp-file-name-tags file-exists-p tramp-dissect-file-name "No such file or directory" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal substring-no-properties tramp-run-real-handler copy-directory default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 20 (#$ . 124897)])
#@61 Like `directory-file-name' for Tramp files.

(fn DIRECTORY)
(defalias 'tramp-handle-directory-file-name #[257 "\301!\211\242>\204\302\303\304D\"\210\211A@\242>\204\"\302\303\304D\"\210\3058\242>\2043\302\303\304D\"\210\3068\242>\204E\302\303\304D\"\210\3078\242>\204W\302\303\304D\"\210\3108\242>\204i\302\303\304D\"\210\3118\242>\204}\302\303\304	D\"\210\3128G\313U?\205\227\211GSH\314=\205\227\315\230?\266\210\203\246\316\313\317#\262\202\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 0 47 "/" substring -1] 12 (#$ . 127133)])
#@91 Like `directory-files' for Tramp files.

(fn DIRECTORY &optional FULL MATCH NOSORT COUNT)
(defalias 'tramp-handle-directory-files #[1281 "\306!\204\340\307!\310C\311\211\312Y\205	\211\203\330\211\312\313\314\315!\316\216\f\317 \210)r\fq\210\320 +C\3211\321X\205\313\n\203n\322X\203n\323\324\325U\203T\326\202i\327U\203^\326\202i\330U\203h\331\202i\332P#\210\333Y\205\313\325\327U\203\253\3341\246r\335!\203\215\336!\202\221\337\340\"q\210\313P\262\341\320 C\"\211\262)0\202\252\210\202\253\210\335!\203\267\342\343\"\262)\242
>\205\313\323\344\345\346\"P$0\266\205\202\210\311\266\205\202=r\347\350!q\210p\351 \210=\311\211>?\352\211@\352AB\353 \210\354\355!\210+\211\317 \356!\210)\266\202\262\210\211\204C\262\357\262\203\320\327\357\360\211\361N\323\362		#E!C\3211\313X\205\305\n\203h\322X\203h\323\324\325U\203N\326\202c\327U\203X\326\202c\330U\203b\331\202c\332P#\210\333Y\205\305\325\327U\203\245\3341\240r\335!\203\207\336!\202\213\337\340\"q\210\313P\262\341\320 C\"\211\262)0\202\244\210\202\245\210\335!\203\261\342\343\"\262)\242
>\205\305\323\344\345\346\"P$0\266\204\202\317\210\311\266\204\210\363\364\323\362#!C\"*\266\365!\205;\366\367!!\262\370\326\"\237\311\211\203-\371\211A\262\242!\262\203\311\352C\372#)\266\203\203\366\203%P\202&\211B\262\202\366\2035\2029\373\374\"\266\203\207" [tramp-file-missing signal-hook-function tramp-message-show-message tramp-verbose standard-output cl-struct-tramp-file-name-tags file-exists-p tramp-dissect-file-name "No such file or directory" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal substring-no-properties file-directory-p file-name-as-directory expand-file-name file-name-all-completions directory-file-name string-match sort string< default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only inhibit-changing-match-data] 20 (#$ . 127790)])
#@116 Like `directory-files-and-attributes' for Tramp files.

(fn DIRECTORY &optional FULL MATCH NOSORT ID-FORMAT COUNT)
(defalias 'tramp-handle-directory-files-and-attributes #[1537 "\300\301\302\303\304\305	#\306\"\307\310%\311$\"\207" [mapcar make-byte-code 257 "\211\303\301\203\n\202\304\300\"\302\"B\207" vconcat vector [file-attributes expand-file-name] 6 "\n\n(fn X)" directory-files] 15 (#$ . 130308)])
#@49 Like `dired-uncache' for Tramp files.

(fn DIR)
(defalias 'tramp-handle-dired-uncache #[257 "\301\302!\203\202\303!!\211\242>\204\304\305\306D\"\210\211A@\242>\204.\304\305\306D\"\210\3078\242>\204?\304\305\306D\"\210\3108\242>\204Q\304\305\306D\"\210\3118\242>\204c\304\305\306D\"\210\3128\242>\204u\304\305\306D\"\210\3138\242>\204\211\304\305\306	D\"\210\3148\315\"\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name file-directory-p file-name-directory signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-directory-properties] 12 (#$ . 130738)])
#@67 Like `expand-file-name' for Tramp files.

(fn NAME &optional DIR)
(defalias 'tramp-handle-expand-file-name #[513 "\211\206	\206	\302\262G\303U\203\304\262\305!\204\"\306!P\262\307!\204/\310\311\312D\"\207\313!\211\242	>\204@\314\315\316D\"\210\211A@\242	>\204Q\314\315\316D\"\210\3178\242	>\204b\314\315\316D\"\210\3208\242	>\204t\314\315\316D\"\210\3218\242	>\204\206\314\315\316D\"\210\3228\242	>\204\230\314\315\316D\"\210\3238\242	>\204\254\314\315\316	D\"\210\3248\310\305C\"\204\275\302P\262\325\326\327N@!\330\331\310\311C\"!\")\207" [default-directory cl-struct-tramp-file-name-tags "/" 0 "." file-name-absolute-p file-name-as-directory tramp-tramp-file-p tramp-run-real-handler expand-file-name nil tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 eval temporary-file-directory standard-value tramp-make-tramp-file-name tramp-drop-volume-letter] 16 (#$ . 131369)])
#@68 Like `file-accessible-directory-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-accessible-directory-p #[257 "\300!\205	\301!\207" [file-directory-p file-readable-p] 3 (#$ . 132337)])
#@57 Like `file-directory-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-directory-p #[257 "\300\301!!\211@\262\302=\207" [file-attributes file-truename t] 4 (#$ . 132546)])
#@65 Like `file-equalp-p' for Tramp files.

(fn FILENAME1 FILENAME2)
(defalias 'tramp-handle-file-equal-p #[514 "\300\301!\301!\"\205\302\303D\"\207" [tramp-equal-remote expand-file-name tramp-run-real-handler file-equal-p] 6 (#$ . 132740)])
#@54 Like `file-exists-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-exists-p #[257 "\300!\205\301!??\207" [tramp-connectable-p file-attributes] 3 (#$ . 132989)])
#@70 Like `file-in-directory-p' for Tramp files.

(fn FILENAME DIRECTORY)
(defalias 'tramp-handle-file-in-directory-p #[514 "\300\301!\301!\"\205\302\303D\"\207" [tramp-equal-remote expand-file-name tramp-run-real-handler file-in-directory-p] 6 (#$ . 133175)])
#@56 Like `file-local-copy' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-local-copy #[257 "\306!\211\242>\204\307\310\311D\"\210\211A@\242>\204\"\307\310\311D\"\210\3128\242>\2043\307\310\311D\"\210\3138\242>\204E\307\310\311D\"\210\3148\242>\204W\307\310\311D\"\210\3158\242>\204i\307\310\311D\"\210\3168\242>\204}\307\310\311	D\"\210\3178\320	!\204a	\321C\322\211\f\323Y\205\212\211\203Y\211\323\324\325\326!\327\216
\330 \210)r
q\210\331 +C\3321R\fX\205L\203\357\313X\203\357\333\334\335U\203\325\336\202\352\337U\203\337\336\202\352\312U\203\351\340\202\352\341P#\210\f\314Y\205L\335\337U\203,\3421'r\343!\203\344!\202\345\346\"q\210\324P\262\347\331 C\"\211\262)0\202+\210\202,\210\343!\2038\350\351\"\262)\242>\205L\333\352\353\354\"P$0\266\205\202\214\210\322\266\205\202\214@r\355\356!q\210p\357 \210@\322\211AB\360\211C\360DE\361 \210\362\363!\210+\211\330 \364!\210)\266\202\262\210\211\204\230C\262\365\262\203Q\337\365\366\211\367N\333\370		#E!C\3321L\fX\205F\203\351\313X\203\351\333\334\335U\203\317\336\202\344\337U\203\331\336\202\344\312U\203\343\340\202\344\341P#\210\f\314Y\205F\335\337U\203&\3421!r\343!\203\344!\202\f\345\346\"q\210\324P\262\347\331 C\"\211\262)0\202%\210\202&\210\343!\2032\350\351\"\262)\242>\205F\333\352\353\354\"P$0\266\204\202P\210\322\266\204\210\307\371\333\370#!C\"*\266\322\211F\372\373J\374\375\376N@!\"\377\360\"\201G#)\266\204\201H\n\201I\201J$\210\211\262\207" [cl-struct-tramp-file-name-tags tramp-file-missing signal-hook-function tramp-message-show-message tramp-verbose standard-output tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p "Cannot make local copy of non-existing file `%s'" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) apply message 0 "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message substring-no-properties expand-file-name tramp-temp-name-prefix eval temporary-file-directory standard-value file-name-extension default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only file-name-handler-alist make-temp-file copy-file ok-if-already-exists keep-time] 24 (#$ . 133443)])
#@66 Like `file-modes' for Tramp files.

(fn FILENAME &optional FLAG)
(defalias 'tramp-handle-file-modes #[513 "\300\301!\206!\211\205\302\3038\262!\207" [file-attributes file-truename tramp-mode-string-to-int 8] 7 (#$ . 136191)])
#@59 Like `file-name-as-directory' for Tramp files.

(fn FILE)
(defalias 'tramp-handle-file-name-as-directory #[257 "\301\302\"\303\211\242>\204\304\305\306D\"\210\3078G\310U\203$\311!?\206:\312\313\242>\2045\304\305\306D\"\210\3078C\"\"\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name t tramp-make-tramp-file-name signal wrong-type-argument tramp-file-name 6 0 tramp-connectable-p tramp-run-real-handler file-name-as-directory] 10 (#$ . 136432)])
#@69 Like `file-name-case-insensitive-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-name-case-insensitive-p #[257 "\306!\262\307!\211\242>\204\310\311\312D\"\210\211A@\242>\204'\310\311\312D\"\210\3138\242>\2048\310\311\312D\"\210\3148\242>\204J\310\311\312D\"\210\3158\242>\204\\\310\311\312D\"\210\3168\242>\204n\310\311\312D\"\210\3178\242>\204\202\310\311\312	D\"\210\3208\321\322\"\206f\323	\324\325#\205f\326\327\330#\211\330=\203c\3311V\316\332\333C\3341J	X\205D\n\203\347\314X\203\347\335\336\337U\203\315\340\202\342\341U\203\327\340\202\342\313U\203\341\342\202\342\343P#\210	\315Y\205D\337\341U\203$\3441r\345!\203\346!\202\n\347\350\"q\210\351P\262\352\353 C\"\211\262)0\202#\210\202$\210\345!\2030\354\355\"\262)\242>\205D\335\356\357\360\"P$0\266\204\202N\210\324\266\204\210\361C\n\205n\316	\314^X\205n\362\333\324\211#\211\205l\363\314\364\365$\262\366\337\367\370\355#\371\"\372$\216\373\f!\324\211?\205\212\374!\211\211?\205\226\375\376\374!\")\266\202\203\266\211G\313U\203\256\377\202\264\201@\313\"\262\323!P)\266\203\324C\201A\201B!\324\201C\201D#)\266\203\203\356\201E!\204\356\373\201F!!\262\202\300\201A\201B!\324\201C\201D#)\266\203\204(\211\201F!\201G\201H!\205!\201H\201I!)\240\210\211\242\262\366\337\201J\370\355!\201K\"\313$\216\201E\323!\201B!\226P!)\266\202\201L\240\210)\266\2020\202X\210\324\262\201M	\327#\210\211\262\207" [cl-struct-tramp-file-name-tags tramp-verbose tramp-message-show-message file-name-handler-alist inhibit-changing-match-data default-directory expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-get-method-parameter tramp-case-insensitive file-remote-p nil connected tramp-get-connection-property "case-insensitive" undef (error) "%s..." #1="Checking case-insensitive" #2=(error) apply message 0 #3="" 1 #4="Warning: " #5="Tramp: " #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string process-get vector tramp-debug-message format #8="(%d) # " "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update make-byte-code "\302\203\306\302!\210\300\307\310\311\301\242D\3121\250X\205\246\f\203I\313X\203I\314\315\316U\203/\317\202D\320U\2039\317\202D\321U\203C\322\202D\323P#\210\324Y\205\246\316\320U\203\206\3251\201r\326!\203h\327!\202l\330\331\"q\210\332P\262\333\334 C\"\211\262)0\202\205\210\202\206\210\326!\203\222\335\336\"\262)\242
>\205\246\314\337\340\341\"P$0\207\210\342\207" vconcat [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags cancel-timer 5 "%s...%s" #1# #2# 3 apply message 0 #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message format #8# nil] 10 directory-file-name file-local-name string-prefix-p "/:" "/" substring "[a-z]" tramp-file-local-name t string-match file-exists-p file-name-directory functionp make-nearby-temp-file "tramp." "\300\242\205	\301\300\242!\207" [delete-file] "done" tramp-set-connection-property] 21 (#$ . 136910)])
#@91 Like `file-name-completion' for Tramp files.

(fn FILENAME DIRECTORY &optional PREDICATE)
(defalias 'tramp-handle-file-name-completion #[770 "\300C\300\301\"\262\211:\203$\302\303\302\304\"\"G\305U\203$\302\303\302\304\"\"\262\306\307\310\311\312\313#\314\"\315\316%#\206A\306\242\"\207" [nil file-name-all-completions delete "./" "../" 1 try-completion make-byte-code 257 "\301\206\305\306\300\"!\205-\205,\307\310\"\311P\312\313\314#)\266\203\205,\302\302\242B\240?\207" vconcat vector [completion-ignored-extensions inhibit-changing-match-data identity expand-file-name regexp-opt paren "$" nil t string-match] 8 "\n\n(fn X)"] 16 (#$ . 140225)])
#@56 Like `file-name-directory' for Tramp files.

(fn FILE)
(defalias 'tramp-handle-file-name-directory #[257 "\301\302\"\303\304\305\242>\204\306\307\310D\"\210\3118C\"\206 \312\"\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name t tramp-make-tramp-file-name tramp-run-real-handler file-name-directory signal wrong-type-argument tramp-file-name 6 noloc] 10 (#$ . 140913)])
#@59 Like `file-name-nondirectory' for Tramp files.

(fn FILE)
(defalias 'tramp-handle-file-name-nondirectory #[257 "\301!\211\242>\204\302\303\304D\"\210\211A@\242>\204\"\302\303\304D\"\210\3058\242>\2043\302\303\304D\"\210\3068\242>\204E\302\303\304D\"\210\3078\242>\204W\302\303\304D\"\210\3108\242>\204i\302\303\304D\"\210\3118\242>\204}\302\303\304	D\"\210\3128\313\314C\"\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-run-real-handler file-name-nondirectory] 12 (#$ . 141309)])
#@66 Like `file-newer-than-file-p' for Tramp files.

(fn FILE1 FILE2)
(defalias 'tramp-handle-file-newer-than-file-p #[514 "\300!\204\301\207\300!\204\302\207\303\304!\3058\262\304!\3058\262\"\207" [file-exists-p nil t time-less-p file-attributes 5] 7 (#$ . 141912)])
#@55 Like `file-regular-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-regular-p #[257 "\300!\205\3011\302!\3038\262\304H\305=0\207\210\306\207" [file-exists-p (error) file-attributes 8 0 45 nil] 4 (#$ . 142193)])
#@89 Like `file-remote-p' for Tramp files.

(fn FILENAME &optional IDENTIFICATION CONNECTED)
(defalias 'tramp-handle-file-remote-p #[769 "\302^\303!\205\335\304!\305!\306!\205\307\310\311#\304\203'\312!\202)!\211\242	>\2048\313\314\315D\"\210\211A@\242	>\204I\313\314\315D\"\210\3168\242	>\204Z\313\314\315D\"\210\3028\242	>\204l\313\314\315D\"\210\3178\242	>\204~\313\314\315D\"\210\3208\242	>\204\220\313\314\315D\"\210\3218\242	>\204\244\313\314\315	D\"\210\3228\203\262\205\331\f\323\267\202\324\202\331\324!\202\331\325!\202\331\202\331\211\202\331\326\327\"\266\210\266\203)\207" [tramp-verbose cl-struct-tramp-file-name-tags 3 tramp-tramp-file-p tramp-dissect-file-name tramp-get-connection-process process-live-p tramp-get-connection-property "connected" nil expand-file-name signal wrong-type-argument tramp-file-name 2 4 5 6 7 #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (method 185 user 190 host 197 localname 204 hop 208)) tramp-file-name-user-domain tramp-file-name-host-port tramp-make-tramp-file-name noloc] 17 (#$ . 142433)])
#@61 Like `file-selinux-context' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-selinux-context #[257 "\300\207" [(nil nil nil nil)] 2 (#$ . 143588)])
#@55 Like `file-symlink-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-symlink-p #[257 "\300!\211@\262\211;\205
\211\207" [file-attributes] 3 (#$ . 143754)])
#@54 Like `file-truename' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-truename #[257 "\306!\203\n\307\202\310\311\211?\205\312\313\314!\")\266\202\203$\315\202%\310\316!\311\211?\205/\314!\211\211?\205;\312\313\314!\")\266\202\203Y\211G\317U\203S\320\202W\321\317\"\262\322!P)\266\203\323\324\311\325!\211\242	>\204u\326\327\330D\"\210\211A@\242	>\204\206\326\327\330D\"\210\3178\242	>\204\227\326\327\330D\"\210\3318\242	>\204\251\326\327\330D\"\210\3328\242	>\204\273\326\327\330D\"\210\3338\242	>\204\315\326\327\330D\"\210\3348\242	>\204\341\326\327\330	D\"\210\3358\336\337!\203\340\n\341\342$\211\342=\203\f\343!\211\262
\203\365

W\203\365
T\262\325\316!!\211\242	>\204&\326\327\330D\"\210\211A@\242	>\2047\326\327\330D\"\210\3178\242	>\204H\326\327\330D\"\210\3318\242	>\204Z\326\327\330D\"\210\3328\242	>\204l\326\327\330D\"\210\3338\242	>\204~\326\327\330D\"\210\3348\242	>\204\222\326\327\330	D\"\210\3358\336;\203\342\322!\203\327\344\211?\205\257\211?\205\270\312\313\314!\")\266\202\203\311\202\321\322!\313\314!Q)\266\202\202\343\316\345!\"\202\343\346#\266\210\262

Y\203\373\n\347\350C\311\211\f\351Y\205	\211\203\306\211\351\352\353\354!\355\216
\356 \210)r
q\210\357 +C\3601\277\fX\205\271\203X\331X\203X\361\362\323U\203>\363\202S\364U\203H\363\202S\317U\203R\365\202S\366P#\210\f\332Y\205\271\323\364U\203\225\3671\220r\370!\203w\371!\202{\372\373\"q\210\352P\262\374\357 C\"\211\262)0\202\224\210\202\225\210\370!\203\241\375\376\"\262)\242	>\205\271\361\377\201F\201G\"P$0\266\205\202\210\311\266\205\202@r\201H\201I!q\210p\201J \210@\311\211AB\201K\211C\201KDE\201L \210\201M\201N!\210+\211\356 \201O!\210)\266\202\262\210\211\204C\262\201P\262\203\336\364\201P\201Q\211\201RN\361\201S		#E!C\3601\331\fX\205\323\203r\331X\203r\361\362\323U\203X\363\202m\364U\203b\363\202m\317U\203l\365\202m\366P#\210\f\332Y\205\323\323\364U\203\257\3671\252r\370!\203\221\371!\202\225\372\373\"q\210\352P\262\374\357 C\"\211\262)0\202\256\210\202\257\210\370!\203\273\375\376\"\262)\242	>\205\323\361\377\201F\201G\"P$0\266\204\202\335\210\311\266\204\210\326\201T\361\201S#!C\"*\266\202\373\201U\201V!!\262\201W\341$\210\211\262\202\343!\211\262\f\203\f\f\fW\203\f\fT\262
\325\316!!\211\242	>\204=\326\327\330D\"\210\211A@\242	>\204N\326\327\330D\"\210\3178\242	>\204_\326\327\330D\"\210\3318\242	>\204q\326\327\330D\"\210\3328\242	>\204\203\326\327\330D\"\210\3338\242	>\204\225\326\327\330D\"\210\3348\242	>\204\251\326\327\330	D\"\210\3358\336;\203\371\322!\203\356\344\211?\205\306\211?\205\317\312\313\314!\")\266\202\203\340\202\350\322!\313\314!Q)\266\202\202\372\316\345!\"\202\372\346#\266\210\262\f\fY\203	\347\350C\311\211\f\351Y\205 \211\203\335\211\351\352\353\354!\355\216
\356 \210)r
q\210\357 +C\3601\326\fX\205\320\203o\331X\203o\361\362\323U\203U\363\202j\364U\203_\363\202j\317U\203i\365\202j\366P#\210\f\332Y\205\320\323\364U\203\254\3671\247r\370!\203\216\371!\202\222\372\373\"q\210\352P\262\374\357 C\"\211\262)0\202\253\210\202\254\210\370!\203\270\375\376\"\262)\242	>\205\320\361\377\201F\201G\"P$0\266\205\202\"\210\311\266\205\202\"@r\201H\201I!q\210p\201J \210@\311\211AB\201K\211C\201KDE\201L \210\201M\201N!\210+\211\356 \201O!\210)\266\202\262\210\211\2040C\262\201P\262\203\365\364\201P\201Q\211\201RN\361\201S		#E!C\3601\360\fX\205\352\203\211\331X\203\211\361\362\323U\203o\363\202\204\364U\203y\363\202\204\317U\203\203\365\202\204\366P#\210\f\332Y\205\352\323\364U\203\306\3671\301r\370!\203\250\371!\202\254\372\373\"q\210\352P\262\374\357 C\"\211\262)0\202\305\210\202\306\210\370!\203\322\375\376\"\262)\242	>\205\352\361\377\201F\201G\"P$0\266\204\202\364\210\311\266\204\210\326\201T\361\201S#!C\"*\266\202\201U\201V!!\"\266\210\266\204!!\207" [file-name-handler-alist cl-struct-tramp-file-name-tags signal-hook-function tramp-message-show-message tramp-verbose standard-output tramp-compat-directory-name-p file-name-as-directory identity nil string-prefix-p "/:" file-local-name tramp-compat-file-name-quote expand-file-name 2 "/" substring file-remote-p 0 20 tramp-dissect-file-name signal wrong-type-argument tramp-file-name 3 4 5 6 7 tramp-make-tramp-file-name file-name-absolute-p tramp-get-file-property "file-truename" undef file-symlink-p top file-name-directory nohop file-error "Maximum number (%d) of symlinks exceeded" 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) apply message "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message substring-no-properties tramp-file-local-name directory-file-name tramp-set-file-property] 36 (#$ . 143933)])
#@56 Like `file-writable-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-writable-p #[257 "\301!\211\242>\204\302\303\304D\"\210\211A@\242>\204\"\302\303\304D\"\210\3058\242>\2043\302\303\304D\"\210\3068\242>\204E\302\303\304D\"\210\3078\242>\204W\302\303\304D\"\210\3108\242>\204i\302\303\304D\"\210\3118\242>\204}\302\303\304	D\"\210\3128\313!\203\302\314\315\316$\211\316=\203\274\317\n!\203\243\320	\321\"\202\262\322\323!!\205\262\324\323!!\262\325	\315$\210\211\262\202\340\317	!\203\321\320\321\"\202\340\322\323\n!!\205\340\324\323\n!!\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property "file-writable-p" undef file-exists-p tramp-check-cached-permissions 119 file-directory-p file-name-directory file-writable-p tramp-set-file-property] 15 (#$ . 149511)])
#@62 Like `find-backup-file-name' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-find-backup-file-name #[257 "\303!\211\242>\204\304\305\306D\"\210\211A@\242>\204\"\304\305\306D\"\210\3078\242>\2043\304\305\306D\"\210\3108\242>\204E\304\305\306D\"\210\3118\242>\204W\304\305\306D\"\210\3128\242>\204i\304\305\306D\"\210\3138\242>\204}\304\305\306	D\"\210\3148	\203\230\315\316\317\320\321\322
!\323\"\312\324%	\"\202\231\n\325\326\nC\")\207" [cl-struct-tramp-file-name-tags tramp-backup-directory-alist backup-directory-alist tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 mapcar make-byte-code 257 "\211@A;\203\301A!\203\302A!\204\303\300A\"\202 AB\207" vconcat vector [file-name-absolute-p tramp-tramp-file-p tramp-make-tramp-file-name] "\n\n(fn X)" tramp-run-real-handler find-backup-file-name] 16 (#$ . 150473)])
#@102 Like `insert-directory' for Tramp files.

(fn FILENAME SWITCHES &optional WILDCARD FULL-DIRECTORY-P)
(defalias 'tramp-handle-insert-directory #[1026 "\204\305\262\306!\203\211\204\307P\262\204\310\311\"\210\312\313!!\211\242>\2042\314\315\316D\"\210\211A@\242>\204C\314\315\316D\"\210\3178\242>\204T\314\315\316D\"\210\3208\242>\204f\314\315\316D\"\210\3218\242>\204x\314\315\316D\"\210\3228\242>\204\212\314\315\316D\"\210\3238\242>\204\236\314\315\316	D\"\210\3248\325\326\327\330\"C\3311I	X\205C\n\203\346\320X\203\346\332\333\325U\203\314\305\202\341\334U\203\326\305\202\341\317U\203\340\335\202\341\336P#\210	\321Y\205C\325\334U\203#\3371r\340!\203\341!\202	\342\343\"q\210\344P\262\345\346 C\"\211\262)0\202\"\210\202#\210\340!\203/\347\350\"\262)\242>\205C\332\351\327\352\"P$0\266\204\202M\210\353\266\204\210\354C\n\205q\325	\320^X\205q\355\327\330\"\353\211#\211\205o\356\320\357\360$\262\361\325\362\363\350$\364\"\365$\216\353\211\366\367F\"\210\370\353\371\372#)\266\203?\205\340\212eb\210\373`\374 \375\371$\211\262\205\337\211\376\374 \375\371$\206\305\374 |\210\377 \374 U\203\331`\353y\210`|\210\202\253\353y\210\202\253))\266\202\201@\240\210)\266\202\207" [cl-struct-tramp-file-name-tags tramp-verbose tramp-message-show-message ls-lisp-use-insert-directory-program inhibit-changing-match-data #3="" tramp-compat-directory-name-p "F" access-file "Reading directory" tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 0 "%s..." format #1="Opening directory %s" #2=(error) apply message 1 #4="Warning: " #5="Tramp: " #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string process-get vector tramp-debug-message #8="(%d) # " nil "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update make-byte-code "\303\203\306\303!\210\301\307\310\311\312\300\"\302\242D\3131\254\fX\205\252
\203L\314X\203L\315\316\307U\2032\317\202G\320U\203<\317\202G\321U\203F\322\202G\323P#\210\f\324Y\205\252\307\320U\203\211\3251\204r\326!\203k\327!\202o\330\331\"q\210\332P\262\333\334 C\"\211\262)0\202\210\210\202\211\210\326!\203\225\335\336\"\262)\242\">\205\252\315\337\311\340\"P$0\207\210\341\207" vconcat [tramp-verbose tramp-message-show-message cancel-timer 0 "%s...%s" format #1# #2# 3 apply message #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message #8# nil cl-struct-tramp-file-name-tags] 10 tramp-run-real-handler insert-directory "l" t string-match text-property-not-all point-at-eol dired-filename text-property-any point-at-bol "done"] 24 (#$ . 151391)])
#@93 Like `insert-file-contents' for Tramp files.

(fn FILENAME &optional VISIT BEG END REPLACE)
(defalias 'tramp-handle-insert-file-contents #[1281 "C\306 \210\211\307\242!\240\210\310\211C\310C\311\242!\211\242>\204#\312\313\314D\"\210\211A@\242>\2044\312\313\314D\"\210\3158\242>\204E\312\313\314D\"\210\3168\242>\204W\312\313\314D\"\210\3178\242>\204i\312\313\314D\"\210\3208\242>\204{\312\313\314D\"\210\3218\242>\204\217\312\313\314	D\"\210\3228\323\324\325\326\327%\330\"\320$\216\331\f\242!\204\215	\332\242C\310\211\f\333Y\205\263\211\203\202\211\333\334\335\336!\337\216
\340 \210)r
q\210\341 +C\3421{\fX\205u\203\316X\203\343\344\324U\203\376\345\202\346U\203\345\202\315U\203\347\202\350P#\210\f\317Y\205u\324\346U\203U\3511Pr\352!\2037\353!\202;\354\355\"q\210\334P\262\356\341 C\"\211\262)0\202T\210\202U\210\352!\203a\357\327\"\262)\242>\205u\343\360\361\362\"P$0\266\205\202\265\210\310\266\205\202\265@r\363\364!q\210p\365 \210@\310\211AB\366\211C\366DE\367 \210\370\371!\210+\211\340 \372!\210)\266\202\262\210\211\204\301C\262\373\262\203z\346\373\374\211\375N\343\376		#E!C\3421u\fX\205o\203\316X\203\343\344\324U\203\370\345\202
\346U\203\345\202
\315U\203\f\347\202
\350P#\210\f\317Y\205o\324\346U\203O\3511Jr\352!\2031\353!\2025\354\355\"q\210\334P\262\356\341 C\"\211\262)0\202N\210\202O\210\352!\203[\357\327\"\262)\242>\205o\343\360\361\362\"P$0\266\204\202y\210\310\266\204\210\312\377\343\376#!C\"*\266\202\316\201J\376\201K\242\"C\34219\fX\2053\203\326\316X\203\326\343\344\324U\203\274\345\202\321\346U\203\306\345\202\321\315U\203\320\347\202\321\350P#\210\f\317Y\2053\324\346U\203\3511r\352!\203\365\353!\202\371\354\355\"q\210\334P\262\356\341 C\"\211\262)0\202\210\202\210\352!\203\357\327\"\262)\242>\2053\343\360\361\362\"P$0\266\204\202=\210\310\266\204\210\201LC\205n\316\f\316^X\205n\201M\376\201K\242\"\310\211#\211\205l\201N\316\201O\201P$\262\323\324\201Q\326\327$\201R\"\333$\216\201S1\322\201T\n!\203\270\310F\201U!)\203\270\201V\201W\257\"\211\262\202\316\204\302\203A\201X\n\201Y\"\203A\n\201Z!\240\210\201[\201\\!\2038\201\\\n\203	\203	\361\201]\201^	!Z\242%\2026\203!\361\201_\201^	!\242$\2026\2056\361\201`\201^	!\242$\"\210\310\211G\262\310\262H\201W=\205O\201aH\242;\203k\201a\201b\f\242\201c#!\202\212G;\203\203\201d\242G\201e#\210G\202\212\201a\242!)\240\210\201f\f\242\201g\"\210\n\242\204\257\201X\n\201h\"\203\257\242G\201i\242
\242\"I\201W\f\242%\211\262)0\202\371\201j\201k\201l\310\312\201m@D\201mADEE\310\366$\210\312@A\"\262\210\201n\240\210)\266)\307\f\242!A@D\266\210\266\203\207" [cl-struct-tramp-file-name-tags tramp-file-missing signal-hook-function tramp-message-show-message tramp-verbose standard-output barf-if-buffer-read-only expand-file-name nil tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 make-byte-code 0 "\301\203\300\242\306\300\242!?
\307 \210\310\311!\210\302\242;\203*\303\242\204%\204*\312\302\242!\210\303\242;\2058\312\313\304\303\242\314#!\207" vconcat vector [buffer-file-name file-writable-p set-visited-file-modtime set-buffer-modified-p nil delete-file tramp-make-tramp-file-name nohop buffer-read-only tramp-temp-buffer-file-name] file-exists-p "File `%s' not found on remote host" 10 #7="\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string #2=(error) apply message #3="" 1 #4="Warning: " #5="Tramp: " #6=(error) processp process-buffer tramp-get-connection-buffer dont-create append process-get tramp-debug-message format #8="(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message substring-no-properties default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only file-name-handler-alist tramp-temp-buffer-file-name inhibit-file-name-operation file-coding-system-alist "%s..." #1="Inserting `%s'" "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update "\303\203\306\303!\210\301\307\310\311\312\300\242\"\302\242D\3131\255\fX\205\253
\203M\307X\203M\314\315\316U\2033\317\202H\320U\203=\317\202H\321U\203G\322\202H\323P#\210\f\324Y\205\253\316\320U\203\212\3251\205r\326!\203l\327!\202p\330\331\"q\210\332P\262\333\334 C\"\211\262)0\202\211\210\202\212\210\326!\203\226\335\336\"\262)\242#>\205\253\314\337\340\341\"P$0\207\210\342\207" [tramp-verbose tramp-message-show-message cancel-timer 3 "%s...%s" format-message #1# #2# apply message 0 #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message format #8# nil cl-struct-tramp-file-name-tags] (error) tramp-local-host-p file-readable-p tramp-run-real-handler insert-file-contents tramp-get-method-parameter tramp-login-program tramp-make-tramp-temp-file functionp tramp-send-command "dd bs=1 skip=%d if=%s count=%d of=%s" tramp-shell-quote-argument "dd bs=1 skip=%d if=%s of=%s" "dd bs=1 count=%d if=%s of=%s" file-local-copy tramp-make-tramp-file-name nohop copy-file ok set-file-modes 384 tramp-copy-keep-tmpfile tramp-find-file-name-coding-system-alist add-hook find-file-not-found-functions lambda quote "done"] 33 (#$ . 154276)])
#@90 Like `load' for Tramp files.

(fn FILE &optional NOERROR NOMESSAGE NOSUFFIX MUST-SUFFIX)
(defalias 'tramp-handle-load #[1281 "C\306\307\242!!\211\242>\204\310\311\312D\"\210\211A@\242>\204'\310\311\312D\"\210\3138\242>\2048\310\311\312D\"\210\3148\242>\204J\310\311\312D\"\210\3158\242>\204\\\310\311\312D\"\210\3168\242>\204n\310\311\312D\"\210\3178\242>\204\202\310\311\312	D\"\210\3208\n\204\262\321	\242\322P!\203\240\211\242\322P\240\210\202\262\321	\242\323P!\203\262\211\242\323P\240\210	\203\255\324	\242!\204\255\325	\242\326\327\330#)\266\203\204\255\331\332\242C\326\211\f\333Y\205\324\211\203\243\211\333\334\335\336!\337\216
\340 \210)r
q\210\341 +C\3421\234\fX\205\226\2039\314X\2039\343\344\345U\203\346\2024\347U\203)\346\2024\313U\2033\350\2024\351P#\210\f\315Y\205\226\345\347U\203v\3521qr\353!\203X\354!\202\\\355\356\"q\210\334P\262\357\341 C\"\211\262)0\202u\210\202v\210\353!\203\202\360\361\"\262)\242>\205\226\343\362\363\364\"P$0\266\205\202\326\210\326\266\205\202\326@r\365\366!q\210p\367 \210@\326\211AB\327\211C\327DE\370 \210\371\372!\210+\211\340 \373!\210)\266\202\262\210\211\204\342C\262\374\262\203\233\347\374\375\211\376N\343\377		#E!C\3421\226\fX\205\220\2033\314X\2033\343\344\345U\203\346\202.\347U\203#\346\202.\313U\203-\350\202.\351P#\210\f\315Y\205\220\345\347U\203p\3521kr\353!\203R\354!\202V\355\356\"q\210\334P\262\357\341 C\"\211\262)0\202o\210\202p\210\353!\203|\360\361\"\262)\242>\205\220\343\362\363\364\"P$0\266\204\202\232\210\326\266\204\210\310\201G\343\377#!C\"*\266\f\204\231\321	\242!\204\231F\201H\242C\326\211\f\333Y\205\300\211\203\217\211\333\334\335\336!\337\216
\340 \210)r
q\210\341 +C\3421\210\fX\205\202\203%\314X\203%\343\344\345U\203\346\202 \347U\203\346\202 \313U\203\350\202 \351P#\210\f\315Y\205\202\345\347U\203b\3521]r\353!\203D\354!\202H\355\356\"q\210\334P\262\357\341 C\"\211\262)0\202a\210\202b\210\353!\203n\360\361\"\262)\242>\205\202\343\362\363\364\"P$0\266\205\202\302\210\326\266\205\202\302@r\365\366!q\210p\367 \210@\326\211AB\327\211C\327DE\370 \210\371\372!\210+\211\340 \373!\210)\266\202\262\210\211\204\316C\262\374\262\203\207\347\374\375\211\376N\343\377		#E!C\3421\202\fX\205|\203\314X\203\343\344\345U\203\346\202\347U\203\346\202\313U\203\350\202\351P#\210\f\315Y\205|\345\347U\203\\\3521Wr\353!\203>\354!\202B\355\356\"q\210\334P\262\357\341 C\"\211\262)0\202[\210\202\\\210\353!\203h\360\361\"\262)\242>\205|\343\362\363\364\"P$0\266\204\202\206\210\326\266\204\210\310\201G\343\377#!C\"*\266\321	\242!\205\326?\345\201I\363\201J
\242\"C\3421Q\fX\205K\203\356\314X\203\356\343\344\345U\203\324\346\202\351\347U\203\336\346\202\351\313U\203\350\350\202\351\351P#\210\f\315Y\205K\345\347U\203+\3521&r\353!\203
\354!\202\355\356\"q\210\334P\262\357\341 C\"\211\262)0\202*\210\202+\210\353!\2037\360\361\"\262)\242>\205K\343\362\363\364\"P$0\266\204\202U\210\326\266\204\210\201KC\205\206\345\f\314^X\205\206\201L\363\201J\f\242\"\326\211#\211\205\204\201M\314\201N\201O$\262\201P\345\201Q\201R\361$\201S\"\333$\216\201T\242!\201P\345\201U\201R\361!\201V\"\313$\216\201W\327%\210)\210\201X\240\210)\266)\327\266\210\207" [cl-struct-tramp-file-name-tags inhibit-changing-match-data signal-hook-function tramp-message-show-message tramp-verbose standard-output tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p ".elc" ".el" file-name-directory "\\.elc?\\'" nil t string-match file-error "File `%s' does not include a `.el' or `.elc' suffix" 10 #7="\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string #2=(error) apply message 0 #3="" 1 #4="Warning: " #5="Tramp: " #6=(error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format #8="(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only tramp-file-missing substring-no-properties "Cannot load nonexistent file `%s'" "%s..." #1="Loading %s" "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update make-byte-code "\303\203\306\303!\210\301\307\310\311\312\300\242\"\302\242D\3131\255\fX\205\253
\203M\314X\203M\315\316\307U\2033\317\202H\320U\203=\317\202H\321U\203G\322\202H\323P#\210\f\324Y\205\253\307\320U\203\212\3251\205r\326!\203l\327!\202p\330\331\"q\210\332P\262\333\334 C\"\211\262)0\202\211\210\202\212\210\326!\203\226\335\336\"\262)\242\">\205\253\315\337\311\340\"P$0\207\210\341\207" vconcat [tramp-verbose tramp-message-show-message cancel-timer 0 "%s...%s" format #1# #2# 3 apply message #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message #8# nil cl-struct-tramp-file-name-tags] file-local-copy "\301\300!\207" [delete-file] load "done"] 29 (#$ . 160078)])
#@183 Like `make-symbolic-link' for Tramp files.
This is the fallback implementation for backends which do not
support symbolic links.

(fn TARGET LINKNAME &optional OK-IF-ALREADY-EXISTS)
(defalias 'tramp-handle-make-symbolic-link #[770 "\306\307!!\203\337\310\307!!\311\312\313\211\211\n\314Y\205	\211\203\332\211\314\315\316\317!\320\216\321 \210)rq\210\322 +C\3231\323\nX\205\315	\203p\324X\203p\325\326\327U\203V\330\202k\331U\203`\330\202k\332U\203j\333\202k\334P#\210\n\335Y\205\315\327\331U\203\255\3361\250r\337!\203\217\340!\202\223\341\342\"q\210\315P\262\343\322 C\"\211\262)0\202\254\210\202\255\210\337!\203\271\344\345\"\262)\242\f>\205\315\325\346\347\350\"P$0\266\205\202\210\313\266\205\202
r\351\352!q\210p\353 \210\313\2119:\354\211;\354<=\355 \210\356\357!\210+\211\321 \360!\210)\266\202\262\210\211\204C\262\361\262\203\320\331\361\362\211\363N\325\364		#E!C\3231\313\nX\205\305	\203h\324X\203h\325\326\327U\203N\330\202c\331U\203X\330\202c\332U\203b\333\202c\334P#\210\n\335Y\205\305\327\331U\203\245\3361\240r\337!\203\207\340!\202\213\341\342\"q\210\315P\262\343\322 C\"\211\262)0\202\244\210\202\245\210\337!\203\261\344\345\"\262)\242\f>\205\305\325\346\347\350\"P$0\266\204\202\317\210\313\266\204\210\365\366\325\364#!C\"*\207\367\370E\"\207" [signal-hook-function tramp-message-show-message tramp-verbose standard-output cl-struct-tramp-file-name-tags default-directory tramp-tramp-file-p expand-file-name tramp-dissect-file-name file-error "make-symbolic-link not supported" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal substring-no-properties tramp-run-real-handler make-symbolic-link buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 18 (#$ . 165675)])
#@90 Like `shell-command' for Tramp files.

(fn COMMAND &optional OUTPUT-BUFFER ERROR-BUFFER)
(defalias 'tramp-handle-shell-command #[769 "\306\307\310\311#)\266\203\312\313#\307\314!\203%p=\262\202O;\2039\315p!=\262\316!\202O\203D\310\262p\202O\316\203M\317\202N\320!\314!\203Z\202c;\205c\316!\211\205\362\321	!\211\242\n>\204x\322\323\324D\"\210\211A@\242\n>\204\211\322\323\324D\"\210\3258\242\n>\204\232\322\323\324D\"\210\3268\242\n>\204\254\322\323\324D\"\210\3278\242\n>\204\276\322\323\324D\"\210\3308\242\n>\204\320\322\323\324D\"\210\3318\242\n>\204\344\322\323\324	D\"\210\3328\333\334\n!\"\266\210\315!\335!	\307\n\250\203j\203j\336\267\202j\337\340!\203\341!\210\202j\342\343\"\210\202j\337\344!\203-\345!\262\202j\342\343\"\210\202j\345!\262\202j\337\346!\203Trq\210\347 \210)\316!\262\202j\342\343\"\210\202jrq\210\347 \210)\316!\262\204wrq\210)\203\202D\202\204\262rq\210\203\230\350 \210\351\307\310\"\210\352\353!\203\254\354\353!\203\261\353	!\210\202\261\307\355 \210)\n\250\203\200\356\357\305!\205\300
!\203\324\360\361\357\305!\205\315
\"@B\202\326@@\362\315!\f#\211\262\203\363rq\210\363!\210)\364!\203qrq\210\365AB\366=\204\366 \210\367\370\"\210\371\372\"\210\203c\373\374\375\313\376\377\201C!\201D\"\325$\375\201E\201F\377\201C!\201G\"\327\201H%B\262\375\201I\201J\377\201C\"\201K\"\201L\201M%\307$\210\201N\201O\"\210)\202|\203|\201P!\210)\202\336\201Q\n\307\307$\203\237rq\210\363!\210)\201P!\210	\203\313\201R\310!\201S `p\223\210b\210\352\201T!\203\336\354\201T!\203\336\201T \210\202\336rq\210deV)\203\336\201U!\210\207" [inhibit-changing-match-data default-directory cl-struct-tramp-file-name-tags async-shell-command-buffer buffer-read-only async-shell-command-width "[ 	]*&[ 	]*\\'" nil t string-match substring 0 bufferp buffer-name get-buffer-create "*Async Shell Command*" "*Shell Command Output*" tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-make-tramp-file-name tramp-make-tramp-temp-file get-buffer-process #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (confirm-kill-process 266 confirm-new-buffer 287 new-buffer 309 confirm-rename-buffer 317 rename-buffer 348)) yes-or-no-p "A command is running in the default buffer.  Kill it? " kill-process tramp-user-error "Shell command in progress" "A command is running in the default buffer.  Use a new buffer? " generate-new-buffer "A command is running in the default buffer.  Rename it? " rename-uniquely barf-if-buffer-read-only push-mark fboundp shell-command-save-pos-or-erase functionp erase-buffer natnump boundp format "COLUMNS=%d" start-file-process-shell-command insert-file-contents-literally process-live-p (":%s") shell-mode set-process-filter comint-output-filter set-process-sentinel shell-command-sentinel advice--add-function :after make-byte-code "\301\300!\207" vconcat tramp-remote-process-environment mode-line-process major-mode vector [process-sentinel] 257 "\301\300\"\207" [set-process-sentinel] "\n\n(fn GV--VAL)" 514 "r\300q\210\302\301\303\211\211\304%\210)\305\301!\207" [insert-file-contents-literally nil replace delete-file] 8 "\n\n(fn PROC STRING)" display-buffer (nil (allow-no-window . t)) delete-file process-file-shell-command mark mark-marker shell-command-set-point-after-cmd display-message-or-buffer] 25 (#$ . 168019)])
#@139 Like `start-file-process' for Tramp files.
BUFFER might be a list, in this case STDERR is separated.

(fn NAME BUFFER PROGRAM &rest ARGS)
(defalias 'tramp-handle-start-file-process #[899 "\300\301\302\303:\203@\202\304\205B\305:\205*A@\306\307\310\311&
\207" [tramp-file-name-handler make-process :name :buffer :command :stderr :noquery nil :file-handler t] 18 (#$ . 171578)])
#@122 Like `substitute-in-file-name' for Tramp files.
"//" and "/~" substitute only in the local filename part.

(fn FILENAME)
(defalias 'tramp-handle-substitute-in-file-name #[257 "\211\303\211?\205\304\305\306!\")\266\202\203\207\307!\262\310!\211\242	>\204,\311\312\313D\"\210\211A@\242	>\204=\311\312\313D\"\210\3148\242	>\204N\311\312\313D\"\210\3158\242	>\204`\311\312\313D\"\210\3168\242	>\204r\311\312\313D\"\210\3178\242	>\204\204\311\312\313D\"\210\3208\242	>\204\230\311\312\313	D\"\210\3218\303;\203\307\322\323\"\203\266\324\325\326\327!#\262	\202\307\330	!\324\325\326\331\327C\"#P\262	);\203\332\332\230\203\332\326P\202\334\207" [file-name-handler-alist cl-struct-tramp-file-name-tags process-environment nil string-prefix-p "/:" file-local-name tramp-replace-environment-variables tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 string-match "//\\(/\\|~\\)" replace-regexp-in-string "\\`/+" "/" substitute-in-file-name file-remote-p tramp-run-real-handler "~"] 16 (#$ . 171987)])
#@52 An invalid time value, used as "Don't know" value.
(defconst tramp-time-dont-know '(0 0 0 1000) (#$ . 173076))
#@55 An invalid time value, used as "Doesn't exist" value.
(defconst tramp-time-doesnt-exist '(-1 65535) (#$ . 173193))
#@76 Like `set-visited-file-modtime' for Tramp files.

(fn &optional TIME-LIST)
(defalias 'tramp-handle-set-visited-file-modtime #[256 "\303 \204\304\305\306 \"\210\211\204!\307\310\303 !\3118\262\206	\262)\312\n\"?\205.\313\314C\"\207" [remote-file-name-inhibit-cache tramp-time-doesnt-exist tramp-time-dont-know buffer-file-name error "Can't set-visited-file-modtime: buffer `%s' not visiting a file" buffer-name t file-attributes 5 tramp-compat-time-equal-p tramp-run-real-handler set-visited-file-modtime] 4 (#$ . 173314)])
#@325 Like `verify-visited-file-modtime' for Tramp files.
At the time `verify-visited-file-modtime' calls this function, we
already know that the buffer is visiting a file and that
`visited-file-modtime' does not return 0.  Do not call this
function directly, unless those two cases are already taken care
of.

(fn &optional BUF)
(defalias 'tramp-handle-verify-visited-file-modtime #[256 "r\211\206pq\210\303 \211\203\304 \305=\204\306\307\310#\204!\311\202S\311\312!\211\3138\262\304 \203D\314	\"\204D\315\316\"!\317W\202P\203L\311\202P\314\n\")\266\203\262)\207" [remote-file-name-inhibit-cache tramp-time-dont-know tramp-time-doesnt-exist buffer-file-name visited-file-modtime 0 file-remote-p nil connected t file-attributes 5 tramp-compat-time-equal-p abs tramp-time-diff 2] 9 (#$ . 173856)])
#@105 Like `write-region' for Tramp files.

(fn START END FILENAME &optional APPEND VISIT LOCKNAME MUSTBENEW)
(defalias 'tramp-handle-write-region #[1795 "\306!\262\307!\211\242>\204\310\311\312D\"\210\211A@\242>\204'\310\311\312D\"\210\3138\242>\2048\310\311\312D\"\210\3148\242>\204J\310\311\312D\"\210\3158\242>\204\\\310\311\312D\"\210\3168\242>\204n\310\311\312D\"\210\3178\242>\204\202\310\311\312	D\"\210\3208\203y\321
!\203y\322=\204\243\323\324\325\"!\204y\326\327\211\211\330Y\205\242\211\203s\211\330\331\332\333!\334\216\f\335 \210)r\fq\210\336 +C\3371lX\205f\n\203	\314X\203	\340\341\342U\203\357\343\202\344U\203\371\343\202\313U\203\345\202\346P#\210\315Y\205f\342\344U\203F\3471Ar\350!\203(\351!\202,\352\353\"q\210\331P\262\354\336 C\"\211\262)0\202E\210\202F\210\350!\203R\355\356\"\262)\242>\205f\340\357\324\360\"P$0\266\205\202\244\210\327\266\205\202\244
r\361\362!q\210p\363 \210\327\211@A\364\211B\364CD\365 \210\366\367!\210+\211\335 \370!\210)\266\202\262\210\211\204\260C\262\371\262\203i\344\371\372\211\373N\340\374		#E!C\3371dX\205^\n\203\314X\203\340\341\342U\203\347\343\202\374\344U\203\361\343\202\374\313U\203\373\345\202\374\346P#\210\315Y\205^\342\344U\203>\34719r\350!\203 \351!\202$\352\353\"q\210\331P\262\354\336 C\"\211\262)0\202=\210\202>\210\350!\203J\355\356\"\262)\242>\205^\340\357\324\360\"P$0\266\204\202h\210\327\266\204\210\310\375\340\374#!C\"*\266\f\327\211E\306\376J\377\201G\201HN@!\"\201I\364\"\201J#)\266\204\212\201K!)
\203\274\321!\203\274\201L\201M#\210\201N\201O\206\310\342\201P\"\"\210\201Q\201R\201S\257\"\210\201T1\370\201U\201V#0\202\332\210\201W!\210	\201X\201YC\327\211\330Y\205\211\203\324\211\330\331\332\333!\334\216\f\335 \210)r\fq\210\336 +C\3371\315X\205\307\n\203j\314X\203j\340\341\342U\203P\343\202e\344U\203Z\343\202e\313U\203d\345\202e\346P#\210\315Y\205\307\342\344U\203\247\3471\242r\350!\203\211\351!\202\215\352\353\"q\210\331P\262\354\336 C\"\211\262)0\202\246\210\202\247\210\350!\203\263\355\356\"\262)\242>\205\307\340\357\324\360\"P$0\266\205\202\210\327\266\205\202
r\361\362!q\210p\363 \210\327\211@A\364\211B\364CD\365 \210\366\367!\210+\211\335 \370!\210)\266\202\262\210\211\204C\262\371\262\203\312\344\371\372\211\373N\340\374		#E!C\3371\305X\205\277\n\203b\314X\203b\340\341\342U\203H\343\202]\344U\203R\343\202]\313U\203\\\345\202]\346P#\210\315Y\205\277\342\344U\203\237\3471\232r\350!\203\201\351!\202\205\352\353\"q\210\331P\262\354\336 C\"\211\262)0\202\236\210\202\237\210\350!\203\253\355\356\"\262)\242>\205\277\340\357\324\360\"P$0\266\204\202\311\210\327\266\204\210\310\375\340\374#!C\"*\266\204\266\201Z\"\210\n\364=\204\361\n;\203\201[\201\\!\3168\262!\210F\204\303\n\364=\204\n\203\n;\203\303\342\201]C\3371\276X\205\270\n\203[\314X\203[\340\341\342U\203A\343\202V\344U\203K\343\202V\313U\203U\345\202V\346P#\210\315Y\205\270\342\344U\203\230\3471\223r\350!\203z\351!\202~\352\353\"q\210\331P\262\354\336 C\"\211\262)0\202\227\210\202\230\210\350!\203\244\355\356\"\262)\242>\205\270\340\357\324\360\"P$0\266\204\202\302\210\327\266\204\210\366\201^!\207" [cl-struct-tramp-file-name-tags signal-hook-function tramp-message-show-message tramp-verbose standard-output default-directory expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p excl y-or-n-p format "File %s exists; overwrite anyway? " file-already-exists nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) apply message 0 "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message substring-no-properties tramp-temp-name-prefix eval buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only file-name-handler-alist noninteractive temporary-file-directory standard-value file-name-extension make-temp-file tramp-default-file-modes copy-file ok set-file-modes logior 256 tramp-run-real-handler write-region no-message (error) rename-file ok-if-already-exists delete-file file-error "Couldn't write region to `%s'" tramp-flush-file-properties set-visited-file-modtime file-attributes "Wrote %s" tramp-handle-write-region-hook] 32 (#$ . 174679)])
#@46 Marker in stat commands for file attributes.
(defconst tramp-stat-marker "/////" (#$ . 179630))
#@53 Quoted marker in stat commands for file attributes.
(defconst tramp-stat-quoted-marker "\\/\\/\\/\\/\\/" (#$ . 179732))
#@42 List of events "gio monitor" could send.
(defconst tramp-gio-events '("attribute-changed" "changed" "changes-done-hint" "created" "deleted" "moved" "pre-unmount" "unmounted") (#$ . 179858))
#@77 Like `file-notify-add-watch' for Tramp files.

(fn FILENAME FLAGS CALLBACK)
(defalias 'tramp-handle-file-notify-add-watch #[771 "\306!\262\307!\211\242>\204\310\311\312D\"\210\211A@\242>\204'\310\311\312D\"\210\3138\242>\2048\310\311\312D\"\210\3148\242>\204J\310\311\312D\"\210\3158\242>\204\\\310\311\312D\"\210\3168\242>\204n\310\311\312D\"\210\3178\242>\204\202\310\311\312	D\"\210\3208\321\322
C\323\211\324Y\205\206\211\203W\211\324\325\326\327!\330\216\f\331 \210)r\fq\210\332 +C\3331PX\205J\n\203\355\314X\203\355\334\335\336U\203\323\337\202\350\340U\203\335\337\202\350\313U\203\347\341\202\350\342P#\210\315Y\205J\336\340U\203*\3431%r\344!\203\f\345!\202\346\347\"q\210\325P\262\350\332 C\"\211\262)0\202)\210\202*\210\344!\2036\351\352\"\262)\242>\205J\334\353\354\355\"P$0\266\205\202\210\210\323\266\205\202\210
r\356\357!q\210p\360 \210\323\211;<\361\211=\361>?\362 \210\363\364!\210+\211\331 \365!\210)\266\202\262\210\211\204\224C\262\366\262\203M\340\366\367\211\370N\334\371		#E!C\3331HX\205B\n\203\345\314X\203\345\334\335\336U\203\313\337\202\340\340U\203\325\337\202\340\313U\203\337\341\202\340\342P#\210\315Y\205B\336\340U\203\"\3431r\344!\203\345!\202\346\347\"q\210\325P\262\350\332 C\"\211\262)0\202!\210\202\"\210\344!\203.\351\352\"\262)\242>\205B\334\353\354\355\"P$0\266\204\202L\210\323\266\204\210\310\372\334\371#!C\"*\266\204\207" [cl-struct-tramp-file-name-tags signal-hook-function tramp-message-show-message tramp-verbose standard-output default-directory expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-notify-error "File notification not supported for `%s'" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) apply message 0 "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message substring-no-properties buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 26 (#$ . 180054)])
#@57 Like `file-notify-rm-watch' for Tramp files.

(fn PROC)
(defalias 'tramp-handle-file-notify-rm-watch #[257 "\306!\204\333\211\307\310C\311\211\n\312Y\205\211\203\325\211\312\313\314\315!\316\216\317 \210)rq\210\320 +C\3211\316\nX\205\310	\203k\322X\203k\323\324\325U\203Q\326\202f\327U\203[\326\202f\330U\203e\331\202f\332P#\210\n\333Y\205\310\325\327U\203\250\3341\243r\306!\203\212\335!\202\216\336\337\"q\210\313P\262\340\320 C\"\211\262)0\202\247\210\202\250\210\306!\203\264\341\342\"\262)\242\f>\205\310\323\343\344\345\"P$0\266\205\202\210\311\266\205\202
r\346\347!q\210p\350 \210\311\21189\351\211:\351;<\352 \210\353\354!\210+\211\317 \355!\210)\266\202\262\210\211\204C\262\356\262\203\313\327\356\357\211\360N\323\361		#E!C\3211\306\nX\205\300	\203c\322X\203c\323\324\325U\203I\326\202^\327U\203S\326\202^\330U\203]\331\202^\332P#\210\n\333Y\205\300\325\327U\203\240\3341\233r\306!\203\202\335!\202\206\336\337\"q\210\313P\262\340\320 C\"\211\262)0\202\237\210\202\240\210\306!\203\254\341\342\"\262)\242\f>\205\300\323\343\344\345\"P$0\266\204\202\312\210\311\266\204\210\362\363\323\361#!C\"*\266\364\325\"\204\333\211\365\366C\3211\204\nX\205~	\203!\322X\203!\323\324\325U\203\326\202\327U\203\326\202\330U\203\331\202\332P#\210\n\333Y\205~\325\327U\203^\3341Yr\306!\203@\335!\202D\336\337\"q\210\313P\262\340\320 C\"\211\262)0\202]\210\202^\210\306!\203j\341\342\"\262)\242\f>\205~\323\343\344\345\"P$0\266\204\202\210\210\311\266\204\210\367!\207" [signal-hook-function tramp-message-show-message tramp-verbose standard-output cl-struct-tramp-file-name-tags default-directory processp file-notify-error "Not a valid descriptor %S" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal substring-no-properties tramp-accept-process-output 6 "Kill %S" delete-process buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 16 (#$ . 182540)])
#@56 Like `file-notify-valid-p' for Tramp files.

(fn PROC)
(defalias 'tramp-handle-file-notify-valid-p #[257 "\301!\205r\302!q\210\303\304!\305\306\"P!)\207" [default-directory process-live-p process-buffer file-exists-p file-remote-p process-get watch-name] 6 (#$ . 185090)])
#@47 Call `file-notify-rm-watch'.

(fn PROC EVENT)
(defalias 'tramp-file-notify-process-sentinel #[514 "\303!?\205\270\304\305D\3061\252X\205\244	\203G\307X\203G\310\311\312U\203-\313\202B\314U\2037\313\202B\315U\203A\316\202B\317P#\210\320Y\205\244\312\314U\203\204\3211r\322!\203f\323!\202j\324\325\"q\210\326P\262\327\330 C\"\211\262)0\202\203\210\202\204\210\322!\203\220\331\332\"\262)\242\n>\205\244\310\333\334\335\"P$0\266\204\202\256\210\336\266\204\210\337\340!\205\270\340!\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags process-live-p 5 "Sentinel called: `%S' `%s'" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " nil functionp file-notify-rm-watch] 12 (#$ . 185375)])
#@37 Send the login name.

(fn PROC VEC)
(defalias 'tramp-action-login #[514 "\211\242>\204\305\306\307D\"\210\3108\206H\311\312\313#\211\313=\203E\314 \315\316\317\320\321!\322\"\310$\216\323\324\325!!\210\326\327\316!!*\262\262\330\312#\210\211\262r\325!q\210\331\332\333 C\3341\361\nX\205\353\203\216\335X\203\216\336\337\316U\203t\340\202\211\341U\203~\340\202\211\310U\203\210\342\202\211\343P#\210\n\344Y\205\353\316\341U\203\313\3451\306r\346!\203\255\347!\202\261\325\350\"q\210\332P\262\351\333 C\"\211\262)0\202\312\210\202\313\210\346!\203\327\352\321\"\262)\242>\205\353\336\353\354\355\"P$0\266\204\202\365\210\356\266\204\210)\335\357C\3341\231\nX\205\223\2036\335X\2036\336\337\316U\203\340\2021\341U\203&\340\2021\310U\2030\342\2021\343P#\210\n\344Y\205\223\316\341U\203s\3451nr\346!\203U\347!\202Y\325\350\"q\210\332P\262\351\333 C\"\211\262)0\202r\210\202s\210\346!\203\352\321\"\262)\242>\205\223\336\353\354\355\"P$0\266\204\202\235\210\356\266\204\210\360\fP\"\266\323\207" [cl-struct-tramp-file-name-tags enable-recursive-minibuffers tramp-verbose tramp-message-show-message tramp-local-end-of-line signal wrong-type-argument tramp-file-name 2 tramp-get-connection-property "login-as" undef current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] t pop-to-buffer tramp-get-connection-buffer read-string match-string tramp-set-connection-property 6 "\n%s" buffer-string (error) 3 apply message "" 1 "Warning: " "Tramp: " 4 (error) processp process-buffer dont-create append process-get tramp-debug-message format "(%d) # " nil "Sending login name `%s'" tramp-send-string] 13 (#$ . 186308)])
#@47 Query the user for a password.

(fn PROC VEC)
(defalias 'tramp-action-password #[514 "r\306!q\210\307\211\310\311\312#\204\313!\210eb\210\314\n\"\210\211\315\316\317\320!C\3211\302X\205\274\f\203_\315X\203_\322\323\324U\203E\325\202Z\320U\203O\325\202Z\326U\203Y\327\202Z\330P#\210\331Y\205\274\324\320U\203\234\3321\227r\333!\203~\306!\202\202\334\335\"q\210\336P\262\337\340 C\"\211\262)0\202\233\210\202\234\210\333!\203\250\341\342\"\262)\242
>\205\274\322\343\344\345\"P$0\266\204\202\306\210\312\266\204\210\346\347!(P\"\210dd}\210+\307\207" [case-fold-search enable-recursive-minibuffers tramp-password-prompt-regexp tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags process-buffer t tramp-get-connection-property "first-password-request" nil tramp-clear-passwd tramp-check-for-regexp 3 "Sending %s" match-string 1 (error) apply message 0 "" 2 "Warning: " "Tramp: " 4 (error) processp tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " process-send-string tramp-read-passwd tramp-local-end-of-line] 12 (#$ . 188088)])
#@56 Signal success in finding shell prompt.

(fn PROC VEC)
(defalias 'tramp-action-succeed #[514 "\300\301\302\"\207" [throw tramp-action ok] 5 (#$ . 189272)])
#@42 Signal permission denied.

(fn PROC VEC)
(defalias 'tramp-action-permission-denied #[514 "\300!\210\301\302\303\"\207" [kill-process throw tramp-action permission-denied] 5 (#$ . 189434)])
#@158 Ask the user for confirmation using `yes-or-no-p'.
Send "yes" to remote process on confirmation, abort otherwise.
See also `tramp-action-yn'.

(fn PROC VEC)
(defalias 'tramp-action-yesno #[514 "\305 \306\307\310\311\312!\313\"\314$\216\315\316\317!!\210\320\321\307!!\204'\322!\210\323\324\325\"\210r\317!q\210\326\327\330 C\3311\320	X\205\312\n\203m\332X\203m\333\334\307U\203S\335\202h\336U\203]\335\202h\314U\203g\337\202h\340P#\210	\341Y\205\312\307\336U\203\252\3421\245r\343!\203\214\344!\202\220\317\345\"q\210\327P\262\346\330 C\"\211\262)0\202\251\210\202\252\210\343!\203\266\347\312\"\262)\242>\205\312\333\350\351\352\"P$0\266\204\202\324\210\353\266\204\210)\354\355\fP\"\210*\210\315\207" [enable-recursive-minibuffers tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-local-end-of-line current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 t pop-to-buffer tramp-get-connection-buffer yes-or-no-p match-string kill-process throw tramp-action permission-denied 6 "\n%s" buffer-string (error) 3 apply message "" 1 "Warning: " "Tramp: " 4 (error) processp process-buffer dont-create append process-get tramp-debug-message format "(%d) # " nil tramp-send-string "yes"] 13 (#$ . 189631)])
#@156 Ask the user for confirmation using `y-or-n-p'.
Send "y" to remote process on confirmation, abort otherwise.
See also `tramp-action-yesno'.

(fn PROC VEC)
(defalias 'tramp-action-yn #[514 "\305 \306\307\310\311\312!\313\"\314$\216\315\316\317!!\210\320\321\307!!\204'\322!\210\323\324\325\"\210r\317!q\210\326\327\330 C\3311\320	X\205\312\n\203m\332X\203m\333\334\307U\203S\335\202h\336U\203]\335\202h\314U\203g\337\202h\340P#\210	\341Y\205\312\307\336U\203\252\3421\245r\343!\203\214\344!\202\220\317\345\"q\210\327P\262\346\330 C\"\211\262)0\202\251\210\202\252\210\343!\203\266\347\312\"\262)\242>\205\312\333\350\351\352\"P$0\266\204\202\324\210\353\266\204\210)\354\355\fP\"\210*\210\315\207" [enable-recursive-minibuffers tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-local-end-of-line current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 t pop-to-buffer tramp-get-connection-buffer y-or-n-p match-string kill-process throw tramp-action permission-denied 6 "\n%s" buffer-string (error) 3 apply message "" 1 "Warning: " "Tramp: " 4 (error) processp process-buffer dont-create append process-get tramp-debug-message format "(%d) # " nil tramp-send-string "y"] 13 (#$ . 190970)])
#@129 Tell the remote host which terminal type to use.
The terminal type can be configured with `tramp-terminal-type'.

(fn PROC VEC)
(defalias 'tramp-action-terminal #[514 "\211\305\306C\3071\242	X\205\234\n\203?\310X\203?\311\312\313U\203%\314\202:\315U\203/\314\202:\316U\2039\317\202:\320P#\210	\321Y\205\234\313\315U\203|\3221wr\323!\203^\324!\202b\325\326\"q\210\327P\262\330\331 C\"\211\262)0\202{\210\202|\210\323!\203\210\332\333\"\262)\242>\205\234\311\334\335\336\"P$0\266\204\202\246\210\337\266\204\210r\325!q\210\211\340\327\331 C\3071P	X\205J\n\203\355\310X\203\355\311\312\313U\203\323\314\202\350\315U\203\335\314\202\350\316U\203\347\317\202\350\320P#\210	\321Y\205J\313\315U\203*\3221%r\323!\203\f\324!\202\325\326\"q\210\327P\262\330\331 C\"\211\262)0\202)\210\202*\210\323!\2036\332\333\"\262)\242>\205J\311\334\335\336\"P$0\266\204\202T\210\337\266\204\210)\341\fP\"\210\342\207" [tramp-terminal-type tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-local-end-of-line 5 "Setting `%s' as terminal type." (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " nil 6 tramp-send-string t] 12 (#$ . 192299)])
#@60 Return RET in order to confirm the message.

(fn PROC VEC)
(defalias 'tramp-action-confirm-message #[514 "r\304!q\210\211\305\306\307 C\3101\251X\205\243	\203F\311X\203F\312\313\314U\203,\315\202A\316U\2036\315\202A\317U\203@\320\202A\321P#\210\322Y\205\243\314\316U\203\203\3231~r\324!\203e\325!\202i\304\326\"q\210\306P\262\327\307 C\"\211\262)0\202\202\210\202\203\210\324!\203\217\330\331\"\262)\242\n>\205\243\312\332\333\334\"P$0\266\204\202\255\210\335\266\204\210)\336\"\210\337\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-local-end-of-line tramp-get-connection-buffer 6 "\n%s" buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " nil tramp-send-string t] 12 (#$ . 193709)])
#@55 Check, whether a process has finished.

(fn PROC VEC)
(defalias 'tramp-action-process-alive #[514 "\300!?\205\301\302\"\204\303\304\305\"\207" [process-live-p tramp-accept-process-output 0 throw tramp-action process-died] 5 (#$ . 194613)])
#@65 Check, whether an out-of-band copy has finished.

(fn PROC VEC)
(defalias 'tramp-action-out-of-band #[514 "\304\305\"\204\306!\204\300\307!\305U\203\300\211\310\311\312\3131\266X\205\260	\203S\310X\203S\314\315\305U\2039\316\202N\317U\203C\316\202N\320U\203M\321\202N\322P#\210\323Y\205\260\305\317U\203\220\3241\213r\325!\203r\326!\202v\327\330\"q\210\331P\262\332\333 C\"\211\262)0\202\217\210\202\220\210\325!\203\234\334\335\"\262)\242\n>\205\260\314\336\337\340\"P$0\266\204\202\272\210\312\266\204\210\341\342\343\"\207\344!\345>\203\320\307!\305U\203\330\344!\346=\203\350r\326!q\210eb\210\347\312\350#\203<\211\351\352\312\3131\212X\205\204	\203'\310X\203'\314\315\305U\203
\316\202\"\317U\203\316\202\"\320U\203!\321\202\"\322P#\210\323Y\205\204\305\317U\203d\3241_r\325!\203F\326!\202J\327\330\"q\210\331P\262\332\333 C\"\211\262)0\202c\210\202d\210\325!\203p\334\335\"\262)\242\n>\205\204\314\336\337\340\"P$0\266\204\202\216\210\312\266\204\210\211\310\311\312\31310X\205*	\203\315\310X\203\315\314\315\305U\203\263\316\202\310\317U\203\275\316\202\310\320U\203\307\321\202\310\322P#\210\323Y\205*\305\317U\203\n\3241r\325!\203\354\326!\202\360\327\330\"q\210\331P\262\332\333 C\"\211\262)0\202	\210\202\n\210\325!\203\334\335\"\262)\242\n>\205*\314\336\337\340\"P$0\266\204\2024\210\312\266\204\210\341\342\343\"\202\346\211\310\353\312\3131\335X\205\327	\203z\310X\203z\314\315\305U\203`\316\202u\317U\203j\316\202u\320U\203t\321\202u\322P#\210\323Y\205\327\305\317U\203\267\3241\262r\325!\203\231\326!\202\235\327\330\"q\210\331P\262\332\333 C\"\211\262)0\202\266\210\202\267\210\325!\203\303\334\335\"\262)\242\n>\205\327\314\336\337\340\"P$0\266\204\202\341\210\312\266\204\210\341\342\354\")\207\312\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-operation-not-permitted-regexp tramp-accept-process-output 0 process-live-p process-exit-status 3 "Process has finished." nil (error) apply message "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " throw tramp-action ok process-status (stop exit) signal re-search-forward t 5 "'set mode' error ignored." "Process has died." out-of-band-failed] 12 (#$ . 194865)])
#@134 Wait for output from the shell and perform one action.
See `tramp-process-actions' for the format of ACTIONS.

(fn PROC VEC ACTIONS)
(defalias 'tramp-process-one-action #[771 "\304\305\211\211\211\211\204\226\306	\307\"\204\f\262\203\211A\262\242\262\310\311@J\"\262A@\262\312\313C\3141\324	X\205\316\n\203q\315X\203q\316\317\307U\203W\320\202l\321U\203a\320\202l\322U\203k\323\202l\324P#\210	\325Y\205\316\307\321U\203\256\3261\251r\327!\203\220\330!\202\224\331\332\"q\210\333P\262\334\335 C\"\211\262)0\202\255\210\202\256\210\327!\203\272\336\337\"\262)\242>\205\316\316\340\310\341\"P$0\266\204\202\330\210\305\266\204\210\342	\"\203\312\343\344!C\3141\206	X\205\200\n\203#\315X\203#\316\317\307U\203	\320\202\321U\203\320\202\322U\203\323\202\324P#\210	\325Y\205\200\307\321U\203`\3261[r\327!\203B\330!\202F\331\332\"q\210\333P\262\334\335 C\"\211\262)0\202_\210\202`\210\327!\203l\336\337\"\262)\242>\205\200\316\340\310\341\"P$0\266\204\202\212\210\305\266\204\210\211		\"\262\202)\207" [case-fold-search tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags t nil tramp-accept-process-output 0 format "\\(%s\\)\\'" 5 "Looking for regexp \"%s\" from remote shell" (error) 3 apply message "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message "(%d) # " tramp-check-for-regexp "Call `%s'" symbol-name] 19 (#$ . 197382)])
#@1191 Perform ACTIONS until success or TIMEOUT.
PROC and VEC indicate the remote connection to be used.  POS, if
set, is the starting point of the region to be deleted in the
connection buffer.

ACTIONS is a list of (PATTERN ACTION).  The PATTERN should be a
symbol, a variable.  The value of this variable gives the regular
expression to search for.  Note that the regexp must match at the
end of the buffer, "\'" is implicitly appended to it.

The ACTION should also be a symbol, but a function.  When the
corresponding PATTERN matches, the ACTION function is called.

An ACTION function has two arguments (PROC VEC).  If it returns
nil, nothing has been done, and the next action shall be called.
A non-nil return value indicates that the process output has been
consumed, and new output shall be retrieved, before starting to
process all ACTIONs, again.  The same happens after calling the
last ACTION.

If an action determines, that all processing has been done (e.g.,
because the shell prompt has been detected), it shall throw a
result.  The symbol `ok' means that all ACTIONs have been
performed successfully.  Any other value means an error.

(fn PROC VEC POS ACTIONS &optional TIMEOUT)
(defalias 'tramp-process-actions #[1284 "\306\307\310\311	\312\"#\313#\210\214\314\315\316C\3171\262	X\205\254\n\203O\314X\203O\320\321\322U\2035\323\202J\324U\203?\323\202J\325U\203I\326\202J\327P#\210	\330Y\205\254\322\324U\203\214\3311\207r\332!\203n\333!\202r\334\335\"q\210\336P\262\337\340 C\"\211\262)0\202\213\210\202\214\210\332!\203\230\311\312\"\262)\242>\205\254\320\341\342\343\"P$0\266\204\202\266\210\344\266\204\210\345C\n\205\326\314	\314^X\205\326\346\316\344\211#\211\205\324\347\314\350\351$\262\352\322\353\354\312#\355\"\356$\216\344\203-\3572 \360\344\361#\211\fB\352\322\362\354\312!\363\"\325$\216?\205\3642\365		#0\262\202*\2620\211\357=\203)\366\262\210\202C\211\204C\3642>\365#0\262\202-r\334!q\210~\210\367\336\340 C\3171\360	X\205\352\n\203\215\314X\203\215\320\321\322U\203s\323\202\210\324U\203}\323\202\210\325U\203\207\326\202\210\327P#\210	\330Y\205\352\322\324U\203\312\3311\305r\332!\203\254\333!\202\260\334\335\"q\210\336P\262\337\340 C\"\211\262)0\202\311\210\202\312\210\332!\203\326\311\312\"\262)\242>\205\352\320\341\342\343\"P$0\266\204\202\364\210\344\266\204\210)\211\370=\203\3711\f\372
!\205
 0\202\210\202\322\210\202\322\373!\210\374!\210\334!\375\376\267\202U\377\202X\201B\201C\334\f!\"\202X\201D\201E!\202X\201B\201F\334\f!\"\202X\201G\344\201H \352\322\362\354\312!\201I\"\325$\216\201J!\203x\206\216\332!\203\204\333!\206\216\242>\205\216\334!\242>\203\231\206\250\211\205\250r\211q\210\201K@!)\352\322\201L\354\312		$\201M\"\330$\216\320\201N%)\266\202)\266\210\247\205\350r\334!q\210\201OA`|*\201P\240\210)\266\202)\207" [tramp-cache-read-persistent-data tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags with-timeout-timers tramp-password-save-function tramp-set-connection-property tramp-get-connection-property "password-vector" process-get vector "first-password-request" 3 "%s..." #1="Waiting for prompts from remote shell" #2=(error) apply message 0 #3="" 1 2 #4="Warning: " #5="Tramp: " 4 #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string tramp-debug-message format #8="(%d) # " nil "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update make-byte-code "\302\203\306\302!\210\300\307\310\311\301\242D\3121\250X\205\246\f\203I\307X\203I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210\323Y\205\246\315\317U\203\206\3241\201r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\202\205\210\202\206\210\325!\203\222\334\335\"\262)\242
>\205\246\313\336\337\340\"P$0\207\210\341\207" vconcat [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags cancel-timer 3 "%s...%s" #1# #2# apply message 0 #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message format #8# nil] 10 #9=#:timeout run-with-timer #[0 "\300\301\211\"\207" [throw #9#] 3] "\301\300!\207" [cancel-timer] tramp-action tramp-process-one-action timeout 6 ok (error) functionp tramp-clear-passwd delete-process file-error #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (permission-denied 555 out-of-band-failed 559 process-died 573 timeout 583)) "Permission denied" default-directory inhibit-read-only format-message "Copy failed, see buffer `%s' for details" substitute-command-keys "Tramp failed to connect.  If this happens repeatedly, try\n    `\\[tramp-cleanup-this-connection]'" "Timeout reached, see buffer `%s' for details" "Login failed" current-window-configuration [set-window-configuration] bufferp tramp-dissect-file-name "\302\203-\f\203-
\306U\204-\307 \204-\310 \203-\311\312\313\300\301#\210\314\302!\210\315 \210\316\317!\210)\320\303@\"\205;\321 \241\207" [tramp-message-show-message tramp-verbose 0 tramp-completion-mode-p current-message t apply message pop-to-buffer discard-input sit-for 30 tramp-file-name-equal-p current-time enable-recursive-minibuffers tramp-current-connection] tramp-error t "done"] 25 (#$ . 198983)])
#@184 Like `accept-process-output' for Tramp processes.
This is needed in order to hide `last-coding-system-used', which is set
for process communication also.

(fn PROC &optional TIMEOUT)
(defalias 'tramp-accept-process-output #[513 "r\306!q\210\307\310\211\311\312\313\n!\3141.\310\315\310\307$\211\262)0\2024\210\307\316\317!\320 \257\3211\326\fX\205\320
\203r\322X\203r\323\324\325U\203X\326\202m\327U\203b\326\202m\330U\203l\331\202m\332P#\210\f\333Y\205\320\325\327U\203\257\3341\252r\335!\203\221\306!\202\225\336\337\"q\210\340P\262\341\320 C\"\211\262)0\202\256\210\202\257\210\335!\203\273\342\343\"\262)\242'>\205\320\323\344\345\346\"P$0\266\204\202\332\210\310\266\204\210*\266\202)\207" [last-coding-system-used inhibit-read-only inhibit-quit quit-flag tramp-verbose tramp-message-show-message process-buffer t nil 10 "%s %s %s %s\n%s" process-status (quit) accept-process-output eval (ignore nil) buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp tramp-get-connection-buffer dont-create "\n%s" append process-get vector tramp-debug-message format "(%d) # " cl-struct-tramp-file-name-tags] 16 (#$ . 204531)])
#@163 Search for REGEXP backwards, starting at point-max.
If found, set point to the end of the occurrence found, and return point.
Otherwise, return nil.

(fn REGEXP)
(defalias 'tramp-search-regexp #[257 "db\210\300e`\301Z]\302#\207" [re-search-backward 256 noerror] 6 (#$ . 205760)])
#@114 Check, whether REGEXP is contained in process buffer of PROC.
Erase echoed commands if exists.

(fn PROC REGEXP)
(defalias 'tramp-check-for-regexp #[514 "r\306!q\210eb\210\307\310\311#\203\344\312`\313	_\\\314#\203\344\315\224\312`\307\316\317#\\\314#\203\343\320\310\"\210\313\321\311\3221\324\nX\205\316\203q\323X\203q\324\325\315U\203W\326\202l\327U\203a\326\202l\330U\203k\331\202l\332P#\210\n\333Y\205\316\315\327U\203\256\3341\251r\335!\203\220\306!\202\224\336\337\"q\210\340P\262\341\342 C\"\211\262)0\202\255\210\202\256\210\335!\203\272\343\344\"\262)\242\f>\205\316\324\345\346\347\"P$0\266\204\202\330\210\311\266\204\210\327y\210\211`|\210eb\210\210\307\310\311#\203\350
\315	dS^#\351ee	\\d^\"\230?\205\352!)\207" [tramp-echoed-echo-mark-regexp tramp-echo-mark-marker-length tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-echo-mark-marker process-buffer tramp-get-connection-property "check-remote-echo" nil re-search-forward 5 t 0 "pipe-buf" 4096 tramp-flush-connection-property "echo-mark found" (error) 3 apply message "" 1 2 "Warning: " "Tramp: " 4 (error) processp tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " substring-no-properties buffer-substring-no-properties tramp-search-regexp] 13 (#$ . 206048)])
#@239 Wait for a REGEXP to appear from process PROC within TIMEOUT seconds.
Expects the output of PROC to be sent to the current buffer.  Returns
the string that matched, or nil.  Waits indefinitely if TIMEOUT is
nil.

(fn PROC TIMEOUT REGEXP)
(defalias 'tramp-wait-for-regexp #[771 "\306\"\203\260\3072\254\310\311\312#\211B\313\314\315\316\317!\320\"\321$\216?\205\250\322!\210\323!\204\237\311\324\325\311\326 \313\314\315\316\317!\327\"\321$\216\330!\203N\206d\331!\203Z\332!\206d\242	>\205d\333!\242	>\203o\206{\211\205{r\211q\210\334\n!)\313\314\335\316\317		$\336\"\337$\216\340\341%)\266\202)\266\306\"\262\202!*\2620\210\2026\211\2046\322!\210\323!\204-\311\324\325\311\326 \313\314\315\316\317!\327\"\321$\216\330!\203\334\206\362\331!\203\350\332!\206\362\242	>\205\362\333!\242	>\203\375\206	\211\205	r\211q\210\334\n!)\313\314\335\316\317		$\336\"\337$\216\340\341%)\266\202)\266\306\"\262\202\260\3421\354r\332!q\210\343\344\345 C\3461\343X\205\335\f\203\200\347X\203\200\340\350\314U\203f\351\202{\352U\203p\351\202{\321U\203z\353\202{\354P#\210\337Y\205\335\314\352U\203\275\3551\270r\331!\203\237\332!\202\243\333\356\"q\210\344P\262\357\345 C\"\211\262)0\202\274\210\202\275\210\331!\203\311\360\317\"\262)\242	>\205\335\340\361\362\363\"P$0\266\204\202\347\210\311\266\204)0\202\360\210\202\361\210\211\204\334\203\354\324\364D\311\211\365Y\205\211\203\316\211\365\344\366\367!@\370\216@@\371 \210)r@q\210\345 +C\3461\307X\205\301\f\203d\347X\203d\340\350\314U\203J\351\202_\352U\203T\351\202_\321U\203^\353\202_\354P#\210\337Y\205\301\314\352U\203\241\3551\234r\331!\203\203\332!\202\207\333\356\"q\210\344P\262\357\345 C\"\211\262)0\202\240\210\202\241\210\331!\203\255\360\317\"\262)\242	>\205\301\340\361\362\363\"P$0\266\205\202\210\311\266\205\202\nr\372\373!q\210p\374 \210\311\211AB\375\211C\375DE\376 \210\377\201F!\210+\211@\371 \201G!\210)\266\202\262\210\211\204C\262\201H\262\203\323\352\201H\201I\211\201JN\340\201K		#E!C\3461\316X\205\310\f\203k\347X\203k\340\350\314U\203Q\351\202f\352U\203[\351\202f\321U\203e\353\202f\354P#\210\337Y\205\310\314\352U\203\250\3551\243r\331!\203\212\332!\202\216\333\356\"q\210\344P\262\357\345 C\"\211\262)0\202\247\210\202\250\210\331!\203\264\360\317\"\262)\242	>\205\310\340\361\362\363\"P$0\266\204\202\322\210\311\266\204\210\201L\201M\340\201K#!C\"*\266\202\334\324\201NC\311\211\365Y\205\365\211\203\301\211\365\344\366\367!@\370\216@@\371 \210)r@q\210\345 +C\3461\272X\205\264\f\203W\347X\203W\340\350\314U\203=\351\202R\352U\203G\351\202R\321U\203Q\353\202R\354P#\210\337Y\205\264\314\352U\203\224\3551\217r\331!\203v\332!\202z\333\356\"q\210\344P\262\357\345 C\"\211\262)0\202\223\210\202\224\210\331!\203\240\360\317\"\262)\242	>\205\264\340\361\362\363\"P$0\266\205\202\367\210\311\266\205\202\367\nr\372\373!q\210p\374 \210\311\211AB\375\211C\375DE\376 \210\377\201F!\210+\211@\371 \201G!\210)\266\202\262\210\211\204C\262\201H\262\203\306\352\201H\201I\211\201JN\340\201K		#E!C\3461\301X\205\273\f\203^\347X\203^\340\350\314U\203D\351\202Y\352U\203N\351\202Y\321U\203X\353\202Y\354P#\210\337Y\205\273\314\352U\203\233\3551\226r\331!\203}\332!\202\201\333\356\"q\210\344P\262\357\345 C\"\211\262)0\202\232\210\202\233\210\331!\203\247\360\317\"\262)\242	>\205\273\340\361\362\363\"P$0\266\204\202\305\210\311\266\204\210\201L\201M\340\201K#!C\"*\266\211\207" [with-timeout-timers cl-struct-tramp-file-name-tags default-directory tramp-verbose tramp-message-show-message signal-hook-function tramp-check-for-regexp #1=#:timeout run-with-timer nil #[0 "\300\301\211\"\207" [throw #1#] 3] make-byte-code 0 "\301\300!\207" vconcat vector [cancel-timer] 2 tramp-accept-process-output process-live-p file-error "Process has died" current-window-configuration [set-window-configuration] bufferp processp process-buffer tramp-get-connection-buffer tramp-dissect-file-name "\302\203-\f\203-
\306U\204-\307 \204-\310 \203-\311\312\313\300\301#\210\314\302!\210\315 \210\316\317!\210)\320\303@\"\205;\321 \241\207" [tramp-message-show-message tramp-verbose 0 tramp-completion-mode-p current-message t apply message pop-to-buffer discard-input sit-for 30 tramp-file-name-equal-p current-time enable-recursive-minibuffers tramp-current-connection] 4 apply tramp-error (error) 6 "\n%s" buffer-string (error) 3 message "" 1 "Warning: " "Tramp: " (error) dont-create append process-get tramp-debug-message format "(%d) # " "[[Regexp `%s' not found in %d secs]]" 10 generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks standard-output buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal substring-no-properties "[[Regexp `%s' not found]]"] 22 (#$ . 207451)])
#@263 Send the STRING via connection VEC.

The STRING is expected to use Unix line-endings, but the lines sent to
the remote host use line-endings as defined in the variable
`tramp-rsh-end-of-line'.  The communication buffer is erased before sending.

(fn VEC STRING)
(defalias 'tramp-send-string #[514 "\306!\307\310\311#\204\340\312\313\311\211\211\n\314Y\205	\211\203\332\211\314\315\316\317!\320\216\321 \210)rq\210\322 +C\3231\323\nX\205\315	\203p\324X\203p\325\326\327U\203V\330\202k\331U\203`\330\202k\332U\203j\333\202k\334P#\210\n\335Y\205\315\327\331U\203\255\3361\250r\337!\203\217\340!\202\223\341\342\"q\210\315P\262\343\322 C\"\211\262)0\202\254\210\202\255\210\337!\203\271\344\345\"\262)\242\f>\205\315\325\346\347\350\"P$0\266\205\202\210\311\266\205\202
r\351\352!q\210p\353 \210\311\211@A\354\211B\354CD\355 \210\356\357!\210+\211\321 \360!\210)\266\202\262\210\211\204C\262\361\262\203\320\331\361\362\211\363N\325\364		#E!C\3231\313\nX\205\305	\203h\324X\203h\325\326\327U\203N\330\202c\331U\203X\330\202c\332U\203b\333\202c\334P#\210\n\335Y\205\305\327\331U\203\245\3361\240r\337!\203\207\340!\202\213\341\342\"q\210\315P\262\343\322 C\"\211\262)0\202\244\210\202\245\210\337!\203\261\344\345\"\262)\242\f>\205\305\325\346\347\350\"P$0\266\204\202\317\210\311\266\204\210\365\366\325\364#!C\"*\266\367\370\371 #\210\314\361C\3231\211\nX\205\203	\203&\324X\203&\325\326\327U\203\f\330\202!\331U\203\330\202!\332U\203 \333\202!\334P#\210\n\335Y\205\203\327\331U\203c\3361^r\337!\203E\340!\202I\341\342\"q\210\315P\262\343\322 C\"\211\262)0\202b\210\202c\210\337!\203o\344\345\"\262)\242\f>\205\203\325\346\347\350\"P$0\266\204\202\215\210\311\266\204\210r\341!q\210\354Ded|\210)\372\373\374\375\"E#\262\211\330\230\262\204\300\376\377\"E\230\204\300EP\262\201H1\265\311F\211\203\252\211\327U\204\252\327GW\205\245\314\201I\211\\^D\3231\206\nX\205\200	\203#\324X\203#\325\326\327U\203	\330\202\331U\203\330\202\332U\203\333\202\334P#\210\n\335Y\205\200\327\331U\203`\3361[r\337!\203B\340!\202F\341\342\"q\210\315P\262\343\322 C\"\211\262)0\202_\210\202`\210\337!\203l\344\345\"\262)\242\f>\205\200\325\346\347\350\"P$0\266\204\202\212\210\311\266\204\210\201J\376\211\\^#\"\210\\\262\202\326\266\202\202\260\201J\")0\202\300\210\354G\201K\201L!)\207" [signal-hook-function tramp-message-show-message tramp-verbose standard-output cl-struct-tramp-file-name-tags default-directory tramp-get-connection-process tramp-get-connection-property "chunksize" nil file-error "Can't send string to remote host -- not logged in" 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal substring-no-properties tramp-set-connection-property "last-cmd-time" current-time mapconcat identity split-string "\n" substring -1 buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only tramp-rsh-end-of-line inhibit-quit quit-flag (quit) "Sending chunk from %s to %s" process-send-string eval (ignore nil)] 19 (#$ . 212828)])
#@61 Flush file caches and remove shell prompt.

(fn PROC EVENT)
(defalias 'tramp-process-sentinel #[514 "\303!?\205\346\304\305\"\306!\307\310\311#\203\312\312\313D\3141\274X\205\266	\203Y\315X\203Y\316\317\320U\203?\321\202T\322U\203I\321\202T\323U\203S\324\202T\325P#\210\326Y\205\266\320\322U\203\226\3271\221r\330!\203x\306!\202|\331\332\"q\210\333P\262\334\335 C\"\211\262)0\202\225\210\202\226\210\330!\203\242\304\305\"\262)\242\n>\205\266\316\336\337\340\"P$0\266\204\202\300\210\311\266\204\210\341!\210\342\321\"\210\343!\205\344rq\210\211\205\343\344\345!!\205\343`d|)\266\203\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags process-live-p process-get vector process-buffer tramp-get-connection-property "prompt" nil 5 "Sentinel called: `%S' `%s'" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp tramp-get-connection-buffer dont-create "\n%s" append buffer-string tramp-debug-message format "(%d) # " tramp-flush-connection-properties tramp-flush-directory-properties buffer-live-p tramp-search-regexp regexp-quote] 15 (#$ . 216534)])
#@85 Return the virtual inode number.
If it doesn't exist, generate a new one.

(fn VEC)
(defalias 'tramp-get-inode #[257 "\302\242>\204\303\304\305D\"\210\3068!\203R\307\211\242>\204&\303\304\305D\"\210\3068\310\311$\211\311=\203P	T\211\262\312\211\242>\204I\303\304\305D\"\210\3068\310$\210\211\207	T\211\207" [cl-struct-tramp-file-name-tags tramp-inodes file-name-absolute-p signal wrong-type-argument tramp-file-name 6 tramp-get-file-property "inode" undef tramp-set-file-property] 8 (#$ . 217705)])
#@86 Return the virtual device number.
If it doesn't exist, generate a new one.

(fn VEC)
(defalias 'tramp-get-device #[257 "\301\302!\303\304#\211\304=\203\305T\211B\262\306\302!\303#\210\211\207" [tramp-devices tramp-get-connection-property tramp-get-connection-process "device" undef -1 tramp-set-connection-property] 6 (#$ . 218233)])
#@534 Check, whether the remote parts of FILE1 and FILE2 are identical.
The check depends on method, user and host name of the files.  If
one of the components is missing, the default values are used.
The local file name parts of FILE1 and FILE2 are not taken into
account.

Example:

  (tramp-equal-remote "/ssh::/etc" "/-:<your host name>:/home")

would yield t.  On the other hand, the following check results in nil:

  (tramp-equal-remote "/sudo::/etc" "/su::/etc")

If both files are local, the function returns t.

(fn FILE1 FILE2)
(defalias 'tramp-equal-remote #[514 "\300!\204
\300!?\206 \300!\205 \300!\205 \301!\301!\230\207" [tramp-tramp-file-p file-remote-p] 5 (#$ . 218582)])
#@87 Convert a ten-letter "drwxrwxrwx"-style MODE-STRING into mode bits.

(fn MODE-STRING)
(defalias 'tramp-mode-string-to-int #[257 "\301\211\302!\262\211\303H\304H\305H\306H\307H\310H\311H\312H\313H\314\315\n\316\"\2033\317\202D\315\n\320\"\203?\321\202D\322\323\"\315\n\324\"\203P\325\202a\315\n\320\"\203\\\321\202a\322\326\"\315\n\327\"\203m\330\202\226\315\n\331\"\203y\332\202\226\315\n\333\"\203\205\334\202\226\315\n\320\"\203\221\321\202\226\322\335\"\315\n\316\"\203\242\336\202\263\315\n\320\"\203\256\321\202\263\322\337\"\315\n\324\"\203\277\340\202\320\315\n\320\"\203\313\321\202\320\322\341\"\315\n\327\"\203\334\312\202\315\n\331\"\203\350\342\202\315\n\333\"\203\364\343\202\315\n\320\"\203\321\202\322\344\"\315\n\316\"\203\306\202\"\315\n\320\"\203\321\202\"\322\345\"\315\n\324\"\203.\304\202?\315\n\320\"\203:\321\202?\322\346\"\315\n\327\"\203K\303\202t\315\n\347\"\203W\350\202t\315\n\351\"\203c\352\202t\315\n\320\"\203o\321\202t\322\353\"&	)\207" [case-fold-search nil vconcat 1 2 3 4 5 6 7 8 9 logior char-equal 114 256 45 0 error "Second char `%c' must be one of `r-'" 119 128 "Third char `%c' must be one of `w-'" 120 64 83 2048 115 2112 "Fourth char `%c' must be one of `xsS-'" 32 "Fifth char `%c' must be one of `r-'" 16 "Sixth char `%c' must be one of `w-'" 1024 1032 "Seventh char `%c' must be one of `xsS-'" "Eighth char `%c' must be one of `r-'" "Ninth char `%c' must be one of `w-'" 84 512 116 513 "Tenth char `%c' must be one of `xtT-'"] 23 (#$ . 219282)])
#@118 A list of file types returned from the `stat' system call.
This is used to map a mode number to a permission string.
(defconst tramp-file-mode-type-map '((0 . "-") (1 . "p") (2 . "c") (3 . "m") (4 . "d") (5 . "?") (6 . "b") (7 . "?") (8 . "-") (9 . "n") (10 . "l") (11 . "?") (12 . "s") (13 . "D") (14 . "w")) (#$ . 220890))
#@80 Turn an integer representing a file MODE into an ls(1)-like string.

(fn MODE)
(defalias 'tramp-file-mode-from-int #[257 "\301\302\303\304\"\305\"\"A\302\303\306\"\307\"\302\303\310\"\307\"\302\303\311\"\307\"\302\303\312\"\313\"\311V\302\303\312\"\314\"\311V\302\303\312\"\315\"\311V\316\317#\262\316\317#\262\316\320#\262R\207" [tramp-file-mode-type-map assoc logand ash -12 15 -6 7 -3 0 -9 4 2 1 tramp-file-mode-permissions "s" "t"] 12 (#$ . 221221)])
#@125 Convert a permission bitset into a string.
This is used internally by `tramp-file-mode-from-int'.

(fn PERM SUID SUID-TEXT)
(defalias 'tramp-file-mode-permissions #[771 "\300\301\"\302V\300\303\"\302V\300\304\"\302V\203\305\202\306\203#\307\202$\306\2031\2031\206D\203;\226\206D\203C\310\202D\306Q\207" [logand 4 0 2 1 "r" "-" "w" "x"] 9 (#$ . 221712)])
#@393 Set the ownership for FILENAME.
If UID and GID are provided, these values are used; otherwise uid
and gid of the corresponding remote or local user is taken,
depending whether FILENAME is remote or local.  Both parameters
must be non-negative integers.
The setgid bit of the upper directory is respected.
If FILENAME is remote, a file name handler is called.

(fn FILENAME &optional UID GID)
(defalias 'tramp-set-file-uid-gid #[769 "\301!\302!\211\203\303\304\"\305U\204\306!\3078\262\262\266\310\311\"\211\2030\211\311$\202f\312>?\205f\313!\203A\206D\314\315!\313!\203N\206Q\316\315!\317\320\321\320\211\211\322\323		#\324
!&\266\202\207" [system-type file-name-directory file-modes logand 1024 0 file-attributes 3 find-file-name-handler tramp-set-file-uid-gid (ms-dos windows-nt) natnump tramp-get-local-uid integer tramp-get-local-gid tramp-call-process nil "chown" format "%d:%d" tramp-unquote-shell-quote-argument] 16 (#$ . 222099)])
#@109 The uid of the local user, in ID-FORMAT.
ID-FORMAT valid values are `string' and `integer'.

(fn ID-FORMAT)
(defalias 'tramp-get-local-uid #[257 "\300\301\302\303\"\304#\211\304=\203&\305=\203\306 \202\307 \262\310\301\302\303\"#\210\211\207" [tramp-get-connection-property nil format "uid-%s" undef integer user-uid user-login-name tramp-set-connection-property] 7 (#$ . 223077)])
#@109 The gid of the local user, in ID-FORMAT.
ID-FORMAT valid values are `string' and `integer'.

(fn ID-FORMAT)
(defalias 'tramp-get-local-gid #[257 "\300\301\302\303\"\304#\211\304=\203F\305=\203\306 \202;\307\310!\2032\311=\2032\312\310!\205;\310\306 !\202;\313\314\"\3158\262\262\316\301\302\303\"#\210\211\207" [tramp-get-connection-property nil format "gid-%s" undef integer group-gid fboundp group-name string functionp file-attributes "~/" 3 tramp-set-connection-property] 7 (#$ . 223476)])
#@93 Determine locale, supporting UTF8 if possible.
VEC is used for tracing.

(fn &optional VEC)
(defalias 'tramp-get-local-locale #[256 "\305\306\307\310#\211\310=\203#\311\306\312\313!r\211q\210\314\315\316\317\320!\321\"\322$\216\323=\204c\324\306\307\306\325\306\326&\315U\203c\203ceb\210\327\330\331@!\"\332 \306\325\333#)\266\203\203\\@\262\306\262\2024A\262\2024*\210\203\334\335\206q\336C\3371\nX\205	\203\254\340X\203\254\341\342\315U\203\222\343\202\247\344U\203\234\343\202\247\322U\203\246\345\202\247\346P#\210\n\347Y\205	\315\344U\203\351\3501\344r\351!\203\313\352!\202\317\353\354\"q\210\355P\262\356\332 C\"\211\262)0\202\350\210\202\351\210\351!\203\365\357\320\"\262)\242\f>\205	\341\360\327\361\"P$0\266\204\202\210\306\266\204\210\211\206\336\266\202\262\362\306\307#\210\211\207" [system-type inhibit-changing-match-data tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-get-connection-property nil "locale" undef ("en_US.utf8" "C.utf8" "en_US.UTF-8") generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 windows-nt tramp-call-process t "-a" format "^%s
?$" regexp-quote buffer-string string-match 7 "locale %s" "C" (error) 3 apply message "" 1 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append process-get tramp-debug-message "(%d) # " tramp-set-connection-property] 14 (#$ . 223993)])
#@136 Check `file-attributes' caches for VEC.
Return t if according to the cache access type ACCESS is known to
be granted.

(fn VEC ACCESS)
(defalias 'tramp-check-cached-permissions #[514 "\303\304\267\202\305\202\306\202\307\202\303\310\211\203\335\211@\206\324\311\211\242>\2041\312\313\314\nD\"\210\3158\316P\303$\206F\317\320!\321!\"\322\323P\303#\322\324P\303#\325\230\203`	\202a\n\205\322\211@\262\326=\204x\211@\262?\205\322\3278\262\315\\H=\206\322\3278\262H=\203\256\3068\262\232\206\322\211\3068\262\232\206\322\3278\262\307\\H=\205\322\3078\262\232\206\322\211\3078\262\232\266\204\262A\266\202\202\262\207" [cl-struct-tramp-file-name-tags tramp-unknown-id-string tramp-unknown-id-integer nil #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (114 7 119 11 120 15)) 1 2 3 ("string" "integer") tramp-get-file-property signal wrong-type-argument tramp-file-name 6 "file-attributes-" file-attributes tramp-make-tramp-file-name intern tramp-get-connection-property "uid-" "gid-" "string" t 8] 14 (#$ . 225539)])
#@143 Return t if this points to the local host, nil otherwise.
This handles also chrooted environments, which are not regarded as local.

(fn VEC)
(defalias 'tramp-local-host-p #[257 "\211\242>\204\303\304\305D\"\210\3068\242>\204\303\304\305D\"\210\3078	;\205j;\205j	\310\311\312#)\266\203\205j\211?\205j\313\314\"\205j\315\316\317\320\321N@!\322#!\205j\323 \324U\206j\325\326!\205h\326\327\"\324U\207" [cl-struct-tramp-file-name-tags tramp-local-host-regexp inhibit-changing-match-data signal wrong-type-argument tramp-file-name 4 5 nil t string-match tramp-get-method-parameter tramp-login-program file-writable-p tramp-make-tramp-file-name eval temporary-file-directory standard-value nohop user-uid 0 functionp tramp-get-remote-uid integer] 10 (#$ . 226683)])
#@86 Return directory for temporary files on the remote host identified by VEC.

(fn VEC)
(defalias 'tramp-get-remote-tmpdir #[257 "\306\307\310#\211\310=\203\311\312\313\"\206\314\"\315!\203(\316!\203(\317!\204\375\320\321C\322\211\n\323Y\205&\211\203\367\211\323\324\325\326!\327\216\330 \210)rq\210\331 +C\3321\360\nX\205\352	\203\215\333X\203\215\334\335\336U\203s\337\202\210\340U\203}\337\202\210\341U\203\207\342\202\210\343P#\210\n\344Y\205\352\336\340U\203\312\3451\305r\346!\203\254\347!\202\260\350\351\"q\210\324P\262\352\331 C\"\211\262)0\202\311\210\202\312\210\346!\203\326\353\354\"\262)\242\f>\205\352\334\355\356\357\"P$0\266\205\202(\210\322\266\205\202(
r\360\361!q\210p\362 \210\322\211?@\363\211A\363BC\364 \210\365\366!\210+\211\330 \367!\210)\266\202\262\210\211\2044C\262\370\262\203\355\340\370\371\211\372N\334\373		#E!C\3321\350\nX\205\342	\203\205\333X\203\205\334\335\336U\203k\337\202\200\340U\203u\337\202\200\341U\203\342\202\200\343P#\210\n\344Y\205\342\336\340U\203\302\3451\275r\346!\203\244\347!\202\250\350\351\"q\210\324P\262\352\331 C\"\211\262)0\202\301\210\202\302\210\346!\203\316\353\354\"\262)\242\f>\205\342\334\355\356\357\"P$0\266\204\202\354\210\322\266\204\210\374\375\334\373#!C\"*\266\211\262\262\376\307#\210\211\207" [signal-hook-function tramp-message-show-message tramp-verbose standard-output cl-struct-tramp-file-name-tags default-directory tramp-get-connection-property "tmpdir" undef tramp-make-tramp-file-name tramp-get-method-parameter tramp-tmpdir "/tmp" file-directory-p file-writable-p tramp-file-local-name file-error "Directory %s not accessible" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal substring-no-properties tramp-set-connection-property buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 18 (#$ . 227477)])
#@118 Create a temporary file on the remote host identified by VEC.
Return the local name of the temporary file.

(fn VEC)
(defalias 'tramp-make-tramp-temp-file #[257 "\301\302!\"\303\211\204(\304!\262\305!\203\303\262\202\306!\210\307\310\"\210\202\311!\207" [tramp-temp-name-prefix expand-file-name tramp-get-remote-tmpdir nil make-temp-name file-exists-p set-file-times set-file-modes 448 tramp-file-local-name] 6 (#$ . 229931)])
#@51 Remove temporary files related to current buffer.
(defalias 'tramp-delete-temp-file-function #[0 ";\205\3011\302!0\207\210\303\207" [tramp-temp-buffer-file-name (error) delete-file nil] 2 (#$ . 230380)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [add-hook kill-buffer-hook tramp-delete-temp-file-function tramp-unload-hook #[0 "\300\301\302\"\207" [remove-hook kill-buffer-hook tramp-delete-temp-file-function] 3]] 3)
#@156 Like `make-auto-save-file-name' for Tramp files.
Returns a file name in `tramp-auto-save-directory' for autosaving
this file, if that variable is non-nil.
(defalias 'tramp-handle-make-auto-save-file-name #[0 ";\203	\305!\203\306!\204\307\310\"\210;\203'\311!\203'\312\202(	?\205.\n\2046\202w\305\313\314\303 \315\211?\205B\f\316!\211\211?\205N\f\317\320\316!\")\266\202\203l\211G\321U\203f\322\202j\323\321\"\262\324!P)\266\203\"\"\325\326\315\"+\207" [tramp-auto-save-directory system-type auto-save-file-name-transforms buffer-file-name file-name-handler-alist expand-file-name file-exists-p make-directory t tramp-tramp-file-p not-windows tramp-subst-strs-in-string (("_" . "|") ("/" . "_a") (":" . "_b") ("|" . "__") ("[" . "_l") ("]" . "_r")) nil file-local-name string-prefix-p "/:" 2 "/" substring file-remote-p tramp-run-real-handler make-auto-save-file-name] 14 (#$ . 230819)])
#@122 Replace all occurrences of the string FROM with TO in STRING.
ALIST is of the form ((FROM . TO) ...).

(fn ALIST STRING)
(defalias 'tramp-subst-strs-in-string #[514 "\300 \301\302\303\304\305!\306\"\307$\216\2037@\211@A\310\311!\"\203.\312\313\211$\262\202A\262\266\202)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match regexp-quote replace-match t] 11 (#$ . 231753)])
#@50 Like `temporary-file-directory' for Tramp files.
(defalias 'tramp-handle-temporary-file-directory #[0 "\3012=\3021\303\304!!0\202\210\305D\211\205:\211@\211;\2033\306!\2033\307!\2033\310\301\311!\"\210A\266\202\202\2620\207" [default-directory result (error) tramp-get-remote-tmpdir tramp-dissect-file-name nil file-directory-p file-writable-p throw expand-file-name] 6 (#$ . 232212)])
#@86 Like `make-nearby-temp-file' for Tramp files.

(fn PREFIX &optional DIR-FLAG SUFFIX)
(defalias 'tramp-handle-make-nearby-temp-file #[769 "\301 \302#)\207" [temporary-file-directory tramp-compat-temporary-file-directory-function make-temp-file] 7 (#$ . 232622)])
#@266 Call `call-process' on the local host.
It always returns a return code.  The Lisp error raised when
PROGRAM is nil is trapped also, returning 1.  Furthermore, traces
are written with verbosity of 6.

(fn VEC PROGRAM &optional INFILE DESTINATION DISPLAY &rest ARGS)
(defalias 'tramp-call-process #[1410 "\306\307\310N@!\311\301!\312=\203p\202\206@\313\211\211\314\315\316\317\320#\266\202\nF\3211\324X\205\316\f\203q\322X\203q\323\324\325U\203W\326\202l\327U\203a\326\202l\330U\203k\331\202l\332P#\210\333Y\205\316\325\327U\203\256\3341\251r\335!\203\220\336!\202\224\337\340\"q\210\341P\262\342\343 C\"\211\262)0\202\255\210\202\256\210\335!\203\272\344\345\"\262)\242
>\205\316\323\346\347\350\"P$0\266\204\202\330\210\313\266\204\210\3511*\352\353!r\211q\210\354\325\355\356\345!\357\"\330$\216\323\360	\206\374\312&\262;\203\262\327\262r\361!\203\202pq\210\343 \211\262+\2620\2025\362!\262\327\211\262\262\210G\325U\203\351\314\363D\3211\341X\205\333\f\203~\322X\203~\323\324\325U\203d\326\202y\327U\203n\326\202y\330U\203x\331\202y\332P#\210\333Y\205\333\325\327U\203\273\3341\266r\335!\203\235\336!\202\241\337\340\"q\210\341P\262\342\343 C\"\211\262)0\202\272\210\202\273\210\335!\203\307\344\345\"\262)\242
>\205\333\323\346\347\350\"P$0\266\204\202\345\210\313\266\204\210\202\224\314\364E\3211\217X\205\211\f\203,\322X\203,\323\324\325U\203\326\202'\327U\203\326\202'\330U\203&\331\202'\332P#\210\333Y\205\211\325\327U\203i\3341dr\335!\203K\336!\202O\337\340\"q\210\341P\262\342\343 C\"\211\262)0\202h\210\202i\210\335!\203u\344\345\"\262)\242
>\205\211\323\346\347\350\"P$0\266\204\202\223\210\313\266\204\210*\207" [tramp-current-connection process-environment default-directory tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags eval temporary-file-directory standard-value default-toplevel-value t nil 6 "`%s %s' %s %s" " " mapconcat identity (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " (error) generate-new-buffer " *temp*" make-byte-code "\301\300!\205	\302\300!\207" vconcat [buffer-name kill-buffer] call-process bufferp error-message-string "%s\n%s" "%s\n%s\n%s"] 23 (#$ . 232895)])
#@278 Call `call-process-region' on the local host.
It always returns a return code.  The Lisp error raised when
PROGRAM is nil is trapped also, returning 1.  Furthermore, traces
are written with verbosity of 6.

(fn VEC START END PROGRAM &optional DELETE BUFFER DISPLAY &rest ARGS)
(defalias 'tramp-call-process-region #[1924 "\305\306\307N@!\310\300!\311=\203p\202\312\313\314\315\316\317#\266\202	\257\3201\320\nX\205\312\203m\321X\203m\322\323\324U\203S\325\202h\326U\203]\325\202h\327U\203g\330\202h\331P#\210\n\332Y\205\312\324\326U\203\252\3331\245r\334!\203\214\335!\202\220\336\337\"q\210\340P\262\341\342 C\"\211\262)0\202\251\210\202\252\210\334!\203\266\343\344\"\262)\242\f>\205\312\322\345\346\347\"P$0\266\204\202\324\210\312\266\204\210\3501d\322\351\f\f\f\f\f\f&\262\211;\203\370\352\353C\"\210r\354!\203\202pq\210\211\324U\203\266\313\355C\3201\257\nX\205\251\203L\321X\203L\322\323\324U\2032\325\202G\326U\203<\325\202G\327U\203F\330\202G\331P#\210\n\332Y\205\251\324\326U\203\211\3331\204r\334!\203k\335!\202o\336\337\"q\210\340P\262\341\342 C\"\211\262)0\202\210\210\202\211\210\334!\203\225\343\344\"\262)\242\f>\205\251\322\345\346\347\"P$0\266\204\202_\210\312\266\204\202_\313\356\342 D\3201[\nX\205U\203\370\321X\203\370\322\323\324U\203\336\325\202\363\326U\203\350\325\202\363\327U\203\362\330\202\363\331P#\210\n\332Y\205U\324\326U\2035\33310r\334!\203\335!\202\336\337\"q\210\340P\262\341\342 C\"\211\262)0\2024\210\2025\210\334!\203A\343\344\"\262)\242\f>\205U\322\345\346\347\"P$0\266\204\202_\210\312\266\204)0\202\326\262\f\313\356\357!D\3201
\nX\205\203\252\321X\203\252\322\323\324U\203\220\325\202\245\326U\203\232\325\202\245\327U\203\244\330\202\245\331P#\210\n\332Y\205\324\326U\203\347\3331\342r\334!\203\311\335!\202\315\336\337\"q\210\340P\262\341\342 C\"\211\262)0\202\346\210\202\347\210\334!\203\363\343\344\"\262)\242\f>\205\322\345\346\347\"P$0\266\204\202\210\312\266\204\262\210*\207" [process-environment default-directory tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags eval temporary-file-directory standard-value default-toplevel-value t nil 6 "`%s %s' %s %s %s %s" " " mapconcat identity (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " (error) call-process-region signal file-error bufferp "%d" "%d\n%s" error-message-string] 23 (#$ . 235410)])
#@147 Call `process-lines' on the local host.
If an error occurs, it returns nil.  Traces are written with
verbosity of 6.

(fn VEC PROGRAM &rest ARGS)
(defalias 'tramp-process-lines #[642 "\306\307\310N@!\311\301!\206@\312\203\315\313\314\315\316\317#\266\202D\3201\305X\205\277\f\203b\321X\203b\322\323\324U\203H\325\202]\326U\203R\325\202]\327U\203\\\330\202]\331P#\210\332Y\205\277\324\326U\203\237\3331\232r\334!\203\201\335!\202\205\336\337\"q\210\340P\262\341\342 C\"\211\262)0\202\236\210\202\237\210\334!\203\253\343\344\"\262)\242
>\205\277\322\345\346\347\"P$0\266\204\202\311\210\312\266\204\210\202u\313\350C\3201pX\205j\f\203
\321X\203
\322\323\324U\203\363\325\202\326U\203\375\325\202\327U\203\330\202\331P#\210\332Y\205j\324\326U\203J\3331Er\334!\203,\335!\2020\336\337\"q\210\340P\262\341\342 C\"\211\262)0\202I\210\202J\210\334!\203V\343\344\"\262)\242
>\205j\322\345\346\347\"P$0\266\204\202t\210\312\266\204\210\3511\204\322\352#0\202b@A\312\211\211=\353Y\205\211\211\203Y\211\353\340\354\355!>\356\216>>\357 \210)r>q\210\342 +C\3201RX\205L\f\203\357\321X\203\357\322\323\324U\203\325\325\202\352\326U\203\337\325\202\352\327U\203\351\330\202\352\331P#\210\332Y\205L\324\326U\203,\3331'r\334!\203\335!\202\336\337\"q\210\340P\262\341\342 C\"\211\262)0\202+\210\202,\210\334!\2038\343\344\"\262)\242
>\205L\322\345\346\347\"P$0\266\205\202\213\210\312\266\205\202\213\nr\360\361!q\210p\362 \210\312\211?@\363\211A\363BC\364 \210\365\366!\210+\211>\357 \367!\210)\266\202\262\210\211\204\227C\262\350\262\203P\326\350\370\211\371N\322\372		#E!C\3201KX\205E\f\203\350\321X\203\350\322\323\324U\203\316\325\202\343\326U\203\330\325\202\343\327U\203\342\330\202\343\331P#\210\332Y\205E\324\326U\203%\3331 r\334!\203\335!\202\336\337\"q\210\340P\262\341\342 C\"\211\262)0\202$\210\202%\210\334!\2031\343\344\"\262)\242
>\205E\322\345\346\347\"P$0\266\204\202O\210\312\266\204\210\373\374\322\372#!C\"*\266\204\262\262\313\350C\3201X\205\f\203\243\321X\203\243\322\323\324U\203\211\325\202\236\326U\203\223\325\202\236\327U\203\235\330\202\236\331P#\210\332Y\205\324\326U\203\340\3331\333r\334!\203\302\335!\202\306\336\337\"q\210\340P\262\341\342 C\"\211\262)0\202\337\210\202\340\210\334!\203\354\343\344\"\262)\242
>\205\322\345\346\347\"P$0\266\204\202\n\210\312\266\204\210*\207" [tramp-current-connection process-environment default-directory tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags eval temporary-file-directory standard-value default-toplevel-value nil 6 "%s %s" " " mapconcat identity (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " "%s" (error) process-lines 10 generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show error-message-string error-message format-message signal substring-no-properties signal-hook-function standard-output buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 23 (#$ . 238150)])
#@166 Read a password from user (compat function).
Consults the auth-source package.
Invokes `password-read' if available, `read-passwd' else.

(fn PROC &optional PROMPT)
(defalias 'tramp-read-passwd #[513 "\306\307\310N@!\311\312\313\314\315\316\"#\317\320#\206/r\321!q\210\322\n\"\210\323\324\325\326\327!!#)\330BC\331 \332\211C\333\334\335\336\316!\337\"\340$\216\341!\211\242\f>\204W\342\343\344D\"\210\211A@\242\f>\204h\342\343\344D\"\210\3408\242\f>\204y\342\343\344D\"\210\3458\242\f>\204\213\342\343\344D\"\210\3468\242\f>\204\235\342\343\344D\"\210\3478\242\f>\204\257\342\343\344D\"\210\3508\242\f>\204\303\342\343\344	D\"\210\3518\332\206\323\313
\352\332#\262\3531I\313\354\332#\2030\355\356\327\205\353\357\203\372	>\nQ\202\374	\360\203\f	?\nQ\202	\361\362\363\205\364B\365\311&\f@\262\n\366\n\367\"\366\363\"\240\210\370	\242!\203B\211\242 \240\210\2020\2420\202M\210\202P\206s\371
\"\240\210\333\334\372\336\316\"\373\"\345$\242\206s\374\f!\375	\354\332#\210\266\210,\207" [default-directory case-fold-search tramp-password-prompt-regexp auth-source-creation-prompts cl-struct-tramp-file-name-tags tramp-password-save-function eval temporary-file-directory standard-value t tramp-make-tramp-file-name tramp-get-connection-property "password-vector" process-get vector noloc nohop process-buffer tramp-check-for-regexp format "%s for %s " capitalize match-string 1 secret with-timeout-suspend nil make-byte-code 0 "\301\300!\207" vconcat [with-timeout-unsuspend] 2 tramp-dissect-file-name signal wrong-type-argument tramp-file-name 3 4 5 6 7 "login-as" (error) "first-password-request" auth-source-search :max :user :host :port :require :secret (:user) :create plist-get :save-function functionp password-read "\302\300\301\242\"\207" [password-cache-add] read-passwd tramp-set-connection-property tramp-prefix-domain-format tramp-prefix-port-format] 28 (#$ . 241725)])
#@63 Clear password cache for connection related to VEC.

(fn VEC)
(defalias 'tramp-clear-passwd #[257 "\211\242>\204\301\302\303D\"\210\211A@\304!\305!\242>\204&\301\302\303D\"\210\3068\211\2033\307\310!!\210\311\312\313\205;\314\315\316\257!\210\317\320\321\322#!\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name tramp-file-name-user-domain tramp-file-name-host-port 7 tramp-clear-passwd tramp-dissect-hop-name auth-source-forget :max 1 :user :host :port password-cache-remove tramp-make-tramp-file-name noloc nohop] 14 (#$ . 243722)])
#@141 Return the difference between the two times, in seconds.
T1 and T2 are time values (as returned by `current-time' for example).

(fn T1 T2)
(defalias 'tramp-time-diff #[514 "\300\301\"!\207" [float-time time-subtract] 6 (#$ . 244318)])
#@219 Remove quotation prefix "/:" from string S, and quote it then for shell.
Suppress `shell-file-name'.  This is needed on w32 systems, which
would use a wrong quoting for local file names.  See `w32-shell-name'.

(fn S)
(defalias 'tramp-unquote-shell-quote-argument #[257 "\302\303\302\211?\205	\304!\211\211?\205	\305\306\304!\")\266\202\2035\211G\307U\203/\310\2023\311\307\"\262\312!P)\266\203!)\207" [shell-file-name file-name-handler-alist nil shell-quote-argument file-local-name string-prefix-p "/:" 2 "/" substring file-remote-p] 11 (#$ . 244563)])
#@99 Similar to `shell-quote-argument', but groks newlines.
Only works for Bourne-like shells.

(fn S)
(defalias 'tramp-shell-quote-argument #[257 "\302\303 \304\305\306\307\310!\311\"\312$\216\313!\314\315\316	\"!G\317Y\2030\320\305\317#\321\230\2030\320\322\"\262\323\"\203E\324\315\325	\"\326\211$\262\2020\266\202)\262)\207" [system-type tramp-rsh-end-of-line not-windows match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 tramp-unquote-shell-quote-argument regexp-quote format "\\%s" 2 substring "\\~" 1 string-match replace-match "'%s'" t] 9 (#$ . 245142)])
#@202 Interrupt remote PROCESS.
PROCESS can be a process, a buffer with an associated process, the
name of a process or buffer, or nil to default to the current buffer.

(fn &optional PROCESS CURRENT-GROUP)
(defalias 'tramp-interrupt-process #[512 "\306!\203\n\2022\307!\203\310!\2022;\203'\311!\2062\310!\2022\2041\310p!\2022\312\306!\205\346\313\314\"\211\262\205\346\315!\204!\316\317C\312\211\n\320Y\205G\211\203\211\320\321\322\323!\324\216\325 \210)rq\210\326 +C\3271\nX\205	\203\256\330X\203\256\331\332\333U\203\224\334\202\251\335U\203\236\334\202\251\336U\203\250\337\202\251\340P#\210\n\341Y\205\333\335U\203\353\3421\346r\306!\203\315\343!\202\321\344\345\"q\210\321P\262\346\326 C\"\211\262)0\202\352\210\202\353\210\306!\203\367\313\347\"\262)\242\f>\205\331\350\351\352\"P$0\266\205\202I\210\312\266\205\202I
r\353\354!q\210p\355 \210\312\211?@\356\211A\356BC\357 \210\360\361!\210+\211\325 \362!\210)\266\202\262\210\211\204UC\262\363\262\203\335\363\364\211\365N\331\366		#E!C\3271	\nX\205	\203\246\330X\203\246\331\332\333U\203\214\334\202\241\335U\203\226\334\202\241\336U\203\240\337\202\241\340P#\210\n\341Y\205\333\335U\203\343\3421\336r\306!\203\305\343!\202\311\344\345\"q\210\321P\262\346\326 C\"\211\262)0\202\342\210\202\343\210\306!\203\357\313\347\"\262)\242\f>\205\331\350\351\352\"P$0\266\204\202
\210\312\266\204\210\367\370\331\366#!C\"*\266\204\202\346\371\372D\3271\304\nX\205\276	\203a\330X\203a\331\332\333U\203G\334\202\\\335U\203Q\334\202\\\336U\203[\337\202\\\340P#\210\n\341Y\205\276\333\335U\203\236\3421\231r\306!\203\200\343!\202\204\344\345\"q\210\321P\262\346\326 C\"\211\262)0\202\235\210\202\236\210\306!\203\252\313\347\"\262)\242\f>\205\276\331\350\351\352\"P$0\266\204\202\310\210\312\266\204\210\373\374!\203\333\374\313\347\"\351\375\211#\"\210\376\333\"\204\333\315!?\207" [signal-hook-function tramp-message-show-message tramp-verbose standard-output cl-struct-tramp-file-name-tags default-directory processp bufferp get-buffer-process get-process nil process-get remote-pid process-live-p error "Process %s is not active" 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) process-buffer tramp-get-connection-buffer dont-create append vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal substring-no-properties 5 "Interrupt process %s with pid %s" functionp tramp-send-command "(\\kill -2 -%d || \\kill -2 %d) 2>/dev/null" tramp-accept-process-output buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 19 (#$ . 245767)])
(byte-code "\300\301!\203\302\301\303\"\210\302\304\305\"\210\300\207" [boundp interrupt-process-functions add-hook tramp-interrupt-process tramp-unload-hook #[0 "\300\301\302\"\207" [remove-hook interrupt-process-functions tramp-interrupt-process] 3]] 3)
#@42 Discard Tramp from loading remote files.
(defalias 'tramp-unload-tramp #[0 "\3001\n\301\302\303\"0\207\210\304\207" [(error) unload-feature tramp force nil] 3 (#$ . 249097) nil])
(byte-code "\301\302!\210\303\300!\210\304\211\207" [tramp--startup-hook provide tramp run-hooks nil] 3)

Zerion Mini Shell 1.0