§
    dÒ³g´>  ã                   óÖ  — d Z ddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddl m!Z! ddl m"Z"  ej#        e$¦  «        Z% G d„ de&¦  «        Z' G d„ d¦  «        Z( G d„ de(¦  «        Z) G d„ de(¦  «        Z* G d„ de*¦  «        Z+ G d„ de(¦  «        Z, G d„ de,¦  «        Z- G d„ de)¦  «        Z. G d„ d e,¦  «        Z/ G d!„ d"e)¦  «        Z0 G d#„ d$e,¦  «        Z1 G d%„ d&¦  «        Z2 G d'„ d(ee         ¦  «        Z3d)ee4         d*dfd+„Z5e$d,k    r e5ej6        ¦  «         dS dS )-a   Adobe character mapping (CMap) support.

CMaps provide the mapping between character codes and Unicode
code-points to character ids (CIDs).

More information is available on the Adobe website:

  http://opensource.adobe.com/wiki/display/cmap/CMap+Resources

é    N)ÚAnyÚBinaryIOÚDictÚIterableÚIteratorÚListÚMutableMappingÚOptionalÚTextIOÚTupleÚUnionÚcastÚSeté   )Úname2unicode)ÚKWD)ÚPSEOF)Ú	PSKeyword)Ú	PSLiteral)ÚPSStackParser)ÚPSSyntaxError)Úliteral_name)Úchoplist)Únunpackc                   ó   — e Zd ZdS )Ú	CMapErrorN©Ú__name__Ú
__module__Ú__qualname__© ó    úM/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pdfminer/cmapdb.pyr   r   1   s   € € € € € Ø€Dr"   r   c                   ó    — e Zd ZdZdeddfd„Zdefd„Zdededdfd	„Z	d
ede
ddfd„Zde
d
eeee
f         ddfd„Zdd„Zd
edee
         fd„ZdS )ÚCMapBaser   ÚkwargsÚreturnNc                 ó8   — |                      ¦   «         | _        d S ©N)ÚcopyÚattrs©Úselfr&   s     r#   Ú__init__zCMapBase.__init__9   s   € Ø28·+²+±-´-ˆŒ
ˆ
ˆ
r"   c                 ó@   — | j                              dd¦  «        dk    S )NÚWModer   ©r+   Úget©r-   s    r#   Úis_verticalzCMapBase.is_vertical<   s   € ØŒz�~Š~˜g qÑ)Ô)¨QÒ.Ð.r"   ÚkÚvc                 ó   — || j         |<   d S r)   )r+   )r-   r5   r6   s      r#   Úset_attrzCMapBase.set_attr?   s   € ØˆŒ
�1‰ˆˆr"   ÚcodeÚcidc                 ó   — d S r)   r!   )r-   r9   r:   s      r#   Úadd_code2cidzCMapBase.add_code2cidB   ó   € Øˆr"   c                 ó   — d S r)   r!   )r-   r:   r9   s      r#   Úadd_cid2unichrzCMapBase.add_cid2unichrE   r=   r"   Úcmapc                 ó   — d S r)   r!   )r-   r@   s     r#   Úuse_cmapzCMapBase.use_cmapH   r=   r"   c                 ó   — t           ‚r)   )ÚNotImplementedError)r-   r9   s     r#   ÚdecodezCMapBase.decodeK   s   € Ý!Ð!r"   )r@   r%   r'   N)r   r   r    ÚdebugÚobjectr.   Úboolr4   Ústrr8   Úintr<   r   r   Úbytesr?   rB   r   rE   r!   r"   r#   r%   r%   5   s  € € € € € à€Eð@ ð @¨Dð @ð @ð @ð @ð/˜Tð /ð /ð /ð /ð˜#ð  &ð ¨Tð ð ð ð ð ð ¨3ð °4ð ð ð ð ð #ð ¨U°9¸eÀSÐ3HÔ-Ið Èdð ð ð ð ðð ð ð ð"˜5ð " X¨c¤]ð "ð "ð "ð "ð "ð "r"   r%   c            	       ó¼   — e Zd Zdeeef         ddfd„Zdefd„Zdeddfd„Z	de
dee         fd	„Zej        dd
fdedeeeef                  deedf         ddfd„ZdS )ÚCMapr&   r'   Nc                 ó8   — t          j        | fi |¤Ž i | _        d S r)   )r%   r.   Úcode2cidr,   s     r#   r.   zCMap.__init__P   s&   € ÝÔ˜$Ð)Ð) &Ð)Ð)Ð)Ø+-ˆŒˆˆr"   c                 ó<   — d| j                              d¦  «        z  S )Nz
<CMap: %s>ÚCMapNamer1   r3   s    r#   Ú__repr__zCMap.__repr__T   s   € Ø˜dœjŸnšn¨ZÑ8Ô8Ñ8Ð8r"   r@   c                 ó  ‡— t          |t          ¦  «        s$J t          t          |¦  «        ¦  «        ¦   «         ‚dt          t
          t          f         dt          t
          t          f         dd fˆfd„Š ‰| j        |j        ¦  «         d S )NÚdstÚsrcr'   c                 ó˜   •— |                      ¦   «         D ]3\  }}t          |t          ¦  «        ri }|| |<    ‰||¦  «         Œ.|| |<   Œ4d S r)   )ÚitemsÚ
