Ë
    u™ãjs  ã                   óò  — d dl m Z  d dlZd dlZd dlZd dlmZ d dlZd dl	m
Z d„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej2                  j5                  dddg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zej2                  j5                  ddddgfdd dgfg«      d„ «       Z d„ Z!d„ Z"ej2                  j5                  d g d!fg d"fg d#fg d$fg d%¢d!fg d%¢d$fg d%¢d#fg«      d&„ «       Z#d'„ Z$d(„ Z%d)„ Z&d*„ Z'd+„ Z(d,„ Z)ej2                  j5                  d-d.g d/¢fd0g d1¢fd2g d3¢fd4g d5¢fd6g d7¢fg«      d8„ «       Z*ej2                  j5                  d-d.d9d:ifd0d9d;ifd2d:d:d:d<œfd4d:d:d:d=œfd6d9d>ifg«      d?„ «       Z+d@„ Z,y)Aé    )ÚdatetimeN)Ú
ArrowDtypec                 óî   — t        j                  dt        j                  dg| ¬«      }t	        j
                  t        d¬«      5  |j                  j                  dd ¬«       d d d «       y # 1 sw Y   y xY w)NÚfooBAD__barBADÚfoo©Údtypezexpand must be True or False©Úmatchú.*(BAD[_]+).*(BAD)©Úexpand)	ÚpdÚSeriesÚnpÚnanÚpytestÚraisesÚ
ValueErrorÚstrÚextract)Úany_string_dtypeÚvaluess     úl/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/strings/test_extract.pyÚ+test_extract_expand_kwarg_wrong_type_raisesr      s[   € ä�Y‰YÐ(¬"¯&©&°%Ð8Ð@PÔQ€FÜ	�‰”zÐ)GÔ	Hñ >Ø�
‰
×ÑÐ/¸ÐÔ=÷>÷ >ñ >ús   ÁA+Á+A4c                 óž  — t        j                  dt        j                  dg| ¬«      }t        j                  dt        j                  t        j                  g| ¬«      }|j
                  j                  d«      }t        j                  ||«       |j
                  j                  dd¬«      }t        j                  ||«       t        j                  ddgt        j                  t        j                  gt        j                  t        j                  gg| ¬«      }|j
                  j                  d	d
¬«      }t        j                  ||«       y )Nr   r   r   ÚBAD__z.*(BAD[_]+).*Tr   ÚBADr   F)	r   r   r   r   Ú	DataFramer   r   ÚtmÚassert_frame_equal)r   ÚsÚexpectedÚresults       r   Útest_extract_expand_kwargr%      sê   € Ü
�	‰	Ð#¤R§V¡V¨UÐ3Ð;KÔL€AÜ�|‰|˜W¤b§f¡f¬b¯f©fÐ5Ð=MÔN€Hà�U‰U�]‰]˜?Ó+€FÜ×Ñ˜& (Ô+à�U‰U�]‰]˜?°4ˆ]Ó8€FÜ×Ñ˜& (Ô+ä�|‰|Ø
�5Ð	œBŸF™F¤B§F¡FÐ+¬b¯f©f´b·f±fÐ-=Ð>ÐFVô€Hð �U‰U�]‰]Ð/¸ˆ]Ó>€FÜ×Ñ˜& (Õ+ó    c                  ó¾  — t        j                  dt        j                  ddt	        ddd«      dd ddg	«      } | j
                  j                  dd	¬
«      }t        j                  t        j                  g}t        j                  ddg|ddg||||||g	t        ¬«      }t        j                  ||«       | j
                  j                  dd	¬
«      }t        j                  dt        j                  dt        j                  t        j                  t        j                  d t        j                  t        j                  g	t        ¬«      }t        j                  ||«       y )NÚaBAD_BADÚ	BAD_b_BADTéÛ  é   r   ç       @r   Fr   ÚBAD_r   r   z.*(BAD[_]+).*BAD)r   r   r   r   r   r   r   r   Úobjectr    r!   Úassert_series_equal)Úserr$   Úerr#   s       r   Ú&test_extract_expand_False_mixed_objectr2   %   s  € Ü
�)‰)àÜ�F‰FØØÜ�T˜1˜aÓ ØØØØð
	
ó€Cð �W‰W�_‰_Ð1¸%ˆ_Ó@€FÜ
�&‰&”"—&‘&Ð	€BÜ�|‰|Ø
�%ˆ˜"˜v u˜o¨r°2°r¸2¸rÀ2ÐFÌfô€Hô ×Ñ˜& (Ô+ð �W‰W�_‰_Ð/¸ˆ_Ó>€FÜ�y‰yØ	”—‘˜¤§¡¬¯©´·±¸¼r¿v¹vÄrÇvÁvÐNÜô€Hô ×Ñ˜6 8Õ,r&   c                  óÐ   — t        j                  g d¢«      } d}t        j                  t        |¬«      5  | j
                  j                  dd¬«       d d d «       y # 1 sw Y   y xY w)N)ÚA1ÚA2ÚA3ÚA4ÚB5z,only one regex group is supported with Indexr
   ú([AB])([123])Fr   )r   ÚIndexr   r   r   r   r   )ÚidxÚmsgs     r   Ú test_extract_expand_index_raisesr=   E   sO   € ô �(‰(Ò1Ó
2€CØ
8€CÜ	�‰”z¨Ô	-ñ 7Ø�‰�‰˜°ˆÔ6÷7÷ 7ñ 7ús   µAÁA%c                 óT  —  | g d¢|¬«      }d}t        j                  t        |¬«      5  |j                  j	                  dd¬«       d d d «       t        j                  t        |¬«      5  |j                  j	                  dd¬«       d d d «       y # 1 sw Y   ŒKxY w# 1 sw Y   y xY w)	N©r4   ÚB2ÚC3r   ú"pattern contains no capture groupsr
   ú
