§
    µBÄjá-  ã                   ó|  — U d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d dl	mZ d dlZd dlZddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ  e ee¦  «        ¦  «        Zeed<    G d„ de j        ¦  «        Z de!de"fd„Z#de$de%fd„Z&dd„Z'e(dk    r e'¦   «          dS dS )é    N)ÚSequence)ÚAny)ÚFinalé   )Ú__version__)ÚSUPPORTED_BROWSERS)ÚDEFAULT_COOKIES_FILE)ÚGoogleDriveFileToDownload)Ú_import_cookies_from_browser)Údownload)Údownload_folder)ÚDownloadError)Ú_parse_google_drive_folder_idÚBROWSERSc                   ó`   — e Zd Z	 ddej        dej        deee         z  dz  dedz  ddf
d„Z	dS )	Ú_ShowVersionActionNÚparserÚ	namespaceÚvaluesÚoption_stringÚreturnc           
      óà   — t          dt          › dt          j                             t          j                             t
          ¦  «        ¦  «        › �¦  «         |                     ¦   «          d S )Nzgdown z at )Úprintr   ÚosÚpathÚdirnameÚ__file__Úexit)Úselfr   r   r   r   s        ú?C:\Projects\Historical\venv\Lib\site-packages\gdown/__main__.pyÚ__call__z_ShowVersionAction.__call__   sP   € õ 	ÐT•{ÐTÐT­¬¯ª½¼¿ºÍÑ8QÔ8QÑ(RÔ(RÐTÐTÑUÔUÐUØ�Š‰Œˆˆˆó    ©N)
Ú__name__Ú
__module__Ú__qualname__ÚargparseÚArgumentParserÚ	NamespaceÚstrr   r   r!   © r"   r    r   r      sz   € € € € € ð %)ðð àÔ'ðð Ô%ðð �h˜s”mÑ# dÑ*ð	ð
 ˜T‘zðð 
ðð ð ð ð ð r"   r   Úargvr   c                ó  — t          j        d| ¦  «        }|st          j        d| ›d�¦  «        ‚|                     ¦   «         \  }}t          |¦  «        }|dk    r|dz  }n|dk    r|dz  }n|dk    r|d	z  }n|d
k    r	 |S )Nz([0-9]+)(GB|MB|KB|B)zinvalid size z,; give a number followed by B, KB, MB, or GBÚKBi   ÚMBi   ÚGBi   @ÚB)ÚreÚmatchr'   ÚArgumentTypeErrorÚgroupsÚfloat)r,   ÚmÚsizeÚunits       r    Ú_parse_file_sizer:   (   sª   € Ý
ŒÐ(¨$Ñ/Ô/€AØð 
åÔ(ØP˜DÐPÐPÐPñ
ô 
ð 	
ð —’‘”�J€Dˆ$Ý�‰;Œ;€DØˆt‚|€|Ø�‰ˆˆØ	�ŠˆØ�‰ˆˆØ	�ŠˆØ�‰ˆˆØ	�ŠˆØØ€Kr"   Úerrorc                óº   — t          | t          j        j        ¦  «        p<t          | t          j        j        ¦  «        ot          d„ | j        D ¦   «         ¦  «        S )Nc              3   óT   K  — | ]#}t          |t          j        j        ¦  «        V — Œ$d S r#   )Ú
isinstanceÚurllib3Ú
exceptionsÚReadTimeoutError)Ú.0Úargs     r    ú	<genexpr>z_is_timeout.<locals>.<genexpr>A   sC   è è € ð 
ð 
ØEH�J�s�GÔ.Ô?Ñ@Ô@ð
ð 
ð 
ð 
ð 
ð 
r"   )r>   Úrequestsr@   ÚTimeoutÚConnectionErrorÚanyÚargs)r;   s    r    Ú_is_timeoutrJ   <   sd   € õ �e�XÔ0Ô8Ñ9Ô9ð Ý�5�(Ô-Ô=Ñ>Ô>ð 	
Ýð 
ð 
ØLQÌJð
ñ 
ô 
ñ 
ô 
ðr"   c                  óÒ  — t          j        t           j        ¬¦  «        } |                      ddt          dd¬¦  «         |                      dd¬	¦  «         |                      d
ddt
          j        j        › d�¬	¦  «         |                      dddd¬¦  «         |                      dd¬	¦  «         |                      dt          d¬¦  «         |                      ddt           j	        d¬¦  «         |                      ddt          dd                     t          ¦  «        › �¬ ¦  «         |                      d!dd"¬¦  «         |                      d#dd$¬¦  «         |                      d%d&d'dd(¬)¦  «         |                      d*t          dd+d,¬-¦  «         |                      d.dd/¬¦  «         |                      d0dd1¬¦  «         |                      d2d3¬	¦  «         |                      d4d5¬	¦  «         |                      d6d7t          d8¬9¦  «         |                      ¦   «         }|j        r|j        �|                      d:¦  «         |j        � |j        dk    r|                      d;¦  «         |j        r d<|v s|j        r|                      d=¦  «         d<|v r|j        s|                      d>¦  «         t
          j                             t/          |d<t0          ¦  «        ¦  «        }|j        }|�r	 t3          ||¬?¦  «        }nŽ# t4          $ r�}d@}t6          j        dAk    r|dBk    rdC}t;          j        t?          |¦  «        dD¬E¦  «        }tA          dF|› dG|› dH|› |› �t6          j!        ¬I¦  «         t7          j"        dJ¦  «         Y d }~nd }~ww xY w|dk    r3tA          dK|› dL�t6          j!        ¬I¦  «         t7          j"        dJ¦  «         |j#        s1|dJk    rdMnd<}tA          dN|› dO|› dP|› dQ|› �t6          j!        ¬I¦  «         nK|j#        sD|j        s=t
          j         $                    |¦  «        rtA          dR|› �t6          j!        ¬I¦  «         |j        r"|j#        stA          dSt6          j!        ¬I¦  «         |j        dTk    rt6          j%        j&        |_        tO          j(        dU|j)        ¦  «        r
