§
   �Çë³jƒÚã                   ól   — d Z dZdZddlZd„ Zd„ Zdd„ZeZedk    r e	 ed	d
¦  «        ¦  «         dS dS )a:  md5crypt.py - Provides interoperable MD5-based crypt() function

SYNOPSIS

    import md5crypt.py

    cryptedpassword = md5crypt.md5crypt(password, salt);

DESCRIPTION

unix_md5_crypt() provides a crypt()-compatible interface to the
rather new MD5-based crypt() function found in modern operating systems.
It's based on the implementation found on FreeBSD 2.2.[56]-RELEASE and
contains the following license in it:

 "THE BEER-WARE LICENSE" (Revision 42):
 <phk@login.dknet.dk> wrote this file.  As long as you retain this notice you
 can do whatever you want with this stuff. If we meet some day, and you think
 this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp

apache_md5_crypt() provides a function compatible with Apache's
.htpasswd files. This was contributed by Bryan Hart <bryan@eai.com>.

z$1$z@./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzé    Nc                 óh   — d}|dz
  dk    r&|dz
  }|t           | dz           z   }| dz	  } |dz
  dk    °&|S )NÚ é   r   é?   é   )ÚITOA64)ÚvÚnÚrets      úV/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/md5crypt.pyÚto64r   .   sO   € Ø
€CØˆq‰5�AŠ:ˆ:Ø�‰EˆØ•F˜1˜t™8Ô$Ñ$ˆØ�‰Fˆð ˆq‰5�AŠ:ˆ:ð €Jó    c                 ó$   — t          | |d¦  «        S )Nz$apr1$)Úunix_md5_crypt)ÚpwÚsalts     r   Úapache_md5_cryptr   7   s   € å˜"˜d HÑ-Ô-Ð-r   c           
      ó   — |d k    rt           }|d t          |¦  «        …         |k    r|t          |¦  «        d …         }dd l}	 |                     |dd¦  «        d         }nR# t          $ rE |                     d¦  «                             dd¦  «        d                              d¦  «        }Y nw xY w|d d…         }	 | |z   |z   }n+# t          $ r | |                     d¦  «        z   |z   }Y nw xY wt          j	        | |z   | z   ¦  «         
                    ¦   «         }t          t          | ¦  «        dd¦  «        D ]#}|dk    r||d d…         z   }Œ||d |…         z   }Œ$t          | ¦  «        }|r�|dz  rI	 |t          d¦  «        z   }n}# t          $ r( |t          d¦  «                             d¦  «        z   }Y nLw xY w	 || d         z   }n;# t          $ r. |t          | d         ¦  «                             d¦  «        z   }Y nw xY w|dz	  }|°�t          j	        |¦  «         
                    ¦   «         }t          d¦  «        D ]�}d	                     d¦  «        }|dz  r|| z   }n||d d…         z   }|d
