Ë
    öU.jî£  ã                   ó¸  — d Z ddlZddlZddlZddlZddlmZ ddlZddl	m
Z
mZmZmZmZmZmZ ddlmZ ddlmZ ej*                  ej,                  ej.                  ej0                  ej2                  ej4                  ej6                  ej8                  ej:                  ej<                  ej>                  ej@                  e!gZ"g Z#e"D ]È  Z$dD ]Á  Z% ejL                  e$«      jO                  e%«      Z& ejP                  d«      jS                  e&«      Z*e#jW                   ejX                  g e&¬	«       ejX                  d
e&¬	«      e*e*j[                  d«      e*j[                  d«      j\                  e*j[                  d«      ddd…ddd…f   g«       ŒÃ ŒÊ g d¢Z/ddgddgddggdfddgddgddggdfgZ0dddddg d¢fddgfdd d!d"gfd#d$gZ1ddgd%dd&d%d'gddgd(dgfd)d*fd+d,ddgddggdfddgd-dd.d-d/gddgdd(gfd0d1fd2d3ddgddggdfgZ2 ejX                  e0 ejL                  e/«      jO                  d4«      ¬	«       ejX                  e2 ejL                  e1«      jO                  d4«      ¬	«       ejX                  e0 ejL                  e/«      jO                  d5«      ¬	«       ejX                  e2 ejL                  e1«      jO                  d5«      ¬	«       ejf                  d(d6g¬	«      gZ4 G d7„ d8e«      Z5d9„ Z6d:„ Z7d;„ Z8d<„ Z9d=„ Z:d>„ Z;d?„ Z<d@„ Z=ej|                  j                  edA¬B«      ej|                  j€                  dC„ «       «       ZAdD„ ZB ejL                  dEd*¬F«      ZC ejL                  dGdHgdIdIgd(dJgdKœ«      ZD ejL                  dLdMgdIeDgdNœ«      ZE ejL                  g dO¢dIgdz  dNœ«      ZF ejL                  dGdHgdIdIgd(dJgdPdQgdRœ«      ZG ejL                  g g ddSœ«      ZHej|                  j“                  dTeCeDeEeFeGeHg«      dU„ «       ZJej|                  j                  ej–                  dVk\  dW¬B«      ej|                  j™                  edX¬B«      dY„ «       «       ZMdZ„ ZNd[„ ZOej|                  j“                  dT ejL                   ejL                  dGej,                  fdHej0                  fdLej4                  fgd*¬F«      d\«       ejL                  d] ejL                  dGdHgd^d^gddgdd_œd\«      d`fg«       ejL                  dag«       ejL                  d] ejL                   ejL                   ejL                  dGdHgd^d^gddgdd_œ«      d\f«      d`f«      fg«       ejL                  dG ejL                   ejL                   ejL                   ejL                  dGePfdH ejL                  dGdHgd^d^gddgdd_œ«      fg«      d\f«      d`f«      dbf«      fg«      g«      dc„ «       ZQdd„ ZRej|                  j                  edA¬B«      de„ «       ZSej|                  j“                  dfdgdg«      dh„ «       ZTdi„ ZUdj„ ZVg dk¢ZWg dl¢ZXdm„ ZYdn„ ZZdo„ Z[dp„ Z\dq„ Z]dr„ Z^ds„ Z_dt„ Z`du„ Zaej|                  j                  edv¬B«      ej|                  j                   ejL                  ejÄ                  «      jÆ                  dk  dw¬B«      ej|                  j€                   edx¬y«      dz„ «       «       «       «       Zdd{„ Zed|„ Zfd}„ Zgej|                  j“                  dT ejL                  dGdHgeh ejL                  d~dd€i¬�«      gdNœ«       ejL                  ePdd€i¬�«       ejL                  d‚ePdƒffgdd€i¬�«       ejL                  dGdHgeh ejL                  dLg ejL                  ePi ¬�«      gdNœ«      gdNœ«      g«      ej|                  j                  exr ejÒ                  jÔ                  d„k  d…¬B«      d†„ «       «       Zky)‡a¹D   Test the .npy file format.

Set up:

    >>> import sys
    >>> from io import BytesIO
    >>> from numpy.lib import format
    >>>
    >>> scalars = [
    ...     np.uint8,
    ...     np.int8,
    ...     np.uint16,
    ...     np.int16,
    ...     np.uint32,
    ...     np.int32,
    ...     np.uint64,
    ...     np.int64,
    ...     np.float32,
    ...     np.float64,
    ...     np.complex64,
    ...     np.complex128,
    ...     object,
    ... ]
    >>>
    >>> basic_arrays = []
    >>>
    >>> for scalar in scalars:
    ...     for endian in '<>':
    ...         dtype = np.dtype(scalar).newbyteorder(endian)
    ...         basic = np.arange(15).astype(dtype)
    ...         basic_arrays.extend([
    ...             np.array([], dtype=dtype),
    ...             np.array(10, dtype=dtype),
    ...             basic,
    ...             basic.reshape((3,5)),
    ...             basic.reshape((3,5)).T,
    ...             basic.reshape((3,5))[::-1,::2],
    ...         ])
    ...
    >>>
    >>> Pdescr = [
    ...     ('x', 'i4', (2,)),
    ...     ('y', 'f8', (2, 2)),
    ...     ('z', 'u1')]
    >>>
    >>>
    >>> PbufferT = [
    ...     ([3,2], [[6.,4.],[6.,4.]], 8),
    ...     ([4,3], [[7.,5.],[7.,5.]], 9),
    ...     ]
    >>>
    >>>
    >>> Ndescr = [
    ...     ('x', 'i4', (2,)),
    ...     ('Info', [
    ...         ('value', 'c16'),
    ...         ('y2', 'f8'),
    ...         ('Info2', [
    ...             ('name', 'S2'),
    ...             ('value', 'c16', (2,)),
    ...             ('y3', 'f8', (2,)),
    ...             ('z3', 'u4', (2,))]),
    ...         ('name', 'S2'),
    ...         ('z2', 'b1')]),
    ...     ('color', 'S2'),
    ...     ('info', [
    ...         ('Name', 'U8'),
    ...         ('Value', 'c16')]),
    ...     ('y', 'f8', (2, 2)),
    ...     ('z', 'u1')]
    >>>
    >>>
    >>> NbufferT = [
    ...     ([3,2], (6j, 6., ('nn', [6j,4j], [6.,4.], [1,2]), 'NN', True), 'cc', ('NN', 6j), [[6.,4.],[6.,4.]], 8),
    ...     ([4,3], (7j, 7., ('oo', [7j,5j], [7.,5.], [2,1]), 'OO', False), 'dd', ('OO', 7j), [[7.,5.],[7.,5.]], 9),
    ...     ]
    >>>
    >>>
    >>> record_arrays = [
    ...     np.array(PbufferT, dtype=np.dtype(Pdescr).newbyteorder('<')),
    ...     np.array(NbufferT, dtype=np.dtype(Ndescr).newbyteorder('<')),
    ...     np.array(PbufferT, dtype=np.dtype(Pdescr).newbyteorder('>')),
    ...     np.array(NbufferT, dtype=np.dtype(Ndescr).newbyteorder('>')),
    ... ]

Test the magic string writing.

    >>> format.magic(1, 0)
    '\x93NUMPY\x01\x00'
    >>> format.magic(0, 0)
    '\x93NUMPY\x00\x00'
    >>> format.magic(255, 255)
    '\x93NUMPY\xff\xff'
    >>> format.magic(2, 5)
    '\x93NUMPY\x02\x05'

Test the magic string reading.

    >>> format.read_magic(BytesIO(format.magic(1, 0)))
    (1, 0)
    >>> format.read_magic(BytesIO(format.magic(0, 0)))
    (0, 0)
    >>> format.read_magic(BytesIO(format.magic(255, 255)))
    (255, 255)
    >>> format.read_magic(BytesIO(format.magic(2, 5)))
    (2, 5)

Test the header writing.

    >>> for arr in basic_arrays + record_arrays:
    ...     f = BytesIO()
    ...     format.write_array_header_1_0(f, arr)   # XXX: arr is not a dict, items gets called on it
    ...     print(repr(f.getvalue()))
    ...
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<f4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>f4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<f8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>f8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<c8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>c8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (0,)}             \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': ()}               \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (15,)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (3, 5)}           \n"
    "F\x00{'descr': '<c16', 'fortran_order': True, 'shape': (5, 3)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (3, 3)}           \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (0,)}             \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': ()}               \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (15,)}            \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (3, 5)}           \n"
    "F\x00{'descr': '>c16', 'fortran_order': True, 'shape': (5, 3)}            \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (3, 3)}           \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "v\x00{'descr': [('x', '<i4', (2,)), ('y', '<f8', (2, 2)), ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}         \n"
    "\x16\x02{'descr': [('x', '<i4', (2,)),\n           ('Info',\n            [('value', '<c16'),\n             ('y2', '<f8'),\n             ('Info2',\n              [('name', '|S2'),\n               ('value', '<c16', (2,)),\n               ('y3', '<f8', (2,)),\n               ('z3', '<u4', (2,))]),\n             ('name', '|S2'),\n             ('z2', '|b1')]),\n           ('color', '|S2'),\n           ('info', [('Name', '<U8'), ('Value', '<c16')]),\n           ('y', '<f8', (2, 2)),\n           ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}      \n"
    "v\x00{'descr': [('x', '>i4', (2,)), ('y', '>f8', (2, 2)), ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}         \n"
    "\x16\x02{'descr': [('x', '>i4', (2,)),\n           ('Info',\n            [('value', '>c16'),\n             ('y2', '>f8'),\n             ('Info2',\n              [('name', '|S2'),\n               ('value', '>c16', (2,)),\n               ('y3', '>f8', (2,)),\n               ('z3', '>u4', (2,))]),\n             ('name', '|S2'),\n             ('z2', '|b1')]),\n           ('color', '|S2'),\n           ('info', [('Name', '>U8'), ('Value', '>c16')]),\n           ('y', '>f8', (2, 2)),\n           ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}      \n"
é    N)ÚBytesIO)Úassert_Úassert_array_equalÚassert_raisesÚassert_raises_regexÚassert_warnsÚIS_PYPYÚIS_WASM)Úrequires_memory)Úformatz<>iÜ  ©Údtypeé
   )é   é2   éÿÿÿÿé   )©ÚxÚi4©r   ©ÚyÚf8©r   r   ©ÚzÚu1é   g      @g      @é   é   g      @g      @é	   r   ÚInfo)ÚvalueÚc16)Úy2r   ÚInfo2)©ÚnameÚS2)r$   r%   r   )Úy3r   r   )Úz3Úu4r   r(   )Úz2Úb1)Úcolorr*   Úinfo)ÚNameÚU8)ÚValuer%   r   r   ù              @Únny              @é   ÚNNTÚcc)r8   r5   ù              @Úooy              @ÚOOFÚdd)r<   r:   Ú<Ú>)Úc©z<f8©é   r   c                   ó    ‡ — e Zd Zdˆ fd„	Zˆ xZS )ÚBytesIOSRandomSizec                 óN   •— dd l }|j                  d|«      }t        ‰| �  |«      S )Nr   r7   )ÚrandomÚrandintÚsuperÚread)ÚselfÚsizerG   Ú	__class__s      €ú]C:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\numpy/lib/tests/test_format.pyrJ   zBytesIOSRandomSize.read‘  s%   ø€ ÛØ�~‰~˜a Ó&ˆÜ‰w‰|˜DÓ!Ð!ó    ©N)Ú__name__Ú
