+
     °³jW#  ã                   ó¦   € ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHtHtH	t	H
t
 ^ RIt^ RIt^RIHtHtHtHt ^RIHt ]! R. R
O4      t ! R R	]4      tR# )é    N)Ú
namedtuple)ÚPath)ÚAnyÚCallableÚOptionalÚUnion)Úcheck_integrityÚdownload_file_from_google_driveÚextract_archiveÚverify_str_arg)ÚVisionDatasetÚCSVc                   óÂ   a a€ ] tR t^t oRtRt. ROtRV3R lV 3R llltRV3R lR lltV3R lR lt	V3R	 lR
 lt
V3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )ÚCelebAa|  `Large-scale CelebFaces Attributes (CelebA) Dataset <http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html>`_ Dataset.

Args:
    root (str or ``pathlib.Path``): Root directory where images are downloaded to.
    split (string): One of {'train', 'valid', 'test', 'all'}.
        Accordingly dataset is selected.
    target_type (string or list, optional): Type of target to use, ``attr``, ``identity``, ``bbox``,
        or ``landmarks``. Can also be a list to output a tuple with all specified target types.
        The targets represent:

            - ``attr`` (Tensor shape=(40,) dtype=int): binary (0, 1) labels for attributes
            - ``identity`` (int): label for each person (data points with the same identity are the same person)
            - ``bbox`` (Tensor shape=(4,) dtype=int): bounding box (x, y, width, height).

              .. warning::

                  These bounding box coordinates correspond to the original uncropped
                  CelebA images, not the cropped and aligned images returned by this
                  dataset. As a result, the coordinates will not match and may fall
                  outside the image boundaries.

                  See `Issue #9008 <https://github.com/pytorch/vision/issues/9008>`_ for
                  details and potential workarounds.

            - ``landmarks`` (Tensor shape=(10,) dtype=int): landmark points (lefteye_x, lefteye_y, righteye_x,
              righteye_y, nose_x, nose_y, leftmouth_x, leftmouth_y, rightmouth_x, rightmouth_y)

        Defaults to ``attr``. If empty, ``None`` will be returned as target.

    transform (callable, optional): A function/transform that takes in a PIL image
        and returns a transformed version. E.g, ``transforms.PILToTensor``
    target_transform (callable, optional): A function/transform that takes in the
        target and transforms it.
    download (bool, optional): If true, downloads the dataset from the internet and
        puts it in root directory. If dataset is already downloaded, it is not
        downloaded again.

        .. warning::

            To download the dataset `gdown <https://github.com/wkentaro/gdown>`_ is required.
