a
    ¦¾dev  ã                   @   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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d/k�reƒ  dS )0z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)Ú	renderPDF)Ú_SymbolN)ÚsinÚcosÚpiÚUKÚUSAÚAfghanistanÚAustriaÚBelgiumZChinaÚCubaÚDenmarkÚFinlandÚFranceÚGermanyÚGreeceÚIrelandÚItalyZJapanÚ
LuxembourgÚHollandÚ	PalestineÚPortugalZ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ÚstrokeColorr/   ©Úself© r8   úY/var/www/sistema_ama/venv/lib/python3.9/site-packages/reportlab/graphics/widgets/flags.pyr1   W   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éÈ   r0   é2   r   é
   ç       @ç333333ó?Úmiddle©r4   Ú
textAnchorÚfontSize)r   r+   ÚxÚyÚaddr	   r2   Ú	__class__Ú__name__r   Úblack)r7   ÚDÚetÚlabelFontSizer8   r8   r9   Ú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 ]J}||fD ]<}|td  }	| |t|	ƒ ¡ | |t|	ƒ ¡ |d }q^qRt|| j	| j
|d d�}
| | j¡ | | j| j | j| j ¡ | |
¡ |S )	Né   é   g     €f@é$   éZ   é   r;   ©r4   r5   ÚstrokeWidth)Úfloatr2   r   r   r   r   ÚrangeÚappendr   r4   r5   Úrotater/   ÚshiftrC   ÚdxrD   ÚdyrE   )r7   ÚsÚgÚRÚrÚPr/   ÚiÚradiusÚthetaÚstarr8   r8   r9   Údrawj   s*    
$ý
z	Star.drawN)rG   Ú
__module__Ú__qualname__Ú__doc__ÚAttrMapr   ÚAttrMapValueZisNumberÚ_attrMapÚ_sizer1   rL   rd   r8   r8   r8   r9   r+   K   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 colorr,   zWhether a background is drawnz
Which flag)r.   r4   ÚborderÚkindc                 K   s2   t  | ¡ d | _d| _tj| _d| _|  |¡ d S )Nr0   é   )	r   r1   rn   r2   r   Úwhiter4   rm   ZsetProperties)r7   Úkwr8   r8   r9   r1   –   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 ©Nr8   )Ú.0rC   r8   r8   r9   Ú
<listcomp>    ó    z+Flag.availableFlagNames.<locals>.<listcomp>rn   )rj   ÚvalidateZ_enumr6   r8   r8   r9   ÚavailableFlagNamesž   s    zFlag.availableFlagNamesc                 C   s2   t }tƒ }| tdd|d |tjtjdd�¡ |S )Nr   rM   rR   )rk   r   rE   r   r   ZpurplerH   ©r7   r[   r\   r8   r8   r9   Ú
_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 )Nr=   r   Ú_widthrM   é   Z_height©ÚwidthÚheightr4   r5   rS   )r2   r   rE   rC   rY   rD   rZ   rS   Úinsertr   Úgetattrr5   rX   Zscalerk   )r7   Úfr[   r\   rC   rD   ZsWr8   r8   r9   Ú_borderDraw¨   s    
&8ÿzFlag._borderDrawc                 C   sB   | j pd}| j |¡}|s8t| d| ƒƒ }| ¡ | j|< |  |¡S )NÚNoneZ_Flag_)rn   Ú_cacheÚgetr€   Z_exploder‚   )r7   rn   r�   r8   r8   r9   rd   ³   s    
z	Flag.drawc                 C   s
   t   | ¡S rr   )Úcopyr6   r8   r8   r9   Ú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:   r0   r   r<   r=   r>   r?   r@   ç      @ZSAMPLEúHelvetica-Bold)r4   rA   rB   ÚfontName)r   rw   ÚtimeÚintÚlenrl   rn   rC   rD   rE   r	   r2   r   rH   Úgold)r7   rI   Únamer‹   ZfxrK   r8   r8   r9   rL   ¾   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 )NrM   r   rR   çÍÌÌÌÌÌÌ?gffffffì?gÍÌÌÌÌÌ¼?g      .@ç      $@é   gÍÌÌÌÌÌä?r{   çffffffÖ?gáz®GáÚ?g{®GázÄ?r|   ç333333Ó?çÍÌÌÌÌÌÜ?çš™™™™™¹?çš™™™™™Ù?çš™™™™™É?)
rk   r   rE   r   r   ÚnavyrH   r   Ú	mintcreamÚred©r7   r[   r\   Úwr8   r8   r9   Ú_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 ]R}|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 ]h}tdƒD ]Z}t
ƒ }|	|_d|d  |	d  | ||  |_tj|_||d |  |
 |_| |¡ qøqìtdƒD ]x}tdƒD ]h}t
ƒ }|	|_d|d  |	d  |d  ||  |_tj|_||d |  |d  |
 |_| |¡ �qj�q^|S )Nr   rM   rR   é   éÿÿÿÿg      *@é   r|   é   gš™™™™™é?g
