Ë
    š„j6.  ã                   ó²   — d dl Z d dlZddlmZ ddlmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ ddlmZ  G d„ d	e«      Z G d
„ de«      Z G d„ de«      Zy)é    Né   )ÚInfoExtractoré   )Ú	HTTPError)ÚExtractorErrorÚOnDemandPagedListÚ
clean_htmlÚextract_attributesÚget_element_by_idÚint_or_noneÚparse_countÚparse_durationÚunified_timestampÚurl_or_noneÚurlencode_postdataÚurljoin)Útraverse_objc                   óú   — e Zd ZdZdZddddddd	d
deddddœdœddddddddeddddœ
dœddddd d!d"ed#dd$dœ
d%d&id'œd(d)d*dd+d,d-d.ed/d0d1dœ
dœd2d3d*d4d+d+d,d.d-ed0d1d5œ
dœd6d7dd8d9d:d;d<ed=d>d5œ
d?œgZdd0dd=d@œZdAZdB„ Z	dC„ Z
yD)EÚNewgroundsIEÚ
newgroundsz]https?://(?:www\.)?newgrounds\.com/(?:audio/listen|portal/view)/(?P<id>\d+)(?:/format/flash)?z.https://www.newgrounds.com/audio/listen/549479Ú fe6033d297591288fa1c1f780386f07aÚ549479Úmp3zB7 - BusModeÚBurn7i‘<0RÚ20130911é�   z$md5:b8b3c2958875189f07d8e313462e8c4fr   z/re:^https://aicon\.ngfiles\.com/549/549479\.png)ÚidÚextÚtitleÚuploaderÚ	timestampÚupload_dateÚdurationÚ
view_countÚdescriptionÚ	age_limitÚ	thumbnail)ÚurlÚmd5Ú	info_dictz(https://www.newgrounds.com/portal/view/1Ú fbfb40e2dc765a7e830cb251d370d981Ú1Úmp4z	Scrotum 1zBrian-Beatoni…Wí8Ú20000407zScrotum plays "catch."é   z3re:^https://picon\.ngfiles\.com/0/flash_1_card\.png)
r   r   r   r    r!   r"   r$   r%   r&   r'   z,http://www.newgrounds.com/portal/view/689400Ú689400zZTV News Episode 8z	ZONE-SAMAiOÒ°XÚ20170225z$md5:aff9b330ec2e78ed93b1ad6d017accc6z=re:^https://picon\.ngfiles\.com/689000/flash_689400_card\.pngÚskip_downloadT)r(   r*   Úparamsz-https://www.newgrounds.com/portal/view/297383Ú 2c11f5fd8cb6b433a63c89ba3141436cÚ297383zMetal Gear AwesomeÚ	EgoraptoriLjýCÚ20060223z$md5:9246c181614e23754571995104da92e0é   z=re:^https://picon\.ngfiles\.com/297000/flash_297383_card\.pngz:https://www.newgrounds.com/portal/view/297383/format/flashÚ 5d05585a9a0caca059f5abfbd3865524Úswf)
r   r   r   r%   r    r"   r!   r$   r&   r'   z-https://www.newgrounds.com/portal/view/823109Ú823109zRouge Futa Fleshlight FuckzbI made a fleshlight model and I wanted to use it in an animation. Based on a video by CDNaturally.ÚDefaultUser12Ú20211122iø›aé   z=re:^https://picon\.ngfiles\.com/823000/flash_823109_card\.png)r(   r*   )ÚeÚtÚmÚaz#https://www.newgrounds.com/passportc                 ó‚  — | j                  | j                  d d«      }t        | j                  | j                  d|dd ¬«      «      }| j	                  |d dd| j                  ddœt        i | j                  |«      ¥||d	œ¥«      ¬
«      }t        |ddt        hf«      x}r t        dj                  |«      xs dd¬«      ‚y )NzDownloading login pagez<form action="([^"]+)"zlogin endpoint©Údefaultz
Logging inúapplication/jsonÚXMLHttpRequest©ÚAcceptÚRefererúX-Requested-With)ÚusernameÚpassword)ÚheadersÚdataÚerrors.z, zUnknown ErrorT)Úexpected)Ú_download_webpageÚ
_LOGIN_URLr   Ú_search_regexÚ_download_jsonr   Ú_hidden_inputsr   Ústrr   Újoin)ÚselfrL   rM   Úlogin_webpageÚ	login_urlÚresultrP   s          úR/var/www/html/GAP/venv/lib/python3.12/site-packages/yt_dlp/extractor/newgrounds.pyÚ_perform_loginzNewgroundsIE._perform_login€   så   € Ø×.Ñ.¨t¯©ÀÐF^Ó_ˆÜ˜DŸO™O¨T×-?Ñ-?Ø% }Ð6FÐPTð .@ó .Vó Wˆ	à×$Ñ$ Y°°lØ(Ø—‘Ø 0ñM
ô #ð $
Ø×!Ñ! -Ó0ð$
à Ø ò$
ó ð	 %ó ˆô " &¨8°S¼3¸%Ð*@ÓAÐAˆ6ÐAÜ  §¡¨6Ó!2Ò!E°oÐPTÔUÐUð Bó    c                 ó  ‡‡— | j                  |«      }	 | j                  ||«      }| j                  d|dd ¬«      }|rd }| j                  ||«      dddœg}n‘| j                  d|› �|d	|d
dœ¬«      }g }t        |dt        hf«      }t        |dt        j                  hdf«      D ]@  \  Š}	t        ‰d d «      Š|j!                  ˆˆfd„t        |	ddt"        hf«      D «       «       ŒB |s| j%                  d|dd¬«      }t'        |«      dk(  rFt        | j%                  d|dd ¬«      «      |d   d<   | j%                  d|dd ¬«      }
|
dk(  rd|d   d<   | j)                  ||«       || j+                  |«      |t-        | j                  d|d d ¬«      «      t/        | j%                  d!|d"d ¬«      «      || j1                  |«      t3        t5        d#|«      «      xs | j7                  |«      | j8                  j;                  | j%                  d$|d%d&¬«      «      t=        | j%                  d'|d(d ¬«      «      d)œ
S # t        $ rI}t        |j                  t
        «      r)|j                  j                  dk(  r| j                  «        ‚ d }~ww xY w)*Ni‘  z*embedController\(\[{"url"\s*:\s*("[^"]+"),z	media urlrD   Úsourcer   )r(   Ú	format_idÚqualityz(https://www.newgrounds.com/portal/video/rF   rG   rH   )rN   ÚauthorÚsources.éÿÿÿÿc              3   ó*   •K  — | ]
  }‰‰|d œ–— Œ y­w))rb   rc   r(   N© )Ú.0r(   rb   rc   s     €€r]   ú	<genexpr>z-NewgroundsIE._real_extract.<locals>.<genexpr>®   s(   øè ø€ ò Qð ð "+Ø&Øõ ñ Qùs   ƒÚsrc)z:(?s)<h4[^>]*>(.+?)</h4>.*?<em>\s*(?:Author|Artist)\s*</em>z#(?:Author|Writer)\s*<a[^>]+>([^<]+)r    F)Úfatalz%"filesize"\s*:\s*["\']?([\d]+)["\']?,Úfilesizer   z*"description"\s*:\s*["\']?([^"\']+)["\']?,z
media typez
Audio FileÚnoneÚvcodecz;itemprop="(?:uploadDate|datePublished)"\s+content="([^"]+)"r!   z""duration"\s*:\s*["\']?(\d+)["\']?r#   Úauthor_commentsz$<h2\s+class=["\']rated-([etma])["\']r&   r?   z:(?s)<dt>\s*(?:Views|Listens)\s*</dt>\s*<dd>([\d\.,]+)</dd>z
view count)
r   r   r    r!   r#   Úformatsr'   r%   r&   r$   )Ú	_match_idrR   r   Ú
isinstanceÚcauser   ÚstatusÚraise_login_requiredrT   Ú_parse_jsonrU   r   rW   ÚdictÚitemsr   Úextendr   Ú_html_search_regexÚlenÚ_check_formatsÚ_html_extract_titler   r   Ú_og_search_thumbnailr	   r   Ú_og_search_descriptionÚ
_AGE_LIMITÚgetr   )rY   r(   Úmedia_idÚwebpageÚerrorÚmedia_url_stringr    rq   Ú
json_videore   Úvideo_type_descriptionrb   rc   s              @@r]   Ú_real_extractzNewgroundsIE._real_extract�   s  ù€ Ø—>‘> #Ó&ˆð	Ø×,Ñ,¨S°(Ó;ˆGð  ×-Ñ-Ø9¸7ÀKÐY]ð .ó _ÐáØˆHà×'Ñ'Ð(8¸(ÓCØ%Øñð ‰Gð ×,Ñ,Ð/WÐX`ÐWaÐ-bÐdlØ,ØØ$4ñwÐ,ó ˆJð ˆGÜ# J°¼C¸5Ð0AÓBˆHÜ&2°:À	ÌDÏJÉJÈ<ÐY\Ð?]Ó&^ò QÑ"�	˜7Ü% i°° nÓ5�Ø—‘ô Qô *¨'°C¸ÄÀÐ3NÓOô	Qõ QðQñ Ø×.Ñ.ð9Ø:AÀ:Øð /ó ˆHô
 ˆw‹<˜1ÒÜ%0°×1HÑ1HØ8¸'À:ÐW[ð 2Ió 2]ó &^ˆG�A‰J�zÑ"ð &*×%<Ñ%<Ø=¸wÈÐ^bð &=ó &dÐ"à%¨Ò5Ø'-�˜‘