__module__Ú__qualname__rJ   Ú__classcell__)rM   s   @rN   rE   rE   �  s   ø„ ÷"ñ "rO   rE   c                 ó¦   — t        «       }t        j                  || «       t        |j                  «       «      }t        j                  |d¬«      }|S )NT©Úallow_pickle©r   r   Úwrite_arrayÚgetvalueÚ
read_array©ÚarrÚfÚf2Úarr2s       rN   Ú	roundtripra   —  s@   € Ü‹	€AÜ
×Ñ�q˜#ÔÜ	�—‘“Ó	€BÜ×Ñ˜R¨dÔ3€DØ€KrO   c                 ó¢   — t        «       }t        j                  || «       t        |j	                  «       «      }t        j
                  |«      }|S rP   )r   r   rY   rE   rZ   r[   r\   s       rN   Úroundtrip_randsizerc   Ÿ  s>   € Ü‹	€AÜ
×Ñ�q˜#ÔÜ	˜AŸJ™J›LÓ	)€BÜ×Ñ˜RÓ €DØ€KrO   c                 ó¨   — t        «       }t        j                  || «       t        |j                  «       dd «      }t        j                  |«      }|S )Nr   r   rX   r\   s       rN   Úroundtrip_truncatedre   §  sE   € Ü‹	€AÜ
×Ñ�q˜#Ôä	�—‘“˜a Ð#Ó	$€BÜ×Ñ˜RÓ €DØ€KrO   c                 ó    — t        | |k(  «       y rP   )r   )Úo1Úo2s     rN   Úassert_equal_ri   °  s   € ÜˆB�"‰HÕrO   c                  óV   — t         t        z   D ]  } t        | «      }t        | |«       Œ y rP   )Úbasic_arraysÚrecord_arraysra   r   ©r]   r`   s     rN   Útest_roundtriprn   ´  s$   € ÜœmÔ+ˆÜ˜‹~ˆÜ˜3 Õ%ñ ,rO   c                  ó~   — t         t        z   D ]-  } | j                  t        k7  sŒt	        | «      }t        | |«       Œ/ y rP   )rk   rl   r   Úobjectrc   r   rm   s     rN   Útest_roundtrip_randsizerq   º  s1   € ÜœmÔ+ˆØ�9‰9œÓÜ% cÓ*ˆDÜ˜s DÕ)ñ ,rO   c                  ól   — t         D ]+  } | j                  t        k7  sŒt        t        t
        | «       Œ- y rP   )rk   r   rp   r   Ú
