ó
    ‰*£hx  ã                   ó�   • S SK Jr  S SKJrJrJrJrJrJrJ	r	J
r
  S SKJrJrJrJrJr  S SKJr   " S S\5      r\r " S S\5      rg	)
é    )ÚSerialisable)ÚAliasÚTypedÚStringÚFloatÚIntegerÚBoolÚNoneSetÚSet)ÚExtensionListÚ	HexBinaryÚGuidÚRelationÚBase64Binary)Úhash_passwordc                   óÔ  ^ • \ rS rSrSu  rrSr\" S5      r\	" SS9r
\" S5      r\	" SS9r\" SS9r\" S5      r\" SS9r\" S	5      r\" SS9r\" S
5      r\	" SS9r\" SS9r\" SS9r\" SS9r\	" SS9r\" SS9r\" SS9r\" SS9rSr               SS jrSS jr \!S 5       r"\"RF                  S 5       r"SS jr$\!S 5       r%\%RF                  S 5       r%\&U 4S j5       r'Sr(U =r)$ )ÚWorkbookProtectioné   )NNÚ
workbookPrÚworkbookPasswordT©Ú
allow_noneÚrevisionsPasswordÚlockStructureÚlockWindowsÚlockRevision©r   ÚworkbookPasswordCharacterSetr   ÚrevisionsPasswordCharacterSetr   r   r   ÚrevisionsAlgorithmNameÚrevisionsHashValueÚrevisionsSaltValueÚrevisionsSpinCountÚworkbookAlgorithmNameÚworkbookHashValueÚworkbookSaltValueÚworkbookSpinCountc                 óÄ   • Ub  Xl         X l        Ub  X0l        X@l        XPl        X`l        Xpl        X€l        X�l        X l	        X°l
        XÀl        XÐl        Xàl        Xðl        g ©Nr   )Úselfr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   s                   ÚY/home/mande/repo/quber/.venv/lib/python3.13/site-packages/openpyxl/workbook/protection.pyÚ__init__ÚWorkbookProtection.__init__7   sj   € ð" Ñ'Ø$4Ô!Ø,HÔ)ØÑ(Ø%6Ô"Ø-JÔ*Ø*ÔØ&ÔØ(ÔØ&<Ô#Ø"4ÔØ"4ÔØ"4ÔØ%:Ô"Ø!2ÔØ!2ÔØ!2Õó    c                 ó4   • U(       d  [        U5      nXl        g)z Set a password on this workbook.N)r   Ú_workbook_password©r*   ÚvalueÚalready_hasheds      r+   Úset_workbook_passwordÚ(WorkbookProtection.set_workbook_passwordZ   s   € æÜ! %Ó(ˆEØ"'Õr.   c                 ó   • U R                   $ )z7Return the workbook password value, regardless of hash.)r0   ©r*   s    r+   r   Ú#WorkbookProtection.workbookPassword`   s   € ð ×&Ñ&Ð&r.   c                 ó&   • U R                  U5        g)z6Set a workbook password directly, forcing a hash step.N)r4   ©r*   r2   s     r+   r   r8   e   s   € ð 	×"Ñ" 5Õ)r.   c                 ó4   • U(       d  [        U5      nXl        g)z)Set a revision password on this workbook.N)r   Ú_revisions_passwordr1   s      r+   Úset_revisions_passwordÚ)WorkbookProtection.set_revisions_passwordj   s   € æÜ! %Ó(ˆEØ#(Õ r.   c                 ó   • U R                   $ )z8Return the revisions password value, regardless of hash.)r<   r7   s    r+   r   Ú$WorkbookProtection.revisionsPasswordp   s   € ð ×'Ñ'Ð'r.   c                 ó&   • U R                  U5        g)z7Set a revisions password directly, forcing a hash step.N)r=   r:   s     r+   r   r@   u   s   € ð 	×#Ñ# EÕ*r.   c                 óæ   >• [         TU ]  U5      nUR                  (       a  UR                  UR	                  S5      SS9  UR
                  (       a  UR                  UR	                  S5      SS9  U$ )z0Don't hash passwords when deserialising from XMLr   T)r3   r   )ÚsuperÚ	from_treer   r4   Úgetr   r=   )ÚclsÚnoder*   Ú	__class__s      €r+   rD   ÚWorkbookProtection.from_treez   sg   ø€ ô ‰wÑ  Ó&ˆØ× × Ø×&Ñ& t§x¡xÐ0BÓ'CÐTXÐ&ÑYØ×!×!Ø×'Ñ'¨¯©Ð1DÓ(EÐVZÐ'Ñ[Øˆr.   )r<   r0   r   r   r   r    r!   r   r   r"   r#   r$   r%   r   r   r&   r'   )NNNNNNNNNNNNNNN)Ú F)*Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r0   r<   Útagnamer   Úworkbook_passwordr   r   Úrevision_passwordr   r	   r   Úlock_structurer   Úlock_windowsr   Úlock_revisionr    r   r!   r"   r   r#   r$   r%   r&   r'   Ú	__attrs__r,   r4   Úpropertyr   Úsetterr=   r   ÚclassmethodrD   Ú__static_attributes__Ú__classcell__)rH   s   @r+   r   r      sŒ  ø† à.8Ñ+ÐÐ+à€GáÐ0Ó1ÐÙ#)°TÑ#:Ð ÙÐ1Ó2ÐÙ$*°dÑ$;Ð!Ù DÑ)€MÙ˜?Ó+€NÙ $Ñ'€KÙ˜Ó'€LÙ 4Ñ(€LÙ˜.Ó)€MÙ#¨tÑ4ÐÙ%°Ñ6ÐÙ%°Ñ6ÐÙ ¨DÑ1ÐÙ"¨dÑ3ÐÙ$°Ñ5ÐÙ$°Ñ5ÐÙ¨4Ñ0Ðð;€Ið #'Ø.2Ø#'Ø/3Ø#Ø!Ø"Ø(,Ø$(Ø$(Ø$(Ø'+Ø#'Ø#'Ø#'ô!3ôF(ð ñ'ó ð'ð ×Ññ*ó ð*ô)ð ñ(ó ð(ð ×Ññ+ó ð+ð ôó ör.   r   c                   ó„   • \ rS rSrSr\" SS9r\" SS9r\	" SS9r