[ABC][123]Fr   ú
(?:[AB]).*©r   r   r   r   r   ©Úindex_or_seriesr   Ús_or_idxr<   s       r   Ú,test_extract_expand_no_capture_groups_raisesrI   O   s’   € ÙÒ1Ð9IÔJ€HØ
.€Cô 
�‰”z¨Ô	-ñ 9Ø�‰×Ñ˜\°%ÐÔ8÷9ô 
�‰”z¨Ô	-ñ 9Ø�‰×Ñ˜\°%ÐÔ8÷9ð 9÷	9ð 9ú÷9ð 9úó   ªBÁ+BÂBÂB'c                 óð   —  | ddg|¬«      }|j                   j                  dd¬«      } | ddgd|¬	«      }| t        j                  k(  rt	        j
                  ||«       y t	        j                  ||«       y )
Nr4   r5   r   ú(?P<uno>A)\dFr   ÚAÚuno©Únamer	   )r   r   r   r   r    r/   Úassert_index_equal©rG   r   rH   r$   r#   s        r   Ú(test_extract_expand_single_capture_grouprS   \   sk   € á  d˜|Ð3CÔD€HØ�\‰\×!Ñ! /¸%Ð!Ó@€Fá  S˜z°Ð=MÔN€HØœ"Ÿ)™)Ò#Ü
×Ñ˜v xÕ0ä
×Ñ˜f hÕ/r&   c                 ó@
  — t        j                  g d¢| ¬«      }|j                  j                  dd¬«      }t        j                  t        j
                  t        j
                  t        j
                  g| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  t        j
                  t        j
                  gt        j
                  t        j
                  gt        j
                  t        j
                  gg| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  dd	t        j
                  g| ¬«      }t        j                  ||«       |j                  j                  d
d¬«      }t        j                  ddgd	dgt        j
                  t        j
                  gg| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  dd	t        j
                  gd| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  ddgd	dgt        j
                  t        j
                  ggddg| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  ddgd	dgt        j
                  t        j
                  ggddg| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  dd	t        j
                  g| ¬«      }t        j                  ||«       t        j                  g d¢| ¬«      }|j                  j                  dd¬«      }t        j                  ddgd	dgt        j
                  t        j
                  gg| ¬«      }t        j                  ||«       t        j                  g d¢| ¬«      }|j                  j                  dd¬«      }t        j                  ddgd	dgt        j
                  dggddg| ¬«      }t        j                  ||«       t        j                  g d¢| ¬«      }|j                  j                  dd¬«      }t        j                  ddgd	dgdt        j
                  ggddg| ¬«      }t        j                  ||«       y )Nr?   r   ú(_)Fr   ú(_)(_)ú([AB])[123]rM   ÚBr9   Ú1Ú2ú(?P<letter>[AB])ÚletterrO   ú!(?P<letter>[AB])(?P<number>[123])Únumber©Úcolumnsr	   ú([AB])(?P<number>[123])r   ú([AB])(?:[123])©ÚA11ÚB22ÚC33ú([AB])([123])(?:[123])©r4   r@   Ú3ú"(?P<letter>[AB])?(?P<number>[123])ri   ©r4   r@   ÚCú#(?P<letter>[ABC])(?P<number>[123])?rl   )
r   r   r   r   r   r   r    r/   r   r!   ©r   r"   r$   r#   s       r   Ú"test_extract_expand_capture_groupsro   h   s  € Ü
�	‰	Ò$Ð,<Ô=€Aà�U‰U�]‰]˜5¨ˆ]Ó/€FÜ�y‰yœ"Ÿ&™&¤"§&¡&¬"¯&©&Ð1Ð9IÔJ€HÜ×Ñ˜6 8Ô,ð �U‰U�]‰]˜8¨Eˆ]Ó2€FÜ�|‰|Ü
�&‰&”"—&‘&Ð	œBŸF™F¤B§F¡FÐ+¬b¯f©f´b·f±fÐ-=Ð>ÐFVô€Hô ×Ñ˜& (Ô+ð �U‰U�]‰]˜=°ˆ]Ó7€FÜ�y‰y˜#˜s¤B§F¡FÐ+Ð3CÔD€HÜ×Ñ˜6 8Ô,ð �U‰U�]‰]˜?°5ˆ]Ó9€FÜ�|‰|Ø
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ð:Jô€Hô ×Ñ˜& (Ô+ð �U‰U�]‰]Ð-°eˆ]Ó<€FÜ�y‰y˜#˜s¤B§F¡FÐ+°(ÐBRÔS€HÜ×Ñ˜6 8Ô,ð �U‰U�]‰]Ð>Àuˆ]ÓM€FÜ�|‰|Ø
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Ô+ð �U‰U�]‰]Ð4¸Uˆ]ÓC€FÜ�|‰|Ø
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ø�H�Øô€Hô
 ×Ñ˜& (Ô+ð �U‰U�]‰]Ð,°Uˆ]Ó;€FÜ�y‰y˜#˜s¤B§F¡FÐ+Ð3CÔD€HÜ×Ñ˜6 8Ô,ô 	�	‰	Ò'Ð/?Ô@€AØ�U‰U�]‰]Ð3¸Eˆ]ÓB€FÜ�|‰|Ø
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ð:Jô€Hô ×Ñ˜& (Ô+ô 	�	‰	Ò#Ð+;Ô<€AØ�U‰U�]‰]Ð?Èˆ]ÓN€FÜ�|‰|Ø
ˆsˆ�c˜3�Z¤"§&¡&¨# Ð/Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Ô+ô 	�	‰	Ò#Ð+;Ô<€AØ�U‰U�]‰]Ð@Èˆ]ÓO€FÜ�|‰|Ø
ˆsˆ�c˜3�Z #¤r§v¡v Ð/Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Õ+r&   c                 ó   — g d¢}t        | «      dk(  rt        j                  d«       t        | «      t        |«      k  r)| j                  d«      } t        | «      t        |«      k  rŒ)| d t        |«       } t	        j
                  || |¬«      }|j                  j                  dd¬«      }t	        j
                  d	d
