;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\207" [require ansi-color auth-source format-spec parse-time shell subr-x] 2)#@41 The Emacs version used for compilation.
(defconst tramp-compat-emacs-compiled-version "29.4" (#$ . 247))
(byte-code "\303	!@U\204 \304\305	\n#\210\306\307\310\"\210\306\311\312\"\207" [emacs-major-version tramp-compat-emacs-compiled-version emacs-version version-to-list warn "Tramp has been compiled with Emacs %s, this is Emacs %s" eval-after-load docker-tramp #[0 "\300\301!\207" [warn "Package `docker-tramp' has been obsoleted, please use integrated package `tramp-container'"] 2] kubernetes-tramp #[0 "\300\301!\207" [warn "Package `kubernetes-tramp' has been obsoleted, please use integrated package `tramp-container'"] 2]] 4)#@108 Call FUNCTION with ARGUMENTS if it exists.  Do not raise compiler warnings.

(fn FUNCTION &rest ARGUMENTS)
(defalias 'tramp-compat-funcall '(macro . #[385 "\300\301D\302\303BBDE\207" [when functionp with-no-warnings funcall] 8 (#$ . 889)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tramp-compat-funcall lisp-indent-function 1 put edebug-form-spec t] 5)#@50 The default value of `temporary-file-directory'.
(defconst tramp-compat-temporary-file-directory (byte-code "\300\301\302N@\303\"\207" [eval temporary-file-directory standard-value t] 3) (#$ . 1275))#@57 Generate a local temporary file name (compat function).
(defalias 'tramp-compat-make-temp-name #[0 "\302\303	\"!\207" [tramp-temp-name-prefix tramp-compat-temporary-file-directory make-temp-name expand-file-name] 4 (#$ . 1480)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tramp-compat-make-temp-name speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@114 Create a local temporary file (compat function).
Add the extension of F, if existing.

(fn F &optional DIR-FLAG)
(defalias 'tramp-compat-make-temp-file #[513 "\302\303	\"\304\305\"#\207" [tramp-temp-name-prefix tramp-compat-temporary-file-directory make-temp-file expand-file-name file-name-extension t] 8 (#$ . 1869)])
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\312!\313\232\203 \312\202 \314\"\210\307\315\311\316!\317\232\203* \316\202+ \320\"\210\307\321\311\322!\323\232\203; \322\202< \324\"\207" [function-put tramp-compat-make-temp-file speed -1 put byte-optimizer byte-compile-inline-expand defalias tramp-compat-file-name-quoted-p func-arity file-name-quoted-p (1 . 2) #[513 "\211?\205 \301\302\303!\")\207" [file-name-handler-alist string-prefix-p "/:" file-local-name] 6 "Whether NAME is quoted with prefix \"/:\".\nIf NAME is a remote file name and TOP is nil, check the local part of NAME.\n\n(fn NAME &optional TOP)"] tramp-compat-file-name-quote file-name-quote (1 . 2) #[513 "\211?\205 \301\"\203 \202 \302!\303\304!Q)\207" [file-name-handler-alist tramp-compat-file-name-quoted-p file-remote-p "/:" file-local-name] 6 "Add the quotation prefix \"/:\" to file NAME.\nIf NAME is a remote file name and TOP is nil, the local part of NAME is quoted.\n\n(fn NAME &optional TOP)"] tramp-compat-file-name-unquote file-name-unquote (1 . 2) #[513 "\211?\205 \301!\302\"\203\" \303\304\"\203 \305\202  \211\304\306O\262\307!P)\207" [file-name-handler-alist file-local-name tramp-compat-file-name-quoted-p tramp-compat-length= 2 "/" nil file-remote-p] 6 "Remove quotation prefix \"/:\" from file NAME.\nIf NAME is a remote file name and TOP is nil, the local part of\nNAME is unquoted.\n\n(fn NAME &optional TOP)"]] 5)#@40 Return proper value of `tramp-syntax'.
(defalias 'tramp-compat-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 (#$ . 3650)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tramp-compat-tramp-syntax speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@30 Whether to use url-tramp.el.
(defconst tramp-compat-use-url-tramp-p (fboundp 'temporary-file-directory) (#$ . 4074))
(byte-code "\300\301\302\303!\203\f \303\202 \304\"\210\300\305\302\306!\203 \306\202 \307\"\210\300\310\302\311!\203* \311\202+ \312\"\210\300\313\314\315!\316\232\203; \315\202< \317\"\207" [defalias tramp-compat-exec-path fboundp exec-path #[0 "\302!\203\n \303\301!\207	\207" [default-directory exec-path tramp-tramp-file-p tramp-file-name-handler] 2 "List of directories to search programs to run in remote subprocesses."] tramp-compat-time-equal-p time-equal-p #[514 "\206 \300 \206\f \300 \232\207" [current-time] 4 "Return non-nil if time value T1 is equal to time value T2.\nA nil value for either argument stands for the current time.\n\n(fn T1 T2)"] tramp-compat-flatten-tree flatten-tree #[257 "\300C\262\211A\262\242\211:\203 \211@ABB\262\202% \211\203% \211B\262\262\204 \211\237\207" [nil] 6 "Take TREE and \"flatten\" it.\n\n(fn TREE)"] tramp-compat-progress-reporter-update func-arity progress-reporter-update (1 . 3) #[769 "\300\247\203 @Y\205 \301#\207" [nil progress-reporter-do-update] 10 "\n\n(fn REPORTER &optional VALUE SUFFIX)"]] 4)#@183 Execute BODY; if the error CONDITION occurs, return nil.
Otherwise, return result of last form in BODY.

CONDITION can also be a list of error conditions.

(fn CONDITION &rest BODY)
(defalias 'tramp-compat-ignore-error '(macro . #[385 "\300\301\302B\303BF\207" [condition-case nil progn (nil)] 7 (#$ . 5285)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put tramp-compat-ignore-error edebug-form-spec t function-put lisp-indent-function 1] 4)#@14 

(fn ITEMS)
(defalias 'tramp-compat-rx--transform-items #[257 "\300\301\"\207" [mapcar tramp-compat-rx--transform-item] 4 (#$ . 5753)])#@13 

(fn ITEM)
(defalias 'tramp-compat-rx--transform-item #[257 "\301\302\267\202 \303\207\304\207:\203\230 \242\211\305\267\202\221 \243\211:\2039 \211\242\243\211\2044 :\203. \207\306\307DD\207\"\207\"\207\243\211:\203` \211\242\243\211\204[ \310\311\312\313\314\315BBBDD\207\"\207\"\207\243\211:\203\212 \211\242\243\211\204\205 \310\311\312\313\314\316D\317BBBDD\207\"\207\"\207\207\243\"\207\207" [tramp-compat-rx--runtime-params #[514 "\300!B\207" [tramp-compat-rx--transform-items] 5 "\n\n(fn HEAD REST)"] #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (anychar 7 multibyte 9)) anything nonascii #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (not 24 regexp 62 literal 101 eval 143)) not any t regexp \, concat "\\(?:" ("\\)") regexp-quote ("\\)")] 12 (#$ . 5896)])#@14 

(fn ITEMS)
(defalias 'tramp-compat-rx--transform #[257 "\301\302\303!B\203 \304\305D\306BB\202 \304\307\")\207" [tramp-compat-rx--runtime-params nil : tramp-compat-rx--transform-items rx-to-string \` (t) t] 5 (#$ . 6791)])
(byte-code "\3001 \301\302!0\202 \210\202 \203 \303\304\305\"\210\202! \303\304\306\307B\"\210\310\304\311\312#\210\303\313\314\315!\316\232\2035 \315\2026 \317\"\210\303\320\314\321!\322\232\203F \321\202G \323\"\210\303\324\314\325!\326\232\203W \325\202X \327\"\210\303\330\314\331!\332\232\203h \331\202i \333\"\210\303\334\314\335!\336\232\203y \335\202z \337\"\210\303\340\341\342!\203\210 \342\202\211 \343\"\210\303\344\341\345!\203\227 \345\202\230 \346\"\210\303\347\341\350!\203\246 \350\202\247 \351\"\210\303\352\341\353!\203\265 \353\202\266 \354\"\210\303\355\341\356!\203\304 \356\202\305 \357\"\210\303\360\341\361!\203\323 \361\202\324 \362\"\210\303\363\341\364!\203\342 \364\202\343 \365\"\210\303\366\341\367!\203\361 \367\202\362 \370\"\210\303\371\341\372!\203 \372\202\373\"\210\303\374\341\375!\203\375\202\376\"\207" [(error) rx-to-string (literal "a") defalias tramp-compat-rx rx macro #[128 "\300!\207" [tramp-compat-rx--transform] 3 "\n\n(fn &rest ITEMS)"] put tramp-autoload t tramp-compat-file-modes func-arity file-modes (1 . 2) #[513 "\300!\207" [file-modes] 4 "\n\n(fn FILENAME &optional FLAG)"] tramp-compat-set-file-modes set-file-modes (2 . 3) #[770 "\300\"\207" [set-file-modes] 6 "\n\n(fn FILENAME MODE &optional FLAG)"] tramp-compat-set-file-times set-file-times (1 . 3) #[769 "\300\"\207" [set-file-times] 6 "\n\n(fn FILENAME &optional TIMESTAMP FLAG)"] tramp-compat-directory-files directory-files (1 . 5) #[1281 "\300$\207" [directory-files] 10 "\n\n(fn DIRECTORY &optional FULL MATCH NOSORT COUNT)"] tramp-compat-directory-files-and-attributes directory-files-and-attributes (1 . 6) #[1537 "\300%\207" [directory-files-and-attributes] 12 "\n\n(fn DIRECTORY &optional FULL MATCH NOSORT ID-FORMAT COUNT)"] tramp-compat-directory-empty-p fboundp directory-empty-p #[257 "\301!\205 \302\303\304\305%?\207" [directory-files-no-dot-files-regexp file-directory-p tramp-compat-directory-files nil t 1] 7 "\n\n(fn DIR)"] tramp-compat-null-device null-device #[0 "\302!\203 \303\207	\207" [default-directory null-device tramp-tramp-file-p "/dev/null"] 2] tramp-compat-string-replace string-replace #[771 "\301\302\303!\304\211%)\207" [case-fold-search nil replace-regexp-in-string regexp-quote t] 9 "\n\n(fn FROM-STRING TO-STRING IN-STRING)"] tramp-compat-string-search string-search #[770 "\301\302!\303\304$\266\203)\207" [case-fold-search nil regexp-quote string-match t] 11 "\n\n(fn NEEDLE HAYSTACK &optional START-POS)"] tramp-compat-make-lock-file-name make-lock-file-name #[257 "\300\301\302!P\303!\"\207" [expand-file-name ".#" file-name-nondirectory file-name-directory] 5 "\n\n(fn FILENAME)"] tramp-compat-file-name-concat file-name-concat #[385 "\301\302\"\303\211\204 \202% \304\305\306\232\206 ??\205 \307!@PA#)\207" [file-name-handler-alist cl-remove-if #[257 "\211?\206 \211\300\232\207" [#1=""] 3 "\n\n(fn EL)"] nil apply tramp-compat-file-name-concat #1# file-name-as-directory] 7 "\n\n(fn DIRECTORY &rest COMPONENTS)"] tramp-compat-replace-regexp-in-region replace-regexp-in-region #[1026 "\203 eW\203 \301\302!\210\202 `\262\211\203% \211dV\203( \301\303!\210\202( d\262\212\304\305b\210\306\307#\203C \310\307\"\210\211T\262\202/ \211\304U?\205K \211*\207" [case-fold-search error "Start before start of buffer" "End after end of buffer" 0 nil re-search-forward t replace-match] 9 "\n\n(fn REGEXP REPLACEMENT &optional START END)"] tramp-compat-length< length< #[514 "GW\207" #2=[] 4 "\n\n(fn SEQUENCE LENGTH)"] tramp-compat-length> length> #[514 "GV\207" #2# 4 "\n\n(fn SEQUENCE LENGTH)"] tramp-compat-length= length= #[514 "GU\207" #2# 4 "\n\n(fn SEQUENCE LENGTH)"]] 4)#@53 The error symbol for the `permission-denied' error.
(defconst tramp-permission-denied (byte-code "\300\301N\203 \300\207\302\207" [permission-denied error-conditions file-error] 2) (#$ . 10735))#@52 Emit the `permission-denied' error.

(fn VEC FILE)
(defalias 'tramp-compat-permission-denied #[514 "\301\302N\203\f \303#\207\303\304$\207" [tramp-permission-denied permission-denied error-conditions tramp-error "Permission denied: %s"] 7 (#$ . 10936)])
(byte-code "\301\302\303\304#\305\302\306\307#\210\310\311\312\313!\203 \313\202 \314\"\210\310\315\312\316!\203& \316\202' \317\"\210\310\320\312\321!\2035 \321\2026 \322\"\210\310\323\312\324!\203D \324\202E \325\"\210\310\326\312\327!\203S \327\202T \330\"\210\331\332\333#\211\203p \211@\305\334!\335\336#\210A\266\202\202[ \210\337\340\341\"\210\342\343!\207" [obarray function-put tramp-compat-permission-denied speed -1 put byte-optimizer byte-compile-inline-expand defalias tramp-compat-auth-info-password fboundp auth-info-password #[257 "\300\301\"\302!\203 \211 \262\202 \207" [plist-get :secret functionp] 4 "\n\n(fn AUTH-INFO)"] tramp-compat-take take #[514 "\300!\205 \301V\205 \302\"\203 \207\303\211GZ\"\207" [natnump 0 tramp-compat-length< butlast] 6 "\n\n(fn N LIST)"] tramp-compat-ntake ntake #[514 "\300!\205 \301V\205 \302\"\203 \207\303\211GZ\"\207" [natnump 0 tramp-compat-length< nbutlast] 6 "\n\n(fn N LIST)"] tramp-compat-string-equal-ignore-case string-equal-ignore-case #[514 "\300\301\211\301\211\302&\302=\207" [compare-strings nil t] 10 "\n\n(fn STRING1 STRING2)"] tramp-compat-auth-source-netrc-parse-all auth-source-netrc-parse-all #[256 "\300\301\302\"\210\301!\207" [autoload netrc-parse "netrc"] 4 "\n\n(fn &optional FILE)"] all-completions "tramp-compat-" functionp intern tramp-suppress-trace t add-hook tramp-unload-hook #[0 "\300\301\302\"\210\300\303\302\"\207" [unload-feature tramp-loaddefs force tramp-compat] 3] provide tramp-compat] 7)