z  r||z   }|dz  r|| z   }|dz  r||d d…         z   }n|| z   }t          j	        |¦  «         
                    ¦   «         }Œ‚d	}		 |	t          t          t          |d         ¦  «        ¦  «        dz  t          t          |d         ¦  «        ¦  «        dz  z  t          t          |d         ¦  «        ¦  «        z  d¦  «        z   }	|	t          t          t          |d         ¦  «        ¦  «        dz  t          t          |d         ¦  «        ¦  «        dz  z  t          t          |d         ¦  «        ¦  «        z  d¦  «        z   }	|	t          t          t          |d         ¦  «        ¦  «        dz  t          t          |d         ¦  «        ¦  «        dz  z  t          t          |d         ¦  «        ¦  «        z  d¦  «        z   }	|	t          t          t          |d
         ¦  «        ¦  «        dz  t          t          |d         ¦  «        ¦  «        dz  z  t          t          |d         ¦  «        ¦  «        z  d¦  «        z   }	|	t          t          t          |d         ¦  «        ¦  «        dz  t          t          |d         ¦  «        ¦  «        dz  z  t          t          |d         ¦  «        ¦  «        z  d¦  «        z   }	|	t          t          t          |d         ¦  «        ¦  «        d¦  «        z   }	||z   dz   |	z   S # t          $ �rÿ |	t          t          |d         ¦  «        dz  t          |d         ¦  «        dz  z  t          |d         ¦  «        z  d¦  «        z   }	|	t          t          |d         ¦  «        dz  t          |d         ¦  «        dz  z  t          |d         ¦  «        z  d¦  «        z   }	|	t          t          |d         ¦  «        dz  t          |d         ¦  «        dz  z  t          |d         ¦  «        z  d¦  «        z   }	|	t          t          |d
         ¦  «        dz  t          |d         ¦  «        dz  z  t          |d         ¦  «        z  d¦  «        z   }	|	t          t          |d         ¦  «        dz  t          |d         ¦  «        dz  z  t          |d         ¦  «        z  d¦  «        z   }	|	t          t          |d         ¦  «        d¦  «        z   }	||                     d¦  «        z   dz   |	z   cY S w xY w)Nr   ú$r   zutf-8é   iðÿÿÿé   iè  r   é   é   r   é   é   é   é   é   é	   é   é
   é   é   )ÚMAGICÚlenÚstringÚsplitÚAttributeErrorÚdecodeÚencodeÚ	TypeErrorÚhashlibÚmd5ÚdigestÚrangeÚchrr   ÚintÚord)
r   r   Úmagicr&   ÚctxÚfinalÚplÚiÚctx1Úpasswds
             r   r   r   <   sÃ  € à�‚}€}Ýˆð ˆK�S�‰ZŒZˆKÔ˜EÒ!Ð!Ø•C˜‘J”J�K�KÔ ˆð €M€M€MðEØ�|Š|˜D # qÑ)Ô)¨!Ô,ˆˆøÝð Eð Eð EØ�{Š{˜7Ñ#Ô#×)Ò)¨#¨qÑ1Ô1°!Ô4×;Ò;¸GÑDÔDˆˆˆðEøøøð ���Œ8€Dð0Ø�5‰j˜4ÑˆˆøÝð 0ð 0ð 0Ø�5—<’< Ñ(Ô(Ñ(¨4Ñ/ˆˆˆð0øøøõ ŒK˜˜T™	 B™Ñ'Ô'×.Ò.Ñ0Ô0€Eå•C˜‘G”G˜A˜cÑ"Ô"ð #ð #ˆØ�Š7ˆ7Ø˜˜c˜r˜cœ
Ñ"ˆCˆCà˜˜c˜r˜cœ
Ñ"ˆCˆCõ
 	ˆB‰Œ€AØ