t        j                  g| |¬«      }t        j                  ||«       |j                  j                  dd¬«      }t	        j                  dd	gdd
gdt        j                  ggddg| |¬«      }t        j                  ||«       y )Nrk   r   zTest requires len(index) > 0é   ©Úindexr	   ú(\d)Fr   rY   rZ   ú(?P<letter>\D)(?P<number>\d)?rM   rX   rl   r\   r^   ©r`   rs   r	   )Úlenr   ÚskipÚrepeatr   r   r   r   r   r   r    r/   r   r!   )rs   r   Údatar0   r$   r#   s         r   Ú(test_extract_expand_capture_groups_indexr{   »   s  € ò €Dä
ˆ5ƒz�Q‚Ü�‰Ð2Ô3Ü
ˆe‹*”s˜4“yÒ
 Ø—‘˜Q“ˆô ˆe‹*”s˜4“yÓ
 ð �+”C˜“IÐ€EÜ
�)‰)�D Ð-=Ô
>€Cà�W‰W�_‰_˜W¨Uˆ_Ó3€FÜ�y‰y˜#˜s¤B§F¡FÐ+°5Ð@PÔQ€HÜ×Ñ˜6 8Ô,à�W‰W�_‰_Ð=Àeˆ_ÓL€FÜ�|‰|Ø
ˆsˆ�c˜3�Z #¤r§v¡v Ð/Ø˜8Ð$ØØô	€Hô ×Ñ˜& (Õ+r&   c                 óÒ   — t        j                  g d¢d| ¬«      }|j                  j                  dd¬«      }t        j                  g d¢d| ¬«      }t	        j
                  ||«       y )	N©Úa3Úb3Úc2ÚbobrO   z(?P<sue>[a-z])Fr   ©ÚaÚbÚcÚsue)r   r   r   r   r    r/   rn   s       r   Ú,test_extract_single_series_name_is_preservedr‡   Ö   sP   € Ü
�	‰	Ò$¨5Ð8HÔI€AØ�U‰U�]‰]Ð,°Uˆ]Ó;€FÜ�y‰yš¨uÐ<LÔM€HÜ×Ñ˜6 8Õ,r&   c                 ój  — t        j                  dt        j                  dg| ¬«      }|j                  j                  dd¬«      }t        j                  ddgt        j                  t        j                  gt        j                  t        j                  gg| ¬«      }t        j                  ||«       y )	Nr   r   r   r   Tr   r   r   )	r   r   r   r   r   r   r   r    r!   rn   s       r   Útest_extract_expand_Truer‰   Ý   s‚   € ä
�	‰	Ð#¤R§V¡V¨UÐ3Ð;KÔL€Aà�U‰U�]‰]Ð/¸ˆ]Ó=€FÜ�|‰|Ø
�5Ð	œBŸF™F¤B§F¡FÐ+¬b¯f©f´b·f±fÐ-=Ð>ÐFVô€Hô ×Ñ˜& (Õ+r&   c                  óh  — t         j                  t         j                  g} t        j                  dt         j                  ddt	        ddd«      dd ddg	«      }|j
                  j                  dd¬	«      }t        j                  d
dg| d
dg| | | | | | g	t        ¬«      }t        j                  ||«       y )Nr(   r)   Tr*   r+   r   r,   r   r   r-   r   r   )r   r   r   r   r   r   r   r   r.   r    r!   )r1   Úmixedr$   r#   s       r   Ú%test_extract_expand_True_mixed_objectrŒ   è   s«   € Ü
�&‰&”"—&‘&Ð	€BÜ�I‰IàÜ�F‰FØØÜ�T˜1˜aÓ ØØØØð
	
ó€Eð �Y‰Y×ÑÐ3¸DÐÓA€FÜ�|‰|Ø
�%ˆ˜"˜v u˜o¨r°2°r¸2¸rÀ2ÐFÌfô€Hô ×Ñ˜& (Õ+r&   c                 óT  —  | g d¢|¬«      }d}t        j                  t        |¬«      5  |j                  j	                  dd¬«       d d d «       t        j                  t        |¬«      5  |j                  j	                  dd¬«       d d d «       y # 1 sw Y   ŒKxY w# 1 sw Y   y xY w)	Nr?   r   rB   r
   rC   Tr   rD   rE   rF   s       r   Ú4test_extract_expand_True_single_capture_group_raisesrŽ   ÿ   s’   € ñ
 Ò1Ð9IÔJ€HØ
.€CÜ	�‰”z¨Ô	-ñ 8Ø�‰×Ñ˜\°$ÐÔ7÷8ô 
�‰”z¨Ô	-ñ 8Ø�‰×Ñ˜\°$ÐÔ7÷8ð 8÷	8ð 8ú÷8ð 8úrJ   c                 ó¸   —  | ddg|¬«      }|j                   j                  dd¬«      }t        j                  dddgi|¬«      }t	        j
                  ||«       y )	Nr4   r5   r   rL   Tr   rN   rM   )r   r   r   r   r    r!   rR   s        r   Ú-test_extract_expand_True_single_capture_groupr�     sV   € á  d˜|Ð3CÔD€HØ�\‰\×!Ñ! /¸$Ð!Ó?€FÜ�|‰|˜U S¨# JÐ/Ð7GÔH€HÜ×Ñ˜& (Õ+r&   rP   Úseries_namec                 ó@  — t        j                  g d¢| |¬«      }|j                  j                  dd¬«      }t        j                  t
        j                  t
        j                  t
        j                  g|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  t
        j                  t
        j                  gt
        j                  t
        j                  gt
        j                  t
        j                  gg|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  d	d
t
        j                  g|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  d	dgd
dgt
        j                  t
        j                  gg|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  dd	d
t
        j                  gi|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  d	dgd
dgt
        j                  t
        j                  ggddg|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  d	dgd
dgt
        j                  t
        j                  ggddg|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  d	d
t
        j                  g|¬«      }t        j                  ||«       y )Nr?   rO   rU   Tr   r   rV   rW   rM   rX   r9   rY   rZ   r[   r\   r]   r^   r_   ra   r   rb   ©	r   r   r   r   r   r   r   r    r!   )rP   r   r"   r$   r#   s        r   Útest_extract_seriesr”     sÂ  € ô 	�	‰	Ò$¨4Ð7GÔH€Að �U‰U�]‰]˜5¨ˆ]Ó.€FÜ�|‰|œRŸV™V¤R§V¡V¬R¯V©VÐ4Ð<LÔM€HÜ×Ñ˜& (Ô+ð �U‰U�]‰]˜8¨Dˆ]Ó1€FÜ�|‰|Ü
�&‰&”"—&‘&Ð	œBŸF™F¤B§F¡FÐ+¬b¯f©f´b·f±fÐ-=Ð>ÐFVô€Hô ×Ñ˜& (Ô+ð �U‰U�]‰]˜=°ˆ]Ó6€FÜ�|‰|˜S #¤r§v¡vÐ.Ð6FÔG€HÜ×Ñ˜& (Ô+ð �U‰U�]‰]˜?°4ˆ]Ó8€FÜ�|‰|Ø
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ð:Jô€Hô ×Ñ˜& (Ô+ð �U‰U�]‰]Ð-°dˆ]Ó;€FÜ�|‰|˜X¨¨S´"·&±&Ð'9Ð:ÐBRÔS€HÜ×Ñ˜& (Ô+ð �U‰U�]‰]Ð>Àtˆ]ÓL€FÜ�|‰|Ø
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Ô+ð �U‰U�]‰]Ð4¸Tˆ]ÓB€FÜ�|‰|Ø
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ø�H�Øô€Hô
 ×Ñ˜& (Ô+ð �U‰U�]‰]Ð,°Tˆ]Ó:€FÜ�|‰|˜S #¤r§v¡vÐ.Ð6FÔG€HÜ×Ñ˜& (Õ+r&   c                 ó  — t        j                  g d¢| ¬«      }|j                  j                  dd¬«      }t        j                  ddgdd	gt
        j                  t
        j                  gg| ¬«      }t        j                  ||«       t        j                  g d
¢| ¬«      }|j                  j                  dd¬«      }t        j                  ddgdd	gt
        j                  dggddg| ¬«      }t        j                  ||«       t        j                  g d¢| ¬«      }|j                  j                  dd¬«      }t        j                  ddgdd	gdt
        j                  ggddg| ¬«      }t        j                  ||«       y )Nrc   r   rg   Tr   rM   rY   rX   rZ   rh   rj   ri   r\   r^   r_   rk   rm   rl   r“   rn   s       r   Útest_extract_optional_groupsr–   P  sM  € ä
�	‰	Ò'Ð/?Ô@€AØ�U‰U�]‰]Ð3¸Dˆ]ÓA€FÜ�|‰|Ø
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ð:Jô€Hô ×Ñ˜& (Ô+ô 	�	‰	Ò#Ð+;Ô<€AØ�U‰U�]‰]Ð?Èˆ]ÓM€FÜ�|‰|Ø
ˆsˆ�c˜3�Z¤"§&¡&¨# Ð/Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Ô+ô 	�	‰	Ò#Ð+;Ô<€AØ�U‰U�]‰]Ð@Èˆ]ÓN€FÜ�|‰|Ø
ˆsˆ�c˜3�Z #¤r§v¡v Ð/Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Õ+r&   c                 óL  — g d¢}t        | «      t        |«      k  r"t        j                  dt        |«      › d�«       | d t        |«       } t        j                  || |¬«      }|j
                  j                  dd¬«      }t        j                  dd	t        j                  g| |¬«      }t        j                  ||«       |j
                  j                  d
d¬«      }t        j                  ddgdd	gdt        j                  ggddg| |¬«      }t        j                  ||«       y )Nrk   zIndex needs more than z valuesrr   rt   Tr   rY   rZ   ru   rM   rX   rl   r\   r^   rv   )rw   r   rx   r   r   r   r   r   r   r   r    r!   )rs   r   rz   r"   r$   r#   s         r   Ú+test_extract_dataframe_capture_groups_indexr˜   n  sù   € ò €Dä
ˆ5ƒz”C˜“IÒÜ�‰Ð,¬S°«Y¨K°wÐ?Ô@à�+”C˜“IÐ€EÜ
�	‰	�$˜eÐ+;Ô<€Aà�U‰U�]‰]˜7¨4ˆ]Ó0€FÜ�|‰|˜S #¤r§v¡vÐ.°eÐCSÔT€HÜ×Ñ˜& (Ô+à�U‰U�]‰]Ð;ÀDˆ]ÓI€FÜ�|‰|Ø
ˆsˆ�c˜3�Z #¤r§v¡v Ð/Ø˜8Ð$ØØô	€Hô ×Ñ˜& (Õ+r&   c                 óÔ   — t        j                  g d¢d| ¬«      }|j                  j                  dd¬«      }t        j                  dg d¢i| ¬	«      }t        j                  ||«       y )
Nr}   r‘   rO   ú(?P<letter>[a-z])Tr   r\   r‚   r   )r   r   r   r   r   r    r!   rn   s       r   Ú'test_extract_single_group_returns_framer›   ˆ  sU   € ô 	�	‰	Ò$¨=Ð@PÔQ€AØ�U‰U�]‰]Ð/¸ˆ]Ó=€FÜ�|‰|˜X¢Ð7Ð?OÔP€HÜ×Ñ˜& (Õ+r&   c                 óî  — dddddt         j                  dg}g d¢}d}g d	¢}t        j                  || ¬
«      }t        j                  j                  g d¢d¬«      }t        j                  |||| ¬
«      }|j                  j                  |t        j                  ¬«      }t        j                  ||«       t        j                  j                  g d¢«      }	t        j                  ||	| ¬«      }t        j                  j                  g d¢d¬«      }t        j                  |||| ¬
«      }|j                  j                  |t        j                  ¬«      }t        j                  ||«       t        j                  ||	| ¬«      }d|j                  _        d|_        t        j                  |||| ¬
«      }|j                  j                  |t        j                  ¬«      }t        j                  ||«       y )Nzdave@google.comztdhock5@gmail.comzmaudelaperriere@gmail.comz'rob@gmail.com some text steve@gmail.comz%a@b.com some text c@d.com and e@f.comÚ ))ÚdaveÚgoogleÚcom)Útdhock5Úgmailr    )Úmaudelaperrierer¢   r    )Úrobr¢   r    )Ústever¢   r    )rƒ   r„   r    )r…   Údr    )ÚeÚfr    zY
    (?P<user>[a-z0-9]+)
    @
    (?P<domain>[a-z]+)
    \.
    (?P<tld>[a-z]{2,4})
    )ÚuserÚdomainÚtldr   )©r   r   ©r+   r   ©rq   r   )é   r   )r¯   r+   )é   r   )r°   r+   )r°   rq   ©Nr   ©Únames)Úflags))ÚsingleÚDave)rµ   ÚToby)rµ   ÚMaude)ÚmultipleÚrobAndSteve)r¹   Úabcdef)ÚnoneÚmissing)r¼   Úemptyrr   ))rµ   r¶   r   )rµ   r·   r   )rµ   r¸   r   )r¹   rº   r   )r¹   rº   r+   )r¹   r»   r   )r¹   r»   r+   )r¹   r»   rq   )NNr   )ÚmatchesÚdescription)r¿   rÀ   r   )r   r   r   r   Ú
MultiIndexÚfrom_tuplesr   r   Ú
extractallÚreÚVERBOSEr    r!   rs   r³   )
r   rz   Úexpected_tuplesÚpatÚexpected_columnsr"   Úexpected_indexr#   r$   Úmis
             r   Útest_extractallrË   ’  sÁ  € àØØ#Ø1Ø/Ü
�‰Ø
ð€Dò	€Oð€Cò 1ÐÜ
�	‰	�$Ð.Ô/€Aô —]‘]×.Ñ.ÚHØð /ó €Nô �|‰|Ø˜Ð)9ÐAQô€Hð �U‰U×Ñ˜c¬¯©ÐÓ4€FÜ×Ñ˜& (Ô+ô 
�‰×	"Ñ	"ò	
ó

€Bô 	�	‰	�$˜bÐ(8Ô9€AÜ—]‘]×.Ñ.ò		
ð $ð /ó €Nô �|‰|Ø˜Ð)9ÐAQô€Hð �U‰U×Ñ˜c¬¯©ÐÓ4€FÜ×Ñ˜& (Ô+ô 	�	‰	�$˜bÐ(8Ô9€AØ.€A‡G�G„MØ>€NÔÜ�|‰|Ø˜Ð)9ÐAQô€Hð �U‰U×Ñ˜c¬¯©ÐÓ4€FÜ×Ñ˜& (Õ+r&   zpat,expected_namesrj   r\   r^   z([AB])?(?P<number>[123])c                 óR  — t        j                  g d¢|¬«      }|j                  j                  | «      }t        j                  dt
        j                  dft
        j                  dfgt         j                  j                  g d¢d¬«      ||¬	«      }t        j                  ||«       y )
N)r�   r4   Ú32r   )rM   rY   ri   rZ   )r­   r®   ©rq   r+   r±   r²   )rs   r`   r	   )r   r   r   rÃ   r   r   r   rÁ   rÂ   r    r!   )rÇ   Úexpected_namesr   r"   r$   r#   s         r   Útest_extractall_column_namesrÐ   ç  sˆ   € ô 	�	‰	Ò"Ð*:Ô;€Aà�U‰U×Ñ˜cÓ"€FÜ�|‰|Ø	”b—f‘f˜c�]¤R§V¡V¨S MÐ2Ü�m‰m×'Ñ'Ú$¨Oð (ó 
ð Øô€Hô ×Ñ˜& (Õ+r&   c                 ó®  — t        j                  g d¢d| ¬«      }t         j                  j                  g d¢d¬«      }|j                  j                  d«      }t        j                  dg d	¢i|| ¬
«      }t        j                  ||«       |j                  j                  d«      }t        j                  g d	¢|| ¬
«      }t        j                  ||«       y )N©r~   r   Úd4c2r‘   rO   ©r¬   r­   r®   rÎ   r±   r²   rš   r\   )rƒ   r„   r¦   r…   rr   ú([a-z]))	r   r   rÁ   rÂ   r   rÃ   r   r    r!   )r   r"   rÉ   r$   r#   s        r   Útest_extractall_single_grouprÖ   ÿ  s·   € Ü
�	‰	Ò&¨]ÐBRÔS€AÜ—]‘]×.Ñ.Ú(°ð /ó €Nð
 �U‰U×ÑÐ2Ó3€FÜ�|‰|Ø	Ò'Ð(°ÐFVô€Hô ×Ñ˜& (Ô+ð �U‰U×Ñ˜jÓ)€FÜ�|‰|Ú NÐ:Jô€Hô ×Ñ˜& (Õ+r&   c                 ó  — t        j                  g d¢d| ¬«      }|j                  j                  d«      }t        j                  g d¢t         j
                  j                  g d¢d¬«      | ¬	«      }t        j                  ||«       y )
