o
    Ni5                     @  s   d dl mZ d dlZd dlZd dlZd dlmZmZmZ d dl	m
Z
 d dlmZ er0d dlmZ G dd dZG d	d
 d
ZdddZdS )    )annotationsN)TYPE_CHECKINGAnyNoReturn)RemovedInSphinx90Warning)
ThemeError)Pathc                   @  s   e Zd ZU ded< ded< ded< ddd	d
d)ddZd*ddZd+ddZd,ddZd-dd Zd.d!d"Z	d/d#d$Z
d0d&d'Zd(S )1_CascadingStyleSheetstr | os.PathLike[str]filenameintprioritydict[str, str]
attributes  
stylesheetztext/css)r   reltyper   strr   returnNonec               K  s8   t | d| t | d| t | d||d|B  d S )Nr   r   r   )r   r   object__setattr__)selfr   r   r   r   r    r   P/home/ubuntu/.local/lib/python3.10/site-packages/sphinx/builders/html/_assets.py__init__   s   
z_CascadingStyleSheet.__init__c                 C  s>   d dd | j D }| jj d| jd| j d| dS )N, c                 s  "    | ]\}}| d |V  qdS =Nr   .0kvr   r   r   	<genexpr>#        z/_CascadingStyleSheet.__str__.<locals>.<genexpr>(, priority=))joinr   items	__class____name__r   r   r   attrr   r   r   __str__"   s   z_CascadingStyleSheet.__str__otherr   boolc                 C  V   t |trtjdtdd | j|kS t |tstS | j|jko*| j|jko*| j	|j	kS Nz[The str interface for _CascadingStyleSheet objects is deprecated. Use css.filename instead.   
stacklevel)

isinstancer   warningswarnr   r   r	   NotImplementedr   r   r   r2   r   r   r   __eq__*      




z_CascadingStyleSheet.__eq__c                 C      t | j| jgt| j R S Nhashr   r   sortedr   r,   r   r   r   r   __hash__;       z_CascadingStyleSheet.__hash__keyvaluer   r   c                 C     | j j d}t|Nz is immutabler-   r.   AttributeErrorr   rH   rI   msgr   r   r   r   >      z _CascadingStyleSheet.__setattr__c                 C     | j j d}t|rK   rL   r   rH   rO   r   r   r   __delattr__B   rP   z _CascadingStyleSheet.__delattr__c                 C  "   t jdtdd tt| j|S r5   r:   r;   r   getattrosfspathr   r   rH   r   r   r   __getattr__F      z _CascadingStyleSheet.__getattr__int | slicec                 C      t jdtdd t| j| S r5   r:   r;   r   rW   rX   r   rY   r   r   r   __getitem__O      z _CascadingStyleSheet.__getitem__N)r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r2   r   r   r3   r   r   rH   r   rI   r   r   r   rH   r   r   r   rH   r   r   r   rH   r\   r   r   r.   
__module____qualname____annotations__r   r1   r>   rF   r   rS   rZ   r_   r   r   r   r   r	      s   
 





	r	   c                   @  s|   e Zd ZU ded< ded< ded< ddd%ddZd&ddZd'ddZd(ddZd)ddZd*ddZ	d+dd Z
d,d"d#Zd$S )-_JavaScriptr
   r   r   r   r   r   r   )r   r   r   r   c               K  s.   t | d| t | d| t | d| d S )Nr   r   r   r   )r   r   r   r   r   r   r   r   ^   s   z_JavaScript.__init__c                 C  sJ   d}| j rdddd | j  D  }| jj d| jd| j | dS )N r   c                 s  r   r    r   r"   r   r   r   r&   m   r'   z&_JavaScript.__str__.<locals>.<genexpr>r(   r)   r*   )r   r+   r,   r-   r.   r   r   r/   r   r   r   r1   j   s   z_JavaScript.__str__r2   r   r3   c                 C  r4   NzQThe str interface for _JavaScript objects is deprecated. Use js.filename instead.r6   r7   )
r9   r   r:   r;   r   r   rl   r<   r   r   r=   r   r   r   r>   t   r?   z_JavaScript.__eq__c                 C  r@   rA   rB   rE   r   r   r   rF      rG   z_JavaScript.__hash__rH   rI   r   r   c                 C  rJ   rK   rL   rN   r   r   r   r      rP   z_JavaScript.__setattr__c                 C  rQ   rK   rL   rR   r   r   r   rS      rP   z_JavaScript.__delattr__c                 C  rT   rn   rU   rY   r   r   r   rZ      r[   z_JavaScript.__getattr__r\   c                 C  r]   rn   r^   rY   r   r   r   r_      r`   z_JavaScript.__getitem__N)r   r
   r   r   r   r   r   r   ra   rb   rc   rd   re   rf   rg   rh   r   r   r   r   rl   Y   s   
 






	rl   outdirr   r   r
   r   r   c                 C  sv   t |}d|v rdS d|v rd|}t|z| | d d}W n
 ty/   Y dS w |s4dS t|dS )Nz://rm   ?z7Local asset file paths must not contain query strings:    08x)	rW   rX   r   joinpath
read_bytes	translateFileNotFoundErrorzlibcrc32)ro   r   rO   contentr   r   r   _file_checksum   s   

rz   )ro   r   r   r
   r   r   )
__future__r   rW   r:   rw   typingr   r   r   sphinx.deprecationr   sphinx.errorsr   pathlibr   r	   rl   rz   r   r   r   r   <module>   s    JJ