o
    ¬+ ZMv  ã                   @   s  d Z dZddlmZ ddlT ddlT ddl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Zdd
lmZmZmZ e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&ƒZd'ZG d(d)„ d)eƒZG d*d+„ d+eƒZd,d-„ Zd.d/„ Z e!d0kr‰e ƒ  d	S d	S )1z3.3.0aÂ  This file is a collection of flag graphics as widgets.

All flags are represented at the ratio of 1:2, even where the official ratio for the flag is something else
(such as 3:5 for the German national flag). The only exceptions are for where this would look _very_ wrong,
such as the Danish flag whose (ratio is 28:37), or the Swiss flag (which is square).

Unless otherwise stated, these flags are all the 'national flags' of the countries, rather than their
state flags, naval flags, ensigns or any other variants. (National flags are the flag flown by civilians
of a country and the ones usually used to represent a country abroad. State flags are the variants used by
the government and by diplomatic missions overseas).

To check on how close these are to the 'official' representations of flags, check the World Flag Database at
http://www.flags.ndirect.co.uk/

The flags this file contains are:

EU Members:
United Kingdom, Austria, Belgium, Denmark, Finland, France, Germany, Greece, Ireland, Italy, Luxembourg,
Holland (The Netherlands), Spain, Sweden

Others:
USA, Czech Republic, European Union, Switzerland, Turkey, Brazil

(Brazilian flag contributed by Publio da Costa Melo [publio@planetarium.com.br]).
é    )Úcolors)Ú*)ÚLineÚRectÚPolygonÚDrawingÚGroupÚStringÚCircleÚWedge)ÚWidget)Ú	renderPDF)Ú_SymbolN)ÚsinÚcosÚpiÚUKÚUSAÚAfghanistanÚAustriaÚBelgiumÚChinaÚCubaÚDenmarkÚFinlandÚFranceÚGermanyÚGreeceÚIrelandÚItalyÚJapanÚ
LuxembourgÚHollandÚ	PalestineÚPortugalÚRussiaÚSpainÚSwedenÚNorwayÚCzechRepublicÚTurkeyÚSwitzerlandÚEUÚBrazilç      Y@c                   @   s@   e Zd ZdZeeeedd�d�ZdZ	dd„ Z
dd	„ Zd
d„ ZdS )ÚStarzyThis draws a 5-pointed star.

        possible attributes:
        'x', 'y', 'size', 'fillColor', 'strokeColor'

        zangle in degrees©Údesc)ÚBASEÚangler.   c                 C   s(   t  | ¡ d| _tj| _d | _d| _d S )Néd   r   )r   Ú__init__Úsizer   ÚyellowÚ	fillColorÚstrokeColorr3   ©Úself© r<   úR/var/www/html/env/lib/python3.10/site-packages/reportlab/graphics/widgets/flags.pyr5   X   s
   

zStar.__init__c              
   C   sd   t ddƒ}tƒ }d|_d|_| |¡ d}| t|j|jd  |jd|  |jjt	j
d|d	�¡ |S )
NéÈ   r4   é2   r   é
   ç       @ç333333ó?Úmiddle©r8   Ú
textAnchorÚfontSize)r   r/   ÚxÚyÚaddr	   r6   Ú	__class__Ú__name__r   Úblack)r;   ÚDÚetÚlabelFontSizer<   r<   r=   Údemo_   s   

 þz	Star.democ                 C   sì   t | jƒ}tƒ }t | jƒd }|tdtd  ƒ tdtd  ƒ }g }d}tdƒD ]%}||fD ]}|td  }	| |t|	ƒ ¡ | |t|	ƒ ¡ |d }q/q)t|| j	| j