isinstanceÚdict)rT   rU   r5   r6   Údr*   s        €r#   r*   zCMap.use_cmap.<locals>.copyZ   sd   ø€ ØŸ)š)™+œ+ð ð ‘��AÝ˜a¥Ñ&Ô&ð Ø+-�AØ�C˜‘FØ�D˜˜A‘J”J�J�Jà�C˜‘F�Fðð r"   )rX   rM   rI   Útyper   rJ   rG   rO   )r-   r@   r*   s     @r#   rB   zCMap.use_cmapW   s�   ø€ Ý˜$¥Ñ%Ô%Ð6Ð6¥s­4°©:¬:¡¤Ñ6Ô6Ð6ð	•d�3¥˜;Ô'ð 	­dµ3½°;Ô.?ð 	ÀDð 	ð 	ð 	ð 	ð 	ð 	ð 	ˆˆTŒ]˜DœMÑ*Ô*Ð*Ð*Ð*r"   r9   c              #   ó,  K  — t                                d| |¦  «         | j        }t          |¦  «        D ]^}||v rQ||         }t	          |t
          ¦  «        r|V — | j        }Œ/t          t          t
          t          f         |¦  «        }ŒW| j        }Œ_d S )Nzdecode: %r, %r)	ÚlogrF   rO   ÚiterrX   rJ   r   r   rG   )r-   r9   rZ   ÚiÚxs        r#   rE   zCMap.decodee   sœ   è è € Ý�	Š	Ð" D¨$Ñ/Ô/Ð/ØŒMˆÝ�d‘”ð 		"ð 		"ˆAØ�AˆvˆvØ�a”D�Ý˜a¥Ñ%Ô%ð 3Ø�G�G�GØœ�A�Aå�T¥#¥v +Ô.°Ñ2Ô2�A�Aà”M��ð		"ð 		"r"   r!   ÚoutrO   .c           	      óP  — |€	| j         }d}t          |                     ¦   «         ¦  «        D ]x\  }}||fz   }t          |t          ¦  «        r|                     d||fz  ¦  «         Œ;|                      |t          t          t          t          f         |¦  «        |¬¦  «         Œyd S )Nr!   zcode %r = cid %d
)ra   rO   r9   )
rO   ÚsortedrW   rX   rJ   ÚwriteÚdumpr   r   rG   )r-   ra   rO   r9   r5   r6   Úcs          r#   re   z	CMap.dumps   s´   € ð ÐØ”}ˆHØˆDÝ˜XŸ^š^Ñ-Ô-Ñ.Ô.ð 	Pð 	P‰FˆQ�Ø˜�t‘ˆAÝ˜!�SÑ!Ô!ð PØ—	’	Ð.°!°Q°Ñ7Ñ8Ô8Ð8Ð8à—	’	˜c­Dµµc½6°kÔ1BÀAÑ,FÔ,FÈQ�	ÑOÔOÐOÐOð	Pð 	Pr"   )r   r   r    r   rI   rJ   r.   rR   r%   rB   rK   r   rE   ÚsysÚstdoutr   r
   r   rG   r   re   r!   r"   r#   rM   rM   O   s  € € € € € ð.  s¨C x¤ð .°Tð .ð .ð .ð .ð9˜#ð 9ð 9ð 9ð 9ð+˜Xð +¨$ð +ð +ð +ð +ð"˜5ð " X¨c¤]ð "ð "ð "ð "ð  ”jØ04Ø "ð	Pð PàðPð ˜4  V Ô,Ô-ðPð �C˜�HŒoð	Pð
 
ðPð Pð Pð Pð Pð Pr"   rM   c                   ó.   — e Zd Zdedeedf         fd„ZdS )ÚIdentityCMapr9   r'   .c                 ó^   — t          |¦  «        dz  }|rt          j        d|z  |¦  «        S dS )Né   z>%dHr!   ©ÚlenÚstructÚunpack©r-   r9   Úns      r#   rE   zIdentityCMap.decode…   s4   € Ý�‰IŒI˜‰NˆØð 	Ý”= ¨!¡¨TÑ2Ô2Ð2à�2r"   N©r   r   r    rK   r   rJ   rE   r!   r"   r#   rj   rj   „   ó>   € € € € € ð˜5ð  U¨3°¨8¤_ð ð ð ð ð ð r"   rj   c                   ó.   — e Zd Zdedeedf         fd„ZdS )ÚIdentityCMapByter9   r'   .c                 óX   — t          |¦  «        }|rt          j        d|z  |¦  «        S dS )Nz>%dBr!   rm   rq   s      r#   rE   zIdentityCMapByte.decodeŽ   s0   € Ý�‰IŒIˆØð 	Ý”= ¨!¡¨TÑ2Ô2Ð2à�2r"   Nrs   r!   r"   r#   rv   rv   �   rt   r"   rv   c                   óh   — e Zd Zdeeef         ddfd„Zdefd„Zdedefd„Ze	j
        fdeddfd	„ZdS )
