)Ej[7$dZddlmZmZddlmZmZmZmZm Z ddl m Z ddl m Z mZmZmZmZddlmZ ddlmZn #e$rd ZYnwxYwerdd lmZd Zd Zd ZdZGddeZGddeZGddeZ GddeZ!d S)z This module is in work-in-progress state. Hint tables / hint streams have not been implemented yet, and there are a few "TODO" comment remaining. cf. https://github.com/py-pdf/fpdf2/issues/62 ) TYPE_CHECKINGOptional)ContentWithoutIDOutputProducer PDFCatalog PDFHeaderPDFInfo) sign_content)DestinationXYZPDFArrayPDFContentStream PDFObjectiobj_ref) buffer_subst)signerN)StandardSecurityHandlerz0%1%2%3%4%5%6%7%8%9%a%b%c%dz 1%2%3%4%5%6%z 2%3%4%5%6%7%z 3%4%5%6%7%8%c(eZdZdeddffd ZxZS)PDFLinearization pages_countreturnNctd|_||_t|_d|_t|_t|_ t|_ dS)N1) super__init__ linearizedn%HINT_STREAM_OFFSET_LENGTH_PLACEHOLDERho!FIRST_PAGE_END_OFFSET_PLACEHOLDERe&MAIN_XREF_1ST_ENTRY_OFFSET_PLACEHOLDERtFILE_LENGTH_PLACEHOLDERl)selfr __class__s DC:\PYTHON\MyICR_Suite\python\Lib\site-packages\fpdf/linearization.pyrzPDFLinearization.__init__&sN 627()__name__ __module__ __qualname__intr __classcell__r(s@r)rr%sK )C )D ) ) ) ) ) ) ) ) ) )r*rczeZdZdZdeddfdZedefdZedefdZ d de d de fd Z dS) PDFXrefAndTrailerz 0%1*2+3-2/1^output_builderrNc||_|jdz|_d|_d|_d|_d|_d|_d|_dS)Nr) r3obj_idcount start_obj_id catalog_objinfo_obj first_xref main_xref startxref)r'r3s r)rzPDFXrefAndTrailer.__init__6sI,#*Q. 15+/ 9=8<(,r*c*t|jSN)boolr;r's r) is_first_xrefzPDFXrefAndTrailer.is_first_xrefBsDN###r*c*t|jSr>)r?r:r@s r) is_main_xrefzPDFXrefAndTrailer.is_main_xrefFsDO$$$r*_security_handlerrc|j}|J|jJg}tt|j|_|jr9t |j|j|jdd|_| d| |j dkrdn|j d|j |j s| dt|j dks Jdt|j |j |j zD]&}| |j |dd '| d | d |jr5|jJ| d |j |jj z n3|j rI|jJ| d |jj | d |jn| d |j |jJ|jJ| dt'|jj| dt'|jj|j}|}|dkr||j}|r| d|d| d| d|j}|jr$|jJt|jjpd}|j rd}| || dd|S)N  xrefrrz0000000000 65535 f z>r<0z%%EOF )r3bufferstrlenr<rCr PREV_MAIN_XREF_START_PLACEHOLDERrjustappendr7r6rAoffsetsranger:r;r8r9pdf_refidfpdffile_id_default_file_idjoin)r'rDbuilderoutr5rYrZr<s r) serializezPDFXrefAndTrailer.serializeJs%"""~)))S0011   )5$$R--GN 6 4,11aat7HWW4:WWXXX! . JJ, - - -  1 $ $ $ I % $ $D-t/@4:/MNN B BF JJ'/&1@@@@ A A A A 9 4   /?... JJD T_-B BDD E E E E! 2~111 :DN$8::;;; KD$IKKLLLL 0DJ00111#///=,,, JJ>(8(; < <>> ? ? ? JJ; (8 9 9;; < < <?...DO5<==I   I 9 7yy~~r*r>) r+r,r-rRrrpropertyr?rArCrrPr_r*r)r2r23s'5$ -~ -$ - - - -$t$$$X$%d%%%X%HL99!)*C!D9 999999r*r2c.eZdZddededdffd ZxZS) PDFHintStreamFcontentscompressrNct||d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)N)rdre) rrsr$r ar"vicr&rb)r'rdrer(s r)rzPDFHintStream.__init__sq (X>>>r*)F)r+r,r-bytesr?rr/r0s@r)rcrcsW   $ 4          r*rcceZdZdefdZdS)LinearizedOutputProducerrc |j}|jt|jt |j}||t|}|j|| }td d}|j|| tdd}|jdz|_t!|j}d|_|| tdd|}|} |} |} |} |} || | | }||| | | | }|jD]}||d|}|\}}|}|}t|}|j||jdz|_|D]7}tA|tBs ||ur|xjdz c_|j|_"8|xjdz c_|j|_"|dj"|_#tI||_%|&|||d| |||g}|D]}||_'||_(|j)J|j)D]^}|j*r||j*|j+r4tY|j+dr||j+j*_|j)sd|_)|D]#}|j*||j*$|D])}t[||j.dz j"|_/*|j0j1j2D]$}||.dz |_3%||_4||_5||fD]}||_6||_7|j8rJd|j8|j9rJd tu|j9|jD]}tA|tBrd}n@tu|j8|j9|j"<|j;<|j"}|rU|=|5|>|?dddn #1swxYwY|>|?|@|j9|j"} tu|?}!t|j8td | d d |!d d |_8t|j8t|j9|dj"dzd |_8t|j8t|j9|jd |_8t|j8ttu|j8d |_8|jFr=tt|j8|jF|jI|jJ|jK|jL|_8|j8S)Nzlatin-1rrembedded_files)pages_root_objfirst_page_objsig_annotation_objxmp_metadata_objstruct_tree_root_objoutline_dict_objdestz@Nothing should have been appended to the .buffer at this stage: z.No offset should have been set at this stage: [z 12drGrL)MrYpdf_objsrTr pdf_versionrr _add_pdf_objr2 _add_catalogrcencode _add_pagesslicer5r6listextend_add_pages_root_add_annotations_as_objects _add_images_add_gfxstates _add_shadings _add_patterns _add_fonts_add_resources_dictrs_add_structure_tree_add_document_outline_add_xmp_metadata _add_infor7 isinstancerrXr r kids_finalize_catalogparent resourcesannotsrzrhhasattrrW page_numberpage_refstruct_builderdoc_struct_elemkpgr:r;r8r9rOrUrQtrace_labels_per_obj_idget _trace_size_outr__log_final_sections_sizesrrr!r#r% _sign_keyr r _sign_cert_sign_extra_certs_sign_hashalgo _sign_time)"r'rYlinearization_objr:r8hint_stream_obj page_objsfirst_xref_pdf_objsrtrvimg_objs_per_indexgfxstate_objs_per_nameshading_objs_per_namepattern_objs_per_namefont_objs_per_indexresources_dict_obj embedded_filerxry outline_itemsrwr9r;pdf_objdestspage_objannot outline_itemrz struct_elemrH trace_label hs1_offset hs1_lengths" r) bufferizez"LinearizedOutputProducer.bufferizessy Yt'788999,T-=>> +,,,&t,,  Z((('')) ' )(<(<== _---OOE!QKK00  ;? "4=11  q$88999--//!==??!--//!%!4!4!6!6 $ 2 2 4 4 $ 2 2 4 4"oo  " !   "55   " ! !   "0 ? ?M   m-= > > > >#7799*.*D*D*F*F'-1133>>##%d++  Y'''#'+/ * ) )Gw(899 )?22 q ![  q ![(lo&y11  )$Q<1-!5-    ')! ' 'H,HO!3H ?...! / /:-LL,,,7/wuw77/LL...? '"&) 0 0L , \.///  D#$q(DMM  .>@ F FK&{'>'>'@'@1'DEKNN) (  + % %D*D $DMM  \ \ [dk [ [ \ \   P P OC >wzJJ  /%%k2233IIg//11222333333333333333 '++--.... &&(((\/"45 224455 " K 1 4 4 4 4* 4 4 4 4   # K -|IaLOa/0 7 7   # K 2|I23 : :   # K #4; & &   > & &#DK{s>(U22U6 9U6 N)r+r,r- bytearrayrrar*r)rprps6r9rrrrrrr*rp)"__doc__typingrroutputrrrr r signr syntaxr r rrrrWutilrendesiver ImportError encryptionrrr!r#r%rr2rcrprar*r)rs+*******TTTTTTTTTTTTTT FFF4333333(E%$2!)7&( ) ) ) ) )y ) ) )PPPPP(PPPf     $    sssss~ssssss;AA