Ë
    š„j¦  ã                   óv   — 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	m
Z
mZmZ ddlmZ  G d„ d	e«      Zy)
é    Né   )Ú
FragmentFDé   )Úimghdr)Ú
escapeHTMLÚformatSecondsÚsrt_subtitles_timecodeÚurljoin)Ú__version__c                   ó‚   — e Zd ZdZ ej
                  dde«      Z ej
                  dde«      Zed„ «       Zd„ Zd„ Z	d	„ Z
y
)ÚMhtmlFDaþ  html, body {
    margin: 0;
    padding: 0;
    height: 100vh;
}

html {
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
}

body {
    scroll-snap-type: y mandatory;
    display: flex;
    flex-flow: column;
}

body > figure {
    max-width: 100vw;
    max-height: 100vh;
    scroll-snap-align: center;
}

body > figure > figcaption {
    text-align: center;
    height: 2.5em;
}

body > figure > img {
    display: block;
    margin: auto;
    max-width: 100%;
    max-height: calc(100vh - 5em);
}
z\s+ú z5\B \B|(?<=[\w\-]) (?=[^\w\-])|(?<=[^\w\-]) (?=[\w\-])Ú c                 ó¢   — ddj                  d„ t        j                  | j                  «       d¬«      D «       «      j	                  d«      z   dz   S )Nz
=?utf-8?Q?ó    c              3   óH   K  — | ]  }|d k\  rt        |f«      nd|z  –— Œ y­w)é    s   =%02XN)Úbytes)Ú.0Úbs     úN/var/www/html/GAP/venv/lib/python3.12/site-packages/yt_dlp/downloader/mhtml.pyú	<genexpr>z'MhtmlFD._escape_mime.<locals>.<genexpr>6   s-   è ø€ ò (
àð  š9ŒE�1�$ŒK¨(°Q©,Ó6ñ(
ùs   ‚ "T)Úheaderúus-asciiz?=)ÚjoinÚquopriÚencodestringÚencodeÚdecode)Úss    r   Ú_escape_mimezMhtmlFD._escape_mime4   sP   € à˜sŸx™xñ (
ä×(Ñ(¨¯©«¸DÔAô(
ó  
÷ ‰6�*Óñð !%ñ%ð 	%r   c                 ó   — |› d|› d�S )Nú.z@yt-dlp.github.io.invalid© )ÚselfÚiÚfragmentÚfrag_boundarys       r   Ú_gen_cidzMhtmlFD._gen_cid;   s   € Ø��A�m�_Ð$=Ð>Ð>r   c                ó†  — t        j                  «       }|j                  dt        t        «      › dt        |«      › d| j
                  › d�«       d}t        |«      D ]Ÿ  \  }}|j                  d«       	 ||d   z   }|j                  dj                  |d	z   t        |«      t        |«      t        |d   d
¬«      ¬«      «       |j                  d| j                  |||«      › d�«       |j                  d«       |}Œ¡ |j                  «       S # t        t        t        f$ r d }|j                  d|d	z   › d�«       Y Œ{w xY w)NzB<!DOCTYPE html><html><head><meta name="generator" content="yt-dlp z	"><title>z</title><style>z</style><body>r   z<figure>ÚdurationuK   <figcaption>Slide #{num}: {t0} â€“ {t1} (duration: {duration})</figcaption>r   T)Úmsec)ÚnumÚt0Út1r+   z<figcaption>Slide #z</figcaption>z<img src="cid:z">z	</figure>)ÚioÚStringIOÚwriter   ÚYT_DLP_VERSIONÚ_STYLESHEETÚ	enumerateÚformatr	   r   ÚKeyErrorÚ
ValueErrorÚ	TypeErrorr)   Úgetvalue)	r%   Ú	fragmentsr(   ÚtitleÚoutputr.   r&   Úfragr/   s	            r   Ú	_gen_stubzMhtmlFD._gen_stub>   s[  € Ü—‘“ˆà�‰ð6ô 7AÄÓ6PÐ5Qð RÜ  Ó'Ð(ð )Ø×&Ñ&Ð'ð (ðô	ð ˆÜ  Ó+ò 	‰GˆAˆtØ�L‰L˜Ô$ðIØ˜$˜zÑ*Ñ*�Ø—‘Øaß‘&Ø˜A™Ü-¨bÓ1Ü-¨bÓ1Ü*¨4°
Ñ+;À$ÔGð	 ó ôð �L‰L˜>¨$¯-©-¸¸4ÀÓ*OÐ)PÐPRÐSÔTØ�L‰L˜Ô%Ø‰Bð#	ð& �‰Ó Ð øô œj¬)Ð4ò IØ�Ø—‘Ð2°1°q±5°'¸ÐGÖHðIús   Á5ADÄ.E Ä?E c                 óD  — |j                  d«      }| j                  j                  dd«      r|d   d d n|d   }|j                  d|d   «      }|j                  d|d	   «      }|t        |«      d
œ}| j                  ||«       |j	                  ddt        t        j                  «       «      j                  dd«      dœ«      }|d   }	|d   sw| j                  ||	|¬«      j                  «       }
|d   j                  d| j                  |«      › d|	› d|› d|	› dt        |
«      › d�j                  «       |
z   dz   «       d|d<   t        |«      D �]•  \  }}|dz   |d   k  rŒ|j                  d	«      }|s|sJ ‚t        ||d   «      }| j                  |||«      }|sŒO| j!                  |«      }t#        j$                  «       }|j                  d|	j                  d«      z  «       |j                  d| j'                  |||	«      j                  d«      z  «       |j                  d d!t)        j*                  |¬"«      xs d#› �j                  «       z  «       |j                  d$t        |«      z  «       |j                  d%|j                  d«      z  «       |j                  d&|d'   z  «       |j                  d«       | j-                  ||j/                  «       |z   dz   «       �Œ˜ |d   j                  d(|	j                  d«      z  «       | j1                  ||«      S ))NÚfragment_base_urlÚtestFr;   r   r<   Ú	format_idÚwebpage_urlÚurl)ÚfilenameÚtotal_fragsÚextra_stateú-r   )Úheader_writtenÚmime_boundaryrK   rJ   )r;   r(   r<   Údest_streamznMIME-Version: 1.0
From: <nowhere@yt-dlp.github.io.invalid>
To: <nowhere@yt-dlp.github.io.invalid>
Subject: z-
Content-type: multipart/related; boundary="z&"; type="text/html"
X.yt-dlp.Origin: z

