
    ukiA                     .    d dl Z ddlmZ  G d de      Zy)    N   )InfoExtractorc            	           e Zd ZdZdZde de dZdZde de d	e d
e d	Zde de dde e dgZddddddddidddddddddddddddddd ddd!ddgZ	d"d#dd#ddd$d%d&giidd'dd(d)dd)dddgZ
d* Zy+),CloudflareStreamIEz$(?:(?:watch|iframe|customer-\w+)\.)?z<(?:cloudflarestream\.com|(?:videodelivery|bytehighway)\.net)z(?:embed\.|)z%/embed/[^/?#]+\.js\?(?:[^#]+&)?video=z%[\da-f]{32}|eyJ[\w-]+\.[\w-]+\.[\w-]+zhttps?://(?:z(?P<domain>z)/|z)(?P<id>z/<script[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//z(?:z)(?:(?!\1).)*)\1z(<iframe[^>]+\bsrc=["\'](?P<url>https?://z/[\da-f]{32})zchttps://embed.cloudflarestream.com/embed/we4g.fla9.latest.js?video=31c9291ab41fac05471db4e73aa11717 31c9291ab41fac05471db4e73aa11717mp4z)re:https?://cloudflarestream\.com/.+\.jpg)idexttitle	thumbnailskip_downloadm3u8)url	info_dictparamszuhttps://watch.cloudflarestream.com/embed/sdk-iframe-integration.fla9.latest.js?video=0e8e040aec776862e1d632a699edf59e 0e8e040aec776862e1d632a699edf59e)r   r   zChttps://watch.cloudflarestream.com/9df17203414fd1db3e3ed74abbe936c1T)r   only_matchingzPhttps://cloudflarestream.com/31c9291ab41fac05471db4e73aa11717/manifest/video.mpdz`https://embed.videodelivery.net/embed/r4xu.fla9.latest.js?video=81d80727f3022488598f68d323c1ad5ez^https://customer-aw5py76sw8wyqzmh.cloudflarestream.com/2463f6d3e06fa29710a337f5f5389fd8/iframea;  https://watch.cloudflarestream.com/eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJraWQiOiJmYTA0YjViMzQ2NDkwYTM5NWJiNzQ1NWFhZTA2YzYwZSIsInN1YiI6Ijg4ZDQxMDhhMzY0MjA3M2VhYmFhZjg3ZGExODJkMjYzIiwiZXhwIjoxNjAwNjA5MzE5fQ.xkRJwLGkt0nZ%5F0BlPiwU7iW4pqb4lKkznbKfAhGg0tGcxSS6ZBA3lcTUwu7W%2DyCFbnAl%2Dhqk3Fn%5FqeQS%5FQydP27qTHpB9iIFFsMtk1tqzGZV5v4yrYDnwLSKzEKvVd6QwJnfABtxH2JdpSNuWlMUiVXFxGWgjOw6QeTNDDklTQYXV%5FNLV7sErSn5CeOPeRRkdXb%2D8ip%5FVOcfk1nDsFoOo4fctFtGP0wYMyY5ae8nhhatydHwevuvJCcEvEfh%2D4qjq9mCZOodevmtSQ4YWmggf4BxtWnDWYrGW8Otp6oqezrR8oY4%2DbKdV6PaqBj49aJdcls6xK7PmM8%5Fvjy3xfm0Mgz2https://upride.cc/incident/shoulder-pass-at-light/ eaef9dea5159cf968be84241b5cedfe7genericimpersonatechrome)extractor_argsr   zIhttps://www.cloudflare.com/developer-platform/products/cloudflare-stream/ e7bd2dd67e0f8860b4ae81e33a966049c                    | j                  |      j                  dd      \  }}|dk7  rd}d| d| d}d|v r=| j                  t        j                  |j                  d      d   d	z         |      d
   }|dz   }| j                  |dz   |dddd      \  }}| j                  |dz   |dd      \  }}	|j                  |       | j                  |	|       |||dz   ||dS )Nr
   domainzbytehighway.netzcloudflarestream.comzhttps:///.r   z===subzmanifest/video.r   r	   m3u8_nativehlsF)m3u8_idfatalmpddash)mpd_idr#   )targetzthumbnails/thumbnail.jpg)r
   r   r   formats	subtitles)
_match_valid_urlgroup_parse_jsonbase64urlsafe_b64decodesplit#_extract_m3u8_formats_and_subtitles"_extract_mpd_formats_and_subtitlesextend_merge_subtitles)
selfr   video_idr   base_urlmanifest_base_urlr(   r)   fmtssubss
             \/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/yt_dlp/extractor/cloudflarestream.py_real_extractz CloudflareStreamIE._real_extractH   s0   005;;D(K&&&+FfXQxj2(?''(@(@s#A&.)019;;@BH$'88!EE&%5 F 7 <<%xe = M
dtd95 !$>>"
 	
    N)__name__
__module____qualname___SUBDOMAIN_RE
_DOMAIN_RE	_EMBED_RE_ID_RE
_VALID_URL_EMBED_REGEX_TESTS_WEBPAGE_TESTSr;    r<   r:   r   r      sa   ;MPJ}oQzl:_`I5F {:,c)T\]c\ddefJ:9+SP`a3M?:,o^L
 u47E	
 #F+	 G47E	
 U b r p M	; FD D47E	
  )=8**EF#
 [47E	
	N.
r<   r   )r-   commonr   r   rH   r<   r:   <module>rJ      s     !Z
 Z
r<   