§
    u! h¨  ã                   ó†  — d 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Zddl	m
Z
 ddlmZmZmZmZmZmZmZmZ ddlmZ ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej         ej!        e"gZ#g Z$e#D ]ÔZ%dD ]ÏZ& ej'        e%¦  «         (                    e&¦  «        Z' ej)        d¦  «         *                    e'¦  «        Z+e$ ,                     ej-        g e'¬	¦  «         ej-        d
e'¬	¦  «        e+e+ .                    d¦  «        e+ .                    d¦  «        j/        e+ .                    d¦  «        ddd…ddd…f         g¦  «         ŒÐŒÕg d¢Z0ddgddgddggdfddgddgddggdfgZ1dddddg d¢fddgfdd d!d"gfd#d$gZ2d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Z3 ej-        e1 ej'        e0¦  «         (                    d4¦  «        ¬	¦  «         ej-        e3 ej'        e2¦  «         (                    d4¦  «        ¬	¦  «         ej-        e1 ej'        e0¦  «         (                    d5¦  «        ¬	¦  «         ej-        e3 ej'        e2¦  «         (                    d5¦  «        ¬	¦  «         ej4        d(d6g¬	¦  «        gZ5 G d7„ d8e¦  «        Z6d9„ Z7d:„ Z8d;„ Z9d<„ Z:d=„ Z;d>„ Z<d?„ Z=d@„ Z>dA„ Z?ej@         A                    edB¬C¦  «        ej@        jB        dD„ ¦   «         ¦   «         ZCdE„ ZD ej'        dFd*¬G¦  «        ZE ej'        dHdIgdJdJgd(dKgdLœ¦  «        ZF ej'        dMdNgdJeFgdOœ¦  «        ZG ej'        g dP¢dJgdz  dOœ¦  «        ZH ej'        dHdIgdJdJgd(dKgdQdRgdSœ¦  «        ZI ej'        g g ddTœ¦  «        ZJej@         K                    dUeEeFeGeHeIeJg¦  «        dV„ ¦   «         ZLej@         A                    ejM        dWk    dX¬C¦  «        ej@         N                    edY¬C¦  «        dZ„ ¦   «         ¦   «         ZOd[„ ZPd\„ ZQej@         K                    dU ej'         ej'        dHej        fdIej        fdMej        fgd*¬G¦  «        d]¦  «         ej'        d^ ej'        dHdIgd_d_gddgdd`œd]¦  «        dafg¦  «         ej'        dbg¦  «         ej'        d^ ej'         ej'         ej'        dHdIgd_d_gddgdd`œ¦  «        d]f¦  «        daf¦  «        fg¦  «         ej'        dH ej'         ej'         ej'         ej'        dHeRfdI ej'        dHdIgd_d_gddgdd`œ¦  «        fg¦  «        d]f¦  «        daf¦  «        dcf¦  «        fg¦  «        g¦  «        dd„ ¦   «         ZSde„ ZTej@         A                    edB¬C¦  «        df„ ¦   «         ZUej@         K                    dgdhdg¦  «        di„ ¦   «         ZVdj„ ZWdk„ ZXg dl¢ZYg dm¢ZZdn„ Z[do„ Z\dp„ Z]dq„ Z^dr„ Z_ds„ Z`dt„ Zadu„ Zbdv„ Zcej@         A                    edw¬C¦  «        ej@         A                    e dx¬C¦  «        ej@        jB         edy¬z¦  «        d{„ ¦   «         ¦   «         ¦   «         ¦   «         Zdd|„ Zed}„ Zfd~„ Zgej@         K                    dU ej'        dHdIgeh ej'        dd€d�i¬‚¦  «        gdOœ¦  «         ej'        eRd€d�i¬‚¦  «         ej'        dƒeRd„ffgd€d�i¬‚¦  «         ej'        dHdIgeh ej'        dMg ej'        eRi ¬‚¦  «        gdOœ¦  «        gdOœ¦  «        g¦  «        ej@         A                    eoeji        jj        d…k    d†¬C¦  «        d‡„ ¦   «         ¦   «         ZkdS )ˆ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)Úformat)ÚIS_64BITÚIS_PYPYÚIS_WASMÚassert_Úassert_array_equalÚassert_raisesÚassert_raises_regexÚassert_warns)Úrequires_memoryz<>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)r9   r6   ù              @Úooy              @ÚOOFÚdd)r=   r;   ú<ú>)Úc©z<f8©é   r   c                   ó    ‡ — e Zd Zdˆ fd„	Zˆ xZS )ÚBytesIOSRandomSizeNc                 óz   •— dd l }|                     d|¦  «        }t          ¦   «                              |¦  «        S )Nr   r8   )ÚrandomÚrandintÚsuperÚread)ÚselfÚsizerH   Ú	__class__s      €úUc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\numpy/lib/tests/test_format.pyrK   zBytesIOSRandomSize.read—  s5   ø€ ØˆˆˆØ�~Š~˜a Ñ&Ô&ˆÝ‰wŒw�|Š|˜DÑ!Ô!Ð!ó    ©N)Ú__name__Ú
__module__Ú__qualname__rK   Ú__classcell__)rN   s   @rO   rF   rF   –  s=   ø€ € € € € ð"ð "ð "ð "ð "ð "ð "ð "ð "ð "rP   rF   c                 óº   — t          ¦   «         }t          j        || ¦  «         t          |                     ¦   «         ¦  «        }t          j        |d¬¦  «        }|S )NT©Úallow_pickle©r   r   Úwrite_arrayÚgetvalueÚ
read_array©ÚarrÚfÚf2Úarr2s       rO   Ú	roundtriprb   �  sM   € Ý‰	Œ	€AÝ
Ô�q˜#ÑÔÐÝ	�—’‘”Ñ	Ô	€BÝÔ˜R¨dÐ3Ñ3Ô3€DØ€KrP   c                 ó¶   — t          ¦   «         }t          j        || ¦  «         t          |                     ¦   «         ¦  «        }t          j        |¦  «        }|S rQ   )r   r   rZ   rF   r[   r\   r]   s       rO   Úroundtrip_randsizerd   ¥  sH   € Ý‰	Œ	€AÝ
Ô�q˜#ÑÔÐÝ	˜AŸJšJ™LœLÑ	)Ô	)€BÝÔ˜RÑ Ô €DØ€KrP   c                 óÆ   — t          ¦   «         }t          j        || ¦  «         t          |                     ¦   «         dd…         ¦  «        }t          j        |¦  «        }|S )Nr   r   rY   r]   s       rO   Úroundtrip_truncatedrf   ­  sQ   € Ý‰	Œ	€AÝ
Ô�q˜#ÑÔÐå	�—’‘”˜a ˜dÔ#Ñ	$Ô	$€BÝÔ˜RÑ Ô €DØ€KrP   c                 ó,   — t          | |k    ¦  «         d S rQ   )r   )Úo1Úo2s     rO   Úassert_equal_rj   µ  s   € ÝˆB�"ŠHÑÔÐÐÐrP   c                  óh   — t           t          z   D ]!} t          | ¦  «        }t          | |¦  «         Œ"d S rQ   )Úbasic_arraysÚrecord_arraysrb   r	   ©r^   ra   s     rO   Útest_roundtripro   ¹  s>   € Ý�mÑ+ð &ð &ˆÝ˜‰~Œ~ˆÝ˜3 Ñ%Ô%Ð%Ð%ð&ð &rP   c                  óˆ   — t           t          z   D ]1} | j        t          k    rt	          | ¦  «        }t          | |¦  «         Œ2d S rQ   )rl   rm   r   Úobjectrd   r	   rn   s     rO   Útest_roundtrip_randsizerr   ¿  sK   € Ý�mÑ+ð *ð *ˆØŒ9�ÒÐÝ% cÑ*Ô*ˆDÝ˜s DÑ)Ô)Ð)øð*ð *rP   c                  óp   — t           D ]-} | j        t          k    rt          t          t
          | ¦  «         Œ.d S rQ   )rl   r   rq   r
   Ú
ValueErrorrf   ©r^   s    rO   Útest_roundtrip_truncatedrv   Æ  s@   € Ýð @ð @ˆØŒ9�ÒÐÝ�*Õ&9¸3Ñ?Ô?Ð?øð@ð @rP   c                 ót  — | dz  }t           D �])}|j        t          k    �rt          |d¦  «        5 }t	          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }|                     dt          j        ¦  «         | 	                    ¦   «          d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }t          j        t          |j        dk    rdnd¬	¦  «        5  t	          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   �Œ+d S )
Nza.npyÚwbzrb+r   Úrbr   z9EOF: reading array header, expected (\d+) bytes got (\d+)zŠFailed to read all data for array\. Expected \(.*?\) = (\d+) elements, could only read (\d+) elements\. \(file seems not fully written\?\)©Úmatch)rl   r   rq   Úopenr   rZ   ÚseekÚosÚSEEK_ENDÚtruncateÚpytestÚraisesrt   rM   r\   )Útmp_pathÚpathr^   r_   Ú_s        rO   Útest_file_truncatedr†   Ë  s0  € Ø�gÑ€DÝð -ñ -ˆØŒ9�ÒÑÝ�d˜DÑ!Ô!ð + QÝÔ" 1 cÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ �d˜EÑ"Ô"ð  aØ—’�r�2œ;Ñ'Ô'Ð'Ø—
’
‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �d˜DÑ!Ô!ð - QÝ”]Ýð œ Qš˜ð:ð :ð>ðñ ô ð -ð -õ Ô)¨!Ñ,Ô,�Að-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ùð-ð -sY   ±AÁA	ÁA	Á.5B/Â/B3	Â6B3	Ã
)D+Ã3DÄD+ÄDÄD+ÄDÄD+Ä+D/	Ä2D/	c                  ó¼   — t          j        dt          j        t          t          j        dz   f¦  «        ¬¦  «        } t          | ¦  «        }t          | |¦  «         d S )Nr8   r   )ÚnpÚonesr   Ústrr   ÚBUFFER_SIZErb   r	   )Úlong_str_arrÚlong_str_arr2s     rO   Útest_long_strrŽ   ä  sP   € å”7˜1¥B¤H­cµ6Ô3EÈÑ3IÐ-JÑ$KÔ$KÐLÑLÔL€LÝ˜lÑ+Ô+€MÝ�| ]Ñ3Ô3Ð3Ð3Ð3rP   zmemmap doesn't work correctly)Úreasonc                 ó€  — t          t          t          z   ¦  «        D �]Ÿ\  }}|j        j        rŒt
          j                             | d|› d�¦  «        }t
          j                             | d|› d�¦  «        }t          |d¦  «        5 }t          j
        ||¦  «         d d d ¦  «         n# 1 swxY w Y   |j        j        o|j        j         }t          j        |d|j        |j        |¬¦  «        }||d<   |                     ¦   «          t          |d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }|                     ¦   «         }	d d d ¦  «         n# 1 swxY w Y   t%          ||	¦  «         t          j        |d	¬
¦  «        }|                     ¦   «          �Œ¡d S )NÚnormalz.npyÚmemmaprx   úw+)Úmoder   ÚshapeÚfortran_order.ry   Úr)r”   )Ú	enumeraterl   rm   r   Ú	hasobjectr~   r„   Újoinr|   r   rZ   ÚflagsÚf_contiguousÚc_contiguousÚopen_memmapr•   ÚflushrK   rj   )
ÚtmpdirÚir^   ÚnfnÚmfnÚfpr–   ÚmaÚnormal_bytesÚmemmap_bytess
             rO   Útest_memmap_roundtripr¨   ë  s`  € õ �L­=Ñ8Ñ9Ô9ð ñ ‰ˆˆ3ØŒ9Ôð 	àåŒg�lŠl˜6Ð#3¨AÐ#3Ð#3Ð#3Ñ4Ô4ˆÝŒg�lŠl˜6Ð#3¨AÐ#3Ð#3Ð#3Ñ4Ô4ˆÝ�#�t‰_Œ_ð 	( ÝÔ˜r 3Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð ŒIÔ"ÐA¨3¬9Ô+AÐ'Að 	åÔ ¨$°c´iØ&)¤i¸}ðNñ Nô Nˆàˆˆ3‰Ø
�Š‰
Œ
ˆ
õ �#�t‰_Œ_ð 	% ØŸ7š7™9œ9ˆLð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%å�#�t‰_Œ_ð 	% ØŸ7š7™9œ9ˆLð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%å�l LÑ1Ô1Ð1õ Ô ¨#Ð.Ñ.Ô.ˆØ
�Š‰
Œ
ˆ
‰
ð5ð s6   ÂB*Â*B.	Â1B.	ÄD;Ä;D?	ÅD?	ÅE7Å7E;	Å>E;	c                 ó:  — t           j                             dd¦  «        }t          j                             | d¦  «        }t          j        ||¬¦  «         t          j        |¦  «        5 }|d         }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         d S )NéÈ   zcompressed.npzru   r^   )	rˆ   rH   Úrandr~   r„   rš   Úsavez_compressedÚloadr	   )r    r^   Únpz_fileÚnpzÚarr1s        rO   Útest_compressed_roundtripr±     sÄ   € Ý
Œ)�.Š.˜˜cÑ
"Ô
"€CÝŒw�|Š|˜FÐ$4Ñ5Ô5€HÝÔ˜ cÐ*Ñ*Ô*Ð*Ý	Œ�Ñ	Ô	ð ˜cØ�5Œzˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å�s˜DÑ!Ô!Ð!Ð!Ð!s   Á+	B Â BÂBz
i1, i4, i1)ÚalignÚaÚbr   é   )ÚnamesÚformatsÚoffsetsrA   Úd)r¶   r·   )r³   Ú r´   ÚaaÚbb)r¶   r·   r¸   Útitles)r¶   r·   ÚitemsizeÚdtc                 óX  — t          j        d|¦  «        }t          d¦  «        D ]
}|dz   ||<   Œt          j                             | d¦  «        }t          j        ||¬¦  «         t          j        |¦  «        5 }|d         }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         d S )Nr    rD   zaligned.npzru   r^   )	rˆ   ÚzerosÚranger~   r„   rš   Úsavezr­   r	   )r    r¿   r^   r¡   r®   r¯   r°   s          rO   Útest_load_padded_dtyperÄ   #  sà   € å
Œ(�1�b‰/Œ/€CÝ�1‰XŒXð ð ˆØ�Q‘ˆˆA‰ˆÝŒw�|Š|˜F MÑ2Ô2€HÝ„HˆX˜3ÐÑÔÐÝ	Œ�Ñ	Ô	ð ˜cØ�5Œzˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å�s˜DÑ!Ô!Ð!Ð!Ð!s   Á:	BÂBÂB)r    é   zsee gh-23988z!Emscripten NODEFS has a buggy dupc                  ób  — d} t           j                             t           j                             t          ¦  «        d| ¦  «        }t          j        t          d¬¦  «        5  t          j	        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |t          j        d¦  «        ¦  «         d S )Nzwin64python2.npyÚdatazReading.*this warning\.rz   r   )r~   r„   rš   ÚdirnameÚ__file__r�   ÚwarnsÚUserWarningrˆ   r­   r	   r‰   )Úfnamer„   rÇ   s      rO   Ú%test_python2_python3_interoperabilityrÍ   /  sÄ   € ð €EÝŒ7�<Š<�œŸš­Ñ1Ô1°6¸5ÑAÔA€DÝ	Œ•kÐ)CÐ	DÑ	DÔ	Dð ð ÝŒw�t‰}Œ}ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å�t�RœW Q™ZœZÑ(Ô(Ð(Ð(Ð(s   Á!BÂBÂ	Bc            	      óV  — t           j                             t           j                             t          ¦  «        d¦  «        } t          j        d t          ddgt          ¬¦  «        }dD �]>}t           j                             | |¦  «        }dD �]}t          j	        |d|¬¦  «        }| 
                    d	¦  «        r|d
         }|                     ¦   «          n|}|dk    r�|                     d¦  «        rxt          t          |d         t          ¦  «        ¦  «         t!          |d d…         |d d…         ¦  «         t!          |d                              |¦  «        |d         ¦  «         Œát          t          |d         t$          ¦  «        ¦  «         t!          ||¦  «         �Œ|                     d¦  «        ré| 
                    d	¦  «        rŽt          j	        |d¬¦  «        }t'          t(          |j        d