ValueErrorre   ©r]   s    rN   Útest_roundtrip_truncatedru   Á  s%   € ßˆØ�9‰9œÓÜœ*Ô&9¸3Õ?ñ rO   c                  ó´   — t        j                  dt        j                  t        t        j
                  dz   f«      ¬«      } t        | «      }t        | |«       y )Nr7   r   )ÚnpÚonesr   Ústrr   ÚBUFFER_SIZEra   r   )Úlong_str_arrÚlong_str_arr2s     rN   Útest_long_strr}   Ç  s?   € ä—7‘7˜1¤B§H¡H¬c´6×3EÑ3EÈÑ3IÐ-JÓ$KÔL€LÜ˜lÓ+€MÜ�| ]Õ3rO   zmemmap doesn't work correctly)Úreasonc                 ó~  — t        t        t        z   «      D �]  \  }}|j                  j                  rŒt
        j                  j                  | d|› d�«      }t
        j                  j                  | d|› d�«      }t        |d«      5 }t        j                  ||«       d d d «       |j                  j                  xr |j                  j                   }t        j                  |d|j                  |j                  |¬«      }||d<   |j!                  «        t        |d«      5 }|j#                  «       }d d d «       t        |d«      5 }|j#                  «       }	d d d «       t%        	«       t        j                  |d	¬
«      }|j!                  «        �Œ‚ y # 1 sw Y   ŒüxY w# 1 sw Y   ŒqxY w# 1 sw Y   ŒXxY w)NÚnormalz.npyÚmemmapÚwbúw+)Úmoder   ÚshapeÚfortran_order.ÚrbÚr)r„   )Ú	enumeraterk   rl   r   Ú	hasobjectÚosÚpathÚjoinÚopenr   rY   ÚflagsÚf_contiguousÚc_contiguousÚopen_memmapr…   ÚflushrJ   ri   )
ÚtmpdirÚir]   ÚnfnÚmfnÚfpr†   ÚmaÚnormal_bytesÚmemmap_bytess
             rN   Útest_memmap_roundtriprœ   Î  sW  € ô œL¬=Ñ8×9‰ˆˆ3Ø�9‰9×Òàä�g‰g�l‰l˜6 V¨A¨3¨dÐ#3Ó4ˆÜ�g‰g�l‰l˜6 V¨A¨3¨dÐ#3Ó4ˆÜ�#�tŒ_ Ü×Ñ˜r 3Ô'÷ ð �I‰I×"Ñ"ÒA¨3¯9©9×+AÑ+AÐ'Að 	ä×Ñ ¨$°c·i±iØ&)§i¡i¸}ôNˆàˆˆ3‰Ø
�‰Œ
ô �#�tŒ_ ØŸ7™7›9ˆL÷ ä�#�tŒ_ ØŸ7™7›9ˆL÷ ä�l LÔ1ô ×Ñ ¨#Ô.ˆØ
�‰Ž
ñ5 :÷ ˆ_ú÷ ˆ_úçˆ_ús$   Â	FÄ&F'ÅF3ÆF$	Æ'F0	Æ3F<	c                 ó(  — t         j                  j                  dd«      }t        j                  j                  | d«      }t        j                  ||¬«       t        j                  |«      5 }|d   }d d d «       t        |«       y # 1 sw Y   ŒxY w)NéÈ   zcompressed.npzrt   r]   )	rw   rG   Úrandr‹   rŒ   r�   Úsavez_compressedÚloadr   )r”   r]   Únpz_fileÚnpzÚarr1s        rN   Útest_compressed_roundtripr¥   î  sj   € Ü
�)‰)�.‰.˜˜cÓ
"€CÜ�w‰w�|‰|˜FÐ$4Ó5€HÜ×Ñ˜ cÕ*Ü	�‰�Ô	˜cØ�5‰zˆ÷ 
ä�s˜DÕ!÷ 
Ð	ús   Á-BÂBz
i1, i4, i1)ÚalignÚaÚbr   é   )ÚnamesÚformatsÚoffsetsr@   Úd)rª   r«   )r§   Ú r¨   ÚaaÚbb)rª   r«   r¬   Útitles)rª   r«   ÚitemsizeÚdtc                 óD  — t        j                  d|«      }t        d«      D ]
  }|dz   ||<   Œ t        j                  j                  | d«      }t        j                  ||¬«       t        j                  |«      5 }|d   }d d d «       t        |«       y # 1 sw Y   ŒxY w)Nr   rC   zaligned.npzrt   r]   )	rw   ÚzerosÚranger‹   rŒ   r�   Úsavezr¡   r   )r”   r³   r]   r•   r¢   r£   r¤   s          rN   Útest_load_padded_dtyper¸     s}   € ä
