ó
    Ñ]jÝ  ã                  ót  • S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKJ	r	  S SKJ
r
  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  Sr\R.                  rSrSS.             S!S jjrSS.           S"S jjrSS.           S"S jjrS#S jrS#S jr        S$S jrS%S jr \RB                  S&S j5       r"S'S jr#\RB                  S(S j5       r$        S)S jr%S*S jr&S+S jr'          S,S jr(        S-S jr)S.S jr*                S/S  jr+g)0é    )ÚannotationsN)Ú	Generator)ÚSequence)Ú	lang_base)Ú
envcontext)ÚPatchesT)ÚUNSET)ÚPrefix)Ú
cmd_output)Úwin_exeÚrenv)z	--no-savez--no-restorez--no-site-filez--no-environ© )Úargsc               óô   • [        X5         [        U 5       n[        [        5       /UQUPUQ7SU06u  pxnS S S 5        S S S 5        WR	                  S5      $ ! , (       d  f       N'= f! , (       d  f       N0= f)NÚcwdÚ
)Úin_envÚ_r_code_in_tempfiler   Ú_rscript_execÚrstrip)	ÚcodeÚprefixÚversionr   r   Úcli_optsÚfÚ_Úouts	            ÚS/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pre_commit/languages/r.pyÚ
_execute_rr      sr   € ô
 
�Õ	 Ô"5°dÔ";¸qÜÜ‹Oð
Ø&ð
Ø()ð
Ø,0ò
Ø69ñ
‰	ˆ�÷ #<×	 ð �:‰:�dÓÐ÷	 #<Õ";ú×	 Õ	 ús!   ŒA)˜A·A)Á
A&	Á"A)Á)
A7c          	     ó"   • [        XX#U[        S9$ )N©r   r   r   r   r   r   )r   Ú_RENV_ACTIVATED_OPTS©r   r   r   r   r   s        r   Ú_execute_r_in_renvr$   (   s   € ô Ø¨'À#Ü%ñð ó    c          	     ó   • [        XX#USS9$ )N)z	--vanillar!   )r   r#   s        r   Ú_execute_vanilla_rr'   2   s   € ô Ø¨'À#Øñð r%   c                ó   • [        SXU S9$ )Nzcat(renv::settings$r.version())©r   r   r   ©r$   ©Úenvdirr   r   s      r   Ú_read_installed_versionr-   <   s   € ÜØ)ØØñð r%   c                ó   • [        SXU S9$ )Nz cat(as.character(getRversion()))r)   r*   r+   s      r   Ú_read_executable_versionr/   D   s   € ÜØ*ØØñð r%   c                ó   • [        SXU S9  g )Nz5renv::settings$r.version(as.character(getRversion()))r)   r*   r+   s      r   Ú_write_current_r_versionr1   L   s   € ô Ø?ØØór%   c                ó”   • [         R                  " U [        U5      n[        X US9n[	        X US9nUS;   a  SU 3$ X4:w  a  SU SU 3$ g )Nr+   >   Ú ÚNULLzSHooks were installed with an unknown R version. R version for hook repo now set to z#Hooks were installed for R version z', but current R executable has version )r   Úenvironment_dirÚENVIRONMENT_DIRr-   r/   )r   r   r,   Úr_version_installationÚr_version_current_executables        r   Úhealth_checkr9   V   s„   € Ü×&Ò& v¬ÀÓH€Fä4Ø¨gñÐô $<Ø¨gñ$Ð ð  Ó-ð$Ø$@Ð#AðCð	
ð 
 Ó	?à1Ð2HÐ1Ið J4à+Ð,ð.ð	
ð r%   c           	   #  óZ  #   • [         R                  " 5        n[        R                  R	                  US5      n[        US5       nUR                  [        [        R                  " U 5      5      5        SSS5        Uv •  SSS5        g! , (       d  f       N= f! , (       d  f       g= f7f)z€
To avoid quoting and escaping issues, avoid `Rscript [options] -e {expr}`
but use `Rscript [options] path/to/file_with_expr.R`
zscript.RÚwN)
ÚtempfileÚTemporaryDirectoryÚosÚpathÚjoinÚopenÚwriteÚ_inline_r_setupÚtextwrapÚdedent)r   ÚtmpdirÚfnamer   s       r   r   r   n   sp   é € ô 
×	$Ò	$Ô	&¨&Ü—‘—‘˜V ZÓ0ˆÜ�%˜Ô Ø�G‰G”O¤H§O¢O°DÓ$9Ó:Ô;÷ àŠ÷	 
'Ð	&çÕú÷ 
'Õ	&üs4   ‚B+˜-BÁ/B	Á4BÂ 	B+Â	
B	ÂBÂ
B(Â$B+c                óV   • S[         R                  R                  U S5      4S[        44$ )NÚR_PROFILE_USERz
activate.RÚRENV_PROJECT)r>   r?   r@   r	   )Úvenvs    r   Úget_env_patchrL   {   s+   € à	œ2Ÿ7™7Ÿ<™<¨¨lÓ;Ð<Ø	œÐðð r%   c              #  ó¨   #   • [         R                  " U [        U5      n[        [	        U5      5         S v •  S S S 5        g ! , (       d  f       g = f7f)N)r   r5   r6   r   rL   )r   r   r,   s      r   r   r   ‚   s4   é € ä×&Ò& v¬ÀÓH€FÜ	”M &Ó)Õ	*Û÷ 
+×	*Ö	*üs   ‚1A³A¸	AÁ
AÁAc               óV   • U S   S:X  d  U(       a  U SS  $ UR                  U S   5      4$ )Né   ú-e)r?   )Úentryr   Úis_locals      r   Ú_prefix_if_file_entryrS   ‰   s4   € ð ˆQ�x�4Óž8Ø�Q�RˆyÐà—‘˜E !™HÓ%Ð'Ð'r%   c                 óœ   • [         R                  R                  S5      n U c  g[         R                  R	                  U S[        S5      5      $ )NÚR_HOMEÚRscriptÚbin)r>   ÚenvironÚgetr?   r@   r   )Úr_homes    r   r   r   •   s8   € Ü�Z‰Z�^‰^˜HÓ%€FØ�~Øä�w‰w�|‰|˜F E¬7°9Ó+=Ó>Ð>r%   c                ó¨   • U S   S:w  a  [        S5      eU S   S:X  a  [        U 5      S:”  a  [        S5      eg
[        U 5      S:”  a  [        S	5      eg
)z;
Allowed entries:
# Rscript -e expr
# Rscript path/to/file
r   rV   z entry must start with `Rscript`.rO   rP   é   z&You can supply at most one expression.é   zLThe only valid syntax is `Rscript -e {expr}`or `Rscript path/to/hook/script`N)Ú
ValueErrorÚlen)rQ   s    r   Ú_entry_validater`   �   sf   € ð ˆQ�x�9ÓÜÐ;Ó<Ð<àˆQ�x�4ÓÜˆu‹:˜‹>ÜÐEÓFÐFð ä	ˆU‹�a‹Üð/ó
ð 	
ð 
r%   c               óz   • [         R                  " U5      n[        U5        [        X@US9nUS   /[        QUQUQ7$ )N©rR   r   )ÚshlexÚsplitr`   rS   r"   )r   rQ   r   rR   ÚcmdÚcmd_parts         r   Ú_cmd_from_hookrg   °   sC   € ô �+Š+�eÓ
€CÜ�CÔä$ S¸8ÑD€HØ�‰FÐ<Ô)Ð<¨HÐ<°tÑ<Ð<r%   c                óà  • [         R                  " SU5        [         R                  " U [        U5      n[        R
                  " USS9  [        R                  " U R                  S5      U5        [        R                  " U R                  S5      [        R                  R                  US5      5        SU R                  < S3n[        UXUS9  [        X0US	9  U(       a  S
n[        XPUUUS9  g g )NÚrT)Úexist_okz	renv.lockr   z        prefix_dir <- a3  
        options(
            repos = c(CRAN = "https://cran.rstudio.com"),
            renv.consent = TRUE
        )
        source("renv/activate.R")
        renv::restore()
        activate_statement <- paste0(
          'suppressWarnings({',
          'old <- setwd("', getwd(), '"); ',
          'source("renv/activate.R"); ',
          'setwd(old); ',
          'renv::load("', getwd(), '");})'
        )
        writeLines(activate_statement, 'activate.R')
        is_package <- tryCatch(
          {
              path_desc <- file.path(prefix_dir, 'DESCRIPTION')
              suppressWarnings(desc <- read.dcf(path_desc))
              "Package" %in% colnames(desc)
          },
          error = function(...) FALSE
        )
        if (is_package) {
            renv::install(prefix_dir)
        }
        r)   r+   z/renv::install(commandArgs(trailingOnly = TRUE))r#   )r   Úassert_version_defaultr5   r6   r>   ÚmakedirsÚshutilÚcopyr?   Úcopytreer@   Ú
prefix_dirr'   r1   r$   )r   r   Úadditional_dependenciesÚenv_dirÚr_code_inst_environmentÚr_code_inst_adds         r   Úinstall_environmentru   ¾   sÏ   € ô
 ×$Ò$ S¨'Ô2ä×'Ò'¨´ÀÓI€GÜ‡K‚K� $Ò'Ü
‡K‚K�—‘˜KÓ(¨'Ô2Ü
‡O‚O�F—K‘K Ó'¬¯©¯©°g¸vÓ)FÔGð#Ø×(Ñ(Ñ+ð ,	ðÐô8 ØØ¨Gòô
  GÀGÒLÞØKˆÜØ ¸Ø(Øó	
ð r%   c                óT   • [         R                  " S5      U /nSR                  U5      $ )zŽ
Some behaviour of R cannot be configured via env variables, but can
only be configured via R options once R has started. These are set here.
z~        options(
            install.packages.compile.from.source = "never",
            pkgType = "binary"
        )
        r   )rD   rE   r@   )r   Úwith_options     r   rC   rC   õ   s2   € ô 	�Šð ó 	ð 	ð€Kð �9‰9�[Ó!Ð!r%   c               óD   • [        XX$S9n[        R                  " UUUUS9$ )Nrb   )Úrequire_serialÚcolor)rg   r   Ú	run_xargs)r   rQ   r   Ú	file_argsrR   ry   rz   re   s           r   Úrun_hookr}     s/   € ô ˜¨Ñ
@€CÜ×ÒØØØ%Øñ	ð r%   )r   Ústrr   r
   r   r~   r   úSequence[str]r   r~   r   r   Úreturnr~   )r   r~   r   r
   r   r~   r   r   r   r~   r€   r~   )r,   r~   r   r
   r   r~   r€   r~   )r,   r~   r   r
   r   r~   r€   ÚNone)r   r
   r   r~   r€   z
str | None)r   r~   r€   zGenerator[str])rK   r~   r€   r   )r   r
   r   r~   r€   zGenerator[None])rQ   ú	list[str]r   r
   rR   Úboolr€   r   )r€   r~   )rQ   r‚   r€   r�   )