|d d�}
| | j¡ | | j| j | j| j ¡ | |
¡ |S )	Né   é   g     €f@é$   éZ   é   r?   ©r8   r9   ÚstrokeWidth)Úfloatr6   r   r   r   r   ÚrangeÚappendr   r8   r9   Úrotater3   ÚshiftrG   ÚdxrH   ÚdyrI   )r;   ÚsÚgÚRÚrÚPr3   ÚiÚradiusÚthetaÚstarr<   r<   r=   Údrawk   s,   
$
üý
z	Star.drawN)rK   Ú
__module__Ú__qualname__Ú__doc__ÚAttrMapr   ÚAttrMapValueÚisNumberÚ_attrMapÚ_sizer5   rP   rh   r<   r<   r<   r=   r/   L   s    
ÿr/   c                   @   sR  e Zd ZdZeeeedd�eedƒee	dd�d�Z
i Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Z d1d2„ Z!d3d4„ Z"d5d6„ Z#d7d8„ Z$d9d:„ Z%d;d<„ Z&d=d>„ Z'd?d@„ Z(dAdB„ Z)dCdD„ Z*dEdF„ Z+dGdH„ Z,dIdJ„ Z-dKdL„ Z.dMS )NÚFlaga   This is a generic flag class that all the flags in this file use as a basis.

        This class basically provides edges and a tidy-up routine to hide any bits of
        line that overlap the 'outside' of the flag

        possible attributes:
        'x', 'y', 'size', 'fillColor'
    zBackground colorr0   zWhether a background is drawnz
Which flag)r2   r8   ÚborderÚkindc                 K   s2   t  | ¡ d | _d| _tj| _d| _|  |¡ d S )Nr4   é   )	r   r5   rs   r6   r   Úwhiter8   rr   ÚsetProperties)r;   Úkwr<   r<   r=   r5   —   s   
zFlag.__init__c                 C   s   dd„ | j d jjD ƒS )z*return a list of the things we can displayc                 S   s   g | ]}|d ur|‘qS ©Nr<   )Ú.0rG   r<   r<   r=   Ú
<listcomp>¡   s    z+Flag.availableFlagNames.<locals>.<listcomp>rs   )ro   ÚvalidateÚ_enumr:   r<   r<   r=   ÚavailableFlagNamesŸ   s   zFlag.availableFlagNamesc                 C   s2   t }tƒ }| tdd|d |tjtjdd�¡ |S )Nr   rQ   rV   )rp   r   rI   r   r   ÚpurplerL   ©r;   r_   r`   r<   r<   r=   Ú
_Flag_None£   s   $zFlag._Flag_Nonec                 C   s¬   | j }tƒ }| |¡ | j| j | j| j | jd }}}| dt	| | t
| dd| ƒd|  t
| d|ƒd|  d | j|d d�¡ | ||¡ | |t |t ¡ |S )NrA   r   Ú_widthrQ   é   Ú_height©ÚwidthÚheightr8   r9   rW   )r6   r   rI   rG   r]   rH   r^   rW   Úinsertr   Úgetattrr9   r\   Úscalerp   )r;   Úfr_   r`   rG   rH   ÚsWr<   r<   r=   Ú_borderDraw©   s   
&8ÿzFlag._borderDrawc                 C   sB   | j pd}| j |¡}|st| d| ƒƒ }| ¡ | j|< |  |¡S )NÚNoneÚ_Flag_)rs   Ú_cacheÚgetrˆ   Ú_exploderŒ   )r;   rs   rŠ   r<   r<   r=   rh   ´   s   

z	Flag.drawc                 C   s
   t   | ¡S rx   )Úcopyr:   r<   r<   r=   Úclone¼   s   
z
Flag.clonec                 C   sÎ   t ddƒ}|  ¡ }dd l}|t| ¡ ƒt|ƒ  }tƒ }||_d|_d|_| 	|¡ d}| 	t
|j|jd  |jd|  |tjd|d�¡ t|jd	 ƒ}| 	t
|j|j |j|jd  d
tjd|dd�¡ |S )Nr>   r4   r   r@   rA   rB   rC   rD   ç      @ÚSAMPLEúHelvetica-Bold)r8   rE   rF   ÚfontName)r   r}   ÚtimeÚintÚlenrq   rs   rG   rH   rI   r	   r6   r   rL   Úgold)r;   rM   Únamer˜   ÚfxrO   r<   r<   r=   rP   ¿   s(   

 þþz	Flag.democ                 C   sž  t }tƒ }|d }| tdd||tjtjdd�¡ | tdd|d d||d ||||d  |d|d gtjd dd�¡ | td|d d||d |||d |d||d  dgtjd dd�¡ | td||d  ||d d	  |d
 ||d d  |d
 d|gtj	d dd�¡ | tdd||d d  |d ||d d  |d |d dgtj	d dd�¡ | t||||d d  |d
 ||d d  |d
 ||d  |gtj	d dd�¡ | t||d ||d d	  |d ||d d  |d |dgtj	d dd�¡ | t|d d dd| d |tjd dd�¡ | td|d ||d tjd dd�¡ | t|d d dd| d |tj	d dd�¡ | td|d ||d tj	d dd�¡ |S )NrQ   r   rV   çÍÌÌÌÌÌÌ?gffffffì?gÍÌÌÌÌÌ¼?g      .@ç      $@é   gÍÌÌÌÌÌä?r‚   çffffffÖ?gáz®GáÚ?g{®GázÄ?r„   ç333333Ó?çÍÌÌÌÌÌÜ?çš™™™™™¹?çš™™™™™Ù?çš™™™™™É?)