¦  «         |                     ¦   «          t          j	        |ddd¬¦  «        }t'          t,          |j        d
¦  «         |                     ¦   «          �Œøt'          t(          t
          j	        |d¬¦  «         t'          t,          t
          j	        |ddd¬¦  «         �Œ@d S )NrÇ   u   å„ªè‰¯s   ä¸�è‰¯r   )zpy2-np0-objarr.npyúpy2-objarr.npyúpy2-objarr.npzzpy3-objarr.npyzpy3-objarr.npz)ÚbytesÚlatin1T©rX   Úencodingz.npzr   rÒ   Úpy2r    r   rW   F)rX   Úfix_importsrÔ   )r~   r„   rš   rÈ   rÉ   rˆ   ÚarrayrÂ   rq   r­   ÚendswithÚcloseÚ
startswithr   Ú
isinstancerŠ   r	   ÚencoderÑ   r
   ÚUnicodeErrorÚ__getitem__ÚImportError)Údata_dirÚexpectedrÌ   r„   rÔ   Údata_frÇ   s          rO   Útest_pickle_python2_python3rã   9  sr  € õ Œw�|Š|�BœGŸOšO­HÑ5Ô5°vÑ>Ô>€HåŒx˜�u nØ4ð6å$ð&ñ &ô &€Hð6ð #1ñ #1ˆåŒw�|Š|˜H eÑ,Ô,ˆà+ð 	3ñ 	3ˆHÝ”W˜T°¸xÐHÑHÔHˆFØ�~Š~˜fÑ%Ô%ð Ø˜c”{�Ø—’‘”��à�à˜8Ò#Ð#¨×(8Ò(8¸Ñ(?Ô(?Ð#Ý�
 4¨¤7­CÑ0Ô0Ñ1Ô1Ð1Ý" 4¨¨¨¤9¨h°s¸°s¬mÑ<Ô<Ð<å" 4¨¤8§?¢?°8Ñ#<Ô#<¸hÀr¼lÑKÔKÐKÐKå�
 4¨¤7­EÑ2Ô2Ñ3Ô3Ð3Ý" 4¨Ñ2Ô2Ð2Ñ2à×Ò˜EÑ"Ô"ð 	1Ø�~Š~˜fÑ%Ô%ð 1Ý”w˜t°$Ð7Ñ7Ô7�Ý�l¨DÔ,<¸cÑBÔBÐBØ—