N)Úab3Úabc3Úd4cd2r‘   rO   z([a-z]+))ÚabÚabcr¦   ÚcdrÔ   r±   r²   rr   )	r   r   r   rÃ   r   rÁ   rÂ   r    r!   rn   s       r   Ú,test_extractall_single_group_with_quantifierrÞ     sp   € ô 	�	‰	Ò*°ÐFVÔW€AØ�U‰U×Ñ˜kÓ*€FÜ�|‰|Ú Ü�m‰m×'Ñ'Ú,°Oð (ó 
ð ô€Hô ×Ñ˜& (Õ+r&   zdata, names)N)Úi1)NÚi2)rß   rà   rÒ   c                 óx  ‡	— t        | «      Š	t        |«      dk(  r$t        j                  t        ‰	«      |d   ¬«      }n5ˆ	fd„t        ‰	«      D «       }t        j                  j                  ||¬«      }t        j                  | d||¬«      }t        j                  j                  g g |¢d‘­¬«      }|j                  j                  d	«      }t        j                  t        d«      ||¬
«      }t        j                  ||d¬«       |j                  j                  d«      }t        j                  t        d«      ||¬
«      }t        j                  ||d¬«       |j                  j                  d«      }t        j                  dg||¬
«      }t        j                  ||«       |j                  j                  d«      }t        j                  ddg||¬
«      }t        j                  ||«       |j                  j                  d«      }t        j                  ddg||¬
«      }t        j                  ||«       y )Nr+   r   ©rP   c              3   óB   •K  — | ]  }t        |g‰d z
  z  «      –— Œ y­w)r+   N)Útuple)Ú.0ÚiÚns     €r   ú	<genexpr>z-test_extractall_no_matches.<locals>.<genexpr>6  s    øè ø€ Ò9¨1”%˜˜˜q 1™u™×&Ñ9ùs   ƒr²   r‘   ©rP   rs   r	   r   z(z)rv   T)Úcheck_column_typez(z)(z)rq   z(?P<first>z)Úfirstz(?P<first>z)(?P<second>z)Úsecondz(z)(?P<second>z))rw   r   r:   ÚrangerÁ   rÂ   r   r   rÃ   r   r    r!   )