rp   r   rI   r   r   ÚnavyrL   r   Ú	mintcreamÚred©r;   r_   r`   Úwr<   r<   r=   Ú_Flag_UKÓ   s    DDPLPL.&.&zFlag._Flag_UKc              
   C   sØ  t }tƒ }tdd|d |tjtjdd�}| |¡ tdddƒD ])}|d }|d dks/tj}ntj}td|||  |d ||d dd�}| |¡ qtd||d	  d
| |d	 tj	d dd�}| |¡ |d }	|	d }
|d }|d }tdƒD ]4}tdƒD ]-}t
ƒ }|	|_d|d  |	d  | ||  |_tj|_||d |  |
 |_| |¡ q|qvtdƒD ]:}tdƒD ]3}t
ƒ }|	|_d|d  |	d  |d  ||  |_tj|_||d |  |d  |
 |_| |¡ qµq¯|S )Nr   rQ   rV   é   éÿÿÿÿg      *@é   r„   é   gš™™™™™é?g
×£p=
§?rA   ç      "@g      @rU   r    g      6@rt   é   ç      ,@g      2@)rp   r   r   r   r¨   rL   rI   rY   r©   Údarkbluer/   r6   rG   r8   rH   )r;   r_   r`   ÚboxÚstripecounterÚstripeheightÚstripecolorÚredorwhitelineÚblueboxÚlssÚlss2Ús9Ús7ÚstarxcounterÚstarycounterÚlsr<   r<   r=   Ú	_Flag_USAä   sP   
ÿÿ
"ú&úzFlag._Flag_USAc              	   C   s’   t }tƒ }tdd|d |tjtjdd�}| |¡ td|d d |d |d tjd dd�}| |¡ tdd|d |d tjd dd�}| |¡ |S ©Nr   rQ   rV   ç      @rA   r„   )rp   r   r   r   r¨   rL   rI   Ú	limegreen)r;   r_   r`   rµ   ÚgreenboxÚblackboxr<   r<   r=   Ú_Flag_Afghanistan  ó   
ÿ
ÿ
ÿ
zFlag._Flag_Afghanistanc              	   C   s’   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d |d tjd dd�}| |¡ td|d d |d |d tjd dd�}| |¡ |S ©Nr   rQ   rV   rA   rÄ   r„   )rp   r   r   r   r¨   rL   rI   r©   )r;   r_   r`   rµ   Úredbox1Úredbox2r<   r<   r=   Ú_Flag_Austria!  s   ÿ
ÿ
ÿ
zFlag._Flag_Austriac              	   C   sÄ   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d d |tjd dd�}| |¡ t|d d d|d d |tjd dd�}| |¡ t|d d d|d d |tjd dd�}| |¡ |S ©Nr   rQ   rV   rÄ   rA   r„   r”   )rp   r   r   r   rL   rI   r›   r©   )r;   r_   r`   rµ   Úbox1Úbox2Úbox3r<   r<   r=   Ú_Flag_Belgium3  s&   
ÿ
ÿ
ÿ
ÿ
zFlag._Flag_Belgiumc                 C   sš   t }tƒ }|d  | _}| tdd||tjd dd�¡ ||d d|d fdd„}|ddd	dƒ |d
dddƒ |dd	ddƒ |ddddƒ |d
dddƒ |S )Nç      ø?r   rV   g      4@rA   c           	      S   sL   t ƒ }tj|_||_|| d |_| | | |_|| | |_| |¡ d S )NrQ   )	r/   r   r7   r8   r3   r6   rG   rH   rI   )	rG   rH   r6   r3   r`   r«   Úx0Úy0r_   r<   r<   r=   ÚaddStarO  s   z!Flag._Flag_China.<locals>.addStarrU   r‚   r@   rt   gÏbÎXoB@é   g‘~ ô)m @r²   g ì’'ÿ™0@é   gþ0�1§�J@)rp   r   r�   rI   r   r   r©   )r;   r_   r`   r«   rÖ   r<   r<   r=   Ú_Flag_ChinaI  s   	zFlag._Flag_Chinac              
   C   sô   t }tƒ }tdƒD ]"}td|| d |d |d tjtjg|d  d dd�}| |¡ q	tddd| d |d d|gtj	d dd�}| |¡ t
