U §Ãq`=ã@sLddlmZmZmZddlmZddlmZm Z e   ¡Z dd„Z dd„Z dS) é)Úabsolute_importÚdivisionÚprint_function)Ú exceptions)ÚffiÚlibcCs,t d|¡}t ||¡t ||¡dd…S)zŒ Returns ``size`` number of random bytes from a cryptographically secure random source. :param size: int :rtype: bytes úunsigned char[]N)rÚnewrÚ randombytesÚbuffer)ÚsizeÚbuf©rú@/tmp/pip-target-nv4zd3e_/lib/python/nacl/bindings/randombytes.pyr s  r cCsDt|ƒtkrt d¡‚t d|¡}t |||¡t ||¡dd…S)z¢ Returns ``size`` number of deterministically generated pseudorandom bytes from a seed :param size: int :param seed: bytes :rtype: bytes z:Deterministic random bytes must be generated from 32 bytesrN) ÚlenÚrandombytes_SEEDBYTESÚexcÚ TypeErrorrr rÚrandombytes_buf_deterministicr )r Úseedr rrrr$s   rN)Ú __future__rrrZnaclrrZ nacl._sodiumrrZrandombytes_seedbytesrr rrrrrÚs