Ë
    -Œ:jéR  ã            $       óv
  — d Z ddlmZ ddlZddlmZ ddlmZmZm	Z	m
Z
 ddlmZ dd	lmZmZmZmZ dd
lmZ ddlmZmZ ddlmZmZ  ej4                  e«      Z ed¬«      Zej=                  dg d¢¬«      	 	 	 	 d{dee ej@                  d¬«      f   dee! ejD                  dd¬«      f   deedz   ejD                  dd¬«      f   dee! ejD                  dd¬«      f   deddfd„«       Z#d ede!fd!„Z$ej=                  d"g d#¢¬«      	 	 	 	 	 	 d|d eedz   ej@                  d$¬«      f   d%ee! ejD                  d&d'd(¬«      f   d)ee! ejD                  d*d+¬«      f   d,ee! ejD                  d-d.d/¬«      f   d0ededdfd1„«       Z%d2edz  d0edz  d%e!d)e!d,e!dedz  ddfd3„Z&d ed%e!d)e!d,e!dedz  ddfd4„Z'ej=                  d5d6d7g¬«      	 d}dee ej@                  d8¬«      f   deddfd9„«       Z(ej=                  d:g d;¢¬«      	 	 	 d~dee ej@                  d8¬«      f   d<ee! ejD                  d=d>d?¬«      f   d@ee! ejD                  dAdB¬«      f   deddf
dC„«       Z)ej=                  dDg dE¢¬«      	 	 	 	 	 	 dd ee ej@                  dF¬«      f   d,ee! ejD                  d-d.dG¬«      f   d<ee! ejD                  d=d>d?¬«      f   dHee! ejD                  dIdJ¬«      f   dKee*e   dz   ejD                  dL¬«      f   dMee*e   dz   ejD                  dN¬«      f   deddfdO„«       Z+ej=                  dPg dQ¢¬«      	 d}dRee ej@                  dS¬«      f   dTee ej@                  dU¬«      f   deddfdV„«       Z,ej=                  dWg dX¢¬«      	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d€dYeedz   ej@                  dZ¬«      f   d[eedz   ej@                  d\¬«      f   d:ee! ejD                  d]¬«      f   d^ee! ejD                  d_d`¬«      f   daee! ejD                  dbdc¬«      f   ddeedz   ejD                  de¬«      f   dfeedz   ejD                  dg¬«      f   dHee! ejD                  dIdh¬«      f   dKee*e   dz   ejD                  di¬«      f   dMee*e   dz   ejD                  dj¬«      f   dkeedz   ejD                  dl¬«      f   dmee! ejD                  dndo¬«      f   dpee! ejD                  dqdr¬«      f   dsee! ejD                  dtdudv¬«      f   deddf dw„«       Z- ej=                  dxg dy¢¬«       edz«      «       y)�z7Contains commands to interact with buckets via the CLI.é    )Ú	AnnotatedN)Úlogging)ÚBUCKET_PREFIXÚ
BucketFileÚFilterMatcherÚ_parse_bucket_urié   )ÚREPO_REGIONSé   )Ú	SearchOptÚTokenOptÚ
get_hf_apiÚtyper_factory)Úmake_cp)Úformat_sizeÚprint_file_listing)ÚOutputFormatÚoutz"Commands to interact with buckets.)ÚhelpÚcreate)zhf buckets create my-bucketz hf buckets create user/my-bucketz-hf buckets create hf://buckets/user/my-bucketz*hf buckets create user/my-bucket --privatez+hf buckets create user/my-bucket --exist-okz,hf buckets create user/my-bucket --region us)ÚnameÚexamplesÚ	bucket_idzTBucket ID: bucket_name, namespace/bucket_name, or hf://buckets/namespace/bucket_nameÚprivatez	--privatezCreate a private bucket.Úregionz--regionzdCloud region in which to create the bucket. Can be one of 'us' or 'eu'. Requires Team plan or above.Úexist_okz
--exist-okz3Do not raise an error if the bucket already exists.ÚtokenÚreturnc                 ór  — t        |¬«      }| j                  t        «      rCt        | «      }|j                  r t        j                  d| › dt        › d�«      ‚|j                  } |j                  | |r|nd||¬«      }t        j                  d|j                  j                  «       |j                  ¬«       y)	zCreate a new bucket.©r   z-Cannot specify a prefix for bucket creation: ú. Use namespace/bucket_name or únamespace/bucket_name.N)r   r   r   zBucket created)ÚuriÚurl)r   Ú
startswithr   r   Úpath_in_repoÚtyperÚBadParameterÚidÚcreate_bucketr   Úresultr#   Úto_urir$   )r   r   r   r   r   ÚapiÚparsedÚ
bucket_urls           ú]/var/www/html/tokenscope/api/venv/lib/python3.12/site-packages/huggingface_hub/cli/buckets.pyr   r   .   s²   € ôT ˜5Ô
!€Cà×ÑœMÔ*Ü" 9Ó-ˆØ×ÒÜ×$Ñ$Ø?À	¸{ð K1Ü1>°Ð?UðWóð ð —I‘Iˆ	à×"Ñ"ØÙ"‘¨ØØð	 #ó €Jô ‡J�JÐ Z§^¡^×%:Ñ%:Ó%<À*Ç.Á.ÖQó    Úargumentc                 ód   — | j                  t        «      r| t        t        «      d }d|v S | }d|v S )zFCheck if argument is a bucket ID (namespace/name) vs just a namespace.Nú/)r%   r   Úlen)r2   Úpaths     r0   Ú_is_bucket_idr7   l   s?   € à×Ñœ=Ô)ØœœMÓ*Ð,Ð-ˆð �$ˆ;Ðð ˆØ�$ˆ;Ðr1   z	list | ls)
zhf buckets listzhf buckets list huggingfacez$hf buckets list --search "my-prefix"zhf buckets list user/my-bucketz!hf buckets list user/my-bucket -Rz!hf buckets list user/my-bucket -hz%hf buckets list user/my-bucket --treez(hf buckets list user/my-bucket --tree -hz+hf buckets list hf://buckets/user/my-bucketz%hf buckets list user/my-bucket/sub -RzyNamespace (user or org) to list buckets, or bucket ID (namespace/bucket_name(/prefix) or hf://buckets/...) to list files.Úhuman_readablez--human-readablez-hz$Show sizes in human readable format.Úas_treez--treez3List files in tree format (only for listing files).Ú	recursivez--recursivez-Rz0List files recursively (only for listing files).Úsearchc                 óœ   — | duxr t        | «      }|r(|�t        j                  d«      ‚t        | ||||¬«       yt	        | |||||¬«       y)z½List buckets or files in a bucket.

    When called with no argument or a namespace, lists buckets.
    When called with a bucket ID (namespace/bucket_name), lists files in the bucket.
    Nz'Cannot use --search when listing files.)r2   r8   r9   r:   r   )Ú	namespacer;   r8   r9   r:   r   )r7   r'   r(   Ú_list_filesÚ_list_buckets)r2   r8   r9   r:   r;   r   Úis_file_modes          r0   Úlist_cmdrA   u   sg   € ðr  4Ð'ÒC¬M¸(Ó,C€LáØÐÜ×$Ñ$Ð%NÓOÐOÜØØ)ØØØö	
ô 	ØØØ)ØØØö	
r1   r=   c           	      ó  — |rt        j                  d«      ‚|rt        j                  d«      ‚| �8| j                  t        «      r#| t	        t        «      d } | j                  d«      } t        |¬«      }|j                  | |¬«      D �cg c]T  }|j                  |j                  |rt        |j                  |«      n|j                  |j                  |j                  dœ‘ŒV }}t        j                  |dd	i¬
«       yc c}w )zList buckets in a namespace.z'Cannot use --tree when listing buckets.z,Cannot use --recursive when listing buckets.Nr4   r    )r=   r;   )r)   r   ÚsizeÚtotal_filesÚ
created_atrC   Úright)Ú
alignments)r'   r(   r%   r   r5   Úrstripr   Úlist_bucketsr)   r   r   rC   rD   rE   r   Útable)	r=   r;   r8   r9   r:   r   r-   ÚbucketÚitemss	            r0   r?   r?   Å   sõ   € ñ Ü× Ñ Ð!JÓKÐKÙÜ× Ñ Ð!OÓPÐPð Ð ×!5Ñ!5´mÔ!DØœc¤-Ó0Ð2Ð3ˆ	à×$Ñ$ SÓ)ˆ	ä
˜5Ô
!€Cð ×&Ñ&°À6Ð&ÓJö	ð ð —)‘)Ø—~‘~Ù@N”K §¡¨^Ô<ÐTZ×T_ÑT_Ø!×-Ñ-Ø ×+Ñ+ó	
ð	€Eð 	ô ‡I�Iˆe ¨Ð 1Ö2ùò	s   Â
AC?c                 ó*  — |r6t         j                  t        j                  k(  rt	        j
                  d«      ‚t        |¬«      }t        | «      }t        |j                  |j                  |j                  xs d|¬«      «      }t        ||||¬«       y)zList files in a bucket.z%Cannot use --tree with --format json.r    N©Úprefixr:   )r8   r9   r:   )r   Úmoder   Újsonr'   r(   r   r   ÚlistÚlist_bucket_treer)   r&   r   )r2   r8   r9   r:   r   r-   r.   rL   s           r0   r>   r>   è   s„   € ñ ”3—8‘8œ|×0Ñ0Ò0Ü× Ñ Ð!HÓIÐIä
˜5Ô
!€CÜ˜xÓ(€FÜØ×ÑØ�I‰IØ×&Ñ&Ò.¨$Øð 	ó 	
ó€Eô �u¨^ÀWÐXaÖbr1   Úinfozhf buckets info user/my-bucketz+hf buckets info hf://buckets/user/my-bucketzFBucket ID: namespace/bucket_name or hf://buckets/namespace/bucket_namec                 ó–   — t        |¬«      }t        | «      }|j                  |j                  «      }t	        j
                  |d¬«       y)zGet info about a bucket.r    r)   )Úid_keyN)r   r   Úbucket_infor)   r   Údict)r   r   r-   r.   rK   s        r0   rT   rT      s8   € ô" ˜5Ô
!€CÜ˜yÓ)€FØ�_‰_˜VŸY™YÓ'€FÜ‡H�HˆV˜DÖ!r1   Údelete)z hf buckets delete user/my-bucketz-hf buckets delete hf://buckets/user/my-bucketz&hf buckets delete user/my-bucket --yesz-hf buckets delete user/my-bucket --missing-okÚyesz--yesz-yzSkip confirmation prompt.Ú
missing_okz--missing-okz3Do not raise an error if the bucket does not exist.c                 ó   — | j                  t        «      rDt        | «      }|j                  r t	        j
                  d| › dt        › d�«      ‚|j                  } n$d| vr t	        j
                  d| › dt        › d�«      ‚t        j                  d| › d�|¬	«       t        |¬
«      }|j                  | |¬«       t        j                  d| ¬«       y)zDelete a bucket.

    This deletes the entire bucket and all its contents. Use `hf buckets rm` to remove individual files.
    z-Cannot specify a prefix for bucket deletion: r!   r"   r4   zInvalid bucket ID: z-. Must be in format namespace/bucket_name or z(Are you sure you want to delete bucket 'ú'?©rZ   r    )r[   zBucket deleted)r   N)r%   r   r   r&   r'   r(   r)   r   Úconfirmr   Údelete_bucketr+   )r   rZ   r[   r   r.   r-   s         r0   rY   rY     sÚ   € ðJ ×ÑœMÔ*Ü" 9Ó-ˆØ×ÒÜ×$Ñ$Ø?À	¸{ð K1Ü1>°Ð?UðWóð ð —I‘I‰	Ø	�IÑ	Ü× Ñ Ø! ) ð -;Ü;H¸/ÐI_ðaó
ð 	
ô
 ‡K�KÐ:¸9¸+ÀRÐHÈcÕRä
˜5Ô
!€CØ×Ñ�i¨JÐÔ7Ü‡J�JÐ¨9Ö5r1   zremove | rm)z)hf buckets remove user/my-bucket/file.txtz2hf buckets rm hf://buckets/user/my-bucket/file.txtz.hf buckets rm user/my-bucket/logs/ --recursivez:hf buckets rm user/my-bucket --recursive --include "*.tmp"z8hf buckets rm user/my-bucket/data/ --recursive --dry-runz¡Bucket path: namespace/bucket_name/path or hf://buckets/namespace/bucket_name/path. With --recursive, namespace/bucket_name is also accepted to target all files.z0Remove files recursively under the given prefix.Údry_runz	--dry-runz8Preview what would be deleted without actually deleting.ÚincludezQInclude only files matching pattern (can specify multiple). Requires --recursive.ÚexcludezLExclude files matching pattern (can specify multiple). Requires --recursive.c                 ó:  ‡— t        | «      }|j                  Š|j                  }|dk(  r|st        j                  d‰› d‰› d�«      ‚|s|r|st        j                  d«      ‚t        |¬«      }	|�rt        j                  d«      }
g }|	j                  ‰|xs dd	¬
«      D ]B  }t        |t        «      sŒ|j                  |«       |
j                  dt        |«      › d�«       ŒD |
j                  dt        |«      › d�«       |s|r9t        ||¬«      }|D �cg c]   }|j!                  |j"                  «      sŒ|‘Œ" }}n|}|D �cg c]  }|j"                  ‘Œ }}t%        d„ |D «       «      }t'        |d	¬«      }|st        j(                  d«       yt        |«      › d|› �}|sK|sIt        j(                  dj+                  d„ |D «       «      «       t        j,                  d|› d‰› d�d¬«       |rGt        j(                  dj+                  ˆfd„|D «       «      «       t        j(                  d|› d�«       y|	j/                  ‰|¬«       t        j0                  d|› d‰› d�‰t        |«      |¬«       y|}|st        j                  d «      ‚|r7t        j(                  d!t2        › ‰› d"|› �«       t        j(                  d#«       yt        j,                  d$|› d%‰› d�|¬«       |	j/                  ‰|g¬«       t        j0                  d&|‰¬'«       yc c}w c c}w )(zbRemove files from a bucket.

    To delete an entire bucket, use `hf buckets delete` instead.
    Ú z?No file path specified. To remove files, provide a path (e.g. 'zd/FILE') or use --recursive to remove all files. To delete the entire bucket, use `hf buckets delete z`.z,--include and --exclude require --recursive.r    zListing files from remoteNTrN   zListing files from remote (z files))Úinclude_patternsÚexclude_patternsc              3   ó4   K  — | ]  }|j                   –— Œ y ­w©N)rC   )Ú.0Úfs     r0   ú	<genexpr>zremove.<locals>.<genexpr>³  s   è ø€ Ò7 A˜Ÿ�Ñ7ùs   ‚)r8   zNo files to remove.z file(s) totaling ú
c              3   ó&   K  — | ]	  }d |› �–— Œ y­w)z  N© )rj   r6   s     r0   rl   zremove.<locals>.<genexpr>½  s   è ø€ ÒB¨t  D 6œ{ÑBùs   ‚zRemove z from 'r]   Fr^   c              3   ó:   •K  — | ]  }d t         › ‰› d|› �–— Œ y­w)údelete: r4   N)r   )rj   r6   r   s     €r0   rl   zremove.<locals>.<genexpr>Á  s#   øè ø€ ÒcÐPT ¬-¨¸¸À1ÀTÀFÔKÑcùs   ƒz
(dry run) z would be removed.)rY   zRemoved ú')r   Úfiles_deletedrC   zFile path cannot be empty.rq   r4   z"(dry run) 1 file would be removed.zRemove 'z' from 'zFile removed)r6   r   )r   r)   r&   r'   r(   r   r   ÚstatusrS   Ú
isinstancer   ÚappendÚupdater5   Údoner   Úmatchesr6   Úsumr   ÚtextÚjoinr_   Úbatch_bucket_filesr+   r   )r2   r:   rZ   ra   rb   rc   r   r.   rO   r-   rt   Ú	all_filesÚitemÚmatcherrk   Úmatched_filesÚ
file_pathsÚ
total_sizeÚsize_strÚcount_labelÚ	file_pathr   s                        @r0   Úremover‡   Q  sú  ø€ ôz ˜xÓ(€FØ—	‘	€IØ× Ñ €Fà�‚|™IÜ× Ñ ðØ �kð "DØDMÀ;ÈbðRó
ð 	
ñ 	‘7¡IÜ× Ñ Ð!OÓPÐPä
˜5Ô
!€CâÜ—‘Ð7Ó8ˆà&(ˆ	Ø×(Ñ(ØØ’>˜TØð )ó 
ò 	UˆDô
 ˜$¤
Õ+Ø× Ñ  Ô&Ø—‘Ð ;¼CÀ	»NÐ;KÈ7ÐSÕTð	Uð 	�‰Ð1´#°i³.Ð1AÀÐIÔJá‘gÜ#°WÈwÔWˆGØ(1ÖM 1°W·_±_ÀQÇVÁVÕ5LšQÐMˆMÑMà%ˆMà&3Ö4 �a—f“fÐ4ˆ
Ð4ÜÑ7¨Ô7Ó7ˆ
Ü˜z¸$Ô?ˆáÜ�H‰HÐ*Ô+Øä˜Z›Ð)Ð);¸H¸:ÐFˆá™7Ü�H‰H�T—Y‘YÑB°zÔBÓBÔCÜ�K‰K˜' + ¨g°i°[ÀÐCÈÕOáÜ�H‰H�T—Y‘YÓcÐXbÔcÓcÔdÜ�H‰H�z + Ð.@ÐAÔBØà×Ñ˜y°ÐÔ<Ü�
‰
Ø�{�m 7¨9¨+°QÐ7ØÜ˜j›/Øö		
ð ˆ	ÙÜ×$Ñ$Ð%AÓBÐBáÜ�H‰H�x¤˜¨y¨k¸¸9¸+ÐFÔGÜ�H‰HÐ9Ô:Øä�‰�h˜y˜k¨°)°¸BÐ?ÀSÕIà×Ñ˜y°)°ÐÔ=Ü�
‰
�>¨	¸YÖGùòY Nùò 5s   Ä LÄ:LÅLÚmove)z/hf buckets move user/old-bucket user/new-bucketz/hf buckets move user/my-bucket my-org/my-bucketzIhf buckets move hf://buckets/user/old-bucket hf://buckets/user/new-bucketÚfrom_idzMSource bucket ID: namespace/bucket_name or hf://buckets/namespace/bucket_nameÚto_idzRDestination bucket ID: namespace/bucket_name or hf://buckets/namespace/bucket_namec                 óž  — t        | «      }|j                  r t        j                  d| › dt        › d�«      ‚t        |«      }|j                  r t        j                  d|› dt        › d�«      ‚t        |¬«      }|j                  |j                  |j                  ¬«       t        j                  d|j                  |j                  ¬«       y)z2Move (rename) a bucket to a new name or namespace.z)Cannot specify a prefix for bucket move: r!   r"   r    )r‰   rŠ   zBucket movedN)
r   r&   r'   r(   r   r   Úmove_bucketr)   r   r+   )r‰   rŠ   r   Úparsed_fromÚ	parsed_tor-   s         r0   rˆ   rˆ   Ý  sÃ   € ô2 $ GÓ,€KØ×ÒÜ× Ñ Ø7¸°yð A-Ü-:¨OÐ;QðSó
ð 	
ô " %Ó(€IØ×ÒÜ× Ñ Ø7¸°wð ?-Ü-:¨OÐ;QðSó
ð 	
ô
 ˜5Ô
!€CØ‡O�O˜KŸN™N°)·,±,€OÔ?Ü‡J�Jˆ~ {§~¡~¸Y¿\¹\ÖJr1   Úsync)z2hf buckets sync ./data hf://buckets/user/my-bucketz2hf buckets sync hf://buckets/user/my-bucket ./dataz;hf buckets sync ./data hf://buckets/user/my-bucket --deletez^hf buckets sync hf://buckets/user/my-bucket ./data --include "*.safetensors" --exclude "*.tmp"zIhf buckets sync ./data hf://buckets/user/my-bucket --plan sync-plan.jsonlz'hf buckets sync --apply sync-plan.jsonlz<hf buckets sync ./data hf://buckets/user/my-bucket --dry-runzChf buckets sync ./data hf://buckets/user/my-bucket --dry-run | jq .ÚsourcezKSource path: local directory or hf://buckets/namespace/bucket_name(/prefix)ÚdestzPDestination path: local directory or hf://buckets/namespace/bucket_name(/prefix)z/Delete destination files not present in source.Úignore_timesz--ignore-timesz;Skip files only based on size, ignoring modification times.Úignore_sizesz--ignore-sizesz<Skip files only based on modification times, ignoring sizes.Úplanz=Save sync plan to JSONL file for review instead of executing.Úapplyz#Apply a previously saved plan file.z5Print sync plan to stdout as JSONL without executing.z6Include files matching pattern (can specify multiple).z6Exclude files matching pattern (can specify multiple).Úfilter_fromz(Read include/exclude patterns from file.Úexistingz
--existingzASkip creating new files on receiver (only update existing files).Úignore_existingz--ignore-existingzCSkip updating files that exist on receiver (only create new files).Úverbosez	--verbosez-vz%Show detailed logging with reasoning.c                 óâ   — t        |¬«      }|j                  | ||||||||	|
||||t        j                  «       ¬«       |r/t        j                  «       st        j                  d|› d�«       yyy)z0Sync files between local directory and a bucket.r    )r�   r‘   rY   r’   r“   r—   r˜   rb   rc   r–   r”   r•   ra   r™   ÚquietzRun `hf buckets sync --apply z` to execute this plan.N)r   Úsync_bucketr   Úis_quietÚhint)r�   r‘   rY   r’   r“   r”   r•   ra   rb   rc   r–   r—   r˜   r™   r   r-   s                   r0   r�   r�     s~   € ôX ˜5Ô
!€CØ‡O�OØØØØ!Ø!ØØ'ØØØØØØØÜ�l‰l‹nð ô ñ" ”C—L‘L”NÜ�‰Ð0°°Ð6MÐNÕOð #€tr1   Úcp)zEhf buckets cp hf://buckets/username/my-bucket/config.json config.jsonz<hf buckets cp hf://buckets/username/my-bucket/data.csv data/z;hf buckets cp hf://buckets/username/my-bucket/config.json -zQhf buckets cp model.safetensors hf://buckets/username/my-bucket/model.safetensorsz?hf buckets cp config.json hf://buckets/username/my-bucket/logs/z;hf buckets cp - hf://buckets/username/my-bucket/config.jsonzYhf buckets cp hf://buckets/username/my-bucket/data.csv hf://buckets/username/dest-bucket/z_hf buckets cp hf://buckets/username/source-bucket/logs/ hf://buckets/username/dest-bucket/logs/Úbuckets)FNFN)NFFFNNri   )FFN)FFFNNN)NNFFFNNFNNNFFFN).Ú__doc__Útypingr   r'   Úhuggingface_hubr   Úhuggingface_hub._bucketsr   r   r   r   Úhf_apir
   Ú
_cli_utilsr   r   r   r   Ú_cpr   Ú_file_listingr   r   Ú_outputr   r   Ú
get_loggerÚ__name__ÚloggerÚbuckets_cliÚcommandÚstrÚArgumentÚboolÚOptionr   r7   rA   r?   r>   rT   rY   rR   r‡   rˆ   r�   ro   r1   r0   ú<module>r³      sî	  ðñ >å ã å #÷ó õ "÷ó õ ß :ß &ð 
ˆ×	Ñ	˜HÓ	%€ñ Ð!EÔF€ð ×ÑØ	òð ó 
ð0 	ð 	ð 	Øñ90RØØØˆ�‰Øgô	
ð	ñð0Rð ØØˆ�‰ØØ+ô	
ð	ñð0Rð Ø�tÑØˆ�‰ØØwô	
ð	ñð0Rð* ØØˆ�‰ØØFô	
ð	ñð+0Rð8 ð90Rð: 
ò;0Ró
ð0Rðf˜Cð  Dó ð ×ÑØ	òð ó ð0 	ð 	ð 	ð 	ØØñE>
ØØˆd‰
Øˆ�‰ðWô	
ð	ñð>
ð ØØˆ�‰ØØØ7ô	
ð	ñð>
ð$ ØØˆ�‰ØØFô	
ð	ñð%>
ð2 ØØˆ�‰ØØØCô	
ð	ñð3>
ðB ðC>
ðD ðE>
ðF 
òG>
óð>
ðB 3Ø�T‰zð 3à�$‰Jð 3ð ð 3ð ð	 3ð
 ð 3ð �‰:ð 3ð 
ó 3ðFcØðcàðcð ðcð ð	cð
 �‰:ðcð 
ócð0 ×ÑØ	à(Ø5ðð ó ð ñ"ØØØˆ�‰ØYô	
ð	ñð"ð ð"ð 
ò"óð"ð  ×ÑØ	òð ó ð. 	ð 	Øñ-.6ØØØˆ�‰ØYô	
ð	ñð.6ð 
ØØˆ�‰ØØØ,ô	
ð	ñ
ð.6ð ØØˆ�‰ØØFô	
ð	ñð.6ð, ð-.6ð. 
ò/.6óð.6ðb ×ÑØ	òð ó 	ð6 	ð 	ð 	ð 	ð 	Øñ[HØØØˆ�‰ðaô	
ð	ñðHð ØØˆ�‰ØØØCô	
ð	ñðHð$ 
ØØˆ�‰ØØØ,ô	
ð	ñ
ð%Hð4 ØØˆ�‰ØØKô	
ð	ñð5HðB ØˆS‰	�DÑØˆ�‰Ødô	
ð	ñðCHðN ØˆS‰	�DÑØˆ�‰Ø_ô	
ð	ñðOHðZ ð[Hð\ 
ò]Hó	ðHðD ×ÑØ	òð ó ð* ñ"KØØØˆ�‰Ø`ô	
ð	ñð"Kð ØØˆ�‰Øeô	
ð	ñð"Kð ð"Kð 
ò"Kóð"KðT ×ÑØ	ò	ð ó ð& 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ØñyrPØØˆd‰
Øˆ�‰Ø^ô	
ð	ñðrPð Øˆd‰
Øˆ�‰Øcô	
ð	ñðrPð ØØˆ�‰ØBô	
ð	ñðrPð& ØØˆ�‰ØØNô	
ð	ñð'rPð4 ØØˆ�‰ØØOô	
ð	ñð5rPðB Øˆd‰
Øˆ�‰ØPô	
ð	ñðCrPðN Øˆd‰
Øˆ�‰Ø6ô	
ð	ñðOrPðZ ØØˆ�‰ØØHô	
ð	ñð[rPðh ØˆS‰	�DÑØˆ�‰ØIô	
ð	ñðirPðt ØˆS‰	�DÑØˆ�‰ØIô	
ð	ñðurPð@ Øˆd‰
Øˆ�‰Ø;ô	
ð	ñðArPðL ØØˆ�‰ØØTô	
ð	ñðMrPðZ ØØˆ�‰ØØVô	
ð	ñð[rPðh ØØˆ�‰ØØØ8ô	
ð	ñðirPðx ðyrPðz 
ò{rPóðrPðv€× Ñ Ø	òð ó ñ 
ˆ)Óõr1   