
    h:                         S SK Jr  S SKrS SKJr  SrS\\\R                  4   S\\\	4   S\4S jr
SS	 jr " S
 S\5      rg)    )UnionN)OpRun)UOsplit_listspadding_requirementreturnc                    [        U [        5      (       a  U [        U5       Vs/ s H  nSPM     sn-   $ [        U [        R                  5      (       a  [        [        [        X5      5      $ [        S[        U 5       S35      es  snf )N zInvalid array type '')	
isinstancelistrangenpndarraymappad_empty_string	TypeErrortype)r   r   _s      \/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/op_string_split.pyr   r      sx     +t$$%0C*DE*DQb*DEEE+rzz**C(+KLL
*4+<*=Q?
@@ Fs   Bc                    [         R                  R                  U R                  [         R                  5      X5      n[         R
                  " [        [         R                  /S9" U5      n[         R                  " USS9U-
  R                  5       n[         R                  " [        X55      [        S9nU R                  S:X  a  UR                  " / U R                  QSP76 nXd4$ )N)otypesr   )initial)dtype)r   charsplitastypestr_	vectorizelenint64maxtolistarrayr   objectsizereshapeshape)x	separatormaxsplitr   
num_splitsr   split_lists_paddeds          r   split_with_paddingr/      s    ''-- 19GKc288*5kBJ66*a8:EMMO:& 	vv{/77DD!D))    c                       \ rS rSrSS jrSrg)StringSplit'   Nc                     US:X  a  S nUR                   R                  [        ;  a  [        SUR                    35      e[	        XU5      $ )Nr   z.Inputs must be string tensors, received dtype )r   kind_acceptable_str_dtypesr   r/   )selfr*   	delimiterr,   s       r   _runStringSplit._run(   sC    ?I77<<55LQWWIVWW!!99r0    NN)__name__
__module____qualname____firstlineno__r9   __static_attributes__r;   r0   r   r2   r2   '   s    :r0   r2   r<   )typingr   numpyr   onnx.reference.op_runr   r6   r   r   intr   r/   r2   r;   r0   r   <module>rF      s_      '# AtRZZ'(A?DT3Y?OA	A*:% :r0   