˜8Ñ$à×Ñ˜G XÔ.àØ×-Ñ-¨gÓ6Ø Ü*¨4×+=Ñ+=ØNØ˜¨dð ,>ó ,4ó 5ô ' t×'>Ñ'>Ø5°wÀ
ÐTXð (?ó (Zó [àØ×2Ñ2°7Ó;äÔ,Ð->ÀÓHÓIò 8Ø×.Ñ.¨wÓ7ØŸ™×,Ñ,¨T×-DÑ-DØ7¸À+ÐWZð .Eó .\ó ]ä% d×&=Ñ&=ØMØ˜¨tð '>ó '5ó 6ñ!
ð 	
øôa ò 	Ü˜%Ÿ+™+¤yÔ1°e·k±k×6HÑ6HÈCÒ6OØ×)Ñ)Ô+Øûð	ús   •H7 È7	J	É AJÊJ	N)Ú__name__Ú
__module__Ú__qualname__Ú_NETRC_MACHINEÚ
_VALID_URLÚintÚ_TESTSr�   rS   r^   r‰   rh   r_   r]   r   r      sf  „ Ø!€NØq€Jà?Ø1àØØ#ØØ#Ø%ØØØAØØKñ
ñð" :Ø1àØØ Ø&Ø"Ø%ØØ3ØØOñ
ñð" >àØØ)Ø#Ø#Ø%ØØAØØYñ
ð ˜Tð
ñð& ?Ø1àØØ)Ø#Ø#Ø%ØØAØØYñ
ñð  LØ1àØØ)Ø/Ø#Ø%Ø#ØØØYñ
ñð  ?àØØ1ØØ'Ø%Ø#ØØØYñ
ñð_]€Fð~ ØØØñ	€Jð 7€JòVó G
r_   r   c                   óF   — e Zd ZdZdZddddœddœd	d
ddœddœdddœgZd„ Zy)ÚNewgroundsPlaylistIEzNewgrounds:playlistzUhttps?://(?:www\.)?newgrounds\.com/(?:collection|[^/]+/search/[^/]+)/(?P<id>[^/?#&]+)z*https://www.newgrounds.com/collection/catsÚcatsÚCats)r   r   é-   ©r(   r*   Úplaylist_mincountz*https://www.newgrounds.com/collection/dogsÚdogsÚDogsé   z1http://www.newgrounds.com/audio/search/title/catsT)r(   Úonly_matchingc                 ó®  — | j                  |«      }| j                  ||«      }| j                  |d ¬«      }| j                  d|d|¬«      }g }t	        j
                  d|«      D ]]  \  }}}t        |«      j                  d«      }	|	dvrŒ&|j                  | j                  d|› �t        j                  «       |¬«      «       Œ_ | j                  |||«      S )	NrD   z)(?s)<div[^>]+\bclass=["\']column wide(.+)zwide columnzF(<a[^>]+\bhref=["\'][^"\']+((?:portal/view|audio/listen)/(\d+))[^>]+>)Úclass)zitem-portalsubmissionzitem-audiosubmissionúhttps://www.newgrounds.com/)ÚieÚvideo_id)rr   rR   r~   rT   ÚreÚfindallr
   r‚   ÚappendÚ
url_resultr   Úie_keyÚplaylist_result)
rY   r(   Úplaylist_idr„   r   ÚentriesrB   Úpathrƒ   Úa_classs
             r]   r‰   z"NewgroundsPlaylistIE._real_extractð   s÷   € Ø—n‘n SÓ)ˆà×(Ñ(¨¨kÓ:ˆà×(Ñ(¨¸$Ð(Ó?ˆð ×$Ñ$Ø8Ø�]¨Gð %ó 5ˆð ˆÜ!#§¡ØYØó"ò 		BÑˆAˆt�Xô )¨Ó+×/Ñ/°Ó8ˆGØÐOÑOØØ�N‰NØ—‘Ø1°$°Ð8Ü#×*Ñ*Ó,°xð  ó AõBð		Bð ×#Ñ# G¨[¸%Ó@Ð@r_   N)rŠ   r‹   rŒ   ÚIE_NAMErŽ   r�   r‰   rh   r_   r]   r’   r’   Ú   sY   „ Ø#€GØi€Jà;àØñ