×£p=
§?r=   ç      "@g      @rQ   r’   g      6@ro   é   ç      ,@g      2@)rk   r   r   r   rš   rH   rE   rU   r›   Údarkbluer+   r2   rC   r4   rD   )r7   r[   r\   ÚboxÚstripecounterÚstripeheightÚstripecolorZredorwhitelineÚblueboxZlssZlss2Zs9Zs7ZstarxcounterZstarycounterZlsr8   r8   r9   Ú	_Flag_USAã   sL    
ÿÿ
"&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   rM   rR   ç      @r=   r|   )rk   r   r   r   rš   rH   rE   Ú	limegreen)r7   r[   r\   r§   ÚgreenboxÚblackboxr8   r8   r9   Ú_Flag_Afghanistan  s    
ÿ
ÿ
ÿ
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   rM   rR   r=   r®   r|   )rk   r   r   r   rš   rH   rE   r›   )r7   r[   r\   r§   Úredbox1Zredbox2r8   r8   r9   Ú_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   rM   rR   r®   r=   r|   rˆ   )rk   r   r   r   rH   rE   rŽ   r›   )r7   r[   r\   r§   Úbox1Úbox2Zbox3r8   r8   r9   Ú_Flag_Belgium2  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   rR   g      4@r=   c           	      S   sL   t ƒ }tj|_||_|| d |_| | | |_|| | |_| |¡ d S )NrM   )	r+   r   r3   r4   r/   r2   rC   rD   rE   )	rC   rD   r2   r/   r\   r�   Zx0Zy0r[   r8   r8   r9   ÚaddStarN  s    z!Flag._Flag_China.<locals>.addStarrQ   r{   r<   ro   gÏbÎXoB@é   g‘~ ô)m @r¤   g ì’'ÿ™0@é   gþ0�1§�J@)rk   r   rz   rE   r   r   r›   )r7   r[   r\   r�   r»   r8   r8   r9   Ú_Flag_ChinaH  s    	zFlag._Flag_Chinac              
   C   sô   t }tƒ }tdƒ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 )NrQ   r   ç      @rM   r|   r’   r=   ©Zpointsr4   r5   rS   ç      @r‘   r{   rR   )rk   r   rU   r   r   r¦   rš   rE   r   r›   r+   rC   rD   r2   rp   r4   rH   )r7   r[   r\   r`   ZstripeÚredwedgerc   r§   r8   r8   r9   Ú
_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   rR   r¿   rM   g      @r|   r=   g      (@)	rk   r   rz   r   r   r›   rH   rE   rš   )r7   r[   r\   r�   r§   Z	whitebox1Z	whitebox2r8   r8   r9   Ú_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   rM   rR   g333333ã?r”   r|   r—   )rk   r   r   r   Ú
ghostwhiterH   rE   r¦   )r7   r[   r\   r§   Ú	blueline1Ú	blueline2r8   r8   r9   Ú_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¶   )
rk   r   r   r   r™   rH   rE   Úbluerš   r›   )r7   r[   r\   r§   r«   ÚwhiteboxÚredboxr8   r8   r9   Ú_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­   )rk   r   r   r   rŽ   rH   rE   Z	orangered)r7   r[   r\   r§   Z	blackbox1r´   r8   r8   r9   Ú_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 ]R}|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   rM   rR   é	   r    r£   r¡   r|   rQ   r{   )
rk   r   r   r   rŽ   rH   rE   rU   Zdeepskybluerš   )r7   r[   r\   r§   r¨   r©   rª   ZblueorwhitelineZbluebox1Ú
whiteline1Ú
whiteline2r8   r8   r9   Ú_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³   )	rk   r   r   r   ÚforestgreenrH   rE   rš   Z
darkorange)r7   r[   r\   r§   rÌ   Z	orangeboxr8   r8   r9   Ú_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   rM   rR   r®   r’   r|   )rk   r   rE   r   r   rÔ   rš   r›   rx   r8   r8   r9   Ú_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   rR   r=   r”   ©ZcxÚcyr^   r4   r5   rS   )	rk   r   rz   rE   r   r   rš   r
   r›   rœ   r8   r8   r9   Ú_Flag_Japan  s    (zFlag._Flag_Japanc              	   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­   )	rk   r   r   r   rš   rH   rE   r›   Ú
dodgerblue©r7   r[   r\   r§   rÍ   r«   r8   r8   r9   Ú_Flag_Luxembourg	  s    
ÿ
ÿ
ÿ
zFlag._Flag_Luxembourgc              	   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­   )	rk   r   r   r   rš   rH   rE   r›   r¦   rÛ   r8   r8   r9   Ú_Flag_Holland  s    
ÿ
ÿ
ÿ
zFlag._Flag_Hollandc                 C   s   t ƒ S rr   )r   r6   r8   r8   r9   Ú_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|   rM   )	rk   r   rz   rE   r   r   r›   rË   rš   )r7   r[   r\   r�   Útr8   r8   r9   Ú_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ˆ   r=   )rk   r   rz   rE   r   r   r›   r3   rœ   r8   r8   r9   Ú_Flag_Spain8  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Ä   )	rk   r   rz   r   r   rÚ   rH   rE   rŽ   )r7   r[   r\   r§   r·   r¸   r8   r8   r9   Ú_Flag_Sweden@  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   rR   r˜   rM   r|   r—   r�   r–   r•   )
rk   r   rz   r   r   r›   rH   rE   rÇ   r¦   )r7   r[   r\   r§   rÑ   rÒ   rÈ   rÉ   r8   r8   r9   Ú_Flag_NorwayS  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   rM   rR   r=   r|   rÀ   )
rk   r   r   r   rš   rH   rE   r›   r   r¦   )r7   r[   r\   r§   rÍ   Z	bluewedger8   r8   r9   Ú_Flag_CzechRepublicq  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®   rM   rR   r|   r=   rÀ   )
rk   r   r   r   rš   rE   r¯   rH   r   r›   )r7   r[   r\   r§   r°   r±   rÂ   r8   r8   r9   Ú_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   rM   rR   r“   r=   r”   r×   gö(\�ÂõØ?g¸…ëQ¸Î?é   r¿   ç      à?)rk   r   r   r   r›   rH   rE   r
   rš   r+   r/   r2   rC   rD   r4   r5   )r7   r[   r\   r§   ZwhitecircleZ	redcircleÚwsr8   r8   r9   Ú_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   rR   r=   g      @rM   r¿   )
rk   r   rz   rE   r   r   r›   rH   r   rš   rx   r8   r8   r9   Ú_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 ]R}||
 }t	ƒ }t
|ƒ| | |_t|ƒ| | |_|d |_tj|_| |¡ qn|S )	Nrº   r   rR   r=   r®   r¼   rM   r‘   )rk   r   rz   rE   r   r   r¦   r   rU   r+   r   rC   r   rD   r2   rŽ   r4   )r7   r[   r\   r�   ÚcenterxÚcenteryra   ZyradiusZxradiusZnStarsÚdeltar`   ÚradZgsr8   r8   r9   Ú_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 ]Š}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 )Nr=   r“   )r+   r   rš   r4   r2   rC   rD   rE   )rC   rD   r2   r\   r�   r[   ÚmÚstr8   r8   r9   r»   é  s    
z"Flag._Flag_Brazil.<locals>.addStarr   rR   g333333û?r=   rÀ   g      @r×   rM   g      !@r;   gfffff†X@g5^ºI@éœ   i`  r½   gÍÌÌÌÌH@r0   rˆ   gj¼t“@é¦   gš™™™™au@gš™™™™™	@r”   g      !Àrº   g      Àéýÿÿÿéüÿÿÿg      Àg      Àr¢   g      Àg      à¿g      Ð?g      ø¿ro   g      Àr{   iùÿÿÿrQ   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Š   rB   r5   r4   )rk   r   rz   rE   r   r   Zgreenr   r3   r
   rË   r   rš   r�   rU   r   r   r   r	   rW   )r7   r[   r\   rð   r�   r»   ZsTmpZnTmprí   ra   rë   rì   r`   rî   rC   rD   ÚzZg2r8   r8   r9   Ú_Flag_Brazilâ  s–    @ÿÿ&ÿ"ÿ&ÿÿDÿ"ÿ

ÿ
zFlag._Flag_BrazilN)/rG   re   rf   rg   rh   r   ri   ZisColorZ	isBooleanÚ	validFlagrj   r„   r1   rw   ry   r‚   rd   r‡   rL   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ù   r8   r8   r8   r9   rl   „   sT   	

ý,!
 rl   c                 C   s   t ƒ }| |_|S rr   )rl   rn   )r�   Úflagr8   r8   r9   ÚmakeFlag2  s    rü   c            
      C   sô   d} d}g d¢}d }}d}d}|D ]Ê}|s6t ddƒ}t|ƒ}| |¡}	||	d	  |_||_| |¡ | t|j|jd
  |jd|   |tj	d| d�¡ |	d	 r¨|d }|	d	 r¸|dk sÄ||d kr$t
 |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Š  rM   r=   r>   r?   r@   é}   r    zflags%02d.pdfzflags.py - Page #%dro   )r   rü   ÚindexrC   rD   rE   r	   r2   r   rH   r   Z
drawToFile)
rK   ÚXÚflagsrD   ZY0r�   rI   r�   rû   r`   r8   r8   r9   Útest7  s,    

 
ÿr  Ú__main__) Ú__version__rg   Zreportlab.libr   Zreportlab.lib.validatorsZreportlab.lib.attrmapZreportlab.graphics.shapesr   r   r   r   r   r	   r
   r   Zreportlab.graphicsr   Z*reportlab.graphics.widgets.signsandsymbolsr   r†   Úmathr   r   r   ZOneOfrú   rk   r+   rl   rü   r  rG   r8   r8   r8   r9   Ú<module>   sf   (ä9     37
