From 8210b92fb29a9dbf4bed908741b9527ec45b5570 Mon Sep 17 00:00:00 2001 From: James Bourbeau Date: Thu, 26 Mar 2020 11:53:42 -0500 Subject: [PATCH 1/4] Remove LegacyMsgPack --- numcodecs/__init__.py | 3 +- numcodecs/msgpacks.py | 41 ---------------- numcodecs/tests/test_msgpacks.py | 80 ++++---------------------------- 3 files changed, 11 insertions(+), 113 deletions(-) diff --git a/numcodecs/__init__.py b/numcodecs/__init__.py index 5ae6644c..2df5849a 100644 --- a/numcodecs/__init__.py +++ b/numcodecs/__init__.py @@ -92,9 +92,8 @@ register_codec(Pickle) try: - from numcodecs.msgpacks import MsgPack, LegacyMsgPack + from numcodecs.msgpacks import MsgPack register_codec(MsgPack) - register_codec(LegacyMsgPack) except ImportError: # pragma: no cover pass diff --git a/numcodecs/msgpacks.py b/numcodecs/msgpacks.py index ad644262..e4044d12 100644 --- a/numcodecs/msgpacks.py +++ b/numcodecs/msgpacks.py @@ -85,44 +85,3 @@ def __repr__(self): 'MsgPack(raw={!r}, use_bin_type={!r}, use_single_float={!r})' .format(self.raw, self.use_bin_type, self.use_single_float) ) - - -class LegacyMsgPack(Codec): - """Deprecated MsgPack codec. - - .. deprecated:: 0.6.0 - This codec is maintained to enable decoding of data previously encoded, however - there may be issues with encoding and correctly decoding certain object arrays, - hence the :class:`MsgPack` codec should be used instead for encoding new data. - See https://github.com/zarr-developers/numcodecs/issues/76 and - https://github.com/zarr-developers/numcodecs/pull/77 for more information. - - """ - - codec_id = 'msgpack' - - def __init__(self, encoding='utf-8'): - self.encoding = encoding - - def encode(self, buf): - buf = np.asarray(buf) - items = buf.tolist() - items.append(buf.dtype.str) - return msgpack.packb(items, encoding=self.encoding) - - def decode(self, buf, out=None): - buf = ensure_contiguous_ndarray(buf) - items = msgpack.unpackb(buf, encoding=self.encoding) - dec = np.array(items[:-1], dtype=items[-1]) - if out is not None: - np.copyto(out, dec) - return out - else: - return dec - - def get_config(self): - return dict(id=self.codec_id, - encoding=self.encoding) - - def __repr__(self): - return 'LegacyMsgPack(encoding=%r)' % self.encoding diff --git a/numcodecs/tests/test_msgpacks.py b/numcodecs/tests/test_msgpacks.py index 38a5691b..d7b5e12a 100644 --- a/numcodecs/tests/test_msgpacks.py +++ b/numcodecs/tests/test_msgpacks.py @@ -1,19 +1,13 @@ # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, division import unittest -import warnings import numpy as np try: - from numcodecs.msgpacks import LegacyMsgPack, MsgPack - default_codec = MsgPack() - # N.B., legacy codec is broken, see tests below. Also legacy code generates - # PendingDeprecationWarning due to use of encoding argument, which we ignore here - # as not relevant. - legacy_codec = LegacyMsgPack() + from numcodecs.msgpacks import MsgPack except ImportError: # pragma: no cover raise unittest.SkipTest("msgpack not available") @@ -38,44 +32,31 @@ np.array(greetings * 100, dtype=object), np.array([b'foo', b'bar', b'baz'] * 300, dtype=object), np.array([g.encode('utf-8') for g in greetings] * 100, dtype=object), + np.array([[0, 1], [2, 3]], dtype=object), ] -legacy_arrays = arrays[:8] - - def test_encode_decode(): - for arr in arrays: - check_encode_decode_array(arr, default_codec) - - with warnings.catch_warnings(): - warnings.simplefilter('ignore', PendingDeprecationWarning) - for arr in legacy_arrays: - check_encode_decode_array(arr, legacy_codec) + check_encode_decode_array(arr, MsgPack()) def test_config(): - for codec in [default_codec, legacy_codec]: - check_config(codec) + check_config(MsgPack()) def test_repr(): check_repr("MsgPack(raw=False, use_bin_type=True, use_single_float=False)") check_repr("MsgPack(raw=True, use_bin_type=False, use_single_float=True)") - check_repr("LegacyMsgPack(encoding='utf-8')") - check_repr("LegacyMsgPack(encoding='ascii')") def test_backwards_compatibility(): - check_backwards_compatibility(default_codec.codec_id, arrays, [default_codec]) - with warnings.catch_warnings(): - warnings.simplefilter('ignore', PendingDeprecationWarning) - check_backwards_compatibility(legacy_codec.codec_id, legacy_arrays, - [legacy_codec]) + codec = MsgPack() + check_backwards_compatibility(codec.codec_id, arrays, [codec]) def test_non_numpy_inputs(): + codec = MsgPack() # numpy will infer a range of different shapes and dtypes for these inputs. # Make sure that round-tripping through encode preserves this. data = [ @@ -94,38 +75,16 @@ def test_non_numpy_inputs(): [{b"key": b"value"}, [b"list", b"of", b"strings"]], ] for input_data in data: - actual = default_codec.decode(default_codec.encode(input_data)) + actual = codec.decode(codec.encode(input_data)) expect = np.array(input_data) assert expect.shape == actual.shape assert np.array_equal(expect, actual) -def test_legacy_codec_broken(): - # Simplest demonstration of why the MsgPack codec needed to be changed. - # The LegacyMsgPack codec didn't include shape information in the serialised - # bytes, which gave different shapes in the input and output under certain - # circumstances. - a = np.empty(2, dtype=object) - a[0] = [0, 1] - a[1] = [2, 3] - codec = LegacyMsgPack() - with warnings.catch_warnings(): - warnings.simplefilter('ignore', PendingDeprecationWarning) - b = codec.decode(codec.encode(a)) - assert a.shape == (2,) - assert b.shape == (2, 2) - assert not np.array_equal(a, b) - - # Now show that the MsgPack codec handles this case properly. - codec = MsgPack() - b = codec.decode(codec.encode(a)) - assert np.array_equal(a, b) - assert a.shape == b.shape - - def test_encode_decode_shape_dtype_preserved(): + codec = MsgPack() for arr in arrays: - actual = default_codec.decode(default_codec.encode(arr)) + actual = codec.decode(codec.encode(arr)) assert arr.shape == actual.shape assert arr.dtype == actual.dtype @@ -164,22 +123,3 @@ def test_bytes(): assert not np.array_equal(unicode_arr, b) assert isinstance(b[0], binary_type) assert b[0] == b'foo' - - # legacy codec - codec = LegacyMsgPack() - with warnings.catch_warnings(): - warnings.simplefilter('ignore', PendingDeprecationWarning) - # broken for bytes array, round-trips bytes to unicode - b = codec.decode(codec.encode(bytes_arr)) - if PY2: # pragma: py3 no cover - # PY2 considers b'foo' and u'foo' to be equal - assert np.array_equal(unicode_arr, b) - else: # pragma: py2 no cover - assert not np.array_equal(bytes_arr, b) - assert isinstance(b[0], text_type) - assert b[0] == u'foo' - # works for unicode array, round-trips unicode to unicode - b = codec.decode(codec.encode(unicode_arr)) - assert np.array_equal(unicode_arr, b) - assert isinstance(b[0], text_type) - assert b[0] == u'foo' From 7859d97d286c8a2c55d5525fc6e67a6f86285ded Mon Sep 17 00:00:00 2001 From: James Bourbeau Date: Thu, 26 Mar 2020 11:55:11 -0500 Subject: [PATCH 2/4] Updates fixture data --- fixture/msgpack2/array.10.npy | Bin 0 -> 294 bytes fixture/msgpack2/codec.00/encoded.10.dat | Bin 0 -> 13 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 fixture/msgpack2/array.10.npy create mode 100644 fixture/msgpack2/codec.00/encoded.10.dat diff --git a/fixture/msgpack2/array.10.npy b/fixture/msgpack2/array.10.npy new file mode 100644 index 0000000000000000000000000000000000000000..eab9a1461367253d346eb6b9aae715396024976b GIT binary patch literal 294 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1J^H={R`H&a_78&qjZNo7GQS0Q@@ z69WT-zeOR3H-k50dm(2~A(w_Xa|9z$w5E{T&(F{6KM;TkZ~Kx$o}|v$LS7A!VxW1< KsU?McNqPW7&{3KI literal 0 HcmV?d00001 diff --git a/fixture/msgpack2/codec.00/encoded.10.dat b/fixture/msgpack2/codec.00/encoded.10.dat new file mode 100644 index 0000000000000000000000000000000000000000..31ae825fe657e73a54ad27016c998f106a507cca GIT binary patch literal 13 UcmbO-iGgtv6Z4`P|4B?t037NA!T Date: Thu, 26 Mar 2020 11:59:39 -0500 Subject: [PATCH 3/4] Add changelog entry --- docs/release.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/release.rst b/docs/release.rst index d5d3d43f..4c5cc75a 100644 --- a/docs/release.rst +++ b/docs/release.rst @@ -1,6 +1,12 @@ Release notes ============= +Upcoming Release +---------------- + +* Remove LegacyMsgPack codec. + By :user:`James Bourbeau `, :issue:`218`. + .. _release_0.6.4: From cbf027d975688d434ac6cd4cc828b0967087d85f Mon Sep 17 00:00:00 2001 From: James Bourbeau Date: Wed, 1 Apr 2020 11:34:33 -0500 Subject: [PATCH 4/4] Remove fixture files associated with LegacyMsgPack --- fixture/msgpack/array.00.npy | Bin 2101 -> 0 bytes fixture/msgpack/array.01.npy | Bin 4195 -> 0 bytes fixture/msgpack/array.02.npy | Bin 4185 -> 0 bytes fixture/msgpack/array.03.npy | Bin 4080 -> 0 bytes fixture/msgpack/array.04.npy | Bin 10880 -> 0 bytes fixture/msgpack/array.05.npy | Bin 2132 -> 0 bytes fixture/msgpack/array.06.npy | Bin 81680 -> 0 bytes fixture/msgpack/array.07.npy | Bin 2953 -> 0 bytes fixture/msgpack/codec.00/config.json | 4 ---- fixture/msgpack/codec.00/encoded.00.dat | 1 - fixture/msgpack/codec.00/encoded.01.dat | Bin 5406 -> 0 bytes fixture/msgpack/codec.00/encoded.02.dat | Bin 4206 -> 0 bytes fixture/msgpack/codec.00/encoded.03.dat | Bin 2623 -> 0 bytes fixture/msgpack/codec.00/encoded.04.dat | 1 - fixture/msgpack/codec.00/encoded.05.dat | Bin 8106 -> 0 bytes fixture/msgpack/codec.00/encoded.06.dat | Bin 22808 -> 0 bytes fixture/msgpack/codec.00/encoded.07.dat | Bin 22806 -> 0 bytes 17 files changed, 6 deletions(-) delete mode 100644 fixture/msgpack/array.00.npy delete mode 100644 fixture/msgpack/array.01.npy delete mode 100644 fixture/msgpack/array.02.npy delete mode 100644 fixture/msgpack/array.03.npy delete mode 100644 fixture/msgpack/array.04.npy delete mode 100644 fixture/msgpack/array.05.npy delete mode 100644 fixture/msgpack/array.06.npy delete mode 100644 fixture/msgpack/array.07.npy delete mode 100644 fixture/msgpack/codec.00/config.json delete mode 100644 fixture/msgpack/codec.00/encoded.00.dat delete mode 100644 fixture/msgpack/codec.00/encoded.01.dat delete mode 100644 fixture/msgpack/codec.00/encoded.02.dat delete mode 100644 fixture/msgpack/codec.00/encoded.03.dat delete mode 100644 fixture/msgpack/codec.00/encoded.04.dat delete mode 100644 fixture/msgpack/codec.00/encoded.05.dat delete mode 100644 fixture/msgpack/codec.00/encoded.06.dat delete mode 100644 fixture/msgpack/codec.00/encoded.07.dat diff --git a/fixture/msgpack/array.00.npy b/fixture/msgpack/array.00.npy deleted file mode 100644 index 1bf53cec8cf487764de8bb04a86c3251959a0194..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2101 zcmeH@Jx{|h5Qd!w3YhN}_G}4K6qSv#uyw#{iXtI}0Y#4EDwWbW=Qu;4NDP#UnI8;p zQ;8ozZn%5z)Qn0=YaB_=L|!UcF@*s&S2$0aEf@qXp~E63 z63$A@^R>WWh6X|?hMlmhYev;9zlPmU=mxO2g8cvv9Ab<=%q8IM$3)eIHXeo@ZJ6A^ z5kbUQ!Epd54r$&k;MDj1`yU;fMD7%v#b3{G?u4dxO@)BoM#WS@f2&^LBJHL9w9PGn TmOx9OCD0Q1cLcbC%h>w`?%oSS diff --git a/fixture/msgpack/array.01.npy b/fixture/msgpack/array.01.npy deleted file mode 100644 index 7ca10eaeedb7e29a9677b67f8dbf3fbb0cdc2bf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4195 zcmeH}y-ve05P+Qq3Yh=G17u5(qNu0~Vqq&1R#Q|7DGaD`99OB-#y!UwDvDsC6*Di( z25t&G#ob`vo$qe2?7QzXe(2plI;2aU{Y;iZ``4bo==-7PkCZl=7el2pxpsH?q?FcQ z=6oit9dz35(Cb`;-i!Aq^sOO^YC4-oLTMRItBDzNt@)e|wG^r-jjn{DKsHgd$Tp|o zF!Bx!F%&A3qNK7|D-_(sA%vu`l{D=>;bvT1!uArH1K3%??f~`z=JY~`xl5qGH8V4x z+0^}{VN?27aKH$2R&Y3gqkwG+F5ozhJPAr}2(ku-3gMn4!pg9-ou diff --git a/fixture/msgpack/array.02.npy b/fixture/msgpack/array.02.npy deleted file mode 100644 index 904a92e4557333baa4da5740fb638bb957e84d62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4185 zcmeH}%}&EG41m)X284fjf!v1*{#`dqf-QXf{U)(>TuQsom>1-ZysYEz!Nj@iphPpV7UeuqvBJ1f|YVb5pQ;LTYA{jFH&`OGBl zC$>o#Ucmt)%v!-=3`ag|%PrtIilV!3Bb$ZwG@RrgPjKodj>#HH31_#xFQXb^_81Mk p1AGVg7qA~-PsF)^;}DSmu?W#{GYt`o5Q`9t5R3j{kRb022Tybfm9YFM*Q z(})o&MHn2|J~X^tSYWY$z!IGc1O^2JcIX+_CoH5#>z-llL%-H5g>(xKRS)kJ(koP+ zEpKpea8UN3fT02Zk5~~zL?RKHC`2V1(TPD!zBa}t4snS`d=ik5L?k8&Nl8X>Qjn5V zq$Uk%Nk@7D$UsIik(n%HC6H`nCkHtRA{V*ILoj*CM}7)WkU|uu2t_GIaY|5AZhTiM2TcCeFO z>}C&p*~fkkaF9bB<_JeQ#&J$?l2e@K3}-pVc`k5~OI+p(SGmS@Zg7)Z+~y8`P7Goai`c{=F7b#@0uqvl#3Ugp$w*ELQj&_)q#-ToNKXJ6 z$VetKlZC7Vl8x--ASXfOA~$&mCNKHOPXP*2h{6=1D8(pF2})9m(v+brs7?)PQj6Nup)U2PPXij#h{iO*x{lC{=Cq(Ct!PafLTF1n+7n6#I?{>GbfGKV z=uQuM(u>}N5l$ca(vSWOU?77S%n*h$jNy!6B%>J37{)S=@l0SMlbFmDrZSD`%wQ(7 zn9UsKGLQKzU?GcG%o3KejODCgC97D?8rHIo^=x1xo7l`2wz7@w>|iIm*v%gHvXA{7 z;2?)M%n^=qjN_c(B&Rsd8P0N!^IYH}m$=Lou5yj*+~6j+xXm5za*z8w;31EA%oCpS zjOV=IC9inR8{YDc_k7?Z-|#Kp@jXBABR}yozwj%+@jHL;Cx7ub|L`xL_{@KN;p^d# zNF*W?g{VX$Ix&bzEMgOfxWpqq2}npH5|f0aBqKQ~NJ%PElZLdUBRv6RAS0Q`Oct^d zNH(&QgPa7Bi`?WPn7rg8KLsdAAqrE3q7hfil%qTqs7NI$Q-!KjqdGOH zNiAwqhq~0GJ`HF{BO23$rZl5DEoezATGNIQ+R~2pgwlbIbfPm|=t?)b(}SM$qBmiL z(}%wFqdx-}$RGwYgrN*$I3pOzC`L1ev5aFp6PU;(CNqVpOk+ATn8_?=Gl#j%V?GO5 z$RZZAgrzKFIV)JnDps?GwX9=38`#JuHnWATY-2k+*vT$-vxmLxV?PHt$RQ4Mgrgke zI43yCDNb{Svz+5R7r4kJE^~#eT;n=7xXCSUbBDX!<30~~$Ri%}gr_{?IWKt0D_--4 zx4h#$ANa^Oe9L!y&ky{_PyEa;{K{|q&L8~AU;NEK{L3dk^B-UM`t(O65|N2QRH6}` z7{nwNv57-m;t`(&BqR}uNkUSRk(?ByBo(PiLt4_2o&YkCkxXPJ3t0&y8`;T0PJ+lq zZt@UJUhrl%y1;DMMMxQJxA^q!N{>LRG3!of_1n7PYBEUFuPv z1~jA*jcGztn$esVw4@cSX+sEYX-9iP=|D$1(U~rEr5oMpK~H+on=r!ZLtpyQp8*VH z5Q7=QP=+y_5sYLMqZz|k#xb4=Ok@(1nZi`2F`XIAWEQiT!(8Sup9L&r5sO*EQkJot z6|7_xt69TZ*0G)qY-AIg*}_(~v7H_4WEZ>H!(R5Wp937^5QjO!QI2t(6P)A}r#Zt} z&T*a#T;vj$xx!Vhah)67t<8 diff --git a/fixture/msgpack/array.04.npy b/fixture/msgpack/array.04.npy deleted file mode 100644 index df4419c6f06f9b76ae80fe30a6c3d4a5af47cd5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10880 zcmeI!u?oU45P;!x^(nGNAw$7QaqgzLba0YrQyj!d;$-Pl_`+VP@fjTcz>zd`IxhF! zd*AF1$C=d9+cxA&vKwQ!&B{7syO^HI-%l~MVZ5*XEeE~NSN{n5y;xV3TRJnC-iQ;426vNy4|6Zl`H_aw$Or@kb9!kzck}8=og#i^?IEjiW7z8cB zWJ4w*&Qi>ib%LQ17zm*dszFV^6RO6^HEg{@tq_pCDqa;GhqO4k^yf;mG&>hi|P-AZ-Q5;l}_@oS>pzBO#zZfJRY;RKn?f`%4eB sh{+ewbT;3ja28iL8H00jmBsbA5jV?N5-16j1WE!Wf&WH;E4T=~A5tR{i~s-t diff --git a/fixture/msgpack/array.06.npy b/fixture/msgpack/array.06.npy deleted file mode 100644 index acbc660dad7b66ae58627b3a568c6540ac2a7094..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81680 zcmeIz&q`Er9ER~rbvv^LRIcm-WTixx%T zBHDEaZ3^18>;mfj<{a<=h1x#{Ug!UD<}*IHv$%Zy=E{*a-(C&YMq8`n!R2mnWqJ0} zV7ePT*c@+_zr0Tg&S4sqCPmUO&nnXI*wH`;m>aI%mDU9i0j&>RgANqkkXuye_NHFr2LJtM}61ci1`Z@+daqr!nyqKwvU(3)ww={|yQlYV zKg{)d&DY$n%f+lL>UY<3>w10ux?cBn*<4oVtNVUtQ`!Dw=V)v1viI5BtjmL+a=Dv* zp4|SB%P(2o|1qoQ??2DdOlv#YlWdr6W~cJz77F(tkN)|`f46r3Mr*HET04^K|8w-; zOZnG+Wz$)g)py;0H{Wx;Ecbtg-28jo&CmMo>+fTj)$982qyA3nc5hsl2c6^UiPp|% zXR^7;W!*Q(E>3Qr%;iFM*zqP0)aR++U7w}iOPATpp2KP^?4>n($sa-vd)ag7fBOHW zm)N`X{|i0rg&y`o4|}19z0kv6=wUDPuorsR3q9(`no2}n1u2u=v9n>bo3}d&1S>R^ zScKf7Uc5A5@lfysEhIIiVD6iLVM{6=`zPpRBmNCN>^r=9@Ap228D@Snjm(4PdyfOc zlJGpH5?iriw@_?-C6++3XQst0Y^<7=N(S%})@{OZo8ltjethx9!b0MD0=+>0McfD~ zMyXJ&Bo)&l$wEnI8n!H45mzmun1;=)lEOp~hFPMa4xb z2LwUL!H7J{M;$ZGScJ2$U^ENow%~jgF2vJ;lS*6GeFUmn)uyPZ|(n310 z1>;$`6i*M^t;0knleznci>K1J8C=f2ehOFO@;I;h*-V)_Mun20ni7OOEJgC@VfTZj ztHh9CQXb=Z_lZ?5+31m}sS-?iP>N`%fU%|*umoW_!n0(}Knm?{n~2e){X?{-9sPK( zK}4S5!Au^rJYg8!Fb-Ohdo|?j_v+m2IC~Pz$YGw*uQvLd zjed2vUv2iQpO0Jbe!s25tQ_L8p>xuyA0KT0+BrDsRAJ7WEJbv^`z?XWn%-@$Nf7l` z_C&RC*+h1kFe1UcEb$g@d&6yga$7rYd(+e0{phy75A4<(w_S&;G(;!q6b;h|ou)H% pmd?>Aou@wT?}L9H{CnZ^fX@Ry51c|CAaVc2K3zW-!r)pi`4<$PCSw2q diff --git a/fixture/msgpack/codec.00/config.json b/fixture/msgpack/codec.00/config.json deleted file mode 100644 index 34b223af..00000000 --- a/fixture/msgpack/codec.00/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "encoding": "utf-8", - "id": "msgpack" -} \ No newline at end of file diff --git a/fixture/msgpack/codec.00/encoded.00.dat b/fixture/msgpack/codec.00/encoded.00.dat deleted file mode 100644 index 88149c73..00000000 --- a/fixture/msgpack/codec.00/encoded.00.dat +++ /dev/null @@ -1 +0,0 @@ -Ü…£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz¢|O \ No newline at end of file diff --git a/fixture/msgpack/codec.00/encoded.01.dat b/fixture/msgpack/codec.00/encoded.01.dat deleted file mode 100644 index a8e35fd7e70d980b9d96310bc5bb7a4c93abe72f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5406 zcmcb^s5^OaT7LfGq{O1r^*|>mU^Ewu=7P~&Fq#WSbHQjX7~Z*HQH?(UP!YIM diff --git a/fixture/msgpack/codec.00/encoded.02.dat b/fixture/msgpack/codec.00/encoded.02.dat deleted file mode 100644 index af499c9c48e8820f36452a05bac41084ae6a089b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4206 zcmcb^+`2d|KmWA-2L>=;8s&|K1jA@57|jn1qp4uDR0P%uqh-NpSumOkMq5ar=HX~r bFj^Ljrh?J3V6-e4?K6YY07+%Rq8fhy!;+B_ diff --git a/fixture/msgpack/codec.00/encoded.03.dat b/fixture/msgpack/codec.00/encoded.03.dat deleted file mode 100644 index 5974b87827fde87563089b95899023ec13e42a77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2623 zcmV~$2LK2J6h%?*{R$~EONq)%W~mev6pK-vh7vv z+IQ&KsdJaE-LCF_O^<7P_UhfIZ@=sM54iq@8*jS#mRko78hqRBLx$dQ=dj@;MvltS zIVQ*EU3qto%X{+Pyf5$12XcH)$cZ^AC+C!WFsJ6UoSrjsX3omlIVb1lyqup8<$_$8 zi}K-IoJ(?PK9bAw(R?f)&*k|?SDxb`!a&@lBr*mySlh5Y5T%Q|qV{XdL`CM+v z=ktYpF}LQnd?~l*j(jM%~dhs0X?h^+df;Z`23%Mg7oqs6QHju17bZ8_`YZW^@a> z6%9m#&|q{Mx*ZKcL(v`RPBaV+MT4uhBQ?Tl5|J9{qrRL_eXQ(J$y%^c(se{ek{Of1$t8Kj>fdA1;7} zjRPNnkHkmeg18VajE}}e@G$Km3*1TKk7;nKJaJ|3Td%iXEZE8)tx3a*N);nQ(-d2T19&{1fG6Tfcru=XAH-Af zG&~*8z%%hIJR8r!bMZVpA3uZ_;DvY*ei$#tOYlc0E;sl~BaUyXNQI0s7C{I)%P9aVu zP9rK3m59nj6{0FpjX0gCPMks1AZik|h}uLQqAqbJaTZaJIGZ?!IG3nToJX8bG$0xh z7Z4W`7ZHt!#>BuBtqAhV1(T-?ObRaqs zorumv7oscCjkucVPFzFuAg(2P61|AtL?5Cr(T})}=uZqFt|x9FZX|9ZZYFLaZY2g1 zgNVVzZN%-w5Mn5C2XQAcj2KRgAVw0Sh|$CtVk~hNaW^rJxQDoxxR1D>cz_sBOduu_ zlZeU06yiZ*Dlv_iPRt-?60?Ze#2jKSF^`x}JVY!Y77~kyhl$0+5@IRw2(gTKlz5DI zoLEjgL98HF603+OiKmFw#2VshVlD9u@hq{9SWj#qHWHhN&BSxW7UFs01>!|wE3u7u ziP%o;AYLYR61#}q#2z9Eh`q!4G693nnn(y)KM{{f(Gsx1Hj diff --git a/fixture/msgpack/codec.00/encoded.04.dat b/fixture/msgpack/codec.00/encoded.04.dat deleted file mode 100644 index b14067c9..00000000 --- a/fixture/msgpack/codec.00/encoded.04.dat +++ /dev/null @@ -1 +0,0 @@ -Ü…£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£foo£bar£baz£!mfLrCmi zcH>Y|j3aMB#24Z6UHULKZSU@X|IhDpci4Y#8IG+)sa7@}**A1ioW<>mZR)b@o#={J ztBP~SGG))umMAG@*(D|4a#mSf7UHHO+`@7^7kO(rd9Vh@MdcQ?tHhDx#$7o{8p$Y$ zlA%~!C-cRPNXCm`b2&{$a+LXvtlr4{ZsxZ#f3OPgzwd(QztegetY*!x&TKvP2Zpxo z_+?LcmL0e9vVUP#l;?=5r(G>Sc4Qh|rQuT=cG9T6J#KCv)A058I=oGzfM?`A@~!ee zGUhO@GIwmJOXf$`IjrSaud*hm?x41!exycbuY>&@_N>^K3#gH)k*SgC1<>!Hr$gV0 z-W>f$daU%3@c@_yTnBaqpMycdS>fd{fw)I(Cw>*9i$lg*W9G>PkbNNEL578#4p}7f zR^+Y7TamXSZ-phpl3~fPWLPpR8I}x7h9$$2Vac#$STZabmJCaVCBu?o$*^QtGAtRE Y3`>S3!;)diuw+=W|FUH5!_)nPAO8yDUjP6A diff --git a/fixture/msgpack/codec.00/encoded.07.dat b/fixture/msgpack/codec.00/encoded.07.dat deleted file mode 100644 index a0c0d3fd438cfd6dd5b02127ac3669be6bba0105..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22806 zcmeI(Jx{_w9LI47U&!6=t8nV1gNYiqi@iWep$U{u4i@9q4Rvt=BXIyEsF;?Akl6j$ zjYCN>j=TjGUxdqd>BHExy}SSYKfjOdVgIddd9D)Wdd2o+-_j*{P^QF>QImFD}P(QE--%TW7FWQhrJMO6+=m+LaU2G$WIk zp;%m)`QlQT@gn-UoSKmw*(q4w4O$*S?jYiTTjD*rCm3D z-VuT0rtO04pV(Cuc%l|)U(5F`nI-30{Fud^ENN_xKerEA{PKGpUu8+eGx8q!R{0+p za~M~dJ2ulL^CRmV)^e;@S(8(DP+L(yQX{k1!F~>VR_x0~)X3Dx)X4M#=y%Z5p>IWR zj{YM(R{F?z0L%lf1G|FH!64zR@N$?y+#|LVzlzbtA!DsE^W*}^K9KJq!$MAnEE0Ju z@>b-n$Xk)O!jfUhuw+;=EE$#zONJ%Gl3~fPWLPpR8I}x7h9$$2Vac#$STZabmJCaV VCBu?o$*^QtGA!ADS+cvc{ckwv<1YXJ