�(‰(�1�b‹/€CÜ�1ŽXˆØ�Q‘ˆˆAŠð ä�w‰w�|‰|˜F MÓ2€HÜ‡H�HˆX˜3ÕÜ	�‰�Ô	˜cØ�5‰zˆ÷ 
ä�s˜DÕ!÷ 
Ð	ús   Á;BÂB)r   é   zsee gh-23988z!Emscripten NODEFS has a buggy dupc                  óT  — d} t         j                  j                  t         j                  j                  t        «      d| «      }t        j                  t        d¬«      5  t        j                  |«      }d d d «       t        t        j                  d«      «       y # 1 sw Y   Œ)xY w)Nzwin64python2.npyÚdatazReading.*this warning\.©Úmatchr   )r‹   rŒ   r�   ÚdirnameÚ__file__ÚpytestÚwarnsÚUserWarningrw   r¡   r   rx   )ÚfnamerŒ   r»   s      rN   Ú%test_python2_python3_interoperabilityrÄ     sj   € ð €EÜ�7‰7�<‰<œŸ™Ÿ™¬Ó1°6¸5ÓA€DÜ	�‰”kÐ)CÖ	DÜ�w‰w�t‹}ˆ÷ 
Eä�tœRŸW™W Q›ZÕ(÷ 
EÐ	Dús   Á BÂB'c            	      óª  — t         j                  j                  t         j                  j                  t        «      d«      } t        j                  d t        ddgt        ¬«      }dD �]é  }t         j                  j                  | |«      }dD ]Ñ  }t        j                  |d|¬«      }|j                  d	«      r|d
   }|j                  «        n|}|dk(  ra|j                  d«      rPt        t        |d   t        «      «       t!        |d d |d d «       t!        |d   j#                  |«      |d   «       Œªt        t        |d   t$        «      «       t!        ||«       ŒÓ |j                  d«      s�Œ|j                  d	«      rˆt        j                  |d¬«      }t'        t(        |j*                  d
«       |j                  «        t        j                  |ddd¬«      }t'        t,        |j*                  d
«       |j                  «        �Œ¦t'        t(        t
        j                  |d¬«       t'        t,        t
        j                  |ddd¬«       �Œì y )Nr»   u   å„ªè‰¯s   ä¸�è‰¯r   )zpy2-np0-objarr.npyúpy2-objarr.npyúpy2-objarr.npzzpy3-objarr.npyzpy3-objarr.npz)ÚbytesÚlatin1T©rW   Úencodingz.npzr   rÉ   Úpy2r   r   rV   F)rW   Úfix_importsrË   )r‹   rŒ   r�   r¾   r¿   rw   Úarrayr¶   rp   r¡   ÚendswithÚcloseÚ
