ó
    tñ:iî  ã                   óÐ   • S r SSKrSSKJr  SSKJrJrJr  SSKJ	r	J
r
JrJr  SSKJr   " S S	\5      r\SSSS
SS.S\S\S\\   S\\   S\\   S\S\S\\\\4      4S jj5       rg)z4XGBoost Experimental Federated Learning related API.é    N)ÚThread)ÚAnyÚDictÚOptionalé   )Ú_LIBÚ_check_callÚ_deprecate_positional_argsÚmake_jcargs)ÚRabitTrackerc                   ól   • \ rS rSrSr\SSSSS.S\S\S\S	\\	   S
\\	   S\\	   S\SS4S jj5       r
Srg)ÚFederatedTrackeré   a·  Tracker for federated training.

Parameters
----------
n_workers :
    The number of federated workers.

port :
    The port to listen on.

secure :
    Whether this is a secure instance. If True, then the following arguments for SSL
    must be provided.

server_key_path :
    Path to the server private key file.

server_cert_path :
    Path to the server certificate file.

client_cert_path :
    Path to the client certificate file.

Né,  )Úserver_key_pathÚserver_cert_pathÚclient_cert_pathÚtimeoutÚ	n_workersÚportÚsecurer   r   r   r   Úreturnc                óÔ   • [         R                  " 5       n[        UUSUUUU[        U5      S9n	[	        [
        R                  " U	[         R                  " U5      5      5        X€l        g )NÚ	federated)r   r   Údmlc_communicatorÚfederated_securer   r   r   r   )	ÚctypesÚc_void_pr   Úintr	   r   ÚXGTrackerCreateÚbyrefÚhandle)
Úselfr   r   r   r   r   r   r   r"   Úargss
             ÚT/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/xgboost/federated.pyÚ__init__ÚFederatedTracker.__init__%   s[   € ô —’Ó"ˆÜØØØ)Ø#Ø+Ø-Ø-Ü˜“Lñ	
ˆô 	”D×(Ò(¨¬v¯|ª|¸FÓ/CÓDÔEØ�ó    )r"   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r
   r   Úboolr   Ústrr&   Ú__static_attributes__© r(   r%   r   r      sƒ   † ñð2  ð *.Ø*.Ø*.Øòàðð ðð
 ðð " #™ðð # 3™-ðð # 3™-ðð ðð 
ôó  ór(   r   Tr   )r   r   r   Úblockingr   r   r   r   r   r   r2   r   r   c          
      ó6  • SU 0n[        S X#U4 5       5      n[        U UUUUUUS9n	U	R                  5         U(       a  U	R                  5         g[	        U	R                  S9n
SU
l        U
R                  5         UR                  U	R                  5       5        U$ )a`  See :py:class:`~xgboost.federated.FederatedTracker` for more info.

Parameters
----------
blocking :
    Block the server until the training is finished. If set to False, the function
    launches an additional thread and returns the worker arguments. The default is
    True and a higher level framework is responsible for setting worker parameters.

r   c              3   ó*   #   • U  H	  nUS Lv •  M     g 7f)Nr1   )Ú.0Úpaths     r%   Ú	<genexpr>Ú'run_federated_server.<locals>.<genexpr>V   s   é € ð âIˆDð 	�DÕÚIùs   ‚)r   r   r   r   r   r   r   N)ÚtargetT)Úallr   ÚstartÚwait_forr   ÚdaemonÚupdateÚworker_args)r   r   r   r   r   r2   r   r$   r   ÚtrackerÚthreads              r%   Úrun_federated_serverrB   @   s£   € ð* (¨Ð3€DÜñ à$Ð8HÑIóó €Fô ØØØØØ'Ø)Ø)ñ€Gð ‡M�M„OæØ×ÑÔØä˜7×+Ñ+Ñ,€FØ€F„MØ
‡L�L„NØ‡K�K�×#Ñ#Ó%Ô&Ø€Kr(   )r-   r   Ú	threadingr   Útypingr   r   r   Úcorer   r	   r
   r   r@   r   r   r   r/   r.   rB   r1   r(   r%   Ú<module>rF      s´   ðÙ :ã Ý ß &Ñ &ç LÓ LÝ !ô2�|ô 2ðj ð
 &*Ø&*Ø&*ØØò,Øð,à
ð,ð ˜c‘]ð	,ð
 ˜s‘mð,ð ˜s‘mð,ð ð,ð ð,ð ˆd�3˜�8‰nÑô,ó ñ,r(   