’
‘”�Ý”w˜t°$ÀEØ(0ð2ñ 2ô 2�å�k¨4Ô+;¸SÑAÔAÐAØ—
’
‘”�‘å�l­B¬G°TØ+/ð1ñ 1ô 1ð 1å�k­2¬7°DØ+/¸UØ'/ð1ñ 1ô 1ð 1ùðC#1ð #1rP   c           	      óž  — t           j                             t           j                             t          ¦  «        d¦  «        }t           j                             |d¦  «        }t          t          t          j        |dd¬¦  «         t           j                             |d¦  «        }t          j        |dd¬¦  «        5 }t          t          |j	        d¦  «         d d d ¦  «         n# 1 swxY w Y   t           j                             | d¦  «        }t          t          t          j
        |t          j        d gt          ¬	¦  «        d¬
¦  «         d S )NrÇ   rÏ   FrÒ   rÓ   rÐ   r   zpickle-disabled.npyr   rW   )r~   r„   rš   rÈ   rÉ   r
   rt   rˆ   r­   rÞ   Úsaver×   rq   )r    rà   r„   r_   s       rO   Útest_pickle_disallowræ   h  sK  € ÝŒw�|Š|�BœGŸOšO­HÑ5Ô5°vÑ>Ô>€HåŒ7�<Š<˜Ð"2Ñ3Ô3€DÝ•*�bœg tØ$¨xð9ñ 9ô 9ð 9õ Œ7�<Š<˜Ð"2Ñ3Ô3€DÝ	Œ� E°HÐ	=Ñ	=Ô	=ð 6ÀÝ•j !¤-°Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6õ Œ7�<Š<˜Ð 5Ñ6Ô6€DÝ•*�bœg t­R¬X°t°fÅFÐ-KÑ-KÔ-KØ$ð&ñ &ô &ð &ð &ð &s   Â=C%Ã%C)Ã,C))r    r   Úi1)r¶   r·   r¸   r¾   )r"   )r   rB   r   rC   c                 óÀ   — t          j        | j        ¦  «        }t          || ¦  «         t	          j        d| ¦  «        }t          |¦  «        }t          ||¦  «         d S )Nr    )r   Údescr_to_dtypeÚdescrrj   rˆ   rÁ   rb   r	   )r¿   Údt1r°   ra   s       rO   Útest_descr_to_dtyperì   w  sW   € õb Ô
 ¤Ñ
)Ô
)€CÝ�#�rÑÔÐÝŒ8�A�r‰?Œ?€DÝ�T‰?Œ?€DÝ�t˜TÑ"Ô"Ð"Ð"Ð"rP   c                  ó  — t          ¦   «         } d„ t          d¦  «        D ¦   «         }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 ¦  «         n# 1 swxY w Y   |                      d¦  «         |                      ¦   «         }t          t          |¦  «        t          j        z  dk    ¦  «         |                      d¦  «         t	          j        | d¬¦  «        }t#          ||¦  «         t%          t&          t          j        | |d¦  «         d S )Nc                 ó,   — g | ]}d |z  dz  t           f‘ŒS ©z%déd   ©Úfloat©Ú.0r¡   s     rO   ú
<listcomp>z$test_version_2_0.<locals>.<listcomp>±  ó&   € Ð	8Ð	8Ð	8¨ˆD�1‰H˜Ñ�UÐ
#Ð	8Ð	8Ð	8rP   éô  éè  r   ©r   r   ©ÚversionT©ÚrecordÚalwaysrº   r   é@ ©Úmax_header_size©r8   r   )r   rÂ   rˆ   r‰   r   rZ   ÚwarningsÚcatch_warningsÚfilterwarningsrË   r   Úcategoryr}   ÚreadlineÚlenÚARRAY_ALIGNr\   r	   r
   rt   )r_   r¿   r¹   ÚwÚheaderÚns         rO   Útest_version_2_0r  ®  s‹  € Ý‰	Œ	€Aà	8Ð	8­U°3©Z¬ZÐ	8Ñ	8Ô	8€BÝ