startswithr   Ú
isinstancery   r   ÚencoderÈ   r   ÚUnicodeErrorÚ__getitem__ÚImportError)Údata_dirÚexpectedrÃ   rŒ   rË   Údata_fr»   s          rN   Útest_pickle_python2_python3rÚ     sÂ  € ô �w‰w�|‰|œBŸG™GŸO™O¬HÓ5°vÓ>€Hä�x‰x˜œu nØ4ð6ä$ô&€Hô6ˆä�w‰w�|‰|˜H eÓ,ˆã+ˆHÜ—W‘W˜T°¸xÔHˆFØ�~‰~˜fÔ%Ø˜c‘{�Ø—‘•à�à˜8Ò#¨×(8Ñ(8¸Ô(?Üœ
 4¨¡7¬CÓ0Ô1Ü" 4¨¨ 9¨h°s¸¨mÔ<ä" 4¨¡8§?¡?°8Ó#<¸hÀr¹lÕKäœ
 4¨¡7¬EÓ2Ô3Ü" 4¨Õ2ð ,ð" ×Ñ˜EÖ"Ø�~‰~˜fÔ%Ü—w‘w˜t°$Ô7�Üœl¨D×,<Ñ,<¸cÔBØ—
‘
”Ü—w‘w˜t°$ÀEØ(0ô2�äœk¨4×+;Ñ+;¸SÔAØ—
‘
–äœl¬B¯G©G°TØ+/õ1äœk¬2¯7©7°DØ+/¸UØ'/÷1ñC6rO   c           	      ó’  — t         j                  j                  t         j                  j                  t        «      d«      }t         j                  j                  |d«      }t        t        t        j                  |dd¬«       t         j                  j                  |d«      }t        j                  |dd¬«      5 }t        t        |j                  d«       d d d «       t         j                  j                  | d«      }t        t        t        j                  |t        j                  d gt        ¬	«      d¬
«       y # 1 sw Y   ŒfxY w)Nr»   rÆ   FrÉ   rÊ   rÇ   r   zpickle-disabled.npyr   rV   )r‹   rŒ   r�   r¾   r¿   r   rs   rw   r¡   rÕ   ÚsaverÎ   rp   )r”   r×   rŒ   r^   s       rN   Útest_pickle_disallowrÝ   K  sÑ   € Ü�w‰w�|‰|œBŸG™GŸO™O¬HÓ5°vÓ>€Hä�7‰7�<‰<˜Ð"2Ó3€DÜ”*œbŸg™g tØ$¨xõ9ô �7‰7�<‰<˜Ð"2Ó3€DÜ	�‰� E°HÕ	=ÀÜ”j !§-¡-°Ô5÷ 
>ô �7‰7�<‰<˜Ð 5Ó6€DÜ”*œbŸg™g t¬R¯X©X°t°fÄFÔ-KØ$ö&÷	 
>Ð	=ús   Â<D=Ä=E)r   r   Úi1)rª   r«   r¬   r²   )r!   )r   rA   r   rB   c                 ó´   — t        j                  | j                  «      }t        || «       t	        j
                  d| «      }t        |«      }t        ||«       y )Nr   )r   Údescr_to_dtypeÚdescrri   rw   rµ   ra   r   )r³   Údt1r¤   r`   s       rN   Útest_descr_to_dtyperã   Z  sE   € ôd ×
Ñ
 §¡Ó
)€CÜ�#�rÔÜ�8‰8�A�r‹?€DÜ�T‹?€DÜ�t˜TÕ"rO   c                  óø  — t        «       } t        d«      D �cg c]  }d|z  dz  t        f‘Œ }}t        j                  d|¬«      }t        j                  | |d¬«       t        j                  d¬	«      5 }t        j                  d
dt        «       t        j                  | |«       t        |d   j                  t        u «       d d d «       | j                  d«       | j                  «       }t        t        |«      t
        j                   z  dk(  «       | j                  d«       t        j"                  | d¬«      }t%        ||«       t'        t(        t
        j                  | |d«       y c c}w # 1 sw Y   Œ­xY w)Néô  ú%déd   éè  r   ©r   r   ©ÚversionT©ÚrecordÚalwaysr®   r   é@ ©Úmax_header_size©r7   r   )r   r¶   Úfloatrw   rx   r   rY   ÚwarningsÚcatch_warningsÚfilterwarningsrÂ   r   ÚcategoryÚseekÚreadlineÚlenÚARRAY_ALIGNr[   r   r   rs   )r^   r•   r³   r­   ÚwÚheaderÚns          rN   Útest_version_2_0rÿ   ’  s  € Ü‹	€Aä-2°3¬ZÓ	8©Z¨ˆD�1‰H˜ÑœUÒ
#¨Z€BÐ	8Ü
�‰�˜BÔ€Aä
×Ñ�q˜! VÕ,Ü	×	 Ñ	 ¨Õ	-°Ü×Ñ ¨"¬kÔ:Ü×Ñ˜1˜aÔ Ü��!‘—‘¤Ð,Ô-÷ 
.ð ‡F�Fˆ1„IØ�Z‰Z‹\€FÜŒC�‹Kœ&×,Ñ,Ñ,°Ñ1Ô2à‡F�Fˆ1„IÜ×Ñ˜!¨VÔ4€AÜ�q˜!Ôô ”*œf×0Ñ0°!°Q¸Õ?ùò' 
9÷ 
.Ð	-ús   ˜E+Á4AE0Å0E9c           	      óØ  — t        d«      D �cg c]  }d|z  dz  t        f‘Œ }}t        j                  d|¬«      }t        j
                  j                  | d«      }t        j
                  j                  | d«      }t        t        t        j                  |d|j                  |j                  d	¬
«       t        j                  |d|j                  |j                  d¬
«      }||d<   |j                  «        t        j                  |dd¬«      }t        ||«       t        j                   d¬«      5 }t        j"                  ddt$        «       t        j                  |d|j                  |j                  d ¬
«      }t'        |d   j(                  t$        u «       ||d<   |j                  «        d d d «       t        j                  |dd¬«      }t        ||«       y c c}w # 1 sw Y   Œ3xY w)Nrå   ræ   rç   rè   r   zversion2_01.npyzversion2_02.npyrƒ   rò   )r„   r   r…   rë   ré   .rˆ   rï   )r„   rñ   Trì   rî   r®   r   )r¶   ró   rw   rx   r‹   rŒ   r�   r   rs   r   r’   r   r…   r“   r   rô   rõ   rö   rÂ   r   r÷   )r”   r•   r³   r­   Útf1Útf2r™   rü   s           rN   Útest_version_2_0_memmapr  «  s  € ô .3°3¬ZÓ	8©Z¨ˆD�1‰H˜ÑœUÒ
#¨Z€BÐ	8Ü
�‰�˜BÔ€AÜ
�'‰'�,‰,�vÐ0Ó
1€CÜ
�'‰'�,‰,�vÐ0Ó
1€Cô ”*œf×0Ñ0°#¸DÈÏÉØ"#§'¡'°6õ;ô 
×	Ñ	˜C d°!·'±'Ø"#§'¡'°6ô
;€Bà€B€s�GØ‡H�H„JÜ	×	Ñ	˜C c¸6Ô	B€BÜ�r˜1Ôä	×	 Ñ	 ¨Õ	-°Ü×Ñ ¨"¬kÔ:Ü×Ñ ¨$°a·g±gØ&'§g¡g°tô=ˆä��!‘—‘¤Ð,Ô-Øˆˆ3‰Ø
�‰Œ
÷ 
.ô 
×	Ñ	˜C c¸6Ô	B€Bä�r˜1Õùò5 
9÷  
.Ð	-ús   ŽGÄ1A=G Ç G)Ú	mmap_moderˆ   c                 ó¸  — t         j                  j                  | d«      }t        j                  dddz  dz   ¬«      }t        j                  t        d¬«      5  t        j                  ||«       d d d «       t        j                  t        d	¬«      5  t        j                  ||¬
«       d d d «       t        j                  t        d	¬«      5  t        j                  ||d¬«       d d d «       t        j                  ||d¬«      }t        ||«       t        j                  ||d¬«      }t        ||«       y # 1 sw Y   ŒÉxY w# 1 sw Y   ŒšxY w# 1 sw Y   ŒjxY w)Nzlarge_header.npyr7   úi,é'  r•   r   ú.*format 2.0r¼   úHeader.*large)r  é N  )r  rñ   T)r  rW   é ¿ )r‹   rŒ   r�   rw   rÎ   rÀ   rÁ   rÂ   rÜ   Úraisesrs   r¡   r   )r”   r  r^   r]   Úress        rN   Útest_huge_headerr  Ê  sì   € ä
�‰�‰�VÐ/Ó0€AÜ
�(‰(�1˜D ™J s™NÔ
+€Cä	�‰”k¨Ö	8Ü
�‰��3Œ÷ 
9ô 
�‰”z¨Ö	9Ü
�‰�˜YÕ'÷ 
:ô 
�‰”z¨Ö	9Ü
�‰�˜Y¸Õ>÷ 
:ô �'‰'�!˜y°tÔ
<€CÜ�s˜CÔ ä
�'‰'�!˜y¸&Ô
A€CÜ�s˜CÕ ÷ 
9Ð	8ú÷ 
:Ð	9ú÷ 
:Ð	9ús$   ÁD8ÂEÃEÄ8EÅEÅEc                 óÈ  — t         j                  j                  | d«      }t        j                  dddz  dz   ¬«      }t        j                  t        d¬«      5  t        j                  ||¬	«       d d d «       t        j                  t        d
¬«      5  t        j                  |«      d    d d d «       t        j                  t        d
¬«      5  t        j                  |d¬«      d    d d d «       t        j                  |d¬«      d   }t        ||«       t        j                  |d¬«      d   }t        ||«       y # 1 sw Y   ŒÐxY w# 1 sw Y   Œ xY w# 1 sw Y   ŒnxY w)Nzlarge_header.npzr7   r  r  r•   r   r  r¼   rt   r	  r]   r
  rð   TrV   r  )r‹   rŒ   r�   rw   rÎ   rÀ   rÁ   rÂ   r·   r  rs   r¡   r   )r”   r^   r]   r  s       rN   Útest_huge_header_npzr  Þ  sø   € Ü
�‰�‰�VÐ/Ó0€AÜ
�(‰(�1˜D ™J s™NÔ
+€Cä	�‰”k¨Ö	8Ü
�‰�˜Õ÷ 
9ô 
�‰”z¨Ö	9Ü
�‰�‹
�5Ò÷ 
:ô 
�‰”z¨Ö	9Ü
�‰� 5Ô)¨%Ò0÷ 
:ô �'‰'�! $Ô
'¨Ñ
.€CÜ�s˜CÔ ä
�'‰'�! VÔ
,¨UÑ
3€CÜ�s˜CÕ ÷ 
9Ð	8ú÷ 
:Ð	9ú÷ 
:Ð	9ús$   ÁE ÂEÃEÅ E	ÅEÅE!c                  óæ  — t        «       } t        j                  d«      }t        j                  | |d¬«       t        j                  | |«       t        j                  | |d ¬«       t        j                  | |«       t        j                  | |d¬«       t        j                  | |«       g d¢}|D ]3  }t        t        d«      5  t        j                  | ||¬«       d d d «       Œ5 y # 1 sw Y   Œ@xY w)Nr7   rò   rê   ré   ))r7   r7   )r   r   )r   r7   r   )éÿ   r  z we only support format version.*)r   rw   Úaranger   rY   r   rs   )r^   r]   Úbad_versionsrë   s       rN   Útest_write_versionr  ò  sÈ   € Ü‹	€AÜ
�)‰)�A‹,€Cä
×Ñ�q˜# vÕ.Ü
×Ñ�q˜#Ôä
×Ñ�q˜# tÕ,Ü
×Ñ�q˜#Ôä
×Ñ�q˜# vÕ.Ü
×Ñ�q˜#Ôò€Ló  ˆÜ ¤Ø!CõEä×Ñ˜q #¨wÕ7÷Eð Eñ  ÷Eð Eús   ÃC'Ã'C0	)s   “NUMPYs   “NUMPY  s   “NUMPY s   “NUMPY s   “NUMPYs   “NUMPYÿÿ)s   ’NUMPY s    NUMPY s   “numpy s   “MATLB s   “NUMPYs   “NUMPYrO   c                  ó:  — t        «       } t        «       }t        j                  dt        ¬«      }t	        j
                  | |d¬«       t	        j
                  ||d¬«       | j                  d«       |j                  d«       t	        j                  | «      }t	        j                  |«      }t        |dk(  «       t        |dk(  «       t        | j                  «       t        j                  k(  «       t        |j                  «       t        j                  k(  «       y )N©r   r©   r   rò   rê   ré   r   )r   rw   rx   ró   r   rY   rø   Ú
read_magicr   ÚtellÚ	MAGIC_LEN)Ús1Ús2r]   Úversion1Úversion2s        rN   Útest_read_magicr    sÆ   € Ü	‹€BÜ	‹€Bä
�'‰'�&¤Ô
&€Cä
×Ñ�r˜3¨Õ/Ü
×Ñ�r˜3¨Õ/à‡G�GˆA„JØ‡G�GˆA„Jä× Ñ  Ó$€HÜ× Ñ  Ó$€HäˆH˜ÑÔÜˆH˜ÑÔäˆB�G‰G‹Iœ×)Ñ)Ñ)Ô*ÜˆB�G‰G‹Iœ×)Ñ)Ñ)Õ*rO   c                  ón   — t         D ],  } t        | «      }t        t        t        j
                  |«       Œ. y rP   )Úmalformed_magicr   r   rs   r   r[   ©Úmagicr^   s     rN   Útest_read_magic_bad_magicr$  4  s'   € ß ˆÜ�E‹NˆÜ”j¤&×"3Ñ"3°QÕ7ñ !rO   c                  ó|   — t         t        z   D ],  } t        | «      }t        t        t
        j                  |«       Œ. y rP   )Úbad_version_magicr!  r   r   rs   r   r[   r"  s     rN   Útest_read_version_1_0_bad_magicr'  :  s,   € Ü"¤_Ô4ˆÜ�E‹NˆÜ”j¤&×"3Ñ"3°QÕ7ñ 5rO   c                  ó  — t        t        t        j                  dd«       t        t        t        j                  dd«       t        t        t        j                  dd«       t        t        t        j                  dd«       y )Nr   r7   é   )r   rs   r   r#  © rO   rN   Útest_bad_magic_argsr+  @  sJ   € Ü”*œfŸl™l¨B°Ô2Ü”*œfŸl™l¨C°Ô3Ü”*œfŸl™l¨A¨rÔ2Ü”*œfŸl™l¨A¨sÕ3rO   c                  óÊ   — t        «       } t        «       dddœ}t        j                  | |«       t        «       } ddz  dfg|d<   t	        t
        t        j                  | |«       y )NFz<i8©r…   r†   rá   Á   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr)  rá   )r   Útupler   Úwrite_array_header_1_0r   rs   ©Úsr­   s     rN   Útest_large_headerr3  G  sW   € Ü‹	€AÜ“'¨E¸EÑB€AÜ
×!Ñ! ! QÔ'ä‹	€AØ˜3‘; Ð&Ð'€A€g�JÜ”*œf×;Ñ;¸QÀÕBrO   c                  óx  — t        «       } t        j                  dt        ¬«      }t	        j
                  | |d¬«       | j                  t        j                  «       t	        j                  | «      \  }}}t        | j                  «       t        j                  z  dk(  «       t        |||fddt        fk(  «       y )Nr  r   rò   rê   r   F)r   rw   rx   ró   r   rY   rø   r  Úread_array_header_1_0r   r  rû   ©r2  r]   r…   Úfortranr   s        rN   Útest_read_array_header_1_0r8  Q  ó�   € Ü‹	€Aä
�'‰'�&¤Ô
&€CÜ
×Ñ�q˜# vÕ.à‡F�FŒ6×ÑÔÜ"×8Ñ8¸Ó;Ñ€Eˆ7�EäˆA�F‰F‹H”v×)Ñ)Ñ)¨QÑ.Ô/ÜˆU�G˜UÐ#¨°´uÐ'=Ñ=Õ>rO   c                  óx  — t        «       } t        j                  dt        ¬«      }t	        j
                  | |d¬«       | j                  t        j                  «       t	        j                  | «      \  }}}t        | j                  «       t        j                  z  dk(  «       t        |||fddt        fk(  «       y )Nr  r   ré   rê   r   F)r   rw   rx   ró   r   rY   rø   r  Úread_array_header_2_0r   r  rû   r6  s        rN   Útest_read_array_header_2_0r<  ^  r9  rO   c                  óÞ  — t        «       } t        t        t        j                  | «       t        d«      } t        t        t        j                  | «       t        d«      } t        t        t        j                  | «       t        d«      } t        t        t        j                  | «       dddddœ}t        «       } t        j
                  | |«       t        t        t        j                  | «       y )	Nó   1s    s@   “NUMPY 6 {'descr': 'x', 'shape': (1, 2), }                    
©r7   r   Fr   r   )r…   r†   rá   Úextrakey)r   r   rs   r   r5  r0  r1  s     rN   Útest_bad_headerrA  k  s·   € ä‹	€AÜ”*œf×:Ñ:¸AÔ>Ü�‹€AÜ”*œf×:Ñ:¸AÔ>ô 	�Ó€AÜ”*œf×:Ñ:¸AÔ>ô
 	ð	"ó	€Aô ”*œf×:Ñ:¸AÔ>àØØØñ	€Aô 	‹	€AÜ
×!Ñ! ! QÔ'Ü”*œf×:Ñ:¸AÕ>rO   c                 ó–  — t         j                  dk(  st         j                  dk(  rt        j                  d«       t        j
                  j                  | d«      }	 dd l}|j                  ddd|g«       t        |d
«      5 }|j                  d«       t        j                  d«      }t        j                  ||«       d d d «       t        |d«      5 }|j                  d«       t        j                  |«      }d d d «       t!        «       y # t        $ r t        j                  d	«       Y Œ¹w xY w# 1 sw Y   ŒuxY w# 1 sw Y   ŒFxY w)NÚwin32Úcygwinz)Unknown if Windows has sparse filesystemsÚsparse_filer   Útruncatez-sÚ
5368709120zCould not create 5GB large filer‚   l        rC   r‡   )ÚsysÚplatformrÀ   Úskipr‹   rŒ   r�   Ú
subprocessÚ
check_callÚ	ExceptionrŽ   rø   rw   r  rÜ   r¡   r   )r”   Útf_nameÚspr^   r­   rˆ   s         rN   Útest_large_file_supportrP  ˆ  sú   € Ü�‰˜Ò¤3§<¡<°8Ò#;Ü�‰Ð?Ô@ä�g‰g�l‰l˜6 =Ó1€Gð7ó 	 Ø
�‰�z 4¨°wÐ?Ô@ô 
ˆg�tÔ	 Ø	�‰ˆzÔÜ�I‰I�a‹LˆÜ
�‰��1Œ÷ 
ô
 
ˆg�tÔ	 Ø	�‰ˆzÔÜ�G‰G�A‹Jˆ÷ 
ô �q˜!Õøô ò 7Ü�‰Ð5Ö6ð7ú÷ 
Ð	ú÷
 
Ð	ús*   ÁD Â=D3Ã'D?ÄD0Ä/D0Ä3D<Ä?Ezflaky on PyPyztest requires 64-bit systeml        )Ú
free_bytesc                 óâ  — d}	 t        j                  |t         j                  ¬«      }t        j                  j                  | d«      }t        |d«      5 }t        j                  |¬«       d d d «       ~t        |d«      5 }t        j                  |«      d   }d d d «       j                  |k(  sJ ‚y # t        $ r t	        j
                  d«       Y Œ¬w xY w# 1 sw Y   ŒmxY w# 1 sw Y   ŒKxY w)	N)i   @r   r   zCould not create large fileÚlarge_archiver‚   rt   r‡   r]   )rw   ÚemptyÚuint8ÚMemoryErrorrÀ   rJ  r‹   rŒ   r�   rŽ   r·   r¡   r…   )r”   r…   r§   rÃ   r^   Únew_as         rN   Útest_large_archiverX  ¡  sÃ   € ð €Eð3Ü�H‰H�U¤"§(¡(Ô+ˆô �G‰G�L‰L˜ Ó1€Eä	ˆe�TÔ	˜aÜ
�‰�˜Õ÷ 
ð 	
ä	ˆe�TÔ	˜aÜ—‘˜“
˜5Ñ!ˆ÷ 
ð �;‰;˜%ÒÐÑøô ò 3Ü�‰Ð1Ö2ð3ú÷
 
Ð	ú÷
 
Ð	ús)   „%B5 ÁCÂC%Â5CÃCÃC"Ã%C.c                 óÄ   — t         j                  j                  | d«      }t        j                  |«       t        j
                  |«      5 }	 d d d «       y # 1 sw Y   y xY w)Nznothing.npz)r‹   rŒ   r�   rw   r·   r¡   )r”   rÃ   Únpss      rN   Útest_empty_npzr[  ¼  s;   € ä�G‰G�L‰L˜ Ó/€EÜ‡H�HˆU„OÜ	�‰�Œ˜3Ø÷ 
�‰ús   ÁAÁAc                 óB  — t        j                  g d¢dt        fdt        fg¬«      }t        j                  j                  | d«      }t        |d«      5 }t        j                  ||d¬«       d d d «       t        |d	«      5 }t        j                  |«      }d d d «       t        |«       t        |d«      5 }t        t        «      5  t        j                  ||d ¬«       d d d «       d d d «       y # 1 sw Y   Œ…xY w# 1 sw Y   ŒgxY w# 1 sw Y   Œ*xY w# 1 sw Y   y xY w)
N)©r7   r   r?  r]  r?  Úintu   æ•´å½¢r   zunicode.npyr‚   )r   r   rê   r‡   )rw   rÎ   r^  r‹   rŒ   r�   rŽ   r   rY   r[   r   r   rÂ   )r”   r]   rÃ   r^   r`   s        rN   Útest_unicode_field_namesr_  Ä  sæ   € ä
�(‰(ò ð 
”ˆØ	GÌÐMðô€Cô �G‰G�L‰L˜ Ó/€EÜ	ˆe�TÔ	˜aÜ×Ñ˜1˜c¨6Õ2÷ 
ä	ˆe�TÔ	˜aÜ× Ñ  Ó#ˆ÷ 
ä�s˜DÔ!ô 
ˆe�TÔ	˜aÜœ+Õ&Ü×Ñ˜q #¨tÕ4÷ '÷ 
Ð	÷ 
Ð	úç	Ð	ú÷ 'Ð&ú÷ 
Ð	ús<   ÁC1ÂC=Â7DÃD	Ã DÃ1C:Ã=DÄ	D	ÄDÄDc                  óh  — g d¢g d¢g d¢g d¢fD ]œ  \  } }}t        t        j                  «      D �cg c]  }d|z  ‘Œ	 c}D ]i  }t        «       }t        j                  || rd|fn|df| t        j                  d|z  t        fg«      dœ«       t        |j                  «       «      |k(  rŒiJ ‚ Œž y c c}w )	N)Fé   é€   )Fé   éÀ   )Trc  rb  )Té   rd  r   r   Ú r-  )
r¶   r   ÚGROWTH_AXIS_MAX_DIGITSr   r0  rw   r   r^  rú   rZ   )Úis_fortran_arrayÚdtype_spaceÚexpected_header_lengthr•   rL   r˜   s         rN   Útest_header_growth_axisrk  Û  s¸   € âÒ*ªOº_óBÑ=Ð˜+Ð'=ô %*¬&×*GÑ*GÔ$HÓIÑ$H˜q�R˜“UÐ$HÔIˆDÜ“ˆBÜ×)Ñ)¨"Ù&6˜!˜T™¸TÀ1¸IØ!1ÜŸ™ C¨¡O´SÐ#9Ð":Ó;ñ/ô ô �r—{‘{“}Ó%Ð)?Ó?Ð?Ð?ñ JñBùò Js   ±B/ÚS3ÚsomeÚstuff)ÚmetadataÚsubarrayr   )é   r   r    zPyPy bug in error formattingc                 óª  — t        j                  d| ¬«      }t        «       }t        t        «      5  t        j
                  ||«       d d d «       |j                  d«       t        j                  |«      }ddlm	} t        ||«        ||j                  «      |j                  usJ ‚ ||j                  «      |j                  u sJ ‚y # 1 sw Y   Œ‚xY w)Nr   r   r   )Údrop_metadata)rw   rx   r   r   rÂ   rÜ   rø   r¡   Únumpy.lib._utils_implrs  r   r   )r³   r]   Úbufr`   rs  s        rN   Útest_metadata_dtyperv  é  sœ   € ô �'‰'�"˜BÔ