ð Øˆq‰5ð 		7ð3Ø�C ™FœF‘l��øÝð 3ð 3ð 3Ø�C ™FœFŸMšM¨'Ñ2Ô2Ñ2���ð3øøøð7Ø˜B˜qœE‘k��øÝð 7ð 7ð 7Ø�C  1¤™JœJ×-Ò-¨gÑ6Ô6Ñ6���ð7øøøà�‰Fˆð ð õ ŒK˜ÑÔ×#Ò#Ñ%Ô%€Eõ �4‰[Œ[ð +ð +ˆØ�yŠy˜Ñ!Ô!ˆàˆq‰5ð 	%Ø˜"‘9ˆDˆDà˜%   œ*Ñ$ˆDàˆq‰5ð 	Ø˜$‘;ˆDàˆq‰5ð 	Ø˜"‘9ˆDàˆq‰5ð 	Ø˜%   œ*Ñ$ˆDˆDà˜"‘9ˆDõ ”˜DÑ!Ô!×(Ò(Ñ*Ô*ˆˆð
 €Fð.;Ø�$¥¥C¨¨a¬¡M¤MÑ 2Ô 2°bÑ 8Ý!$¥S¨¨q¬¡]¤]Ñ!3Ô!3°qÑ!8ñ :å!$¥S¨¨r¬¡^¤^Ñ!4Ô!4ñ 6à67ñ9ô 9ñ 9ˆð �$¥¥C¨¨a¬¡M¤MÑ 2Ô 2°bÑ 8Ý!$¥S¨¨q¬¡]¤]Ñ!3Ô!3°qÑ!8ñ :å!$¥S¨¨r¬¡^¤^Ñ!4Ô!4ñ 6à78ñ:ô :ñ :ˆð �$¥¥C¨¨a¬¡M¤MÑ 2Ô 2°bÑ 8Ý!$¥S¨¨q¬¡]¤]Ñ!3Ô!3°qÑ!8ñ :å!$¥S¨¨r¬¡^¤^Ñ!4Ô!4ñ 6à78ñ:ô :ñ :ˆð �$¥¥C¨¨a¬¡M¤MÑ 2Ô 2°bÑ 8Ý!$¥S¨¨q¬¡]¤]Ñ!3Ô!3°qÑ!8ñ :å!$¥S¨¨r¬¡^¤^Ñ!4Ô!4ñ 6à78ñ:ô :ñ :ˆð �$¥¥C¨¨a¬¡M¤MÑ 2Ô 2°bÑ 8Ý!$¥S¨¨r¬¡^¤^Ñ!4Ô!4¸Ñ!9ñ ;å!$¥S¨¨q¬¡]¤]Ñ!3Ô!3ñ 5à67ñ9ô 9ñ 9ˆð �$¥¥C¨¨b¬	¡N¤NÑ 3Ô 3°aÑ8Ô8Ñ8ˆà�t‰|˜cÑ! FÑ*Ð*øÝð ;ñ ;ð ;Ø�$¥ E¨!¤H¡¤°Ñ 3Ý!$ U¨1¤X¡¤°!Ñ!3ñ 5å!$ U¨2¤Y¡¤ñ 1à12ñ4ô 4ñ 4ˆð �$¥ E¨!¤H¡¤°Ñ 3Ý!$ U¨1¤X¡¤°!Ñ!3ñ 5å!$ U¨2¤Y¡¤ñ 1à23ñ5ô 5ñ 5ˆð �$¥ E¨!¤H¡¤°Ñ 3Ý!$ U¨1¤X¡¤°!Ñ!3ñ 5å!$ U¨2¤Y¡¤ñ 1à23ñ5ô 5ñ 5ˆð �$¥ E¨!¤H¡¤°Ñ 3Ý!$ U¨1¤X¡¤°!Ñ!3ñ 5å!$ U¨2¤Y¡¤ñ 1à23ñ5ô 5ñ 5ˆð �$¥ E¨!¤H¡¤°Ñ 3Ý!$ U¨2¤Y¡¤°1Ñ!4ñ 6å!$ U¨1¤X¡¤ñ 0à12ñ4ô 4ñ 4ˆð �$¥ E¨"¤I¡¤°Ñ3Ô3Ñ3ˆØ�t—{’{ 7Ñ+Ô+Ñ+¨cÑ1°FÑ:Ð:Ð:Ð:ð-;øøøs]   ÁA# Á#AB2Â1B2Ã C	 Ã	%C1Ã0C1Å9F Æ/F>Æ=F>ÇG Ç5HÈHË
J8V ÖH^Þ^Ú__main__ÚcatÚhat)N)
Ú__doc__r$   r   r,   r   r   r   Úmd5cryptÚ__name__Úprint© r   r   ú<module>rB      s—   ðð ð ð2 	€Ø	K€à €€€ðð ð ð.ð .ð .ð
B;ð B;ð B;ð B;ðJ €àˆzÒÐØ	€Eˆ>ˆ>˜% Ñ'Ô'Ñ(Ô(Ð(Ð(Ð(ð Ðr   