ƒ }d	| d
 |_|d |_d| d
 |_tj|_| |¡ tdd|d |d tjdd�}| |¡ |S )NrU   r   ç      @rQ   r„   r    rA   ©Úpointsr8   r9   rW   ç      @rŸ   r‚   rV   )rp   r   rY   r   r   r´   r¨   rI   r   r©   r/   rG   rH   r6   ru   r8   rL   )r;   r_   r`   rd   ÚstripeÚredwedgerg   rµ   r<   r<   r=   Ú
_Flag_Cuba_  s4   ýÿ


ý
zFlag._Flag_Cubac              	   C   s    t }tƒ }|d  | _}tdd||tjtjdd�}| |¡ t|d d d|d |tjd dd�}| |¡ td|d |d	  ||d tjd dd�}| |¡ |S ©
Nçffffffö?r   rV   rÚ   rQ   g      @r„   rA   g      (@)	rp   r   r�   r   r   r©   rL   rI   r¨   )r;   r_   r`   r«   rµ   Ú	whitebox1Ú	whitebox2r<   r<   r=   Ú_Flag_Denmark}  s    

ÿ
ÿ
ÿ
zFlag._Flag_Denmarkc              	   C   sŽ   t }tƒ }tdd|d |tjtjdd�}| |¡ t|d dd| |tjd dd�}| |¡ td|d |d |d tjd dd�}| |¡ |S )Nr   rQ   rV   g333333ã?r¢   r„   r¥   )rp   r   r   r   Ú
ghostwhiterL   rI   r´   )r;   r_   r`   rµ   Ú	blueline1Ú	blueline2r<   r<   r=   Ú_Flag_Finland�  s   
ÿ
ÿ
ÿ
zFlag._Flag_Finlandc              	   C   sÄ   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d d |tjd dd�}| |¡ t|d d d|d d |tjd dd�}| |¡ t|d d d|d d |tj	d dd�}| |¡ |S rÎ   )
rp   r   r   r   r§   rL   rI   Úbluer¨   r©   )r;   r_   r`   rµ   rº   ÚwhiteboxÚredboxr<   r<   r=   Ú_Flag_France¡  s&   
ÿ
ÿ
ý
zFlag._Flag_Francec              	   C   s–   t }tƒ }tdd|d |tjtjdd�}| |¡ td|d d |d |d tjd dd�}| |¡ td|d |d |d tjd dd�}| |¡ |S rÃ   )rp   r   r   r   r›   rL   rI   Ú	orangered)r;   r_   r`   rµ   Ú	blackbox1rË   r<   r<   r=   Ú_Flag_Germany·  s   
ÿ
ÿ
ÿ
zFlag._Flag_Germanyc              
   C   s(  t }tƒ }tdd|d |tjtjdd�}| |¡ tdddƒD ])}|d }|d dks/tj}ntj	}td|||  |d ||d dd�}| |¡ qtd||d	  |d	 |d	 tjd dd�}| |¡ td||d
  |d	 |tj	d dd�}	| |	¡ t|d ||d	  ||d	 tj	d dd�}
| |
¡ |S )Nr   rQ   rV   é	   r®   r±   r¯   r„   rU   r‚   )
rp   r   r   r   r›   rL   rI   rY   Údeepskybluer¨   )r;   r_   r`   rµ   r¶   r·   r¸   ÚblueorwhitelineÚbluebox1Ú
whiteline1Ú
whiteline2r<   r<   r=   Ú_Flag_GreeceÈ  s8   ÿ
ÿÿ
ÿ
ÿ
zFlag._Flag_Greecec              	   C   s¢   t }tƒ }tdd|d |tjtjdd�}| |¡ t|d d dd|d  d |tjd dd�}| |¡ td|d  d d|d d |tjd dd�}| |¡ |S rÊ   )	rp   r   r   r   ÚforestgreenrL   rI   r¨   Ú
darkorange)r;   r_   r`   rµ   rë   Ú	orangeboxr<   r<   r=   Ú_Flag_Irelandé  s   
ÿ
ÿ
ÿ
zFlag._Flag_Irelandc                 C   sŒ   t }tƒ }| tdd|d |tjd dd�¡ | td| d d|d d |tjd dd�¡ | td| d d|d d |tjd dd�¡ |S )Nr   rQ   rV   rÄ   r    r„   )rp   r   rI   r   r   rø   r¨   r©   r   r<   r<   r=   Ú_Flag_Italyú  s   "..zFlag._Flag_Italyc                 C   sb   t }tƒ }|d  }| _| tdd||tjd dd�¡ | t|d |d d| tjd dd�¡ |S )NrÓ   r   rV   rA   r¢   ©ÚcxÚcyrb   r8   r9   rW   )	rp   r   r�   rI   r   r   r¨   r
   r©   rª   r<   r<   r=   Ú_Flag_Japan  s   (zFlag._Flag_Japanc              	   C   ó’   t }tƒ }tdd|d |tjtjdd�}| |¡ td|d d |d |d tjd dd�}| |¡ tdd|d |d tjd dd�}| |¡ |S rÃ   )	rp   r   r   r   r¨   rL   rI   r©   Ú
dodgerblue©r;   r_   r`   rµ   rì   rº   r<   r<   r=   Ú_Flag_Luxembourg
  rÉ   zFlag._Flag_Luxembourgc              	   C   r  rÃ   )	rp   r   r   r   r¨   rL   rI   r©   r´   r  r<   r<   r=   Ú_Flag_Holland  rÉ   zFlag._Flag_Hollandc                 C   s   t ƒ S rx   )r   r:   r<   r<   r=   Ú_Flag_Portugal,  s   zFlag._Flag_Portugalc                 C   s‚   t }tƒ }|d  }| _|d }| tdd||tjd dd�¡ | td|||tjd dd�¡ | tdd| ||tjd dd�¡ |S )NrÓ   rÄ   r   r„   rQ   )	rp   r   r�   rI   r   r   r©   rê   r¨   )r;   r_   r`   r«   Útr<   r<   r=   Ú_Flag_Russia/  s   "zFlag._Flag_Russiac                 C   s`   t }tƒ }|d  }| _| tdd||tjd dd�¡ | td|d ||d tjd dd�¡ |S )NrÓ   r   r„   r”   rA   )rp   r   r�   rI   r   r   r©   r7   rª   r<   r<   r=   Ú_Flag_Spain9  s   &zFlag._Flag_Spainc              	   C   s    t }tƒ }|d | _tdd| j|tjtjdd�}| |¡ t|d d d|d |tjd dd�}| |¡ td|d |d	  | j|d tjd dd�}| |¡ |S rá   )	rp   r   r�   r   r   r  rL   rI   r›   )r;   r_   r`   rµ   rÏ   rÐ   r<   r<   r=   Ú_Flag_SwedenA  s$   

ÿ
ÿ
ý
zFlag._Flag_Swedenc              	   C   s  t }tƒ }|d | _tdd| j|tjtjdd�}| |¡ tdd| j|tjtjdd�}| |¡ t|d d d|d |tjd dd�}| |¡ td|d | j|d tjd dd�}| |¡ t|d d dd	| |tj	d dd�}| |¡ td|d
 | j|d	 tj	d dd�}| |¡ |S )Nrâ   r   rV   r¦   rQ   r„   r¥   rž   r¤   r£   )
rp   r   r�   r   r   r©   rL   rI   ræ   r´   )r;   r_   r`   rµ   rõ   rö   rç   rè   r<   r<   r=   Ú_Flag_NorwayT  s8   