Ú
UnicodeMapr&   r'   Nc                 ó8   — t          j        | fi |¤Ž i | _        d S r)   )r%   r.   Ú
cid2unichrr,   s     r#   r.   zUnicodeMap.__init__—   s&   € ÝÔ˜$Ð)Ð) &Ð)Ð)Ð)Ø*,ˆŒˆˆr"   c                 ó<   — d| j                              d¦  «        z  S )Nz<UnicodeMap: %s>rQ   r1   r3   s    r#   rR   zUnicodeMap.__repr__›   s   € Ø! D¤J§N¢N°:Ñ$>Ô$>Ñ>Ð>r"   r:   c                 óT   — t                                d| |¦  «         | j        |         S )Núget_unichr: %r, %r)r]   rF   r{   ©r-   r:   s     r#   Ú
get_unichrzUnicodeMap.get_unichrž   s&   € Ý�	Š	Ð&¨¨cÑ2Ô2Ð2ØŒ˜sÔ#Ð#r"   ra   c                 ó’   — t          | j                             ¦   «         ¦  «        D ]\  }}|                     d||fz  ¦  «         Œ d S )Nzcid %d = unicode %r
)rc   r{   rW   rd   )r-   ra   r5   r6   s       r#   re   zUnicodeMap.dump¢   sT   € Ý˜Tœ_×2Ò2Ñ4Ô4Ñ5Ô5ð 	8ð 	8‰FˆQ�Ø�IŠIÐ-°°A°Ñ6Ñ7Ô7Ð7Ð7ð	8ð 	8r"   )r   r   r    r   rI   rJ   r.   rR   r€   rg   rh   r   re   r!   r"   r#   ry   ry   –   s©   € € € € € ð-  s¨C x¤ð -°Tð -ð -ð -ð -ð?˜#ð ?ð ?ð ?ð ?ð$˜cð $ cð $ð $ð $ð $ð "%¤ð 8ð 8˜ð 8°ð 8ð 8ð 8ð 8ð 8ð 8r"   ry   c                   ó   — e Zd Zdedefd„ZdS )ÚIdentityUnicodeMapr:   r'   c                 óX   — t                                d| |¦  «         t          |¦  «        S )z+Interpret character id as unicode codepointr~   )r]   rF   Úchrr   s     r#   r€   zIdentityUnicodeMap.get_unichr¨   s$   € å�	Š	Ð&¨¨cÑ2Ô2Ð2Ý�3‰xŒxˆr"   N)r   r   r    rJ   rI   r€   r!   r"   r#   rƒ   rƒ   §   s6   € € € € € ð˜cð  cð ð ð ð ð ð r"   rƒ   c                   ó"   — e Zd Zdededdfd„ZdS )ÚFileCMapr9   r:   r'   Nc                 ó°  — t          |t          ¦  «        rt          |t          ¦  «        s3J t          t          |¦  «        t          |¦  «        f¦  «        ¦   «         ‚| j        }|d d…         D ]L}t          |¦  «        }||v r.t          t          t          t          f         ||         ¦  «        }ŒCi }|||<   |}ŒMt          |d         ¦  «        }|||<   d S )Néÿÿÿÿ)	rX   rI   rJ   r[   rO   Úordr   r   rG   )r-   r9   r:   rZ   rf   ÚciÚts          r#   r<   zFileCMap.add_code2cid¯   sÞ   € Ý˜$¥Ñ$Ô$ð 	
­°C½Ñ)=Ô)=ð 	
ð 	
½sÝ�$‰ZŒZ�˜c™œÐ#ñ@
ô @
ñ 	
ô 	
ð 	
ð ŒMˆØ�c�r�c”ð 	ð 	ˆAÝ�Q‘”ˆBØ�QˆwˆwÝ��c¥6˜kÔ*¨A¨b¬EÑ2Ô2��à')�Ø��"‘Ø��Ý��b”‰]Œ]ˆØˆˆ"‰ˆˆr"   )r   r   r    rI   rJ   r<   r!   r"   r#   r‡   r‡   ®   s=   € € € € € ð ð ¨3ð °4ð ð ð ð ð ð r"   r‡   c                   ó4   — e Zd Zdedeeeef         ddfd„ZdS )ÚFileUnicodeMapr:   r9   r'   Nc                 ó$  — t          |t          ¦  «        s$J t          t          |¦  «        ¦  «        ¦   «         ‚t          |t          ¦  «        r1t          |j        t          ¦  «        sJ ‚t          |j        ¦  «        }n`t          |t          ¦  «        r|                     dd¦  «        }n4t          |t          ¦  «        rt          |¦  «        }nt          |¦  «        ‚|dk    r | j                             |¦  «        dk    rd S || j        |<   d S )NzUTF-16BEÚignoreõ   Â ú )rX   rJ   rI   r[   r   Únamer   rK   rE   r…   Ú	TypeErrorr{   r2   )r-   r:   r9   Úunichrs       r#   r?   zFileUnicodeMap.add_cid2unichrÁ   s÷   € Ý˜#�sÑ#Ô#Ð3Ð3¥S­¨c©¬¡^¤^Ñ3Ô3Ð3Ý�d�IÑ&Ô&ð 
	"å˜dœi­Ñ-Ô-Ð-Ð-Ð-Ý! $¤)Ñ,Ô,ˆFˆFÝ˜�eÑ$Ô$ð 	"à—[’[ ¨XÑ6Ô6ˆFˆFÝ˜�cÑ"Ô"ð 	"Ý˜‘Y”YˆFˆFå˜D‘/”/Ð!ð �XÒÐ $¤/×"5Ò"5°cÑ":Ô":¸cÒ"AÐ"AØˆFØ%ˆŒ˜ÑÐÐr"   )r   r   r    rJ   r   r   rK   r?   r!   r"   r#   rŽ   rŽ   À   sI   € € € € € ð& #ð &¨U°9¸eÀSÐ3HÔ-Ið &Èdð &ð &ð &ð &ð &ð &r"   rŽ   c                   ó,   ‡ — e Zd Zdededdfˆ fd„Zˆ xZS )ÚPyCMapr“   Úmoduler'   Nc                 óŠ   •— t          ¦   «                              |¬¦  «         |j        | _        |j        rd| j        d<   d S d S ©N)rQ   r   r0   )Úsuperr.   ÚCODE2CIDrO   ÚIS_VERTICALr+   )r-   r“   r˜   Ú	__class__s      €r#   r.   zPyCMap.__init__Ö   sN   ø€ Ý‰Œ×Ò $ÐÑ'Ô'Ð'ØœˆŒØÔð 	$Ø"#ˆDŒJ�wÑÐÐð	$ð 	$r"   )r   r   r    rI   r   r.   Ú__classcell__©rž   s   @r#   r—   r—   Õ   sR   ø€ € € € € ð$˜Sð $¨#ð $°$ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $r"   r—   c                   ó0   ‡ — e Zd Zdedededdfˆ fd„Zˆ xZS )ÚPyUnicodeMapr“   r˜   Úverticalr'   Nc                 ó˜   •— t          ¦   «                              |¬¦  «         |r|j        | _        d| j        d<   d S |j        | _        d S rš   )r›   r.   ÚCID2UNICHR_Vr{   r+   ÚCID2UNICHR_H)r-   r“   r˜   r£   rž   s       €r#   r.   zPyUnicodeMap.__init__Þ   sP   ø€ Ý‰Œ×Ò $ÐÑ'Ô'Ð'Øð 	2Ø$Ô1ˆDŒOØ"#ˆDŒJ�wÑÐÐà$Ô1ˆDŒOˆOˆOr"   )r   r   r    rI   r   rH   r.   rŸ   r    s   @r#   r¢   r¢   Ý   sY   ø€ € € € € ð2˜Sð 2¨#ð 2¸ð 2À$ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2r"   r¢   c                   óÚ   — e Zd ZU i Zeeef         ed<   i Zeee	e
         f         ed<    G d„ de¦  «        Zededefd„¦   «         Zededefd„¦   «         Zedded
edefd„¦   «         ZdS )ÚCMapDBÚ_cmap_cacheÚ_umap_cachec                   ó   — e Zd ZdS )úCMapDB.CMapNotFoundNr   r!   r"   r#   ÚCMapNotFoundr¬   ì   s   € € € € € Øˆr"   r­   r“   r'   c           	      óú  — |                      dd¦  «        }d|z  }t                               d|¦  «         t          j                             dd¦  «        t          j                             t          j                             t          ¦  «        d¦  «        f}|D ]Ç}t          j                             ||¦  «        }t          j         
                    |¦  «        r†t          j        |¦  «        }	 t          t          |¦  «        dt          j        |                     ¦   «         ¦  «        ¦  «        |                     ¦   «          c S # |                     ¦   «          w xY wŒÈt&                               |¦  «        ‚)	Nú Ú z%s.pickle.gzzloading: %rÚ	CMAP_PATHz/usr/share/pdfminer/r@   r!   )Úreplacer]   rF   ÚosÚenvironr2   ÚpathÚjoinÚdirnameÚ__file__ÚexistsÚgzipÚopenr[   rI   ÚpickleÚloadsÚreadÚcloser¨   r­   )Úclsr“   ÚfilenameÚ
cmap_pathsÚ	directoryrµ   Úgzfiles          r#   Ú
_load_datazCMapDB._load_dataï   s$  € à�|Š|˜D "Ñ%Ô%ˆØ! DÑ(ˆÝ�	Š	�- Ñ&Ô&Ð&åŒJ�NŠN˜;Ð(>Ñ?Ô?ÝŒG�LŠL�œŸš­Ñ2Ô2°FÑ;Ô;ð
ˆ
ð $ð 		,ð 		,ˆIÝ”7—<’< 	¨8Ñ4Ô4ˆDÝŒw�~Š~˜dÑ#Ô#ð #Ýœ 4™œ�ð#Ý¥ D¡	¤	¨2­v¬|¸F¿KºK¹M¼MÑ/JÔ/JÑKÔKà—L’L‘N”N�N�N�N�Nø�F—L’L‘N”N�N�Nøøøð#õ ×%Ò% dÑ+Ô+Ð+s   Ã1AE	Å	Ec                 óP  — |dk    rt          d¬¦  «        S |dk    rt          d¬¦  «        S |dk    rt          d¬¦  «        S |dk    rt          d¬¦  «        S 	 | j        |         S # t          $ r Y nw xY w|                      |¦  «        }t          ||¦  «        x| j        |<   }|S )Nz
Identity-Hr   )r0   z
Identity-Vr   ÚOneByteIdentityHÚOneByteIdentityV)rj   rv   r©   ÚKeyErrorrÅ   r—   )rÀ   r“   Údatar@   s       r#   Úget_cmapzCMapDB.get_cmap  s×   € à�<ÒÐÝ aÐ(Ñ(Ô(Ð(Ø�\Ò!Ð!Ý aÐ(Ñ(Ô(Ð(ØÐ'Ò'Ð'Ý#¨!Ð,Ñ,Ô,Ð,ØÐ'Ò'Ð'Ý#¨!Ð,Ñ,Ô,Ð,ð	Ø”? 4Ô(Ð(øÝð 	ð 	ð 	ØˆDð	øøøà�~Š~˜dÑ#Ô#ˆÝ'-¨d°DÑ'9Ô'9Ð9ˆŒ˜Ñ Øˆs   ÁA' Á'
A4Á3A4Fr£   c                 óÒ   ‡‡— 	 | j         ‰         |         S # t          $ r Y nw xY w|                      d‰z  ¦  «        Šˆˆfd„dD ¦   «         | j         ‰<   | j         ‰         |         S )Nzto-unicode-%sc                 ó2   •— g | ]}t          ‰‰|¦  «        ‘ŒS r!   )r¢   )Ú.0r6   rÊ   r“   s     €€r#   ú
<listcomp>z*CMapDB.get_unicode_map.<locals>.<listcomp>  s%   ø€ Ð TÐ TÐ TÀ¥¨d°D¸!Ñ!<Ô!<Ð TÐ TÐ Tr"   )FT)rª   rÉ   rÅ   )rÀ   r“   r£   rÊ   s    ` @r#   Úget_unicode_mapzCMapDB.get_unicode_map  s†   øø€ ð	Ø”? 4Ô(¨Ô2Ð2øÝð 	ð 	ð 	ØˆDð	øøøà�~Š~˜o°Ñ4Ñ5Ô5ˆØ TÐ TÐ TÐ TÐ TÀmÐ TÑ TÔ TˆŒ˜ÑØŒ˜tÔ$ XÔ.Ð.s   „ —
$£$N)F)r   r   r    r©   r   rI   r—   Ú__annotations__rª   r   r¢   r   r­   Úclassmethodr   rÅ   r%   rË   rH   ry   rÐ   r!   r"   r#   r¨   r¨   ç   s  € € € € € € à%'€K��c˜6�kÔ"Ð'Ð'Ñ'Ø13€K��c˜4 Ô-Ð-Ô.Ð3Ð3Ñ3ðð ð ð ð �yñ ô ð ð ð,˜cð , cð ,ð ,ð ,ñ „[ð,ð& ð˜Cð  Hð ð ð ñ „[ðð" ð/ð / 3ð /°$ð /À:ð /ð /ð /ñ „[ð/ð /ð /r"   r¨   c                   ó®  — e Zd Zdededdfd„Zdd„Z ed¦  «        Z ed¦  «        Z	 ed	¦  «        Z
 ed
¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Zdededdfd„Zdeddfd„ZdS )Ú
CMapParserr@   Úfpr'   Nc                 ór   — t          j        | |¦  «         || _        d| _        t	          ¦   «         | _        d S )NT)r   r.   r@   Ú_in_cmapÚsetÚ	_warnings)r-   r@   rÕ   s      r#   r.   zCMapParser.__init__!  s3   € ÝÔ˜t RÑ(Ô(Ð(ØˆŒ	àˆŒÝ#&¡5¤5ˆŒØˆr"   c                 óR   — 	 |                       ¦   «          n# t          $ r Y nw xY wd S r)   )Ú
nextobjectr   r3   s    r#   ÚrunzCMapParser.run)  s?   € ð	Ø�OŠOÑÔÐÐøÝð 	ð 	ð 	ØˆDð	øøøàˆs   ‚ —
$£$s	   begincmaps   endcmaps   usecmaps   defs   begincodespaceranges   endcodespaceranges   begincidranges   endcidranges   begincidchars
   endcidchars   beginbfranges
   endbfranges   beginbfchars	   endbfchars   beginnotdefranges   endnotdefrangeÚposÚtokenc                 óZ  — || j         u rd| _        |                      ¦   «          dS || j        u r	d| _        dS | j        sdS || j        u rZ	 |                      d¦  «        \  \  }}\  }}| j                             t          |¦  «        |¦  «         n# t          $ r Y nw xY wdS || j
        u r}	 |                      d¦  «        \  \  }}| j                             t                               t          |¦  «        ¦  «        ¦  «         n # t          $ r Y nt          j        $ r Y nw xY wdS || j        u r|                      ¦   «          dS || j        u r|                      ¦   «          dS || j        u r|                      ¦   «          dS || j        u �r»d„ |                      ¦   «         D ¦   «         }t'          d|¦  «        D �]‰\  }}	}