|j)        }	d }
n	d }	|j)        }
	 |	�tU          |	¬V¦  «        nd }|j+        p|d u}|j+        r$|�"|j#        stA          dWt6          j!        ¬I¦  «         |rŽ|j        �)tY          |j        t>          ¦  «        st[          dX¦  «        ‚t]          |	|
|j        |j#        p|j        |j/        |j0        |j         |j1         |j2        |j3        |j        ||j        |j4        ¬Y¦  «        }nctk          |	|j        |j#        p|j        |j/        |j0        |j         |j1         |
|j3        |j6        |j2        |j        ||j        |j4        ¬Z¦  «        }|j        rŽ|r|n|g}g }|D ]\}tY          |tn          ¦  «        sJ ‚| 8                    d[|j9        › �|j         :                    t
          j        d\¦  «        d]œ¦  «         Œ]tA          t          j;        |d^d_¬`¦  «        ¦  «         d S d S # tx          $ r:}tA          |t6          j!        ¬I¦  «         t7          j"        dJ¦  «         Y d }~d S d }~wtz          j>        j?        $ r“}tA          da 6                    t;          j        db                     t;          j@        t?          |¦  «        ¦  «        ¦  «        dD¬E¦  «        ¦  «        t6          j!        ¬I¦  «         t7          j"        dJ¦  «         Y d }~d S d }~wt4          $ rÚ}tƒ          |¦  «        r8tA          dc|j        › dd�t6          j!        ¬I¦  «         t7          j"        dJ¦  «         tA          de 6                    t;          j        db                     t;          j@        t?          |¦  «        ¦  «        ¦  «        dD¬E¦  «        ¦  «        t6          j!        ¬I¦  «         t7          j"        dJ¦  «         Y d }~d S d }~ww xY w)fN)Úformatter_classz-Vz	--versionzdisplay versionr   )ÚactionÚhelpÚnargsÚ	url_or_idz&url or file/folder id to download from)rN   z-Oz--outputz!output file name/path; end with "z" to create a new directoryz-qz--quietÚ
store_truezsuppress logging except errors)rM   rN   z--proxyz9<protocol://host:port> download using the specified proxyz--speedz7download speed limit in second (e.g., '10MB' -> 10MB/s))ÚtyperN   z	--cookiesÚFILEzaNetscape cookies file to read cookies from and save them to (default: ~/.cache/gdown/cookies.txt))ÚmetavarÚdefaultrN   z--cookies-from-browserÚBROWSERz…copy your Google cookies from this browser into the cookies file, so this and later runs download as your signed-in account. One of: z, )rT   ÚchoicesrN   z--no-cookieszdon't read or save cookiesz--no-check-certificatez(don't check the server's TLS certificatez
--continuez-cÚ	continue_zNresume getting partially-downloaded files while skipping fully downloaded ones)ÚdestrM   rN   z	--retriesÚNzØretry transient failures up to N times per file, resuming the current transfer; use --continue to resume earlier downloads and skip completed files (filesystem destinations only; excludes --json and folder discovery))rR   rU   rT   rN   z--folderz@download a folder by ID (folder URLs are detected automatically)z--jsonzÛ(beta) list file or folder contents as a JSON array on stdout instead of downloading. Each entry is an object with 'url' and 'path'. The output format may change in a future release. Cannot be combined with -O/--output.z--formatztFormat of Google Docs, Spreadsheets and Slides. Default is Google Docs: 'docx', Spreadsheet: 'xlsx', Slides: 'pptx'.z--user-agentz'User-Agent to use for downloading file.z	--timeoutÚSECONDSzSgive up when the server sends nothing for this many seconds (default: wait forever))rT   rR   rN   z*--json cannot be combined with -O/--outputz,--timeout needs a positive number of secondsÚcookieszH--no-cookies cannot be combined with --cookies or --cookies-from-browserz--cookies needs a file path)ÚbrowserÚcookies_fileÚ Úwin32Úfirefoxzl

Chrome 127+ on Windows blocks other programs from reading its cookies. Try --cookies-from-browser firefox.ú	)ÚprefixzFailed to import cookies from z into z:

)Úfiler   zNo Google cookies found in zU. Sign in to Google in that browser, or pick another one with --cookies-from-browser.ÚcookiezSaved z Google z from z to zUsing cookies from zQwarning: `--json` is in beta and its output format may change in a future releaseú-z^https?://.*)Úurlzawarning: `--folder` is no longer required for folder URLs and will be removed in a future releasez.--folder does not support stdout output (-O -))rg   ÚidÚoutputÚquietÚproxyÚspeedÚuse_cookiesÚverifyÚ
user_agentÚresumeÚskip_downloadr^   ÚtimeoutÚretries)rg   ri   rj   rk   rl   rm   rn   rh   rp   Úformatro   rq   r^   rr   rs   zhttps://drive.google.com/uc?id=ú/)rg   r   Fé   )Úensure_asciiÚindentz;Failed to use proxy:

{}

Please check your proxy settings.ú
z+Timed out: no response from the server for z	 seconds.zTError:

{}

To report issues, please visit https://github.com/wkentaro/gdown/issues.)Br'   r(   ÚArgumentDefaultsHelpFormatterÚadd_argumentr   r   r   Úsepr:   ÚSUPPRESSr   ÚjoinÚintr6   Ú
parse_argsÚjsonri   r;   rr   Ú
no_cookiesÚcookies_from_browserr\   Ú
expanduserÚgetattrr	   r   Ú	ExceptionÚsysÚplatformÚtextwraprx   r*   r   Ústderrr   rj   ÚexistsÚstdoutÚbufferr2   r3   rP   r   Úfolderr>   Ú
ValueErrorr   rk   rl   Úno_check_certificatero   rX   rs   r   rt   r
   Úappendrh   ÚreplaceÚdumpsr   rE   r@   Ú
ProxyErrorÚwraprJ   )r   rI   r^   r]   Ú	n_cookiesÚeÚhintÚreasonÚnounrg   rh   Ú	folder_idÚ	is_folderÚresultÚfilesÚentriesrd   s                    r    Úmainr    G   sD
  € ÝÔ$Ý Ô>ðñ ô €Fð ×ÒØØÝ!ØØð ñ ô ð ð ×Ò˜Ð*RÐÑSÔSÐSØ
×ÒØØàXµ´´ÐXÐXÐXð	 ñ ô ð ð ×ÒØØØØ-ð	 ñ ô ð ð ×ÒØØHð ñ ô ð ð ×ÒØÝØFð ñ ô ð ð
 ×ÒØØõ Ô!ð4ð ñ ô ð ð ×ÒØ ØÝð-à—y’y¥Ñ*Ô*ð-ð -ð ñ 	ô 	ð 	ð ×ÒØØØ)ð ñ ô ð ð
 ×ÒØ ØØ7ð ñ ô ð ð
 ×ÒØØØØð)ð ñ ô ð ð ×ÒØÝØØðUð ñ ô ð ð ×ÒØØØOð ñ ô ð ð
 ×ÒØØð3ð	 ñ 	ô 	ð 	ð ×ÒØðOð ñ ô ð ð
 ×ÒØØ6ð ñ ô ð ð ×ÒØØÝð"ð	 ñ ô ð ð ×ÒÑÔ€Dà„yð C�T”[Ð,Ø�ŠÐAÑBÔBÐBà„|Ð D¤L°AÒ$5Ð$5Ø�ŠÐCÑDÔDÐDà„ð 
˜I¨Ð-Ð-°Ô1JÐ-Ø�ŠØVñ	
ô 	
ð 	
ð �DÐÐ ¤ÐØ�ŠÐ2Ñ3Ô3Ð3Ý”7×%Ò%¥g¨d°IÕ?SÑ&TÔ&TÑUÔU€LàÔ'€GØñ !Eð	Ý4Ø¨lðñ ô ˆIˆIøõ ð 	ð 	ð 	ØˆDÝŒ|˜wÒ&Ð&¨7°iÒ+?Ð+?ðOð õ ”_¥S¨¡V¤V°DÐ9Ñ9Ô9ˆFÝð&°ð &ð &Àð &ð &Øð&Ø#ð&ð &å”Zðñ ô ð õ
 ŒH�Q‰KŒKˆKˆKˆKˆKˆKˆKøøøøð	øøøð ˜Š>ˆ>ÝðL¨gð Lð Lð Lå”Zðñ ô ð õ
 ŒH�Q‰KŒKˆKØŒzð 	Ø(¨Aš~˜~�8�8°9ˆDÝØS˜ÐSÐS¨DÐSÐS¸ÐSÐSÀ\ÐSÐSÝ”Zðñ ô ð øð ŒZð E ¤ð EµB´G·N²NÀ<Ñ4PÔ4Pð EÝÐ2 LÐ2Ð2½¼ÐDÑDÔDÐDà„yð 
˜œð 
Ýðå”ð	
ñ 	
ô 	
ð 	
ð „{�cÒÐÝ”jÔ'ˆŒå	„x� ¤Ñ/Ô/ð ØŒnˆØˆˆàˆØŒ^ˆðUØ>A¸oÕ1°cÐ:Ñ:Ô:Ð:ÐSWˆ	Ø”KÐ8 9°DÐ#8ˆ	ØŒ;ð 	˜9Ð0¸¼Ð0Ýð1å”Zðñ ô ð ð ð $	Ø”KÐ'­:°d´kÅ3Ñ+GÔ+GÐ'Ý Ð!QÑRÔRÐRÝ$ØØØ”{Ø”jÐ- D¤IØ”jØ”jØ $¤Ð/ØÔ4Ð4Øœ?Ø”~Ø"œiØ)ØœØœðñ ô ˆFˆFõ" ØØ”{Ø”jÐ- D¤IØ”jØ”jØ $¤Ð/ØÔ4Ð4ØØ”~Ø”{Øœ?Ø"œiØ)ØœØœðñ ô ˆFð$ Œ9ð 	EØ'Ð5�F�F¨f¨XˆEØˆGØð ð �Ý! $Õ(AÑBÔBÐBÐBÐBØ—’àJÀÄÐJÐJØ $¤	× 1Ò 1µ"´&¸#Ñ >Ô >ðð ñô ð ð õ •$”*˜W°5ÀÐCÑCÔCÑDÔDÐDÐDÐDð	Eð 	Eøõ ð ð ð Ýˆa•c”jÐ!Ñ!Ô!Ð!ÝŒ�‰ŒˆˆˆˆˆˆˆøøøøÝÔÔ)ð ð ð ÝØM×TÒTÝ” §	¢	­(¬-½¸A¹¼Ñ*?Ô*?Ñ @Ô @ÈÐNÑNÔNñô õ ”ð		
ñ 	
ô 	
ð 	
õ 	Œ�‰ŒˆˆˆˆˆˆˆøøøøÝð ð ð Ý�q‰>Œ>ð 	ÝØU¸d¼lÐUÐUÐUÝ”Zðñ ô ð õ ŒH�Q‰KŒKˆKÝð8ß8>ºÝ” §	¢	­(¬-½¸A¹¼Ñ*?Ô*?Ñ @Ô @ÈÐNÑNÔNñ9ô 9õ ”ð	
ñ 	
ô 	
ð 	
õ 	Œ�‰ŒˆˆˆˆˆˆˆøøøøðøøøsL   Ë2L Ì
NÌA7N
Î
NÓGZ Ú
a&Ú%/[Ûa&Û1B]?Ý?a&ÞCa!á!a&Ú__main__)r   N))r'   r�   Úos.pathr   r2   r‡   r‰   Úcollections.abcr   Útypingr   r   rE   r?   r_   r   Ú_vendor._ytdlp_cookiesr   r   r	   r
   r   r   r@   r   Ú	parse_urlr   ÚtupleÚsortedr   Ú__annotations__ÚActionr   r*   r6   r:   r†   ÚboolrJ   r    r$   r+   r"   r    ú<module>r¬      sù  ðØ €€€€Ø €€€Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€Ø €€€à Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø *Ð *Ð *Ð *Ð *Ð *Ø /Ð /Ð /Ð /Ð /Ð /Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø %Ð %Ð %Ð %Ð %Ð %Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4à�%˜˜Ð1Ñ2Ô2Ñ3Ô3€ˆ%Ð 3Ð 3Ñ 3ð
ð 
ð 
ð 
ð 
˜œñ 
ô 
ð 
ð˜3ð  eð ð ð ð ð(�yð ¨ð ð ð ð ðMð Mð Mð Mð` ˆzÒÐØ€D�F„F€F€F€Fð Ðr"   