"VfixddlmZddlmZmZmZmZmZmZm Z m Z ddl m Z m Z mZmZmZddlmZGddeZeZGddeZd S) ) Serialisable)AliasTypedStringFloatIntegerBoolNoneSetSet) ExtensionList HexBinaryGuidRelation Base64Binary) hash_passwordceZdZd\ZZdZedZedZ edZ edZ e dZ edZe dZedZe dZed ZedZedZedZedZedZedZedZedZd Z dd ZddZe dZ!e!j"dZ!ddZ#e dZ$e$j"dZ$e%fdZ&xZ'S)WorkbookProtection)NN workbookPrworkbookPasswordT allow_nonerevisionsPassword lockStructure lockWindows lockRevisionrworkbookPasswordCharacterSetrrevisionsPasswordCharacterSetrrrrevisionsAlgorithmNamerevisionsHashValuerevisionsSaltValuerevisionsSpinCountworkbookAlgorithmNameworkbookHashValueworkbookSaltValueworkbookSpinCountNc|||_||_|||_||_||_||_||_||_| |_| |_ | |_ | |_ | |_ ||_ ||_dSNr)selfrrrrrrrrr r!r"r#r$r%r&s Kc:\PYTHON\DbComparer\venv\Lib\site-packages\openpyxl/workbook/protection.py__init__zWorkbookProtection.__init__7s"  '$4D !,H)  (%6D "-J**&(&<#"4"4"4%:"!2!2!2Fc6|st|}||_dS)z Set a password on this workbook.N)r_workbook_passwordr)valuealready_hasheds r*set_workbook_passwordz(WorkbookProtection.set_workbook_passwordZs% )!%((E"'r,c|jS)z7Return the workbook password value, regardless of hash.)r/r)s r*rz#WorkbookProtection.workbookPassword`s &&r,c0||dS)z6Set a workbook password directly, forcing a hash step.N)r3r)r1s r*rz#WorkbookProtection.workbookPasswordes ""5)))))r,c6|st|}||_dS)z)Set a revision password on this workbook.N)r_revisions_passwordr0s r*set_revisions_passwordz)WorkbookProtection.set_revisions_passwordjs% )!%((E#(   r,c|jS)z8Return the revisions password value, regardless of hash.)r9r5s r*rz$WorkbookProtection.revisionsPasswordps ''r,c0||dS)z7Set a revisions password directly, forcing a hash step.N)r:r7s r*rz$WorkbookProtection.revisionsPasswordus ##E*****r,ct|}|jr*||dd|jr*||dd|S)z0Don't hash passwords when deserialising from XMLrT)r2r)super from_treerr3getrr:)clsnoder) __class__s r*r?zWorkbookProtection.from_treezsww  &&   Z  & &txx0B'C'CTX & Y Y Y  ! \  ' '1D(E(EVZ ' [ [ [ r,)NNNNNNNNNNNNNNN)r-F)(__name__ __module__ __qualname__r/r9tagnamerworkbook_passwordrrrevision_passwordrr rlock_structurer lock_windowsr lock_revisionrrr r!rr"r#r$r%r& __attrs__r+r3propertyrsetterr:r classmethodr? __classcell__)rCs@r*rrs.8++G011#)6T#:#:#: 122$*Fd$;$;$;!DD)))MU?++N$$'''K5''L44(((LE.))M#Vt444%666%666 D111"Fd333$ 555$ 5554000;I#'.2#'/3#!"(,$($($('+#'#'#'!3!3!3!3F(((( ''X'***)))) ((X(+++[r,rceZdZdZedZedZedZ edZ e dZ e dZ edZ ddZdS) FileSharing fileSharingTrNch||_||_||_||_||_||_||_dSr()readOnlyRecommendeduserNamereservationPassword algorithmName hashValue saltValue spinCount)r)rVrWrXrYrZr[r\s r*r+zFileSharing.__init__s<$7   #6 *"""r,)NNNNNNN)rDrErFrGr rVrrWr rXrYrrZr[rr\r+r,r*rSrSsG$$///v&&&H#)t444Fd+++M ---I ---I4(((I&*%)#######r,rSN)!openpyxl.descriptors.serialisableropenpyxl.descriptorsrrrrrr r r openpyxl.descriptors.excelr r rrropenpyxl.utils.protectionrrDocumentSecurityrSr]r,r*rcsF;:::::                    433333jjjjjjjjZ&#####,#####r,