--z:
Content-Type: text/html; charset=utf-8
Content-Length: z

s   
TÚfragment_indexÚpaths   --%b
r   s   Content-ID: <%b>
s   Content-type: %b
zimage/)ÚhÚjpegs   Content-length: %u
s   Content-location: %b
s   X.yt-dlp.Duration: %f
r+   s
   --%b--

)ÚgetÚparamsÚlenÚ _prepare_and_start_frag_downloadÚ
setdefaultÚstrÚuuidÚuuid4Úreplacer?   r   r2   r!   r5   r
   Ú_download_fragmentÚ_read_fragmentr0   ÚBytesIOr)   r   ÚwhatÚ_append_fragmentr:   Ú_finish_frag_download)r%   rF   Ú	info_dictrA   r;   r<   ÚoriginÚctxrH   r(   Ústubr&   r'   Úfragment_urlÚsuccessÚfrag_contentÚfrag_headers                    r   Úreal_downloadzMhtmlFD.real_download`   sn  € Ø%ŸM™MÐ*=Ó>ÐØ26·+±+·/±/Ø�Eô3�I˜kÑ*¨2¨AÑ.Ø )¨+Ñ 6ð 	à—‘˜g y°Ñ'=Ó>ˆØ—‘˜}¨i¸Ñ.>Ó?ˆð !Ü˜y›>ñ
ˆð
 	×-Ñ-¨c°9Ô=à—n‘n ]Ø#Ü ¤§¡£Ó.×6Ñ6°s¸BÓ?ñ5
ó ˆð
 $ OÑ4ˆàÐ+Ò,Ø—>‘>Ø#Ø+Øð "ó ÷ ‰f‹hð	 ð �Ñ×$Ñ$ðð !×-Ñ-¨eÓ4Ð5ð 6à*˜Oð ,$à$* 8ð ,à"�Oð $#ä#& t£9 +ð .ð÷ ‰f‹h˜ñ&ð !(ñ&(ô )ð -1ˆKÐ(Ñ)ä$ YÓ/ó 	F‰KˆAˆxØ�A‘˜#Ð.Ñ/Ò/Øà#Ÿ<™<¨Ó.ˆLÙÙ(Ð(Ð(Ü&Ð'8¸(À6Ñ:JÓK�à×-Ñ-¨c°<ÀÓKˆGÙØØ×.Ñ.¨sÓ3ˆLäŸ*™*›,ˆKØ×ÑØ˜m×2Ñ2°:Ó>Ñ>ô@à×ÑØ'¨$¯-©-¸¸8À]Ó*S×*ZÑ*ZÐ[eÓ*fÑfôhà×ÑØ'¨F´6·;±;ÀÔ3NÒ3XÐRXÐ2YÐ*Z×*aÑ*aÓ*cÑcôeà×ÑØ)¬C°Ó,=Ñ=ô?à×ÑØ+¨l×.AÑ.AÀ*Ó.MÑMôOà×ÑØ,¨x¸
Ñ/CÑCôEà×Ñ˜gÔ&Ø×!Ñ!Ø�[×)Ñ)Ó+¨lÑ:¸WÑDöFð9	Fð> 	ˆMÑ× Ñ Ø × 4Ñ 4°ZÓ @Ñ@ô	Bà×)Ñ)¨#¨yÓ9Ð9r   N)Ú__name__Ú
__module__Ú__qualname__r4   ÚreÚsubÚstaticmethodr!   r)   r?   rh   r$   r   r   r   r      sZ   „ ð#€KðH �"—&‘&˜  kÓ2€KØ�"—&‘&ÐQÐSUÐWbÓc€Kàñ%ó ð%ò?ò !óDN:r   r   )r0   r   rl   rW   r'   r   Úcompatr   Úutilsr   r   r	   r
   Úversionr   r3   r   r$   r   r   ú<module>rr      s.   ðÛ 	Û Û 	Û å  Ý ß NÓ NÝ 3ôb:ˆjõ b:r   