§
    šŠtj|9  ã                   ó¶   — d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
 d dlmZ d dlmZmZmZ d dlmZ dgZ e
dd	d
¬¦  «         G d„ dee¦  «        ¦   «         ZdS )é    )ÚPath)ÚAnyÚDictÚListÚOptionalÚSequenceÚUnion)Ú
deprecated)ÚDocument)Ú	BaseModelÚmodel_validatorÚ	validator)Ú
BaseLoaderz.https://www.googleapis.com/auth/drive.readonlyz0.0.32z1.0z,langchain_google_community.GoogleDriveLoader)ÚsinceÚremovalÚalternative_importc                   óJ  — e Zd ZU dZ ej        ¦   «         dz  dz  Zeed<   	  ej        ¦   «         dz  dz  Zeed<   	  ej        ¦   «         dz  dz  Z	eed<   	 d	Z
ee         ed
<   	 d	Zeee                  ed<   	 d	Zeee                  ed<   	 dZeed<   	 d	Zeee                  ed<   	 dZeed<   	 d	Zeed<   	 i Zedef         ed<   	  ed¬¦  «        edeeef         defd„¦   «         ¦   «         Z ed¦  «        dededefd„¦   «         Zdefd„Zdedee         fd„Z dedefd„Z!d	d œd
edeee                  dee         fd!„Z"d"ed
edeeee#eee         f         f                  fd#„Z$dee         fd$„Z%dedee         fd%„Z&dee         fd&„Z'dee         fd'„Z(d	S )(ÚGoogleDriveLoaderz%Load Google Docs from `Google Drive`.z.credentialsz	keys.jsonÚservice_account_keyzcredentials.jsonÚcredentials_pathz
token.jsonÚ
token_pathNÚ	folder_idÚdocument_idsÚfile_idsFÚ	recursiveÚ
file_typesÚload_trashed_filesÚfile_loader_clsÚstrÚfile_loader_kwargsÚbefore)ÚmodeÚvaluesÚreturnc           	      óÆ  ‡‡— |                      d¦  «        r9|                      d¦  «        s|                      d¦  «        rt          d¦  «        ‚|                      d¦  «        s9|                      d¦  «        s$|                      d¦  «        st          d¦  «        ‚|                      d¦  «        }|�r*|                      d¦  «        s|                      d¦  «        rt          d¦  «        ‚dd	d
dœŠt          ‰                     ¦   «         ¦  «        t          ‰                     ¦   «         ¦  «        z   }d                     d„ ‰                     ¦   «         D ¦   «         ¦  «        }d                     d„ ‰                     ¦   «         D ¦   «         ¦  «        }|D ]}||vrt          d|› d|› d|› �¦  «        ‚Œdt          dt          fˆfd„Šˆfd„|D ¦   «         |d<   |S )zDValidate that either folder_id or document_ids is set, but not both.r   r   r   zICannot specify both folder_id and document_ids nor folder_id and file_idsz8Must specify either folder_id, document_ids, or file_idsr   zdfile_types can only be given when folder_id is given, (not when document_ids or file_ids are given).ú$application/vnd.google-apps.documentú'application/vnd.google-apps.spreadsheetúapplication/pdf)ÚdocumentÚsheetÚpdfz, c                 ó   — g | ]}d |› d �‘Œ	S ©ú'© ©Ú.0Úxs     ún/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/document_loaders/googledrive.pyú
<listcomp>z5GoogleDriveLoader.validate_inputs.<locals>.<listcomp>V   s    € Ð$KÐ$KÐ$K°! X¨ X X XÐ$KÐ$KÐ$Kó    c                 ó   — g | ]}d |› d �‘Œ	S r-   r/   r0   s     r3   r4   z5GoogleDriveLoader.validate_inputs.<locals>.<listcomp>W   s    € Ð#LÐ#LÐ#L° H¨ H H HÐ#LÐ#LÐ#Lr5   zGiven file type z) is not supported. Supported values are: z; and their full-form names: r2   r$   c                 ó    •— | ‰v r‰|          n| S )Nr/   )r2   Útype_mappings    €r3   Ú	full_formz4GoogleDriveLoader.validate_inputs.<locals>.full_forma   s   ø€ Ø*+¨|Ð*;Ð*;�| A”�ÀÐBr5   c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS r/   r/   )r1   Ú	file_typer9   s     €r3   r4   z5GoogleDriveLoader.validate_inputs.<locals>.<listcomp>d   s#   ø€ Ð#UÐ#UÐ#U¸Y I I¨iÑ$8Ô$8Ð#UÐ#UÐ#Ur5   )ÚgetÚ
ValueErrorÚlistÚkeysr#   Újoinr   )	Úclsr#   r   Úallowed_typesÚshort_namesÚ
full_namesr;   r9   r8   s	          @@r3   Úvalidate_inputsz!GoogleDriveLoader.validate_inputs7   sb  øø€ ð �:Š:�kÑ"Ô"ð 	Ø�JŠJ�~Ñ&Ô&ð	Ø*0¯*ª*°ZÑ*@Ô*@ð	õ ð)ñô ð ð
 —
