SkyCoord, Frame and Angles as Dataset¶
SkyCoord and Frame fully support conversion to datasets preserving:
Representation
Differential
Frame
Angle (Longitude and Latitude)
Conversion to dataset supports optionally providing axis (xarray coordinate) labels.
import astropy.units as u
import numpy as np
import xarray as xr
from astropy.coordinates import ICRS, SkyCoord
from astropy.time import Time
from astropy_xarray.coordinates.sky_coord import (
skycoord_to_dataset,
)
sky_direction = SkyCoord(
ra=[[2, 6, 7, 4]] * u.deg,
dec=[[4, 7, 4, 3]] * u.deg,
pm_ra_cosdec=[[1, 1, 1, 1]] * u.mas / u.yr,
pm_dec=[[1, 1, 1, 1]] * u.mas / u.yr,
frame=ICRS(
representation_type="unitspherical",
differential_type="unitsphericalcoslat",
),
)
display(sky_direction)
skycoord_to_dataset(
sky_direction,
coords={
"timestamp": ("time", Time([1.7e9], format="unix")),
"field_label": ("field", ["a", "b", "c", "d"]),
},
)
<SkyCoord (ICRS): (ra, dec) in deg
[[(2., 4.), (6., 7.), (7., 4.), (4., 3.)]]
(pm_ra_cosdec, pm_dec) in mas / yr
[[(1., 1.), (1., 1.), (1., 1.), (1., 1.)]]>
<xarray.Dataset> Size: 152B
Dimensions: (time: 1, field: 4)
Coordinates:
timestamp (time) float64 8B [utc unix] 2023-11-14T22:13:20.000000000
field_label (field) <U1 16B 'a' 'b' 'c' 'd'
Dimensions without coordinates: time, field
Data variables:
ra (time, field) float64 32B [°] 2.0 6.0 7.0 4.0
dec (time, field) float64 32B [°] 4.0 7.0 4.0 3.0
pm_ra_cosdec (time, field) float64 32B [mas yr⁻¹] 1.0 1.0 1.0 1.0
pm_dec (time, field) float64 32B [mas yr⁻¹] 1.0 1.0 1.0 1.0
Attributes:
frame: {'name': 'icrs', 'representation_type': 'unitspherical', 'diffe...SkyCoordinate representation and differential types for both display and data are detected. In other words, radial_velocity when implicit is not recorded as a data_var.
display differential_type is
'sphericalcoslat', butdata differential_type is
'unitsphericalcoslat'
sky_position = SkyCoord(
ra=[2, 6, 7, 4] * u.deg,
dec=[4, 7, 4, 3] * u.deg,
distance=[4, 3, 6, 4] * u.parsec,
pm_ra_cosdec=[1, 1, 1, 1] * u.mas / u.yr,
pm_dec=[1, 1, 1, 1] * u.mas / u.yr,
frame=ICRS(
representation_type="spherical",
differential_type="unitsphericalcoslat",
),
)
display(sky_position)
display(
skycoord_to_dataset(
sky_position, coords={"field_label": ("field", ["a", "b", "c", "d"])}
)
)
<SkyCoord (ICRS): (ra, dec, distance) in (deg, deg, pc)
[(2., 4., 4.), (6., 7., 3.), (7., 4., 6.), (4., 3., 4.)]
(pm_ra_cosdec, pm_dec) in mas / yr
[(1., 1.), (1., 1.), (1., 1.), (1., 1.)]>
<xarray.Dataset> Size: 176B
Dimensions: (field: 4)
Coordinates:
field_label (field) <U1 16B 'a' 'b' 'c' 'd'
Dimensions without coordinates: field
Data variables:
ra (field) float64 32B [°] 2.0 6.0 7.0 4.0
dec (field) float64 32B [°] 4.0 7.0 4.0 3.0
distance (field) float64 32B [pc] 4.0 3.0 6.0 4.0
pm_ra_cosdec (field) float64 32B [mas yr⁻¹] 1.0 1.0 1.0 1.0
pm_dec (field) float64 32B [mas yr⁻¹] 1.0 1.0 1.0 1.0
Attributes:
frame: {'name': 'icrs', 'representation_type': 'spherical', 'different...Convert Dataset to SkyCoord¶
SkyCoord datasets use a frame attribute for converting to a SkyCoordinate.
from astropy_xarray.coordinates import dataset_to_skycoord, load_frame
ds = skycoord_to_dataset(
sky_position, coords={"field_label": ("field", ["a", "b", "c", "d"])}
)
# frame specific info stored as dataset attribute
assert load_frame(ds.attrs["frame"]) == sky_position.replicate_without_data()
# dataset
result = dataset_to_skycoord(ds)
display(result)
np.testing.assert_array_equal(result.ra, sky_position.ra)
np.testing.assert_array_equal(result.dec, sky_position.dec)
np.testing.assert_array_equal(result.distance, sky_position.distance)
<SkyCoord (ICRS): (ra, dec, distance) in (deg, deg, pc)
[(2., 4., 4.), (6., 7., 3.), (7., 4., 6.), (4., 3., 4.)]
(pm_ra_cosdec, pm_dec) in mas / yr
[(1., 1.), (1., 1.), (1., 1.), (1., 1.)]>
# accessor available
ds.astropy.to_skycoord()
<SkyCoord (ICRS): (ra, dec, distance) in (deg, deg, pc)
[(2., 4., 4.), (6., 7., 3.), (7., 4., 6.), (4., 3., 4.)]
(pm_ra_cosdec, pm_dec) in mas / yr
[(1., 1.), (1., 1.), (1., 1.), (1., 1.)]>
Serialization and Deserialization¶
Using dequantifing, all type metadata can be converted entirely to json-like attributes.
# serializable layout
dds = skycoord_to_dataset(
sky_direction,
coords={
"timestamp": ("time", Time([1.7e9], format="unix")),
"field_label": ("field", [0, 1, 2, 3]),
},
).astropy.dequantify()
dds
<xarray.Dataset> Size: 168B
Dimensions: (time: 1, field: 4)
Coordinates:
timestamp (time) float64 8B 1.7e+09
field_label (field) int64 32B 0 1 2 3
Dimensions without coordinates: time, field
Data variables:
ra (time, field) float64 32B 2.0 6.0 7.0 4.0
dec (time, field) float64 32B 4.0 7.0 4.0 3.0
pm_ra_cosdec (time, field) float64 32B 1.0 1.0 1.0 1.0
pm_dec (time, field) float64 32B 1.0 1.0 1.0 1.0
Attributes:
frame: {'name': 'icrs', 'representation_type': 'unitspherical', 'diffe...This allows for compatibility with simple serialization implementations (no custom type handling required).
import msgpack_numpy
def to_msgpack_numpy(ds: xr.Dataset):
return msgpack_numpy.packb(ds.to_dict(data="array"))
def from_msgpack_numpy(buf: memoryview):
return xr.Dataset.from_dict(msgpack_numpy.unpackb(buf))
sc = SkyCoord(ra=np.random.random(1000) * u.rad, dec=np.random.random(1000) * u.rad)
ds = skycoord_to_dataset(sc)
display(ds)
raw = to_msgpack_numpy(ds.astropy.dequantify())
display(raw)
result = from_msgpack_numpy(raw).astropy.quantify()
display(result)
<xarray.Dataset> Size: 16kB
Dimensions: (dim_0: 1000)
Dimensions without coordinates: dim_0
Data variables:
ra (dim_0) float64 8kB [rad] 0.8905 0.09043 0.9742 ... 0.02431 0.161
dec (dim_0) float64 8kB [rad] 0.1665 0.9848 0.05547 ... 0.5402 0.4212
Attributes:
frame: {'name': 'icrs', 'representation_type': 'spherical', 'different...b'\x84\xa6coords\x80\xa5attrs\x81\xa5frame\x84\xa4name\xa4icrs\xb3representation_type\xa9spherical\xb1differential_type\xafsphericalcoslat\xa4data\x81\xb3representation_type\xadunitspherical\xa4dims\x81\xa5dim_0\xcd\x03\xe8\xa9data_vars\x82\xa2ra\x83\xa4dims\x91\xa5dim_0\xa5attrs\x81\xa5units\x82\xa5class\xa9longitude\xa4unit\xa3rad\xa4data\x85\xc4\x02nd\xc3\xc4\x04type\xa3<f8\xc4\x04kind\xc4\x00\xc4\x05shape\x91\xcd\x03\xe8\xc4\x04data\xc5\x1f@})d\xf7\xcf~\xec? \x1e\xd6HP&\xb7?\x18#\xac\xce\xb5,\xef?(c\xba\xbc\x9c\xe1\xd2?\x80!\x0c}\xfbu\xe4?`R\rI\xd0\xec\xa4?\x80\xea\xae\xcb\x88\xad\x83?\xf35\x89\x9f[\xb6\xef?`f2(C\xbe\xc5?l\x88}C\x93\x7f\xc4?\xe6\xed\xc7\x96C0\xdb?\x94\xc1\x13\xbb\x96H\xed?.\xe8\x11\'\xa3\xf4\xd7?N\xef\xe5EVs\xe6?\xc6\xbd\xe2\xa4g\xa1\xe5?\xf2M2\xef"R\xdd?\xe2\x8b{.\xe9o\xd2?G\xf7\xf2f;\x84\xe7?\x00*\xcb\xa1*/\xb1?\x11\xbbwX\xbd\xc6\xe8?xa\xe5\x8c\xca0\xca?-z\x9f\xf4\x92\xf5\xe8?\xdc\xf1\xa7\xf3\xab\x9c\xdd?u\xf1-\xe6I\x8a\xed?\x95A\x0b\xf3w\xff\xe2?\x0b\x96i\xeb\xa86\xef?.\x0e\xb8K\xa0S\xd4?\xdb\x99`F\x18\xbf\xe6?\xceb\x15\xed\xea=\xe8?\n\x08\xe99\xdc\xfb\xed?\xe6\x0b\xff\xb2"\x14\xdd?;\xb7{\xbb?\x15\xe6?\x14\xa4|PTk\xed?\x93\x02\x1c\xfa\\Q\xe1?\xa2\xb4@[9\xd8\xd4?7\xf2\xa4\x91\xf8\x03\xe8?\xe9\xca@{\xa9\x0b\xef?(6b\xce\x1aq\xb4?n\xfc_X\xef\xa5\xe9?p\xad\xaa\xbe?\xe1\xd5?\x80\xefWd\x822x?L\']\xf2\x93\x03\xed?H\xfd\x7f\x12C\x98\xef?\xe6H\x1b\x81\xear\xd7?\x8a\xdd\xf2\xfcV;\xdc?\x0c\x13\xe1^\xd2\x89\xe5?\xb8\xe8\x85\xbb\xee\xef\xbe? \n\x90~\x92\xa5\x9d?\xcfYO\xbd\x81\x94\xe2?\xda\xa4\xfd\xda\x91\xab\xe7?7L\x19\xf7 }\xef?.\x1b\x9d7\xef@\xd3?Kc\xc70\xad\xc2\xeb?\xf2\x87{\xa3\xfd\xe8\xd6?f\xe4M\xc9\x83U\xd2?d\xb3K\x0c\x8b \xd7?\x80\xad\x87\xe0\xf79\x9f?\x1b\xdd\xb3\xc1O^\xea?\x108X\x03\xa1\x02\xd0? \xd3O\xcf[\x96\x92?xW5R\xd7@\xba?`\xf9u#ly\xc8?\xbb^x\x15N8\xe0?c\xd2\x89\xb8\xfe\xa8\xe6?\xc0\x83\xd6Hj\xe5\xe9?2\x94+T\x99\xf9\xe2?\x00f\x95\xf1\xbc\xc6\x83?\xe8\xd7\xcaX\x8a\xd9\xeb?*\xda\x88\xad\x89x\xed?vb\xe5n^E\xe8?\x13\xea\xe6\x13\x96\xd8\xe1?\xe5\x1dK;N&\xec?iA\xbb?{\x1f\xee?\xae\\1QX\xa6\xde?\\\xc4\xa4p\xc5\xa8\xeb?\xf9\xf4$,\x9e\xb2\xe5?u\x1e\x9a\x958\xd2\xec?j\xba\xc3\xd4\xd7\x00\xe2?<,\xd5\x80q8\xc7?\x92\xd3412\x1b\xeb?i4ET\xa2G\xec?F\x0e\xc8\xb0\xa4m\xda?\xe6\xf8c\x9b\xd6\x86\xe6?v\xf4\xa1U\xbf\x80\xd5?<\xf0`\xec\xe9\xf6\xcc?\xb4%\x83\x1c\x84\xca\xd7?z"\xa2\xc0d\xff\xe8?@,\xb4\x11\x15\x17\x9e?\x08\xdc\t=\xc5\x1e\xc4?m\x18C\xf2O\xf1\xe6?\x13N\xc4\x8c\xd7\xec\xee?2\xe4\x1402\xc2\xd1?j\xf7\x9f\x1d,\xd1\xde?\x13\x9ao\x1aC\xa2\xef?C\x8ez\x12g5\xed?\x92j6\xb1\xf4\xea\xd3?\xb0Q!\xac\x01\xa9\xb1?h?>\x8b`A\xd1?\x82`\x9a\xa0\x90\x83\xe9?\xc6\xd2\xb9\x94\xda\x98\xe4?q\xfd; \xb5N\xec?d\xf2wKm\xe8\xe4?Hn\xf2\xd1\xa5V\xcf?\xf6)\xc6\x82n\xbe\xe1?&\xed\xe5\xb4\x16\xe0\xd6?K\x06\x87\x19H\xf7\xec?\xd4;0\x81\xacl\xe9?\x9ev\xc4_V\xb5\xd4?\xb7\x98\x04\x16K\xae\xeb?\xe0*9\x94\xb7\x99\xae?8EB\x81\xbcj\xd8?X|B\xe9A#\xe7?\x02T\x8e\x96\x91\xee\xee?*9\xf8\r\xf4a\xda?P\xbd\xc9N\xb1\xc2\xbb?\x1e\xa1\xa6fs\xa2\xdf?"\xfc\xefD\xfc\\\xdf?\x9c5\xe7\x8en!\xcf?7\x8a\xb0+g\x1e\xe9?\x86\xdc\x1b\xa2\x97\r\xe7?:\xf2\x9f\x06e\x1d\xd8?\xca\xaf\x99\xfbF&\xe1?mU\xd6?\x12\x9b\xe4?\xe2\x7f\xa1\x916\x1e\xe5?R\xf0\xb8\xaeU_\xd0?\x0b)!\xe5\xf4R\xe4?9\x8a\xb7\x08jb\xe0?@\xdd\x7f\xcc\x0e\x99\xb7?\xd8z\xb9\xe2\xfe\xfd\xbb?\xc6\x1a\x0e\xda\x7f\xa6\xe1?\xcb\r-\xffl\xb8\xeb?\x1c+\x1e\xe9\xaeW\xe2?\xe5x\xc7\xd7\xe6\xa9\xef?Z$\xe57\x16q\xef?\xe0\xf2\x8c\xddwP\xa3?,\xe0\x85\x81\xeax\xde?Lg\x12yQ\xf7\xd4?\xb2\x90f&\x87d\xd8?\xe0\x98\xcb\xf9\xd3\xbf\xa7?(\x92\xbb\x05\xf5\xe0\xda?T\xef\x91\xfa\xe0t\xd2?\xa4\xb6\xa2\xe8`\xc2\xcb?h\x84[\xb6\n:\xdf?\xce\x9e\xf6GPY\xea?t\x8d\xd2\x05\xc5\xc5\xd2?\xb4\x87&\xd76\xfc\xe7?\x19\xf4\xafY2\xed\xe7?\x90\xe6\xdd\xb2\x84\x16\xe4?.\xbc8\xa6\\H\xd7?\xa4\xf9\xbe\xd5\xe2\x88\xe3?\x1au\xe5\xb0+ \xea?\rx\x7f\xa2\\/\xeb?\xe0\xd5KJ\xef\xcf\xc8?\xee\x1b\xb2\xc5\x86i\xe8?\x88O\xcb~8Y\xb6?\xdc%\xc7)m\xc0\xc0?@?\x83\xc72\x1e\xe2?\xff(\x99\xc0m_\xe1?\xb8\xc8\x11\xca\xa7\xee\xe1?\xa8\x86\xa1\xd8*l\xd9?\xa9\x95\x08\xb9\x10\xfa\xe0?\xb6\xa7+5\x7f\x19\xed? \x8e\x9a\xe7<\xe3\xc7?\xf6\xba\t\xd4\x17\xf6\xe4?\x0fcG\xf5\x8d\xc2\xe1?p9\xcf\xdbg\xd5\xb4?~B\x8e\x08D\xa9\xe6?uY\xd1\xa2\x05\xbf\xe3?*\xa6\xcdir\x8d\xe9?0\xd5t\x11\xff\xba\xe2?;Zeu\xce\x94\xe5?\xee\xca\xd5\xad\x954\xdb?W$\r&\x166\xe3?\xb1/\x19\x15\xeb4\xe7?\x90\xd0\x92YX\xdd\xb6?\x15B\x1e\xc6M\r\xe5?s\xfa\xde\x00\n\xff\xe8?\xcc<\xef\xe5] \xe8?\x8b\x01\x8f\xa40\x0c\xe1?\xbe\xf7*\xabk\xaf\xd4?\x00\x10\xbe\x9f\x17\x1f\xa6?c\x94Id\xcc\xfe\xe0?\xff\xd2\x9e\xb1*\xcc\xe5?6~b\xad\x8d\x01\xe4?^jF::\x7f\xd2?\x98& \x98}\xf1\xe4?\x10.\xef\xa5\xb9\xb9\xeb?\xceR]>\xe0\xc8\xdc?\xc9o>\xeb\xfb\xbf\xe1?\xaa2\xb0Z}\xce\xec?\x88\x1b\xa0\xcf\x92j\xc2?\x1e\xccx\x98U\x8e\xd7?\xa2\xaf$z\xa9\xa4\xdb?\x00\x8e\x01\x1a\x1b\x90\xca?\x9dXr`\x9b\xe1\xe3?\xb6\x0b\xed\xeec=\xe5?t\x8e\xf9\xb1\xa9W\xe1?\xaf\x10\xd8\tf\x0b\xeb?\x1bQ\xb1\x91\x93\x0f\xef?p\xd2\x9f\xa8\xbbr\xd0? "w\xac#\xcc\xe0?u\t\xd30s=\xe3?\xc8"N\x03\xd9\x02\xe2?\x1coF\xc2\x14\x82\xef?\xeb\xd35!\x8ao\xef?\xf8\xad\xaf\x08\xe5\x96\xcf?\xfb\xfdT=\x07,\xe4? \xe0\xaf\xc1\xcd\xce\xd7?\n\xa6\x92\xebq)\xe2?3\x7f\x19LX0\xed?\xe5\xb0&T\x1e\xb5\xe7?d\xe8n\xe0~\x89\xe1?\xe0\xf0\xe3\x14\xe0\xc6\xb2?\xe6\xda\xb0\x02\xab\xc3\xe9?\x18\x17\x91\x95\x1b\xed\xe7?\xe2:a\x1dB\x14\xe2?[\xcf\xe0!\xfcv\xe0?\xd4\xee\x86\xf2\x11v\xe9?\x12<\xb4QH\xda\xe5?\x92j\x8at\x14\xb0\xd6?\x80v\x04=1\x8b\x97?Hm\x7f\xbf\x9a\xd5\xbc?\x10\x03.TH)\xb2? \xa5Z\xed\x83\x19\xb7?_\xc9\xe2\xbay^\xe5?+z\n4t\xfe\xec?\x8e!\x9a\xbe\x85\xe2\xe1?\x9b"8\xbc\xb8\xf9\xe6?\xc5\x17\x18\x96\xdd\xd8\xe8?\xccs\'\x17\xc8\x13\xc6?\x1aj\tm\xa7\xd9\xee?\xc2A)|,\x9c\xd1?\x90}\x86\xd7\x02t\xc8?\x00\xfe\xccQ\x10/\xd7?<}\xdaK\xdfp\xd1?@[\xde5D\x12\xaf?\x18R\xf4\x07\xf1s\xd5?\xfa\x0c=z\xb6y\xdc?#e\xa2|m\xea\xe9?\xc0\x00MX#\xe2\xd8? "b\xd3\xcdh\xcc?\x08\n\xd5\xa5\xcbX\xc8?\x95I\x9b-\x03\x80\xe5?\x90\xfe\xb1\xe78\xe1\xdb?\xf5~}9O(\xed?\x08Z;P\x88\xdc\xb5?F\x9b\x9e\x9eT\'\xda?\xf7\xd3\x82\xcf\xdce\xeb?H\xd4\x91Ae\x08\xd4?\xd8\xe0\xba\xf8\xef7\xdb?\x82\xe52HS\xff\xe4?(Gj\xa5\xa6\xa9\xc9?\x9c\x1f\xe5\x01\xf0?\xee?X\xa2Dx5\xaf\xd4?\x00\x9d\xd8\xdcs\r\x98? V>\'?\xda\xa2?\x00/\xe7Q\x88\xa2s?u/^\n]U\xe4?\xbc\xab\x85\x8cD\x96\xe6?\xb6\xbe\xde^\x8aP\xe9?\x8d@\xeb\x94wq\xe7?\xa52P\t\xab\xd7\xe3?\xae\xf36L\xc5P\xd0?\x153a\xf3\xe68\xee?DWZ]\xb9\xb2\xdb?<\x06\x07N\xe4\xf2\xde?\xce\xb4BW0\x17\xd6?\xb2\xc2\xafe<\xdc\xeb?\xc2\xa5\xb6uN\x9d\xe5?e7\x07\xd0G\xed\xef?,{\xc0\x0c0t\xea?\xd83K\x11\x85\x0e\xcb?\xaeT\xeeI\xa1\x03\xe3?\xb8A\xa8\x83[\x8e\xe0?\x9cY\x87F;<\xe9?\xf8\xd3N\x82\xa4q\xc2? hv\xec\xa8g\xd0?\x16`a"2B\xd1?X8\x03\x97\xf7\x7f\xe4?\xccU\r3|\xcb\xd5?#\x1f\xdd\xc7<r\xeb?\xc8E\x8e\x12o\xd9\xce?l\xfe\x15\xc8<j\xc3?\x80\xc7V\x9b\xcd\x1ct?\x00\x1bJ\xf096\xc0?\xf81@\xe2]\xdf\xee?\xf4J\xdf\x0cb\xa1\xc7?c2\xb7\xce\x11\xb1\xe3?\x80\xcc\x12B\x1aU\xa3?T,%\xcbw\xbc\xce?*\xe8\'?I\xc4\xd9?d7\x1a\xb1\xf4\x1f\xe6?\xa0\xc0\xa5{\xc7\xf0\xaf?\x1c\xa8\xaf\x1aF\xff\xca?\x98\xc6\xb0\xd1%\xd6\xb1?\n\xf2)\xf0\xa3\x93\xdc?X\xc3\xb9\x12\x1dv\xbd?xk"\x18Lz\xb0?=\xe56,\xf9\x06\xe1?"\xbb\xff\xa0F\xe3\xd8?8\xa1<\xd8\xfbW\xe7?oi\xdb\x1a\x16\x87\xe5?\xbd\x1cmCG\xab\xe3?h/\xac\x8aE\x9b\xbb?\tK\xa0E\x8cy\xe5?\xd0\xe3\xd5-u\xfe\xc9?x\x0f\nH\xcaC\xeb?\x9aQ\xc3^x\xe4\xd3?\xe4u\x11\xd5\xceA\xd2?\xa4\\\xb3\xd2\xe4%\xe4?\x0b%7\xaa:3\xe4?\xe0?\x94L5\xfd\xeb?D\xadUs\xe7J\xef?\xe8h\xa1F\xc9~\xde?e\xc9a\xf2}\x81\xe1?\xd6\xea\x13QRX\xe3?\xf5b\x8fU\xb0\xef\xe6?\x1ckH\xc5\xad\xfe\xe0?\xf4/i\xc1\xd4\xe3\xd2?\xfc\xca\xa6I\xe0T\xd3?\x02b\xd3\x99Q\xc5\xd7?\xd5\xd6\x835\x9b\xb6\xe4?\x1av\x1c\x05\xa3\x96\xdf?\x9a\x1fu/\x0b\xaa\xd6?\xf4b-\xdd\xbe]\xe3?\xaa\x1b^\xf0n\xa6\xd6?\x90\xfd$ |\xeb\xb0?\x91\xd7\xcbB\x1c\xb1\xe9?\xf0\xf8\xb2\xe4\x9f\x93\xaa?Ov\x84\xf0\x162\xe7?\xa0\xb6\x90J\x17\xec\xa8?0k\xf2\x08/I\xad?+\xf8\xe8\xe4\xdeF\xe5?\xc2\xa1V\xc2E\xee\xe8?\x9a\xf6\x8c\x02\x03\xa1\xe6?\xe4\xdd\x0bl2\xbe\xdf?\x9cj\xae\xd0\xe3m\xd0?\xa09\x01B\xf3e\xd4?L\xa4\xfb^(T\xd4?L?\x19F\x96\xfe\xde?\xcc\xac&\xa2L_\xd0?r\xf0\xac<\xafD\xe3?<\x0fz\n\xef\x94\xcf?\x8f&\x88lt\x8f\xe7?xZ*\xc4\xc7\xa8\xd5? \xe8\x18\xb3C\xf3\xd8?\xf0\x87\x9aX!\x88\xcc?\xab=\xc5S>\xe9\xef??PA,\xbc=\xe3?\xd6\xf8Jny\xf5\xe2?\x8c|`F\xf6Y\xc7?\x1c\xb2(+\xf0\xd5\xc6?#\x0e\xae\x04\xa1\\\xef?-(R\xe9a\xb1\xe5? \xd7DN;\x8e\xe9?\xf8<\xc5\xaap\xb9\xc1?\xf9\xb3q<\xabu\xe3?\x15\x1f&k\x02\xb4\xef?<\x16F\xfb\x87\xfc\xca?\x0cV?\x93\xb9\xeb\xc7?\x00\xc4#\x1a\x02\xf0\xb5?\xd2r\x81T\xb88\xe7?\xc0\x9ff\xdb=P\x97?\x96\xc3\x9c\xfa\x028\xec?h\xee!\x1fd(\xe0?.dL\xb9\xf4\xdb\xe4?\xb4+U/+t\xdf?\xee\xe2\xcfb\x88[\xea?5\xbc\xca\x1bco\xea?TJ\x85\xdd\xbf[\xc7?\x00,\xfa\x0e\x83\x08\x9a?FH\x0b\xd8\xd60\xe3?8K\x93\xbcA5\xec?\xb6!p\xa5G9\xe0?@\xd6\xc1\xfb\xf6\xd6\xa3?\xc9\xab9@\xdf\x00\xeb?\xd6g\x97\x96.\x84\xe5?\x90\xbd\xe5\xc3\xe6\xe2\xa4?\x0c\x889c\x13H\xee?\xcbA\xa4 G\xd5\xea?hO\xa3`=y\xd6?@iS\xa62\xe3\xc5?\xf8\xcaR\xd3\x7f\xd8\xdc? \x80\xd8N\xf0\xa6\xdb?\xd5\xc4S\x8c\x8a\xda\xe1?\xc2\x80\xd2\x9d\xca\xa7\xdd? \xf4\x1e\xee\xb6\x07\xd1?\xc6\x04\xe8\xd3?\xa6\xd9?\xb0!\x97\x1f\xb4\xcf\xca?\x80\xe0\xfc\x06\x802\x97?\xd4\xf9\x9fSM\x91\xc3?\x00q\x1dYr^\xa3?\xf0I|\xf9\xae"\xbd?\xc4\xb0\x06 ]\x98\xdb?t\xd2U\xddWW\xd0?^\x99\x8d\x91\x93\xce\xd0?\x00\xb0FC\xb4W\xbb?6\xadS\xef}\x08\xe7?\xf27O\x1e\x86X\xde?\xf0\x00\x13w]\x1b\xc9?\x05}\x95*\xea4\xed?\xa4\x19\xb8SeU\xe5?\x0bK\xa6\xc6\xc3s\xef?\xbe\xcb\xaf\nhU\xdb?\x80R\xe1@\xe0$\xcb?(\x0e\x0cw\xaa0\xd4?\xefSp>-<\xe7?\xe0\xf5\x95\xb3_\x99\x92?^\xaf\x0c\xfa\xba`\xe7?5e\xd8\xa8\xe9\x9b\xeb?\xb0L\x02:\x16\xa4\xdb?\x13U}\xfc\x9fx\xee?\x1a\x03\x1b\xbcMv\xe1?"\xb5c\x00\x8f\x8a\xd9?\xb4\x15\x11N\x97\xd8\xe1?\xc4_p\xc1\xc6\xbc\xe8?_\x00G<\xeb\xba\xe2?\x8akX_R9\xec?\xc4\x01\x1a\xc2\xac\x93\xc5?\x00\x93[\xea1\xc1b?&\x02)\x01\xf3\xfc\xe6?\xa8E\xb7\xaesj\xc2?\xea\xad\\\xeaju\xe6?%@Z:\xeb\xba\xe7?\xc55\xc37\xc3\xfa\xe4?\\\x0f\ru.}\xd5?P\x04\xadc9\x05\xe8?0SD\xc7\x8f\x9f\xc8?\xe0w\x8b\x80\xc9>\xd4?\x1f2Px\x9f\xd0\xe1?\xce\xc6Y\x82\xc5\xd8\xef?\xe6N\xa63\xd5\xe6\xe7?\x00p\xb4\x16\x97\x0bf?\x95\xd7\xcf\xb8&\xfa\xeb?>,\xde\xf7Y\x7f\xeb?\x1c\x1b\xfd\x8b\x96:\xee?`\xd3\x1f\xa8\\\xcd\xd2?\xa6eO|\xa1}\xe5?\xb8Lvd\xda6\xd4?\xb8\x91\xb2\xe5\x7f/\xea?Fy\xbb\xdc\xca\xe8\xef?\xa7\x01\xd0\xca\xdc\x12\xeb?|\xf3\xff\xa8\xd6\xb8\xdc?\x0e\xebi\x91GP\xe6?\x00^m\xfa\x10\x06\xec?\xd0FN\xbd\x1e1\xe4?3\xf0F\\\xfb\xd3\xea?\x08\xbf\xe2\xef\x81q\xef?YH\xb4V\x89\x97\xe4?x\x0f\x93FE\x92\xda?N[Y\xb6-\x9a\xe7?0\x02\x98\xd4\x1e\xc0\xae?\xa8\x9c\xad\x1c\xb5\x04\xc5?\xc6\xdc\x0f\xadV\xa7\xd2?PK\x08\x80\x08T\xef?\xd8\x19\x05\x8f\xc6\xf7\xe6?\xe0\x8f\x85\xad\xa1^\xed?\x89\xcd/8\xbc\xe6\xe0?t\x85\x1eB\xa6#\xe1?\xa1\xf9 \x0b\xf7\x14\xea?\x01s\x9dX\xd5Q\xe4?\xe23\xa7$TU\xe7?\xa0\x83oM\xb6\xc4\xb6?\xb3\xa0\xefK\x82\x1c\xea?|\xd8\xe6_\xfcP\xee?\xe9\x84\xacS\xa9k\xe9?\x1c\x8a[un\x05\xc4?\xd8\xe4i\xca}\x91\xe6?\xd6\xe2\x9fC\xbdX\xd5?A\xd9\x0e9}\xd4\xe5?\xae\xc2\x08l\xe8t\xdb?Y\x91\xb8v\xf5\x1d\xea?\xf0\xc0Rg\x9c\x83\xe2?.\x91\\\xbeO\xdf\xd1?n\xd0\xf5y\x12k\xdf?T\xc1Mu/\xa3\xc3?@\x8e`\xf0\xed\xe3\xb2?n*I!u\xef\xdf?\xc0\xd5\xf9\xb2\x8a\xa8\xaa?=^\xc6f\x19N\xe6?t\x83\x9b\x9d2\xc5\xe1?T\x1c\x06\xafQ\xfd\xeb?^\x9fC\x0b7\t\xec?@\xa7\xdf\xec\x18\xd5\xdd?\xa6v\xd9#,\x11\xd9?&\xd0\xa0C\xb3\x84\xe2?\x0b\xf8D\xa9C;\xe8?\xc8\xc8e\xdc|\xe0\xef?\x01\xac\xfaV\x89n\xe2?\x00>l\x8a>j\xb1?\xc2\xb3\xbc\x80\xfe[\xdf?\xcb\xc4Y\x8b\x08\xe5\xeb?+\xf0*\x01\xd3\xdc\xef?\x90,\xe8\x97\x80{\xd0?\xdc\x96\xd2\'\xeb\xa5\xdb?\xe6%~$3\x19\xd1?\xd8\x8d:\x94\x90@\xee?\xc0$\x9c\t\x0b\xf9\xc4?\x8c3\x13gro\xc2?mX-n\xeb \xec?\x84%\xe9q8\xa8\xe7?\xdc\x89\x9a6\xa4S\xd7?\x0c\x9a\xe4"\x04\xf2\xef?IX\xb5)\xa7\xc2\xe9?\x18u4!\xc9\x02\xb6?\xf2\x94\xadn\x8a\xd3\xeb?Rs\xf4i[Z\xd0?(6\xec\xa5\xc6\xba\xee?W\x0b\xdb\xbf\xf5\x0b\xe2?\xc8\xce\xb3*\xe8\xb9\xc8?x\xa6{\x0f\x03Q\xc6?\x15\xfd\x07\xdfS\xec\xe7?N\x10|2\xbd\x85\xef?\x8f<\xf1\x01\xfb\xc2\xe3?\x14\x83)g`\x8c\xc5?\x10B6\xb3\x87\xdf\xed?zlw\x01^O\xe6?\xb7&\n\xd4LG\xef?!\xf7P\xf8\xc4\x9d\xe6?\n6}2/\x8e\xd0?x\x1fI:\xc9k\xe2?\x02{.rL\x96\xe1?\xa0\x8f\x9b|sh\xb3?\xdf\xec\xe4^C\xa7\xe0?\xb4\x17\x19z\\\x05\xd1?\xf8H\x84\xc6\r\xcf\xbb?\xd4\xee0\xc8\xe3\x97\xda?\xb2(\x8e\xf8\xd9\x13\xed?j\x0f\xeb\xd0*\xa2\xe9?X\xecN=.\x1e\xc0?v\xbb\x87~\x98\x16\xe3?<\x95=\x1b\xaf\xd6\xea? \xaa\xbe\xab\xb4w\xa6?R\xa8\xbe5\x98c\xd5?\xbe\xe0\xad\x10\xb2x\xe3?\x00\xcf\x15c\xa9\x9d\xe1?\x8e3he\x015\xda?\xa07j8\xf0=\xe4?NC)\x9eh\xd2\xd2?P\x1eK<\x1b#\xcd?\xc8\xf6\xfa`%\x95\xbc?\xd0\xec\xad\xab\x8d\xe2\xbf?\xaf"\xf7\xad*/\xeb?\xc0\xe8\xe5{w\xc7\xc9?\xa2\xed\xcf\xeeF\\\xe1?\xdb?\x87\x18\x90g\xe2?\xd2\xe3\xb9\xd7\x93\xb4\xe9?\xa0P\x9b\xf3D\xd9\x99?P\xba\xf7\xfd|}\xef?T\x83l1\xf3\x81\xc9?\xc5\x80\xbcQ\xfex\xe3?\xe8\xa2\x04\xbaS\x1f\xbe?8UeZd\x91\xc6?\xe5\x02^V\x0cj\xec?@G+T@g\xca?P\xa3=6A\x8a\xe3?\x88\xb3\xe0\x98\xdd\xe9\xcc?\xf1\xc4$\x91w\xae\xea?\xc05\xd8w\xfa}\xe1?r\xadv\x07u:\xe9?\xbf\xc0\xda\xac\'\xa4\xef?\xbcZ\x8c\xd8\xa7\xf5\xe0?\x11<\xe3?^\xae\xe8?\x00\xf4\x86X^jv?*\x18a\xfb\x908\xe6?<t\xbcN\x10\x8a\xd9?\xae:\xec\xfe\xe0\xe0\xd9?\xfe\x06]\xb5\xd1\x8f\xed?\x84\xd6B\x1fS\xa4\xe9?p\x8c\x17\xdf"\xd2\xd0?\xc2_\x8b\x9b\xbcL\xd5?\x01\xc8\x93_3\xf8\xe3?$\x92\xc6\xc14X\xd0?\x19\xdd\xe7\xe3\xbdX\xe3?\xee3_u\xb2,\xdb?\xe8\xf0>!\xa6\x88\xeb?\xfb\x01\xe9\x9fQ\xf7\xe1?\xd0d\xc8\t\xf2^\xbd?"\x12m\xd8D\xc3\xdb?$Gn;\x1e:\xd2?Z\x1d\xbdS\x99\x80\xd0?[\xfc\x93\xea1\xfd\xef?2 \x0f\xc0\xcb\x01\xeb?\x0e\x10\x0e\x038E\xd5?H5e\xe7\xbd\x9f\xbd?\x7fx\xd6\xdf\xd0\xda\xe4?7=\xb8\xa1+\xd8\xe5?8\xec|\x9d\xa5\x98\xb5?\xc0W\xa1B\xf8\xe0\xb7?C\xa4g\xf0\xect\xe9?\xb4b^\xc6j\xdf\xef?\xfb\tEoPv\xea?H;\xeb\xe2\xf0\xac\xbd?\x84G\xb8\xca\xd4\xe4\xcb?\x8e\xdc\x9c\'{\xc3\xd3? .:\xe4\x19\xdb\xd6?\x8b\x9b\x85\xc24\x82\xe0?8\xc6/C\x9e\x1d\xcd?\x10V\x06\xe3\x17\xe7\xa7?\xde\xd7\x81zx\x92\xda?9\xc50\x0e\xf3Q\xe9?\xc3\xa5\xdc\r\x87\xd9\xe6? n\xaf\x1b\x8f\x0b\xe4?@\x01\x06\x11\xb6\xcd\xa1?\xd0!:q\x1d\x87\xae?\xf3\xc3j\xda\xc6]\xee?}\xd0\x19K\x93\x02\xe8?\x00\x1d\xe5a\x1ar\xd4?\xf27L\x10\xabU\xd7?}\xef\xe8U\xcf\xf4\xe8?:\xf9\xb7\xfffW\xec?\xf7\xffB\xb8\xb1z\xed?7\x01)\xa1\x89x\xeb?"\x1dc\x9a\xc8\xad\xd4?\xd5M\xb4\xac\xef\xb9\xe9?\x8f \xd8\xf8\x8fN\xe9?\xf0\xa2\xc9e\xc7\xc8\xed?\xbb\xfc\x04Oe/\xeb?\x90\xd7\xb1r\xdcR\xa2?C\xf9\xdf>\xd7\xa8\xe0?\xfa\xc29\xca\xb0~\xd5?\x80\xcbv\x84g\xee\x89?\xb0\x11\xfa\xb3\x9d\x90\xe6?L\x99\xcc\x0e\xdcS\xd2?HV\xf3Y\xdf\xce\xbb?\x81\xa7\x11\xc8!\xc7\xeb?\xc0\xef\xf3\xf3@I\xa4?\xe9\x1a\xf5hm<\xe2?\xea\xf8\xb2\'&\xc4\xe5?\xc4/\x12N7@\xe0?JT!\xd4\x90\xa5\xd5?Pt\x16\xfe]\x9a\xa7?\x0c\xdf\x9f\xbc{\x8e\xd4?h%\x9b\xb3\xd2\xfe\xd3?\xda\xd1\xb7\x00\xd9\xa1\xe5?^\xb4\x93,\xb6"\xd3?\xa6\x1d\xd6XN\xaf\xec?\xa1\xdb\x0b\xd3\xfc\xa6\xe0?\x00\x15\xf4\x84\x872s?\xfe\x9e\x08\xd3\xd2`\xe6?$\xce\xd4\x18\xa2\xee\xc3?V*\xc4\x0c\xf7b\xe8?<\x18\x9c\x9d\xab\xd9\xea?PFTR\x08?\xbe?\xe8\xb3\x8c\xbdD\xd7\xe9?\xf9\xde\xc6\xde\xd8\xc1\xea?Rl\xbef\x14\xf3\xe1?\xcf\x80f\xbe\x84d\xe0?P8\x85\x8dQ6\xef?\xbe\t\xf2\x83\xe1Z\xd4?:\xff\x9e\xa3G\x1b\xe2?\x04#]\xfa)\x1e\xe8?\x8eT\xdb/\x94\xa0\xec?\xaaYV<\xfcd\xe3?\xde\xc1m\xc2;-\xe0?\xd0\xd3\xb5\x11i\x0e\xc7?\xb9\xda\xba\xcd\x18n\xe0?\xcd\x0b\x86\xc0\x18\xed\xe5?\xa1\x97\xf5\xdc\xdb\xb5\xee?f\xe6\xcd:\xa4\x80\xdd?\xe0$K\xd1:{\xa2?Y\r\\\x8f`,\xe6?{\xde\x82\xd9\x83\n\xe6?\xef>E\x8e"{\xe3?\xef\x7f\r\xe7\xc5\x90\xe8?\x85\xb1\xa9\xe8\x1b\xe6\xe9?L\xb3K\x90h\xab\xde?\xcc\xec\xdc\x9f\xa8\xa9\xd9?\xc6[]5\xf3G\xe2?\xb0\x8f\xd6\x8a)d\xdb?\xacN\xee>\xa8\xc5\xc8?=\x01\x07/Kb\xec?\xd0$\x12,\xd2\xe4\xc4?\xf2\x01\\\x7f\xca"\xd0?\x9cZ^F\xc0e\xcd?\xcf\xb2\xe3J\xbat\xe5?`\xac\xf5G\x8dS\x98?\x8cY\xc7\xd6\xc0\xcc\xc7?\t\x88\xd8\xcc\rR\xe0?\xb0\xb4\xcc*\xe4\x12\xa1?\xb4m\x97\xd9\xa8]\xc4?\xb4I\xa1\xcc\xe0\x06\xd0?L\x04\x8a\xeb\x9a"\xee?\x0cJ\x14\x99p\x92\xd5?,h\xf3\xb2\xbf(\xd1?vF\x96\xf8\xf0G\xde?p\xde\xab\x87\xc3\xd3\xa3?\x8c~\x14\xe2\xc0B\xc9?|\xb3i\xa1R\xae\xc1?l.n|\xe5]\xec?\x18\xe1\xaf\xb3u\x88\xb0?\xa4\xc8\xdef\\\xac\xed?4\xbe\xeb\xc4\x95\x99\xdc?\xac\xe0\xf9\xd3\xc3\x04\xe1?\x80l\x8f\xd3e\x0b\xd3?l\xfd\x0c\xa1\xe3J\xc2?\x8c#\xeb\x81,\x17\xc2?\xb2_\xe4\x05\xe0\xfb\xef?\xa0\xc1\xb4j\x9bN\xc3?R\xeb\xfa\xd1\x8f\xd7\xde?XJ\xc6\xde7\xe8\xd7?@\x9a\xd3=}\xf8\xbb?\x1b\xbe\xb7\xdfxq\xe0?\xa0Y\xfe\xb2t\xd1\xab?\xc6\xf4\x98\xbd\xfc,\xd4?\xc2O\x93-\x90a\xed?R\xc5\xa0(G+\xe4?`\xcd\x1f2\x1ea\xad?\xb1\xbcT\x97*Q\xed?"\xed^1\xec\xf9\xee?\xda\nxK\xafu\xe7?\xd8\xb7\xcd\xef\xcc\xe2\xb9?pu\xef\x06a4\xed?[\x92\x8aG\x9f\xf1\xec?\xa0\x02\xcc\xaba\xaf\xea?\xf4\x10\x0cR\x85\x9b\xcc?n\x07\t\x80\x12D\xe5?<\xf6Y*\xb4:\xcf?\xd2/\x17\xebf-\xe7?\xbc\x82[&\x15l\xc9?\x90|\x8e.\xf7\xae\xa7?\x8e)^Q\x80\xf6\xdb?\x1d\x8e\x86\xd3\x1b\xe2\xe8?\x08\xae\xb9\x97\'R\xea?H\xa8{x\x94\xaf\xe6?\x04\x1dK&\x8c\xac\xd6?.\x95\x88\xe3yM\xd3?\xb0`\x89\x0e\xf2\x8a\xe0?p\xaf^\x80\xc2\xf3\xd1?\x9c\x10\xf6\xdb\x04>\xdb?+\r\xbb\xbbO\xa7\xe3?\xf4\x04+0\xcc;\xed?\x0c\x7fQ;\xd7\x81\xe4?*4\x9bL\xf7\x19\xef?m\xe9\x08\x10u\xe5\xee?\x00\xef\xcf\xb6\xc2\xf9\xe4?f\xcf\x91\x84-\xae\xdb?\xe8x\xd3\x0fS\xad\xc2?\xd6\x1e\xe2?E\xd5\xdf?\xc4\x81\x98\xe39"\xc1?t\x0cd{\t\x06\xcd?\xa8\xb3\xc7\xe9\x15\xce\xb7?\x14\x81m\xfb\xfc\xbe\xdc?n*\x8f2(S\xdd?g\xf2\xd8\xc9\xec\xfd\xe0?\x01\xdbiMP\x0e\xe4?\xca\xc7sEL~\xe5?\x8d:\x89\xa1\xc3\xb3\xec?\x00\x99\x92\x11\xbf\xf2\x90?\xa0X\xf2\x9b\xf5\x1e\x98?=\xf5\tK\x8a\xee\xe8?D\xe40\xf5/\x1b\xcb?U\xd8\xe8\n:\xa0\xed?\xb4\xa3q~\r\xbb\xe5?~~j\x15\xba\xc4\xe8?\xdf\tN\xc3(\xcb\xe0?\x02\xf7\x8b\xd2;\xcf\xdb?\xc0J@\xe2\xa1T\xe2?\xf8\x05\x9f\xf2\x8aS\xd1?\xc4\xd6\xad-\xd6B\xd5?diw\xdb\xe8P\xdb?9\xe8\xda\xcf-\xa1\xe7?\xca\xdd\xad\xe5\xaf\x19\xe4?\xb6U\x7f2\xca\r\xd2?\x8b\xe7\xd6-\x06\x9d\xe9?I\xe5\xaa&\xdb\x1c\xee?\x80\xa0\xd1m\x1e\x1d\xad?\x08\x19\x91\xdeZ\xef\xdf?\xe2\xf3\x10\xa7J\xd5\xea?\xcc\xf6\xfb$,\xc5\xcf?\x90\x14:\x97#A\xe5?LK\xf0\xb2\x0fN\xc0?d&{\x7fa+\xec?\xf0\x05f\xc3\xaa3\xec?\xd605G\xf9]\xeb?\x9a\x91k\x95j\x9b\xd0?\x80X2]\xc8\xac\x9c?Z\xda\xda\x84\xc2\xbd\xdd?P\xa4Qu\xde\x1a\xa0?\xd0\xe0\x86e=\xa3\xbd?\xe0\x13h\x9f\xa3Q\xd2?\x10\x8fJ\xa4\x80\xf7\xbb?&>\xc7\x00\xe2j\xdf?\x92\xb6\x9b\xea\xd2\xd8\xd5?.\x85\x08\xb8\xd14\xec?`\xa5\xf0v\xe4\x14\x9a?0sE\xa9a\xfe\xb3?\x06\x0b\xbb\xb9\x9f\xc7\xec?\x05NCY\xf4\xe2\xe5?\xf4\xd0\xd7\xe7GD\xca?\xeeR\xa9\xe7*m\xd6?\x98\x9e\xd4\xdc\x1d\x17\xba?\x88\xc8\xb3`\xb2\xdb\xe5?\x81\x81\xe1K\xfd6\xe2?\xe8\x8e\xebP\x0b\xf8\xe9?\xd6\xf1\xbf\xee\xa2\x12\xde?\xfe}m\xec\xe0M\xdc?\xee\x132\x0f\x7f\x8c\xd4?\x02\xc1\xd5I\xbb:\xeb?\xbcp\xc6=\xc1\xd8\xdc?\xc3e\x18\xec\xcax\xe9?\xab\x13\x02\x0fA\x97\xe3?J%\xd6F\xde.\xdc?z\xb9\x1d\xd5\x94\xc4\xee?\xdeF\xeaD}\xef\xd2?(c\xe8\x1a^\xc8\xb2?\x84\x0ci\xb7z\xdf\xe1?\xd0:\xd4^:j\xa9?\x88\xbf\xb7cW\xf1\xec?9I\x1f\xd3\xc4\xee\xe4?z\x03\xcf\xad\x0f\xc9\xe0?M\xbb\xb0\x04-\xfa\xed?\xf9\xa0\xd8\x87^\xe2\xed?.\xb7\xd0c\xea\xbd\xdb?\xf2<x\x84S\xa5\xeb?\xa8\x12\xbe1\xd2]\xd5?\xc0U\x81\xdd&\xf2\xcb?\x14@\'\xe0\n\xea\xcf?\xc4\xdb\xd2\xb4\x97\x97\xca?\t\xd1\xe4w\x81\xc2\xe8?&\xc6\xb0\xd5`\x9d\xea?\xc8\xde\\VG/\xce?\x98dL)\x86:\xca?zT/N$\xb1\xd6?\x8ae5\xdag\xf0\xd5?\\.B\xd1 }\xe0?\xdf\xa0\xf5\x1edt\xee?\x05Qw)0\xc9\xe4?D\x90SE\x90\xf0\xe9?\xe1\xc6\xffU\x0f\x06\xe7?`\xa2\x81\xd9"\xb8\xca?\x14\x8d\x06\xd7M\xf4\xd1?3\xef+\x8bAO\xea?A8\xfdsN\xd1\xe6?t\x8a\xadt\xf0\xc4\xd3?\xde3\x03\xa7\xf1\xe8\xd0?\x15\xe8D\x03\x7f\x90\xe2?\xf8\xdd\xd0\xa1Uh\xcf?\x9d\x90$\xae\x8a\xc0\xea?:/\xc5Nw\xc5\xe3?(\xa5j\xac%\xc4\xd4?\x12aV[\xd3\xaa\xd5?\x1e\xac\x00^%\xac\xea?\x94\xa6|\xbf\xf0!\xe1?a\x9bI8\x12\xf8\xee?\xa1e\xef\x8d\x03\x92\xe0?\xc0\xb8\xd6\xec+\x86\xe9?m\x8f\x99\xa4\xc9k\xeb?\x84\x95#\x02VH\xc7?\xc0J\x18P7\xce\xd3?\x07Z\xfb\x12\xfeP\xee?\xca\xe2L\x94l\xb4\xdd?\xdeL\xdcm/\'\xe2?\x06\xb8\tf\x0eD\xd6?C\xf1N{kn\xef?\x00l\xf9 \x1fb\x88?\x94\x9e\x95\xdf\x91\xd2\xd1?\xa0\xcb\x9aZ)\x0f\xc0?\xcc\x92\xc3\xe1\xf3\xaf\xec?\x00.\xec\x16.\xd4\x7f?)x-L\x195\xeb?8i\xe7\xf8j\x95\xb1?\x1c\xff\x08\x819\x82\xdc?\xb8\xce\x03@\xe9\x1f\xef?\x02\x02d\xd4\xcb"\xd9?P\x7f\xf8\x15{(\xaf?@1\x92r\r]\xb6?\xa4(oM\xe7\xe8\xc4?\xce\xab\x00\xd4\xa8\xa0\xe7?\x18\x18~\xd3{\x86\xcf?f\x8f\xaa\xba\xe0C\xe9?\x8fU\x15&\xd1\xb4\xe4?\x94\xd5\xd4@\xad\x9f\xca?\xb4\xd6\xc9\xe4x~\xd5?\x90\x92\xb76\xcc\x98\xe7?\x13\x8e\xa6\xf7\x07\x9b\xe6?,(\xf2O\x99\x7f\xd3?\xa8\xfaz\x9f\x1f\x0b\xbe?\xbd9\xca\x8c\x11 \xed?\x87\x02Sm\x8e\xd6\xed?P\xc8m0\x11:\xcf?@\n\xa4\x13v\xa1\xc7?\xf6/H\xce\x02\xcb\xdd?\xfb`\x8bi\\x\xe6?Z\x8d\x85u\xe2C\xe0?\xa8\x19e\xaa\x7f\xd1\xc3?\x80\x82M\xb4\x1ct\xb5?`\xc3Q\xf3ZJ\xaa?\x04\x91Z\xbc%e\xef?\xc8\xea\xc2>C\x13\xd2?$\x93\x1f\xe0\x02\xd1\xc9?"\xa8]hW\xab\xd7?\x08\xed\xd06\xbb\xad\xcb?\x9a4\xc6s\xb4i\xd7?\xc2\x0c\x00\xf6\xef\x98\xd3?\x82\xdd\xbb\x18\xe1k\xee?\xfb\x96)A\xc6\xa7\xe3?\x1a.\x93:\x8d\xf6\xd2?|\x05\x94\x19\xfb]\xc6?\x12^fR\x17\x19\xe7?N\xc7\x17\x01\xcc;\xeb?MQ\xa6\x92H\xe0\xec?-}a\xf2\xe4Q\xef?\xa3\xca\xe9^\x9e\xfd\xef?\xa9 \xa5r\xc0B\xee?\x10C\x8f\xbf=\xa8\xa5?\xf87X\xe2J@\xce?\x80\x82\xdbT\xa5\x1f\xad?\xccH\xab\x03\x03\x81\xe8?o\x90\x00\xf0\x14\xcb\xe3?\x92%\xcdA\xadK\xd1?\n\x04\xac\x1c\xaf\xba\xed?\x9a\xc5\r\x9c\x08\xfc\xe7?\xb0%\x0f\xa1\x99+\xe7?\xd1\xc8\xe0\xebi<\xe1?r\xd3;~\xe1I\xe3?\xdc\xa7\xb5\x02{@\xc5?\xb0r\xb04\xfdv\xdb?@w\xd2\x11\x9a\x8b\xe7?@\xb7\xe5\xd8`(\xd9?m\xa1B\xf5\x105\xef?.u,<\xe9\xd4\xd5?hS\xa3\x04c?\xda?\xba@~\xb1Y\xa8\xed?\x1e\x94\xaf\x8e/\x06\xe8?=\xad0\x92\xca]\xe7?\xe0\x0b\xa8\xcc\x91\x81\x97?\xd0\xc8\xefBh&\xc0?\xfb\x08^\xa5\xeem\xed? q\xbb\xd0\xcb\xaf\x97?\xd4\xe5\xfaR<\xd9\xe5?\x98\xcd}\xaf\x1a\xc6\xdc?H\xcd\x1e\x99\xd5\xed\xc7?\x98\x89\x7f)\xf3S\xba?G\xef\x93n\xf8`\xee?0\xb2\xb2]\xea\xf1\xac?\x93\xa2\xf0G6\x00\xe7?\x1a[\n\xec\xc0\x96\xec?\xcc\x0b\xa7\x13\xab9\xe5?y\x1d9YnK\xe9?l\xe6\x95\x1f\xa9i\xcd?\x1c\xd1F#\xb2\xcd\xe1?\x7fG\x87\xa9j\x89\xea?PU\x89\x91\xfb \xb8?\xe6\xc0\xf1\xb0\xd4)\xef?+\x1b+\xb6Qo\xef?\x1a\x15\xdc\xad\t\x1e\xe2?\xd6v9\xd8\x9e\xea\xe7?\xfeCE\x03HC\xdc?0Qa\xec5\xca\xbe?G\x87\x87}"\xf0\xed?^I\x1d\xaf\x085\xeb?\xf6\xbb[\xf9\xc6\xb9\xdb?\xfc\xebj\x9a\x12o\xc6?\xba}:k\xe3\xdd\xd8?\x93\xdb\r\xd9!\xca\xec?\xdc\xd2[\xcf\r\xbd\xe6?\xeaP\xac\xf2\x91\x15\xd0?P\xcb\x9c\xcd\x19\x1c\xc3?@:\x08>\xafA\x89?\x90\xf1\x0bE,\xcb\xbe?`}GmQA\xcb?\xc4\xc3\x8a^\xd8\x82\xec?e\xde\x10K\xda\xe4\xec?\xe4\xc7\xc5\xb0\xc2v\xea?~\xc5\xb8!!\xff\xec?\x90d\xa9\x80\xb6\r\xed?\xdf(\x820\x04\xc6\xe2?\\\x92a\x00\x16\x94\xe5?\x9d\x01TXH\x92\xe9?h\xfa\x96\x9c\xc7\xf3\xcc?S\\\x17UB\x97\xef?>?\nE\'\xd7\xee?\x06\xdf\x17\xc9\xd8\x88\xe1?\x98q\xb8\x1e\xedb\xc2?EgK$XC\xed?\xba!\x91r(2\xd7?\x907t\xbc\xb5|\xd8?\xado\xc6\xd4Y\xe9\xe8?\xe2\xd9)\x97K@\xe9?\x8c>\xf1o\x00\xc7\xd0?"Al\xee\x9d\xb4\xd8?\xe2\xd2\x94\x9b\x18\xce\xe3?\x90\x0c9\x18z\x8d\xcd?\xef^>\xacNG\xe8?\x90\xed\xe6\x80\xbe~\xbe?:\xab\xd2\xb5\r-\xe9?\xbf\x7f\x1c\x1b{\x80\xed?&\xaf\xbd\xca\xea\x19\xe0?\x84\xea\x06.\xbaS\xd2?YU\xe7\x041%\xec? \xda\xee\x17\x8b\xde\xaa?$\x1c\xc1\xc2\xd5\xa0\xc4?\xd0\xa2\xda\x17\x8cz\xb5?P\xdb*\x0c\xc2\x96\xc8?z\x86k\x04\xdd@\xd7?j,\x82\xc6cz\xd2?n\xa1\x0c\x04\x10\xe9\xe3?\x00$\xcb\x89\xf4\xe4\x98?D\x01\xe9\xc60\x9d\xc4?\xa3dec\x83\xa4dims\x91\xa5dim_0\xa5attrs\x81\xa5units\x82\xa5class\xa8latitude\xa4unit\xa3rad\xa4data\x85\xc4\x02nd\xc3\xc4\x04type\xa3<f8\xc4\x04kind\xc4\x00\xc4\x05shape\x91\xcd\x03\xe8\xc4\x04data\xc5\x1f@\xcc\xc2\xe0\x13[P\xc5?^J\x93\xc47\x83\xef?`/rc\xc1f\xac?\xdd\xbd\xf5\x01t\x15\xe4?\x80\x8e\x8a;\x19J\x8a?/\xa6ez\xdfO\xe1?fx\x86\x92\xc1&\xd2?\xb4,m\xc2\x10\x0b\xda?\x11_\xac7\xfe\x99\xed?v\x9b\xb8\x1a\xcb%\xe5?\xf4\xe8\x00::\xbc\xc2?J\x99\xe6\xd5\x18L\xe9?\x8c\x04\xfb\xb2u\xc7\xe3?\xc4\x9e\x06\x89\x8f\xe3\xef?(avb\xady\xeb?\x024\xbbL\x18\x8d\xe0?\xe4`\xaf\xa0g[\xc9?e\xb2\xb3C\x81\xf1\xee?\xbfF\x85\x96\xf5n\xe7?\xd8\xa0\x0cQ\xed_\xcf?\x1a\xc6\ti\n\xe8\xea?\xe4<\xd7\xda\x8bn\xde?\xfc\xf0\xf2r\xba\x17\xe3?\xba\xd7?\xd7\x0e\x9c\xee?\x10\x16+,@D\xee?EK>\x06\x08\x0c\xe3?\\\x9d\xec\x82\x01\xf6\xec?d\x17\xfb)%\xae\xda?\xdfC\xcc\xf5m\xfc\xec?\x18\xc6\xf6 p\xdd\xbb?\xcc$<\xd8\x84^\xe9?l)\xc3\xe6b\x1e\xd0?\xc0\x81\xbcIE\x10\xec?\x0c}B\xb3\xc8\xc6\xdd?p\xf1\xa2\xa0\xee\x1f\xab?\xde\x18;Y\xa7.\xe3?@\x1a\x8aX}\x87\x98?\x16\xf5|\xf5\xe0\xc6\xe9?\x16\x90\xb5\xf5\x81~\xda?F\x13\xbb]\x97N\xd6?\xbe\xef \x8a\x1c\xbc\xe9?\xd6js\xc0\xab\x1a\xe7?y\xc1\xc4\x02\x86}\xe7?\xb6.\x99\xb3[\x17\xee?V.[\xa9\tW\xec?R\x98\xe6n\xcb\xf1\xe9?r\xdbpBq\xc2\xe7?\xff\x07\xe0\xa3\xf1\xda\xe8?\x8a\xc8\x8f\x02N!\xdc?6}{\x08\xadF\xd0?`6\xac?\xa7q\xe6?V\x82\xfc\x19\xb4V\xd7?\xe2\x85XimF\xeb?\xf0}\xc6\x89\x80\x12\xa3?\x80Mdl\x12\xdf\x95?f\xf2\xfe\xa2\xde}\xdc?\xb5\xf5\x95.\xd4\xb4\xea?e):DB\xee\xe8?\xf4\xccyD\xd2`\xd4?\x86\xf7\xc9\xd1\xbe\n\xd7?\x87$\xab\x11fE\xe9?\xa7VM\x1b\xc4\xe5\xec?B4}M\xe8\xcc\xe8?T\xae\x85\x1aMW\xe6?\xfe\x8a\x8f+n\x19\xe6?\xae=<\xd6\xd9\xfa\xee?Y@\xb0)~Q\xe4?\x88\x1e\xdb\xb1zy\xcf?\xf9\xc3U\x97:\xe3\xe0?\x92\x1d\x0b[\xe8v\xd3?d%\xbb\xeb;\xe2\xc0?4\x00\x1b\xa7\x94\xe7\xc7?\x89\xe7\xae\xafH\xbd\xea?\xc2\xacA\x16\x8a\xb7\xe6?\x16\x19\x0b\x1c\x8dM\xd6?J\xe0\x83\xa2"\xf6\xee?\x92\xd3\xcf\xfdl\x05\xe6?(\xe6\x02x\xeb\xe1\xc5?@U\xe6\xab\xfa\xab\xa4?]=\xcdM\x17p\xee?l"p\x9d\xf11\xd4?\xeb\x9f<\xfc\xfb\xfb\xef?\x1dT\xc3\xd6\xb3\xd8\xee?\x9e\xac\xcb\x1a\xad\x1d\xd5?\x91\xfa`\xf4sy\xe2?\x84]5\x18\xce\xaa\xc8?\x00\x99w\xca\x18\x92\xb6?\x00>\xe0Z):`?|\xb6Z\x0c\x8c\xef\xd5?o\x0em\x98\x9d\xc9\xeb?\xeb\xc1\x82\x8cN.\xe4?D\x1e\xc5\xc6>\xfd\xea?\x94-\x8e\xc8\xf6\xf0\xe7?\xa3\x8d\xaa\xb1s{\xed?\xcf\xd8\xed1 \xb3\xed?(^\x996\xd2>\xdc?0\xf4&\xe2[\xd2\xc7?\x19\x0bNC\x01\x88\xe9?0\xcc\x05#py\xca?{X\x06\xe1z-\xe1?\x05>\xb9_\x95\x16\xeb?pj\xc8\xa3\x83z\xb1?\xe1h\xa7\xfb!\x10\xe4?\x14\xb9h`A3\xca?\xcaQ\xbb\xd4\x9b\x15\xe5?\x9c\xef\xa6\xfe\xae\x9b\xed?\xca!\xc1z\\n\xe0?\xe0\x06Ef\x8cn\xb9?\x04F\xe9#Ul\xed?\xd0\xed\xbc\xe4\n\xa6\xa8?\xacqG\xcf\x98\xa4\xc4?\xc0)\xecy\xe2U\xaa?F\x88\x1f@\xee\xf1\xd8?M\x9aN*\xf2#\xef?\xc0\ts\x1e\x19\x96\xcc?\xf2\xceM\x9a\xbd\xee\xda?5\xfd\x0c\x05\xa6\xb7\xe4?\xd0\x17Z\xf1\xf9m\xbb?\xa6\xbay\x84\x9d\x14\xdc?Xd=b%\x07\xc0?>P\t$\r\xe8\xee?(\xe7\x96cF\xdf\xda?\x945-[\xee\xb5\xd6?%\xdd\xf9\xfe\xd0R\xe4?#\x98\x8a\x18&\x97\xeb?@\xdfw+w\x9b\xa1?H\xcb!\xf6\x82I\xc2?A\xd2\xc7\xeah\xc6\xe7?\\\x0e\xe8\x10\xfbj\xc7?a\xbeh?7A\xef?\xfaK\x89\x04\x8e\x9a\xef?\x14\xcd\xf3\x17\xef\x96\xee?\x8a(\xf6\xb2\xf1\x99\xef?\xc2\x95?\xf9\x96D\xea?@\x81x\xce\xac\xa0\xb3?|\x0e\x9d\xb8j\xf8\xc1?\x08,~\x15\xb1\xcd\xe6?@N\xaa\xb1\xc7\xe2\x82?\x15.,f\xd5K\xe2?\x08F\xc6\xa6\x0e\xba\xbf?P\xf3@&\xef\xa3\xdf?\xe8\x8e\r\xec\xa8\x04\xb1?\x12\'\xd0p\xe6B\xe0?\x92\x9c\x84+\xba:\xe6?|\xde\'L\x80\x80\xe2?\x14\x92\x83j\\\xf1\xc9?\x82\xe4\xdb%/C\xe7?^\x03\xa3\x8b~\xe7\xd9?\xf3.\xeb\xbb\xf1\xda\xe8?\xc8\xbej\xc5\xbb\xc3\xd3?\x16\x93\x13\x8a\x92\xf2\xd4?x\xea+)\x9eQ\xb2?1\x07\xf3\tq\xb5\xe2?@4?\x85Nr\x89?\xd2`\xf1\xdaGq\xe6?\x90S\xcbf\xdd\x10\xdb?\xd2M\x87\x96\xf8D\xd6?\x04\tSE;\xd0\xdf?\x8eS\xb8\xa1\xfa9\xed?\xd0\xdc\x90\xb4\xbe\xd4\xdc?\x9d\x13\x90\xd5\xecJ\xe0?D\x0f\xe9h\xd3*\xdc?!\xd4izR\xbf\xe4?\xf8D\xc7\xc5\x85\xad\xe1?Zs\xf3\xe7\xc7\x06\xd5?\x12C\xbe\x83\x0e\x9a\xde?\xac\xb8\xc0wnI\xd6?\x00\xda;t\xae4\x87?\xc0Rr\xce\x97\xdf\xe8?(\x85\xd6\xdf\xa4-\xe0?\xc8\x90<\x12\xad\xaf\xba?h\xd0\x81-#\xb1\xec?\x90\xf7\xe8\x91\xa4\xdd\xca?\x02\xb5\xfc1\xd6}\xe7?\xd1y\xa8XM)\xe4?\xa3\x9f\xd2-\xce\xb0\xe9?xR\x83%_E\xda?\xcc^\x8ckW\xe0\xd4?#\xd3\x17\x95\xa0\xdb\xe8?\xc4\x8e>\x12\\\xbb\xcf?\xc6\x8an\xe2\xb4\xd5\xde?\xc0\xe1\xf2\x986k\xbd?\x00\x80Y\xb1}hq?@\xe0\xa8\x85\xb1\xd7\xac?\xa0\x9e\xb9\x9e\xf0\xc1\xde?\x8c\xdb\xd1\xdc\xa6L\xd1?\xc0\x80"\x938N\x81?f7\x04\x86\xc2\xe8\xd0?~\x8e\xe9\x05\x0b\x11\xeb?*\x0c&U\xb4\xd1\xe4?0\xb2\xafE<\x0f\xae?\\-\'\x05=\xfa\xea?Y\x89\xa9Rd\x1d\xed?l\xce\x89y\xbe\xe9\xd6?\xd4\x98\xa1L\xb3\x90\xe9?\xae\x02\x93\xfe\x01\x12\xe2?X#\x1e\x9e\x9f\xd3\xbb?\x94\xc0\xed\xe4\x1a0\xc9?X\x9f\x10N\xa9\xd8\xd1?j\x0f=\xe4\x89J\xec?r1\xbe]\'\x8a\xec?\x8c(7\xfd\x8b\x87\xc6?\xd4\xea\xd9\x91\xd5\x1e\xc4?\x1c\xb9\xf2\xf5\xda\x0f\xee?5\xb5\x01\xa1)_\xe7?8\xdc\xb4\xdd\xee2\xdd?(\x803\x91\x96_\xe8?\xb22\xcc\x8f(Y\xed?\xb8\x02\xd1g$\x9c\xee?bw\xee\xec\xa8\xa3\xe0?\x0c\xfc}\xf5\xc1+\xd4?$\xf8P\x11Ia\xd3?\xe0,S\xc4\xbf\xda\xdd?\xeaj+L\x92\xc5\xdb?D\x82\xb9K\xd1\xec\xd0?H\x96a_\xeb\x84\xc0?%\x05Z^\x1f\\\xe2?W\xd1HV\xad\xbe\xe9?d\x94\x86(\x1d4\xef?pi\x89S\xb0\xcd\xa7?\xfc\xff\'\x14\re\xc3?>\xcfB\xae\xa8\xe2\xdc?\xc7S6\xf7\x9f\xff\xed?\xa0([\x99C\xda\xa2?\x07\x98-\xacs\xf8\xee?\xcf\x9a\xc1\tCM\xe2?\xc0o\x1co\x95{\xa3?\xb3\x96v\xc7\xd6U\xef?\x14;\xb0\xc5\x83K\xc3?DW\xfao\x14\xb3\xd4?\xad8\x89\x0e\x7f\xc3\xe1?\x80\xc9\x8dA\xec\xa9\x97?TD2\xb9\xdc\x1d\xec?\xd8\xc4\x88r\x81L\xcb?T^\xca\x8a\xe3\xbf\xe9?\xc6!\x0e\xf1\xe2\x83\xdf?4\x94\xa9\x13\x9d\x87\xd1?\x1atn\x94}\xfb\xdb?\x8b\xf3.\x8fi\xe6\xe8?&{\xa7\x07\xfd\x87\xe0?\x18o\x00\xc0\xea\x81\xc1?\xe4"\x90\x05\x9fV\xe4?\xfc]\xb46\x97O\xe5?\x80\xdaH\xb5[\xdf\xaa?:\xbf \xf6\x95\x19\xd1?\xd6\x07]\x8a\xb3\xb3\xec?\xdbS%\x8aD\x15\xe8?Zr\xc5\x0eV\xbd\xec?x\r7I\x15G\xca?BX\x85\xf5Q\xf8\xd9?\xe0\xdcH\xe8^\x0b\xe7?0\xf9\x00\xace\xb5\xb4?\xf2\x98z\xf3\xa6E\xd8?a\x87\xab\x0cq\xc6\xe2?\xc7Q:\x17\xfcw\xe9?\xaf\xecMzi\x18\xe0?\x94\x87\xdc\xe58\xd0\xd8?\xb6D5\x04\xdbl\xd9?\xd4\xe5\xcb\t26\xe6?p\x03\x07j\xa4\xfc\xe1?A\x93\xedE.\xd3\xe4?j_>\x02_\xc1\xda?0\xba\xf8Y\x14\xb0\xcf?\x95\xb7\xfc\x9c\xa7~\xee?\x83\xe9\x94\xad\xe5\xb8\xec?@\xf8e\x14\x1a\xe5\xb4?ga\xf2<\x07\x94\xe8?\xe8\xc9{? \x14\xc6?\x08\x1b5\xb8\xb6\x16\xed?\x0fl\xe3?\tg\xe6?\xa9}\xb1oq.\xe8?%?\xe3\xa5/\x80\xe8?A\x9c\xd1\xaaD\x94\xef?\xcamN\xff\xa0\x99\xe2?\x84\xc5\x99\xe8\xfb\x17\xd4?p\xb3f\xbd\x86\xe4\xce?\xd9\x92\xff\xedO,\xe3?\xa0\x90\xcc\xec\xbd)\xc7?\x83\xdf>\xa7@4\xeb?.\\`\x91\x7f,\xda?\xb8D\xfe\x12{\xbb\xe7?\x88O\xa3\xbd\xfb\xd5\xc2?\xacr<\x94#\x0e\xd2?d\x9b\x96\xc8]\x9c\xd3?\x00\xc9\xcdyI)\x88?%\xd7\x0f\x88\xfeH\xe3?\xb4$1\x13*r\xd3?P7?\xcc\x8e\x93\xa6?\x10\xabHm\x83\x05\xe6?\xd0\xeb`\xcd\xd8<\xb4?r\r\xb1\xe4#\x9b\xed?\xdbm5\xa1{d\xea?\xb4q\xf8\xc8\x04B\xd8?\xcf\x04\xae\x14\xcc\xd5\xeb?\x14\x14\x12\xdc\xd6@\xcc?8$/V\xcc\x9f\xbf?\x88\xe0\x1d\r\xfbB\xe5?5\tt\xc9\xcf_\xec?\xc0\x8a9E\x8e\xf5\xab?\xd4=\x06{\xf7C\xe5?\xba\x9b\xb4\xc1 o\xdf?\xff\xe9W*\xd0\xe9\xe8?$\xe2\x89/\x92\xcd\xc2?\x10;\x8fh\xdb\xdd\xb5?\x82?\x14W\xaf\xc6\xd0?\x98w\xda\xb3\xa2\xba\xda?>\xd8\x02<\x9a\x8f\xe7?x\xb0\xa8V\xab?\xdf?,\xa4\xe0\xa8/\xfc\xe9?\xf0\x83\xde\xf8\xd1V\xba?\xf3Y\x15H|\xab\xe1?\x9f\xa8\xd6\xe97\xa5\xe7?\xa4\xe2{\xc8\xca\x0e\xcf?\xb2\xf80C#\xf9\xd7?\x87\xa8\x11\xda\x1b\x14\xeb?2\xfdQ\xedx\xb6\xd7?\x83\xcfv_\x86\xa7\xee?\xbc\xe8\xaa\xfa@\xfa\xec?\xb4@)\xcfB\x85\xe3?#\x01\x8c\x02\xdd\xd1\xe2?y\x89\xd2\xb5c\xa5\xe1?}\t-\x87\xdb4\xef?/\x04\xb8\x17\xf4T\xe8?\xda9\x1c\x9f4\xe9\xd2?\x1f\xf9M\x95"\x7f\xee?\x9e\xc3|\x0c\x17m\xed?\')%\xe1\x87$\xe9?\xdc\xb4\x7f@i\x83\xd8?e\xb1QkpD\xe8?\xb0\x19\x85\x8d=V\xb3?\x00\xe0\xec\x00\xc8.\xd7?w\xb8\xd3\xc2\xc07\xef?D\xbb\xaf\xad\x84\x93\xc6?\xa4D4&\xa4\xdd\xd3?\x84o\xdc}}\x8b\xd6?\xb8\xfaa\x82N\xa9\xcf?kT(\xcaA\x94\xe1?\xa0\xa4\xde92\xb3\xb3?_\x05\x9d\x00\x002\xe9?L\xa8\xf0\xf8\xad\xde\xca?\xa4\x16\xfd,YV\xd1?0\xbd\x9d\xf9s\xea\xae?\xa0\xffR"cT\xe9?l\xa8J\xe6\xc3\xc4\xdc?\xc1\xf6_\x8f\xf2\xaf\xe1?\xa4\xec!\xb4m8\xc3?\xc02\xc3#b\xad\x9a?\xda\x19\xf1O\x9b\xde\xd5?\x9c\xe1\xae\x16\xa6\x1b\xdc?\x18{\x91\x85\x8c\x03\xb2?L\xfd\x8dI\x84\x8c\xdc?V{\x17zB\x1f\xd3?\xb8\x8b\x83\x02\xaa\xa0\xb7?\xd4\x12\xe1\xf4\xc4\x91\xc6?\xd2\xe7\xc9\xd9\xa1\xa1\xef?\x80\x88i\xa2;a\x93?@p\xa9\xfc\xb4\xc7\xb7?\xbeA\xc1r\x9a\xd3\xd7?\xfc\xfa\x7f\xfba\xc3\xc0?t\x8d,\xd6t:\xef?p\xda\x90h7\xb4\xb4?\xfeNh6{\xf6\xdc?\x80\x17k\x0b\x99a\xa2?\\\xab\x19\xfe3\xd7\xe4?\xec\'1>\xc0\xa8\xde?\xb5\x8f\x82DX\xad\xea?\x00\t(\xbc5\x97\x84?,)u\xe6\xb2\xb3\xe4?\x0c,\x03\xf4}\r\xe3?\x95<\xc5\xa4\x85\xfa\xeb?\x88\x84\xa0\xebq{\xbb?0/\x8a\xee\x0f\x9d\xc5?\x80[\xe9\x87\xb70\xa6?31*fU\xf9\xe4?&\n\\\xe6a\xbb\xed?\x9bK+\x1bt\xa3\xe3?\x19\xcc\xa3Xrx\xe2?I6q\xf9*M\xe4?\xfa\x06\x9a#\x06l\xef?\xcbf\xd8\x85W\x0e\xe6?4\xec\x93F$\xf4\xd2?\xe2F1\xecg\xcb\xd9?\x84\xd0\x0e)\x96\xdf\xc2?\x86%w\xf3\x8f\n\xe4?"\xe4\xe7\x18\xc9(\xe4?\xfd\xdf\x800k\xc9\xe6?\x81\x9a\xf5J)\xf5\xe1?\x86\x1e\xe1H\x13p\xd3?\x12\xf6L}\xcf\x0c\xd4?\x1c\x88\x94P\xb0\xd1\xda?NH\x1eb=p\xea?\xc0\xd4h\xff\xed\xae\x84?\x10\xb8\xe7>=\xe8\xd1?\x9d.\x1d\xbd\xba>\xed?\x99\xac\x13\x08>W\xea?Z\xe3.W6\xa2\xe5?\xe0\x85\xcd\xa5\xdc\xb6\xe6? Rq\xd6v\x04\xe1?.\xa4\xd5\xe2e\x86\xd6?\x9a\xc4\xb9*\'\xc6\xe2?&\xb0\xac\xb9\x92\xfc\xde?\xb1\x0c\x99\x8b\xec\x96\xe9?\x1a:\xe9c\xa6\xd9\xef?y)\xe8J\xfe\xc1\xe8?\xb4\xb2\x93\x02\xdfj\xd8?*\xce\x1bN\xfe\xbb\xed?\xf4\xff\xfbo\x9eO\xd7?\xf0\xa3\x8d\xfa\xe8\xe9\xe3?r\xe9\xe1\xcfKd\xeb?\xc4\x8f\r\xc9\xc7u\xc5?\x8c\x80\xe8\r[\x1d\xe8?n\xe5\x08A\xc9/\xed?O\xd5\xc6tX\x81\xe4?\xf0\xe85\xea\x19\xf6\xc8?{\xee\xdfwOU\xe2?j\x8b\xdc\x07\xa7\x8c\xd3?\xa4\x0e\x10\x0b\xe8\x95\xe0?\x15\n\x89.m\xc8\xed?\x08\xec?\'\xf4n\xc6?\xa4\x8d\x156\xb0\xf5\xc2?\x00\xc6\t\\\x91\x90\xb5?\x88\x91\n\xf5\xf4\x1f\xe6?\xf0E\x1fWs\xd1\xc0?\xaf\xb5pp\xce/\xe5?\xe2d\xa4\xa1\x98U\xea?Qf\x82\x1a"\xfe\xe8?\n\xff=\x15\xc5J\xd0?\x9a\xafrl`%\xed?\x80\xb6\x9b\x063\xbe\x88?\xbc\xf2X\xa4b:\xcd?\xfb\xbf\x16\xac 6\xe4?\x8ca\xde\x7f\xc4\xa0\xc7?\xbc\xb0}\x8d\xd0w\xe0?u\x1e\x1a\x16-\xc6\xec?\xe6\x89\xbc\xf1\x9d\xeb\xdc? 7\xcdH\xbfG\x93?\x90\xe0R\'\xbe;\xa6?\xe0%\xc2C\x80\xad\x9d?\xe4\xe0ms\x15#\xc7?@\xb5#L\xb9\xe9\xb8?\xb0\x12f\x83dx\xc2?h\x89.Y%\xec\xd3?\xb1\xe3*\xcb^d\xee?\xf33\xa0O5\xe8\xec?\xe4?\x15R\xcbU\xe7?9*Q\xece\xfb\xe1?tiLD2\x8c\xe5?\x0c\xbd\xe8\xc9\xb2M\xee?\xd0u\xe4f\xfd.\xb4?\xa4.\xcc\x98\xe0\xc4\xd8?`\xe1\x0er\xba<\xa7?M\xf1\x9b\\5\x93\xe3?k\x8br\xa0Q\xa9\xe5?\xffU`[\x7f\xa5\xeb?w\x9d\x1d\xa6T\x0c\xe3?\x0b\xbee\xc9\xb7\xbb\xee?\x8eb++\xcf|\xe5?\xa1-\xcd\x8b\xa2r\xe1?\xe8\xad\xc6h\xec1\xea?`V\r\xb6-\x8d\xb4?8\xcc\xc9c\x0b\xd3\xe3?n\xe6\x05*`\xbd\xea?\xf2k\xe9V\xbb\xf9\xd3?\x8dFH\x9d\x85\xf1\xef?~\\\x1f\\\xc8\xee\xd9?]\x8d\xd902w\xe4?9\xfb\xf5(9\x93\xe2?"\xf7)H#\xac\xed?\x1b\xfbN\x8b>\xfd\xef?P\xb0\x06z%j\xd1?\x8a\x08\xa40\xd9\x85\xe1?"\xb1\x9dH\xa2.\xee?\x1e\x84\xf5H\xf5\xe4\xd4?L\'\x88t\xfc\xdc\xc1?\xa4\xa2)8\xb3\xa2\xe6?hhq\xd6\xbaz\xb8?(\xed\xa9\x93o\xc6\xe9?\x0e\x8e\xa9\xa2\x17_\xe8?\xf0GG_H7\xd0?\xcc\xbb+<oI\xed?YSo\x9b\xe0)\xe2?/\xa9\xba?\xaa\x80\xe5?\x9c\x8c\x1a\xf3[\x80\xd5?`\xd8N#\x00i\xb1?\xfe\x93\xc3L3U\xeb?<a-\x81\xc7g\xe5?\xf0Y\xac\xe6\xd7\x98\xe6?\n\x05\xe3\x16\xb5\x02\xd5?\x1c\x15\x89\x80\xfa{\xc0?\x90ro\x16a\xc6\xb9?\xee-a\xe6Bb\xef?\xe8\xde\x9d\xc2p\xbe\xd4?\xc5\xf2\x8bs\xea\x8b\xee?\x88\x82\x18DW\t\xd8?s\xbc+R\x80S\xeb?\xe4\x02g\x1e\xe3\x99\xc2?\x0c\x8e\xfd\x99f\xb9\xd7?1\x00\xfe\xbf\xb2\x81\xe4?!\xb8\xd2\xd7\x8dp\xef?\x10\xf6\xda\x07(8\xca?D\xe3\xeaJ\xe3\xdc\xee?\xe8\xa5K\x11\xd4\xd3\xeb?\xfc\xe1\xe2\xf1\x05t\xe4?\xe0l\xeb\x1c\xdb\xf4\xbb?\x7f\x97J%\x86"\xe0?\\\xb5\xd8\xc3\xef\x99\xdd?\xf6=\x86fb\xa1\xd2?\x8c&/\x0e\x94\xda\xc7?\xec\xc1\x8e\x7fA\xd1\xcf?Hu3B\x066\xbe?\xc0\xf0\xfe\x1fvU\xcb?X\x0e\xee\x81;\x91\xe9?\x14u\xb8\xb6\x0fV\xc6?\xdc^8XUT\xc2?\x14\xe4\x9e\xe3\'Z\xd2?\x94aA\xbet\xa8\xc8?\x80\x83\'jh\xc1\xa5?S\xbb\xb4\xd65\x9a\xe7?\xa4\nFF\xbb\xa0\xdf?\x9d(+#\xc4\xd3\xe1?jG\x12H\xa64\xe1?H\x91;\xf9\xd4Y\xba?\x04\x8esf\xa8;\xea?sqD\xe0\x89\xc0\xe8?\x00\x14PT0$\xa5?\xac\x06\x97.\x87\x86\xdc?\xca\xaf\xbc\x01\x82N\xee?\x91\x84W\xccvr\xe2?L\xcds\xbd\x0c\xa4\xde?\x06:B\x00v\x07\xdf?`\xecv\x05\xc1j\x9d?\x00N\x00\xad\x99\xe5\x99?\xa0,5\xee?\x1d\xcb?8\xc3Xq\xad<\xce?`68\xaf\x86u\x93?)lO\xb9t\xbb\xe5?\xc4\xaedE\xc2\x92\xe8?<\x13\xc7EL\xa9\xce?\xb9\xf1\xb0j\x1fb\xec?\xc00\x98t\xa4k\x9b?\x00\xa7\xf1\xd6[\xf1\xa2?\x1c\xb5\x8a\xa8DZ\xdd?\x00O\xec6\xbf \xef?,\x88b\xeb\xa9\xa2\xdc?<\x92\xc8\xf6\'Z\xd6?\xc0m\x81x\x9e \xa9?\x08\xe3@S\xdb\xdf\xd1?R`\xc9\x1dj:\xe4?4\xfa\xcf\xc2\x19c\xe9?\x07\xa3\xee\x7f_\x01\xee?8\xfc\xb3\x061g\xb2?\xc3\xbd\xf7\xc7\xc9}\xe0?\x10\xfe\xbd\xd19@\xbe?\xef\xe0\xe1*\x98N\xe3?\xfd\x1e\xec\xa5+^\xe8?z\xe6uz\x04\xc2\xd2?\x80\x88\xb8.\xa4\x99\xa3?d\xe7s5\x0c\xe0\xc4?Vi|\xdca\xeb\xd5? VF\xdc\x08\x8b\xdd?\xd4\xe0L\x00\xabe\xcf?\x14\xd8\xc9\x06\x0f\x9d\xd7?\x0e\xc0\x812\xc6Q\xe4?\x16\xfc\x90]\xd9\x96\xd2?\xb0\x18\x1a+Sj\xbb?\x90\xd4=\x85w\x0f\xb4?\x92\xcfY\x83\x1b6\xec?\xa2\xf2#\xc4u\xa5\xe4?f\xa2\xbe\x05\xb2\xd2\xdf?W\x19\x0bH\x8b3\xe8?5~9ui\x93\xe1?\x1b\x96\x83\xe5\x02\x1a\xe6?\xc0\xc2\xd5\x94\xc2\x01\xd7?\xf0\xa1\xa9\r\xe0\xb6\xdd?\xe0K\xf4\xbbv\xb9\xc2?\xbbQ\xbb\'W\x05\xe5?\xbe\xe8\xf8\x18\xe7K\xe0?X\x81\xcc\x94\x18S\xd0?\x98\x03\xed\xa6\x9d\xdb\xb4?,j\x99jpK\xe2?\xb4u\x83s3\x1f\xd5?\x99\xcd\x9e_\xbb\xa6\xe5?\x16q\x97\x9d\xf14\xdc?\xac\x0e\xcf\xe9\xdb\xf5\xda?\xc5\xae\xe0\xa7\x84\'\xef?\x14\x99\x14w\xba\xe6\xe2?\xfc\x14\x80\xe6\x18e\xc6?\xf3\xc0\x8e\x15\x82\x11\xe3?\xca\\*,\x133\xe3?\xd9\x8c\x14\x871\xd4\xed?\xa9Q\x9e\x94\xc1\x9b\xe0?F\xc5M[\xee\x8d\xd6?\xbd\xedo(yp\xe6?"j\xd3\x1b\x16\x96\xd2?H\xdd\x01=\x9d\xa6\xc8?*\xfa\xf9\xec4\xd7\xda?`\xff\xb2\xe1\xdd\xa1\xae?\xe1\x9a\x08\x18\x14\xab\xea?\x00\x88\x02t/\n\xbe?\xf7H\xcc11\xd1\xe8?]O\xd5\xccaR\xe8?\x10\xdf s\xbes\xaf?\xe6x\xb1\xde\xb4\xe2\xed?\xda.q\xbdK\xe6\xed?\xc5\xd1\xd6w[Y\xe9?o_E~\xa2$\xe5?\xff\xb7!\xe3\x8ag\xe7?\x9e\x16j\x88\x16@\xd1?\x88\xf2Bc\xd5\xf4\xca?\xfa\xf7BZ\x1a\xf6\xec?_\xb8z?\xe1\xd8\xe2?\x10\x848N#\xaa\xe3?\xb4\x10\xc8>\x97a\xd5?Z\xcem\xf2Q\xbb\xd9?\xd0 rK\x9e\xd1\xae?\xc7\xd3\x14\xef]8\xe0?\x00\xf4\'\xdf\xe8\xdcJ?\xa0\xa9\x1b\x87;\x95\xc7?\xc0\x93w\xcfl\xf8\xeb?\x0e\x0e,`\xa0\x82\xd4?\xdd\xcc$\xd0\xcf\xfb\xed?\x188\x85\xbcM\xc7\xbd?J4\xed\xd6\xae~\xe0?p{\x96T\xd1n\xa2?\xf0\xa6+\x19\xd1\x00\xca?\x1a\xc5\xebid\xac\xd3?\x8b\x8e\xe1NI\x88\xec?\x9c\'\x03\xc8~\x11\xee?\xd6\xebhx\x83\xda\xe7?\xea\xc3\x90\xb4\x15d\xef?\xe85\x83\xf2\x9f_\xb7?\x83\x9eYP\x7f\x16\xec?\xc3\xeae\xa2$\xc9\xe9?\xb5tNp\x8a\xb2\xea?ZQ\x15a\xae\x1a\xe6?\x9cl\xc6oD\x9c\xc8?\x96\x8b-\x8c\xc5\xcb\xed?P\xda\x07\xc0gz\xa3?\xef%\x02K<\xdb\xef?>\x1b\xdb\x1e\x97\xdd\xdc?\x0c\xf7u\x17\x08\xb1\xde?z\x1c\x1e\x85\xf0\x0c\xeb?\xf5h\xea\xb2\x83\xce\xee?\x90\x00P\xe5\x08\x99\xe2?\x04\xdb\xe1\xc6\xb2\xb1\xd4?\x82S\xbd/5-\xea?\x1e\x04\xa1\x8e\xc0\xf6\xe4?bww\xc6\x86<\xe6?\xf2\x9c\xc2\xb7\x9eL\xe3?,\xae\xc4ji\xf5\xdc?\xec\xdb|\x8fZ\x83\xe6?0P\xdfH\x80\xc3\xee?XK\xad\x93a\x1c\xb3?\xb8\x93\x9e\xac\xe2_\xd3?G\x8ck\x17\xc6\x8e\xec?T\xa5P\xb8\xc9\n\xc5?\xaf\xe0\x11+\xad\xbf\xe6?\x16\x93U\xcd\x16\xf7\xd0?\x04\xa4};\xaa"\xc7?L\x97\xeb2\x03m\xd1?\xf6\xbdNaO\xb9\xe9?t\xc1\xe0\xeb2p\xe1?\x08NB\xb3,\xa0\xbb?\x00(_\x93\xacs\xd9?\xdc\x15\x87\x03\xf8\xdb\xc9?RI3\xa7>\xe7\xd3?0\xba\x84M\xdc\x05\xe8?s\xbf\xc3\x04OA\xee?\xbc\xe1Ca\xf30\xd0?C,\x1d\xc3h\xa0\xe5?\x88\x90\x90)\xbb\x1c\xee?\xd8\xea\xeb=T"\xcb?\xec\x1e^`7\x8d\xc4?1o+\x8f"\x89\xe4?\xa3<\xdfcU\xb8\xe2?\xd8\x06LEhQ\xe0?\x94\x19\x18\xf9VQ\xe5?tS\xe5\xe4\x9b\xa7\xe5?\xa0\xfe\x16c\x9e\x91\xe9?\xacIl\x86\x94\xfa\xe4?\xfc5\x1f\xbc4\x90\xd6?\x8d\xfcu\xda\xf4j\xe2?\x80@hK\x9a\x0b\xcb?\x84\x97<\x0c\x13\x8c\xd0?\xee\xaaL\x180,\xe3?\xc8\x95\xd1Ycz\xdc?\xbe\xce\x88\xb7~\x90\xda?;\xb8\xc8\x9dR&\xe4?.1p\xc7f\xf7\xee?\xf9%R\xd3\'\x08\xe0?\x95\x04:\x0bq"\xe5?\x8c\x04*\xa6\xae\x92\xcd?|\xd5\xce\xba\x8dP\xcd?\xf2\x98\xb5\x87\x92`\xe8?(\x94\x1f\x93\x97-\xc4?\x92c\xe2\x12\xdf\xe6\xea?p\xc1\'\xb6\x16z\xd7?\xa2\x10\xb1\xd1i\xa0\xeb?\xcb\x0b\xe2K\x0b\x1e\xe5?\x048E\xc4\xb4\xea\xd9?\x9a\xeb\x81\x80\x05\x84\xe4?\xa0`\xb5i\x0f\xbf\xca?\xee0\x7f\xb0\xbe\xca\xee?\x10\xc6%\x85K\xa9\xd4?\xb1|Jw\x88\xb7\xe1?:\x08C\x01\xac\xb8\xe0?30m\xf4\xa8:\xea?\x04y\xef \xe6\x01\xc9?\x00\x02\x08\xe6\xd1\xa4S?\xc6\x829\x9e\xda\xdc\xdb?H\x1c\x9f7\x99\x9d\xcf?"\xcf\xcd\xd6\x19\x07\xd9?\x8b\x06\x87\xbdZ\x1c\xe6?\x15a\t$\x7f9\xe5?\xf3\xb9\x18\xb5\xa8K\xed?/o\xdf\xb4\x97>\xe5?\x88\x94\x0bE\xa5\xfd\xe8?\x8e\xa0\xc1\x18\ne\xd8?\xda\x1e\xad\x85}t\xec?\xccZX^.\xb4\xc0?\x89,}g\xbd_\xed?\xdf\xbbM\xb3n[\xe6?\xf0 \xa4&\xd3\xf8\xe9?X5(.\x1b\x85\xef?\x04kV9\x01t\xd7?\x8eKF\xf1ec\xe7?\xbf\xa2.\x06\xa8\xd1\xe4?\xf0\xb1\xfe\xafc\xe7\xc7?\xa8[x\x05 \xee\xdd?#\xf8\xd4\xbb\x82+\xe1?\xb4\x16\\\xba\xc2w\xef?\xea/]\x0b\n\xbd\xdf?k\xf8\xb7\xc0\xc28\xe0?s\x10\xfe\x05\xa5\x84\xe2?n\x08\xd6\x06\xd5\xe9\xec?\x9a\xb2\x15\x0eZ\x14\xdb?\xcdN^b1<\xeb?<-\x9d\xc2pr\xce?L\xf9WVv\xf4\xe8?,\xac(\xa3\x02/\xd7?\xac\xafG\xd5d8\xea?\xc8_\x18\x17\x0fw\xe7?\xcc\xe1\xe5\x08\xdcI\xdc?p\xcc\xe3\x8c\xefz\xa9?\x84\xee\xc3\x00g`\xde?\x80\xf80\x98\xe54{?\xe4T=\xb2)_\xd4?\x1cct\xbc\x9d\x8b\xee?\xda=\xe5\t{\x81\xdd?\x96}\xbb\x97\xbd\xe8\xd9?)\x8e\xce\xc7\xca\xc7\xe8?\x84\x1a\xb2Nn\xfd\xdd?<Y7\x048\xa1\xd5?\x08\x85\xe0-\xf9v\xd7?\xe9g\xd05\x964\xe8?\\\xf8\xb5+\xa4W\xd1?>\x14\xb1\xfdZ\xd8\xee?,\xab\xe4\x8d0\x13\xd7?\x8c\xba\x19\x91\x82\x8a\xce? v\xd4C\x8aR\xcb?v\x97\x9f\xb2\xd3l\xdb?T6\xd59\xe5\x81\xe3?\xa9<\x17\x8a\xd5\xa7\xed?\xe2\x113\x19\xe7c\xe5?\x00\x12<\xe8\xcf\x89Z?pNH\x16\xbc\x16\xee?\xd27\xe9\xcf\xf6\x01\xd4?\xbc5\xcf\xf1(|\xdf?\xb7\xc71\xe9\x1a\xae\xe6?NtM\xe5D\xe3\xd5?D\xb3\xb2\xfe&_\xca?$5\xf2\xf6^Q\xce?\xd8V\xdfI#\x13\xef?< j\x9f8\xe0\xcc?\xb0afoP\xbe\xdc?\xe9:\xd7J\xc6v\xe3?\x8a\x7fgQu\x10\xd8?\xc4\x81f\x01\xac\xd8\xdb?\xc0\x81cp\xd0\xd0\xcc?\x88\r\xd8\xe9\x05\xa3\xbe?\xccl\x02\xcbGQ\xe5?\xeaZ%\x83\xde\xa8\xe0?\xa8\xd9_y\xe9\xc8\xb6?\xb2\xbdC\x02\xe4\xdd\xd1?\xbac\xc7\xad\xa2&\xd7?-ME`p\x08\xef?7\xe9\xab\x93x\x13\xed?1U\x14 \xff\x86\xe0?\xa1\xc1\x17\x00\x88\xbb\xec?\xb8W\xebs\x1ek\xcc?\xfaO0\xbe\x1c\x9a\xe1?tw\xc9\x90\x9c2\xcc?\xd0\xfb\xde\x92~&\xa7?\x00xM\xf42&T?\xb4\xdc\x17\xad\'\x05\xe9?\x9d\\\xca\xfc\xa5\x18\xe4?C\t$E\x1d.\xe5?\xee\xefV7\x93i\xeb?\xa6V\x91\xbc\xe9\xd3\xee?w\x0e\xa9\xdb\\\x06\xe1?\xb0\x1c\xea\xa9\x1c(\xbc?D\x0b\xc6\xe9\xcd|\xd1?\xae\xfa\x15\x17\x1f\xd4\xd7?\xa6\x17\xd1\xb0\x81\x0b\xe5?\xc5\xb5\x0f\x1f\xdb\x86\xe5?\xfao\x01qI\x07\xd0?@\xcb\xb0\x15?\xf0\x86?\x96c\x8d>\xda\xd9\xdd?\x15\x93\xa6\x19\xd6!\xe6?\xa0\'\xbf\xfc\x9a\xf9\x9b?\xd7\xbfj10]\xe4?\xb2\xd5;\xc4\xcd\xf2\xe7?0\x8a \xd4\xaa#\xaf?M\xda\x94\xcf\xb7\xb4\xe7?\xc3H\x1e\xd1\xf7\x8e\xe4?"\xc3(\x19\xdf!\xd3?\xc8\xc2\xd8U\xaa?\xc9?N8\xa8/C\x95\xd1?B\xfe\x84] W\xe9?\xd5\xc2D%Eg\xe5?\x86\xc6\x073\xbfp\xe3?\\\xd5\xa4 J\xa7\xc8?\x10A\xf2\x89\x1cH\xba?\x84\x9fb\xdf\xa8\xdd\xe3?\x9b\x1e\xca\xa3$\x92\xed?\xe8L\x07\xde-\x0b\xed?\x82\t>\xd1\xc1r\xde?\xa4\xc4\x9d\xc61\xea\xe9?\xd0$\x18\x8aq\xe1\xbb?\xe5\xfa32!\xa9\xe6?\xee\xe3;c2u\xef?\xcf\xeaj\x85\xaa\x9d\xea?0\x96\x89T\x82I\xe9?\xe0\x8f\xde:\x89\xe3\xd8?\x08\xa4\xffq\x89$\xcb?\x02\xf2`\x1c\\\x90\xe3?\x01\x98\xf0-zm\xe6?\x02W\xa8\xb2\\\x04\xd2?p\x83\xfa\x13\x1ap\xb3?\x96\x85\x02\x19:|\xd7?\x90\xab\xa3\x99N\xb1\xcb?n3*\x1f(J\xd9?Y\x13\xe1z\xd3\xc0\xec?\x07\xe77\x93\xf0\xfc\xe6?\x0f\x83k\x86\x9e\xc5\xee?@\xda\xec\x91p\x05\xc8?Li\xc4\xcb\xe7\x84\xd6?\x00\xb34\x019"\xc6?\x80\x7fi\xd9D\xc2\x89?^\xacqZ\t]\xd4?+N\x8d\xb9\xc7+\xe0?\xe0]N\xf5j}\xe1?0\xf4\xc8\xd3\xb9\xb1\xa0?\xdbi\xeb\xf6,\xd5\xe6?\xd4D\x86X\xf7\xc8\xdc?l\x97\xad\xf7\xa6\xac\xcb?\x84\xc9b\xdd,9\xea?\xf5\x14\x0b@V\xba\xe6?\x02O}b\xd9\xff\xda?\xc3\xcb\xc3\xf0l\xae\xe4?\xb4\x0ce\x07N\x00\xe0?\x12\x03\xbc\x87\x7f\\\xe3?U\x9b\xc61i\x15\xe5?\x82z\x8bC\xca\r\xef?\xdcj\x92\xb1\xb3\x04\xdd?"\x10n\x08}\xf0\xd7?\x8dU\x93&I\xcc\xe7?\xc8\x92*s\x93a\xc7?\xb5\x8a\x17\xbc\x05I\xea?\x95`)|+\xfb\xee?Ls\xee\x0c\x06\x89\xca?;\x1fZ\x1e\x85\xc3\xee?P\x96kK#z\xc8?\x8e\x88d\x05%?\xef?P\xd9\x99\x01R*\xb4?Z\xbft!\x8a\x1e\xed?\x86\x82\xa3\x98\xe5\x15\xe3?D=\x92\xa5]\x0f\xec?\xc1\x116/\xc0S\xee?\x91\xbbA\x07&\xdd\xe4?\x00-\xce\x91\'\x91\xa1?\x92M\xee\xc0\xbb\x80\xea?pN\xf5\x96\xde_\xb9?\x9a=\xa9\xb1\'W\xda?\x07$\x90\xeb$K\xed?\xc6U\xca\x8e@-\xd6?^\xea\xc7\xe1wE\xe0?\x81HW\xb1\xd5\xc0\xea?\x05D\xd8\x08\xf9\xf3\xe0?^8uy?\x97\xd4?\x8dC\xec\xbd)\xf0\xe7?y8\xdcC\r\xec\xe6?\x04:\xdf\xd8\xab\xc0\xd2?\x18F\x1b\x14\xbb\xfe\xba?\x03\xab\xa6\x82\xe6\xc4\xe0?\xc0\xe8\x18W\xc97\xb4?\xc5e{!s\xd3\xe4?\xd6\xedJ|$\r\xdf?M\x9dV\xec3\x93\xec?\xe8:D\x89\xad\r\xb2?|e\xa7\x93>\x0f\xd8?\xf0@%M4\xe1\xe0?\x02J\x80\xc9Da\xef?\xc0\x88\xb0_$%\xb7?\x94\xc3\xe3\r\xdc\xbb\xe8?\xc0Dyb\t\xc6\xd5?\xf3\x19\x80V\x05\x0c\xe5?(c\x1f\xf4\x07\xa6\xb9?\x1c\xc0\xb8\xa2A\xfd\xe7?\xf0`p\xd0\x96\xc6\xd8?\xc0\x8cW./\xf3\xde?\xbd\xb7\x15\x03\tn\xe7?,6\xf1\x15h`\xd0?\xbeb.)\x88\xb9\xee?]\xcc\xb2,\xff9\xe3?\x08\t\xa0>\xee\x1c\xcf?\x08\xd7\x07\xcd\x97t\xe6?D1\xa9\xf9-\xa6\xe8?\xaa\xc5\x1aUxp\xd6?\x83\xce\xd4I\x92\xa1\xe6?0\xeb\x06\xf0\xdf\x0b\xab?S\x8c\xa7\xbc\x14W\xe3?\x92\xfaLjM\xbf\xde?ly\xba\xa6\xee\x13\xd1?h\xda\x97\xb0\x11I\xbd?\xdd\xc1\xae\x02\xd2 \xef?~\xd5\x81\x8d\xaa\xc9\xe2?@\xd3\xae\x05CN\xe7?\xec\xfc#Y\xf9]\xde?\x08\x0e\x1fJ>i\xb1?\xac\xef\xd9\xb4\x1d\xda\xec?\x03r\xa5i!\xea\xe1?Y\xa5\x02\xcd\xb3\xdc\xee?R\xc9Y\xc1><\xe7?\xc83S{sM\xc9?\x86\xc1N_y\xc2\xe8?jb\xfeg\x0eL\xe4?\x13\xd1\xf0\xf1\x15\xc7\xe3?\x02\xca\x99_U\x9f\xd8?\xa8\xdf\x87\xb9}U\xb2?\xa6\x1a\x13!\x07\x0b\xd4?K\xb6\x1b\xce"\x8f\xe3?!3\x13$\x03\xef\xe5?\xb9\xdb\x95\xf1]\x1e\xe1?\x8a\xd3\xda7\x93\x97\xde?.\xf8\x7f>o\xe3\xd4?\xc0\xc5l\x88\xad\x80\x91?wFE|-\xbd\xe9?%\xfbc\x922E\xe0?\x88e\xd0N\xf1O\xea?\xec6cj\xbdh\xe6?4\xef^\xca\xc2F\xe3?\x97\xec\xb0\x86\xf5\x94\xe0?~\x1d\xaa,sy\xe2?\xaaL\x10\x1f\xb4w\xdf?G\xc1\x11\x16DH\xe4?\xea\xebGJ\xa5\x95\xee?\x00\x93(s\xc2!\xb7?H\x00f!\xc0$\xbd?\x15\x02\xc9\xf4\xfa\x9e\xe3?4\xf1\xf0\xa5\xa4\xfc\xc7?rf@\xf6\x94\xab\xeb?f!|H\xfb6\xe8?\x06!\xeb\xf7\xfb\xd4\xef?\xa0x\xb3p\xe4\x18\xb1?\x80\x10\xb8\xeb\xce\x10\xbd?N\xfc\x94\xfd\x9f\x89\xe5?\x14V\x89j1c\xc3?\x00\xe0\xa1\x19={4?\xfar\xe2\xa9\xe8!\xee?(\xbe#/\xbb\x18\xd0?\x0c\x05\x16\xe03m\xe8?\x93\xc0\x91|\xa2\x96\xe2?\xe0P\xf3s\xfe\xe0\xa2?\x1a6\x8dX3\x1d\xd9?3\xde\xca2vj\xe5?8\xb6\x00\x92\x11\xba\xb5?R\x92\xa3\xf3\x9e\xa7\xde?\xa8 \xdf\xbd|\xfc\xc8?SlL*?O\xe1? \xe0dg\xf2\x01\xc1?\xc3n$\x9e\xe3\x83\xea?\xaf\xbd3> \xc5\xe4?#\x98\xa8\xab\xd0g\xeb?f\xa1e\x11h\x12\xdc?\xda\xe7yux\x7f\xeb?\x184\xdc\xa4Pa\xce?\x11zIi\x06\x8d\xeb?\xa1S^m\xbb\'\xe4?\x96\xf4\xa2\x00\xcd\t\xd4?(@\x98\xa7{i\xeb?\x08YS\xf2\x86\xfc\xe0?L\xdb\xf6\xa6\x0c\x13\xee?\xb2J\x02G\xf5P\xe6?v\xe9g\xbe\xb8\x07\xd9?\xc0q\xcb=V0\xcd?\x10D\x96^\x0bx\xe3?\x10\xe1I\xbe\xa9\x9c\xc7?\x0f\xedJ\xe2\xafI\xe1?Rk0\x18!\xf5\xda?'
<xarray.Dataset> Size: 16kB
Dimensions: (dim_0: 1000)
Dimensions without coordinates: dim_0
Data variables:
ra (dim_0) float64 8kB [rad] 0.8905 0.09043 0.9742 ... 0.02431 0.161
dec (dim_0) float64 8kB [rad] 0.1665 0.9848 0.05547 ... 0.5402 0.4212
Attributes:
frame: {'name': 'icrs', 'representation_type': 'spherical', 'different...SkyCoordinate Quirks¶
# SkyCoord frame doesn't strongly infer directional reprentation and differential types
import astropy.units as u
from astropy.coordinates import SkyCoord
sky_direction = SkyCoord(
ra=[2, 6, 7, 4] * u.deg,
dec=[4, 7, 4, 3] * u.deg,
pm_ra_cosdec=[1, 1, 1, 1] * u.mas / u.yr,
pm_dec=[1, 1, 1, 1] * u.mas / u.yr,
frame="icrs",
)
assert (
sky_direction.representation_type.name == "spherical"
) # may have expected "unitspherical"
assert (
sky_direction.differential_type.name == "sphericalcoslat"
) # may have expected "unitsphericalcoslat"
display(sky_direction)
# additional members are therefore implicitly available
display(sky_direction.distance)
display(sky_direction.radial_velocity)
display(sky_direction)
<SkyCoord (ICRS): (ra, dec) in deg
[(2., 4.), (6., 7.), (7., 4.), (4., 3.)]
(pm_ra_cosdec, pm_dec) in mas / yr
[(1., 1.), (1., 1.), (1., 1.), (1., 1.)]>
\[[1,~1,~1,~1] \; \mathrm{}\]
\[[-1.3877788 \times 10^{-17},~2.7755576 \times 10^{-17},~-1.3877788 \times 10^{-17},~-1.3877788 \times 10^{-17}] \; \mathrm{\frac{mas}{rad\,yr}}\]
<SkyCoord (ICRS): (ra, dec) in deg
[(2., 4.), (6., 7.), (7., 4.), (4., 3.)]
(pm_ra_cosdec, pm_dec) in mas / yr
[(1., 1.), (1., 1.), (1., 1.), (1., 1.)]>
sky_position = SkyCoord(
ra=[2, 6, 7, 4] * u.deg,
dec=[4, 7, 4, 3] * u.deg,
distance=[4, 3, 6, 4] * u.parsec,
pm_ra_cosdec=[1, 1, 1, 1] * u.mas / u.yr,
pm_dec=[1, 1, 1, 1] * u.mas / u.yr,
frame="icrs",
)
display(sky_position)
# using positional representation with direction differentials causes accessor of
# `radial_velocity` to mutate data of the skycoordinate
display(sky_position.radial_velocity)
# skycoord_to_dataset will then subsequently include these radial velocity values when this occurs
display(sky_position)
<SkyCoord (ICRS): (ra, dec, distance) in (deg, deg, pc)
[(2., 4., 4.), (6., 7., 3.), (7., 4., 6.), (4., 3., 4.)]
(pm_ra_cosdec, pm_dec) in mas / yr
[(1., 1.), (1., 1.), (1., 1.), (1., 1.)]>
\[[-2.6314897 \times 10^{-19},~0,~-1.3157449 \times 10^{-18},~-2.6314897 \times 10^{-19}] \; \mathrm{\frac{km}{s}}\]
<SkyCoord (ICRS): (ra, dec, distance) in (deg, deg, pc)
[(2., 4., 4.), (6., 7., 3.), (7., 4., 6.), (4., 3., 4.)]
(pm_ra_cosdec, pm_dec, radial_velocity) in (mas / yr, mas / yr, km / s)
[(1., 1., -2.63148973e-19), (1., 1., 0.00000000e+00),
(1., 1., -1.31574486e-18), (1., 1., -2.63148973e-19)]>
# `represent_as` can also update cached data
sky_direction = SkyCoord(
ra=[2, 6, 7, 4] * u.deg,
dec=[4, 7, 4, 3] * u.deg,
distance=[1, 1, 1, 1] * u.dimensionless_unscaled,
pm_ra_cosdec=[1, 1, 1, 1] * u.mas / u.yr,
pm_dec=[1, 1, 1, 1] * u.mas / u.yr,
frame="icrs",
)
assert sky_direction.representation_type.name == "spherical"
assert sky_direction.differential_type.name == "sphericalcoslat"
sky_direction_old_str = str(sky_direction)
sky_direction.represent_as("spherical", "sphericalcoslat") # cache updated
assert sky_direction.representation_type.name == "spherical"
assert sky_direction.differential_type.name == "sphericalcoslat"
assert str(sky_direction) != sky_direction_old_str # string method changed
# To avoid mutable cache quirks, use explicit repr and diff types for unit sphericals
sky_position = SkyCoord(
ra=[2, 6, 7, 4] * u.deg,
dec=[4, 7, 4, 3] * u.deg,
distance=[1, 1, 1, 1] * u.dimensionless_unscaled,
pm_ra_cosdec=[1, 1, 1, 1] * u.mas / u.yr,
pm_dec=[1, 1, 1, 1] * u.mas / u.yr,
frame=ICRS(
representation_type="spherical",
differential_type="unitsphericalcoslat",
),
)
sky_position_old_str = str(sky_position)
sky_position.represent_as("spherical", "sphericalcoslat")
assert str(sky_position) == sky_position_old_str
# astropy skycoord frame type casting between directional and positional
# representation may alias data
sky_direction = SkyCoord(
ra=[2, 6, 7, 4] * u.deg,
dec=[4, 7, 4, 3] * u.deg,
pm_ra_cosdec=[1, 1, 1, 1] * u.mas / u.yr,
pm_dec=[1, 1, 1, 1] * u.mas / u.yr,
frame="icrs",
)
print("SkyCoord:", sky_direction.ra.data[1])
# astropy-xarray dataset prevents unit conversion loss
ds = skycoord_to_dataset(sky_direction, coords={"field": ["a", "b", "c", "d"]})
print("Dataset:", ds.ra.data[1].value)
SkyCoord: 6.000000000000001
Dataset: 6.0