Œ�˜BÐÑÔ€Aå
Ô�q˜! VÐ,Ñ,Ô,Ð,Ý	Ô	 ¨Ð	-Ñ	-Ô	-ð .°ÝÔ ¨"­kÑ:Ô:Ð:ÝÔ˜1˜aÑ Ô Ð Ý��!””¥Ð,Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð ‡F‚Fˆ1�I„I€IØ�ZŠZ‰\Œ\€FÝ�C�‰KŒK�&Ô,Ñ,°Ò1Ñ2Ô2Ð2à‡F‚Fˆ1�I„I€IÝÔ˜!¨VÐ4Ñ4Ô4€AÝ�q˜!ÑÔÐõ •*�fÔ0°!°Q¸Ñ?Ô?Ð?Ð?Ð?s   Á*ACÃCÃCc           	      ó   — d„ t          d¦  «        D ¦   «         }t          j        d|¬¦  «        }t          j                             | d¦  «        }t          j                             | d¦  «        }t          t          t          j	        |d|j
        |j        d¬	¦  «         t          j	        |d|j
        |j        d
¬	¦  «        }||d<   |                     ¦   «          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<   |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j	        |dd¬¦  «        }t          ||¦  «         d S )Nc                 ó,   — g | ]}d |z  dz  t           f‘ŒS rï   rñ   ró   s     rO   rõ   z+test_version_2_0_memmap.<locals>.<listcomp>Ê  rö   rP   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ˆ   r‰   r~   r„   rš   r
   rt   r   rž   r   r•   rŸ   r	   r  r  r  rË   r   r  )r    r¿   r¹   Útf1Útf2r¥   r
  s          rO   Útest_version_2_0_memmapr  Ç  sð  € ð 