rz   r³   r   rs   Útuplesr"   rÉ   r$   r#   rç   s
            @r   Útest_extractall_no_matchesrï   $  sà  ø€ ô 	ˆD‹	€AÜ
ˆ5ƒz�Q‚Ü—‘œ˜q›¨¨a©Ô1‰ã9´°a³Ô9ˆÜ—‘×)Ñ)¨&¸Ð)Ó>ˆÜ
�	‰	�$˜]°%Ð?OÔP€AÜ—]‘]×.Ñ.¨rÐ:K¸EÐ:KÀ7Ñ:KÐ.ÓM€Nð �U‰U×Ñ˜eÓ$€FÜ�|‰|Ü�a“ Ð6Fô€Hô ×Ñ˜& (¸dÕCð �U‰U×Ñ˜hÓ'€FÜ�|‰|Ü�a“ Ð6Fô€Hô ×Ñ˜& (¸dÕCð �U‰U×Ñ˜nÓ-€FÜ�|‰|Ø�	 Ð7Gô€Hô ×Ñ˜& (Ô+ð �U‰U×ÑÐ9Ó:€FÜ�|‰|Ø˜(Ð#¨>ÐAQô€Hô ×Ñ˜& (Ô+ð �U‰U×ÑÐ0Ó1€FÜ�|‰|Ø�H� ^Ð;Kô€Hô ×Ñ˜& (Õ+r&   c                 óH  — t        j                  g d¢d| ¬«      }|j                  j                  d«      }t        j                  dg d¢it         j
                  j                  g d¢d dg¬	«      | ¬
«      }t        j                  ||«       | dk(  rqt        j                  g d¢t        ¬«      t        j                  g d¢dt        ¬«      fD ]3  }|j                  j                  d«      }t        j                  ||«       Œ5 t        j                  g d¢dt        j                  g d¢d¬«      | ¬«      }|j                  j                  d«      }t        j                  dg d¢it         j
                  j                  g d¢ddg¬	«      | ¬