’
˜;Ñ'Ô'ð	Yà—J’J˜~Ñ.Ô.ð	Yð —J’J˜zÑ*Ô*ð	Yõ
 ÐWÑXÔXÐXà—Z’Z Ñ-Ô-ˆ
Øñ 	VØ�zŠz˜.Ñ)Ô)ð ¨V¯ZªZ¸
Ñ-CÔ-Cð Ý ðFñô ð ð
 CØBØ(ðð ˆLõ
 ! ×!2Ò!2Ñ!4Ô!4Ñ5Ô5½¸\×=PÒ=PÑ=RÔ=RÑ8SÔ8SÑSˆMØŸ)š)Ð$KÐ$K°|×7HÒ7HÑ7JÔ7JÐ$KÑ$KÔ$KÑLÔLˆKØŸšÐ#LÐ#L°l×6IÒ6IÑ6KÔ6KÐ#LÑ#LÔ#LÑMÔMˆJØ'ð ð �	Ø MÐ1Ð1Ý$ð?¨9ð ?ð ?Ø1<ð?ð ?à2<ð?ð ?ñô ð ð 2ðC�Sð C¥Sð Cð Cð Cð Cð Cð Cð $VÐ#UÐ#UÐ#UÈ*Ð#UÑ#UÔ#UˆF�<Ñ Øˆr5   ÚvÚkwargsc                 óT   — |                      ¦   «         st          d|› d�¦  «        ‚|S )z&Validate that credentials_path exists.zcredentials_path z does not exist)Úexistsr=   )rA   rF   rG   s      r3   Úvalidate_credentials_pathz+GoogleDriveLoader.validate_credentials_pathg   s4   € ð �xŠx‰zŒzð 	EÝÐC°ÐCÐCÐCÑDÔDÐDØˆr5   c                 ó¦  — 	 ddl m} ddlm} ddlm} ddlm} ddlm	} n# t          $ r t          d¦  «        ‚w xY wd}| j                             ¦   «         r3|j                             t          | j        ¦  «        t          ¬	¦  «        S | j                             ¦   «         r-|                     t          | j        ¦  «        t          ¦  «        }|r|j        sà|r,|j        r%|j        r|                      |¦   «         ¦  «         n\| j                             ¦   «         rC|                     t          | j        ¦  «        t          ¦  «        }|                     d¬
¦  «        }|rTt3          | j        d¦  «        5 }|                     |                     ¦   «         ¦  «         ddd¦  «         n# 1 swxY w Y   |s |t          ¬	¦  «        \  }}	|S )a?  Load credentials.
        The order of loading credentials:
        1. Service account key if file exists
        2. Token path (for OAuth Client) if file exists
        3. Credentials path (for OAuth Client) if file exists
        4. Default credentials. if no credentials found, raise DefaultCredentialsError
        r   )Údefault)ÚRequest)Úservice_account)ÚCredentials)ÚInstalledAppFlowz‡You must run `pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib` to use the Google Drive loader.N)Úscopes)ÚportÚw)Úgoogle.authrL   Úgoogle.auth.transport.requestsrM   Úgoogle.oauth2rN   Úgoogle.oauth2.credentialsrO   Úgoogle_auth_oauthlib.flowrP   ÚImportErrorr   rI   Úfrom_service_account_filer   ÚSCOPESr   Úfrom_authorized_user_fileÚvalidÚexpiredÚrefresh_tokenÚrefreshr   Úfrom_client_secrets_fileÚrun_local_serverÚopenÚwriteÚto_json)