9Ð	8­U°3©Z¬ZÐ	8Ñ	8Ô	8€BÝ
Œ�˜BÐÑÔ€AÝ
Œ'�,Š,�vÐ0Ñ
1Ô
1€CÝ
Œ'�,Š,�vÐ0Ñ
1Ô
1€Cõ •*�fÔ0°#¸DÈÌØ"#¤'°6ð;ñ ;ô ;ð ;õ 
Ô	˜C d°!´'Ø"#¤'°6ð
;ñ 
;ô 
;€Bà€B€s�GØ‡H‚H�J„J€JÝ	Ô	˜C c¸6Ð	BÑ	BÔ	B€BÝ�r˜1ÑÔÐå	Ô	 ¨Ð	-Ñ	-Ô	-ð °ÝÔ ¨"­kÑ:Ô:Ð:ÝÔ ¨$°a´gØ&'¤g°tð=ñ =ô =ˆå��!””¥Ð,Ñ-Ô-Ð-Øˆˆ3‰Ø
�Š‰
Œ
ˆ
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Ô	˜C c¸6Ð	BÑ	BÔ	B€Bå�r˜1ÑÔÐÐÐs   ÄA9FÆF Æ#F Ú	mmap_moder—   c                 óÐ  — t           j                             | d¦  «        }t          j        dddz  dz   ¬¦  «        }t          j        t          d¬¦  «        5  t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d	¬¦  «        5  t          j        ||¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d	¬¦  «        5  t          j        ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ||d¬¦  «        }t          ||¦  «         t          j        ||d¬¦  «        }t          ||¦  «         d S )Nzlarge_header.npyr8   úi,é'  r¡   r   ú.*format 2.0rz   úHeader.*large)r  é N  )r  r  T)r  rX   é ¿ )r~   r„   rš   rˆ   r×   r�   rÊ   rË   rå   r‚   rt   r­   r	   )r    r  r_   r^   Úress        rO   Útest_huge_headerr  æ  s  € å
Œ�Š�VÐ/Ñ0Ô0€AÝ
Œ(�1˜D 5™L¨3Ñ.Ð
/Ñ
/Ô
/€Cå	Œ•k¨Ð	8Ñ	8Ô	8ð ð Ý
Œ��3‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•z¨Ð	9Ñ	9Ô	9ð (ð (Ý
Œ�˜YÐ'Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ 
Œ•z¨Ð	9Ñ	9Ô	9ð ?ð ?Ý
Œ�˜Y¸Ð>Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ Œ'�!˜y°tÐ
<Ñ
<Ô
<€CÝ�s˜CÑ Ô Ð å
Œ'�!˜y¸&Ð
AÑ
AÔ
A€CÝ�s˜CÑ Ô Ð Ð Ð s6   ÁA:Á:A>ÂA>Â CÃCÃ
CÃ)DÄDÄDc                 óø  — t           j                             | d¦  «        }t          j        dddz  dz   ¬¦  «        }t          j        t          d¬¦  «        5  t          j        ||¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d
¬¦  «        5  t          j        |¦  «        d          d d d ¦  «         n# 1 swxY w Y   t          j	        t          d
¬¦  «        5  t          j        |d¬¦  «        d          d d d ¦  «         n# 1 swxY w Y   t          j        |d¬¦  «        d         }t          ||¦  «         t          j        |d¬¦  «        d         }t          ||¦  «         d S )Nzlarge_header.npzr8   r  r  r¡   r   r  rz   ru   r  r^   r  r   TrW   r  )r~   r„   rš   rˆ   r×   r�   rÊ   rË   rÃ   r‚   rt   r­   r	   )r    r_   r^   r  s       rO   Útest_huge_header_npzr  ú  s  € Ý
Œ�Š�VÐ/Ñ0Ô0€AÝ
Œ(�1˜D 5™L¨3Ñ.Ð
/Ñ
/Ô
/€Cå	Œ•k¨Ð	8Ñ	8Ô	8ð ð Ý
Œ�˜ÐÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•z¨Ð	9Ñ	9Ô	9ð ð Ý
Œ�‰
Œ
�5ÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•z¨Ð	9Ñ	9Ô	9ð 1ð 1Ý
Œ� 5Ð)Ñ)Ô)¨%Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1õ Œ'�! $Ð
'Ñ
'Ô
'¨Ô
.€CÝ�s˜CÑ Ô Ð å
Œ'�! VÐ
,Ñ
,Ô
,¨UÔ
3€CÝ�s˜CÑ Ô Ð Ð Ð s6   ÁA;Á;A?ÂA?Â!CÃCÃCÃ.DÄDÄDc                  óì  — t          ¦   «         } t          j        d¦  «        }t          j        | |d¬¦  «         t          j        | |¦  «         t          j        | |d ¬¦  «         t          j        | |¦  «         t          j        | |d¬¦  «         t          j        | |¦  «         g d¢}|D ]F}t          t          d¦  «        5  t          j        | ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGd S )Nr8   r  rú   rù   ))r8   r8   )r   r   )r   r8   r   )éÿ   r   z we only support format version.*)r   rˆ   Úaranger   rZ   r   rt   )r_   r^   Úbad_versionsrû   s       rO   Útest_write_versionr#    sJ  € Ý‰	Œ	€AÝ
Œ)�A‰,Œ,€Cå
Ô�q˜# vÐ.Ñ.Ô.Ð.Ý
Ô�q˜#ÑÔÐå
Ô�q˜# tÐ,Ñ,Ô,Ð,Ý
Ô�q˜#ÑÔÐå
Ô�q˜# vÐ.Ñ.Ô.Ð.Ý
Ô�q˜#ÑÔÐðð ð €Lð  ð 8ð 8ˆÝ ¥Ø!CñEô Eð 	8ð 	8åÔ˜q #¨wÐ7Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8øð8ð 8s   ÃC(Ã(C,	Ã/C,	)s   “NUMPYs   “NUMPY  s   “NUMPY s   “NUMPY s   “NUMPYs   “NUMPYÿÿ)s   ’NUMPY s    NUMPY s   “numpy s   “MATLB s   “NUMPYs   “NUMPYrP   c                  ó|  — t          ¦   «         } t          ¦   «         }t          j        dt          ¬¦  «        }t	          j        | |d¬¦  «         t	          j        ||d¬¦  «         |                      d¦  «         |                     d¦  «         t	          j        | ¦  «        }t	          j        |¦  «        }t          |dk    ¦  «         t          |dk    ¦  «         t          |  	                    ¦   «         t          j
        k    ¦  «         t          | 	                    ¦   «         t          j
        k    ¦  «         d S )N©r    rµ   r   r  rú   rù   r   )r   rˆ   r‰   rò   r   rZ   r}   Ú