«      }t        j                  ||«       y )N)Úa1a2Úb1Úc1ÚxxxrO   z[ab](?P<digit>\d)Údigit)rY   rZ   rY   ©r¬   ©r   r+   r­   r   r²   rr   r.   r   Ús_name)ÚXXÚyyÚzzÚidx_namerâ   ré   ))rù   r   )rù   r+   )rú   r   )r   r   r   rÃ   r   rÁ   rÂ   r    r!   r:   r.   )r   r"   r$   r#   r;   s        r   Útest_extractall_stringindexrý   _  sg  € Ü
�	‰	Ò&¨UÐ:JÔK€AØ�U‰U×ÑÐ2Ó3€FÜ�|‰|Ø	’/Ð"Ü�m‰m×'Ñ'Ú$¨T°7¨Oð (ó 
ð ô€Hô ×Ñ˜& (Ô+ð ˜8Ò#ä�H‰HÒ)´Ô8Ü�H‰HÒ)°¼VÔDð
ò 	4ˆCð —W‘W×'Ñ'Ð(<Ó=ˆFÜ×!Ñ! &¨(Õ3ð	4ô 	�	‰	ÚØÜ�h‰hÒ)°
Ô;Øô		€Að �U‰U×ÑÐ2Ó3€FÜ�|‰|Ø	’/Ð"Ü�m‰m×'Ñ'Ú-°jÀ'Ð5Jð (ó 
ð ô€Hô ×Ñ˜& (Õ+r&   c                 óÎ   — t        j                  g d¢d| ¬«      }t        j                  t        d¬«      5  |j
                  j                  d«       d d d «       y # 1 sw Y   y xY w)NrÒ   r‘   rO   zno capture groupsr
   z[a-z])r   r   r   r   r   r   rÃ   )r   r"   s     r   Ú(test_extractall_no_capture_groups_raisesrÿ   †  sN   € ô 	�	‰	Ò&¨]ÐBRÔS€AÜ	�‰”zÐ)<Ô	=ñ #Ø	�‰×Ñ˜Ô"÷#÷ #ñ #ús   ¶AÁA$c                  ó˜  — t        j                  g d¢g d¢d¬«      } | j                  j                  j	                  dd¬«      }t        j
                  g d¢«      }t        j                  ||«       | j                  j                  j	                  d	d¬«      }g d