ÚselfrL   rM   rN   rO   rP   ÚcredsÚflowÚtokenÚ_s
             r3   Ú_load_credentialsz#GoogleDriveLoader._load_credentialsn   sd  € ð	Ø+Ð+Ð+Ð+Ð+Ð+Ø>Ð>Ð>Ð>Ð>Ð>Ø5Ð5Ð5Ð5Ð5Ð5Ø=Ð=Ð=Ð=Ð=Ð=ØBÐBÐBÐBÐBÐBÐBøÝð 	ð 	ð 	Ýð2ñô ð ð	øøøð ˆàÔ#×*Ò*Ñ,Ô,ð 	Ø"Ô.×HÒHÝ�DÔ,Ñ-Ô-µfð Iñ ô ð ð
 Œ?×!Ò!Ñ#Ô#ð 	XØ×9Ò9½#¸d¼oÑ:NÔ:NÕPVÑWÔWˆEàð 
	1˜EœKð 
	1Øð 6˜œð 6¨5Ô+>ð 6Ø—’˜g˜g™iœiÑ(Ô(Ð(Ð(ØÔ&×-Ò-Ñ/Ô/ð 6Ø'×@Ò@Ý˜Ô-Ñ.Ô.µñô �ð ×-Ò-°1Ð-Ñ5Ô5�Øð 1Ý˜$œ/¨3Ñ/Ô/ð 1°5Ø—K’K §¢¡¤Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð ð 	.Ø�w¥fÐ-Ñ-Ô-‰HˆE�1àˆs   ‚! ¡;Å<(F0Æ0F4Æ7F4Úidc           	      óæ  — ddl m} |                      ¦   «         } |dd|¬¦  «        }|                     ¦   «                              |¬¦  «                             ¦   «         }|                     dg ¦  «        }g }|D �]r}|d         d         }	|                     ¦   «                              ¦   «                              ||	¬	¦  «                             ¦   «         }
|
                     d
g ¦  «        }|sŒw|d         }t          |dd…         d¬¦  «        D ]Ù\  }}d|› d|d         d         › �|d         d         › d|	› �|dœ}g }t          |¦  «        D ]`\  }}t          |¦  «        |k    r||          	                    ¦   «         nd}| 
                    |› d| 	                    ¦   «         › �¦  «         Œad                     |¦  «        }| 
                    t          ||¬¦  «        ¦  «         ŒÚ�Œt|S )z%Load a sheet and all tabs from an ID.r   ©ÚbuildÚsheetsÚv4©Úcredentials)ÚspreadsheetIdÚ
propertiesÚtitle)rt   Úranger#   é   N)Ústartz'https://docs.google.com/spreadsheets/d/z
/edit?gid=ÚsheetIdz - )Úsourcerv   ÚrowÚ z: ú
©Úpage_contentÚmetadata)Úgoogleapiclient.discoveryro   rk   Úspreadsheetsr<   Úexecuter#   Ú	enumerateÚlenÚstripÚappendr@   r   )rf   rl   ro   rg   Úsheets_serviceÚspreadsheetrp   Ú	documentsr*   Ú
sheet_nameÚresultr#   ÚheaderÚir|   r�   ÚcontentÚjrF   rv   r€   s                        r3   Ú_load_sheet_from_idz%GoogleDriveLoader._load_sheet_from_id£   s:  € ð 	4Ð3Ð3Ð3Ð3Ð3à×&Ò&Ñ(Ô(ˆØ˜˜x¨¸5ÐAÑAÔAˆØ$×1Ò1Ñ3Ô3×7Ò7ÀbÐ7ÑIÔI×QÒQÑSÔSˆØ—’ ¨2Ñ.Ô.ˆàˆ	Øð 	Yñ 	YˆEØ˜|Ô,¨WÔ5ˆJà×+Ò+Ñ-Ô-ß’‘”ß’ 2¨Z�Ñ8Ô8ß’‘”ð	 ð —Z’Z ¨"Ñ-Ô-ˆFØð Øà˜A”YˆFÝ# F¨1¨2¨2¤J°aÐ8Ñ8Ô8ð Yð Y‘��3ðEÀ"ð Eð EØ$)¨,Ô$7¸	Ô$BðEð Eð !,¨LÔ 9¸'Ô BÐSÐSÀzÐSÐSØðð �ð �Ý% c™NœNð <ð <‘D�A�qÝ14°V±´¸q²°˜F 1œIŸOšOÑ-Ô-Ð-Àb�EØ—N’N eÐ#:Ð#:¨q¯wªw©y¬yÐ#:Ð#:Ñ;Ô;Ð;Ð;à#Ÿyšy¨Ñ1Ô1�Ø× Ò ¥°|ÈhÐ!WÑ!WÔ!WÑXÔXÐXÐXñYð" Ðr5   c                 óT  — ddl m} ddlm} ddlm} ddlm} |                      ¦   «         } |dd|¬¦  «        }| 	                    ¦   «          
                    |d	d
¬¦  «                             ¦   «         }| 	                    ¦   «                              |d¬¦  «        }	 |¦   «         }
 ||
|	¦  «        }d}	 |du r|                     ¦   «         \  }}|du °ng# |$ r_}|j        j        dk    r#t!          d                     |¦  «        ¦  «         n"t!          d                     |¦  «        ¦  «         Y d}~nd}~ww xY w|
                     ¦   «                              d¦  «        }d|› d�| 
                    d¦  «        › | 
                    d¦  «        › dœ}t)          ||¬¦  «        S )zLoad a document from an ID.r   ©ÚBytesIOrn   )Ú	HttpError©ÚMediaIoBaseDownloadÚdriveÚv3rr   TzmodifiedTime,name)ÚfileIdÚsupportsAllDrivesÚfieldsz
text/plain)r›   ÚmimeTypeFi”  zFile not found: {}zAn error occurred: {}Nzutf-8z#https://docs.google.com/document/d/z/editÚnameÚmodifiedTime)r{   rv   Úwhenr   )Úior•   r‚   ro   Úgoogleapiclient.errorsr–   Úgoogleapiclient.httpr˜   rk   Úfilesr<   r„   Úexport_mediaÚ
next_chunkÚrespÚstatusÚprintÚformatÚgetvalueÚdecoder   )rf   rl   r•   ro   r–   r˜   rg   ÚserviceÚfileÚrequestÚfhÚ
downloaderÚdoner©   ÚeÚtextr�   s                    r3   Ú_load_document_from_idz(GoogleDriveLoader._load_document_from_idÎ   sõ  € àÐÐÐÐÐà3Ð3Ð3Ð3Ð3Ð3Ø4Ð4Ð4Ð4Ð4Ð4Ø<Ð<Ð<Ð<Ð<Ð<à×&Ò&Ñ(Ô(ˆØ�%˜ °5Ð9Ñ9Ô9ˆð �MŠM‰OŒOßŠS˜¨dÐ;NˆSÑOÔOßŠW‰YŒYð 	ð
 —-’-‘/”/×.Ò.°bÀ<Ð.ÑPÔPˆØˆW‰YŒYˆØ(Ð(¨¨WÑ5Ô5ˆ
Øˆð	9Ø˜%�-�-Ø)×4Ò4Ñ6Ô6‘�˜ð ˜%�-�-øøð ð 	9ð 	9ð 	9ØŒvŒ} Ò#Ð#ÝÐ*×1Ò1°"Ñ5Ô5Ñ6Ô6Ð6Ð6åÐ-×4Ò4°QÑ7Ô7Ñ8Ô8Ð8øøøøøøøøøð		9øøøð �{Š{‰}Œ}×#Ò# GÑ,Ô,ˆàE¸BÐEÐEÐEØŸš Ñ(Ô(Ð*Ø—x’x Ñ/Ô/Ð1ð
ð 
ˆõ
  T°HÐ=Ñ=Ô=Ð=s   Â9C ÃD=ÃAD8Ä8D=©r   c                óH  ‡— ddl m} |                      ¦   «         } |dd|¬¦  «        }|                      ||¦  «        }‰rˆfd„|D ¦   «         }n|}g }|D ]Ê}	|	d         r| j        sŒ|	d         d	k    r/|                     |                      |	d
         ¦  «        ¦  «         ŒM|	d         dk    r/|                     |                      |	d
         ¦  «        ¦  «         Œˆ|	d         dk    s| j	        �/|                     |  
                    |	d
         ¦  «        ¦  «         ŒÊŒË|S )zLoad documents from a folder.r   rn   r™   rš   rr   c                 ó(   •— g | ]}|d          ‰v ¯|‘ŒS )rž   r/   )r1   Úfr   s     €r3   r4   zAGoogleDriveLoader._load_documents_from_folder.<locals>.<listcomp>ÿ   s'   ø€ ÐFÐFÐF˜A¨!¨J¬-¸:Ð*EÐ*E�aÐ*EÐ*EÐ*Er5   Útrashedrž   r&   rl   r'   r(   )r‚   ro   rk   Ú_fetch_files_recursiver   rˆ   r¶   Úextendr’   r   Ú_load_file_from_id)
rf   r   r   ro   rg   r®   r¥   Ú_filesÚreturnsr¯   s
     `       r3   Ú_load_documents_from_folderz-GoogleDriveLoader._load_documents_from_folderô   sa  ø€ ð 	4Ð3Ð3Ð3Ð3Ð3à×&Ò&Ñ(Ô(ˆØ�%˜ °5Ð9Ñ9Ô9ˆØ×+Ò+¨G°YÑ?Ô?ˆàð 	ØFÐFÐFÐF ÐFÑFÔFˆFˆFàˆFàˆØð 	ð 	ˆDØ�IŒð  tÔ'>ð ØØ�jÔ!Ð%KÒKÐKØ—’˜t×:Ò:¸4À¼:ÑFÔFÑGÔGÐGÐGØ�jÔ!Ð%NÒNÐNØ—’˜t×7Ò7¸¸T¼
ÑCÔCÑDÔDÐDÐDà�ZÔ Ð$5Ò5Ð5ØÔ'Ð3à—’˜t×6Ò6°t¸D´zÑBÔBÑCÔCÐCÐCàØˆr5   r®   c                 ót  — |                      ¦   «                              d|› d�dddd¬¦  «                             ¦   «         }|                     dg ¦  «        }g }|D ]Z}|d         d	k    r7| j        r/|                     |                      ||d
         ¦  «        ¦  «         ŒE|                     |¦  «         Œ[|S )z+Fetch all files and subfolders recursively.r.   z' in parentsiè  Tz:nextPageToken, files(id, name, mimeType, parents, trashed))ÚqÚpageSizeÚincludeItemsFromAllDrivesrœ   r�   r¥   rž   z"application/vnd.google-apps.folderrl   )r¥   r>   r„   r<   r   r½   r¼   rˆ   )rf   r®   r   Úresultsr¥   rÀ   r¯   s          r3   r¼   z(GoogleDriveLoader._fetch_files_recursive  sÓ   € ð
 �MŠM‰OŒOßŠTØ-�iÐ-Ð-Ð-ØØ*.Ø"&ØSð ñ ô ÷ ŠW‰YŒYð 	ð —’˜G RÑ(Ô(ˆØˆØð 	%ð 	%ˆDØ�JÔÐ#GÒGÐGØ”>ð UØ—N’N 4×#>Ò#>¸wÈÈTÌ
Ñ#SÔ#SÑTÔTÐTøà—’˜tÑ$Ô$Ð$Ð$àˆr5   c                 óV   ‡ — ‰ j         st          d¦  «        ‚ˆ fd„‰ j         D ¦   «         S )z"Load documents from a list of IDs.zdocument_ids must be setc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r/   )r¶   )r1   Údoc_idrf   s     €r3   r4   z>GoogleDriveLoader._load_documents_from_ids.<locals>.<listcomp>3  s'   ø€ ÐTÐTÐT¸�×+Ò+¨FÑ3Ô3ÐTÐTÐTr5   )r   r=   ©rf   s   `r3   Ú_load_documents_from_idsz*GoogleDriveLoader._load_documents_from_ids.  s:   ø€ àÔ ð 	9ÝÐ7Ñ8Ô8Ð8àTÐTÐTÐTÀ$ÔBSÐTÑTÔTÐTr5   c                 ó@  ‡‡— ddl m} ddlm} ddlm} |                      ¦   «         } |dd|¬¦  «        }|                     ¦   «                              ‰d¬	¦  «         	                    ¦   «         Š|                     ¦   «          
                    ‰¬
¦  «        } |¦   «         } |||¦  «        }	d}
|
du r|	                     ¦   «         \  }}
|
du °| j        �y|                     d¦  «          | j        dd|i| j        ¤Ž}|                     ¦   «         }|D ]7}d‰› d�|j        d<   d|j        vr‰                     d¦  «        › |j        d<   Œ8|S ddlm} |                     ¦   «         } | ||¦  «        ¦  «        }ˆˆfd„t)          |j        ¦  «        D ¦   «         S )zLoad a file from an ID.r   r”   rn   r—   r™   rš   rr   T)r›   rœ   )r›   FNr¯   ú https://drive.google.com/file/d/ú/viewr{   rv   rŸ   )Ú	PdfReaderc           	      ó”   •— g | ]D\  }}t          |                     ¦   «         d ‰› d�‰                     d¦  «        › |dœ¬¦  «        ‘ŒES )rÍ   rÎ   rŸ   )r{   rv   Úpager   )r   Úextract_textr<   )r1   r�   rÑ   r¯   rl   s      €€r3   r4   z8GoogleDriveLoader._load_file_from_id.<locals>.<listcomp>W  sz   ø€ ð 
ð 
ð 
ñ �A�tõ Ø!%×!2Ò!2Ñ!4Ô!4à"NÀRÐ"NÐ"NÐ"NØ$(§H¢H¨VÑ$4Ô$4Ð!6Ø !ðð ðñ ô ð
ð 
ð 
r5   r/   )r¢   r•   r‚   ro   r¤   r˜   rk   r¥   r<   r„   Ú	get_mediar§   r   Úseekr    Úloadr�   ÚPyPDF2rÏ   r¬   r…   Úpages)rf   rl   r•   ro   r˜   rg   r®   r°   r±   r²   r³   r©   ÚloaderÚdocsÚdocrÏ   r�   Ú
pdf_readerr¯   s    `                @r3   r¾   z$GoogleDriveLoader._load_file_from_id5  s
  øø€ àÐÐÐÐÐà3Ð3Ð3Ð3Ð3Ð3Ø<Ð<Ð<Ð<Ð<Ð<à×&Ò&Ñ(Ô(ˆØ�%˜ °5Ð9Ñ9Ô9ˆà�}Š}‰Œ×"Ò"¨"ÀÐ"ÑEÔE×MÒMÑOÔOˆØ—-’-‘/”/×+Ò+°2Ð+Ñ6Ô6ˆØˆW‰YŒYˆØ(Ð(¨¨WÑ5Ô5ˆ
ØˆØ�eˆmˆmØ%×0Ò0Ñ2Ô2‰LˆF�Dð �eˆmˆmð ÔÐ+Ø�GŠG�A‰JŒJˆJØ)�TÔ)ÐMÐM¨rÐM°TÔ5LÐMÐMˆFØ—;’;‘=”=ˆDØð Bð B�Ø)UÈBÐ)UÐ)UÐ)U�”˜XÑ&Ø #¤,Ð.Ð.Ø/3¯xªx¸Ñ/?Ô/?Ð,A�C”L Ñ)øØˆKð )Ð(Ð(Ð(Ð(Ð(à—k’k‘m”mˆGØ"˜ 7 7¨7Ñ#3Ô#3Ñ4Ô4ˆJð
ð 
ð 
ð 
ð 
õ  )¨Ô)9Ñ:Ô:ð
ñ 
ô 
ð 
r5   c                 óš   — | j         st          d¦  «        ‚g }| j         D ]*}|                     |                      |¦  «        ¦  «         Œ+|S )zLoad files from a list of IDs.zfile_ids must be set)r   r=   r½   r¾   )rf   rÙ   Úfile_ids      r3   Ú_load_file_from_idsz%GoogleDriveLoader._load_file_from_idsc  sY   € àŒ}ð 	5ÝÐ3Ñ4Ô4Ð4ØˆØ”}ð 	:ð 	:ˆGØ�KŠK˜×/Ò/°Ñ8Ô8Ñ9Ô9Ð9Ð9Øˆr5   c                 ó°   — | j         r!|                      | j         | j        ¬¦  «        S | j        r|                      ¦   «         S |                      ¦   «         S )zLoad documents.r·   )r   rÁ   r   r   rË   rÞ   rÊ   s    r3   rÕ   zGoogleDriveLoader.loadl  sc   € àŒ>ð 	.Ø×3Ò3Ø”¨4¬?ð 4ñ ô ð ð Ôð 	.Ø×0Ò0Ñ2Ô2Ð2à×+Ò+Ñ-Ô-Ð-r5   ))Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úhomer   Ú__annotations__r   r   r   r   r   r   r   r   r   Úboolr   r   r   r   r   r    r   r   ÚclassmethodrE   r   rJ   rk   r   r’   r¶   rÁ   r	   r¼   rË   r¾   rÞ   rÕ   r/   r5   r3   r   r      sd  € € € € € € ð 0Ð/à ) ¤	¡¤¨nÑ <¸{Ñ JÐ˜ÐJÐJÑJØ/Ø&˜TœY™[œ[¨>Ñ9Ð<NÑNÐ�dÐNÐNÑNØ'Ø �t”y‘{”{ ^Ñ3°lÑB€J�ÐBÐBÑBØ!Ø#€Iˆx˜Œ}Ð#Ð#Ñ#Ø%Ø(,€L�(˜4 œ9Ô%Ð,Ð,Ñ,Ø(Ø$(€Hˆh�t˜C”yÔ!Ð(Ð(Ñ(Ø$Ø€IˆtÐÐÑØLØ*.€J�˜ #œÔ'Ð.Ð.Ñ.ØGØ$Ð˜Ð$Ð$Ñ$ØNð  €O�SÐÐÑØ'Ø+-Ð˜˜U C˜ZÔ(Ð-Ð-Ñ-Ø(à€_˜(Ð#Ñ#Ô#Øð, T¨#¨s¨(¤^ð ,¸ð ,ð ,ð ,ñ „[ñ $Ô#ð,ð\ €YÐ!Ñ"Ô"ð¨#ð ¸ð Àð ð ð ñ #Ô"ðð3 3ð 3ð 3ð 3ð 3ðj) cð )¨d°8¬nð )ð )ð )ð )ðV$>¨ð $>°ð $>ð $>ð $>ð $>ðN HLðð ð ØðØ-5°h¸s´mÔ-Dðà	ˆhŒðð ð ð ð@ØðØ'*ðà	ˆd�3˜˜c 4¨¤9˜nÔ-Ð-Ô.Ô	/ðð ð ð ð4U¨$¨x¬.ð Uð Uð Uð Uð, Sð ,¨T°(¬^ð ,ð ,ð ,ð ,ð\ T¨(¤^ð ð ð ð ð	.�d˜8”nð 	.ð 	.ð 	.ð 	.ð 	.ð 	.r5   r   N)Úpathlibr   Útypingr   r   r   r   r   r	   Úlangchain_core._api.deprecationr
   Úlangchain_core.documentsr   Úpydanticr   r   r   Ú)langchain_community.document_loaders.baser   r[   r   r/   r5   r3   ú<module>rî      s  ðð Ð Ð Ð Ð Ð Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø -Ð -Ð -Ð -Ð -Ð -Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :à @Ð @Ð @Ð @Ð @Ð @à
:Ð	;€ð €Ø
ØØEðñ ô ð
Z.ð Z.ð Z.ð Z.ð Z.˜
 Iñ Z.ô Z.ñô ð
Z.ð Z.ð Z.r5   