\" SS9r\" SS9r\" SS9r\" SS9r       SS jrSrg)	ÚFileSharingéˆ   ÚfileSharingTr   Nc                 óX   • Xl         X l        X0l        X@l        XPl        X`l        Xpl        g r)   )ÚreadOnlyRecommendedÚuserNameÚreservationPasswordÚalgorithmNameÚ	hashValueÚ	saltValueÚ	spinCount)r*   r`   ra   rb   rc   rd   re   rf   s           r+   r,   ÚFileSharing.__init__”   s*   € ð $7Ô Ø ŒØ#6Ô Ø*ÔØ"ŒØ"ŒØ"�r.   )rc   rd   r`   rb   re   rf   ra   )NNNNNNN)rK   rL   rM   rN   rO   r	   r`   r   ra   r   rb   rc   r   rd   re   r   rf   r,   rY   © r.   r+   r\   r\   ˆ   sk   † à€Gá¨$Ñ/ÐÙ Ñ&€HÙ#¨tÑ4ÐÙ dÑ+€MÙ¨Ñ-€IÙ¨Ñ-€IÙ 4Ñ(€Ið &*ØØ%)Ø#ØØØ÷#r.   r\   N)Ú!openpyxl.descriptors.serialisabler   Úopenpyxl.descriptorsr   r   r   r   r   r	   r
   r   Úopenpyxl.descriptors.excelr   r   r   r   r   Úopenpyxl.utils.protectionr   r   ÚDocumentSecurityr\   rh   r.   r+   Ú<module>rn      sK   ðõ ;÷	÷ 	ó 	÷õ õ 4ôj˜ô jðZ &Ð ô#�,õ #r.   