
\L\c           @` s   d  d l  m Z m Z m Z m Z d d l m Z m Z m Z m	 Z	 d  d l
 Z
 e r_ e Z n  d  d l m Z d   Z d   Z d d	  Z d
   Z d   Z d S(   i    (   t   unicode_literalst   divisiont   absolute_importt   print_functioni   (   t   PY2t	   text_typet   bchrt   bordN(   t   cyclec         C` se  iK i d d 6d 6i d d 6d 6i d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6d! d" 6d# d$ 6d% d& 6d 6i d' d 6d( 6i d) d 6d* 6i d+ d 6d, 6i d- d 6d. 6i d/ d 6d0 6i d1 d 6d2 6i d3 d 6d 6i d4 d 6d 6i d5 d 6d6 d 6d7 d 6d8 d 6d9 d 6d 6i d: d 6d; d 6d< 6i d= d 6d 6i d> d 6d 6i d? d 6d? d 6d@ d 6dA 6i dB d 6dB d 6dC d 6dD dE 6dF d 6dG d 6dH d 6dI d 6dJ d 6dK d" 6dL d 6dM d 6dN d 6dO d 6d& 6i dP d 6dQ 6i dR d 6dS 6i dT d 6dU 6i dV d 6d 6i dW d 6dW d 6dX d 6dY d 6dZ d 6d[ d 6d\ d 6d 6i d] d 6d^ 6i d_ d 6d_ d 6d` d 6da d 6db d 6dc d 6d" 6i dd d 6d 6i de d 6df 6i dg d 6d 6i dh d 6di 6i dj d 6d$ 6i dk d 6d
 6i dl d 6dm 6i dn d 6dn d 6do d 6d 6i dp d 6dq 6i dr d 6ds 6i dt d 6du 6i dv d 6dw 6i dx d 6dy 6i dz d 6d{ 6i d| d 6d} 6i d~ d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d d 6d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d d 6d d, 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d dE 6d d 6d dS 6d d 6d  6i d d 6d 6i d d 6d 6i d d 6d d 6d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6} dB } |  | k ra| |  } | d } | | k ra| | } qan  | S(   Nu   afi    i6   u   sqi   u   aru   ar-dzi   u   ar-bhi   u   ar-egi   u   ar-iqi   u   ar-joi   u   ar-kwi   u   ar-lbi   u   ar-lyi   u   ar-mai   u   ar-omi   u   ar-qai   u   ar-sai   u   ar-syi
   u   ar-tni   u   ar-aei   u   ar-yei	   u   hyi+   u   asiM   u   azi,   u   eui-   u   bei#   u   bniE   u   bgu   cau   zhu   zh-hku   zh-cnu   zh-sgu   zh-twu   hru   sri   u   csu   dau   nlu   nl-bei   u   enu   en-auu   en-bzi(   u   en-cau   en-ieu   en-jmu   en-nzu   en-phu   en-zau   en-ttu   en-gbu   en-usu   en-zwu   eti%   u   foi8   u   fai)   u   fiu   fru   fr-beu   fr-cau   fr-luu   fr-mcu   fr-chu   kai7   u   deu   de-atu   de-liu   de-luu   de-chu   elu   guiG   u   heu   hii9   u   huu   isu   idi!   u   itu   it-chu   jai   u   kniK   u   kki?   u   x-kokiW   u   koi   u   lvi&   u   lti'   u   mki/   u   msi>   u   mliL   u   mti:   u   mriN   u   neia   u   noi   u   oriH   u   pli   u   ptu   pt-bri   u   paiF   u   rmi   u   roi   u   rui   u   szi;   u   saiO   u   ski   u   sli$   u   sbi.   u   esu   es-aru   es-boi@   u   es-cli4   u   es-cou   es-cru   es-dou   es-eci0   u   es-sviD   u   es-gtu   es-hnu   es-mxu   es-niu   es-pau   es-pyi<   u   es-peu   es-priP   u   es-uyu   es-vei    u   sxu   swiA   u   svu   sv-fii   u   taiI   u   ttu   teiJ   u   thi   u   tsi1   u   tni2   u   tri   u   uki"   u   uru   uziC   u   vii*   u   xhu   zui5   (    (   t   langIDt	   sublangIDt   mobilangdictt   langt   subdict(    (    s9   /home/sid/Downloads/KindleUnpack-master/lib/mobi_utils.pyt   getLanguage   s    B<*B'81;1'

c         C` s   t  j |   S(   N(   t   binasciit   hexlify(   t   byteList(    (    s9   /home/sid/Downloads/KindleUnpack-master/lib/mobi_utils.pyt   toHex   s    i   c   	      C` s   d } d } |  } xF | d k rZ t  | d  \ } } | | | d !} | | } | } q W| d k rp d } n  | t |  } | d k r d | | } n  | S(   Nt    0123456789ABCDEFGHIJKLMNOPQRSTUVt    i    i    i   t   0(   t   divmodt   len(	   t   valuet   npadt   digitst
   num_stringt   currentt   nextt	   remaindert
   rem_stringt   pad(    (    s9   /home/sid/Downloads/KindleUnpack-master/lib/mobi_utils.pyt   toBase32   s    

	c   	      C` s   t  |  t  r! |  j d  }  n  d d d d d d d d	 g } d
 } d
 } t |   } d
 } x t |  D] } |  | | d | | !} | d k r t |  t d  } n t |  t d  d } | t |  k  r | | } n
 | d } | d 7} | d
 k rj | | | } qj qj W| S(   Nu   latin-1i   i    i   i   i   i   i   @I       i    t
   0123456789R   t   Ai
   (   t
   isinstanceR   t   encodeR   t   ranget   ord(	   t   str_numt   scalelstR   t   jt   nt   scalet   it   ct   v(    (    s9   /home/sid/Downloads/KindleUnpack-master/lib/mobi_utils.pyt
   fromBase32   s&    

c         C` s   t  |  t  r! |  j d  }  n  | d  } t t t t |     } d j g  | D]" } t t |  t	 |  A ^ qS  } | | d S(   Nu   latin-1i   R   (
   R$   R   R%   R   t   itert   mapR   t   joinR   R   (   t   encryption_keyt   datat   cryptt   keyt   xt   encrypt(    (    s9   /home/sid/Downloads/KindleUnpack-master/lib/mobi_utils.pyt   mangle_fonts   s    
8(   t
   __future__R    R   R   R   t   compatibility_utilsR   R   R   R   R   t   xrangeR&   t	   itertoolsR   R   R   R!   R0   R:   (    (    (    s9   /home/sid/Downloads/KindleUnpack-master/lib/mobi_utils.pyt   <module>   s   ""		u		