read_magicr   ÚtellÚ	MAGIC_LEN)Ús1Ús2r^   Úversion1Úversion2s        rO   Útest_read_magicr-  ;  sþ   € Ý	‰Œ€BÝ	‰Œ€Bå
Œ'�&¥Ð
&Ñ
&Ô
&€Cå
Ô�r˜3¨Ð/Ñ/Ô/Ð/Ý
Ô�r˜3¨Ð/Ñ/Ô/Ð/à‡G‚GˆA�J„J€JØ‡G‚GˆA�J„J€JåÔ  Ñ$Ô$€HÝÔ  Ñ$Ô$€HåˆH˜ÒÑÔÐÝˆH˜ÒÑÔÐåˆB�GŠG‰IŒI�Ô)Ò)Ñ*Ô*Ð*ÝˆB�GŠG‰IŒI�Ô)Ò)Ñ*Ô*Ð*Ð*Ð*rP   c                  óx   — t           D ]1} t          | ¦  «        }t          t          t          j        |¦  «         Œ2d S rQ   )Úmalformed_magicr   r
   rt   r   r\   ©Úmagicr_   s     rO   Útest_read_magic_bad_magicr2  P  s>   € Ý ð 8ð 8ˆÝ�E‰NŒNˆÝ•j¥&Ô"3°QÑ7Ô7Ð7Ð7ð8ð 8rP   c                  óˆ   — t           t          z   D ]1} t          | ¦  «        }t          t          t
          j        |¦  «         Œ2d S rQ   )Úbad_version_magicr/  r   r
   rt   r   r\   r0  s     rO   Útest_read_version_1_0_bad_magicr5  V  sC   € Ý"¥_Ñ4ð 8ð 8ˆÝ�E‰NŒNˆÝ•j¥&Ô"3°QÑ7Ô7Ð7Ð7ð8ð 8rP   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¦  «         d S )Nr   r8   é   )r
   rt   r   r1  © rP   rO   Útest_bad_magic_argsr9  \  s`   € Ý•*�fœl¨B°Ñ2Ô2Ð2Ý•*�fœl¨C°Ñ3Ô3Ð3Ý•*�fœl¨A¨rÑ2Ô2Ð2Ý•*�fœl¨A¨sÑ3Ô3Ð3Ð3Ð3rP   c                  óÌ   — t          ¦   «         } ddddœ}t          j        | |¦  «         t          ¦   «         } ddz  dfg|d<   t          t          t          j        | |¦  «         d S )Nr8  Fz<i8©r•   r–   rê   Á   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr7  rê   )r   r   Úwrite_array_header_1_0r
   rt   ©Úsr¹   s     rO   Útest_large_headerr@  c  sh   € Ý‰	Œ	€AØ u°uÐ=Ð=€AÝ
Ô! ! QÑ'Ô'Ð'å‰	Œ	€AØ˜s‘? EÐ*Ð+€A€g�JÝ•*�fÔ;¸QÀÑBÔBÐBÐBÐBrP   c                  ó”  — t          ¦   «         } t          j        dt          ¬¦  «        }t	          j        | |d¬¦  «         |                      t          j        ¦  «         t	          j        | ¦  «        \  }}}t          |  
                    ¦   «         t          j        z  dk    ¦  «         t          |||fddt          fk    ¦  «         d S )Nr%  r   r  rú   r   F)r   rˆ   r‰   rò   r   rZ   r}   r(  Úread_array_header_1_0r   r'  r	  ©r?  r^   r•   Úfortranr   s        rO   Útest_read_array_header_1_0rE  m  ó­   € Ý‰	Œ	€Aå
Œ'�&¥Ð
&Ñ
&Ô
&€CÝ
Ô�q˜# vÐ.Ñ.Ô.Ð.à‡F‚F�6ÔÑÔÐÝ"Ô8¸Ñ;Ô;Ñ€Eˆ7�EåˆA�FŠF‰HŒH•vÔ)Ñ)¨QÒ.Ñ/Ô/Ð/ÝˆU�G˜UÐ#¨°µuÐ'=Ò=Ñ>Ô>Ð>Ð>Ð>rP   c                  ó”  — t          ¦   «         } t          j        dt          ¬¦  «        }t	          j        | |d¬¦  «         |                      t          j        ¦  «         t	          j        | ¦  «        \  }}}t          |  
                    ¦   «         t          j        z  dk    ¦  «         t          |||fddt          fk    ¦  «         d S )Nr%  r   rù   rú   r   F)r   rˆ   r‰   rò   r   rZ   r}   r(  Úread_array_header_2_0r   r'  r	  rC  s        rO   Útest_read_array_header_2_0rI  z  rF  rP   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        | ¦  «         d S )	Nó   1s    s@   “NUMPY 6 {'descr': 'x', 'shape': (1, 2), }                    
©r8   r   Fr   r   )r•   r–   rê   Úextrakey)r   r
   rt   r   rB  r=  r>  s     rO   Útest_bad_headerrN  ‡  sâ   € å‰	Œ	€AÝ•*�fÔ:¸AÑ>Ô>Ð>Ý�‰Œ€AÝ•*�fÔ:¸AÑ>Ô>Ð>õ 	�ÑÔ€AÝ•*�fÔ:¸AÑ>Ô>Ð>õ
 	ð	"ñ	ô 	€Aõ •*�fÔ:¸AÑ>Ô>Ð>àØØØð	ð 	€Aõ 	‰	Œ	€AÝ
Ô! ! QÑ'Ô'Ð'Ý•*�fÔ:¸AÑ>Ô>Ð>Ð>Ð>rP   c                 óÂ  — t           j        dk    st           j        dk    rt          j        d¦  «         t          j                             | d¦  «        }	 dd l}|                     ddd|g¦  «         n$# t          $ r t          j        d	¦  «         Y nw xY wt          |d
¦  «        5 }|                     d¦  «         t          j        d¦  «        }t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }|                     d¦  «         t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t!          ||¦  «         d S )NÚwin32Úcygwinz)Unknown if Windows has sparse filesystemsÚsparse_filer   r€   z-sÚ
5368709120zCould not create 5GB large filerx   l        rD   ry   )ÚsysÚplatformr�   Úskipr~   r„   rš   Ú
subprocessÚ
check_callÚ	Exceptionr|   r}   rˆ   r!  rå   r­   r	   )r    Útf_nameÚspr_   r¹   r—   s         rO   Útest_large_file_supportr\  ¤  sÑ  € ÝŒ˜ÒÐ¥3¤<°8Ò#;Ð#;ÝŒÐ?Ñ@Ô@Ð@åŒg�lŠl˜6 =Ñ1Ô1€Gð7ð 	 ÐÐÐØ
�Š�z 4¨°wÐ?Ñ@Ô@Ð@Ð@øÝð 7ð 7ð 7ÝŒÐ5Ñ6Ô6Ð6Ð6Ð6ð7øøøõ 
ˆg�tÑ	Ô	ð  Ø	�ŠˆzÑÔÐÝŒI�a‰LŒLˆÝ
Œ��1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 
ˆg�tÑ	Ô	ð  Ø	�ŠˆzÑÔÐÝŒG�A‰JŒJˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �q˜!ÑÔÐÐÐs6   ÁA4 Á4BÂBÂ(?C3Ã3C7Ã:C7Ä*EÅEÅEzflaky on PyPyztest requires 64-bit systeml        )Ú
free_bytesc                 óò  — d}	 t          j        |t           j        ¬¦  «        }n$# t          $ r t	          j        d¦  «         Y nw xY wt          j                             | d¦  «        }t          |d¦  «        5 }t          j
        ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   ~t          |d¦  «        5 }t          j        |¦  «        d         }d d d ¦  «         n# 1 swxY w Y   |j        |k    sJ ‚d S )	N)i   @r   r   zCould not create large fileÚlarge_archiverx   ru   ry   r^   )rˆ   ÚemptyÚuint8ÚMemoryErrorr�   rV  r~   r„   rš   r|   rÃ   r­   r•   )r    r•   r³   rÌ   r_   Únew_as         rO   Útest_large_archiverd  ½  sz  € ð €Eð3ÝŒH�U¥"¤(Ð+Ñ+Ô+ˆˆøÝð 3ð 3ð 3ÝŒÐ1Ñ2Ô2Ð2Ð2Ð2ð3øøøõ ŒG�LŠL˜ Ñ1Ô1€Eå	ˆe�TÑ	Ô	ð ˜aÝ
Œ�˜ÐÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 	
å	ˆe�TÑ	Ô	ð "˜aÝ”˜‘
”
˜5Ô!ˆð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð Œ;˜%ÒÐÐÐÐÐs3   „ % ¥AÁAÁ9BÂB Â#B Â8CÃC#Ã&C#c                 óÊ   — t           j                             | d¦  «        }t          j        |¦  «         t          j        |¦  «        5 }	 d d d ¦  «         d S # 1 swxY w Y   d S )Nznothing.npz)r~   r„   rš   rˆ   rÃ   r­   )r    rÌ   Únpss      rO   Útest_empty_npzrg  ×  s–   € åŒG�LŠL˜ Ñ/Ô/€EÝ„HˆU�O„O€OÝ	Œ�‰Œð ˜3Øðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á	AÁAÁAc                 ó„  — t          j        g d¢dt          fdt          fg¬¦  «        }t          j                             | d¦  «        }t          |d¦  «        5 }t          j        ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d	¦  «        5 }t          j	        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         t          |d¦  «        5 }t          t          ¦  «        5  t          j        ||d ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )
N)©r8   r    rL  ri  rL  Úintu   æ•´å½¢r   zunicode.npyrx   )r    r   rú   ry   )rˆ   r×   rj  r~   r„   rš   r|   r   rZ   r\   r	   r   rË   )r    r^   rÌ   r_   ra   s        rO   Útest_unicode_field_namesrk  ß  s>  € å
Œ(ð ð ð ð 
•ˆØ	GÍÐMððñ ô €Cõ ŒG�LŠL˜ Ñ/Ô/€EÝ	ˆe�TÑ	Ô	ð 3˜aÝÔ˜1˜c¨6Ð2Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3å	ˆe�TÑ	Ô	ð $˜aÝÔ  Ñ#Ô#ˆð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å�s˜DÑ!Ô!Ð!õ 
ˆe�TÑ	Ô	ð 5˜aÝ�+Ñ&Ô&ð 	5ð 	5ÝÔ˜q #¨tÐ4Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5sZ   ÁA=Á=BÂBÂB9Â9B=Ã B=Ã$D5Ã9DÄD5ÄD!	Ä!D5Ä$D!	Ä%D5Ä5D9Ä<D9c                  ób  — g d¢g d¢g d¢g d¢fD ]Ÿ\  } }}d„ t          t          j        ¦  «        D ¦   «         D ]u}t          ¦   «         }t          j        || rd|fn|df| t          j        d|z  t          fg¦  «        dœ¦  «         t          | 	                    ¦   «         ¦  «        |k    sJ ‚ŒvŒ d S )	N)Fé   é€   )Fé   éÀ   )Tro  rn  )Té   rp  c                 ó   — g | ]}d |z  ‘ŒS )r   r8  ró   s     rO   rõ   z+test_header_growth_axis.<locals>.<listcomp>ú  s   € ÐIÐIÐI˜q�R˜‘UÐIÐIÐIrP   r   ú r;  )
rÂ   r   ÚGROWTH_AXIS_MAX_DIGITSr   r=  rˆ   r   rj  r  r[   )Úis_fortran_arrayÚdtype_spaceÚexpected_header_lengthrM   r¤   s        rO   Útest_header_growth_axisrx  ö  sþ   € àÐÐÐ*Ð*Ð*¨O¨O¨O¸_¸_¸_ðBð @ð @Ñ=Ð˜+Ð'=ð JÐI¥E­&Ô*GÑ$HÔ$HÐIÑIÔIð 	@ð 	@ˆDÝ‘”ˆBÝÔ)¨"Ø&6ÐE˜!˜T˜˜¸TÀ1¸IØ!1Ýœ C¨+Ñ$5µsÐ#;Ð"<Ñ=Ô=ð/ð /ñ ô ð õ �r—{’{‘}”}Ñ%Ô%Ð)?Ò?Ð?Ð?Ð?Ð?ð	@ð@ð @rP   Ú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 ¦  «         n# 1 swxY w Y   |                     d¦  «         t          j        |¦  «        }ddlm	} t          ||¦  «          ||j        ¦  «        |j        usJ ‚ ||j        ¦  «        |j        u sJ ‚d S )Nr   r   r   )Údrop_metadata)rˆ   r‰   r   r   rË   rå   r}   r­   Únumpy.lib._utils_implr€  r	   r   )r¿   r^   Úbufra   r€  s        rO   Útest_metadata_dtyperƒ    s  € õ Œ'�"˜BÐ
Ñ
Ô
€CÝ
‰)Œ)€CÝ	•kÑ	"Ô	"ð ð Ý
Œ��SÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à‡H‚HˆQ�K„K€Kõ Œ7�3‰<Œ<€Dà3Ð3Ð3Ð3Ð3Ð3Ý�s˜DÑ!Ô!Ð!Øˆ=˜œÑ#Ô#¨3¬9Ð4Ð4Ð4Ð4Øˆ=˜œÑ$Ô$¨¬
Ð2Ð2Ð2Ð2Ð2Ð2s   ¹AÁAÁ"A)lÚ__doc__r~   rT  r  Úior   r�   Únumpyrˆ   Ú	numpy.libr   Únumpy.testingr   r   r   r   r	   r
   r   r   Únumpy.testing._private.utilsr   ra  Úint8Úuint16Úint16Úuint32Úint32Úuint64Úint64Úfloat32Úfloat64Ú	complex64Ú
complex128rq   Úscalarsrl   ÚscalarÚendianr   Únewbyteorderr!  ÚastypeÚbasicÚextendr×   ÚreshapeÚTÚPdescrÚPbufferTÚNdescrÚNbufferTrÁ   rm   rF   rb   rd   rf   rj   ro   rr   rv   r†   rŽ   ÚmarkÚskipifÚslowr¨   r±   rë   Údt2Údt3Údt4Údt5Údt6ÚparametrizerÄ   Úversion_infoÚxfailrÍ   rã   ræ   rj  rì   r  r  r  r  r#  r4  r/  r-  r2  r5  r9  r@  rE  rI  rN  r\  rd  rg  rk  rx  rò   Úimplementationrû   rƒ  r8  rP   rO   ú<module>r®     sd  ððRð Rðf 
€	€	€	Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð à €€€à Ð Ð Ð Ø Ð Ð Ð Ð Ð ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 9Ð 8Ð 8Ð 8Ð 8Ð 8ð „HØ„GØ„IØ„HØ„IØ„HØ„IØ„HØ„JØ„JØ„LØ„MØ
ð€ð €Øð ð €FØð ð ˆØ�”˜Ñ Ô ×-Ò-¨fÑ5Ô5ˆØ�”	˜$‘”×&Ò& uÑ-Ô-ˆØ×ÒàˆBŒH�R˜uÐ%Ñ%Ô%àˆBŒH�R˜uÐ%Ñ%Ô%àà�MŠM˜(Ñ#Ô#à�MŠM˜(Ñ#Ô#Ô%à�MŠM˜(Ñ#Ô# D D b D¨#¨#¨A¨# IÔ.ð
ñ 	ô 	ð 	ð 	ðð4
ð 
ð 
€ð ˆ€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ˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆQÐ1Ð2Ð3Ñ3Ô3ð€ð"ð "ð "ð "ð "˜ñ "ô "ð "ðð ð ðð ð ðð ð ðð ð ð&ð &ð &ð*ð *ð *ð@ð @ð @ð
-ð -ð -ð24ð 4ð 4ð „×Ò�GÐ$CÐÑDÔDØ„Ôðð ñ Ôñ EÔDðð<"ð "ð "ð €b„hˆ| 4Ð(Ñ(Ô(€à€b„h˜#˜s˜°°t°Ø˜q˜6ð#ð #ñ $ô $€ð €b„h˜#˜s˜°°s°Ð<Ð<Ñ=Ô=€à€b„h˜˜˜°T°F¸Q±JÐ?Ð?Ñ@Ô@€à€b„h˜#˜s˜°°t°Ø˜q˜6¨d°D¨\ð;ð ;ñ <ô <€ð €b„h˜¨¸Ð:Ð:Ñ;Ô;€à„×Ò˜  S¨#¨s°C¸Ð=Ñ>Ô>ð"ð "ñ ?Ô>ð"ð „×Ò�CÔ$¨Ò/¸ÐÑGÔGØ„×Ò�7Ð#FÐÑGÔGð)ð )ñ HÔGñ HÔGð)ð,1ð ,1ð ,1ð^&ð &ð &ð „×Ò˜Ø€B„HˆXˆRŒX˜˜RœW�~Ø˜RœX�Ø˜RœX�ðð  $ð%ñ %ô %ð ñ	ô ð
 €B„Hˆs�H�B”H¨¨S zØ*.°¨Ø*+¨Q¨Ø*+ðð ð
 ñô ð ðð ñ ô ð €B„Hð ð ñ ô ð €B„Hˆs�H�B”HØˆŒØˆBŒH  S˜zØ"&¨ Ø"# Q Ø"#ð%ð %ñ &ô &ð ðñ 	ô 	ð 	ð	
ñ 	ô 	ð 	ð 

ñ 
ô 
ð €B„HØ	ˆhˆbŒhØˆBŒHØ�”Ø�B”HØ˜c˜
Ø˜h˜bœh°#°s°Ø48¸$°<Ø45°q°6Ø45ð(7ð (7ñ 8ô 8ð 9ðñ ô ð ð	ñ 	ô 	ð ðñ ô ð ð
ñ ô ð 	ð
ñ ô ð;/ ñ /ô /ð`#ð #ña/ô /ð`#ð@ð @ð @ð2 „×Ò�GÐ$CÐÑDÔDðð ñ EÔDðð< „×Ò˜ s¨D kÑ2Ô2ð!ð !ñ 3Ô2ð!ð&!ð !ð !ð(8ð 8ð 8ð6ð ð Ð ðð ð €ð+ð +ð +ð*8ð 8ð 8ð8ð 8ð 8ð4ð 4ð 4ðCð Cð Cð
?ð 
?ð 
?ð
?ð 
?ð 
?ð?ð ?ð ?ð:ð ð ð2 „×Ò�G OÐÑ4Ô4Ø„×Ò˜�LÐ)FÐÑGÔGØ„ÔØ€˜IÐ&Ñ&Ô&ð ð  ñ 'Ô&ñ Ôñ HÔGñ 5Ô4ð ð,ð ð ð5ð 5ð 5ð.@ð @ð @ð „×Ò˜Ø€B„H˜˜S�z°°x°r´xÀØ! 7Ð+ð8-ñ 8-ô 8-ð 0.ð /ð /ñ 0ô 0à€B„HˆS˜F GÐ,Ð-Ñ-Ô-Ø€B„Hˆz˜C ˜;Ð'Ð(°F¸GÐ3DÐEÑEÔEà€B„H˜˜S�zØˆxˆrŒx 3 %°X°R´X¸cÈBÐ5OÑ5OÔ5OÐ4PÐQÐQÑRÔRð/ð ð ñ ô ð	 ñ 	ô 	ð „×Ò�GÐG Ô 2Ô :¸iÒ GØ-ð ñ /ô /ð3ð 3ñ/ô /ñ	ô 	ð3ð 3ð 3rP   