Ë
    š„j)  ã                   óB   — d dl mZ ddlmZmZ ddlmZ  G d„ de«      Zy)é   )ÚInfoExtractoré   )Úint_or_noneÚurl_or_none)Útraverse_objc                   ó¤   — e Zd ZdZdddddddd	d
ddeeeddg d¢dœdœddddddddddddeeeddœdœddd dd!dd"d#d$eeed%d&d'd(d)œd*gd+œd,d-d.œgZd/„ Zy0)1Ú	MedalTVIEzBhttps?://(?:www\.)?medal\.tv/games/[^/?#&]+/clips/(?P<id>[^/?#&]+)z3https://medal.tv/games/valorant/clips/jTBFnLKdLy15KÚ 03e4911fdcf7fce563090705c2e79267ÚjTBFnLKdLy15KÚmp4zMornu's clutchÚ ÚAcieliÓØqbÚ20220504Ú19335460zhttps://medal.tv/users/19335460é   z8re:https://cdn\.medal\.tv/ugcp/content-thumbnail/.*\.jpg)ÚheadshotÚvalorantÚ4kÚclutchÚmornu)ÚidÚextÚtitleÚdescriptionÚuploaderÚ	timestampÚupload_dateÚuploader_idÚuploader_urlÚcomment_countÚ
view_countÚ
like_countÚdurationÚ	thumbnailÚtags)ÚurlÚmd5Ú	info_dictz7https://medal.tv/games/cod-cold-war/clips/2um24TWdty0NAÚ b6dc76b78195fff0b4f8bf4a33ec2148Ú2um24TWdty0NAzu tk me i tk u biggerÚzahli‹8³_Ú20201117Ú5156321z(re:https://cdn\.medal\.tv/source/.*\.pngzhttps://medal.tv/users/5156321é	   )r   r   r   r   r   r   r   r   r$   r   r    r!   r"   r#   z3https://medal.tv/games/valorant/clips/2WRj40tpY_EU9Ú 6c6bb6569777fd8b4ef7b33c09de8dcfÚ2WRj40tpY_EU9z
1v5 clutchÚadnyÚ6256941zhttps://medal.tv/users/6256941é   z(re:https://cdn\.medal\.tv/source/.*\.jpgi¨Ù"`Ú20210209)r   r   r   r   r   r   r   r    r!   r"   r#   r$   r   r   z+Video formats are not available through API)r&   r'   r(   Úexpected_warningsz3https://medal.tv/games/valorant/clips/37rMeFpryCC-9T)r&   Úonly_matchingc                 ó  — | j                  |«      }| j                  d|› �|ddi¬«      }g }t        |j                  d«      «      x}r$|j	                  | j                  ||dd¬«      «       t        |j                  d	«      «      x}r|j                  |d
dddœ«       |D �cg c]  }d|d   vsŒ|‘Œ }}|sI| j                  d«       | j                  d|› d�|d¬«      }|j                  |j                  ddddœ«       ||dœt        |dt        hfdt        hfdt        d¬«      hfdt        hfdt        hfdt        hfdt        hfdd t        hfdd!t        hfdd!t        ht        d"„ hfd#d$t        hfd%t        hfd&œ«      ¥S c c}w )'Nzhttps://medal.tv/api/content/ÚAcceptzapplication/json)ÚheadersÚcontentUrlHlsr   Úhls)Úm3u8_idÚ
contentUrlzhttp-sourcer   )r&   Ú	format_idr   Úqualityzvideo/privacy-protected-guestr&   zMVideo formats are not available through API, falling back to social video URLz/socialVideoUrlzChecking social video URL)Únotezsocial-videoéÿÿÿÿ)r   ÚformatsÚcontentTitleÚcontentDescriptionÚcreatediè  )ÚscaleÚvideoLengthSecondsÚviewsÚlikesÚcommentsÚposterÚdisplayNameÚuserIdc                 ó   — | xr d| › �S )Nzhttps://medal.tv/users/© )Úxs    úO/var/www/html/GAP/venv/lib/python3.12/site-packages/yt_dlp/extractor/medaltv.pyú<lambda>z)MedalTVIE._real_extract.<locals>.<lambda>x   s   € ÈqÒOrÐWnÐopÐnqÐUr€ ó    r%   .ÚthumbnailUrl)r   r   r   r#   r!   r"   r    r   r   r   r%   r$   )Ú	_match_idÚ_download_jsonr   ÚgetÚextendÚ_extract_m3u8_formatsÚappendÚreport_warningÚ_request_webpager&   r   Ústrr   Úfilter)	Úselfr&   Úvideo_idÚcontent_datarB   Úm3u8_urlÚhttp_urlÚfmtÚurlhs	            rQ   Ú_real_extractzMedalTVIE._real_extractL   sð  € Ø—>‘> #Ó&ˆà×*Ñ*Ø+¨H¨:Ð6¸ØÐ1Ð2ð +ó 4ˆð ˆÜ" <×#3Ñ#3°OÓ#DÓEÐEˆ8ÐEØ�N‰N˜4×5Ñ5°hÀÈ%ÐY^Ð5Ó_Ô`Ü" <×#3Ñ#3°LÓ#AÓBÐBˆ8ÐBØ�N‰NØØ*ØØñ	ô ð #*Ö_˜3Ð-LÐTWÐX]ÑT^Ò-^’3Ð_ˆÐ_Ùà×ÑÐ oÔpØ×(Ñ(Ø/°¨z¸ÐIÈ8Ø0ð )ó 2ˆDð �N‰NØ—x‘xØ+ØØñ	ô ð Øñ
ô ˜<Ø(¬3¨%Ð0Ø 4´s°eÐ<Ø'¬+¸DÔ*AÐ)BÐCØ1´K°=ÐAØ&¬¨Ð6Ø&¬¨Ð6Ø",¬{¨mÐ!<Ø% }´s°eÐ<Ø (¨(´S°EÐ:Ø!)¨8´c°U¼FÑErÐDsÐ tØ ¤s eÐ,Ø,¬{¨mÐ<ñ*ó ð
ð 	
ùò `s   Â#FÂ0FN)Ú__name__Ú
__module__Ú__qualname__Ú
_VALID_URLÚintÚ_TESTSrf   rO   rS   rQ   r	   r	   	   sã   „ ØV€JàDØ1à!ØØ%ØØØ#Ø%Ø%Ø=Ø ØØØØTÚEñ
ñð* IØ1à!ØØ,ØØØ#Ø%Ø$ØDØ<Ø ØØØñ
ñð* EØ1à!ØØ!ØØØ$Ø<Ø ØØØØDØ#Ø%ñ
ð  LÐLñ)ð, EØñðy?€FóB0
rS   r	   N)Úcommonr   Úutilsr   r   Úutils.traversalr   r	   rO   rS   rQ   ú<module>rp      s    ðÝ !÷õ +ôs
�õ s
rS   