ÿ

ÿ
ÿ
ÿ
ÿ
ÿ
zFlag._Flag_Norwayc              	   C   sŒ   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d |d tjd dd�}| |¡ tdd||d d|gtj	d dd�}| |¡ |S )Nr   rQ   rV   rA   r„   rÛ   )
rp   r   r   r   r¨   rL   rI   r©   r   r´   )r;   r_   r`   rµ   rì   Ú	bluewedger<   r<   r=   Ú_Flag_CzechRepublicr  s&   ý
ý
ÿ
zFlag._Flag_CzechRepublicc              	   C   sÌ   t }tƒ }td|d |d |d tjd dd�}| |¡ tdd|d |d tjd dd�}| |¡ tdd| d |d |d tjd dd�}| |¡ tddd| d |d d|gtj	d dd�}| |¡ |S )Nr   rÄ   rQ   rV   r„   rA   rÛ   )
rp   r   r   r   r¨   rI   rÅ   rL   r   r©   )r;   r_   r`   rµ   rÆ   rÇ   rß   r<   r<   r=   Ú_Flag_Palestine†  s2   ý
ý
ý
ÿ
zFlag._Flag_Palestinec              	   C   sæ   t }tƒ }tdd|d |tjtjdd�}| |¡ t|d d |d |d tjd dd�}| |¡ t|d d |d |d	 tjd dd�}| |¡ t	ƒ }d
|_
|d |_|d d |jd  |_|d |_tj|_d |_| |¡ |S )Nr   rQ   rV   r¡   rA   r¢   rý   gö(\�ÂõØ?g¸…ëQ¸Î?é   rÚ   ç      à?)rp   r   r   r   r©   rL   rI   r
   r¨   r/   r3   r6   rG   rH   r8   r9   )r;   r_   r`   rµ   ÚwhitecircleÚ	redcircleÚwsr<   r<   r=   Ú_Flag_Turkey   s:   ý
ý
ý



zFlag._Flag_Turkeyc                 C   s¤   t }tƒ }|| _| tdd||tjtjdd�¡ | t|d |d |d ||d  tj	tj	|d d�¡ | t|d |d ||d  |d tj	tj	|d d�¡ |S )Nr   rV   rA   g      @rQ   rÚ   )
rp   r   r�   rI   r   r   r©   rL   r   r¨   r   r<   r<   r=   Ú_Flag_SwitzerlandÀ  s    "ÿ"ÿzFlag._Flag_Switzerlandc                 C   sÆ   t }tƒ }d|  }| _| tdd||tjd dd�¡ |d }|d }|d }|}|}d}	dt |	 }
t|	ƒD ])}||
 }t	ƒ }t
|ƒ| | |_t|ƒ| | |_|d |_tj|_| |¡ q7|S )	NrÓ   r   rV   rA   rÄ   r×   rQ   rŸ   )rp   r   r�   rI   r   r   r´   r   rY   r/   r   rG   r   rH   r6   r›   r8   )r;   r_   r`   r«   ÚcenterxÚcenteryre   ÚyradiusÚxradiusÚnStarsÚdeltard   ÚradÚgsr<   r<   r=   Ú_Flag_EUÌ  s(   
zFlag._Flag_EUc                 C   s  t }tƒ }|d }|d  | _}||||fdd„}| tdd||tjd dd�¡ | td| |d |d |d|  |d|  |d |d d| gtjd dd	�¡ | t	|d |d d
| tj
d dd�¡ | t|d d|  dd| ddd| tjd dd�	¡ | t|d |d d| ddd| tjd dd�	¡ | t|d d|  dd| ddd| tj
d dd�	¡ | tdd||d d|  tjd dd�¡ | td| |d |d |d d|  |d|  |d |d d| gtjd dd	�¡ | t|d |d d| ddd| tj
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,d-d&ƒ |d.d/d&ƒ |d#d"d&ƒ |d!d0d&ƒ |d1d2d&ƒ |d3d4d5ƒ |dd!d5ƒ |d6d!d5ƒ |d,dd5ƒ |d,d!d5ƒ |d7d!d5ƒ |d8d0d5ƒ |d9d:d5ƒ |d;d0d<ƒ |d=d>d<ƒ |dd?d@ƒ dA}t|ƒ}dB| }dC| }	|d d|  }
d}t|ƒD ]E}dt ||  dD }t|ƒ|	 |
 }t|ƒ|	 | }|d7k�rédE| }ndF| }tt|||| dG|d tjdH�ƒ}| |¡ | |¡ �qÃ|S )INr³   r¯   c                 S   sR   t ƒ }tj|_|| |_|d | d|   |_|d |d|   |_| |¡ d S )NrA   r¡   )r/   r   r¨   r8   r6   rG   rH   rI   )rG   rH   r6   r`   r«   r_   ÚmÚstr<   r<   r=   rÖ   ê  s   
z"Flag._Flag_Brazil.<locals>.addStarr   rV   g333333û?rA   rÛ   g      @rý   rQ   g      !@r?   gfffff†X@g5^ºI@éœ   i`  rØ   gÍÌÌÌÌH@r4   r”   gj¼t“@é¦   gš™™™™au@gš™™™™™	@r¢   g      !ÀrÓ   g      Àéýÿÿÿéüÿÿÿg      Àg      Àr°   g      Àg      à¿g      Ð?g      ø¿rt   g      Àr‚   iùÿÿÿrU   g      Àg      @éûÿÿÿgš™™™™™	ÀiúÿÿÿgÍÌÌÌÌÌÀr®   g      Àr¦   r    r²   gš™™™™™!ÀrÝ   r  gš™™™™™É¿gìQ¸…ëÁ?gÍÌÌÌÌÌÀéþÿÿÿiøÿÿÿr¤   zORDEM E PROGRESSOg:ÓI›%:ë?gš™™™™™@gþGe×@n@r¡   r£   r–   )r—   rF   r9   r8   )rp   r   r�   rI   r   r   Úgreenr   r7   r
   rê   r   r¨   rš   rY   r   r   r   r	   r[   )r;   r_   r`   r  r«   rÖ   ÚsTmpÚnTmpr  re   r  r  rd   r  rG   rH   ÚzÚg2r<   r<   r=   Ú_Flag_Brazilã  s–   @ÿÿ&ÿ"ÿ&ÿÿDÿ"ÿ

ÿ
zFlag._Flag_BrazilN)/rK   ri   rj   rk   rl   r   rm   ÚisColorÚ	isBooleanÚ	validFlagro   r�   r5   r}   r€   rŒ   rh   r“   rP   r¬   rÂ   rÈ   rÍ   rÒ   rÙ   rà   rå   ré   rí   rð   r÷   rû   rü   r   r  r  r  r  r	  r
  r  r  r  r  r  r  r,  r<   r<   r<   r=   rq   …   sV    	

ý,!
 rq   c                 C   s   t ƒ }| |_|S rx   )rq   rs   )rœ   Úflagr<   r<   r=   ÚmakeFlag3  s   r1  c            
      C   sô   d} d}g d¢}d }}d}d}|D ]e}|st ddƒ}t|ƒ}| |¡}	||	d	  |_||_| |¡ | t|j|jd
  |jd|   |tj	d| d�¡ |	d	 rT|d }|	d	 r\|dk sb||d krwt
 |d| d|d  ¡ |}|d }d}qdS )zfThis function produces three pdf files with examples of all the signs and symbols from this file.
    r@   )r¯   éõ   )r   r   r   r   r   r   r   r   r   r   r   r   r   r!   r"   r#   r$   r&   r'   r(   r)   r*   r+   r,   r-   i  r   NiÂ  iŠ  rQ   rA   rB   rC   rD   é}   r®   zflags%02d.pdfzflags.py - Page #%drt   )r   r1  ÚindexrG   rH   rI   r	   r6   r   rL   r   Ú
drawToFile)
rO   ÚXÚflagsrH   ÚY0rŠ   rM   rœ   r0  rd   r<   r<   r=   Útest8  s0   

 
ÿ€òr9  Ú__main__)"Ú__version__rk   Úreportlab.libr   Úreportlab.lib.validatorsÚreportlab.lib.attrmapÚreportlab.graphics.shapesr   r   r   r   r   r	   r
   r   Úreportlab.graphics.widgetbaser   Úreportlab.graphicsr   Ú*reportlab.graphics.widgets.signsandsymbolsr   r’   Úmathr   r   r   ÚOneOfr/  rp   r/   rq   r1  r9  rK   r<   r<   r<   r=   Ú<module>   sl   (ä9     37
ÿ