€CÜ
‹)€CÜ	”kÕ	"Ü
�‰��SÔ÷ 
#à‡H�HˆQ„Kô �7‰7�3‹<€Då3Ü�s˜DÔ!Ù˜Ÿ™Ó#¨3¯9©9Ñ4Ð4Ð4Ù˜Ÿ™Ó$¨¯
©
Ñ2Ð2Ñ2÷ 
#Ð	"ús   ±C	Ã	C)lÚ__doc__rH  r‹   rô   rÀ   Úior   Únumpyrw   Únumpy.testingr   r   r   r   r   r	   r
   Únumpy.testing._private.utilsr   Ú	numpy.libr   rU  Úint8Úuint16Úint16Úuint32Úint32Úuint64Úint64Úfloat32Úfloat64Ú	complex64Ú
complex128rp   Úscalarsrk   ÚscalarÚendianr   Únewbyteorderr  ÚastypeÚbasicÚextendrÎ   ÚreshapeÚTÚPdescrÚPbufferTÚNdescrÚNbufferTrµ   rl   rE   ra   rc   re   ri   rn   rq   ru   r}   ÚmarkÚskipifÚslowrœ   r¥   râ   Údt2Údt3Údt4Údt5Údt6Úparametrizer¸   Úversion_infoÚxfailrÄ   rÚ   rÝ   r^  rã   rÿ   r  r  r  r  r&  r!  r  r$  r'  r+  r3  r8  r<  rA  rP  Úintpr²   rX  r[  r_  rk  ró   Úimplementationrë   rv  r*  rO   rN   Ú<module>r¢     sC	  ðñRóf Û 	Û Û Ý ã ÷÷ ñ õ 9Ý ð
 ‡H�HØ‡G�GØ‡I�IØ‡H�HØ‡I�IØ‡H�HØ‡I�IØ‡H�HØ‡J�JØ‡J�JØ‡L�LØ‡M�MØ