¢}t        j
                  |ddg¬«      }t        j                  ||«       y )NrÒ   )r6   ÚB3ÚD4r‘   )rs   rP   z([A-Z])Tr   )rM   rX   ÚDz!(?P<letter>[A-Z])(?P<digit>[0-9])))rM   ri   )rX   ri   )r  Ú4r\   rõ   )r`   )r   r   rs   r   r   r   r    r!   )r"   Úrr§   Úe_lists       r   Ú!test_extract_index_one_two_groupsr  Ž  s›   € Ü
�	‰	Ò&Ò.@À}ÔU€AØ	�‰�‰×Ñ˜J¨tÐÓ4€AÜ
�‰’_Ó%€AÜ×Ñ˜!˜QÔð
 	
�‰�‰×ÑÐ@ÈÐÓN€AÚ1€FÜ
�‰�V h°Ð%8Ô9€AÜ×Ñ˜!˜QÕr&   c                 óP  — t        j                  g d¢d| ¬«      }d}|j                  j                  |d¬«      }|j                  j	                  |«      }|j                  dd¬	«      }t        j                  ||«       d
}|j                  j                  |d¬«      }|j                  j	                  |«      }|j                  dd¬	«      }t        j                  ||«       d}|j                  j                  |d¬«      }	|j                  j	                  |«      }|j                  dd¬	«      }t        j                  |	|«       d}
|j                  j                  |
d¬«      }|j                  j	                  |
«      }|j                  dd¬	«      }t        j                  ||«       y )Nr}   r‘   rO   ú([a-z])([0-9])Tr   r   r   ©Úlevelú!(?P<letter>[a-z])(?P<digit>[0-9])ú(?P<group_name>[a-z])rÕ   )r   r   r   r   rÃ   Úxsr    r!   )r   r"   Úpattern_two_nonameÚextract_two_nonameÚhas_multi_indexÚno_multi_indexÚpattern_two_namedÚextract_two_namedÚpattern_one_namedÚextract_one_namedÚpattern_one_nonameÚextract_one_nonames               r   Útest_extractall_same_as_extractr  �  sz  € Ü
�	‰	Ò$¨=Ð@PÔQ€Aà*ÐØŸ™Ÿ™Ð'9À$˜ÓGÐØ—e‘e×&Ñ&Ð'9Ó:€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ,¨nÔ=à<ÐØŸ™Ÿ™Ð&7À˜ÓEÐØ—e‘e×&Ñ&Ð'8Ó9€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ+¨^Ô<à0ÐØŸ™Ÿ™Ð&7À˜ÓEÐØ—e‘e×&Ñ&Ð'8Ó9€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ+¨^Ô<à#ÐØŸ™Ÿ™Ð'9À$˜ÓGÐØ—e‘e×&Ñ&Ð'9Ó:€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ,¨nÕ=r&   c                 ó˜  — t         j                  j                  g d¢d¬«      }t        j                  g d¢|d| ¬«      }d}|j                  j                  |d¬	«      }|j                  j                  |«      }|j                  d
d¬«      }t        j                  ||«       d}|j                  j                  |d¬	«      }|j                  j                  |«      }|j                  d
d¬«      }t        j                  ||«       d}	|j                  j                  |	d¬	«      }
|j                  j                  |	«      }|j                  d
d¬«      }t        j                  |
|«       d}|j                  j                  |d¬	«      }|j                  j                  |«      }|j                  d
d¬«      }t        j                  ||«       y )N))rM   rë   )rX   rì   )rl   Úthird)ÚcapitalÚordinalr²   r}   r‘   )rs   rP   r	   r	  Tr   r   r   r
  r  r  rÕ   )
r   rÁ   rÂ   r   r   r   rÃ   r  r    r!   )r   rÊ   r"   r  r  Úhas_match_indexÚno_match_indexr  r  r  r  r  r  s                r   Ú-test_extractall_same_as_extract_subject_indexr   ¹  s¡  € ä	�‰×	"Ñ	"Ú9Ø$ð 
#ó 
€Bô 	�	‰	Ú "¨=Ð@Pô	€Að +ÐØŸ™Ÿ™Ð'9À$˜ÓGÐØ—e‘e×&Ñ&Ð'9Ó:€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ,¨nÔ=à<ÐØŸ™Ÿ™Ð&7À˜ÓEÐØ—e‘e×&Ñ&Ð'8Ó9€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ+¨^Ô<à0ÐØŸ™Ÿ™Ð&7À˜ÓEÐØ—e‘e×&Ñ&Ð'8Ó9€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ+¨^Ô<à#ÐØŸ™Ÿ™Ð'9À$˜ÓGÐØ—e‘e×&Ñ&Ð'9Ó:€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ,¨nÕ=r&   c                  óè   — t        j                  d«      } t        j                  ddgt	        | j                  «       «      ¬«      j                  j                  d«      }|j                  d   dk(  sJ ‚y )NÚpyarrowrÜ   rÛ   r   ú(ab)r   zstring[pyarrow])	r   Úimportorskipr   r   r   Ústringr   rÃ   Údtypes)Úpar$   s     r   Útest_extractall_preserves_dtyper(  Ü  sa   € ô 
×	Ñ	˜YÓ	'€Bä�Y‰Y˜˜t�}¬J°r·y±y³{Ó,CÔD×HÑH×SÑSØó€Fð �=‰=˜ÑÐ0Ò0Ð0Ñ0r&   zpat, expected_dataz(a(?=b)))Nrƒ   NNz	((?<=a)b))Nr„   NNz(a(?!b)))rƒ   Nrƒ   Nz	((?<!b)a))rƒ   rƒ   NNr#  )NrÛ   NNc                 ó(  — t        j                  g d¢| ¬«      }|j                  j                  |d¬«      }| dk(  r!|D �cg c]  }|€t        j
                  n|‘Œ }}t        j                  g |¢d ‘| ¬«      }t        j                  ||«       y c c}w )N©ÚaarÛ   ÚbaÚbbNr   Fr   r.   )r   r   r   r   r   r   r    r/   )r   rÇ   Úexpected_datar0   r$   r§   r#   s          r   Útest_extract_lookaroundsr/  ç  s†   € ô �)‰)Ò2Ð:JÔ
K€CØ�W‰W�_‰_˜S¨ˆ_Ó/€FØ˜8Ò#à=JÖK¸ 1 9œŸš°!Ñ3ÐKˆÐKÜ�y‰yÐ/˜=Ð/¨$Ð/Ð7GÔH€HÜ×Ñ˜6 8Õ,ùò Ls   Á Br­   rƒ   r„   )r¬   r÷   r®   rö   rÛ   c                 ó  — t        j                  g d¢| ¬«      }|j                  j                  |«      }t        j                  || ¬«      j	                  «       }d dg|j
                  _        t        j                  ||«       y )Nr*  r   r   )	r   r   r   rÃ   Úto_framers   r³   r    r!   )r   rÇ   r.  r0   r$   r#   s         r   Útest_extractall_lookaroundsr2  ü  sd   € ô �)‰)Ò2Ð:JÔ
K€CØ�W‰W×Ñ Ó$€FÜ�y‰y˜Ð.>Ô?×HÑHÓJ€HØ  '˜?€H‡N�NÔÜ×Ñ˜& (Õ+r&   c                 óî  — t        j                  g d¢| ¬«      }|j                  j                  d«      }t        j                  dt        j
                  dg| ¬«      j                  «       }t        j                  ||«       |j                  j                  d«      }t        j                  dt        j
                  t        j
                  g| ¬«      j                  «       }t        j                  ||«       t        j                  g d¢| ¬«      }|j                  j                  d«      }t        j                  dt        j
                  dg| ¬«      j                  «       }t        j                  ||«       y )	N)r+  rÜ   zbb
r   z([ab]+)$r+  r-  z	([ab]+)\Z)zaa\ZrÜ   zbb\Z
z
([ab]+)\\Z)	r   r   r   r   r   r   r1  r    r!   )r   r0   r$   r#   s       r   Útest_extract_end_of_stringr4    s  € ä
�)‰)Ò)Ð1AÔ
B€Cð �W‰W�_‰_˜ZÓ(€FÜ�y‰y˜$¤§¡¨Ð-Ð5EÔF×OÑOÓQ€HÜ×Ñ˜& (Ô+ð �W‰W�_‰_˜\Ó*€FÜ�y‰y˜$¤§¡¬¯©Ð/Ð7GÔH×QÑQÓS€HÜ×Ñ˜& (Ô+ô �)‰)Ò/Ð7GÔ
H€CØ�W‰W�_‰_˜]Ó+€FÜ�y‰y˜$¤§¡¨Ð-Ð5EÔF×OÑOÓQ€HÜ×Ñ˜& (Õ+r&   )-r   rÄ   Únumpyr   r   Úpandas.core.dtypes.dtypesr   Úpandasr   Úpandas._testingÚ_testingr    r   r%   r2   r=   rI   rS   ro   r{   r‡   r‰   rŒ   rŽ   r�   ÚmarkÚparametrizer”   r–   r˜   r›   rË   rÐ   rÖ   rÞ   rï   rý   rÿ   r  r  r   r(  r/  r2  r4  © r&   r   ú<module>r=     s;  ðÝ Û 	ã Û å 0ã Ý ò>ò,ò"-ò@7ò
9ò	0òP,òf,ò6-ò,ò,ò.8ò,ð ‡�×Ñ˜ $¨Ð!6Ó7ñ6,ó 8ð6,òr,ò<,ò4,òR,ðj ‡�×ÑØð 
.°¸(Ð/CÐDà	# a¨ ]Ð3ð	óñ,óð,ò,ò*,ð  ‡�×ÑØà	ˆWˆØ	ˆWˆØ	ˆ\ÐØ	ˆ\ÐÚ	˜wÐ'Ú	˜|Ð,Ú	˜|Ð,ðóñ,,óð,,ò^$,òN#ò ò>ò8 >òF1ð ‡�×ÑØà	Ò-Ð.Ø	Ò.Ð/Ø	Ò,Ð-Ø	Ò-Ð.Ø	Ò)Ð*ðó	ñ-ó	ð-ð ‡�×ÑØà	�v˜s�mÐ$Ø	˜ �}Ð%Ø	˜s¨C¸Ñ=Ð>Ø	 ¨S¸#Ñ>Ð?Ø	�&˜$�Ð ðó	ñ,ó	ð,ó,r&   