ð  ñð <àØñ
ð  ñð CØñð€Fó&Ar_   r’   c                   óR   — e Zd ZdZdZdddiddœdddid	dœd
ddiddœgZdZd„ Zd„ Zy)ÚNewgroundsUserIEzNewgrounds:userzEhttps?://(?P<id>[^\.]+)\.newgrounds\.com/(?:movies|audio)/?(?:[#?]|$)z"https://burn7.newgrounds.com/audior   Úburn7é–   r–   z#https://burn7.newgrounds.com/moviesr   z*https://brian-beaton.newgrounds.com/movieszbrian-beatoné
   é   c              #   ó  K  — |dz  }| j                  |› d|› �|d|› �dddœ¬«      }t        |dd	d	t        hf«      D ]D  }| j                  d
|dd¬«      \  }}| j	                  d|› �t
        j                  «       |«      –— ŒF y ­w)Nr   z?page=zDownloading page z0application/json, text/javascript, */*; q = 0.01rG   )rI   rK   )ÚnoterN   ry   .zD<a[^>]+\bhref=["\'][^"\']+((?:portal/view|audio/listen)/(\d+))[^>]+>r(   )r   r   )Úgrouprž   )rU   r   rW   rT   r¤   r   r¥   )rY   Ú
channel_idr(   ÚpageÚ
posts_infoÚpostr©   rƒ   s           r]   Ú_fetch_pagezNewgroundsUserIE._fetch_page#  s¸   è ø€ Ø�‰	ˆØ×(Ñ(Øˆe�6˜$˜Ð  *Ø$ T FÐ+ØLØ$4ñ6ð )ó ˆ
ô ! ¨g°s¸CÄ#ÀÐ-GÓHò 	iˆDØ!×/Ñ/ØWØ�e 6ð 0ó +‰NˆD�(ð —/‘/Ð$?À¸vÐ"FÌ×H[ÑH[ÓH]Ð_gÓhÓhñ		iùs   ‚BBc                 ó²   — | j                  |«      }t        t        j                  | j                  ||«      | j
                  «      }| j                  ||«      S )N)rr   r   Ú	functoolsÚpartialr¹   Ú
_PAGE_SIZEr¦   )rY   r(   rµ   r¨   s       r]   r‰   zNewgroundsUserIE._real_extract1  sQ   € Ø—^‘^ CÓ(ˆ
ä#¤I×$5Ñ$5Ø×Ñ˜j¨#ó%/Ø04·±óAˆð ×#Ñ# G¨ZÓ8Ð8r_   N)	rŠ   r‹   rŒ   r«   rŽ   r�   r½   r¹   r‰   rh   r_   r]   r­   r­     sn   „ Ø€GØY€Jà3à�'ð
ð !ñð 5à�'ð
ð ñð <à�.ð
ð  ñð€Fð& €Jòió9r_   r­   )r»   r¡   Úcommonr   Únetworking.exceptionsr   Úutilsr   r   r	   r
   r   r   r   r   r   r   r   r   Úutils.traversalr   r   r’   r­   rh   r_   r]   ú<module>rÂ      sT   ðÛ Û 	å !Ý -÷÷ ÷ ó õ +ô@
�=ô @
ôF.A˜=ô .Aôb,9�}õ ,9r_   