ð€ð €Û€FÛˆØ�—‘˜Ó ×-Ñ-¨fÓ5ˆØ�—	‘	˜$“×&Ñ& uÓ-ˆØ×ÑàˆB�H‰H�R˜uÔ%àˆB�H‰H�R˜uÔ%àà�M‰M˜(Ó#à�M‰M˜(Ó#×%Ñ%à�M‰M˜(Ó#¡D b D©#¨A¨# IÑ.ð
õ 	ñ ð ò6
€ð ˆ€Vˆr�2ˆh˜˜R˜Ð! 1Ð%Øˆ€Vˆr�2ˆh˜˜R˜Ð! 1Ð%ð€ð( ØØØØ	ò  ð 	!ð
 	Øð	ð 	ð ØØØðð ð Øð#
€ð. ˆ€Vˆb�"�t˜b "˜X¨¨B x°!°Q°Ð8¸$ÀÐEØ	ˆ:˜˜R˜ 2 r (Ð+¨Qð0àˆ€Vˆb�"�t˜b "˜X¨¨B x°!°Q°Ð8¸$ÀÐFØ	ˆ:˜˜R˜ 2 r (Ð+¨Qð0ð€ð €B‡H�HˆX˜X˜RŸX™X fÓ-×:Ñ:¸3Ó?Ô@Ø€B‡H�HˆX˜X˜RŸX™X fÓ-×:Ñ:¸3Ó?Ô@Ø€B‡H�HˆX˜X˜RŸX™X fÓ-×:Ñ:¸3Ó?Ô@Ø€B‡H�HˆX˜X˜RŸX™X fÓ-×:Ñ:¸3Ó?Ô@Ø€B‡H�HˆQÐ1Ð2Ô3ð€ô"˜ô "òòòòò&ò*ò@ò4ð ‡�×Ñ�GÐ$CÐÓDØ‡�×Ññó ó Eðò<"ð €b‡h�hˆ| 4Ô(€à€b‡h�h˜#˜s˜°°t°Ø˜q˜6ñ#ó $€ð €b‡h�h˜#˜s˜°°s°Ñ<Ó=€à€b‡h�hš°T°F¸1±HÑ=Ó>€à€b‡h�h˜#˜s˜°°t°Ø˜q˜6¨d°D¨\ñ;ó <€ð €b‡h�h˜¨¸Ñ:Ó;€à‡�×Ñ˜  S¨#¨s°C¸Ð=Ó>ñ"ó ?ð"ð ‡�×Ñ�C×$Ñ$¨Ñ/¸ÐÓGØ‡�×Ñ�7Ð#FÐÓGñ)ó Hó Hð)ò,1ò^&ð ‡�×Ñ˜Ø€B‡H�HˆXˆR�X‰X˜˜RŸW™W�~Ø˜RŸX™X�Ø˜RŸX™X�ðð  $ô%ð ó	ð
 €B‡H�Hˆs�H�B—H‘H s¨3 iØ)-¨d¨Ø)*¨1¨Ø)*ñð
 óð ðð ó ð €B‡H�Hð ð ó ð €B‡H�Hˆs�H�B—H‘HØˆ�‰ØˆB�H‰H˜s 3˜iØ!% d Ø!" 1 Ø!"ñ$ó %ð ðó 	ð 	ð	
ó 	ð 	ð 

ó 
ð €B‡H�HØ	ˆhˆb�h‰hØˆB�H‰HØ�—‘Ø�B—H‘HØ˜c˜
Ø˜h˜bŸh™h°°S°	Ø37¸°+Ø34°Q°%Ø34ñ(6ó 7ð 8ðó ð ð	ó 	ð ðó ð ð
ó ð 	ð
ó ð;/ ó /ñb#óc/ðb#ò@ð2 ‡�×Ñ�GÐ$CÐÓDñó Eðð< ‡�×Ñ˜ s¨D kÓ2ñ!ó 3ð!ò&!ò(8ò6Ð ò€ò+ò*8ò8ò4òCò
?ò
?ò?ò:ð2 ‡�×Ñ�G OÐÓ4Ø‡�×Ñ�H�B—H‘H˜RŸW™WÓ%×.Ñ.°Ñ2Ø8ð ó :à‡�×ÑÙ˜IÔ&ñ ó 'ó ó:ó 5ð
 ò,ò5ò.@ð ‡�×Ñ˜Ø€B‡H�H˜˜S�z°°x°r·x±xÀØ! 7Ð+ô8-ð 0.ñ /ó 0à€B‡H�HˆS˜F GÐ,Ô-Ø€B‡H�Hˆz˜C ˜;Ð'Ð(°F¸GÐ3DÔEà€B‡H�H˜˜S�zØˆxˆr�x‰x 3 %°X°R·X±X¸cÈBÔ5OÐ4PÑQÓRð/ñ ó ð	 ó 	ð ‡�×Ñ�GÒG × 2Ñ 2× :Ñ :¸iÑ GØ-ð ó /ñ3ó/ó	ñ3rO   