
    2~hu                     0    d dl mZ dedefdZdedefdZy)    )Listnumberreturnc                     dt         dt        t           fd} ||       }|dd d   }|dd d   }d}|t        |      z  }|D ]  }|t         ||dz              z  } |dz  S )	Nnr   c                 P    t        |       D cg c]  }t        |       c}S c c}w )N)strint)r   ds     ^/var/www/peopleoo.sandbox-dev.co.uk/venv/lib/python3.12/site-packages/faker/utils/checksums.py	digits_ofz luhn_checksum.<locals>.digits_of   s     #A'1A'''s   #r      
   )floatr   r
   sum)r   r   digits
odd_digitseven_digitschecksumr   s          r   luhn_checksumr      s    (U (tCy ( vFBJR.KHJH *C	!a%())*b=    partial_numberc                 H    t        t        |       dz        }|dk(  r|S d|z
  S )z7
    Generates the Checksum using Luhn's algorithm
    r   r   )r   r
   )r   check_digits     r   calculate_luhnr      s/      N 3b 89K%*;@[0@@r   N)typingr   r   r
   r   r    r   r   <module>r       s1    % C A5 AS Ar   