t)          |t*          ¦  «        s|                      d¦  «         Œ2t)          |	t*          ¦  «        s|                      d	¦  «         Œ]t)          |
t.          ¦  «        s|                      d
¦  «         Œˆt1          |¦  «        t1          |	¦  «        k    r|                      d¦  «         Œ¾|dd…         }|	dd…         }||k    r|                      d¦  «         Œî|dd…         }|	dd…         }t3          |¦  «        }t3          |¦  «        }t1          |¦  «        }t5          ||z
  dz   ¦  «        D ]D}|t7          j        d||z   ¦  «        | d…         z   }| j                             |
|z   |¦  «         ŒE�Œ‹dS || j        u r|                      ¦   «          dS || j        u r{d„ |                      ¦   «         D ¦   «         }t'          d|¦  «        D ]J\  }
}t)          |t*          ¦  «        r0t)          |
t.          ¦  «        r| j                             |
|¦  «         ŒKdS || j         u r|                      ¦   «          dS || j!        u �rd„ |                      ¦   «         D ¦   «         }t'          d|¦  «        D �]Û\  }}	}t)          |t*          ¦  «        s|                      d¦  «         Œ2t)          |	t*          ¦  «        s|                      d¦  «         Œ]t1          |¦  «        t1          |	¦  «        k    r|                      d¦  «         Œ“t3          |¦  «        }t3          |	¦  «        }t)          |tD          ¦  «        rrt1          |¦  «        ||z
  dz   k    r|                      d¦  «         tG          t5          ||dz   ¦  «        |¦  «        D ] \  }
}| j                             |
|¦  «         Œ!�Œ8t)          |t*          ¦  «        sJ ‚|dd…         }t3          |¦  «        }|dd…         }t1          |¦  «        }t5          ||z
  dz   ¦  «        D ]D}|t7          j        d||z   ¦  «        | d…         z   }| j                             ||z   |¦  «         ŒE�ŒÝdS || j$        u r|                      ¦   «          dS || j%        u rˆd„ |                      ¦   «         D ¦   «         }t'          d|¦  «        D ]W\  }
}t)          |
t*          ¦  «        r=t)          |t*          ¦  «        r(| j                             t3          |
¦  «        |¦  «         ŒXdS || j&        u r|                      ¦   «          dS || j'        u r|                      ¦   «          dS |  (                    ||f¦  «         dS )z[ToUnicode CMaps

        See Section 5.9.2 - ToUnicode CMaps of the PDF Reference.
        TNFrl   r   c                 ó   — g | ]\  }}|‘ŒS r!   r!   ©rÎ   Ú__Úobjs      r#   rÏ   z)CMapParser.do_keyword.<locals>.<listcomp>p  ó   € Ð7Ð7Ð7™I˜R �CÐ7Ð7Ð7r"   é   z0The start object of begincidrange is not a byte.z.The end object of begincidrange is not a byte.z.The cid object of begincidrange is not a byte.z?The start and end byte of begincidrange have different lengths.éüÿÿÿzGThe prefix of the start and end byte of begincidrange are not the same.z>Lc                 ó   — g | ]\  }}|‘ŒS r!   r!   rá   s      r#   rÏ   z)CMapParser.do_keyword.<locals>.<listcomp>˜  rä   r"   c                 ó   — g | ]\  }}|‘ŒS r!   r!   rá   s      r#   rÏ   z)CMapParser.do_keyword.<locals>.<listcomp>£  rä   r"   zThe start object is not a byte.zThe end object is not a byte.z.The start and end byte have different lengths.zPThe difference between the start and end offsets does not match the code length.c                 ó   — g | ]\  }}|‘ŒS r!   r!   rá   s      r#   rÏ   z)CMapParser.do_keyword.<locals>.<listcomp>È  rä   r"   ))ÚKEYWORD_BEGINCMAPr×   ÚpopallÚKEYWORD_ENDCMAPÚKEYWORD_DEFÚpopr@   r8   r   r   ÚKEYWORD_USECMAPrB   r¨   rË   r­   ÚKEYWORD_BEGINCODESPACERANGEÚKEYWORD_ENDCODESPACERANGEÚKEYWORD_BEGINCIDRANGEÚKEYWORD_ENDCIDRANGEr   rX   rK   Ú
