
    KwgH                        d dl mZ d dlmZ d dlmZ d dlmZ i d ddddd	d
dddddddddddddddddddddd d!d"d#d$d%i d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGi dHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdii djdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddÓddœddǓddɓdd˓dd͓ddϓdddddd՜Zd\  Z	Z
ZZi dd dddddd
dddddddddddddddddddddd dd"dd$i dd&dd(dd*dd,dd.dd0dd2dd4dd6dd8dd:dd<dd>dd@ddBddDddFi ddHddJddLddNddPddRddTd dVddXddZdd\dd^dd`ddbdddddfd	dhi d
djddlddnddpddrddtddvddxddzdd|dd~ddddddddddddi ddddddddddd dd!dd"dd#dd$dd%dd&dd'dd(dd)dd*dd+di d,dd-dd.dd/dd0dd1dd2dd3dd4dd5dd6dd7dēd8dƓd9dȓd:dʓd;d̓d<dΓd=d>iZi dd dddddd
dddddddddddddddddddddd dd"dd$i dd&dd(dd*dd,dd.dd0dd2dd4dd6dd8dd:dd<dd>dd@ddBddDddFi ddHddJddLddNddPddRddTd dVddXddZdd\dd^dd`ddbdddddfd	dhi d
djddlddnddpddrddtddvddxddzdd|dd~ddddd?dd@ddAddBdi dCddDddEddFddGddHddIddJddKddLddMddNddOddPddQddRddSdi dTddUddVddWddXddYddZdd[dd\dd]dd^dd7dēd8dƓd9dȓd:dʓd<d̓d_dΓd=d>iZi d`d daddbddcd
ddddeddfddgddhddiddjddkddlddmddnd dod"dpd$i dqd&drd(dsd*dtd,dud.dvd0dwd2dxd4dyd6dzd8d{d:d|d<d}d>d~d@ddBddDddFi ddHddJddLddNddPddRddTddVddXddZdd\dd^dd`ddbdddddfddhi ddjddlddnddpddrddtddvddxddzdd|dd~ddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddēddƓddȓddʓd;d̓d_dΓd=d>iZeefeefedfe	eefe
eefeedfdŜZdZ eej'                               Z G dǄ de      Z G dɄ de      Zedk(  rd̄ Z e        yĐy(      inch)asNative)MultiWidthBarcode)digitsBaBbBb   BbBaBb   BbBbBa   AbAbBc   AbAcBb   AcAbBb   AbBbAc   AbBcAb   AcBbAb	   BbAbAc
   BbAcAb   BcAbAb   AaBbCb   AbBaCb   AbBbCa   AaCbBb   AbCaBb   AbCbBa   BbCbAa   BbAaCb   BbAbCa   BaCbAb   BbCaAb   CaBaCa   CaAbBb   CbAaBb   CbAbBa   CaBbAb   CbBaAb   CbBbAa   BaBaBc   BaBcBa    BcBaBa!   AaAcBc"   AcAaBc#   AcAcBa$   AaBcAc%   AcBaAc&   AcBcAa'   BaAcAc(   BcAaAc)   BcAcAa*   AaBaCc+   AaBcCa,   AcBaCa-   AaCaBc.   AaCcBa/   AcCaBa0   CaCaBa1   BaAcCa2   BcAaCa3   BaCaAc4   BaCcAa5   BaCaCa6   CaAaBc7   CaAcBa8   CcAaBa9   CaBaAc:   CaBcAa;   CcBaAa<   CaDaAa=   BbAdAa>   DcAaAa?   AaAbBd@   AaAdBbA   AbAaBdB   AbAdBaC   AdAaBbD   AdAbBaE   AaBbAdF   AaBdAbG   AbBaAdH   AbBdAaI   AdBaAbJ   AdBbAaK   BdAbAaL   BbAaAdM   DaCaAaN   BdAaAbO   AcDaAaP   AaAbDbQ   AbAaDbR   AbAbDaS   AaDbAbT   AbDaAbU   AbDbAaV   DaAbAbW   DbAaAbX   DbAbAaY   BaBaDaZ   BaDaBa[   DaBaBa\   AaAaDc]   AaAcDa^   AcAaDa_   AaDaAc`   AaDcAaa   DaAaAcb   DaAcAac   AaCaDad   AaDaCae   CaAaDaDaAaCaBaAdAbBaAbAdBaAbCbBcCaAaB)f   g   h   i   j   )r   r   r   r    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ 	
   ó   òSHIFTTO_CTO_B   ô   ñr   `abcdefghijklmnopqrstuvwxyz{|}~TO_A00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899N)rd  rA  r@  START_ASTART_BSTART_C)r  rd  rA  c                   P    e Zd ZdZedz  ZdZdZdZdZ	ddZ
d Zd Zd Zd	 Zd
 Zy)Code128u  
    Code 128 is a very compact symbology that can encode the entire
    128 character ASCII set, plus 4 special control codes,
    (FNC1-FNC4, expressed in the input string as ñ to ô).
    Code 128 can also encode digits at double density (2 per byte)
    and has a mandatory checksum.  Code 128 is well supported and
    commonly used -- for example, by UPS for tracking labels.
    
    Because of these qualities, Code 128 is probably the best choice
    for a linear symbology today (assuming you have a choice).

    Options that may be passed to constructor:

        value (int, or numeric string. required.):
            The value to encode.
   
        barWidth (float, default .0075):
            X-Dimension, or width of the smallest element
            Minumum is .0075 inch (7.5 mils).
            
        barHeight (float, see default below):
            Height of the symbol.  Default is the height of the two
            bearer bars (if they exist) plus the greater of .25 inch
            or .15 times the symbol's length.

        quiet (bool, default 1):
            Wether to include quiet zones in the symbol.
            
        lquiet (float, see default below):
            Quiet zone size to left of code, if quiet is true.
            Default is the greater of .25 inch, or 10 barWidth
            
        rquiet (float, defaults as above):
            Quiet zone size to right left of code, if quiet is true.
            
    Sources of Information on Code 128:

    http://www.semiconductor.agilent.com/barcode/sg/Misc/code_128.html
    http://www.adams1.com/pub/russadam/128code.html
    http://www.barcodeman.com/c128.html

    Official Spec, "ANSI/AIM BC4-1999, ISS" is available for US$45 from
    http://www.aimglobal.org/aimstore/
    gQ~?Nr	   c                    t        |t              rt        |      n
t        |      }|j	                         D ]  \  }}t        | ||        | j                  rc| j                  %t        t        dz  | j                  dz        | _        | j                  4t        t        dz  | j                  dz        | _        ndx| _        | _        t        j                  | |       y )Ng      ?g      $@g        )
isinstanceintstrr   itemssetattrquietlquietmaxr   barWidthrquietr   __init__)selfvalueargsrO  rZ  s        Y/var/www/horilla/myenv/lib/python3.12/site-packages/reportlab/graphics/barcode/code128.pyr  zCode128.__init__   s    (s3E
%JJL 	 DAqD!Q	  ::{{"!$+t}}t/CD{{"!$+t}}t/CD(++DK$+""4/    c                     d}d| _         | j                  D ]!  }t        |      dkD  r|dvrd| _         ||z   }# || _        |S )N r	      u   ñòóôr   )validr  ord	validated)r  vvalrG  s      r  validatezCode128.validate   sU    
 	A1v|); ;
!8D		
 r  c                 F   d}g }|t        |      k  r|}g }d}|t        |      k  rK||   t        v r|}n<||   dk(  r|j                  ||          |dz  }@||   t        v r6||dz      t        v r(|j                  ||   ||dz      z          |dz  }|dz  }||   t        v r||dz      dk(  rg }d}	|}
|
|kD  rj||
   dk(  r|j                  ||          |
dz  }
nB||
   t        v r6||
dz
     t        v r(|j                  ||
dz
     ||
   z          |	dz  }	|
dz  }
nn|
|kD  rj|j	                          |	|t        |dk\  xr |xr |d   t        v       z   dz
  kD  r|||   z  }|dz  }|}~|dz  }	 ||   dk(  xs |k(   }|dk\  xr |xr |d   t        v }|t        |      z   t        |      kD  rM|r|d   dd dz   }|d= nd	}||g|z   z  }|r|j                  d
|   dd z          |j                  ||          n||||dz    z  }|dz  }|t        |      k  r|S )z?Improved version of old _trailingDigitsToC(self, l) inspired byr   rC  r	   r   STOPNr   r@  TO)lencStartsappendr   reverser  )r  rP  rM  nlstartposrlsavingsrN  rrlrsavingsrO  taxstocs                 r  	_try_TO_CzCode128._try_TO_C   s   #a&jHBGc!f*Q47?AqTV^IIadOFAqTV^!A#&(IIadQqsVm,FAqLGtv~!AaC&&. #%j tV| #

1Q4 0 !Q!"1AacFf4D #

1QqS6!A$; 7 (A !Q %  j #GC
0_@^RPRVW^M^,`$`ab$bb!H+-B$MH!$B #FAdFl*ad+B!@!?bf.?Bs2wR(R&"+c/C2 CseBhIId1Q49n-		!A$a1o%FAo #a&jp 	r  c                    | j                   }dg}|D ]$  }|t        vr	|d|dgz   }|j                  |       & |j                  d       | j                  |      }|d   t        v rd|d   d   z   g|d d t
        |d	      \  }}}|g}|dd }|rj|d	   }|d
k(  r|||   ||d      gz   }|dd  }nG|t        v r&|j                  ||          t
        |   \  }}|dd  }n|j                  ||          |dd  }|rj|d	   }t        dt        |            D ]  }||||   z  z   } ||dz  t        gz   | _	        | j                  S )Nr  rd  rA  r  r	   START_r  r   r   r?  r   )
r  setbr  r  tossetmapranger  stopencoded)	r  rW  rP  rG  startsetshsetrI  rM  s	            r  encodezCode128.encode9  s   NNK 	A}F++		
 	
NN1 Q43;!R()AbqE
 #1Q4LsEGaG!AG|Qqt--abEcQ #AY
UabEQ abE  aDq#a&! 	AA!HA	AGT?*||r  c                     dj                  | j                  D cg c]  }t        |    c}      | _        | j                  S c c}w )Nr  )joinr  	_patterns
decomposed)r  rG  s     r  	decomposezCode128.decomposed  s5    ''"FA9Q<"FG #Gs   Ac                     | j                   S )N)r  )r  s    r  
_humanTextzCode128._humanTexth  s    zzr  )r  )__name__
__module____qualname____doc__r   r  r  r  r  	barHeightr  r  r  r  r
  r   r  r  r  r     sG    +X f}HFFEI0 	<|)Vr  r  c                       e Zd ZdZd Zy)Code128Autozcontributed by https://bitbucket.org/kylemacfarlane/
    see https://bitbucket.org/rptlab/reportlab/issues/69/implementations-of-code-128-auto-and-data
    c                 (   | j                   }d }g }t        |      }|r|j                  d      }|t        v r!|r|d   t        v r||j                  d      z  }|t        v rd}n|t
        v rd}nd}||k7  r-|r|j                  d|z          n|j                  d|z          |}|j                  |       |r|j                  d       t        |d      \  }}}	|g}
|dd	 }|rj|d   }|d
k(  r|
||   |	|d      gz   }
|dd  }nG|t        v r&|
j                  ||          t        |   \  }}	|dd  }n|
j                  ||          |dd  }|rj|
d   }t        dt        |
            D ]  }|||
|   z  z   } |
|dz  t        gz   | _        | j                  S )Nr   r   r   r   TO_r  r  r	   r  r?  r   r   )r  listpopr   setcr  r  r  r  r  r  r   r  )r  rW  current_setrP  r  rG  set_r  r  r  rI  rM  s               r  r  zCode128Auto.encodeo  s   NNQ		!AF{uqV);UYYq\!Dydd"HHUT\*HHX_-"HHQK' ( 	
"1Q4LsEGaG!AG|Qqt--abEcQ #AY
UabEQ abE  aDq#a&! 	AA!HA	AGT?*||r  N)r  r  r  r  r  r  r  r  r  r  k  s    1r  r  __main__c            	      (   ddl m}  ddlm}m} ddlm} ddlm} ddl	m
} ddlm}  |       }|d   }|d	   }	g }
|
j                  }d
D ]1  } | | |d|z  |       | |      g              | |||             3  |d      j                  |
       y )Nr   )r  )SpacerSimpleDocTemplater   )getSampleStyleSheet)	Paragraph)KeepTogetherNormalHeading1)BBBB123456BBBBBBB12345BBBBBBB1234BBB
BBBB123BBB	BBBB12BBBBBBB1BBBBBBB123456aa
BBBB1234aa	BBBB123aaBBBB12aaBBBB1aa
BBBB123456	BBBB12345BBBB1234BBBB123BBBB12BBBB1u   ñ1234Bu	   Bañ1234BBa12Ba123BBa1234BBBBB1234567BBBB1234567aazCode 128 %rzcode128-out.pdf)"reportlab.graphics.barcode.code128r  reportlab.platypusr  r  reportlab.lib.unitsr   reportlab.lib.stylesr   reportlab.platypus.paragraphr!  reportlab.platypus.flowablesr"  r  build)r  r  r  r   r   r!  r"  stylesstyleNstyleHstorystoryAddrW  s                r  mainrG    s    >@,<:=$&!
#<< 	(A4 \9]Q->#GPQ
"STUVD&'7	(8 	+,2259r  )r=  r   reportlab.lib.utilsr   !reportlab.graphics.barcode.commonr   stringr   r  startastartbstartcr   setar  r  r  r  r  keysr  r  r  r  rG  r  r  r  <module>rP     s'  B % ( ? %H%%./h%H%%./h% H% % /0h% H	% 	% /1h	%
 H%
 %
 /1h% H% % /1h% H% % /1h% H% % /1h% H% % /1h% H% % /1h% H% % /1h% H% % /1h% H% % /1h% H% % /1h% H% % /1h%  H!%  !%  /1h!%" H#%" #%" /1h#%$ H%%$ %%$ /1h%%& H'%& '%& /1h'%( H)%( )%( /1h)%* H+%* +%* /1h+%, H-%, -%, /1h-%. H/%. /%. /1h/%0 H1%0 1%0 /1h1%2 H3%2 3%2 /1h3%4 H5%4 5%4 /1h5%6 H7%6 7%6 /1h7%8 H9%8 9%8 /1h9%: H;%: ;%: /1h;%< H=%< =%< /1h=%> H?%> ?%> /1h?%@ HA%@ A%@ /1hA%B HC%B C%B /1hC%D HE%D E%D /2hE%F hI%	N  2 !,/A>Aa!,/A=Aa 	 ! -02 ?BR 	r	 	 -02	 ?BR	
 	r
 
 -02
 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR  r!  !  -02!  ?BR!" r#" #" *02#" <BR#$ r%$ %$ *02%$ <BR%& r'& '& *02'& <BR'( r)( )( *02)( <BR)* r+* +* *02+* <BR+, r-, -, *02-, <BR-. r/. /. *02/. <BR/0 r10 10 *0210 <BR12 r32 32 )0232 <BR34 c54 54 *0#5:!,/A>Aa!,/A=Aa 	 ! -02 ?BR 	r	 	 -02	 ?BR	
 	r
 
 -02
 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR 	r  -02 ?BR  r!  !  -02!  ?BR!" 	r#" #" -02#" ?BR#$ 	r%$ %$ -02%$ ?BR%& 	r'& '& -02'& ?BR'( 	r)( )( -02)( ?BR)* 	r+* +* -02+* ?BR+, 	r-, -, -02-, ?BR-. 	r/. /. -02/. ?BR/0 	r10 10 -0210 <BR12 r32 32 )0232 <BR34 c54 54 *0#5:!1A#Q(,a!1A#Q(,a 	 " 2  $B )-R 		 "	 2	  $B	 )-R	
 	
 "
 2
  $B
 )-R 	 " 2  $B )-R 	 " 2  $B )-R 	 " 2  $B )-R 	 " 2  $B )-R 	 " 2  $B )-R 	 " 2  $B )-R 	 " 2  $B )-R 	 " 2  $B )-R 	 " 2  $B )-R 	 " 2  $B )-R  	!  "!  2!   $B!  )-R!" 	#" "#" 2#"  $B#" )-R#$ 	%$ "%$ 2%$  $B%$ )-R%& 	'& "'& 2'&  $B'& )-R'( 	)( ")( 2)(  $B)( )-R), S-, c-, '-s-4 D\D\D\t$t$t$
 $
6;;=| ||5' 5n Z(:R 	FU r  