r   r
   rQ   r~   r   r   rR   rƒ   r€   ztuple[str, ...])r   r
   r   r~   rq   r   r€   r�   )r   r~   r€   r~   )r   r
   rQ   r~   r   r   r|   r   rR   rƒ   ry   rƒ   rz   rƒ   r€   ztuple[int, bytes]),Ú
__future__r   Ú
contextlibr>   rc   rm   r<   rD   Úcollections.abcr   r   Ú
pre_commitr   Úpre_commit.envcontextr   r   r	   Úpre_commit.prefixr
   Úpre_commit.utilr   r   r6   Úbasic_get_default_versionÚget_default_versionr"   r   r$   r'   r-   r/   r1   r9   Úcontextmanagerr   rL   r   rS   r   r`   rg   ru   rC   r}   r   r%   r   Ú<module>rŽ      s_  ðÝ "ã Û 	Û Û Û Û Ý %Ý $å  Ý ,Ý *Ý 'Ý $Ý &Ý #à€Ø×9Ñ9Ð ðÐ ð =?ñ	Øð	àð	à!$ð	à,9ð	àEHð	ð  ð	ð 	õ		ð =?ñØðàðà!$ðà,9ðàEHðð 	õð =?ñØðàðà!$ðà,9ðàEHðð 	õôôðØðØ#ðØ.1ðà	ôôð0 ×Ñó	ó ð	ôð ×Ñóó ðð	(Øð	(àð	(ð ð		(ð
 ô	(ô?ô
ð&=Øð=àð=ð ð=ð
 ð=ð ô=ð4
Øð4
àð4
ð "/ð4
ð 
ô	4
ôn"ð"Øðàðð ðð !ð	ð ðð ðð ðð õr%   