_warn_oncerJ   rn   r   Úrangero   Úpackr?   ÚKEYWORD_BEGINCIDCHARÚKEYWORD_ENDCIDCHARÚKEYWORD_BEGINBFRANGEÚKEYWORD_ENDBFRANGEÚlistÚzipÚKEYWORD_BEGINBFCHARÚKEYWORD_ENDBFCHARÚKEYWORD_BEGINNOTDEFRANGEÚKEYWORD_ENDNOTDEFRANGEÚpush)r-   rÝ   rÞ   Ú_r5   r6   ÚcmapnameÚobjsÚ
start_byteÚend_byter:   Ústart_prefixÚ
end_prefixÚsvarÚevarÚstartÚendÚvlenr_   r`   r9   Úunicode_valueÚvarÚbaseÚprefixs                            r#   Ú
do_keywordzCMapParser.do_keywordA  s¨  € ð
 �DÔ*Ð*Ð*Ø ˆDŒMØ�KŠK‰MŒMˆMØˆFà�dÔ*Ð*Ð*Ø!ˆDŒMØˆFàŒ}ð 	ØˆFà�DÔ$Ð$Ð$ðØ#'§8¢8¨A¡;¤;Ñ ‘�!�Q™˜!˜QØ”	×"Ò"¥<°¡?¤?°AÑ6Ô6Ð6Ð6øÝ ð ð ð Ø�ðøøøàˆFà�DÔ(Ð(Ð(ðØ#'§8¢8¨A¡;¤;Ñ ‘�!�XØ”	×"Ò"¥6§?¢?µ<ÀÑ3IÔ3IÑ#JÔ#JÑKÔKÐKÐKøÝ ð ð ð Ø�ÝÔ&ð ð ð Ø�ðøøøàˆFà�DÔ4Ð4Ð4Ø�KŠK‰MŒMˆMØˆFØ�DÔ2Ð2Ð2Ø�KŠK‰MŒMˆMØˆFà�DÔ.Ð.Ð.Ø�KŠK‰MŒMˆMØˆFà�DÔ,Ð,Ñ,Ø7Ð7¨¯ª©¬Ð7Ñ7Ô7ˆDÝ/7¸¸4Ñ/@Ô/@ð 9ñ 9Ñ+�˜X sÝ! *­eÑ4Ô4ð Ø—O’OÐ$VÑWÔWÐWØÝ! (­EÑ2Ô2ð Ø—O’OÐ$TÑUÔUÐUØÝ! #¥sÑ+Ô+ð Ø—O’OÐ$TÑUÔUÐUØÝ�z‘?”?¥c¨(¡m¤mÒ3Ð3Ø—O’Oð-ñô ð ð Ø)¨#¨2¨#œ�Ø% c r cœ]�
Ø :Ò-Ð-Ø—O’Oð:ñô ð ð Ø! " # #”�Ø   ”}�Ý ™œ�Ý˜d‘m”m�Ý˜4‘y”y�Ý˜s U™{¨Q™Ñ/Ô/ð 9ð 9�AØ$¥v¤{°4¸À¹Ñ'CÔ'CÀTÀEÀFÀFÔ'KÑK�AØ”I×,Ò,¨S°1©W°aÑ8Ô8Ð8Ð8ñ9ð ˆFà�DÔ-Ð-Ð-Ø�KŠK‰MŒMˆMØˆFà�DÔ+Ð+Ð+Ø7Ð7¨¯ª©¬Ð7Ñ7Ô7ˆDÝ'¨¨4Ñ0Ô0ð 8ð 8‘��dÝ˜d¥EÑ*Ô*ð 8­z¸#½sÑ/CÔ/Cð 8Ø”I×,Ò,¨S°$Ñ7Ô7Ð7øØˆFà�DÔ-Ð-Ð-Ø�KŠK‰MŒMˆMØˆFà�DÔ+Ð+Ñ+Ø7Ð7¨¯ª©¬Ð7Ñ7Ô7ˆDÝ08¸¸DÑ0AÔ0Að ?ñ ?Ñ,�˜X tÝ! *­eÑ4Ô4ð Ø—O’OÐ$EÑFÔFÐFØÝ! (­EÑ2Ô2ð Ø—O’OÐ$CÑDÔDÐDØÝ�z‘?”?¥c¨(¡m¤mÒ3Ð3Ø—O’OÐ$TÑUÔUÐUØÝ 
Ñ+Ô+�Ý˜hÑ'Ô'�Ý˜d¥DÑ)Ô)ð ?Ý˜4‘y”y C¨%¡K°!¡OÒ3Ð3ØŸšðFñô ð õ /2µ%¸¸sÀQ¹wÑ2GÔ2GÈÑ.NÔ.Nð Eð EÑ*˜˜]Øœ	×0Ò0°°mÑDÔDÐDÐDñEõ & d­EÑ2Ô2Ð2Ð2Ð2Ø˜r˜s˜sœ)�CÝ" 3™<œ<�DØ! # 2 #œY�FÝ˜s™8œ8�DÝ" 3¨¡;°¡?Ñ3Ô3ð ?ð ?˜Ø"¥V¤[°°t¸a±xÑ%@Ô%@À$ÀÀÀÔ%HÑH˜Øœ	×0Ò0°¸±¸AÑ>Ô>Ð>Ð>ñ?ð ˆFà�DÔ,Ð,Ð,Ø�KŠK‰MŒMˆMØˆFà�DÔ*Ð*Ð*Ø7Ð7¨¯ª©¬Ð7Ñ7Ô7ˆDÝ'¨¨4Ñ0Ô0ð Að A‘��dÝ˜c¥5Ñ)Ô)ð A­j¸½uÑ.EÔ.Eð AØ”I×,Ò,­W°S©\¬\¸4Ñ@Ô@Ð@øØˆFà�DÔ1Ð1Ð1Ø�KŠK‰MŒMˆMØˆFà�DÔ/Ð/Ð/Ø�KŠK‰MŒMˆMØˆFà�	Š	�3˜�,ÑÔÐÐÐs,   ÁAB Â
B ÂB Â/AD	 Ä	
D&ÄD&Ä%D&Úmsgc                 óŽ   — || j         vr;| j                              |¦  «         d}t                               ||z   ¦  «         dS dS )z!Warn once for each unique messagez‡Ignoring (part of) ToUnicode map because the PDF data does not conform to the format. This could result in (cid) values in the output. N)rÙ   Úaddr]   Úwarning)r-   r  Úbase_msgs      r#   rô   zCMapParser._warn_onceØ  sU   € à�d”nÐ$Ð$ØŒN×Ò˜sÑ#Ô#Ð#ð/ð õ
 �KŠK˜ 3™Ñ'Ô'Ð'Ð'Ð'ð %Ð$r"   )r'   N)r   r   r    r%   r   r.   rÜ   r   rê   rì   rï   rí   rð   rñ   rò   ró   r÷   rø   rù   rú   rý   rþ   rÿ   r   rJ   r   r  rI   rô   r!   r"   r#   rÔ   rÔ      s¢  € € € € € ð˜Xð ¨8ð ¸ð ð ð ð ðð ð ð ð ˜˜LÑ)Ô)ÐØ�c˜*‘o”o€OØ�c˜*‘o”o€OØ�#�f‘+”+€KØ"% #Ð&<Ñ"=Ô"=ÐØ # Ð$8Ñ 9Ô 9ÐØ˜CÐ 0Ñ1Ô1ÐØ˜#˜nÑ-Ô-ÐØ˜3˜Ñ/Ô/ÐØ˜˜]Ñ+Ô+ÐØ˜3˜Ñ/Ô/ÐØ˜˜]Ñ+Ô+ÐØ˜#˜nÑ-Ô-ÐØ˜˜LÑ)Ô)ÐØ"˜sÐ#6Ñ7Ô7ÐØ ˜SÐ!2Ñ3Ô3ÐðU ˜cð U ¨)ð U ¸ð U ð U ð U ð U ðn	(˜cð 	( dð 	(ð 	(ð 	(ð 	(ð 	(ð 	(r"   rÔ   Úargvr'   c                 ó"  — ddl m}  |dt          ¦  «         | dd …         }|D ]j}t          |d¦  «        }t	          ¦   «         }t          ||¦  «                             ¦   «          |                     ¦   «          |                     ¦   «          Œkd S )Nr   )ÚwarnzÈThe function main() from cmapdb.py will be removed in 2023. It was probably introduced for testing purposes a long time ago, and no longer relevant. Feel free to create a GitHub issue if you disagree.r   Úrb)	Úwarningsr  ÚDeprecationWarningr»   rŽ   rÔ   rÜ   r¿   re   )r  r  ÚargsÚfnamerÕ   r@   s         r#   Úmainr   ä  s§   € ØÐÐÐÐÐà€Dð	>õ 	ñ	ô ð ð ���Œ8€DØð ð ˆÝ�%˜ÑÔˆÝÑÔˆÝ�4˜ÑÔ× Ò Ñ"Ô"Ð"Ø
�Š‰
Œ
ˆ
Ø�	Š	‰ŒˆˆØ
€Fr"   Ú__main__)7Ú__doc__rº   Úloggingr³   Úos.pathr¼   ro   rg   Útypingr   r   r   r   r   r   r	   r
   r   r   r   r   r   Ú
encodingdbr   Úpsparserr   r   r   r   r   r   r   Úutilsr   r   Ú	getLoggerr   r]   Ú	Exceptionr   r%   rM   rj   rv   ry   rƒ   r‡   rŽ   r—   r¢   r¨   rÔ   rI   r   r  r!   r"   r#   ú<module>r+     s5  ðð	ð 	ð €€€Ø €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø €€€Ø 
€
€
€
ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð  %Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø #Ð #Ð #Ð #Ð #Ð #Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à€gÔ˜Ñ!Ô!€ð	ð 	ð 	ð 	ð 	�	ñ 	ô 	ð 	ð"ð "ð "ð "ð "ñ "ô "ð "ð42Pð 2Pð 2Pð 2Pð 2Pˆ8ñ 2Pô 2Pð 2Pðjð ð ð ð �8ñ ô ð ðð ð ð ð �|ñ ô ð ð8ð 8ð 8ð 8ð 8�ñ 8ô 8ð 8ð"ð ð ð ð ˜ñ ô ð ðð ð ð ð ˆtñ ô ð ð$&ð &ð &ð &ð &�Zñ &ô &ð &ð*$ð $ð $ð $ð $ˆTñ $ô $ð $ð2ð 2ð 2ð 2ð 2�:ñ 2ô 2ð 2ð6/ð 6/ð 6/ð 6/ð 6/ñ 6/ô 6/ð 6/ðrA(ð A(ð A(ð A(ð A(�˜yÔ)ñ A(ô A(ð A(ðHˆt�CŒyð ˜Tð ð ð ð ð( ˆzÒÐØ€DˆŒ�N„N€N€N€Nð Ðr"   