Úcelebac                óž   <€ V ^8„  d   QhRS[ S[S[3,          RS[RS[ S[S[,          S[3,          RS[S[,          RS[S[,          RS[RR/# )	é   ÚrootÚsplitÚtarget_typeÚ	transformÚtarget_transformÚdownloadÚreturnN)r   Ústrr   Úlistr   r   Úbool)ÚformatÚ__classdict__s   "€Ú\/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/datasets/celeba.pyÚ__annotate__ÚCelebA.__annotate__L   sq   ø€ ÷ 8&ñ 8&á‘C™�IÕð8&ñ ð8&ñ ™4¡�9¡c˜>Õ*ð	8&ñ
 ™HÕ%ð8&ñ #¡8Õ,ð8&ñ ð8&ð 
ñ8&ó    c                ó
  <€ \         SV `  WVR 7       W n        \        V\        4      '       d   W0n        MV.V n        V P
                  '       g   V P                  e   \        R4      hV'       d   V P                  4        V P                  4       '       g   \        R4      hR^ R^R^RR/pT\        \        V\        4      '       d   VP                  4       MTRR4      ,          pV P                  R	4      p	V P                  R
4      p
V P                  R^R7      pV P                  R^R7      pV P                  R^R7      pVf   \        R4      MV	P                  V8H  P!                  4       pV\        R4      8X  d   V	P"                  V n        MO\&        P                   ! \&        P(                  ! V4      4       Uu. uF  qùP"                  V,          NK  	  upV n        V
P                  V,          V n        VP                  V,          V n        VP                  V,          V n        VP                  V,          V n        \&        P2                  ! V P0                  ^,           ^RR7      V n        VP4                  V n        R# u upi ))r   r   Nz6target_transform is specified but target_type is emptyzHDataset not found or corrupted. You can use download=True to download itÚtrainÚvalidÚtestÚallr   úlist_eval_partition.txtúidentity_CelebA.txtúlist_bbox_celeba.txt)Úheaderúlist_landmarks_align_celeba.txtúlist_attr_celeba.txtÚfloor)Úrounding_mode)r%   r&   r'   r(   )ÚsuperÚ__init__r   Ú
isinstancer   r   r   ÚRuntimeErrorr   Ú_check_integrityr   r   ÚlowerÚ	_load_csvÚsliceÚdataÚsqueezeÚindexÚfilenameÚtorchÚnonzeroÚidentityÚbboxÚlandmarks_alignÚattrÚdivr,   Ú
attr_names)Úselfr   r   r   r   r   r   Ú	split_mapÚsplit_Úsplitsr?   r@   rA   rB   ÚmaskÚiÚ	__class__s   &&&&&&&         €r    r2   ÚCelebA.__init__L   s  ø€ ô 	‰Ñ˜ÐEUÐÔVØŒ
Ü�k¤4×(Ò(Ø*Õà +˜}ˆDÔà××Ð D×$9Ñ$9Ò$EÜÐWÓXÐXçØ�M‰MŒOà×$Ñ$×&Ò&ÜÐiÓjÐjð �QØ�QØ�AØ�4ð	
ˆ	ð ÜÜ!+¨E´3×!7Ò!7�—‘”¸UØØ1óõ
ˆð —‘Ð 9Ó:ˆØ—>‘>Ð"7Ó8ˆØ�~‰~Ð4¸Qˆ~Ó?ˆØŸ.™.Ð)JÐST˜.ÓUˆØ�~‰~Ð4¸Qˆ~Ó?ˆà$šnŒu�TŒ{°6·;±;À&Ñ3H×2QÑ2QÓ2Sˆà”5˜“;ÔØ"ŸL™LˆD�Mä6;·m²mÄEÇMÂMÐRVÓDWÔ6XÓYÑ6X°Ÿ\™\¨!Ÿ_˜_Ñ6XÑYˆDŒMØ Ÿ™ dÕ+ˆŒØ—I‘I˜d•OˆŒ	Ø.×3Ñ3°DÕ9ˆÔØ—I‘I˜d•OˆŒ	ä—I’I˜dŸi™i¨!�m¨Q¸gÔFˆŒ	ØŸ+™+ˆŽùò Zs   Æ;J c                ó<   <€ V ^8„  d   QhRS[ RS[S[,          RS[/# )r   r<   r,   r   )r   r   Úintr   )r   r   s   "€r    r!   r"   †   s-   ø€ ÷ =ñ =áð=ñ ™•ð=ñ 
ñ	=r#   c           
     óJ  € \        \        P                  P                  V P                  V P
                  V4      4      ;_uu_ 4       p\        \        P                  ! VR RR7      4      pRRR4       Ve   XV,          pWB^,           R pM. pX Uu. uF  qf^ ,          NK  	  ppV Uu. uF  qfR,          NK  	  ppV Uu. uF  p\        \        \        V4      4      NK  	  p	p\        WW\        P                  ! V	4      4      #   + '       g   i     L¡; iu upi u upi u upi )Ú T)Ú	delimiterÚskipinitialspaceN:é   NN)ÚopenÚosÚpathÚjoinr   Úbase_folderr   ÚcsvÚreaderÚmaprN   r   r=   Útensor)
rE   r<   r,   Úcsv_filer9   ÚheadersÚrowÚindicesrJ   Údata_ints
   &&&       r    r7   ÚCelebA._load_csv†   sæ   € ô
 ”"—'‘'—,‘,˜tŸy™y¨$×*:Ñ*:¸HÓE×FÔFÈ(ÜœŸ
š
 8°sÈTÔRÓSˆD÷ Gð ÒØ˜6•lˆGØ �
˜Ð%‰DàˆGá%)Ó*¡T˜c�q—6�6¡TˆÐ*Ù#'Ó(¡4˜C�B—�¡4ˆÐ(Ù/3Ó4©t¨!”DœœS !›Ö%©tˆÐ4ä�7¤U§\¢\°(Ó%;Ó<Ð<÷ G×Füò +ùÚ(ùÚ4s   Á#DÂDÂ(DÂ?"D ÄD	c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   )r   )r   r   s   "€r    r!   r"   š   s   ø€ ÷ 
\ñ 
\¡$ñ 
\r#   c                ó¸  € V P                    Fy  w  rp\        P                  P                  V P                  V P
                  V4      p\        P                  P                  V4      w  rVR9  g   Ke  \        WB4      '       d   Kx   R# 	  \        P                  P                  \        P                  P                  V P                  V P
                  R4      4      # )ú.zipFÚimg_align_celeba)rf   z.7z)	Ú	file_listrU   rV   rW   r   rX   Úsplitextr	   Úisdir)rE   Ú_Úmd5r<   ÚfpathÚexts   &     r    r5   ÚCelebA._check_integrityš   s“   € Ø $§¤ÑˆA�HÜ—G‘G—L‘L §¡¨D×,<Ñ,<¸hÓGˆEÜ—W‘W×%Ñ% hÓ/‰FˆAð ˜/Ö)´/À%×2MÔ2MÚñ !/ô �w‰w�}‰}œRŸW™WŸ\™\¨$¯)©)°T×5EÑ5EÐGYÓZÓ[Ð[r#   c                ó   <€ V ^8„  d   QhRR/# )r   r   N© )r   r   s   "€r    r!   r"   ¦   s   ø€ ÷ [ñ [˜$ñ [r#   c                ó\  € V P                  4       '       d   R # V P                   FE  w  rp\        V\        P                  P                  V P                  V P                  4      W24       KG  	  \        \        P                  P                  V P                  V P                  R4      4       R # )Núimg_align_celeba.zip)	r5   rh   r
   rU   rV   rW   r   rX   r   )rE   Úfile_idrl   r<   s   &   r    r   ÚCelebA.download¦   ss   € Ø× Ñ ×"Ò"Ùà&*§n¤nÑ"ˆG˜(Ü+¨G´R·W±W·\±\À$Ç)Á)ÈT×M]ÑM]Ó5^Ð`hÖnñ '5ô 	œŸ™Ÿ™ T§Y¡Y°×0@Ñ0@ÐBXÓYÖZr#   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[3,          /# )r   r;   r   )rN   Útupler   )r   r   s   "€r    r!   r"   ¯   s#   ø€ ÷ ñ ¡ð ©©s±C¨x­ñ r#   c           	     óZ  € \         P                  P                  \        P                  P                  V P                  V P                  R V P                  V,          4      4      p. pV P                   FÄ  pVR8X  d'   VP                  V P                  VR3,          4       K0  VR8X  d'   VP                  V P                  V^ 3,          4       K]  VR8X  d'   VP                  V P                  VR3,          4       KŠ  VR8X  d'   VP                  V P                  VR3,          4       K·  \        RV R24      h	  V P                   e   V P!                  V4      pV'       dG   \#        V4      ^8”  d   \%        V4      MV^ ,          pV P&                  e   V P'                  V4      pW#3# RpW#3# )	rg   rB   :NNNr?   r@   Ú	landmarkszTarget type "z" is not recognized.N)ÚPILÚImagerT   rU   rV   rW   r   rX   r<   r   ÚappendrB   r?   r@   rA   Ú
ValueErrorr   Úlenrw   r   )rE   r;   ÚXÚtargetÚts   &&   r    Ú__getitem__ÚCelebA.__getitem__¯   sY  € Ü�I‰I�N‰Nœ2Ÿ7™7Ÿ<™<¨¯	©	°4×3CÑ3CÐEWÐY]×YfÑYfÐglÕYmÓnÓoˆàˆØ×!Ô!ˆAØ�FŒ{Ø—‘˜dŸi™i¨¨q¨Õ1Ö2Ø�j”Ø—‘˜dŸm™m¨E°1¨HÕ5Ö6Ø�f”Ø—‘˜dŸi™i¨¨q¨Õ1Ö2Ø�kÔ!Ø—‘˜d×2Ñ2°5¸!°8Õ<Ö=ô ! =°°Ð3GÐ!HÓIÐIñ "ð �>‰>Ò%Ø—‘˜qÓ!ˆAçÜ&)¨&£k°A¤o”U˜6”]¸6À!½9ˆFà×$Ñ$Ò0Ø×.Ñ.¨vÓ6�ð ˆyÐð ˆFàˆyÐr#   c                ó    <€ V ^8„  d   QhRS[ /# rd   )rN   )r   r   s   "€r    r!   r"   Í   s   ø€ ÷ ñ ™ñ r#   c                ó,   € \        V P                  4      # ©N)r~   rB   )rE   s   &r    Ú__len__ÚCelebA.__len__Í   s   € Ü�4—9‘9‹~Ðr#   c                ó    <€ V ^8„  d   QhRS[ /# rd   )r   )r   r   s   "€r    r!   r"   Ð   s   ø€ ÷ 8ñ 8™Cñ 8r#   c                ó`   € R R.pRP                  V4      P                  ! R/ V P                  B # )zTarget type: {target_type}zSplit: {split}Ú
rq   )rW   r   Ú__dict__)rE   Úliness   & r    Ú
extra_reprÚCelebA.extra_reprÐ   s.   € Ø-Ð/?Ð@ˆØ�y‰y˜Ó×&Ò&Ñ7¨¯©Ñ7Ð7r#   )rB   rD   r@   r<   r?   rA   r   r   ))Ú0B7EVK8r0v71pZjFTYXZWM3FlRnMÚ 00d2c5bc6d35e252742224ab0c1e8fcbrs   )Ú0B7EVK8r0v71pblRyaVFSWGxPY0UÚ 75e246fa4810816ffd6ee81facbd244cr.   )z!1_ee_0u7vcNLOfNLegJRHmolfH5ICW-XSÚ 32bd1bd63d3c78cd57e08160ec5ed1e2r*   )Ú0B7EVK8r0v71pbThiMVRxWXZ4dU0Ú 00566efa6fedff7a56946cd1c10f1c16r+   )Ú0B7EVK8r0v71pd0FJY3Blby1HUTQÚ cc24ecafdb5b50baae59b03474781f8cr-   )Ú0B7EVK8r0v71pY0NSMzRuSXJEVkkÚ d32c9cbf5e040fd4025c592c306e6668r)   )r%   rB   NNFr†   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rX   rh   r2   r7   r5   r   r‚   r‡   rŽ   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)rK   r   s   @@r    r   r      si   ù‡ € ñ(ðT €Kò€I÷8&õ 8&÷t=ò =÷(
\ð 
\÷[ð [÷ð ÷<ð ÷8÷ 8ð 8r#   r   )r,   r;   r9   )rY   rU   Úcollectionsr   Úpathlibr   Útypingr   r   r   r   rz   r=   Úutilsr	   r
   r   r   Úvisionr   r   r   rq   r#   r    Ú<module>r¨      sA   ðÛ 
Û 	Ý "Ý ß 1Ó 1ã 
Û ç dÓ dÝ !á�Ò3Ó4€ôB8ˆ]ö B8r#   