From 79af1bd413a523079c4aa089147a366e0df39cd7 Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Wed, 25 Jan 2023 09:02:13 +0200 Subject: [PATCH 01/18] Quick code cleanup --- docs/conf.py | 3 +- .../howto_generate_class_from_xml.py | 16 +- examples/simple/simple.py | 8 +- examples/simple/testread.py | 1 + examples/simple/testwrite.py | 1 + pyffi/formats/bsa/__init__.py | 11 +- pyffi/formats/cgf/__init__.py | 455 +++++++++--------- pyffi/formats/dae/__init__.py | 3 +- pyffi/formats/dds/__init__.py | 16 +- pyffi/formats/egm/__init__.py | 12 +- pyffi/formats/egt/__init__.py | 13 +- pyffi/formats/esp/__init__.py | 15 +- pyffi/formats/kfm/__init__.py | 2 +- pyffi/formats/psk/__init__.py | 14 +- pyffi/formats/rockstar/dir_/__init__.py | 23 +- pyffi/formats/tga/__init__.py | 41 +- pyffi/formats/tri/__init__.py | 33 +- pyffi/object_models/__init__.py | 14 +- pyffi/object_models/any_type.py | 1 + pyffi/object_models/array_type.py | 14 +- pyffi/object_models/binary_type.py | 51 +- pyffi/object_models/common.py | 49 +- pyffi/object_models/editable.py | 11 +- pyffi/object_models/mex/__init__.py | 8 +- pyffi/object_models/simple_type.py | 3 + pyffi/object_models/xml/__init__.py | 83 ++-- pyffi/object_models/xml/basic.py | 16 +- pyffi/object_models/xml/bit_struct.py | 16 +- pyffi/object_models/xml/enum.py | 23 +- pyffi/object_models/xml/expression.py | 9 +- pyffi/object_models/xml/struct_.py | 88 ++-- pyffi/object_models/xsd/__init__.py | 24 +- pyffi/qskope/__init__.py | 36 +- pyffi/qskope/detail_delegate.py | 12 +- pyffi/qskope/detail_model.py | 11 +- pyffi/qskope/detail_tree.py | 5 +- pyffi/qskope/global_model.py | 16 +- pyffi/qskope/global_tree.py | 5 +- pyffi/spells/__init__.py | 54 ++- pyffi/spells/cgf/__init__.py | 3 +- pyffi/spells/cgf/check.py | 21 +- pyffi/spells/cgf/dump.py | 6 +- pyffi/spells/check.py | 6 +- pyffi/spells/dds.py | 2 + pyffi/spells/nif/__init__.py | 4 +- pyffi/spells/nif/check.py | 182 +++---- pyffi/spells/nif/dump.py | 67 +-- pyffi/spells/nif/fix.py | 71 ++- pyffi/spells/nif/modify.py | 108 +++-- pyffi/spells/nif/optimize.py | 219 +++++---- pyffi/spells/tga.py | 2 + pyffi/utils/__init__.py | 16 +- pyffi/utils/graph.py | 13 +- pyffi/utils/inertia.py | 10 +- pyffi/utils/mathutils.py | 90 ++-- pyffi/utils/mopp.py | 15 +- pyffi/utils/quickhull.py | 104 ++-- pyffi/utils/tangentspace.py | 31 +- pyffi/utils/trianglemesh.py | 12 +- pyffi/utils/trianglestripifier.py | 15 +- pyffi/utils/tristrip.py | 37 +- pyffi/utils/vertex_cache.py | 32 +- scripts/cgf/cgftoaster.py | 3 +- scripts/nif/nifmakehsl.py | 61 +-- scripts/nif/niftoaster.py | 10 +- scripts/patch_recursive_apply.py | 5 +- scripts/patch_recursive_make.py | 5 +- scripts/qskope.py | 8 +- scripts/rockstar_pack_dir_img.py | 4 +- scripts/rockstar_unpack_dir_img.py | 6 +- .../formats/nif/test_bhkpackednitristrips.py | 6 +- tests/formats/nif/test_matrix.py | 5 +- tests/formats/nif/test_skinpartition.py | 4 +- tests/object_model/test_arraytype.py | 11 +- tests/object_model/test_simpletype.py | 1 - tests/object_model/xml/test_bit_struct.py | 5 +- tests/object_model/xml/test_expression.py | 8 +- tests/perf/fraps_minmaxavg.py | 2 + tests/perf/objgraph.py | 15 +- tests/perf/summary.py | 9 +- tests/perf/txt_minmaxavg.py | 6 +- tests/scripts/cgf/__init__.py | 3 +- tests/scripts/cgf/test_cgftoaster.py | 1 + tests/scripts/kfm/__init__.py | 2 +- tests/scripts/nif/__init__.py | 2 +- tests/scripts/nif/test_niftoaster.py | 83 ++-- tests/spells/cgf/check/test_tangentspace.py | 4 +- tests/spells/cgf/check/test_vertex_colors.py | 2 +- tests/spells/cgf/dump/test_dump_data.py | 2 +- tests/spells/kf/__init__.py | 2 +- tests/spells/kf/test_getsetbonepriorities.py | 16 +- tests/spells/nif/__init__.py | 4 +- .../nif/dump/test_texture_properties.py | 1 + .../spells/nif/fix/test_clampmaterialalpha.py | 11 +- .../spells/nif/fix/test_cleanstringpalette.py | 11 +- .../nif/fix/test_detachhavoktristripsdata.py | 7 +- .../nif/fix/test_substitutestringpalette.py | 7 +- tests/spells/nif/fix/test_tangentspace.py | 11 +- tests/spells/nif/fix/test_texturepath.py | 4 +- tests/spells/nif/modify/test_delbranches.py | 6 +- .../spells/nif/modify/test_delvertexcolor.py | 8 +- tests/spells/nif/optimize/test_collision.py | 13 +- .../nif/optimize/test_delunusedbones.py | 3 +- .../spells/nif/optimize/test_delzeroscale.py | 6 +- .../nif/optimize/test_mergeduplicates.py | 14 +- tests/spells/nif/optimize/test_niftoaster.py | 6 +- .../spells/nif/optimize/test_vertex_cache.py | 2 +- tests/spells/test_toaster.py | 8 +- tests/test_doctests.py | 67 ++- tests/utils/__init__.py | 8 +- tests/utils/test_trianglemesh.py | 8 +- tests/utils/test_utils.py | 3 +- tests/utils/test_withref.py | 1 + todo/NifVis/__init__.py | 1 - todo/NifVis/lizers/NiBinaryVoxelData.py | 16 +- todo/NifVis/lizers/NiTriBasedGeom.py | 29 +- todo/NifVis/lizers/NiTriShape.py | 10 +- todo/NifVis/lizers/NiTriStrips.py | 9 +- todo/NifVis/lizers/__init__.py | 5 +- todo/NifVis/lizers/bhkMoppBvTreeShape.py | 117 +++-- todo/NifVis/lizers/bhkMoppBvTreeShape_alt.py | 156 +++--- todo/NifVis/ua.py | 107 ++-- todo/NifVis/vis_cfg.py | 6 +- todo/NifVis/vis_gl.py | 161 +++---- todo/NifVis/vis_nif.py | 42 +- todo/NifVis/vis_run.py | 13 +- todo/ez_setup.py | 82 ++-- todo/nifvisualizer.py | 67 ++- 128 files changed, 1970 insertions(+), 1633 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index fadd37502..0217623d3 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -12,8 +12,8 @@ # import os import sys -sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) # -- Project information ----------------------------------------------------- @@ -58,7 +58,6 @@ # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] - # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for diff --git a/examples/metaclasses/howto_generate_class_from_xml.py b/examples/metaclasses/howto_generate_class_from_xml.py index 4e85be144..83a8a7e96 100644 --- a/examples/metaclasses/howto_generate_class_from_xml.py +++ b/examples/metaclasses/howto_generate_class_from_xml.py @@ -11,6 +11,7 @@ DEBUG = False + # This metaclass checks for the presence of an _attrs and __doc__ attribute. # Used as metaclass of _Block. class _MetaBlock(type): @@ -21,6 +22,7 @@ def __init__(cls, name, bases, dct): if '__doc__' not in dct: raise TypeError(str(cls) + ': missing __doc__ attribute') + class _Block(object, metaclass=_MetaBlock): """Base class from which all file block types are derived. @@ -31,6 +33,7 @@ class _Block(object, metaclass=_MetaBlock): interface, see MetaFileFormat.__init__ for an example. """ _attrs = () + # initialize all _attrs attributes def __init__(self): self._initAttributes(self.__class__) @@ -65,6 +68,7 @@ def _strAttributes(self, cls): s += str(name) + ' : ' + str(getattr(self, name)) + '\n' return s + # The MetaFileFormat class transforms the XML description of a file format # into a bunch of classes via the "type(name, bases, dct)" factory. # Because its base is type, MetaFileFormat is a metaclass: each file format @@ -87,7 +91,7 @@ def __init__(cls, name, bases, dct): # of course we should read the data from file dct['xml_file_name'] # the code below is only a proof of concept block_name = 'NiObjectNET' - block_ancestor = _Block # base of all block classes + block_ancestor = _Block # base of all block classes block_dct = {} # add docstring block_dct['__doc__'] = 'Some nif object.' @@ -95,20 +99,19 @@ def __init__(cls, name, bases, dct): # is a tuple containing all attributes: their name, default, and so on # (to be extended! probably have a tuple of Attribute instances # instead of a tuple of tuples) - block_dct['_attrs'] = ( ('name', 'noname'), ) + block_dct['_attrs'] = (('name', 'noname'),) # create class cls. setattr(cls, block_name, type(block_name, (block_ancestor,), block_dct)) - if DEBUG: print('cls.NiObjectNET: ', dir(cls.NiObjectNET)) # debug + if DEBUG: print('cls.NiObjectNET: ', dir(cls.NiObjectNET)) # debug # do another one block_name = 'NiNode' block_ancestor = getattr(cls, 'NiObjectNET') block_dct = {} block_dct['__doc__'] = 'Basic node.' - block_dct['_attrs'] = ( ('translateX', 0.0), ('translateY', 0.0), ('translateZ', 0.0) ) + block_dct['_attrs'] = (('translateX', 0.0), ('translateY', 0.0), ('translateZ', 0.0)) setattr(cls, block_name, type(block_name, (block_ancestor,), block_dct)) - if DEBUG: print('cls.NiNode: ', dir(cls.NiNode)) # debug - + if DEBUG: print('cls.NiNode: ', dir(cls.NiNode)) # debug # The NifFormat class simply processes nif.xml via MetaFileFormat @@ -117,6 +120,7 @@ def __init__(cls, name, bases, dct): class NifFormat(object, metaclass=MetaFileFormat): xml_file_name = "nif.xml" + # For example, NifFormat.NiNode is now a class representing the NiNode block # type! The _Block class, from which NifFormat.NiNode is derived, takes care # of initialization of all attributes, and printing them. diff --git a/examples/simple/simple.py b/examples/simple/simple.py index 7f0fb9516..e5a0239cd 100644 --- a/examples/simple/simple.py +++ b/examples/simple/simple.py @@ -1,10 +1,12 @@ import os -import pyffi.object_models.xml + import pyffi.object_models.common +import pyffi.object_models.xml + class SimpleFormat(pyffi.object_models.xml.FileFormat): xml_file_name = 'simple.xml' - xml_file_path = [ os.path.dirname(__file__) ] + xml_file_path = [os.path.dirname(__file__)] # basic types @@ -26,4 +28,4 @@ class Example: def addInteger(self, x): self.numIntegers += 1 self.integers.update_size() - self.integers[self.numIntegers-1] = x + self.integers[self.numIntegers - 1] = x diff --git a/examples/simple/testread.py b/examples/simple/testread.py index 0fd4cab93..029b8de28 100644 --- a/examples/simple/testread.py +++ b/examples/simple/testread.py @@ -1,4 +1,5 @@ from simple import SimpleFormat + x = SimpleFormat.Data() f = open('somefile.simple', 'rb') x.read(f) diff --git a/examples/simple/testwrite.py b/examples/simple/testwrite.py index d3ea9e798..569bc79a2 100644 --- a/examples/simple/testwrite.py +++ b/examples/simple/testwrite.py @@ -1,4 +1,5 @@ from simple import SimpleFormat + x = SimpleFormat.Data() x.example.num_integers = 5 x.example.integers.update_size() diff --git a/pyffi/formats/bsa/__init__.py b/pyffi/formats/bsa/__init__.py index 68438a589..46369ef91 100644 --- a/pyffi/formats/bsa/__init__.py +++ b/pyffi/formats/bsa/__init__.py @@ -111,15 +111,14 @@ import logging -import struct import os import re +import struct -import pyffi.object_models.xml +import pyffi.object_models import pyffi.object_models.common +import pyffi.object_models.xml from pyffi.object_models.xml.basic import BasicBase -import pyffi.object_models -from pyffi.utils.graph import EdgeFilter class BsaFormat(pyffi.object_models.xml.FileFormat): @@ -152,7 +151,7 @@ def get_size(self, data=None): def read(self, stream, data=None): length, = struct.unpack(' CgfFormat.EPSILON - or abs(self.m_12) > CgfFormat.EPSILON - or abs(self.m_13) > CgfFormat.EPSILON - or abs(self.m_21) > CgfFormat.EPSILON - or abs(self.m_22 - 1.0) > CgfFormat.EPSILON - or abs(self.m_23) > CgfFormat.EPSILON - or abs(self.m_31) > CgfFormat.EPSILON - or abs(self.m_32) > CgfFormat.EPSILON - or abs(self.m_33 - 1.0) > CgfFormat.EPSILON): + if (abs(self.m_11 - 1.0) > CgfFormat.EPSILON + or abs(self.m_12) > CgfFormat.EPSILON + or abs(self.m_13) > CgfFormat.EPSILON + or abs(self.m_21) > CgfFormat.EPSILON + or abs(self.m_22 - 1.0) > CgfFormat.EPSILON + or abs(self.m_23) > CgfFormat.EPSILON + or abs(self.m_31) > CgfFormat.EPSILON + or abs(self.m_32) > CgfFormat.EPSILON + or abs(self.m_33 - 1.0) > CgfFormat.EPSILON): return False else: return True @@ -1145,19 +1148,19 @@ def is_rotation(self): return False scale = self.get_scale() if abs(scale.x - 1.0) > 0.01 \ - or abs(scale.y - 1.0) > 0.01 \ - or abs(scale.z - 1.0) > 0.01: + or abs(scale.y - 1.0) > 0.01 \ + or abs(scale.z - 1.0) > 0.01: return False return True def get_determinant(self): """Return determinant.""" - return (self.m_11*self.m_22*self.m_33 - +self.m_12*self.m_23*self.m_31 - +self.m_13*self.m_21*self.m_32 - -self.m_31*self.m_22*self.m_13 - -self.m_21*self.m_12*self.m_33 - -self.m_11*self.m_32*self.m_23) + return (self.m_11 * self.m_22 * self.m_33 + + self.m_12 * self.m_23 * self.m_31 + + self.m_13 * self.m_21 * self.m_32 + - self.m_31 * self.m_22 * self.m_13 + - self.m_21 * self.m_12 * self.m_33 + - self.m_11 * self.m_32 * self.m_23) def get_scale(self): """Gets the scale (assuming is_scale_rotation is true!).""" @@ -1224,32 +1227,31 @@ def get_scale_quat(self): if trace > CgfFormat.EPSILON: s = (trace ** 0.5) * 2 - quat.x = -( rot.m_32 - rot.m_23 ) / s - quat.y = -( rot.m_13 - rot.m_31 ) / s - quat.z = -( rot.m_21 - rot.m_12 ) / s + quat.x = -(rot.m_32 - rot.m_23) / s + quat.y = -(rot.m_13 - rot.m_31) / s + quat.z = -(rot.m_21 - rot.m_12) / s quat.w = 0.25 * s elif rot.m_11 > max((rot.m_22, rot.m_33)): - s = (( 1.0 + rot.m_11 - rot.m_22 - rot.m_33 ) ** 0.5) * 2 + s = ((1.0 + rot.m_11 - rot.m_22 - rot.m_33) ** 0.5) * 2 quat.x = 0.25 * s - quat.y = (rot.m_21 + rot.m_12 ) / s - quat.z = (rot.m_13 + rot.m_31 ) / s - quat.w = -(rot.m_32 - rot.m_23 ) / s + quat.y = (rot.m_21 + rot.m_12) / s + quat.z = (rot.m_13 + rot.m_31) / s + quat.w = -(rot.m_32 - rot.m_23) / s elif rot.m_22 > rot.m_33: - s = (( 1.0 + rot.m_22 - rot.m_11 - rot.m_33 ) ** 0.5) * 2 - quat.x = (rot.m_21 + rot.m_12 ) / s + s = ((1.0 + rot.m_22 - rot.m_11 - rot.m_33) ** 0.5) * 2 + quat.x = (rot.m_21 + rot.m_12) / s quat.y = 0.25 * s - quat.z = (rot.m_32 + rot.m_23 ) / s - quat.w = -(rot.m_13 - rot.m_31 ) / s + quat.z = (rot.m_32 + rot.m_23) / s + quat.w = -(rot.m_13 - rot.m_31) / s else: - s = (( 1.0 + rot.m_33 - rot.m_11 - rot.m_22 ) ** 0.5) * 2 - quat.x = (rot.m_13 + rot.m_31 ) / s - quat.y = (rot.m_32 + rot.m_23 ) / s + s = ((1.0 + rot.m_33 - rot.m_11 - rot.m_22) ** 0.5) * 2 + quat.x = (rot.m_13 + rot.m_31) / s + quat.y = (rot.m_32 + rot.m_23) / s quat.z = 0.25 * s - quat.w = -(rot.m_21 - rot.m_12 ) / s + quat.w = -(rot.m_21 - rot.m_12) / s return scale, quat - def get_inverse(self): """Get inverse (assuming is_scale_rotation is true!).""" # transpose inverts rotation but keeps the scale @@ -1296,7 +1298,7 @@ def __mul__(self, rhs): return mat else: raise TypeError( - "do not know how to multiply Matrix33 with %s"%rhs.__class__) + "do not know how to multiply Matrix33 with %s" % rhs.__class__) def __div__(self, rhs): if isinstance(rhs, (float, int)): @@ -1313,28 +1315,28 @@ def __div__(self, rhs): return mat else: raise TypeError( - "do not know how to divide Matrix33 by %s"%rhs.__class__) + "do not know how to divide Matrix33 by %s" % rhs.__class__) def __rmul__(self, lhs): if isinstance(lhs, (float, int)): - return self * lhs # commutes + return self * lhs # commutes else: raise TypeError( - "do not know how to multiply %s with Matrix33"%lhs.__class__) + "do not know how to multiply %s with Matrix33" % lhs.__class__) def __eq__(self, mat): if not isinstance(mat, CgfFormat.Matrix33): raise TypeError( - "do not know how to compare Matrix33 and %s"%mat.__class__) + "do not know how to compare Matrix33 and %s" % mat.__class__) if (abs(self.m_11 - mat.m_11) > CgfFormat.EPSILON - or abs(self.m_12 - mat.m_12) > CgfFormat.EPSILON - or abs(self.m_13 - mat.m_13) > CgfFormat.EPSILON - or abs(self.m_21 - mat.m_21) > CgfFormat.EPSILON - or abs(self.m_22 - mat.m_22) > CgfFormat.EPSILON - or abs(self.m_23 - mat.m_23) > CgfFormat.EPSILON - or abs(self.m_31 - mat.m_31) > CgfFormat.EPSILON - or abs(self.m_32 - mat.m_32) > CgfFormat.EPSILON - or abs(self.m_33 - mat.m_33) > CgfFormat.EPSILON): + or abs(self.m_12 - mat.m_12) > CgfFormat.EPSILON + or abs(self.m_13 - mat.m_13) > CgfFormat.EPSILON + or abs(self.m_21 - mat.m_21) > CgfFormat.EPSILON + or abs(self.m_22 - mat.m_22) > CgfFormat.EPSILON + or abs(self.m_23 - mat.m_23) > CgfFormat.EPSILON + or abs(self.m_31 - mat.m_31) > CgfFormat.EPSILON + or abs(self.m_32 - mat.m_32) > CgfFormat.EPSILON + or abs(self.m_33 - mat.m_33) > CgfFormat.EPSILON): return False return True @@ -1349,7 +1351,7 @@ def as_list(self): [self.m_21, self.m_22, self.m_23, self.m_24], [self.m_31, self.m_32, self.m_33, self.m_34], [self.m_41, self.m_42, self.m_43, self.m_44] - ] + ] def as_tuple(self): """Return matrix as 4x4 tuple.""" @@ -1358,7 +1360,7 @@ def as_tuple(self): (self.m_21, self.m_22, self.m_23, self.m_24), (self.m_31, self.m_32, self.m_33, self.m_34), (self.m_41, self.m_42, self.m_43, self.m_44) - ) + ) def set_rows(self, row0, row1, row2, row3): """Set matrix from rows.""" @@ -1368,15 +1370,15 @@ def set_rows(self, row0, row1, row2, row3): self.m_41, self.m_42, self.m_43, self.m_44 = row3 def __str__(self): - return( - '[ %6.3f %6.3f %6.3f %6.3f ]\n' - '[ %6.3f %6.3f %6.3f %6.3f ]\n' - '[ %6.3f %6.3f %6.3f %6.3f ]\n' - '[ %6.3f %6.3f %6.3f %6.3f ]\n' - % (self.m_11, self.m_12, self.m_13, self.m_14, - self.m_21, self.m_22, self.m_23, self.m_24, - self.m_31, self.m_32, self.m_33, self.m_34, - self.m_41, self.m_42, self.m_43, self.m_44)) + return ( + '[ %6.3f %6.3f %6.3f %6.3f ]\n' + '[ %6.3f %6.3f %6.3f %6.3f ]\n' + '[ %6.3f %6.3f %6.3f %6.3f ]\n' + '[ %6.3f %6.3f %6.3f %6.3f ]\n' + % (self.m_11, self.m_12, self.m_13, self.m_14, + self.m_21, self.m_22, self.m_23, self.m_24, + self.m_31, self.m_32, self.m_33, self.m_34, + self.m_41, self.m_42, self.m_43, self.m_44)) def set_identity(self): """Set to identity matrix.""" @@ -1400,21 +1402,21 @@ def set_identity(self): def is_identity(self): """Return ``True`` if the matrix is close to identity.""" if (abs(self.m_11 - 1.0) > CgfFormat.EPSILON - or abs(self.m_12) > CgfFormat.EPSILON - or abs(self.m_13) > CgfFormat.EPSILON - or abs(self.m_14) > CgfFormat.EPSILON - or abs(self.m_21) > CgfFormat.EPSILON - or abs(self.m_22 - 1.0) > CgfFormat.EPSILON - or abs(self.m_23) > CgfFormat.EPSILON - or abs(self.m_24) > CgfFormat.EPSILON - or abs(self.m_31) > CgfFormat.EPSILON - or abs(self.m_32) > CgfFormat.EPSILON - or abs(self.m_33 - 1.0) > CgfFormat.EPSILON - or abs(self.m_34) > CgfFormat.EPSILON - or abs(self.m_41) > CgfFormat.EPSILON - or abs(self.m_42) > CgfFormat.EPSILON - or abs(self.m_43) > CgfFormat.EPSILON - or abs(self.m_44 - 1.0) > CgfFormat.EPSILON): + or abs(self.m_12) > CgfFormat.EPSILON + or abs(self.m_13) > CgfFormat.EPSILON + or abs(self.m_14) > CgfFormat.EPSILON + or abs(self.m_21) > CgfFormat.EPSILON + or abs(self.m_22 - 1.0) > CgfFormat.EPSILON + or abs(self.m_23) > CgfFormat.EPSILON + or abs(self.m_24) > CgfFormat.EPSILON + or abs(self.m_31) > CgfFormat.EPSILON + or abs(self.m_32) > CgfFormat.EPSILON + or abs(self.m_33 - 1.0) > CgfFormat.EPSILON + or abs(self.m_34) > CgfFormat.EPSILON + or abs(self.m_41) > CgfFormat.EPSILON + or abs(self.m_42) > CgfFormat.EPSILON + or abs(self.m_43) > CgfFormat.EPSILON + or abs(self.m_44 - 1.0) > CgfFormat.EPSILON): return False else: return True @@ -1537,6 +1539,7 @@ def set_scale_rotation_translation(self, scale, rotation, translation): def get_inverse(self, fast=True): """Calculates inverse (fast assumes is_scale_rotation_translation is True).""" + def adjoint(m, ii, jj): result = [] for i, row in enumerate(m): @@ -1546,9 +1549,10 @@ def adjoint(m, ii, jj): if j == jj: continue result[-1].append(x) return result + def determinant(m): if len(m) == 2: - return m[0][0]*m[1][1] - m[1][0]*m[0][1] + return m[0][0] * m[1][1] - m[1][0] * m[0][1] result = 0.0 for i in range(len(m)): det = determinant(adjoint(m, i, 0)) @@ -1575,10 +1579,10 @@ def determinant(m): nn = [[0.0 for i in range(4)] for j in range(4)] det = determinant(m) if abs(det) < CgfFormat.EPSILON: - raise ZeroDivisionError('cannot invert matrix:\n%s'%self) + raise ZeroDivisionError('cannot invert matrix:\n%s' % self) for i in range(4): for j in range(4): - if (i+j) & 1: + if (i + j) & 1: nn[j][i] = -determinant(adjoint(m, i, j)) / det else: nn[j][i] = determinant(adjoint(m, i, j)) / det @@ -1612,25 +1616,25 @@ def __mul__(self, x): raise TypeError("matrix*vector not supported; please use left multiplication (vector*matrix)") elif isinstance(x, CgfFormat.Matrix44): m = CgfFormat.Matrix44() - m.m_11 = self.m_11 * x.m_11 + self.m_12 * x.m_21 + self.m_13 * x.m_31 + self.m_14 * x.m_41 - m.m_12 = self.m_11 * x.m_12 + self.m_12 * x.m_22 + self.m_13 * x.m_32 + self.m_14 * x.m_42 - m.m_13 = self.m_11 * x.m_13 + self.m_12 * x.m_23 + self.m_13 * x.m_33 + self.m_14 * x.m_43 - m.m_14 = self.m_11 * x.m_14 + self.m_12 * x.m_24 + self.m_13 * x.m_34 + self.m_14 * x.m_44 - m.m_21 = self.m_21 * x.m_11 + self.m_22 * x.m_21 + self.m_23 * x.m_31 + self.m_24 * x.m_41 - m.m_22 = self.m_21 * x.m_12 + self.m_22 * x.m_22 + self.m_23 * x.m_32 + self.m_24 * x.m_42 - m.m_23 = self.m_21 * x.m_13 + self.m_22 * x.m_23 + self.m_23 * x.m_33 + self.m_24 * x.m_43 - m.m_24 = self.m_21 * x.m_14 + self.m_22 * x.m_24 + self.m_23 * x.m_34 + self.m_24 * x.m_44 - m.m_31 = self.m_31 * x.m_11 + self.m_32 * x.m_21 + self.m_33 * x.m_31 + self.m_34 * x.m_41 - m.m_32 = self.m_31 * x.m_12 + self.m_32 * x.m_22 + self.m_33 * x.m_32 + self.m_34 * x.m_42 - m.m_33 = self.m_31 * x.m_13 + self.m_32 * x.m_23 + self.m_33 * x.m_33 + self.m_34 * x.m_43 - m.m_34 = self.m_31 * x.m_14 + self.m_32 * x.m_24 + self.m_33 * x.m_34 + self.m_34 * x.m_44 - m.m_41 = self.m_41 * x.m_11 + self.m_42 * x.m_21 + self.m_43 * x.m_31 + self.m_44 * x.m_41 - m.m_42 = self.m_41 * x.m_12 + self.m_42 * x.m_22 + self.m_43 * x.m_32 + self.m_44 * x.m_42 - m.m_43 = self.m_41 * x.m_13 + self.m_42 * x.m_23 + self.m_43 * x.m_33 + self.m_44 * x.m_43 - m.m_44 = self.m_41 * x.m_14 + self.m_42 * x.m_24 + self.m_43 * x.m_34 + self.m_44 * x.m_44 + m.m_11 = self.m_11 * x.m_11 + self.m_12 * x.m_21 + self.m_13 * x.m_31 + self.m_14 * x.m_41 + m.m_12 = self.m_11 * x.m_12 + self.m_12 * x.m_22 + self.m_13 * x.m_32 + self.m_14 * x.m_42 + m.m_13 = self.m_11 * x.m_13 + self.m_12 * x.m_23 + self.m_13 * x.m_33 + self.m_14 * x.m_43 + m.m_14 = self.m_11 * x.m_14 + self.m_12 * x.m_24 + self.m_13 * x.m_34 + self.m_14 * x.m_44 + m.m_21 = self.m_21 * x.m_11 + self.m_22 * x.m_21 + self.m_23 * x.m_31 + self.m_24 * x.m_41 + m.m_22 = self.m_21 * x.m_12 + self.m_22 * x.m_22 + self.m_23 * x.m_32 + self.m_24 * x.m_42 + m.m_23 = self.m_21 * x.m_13 + self.m_22 * x.m_23 + self.m_23 * x.m_33 + self.m_24 * x.m_43 + m.m_24 = self.m_21 * x.m_14 + self.m_22 * x.m_24 + self.m_23 * x.m_34 + self.m_24 * x.m_44 + m.m_31 = self.m_31 * x.m_11 + self.m_32 * x.m_21 + self.m_33 * x.m_31 + self.m_34 * x.m_41 + m.m_32 = self.m_31 * x.m_12 + self.m_32 * x.m_22 + self.m_33 * x.m_32 + self.m_34 * x.m_42 + m.m_33 = self.m_31 * x.m_13 + self.m_32 * x.m_23 + self.m_33 * x.m_33 + self.m_34 * x.m_43 + m.m_34 = self.m_31 * x.m_14 + self.m_32 * x.m_24 + self.m_33 * x.m_34 + self.m_34 * x.m_44 + m.m_41 = self.m_41 * x.m_11 + self.m_42 * x.m_21 + self.m_43 * x.m_31 + self.m_44 * x.m_41 + m.m_42 = self.m_41 * x.m_12 + self.m_42 * x.m_22 + self.m_43 * x.m_32 + self.m_44 * x.m_42 + m.m_43 = self.m_41 * x.m_13 + self.m_42 * x.m_23 + self.m_43 * x.m_33 + self.m_44 * x.m_43 + m.m_44 = self.m_41 * x.m_14 + self.m_42 * x.m_24 + self.m_43 * x.m_34 + self.m_44 * x.m_44 return m else: - raise TypeError("do not know how to multiply Matrix44 with %s"%x.__class__) + raise TypeError("do not know how to multiply Matrix44 with %s" % x.__class__) def __div__(self, x): if isinstance(x, (float, int)): @@ -1653,19 +1657,19 @@ def __div__(self, x): m.m_44 = self.m_44 / x return m else: - raise TypeError("do not know how to divide Matrix44 by %s"%x.__class__) + raise TypeError("do not know how to divide Matrix44 by %s" % x.__class__) def __rmul__(self, x): if isinstance(x, (float, int)): return self * x else: - raise TypeError("do not know how to multiply %s with Matrix44"%x.__class__) + raise TypeError("do not know how to multiply %s with Matrix44" % x.__class__) def __eq__(self, m): if isinstance(m, type(None)): return False if not isinstance(m, CgfFormat.Matrix44): - raise TypeError("do not know how to compare Matrix44 and %s"%m.__class__) + raise TypeError("do not know how to compare Matrix44 and %s" % m.__class__) if abs(self.m_11 - m.m_11) > CgfFormat.EPSILON: return False if abs(self.m_12 - m.m_12) > CgfFormat.EPSILON: return False if abs(self.m_13 - m.m_13) > CgfFormat.EPSILON: return False @@ -1727,7 +1731,7 @@ def __add__(self, x): m.m_44 = self.m_44 + x return m else: - raise TypeError("do not know how to add Matrix44 and %s"%x.__class__) + raise TypeError("do not know how to add Matrix44 and %s" % x.__class__) def __sub__(self, x): if isinstance(x, (CgfFormat.Matrix44)): @@ -1844,7 +1848,7 @@ def get_triangles(self): elif self.indices_data: inds = self.indices_data.indices for i in range(0, len(inds), 3): - yield inds[i], inds[i+1], inds[i+2] + yield inds[i], inds[i + 1], inds[i + 2] def get_material_indices(self): """Generator for all materials (per triangle).""" @@ -1863,7 +1867,7 @@ def get_uvs(self): yield uv.u, uv.v elif self.uvs_data: for uv in self.uvs_data.uvs: - yield uv.u, 1.0 - uv.v # OpenGL fix! + yield uv.u, 1.0 - uv.v # OpenGL fix! def get_uv_triangles(self): """Generator for all uv triangles.""" @@ -1874,7 +1878,7 @@ def get_uv_triangles(self): # Crysis: UV triangles coincide with triangles inds = self.indices_data.indices for i in range(0, len(inds), 3): - yield inds[i], inds[i+1], inds[i+2] + yield inds[i], inds[i + 1], inds[i + 2] ### DEPRECATED: USE set_geometry INSTEAD ### def set_vertices_normals(self, vertices, normals): @@ -1910,8 +1914,8 @@ def set_vertices_normals(self, vertices, normals): # set vertex coordinates and normals for Crysis for cryvert, crynorm, vert, norm in zip(self.vertices_data.vertices, - self.normals_data.normals, - vertices, normals): + self.normals_data.normals, + vertices, normals): cryvert.x = vert[0] cryvert.y = vert[1] cryvert.z = vert[2] @@ -1921,9 +1925,9 @@ def set_vertices_normals(self, vertices, normals): ### STILL WIP!!! ### def set_geometry(self, - verticeslist = None, normalslist = None, - triangleslist = None, matlist = None, - uvslist = None, colorslist = None): + verticeslist=None, normalslist=None, + triangleslist=None, matlist=None, + uvslist=None, colorslist=None): """Set geometry data. >>> from pyffi.formats.cgf import CgfFormat @@ -2519,10 +2523,10 @@ def set_geometry(self, firstvertexindex = 0 firstindicesindex = 0 for vertices, normals, triangles, mat, uvs, colors, meshsubset in zip( - verticeslist, normalslist, - triangleslist, matlist, - uvslist, colorslist, - self.mesh_subsets.mesh_subsets): + verticeslist, normalslist, + triangleslist, matlist, + uvslist, colorslist, + self.mesh_subsets.mesh_subsets): # set Crysis mesh subset info meshsubset.first_index = firstindicesindex @@ -2547,8 +2551,7 @@ def set_geometry(self, # set vertex coordinates and normals for Crysis for cryvert, crynorm, vert, norm in zip( - self.vertices_data.vertices, self.normals_data.normals, vertices, normals): - + self.vertices_data.vertices, self.normals_data.normals, vertices, normals): cryvert.x = vert[0] cryvert.y = vert[1] cryvert.z = vert[2] @@ -2581,7 +2584,7 @@ def set_geometry(self, # set Crysis uv info for cryuv, uv in zip(self.uvs_data.uvs, uvs): cryuv.u = uv[0] - cryuv.v = 1.0 - uv[1] # OpenGL fix + cryuv.v = 1.0 - uv[1] # OpenGL fix if not colors is None: # set Far Cry color info @@ -2627,17 +2630,17 @@ def update_tangent_space(self): # set Crysis tangents info tangents, binormals, orientations = pyffi.utils.tangentspace.getTangentSpace( - vertices = list((vert.x, vert.y, vert.z) - for vert in self.vertices_data.vertices), - normals = list((norm.x, norm.y, norm.z) - for norm in self.normals_data.normals), - uvs = list((uv.u, uv.v) - for uv in self.uvs_data.uvs), - triangles = list(self.get_triangles()), - orientation = True) + vertices=list((vert.x, vert.y, vert.z) + for vert in self.vertices_data.vertices), + normals=list((norm.x, norm.y, norm.z) + for norm in self.normals_data.normals), + uvs=list((uv.u, uv.v) + for uv in self.uvs_data.uvs), + triangles=list(self.get_triangles()), + orientation=True) for crytangent, tan, bin, orient in zip(self.tangents_data.tangents, - tangents, binormals, orientations): + tangents, binormals, orientations): if orient > 0: tangent_w = 32767 else: @@ -2690,11 +2693,11 @@ def get_name_shader_script(self): if (script_begin != -1): if (name.count("/") != 1): # must have exactly one script - raise ValueError("%s malformed, has multiple ""/"""%name) - mtlscript = name[script_begin+1:] + raise ValueError("%s malformed, has multiple ""/""" % name) + mtlscript = name[script_begin + 1:] else: mtlscript = "" - if (shader_begin != -1): # if a shader was specified + if (shader_begin != -1): # if a shader was specified mtl_end = shader_begin # must have exactly one shader if (name.count("(") != 1): @@ -2702,20 +2705,20 @@ def get_name_shader_script(self): # like in jungle_camp_sleeping_barack # here we handle that case if name[shader_begin + 1] == "(" \ - and name[shader_begin + 1:].count("(") == 1: + and name[shader_begin + 1:].count("(") == 1: shader_begin += 1 else: - raise ValueError("%s malformed, has multiple ""("""%name) + raise ValueError("%s malformed, has multiple ""(""" % name) if (name.count(")") != 1): - raise ValueError("%s malformed, has multiple "")"""%name) + raise ValueError("%s malformed, has multiple "")""" % name) # shader name should non-empty if shader_begin > shader_end: - raise ValueError("%s malformed, ""("" comes after "")"""%name) + raise ValueError("%s malformed, ""("" comes after "")""" % name) # script must be immediately followed by the material if (script_begin != -1) and (shader_end + 1 != script_begin): - raise ValueError("%s malformed, shader not followed by script"%name) + raise ValueError("%s malformed, shader not followed by script" % name) mtlname = name[:mtl_end] - mtlshader = name[shader_begin+1:shader_end] + mtlshader = name[shader_begin + 1:shader_end] else: if script_begin != -1: mtlname = name[:script_begin] @@ -2758,7 +2761,7 @@ class SourceInfoChunk: def get_global_display(self): """Return a name for the block.""" idx = max(self.source_file.rfind("\\"), self.source_file.rfind("/")) - return self.source_file[idx+1:] + return self.source_file[idx + 1:] class TimingChunk: def get_global_display(self): @@ -2773,12 +2776,12 @@ def as_tuple(self): return (self.x, self.y, self.z) def norm(self): - return (self.x*self.x + self.y*self.y + self.z*self.z) ** 0.5 + return (self.x * self.x + self.y * self.y + self.z * self.z) ** 0.5 def normalize(self): norm = self.norm() if norm < CgfFormat.EPSILON: - raise ZeroDivisionError('cannot normalize vector %s'%self) + raise ZeroDivisionError('cannot normalize vector %s' % self) self.x /= norm self.y /= norm self.z /= norm @@ -2791,7 +2794,7 @@ def get_copy(self): return v def __str__(self): - return "[ %6.3f %6.3f %6.3f ]"%(self.x, self.y, self.z) + return "[ %6.3f %6.3f %6.3f ]" % (self.x, self.y, self.z) def __mul__(self, x): if isinstance(x, (float, int)): @@ -2811,7 +2814,7 @@ def __mul__(self, x): elif isinstance(x, CgfFormat.Matrix44): return self * x.get_matrix_33() + x.get_translation() else: - raise TypeError("do not know how to multiply Vector3 with %s"%x.__class__) + raise TypeError("do not know how to multiply Vector3 with %s" % x.__class__) def __rmul__(self, x): if isinstance(x, (float, int)): @@ -2821,7 +2824,7 @@ def __rmul__(self, x): v.z = x * self.z return v else: - raise TypeError("do not know how to multiply %s and Vector3"%x.__class__) + raise TypeError("do not know how to multiply %s and Vector3" % x.__class__) def __div__(self, x): if isinstance(x, (float, int)): @@ -2831,7 +2834,7 @@ def __div__(self, x): v.z = self.z / x return v else: - raise TypeError("do not know how to divide Vector3 and %s"%x.__class__) + raise TypeError("do not know how to divide Vector3 and %s" % x.__class__) def __add__(self, x): if isinstance(x, (float, int)): @@ -2847,7 +2850,7 @@ def __add__(self, x): v.z = self.z + x.z return v else: - raise TypeError("do not know how to add Vector3 and %s"%x.__class__) + raise TypeError("do not know how to add Vector3 and %s" % x.__class__) def __radd__(self, x): if isinstance(x, (float, int)): @@ -2857,7 +2860,7 @@ def __radd__(self, x): v.z = x + self.z return v else: - raise TypeError("do not know how to add %s and Vector3"%x.__class__) + raise TypeError("do not know how to add %s and Vector3" % x.__class__) def __sub__(self, x): if isinstance(x, (float, int)): @@ -2873,7 +2876,7 @@ def __sub__(self, x): v.z = self.z - x.z return v else: - raise TypeError("do not know how to substract Vector3 and %s"%x.__class__) + raise TypeError("do not know how to substract Vector3 and %s" % x.__class__) def __rsub__(self, x): if isinstance(x, (float, int)): @@ -2883,7 +2886,7 @@ def __rsub__(self, x): v.z = x - self.z return v else: - raise TypeError("do not know how to substract %s and Vector3"%x.__class__) + raise TypeError("do not know how to substract %s and Vector3" % x.__class__) def __neg__(self): v = CgfFormat.Vector3() @@ -2896,18 +2899,18 @@ def __neg__(self): def crossproduct(self, x): if isinstance(x, CgfFormat.Vector3): v = CgfFormat.Vector3() - v.x = self.y*x.z - self.z*x.y - v.y = self.z*x.x - self.x*x.z - v.z = self.x*x.y - self.y*x.x + v.x = self.y * x.z - self.z * x.y + v.y = self.z * x.x - self.x * x.z + v.z = self.x * x.y - self.y * x.x return v else: - raise TypeError("do not know how to calculate crossproduct of Vector3 and %s"%x.__class__) + raise TypeError("do not know how to calculate crossproduct of Vector3 and %s" % x.__class__) def __eq__(self, x): if isinstance(x, type(None)): return False if not isinstance(x, CgfFormat.Vector3): - raise TypeError("do not know how to compare Vector3 and %s"%x.__class__) + raise TypeError("do not know how to compare Vector3 and %s" % x.__class__) if abs(self.x - x.x) > CgfFormat.EPSILON: return False if abs(self.y - x.y) > CgfFormat.EPSILON: return False if abs(self.z - x.z) > CgfFormat.EPSILON: return False diff --git a/pyffi/formats/dae/__init__.py b/pyffi/formats/dae/__init__.py index a01c03c91..43297b428 100644 --- a/pyffi/formats/dae/__init__.py +++ b/pyffi/formats/dae/__init__.py @@ -108,12 +108,12 @@ # # ***** END LICENSE BLOCK ***** -import struct import os import re import pyffi.object_models.xsd + class DaeFormat(pyffi.object_models.xsd.FileFormat): """This class implements the DAE format.""" xsdFileName = 'COLLADASchema.xsd' @@ -185,4 +185,3 @@ def write(self, stream): # implementation of dae-specific basic types # TODO - diff --git a/pyffi/formats/dds/__init__.py b/pyffi/formats/dds/__init__.py index 4d295e49b..7238bc39d 100644 --- a/pyffi/formats/dds/__init__.py +++ b/pyffi/formats/dds/__init__.py @@ -104,16 +104,17 @@ # # ***** END LICENSE BLOCK ***** -import struct import os import re +import struct -import pyffi.object_models.xml +import pyffi.object_models import pyffi.object_models.common +import pyffi.object_models.xml from pyffi.object_models.xml.basic import BasicBase -import pyffi.object_models from pyffi.utils.graph import EdgeFilter + class DdsFormat(pyffi.object_models.xml.FileFormat): """This class implements the DDS format.""" xml_file_name = 'dds.xml' @@ -140,6 +141,7 @@ class DdsFormat(pyffi.object_models.xml.FileFormat): class HeaderString(BasicBase): """Basic type which implements the header of a DDS file.""" + def __init__(self, **kwargs): BasicBase.__init__(self, **kwargs) @@ -198,6 +200,7 @@ def version_number(version_str): class Data(pyffi.object_models.FileFormat.Data): """A class to contain the actual dds data.""" + def __init__(self, version=0x09000000): self.version = version self.header = DdsFormat.Header() @@ -221,9 +224,9 @@ def inspect_quick(self, stream): raise ValueError("Not a DDS file.") size = struct.unpack("} is an L{AnyType} subclass. """ + def __init__(cls, name, bases, dct): """Initialize array type.""" # create the class @@ -148,6 +152,7 @@ def __init__(cls, name, bases, dct): if not issubclass(cls.ItemType, AnyType): raise TypeError("array ItemType must be an AnyType subclass") + class UniformArray(AnyArray, metaclass=MetaUniformArray): """Wrapper for array with elements of the same type; this type must be a subclass of L{pyffi.object_models.any_type.AnyType}. @@ -187,11 +192,13 @@ def validate(cls, item): % (item.__class__.__name__, cls.ItemType.__name__)) + class MetaUniformSimpleArray(type): """Metaclass for L{UniformSimpleArray}. Checks that L{ItemType} is an L{SimpleType} subclass. """ + def __init__(cls, name, bases, dct): """Initialize array type.""" # create the class @@ -201,6 +208,7 @@ def __init__(cls, name, bases, dct): pyffi.object_models.simple_type.SimpleType): raise TypeError("array ItemType must be a SimpleType subclass") + class UniformSimpleArray(AnyArray, metaclass=MetaUniformSimpleArray): """Base class for array's with direct access to values of simple items.""" ItemType = pyffi.object_models.simple_type.SimpleType diff --git a/pyffi/object_models/binary_type.py b/pyffi/object_models/binary_type.py index 87567f011..cfe60f5d5 100644 --- a/pyffi/object_models/binary_type.py +++ b/pyffi/object_models/binary_type.py @@ -40,34 +40,37 @@ import struct from pyffi.object_models.any_type import AnyType -from pyffi.object_models.simple_type import SimpleType -from pyffi.object_models.editable import EditableSpinBox +from pyffi.object_models.editable import EditableBoolComboBox from pyffi.object_models.editable import EditableFloatSpinBox from pyffi.object_models.editable import EditableLineEdit -from pyffi.object_models.editable import EditableBoolComboBox +from pyffi.object_models.editable import EditableSpinBox +from pyffi.object_models.simple_type import SimpleType + # Base classes class BinaryType(AnyType): """Abstract base class for binary data types.""" + def get_size(self): raise NotImplementedError + class BinarySimpleType(SimpleType, BinaryType): """Abstract base class for binary data types.""" pass -# Helper objects and helper functions (private) -_b = "".encode("ascii") # py3k's b"" -_b00 = "\x00".encode("ascii") # py3k's b"\x00" +# Helper objects and helper functions (private) +_b = "".encode("ascii") # py3k's b"" +_b00 = "\x00".encode("ascii") # py3k's b"\x00" # supports the bytes object for < py26 try: bytes except NameError: - bytes = str # for py25 backwards compatibility + bytes = str # for py25 backwards compatibility if bytes is str: # < py3k: str for byte strings, unicode for text strings @@ -78,6 +81,7 @@ class BinarySimpleType(SimpleType, BinaryType): _bytes = bytes _str = str + def _as_bytes(value): """Helper function which converts a string to _bytes (this is useful for set_value in all string classes, which use bytes for representation). @@ -101,6 +105,7 @@ def _as_bytes(value): else: raise TypeError("expected %s or %s" % (_bytes.__name__, _str.__name__)) + def _as_str(value): """Helper function to convert bytes back to str. This is used in the __str__ functions for simple string types. If you want a custom @@ -121,6 +126,7 @@ def _as_str(value): # (this avoids unicode errors) return value.encode("ascii", "replace") + # SimpleType implementations for common binary types class IntType(BinarySimpleType, EditableSpinBox): @@ -156,10 +162,10 @@ class IntType(BinarySimpleType, EditableSpinBox): '0x44332211' """ - _min = -0x80000000 #: Minimum value. + _min = -0x80000000 #: Minimum value. _max = 0x7fffffff #: Maximum value. - _struct = 'i' #: Character used to represent type in struct. - _size = 4 #: Number of bytes. + _struct = 'i' #: Character used to represent type in struct. + _size = 4 #: Number of bytes. # SimpleType @@ -177,13 +183,13 @@ def set_value(self, value): val = int(value) except ValueError: try: - val = int(value, 16) # for '0x...' strings + val = int(value, 16) # for '0x...' strings except ValueError: try: - val = getattr(self, value) # for enums + val = getattr(self, value) # for enums except AttributeError: raise ValueError( - "cannot convert value '%s' to integer"%value) + "cannot convert value '%s' to integer" % value) if val < self._min or val > self._max: raise ValueError('value out of range (%i)' % val) self._value = val @@ -232,6 +238,7 @@ def get_editor_maximum(self): """ return self._max + class UIntType(IntType): """Implementation of a 32-bit unsigned integer type.""" _min = 0 @@ -239,6 +246,7 @@ class UIntType(IntType): _struct = 'I' _size = 4 + class ByteType(IntType): """Implementation of a 8-bit signed integer type.""" _min = -0x80 @@ -246,6 +254,7 @@ class ByteType(IntType): _struct = 'b' _size = 1 + class UByteType(IntType): """Implementation of a 8-bit unsigned integer type.""" _min = 0 @@ -253,6 +262,7 @@ class UByteType(IntType): _struct = 'B' _size = 1 + class ShortType(IntType): """Implementation of a 16-bit signed integer type.""" _min = -0x8000 @@ -260,6 +270,7 @@ class ShortType(IntType): _struct = 'h' _size = 2 + class UShortType(UIntType): """Implementation of a 16-bit unsigned integer type.""" _min = 0 @@ -267,6 +278,7 @@ class UShortType(UIntType): _struct = 'H' _size = 2 + class BoolType(UByteType, EditableBoolComboBox): """Simple bool implementation.""" @@ -287,6 +299,7 @@ def set_value(self, value): raise TypeError("expected a bool") self._value = 1 if value else 0 + class CharType(BinarySimpleType, EditableLineEdit): """Implementation of an (unencoded) 8-bit character.""" @@ -300,8 +313,8 @@ def set_value(self, value): :param value: The value to assign (bytes of length 1). :type value: bytes """ - assert(isinstance(value, _bytes)) - assert(len(value) == 1) + assert (isinstance(value, _bytes)) + assert (len(value) == 1) self._value = value def read(self, stream): @@ -330,6 +343,7 @@ def get_size(self): """ return 1 + class Float(BinarySimpleType, EditableFloatSpinBox): """Implementation of a 32-bit float.""" @@ -368,6 +382,7 @@ def get_size(self): """ return 4 + class ZString(BinarySimpleType, EditableLineEdit): """String of variable length (null terminated). @@ -388,7 +403,7 @@ class ZString(BinarySimpleType, EditableLineEdit): >>> str(m) 'Hi There!' """ - _maxlen = 1000 #: The maximum length. + _maxlen = 1000 #: The maximum length. def __init__(self): """Initialize the string.""" @@ -444,6 +459,7 @@ def get_size(self): """ return len(self._value) + 1 + class FixedString(BinarySimpleType, EditableLineEdit): """String of fixed length. Default length is 0, so you must override this class and set the _len class variable. @@ -521,6 +537,7 @@ def get_size(self): """ return self._len + class SizedString(BinarySimpleType, EditableLineEdit): """Basic type for strings. The type starts with an unsigned int which describes the length of the string. @@ -596,8 +613,10 @@ def write(self, stream): stream.write(struct.pack(' self._max: raise ValueError('value out of range (%i)' % val) self._value = val @@ -206,6 +209,7 @@ def get_editor_maximum(self): """ return self._max + class UInt(Int): """Implementation of a 32-bit unsigned integer type.""" _min = 0 @@ -213,6 +217,7 @@ class UInt(Int): _struct = 'I' _size = 4 + class Int64(Int): """Implementation of a 64-bit signed integer type.""" _min = -0x8000000000000000 @@ -220,6 +225,7 @@ class Int64(Int): _struct = 'q' _size = 8 + class UInt64(Int): """Implementation of a 64-bit unsigned integer type.""" _min = 0 @@ -227,6 +233,7 @@ class UInt64(Int): _struct = 'Q' _size = 8 + class Byte(Int): """Implementation of a 8-bit signed integer type.""" _min = -0x80 @@ -234,6 +241,7 @@ class Byte(Int): _struct = 'b' _size = 1 + class UByte(Int): """Implementation of a 8-bit unsigned integer type.""" _min = 0 @@ -241,6 +249,7 @@ class UByte(Int): _struct = 'B' _size = 1 + class Short(Int): """Implementation of a 16-bit signed integer type.""" _min = -0x8000 @@ -248,6 +257,7 @@ class Short(Int): _struct = 'h' _size = 2 + class UShort(UInt): """Implementation of a 16-bit unsigned integer type.""" _min = 0 @@ -255,10 +265,12 @@ class UShort(UInt): _struct = 'H' _size = 2 + class ULittle32(UInt): """Little endian 32 bit unsigned integer (ignores specified data byte order). """ + def read(self, stream, data): """Read value from stream. @@ -276,6 +288,7 @@ def write(self, stream, data): """ stream.write(struct.pack('<' + self._struct, self._value)) + class Bool(UByte, EditableBoolComboBox): """Simple bool implementation.""" @@ -294,6 +307,7 @@ def set_value(self, value): """ self._value = 1 if value else 0 + class Char(BasicBase, EditableLineEdit): """Implementation of an (unencoded) 8-bit character.""" @@ -315,8 +329,8 @@ def set_value(self, value): :param value: The value to assign (bytes of length 1). :type value: bytes """ - assert(isinstance(value, bytes)) - assert(len(value) == 1) + assert (isinstance(value, bytes)) + assert (len(value) == 1) self._value = value def read(self, stream, data): @@ -352,6 +366,7 @@ def get_hash(self, data=None): """ self.get_value() + class Float(BasicBase, EditableFloatSpinBox): """Implementation of a 32-bit float.""" @@ -412,7 +427,8 @@ def get_hash(self, data=None): :return: An immutable object that can be used as a hash. """ - return int(self.get_value()*200) + return int(self.get_value() * 200) + class ZString(BasicBase, EditableLineEdit): """String of variable length (null terminated). @@ -434,7 +450,7 @@ class ZString(BasicBase, EditableLineEdit): >>> str(m) 'Hi There!' """ - _maxlen = 1000 #: The maximum length. + _maxlen = 1000 #: The maximum length. def __init__(self, **kwargs): """Initialize the string.""" @@ -506,6 +522,7 @@ def get_hash(self, data=None): """ return self._value + class FixedString(BasicBase, EditableLineEdit): """String of fixed length. Default length is 0, so you must override this class and set the _len class variable. @@ -591,6 +608,7 @@ def get_hash(self, data=None): """ return self._value + class SizedString(BasicBase, EditableLineEdit): """Basic type for strings. The type starts with an unsigned int which describes the length of the string. @@ -678,8 +696,10 @@ def write(self, stream, data): len(self._value))) stream.write(self._value) + class UndecodedData(BasicBase): """Basic type for undecoded data trailing at the end of a file.""" + def __init__(self, **kwargs): BasicBase.__init__(self, **kwargs) self._value = b'' @@ -734,4 +754,3 @@ def write(self, stream, data): :type stream: file """ stream.write(self._value) - diff --git a/pyffi/object_models/editable.py b/pyffi/object_models/editable.py index 50a01d4e3..198a097ca 100644 --- a/pyffi/object_models/editable.py +++ b/pyffi/object_models/editable.py @@ -8,6 +8,7 @@ classes. """ + # ***** BEGIN LICENSE BLOCK ***** # # Copyright (c) 2007-2012, Python File Format Interface @@ -47,6 +48,7 @@ class EditableBase(object): """The base class for all delegates.""" + def get_editor_value(self): """Return data as a value to initialize an editor with. Override this method. @@ -66,6 +68,7 @@ def set_editor_value(self, editorvalue): """ raise NotImplementedError + class EditableSpinBox(EditableBase): """Abstract base class for data that can be edited with a spin box that contains an integer. Override get_editor_minimum and get_editor_maximum to @@ -74,6 +77,7 @@ class EditableSpinBox(EditableBase): Requirement: get_editor_value must return an ``int``, set_editor_value must take an ``int``. """ + def get_editor_value(self): return self.get_value() @@ -86,6 +90,7 @@ def get_editor_minimum(self): def get_editor_maximum(self): return 0x7fffffff + class EditableFloatSpinBox(EditableSpinBox): """Abstract base class for data that can be edited with a spin box that contains a float. Override get_editor_decimals to set the number of decimals @@ -98,6 +103,7 @@ class EditableFloatSpinBox(EditableSpinBox): def get_editor_decimals(self): return 5 + class EditableLineEdit(EditableBase): """Abstract base class for data that can be edited with a single line editor. @@ -107,6 +113,7 @@ class EditableLineEdit(EditableBase): """ pass + class EditableTextEdit(EditableLineEdit): """Abstract base class for data that can be edited with a multiline editor. @@ -115,6 +122,7 @@ class EditableTextEdit(EditableLineEdit): """ pass + class EditableComboBox(EditableBase): """Abstract base class for data that can be edited with combo boxes. This can be used for for instance enum types. @@ -127,11 +135,13 @@ def get_editor_keys(self): """Tuple of strings, each string describing an item.""" return () + class EditableBoolComboBox(EditableComboBox): """Class for data that can be edited with a bool combo box. Requirement: get_value must return a ``bool``, set_value must take a ``bool``. """ + def get_editor_keys(self): return ("False", "True") @@ -145,4 +155,3 @@ def set_editor_value(self, editorvalue): def get_editor_value(self): return 1 if self.get_value() else 0 - diff --git a/pyffi/object_models/mex/__init__.py b/pyffi/object_models/mex/__init__.py index 67b8e941b..ab33fb53c 100644 --- a/pyffi/object_models/mex/__init__.py +++ b/pyffi/object_models/mex/__init__.py @@ -45,6 +45,7 @@ import pyffi.object_models import pyffi.object_models.simple_type + class _MetaMexFileFormat(pyffi.object_models.MetaFileFormat): """Converts the mex script into an archive parser.""" @@ -57,12 +58,13 @@ def __init__(cls, name, bases, dct): mexfile = cls.openfile(mexfilename, cls.mexfilepath) # XXX todo: parse the script + class MexFileFormat(pyffi.object_models.FileFormat): """This class can be used as a base class for file formats described by a mexscript file. """ - mexfilename = None #: Override. - mexfilepath = None #: Override. + mexfilename = None #: Override. + mexfilepath = None #: Override. logger = logging.getLogger("pyffi.object_models.mex") class FileInfo: @@ -76,7 +78,7 @@ class FileInfo: fileformat = None """Potentially, the format of the file.""" - + offset = None """Offset in the archive.""" diff --git a/pyffi/object_models/simple_type.py b/pyffi/object_models/simple_type.py index 222ae188d..4e26564c8 100644 --- a/pyffi/object_models/simple_type.py +++ b/pyffi/object_models/simple_type.py @@ -41,6 +41,7 @@ from pyffi.object_models.any_type import AnyType + class _MetaSimpleType(type): """This metaclass binds the get_value and set_value methods to the value property. We need a metaclass for this because properties are @@ -48,6 +49,7 @@ class _MetaSimpleType(type): http://stackoverflow.com/questions/237432/python-properties-and-inheritance http://requires-thinking.blogspot.com/2006/03/note-to-self-python-properties-are-non.html """ + def __init__(cls, name, bases, dct): # call base class constructor super(_MetaSimpleType, cls).__init__(name, bases, dct) @@ -55,6 +57,7 @@ def __init__(cls, name, bases, dct): cls.value = property(cls.get_value, cls.set_value, None, cls.value.__doc__) + class SimpleType(AnyType, metaclass=_MetaSimpleType): """Base class from which all simple types are derived. Simple types contain data which is not divided further into smaller pieces, diff --git a/pyffi/object_models/xml/__init__.py b/pyffi/object_models/xml/__init__.py index 69a2d6583..9b677edcd 100644 --- a/pyffi/object_models/xml/__init__.py +++ b/pyffi/object_models/xml/__init__.py @@ -40,18 +40,15 @@ # ***** END LICENSE BLOCK ***** import logging -import time # for timing stuff -import types -import os.path -import sys +import time # for timing stuff import xml.etree.ElementTree as ET import pyffi.object_models -from pyffi.object_models.xml.struct_ import StructBase -from pyffi.object_models.xml.basic import BasicBase +from pyffi.object_models.xml.basic import BasicBase from pyffi.object_models.xml.bit_struct import BitStructBase -from pyffi.object_models.xml.enum import EnumBase +from pyffi.object_models.xml.enum import EnumBase from pyffi.object_models.xml.expression import Expression +from pyffi.object_models.xml.struct_ import StructBase class MetaFileFormat(pyffi.object_models.MetaFileFormat): @@ -102,11 +99,12 @@ def __init__(cls, name, bases, dct): cls.logger.debug("Parsing finished in %.3f seconds." % (time.time() - start)) + class FileFormat(pyffi.object_models.FileFormat, metaclass=MetaFileFormat): """This class can be used as a base class for file formats described by an xml file.""" - xml_file_name = None #: Override. - xml_file_path = None #: Override. + xml_file_name = None #: Override. + xml_file_path = None #: Override. logger = logging.getLogger("pyffi.object_models.xml") # We also keep an ordered list of all classes that have been created. @@ -123,6 +121,7 @@ class FileFormat(pyffi.object_models.FileFormat, metaclass=MetaFileFormat): xml_bit_struct = [] xml_struct = [] + class StructAttribute(object): """Helper class to collect attribute data of struct add tags.""" @@ -210,6 +209,7 @@ def __init__(self, cls, attrs): if self.ver2: self.ver2 = cls.version_number(self.ver2) + class BitStructAttribute(object): """Helper class to collect attribute data of bitstruct bits tags.""" @@ -228,7 +228,7 @@ def __init__(self, cls, attrs): self.ver1 = attrs.get("ver1") self.ver2 = attrs.get("ver2") self.userver = attrs.get("userver") - self.doc = "" # handled in xml parser's characters function + self.doc = "" # handled in xml parser's characters function # post-processing if self.default: @@ -242,14 +242,17 @@ def __init__(self, cls, attrs): if self.ver2: self.ver2 = cls.version_number(self.ver2) + class XmlError(Exception): """The XML handler will throw this exception if something goes wrong while parsing.""" pass + class XmlParser: struct_types = ("compound", "niobject", "struct") bitstruct_types = ("bitfield", "bitflags", "bitstruct") + def __init__(self, cls): """Set up the xml parser.""" @@ -272,8 +275,8 @@ def __init__(self, cls): self.version_string = None # list of tuples ({tokens}, (target_attribs)) for each - self.tokens = [ ] - self.versions = [ ([], ("versions", "until", "since")), ] + self.tokens = [] + self.versions = [([], ("versions", "until", "since")), ] def load_xml(self, file): """Loads an XML (can be filepath or open file) and does all parsing""" @@ -281,7 +284,7 @@ def load_xml(self, file): root = tree.getroot() self.load_root(root) self.final_cleanup() - + def load_root(self, root): """Goes over all children of the root node and calls the appropriate function depending on type of the child""" for child in root: @@ -305,22 +308,22 @@ def load_root(self, root): # the following constructs do not create classes def read_token(self, token): """Reads an xml block and stores it in the tokens list""" - self.tokens.append( ([], token.attrib["attrs"].split(" ") ) ) + self.tokens.append(([], token.attrib["attrs"].split(" "))) for sub_token in token: - self.tokens[-1][0].append( (sub_token.attrib["token"], sub_token.attrib["string"]) ) - + self.tokens[-1][0].append((sub_token.attrib["token"], sub_token.attrib["string"])) + def read_version(self, version): """Reads an xml block and stores it in the versions list""" # todo [versions] this ignores the user vers! # versions must be in reverse order so don't append but insert at beginning if "id" in version.attrib: - self.versions[0][0].insert( 0, (version.attrib["id"], version.attrib["num"]) ) + self.versions[0][0].insert(0, (version.attrib["id"], version.attrib["num"])) # add to supported versions self.version_string = version.attrib["num"] self.cls.versions[self.version_string] = self.cls.version_number(self.version_string) self.update_gamesdict(self.cls.games, version.text) self.version_string = None - + def read_module(self, module): """Reads a xml block""" # no children, not interesting for now @@ -335,11 +338,11 @@ def read_basic(self, basic): # check the class variables is_template = self.is_generic(basic.attrib) if basic_class._is_template != is_template: - raise XmlError( 'class %s should have _is_template = %s' % (self.class_name, is_template)) + raise XmlError('class %s should have _is_template = %s' % (self.class_name, is_template)) # link class cls. to basic_class setattr(self.cls, self.class_name, basic_class) - + # the following constructs create classes def read_bitstruct(self, bitstruct): """Create a bitstruct class""" @@ -371,8 +374,8 @@ def read_bitstruct(self, bitstruct): if numextrabits < 0: raise XmlError("values of bitflags must be increasing") if numextrabits > 0: - reserved = dict(name="Reserved Bits %i"% len(self.class_dict["_attrs"]), numbits=numextrabits) - self.class_dict["_attrs"].append( BitStructAttribute( self.cls, reserved)) + reserved = dict(name="Reserved Bits %i" % len(self.class_dict["_attrs"]), numbits=numextrabits) + self.class_dict["_attrs"].append(BitStructAttribute(self.cls, reserved)) # add the actual attribute bit_attrs = dict(name=attrs["name"], numbits=1) # new nif xml @@ -380,8 +383,8 @@ def read_bitstruct(self, bitstruct): bit_attrs = dict(name=attrs["name"], numbits=attrs["width"]) else: raise XmlError("only bits tags allowed in struct type declaration") - - self.class_dict["_attrs"].append( BitStructAttribute(self.cls, bit_attrs) ) + + self.class_dict["_attrs"].append(BitStructAttribute(self.cls, bit_attrs)) self.update_doc(self.class_dict["_attrs"][-1].doc, member.text) self.create_class(bitstruct.tag) @@ -398,20 +401,20 @@ def read_struct(self, struct): try: self.base_class = getattr(self.cls, class_basename) except KeyError: - raise XmlError( "typo, or forward declaration of struct %s" % class_basename) + raise XmlError("typo, or forward declaration of struct %s" % class_basename) else: self.base_class = StructBase # set attributes (see class StructBase) # 'generic' attribute is optional- if not set, then the struct is not a template - self.class_dict["_is_template" ] = self.is_generic(attrs) - self.class_dict["_attrs" ] = [] - self.class_dict["_games" ] = {} + self.class_dict["_is_template"] = self.is_generic(attrs) + self.class_dict["_attrs"] = [] + self.class_dict["_games"] = {} for field in struct: attrs = self.replace_tokens(field.attrib) # the common case if field.tag in ("add", "field"): # add attribute to class dictionary - self.class_dict["_attrs"].append( StructAttribute(self.cls, attrs) ) + self.class_dict["_attrs"].append(StructAttribute(self.cls, attrs)) self.update_doc(self.class_dict["_attrs"][-1].doc, field.text) # not found in current nifxml elif field.tag == "version": @@ -472,7 +475,6 @@ def read_alias(self, alias): raise XmlError("typo, or forward declaration of type %s" % typename) self.create_class(alias.tag) - # the following are helper functions def is_generic(self, attr): # be backward compatible @@ -486,7 +488,7 @@ def update_gamesdict(self, gamesdict, ver_text): gamesdict[gamestr].append(self.cls.versions[self.version_string]) else: gamesdict[gamestr] = [self.cls.versions[self.version_string]] - + def update_class_dict(self, attrs, doc_text): """This initializes class_dict, sets the class name and doc text""" doc_text = doc_text.strip() if doc_text else "" @@ -496,7 +498,7 @@ def update_class_dict(self, attrs, doc_text): def update_doc(self, doc, doc_text): if doc_text: doc += doc_text.strip() - + def create_class(self, tag): """Creates a class for (tag name of the class that was just finished)""" # assign it to cls. if it has not been implemented internally @@ -510,8 +512,8 @@ def create_class(self, tag): return # it has been created in format's __init__.py # create and add to base class of customizer - gen_klass = type("_"+self.class_name, (self.base_class,), self.class_dict) - setattr(self.cls, "_"+self.class_name, gen_klass) + gen_klass = type("_" + self.class_name, (self.base_class,), self.class_dict) + setattr(self.cls, "_" + self.class_name, gen_klass) # recreate the class, to ensure that the metaclass is called!! # (otherwise, cls_klass does not have correct _attribute_list, etc.) cls_klass = type(cls_klass.__name__, (gen_klass,) + cls_klass.__bases__, dict(cls_klass.__dict__)) @@ -534,7 +536,7 @@ def create_class(self, tag): self.cls.xml_enum.append(gen_klass) elif tag == "alias": self.cls.xml_alias.append(gen_klass) - + def replace_tokens(self, attr_dict): """Update attr_dict with content of tokens+versions list.""" # replace versions after tokens because tokens include versions @@ -546,19 +548,20 @@ def replace_tokens(self, attr_dict): expr_str = expr_str.replace(op_token, op_str) attr_dict[target_attrib] = expr_str # additional tokens that are not specified by nif.xml - fixed_tokens = ( ("\\", "."), (">", ">"), ("<", "<"), ("&", "&"), ("#ARG#", "ARG"), ("#T#", "TEMPLATE") ) + fixed_tokens = ( + ("\\", "."), (">", ">"), ("<", "<"), ("&", "&"), ("#ARG#", "ARG"), ("#T#", "TEMPLATE")) for attrib, expr_str in attr_dict.items(): for op_token, op_str in fixed_tokens: expr_str = expr_str.replace(op_token, op_str) attr_dict[attrib] = expr_str # onlyT & excludeT act as aliases for deprecated cond - prefs = ( ("onlyT", ""), ("excludeT", "!") ) + prefs = (("onlyT", ""), ("excludeT", "!")) for t, pref in prefs: if t in attr_dict: - attr_dict["cond"] = pref+attr_dict[t] + attr_dict["cond"] = pref + attr_dict[t] break return attr_dict - + def final_cleanup(self): """Called when the xml is completely parsed. Searches and adds class customized functions. @@ -578,7 +581,7 @@ def final_cleanup(self): for attr in obj._attrs: templ = attr.template if isinstance(templ, str): - attr.template = getattr(self.cls, templ) if templ != "TEMPLATE" else type(None) + attr.template = getattr(self.cls, templ) if templ != "TEMPLATE" else type(None) attrtype = attr.type_ if isinstance(attrtype, str): attr.type_ = getattr(self.cls, attrtype) diff --git a/pyffi/object_models/xml/basic.py b/pyffi/object_models/xml/basic.py index 54ad2d229..8a04b2c1a 100644 --- a/pyffi/object_models/xml/basic.py +++ b/pyffi/object_models/xml/basic.py @@ -41,6 +41,7 @@ from pyffi.utils.graph import DetailNode + class BasicBase(DetailNode): """Base class from which all basic types are derived. @@ -76,13 +77,13 @@ class BasicBase(DetailNode): NotImplementedError """ - _is_template = False # is it a template type? - _has_links = False # does the type contain a Ref or a Ptr? - _has_refs = False # does the type contain a Ref? - _has_strings = False # does the type contain a string? - arg = None # default argument + _is_template = False # is it a template type? + _has_links = False # does the type contain a Ref or a Ptr? + _has_refs = False # does the type contain a Ref? + _has_strings = False # does the type contain a string? + arg = None # default argument - def __init__(self, template = None, argument = None, parent = None): + def __init__(self, template=None, argument=None, parent=None): """Initializes the instance. :param template: type used as template @@ -91,7 +92,7 @@ def __init__(self, template = None, argument = None, parent = None): :param parent: The parent of this instance, that is, the instance this instance is an attribute of.""" # parent disabled for performance - #self._parent = weakref.ref(parent) if parent else None + # self._parent = weakref.ref(parent) if parent else None pass # string representation @@ -168,4 +169,3 @@ def get_editor_value(self): def set_editor_value(self, editorvalue): """Set value from editor value.""" return self.set_value(editorvalue) - diff --git a/pyffi/object_models/xml/bit_struct.py b/pyffi/object_models/xml/bit_struct.py index 4720dbc41..7c9d5269d 100644 --- a/pyffi/object_models/xml/bit_struct.py +++ b/pyffi/object_models/xml/bit_struct.py @@ -41,9 +41,8 @@ # note: some imports are defined at the end to avoid problems with circularity -from functools import partial - import struct +from functools import partial from pyffi.object_models.editable import EditableSpinBox # for Bits from pyffi.utils.graph import DetailNode, EdgeFilter @@ -53,6 +52,7 @@ class _MetaBitStructBase(type): """This metaclass checks for the presence of a _attrs attribute. For each attribute in _attrs, an property is generated which gets and sets bit fields. Used as metaclass of BitStructBase.""" + def __init__(cls, name, bases, dct): super(_MetaBitStructBase, cls).__init__(name, bases, dct) # consistency checks @@ -95,13 +95,15 @@ def __init__(cls, name, bases, dct): cls._names = cls._get_names() def __repr__(cls): - return ""%(cls.__name__) + return "" % (cls.__name__) + class Bits(DetailNode, EditableSpinBox): """Basic implementation of a n-bit unsigned integer type (without read and write).""" - def __init__(self, numbits=1, default=0, parent = None): + + def __init__(self, numbits=1, default=0, parent=None): # parent disabled for performance - #self._parent = weakref.ref(parent) if parent else None + # self._parent = weakref.ref(parent) if parent else None self._value = default self._numbits = numbits @@ -412,8 +414,8 @@ def _get_filtered_attribute_list(self, data=None): # print("version check passed") # debug # check user version - if not(attr.userver is None or user_version is None) \ - and user_version != attr.userver: + if not (attr.userver is None or user_version is None) \ + and user_version != attr.userver: continue # print("user version check passed") # debug diff --git a/pyffi/object_models/xml/enum.py b/pyffi/object_models/xml/enum.py index 0869f8c7f..61c731de4 100644 --- a/pyffi/object_models/xml/enum.py +++ b/pyffi/object_models/xml/enum.py @@ -40,23 +40,25 @@ import logging import struct -from pyffi.object_models.xml.basic import BasicBase from pyffi.object_models.editable import EditableComboBox +from pyffi.object_models.xml.basic import BasicBase + class _MetaEnumBase(type): """This metaclass checks for the presence of _enumkeys, _enumvalues, and _numbytes attributes. It also adds enum class attributes. Used as metaclass of EnumBase.""" + def __init__(cls, name, bases, dct): super(_MetaEnumBase, cls).__init__(name, bases, dct) # consistency checks if not '_enumkeys' in dct: - raise TypeError('%s: missing _enumkeys attribute'%cls) + raise TypeError('%s: missing _enumkeys attribute' % cls) if not '_enumvalues' in dct: - raise TypeError('%s: missing _enumvalues attribute'%cls) + raise TypeError('%s: missing _enumvalues attribute' % cls) if not '_numbytes' in dct: - raise TypeError('%s: missing _numbytes attribute'%cls) + raise TypeError('%s: missing _numbytes attribute' % cls) # check storage type if cls._numbytes == 1: @@ -92,7 +94,7 @@ def __iter__(cls): def __next__(cls): if cls.__i < len(cls._enumvalues): cls.__i += 1 - return (cls._enumkeys[cls.__i-1], cls._enumvalues[cls.__i-1]) + return (cls._enumkeys[cls.__i - 1], cls._enumvalues[cls.__i - 1]) else: return @@ -110,21 +112,22 @@ def __len__(cls): return len(cls._enumkeys) def __repr__(cls): - return ""%(cls.__name__) + return "" % (cls.__name__) def __str__(cls): returns = "{" for idx, key in enumerate(cls._enumkeys): - if not idx == 0 and idx <= len(cls._enumkeys) -1: + if not idx == 0 and idx <= len(cls._enumkeys) - 1: returns += ", " returns += "\"%s\": \"%s\"" % (key, cls._enumvalues[idx]) returns += "}" return returns + class EnumBase(BasicBase, EditableComboBox, metaclass=_MetaEnumBase): _enumkeys = [] _enumvalues = [] - _numbytes = 1 # default width of an enum + _numbytes = 1 # default width of an enum # # BasicBase methods @@ -144,13 +147,13 @@ def set_value(self, value): val = int(value) except ValueError: try: - val = int(value, 16) # for '0x...' strings + val = int(value, 16) # for '0x...' strings except ValueError: if value in self._enumkeys: val = getattr(self, value) else: raise ValueError( - "cannot convert value '%s' to integer"%value) + "cannot convert value '%s' to integer" % value) if not val in self._enumvalues: logger = logging.getLogger("pyffi.object_models.xml.enum") logger.error('invalid enum value (%i) for %s' diff --git a/pyffi/object_models/xml/expression.py b/pyffi/object_models/xml/expression.py index e9d79318d..ba82d8a59 100644 --- a/pyffi/object_models/xml/expression.py +++ b/pyffi/object_models/xml/expression.py @@ -41,7 +41,6 @@ # -------------------------------------------------------------------------- import re -import sys # stderr (for debugging) class Expression(object): @@ -190,10 +189,10 @@ def _parse(cls, expr_str, name_filter=None): m = re.match(r'^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)$', expr_str) if m: ver = ( - (int(m.group(1)) << 24) - + (int(m.group(2)) << 16) - + (int(m.group(3)) << 8) - + int(m.group(4)) + (int(m.group(1)) << 24) + + (int(m.group(2)) << 16) + + (int(m.group(3)) << 8) + + int(m.group(4)) ) return ver # apply name filter on each component separately diff --git a/pyffi/object_models/xml/struct_.py b/pyffi/object_models/xml/struct_.py index 300b1a868..e63afd324 100644 --- a/pyffi/object_models/xml/struct_.py +++ b/pyffi/object_models/xml/struct_.py @@ -43,9 +43,9 @@ import logging from functools import partial - -from pyffi.utils.graph import DetailNode, GlobalNode, EdgeFilter import pyffi.object_models.common +from pyffi.utils.graph import GlobalNode, EdgeFilter + class _MetaStructBase(type): """This metaclass checks for the presence of _attrs and _is_template @@ -53,6 +53,7 @@ class _MetaStructBase(type): property is generated which gets and sets basic types, and gets other types (struct and array). Used as metaclass of StructBase.""" + def __init__(cls, name, bases, dct): super(_MetaStructBase, cls).__init__(name, bases, dct) # does the type contain a Ref or a Ptr? @@ -66,14 +67,14 @@ def __init__(cls, name, bases, dct): # and issubclass must take a type as first argument # hence this hack if not isinstance(attr.type_, str) and \ - issubclass(attr.type_, BasicBase) and attr.arr1 is None: + issubclass(attr.type_, BasicBase) and attr.arr1 is None: # get and set basic attributes setattr(cls, attr.name, property( partial(StructBase.get_basic_attribute, name=attr.name), partial(StructBase.set_basic_attribute, name=attr.name), doc=attr.doc)) elif not isinstance(attr.type_, str) and \ - issubclass(attr.type_, StructBase) and attr.arr1 is None: + issubclass(attr.type_, StructBase) and attr.arr1 is None: # get and set struct attributes setattr(cls, attr.name, property( partial(StructBase.get_attribute, name=attr.name), @@ -93,13 +94,13 @@ def __init__(cls, name, bases, dct): # check for links and refs and strings if not cls._has_links: - if attr.type_ != type(None): # templates! + if attr.type_ != type(None): # templates! # attr.type_ basestring means forward declaration # we cannot know if it has links, so assume yes if (isinstance(attr.type_, str) - or attr.type_._has_links): + or attr.type_._has_links): cls._has_links = True - #else: + # else: # cls._has_links = True # or false... we can't know at this point... might be necessary # to uncomment this if template types contain refs @@ -109,9 +110,9 @@ def __init__(cls, name, bases, dct): # attr.type_ basestring means forward declaration # we cannot know if it has refs, so assume yes if (isinstance(attr.type_, str) - or attr.type_._has_refs): + or attr.type_._has_refs): cls._has_refs = True - #else: + # else: # cls._has_refs = True # dito, see comment above if not cls._has_strings: @@ -119,7 +120,7 @@ def __init__(cls, name, bases, dct): # attr.type_ basestring means forward declaration # we cannot know if it has strings, so assume yes if (isinstance(attr.type_, str) - or attr.type_._has_strings): + or attr.type_._has_strings): cls._has_strings = True else: # enabled because there is a template key type that has @@ -135,7 +136,8 @@ def __init__(cls, name, bases, dct): cls._names = cls._get_names() def __repr__(cls): - return ""%(cls.__name__) + return "" % (cls.__name__) + class StructBase(GlobalNode, metaclass=_MetaStructBase): """Base class from which all file struct types are derived. @@ -228,7 +230,7 @@ class StructBase(GlobalNode, metaclass=_MetaStructBase): logger = logging.getLogger("pyffi.nif.data.struct") # initialize all attributes - def __init__(self, template = None, argument = None, parent = None): + def __init__(self, template=None, argument=None, parent=None): """The constructor takes a tempate: any attribute whose type, or template type, is type(None) - which corresponds to TEMPLATE in the xml description - will be replaced by this @@ -246,7 +248,7 @@ def __init__(self, template = None, argument = None, parent = None): # initialize argument self.arg = argument # save parent (note: disabled for performance) - #self._parent = weakref.ref(parent) if parent else None + # self._parent = weakref.ref(parent) if parent else None # initialize item list # this list is used for instance by qskope to display the structure # in a tree view @@ -262,33 +264,33 @@ def __init__(self, template = None, argument = None, parent = None): # things that can only be determined at runtime (rt_xxx) rt_type = attr.type_ if attr.type_ != type(None) \ - else template + else template rt_template = attr.template if attr.template != type(None) \ - else template + else template rt_arg = attr.arg if isinstance(attr.arg, (int, type(None))) \ - else getattr(self, attr.arg) + else getattr(self, attr.arg) # instantiate the class, handling arrays at the same time if attr.arr1 == None: attr_instance = rt_type( - template = rt_template, argument = rt_arg, - parent = self) + template=rt_template, argument=rt_arg, + parent=self) if attr.default != None: attr_instance.set_value(attr.default) elif attr.arr2 == None: attr_instance = Array( - element_type = rt_type, - element_type_template = rt_template, - element_type_argument = rt_arg, - count1 = attr.arr1, - parent = self) + element_type=rt_type, + element_type_template=rt_template, + element_type_argument=rt_arg, + count1=attr.arr1, + parent=self) else: attr_instance = Array( - element_type = rt_type, - element_type_template = rt_template, - element_type_argument = rt_arg, - count1 = attr.arr1, count2 = attr.arr2, - parent = self) + element_type=rt_type, + element_type_template=rt_template, + element_type_argument=rt_arg, + count1=attr.arr1, count2=attr.arr2, + parent=self) # assign attribute value setattr(self, "_%s_value_" % attr.name, attr_instance) @@ -336,7 +338,7 @@ def __str__(self): elif attr_str_lines: text += '* %s : %s\n' % (attr.name, attr_str_lines[0]) else: - #print(getattr(self, "_%s_value_" % attr.name)) + # print(getattr(self, "_%s_value_" % attr.name)) text += '* %s : \n' % attr.name return text @@ -352,7 +354,10 @@ def _log_struct(self, stream, attr): else: offset = stream.tell() hex_ver = "0x%08X" % offset - self.logger.debug("* {0}.{1} = {2} : type {3} at {4} offset {5} - ".format(self.__class__.__name__, attr.name, str(out), attr.type_, hex_ver, offset )) # debug + self.logger.debug( + "* {0}.{1} = {2} : type {3} at {4} offset {5} - ".format(self.__class__.__name__, attr.name, + str(out), attr.type_, hex_ver, + offset)) # debug def read(self, stream, data): """Read structure from stream.""" @@ -372,7 +377,6 @@ def read(self, stream, data): self._log_struct(stream, attr) attr_value.read(stream, data) - def write(self, stream, data): """Write structure to stream.""" # write all attributes @@ -382,7 +386,7 @@ def write(self, stream, data): continue # get attribute argument (can only be done at runtime) rt_arg = attr.arg if isinstance(attr.arg, (int, type(None))) \ - else getattr(self, attr.arg) + else getattr(self, attr.arg) # write the attribute attr_value = getattr(self, "_%s_value_" % attr.name) attr_value.arg = rt_arg @@ -494,7 +498,7 @@ def _get_attribute_list(cls): for base in cls.__bases__: try: attrs.extend(base._get_attribute_list()) - except AttributeError: # when base class is "object" + except AttributeError: # when base class is "object" pass attrs.extend(cls._attrs) return attrs @@ -508,7 +512,7 @@ def _get_names(cls): for base in cls.__bases__: try: names.extend(base._get_names()) - except AttributeError: # when base class is "object" + except AttributeError: # when base class is "object" pass for attr in cls._attrs: if attr.name in names: @@ -536,7 +540,7 @@ def _get_filtered_attribute_list(self, data=None): user_version = None names = set() for attr in self._attribute_list: - #print(attr.name, version, attr.ver1, attr.ver2) # debug + # print(attr.name, version, attr.ver1, attr.ver2) # debug # check version if version is not None: @@ -544,30 +548,30 @@ def _get_filtered_attribute_list(self, data=None): continue if attr.ver2 is not None and version > attr.ver2: continue - #print("version check passed") # debug + # print("version check passed") # debug # check user version if (attr.userver is not None and user_version is not None - and user_version != attr.userver): + and user_version != attr.userver): continue - #print("user version check passed") # debug + # print("user version check passed") # debug # check conditions if attr.cond is not None and not attr.cond.eval(self): continue if (version is not None and user_version is not None - and attr.vercond is not None): + and attr.vercond is not None): if not attr.vercond.eval(data): continue - #print("condition passed") # debug + # print("condition passed") # debug # skip dupiclate names if attr.name in names: continue - #print("duplicate check passed") # debug + # print("duplicate check passed") # debug names.add(attr.name) # passed all tests @@ -634,7 +638,6 @@ def get_detail_child_names(self, edge_filter=EdgeFilter()): """Yield names of the children of this structure.""" return (name for name in self._names) - # GlobalNode def get_global_display(self): @@ -647,5 +650,6 @@ def get_global_child_nodes(self, edge_filter=EdgeFilter()): for branch in self.get_refs(): yield branch + from pyffi.object_models.xml.basic import BasicBase from pyffi.object_models.xml.array import Array diff --git a/pyffi/object_models/xsd/__init__.py b/pyffi/object_models/xsd/__init__.py index c9910d378..01e3080e9 100644 --- a/pyffi/object_models/xsd/__init__.py +++ b/pyffi/object_models/xsd/__init__.py @@ -47,6 +47,7 @@ import pyffi.object_models + class Tree(object): """Converts an xsd element tree into a tree of nodes that contain all information and methods for creating classes. Each node has a @@ -183,18 +184,18 @@ def attribute_walker(self, fileformat): # now set attributes for this node if self.name: # could have self._type or not, but should not have a self.ref - assert(not self.ref) # debug + assert (not self.ref) # debug self.pyname = fileformat.name_attribute(self.name) node = self elif self.ref: # no name and no type should be defined - assert(not self.name) # debug - assert(not self.type_) # debug + assert (not self.name) # debug + assert (not self.type_) # debug self.pyname = fileformat.name_attribute(self.ref) # resolve reference for child in self.schema.children: if (isinstance(child, self.__class__) - and child.name == self.ref): + and child.name == self.ref): node = child break else: @@ -419,7 +420,7 @@ def __init__(self, element, parent): class Selector(Node): pass - + class Sequence(Node): pass @@ -489,6 +490,7 @@ def node_factory(cls, element, parent): setattr(cls, class_name, class_) return class_(element, parent) + class MetaFileFormat(pyffi.object_models.MetaFileFormat): """The MetaFileFormat metaclass transforms the XSD description of a xml format into a bunch of classes which can be directly used to @@ -525,7 +527,7 @@ def __init__(cls, name, bases, dct): # create nodes for every element in the XSD tree schema = Tree.node_factory( # XXX cElementTree python bug when running nosetests - #xml.etree.cElementTree.parse(xsdfile).getroot(), None) + # xml.etree.cElementTree.parse(xsdfile).getroot(), None) xml.etree.ElementTree.parse(xsdfile).getroot(), None) finally: xsdfile.close() @@ -537,6 +539,7 @@ def __init__(cls, name, bases, dct): cls.logger.debug("Parsing finished in %.3f seconds." % (time.time() - start)) + class Type(object): _node = None @@ -546,20 +549,21 @@ def __init__(self): # TODO initialize all attributes self._node.instantiate(self) + class FileFormat(pyffi.object_models.FileFormat, metaclass=MetaFileFormat): """This class can be used as a base class for file formats. It implements a number of useful functions such as walking over directory trees and a default attribute naming function. """ - xsdFileName = None #: Override. - xsdFilePath = None #: Override. + xsdFileName = None #: Override. + xsdFilePath = None #: Override. logger = logging.getLogger("pyffi.object_models.xsd") @classmethod def name_parts(cls, name): # introduces extra splits for some names - name = name.replace("NMTOKEN", "NM_TOKEN") # name token - name = name.replace("IDREF", "ID_REF") # identifier reference + name = name.replace("NMTOKEN", "NM_TOKEN") # name token + name = name.replace("IDREF", "ID_REF") # identifier reference # do the split return pyffi.object_models.FileFormat.name_parts(name) diff --git a/pyffi/qskope/__init__.py b/pyffi/qskope/__init__.py index e65090c3d..bbbe3df63 100644 --- a/pyffi/qskope/__init__.py +++ b/pyffi/qskope/__init__.py @@ -39,31 +39,30 @@ from PyQt4 import QtGui, QtCore -import pyffi.qskope.global_model -import pyffi.qskope.detail_model -import pyffi.qskope.detail_delegate - import pyffi -from pyffi.formats.nif import NifFormat +import pyffi.qskope.detail_delegate +import pyffi.qskope.detail_model +import pyffi.qskope.global_model +from pyffi.formats.bsa import BsaFormat from pyffi.formats.cgf import CgfFormat -from pyffi.formats.kfm import KfmFormat from pyffi.formats.dds import DdsFormat -from pyffi.formats.tga import TgaFormat from pyffi.formats.egm import EgmFormat from pyffi.formats.egt import EgtFormat from pyffi.formats.esp import EspFormat -from pyffi.formats.tri import TriFormat -from pyffi.formats.bsa import BsaFormat +from pyffi.formats.kfm import KfmFormat +from pyffi.formats.nif import NifFormat from pyffi.formats.psk import PskFormat from pyffi.formats.rockstar.dir_ import DirFormat +from pyffi.formats.tga import TgaFormat +from pyffi.formats.tri import TriFormat -from pyffi.object_models import FileFormat # implementation details: # http://doc.trolltech.com/4.3/qmainwindow.html#details class QSkope(QtGui.QMainWindow): """Main QSkope window.""" - def __init__(self, parent = None): + + def __init__(self, parent=None): """Initialize the main window.""" QtGui.QMainWindow.__init__(self, parent) @@ -170,16 +169,15 @@ def createMenus(self): def closeEvent(self, event): """Called when the application is closed. Saves the settings.""" - settings = self.getSettings(versioned = True) + settings = self.getSettings(versioned=True) settings.setValue("MainWindow/geometry", self.saveGeometry()) QtGui.QMainWindow.closeEvent(self, event) - # # various helper functions # - def openFile(self, filename = None): + def openFile(self, filename=None): """Open a file, and set up the view.""" # inform user about file being read self.statusBar().showMessage("Reading %s ..." % filename) @@ -195,7 +193,7 @@ def openFile(self, filename = None): self.data = Format.Data() try: self.data.read(stream) - except ValueError as err: #ValueError: + except ValueError as err: # ValueError: # failed, try next format print(str(err)) continue @@ -237,7 +235,7 @@ def openFile(self, filename = None): except UnboundLocalError: pass - def saveFile(self, filename = None): + def saveFile(self, filename=None): """Save changes to disk.""" # TODO support dds saving as well # TODO support tga saving as well @@ -265,7 +263,7 @@ def saveFile(self, filename = None): stream.close() @staticmethod - def getSettings(versioned = False): + def getSettings(versioned=False): """Return the QSkope settings.""" if not versioned: return QtCore.QSettings("PyFFI", "QSkope") @@ -296,7 +294,7 @@ def openAction(self): # (displays an extra file dialog) filename = QtGui.QFileDialog.getOpenFileName(self, "Open File") if filename: - self.openFile(filename = filename) + self.openFile(filename=filename) def saveAsAction(self): """Save a file.""" @@ -312,7 +310,7 @@ def saveAction(self): # wrapper around saveFile # (gets file name automatically from stored file name) if self.fileName: - self.saveFile(filename = self.fileName) + self.saveFile(filename=self.fileName) def aboutQSkopeAction(self): """Display an information window about QSkope.""" diff --git a/pyffi/qskope/detail_delegate.py b/pyffi/qskope/detail_delegate.py index 0b341101d..63850a14f 100644 --- a/pyffi/qskope/detail_delegate.py +++ b/pyffi/qskope/detail_delegate.py @@ -41,11 +41,12 @@ # each delegate type corresponds to a QtGui delegate type # (see _checkValidEditor for more details) -from pyffi.object_models.editable import EditableComboBox # -> QComboBox -from pyffi.object_models.editable import EditableFloatSpinBox # -> QDoubleSpinBox -from pyffi.object_models.editable import EditableSpinBox # -> QSpinBox -from pyffi.object_models.editable import EditableTextEdit # -> QTextEdit -from pyffi.object_models.editable import EditableLineEdit # -> QLineEdit +from pyffi.object_models.editable import EditableComboBox # -> QComboBox +from pyffi.object_models.editable import EditableFloatSpinBox # -> QDoubleSpinBox +from pyffi.object_models.editable import EditableLineEdit # -> QLineEdit +from pyffi.object_models.editable import EditableSpinBox # -> QSpinBox +from pyffi.object_models.editable import EditableTextEdit # -> QTextEdit + # implementation details: # http://doc.trolltech.com/4.3/model-view-delegate.html @@ -196,4 +197,3 @@ def setModelData(self, editor, model, index): # set the model data # EditRole ensures that setData uses set_editor_value to set the data model.setData(index, editorvalue, QtCore.Qt.EditRole) - diff --git a/pyffi/qskope/detail_model.py b/pyffi/qskope/detail_model.py index 552e080e5..88c2017f6 100644 --- a/pyffi/qskope/detail_model.py +++ b/pyffi/qskope/detail_model.py @@ -40,8 +40,9 @@ from PyQt4 import QtCore -from pyffi.utils.graph import EdgeFilter, GlobalNode from pyffi.qskope.detail_tree import DetailTreeItem, DetailTreeItemData +from pyffi.utils.graph import EdgeFilter, GlobalNode + # implementation references: # http://doc.trolltech.com/4.3/model-view-programming.html @@ -51,8 +52,8 @@ class DetailModel(QtCore.QAbstractItemModel): such as StructBase, Array, and BasicBase instances.""" # column definitions NUM_COLUMNS = 3 - COL_NAME = 0 - COL_TYPE = 1 + COL_NAME = 0 + COL_TYPE = 1 COL_VALUE = 2 # def __init__(self, parent = None, block = None, refnumber_dict = None): @@ -143,7 +144,7 @@ def data(self, index, role): def headerData(self, section, orientation, role): """Return header data.""" if (orientation == QtCore.Qt.Horizontal - and role == QtCore.Qt.DisplayRole): + and role == QtCore.Qt.DisplayRole): if section == self.COL_TYPE: return "Type" elif section == self.COL_NAME: @@ -225,7 +226,7 @@ def setData(self, index, value, role): node.set_editor_value(pyvalue) # tell everyone that the data has changed self.emit(QtCore.SIGNAL('dataChanged(QModelIndex, QModelIndex)'), - index, index) + index, index) return True # all other cases: failed return False diff --git a/pyffi/qskope/detail_tree.py b/pyffi/qskope/detail_tree.py index 767d59988..ade2a2a69 100644 --- a/pyffi/qskope/detail_tree.py +++ b/pyffi/qskope/detail_tree.py @@ -38,9 +38,9 @@ # -------------------------------------------------------------------------- - from pyffi.utils.graph import DetailNode, EdgeType, EdgeFilter + class DetailTreeItemData(object): """Stores all data used in the detail view. @@ -49,6 +49,7 @@ class DetailTreeItemData(object): :ivar name: The name of the node (this is usually not stored in the node). :type name: ``str`` """ + def __init__(self, node=None, name=None): if not isinstance(node, DetailNode): raise TypeError("node must be DetailNode instance") @@ -67,6 +68,7 @@ def display(self): def typename(self): return self.node.__class__.__name__ + class DetailTreeItem(object): """Stores all internal information to vizualize :class:`DetailNode`\ s in a tree view. @@ -82,6 +84,7 @@ class DetailTreeItem(object): :ivar edge_type: The type of edge from the parent of this node to itself. :type edge_type: :class:`EdgeType` """ + def __init__(self, data=None, parent=None, row=0, edge_type=EdgeType(), edge_filter=EdgeFilter()): """Initialize the node tree hierarchy from the given data.""" diff --git a/pyffi/qskope/global_model.py b/pyffi/qskope/global_model.py index 7ddfbf3dd..b467e1d1e 100644 --- a/pyffi/qskope/global_model.py +++ b/pyffi/qskope/global_model.py @@ -40,10 +40,11 @@ from collections import MutableMapping -from PyQt4 import QtGui, QtCore +from PyQt4 import QtCore -from pyffi.utils.graph import EdgeFilter from pyffi.qskope.global_tree import GlobalTreeItemData, GlobalTreeItem +from pyffi.utils.graph import EdgeFilter + # implementation references: # http://doc.trolltech.com/4.3/model-view-programming.html @@ -76,7 +77,7 @@ def __delitem__(self, key): # index becomes available self.free_indices.append(self.data[id(key)]) # remove it - del self.data[id(key)] + del self.data[id(key)] def clear(self): # all indices larger than the first element @@ -87,8 +88,10 @@ def clear(self): # override abstract functions which aren't used anyway def __len__(self): raise NotImplementedError() + def __setitem__(self): raise NotImplementedError() + def __iter__(self): raise NotImplementedError() @@ -107,7 +110,6 @@ def updateIndexDict(self, item): self.index_dict[item.data.node] for child_item in item.children: self.updateIndexDict(child_item) - def flags(self, index): """Return flags for the given index: all indices are enabled and @@ -147,7 +149,7 @@ def data(self, index, role): def headerData(self, section, orientation, role): """Return header data.""" if (orientation == QtCore.Qt.Horizontal - and role == QtCore.Qt.DisplayRole): + and role == QtCore.Qt.DisplayRole): if section == self.COL_TYPE: return "Type" elif section == self.COL_NAME: @@ -156,7 +158,7 @@ def headerData(self, section, orientation, role): return "#" return None - def rowCount(self, parent = QtCore.QModelIndex()): + def rowCount(self, parent=QtCore.QModelIndex()): """Calculate a row count for the given parent index.""" if not parent.isValid(): return 1 @@ -164,7 +166,7 @@ def rowCount(self, parent = QtCore.QModelIndex()): # get the parent child count = number of references return len(parent.internalPointer().children) - def columnCount(self, parent = QtCore.QModelIndex()): + def columnCount(self, parent=QtCore.QModelIndex()): """Return column count.""" # column count is constant everywhere return self.NUM_COLUMNS diff --git a/pyffi/qskope/global_tree.py b/pyffi/qskope/global_tree.py index 9a8507b41..3f6cd4ce0 100644 --- a/pyffi/qskope/global_tree.py +++ b/pyffi/qskope/global_tree.py @@ -38,15 +38,16 @@ # -------------------------------------------------------------------------- - from pyffi.utils.graph import GlobalNode, EdgeType, EdgeFilter + class GlobalTreeItemData(object): """Stores all data used in the detail view. :ivar node: The node of the item. :type node: :class:`DetailNode` """ + def __init__(self, node=None): if not isinstance(node, GlobalNode): raise TypeError("node must be GlobalNode instance") @@ -62,6 +63,7 @@ def display(self): def typename(self): return self.node.__class__.__name__ + class GlobalTreeItem(object): """Stores all internal information to vizualize L{GlobalNode}s in a tree view. @@ -79,6 +81,7 @@ class GlobalTreeItem(object): may form cycles (or not, this is format dependent). :type edge_type: ``int`` """ + def __init__(self, data=None, parent=None, row=0, edge_type=EdgeType(), edge_filter=EdgeFilter()): """Initialize the node tree hierarchy from the given data.""" diff --git a/pyffi/spells/__init__.py b/pyffi/spells/__init__.py index 6281a7e56..2cc69aebf 100644 --- a/pyffi/spells/__init__.py +++ b/pyffi/spells/__init__.py @@ -135,12 +135,9 @@ # -------------------------------------------------------------------------- -from configparser import ConfigParser -from copy import deepcopy +import concurrent.futures # ProcessPoolExecutor import gc - import logging # Logger -import concurrent.futures # ProcessPoolExecutor import multiprocessing # current_process, cpu_count import optparse import os # remove @@ -149,6 +146,8 @@ import shlex # shlex.split for parsing option lists in ini files import subprocess import tempfile +from configparser import ConfigParser +from copy import deepcopy import pyffi # for pyffi.__version__ import pyffi.object_models # pyffi.object_models.FileFormat @@ -458,6 +457,7 @@ def toastexit(cls, toaster): class SpellGroupSeriesBase(SpellGroupBase): """Base class for running spells in series.""" + def recurse(self, branch=None): """Recurse spells in series.""" for spell in self.spells: @@ -490,6 +490,7 @@ class SpellGroupParallelBase(SpellGroupBase): """Base class for running spells in parallel (that is, with only a single recursion in the tree). """ + def branchinspect(self, branch): """Inspect spells with :meth:`Spell.branchinspect` (not all checks are executed, only keeps going until a spell inspection returns ``True``). @@ -503,7 +504,7 @@ def branchentry(self, branch): def branchexit(self, branch): for spell in self.spells: - spell.branchexit(branch) + spell.branchexit(branch) def dataentry(self): """Look into every spell with :meth:`Spell.dataentry`.""" @@ -528,8 +529,8 @@ def SpellGroupSeries(*args): {"SPELLCLASSES": args, "SPELLNAME": " | ".join(spellclass.SPELLNAME for spellclass in args), - "READONLY": - all(spellclass.READONLY for spellclass in args)}) + "READONLY": + all(spellclass.READONLY for spellclass in args)}) def SpellGroupParallel(*args): @@ -539,8 +540,9 @@ def SpellGroupParallel(*args): {"SPELLCLASSES": args, "SPELLNAME": " & ".join(spellclass.SPELLNAME for spellclass in args), - "READONLY": - all(spellclass.READONLY for spellclass in args)}) + "READONLY": + all(spellclass.READONLY for spellclass in args)}) + class SpellApplyPatch(Spell): """A spell for applying a patch on files.""" @@ -611,6 +613,7 @@ def _toaster_job(args): class multiprocessing_fake_logger(fake_logger): """Simple logger which works well along with multiprocessing on all platforms.""" + @classmethod def _log(cls, level, level_str, msg): # do not actually log, just print @@ -635,6 +638,7 @@ def _log(cls, level, level_str, msg): # toast exit code toaster.spellclass.toastexit(toaster) + # CPU_COUNT is used for default number of jobs if multiprocessing: try: @@ -754,10 +758,10 @@ def _update_options(self): if self.options["createpatch"] and self.options["applypatch"]: raise ValueError( "options --diff and --patch are mutually exclusive") - if self.options["diffcmd"] and not(self.options["createpatch"]): + if self.options["diffcmd"] and not (self.options["createpatch"]): raise ValueError( "option --diff-cmd can only be used with --diff") - if self.options["patchcmd"] and not(self.options["applypatch"]): + if self.options["patchcmd"] and not (self.options["applypatch"]): raise ValueError( "option --patch-cmd can only be used with --patch") # multiprocessing available? @@ -832,7 +836,7 @@ def msgblockend(self, message=None): message, but if the message argument is ``None``, then no message is printed.""" self.indent -= 1 - if not(message is None): + if not (message is None): self.msg(message) def is_admissible_branch_class(self, branchtype): @@ -928,9 +932,9 @@ def cli(self): type="string", metavar="DESTDIR", help="write files to DESTDIR" - " instead of overwriting the original;" - " this is done by replacing SOURCEDIR by DESTDIR" - " in all source file paths") + " instead of overwriting the original;" + " this is done by replacing SOURCEDIR by DESTDIR" + " in all source file paths") parser.add_option( "--diff", dest="createpatch", action="store_true", @@ -942,7 +946,7 @@ def cli(self): type="string", metavar="CMD", help="use CMD as diff command; this command must accept precisely" - " 3 arguments: 'CMD oldfile newfile patchfile'.") + " 3 arguments: 'CMD oldfile newfile patchfile'.") parser.add_option( "--dry-run", dest="dryrun", action="store_true", @@ -1122,11 +1126,11 @@ def cli(self): return if not args: # no args: error if no top or no spells - if not(self.top and self.spellnames): + if not (self.top and self.spellnames): parser.error(errormessage_numargs) elif len(args) == 1: # single argument is top, error if no spells - if not(self.spellnames): + if not (self.spellnames): parser.error(errormessage_numargs) self.top = args[-1] else: @@ -1205,7 +1209,7 @@ def file_pools(chunksize): # is much more verbose by default pause = self.options.get("pause", False) - + # do not ask for confirmation (!= cli default) interactive = self.options.get("interactive", False) @@ -1238,7 +1242,8 @@ def file_pools(chunksize): if ((not self.spellclass.READONLY) and (not dryrun) and (not prefix) and (not createpatch) and interactive and (not suffix) and (not destdir)): - self.logger.warn("This script will modify your files, in particular if something goes wrong it may destroy them.") + self.logger.warn( + "This script will modify your files, in particular if something goes wrong it may destroy them.") self.logger.warn("Make a backup of your files before running this script.") if not input("Are you sure that you want to proceed? [n/y] ") in ("y", "Y"): self.logger.info("Script aborted by user.") @@ -1326,12 +1331,12 @@ def _toast(self, stream): # create spell instance spell = self.spellclass(toaster=self, data=data, stream=stream) - + # inspect the spell instance if spell._datainspect() and spell.datainspect(): # read the full file data.read(stream) - + # cast the spell on the data tree spell.recurse() @@ -1464,13 +1469,12 @@ def writepatch(self, stream, data): if not diffcmd: raise ValueError("must specify a diff command") - # create a temporary file that won't get deleted when closed self.options["suffix"] = ".tmp" newfile = self.spellclass.get_toast_stream(self, stream.name) try: data.write(newfile) - except: # not just Exception, also CTRL-C + except: # not just Exception, also CTRL-C self.msg("write failed!!!") raise # use external diff command @@ -1485,6 +1489,8 @@ def writepatch(self, stream, data): # delete temporary file os.remove(newfilename) + if __name__ == '__main__': import doctest + doctest.testmod(optionflags=doctest.ELLIPSIS) diff --git a/pyffi/spells/cgf/__init__.py b/pyffi/spells/cgf/__init__.py index c439917c7..2d2297fb4 100644 --- a/pyffi/spells/cgf/__init__.py +++ b/pyffi/spells/cgf/__init__.py @@ -47,6 +47,7 @@ import pyffi.spells from pyffi.formats.cgf import CgfFormat + class CgfSpell(pyffi.spells.Spell): """Base class for spells for cgf files.""" @@ -77,6 +78,6 @@ def inspectblocktype(self, block_type): """ return (block_type in self.data.chunk_table.get_chunk_types()) + class CgfToaster(pyffi.spells.Toaster): FILEFORMAT = CgfFormat - diff --git a/pyffi/spells/cgf/check.py b/pyffi/spells/cgf/check.py index 259724134..6bf1a4b9f 100644 --- a/pyffi/spells/cgf/check.py +++ b/pyffi/spells/cgf/check.py @@ -47,6 +47,7 @@ # XXX do something about this... from pyffi.utils.mathutils import * + class SpellReadWrite(CgfSpell): """Like the original read-write spell, but with additional file size check.""" @@ -81,13 +82,14 @@ def dataentry(self): # spell is finished: prevent recursing into the tree return False + class SpellCheckTangentSpace(CgfSpell): """This spell checks the tangent space calculation. Only useful for debugging. """ SPELLNAME = "check_tangentspace" - SENSITIVITY = 0.1 # admissible float error (relative to one) + SENSITIVITY = 0.1 # admissible float error (relative to one) def datainspect(self): return self.inspectblocktype(CgfFormat.MeshChunk) @@ -96,7 +98,7 @@ def branchinspect(self, branch): return isinstance(branch, (CgfFormat.MeshChunk, CgfFormat.NodeChunk)) def branchentry(self, branch): - if not isinstance(branch, CgfFormat.MeshChunk): + if not isinstance(branch, CgfFormat.MeshChunk): # keep recursing return True @@ -113,8 +115,8 @@ def branchentry(self, branch): self.toaster.msgblockbegin("validating and checking old with new") for norm, oldtangent, newtangent in zip(branch.normals_data.normals, - oldtangents, newtangents): - #self.toaster.msg("*** %s ***" % (norm,)) + oldtangents, newtangents): + # self.toaster.msg("*** %s ***" % (norm,)) # check old norm = (norm.x, norm.y, norm.z) tan = tuple(x / 32767.0 @@ -149,14 +151,14 @@ def branchentry(self, branch): self.toaster.logger.warn("%s %s" % (tan, bin)) self.toaster.logger.warn("(error is %f)" % abs(crossnorm - 1)) - cross = vecscalarMul(cross, 1.0/crossnorm) + cross = vecscalarMul(cross, 1.0 / crossnorm) if vecDistance(norm, cross) > self.SENSITIVITY: self.toaster.logger.warn( "norm not cross product of tangent and binormal") - #self.toaster.logger.warn("norm = %s" % (norm,)) - #self.toaster.logger.warn("tan = %s" % (tan,)) - #self.toaster.logger.warn("bin = %s" % (bin,)) - #self.toaster.logger.warn("tan bin cross prod = %s" % (cross,)) + # self.toaster.logger.warn("norm = %s" % (norm,)) + # self.toaster.logger.warn("tan = %s" % (tan,)) + # self.toaster.logger.warn("bin = %s" % (bin,)) + # self.toaster.logger.warn("tan bin cross prod = %s" % (cross,)) self.toaster.logger.warn( "(error is %f)" % vecDistance(norm, cross)) @@ -179,6 +181,7 @@ def branchentry(self, branch): self.toaster.msgblockend() + class SpellCheckHasVertexColors(CgfSpell): """This spell checks if a model has vertex colors. Only useful for debugging. diff --git a/pyffi/spells/cgf/dump.py b/pyffi/spells/cgf/dump.py index 06a9a2a8a..4494d6b25 100644 --- a/pyffi/spells/cgf/dump.py +++ b/pyffi/spells/cgf/dump.py @@ -39,15 +39,17 @@ # ***** END LICENSE BLOCK ***** # -------------------------------------------------------------------------- -from pyffi.formats.cgf import CgfFormat import pyffi.spells.cgf +from pyffi.formats.cgf import CgfFormat + def dumpBlock(chunk): # XXX figure out how to get the version - #print('chunk %3i (%s version 0x%04X)' + # print('chunk %3i (%s version 0x%04X)' # % (i, chunk.__class__.__name__, version)) return str(chunk) + class SpellDumpAll(pyffi.spells.cgf.CgfSpell): """Dump the whole file.""" diff --git a/pyffi/spells/check.py b/pyffi/spells/check.py index 138b2193a..f0b58e729 100644 --- a/pyffi/spells/check.py +++ b/pyffi/spells/check.py @@ -42,6 +42,7 @@ from pyffi.spells import Spell + class SpellNop(Spell): """A spell which really does nothing. For testing.""" @@ -51,6 +52,7 @@ class SpellNop(Spell): def datainspect(self): return False + class SpellRead(Spell): """A spell which does nothing, besides reading the file.""" @@ -61,6 +63,7 @@ def dataentry(self): # prevent recursing into the tree return False + class SpellReadWrite(SpellRead): """A spell which writes the data to a temporary file (essentially, it is like L{SpellRead} but it forces --dry-run and sets READONLY to @@ -69,7 +72,7 @@ class SpellReadWrite(SpellRead): SPELLNAME = "check_readwrite" READONLY = False - changed = True # we want it to write the file back + changed = True # we want it to write the file back @classmethod def toastentry(cls, toaster): @@ -77,4 +80,3 @@ def toastentry(cls, toaster): toaster.options["dryrun"] = True # the spell always acts return True - diff --git a/pyffi/spells/dds.py b/pyffi/spells/dds.py index c5dc48bd9..9fa51d06a 100644 --- a/pyffi/spells/dds.py +++ b/pyffi/spells/dds.py @@ -47,9 +47,11 @@ import pyffi.spells from pyffi.formats.dds import DdsFormat + class DdsSpell(pyffi.spells.Spell): """Base class for spells for dds files.""" pass + class DdsToaster(pyffi.spells.Toaster): FILEFORMAT = DdsFormat diff --git a/pyffi/spells/nif/__init__.py b/pyffi/spells/nif/__init__.py index 038739841..f97a98ec6 100644 --- a/pyffi/spells/nif/__init__.py +++ b/pyffi/spells/nif/__init__.py @@ -120,7 +120,7 @@ def dataentry(self): if isinstance(branch, NifFormat.NiGeometry): if branch.skin_instance: skelroot = branch.skin_instance.skeleton_root - if skelroot and not(id(skelroot) in self._skelroots): + if skelroot and not (id(skelroot) in self._skelroots): self._skelroots.add(id(skelroot)) # only apply spell if there are skeleton roots if self._skelroots: @@ -131,7 +131,7 @@ def dataentry(self): def branchinspect(self, branch): # only inspect the NiNode branch return isinstance(branch, NifFormat.NiNode) - + def branchentry(self, branch): if id(branch) in self._skelroots: self.skelrootentry(branch) diff --git a/pyffi/spells/nif/check.py b/pyffi/spells/nif/check.py index 61ebbdac8..6d54a9a7a 100644 --- a/pyffi/spells/nif/check.py +++ b/pyffi/spells/nif/check.py @@ -40,13 +40,14 @@ # -------------------------------------------------------------------------- +import tempfile from contextlib import closing from itertools import repeat -import tempfile -from pyffi.formats.nif import NifFormat import pyffi.spells.nif -import pyffi.utils.tristrip # for check_tristrip +import pyffi.utils.tristrip # for check_tristrip +from pyffi.formats.nif import NifFormat + class SpellReadWrite(pyffi.spells.nif.NifSpell): """Like the original read-write spell, but with additional file size @@ -88,15 +89,17 @@ def dataentry(self): f_debug = open("debug.nif", "wb") f_debug.write(f_tmp.read(-1)) f_debug.close() - raise Exception('write check failed: file sizes differ (written file saved as debug.nif for inspection)') + raise Exception( + 'write check failed: file sizes differ (written file saved as debug.nif for inspection)') finally: f_tmp.close() - + self.toaster.msgblockend() # spell is finished: prevent recursing into the tree return False + class SpellNodeNamesByFlag(pyffi.spells.nif.NifSpell): """This spell goes over all NIF files, and at the end, it gives a summary of which node names where used with particular flags.""" @@ -130,6 +133,7 @@ def branchentry(self, branch): else: return False + class SpellCompareSkinData(pyffi.spells.nif.NifSpell): """This spell compares skinning data with a reference nif.""" @@ -139,15 +143,15 @@ class SpellCompareSkinData(pyffi.spells.nif.NifSpell): @staticmethod def are_vectors_equal(oldvec, newvec, tolerance=0.01): - return (max([abs(x-y) - for (x,y) in zip(oldvec.as_list(), newvec.as_list())]) + return (max([abs(x - y) + for (x, y) in zip(oldvec.as_list(), newvec.as_list())]) < tolerance) @staticmethod def are_matrices_equal(oldmat, newmat, tolerance=0.01): - return (max([max([abs(x-y) - for (x,y) in zip(oldrow, newrow)]) - for (oldrow, newrow) in zip(oldmat.as_list(), + return (max([max([abs(x - y) + for (x, y) in zip(oldrow, newrow)]) + for (oldrow, newrow) in zip(oldmat.as_list(), newmat.as_list())]) < tolerance) @@ -169,7 +173,7 @@ def toastentry(cls, toaster): toaster.refbonedata = [] for refgeom in toaster.refdata.get_global_iterator(): if (isinstance(refgeom, NifFormat.NiGeometry) - and refgeom.skin_instance and refgeom.skin_instance.data): + and refgeom.skin_instance and refgeom.skin_instance.data): toaster.refbonedata += list(zip( repeat(refgeom.skin_instance.skeleton_root), repeat(refgeom.skin_instance.data), @@ -187,14 +191,14 @@ def branchinspect(self, branch): def branchentry(self, branch): if (isinstance(branch, NifFormat.NiGeometry) - and branch.skin_instance and branch.skin_instance.data): + and branch.skin_instance and branch.skin_instance.data): for skelroot, skeldata, bonenode, bonedata in zip( - repeat(branch.skin_instance.skeleton_root), - repeat(branch.skin_instance.data), - branch.skin_instance.bones, - branch.skin_instance.data.bone_list): + repeat(branch.skin_instance.skeleton_root), + repeat(branch.skin_instance.data), + branch.skin_instance.bones, + branch.skin_instance.data.bone_list): for refskelroot, refskeldata, refbonenode, refbonedata \ - in self.toaster.refbonedata: + in self.toaster.refbonedata: if bonenode.name == refbonenode.name: self.toaster.msgblockbegin("checking bone %s" % bonenode.name) @@ -217,26 +221,26 @@ def branchentry(self, branch): # can we find skeleton root of data in reference # data? for refskelroot_branch \ - in self.toaster.refdata.get_global_iterator(): + in self.toaster.refdata.get_global_iterator(): if not isinstance(refskelroot_branch, NifFormat.NiAVObject): continue if skelroot.name == refskelroot_branch.name: # yes! found! - #self.toaster.msg( + # self.toaster.msg( # "found alternative in reference nif") branchtransform_extra = \ refskelroot_branch.get_transform(refskelroot).get_inverse() break else: for skelroot_ref \ - in self.data.get_global_iterator(): + in self.data.get_global_iterator(): if not isinstance(skelroot_ref, NifFormat.NiAVObject): continue if refskelroot.name == skelroot_ref.name: # yes! found! - #self.toaster.msg( + # self.toaster.msg( # "found alternative in nif") branchtransform_extra = \ skelroot_ref.get_transform(skelroot) @@ -252,21 +256,21 @@ def branchentry(self, branch): # to a vertex in the reference geometry in the position # of the reference bone reftransform = ( - refbonedata.get_transform() - * refbonenode.get_transform(refskelroot) - * refskeldata.get_transform()) + refbonedata.get_transform() + * refbonenode.get_transform(refskelroot) + * refskeldata.get_transform()) # calculate total transform matrix that would be applied # to a vertex in this branch in the position of the # reference bone branchtransform = ( - bonedata.get_transform() - * refbonenode.get_transform(refskelroot) # NOT a typo - * skeldata.get_transform() - * branchtransform_extra) # skelroot differences + bonedata.get_transform() + * refbonenode.get_transform(refskelroot) # NOT a typo + * skeldata.get_transform() + * branchtransform_extra) # skelroot differences # compare if not self.are_matrices_equal(reftransform, branchtransform): - #raise ValueError( + # raise ValueError( self.toaster.msg( "transform mismatch\n%s\n!=\n%s\n" % (reftransform, branchtransform)) @@ -278,6 +282,7 @@ def branchentry(self, branch): # keep iterating return True + class SpellCheckBhkBodyCenter(pyffi.spells.nif.NifSpell): """Recalculate the center of mass and inertia matrix, compare them to the originals, and report accordingly. @@ -306,8 +311,8 @@ def branchentry(self, branch): self.toaster.msg("recalculating...") branch.update_mass_center_inertia(mass=branch.mass) - #self.toaster.msg("checking mass...") - #if mass != branch.mass: + # self.toaster.msg("checking mass...") + # if mass != branch.mass: # #raise ValueError("center does not match; original %s, calculated %s"%(center, branch.center)) # self.toaster.logger.warn("warning: mass does not match; original %s, calculated %s"%(mass, branch.mass)) # # adapt calculated inertia matrix with observed mass @@ -315,20 +320,20 @@ def branchentry(self, branch): # correction = mass / branch.mass # for i in range(12): # branch.inertia[i] *= correction - #else: + # else: # self.toaster.msg("perfect match!") self.toaster.msg("checking center...") report = {} if center != branch.center: - #raise ValueError("center does not match; original %s, calculated %s"%(center, branch.center)) + # raise ValueError("center does not match; original %s, calculated %s"%(center, branch.center)) self.toaster.logger.warn( "center does not match; original %s, calculated %s" % (center, branch.center)) report["center"] = { "orig": center.as_tuple(), "calc": branch.center.as_tuple(), - } + } self.toaster.msg("checking inertia...") @@ -336,20 +341,21 @@ def branchentry(self, branch): if (max(max(abs(x - y) for x, y in zip(row1, row2)) for row1, row2 in zip(inertia.as_list(), branch.inertia.as_list())) - > 0.1 * scale): - #raise ValueError("center does not match; original %s, calculated %s"%(center, branch.center)) + > 0.1 * scale): + # raise ValueError("center does not match; original %s, calculated %s"%(center, branch.center)) self.toaster.logger.warn( "inertia does not match:\n\noriginal\n%s\n\ncalculated\n%s\n" % (inertia, branch.inertia)) report["inertia"] = { "orig": inertia.as_tuple(), "calc": branch.inertia.as_tuple(), - } + } if report: self.append_report(report) # stop recursing return False + class SpellCheckCenterRadius(pyffi.spells.nif.NifSpell): """Recalculate the center and radius, compare them to the originals, and report mismatches. @@ -396,10 +402,10 @@ def branchentry(self, branch): maxr = maxr ** 0.5 if maxr > 1.01 * radius + 0.01: - #raise ValueError( + # raise ValueError( self.toaster.logger.warn( - "not all vertices inside bounding sphere (vertex %s, error %s)" - % (maxv, abs(maxr - radius))) + "not all vertices inside bounding sphere (vertex %s, error %s)" + % (maxv, abs(maxr - radius))) report["vertex_outside"] = maxv.as_tuple() self.toaster.msg("recalculating bounding sphere") @@ -407,26 +413,27 @@ def branchentry(self, branch): self.toaster.msg("comparing old and new spheres") if center != branch.center: - self.toaster.logger.warn( - "center does not match; original %s, calculated %s" - % (center, branch.center)) - report["center"] = { - "orig": center.as_tuple(), - "calc": branch.center.as_tuple(), - } + self.toaster.logger.warn( + "center does not match; original %s, calculated %s" + % (center, branch.center)) + report["center"] = { + "orig": center.as_tuple(), + "calc": branch.center.as_tuple(), + } if abs(radius - branch.radius) > NifFormat.EPSILON: - self.toaster.logger.warn( - "radius does not match; original %s, calculated %s" - % (radius, branch.radius)) - report["radius"] = { - "orig": radius, - "calc": branch.radius, - } + self.toaster.logger.warn( + "radius does not match; original %s, calculated %s" + % (radius, branch.radius)) + report["radius"] = { + "orig": radius, + "calc": branch.radius, + } if report: self.append_report(report) # stop recursing return False + class SpellCheckSkinCenterRadius(pyffi.spells.nif.NifSpell): """Recalculate the skindata center and radius for each bone, compare them to the originals, and report mismatches. @@ -442,7 +449,7 @@ def branchinspect(self, branch): NifFormat.NiGeometry)) def branchentry(self, branch): - if not(isinstance(branch, NifFormat.NiGeometry) and branch.is_skin()): + if not (isinstance(branch, NifFormat.NiGeometry) and branch.is_skin()): # keep recursing return True else: @@ -464,7 +471,7 @@ def branchentry(self, branch): % (branch.skin_instance.bones[i].name, center[i], skindatablock.bounding_sphere_offset)) if abs(radius[i] - skindatablock.bounding_sphere_radius) \ - > NifFormat.EPSILON: + > NifFormat.EPSILON: self.toaster.logger.error( "%s radius does not match; original %s, calculated %s" % (branch.skin_instance.bones[i].name, @@ -472,6 +479,7 @@ def branchentry(self, branch): # stop recursing return False + class SpellCheckConvexVerticesShape(pyffi.spells.nif.NifSpell): """This test checks whether each vertex is the intersection of at least three planes. @@ -503,7 +511,7 @@ def branchentry(self, branch): n.x = n4.x n.y = n4.y n.z = n4.z - d = n4.w + d = n4.w if abs(v * n + d) < 0.01: num_intersect += 1 if num_intersect == 0: @@ -518,6 +526,7 @@ def branchentry(self, branch): # stop recursing return False + class SpellCheckMopp(pyffi.spells.nif.NifSpell): """Parse and dump mopp trees, and check their validity: @@ -599,18 +608,19 @@ def branchentry(self, branch): self.toaster.logger.debug([mopp[k] for k in range(i, min(branch.mopp_data_size, i + 10))]) error = True - #if error: + # if error: # raise ValueError("mopp parsing failed") # stop recursing return False + class SpellCheckTangentSpace(pyffi.spells.nif.NifSpell): """Check and recalculate the tangent space, compare them to the originals, and report accordingly. """ SPELLNAME = 'check_tangentspace' - PRECISION = 0.3 #: Difference between values worth warning about. + PRECISION = 0.3 #: Difference between values worth warning about. def datainspect(self): return self.inspectblocktype(NifFormat.NiTriBasedGeom) @@ -629,7 +639,7 @@ def branchentry(self, branch): # no tangent space present return False self.toaster.msg("checking tangent space") - oldspace = [] # we will store the old tangent space here + oldspace = [] # we will store the old tangent space here for i, (n, t, b) in enumerate(tangentspace): oldspace.append(n.as_list() + t.as_list() + b.as_list()) if abs(n * n - 1) > NifFormat.EPSILON: @@ -649,16 +659,16 @@ def branchentry(self, branch): self.toaster.logger.warn( 'non-ortogonal tangent space at vertex %i' % i) self.toaster.logger.warn( - 'n * t = %s * %s = %f'%(n, t, n * t)) + 'n * t = %s * %s = %f' % (n, t, n * t)) self.toaster.logger.warn( - 'n * b = %s * %s = %f'%(n, b, n * b)) + 'n * b = %s * %s = %f' % (n, b, n * b)) self.toaster.logger.warn( - 't * b = %s * %s = %f'%(t, b, t * b)) + 't * b = %s * %s = %f' % (t, b, t * b)) self.toaster.logger.warn( 'volume = %f' % volume) # recalculate the tangent space branch.update_tangent_space() - newspace = [] # we will store the old tangent space here + newspace = [] # we will store the old tangent space here for i, (n, t, b) in enumerate(branch.get_tangent_space()): newspace.append(n.as_list() + t.as_list() + b.as_list()) # check if old matches new @@ -676,9 +686,10 @@ def branchentry(self, branch): self.toaster.logger.warn('new: %s' % new[3:6]) self.toaster.logger.warn('new: %s' % new[6:9]) break - + # don't recurse further - return False + return False + class SpellCheckTriStrip(pyffi.spells.nif.NifSpell): """Run the stripifier on all triangles from NIF files. This spell is also @@ -793,6 +804,7 @@ def report_strip_statistics(triangles, strips): unstitchedstrips = pyffi.utils.tristrip.unstitch_strip(stitchedstrip) pyffi.utils.tristrip._check_strips(triangles, unstitchedstrips) + class SpellCheckVersion(pyffi.spells.nif.NifSpell): """Checks all versions used by the files (without reading the full files). """ @@ -800,9 +812,9 @@ class SpellCheckVersion(pyffi.spells.nif.NifSpell): @classmethod def toastentry(cls, toaster): - toaster.versions = {} # counts number of nifs with version - toaster.user_versions = {} # tracks used user version's per version - toaster.user_version_2s = {} # tracks used user version2's per version + toaster.versions = {} # counts number of nifs with version + toaster.user_versions = {} # tracks used user version's per version + toaster.user_version_2s = {} # tracks used user version2's per version return True @classmethod @@ -835,6 +847,7 @@ def datainspect(self): self.toaster.user_version_2s[version].append(user_version_2) return False + class SpellCheckMaterialEmissiveValue(pyffi.spells.nif.NifSpell): """Check (and warn) about potentially bad material emissive values.""" @@ -855,7 +868,7 @@ def branchinspect(self, branch): # only inspect the NiAVObject branch, and material properties return isinstance(branch, (NifFormat.NiAVObject, NifFormat.NiMaterialProperty)) - + def branchentry(self, branch): if isinstance(branch, NifFormat.NiMaterialProperty): # check if any emissive values exceeds usual values @@ -876,6 +889,7 @@ def branchentry(self, branch): # keep recursing into children return True + class SpellCheckTriangles(pyffi.spells.nif.NifSpell): """Base class for spells which need to check all triangles.""" @@ -908,6 +922,7 @@ def branchentry(self, branch): def toastexit(cls, toaster): toaster.msg("found {0} geometries".format(len(toaster.geometries))) + try: import numpy import scipy.optimize @@ -915,15 +930,16 @@ def toastexit(cls, toaster): numpy = None scipy = None + class SpellCheckTrianglesATVR(SpellCheckTriangles): """Find optimal parameters for vertex cache algorithm by simulated annealing. """ SPELLNAME = "check_triangles_atvr" - INITIAL = [1.5, 0.75, 2.0, 0.5] - LOWER = [0.01, -10.0, 0.1, 0.01] - UPPER = [5.0, 1.0, 10.0, 5.0] + INITIAL = [1.5, 0.75, 2.0, 0.5] + LOWER = [0.01, -10.0, 0.1, 0.01] + UPPER = [5.0, 1.0, 10.0, 5.0] @classmethod def toastentry(cls, toaster): @@ -943,8 +959,8 @@ def get_atvr(cls, toaster, *args): # check bounds if any(value < lower or value > upper for (lower, value, upper) in zip( - cls.LOWER, args, cls.UPPER)): - return 1e30 # infinity + cls.LOWER, args, cls.UPPER)): + return 1e30 # infinity cache_decay_power, last_tri_score, valence_boost_scale, valence_boost_power = args vertex_score = pyffi.utils.vertex_cache.VertexScore() vertex_score.CACHE_DECAY_POWER = cache_decay_power @@ -953,8 +969,8 @@ def get_atvr(cls, toaster, *args): vertex_score.VALENCE_BOOST_POWER = valence_boost_power vertex_score.precalculate() print("{0:.3f} {1:.3f} {2:.3f} {3:.3f}".format( - cache_decay_power, last_tri_score, - valence_boost_scale, valence_boost_power)) + cache_decay_power, last_tri_score, + valence_boost_scale, valence_boost_power)) atvr = [] for triangles in toaster.geometries: mesh = pyffi.utils.vertex_cache.Mesh(triangles, vertex_score) @@ -974,10 +990,10 @@ def toastexit(cls, toaster): full_output=True, lower=numpy.array(cls.LOWER), upper=numpy.array(cls.UPPER), - #maxeval=10, - #maxaccept=10, - #maxiter=10, - #dwell=10, - #feps=0.1, - ) + # maxeval=10, + # maxaccept=10, + # maxiter=10, + # dwell=10, + # feps=0.1, + ) toaster.msg(str(result)) diff --git a/pyffi/spells/nif/dump.py b/pyffi/spells/nif/dump.py index 599a1a9f6..19a7003f8 100644 --- a/pyffi/spells/nif/dump.py +++ b/pyffi/spells/nif/dump.py @@ -41,21 +41,22 @@ import codecs import http.server -import ntpath # explicit windows style path manipulations +import ntpath # explicit windows style path manipulations import os import tempfile -import types import webbrowser -from xml.sax.saxutils import escape # for htmlreport +from xml.sax.saxutils import escape # for htmlreport -from pyffi.formats.nif import NifFormat -from pyffi.spells.nif import NifSpell import pyffi.object_models.xml.array import pyffi.object_models.xml.struct_ +from pyffi.formats.nif import NifFormat +from pyffi.spells.nif import NifSpell + def tohex(value, nbytes=4): """Improved version of hex.""" - return ("0x%%0%dX" % (2*nbytes)) % (int(str(value)) & (2**(nbytes*8)-1)) + return ("0x%%0%dX" % (2 * nbytes)) % (int(str(value)) & (2 ** (nbytes * 8) - 1)) + def dumpArray(arr): """Format an array. @@ -84,6 +85,7 @@ def dumpArray(arr): break return text if text else "None" + def dumpBlock(block): """Return formatted string for block without following references. @@ -105,6 +107,7 @@ def dumpBlock(block): text = '* %s : \n' % attr.name return text + def dumpAttr(attr): """Format an attribute. @@ -119,7 +122,7 @@ def dumpAttr(attr): return "<%s:%s:0x%08X>" % (ref.__class__.__name__, ref.name, id(attr)) else: - return "<%s:0x%08X>" % (ref.__class__.__name__,id(attr)) + return "<%s:0x%08X>" % (ref.__class__.__name__, id(attr)) else: return "" elif isinstance(attr, list): @@ -136,7 +139,8 @@ def dumpAttr(attr): return tohex(attr, 4) else: return str(attr) - + + class SpellDumpAll(NifSpell): """Dump the whole NIF file.""" @@ -148,6 +152,7 @@ def branchentry(self, branch): # continue recursion return True + class SpellDumpTex(NifSpell): """Dump the texture and material info of all geometries.""" @@ -194,20 +199,21 @@ def branchentry(self, branch): elif isinstance(branch, NifFormat.BSShaderTextureSet): textures = [path.decode() for path in branch.textures if path.decode() != ''] if len(textures) > 0: - for n, tex in enumerate (textures): + for n, tex in enumerate(textures): self.toaster.msg('%i: %s' % (n, tex)) - else: + else: self.toaster.msg('BSShaderTextureSet has no Textures') return False else: # keep looking for blocks of interest return True + class SpellHtmlReport(NifSpell): """Make a html report of selected blocks.""" SPELLNAME = "dump_htmlreport" - ENTITIES = { "\n": "
" } + ENTITIES = {"\n": "
"} @classmethod def toastentry(cls, toaster): @@ -220,7 +226,7 @@ def _branchinspect(self, branch): # enter every branch # (the base method is called in branch entry) return True - + def branchentry(self, branch): # check if this branch must be checked, if not, recurse further if not NifSpell._branchinspect(self, branch): @@ -230,15 +236,15 @@ def branchentry(self, branch): if not reports: # start a new report for this block type row = "" - row += "%s" % "file" - row += "%s" % "id" + row += "%s" % "file" + row += "%s" % "id" for attr in branch._get_filtered_attribute_list(data=self.data): row += ("%s" % escape(attr.displayname, self.ENTITIES)) row += "" reports = [row] self.toaster.reports_per_blocktype[blocktype] = reports - + row = "" row += "%s" % escape(self.stream.name) row += "%s" % escape("0x%08X" % id(branch), self.ENTITIES) @@ -256,10 +262,10 @@ def branchentry(self, branch): def toastexit(cls, toaster): if toaster.reports_per_blocktype: rows = [] - rows.append( "" ) - rows.append( "Report" ) - rows.append( "" ) - rows.append( "" ) + rows.append("") + rows.append("Report") + rows.append("") + rows.append("") for blocktype, reports in toaster.reports_per_blocktype.items(): rows.append("

%s

" % blocktype) @@ -280,16 +286,18 @@ def browser(cls, htmlstr): Instantiates a trivial http server and calls webbrowser.open with a URL to retrieve html from that server. - """ + """ + class RequestHandler(http.server.BaseHTTPRequestHandler): def do_GET(self): - bufferSize = 1024*1024 + bufferSize = 1024 * 1024 for i in range(0, len(htmlstr), bufferSize): - self.wfile.write(htmlstr[i:i+bufferSize]) + self.wfile.write(htmlstr[i:i + bufferSize]) server = http.server.HTTPServer(('127.0.0.1', 0), RequestHandler) webbrowser.open('http://127.0.0.1:%s' % server.server_port) - server.handle_request() + server.handle_request() + class SpellExportPixelData(NifSpell): """Export embedded images as DDS files. If the toaster's @@ -326,7 +334,7 @@ def branchinspect(self, branch): def branchentry(self, branch): if (isinstance(branch, NifFormat.NiSourceTexture) - and branch.pixel_data and branch.file_name): + and branch.pixel_data and branch.file_name): self.save_as_dds(branch.pixel_data, branch.file_name) return False elif isinstance(branch, NifFormat.ATextureRenderData): @@ -372,8 +380,8 @@ def get_pixeldata_head_root(texture_filename): # XXX following is disabled because not all textures in Bully # XXX actually have this form; use "-a textures" for this game # make relative path for Bully SE - #tmp1, tmp2, tmp3 = head.partition("\\bully\\temp\\export\\") - #if tmp2: + # tmp1, tmp2, tmp3 = head.partition("\\bully\\temp\\export\\") + # if tmp2: # head = tmp3 # for linux: convert backslash to forward slash head = head.replace("\\", "/") @@ -416,6 +424,7 @@ def save_as_dds(self, pixeldata, texture_filename): if stream: stream.close() + class SpellDumpPython(NifSpell): """Convert a nif into python code.""" @@ -445,15 +454,13 @@ def print_instance(self, name, _value, default=None): if _value._count2 is None: for i, elem in enumerate(list.__iter__(_value)): if self.print_instance( - "%s[%i]" % (name, i), elem): - + "%s[%i]" % (name, i), elem): result = True else: for i, elemlist in enumerate(list.__iter__(_value)): for j, elem in enumerate(list.__iter__(elemlist)): if self.print_instance( - "%s[%i][%i]" % (name, i, j), elem): - + "%s[%i][%i]" % (name, i, j), elem): result = True return result elif isinstance(_value, pyffi.object_models.xml.basic.BasicBase): diff --git a/pyffi/spells/nif/fix.py b/pyffi/spells/nif/fix.py index 667492578..ad85d95dc 100644 --- a/pyffi/spells/nif/fix.py +++ b/pyffi/spells/nif/fix.py @@ -122,10 +122,10 @@ # ***** END LICENSE BLOCK ***** # -------------------------------------------------------------------------- +import pyffi.spells.nif.check # recycle checking spells for update spells from pyffi.formats.nif import NifFormat from pyffi.spells.nif import NifSpell -import pyffi.spells.nif -import pyffi.spells.nif.check # recycle checking spells for update spells + class SpellDelTangentSpace(NifSpell): """Delete tangentspace if it is present.""" @@ -146,7 +146,7 @@ def branchentry(self, branch): for extra in branch.get_extra_datas(): if isinstance(extra, NifFormat.NiBinaryExtraData): if (extra.name == - b'Tangent space (binormal & tangent vectors)'): + b'Tangent space (binormal & tangent vectors)'): self.toaster.msg("removing tangent space block") branch.remove_extra_data(extra) self.changed = True @@ -155,6 +155,7 @@ def branchentry(self, branch): # recurse further return True + class SpellAddTangentSpace(NifSpell): """Add tangentspace if none is present.""" @@ -174,7 +175,7 @@ def branchentry(self, branch): for extra in branch.get_extra_datas(): if isinstance(extra, NifFormat.NiBinaryExtraData): if (extra.name == - b'Tangent space (binormal & tangent vectors)'): + b'Tangent space (binormal & tangent vectors)'): # tangent space found, done! return False # no tangent space found @@ -187,6 +188,7 @@ def branchentry(self, branch): # recurse further return True + class SpellFFVT3RSkinPartition(NifSpell): """Create or update skin partition, with settings that work for Freedom Force vs. The 3rd Reich.""" @@ -217,6 +219,7 @@ def branchentry(self, branch): # recurse further return True + class SpellParseTexturePath(NifSpell): """Base class for spells which must parse all texture paths, with hook for texture path substitution. @@ -241,7 +244,6 @@ def datainspect(self): return True else: return False - def branchinspect(self, branch): # only inspect the NiAVObject branch, texturing properties and source @@ -251,19 +253,20 @@ def branchinspect(self, branch): NifFormat.NiSourceTexture, NifFormat.BSLightingShaderProperty, NifFormat.BSShaderTextureSet)) - + def branchentry(self, branch): if isinstance(branch, NifFormat.NiSourceTexture): branch.file_name = self.substitute(branch.file_name) return False elif isinstance(branch, NifFormat.BSShaderTextureSet): - for n, tex in enumerate (branch.textures): + for n, tex in enumerate(branch.textures): branch.textures[n] = self.substitute(tex) return False else: return True + class SpellFixTexturePath(SpellParseTexturePath): r"""Fix the texture path. Transforms 0x0a into \n and 0x0d into \r. This fixes a bug in nifs saved with older versions of @@ -275,12 +278,12 @@ class SpellFixTexturePath(SpellParseTexturePath): """ SPELLNAME = "fix_texturepath" - + def substitute(self, old_path): new_path = old_path new_path = new_path.replace(b'\n', b'\\n') new_path = new_path.replace(b'\r', b'\\r') - new_path = new_path.replace(b'/', b'\\') + new_path = new_path.replace(b'/', b'\\') # baphometal found some nifs that use double slashes # this causes textures not to show, so here we convert them # back to single slashes @@ -296,6 +299,7 @@ def substitute(self, old_path): self.changed = True return new_path + # the next spell solves issue #2065018, MiddleWolfRug01.NIF class SpellDetachHavokTriStripsData(NifSpell): """For NiTriStrips if their NiTriStripsData also occurs in a @@ -329,20 +333,21 @@ def branchinspect(self, branch): return isinstance(branch, (NifFormat.NiAVObject, NifFormat.bhkCollisionObject, NifFormat.bhkRefObject)) - + def branchentry(self, branch): if isinstance(branch, NifFormat.bhkNiTriStripsShape): for i, data in enumerate(branch.strips_data): if data in [otherbranch.data for otherbranch in self.nitristrips]: - # detach! - self.toaster.msg("detaching havok data") - branch.strips_data[i] = NifFormat.NiTriStripsData().deepcopy(data) - self.changed = True + # detach! + self.toaster.msg("detaching havok data") + branch.strips_data[i] = NifFormat.NiTriStripsData().deepcopy(data) + self.changed = True return False else: return True + class SpellClampMaterialAlpha(NifSpell): """Clamp corrupted material alpha values.""" @@ -357,7 +362,7 @@ def branchinspect(self, branch): # only inspect the NiAVObject branch, and material properties return isinstance(branch, (NifFormat.NiAVObject, NifFormat.NiMaterialProperty)) - + def branchentry(self, branch): if isinstance(branch, NifFormat.NiMaterialProperty): # check if alpha exceeds usual values @@ -379,6 +384,7 @@ def branchentry(self, branch): # keep recursing into children return True + class SpellSendGeometriesToBindPosition(pyffi.spells.nif.SpellVisitSkeletonRoots): """Transform skinned geometries so similar bones have the same bone data, and hence, the same bind position, over all geometries. @@ -391,6 +397,7 @@ def skelrootentry(self, branch): branch.send_geometries_to_bind_position() self.changed = True + class SpellSendDetachedGeometriesToNodePosition(pyffi.spells.nif.SpellVisitSkeletonRoots): """Transform geometries so each set of geometries that shares bones is aligned with the transform of the root bone of that set. @@ -403,6 +410,7 @@ def skelrootentry(self, branch): branch.send_detached_geometries_to_node_position() self.changed = True + class SpellSendBonesToBindPosition(pyffi.spells.nif.SpellVisitSkeletonRoots): """Transform bones so bone data agrees with bone transforms, and hence, all bones are in bind position. @@ -415,6 +423,7 @@ def skelrootentry(self, branch): branch.send_bones_to_bind_position() self.changed = True + class SpellMergeSkeletonRoots(NifSpell): """Merges skeleton roots in the NIF file so that no skeleton root has another skeleton root as child. Warns if merge is impossible (this happens @@ -459,7 +468,7 @@ def dataentry(self): def branchinspect(self, branch): # only inspect the NiNode branch return isinstance(branch, NifFormat.NiNode) - + def branchentry(self, branch): if branch in self.skelrootlist: result, failed = branch.merge_skeleton_roots() @@ -473,11 +482,13 @@ def branchentry(self, branch): else: return False + class SpellApplySkinDeformation(NifSpell): """Apply skin deformation to nif.""" # TODO pass + class SpellScale(NifSpell): """Scale a model.""" @@ -512,16 +523,19 @@ def branchentry(self, branch): # continue recursion return True + class SpellFixCenterRadius(pyffi.spells.nif.check.SpellCheckCenterRadius): """Recalculate geometry centers and radii.""" SPELLNAME = "fix_centerradius" READONLY = False + class SpellFixSkinCenterRadius(pyffi.spells.nif.check.SpellCheckSkinCenterRadius): """Recalculate skin centers and radii.""" SPELLNAME = "fix_skincenterradius" READONLY = False + class SpellFixMopp(pyffi.spells.nif.check.SpellCheckMopp): """Recalculate mopp data from collision geometry.""" SPELLNAME = "fix_mopp" @@ -539,6 +553,7 @@ def branchentry(self, branch): branch.update_mopp() self.changed = True + class SpellCleanStringPalette(NifSpell): """Remove unused strings from string palette.""" @@ -641,6 +656,7 @@ def branchentry(self, branch): # keep looking for managers or sequences return True + class SpellFixFallout3StringOffsets(NifSpell): """Fix Oblivion style kf files to work with Fallout 3, by replacing empty string offsets to point to a null byte. @@ -652,10 +668,10 @@ class SpellFixFallout3StringOffsets(NifSpell): def datainspect(self): # only run the spell if it looks like an Oblivion kf return ( - self.data.version == 0x14000005 - and self.inspectblocktype(NifFormat.NiStringPalette) - and self.inspectblocktype(NifFormat.NiControllerSequence) - ) + self.data.version == 0x14000005 + and self.inspectblocktype(NifFormat.NiStringPalette) + and self.inspectblocktype(NifFormat.NiControllerSequence) + ) def branchinspect(self, branch): # only inspect branches where NiControllerSequence can occur @@ -725,7 +741,7 @@ def branchentry(self, branch): pyffi.nif.stringpalette:WARNING:StringPalette: no string starts at offset 16 (string is b'', preceeding character is b't') b'' """ - if isinstance(branch,NifFormat.NiControllerSequence): + if isinstance(branch, NifFormat.NiControllerSequence): self.toaster.msg("updating empty links") # use the first string palette as reference string_palette = branch.string_palette @@ -740,8 +756,8 @@ def branchentry(self, branch): return False for block in branch.controlled_blocks: for attr in ( - "node_name", "property_type", "controller_type", - "variable_1", "variable_2"): + "node_name", "property_type", "controller_type", + "variable_1", "variable_2"): attr_offset = attr + "_offset" offset = getattr(block, attr_offset) if offset == -1: @@ -754,6 +770,7 @@ def branchentry(self, branch): else: return True + class SpellDelUnusedRoots(pyffi.spells.nif.NifSpell): """Remove root branches that shouldn't be root branches and are unused in the file such as NiProperty branches that are not @@ -798,6 +815,7 @@ def dataentry(self): self.changed = True return False + class SpellFixBhkSubShapes(NifSpell): """Fix bad subshape vertex counts in bhkPackedNiTriStripsShape blocks.""" @@ -833,9 +851,9 @@ def branchentry(self, branch): # calculate new number of vertices # if everything were to be fixed with this shape sub_shape_num_vertices = ( - sub_shape.num_vertices - + branch.data.num_vertices - - num_verts_in_sub_shapes) + sub_shape.num_vertices + + branch.data.num_vertices + - num_verts_in_sub_shapes) if sub_shape_num_vertices > 0: # we can do everything in the last shape # so do it @@ -852,6 +870,7 @@ def branchentry(self, branch): # recurse further return True + class SpellFixEmptySkeletonRoots(NifSpell): """Fix empty skeleton roots in an as sane as possible way.""" diff --git a/pyffi/spells/nif/modify.py b/pyffi/spells/nif/modify.py index afbed78c2..e07c662e1 100644 --- a/pyffi/spells/nif/modify.py +++ b/pyffi/spells/nif/modify.py @@ -124,17 +124,15 @@ # ***** END LICENSE BLOCK ***** # -------------------------------------------------------------------------- +import codecs +import os +import re + +import pyffi.spells.nif.fix from pyffi.formats.nif import NifFormat from pyffi.object_models.common import _as_bytes from pyffi.spells.nif import NifSpell -import pyffi.spells.nif -import pyffi.spells.nif.check # recycle checking spells for update spells -import pyffi.spells.nif.fix - -import codecs -import os -import re class SpellTexturePath( pyffi.spells.nif.fix.SpellParseTexturePath): @@ -164,12 +162,13 @@ def substitute(self, old_path): new_path = os.path.join( self.toaster.texture_path, os.path.basename(old_path.replace("\\", os.sep)) - ).replace(os.sep, "\\") + ).replace(os.sep, "\\") if new_path != old_path: self.changed = True self.toaster.msg("%s -> %s" % (old_path, new_path)) return new_path + class SpellSubstituteTexturePath( pyffi.spells.nif.fix.SpellFixTexturePath): """Runs a regex replacement on texture paths.""" @@ -188,7 +187,7 @@ def toastentry(cls, toaster): dummy, toaster.regex, toaster.sub = arg.split(arg[0]) toaster.sub = _as_bytes(toaster.sub) toaster.regex = re.compile(_as_bytes(toaster.regex)) - return True + return True def substitute(self, old_path): """Returns modified texture path, and reports if path was modified. @@ -202,6 +201,7 @@ def substitute(self, old_path): self.toaster.msg("%s -> %s" % (old_path, new_path)) return new_path + class SpellLowResTexturePath(SpellSubstituteTexturePath): """Changes the texture path by replacing 'textures\\*' with 'textures\\lowres\\*' - used mainly for making _far.nifs @@ -221,6 +221,7 @@ def substitute(self, old_path): else: return old_path + class SpellCollisionType(NifSpell): """Sets the object collision to be a different type""" @@ -257,7 +258,7 @@ class CollisionTypeClutter(CollisionTypeAnimStatic): class CollisionTypeWeapon(CollisionTypeClutter): layer = 5 mass = 25 - + class CollisionTypeNonCollidable(CollisionTypeStatic): layer = 15 motion_system = 7 @@ -269,7 +270,7 @@ class CollisionTypeNonCollidable(CollisionTypeStatic): "weapon": CollisionTypeWeapon, "terrain": CollisionTypeTerrain, "non_collidable": CollisionTypeNonCollidable - } + } @classmethod def toastentry(cls, toaster): @@ -325,12 +326,13 @@ def branchentry(self, branch): # recurse further return True + class SpellScaleAnimationTime(NifSpell): """Scales the animation time.""" SPELLNAME = "modify_scaleanimationtime" READONLY = False - + @classmethod def toastentry(cls, toaster): if not toaster.options["arg"]: @@ -402,6 +404,7 @@ def scale_key_times(keys): # recurse further return True + class SpellReverseAnimation(NifSpell): """Reverses the animation by reversing datas in relation to the time.""" @@ -462,6 +465,7 @@ def reverse_keys(keys): # recurse further return True + class SpellCollisionMaterial(NifSpell): """Sets the object's collision material to be a different type""" @@ -481,7 +485,7 @@ class CollisionMaterialMetal: "stone": CollisionMaterialStone, "cloth": CollisionMaterialCloth, "metal": CollisionMaterialMetal - } + } @classmethod def toastentry(cls, toaster): @@ -526,6 +530,7 @@ def branchentry(self, branch): # recurse further return True + class SpellDelBranches(NifSpell): """Delete blocks that match the exclude list.""" @@ -563,6 +568,7 @@ def branchentry(self, branch): # this one was not excluded, keep recursing return True + class _SpellDelBranchClasses(SpellDelBranches): """Delete blocks that match a given list. Only useful as base class for other spells. @@ -579,6 +585,7 @@ def datainspect(self): def is_branch_to_be_deleted(self, branch): return isinstance(branch, self.BRANCH_CLASSES_TO_BE_DELETED) + class SpellDelVertexColor(SpellDelBranches): """Delete vertex color properties and vertex color data.""" @@ -610,6 +617,7 @@ def branchentry(self, branch): # recurse further return True + # identical to niftoaster.py modify_delbranches -x NiVertexColorProperty # delete? class SpellDelVertexColorProperty(_SpellDelBranchClasses): @@ -618,6 +626,7 @@ class SpellDelVertexColorProperty(_SpellDelBranchClasses): SPELLNAME = "modify_delvertexcolorprop" BRANCH_CLASSES_TO_BE_DELETED = (NifFormat.NiVertexColorProperty,) + # identical to niftoaster.py modify_delbranches -x NiAlphaProperty # delete? class SpellDelAlphaProperty(_SpellDelBranchClasses): @@ -626,6 +635,7 @@ class SpellDelAlphaProperty(_SpellDelBranchClasses): SPELLNAME = "modify_delalphaprop" BRANCH_CLASSES_TO_BE_DELETED = (NifFormat.NiAlphaProperty,) + # identical to niftoaster.py modify_delbranches -x NiSpecularProperty # delete? class SpellDelSpecularProperty(_SpellDelBranchClasses): @@ -634,6 +644,7 @@ class SpellDelSpecularProperty(_SpellDelBranchClasses): SPELLNAME = "modify_delspecularprop" BRANCH_CLASSES_TO_BE_DELETED = (NifFormat.NiSpecularProperty,) + # identical to niftoaster.py modify_delbranches -x BSXFlags # delete? class SpellDelBSXFlags(_SpellDelBranchClasses): @@ -641,7 +652,8 @@ class SpellDelBSXFlags(_SpellDelBranchClasses): SPELLNAME = "modify_delbsxflags" BRANCH_CLASSES_TO_BE_DELETED = (NifFormat.BSXFlags,) - + + # identical to niftoaster.py modify_delbranches -x NiStringExtraData # delete? class SpellDelStringExtraDatas(_SpellDelBranchClasses): @@ -650,6 +662,7 @@ class SpellDelStringExtraDatas(_SpellDelBranchClasses): SPELLNAME = "modify_delstringextradatas" BRANCH_CLASSES_TO_BE_DELETED = (NifFormat.NiStringExtraData,) + class SpellDelSkinShapes(SpellDelBranches): """Delete any geometries with a material name of 'skin'""" @@ -669,6 +682,7 @@ def branchinspect(self, branch): # only inspect the NiAVObject branch return isinstance(branch, NifFormat.NiAVObject) + # identical to niftoaster.py modify_delbranches -x NiCollisionObject # delete? class SpellDelCollisionData(_SpellDelBranchClasses): @@ -677,6 +691,7 @@ class SpellDelCollisionData(_SpellDelBranchClasses): SPELLNAME = "modify_delcollision" BRANCH_CLASSES_TO_BE_DELETED = (NifFormat.NiCollisionObject,) + # identical to niftoaster.py modify_delbranches -x NiTimeController # delete? class SpellDelAnimation(_SpellDelBranchClasses): @@ -685,6 +700,7 @@ class SpellDelAnimation(_SpellDelBranchClasses): SPELLNAME = "modify_delanimation" BRANCH_CLASSES_TO_BE_DELETED = (NifFormat.NiTimeController,) + class SpellDisableParallax(NifSpell): """Disable parallax shader (for Oblivion, but may work on other nifs too). """ @@ -715,6 +731,7 @@ def branchentry(self, branch): # keep recursing return True + class SpellAddStencilProperty(NifSpell): """Adds a NiStencilProperty to each geometry if it is not present.""" @@ -743,6 +760,7 @@ def branchentry(self, branch): # recurse further return True + # note: this should go into the optimize module # but we have to put it here to avoid circular dependencies class SpellCleanFarNif( @@ -766,6 +784,7 @@ class SpellCleanFarNif( def datainspect(self): return self.stream.name.endswith('_far.nif') + # TODO: implement via modify_delbranches? # this is like SpellCleanFarNif but with changing the texture path # and optimizing the geometry @@ -781,23 +800,25 @@ class SpellMakeFarNif( SpellDelAnimation, SpellDisableParallax, SpellLowResTexturePath)): - #TODO: implement vert decreaser. + # TODO: implement vert decreaser. """Spell to make _far type nifs (for even more optimizations, combine this with the optimize spell). """ SPELLNAME = "modify_makefarnif" + class SpellMakeSkinlessNif( pyffi.spells.SpellGroupSeries( pyffi.spells.SpellGroupParallel( SpellDelSkinShapes, SpellAddStencilProperty) - )): + )): """Spell to make fleshless CMR (Custom Model Races) clothing/armour type nifs. """ SPELLNAME = "modify_makeskinlessnif" + class SpellSubstituteStringPalette( pyffi.spells.nif.fix.SpellCleanStringPalette): """Substitute strings in a string palette.""" @@ -816,7 +837,7 @@ def toastentry(cls, toaster): dummy, toaster.regex, toaster.sub = arg.split(arg[0]) toaster.sub = _as_bytes(toaster.sub) toaster.regex = re.compile(_as_bytes(toaster.regex)) - return True + return True def substitute(self, old_string): """Returns modified string, and reports if string was modified. @@ -830,6 +851,7 @@ def substitute(self, old_string): self.toaster.msg("%s -> %s" % (old_string, new_string)) return new_string + class SpellChangeBonePriorities(NifSpell): """Changes controlled block priorities based on controlled block name.""" @@ -855,7 +877,7 @@ def toastentry(cls, toaster): def datainspect(self): # returns only if nif/kf contains NiSequence return self.inspectblocktype(NifFormat.NiSequence) - + def branchinspect(self, branch): # inspect the NiAVObject and NiSequence branches return isinstance(branch, (NifFormat.NiAVObject, @@ -877,6 +899,7 @@ def branchentry(self, branch): controlled_block.priority)) return True + class SpellChangeAllBonePriorities(SpellChangeBonePriorities): """Changes all controlled block priorities to supplied argument.""" @@ -907,6 +930,7 @@ def branchentry(self, branch): controlled_block.priority)) return True + # should go in dump, but is the counterpart of modify_setbonepriorities # therefore maintained here class SpellGetBonePriorities(NifSpell): @@ -938,7 +962,7 @@ def branchentry(self, branch): priority = controlled_block.priority if name not in bonepriorities: bonepriorities[name] = priority - #self.toaster.msg("noted %r priority %i" % (name, priority)) + # self.toaster.msg("noted %r priority %i" % (name, priority)) elif bonepriorities[name] != priority: self.toaster.logger.warn( "multiple priorities for %r" % name) @@ -972,6 +996,7 @@ def dataexit(self): print("%s=%i" % (name, priority), file=stream, end="\r\n") self.bonepriorities = {} + class SpellSetBonePriorities(NifSpell): """For each file.nif, restore bone priorites from file_bonepriorities.txt. @@ -990,9 +1015,9 @@ def dataentry(self): if os.path.exists(filename): self.toaster.msg("reading %s" % filename) with codecs.open(filename, "rb", encoding="ascii") as stream: - self.bonepriorities = {} # priorities for all sequences - sequence = "" # current sequence - bonepriorities = {} # priorities for current sequence + self.bonepriorities = {} # priorities for all sequences + sequence = "" # current sequence + bonepriorities = {} # priorities for current sequence for line in stream: line = line.rstrip('\r\n') m = re.match("\\[(.*)\\]$", line) @@ -1045,6 +1070,7 @@ def branchentry(self, branch): "%r in NIF file but not in priority file" % name) return True + class SpellSetInterpolatorTransRotScale(NifSpell): """Changes specified bone(s) translations/rotations in their NiTransformInterpolator. @@ -1072,7 +1098,7 @@ def _float(x): return None else: return float(x) - + toaster.interp_transforms = dict( (name.lower(), ([_float(x) for x in trans.split(",")], [_float(x) for x in rot.split(",")], @@ -1080,15 +1106,15 @@ def _float(x): for (name, (trans, rot, scale)) in ( (name, transrotscale.split(";")) for (name, transrotscale) in ( - name_transrotscale.split(":") - for name_transrotscale - in toaster.options["arg"].split("|")))) + name_transrotscale.split(":") + for name_transrotscale + in toaster.options["arg"].split("|")))) return True def datainspect(self): # returns only if nif/kf contains NiSequence return self.inspectblocktype(NifFormat.NiSequence) - + def branchinspect(self, branch): # inspect the NiAVObject and NiSequence branches return isinstance(branch, (NifFormat.NiAVObject, @@ -1098,7 +1124,8 @@ def branchentry(self, branch): if isinstance(branch, NifFormat.NiSequence): for controlled_block in branch.controlled_blocks: try: - (transx, transy, transz), (quatx, quaty, quatz, quatw), scale = self.toaster.interp_transforms[controlled_block.get_node_name().lower()] + (transx, transy, transz), (quatx, quaty, quatz, quatw), scale = self.toaster.interp_transforms[ + controlled_block.get_node_name().lower()] except KeyError: # node name not in change list continue @@ -1125,6 +1152,7 @@ def branchentry(self, branch): % (controlled_block.get_node_name())) return True + class SpellDelInterpolatorTransformData(NifSpell): """Deletes the specified bone(s) NiTransformData(s).""" @@ -1146,7 +1174,7 @@ def toastentry(cls, toaster): def datainspect(self): # returns only if nif/kf contains NiSequence return self.inspectblocktype(NifFormat.NiSequence) - + def branchinspect(self, branch): # inspect the NiAVObject and NiSequence branches return isinstance(branch, (NifFormat.NiAVObject, @@ -1157,10 +1185,12 @@ def branchentry(self, branch): for controlled_block in branch.controlled_blocks: if controlled_block.get_node_name().lower() in self.toaster.change_blocks: self.data.replace_global_node(controlled_block.interpolator.data, None) - self.toaster.msg("NiTransformData removed from interpolator for %s" % (controlled_block.get_node_name())) + self.toaster.msg( + "NiTransformData removed from interpolator for %s" % (controlled_block.get_node_name())) self.changed = True return True + class SpellCollisionToMopp(NifSpell): """Transforms non-mopp triangle collisions to the more efficient mopps.""" @@ -1204,6 +1234,7 @@ def branchentry(self, branch): # recurse further return True + class SpellMirrorAnimation(NifSpell): """Mirrors the animation by switching bones and mirroring their x values. Only useable on creature/character animations (well any animations @@ -1217,7 +1248,7 @@ def datainspect(self): # returns more than needed but easiest way to ensure it catches all # types of animations return True - + def dataentry(self): # make list of used bones self.old_bone_data = {} @@ -1226,7 +1257,9 @@ def dataentry(self): for block in branch.controlled_blocks: name = block.get_node_name().lower() if ' r ' in name or ' l ' in name: - self.old_bone_data[name] = [block.interpolator, block.controller, block.priority, block.string_palette, block.node_name_offset, block.controller_type_offset] + self.old_bone_data[name] = [block.interpolator, block.controller, block.priority, + block.string_palette, block.node_name_offset, + block.controller_type_offset] if self.old_bone_data: return True @@ -1241,15 +1274,18 @@ def branchinspect(self, branch): def branchentry(self, branch): old_bone_data = self.old_bone_data - + if isinstance(branch, NifFormat.NiControllerSequence): for block in branch.controlled_blocks: node_name = block.get_node_name().lower() - if ' l ' in node_name: node_name = node_name.replace(' l ', ' r ') - elif ' r ' in node_name: node_name = node_name.replace(' r ', ' l ') + if ' l ' in node_name: + node_name = node_name.replace(' l ', ' r ') + elif ' r ' in node_name: + node_name = node_name.replace(' r ', ' l ') if node_name in old_bone_data: self.changed = True - block.interpolator, block.controller, block.priority, block.string_palette, block.node_name_offset, block.controller_type_offset = old_bone_data[node_name] + block.interpolator, block.controller, block.priority, block.string_palette, block.node_name_offset, block.controller_type_offset = \ + old_bone_data[node_name] # and then reverse x movements (since otherwise the movement of f.e. an arm towards the center of the body will be still in the same direction but away from the body if not block.interpolator: continue ip = block.interpolator diff --git a/pyffi/spells/nif/optimize.py b/pyffi/spells/nif/optimize.py index c44b8455f..c387ac034 100644 --- a/pyffi/spells/nif/optimize.py +++ b/pyffi/spells/nif/optimize.py @@ -62,21 +62,21 @@ # -------------------------------------------------------------------------- -import os.path # exists +import os.path # exists -from pyffi.formats.nif import NifFormat -from pyffi.utils import unique_map -import pyffi.utils.tristrip -import pyffi.utils.vertex_cache import pyffi.spells import pyffi.spells.nif import pyffi.spells.nif.fix import pyffi.spells.nif.modify +import pyffi.utils.tristrip +import pyffi.utils.vertex_cache +from pyffi.formats.nif import NifFormat +from pyffi.utils import unique_map # localization -#import gettext -#_ = gettext.translation('pyffi').ugettext -_ = lambda msg: msg # stub, for now +# import gettext +# _ = gettext.translation('pyffi').ugettext +_ = lambda msg: msg # stub, for now # set flag to overwrite files __readonly__ = False @@ -91,6 +91,7 @@ python niftoaster.py optimize --exclude=NiMaterialProperty /path/to/copy/of/my/nifs """ + class SpellCleanRefLists(pyffi.spells.nif.NifSpell): """Remove empty and duplicate entries in reference lists.""" @@ -156,6 +157,7 @@ def branchentry(self, branch): # always recurse further return True + class SpellMergeDuplicates(pyffi.spells.nif.NifSpell): """Remove duplicate branches.""" @@ -188,12 +190,12 @@ def branchinspect(self, branch): def branchentry(self, branch): for otherbranch in self.branches: if (branch is not otherbranch and - branch.is_interchangeable(otherbranch)): + branch.is_interchangeable(otherbranch)): # skip properties that have controllers (the # controller data cannot always be reliably checked, # see also issue #2106668) if (isinstance(branch, NifFormat.NiProperty) - and branch.controller): + and branch.controller): continue # skip BSShaderProperty blocks (see niftools issue #3009832) if isinstance(branch, NifFormat.BSShaderProperty): @@ -210,6 +212,7 @@ def branchentry(self, branch): # continue recursion return True + class SpellOptimizeGeometry(pyffi.spells.nif.NifSpell): """Optimize all geometries: - remove duplicate vertices @@ -237,7 +240,7 @@ def datainspect(self): # do not optimize if an egm or tri file is detected filename = self.stream.name if (os.path.exists(filename[:-3] + "egm") - or os.path.exists(filename[:-3] + "tri")): + or os.path.exists(filename[:-3] + "tri")): return False # so far, only reference lists in NiObjectNET blocks, NiAVObject # blocks, and NiNode blocks are checked @@ -287,7 +290,7 @@ def branchentry(self, branch): "mesh has additional geometry data" " which is not well understood: not optimizing") return False - + # we found a geometry to optimize # we're going to change the data @@ -306,7 +309,7 @@ def branchentry(self, branch): data = branch.data v_map, v_map_inverse = self.optimize_vertices(data) - + self.toaster.msg("(num vertices was %i and is now %i)" % (len(v_map), len(v_map_inverse))) @@ -328,13 +331,13 @@ def branchentry(self, branch): "(ATVR reduced from %.3f to %.3f)" % (old_atvr, new_atvr)) else: self.toaster.msg( - "(ATVR stable at %.3f)" % old_atvr) - # optimize triangles to have sequentially ordered indices + "(ATVR stable at %.3f)" % old_atvr) + # optimize triangles to have sequentially ordered indices self.toaster.msg("optimizing vertex ordering") v_map_opt = pyffi.utils.vertex_cache.get_cache_optimized_vertex_map( triangles) triangles = [(v_map_opt[v0], v_map_opt[v1], v_map_opt[v2]) - for v0, v1, v2 in triangles] + for v0, v1, v2 in triangles] # update vertex map and its inverse for i in range(data.num_vertices): try: @@ -371,9 +374,9 @@ def branchentry(self, branch): # copy old data oldverts = [(v.x, v.y, v.z) for v in data.vertices] oldnorms = [(n.x, n.y, n.z) for n in data.normals] - olduvs = [[(uv.u, uv.v) for uv in uvset] for uvset in data.uv_sets] + olduvs = [[(uv.u, uv.v) for uv in uvset] for uvset in data.uv_sets] oldvcols = [(c.r, c.g, c.b, c.a) for c in data.vertex_colors] - if branch.skin_instance: # for later + if branch.skin_instance: # for later oldweights = branch.get_vertex_weights() # set new data data.num_vertices = new_numvertices @@ -487,7 +490,7 @@ def branchentry(self, branch): .format(morphdata.num_vertices, len(v_map))) morphdata.num_vertices = len(v_map) for morph in morphdata.morphs: - morph.arg = morphdata.num_vertices # manual argument passing + morph.arg = morphdata.num_vertices # manual argument passing morph.vectors.update_size() # now remap morph vertices for morph in morphdata.morphs: @@ -502,7 +505,7 @@ def branchentry(self, branch): # resize matrices morphdata.num_vertices = new_numvertices for morph in morphdata.morphs: - morph.arg = morphdata.num_vertices # manual argument passing + morph.arg = morphdata.num_vertices # manual argument passing morph.vectors.update_size() # recalculate tangent space (only if the branch already exists) @@ -515,6 +518,7 @@ def branchentry(self, branch): # stop recursion return False + # XXX todo class SpellSplitGeometry(pyffi.spells.nif.NifSpell): """Optimize geometry by splitting large models into pieces. @@ -522,7 +526,7 @@ class SpellSplitGeometry(pyffi.spells.nif.NifSpell): """ SPELLNAME = "opt_split" READONLY = False - THRESHOLD_RADIUS = 100 #: Threshold where to split geometry. + THRESHOLD_RADIUS = 100 #: Threshold where to split geometry. # XXX todo @staticmethod @@ -578,9 +582,11 @@ def addTriangle(sourcetriangle, v_map, sourcedata, destdata): @staticmethod def get_size(vertices, triangle): """Calculate size of geometry data + given triangle.""" + def helper(oper, coord): return oper((getattr(vert, coord) for vert in triangle), oper(getattr(vert, coord) for vert in vertices)) + minx = helper(min, "x") miny = helper(min, "y") minz = helper(min, "z") @@ -591,7 +597,7 @@ def helper(oper, coord): # XXX todo: merge into branchentry spell @staticmethod - def split(geom, threshold_radius = THRESHOLD_RADIUS): + def split(geom, threshold_radius=THRESHOLD_RADIUS): """Takes a NiGeometry block and splits the geometries. Returns a NiNode which contains the splitted geometry. Note that everything is triangulated in the process.""" @@ -622,11 +628,11 @@ def split(geom, threshold_radius = THRESHOLD_RADIUS): addTriangle(triangle, v_map, geom.data, geomsplit.data) # find face that is close to current geometry for triangle in triangles: - if get_size(geomsplit.data, + if get_size(geomsplit.data, tuple(geom.data.vertices[index] for index in triangle)) < threshold_radius: - addTriangle(triangle, v_map, geom.data, geomsplit.data) - break + addTriangle(triangle, v_map, geom.data, geomsplit.data) + break else: # if exceeded, start new geometry # first finish some things in geomsplit data @@ -657,7 +663,7 @@ def branchentry(self, branch): if branch in self.optimized: # already optimized return False - + # we found a geometry to optimize # XXX todo # get geometry data @@ -670,7 +676,7 @@ def branchentry(self, branch): optimized_geometries.append(block) return False # radius is over the threshold, so re-organize the geometry - newblock = split(block, threshold_radius = THRESHOLD_RADIUS) + newblock = split(block, threshold_radius=THRESHOLD_RADIUS) # replace block with newblock everywhere data.replace_global_node(block, newblock) @@ -679,6 +685,7 @@ def branchentry(self, branch): # stop recursing return False + class SpellDelUnusedBones(pyffi.spells.nif.NifSpell): """Remove nodes that are not used for anything.""" @@ -701,12 +708,12 @@ def dataentry(self): def branchinspect(self, branch): # only inspect the NiNode branch return isinstance(branch, NifFormat.NiNode) - + def branchentry(self, branch): if isinstance(branch, NifFormat.NiNode): if ((not branch.children) - and (not branch.collision_object) - and (branch not in self._used_bones)): + and (not branch.collision_object) + and (branch not in self._used_bones)): self.toaster.msg("removing unreferenced bone") self.data.replace_global_node(branch, None) self.changed = True @@ -714,6 +721,7 @@ def branchentry(self, branch): return False return True + class SpellDelZeroScale(pyffi.spells.nif.NifSpell): """Remove nodes with zero scale.""" @@ -727,7 +735,7 @@ def datainspect(self): def branchinspect(self, branch): # only inspect the NiAVObject branch return isinstance(branch, NifFormat.NiAVObject) - + def branchentry(self, branch): if isinstance(branch, NifFormat.NiAVObject): if branch.scale == 0: @@ -738,12 +746,13 @@ def branchentry(self, branch): return False return True + class SpellReduceGeometry(SpellOptimizeGeometry): """Reduce vertices of all geometries.""" SPELLNAME = "opt_reducegeometry" READONLY = False - + @classmethod def toastentry(cls, toaster): if not toaster.options["arg"]: @@ -762,6 +771,7 @@ def toastentry(cls, toaster): cls.VCOLPRECISION = max(precision, 0) return True + class SpellOptimizeCollisionBox(pyffi.spells.nif.NifSpell): """Optimize collision geometries by converting shapes to primitive boxes where appropriate. @@ -775,12 +785,12 @@ def __init__(self, *args, **kwargs): # list of all optimized geometries so far # (to avoid optimizing the same geometry twice) self.optimized = [] - + def datainspect(self): # only run the spell if there are collisions return ( - self.inspectblocktype(NifFormat.bhkPackedNiTriStripsShape) - or self.inspectblocktype(NifFormat.bhkNiTriStripsShape)) + self.inspectblocktype(NifFormat.bhkPackedNiTriStripsShape) + or self.inspectblocktype(NifFormat.bhkNiTriStripsShape)) def branchinspect(self, branch): # only inspect the collision branches @@ -788,7 +798,7 @@ def branchinspect(self, branch): NifFormat.bhkCollisionObject, NifFormat.bhkRigidBody, NifFormat.bhkMoppBvTreeShape)) - + def get_box_shape(self, shape): """Check if the given shape is has a box shape. If so, return an equivalent (bhkConvexTransformShape +) bhkBoxShape. @@ -879,7 +889,7 @@ def get_box_shape(self, shape): tfshape.transform.m_24 = mid[1] / factor tfshape.transform.m_34 = mid[2] / factor return tfshape - + def branchentry(self, branch): """Optimize a vertex based collision block: - remove duplicate vertices @@ -889,11 +899,11 @@ def branchentry(self, branch): if branch in self.optimized: # already optimized return False - + if (isinstance(branch, NifFormat.bhkMoppBvTreeShape) - and isinstance(branch.shape, NifFormat.bhkPackedNiTriStripsShape) - and isinstance(branch.shape.data, - NifFormat.hkPackedNiTriStripsData)): + and isinstance(branch.shape, NifFormat.bhkPackedNiTriStripsShape) + and isinstance(branch.shape.data, + NifFormat.hkPackedNiTriStripsData)): # packed collision with mopp box_shape = self.get_box_shape(branch.shape) if box_shape: @@ -902,7 +912,7 @@ def branchentry(self, branch): self.toaster.msg(_("optimized box collision")) self.changed = True self.optimized.append(branch) - return False # don't recurse farther + return False # don't recurse farther elif (isinstance(branch, NifFormat.bhkRigidBody) and isinstance(branch.shape, NifFormat.bhkNiTriStripsShape)): # unpacked collision @@ -927,9 +937,10 @@ def branchentry(self, branch): self.changed = True self.optimized.append(branch) return False - #keep recursing + # keep recursing return True + class SpellOptimizeCollisionGeometry(pyffi.spells.nif.NifSpell): """Optimize collision geometries by removing duplicate vertices.""" @@ -946,8 +957,8 @@ def __init__(self, *args, **kwargs): def datainspect(self): # only run the spell if there are collisions return ( - self.inspectblocktype(NifFormat.bhkPackedNiTriStripsShape) - or self.inspectblocktype(NifFormat.bhkNiTriStripsShape)) + self.inspectblocktype(NifFormat.bhkPackedNiTriStripsShape) + or self.inspectblocktype(NifFormat.bhkNiTriStripsShape)) def branchinspect(self, branch): # only inspect the collision branches @@ -955,7 +966,7 @@ def branchinspect(self, branch): NifFormat.bhkCollisionObject, NifFormat.bhkRigidBody, NifFormat.bhkMoppBvTreeShape)) - + def optimize_mopp(self, mopp): """Optimize a bhkMoppBvTreeShape.""" shape = mopp.shape @@ -996,8 +1007,8 @@ def optimize_mopp(self, mopp): shape.sub_shapes[subshape_index].num_vertices = subshape_count if shape.data.sub_shapes: # fallout 3 subshapes - shape.data.sub_shapes[subshape_index].num_vertices = subshape_count - # set new data + shape.data.sub_shapes[subshape_index].num_vertices = subshape_count + # set new data data.num_vertices = len(full_v_map_inverse) data.vertices.update_size() for old_i, v in zip(full_v_map_inverse, data.vertices): @@ -1044,7 +1055,7 @@ def optimize_mopp(self, mopp): del oldtris # update mopp data and welding info mopp.update_mopp_welding() - + def branchentry(self, branch): """Optimize a vertex based collision block: - remove duplicate vertices @@ -1059,9 +1070,9 @@ def branchentry(self, branch): return False if (isinstance(branch, NifFormat.bhkMoppBvTreeShape) - and isinstance(branch.shape, NifFormat.bhkPackedNiTriStripsShape) - and isinstance(branch.shape.data, - NifFormat.hkPackedNiTriStripsData)): + and isinstance(branch.shape, NifFormat.bhkPackedNiTriStripsShape) + and isinstance(branch.shape.data, + NifFormat.hkPackedNiTriStripsData)): # packed collision with mopp self.toaster.msg(_("optimizing mopp")) self.optimize_mopp(branch) @@ -1101,7 +1112,7 @@ def branchentry(self, branch): return False self.toaster.msg(_("adding mopp")) mopp = NifFormat.bhkMoppBvTreeShape() - shape = branch.shape # store reference before replacing + shape = branch.shape # store reference before replacing self.data.replace_global_node(branch.shape, mopp) mopp.shape = shape mopp.material = shape.get_sub_shapes()[0].material @@ -1122,13 +1133,14 @@ def branchentry(self, branch): return False # keep recursing return True - + + class SpellOptimizeAnimation(pyffi.spells.nif.NifSpell): """Optimizes animations by removing duplicate keys""" SPELLNAME = "opt_optimizeanimation" READONLY = False - + @classmethod def toastentry(cls, toaster): if not toaster.options["arg"]: @@ -1137,7 +1149,6 @@ def toastentry(cls, toaster): cls.significance_check = float(toaster.options["arg"]) return True - def datainspect(self): # returns more than needed but easiest way to ensure it catches all # types of animations @@ -1155,46 +1166,52 @@ def branchinspect(self, branch): NifFormat.NiTextKeyExtraData, NifFormat.NiFloatData)) - def optimize_keys(self,keys): + def optimize_keys(self, keys): """Helper function to optimize the keys.""" new_keys = [] - #compare keys + # compare keys ## types: 0 = float/int values ## 1 = Vector4, Quaternions, QuaternionsWXYZ ## 2 = word values (ie NiTextKeyExtraData) ## 3 = Vector3 values (ie translations) - if len(keys) < 3: return keys # no optimization possible? - precision = 10**self.significance_check - if isinstance(keys[0].value,(float,int)): + if len(keys) < 3: return keys # no optimization possible? + precision = 10 ** self.significance_check + if isinstance(keys[0].value, (float, int)): for i, key in enumerate(keys): - if i == 0: # since we don't want to delete the first key even if it is the same as the last key. + if i == 0: # since we don't want to delete the first key even if it is the same as the last key. new_keys.append(key) - continue + continue try: - if int(precision*keys[i-1].value) != int(precision*key.value): + if int(precision * keys[i - 1].value) != int(precision * key.value): new_keys.append(key) continue - if int(precision*keys[i+1].value) != int(precision*key.value): + if int(precision * keys[i + 1].value) != int(precision * key.value): new_keys.append(key) except IndexError: new_keys.append(key) return new_keys - elif isinstance(keys[0].value,(str)): + elif isinstance(keys[0].value, (str)): for i, key in enumerate(keys): - if i == 0: # since we don't want to delete the first key even if it is the same as the last key. + if i == 0: # since we don't want to delete the first key even if it is the same as the last key. new_keys.append(key) - continue + continue try: - if keys[i-1].value != key.value: + if keys[i - 1].value != key.value: new_keys.append(key) continue - if keys[i+1].value != key.value: + if keys[i + 1].value != key.value: new_keys.append(key) except IndexError: new_keys.append(key) return new_keys - elif isinstance(keys[0].value,(NifFormat.Vector4,NifFormat.Quaternion,NifFormat.QuaternionXYZW)): - tempkey = [[int(keys[0].value.w*precision),int(keys[0].value.x*precision),int(keys[0].value.y*precision),int(keys[0].value.z*precision)],[int(keys[1].value.w*precision),int(keys[1].value.x*precision),int(keys[1].value.y*precision),int(keys[1].value.z*precision)],[int(keys[2].value.w*precision),int(keys[2].value.x*precision),int(keys[2].value.y*precision),int(keys[2].value.z*precision)]] + elif isinstance(keys[0].value, (NifFormat.Vector4, NifFormat.Quaternion, NifFormat.QuaternionXYZW)): + tempkey = [ + [int(keys[0].value.w * precision), int(keys[0].value.x * precision), int(keys[0].value.y * precision), + int(keys[0].value.z * precision)], + [int(keys[1].value.w * precision), int(keys[1].value.x * precision), int(keys[1].value.y * precision), + int(keys[1].value.z * precision)], + [int(keys[2].value.w * precision), int(keys[2].value.x * precision), int(keys[2].value.y * precision), + int(keys[2].value.z * precision)]] for i, key in enumerate(keys): if i == 0: new_keys.append(key) @@ -1203,10 +1220,10 @@ def optimize_keys(self,keys): tempkey[1] = tempkey[2] tempkey[2] = [] try: - tempkey[2].append(int(keys[i+1].value.w*precision)) - tempkey[2].append(int(keys[i+1].value.x*precision)) - tempkey[2].append(int(keys[i+1].value.y*precision)) - tempkey[2].append(int(keys[i+1].value.z*precision)) + tempkey[2].append(int(keys[i + 1].value.w * precision)) + tempkey[2].append(int(keys[i + 1].value.x * precision)) + tempkey[2].append(int(keys[i + 1].value.y * precision)) + tempkey[2].append(int(keys[i + 1].value.z * precision)) except IndexError: new_keys.append(key) continue @@ -1216,8 +1233,11 @@ def optimize_keys(self,keys): if tempkey[1] != tempkey[2]: new_keys.append(key) return new_keys - elif isinstance(keys[0].value,(NifFormat.Vector3)): - tempkey = [[int(keys[0].value.x*precision),int(keys[0].value.y*precision),int(keys[0].value.z*precision)],[int(keys[1].value.x*precision),int(keys[1].value.y*precision),int(keys[1].value.z*precision)],[int(keys[2].value.x*precision),int(keys[2].value.y*precision),int(keys[2].value.z*precision)]] + elif isinstance(keys[0].value, (NifFormat.Vector3)): + tempkey = [ + [int(keys[0].value.x * precision), int(keys[0].value.y * precision), int(keys[0].value.z * precision)], + [int(keys[1].value.x * precision), int(keys[1].value.y * precision), int(keys[1].value.z * precision)], + [int(keys[2].value.x * precision), int(keys[2].value.y * precision), int(keys[2].value.z * precision)]] for i, key in enumerate(keys): if i == 0: new_keys.append(key) @@ -1226,9 +1246,9 @@ def optimize_keys(self,keys): tempkey[1] = tempkey[2] tempkey[2] = [] try: - tempkey[2].append(int(keys[i+1].value.x*precision)) - tempkey[2].append(int(keys[i+1].value.y*precision)) - tempkey[2].append(int(keys[i+1].value.z*precision)) + tempkey[2].append(int(keys[i + 1].value.x * precision)) + tempkey[2].append(int(keys[i + 1].value.y * precision)) + tempkey[2].append(int(keys[i + 1].value.z * precision)) except IndexError: new_keys.append(key) continue @@ -1238,29 +1258,29 @@ def optimize_keys(self,keys): if tempkey[1] != tempkey[2]: new_keys.append(key) return new_keys - else: #something unhandled -- but what? - + else: # something unhandled -- but what? + return keys - - def update_animation(self,old_keygroup,new_keys): - self.toaster.msg(_("Num keys was %i and is now %i") % (len(old_keygroup.keys),len(new_keys))) + + def update_animation(self, old_keygroup, new_keys): + self.toaster.msg(_("Num keys was %i and is now %i") % (len(old_keygroup.keys), len(new_keys))) old_keygroup.num_keys = len(new_keys) old_keygroup.keys.update_size() - for old_key, new_key in zip(old_keygroup.keys,new_keys): + for old_key, new_key in zip(old_keygroup.keys, new_keys): old_key.time = new_key.time old_key.value = new_key.value self.changed = True - - def update_animation_quaternion(self,old_keygroup,new_keys): - self.toaster.msg(_("Num keys was %i and is now %i") % (len(old_keygroup),len(new_keys))) + + def update_animation_quaternion(self, old_keygroup, new_keys): + self.toaster.msg(_("Num keys was %i and is now %i") % (len(old_keygroup), len(new_keys))) old_keygroup.update_size() - for old_key, new_key in zip(old_keygroup,new_keys): + for old_key, new_key in zip(old_keygroup, new_keys): old_key.time = new_key.time old_key.value = new_key.value self.changed = True def branchentry(self, branch): - + if isinstance(branch, NifFormat.NiKeyframeData): # (this also covers NiTransformData) if branch.num_rotation_keys != 0: @@ -1268,20 +1288,20 @@ def branchentry(self, branch): for rotation in branch.xyz_rotations: new_keys = self.optimize_keys(rotation.keys) if len(new_keys) != rotation.num_keys: - self.update_animation(rotation,new_keys) + self.update_animation(rotation, new_keys) else: new_keys = self.optimize_keys(branch.quaternion_keys) if len(new_keys) != branch.num_rotation_keys: branch.num_rotation_keys = len(new_keys) - self.update_animation_quaternion(branch.quaternion_keys,new_keys) + self.update_animation_quaternion(branch.quaternion_keys, new_keys) if branch.translations.num_keys != 0: new_keys = self.optimize_keys(branch.translations.keys) if len(new_keys) != branch.translations.num_keys: - self.update_animation(branch.translations,new_keys) + self.update_animation(branch.translations, new_keys) if branch.scales.num_keys != 0: new_keys = self.optimize_keys(branch.scales.keys) if len(new_keys) != branch.scales.num_keys: - self.update_animation(branch.scales,new_keys) + self.update_animation(branch.scales, new_keys) # no children of NiKeyframeData so no need to recurse further return False elif isinstance(branch, NifFormat.NiTextKeyExtraData): @@ -1289,13 +1309,14 @@ def branchentry(self, branch): # no children of NiTextKeyExtraData so no need to recurse further return False elif isinstance(branch, NifFormat.NiFloatData): - #self.optimize_keys(branch.data.keys) + # self.optimize_keys(branch.data.keys) # no children of NiFloatData so no need to recurse further return False else: # recurse further return True - + + class SpellOptimize( pyffi.spells.SpellGroupSeries( pyffi.spells.nif.modify.SpellCleanFarNif, @@ -1311,6 +1332,6 @@ class SpellOptimize( SpellOptimizeCollisionBox, SpellOptimizeCollisionGeometry, SpellMergeDuplicates, - )): + )): """Global fixer and optimizer spell.""" SPELLNAME = "optimize" diff --git a/pyffi/spells/tga.py b/pyffi/spells/tga.py index b20b5066d..f5dea92f7 100644 --- a/pyffi/spells/tga.py +++ b/pyffi/spells/tga.py @@ -47,9 +47,11 @@ import pyffi.spells from pyffi.formats.tga import TgaFormat + class TgaSpell(pyffi.spells.Spell): """Base class for spells for tga files.""" pass + class TgaToaster(pyffi.spells.Toaster): FILEFORMAT = TgaFormat diff --git a/pyffi/utils/__init__.py b/pyffi/utils/__init__.py index 16d4090ce..86613201e 100644 --- a/pyffi/utils/__init__.py +++ b/pyffi/utils/__init__.py @@ -45,21 +45,21 @@ from distutils.cmd import Command -class BuildDoc(Command): # pragma: no cover +class BuildDoc(Command): # pragma: no cover """ Distutils command to stop setup.py from throwing errors if sphinx is not installed """ - + description = 'Sphinx is not installed' user_options = [] - + def initialize_options(self): self.source_dir = self.build_dir = None self.project = '' self.version = '' self.release = '' - + def finalize_options(self): return @@ -103,7 +103,8 @@ def walk(top, topdown=True, onerror=None, re_filename=None): # for c in [chr(i) for i in range(32,128)]: # table += c # table += "."*128 -chartable = '................................ !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~.................................................................................................................................'.encode("ascii") +chartable = '................................ !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~.................................................................................................................................'.encode( + "ascii") def hex_dump(f, num_lines=8): @@ -112,8 +113,8 @@ def hex_dump(f, num_lines=8): dumpstr = "" pos = f.tell() - if pos > num_lines*8: - f.seek((pos-num_lines*8) & 0xfffffff0) + if pos > num_lines * 8: + f.seek((pos - num_lines * 8) & 0xfffffff0) else: f.seek(0) dumppos = f.tell() @@ -171,4 +172,5 @@ def unique_map(hash_generator): if __name__ == '__main__': import doctest + doctest.testmod() diff --git a/pyffi/utils/graph.py b/pyffi/utils/graph.py index e20088551..c1614ad2d 100644 --- a/pyffi/utils/graph.py +++ b/pyffi/utils/graph.py @@ -72,6 +72,7 @@ from itertools import repeat from operator import itemgetter + class EdgeType(tuple): """Represents all possible edge types. By default, there are four types: any edge can be part of the acyclic graph or not, and can @@ -86,24 +87,27 @@ def __new__(cls, active=True, acyclic=True): active = property(itemgetter(0)) acyclic = property(itemgetter(1)) + class EdgeFilter(tuple): """A simple filter for edges. The default filter only checks the edge's active and acyclic attributes, and accepts them if both are ``True``. """ + def __new__(cls, active_filter=True, acyclic_filter=True): return tuple.__new__(cls, (active_filter, acyclic_filter)) - + active_filter = property(itemgetter(0)) acyclic_filter = property(itemgetter(1)) def accept(self, edge_type): - if not(self.active_filter is None): + if not (self.active_filter is None): if edge_type.active != self.active_filter: return False - if not(self.acyclic_filter is None): + if not (self.acyclic_filter is None): if edge_type.acyclic != self.acyclic_filter: return False + class DetailNode(object): """A node of the detail tree which can have children. @@ -168,6 +172,7 @@ def replace_global_node(self, oldnode, newnode, edge_filter=EdgeFilter()): """Replace a particular branch in the graph.""" raise NotImplementedError + class GlobalNode(DetailNode): """A node of the global graph.""" @@ -179,7 +184,7 @@ def get_global_display(self): """ return "" # possible implementation: - #return self.name if hasattr(self, "name") else "" + # return self.name if hasattr(self, "name") else "" def get_global_child_nodes(self, edge_filter=EdgeFilter()): """Generator which yields all children of this item in the diff --git a/pyffi/utils/inertia.py b/pyffi/utils/inertia.py index a4a14e8f0..915082a4c 100644 --- a/pyffi/utils/inertia.py +++ b/pyffi/utils/inertia.py @@ -39,8 +39,10 @@ # ***** END LICENSE BLOCK ***** import math + from pyffi.utils.mathutils import * + # see http://en.wikipedia.org/wiki/List_of_moment_of_inertia_tensors @@ -74,7 +76,7 @@ def getMassInertiaBox(size, density=1, solid=True): 24.0 >>> inertia ((26.0, 0, 0), (0, 20.0, 0), (0, 0, 10.0))""" - assert(len(size) == 3) # debug + assert (len(size) == 3) # debug if solid: mass = density * size[0] * size[1] * size[2] tmp = tuple(mass * (length ** 2) / 12.0 for length in size) @@ -136,7 +138,7 @@ def get_mass_center_inertia_polyhedron(vertices, triangles, density=1, solid=Tru covariance_canonical = ((2, 1, 1), (1, 2, 1), (1, 1, 2)) - covariance_correction = 1.0/120 + covariance_correction = 1.0 / 120 covariances = [] masses = [] @@ -190,7 +192,7 @@ def get_mass_center_inertia_polyhedron(vertices, triangles, density=1, solid=Tru # (this is approximate only as it replaces triangle with point mass # todo: find better way) covariances.append( - tuple(tuple(masses[-1]*x*y for x in centers[-1]) + tuple(tuple(masses[-1] * x * y for x in centers[-1]) for y in centers[-1]) ) @@ -239,6 +241,8 @@ def get_mass_center_inertia_polyhedron(vertices, triangles, density=1, solid=Tru return total_mass, total_center, total_inertia + if __name__ == "__main__": import doctest + doctest.testmod() diff --git a/pyffi/utils/mathutils.py b/pyffi/utils/mathutils.py index d4a934e07..d27d90785 100644 --- a/pyffi/utils/mathutils.py +++ b/pyffi/utils/mathutils.py @@ -39,7 +39,7 @@ import logging -import operator + def float_to_int(value): """Convert float to integer, rounding and handling nan and inf @@ -79,6 +79,7 @@ def float_to_int(value): "float_to_int converted -inf to -2147483648.") return -2147483648 + def getBoundingBox(veclist): """Calculate bounding box (pair of vectors with minimum and maximum coordinates). @@ -87,7 +88,7 @@ def getBoundingBox(veclist): ((0, 0, 0), (1, 1, 2))""" if not veclist: # assume 3 dimensions if veclist is empty - return (0,0,0), (0,0,0) + return (0, 0, 0), (0, 0, 0) # find bounding box dim = len(veclist[0]) @@ -95,6 +96,7 @@ def getBoundingBox(veclist): tuple((min(vec[i] for vec in veclist) for i in range(dim))), tuple((max(vec[i] for vec in veclist) for i in range(dim)))) + def getCenterRadius(veclist): """Calculate center and radius of given list of vectors. @@ -103,7 +105,7 @@ def getCenterRadius(veclist): """ if not veclist: # assume 3 dimensions if veclist is empty - return (0,0,0), 0 + return (0, 0, 0), 0 # get bounding box vecmin, vecmax = getBoundingBox(veclist) @@ -121,16 +123,20 @@ def getCenterRadius(veclist): return center, radius + def vecSub(vec1, vec2): """Vector substraction.""" return tuple(x - y for x, y in zip(vec1, vec2)) + def vecAdd(vec1, vec2): return tuple(x + y for x, y in zip(vec1, vec2)) + def vecscalarMul(vec, scalar): return tuple(x * scalar for x in vec) + def vecDotProduct(vec1, vec2): """The vector dot product (any dimension). @@ -138,6 +144,7 @@ def vecDotProduct(vec1, vec2): 12""" return sum(x1 * x2 for x1, x2 in zip(vec1, vec2)) + def vecDistance(vec1, vec2): """Return distance between two vectors (any dimension). @@ -146,10 +153,12 @@ def vecDistance(vec1, vec2): """ return vecNorm(vecSub(vec1, vec2)) + def vecNormal(vec1, vec2, vec3): """Returns a vector that is orthogonal on C{triangle}.""" return vecCrossProduct(vecSub(vec2, vec1), vecSub(vec3, vec1)) + def vecDistanceAxis(axis, vec): """Return distance between the axis spanned by axis[0] and axis[1] and the vector v, in 3 dimensions. Raises ZeroDivisionError if the axis points @@ -162,6 +171,7 @@ def vecDistanceAxis(axis, vec): """ return vecNorm(vecNormal(axis[0], axis[1], vec)) / vecDistance(*axis) + def vecDistanceTriangle(triangle, vert): """Return (signed) distance between the plane spanned by triangle[0], triangle[1], and triange[2], and the vector v, in 3 dimensions. @@ -173,7 +183,8 @@ def vecDistanceTriangle(triangle, vert): """ normal = vecNormal(*triangle) return vecDotProduct(normal, vecSub(vert, triangle[0])) \ - / vecNorm(normal) + / vecNorm(normal) + def vecNorm(vec): """Norm of a vector (any dimension). @@ -183,6 +194,7 @@ def vecNorm(vec): """ return vecDotProduct(vec, vec) ** 0.5 + def vecNormalized(vec): """Normalized version of a vector (any dimension). @@ -191,6 +203,7 @@ def vecNormalized(vec): """ return vecscalarMul(vec, 1.0 / vecNorm(vec)) + def vecCrossProduct(vec1, vec2): """The vector cross product (in 3d). @@ -203,58 +216,66 @@ def vecCrossProduct(vec1, vec2): vec1[2] * vec2[0] - vec1[0] * vec2[2], vec1[0] * vec2[1] - vec1[1] * vec2[0]) + def matTransposed(mat): """Return the transposed of a nxn matrix. >>> matTransposed(((1, 2), (3, 4))) ((1, 3), (2, 4))""" dim = len(mat) - return tuple( tuple( mat[i][j] - for i in range(dim) ) - for j in range(dim) ) + return tuple(tuple(mat[i][j] + for i in range(dim)) + for j in range(dim)) + def matscalarMul(mat, scalar): """Return matrix * scalar.""" dim = len(mat) - return tuple( tuple( mat[i][j] * scalar - for j in range(dim) ) - for i in range(dim) ) + return tuple(tuple(mat[i][j] * scalar + for j in range(dim)) + for i in range(dim)) + def matvecMul(mat, vec): """Return matrix * vector.""" dim = len(mat) - return tuple( sum( mat[i][j] * vec[j] for j in range(dim) ) - for i in range(dim) ) + return tuple(sum(mat[i][j] * vec[j] for j in range(dim)) + for i in range(dim)) + def matMul(mat1, mat2): """Return matrix * matrix.""" dim = len(mat1) - return tuple( tuple( sum( mat1[i][k] * mat2[k][j] - for k in range(dim) ) - for j in range(dim) ) - for i in range(dim) ) + return tuple(tuple(sum(mat1[i][k] * mat2[k][j] + for k in range(dim)) + for j in range(dim)) + for i in range(dim)) + def matAdd(mat1, mat2): """Return matrix + matrix.""" dim = len(mat1) - return tuple( tuple( mat1[i][j] + mat2[i][j] - for j in range(dim) ) - for i in range(dim) ) + return tuple(tuple(mat1[i][j] + mat2[i][j] + for j in range(dim)) + for i in range(dim)) + def matSub(mat1, mat2): """Return matrix - matrix.""" dim = len(mat1) - return tuple( tuple( mat1[i][j] - mat2[i][j] - for j in range(dim) ) - for i in range(dim) ) + return tuple(tuple(mat1[i][j] - mat2[i][j] + for j in range(dim)) + for i in range(dim)) + def matCofactor(mat, i, j): dim = len(mat) - return matDeterminant(tuple( tuple( mat[ii][jj] - for jj in range(dim) - if jj != j ) - for ii in range(dim) - if ii != i )) + return matDeterminant(tuple(tuple(mat[ii][jj] + for jj in range(dim) + if jj != j) + for ii in range(dim) + if ii != i)) + def matDeterminant(mat): """Calculate determinant. @@ -265,13 +286,18 @@ def matDeterminant(mat): 36 """ dim = len(mat) - if dim == 0: return 0 - elif dim == 1: return mat[0][0] - elif dim == 2: return mat[0][0] * mat[1][1] - mat[1][0] * mat[0][1] + if dim == 0: + return 0 + elif dim == 1: + return mat[0][0] + elif dim == 2: + return mat[0][0] * mat[1][1] - mat[1][0] * mat[0][1] else: - return sum( (-1 if i&1 else 1) * mat[i][0] * matCofactor(mat, i, 0) - for i in range(dim) ) + return sum((-1 if i & 1 else 1) * mat[i][0] * matCofactor(mat, i, 0) + for i in range(dim)) + if __name__ == "__main__": import doctest + doctest.testmod() diff --git a/pyffi/utils/mopp.py b/pyffi/utils/mopp.py index 82c8e6134..ae2b99450 100644 --- a/pyffi/utils/mopp.py +++ b/pyffi/utils/mopp.py @@ -38,9 +38,10 @@ # ***** END LICENSE BLOCK ***** import os.path -import tempfile import subprocess import sys +import tempfile + def _skip_terminal_chars(stream): """Skip initial terminal characters (happens when mopper runs via wine).""" @@ -50,6 +51,7 @@ def _skip_terminal_chars(stream): else: stream.seek(0) + def getMopperPath(): """Get path to the mopper. @@ -66,6 +68,7 @@ def getMopperPath(): raise OSError("mopper.exe not found at %s" % mopper) return mopper + def getMopperCredits(): """Get info about mopper, and credit havok. @@ -87,7 +90,7 @@ def getMopperCredits(): :rtype: ``str`` """ mopper = getMopperPath() - outfile = tempfile.TemporaryFile("w+") # not binary + outfile = tempfile.TemporaryFile("w+") # not binary try: # get license info, credit havok (raises OSError on failure) if sys.platform == "win32": @@ -101,6 +104,7 @@ def getMopperCredits(): outfile.close() return creditstr + def getMopperOriginScaleCodeWelding(vertices, triangles, material_indices=None): """Generate mopp code and welding info for given geometry. Raises RuntimeError if something goes wrong (e.g. if mopp generator fails, or if @@ -153,8 +157,8 @@ def getMopperOriginScaleCodeWelding(vertices, triangles, material_indices=None): material_indices = [] mopper = getMopperPath() - infile = tempfile.TemporaryFile("w+") # not binary - outfile = tempfile.TemporaryFile("w+") # not binary + infile = tempfile.TemporaryFile("w+") # not binary + outfile = tempfile.TemporaryFile("w+") # not binary try: # set up input infile.write("%i\n" % len(vertices)) @@ -193,7 +197,8 @@ def getMopperOriginScaleCodeWelding(vertices, triangles, material_indices=None): outfile.close() return origin, scale, moppcode, welding_info + if __name__ == "__main__": import doctest - doctest.testmod() + doctest.testmod() diff --git a/pyffi/utils/quickhull.py b/pyffi/utils/quickhull.py index d778d9180..33a32dede 100644 --- a/pyffi/utils/quickhull.py +++ b/pyffi/utils/quickhull.py @@ -145,13 +145,14 @@ # # ***** END LICENSE BLOCK ***** +import operator + from pyffi.utils.mathutils import * -import operator # adapted from # http://en.literateprograms.org/Quickhull_(Python,_arrays) -def qdome2d(vertices, base, normal, precision = 0.0001): +def qdome2d(vertices, base, normal, precision=0.0001): """Build a convex dome from C{vertices} on top of the two C{base} vertices, in the plane with normal C{normal}. This is a helper function for L{qhull2d}, and should usually not be called directly. @@ -165,24 +166,25 @@ def qdome2d(vertices, base, normal, precision = 0.0001): :return: A list of vertices that make up a fan of the dome.""" vert0, vert1 = base - outer = [ (dist, vert) - for dist, vert - in zip( ( vecDotProduct(vecCrossProduct(normal, + outer = [(dist, vert) + for dist, vert + in zip((vecDotProduct(vecCrossProduct(normal, vecSub(vert1, vert0)), vecSub(vert, vert0)) - for vert in vertices ), - vertices ) - if dist > precision ] + for vert in vertices), + vertices) + if dist > precision] if outer: pivot = max(outer)[1] outer_verts = list(map(operator.itemgetter(1), outer)) return qdome2d(outer_verts, [vert0, pivot], normal, precision) \ - + qdome2d(outer_verts, [pivot, vert1], normal, precision)[1:] + + qdome2d(outer_verts, [pivot, vert1], normal, precision)[1:] else: return base -def qhull2d(vertices, normal, precision = 0.0001): + +def qhull2d(vertices, normal, precision=0.0001): """Simple implementation of the 2d quickhull algorithm in 3 dimensions for vertices viewed from the direction of C{normal}. Returns a fan of vertices that make up the surface. Called by @@ -223,11 +225,12 @@ def qhull2d(vertices, normal, precision = 0.0001): if len(base) >= 2: vert0, vert1 = base[:2] return qdome2d(vertices, [vert0, vert1], normal, precision) \ - + qdome2d(vertices, [vert1, vert0], normal, precision)[1:-1] + + qdome2d(vertices, [vert1, vert0], normal, precision)[1:-1] else: return base -def basesimplex3d(vertices, precision = 0.0001): + +def basesimplex3d(vertices, precision=0.0001): """Find four extreme points, to be used as a starting base for the quick hull algorithm L{qhull3d}. @@ -271,14 +274,14 @@ def basesimplex3d(vertices, precision = 0.0001): vert1 = max(vertices, key=operator.itemgetter(*extents)) # check if all vertices coincide if vecDistance(vert0, vert1) < precision: - return [ vert0 ] + return [vert0] # as a third extreme point select that one which maximizes the distance # from the vert0 - vert1 axis vert2 = max(vertices, key=lambda vert: vecDistanceAxis((vert0, vert1), vert)) - #check if all vertices are colinear + # check if all vertices are colinear if vecDistanceAxis((vert0, vert1), vert2) < precision: - return [ vert0, vert1 ] + return [vert0, vert1] # as a fourth extreme point select one which maximizes the distance from # the v0, v1, v2 triangle vert3 = max(vertices, @@ -287,14 +290,15 @@ def basesimplex3d(vertices, precision = 0.0001): # ensure positive orientation and check if all vertices are coplanar orientation = vecDistanceTriangle((vert0, vert1, vert2), vert3) if orientation > precision: - return [ vert0, vert1, vert2, vert3 ] + return [vert0, vert1, vert2, vert3] elif orientation < -precision: - return [ vert1, vert0, vert2, vert3 ] + return [vert1, vert0, vert2, vert3] else: # coplanar - return [ vert0, vert1, vert2 ] + return [vert0, vert1, vert2] + -def qhull3d(vertices, precision = 0.0001, verbose = False): +def qhull3d(vertices, precision=0.0001, verbose=False): """Return the triangles making up the convex hull of C{vertices}. Considers distances less than C{precision} to be zero (useful to simplify the hull of a complex mesh, at the expense of exactness of the hull). @@ -317,16 +321,16 @@ def qhull3d(vertices, precision = 0.0001, verbose = False): if len(hull_vertices) == 3: # coplanar hull_vertices = qhull2d(vertices, vecNormal(*hull_vertices), precision) - return hull_vertices, [ (0, i+1, i+2) - for i in range(len(hull_vertices) - 2) ] + return hull_vertices, [(0, i + 1, i + 2) + for i in range(len(hull_vertices) - 2)] elif len(hull_vertices) <= 2: # colinear or singular # no triangles for these cases return hull_vertices, [] # construct list of triangles of this simplex - hull_triangles = set([ operator.itemgetter(i,j,k)(hull_vertices) - for i, j, k in ((1,0,2), (0,1,3), (0,3,2), (3,1,2)) ]) + hull_triangles = set([operator.itemgetter(i, j, k)(hull_vertices) + for i, j, k in ((1, 0, 2), (0, 1, 3), (0, 3, 2), (3, 1, 2))]) if verbose: print("starting set", hull_vertices) @@ -335,12 +339,12 @@ def qhull3d(vertices, precision = 0.0001, verbose = False): outer_vertices = {} for triangle in hull_triangles: outer = \ - [ (dist, vert) - for dist, vert - in zip( ( vecDistanceTriangle(triangle, vert) - for vert in vertices ), - vertices ) - if dist > precision ] + [(dist, vert) + for dist, vert + in zip((vecDistanceTriangle(triangle, vert) + for vert in vertices), + vertices) + if dist > precision] if outer: outer_vertices[triangle] = outer @@ -357,23 +361,23 @@ def qhull3d(vertices, precision = 0.0001, verbose = False): hull_vertices.append(pivot) # and update the list of triangles: # 1. calculate visibility of triangles to pivot point - visibility = [ vecDistanceTriangle(othertriangle, pivot) > precision - for othertriangle in outer_vertices.keys() ] + visibility = [vecDistanceTriangle(othertriangle, pivot) > precision + for othertriangle in outer_vertices.keys()] # 2. get list of visible triangles - visible_triangles = [ othertriangle - for othertriangle, visible - in zip(iter(outer_vertices.keys()), visibility) - if visible ] + visible_triangles = [othertriangle + for othertriangle, visible + in zip(iter(outer_vertices.keys()), visibility) + if visible] # 3. find all edges of visible triangles visible_edges = [] for visible_triangle in visible_triangles: - visible_edges += [operator.itemgetter(i,j)(visible_triangle) - for i, j in ((0,1),(1,2),(2,0))] + visible_edges += [operator.itemgetter(i, j)(visible_triangle) + for i, j in ((0, 1), (1, 2), (2, 0))] if verbose: print("visible edges", visible_edges) # 4. construct horizon: edges that are not shared with another triangle - horizon_edges = [ edge for edge in visible_edges - if not tuple(reversed(edge)) in visible_edges ] + horizon_edges = [edge for edge in visible_edges + if not tuple(reversed(edge)) in visible_edges] # 5. remove visible triangles from list # this puts a hole inside the triangle list visible_outer = set() @@ -387,14 +391,14 @@ def qhull3d(vertices, precision = 0.0001, verbose = False): # 6. close triangle list by adding cone from horizon to pivot # also update the outer triangle list as we go for edge in horizon_edges: - newtriangle = edge + ( pivot, ) + newtriangle = edge + (pivot,) newouter = \ - [ (dist, vert) - for dist, vert in zip( ( vecDistanceTriangle(newtriangle, - vert) - for vert in visible_outer ), - visible_outer ) - if dist > precision ] + [(dist, vert) + for dist, vert in zip((vecDistanceTriangle(newtriangle, + vert) + for vert in visible_outer), + visible_outer) + if dist > precision] hull_triangles.add(newtriangle) if newouter: outer_vertices[newtriangle] = newouter @@ -404,10 +408,12 @@ def qhull3d(vertices, precision = 0.0001, verbose = False): # no triangle has outer vertices anymore # so the convex hull is complete! # remap the triangles to indices that point into hull_vertices - return hull_vertices, [ tuple(hull_vertices.index(vert) - for vert in triangle) - for triangle in hull_triangles ] + return hull_vertices, [tuple(hull_vertices.index(vert) + for vert in triangle) + for triangle in hull_triangles] + if __name__ == "__main__": import doctest + doctest.testmod() diff --git a/pyffi/utils/tangentspace.py b/pyffi/utils/tangentspace.py index dea4ea35b..6f54a7aa0 100644 --- a/pyffi/utils/tangentspace.py +++ b/pyffi/utils/tangentspace.py @@ -39,9 +39,10 @@ from pyffi.utils.mathutils import * -def getTangentSpace(vertices = None, normals = None, uvs = None, - triangles = None, orientation = False, - orthogonal = True): + +def getTangentSpace(vertices=None, normals=None, uvs=None, + triangles=None, orientation=False, + orthogonal=True): """Calculate tangent space data. >>> vertices = [(0,0,0), (0,1,0), (1,0,0)] @@ -68,8 +69,8 @@ def getTangentSpace(vertices = None, normals = None, uvs = None, raise ValueError( "lists of vertices, normals, and uvs must have the same length") - bin = [(0,0,0) for i in range(len(vertices)) ] - tan = [(0,0,0) for i in range(len(vertices)) ] + bin = [(0, 0, 0) for i in range(len(vertices))] + tan = [(0, 0, 0) for i in range(len(vertices))] orientations = [0 for i in range(len(vertices))] # calculate tangents and binormals from vertex and texture coordinates @@ -103,10 +104,10 @@ def getTangentSpace(vertices = None, normals = None, uvs = None, r_sign * (w3w1[1] * v2v1[2] - w2w1[1] * v3v1[2])) try: sdir = vecNormalized(sdir) - except ZeroDivisionError: # catches zero vector - continue # skip triangle - except ValueError: # catches invalid data - continue # skip triangle + except ZeroDivisionError: # catches zero vector + continue # skip triangle + except ValueError: # catches invalid data + continue # skip triangle tdir = ( r_sign * (w2w1[0] * v3v1[0] - w3w1[0] * v2v1[0]), @@ -114,10 +115,10 @@ def getTangentSpace(vertices = None, normals = None, uvs = None, r_sign * (w2w1[0] * v3v1[2] - w3w1[0] * v2v1[2])) try: tdir = vecNormalized(tdir) - except ZeroDivisionError: # catches zero vector - continue # skip triangle - except ValueError: # catches invalid data - continue # skip triangle + except ZeroDivisionError: # catches zero vector + continue # skip triangle + except ValueError: # catches invalid data + continue # skip triangle # vector combination algorithm could possibly be improved for i in (t1, t2, t3): @@ -129,7 +130,7 @@ def getTangentSpace(vertices = None, normals = None, uvs = None, xvec = (1, 0, 0) yvec = (0, 1, 0) for i, norm in enumerate(normals): - if abs(1-vecNorm(norm)) > 0.01: + if abs(1 - vecNorm(norm)) > 0.01: raise ValueError( "tangentspace: unnormalized normal in list of normals (%s, norm is %f)" % (norm, vecNorm(norm))) try: @@ -165,6 +166,8 @@ def getTangentSpace(vertices = None, normals = None, uvs = None, else: return tan, bin + if __name__ == "__main__": import doctest + doctest.testmod() diff --git a/pyffi/utils/trianglemesh.py b/pyffi/utils/trianglemesh.py index b24cac6df..42e01e6a6 100644 --- a/pyffi/utils/trianglemesh.py +++ b/pyffi/utils/trianglemesh.py @@ -65,7 +65,7 @@ # ~ Imports # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -import operator # itemgetter +import operator # itemgetter from weakref import WeakSet @@ -79,7 +79,7 @@ def __init__(self, ev0, ev1): >>> edge.verts (6, 9) """ - + if ev0 == ev1: raise ValueError("Degenerate edge.") @@ -97,6 +97,7 @@ def __repr__(self): """ return "Edge(%s, %s)" % self.verts + class Face: """An oriented face which keeps track its adjacent faces.""" @@ -166,6 +167,7 @@ class Mesh: :ivar faces: List of faces of the mesh. :type faces: ``list`` of :class:`Face`""" + def __init__(self, faces=None, lock=True): """Initialize a mesh, and optionally assign its faces and lock. @@ -307,7 +309,7 @@ def lock(self): # store faces and set their index self.faces = [] for i, (verts, face) in enumerate(sorted(iter(self._faces.items()), - key=operator.itemgetter(0))): + key=operator.itemgetter(0))): face.index = i self.faces.append(face) # remove helper structures @@ -336,9 +338,11 @@ def discard_face(self, face): for adj_adj_faces in adj_face.adjacent_faces: adj_adj_faces.discard(face) # faster (but breaks py3k!!): - #if id(face) in adj_adj_faces.data: + # if id(face) in adj_adj_faces.data: # del adj_adj_faces.data[id(face)] + if __name__ == '__main__': import doctest + doctest.testmod() diff --git a/pyffi/utils/trianglestripifier.py b/pyffi/utils/trianglestripifier.py index cd5dc828d..de3426d37 100644 --- a/pyffi/utils/trianglestripifier.py +++ b/pyffi/utils/trianglestripifier.py @@ -47,10 +47,8 @@ # # ***** END LICENSE BLOCK ***** -import itertools -import random # choice +from pyffi.utils.trianglemesh import Mesh -from pyffi.utils.trianglemesh import Face, Mesh class TriangleStrip(object): """A heavily specialized oriented strip of faces. @@ -304,6 +302,7 @@ def get_strip(self): strip = list(self.vertices) return strip + class Experiment(object): """A stripification experiment, essentially consisting of a set of adjacent strips. @@ -357,7 +356,7 @@ def build(self): # build adjacent strips num_faces = len(strip.faces) if num_faces >= 4: - face_index = num_faces >> 1 # quick / 2 + face_index = num_faces >> 1 # quick / 2 self.build_adjacent(strip, face_index) self.build_adjacent(strip, face_index + 1) elif num_faces == 3: @@ -389,13 +388,14 @@ def build_adjacent(self, strip, face_index): other_vertex = strip.vertices[face_index + 2] face_index = other_strip.build(other_vertex, other_face) self.strips.append(other_strip) - if face_index > (len(other_strip.faces) >> 1): # quick / 2 + if face_index > (len(other_strip.faces) >> 1): # quick / 2 self.build_adjacent(other_strip, face_index - 1) elif face_index < len(other_strip.faces) - 1: self.build_adjacent(other_strip, face_index + 1) return True return False + class ExperimentSelector(object): def __init__(self): @@ -419,6 +419,7 @@ def clear(self): self.best_score = -1.0 self.best_experiment = None + class TriangleStripifier(object): """Implementation of a triangle stripifier. @@ -543,6 +544,8 @@ def find_all_strips(self): for strip in selector.best_experiment.strips)) selector.clear() -if __name__=='__main__': + +if __name__ == '__main__': import doctest + doctest.testmod() diff --git a/pyffi/utils/tristrip.py b/pyffi/utils/tristrip.py index a8c07ceda..55942ec6d 100644 --- a/pyffi/utils/tristrip.py +++ b/pyffi/utils/tristrip.py @@ -46,6 +46,7 @@ from pyffi.utils.trianglestripifier import TriangleStripifier from pyffi.utils.trianglemesh import Mesh + def triangulate(strips): """A generator for iterating over the faces in a set of strips. Degenerate triangles in strips are discarded. @@ -57,14 +58,14 @@ def triangulate(strips): triangles = [] for strip in strips: - if len(strip) < 3: continue # skip empty strips + if len(strip) < 3: continue # skip empty strips # make list copy incase input data does not like slice notation strip_list = list(strip) # flips the order of verts in every other tri flip = False - for i in range(0, len(strip_list)-2): + for i in range(0, len(strip_list) - 2): flip = not flip - t0, t1, t2 = strip_list[i:i+3] + t0, t1, t2 = strip_list[i:i + 3] # skip degenerate tri if t0 == t1 or t1 == t2 or t2 == t0: continue # append tri in correct order @@ -72,10 +73,12 @@ def triangulate(strips): return triangles + def _generate_faces_from_triangles(triangles): """Creates faces (tris) from a flat list of non-overlapping triangle indices""" for i in range(0, len(triangles), 3): - yield triangles[i], triangles[i+1], triangles[i+2] + yield triangles[i], triangles[i + 1], triangles[i + 2] + def _sort_triangle_indices(triangles): """Sorts indices of each triangle so lowest index always comes first. @@ -102,6 +105,7 @@ def _sort_triangle_indices(triangles): raise RuntimeError( "Unexpected error while sorting triangle indices.") + def _check_strips(triangles, strips): """Checks that triangles and strips describe the same geometry. @@ -139,7 +143,8 @@ def _check_strips(triangles, strips): triangles - strips_triangles, strips_triangles - triangles)) -def stripify(triangles, stitchstrips = False): + +def stripify(triangles, stitchstrips=False): """Converts triangles into a list of strips. If stitchstrips is True, then everything is wrapped in a single strip using @@ -200,6 +205,7 @@ def stripify(triangles, stitchstrips = False): else: return strips + class OrientedStrip: """An oriented strip, with stitching support.""" @@ -383,17 +389,18 @@ def __add__(self, other): # append stitches if num_stitches >= 1: - result.vertices.append(self.vertices[-1]) # first stitch + result.vertices.append(self.vertices[-1]) # first stitch if num_stitches >= 2: - result.vertices.append(other.vertices[0]) # second stitch + result.vertices.append(other.vertices[0]) # second stitch if num_stitches >= 3: - result.vertices.append(other.vertices[0]) # third stitch + result.vertices.append(other.vertices[0]) # third stitch # append other vertices result.vertices.extend(other.vertices) return result + def stitch_strips(strips): """Stitch strips keeping stitch size minimal. @@ -433,6 +440,7 @@ def stitch_strips(strips): class ExperimentSelector: """Helper class to select best experiment.""" + def __init__(self): self.best_ostrip1 = None self.best_ostrip2 = None @@ -442,7 +450,7 @@ def __init__(self): def update(self, ostrip_index, ostrip1, ostrip2): num_stitches = ostrip1.get_num_stitches(ostrip2) if ((self.best_num_stitches is None) - or (num_stitches < self.best_num_stitches)): + or (num_stitches < self.best_num_stitches)): self.best_ostrip1 = ostrip1 self.best_ostrip2 = ostrip2 self.best_ostrip_index = ostrip_index @@ -484,6 +492,7 @@ def update(self, ostrip_index, ostrip1, ostrip2): # return resulting strip return strip + def unstitch_strip(strip): """Revert stitched strip back to a set of strips without stitches. @@ -520,17 +529,17 @@ def unstitch_strip(strip): strips = [] currentstrip = [] i = 0 - while i < len(strip)-1: + while i < len(strip) - 1: winding = i & 1 currentstrip.append(strip[i]) - if strip[i] == strip[i+1]: + if strip[i] == strip[i + 1]: # stitch detected, add current strip to list of strips strips.append(currentstrip) # and start a new one, taking into account winding if winding == 1: currentstrip = [] else: - currentstrip = [strip[i+1]] + currentstrip = [strip[i + 1]] i += 1 # add last part currentstrip.extend(strip[i:]) @@ -542,6 +551,8 @@ def unstitch_strip(strip): strip.pop(0) return [strip for strip in strips if len(strip) > 3 or (len(strip) == 3 and strip[0] != strip[1])] -if __name__=='__main__': + +if __name__ == '__main__': import doctest + doctest.testmod() diff --git a/pyffi/utils/vertex_cache.py b/pyffi/utils/vertex_cache.py index 81b6f4e12..8b9523feb 100644 --- a/pyffi/utils/vertex_cache.py +++ b/pyffi/utils/vertex_cache.py @@ -48,10 +48,11 @@ from pyffi.utils.tristrip import OrientedStrip + class VertexScore: """Vertex score calculation.""" # constants used for scoring algorithm - CACHE_SIZE = 32 # higher values yield virtually no improvement + CACHE_SIZE = 32 # higher values yield virtually no improvement """The size of the modeled cache.""" CACHE_DECAY_POWER = 1.5 @@ -164,6 +165,7 @@ def update_score(self, vertex_info): min(len(vertex_info.triangle_indices), self.MAX_TRIANGLES_PER_VERTEX)] + class VertexInfo: """Stores information about a vertex.""" @@ -175,18 +177,20 @@ def __init__(self, cache_position=-1, score=-1, self.triangle_indices = ([] if triangle_indices is None else triangle_indices) + class TriangleInfo: def __init__(self, score=0, vertex_indices=None): self.score = score self.vertex_indices = ([] if vertex_indices is None else vertex_indices) + class Mesh: """Simple mesh implementation which keeps track of which triangles are used by which vertex, and vertex cache positions. """ - _DEBUG = False # to enable debugging of the algorithm + _DEBUG = False # to enable debugging of the algorithm def __init__(self, triangles, vertex_score=None): """Initialize mesh from given set of triangles. @@ -280,10 +284,10 @@ def get_cache_optimized_triangles(self): self.triangle_infos[triangle_index].score) best_triangle_info = self.triangle_infos[best_triangle_index] if (self._DEBUG and - globally_optimal_score - best_triangle_info.score > 0.01): - print(globally_optimal_score, - globally_optimal_score - best_triangle_info.score, - len(updated_triangles)) + globally_optimal_score - best_triangle_info.score > 0.01): + print(globally_optimal_score, + globally_optimal_score - best_triangle_info.score, + len(updated_triangles)) # mark as added self.triangle_infos[best_triangle_index] = None # append to ordered list of triangles @@ -333,6 +337,7 @@ def get_cache_optimized_triangles(self): # return result return triangles + def get_cache_optimized_triangles(triangles): """Calculate cache optimized triangles, and return the result as a reordered set of triangles or strip of stitched triangles. @@ -343,6 +348,7 @@ def get_cache_optimized_triangles(triangles): mesh = Mesh(triangles) return mesh.get_cache_optimized_triangles() + def get_unique_triangles(triangles): """Yield unique triangles. @@ -366,6 +372,7 @@ def get_unique_triangles(triangles): yield verts _added_triangles.add(verts) + def stable_stripify(triangles, stitchstrips=False): """Stitch all triangles together into a strip without changing the triangle ordering (for example because their ordering is already @@ -401,7 +408,7 @@ def stable_stripify(triangles, stitchstrips=False): added = False for v0, v1, v2 in indices: for ov0, ov1, ov2 in indices: - if strip[v1] == tri[ov1] and strip[v2] == tri[ov0]: + if strip[v1] == tri[ov1] and strip[v2] == tri[ov0]: strip = [strip[v0], strip[v1], strip[v2], tri[ov2]] added = True break @@ -419,12 +426,12 @@ def stable_stripify(triangles, stitchstrips=False): added = False for ov0, ov1, ov2 in indices: if len(strip) & 1: - if strip[-2] == tri[ov1] and strip[-1] == tri[ov0]: + if strip[-2] == tri[ov1] and strip[-1] == tri[ov0]: strip.append(tri[ov2]) added = True break else: - if strip[-2] == tri[ov0] and strip[-1] == tri[ov1]: + if strip[-2] == tri[ov0] and strip[-1] == tri[ov1]: strip.append(tri[ov2]) added = True break @@ -443,12 +450,14 @@ def stable_stripify(triangles, stitchstrips=False): (OrientedStrip(strip) for strip in strips)) return [list(result)] + def stripify(triangles, stitchstrips=False): """Stripify triangles, optimizing for the vertex cache.""" return stable_stripify( get_cache_optimized_triangles(triangles), stitchstrips=stitchstrips) + def get_cache_optimized_vertex_map(strips): """Map vertices so triangles/strips have consequetive indices. @@ -475,6 +484,7 @@ def get_cache_optimized_vertex_map(strips): new_vertex += 1 return vertex_map + def average_transform_to_vertex_ratio(strips, cache_size=16): """Calculate number of transforms per vertex for a given cache size and triangles/strips. See @@ -501,6 +511,8 @@ def average_transform_to_vertex_ratio(strips, cache_size=16): # no vertices... return 1 -if __name__=='__main__': + +if __name__ == '__main__': import doctest + doctest.testmod() diff --git a/scripts/cgf/cgftoaster.py b/scripts/cgf/cgftoaster.py index b68ab67b3..da3c0a9bf 100644 --- a/scripts/cgf/cgftoaster.py +++ b/scripts/cgf/cgftoaster.py @@ -49,9 +49,9 @@ import pyffi.spells.cgf import pyffi.spells.cgf.check import pyffi.spells.cgf.dump -import pyffi.formats.cgf import pyffi.spells.check + class CgfToaster(pyffi.spells.cgf.CgfToaster): """Class for toasting cgf files, using any of the available spells.""" SPELLS = [ @@ -76,6 +76,7 @@ class CgfToaster(pyffi.spells.cgf.CgfToaster): python -m cProfile -s cumulative cgftoaster.py -j 1 dump""" + # if script is called... if __name__ == "__main__": # set up logger diff --git a/scripts/nif/nifmakehsl.py b/scripts/nif/nifmakehsl.py index e8b11b3ea..80c7be1d2 100644 --- a/scripts/nif/nifmakehsl.py +++ b/scripts/nif/nifmakehsl.py @@ -61,12 +61,10 @@ # ***** END LICENSE BLOCK ***** # -------------------------------------------------------------------------- -import sys -from types import * from string import maketrans from pyffi.formats.nif import NifFormat -from pyffi.object_models.xml.basic import BasicBase + def find_templates(): # find all types that are used as a template (excluding the ones @@ -78,29 +76,33 @@ def find_templates(): templates.add(attr.template) return templates + transtable = maketrans('?', '_') + + def sanitize_attrname(s): return s.translate(transtable) + def write_hsl(f, ver, templates): # map basic NifFormat types to HWS types and enum byte size hsl_types = { - NifFormat.int : ('long', 4), - NifFormat.uint : ('ulong', 4), - NifFormat.short : ('short', 2), - NifFormat.ushort : ('ushort', 2), - NifFormat.Flags : ('ushort', None), - NifFormat.byte : ('ubyte ', 1), - NifFormat.char : ('char', None), - NifFormat.float : ('float', None), - NifFormat.Ref : ('long', None), - NifFormat.Ptr : ('long', None), - NifFormat.FileVersion : ('ulong', None), + NifFormat.int: ('long', 4), + NifFormat.uint: ('ulong', 4), + NifFormat.short: ('short', 2), + NifFormat.ushort: ('ushort', 2), + NifFormat.Flags: ('ushort', None), + NifFormat.byte: ('ubyte ', 1), + NifFormat.char: ('char', None), + NifFormat.float: ('float', None), + NifFormat.Ref: ('long', None), + NifFormat.Ptr: ('long', None), + NifFormat.FileVersion: ('ulong', None), # some stuff we cannot do in hex workshop - NifFormat.HeaderString : ('char', None), - NifFormat.LineString : ('char', None) } - # hack for string (TODO fix this in NifFormat) - #NifFormat.string : ('struct string', None) } + NifFormat.HeaderString: ('char', None), + NifFormat.LineString: ('char', None)} + # hack for string (TODO fix this in NifFormat) + # NifFormat.string : ('struct string', None) } if ver <= 0x04000002: hsl_types[NifFormat.bool] = ('ulong', 4) @@ -113,7 +115,7 @@ def write_hsl(f, ver, templates): #pragma byteorder(little_endian) #pragma maxarray(65535) -"""%ver) +""" % ver) # write each enum class for cls in NifFormat.xml_enum: @@ -121,7 +123,7 @@ def write_hsl(f, ver, templates): # write each struct class for cls in NifFormat.xml_struct: - if cls.__name__[:3] == 'ns ': continue # cheat: skip ns types + if cls.__name__[:3] == 'ns ': continue # cheat: skip ns types if not cls._is_template: # write regular class write_struct(cls, ver, hsl_types, f, None) @@ -130,14 +132,15 @@ def write_hsl(f, ver, templates): for template in templates: write_struct(cls, ver, hsl_types, f, template) + def write_enum(cls, ver, hsl_types, f): # set enum size f.write('#pragma enumsize(%s)\n' % cls._numbytes) f.write('typedef enum tag' + cls.__name__ + ' {\n') ## list of all non-private attributes gives enum constants - #enum_items = [x for x in cls.__dict__.items() if x[0][:2] != '__'] + # enum_items = [x for x in cls.__dict__.items() if x[0][:2] != '__'] ## sort them by value - #enum_items = sorted(enum_items, key=lambda x: x[1]) + # enum_items = sorted(enum_items, key=lambda x: x[1]) # and write out all name, value pairs enum_items = list(zip(cls._enumkeys, cls._enumvalues)) for const_name, const_value in enum_items[:-1]: @@ -146,13 +149,14 @@ def write_enum(cls, ver, hsl_types, f): f.write(' ' + const_name + ' = ' + str(const_value) + '\n') f.write('} ' + cls.__name__ + ';\n\n') + def write_struct(cls, ver, hsl_types, f, template): # open the structure if not template: f.write('struct ' + cls.__name__ + ' {\n') else: f.write('struct ' + cls.__name__ + '_' + template.__name__ + ' {\n') - #for attrname, typ, default, tmpl, arg, arr1, arr2, cond, ver1, ver2, userver, doc in cls._attribute_list: + # for attrname, typ, default, tmpl, arg, arr1, arr2, cond, ver1, ver2, userver, doc in cls._attribute_list: for attr in cls._attribute_list: # check version if not (ver is None): @@ -165,9 +169,9 @@ def write_struct(cls, ver, hsl_types, f, template): # things that can only be determined at runtime (rt_xxx) rt_type = attr.type_ if attr.type_ != type(None) \ - else template + else template rt_template = attr.template if attr.template != type(None) \ - else template + else template # get the attribute type name try: @@ -175,12 +179,12 @@ def write_struct(cls, ver, hsl_types, f, template): except KeyError: if rt_type in NifFormat.xml_enum: s += rt_type.__name__ - else: # it's in NifFormat.xml_struct + else: # it's in NifFormat.xml_struct s += 'struct ' + rt_type.__name__ # get the attribute template type name if (not rt_template is None) and (not issubclass(rt_type, NifFormat.Ref)): s += '_' - s += rt_template.__name__ # note: basic types are named by their xml name in the template + s += rt_template.__name__ # note: basic types are named by their xml name in the template # attribute name s = s.ljust(20) + ' ' + sanitize_attrname(attr.name) # array and conditional arguments @@ -198,7 +202,7 @@ def write_struct(cls, ver, hsl_types, f, template): if attr.arr1 is None: pass elif attr.arr2 is None: - if str(attr.arr1).find('arg') == -1: # catch argument passing + if str(attr.arr1).find('arg') == -1: # catch argument passing if arr_str: arr_str += ' * ' arr_str += sanitize_attrname(str(attr.arr1._left)) @@ -222,6 +226,7 @@ def write_struct(cls, ver, hsl_types, f, template): # close the structure f.write('};\n\n') + if __name__ == '__main__': # list all types used as a template templates = find_templates() diff --git a/scripts/nif/niftoaster.py b/scripts/nif/niftoaster.py index 644f29a35..f639d3f56 100644 --- a/scripts/nif/niftoaster.py +++ b/scripts/nif/niftoaster.py @@ -50,8 +50,8 @@ import pyffi.spells.nif.check import pyffi.spells.nif.dump import pyffi.spells.nif.fix -import pyffi.spells.nif.optimize import pyffi.spells.nif.modify +import pyffi.spells.nif.optimize class NifToaster(pyffi.spells.nif.NifToaster): @@ -100,7 +100,7 @@ class NifToaster(pyffi.spells.nif.NifToaster): pyffi.spells.nif.optimize.SpellCleanRefLists, pyffi.spells.nif.optimize.SpellMergeDuplicates, pyffi.spells.nif.optimize.SpellOptimizeGeometry, - #pyffi.spells.nif.optimize.SpellOptimizeSplit, + # pyffi.spells.nif.optimize.SpellOptimizeSplit, pyffi.spells.nif.optimize.SpellOptimize, pyffi.spells.nif.optimize.SpellDelUnusedBones, pyffi.spells.nif.optimize.SpellDelZeroScale, @@ -138,7 +138,7 @@ class NifToaster(pyffi.spells.nif.NifToaster): pyffi.spells.nif.optimize.SpellOptimizeAnimation, pyffi.spells.nif.check.SpellCheckMaterialEmissiveValue, pyffi.spells.nif.modify.SpellMirrorAnimation - ] + ] ALIASDICT = { "texdump": "dump_tex", "read": "check_read", @@ -148,7 +148,7 @@ class NifToaster(pyffi.spells.nif.NifToaster): "exportpixeldata": "dump_pixeldata", "scale": "fix_scale", "opt_cleanfarnif": "modify_cleanfarnif", - } + } EXAMPLES = """* check if PyFFI can read all files in current directory (python version of nifskope's xml checker): @@ -186,6 +186,7 @@ class NifToaster(pyffi.spells.nif.NifToaster): python niftoaster.py -a 100 fix_scale "c:\\zoo2" """ + # if script is called... if __name__ == "__main__": # set up logger @@ -198,4 +199,3 @@ class NifToaster(pyffi.spells.nif.NifToaster): logger.addHandler(loghandler) # call toaster NifToaster().cli() - diff --git a/scripts/patch_recursive_apply.py b/scripts/patch_recursive_apply.py index 9c0415ad0..91a6c8372 100755 --- a/scripts/patch_recursive_apply.py +++ b/scripts/patch_recursive_apply.py @@ -40,7 +40,6 @@ # ***** END LICENSE BLOCK ***** import argparse -import shutil import os import os.path import subprocess @@ -54,7 +53,7 @@ parser.add_argument( 'patch_cmd', metavar="CMD", type=str, help="use CMD to apply a patch between files; this command must " - "accept at least 3 arguments: 'CMD oldfile newfile patchfile ...'") + "accept at least 3 arguments: 'CMD oldfile newfile patchfile ...'") parser.add_argument( 'in_folder', type=str, help="folder containing original files") @@ -66,6 +65,7 @@ help="folder containing patch files") args, unknown_args = parser.parse_known_args() + # actual script def patch_cmd(in_file, out_file, patch_file): @@ -82,6 +82,7 @@ def patch_cmd(in_file, out_file, patch_file): print("applying %s" % patch_file) subprocess.call(command) + for dirpath, dirnames, filenames in os.walk(args.in_folder): for filename in filenames: in_file = os.path.join(dirpath, filename) diff --git a/scripts/patch_recursive_make.py b/scripts/patch_recursive_make.py index dc6c1e423..e3012db30 100755 --- a/scripts/patch_recursive_make.py +++ b/scripts/patch_recursive_make.py @@ -40,7 +40,6 @@ # ***** END LICENSE BLOCK ***** import argparse -import shutil import os import os.path import subprocess @@ -54,7 +53,7 @@ parser.add_argument( 'patch_cmd', metavar="CMD", type=str, help="use CMD to make a patch between files; this command must " - "accept at least 3 arguments: 'CMD oldfile newfile patchfile ...'") + "accept at least 3 arguments: 'CMD oldfile newfile patchfile ...'") parser.add_argument( 'in_folder', type=str, help="folder containing original files") @@ -66,6 +65,7 @@ help="folder where patch files will be stored (should be empty)") args, unknown_args = parser.parse_known_args() + # actual script def patch_cmd(in_file, out_file, patch_file): @@ -85,6 +85,7 @@ def patch_cmd(in_file, out_file, patch_file): print("skipped %s (no out file)" % in_file) return + for dirpath, dirnames, filenames in os.walk(args.in_folder): for filename in filenames: in_file = os.path.join(dirpath, filename) diff --git a/scripts/qskope.py b/scripts/qskope.py index e5ff81265..98ea8d186 100755 --- a/scripts/qskope.py +++ b/scripts/qskope.py @@ -57,6 +57,7 @@ import sys from optparse import OptionParser + # main script function def main(): """The main script function. Does argument parsing, file type checking, @@ -66,8 +67,8 @@ def main(): description = """Parse and display the file .""" parser = OptionParser(usage, - version = "%prog $Rev$", - description = description) + version="%prog $Rev$", + description=description) (options, args) = parser.parse_args() if len(args) > 1: @@ -77,10 +78,11 @@ def main(): app = QtGui.QApplication(sys.argv) mainwindow = QSkope() if len(args) >= 1: - mainwindow.openFile(filename = args[0]) + mainwindow.openFile(filename=args[0]) mainwindow.show() sys.exit(app.exec_()) + if __name__ == "__main__": # set up logger logger = logging.getLogger("pyffi") diff --git a/scripts/rockstar_pack_dir_img.py b/scripts/rockstar_pack_dir_img.py index 117c3b687..a6616e052 100755 --- a/scripts/rockstar_pack_dir_img.py +++ b/scripts/rockstar_pack_dir_img.py @@ -72,13 +72,14 @@ usage= "Usage: %prog source_folder destination_folder\n\n" + __doc__ - ) +) (options, args) = parser.parse_args() if len(args) != 2: parser.print_help() exit() unpack_folder, out_folder = args + # actual script def pack(arcroot): @@ -90,6 +91,7 @@ def pack(arcroot): with open(os.path.join(out_folder, arcroot) + '.img', 'wb') as imgfile: dirdata.pack(imgfile, folder) + for arcname in os.listdir(unpack_folder): if os.path.isdir(os.path.join(unpack_folder, arcname)): pack(arcname) diff --git a/scripts/rockstar_unpack_dir_img.py b/scripts/rockstar_unpack_dir_img.py index 29bef47c0..fe2f874ce 100755 --- a/scripts/rockstar_unpack_dir_img.py +++ b/scripts/rockstar_unpack_dir_img.py @@ -72,13 +72,14 @@ usage= "Usage: %prog source_folder destination_folder\n\n" + __doc__ - ) +) (options, args) = parser.parse_args() if len(args) != 2: parser.print_help() exit() in_folder, unpack_folder = args + # actual script def unpack(arcroot): @@ -91,7 +92,8 @@ def unpack(arcroot): with open(os.path.join(in_folder, arcroot) + '.img', 'rb') as imgfile: dirdata.unpack(imgfile, folder) + for arcname in os.listdir(in_folder): if (arcname.endswith('.dir') - and os.path.isfile(os.path.join(in_folder, arcname))): + and os.path.isfile(os.path.join(in_folder, arcname))): unpack(arcname[:-4]) diff --git a/tests/formats/nif/test_bhkpackednitristrips.py b/tests/formats/nif/test_bhkpackednitristrips.py index 90a71f577..a028caed6 100644 --- a/tests/formats/nif/test_bhkpackednitristrips.py +++ b/tests/formats/nif/test_bhkpackednitristrips.py @@ -1,8 +1,9 @@ -from pyffi.formats.nif import NifFormat import nose -def test_bhkPackedNiTriStripsShape(): +from pyffi.formats.nif import NifFormat + +def test_bhkPackedNiTriStripsShape(): # Adding Shapes shape = NifFormat.bhkPackedNiTriStripsShape() nose.tools.assert_equal(shape.num_sub_shapes, 0) @@ -33,4 +34,3 @@ def test_bhkPackedNiTriStripsShape(): nose.tools.assert_equal(shape.data.sub_shapes[1].material.material, 4) nose.tools.assert_equal(shape.data.num_triangles, 3) nose.tools.assert_equal(shape.data.num_vertices, 7) - diff --git a/tests/formats/nif/test_matrix.py b/tests/formats/nif/test_matrix.py index b4f796b0a..a94eae37f 100644 --- a/tests/formats/nif/test_matrix.py +++ b/tests/formats/nif/test_matrix.py @@ -1,5 +1,6 @@ -from pyffi.formats.nif import NifFormat from nose.tools import assert_equals, assert_true, assert_false, assert_almost_equals + +from pyffi.formats.nif import NifFormat from tests.utils import assert_tuple_values @@ -66,7 +67,7 @@ def test_det_inverse_matrices(self): s, r = mat.get_inverse().get_scale_rotation() assert_almost_equals(s, 3.11526432) - assert_true(abs(0.321 - 1/s) < NifFormat.EPSILON) + assert_true(abs(0.321 - 1 / s) < NifFormat.EPSILON) rotation = ((-0.43430806610505857, -0.45177006876291087, 0.7792821186127868), (0.8930951359360114, -0.10331401572519507, 0.43784406664326525), diff --git a/tests/formats/nif/test_skinpartition.py b/tests/formats/nif/test_skinpartition.py index ce4da6c58..ddd2a1711 100644 --- a/tests/formats/nif/test_skinpartition.py +++ b/tests/formats/nif/test_skinpartition.py @@ -1,6 +1,7 @@ -from pyffi.formats.nif import NifFormat from nose.tools import assert_equals +from pyffi.formats.nif import NifFormat + class TestSkinPartition: """Regression tests for NifFormat.SkinPartition""" @@ -40,7 +41,6 @@ def test_skinpartition_get_triangles(self): expected_mapped_tris = [(2, 4, 6), (4, 5, 6), (6, 5, 3), (0, 1, 7)] assert_equals(list(part.get_mapped_triangles()), expected_mapped_tris) - def test_skinpartition_update_triangles(self): """Test NifFormat.SkinPartition updating triangle""" part = NifFormat.SkinPartition() diff --git a/tests/object_model/test_arraytype.py b/tests/object_model/test_arraytype.py index 92259adba..b71378599 100644 --- a/tests/object_model/test_arraytype.py +++ b/tests/object_model/test_arraytype.py @@ -1,11 +1,11 @@ -from pyffi.object_models.array_type import ValidatedList +import nose +from nose.tools import assert_equals + from pyffi.object_models.array_type import UniformArray +from pyffi.object_models.array_type import ValidatedList from pyffi.object_models.simple_type import SimpleType from tests.utils import assert_tuple_values -import nose -from nose.tools import assert_equals - class IntList(ValidatedList): """Mock class to test validation""" @@ -18,6 +18,7 @@ def validate(self, item): class MyInt(SimpleType): """Mock class with a simple value""" + def __init__(self, value=0): self._value = value @@ -79,12 +80,14 @@ class TestAnyArray: @nose.tools.raises(TypeError) def test_invalid_anytype_constructor(self): """Test elements must be of AnyType""" + class InvalidListOfInts(UniformArray): """Mock class to uniform and override values""" ItemType = int def test_subtype_constructor(self): """Test subtyping setting correct ItemType with base AnyType""" + class SubInt(SimpleType): """Mock class to uniform and override values""" diff --git a/tests/object_model/test_simpletype.py b/tests/object_model/test_simpletype.py index 193eb742d..f0f698a87 100644 --- a/tests/object_model/test_simpletype.py +++ b/tests/object_model/test_simpletype.py @@ -1,4 +1,3 @@ -import nose from nose.tools import assert_equals, assert_is_none, assert_false, assert_true from pyffi.object_models.simple_type import SimpleType diff --git a/tests/object_model/xml/test_bit_struct.py b/tests/object_model/xml/test_bit_struct.py index f900ca0ef..30d6c602c 100644 --- a/tests/object_model/xml/test_bit_struct.py +++ b/tests/object_model/xml/test_bit_struct.py @@ -1,9 +1,9 @@ import unittest -from nose.tools import assert_equals, assert_false, assert_true, raises +from nose.tools import assert_equals, assert_true -from pyffi.object_models.xml.bit_struct import BitStructBase from pyffi.object_models.xml import BitStructAttribute as Attr +from pyffi.object_models.xml.bit_struct import BitStructBase class SimpleFormat(object): @@ -17,6 +17,7 @@ class Flags(BitStructBase): _attrs = [Attr(SimpleFormat, dict(name='a', numbits='3')), Attr(SimpleFormat, dict(name='b', numbits='1'))] + SimpleFormat.Flags = Flags diff --git a/tests/object_model/xml/test_expression.py b/tests/object_model/xml/test_expression.py index ac9c0bb5c..a9c459eb2 100644 --- a/tests/object_model/xml/test_expression.py +++ b/tests/object_model/xml/test_expression.py @@ -1,8 +1,9 @@ import unittest -from pyffi.object_models.xml.expression import Expression from nose.tools import assert_equals, assert_false, assert_true, raises +from pyffi.object_models.xml.expression import Expression + class A(object): x = False @@ -36,7 +37,7 @@ def test_name_filter(self): def nameFilter(s): return 'hello_' + s.lower() - assert_false(bool(Expression('(99 &15) &&WoRlD', name_filter = nameFilter).eval(self.a))) + assert_false(bool(Expression('(99 &15) &&WoRlD', name_filter=nameFilter).eval(self.a))) @raises(AttributeError) def test_attribute_error(self): @@ -54,6 +55,7 @@ def test_implicit_cast(self): self.a.x = B() assert_equals(Expression('x * 10').eval(self.a), 70) + class TestPartition: def test_partition_empty(self): @@ -103,4 +105,4 @@ def test_nested_braces(self): s = ' (abc(dd efy 442))xxg' start_pos, end_pos = Expression._scan_brackets(s) - assert_equals(s[start_pos + 1:end_pos], "abc(dd efy 442)") \ No newline at end of file + assert_equals(s[start_pos + 1:end_pos], "abc(dd efy 442)") diff --git a/tests/perf/fraps_minmaxavg.py b/tests/perf/fraps_minmaxavg.py index a1c6c3eeb..0eded5369 100644 --- a/tests/perf/fraps_minmaxavg.py +++ b/tests/perf/fraps_minmaxavg.py @@ -61,6 +61,7 @@ name = name.strip() total[root][name].append(float(num)) + def summary(outfile): for root in sorted(total): if not total[root]["Frames"]: @@ -76,6 +77,7 @@ def summary(outfile): 1.96 * sd(vec) / (len(vec) ** 0.5)), file=outfile) print(file=outfile) + summary(sys.stdout) with open(os.path.join(folder, "summary.txt"), "w") as outfile: summary(outfile) diff --git a/tests/perf/objgraph.py b/tests/perf/objgraph.py index 7e20ce305..7e6a32e1c 100644 --- a/tests/perf/objgraph.py +++ b/tests/perf/objgraph.py @@ -54,13 +54,12 @@ __version__ = "1.1dev" __date__ = "2008-09-05" - import gc import inspect -import types -import weakref import operator import os +import types +import weakref def count(typename): @@ -186,7 +185,7 @@ def find_backref_chain(obj, predicate, max_depth=20, extra_ignore=()): depth[id(source)] = tdepth + 1 parent[id(source)] = target queue.append(source) - return None # not found + return None # not found def show_backrefs(objs, max_depth=3, extra_ignore=(), filter=None, too_many=10, @@ -258,6 +257,7 @@ def show_refs(objs, max_depth=3, extra_ignore=(), filter=None, too_many=10, filter=filter, too_many=too_many, highlight=highlight, edge_func=gc.get_referents, swap_source_target=True) + # # Internal helpers # @@ -379,9 +379,9 @@ def gradient(start_color, end_color, depth, max_depth): h1, s1, v1 = start_color h2, s2, v2 = end_color f = float(depth) / max_depth - h = h1 * (1-f) + h2 * f - s = s1 * (1-f) + s2 * f - v = v1 * (1-f) + v2 * f + h = h1 * (1 - f) + h2 * f + s = s1 * (1 - f) + s2 * f + v = v1 * (1 - f) + v2 * f return h, s, v @@ -396,4 +396,3 @@ def edge_label(source, target): else: return ' [label="%s"]' % quote(safe_repr(k)) return '' - diff --git a/tests/perf/summary.py b/tests/perf/summary.py index e7901a185..6258f494e 100644 --- a/tests/perf/summary.py +++ b/tests/perf/summary.py @@ -37,8 +37,6 @@ # # ***** END LICENSE BLOCK ***** -import os -import sys def mean(vec): """Sample mean. @@ -49,6 +47,7 @@ def mean(vec): return float(sum(vec)) / len(vec) + def sd(vec): """Sample standard deviation. @@ -58,6 +57,7 @@ def sd(vec): m = mean(vec) return (float(sum((v - m) ** 2 for v in vec)) / (len(vec) - 1)) ** 0.5 + def median(vec): """ >>> median([1, 2, 3, 4, 5]) @@ -74,6 +74,7 @@ def median(vec): else: return 0.5 * (vec[mid] + vec[mid + 1]) + def mad(vec): """Median absolute deviation. @@ -83,6 +84,7 @@ def mad(vec): m = median(vec) return median(abs(x - m) for x in vec) + def iqr(vec): """Interquartile range. @@ -101,6 +103,7 @@ def iqr(vec): right = vec[mid + 1:] return median(right) - median(left) + def confint(vec, robust=False): """Confidence interval for the population mean at 5% significance.""" if not robust: @@ -111,6 +114,8 @@ def confint(vec, robust=False): bound = 1.96 * 1.349 * iqr(vec) / (len(vec) ** 0.5) return center - bound, center + bound + if __name__ == "__main__": import doctest + doctest.testmod() diff --git a/tests/perf/txt_minmaxavg.py b/tests/perf/txt_minmaxavg.py index e0c7132d9..03f88755a 100644 --- a/tests/perf/txt_minmaxavg.py +++ b/tests/perf/txt_minmaxavg.py @@ -50,11 +50,11 @@ parser.add_argument( '--robust', dest='robust', default=False, action='store_true', help='use median and iqr instead of mean and standard deviation', - ) +) parser.add_argument( 'folder', type=str, action='store', help='the folder to process files from', - ) +) args = parser.parse_args() @@ -71,9 +71,11 @@ row = row.strip() total[name].append(float(row)) + def summary(outfile): for name, vec in sorted(total.items()): low, up = confint(vec, robust=args.robust) print("{0:10}: [{1:10.4f}, {2:10.4f}]".format(name, low, up), file=outfile) + summary(sys.stdout) diff --git a/tests/scripts/cgf/__init__.py b/tests/scripts/cgf/__init__.py index ac635dbad..56c80bf1c 100644 --- a/tests/scripts/cgf/__init__.py +++ b/tests/scripts/cgf/__init__.py @@ -1,9 +1,10 @@ import imp import os.path import sys +from os.path import dirname + from tests import test_logger -from os.path import dirname dir_path = __file__ for i in range(4): # recurse up to root repo dir dir_path = dirname(dir_path) diff --git a/tests/scripts/cgf/test_cgftoaster.py b/tests/scripts/cgf/test_cgftoaster.py index 2e991eb93..b0752950a 100644 --- a/tests/scripts/cgf/test_cgftoaster.py +++ b/tests/scripts/cgf/test_cgftoaster.py @@ -1,5 +1,6 @@ """Tests for the cgftoaster script""" from nose.tools import raises + from tests.scripts.cgf import call_cgftoaster cfg_dir = "tests/spells/cgf/files/" diff --git a/tests/scripts/kfm/__init__.py b/tests/scripts/kfm/__init__.py index a9938471e..63f38e9c0 100644 --- a/tests/scripts/kfm/__init__.py +++ b/tests/scripts/kfm/__init__.py @@ -1,10 +1,10 @@ import imp import os.path import sys +from os.path import dirname from tests import test_logger -from os.path import dirname dir_path = __file__ for i in range(4): # recurse up to root repo dir dir_path = dirname(dir_path) diff --git a/tests/scripts/nif/__init__.py b/tests/scripts/nif/__init__.py index 981d7f53c..1c1023990 100644 --- a/tests/scripts/nif/__init__.py +++ b/tests/scripts/nif/__init__.py @@ -1,10 +1,10 @@ import imp import os.path import sys +from os.path import dirname from tests import test_logger -from os.path import dirname dir_path = __file__ for i in range(4): # recurse up to root repo dir dir_path = dirname(dir_path) diff --git a/tests/scripts/nif/test_niftoaster.py b/tests/scripts/nif/test_niftoaster.py index 1596b9671..13a55b43b 100644 --- a/tests/scripts/nif/test_niftoaster.py +++ b/tests/scripts/nif/test_niftoaster.py @@ -2,7 +2,9 @@ import os import os.path + from nose.tools import assert_equal, assert_almost_equal, raises + from tests.scripts.nif import call_niftoaster nif_dir = "tests/spells/nif/files/" @@ -49,47 +51,47 @@ def test_check_skip_only(): toaster = call_niftoaster( *("--raise --skip texture --skip skin --only fix_t --only center check_nop {0}".format(nif_dir).split())) assert_equal(sorted(toaster.files_done), [ - nif_dir + 'test_centerradius.nif', - nif_dir + 'test_fix_tangentspace.nif']) + nif_dir + 'test_centerradius.nif', + nif_dir + 'test_fix_tangentspace.nif']) assert_equal(sorted(toaster.files_skipped), [ - nif_dir + 'invalid.nif', - nif_dir + 'nds.nif', - nif_dir + 'neosteam.nif', - nif_dir + 'test.nif', - nif_dir + 'test_check_tangentspace1.nif', - nif_dir + 'test_check_tangentspace2.nif', - nif_dir + 'test_check_tangentspace3.nif', - nif_dir + 'test_check_tangentspace4.nif', - nif_dir + 'test_convexverticesshape.nif', - nif_dir + 'test_dump_tex.nif', - nif_dir + 'test_fix_clampmaterialalpha.nif', - nif_dir + 'test_fix_cleanstringpalette.nif', - nif_dir + 'test_fix_detachhavoktristripsdata.nif', - nif_dir + 'test_fix_disableparallax.nif', - nif_dir + 'test_fix_ffvt3rskinpartition.nif', - nif_dir + 'test_fix_mergeskeletonroots.nif', - nif_dir + 'test_fix_texturepath.nif', - nif_dir + 'test_grid_128x128.nif', - nif_dir + 'test_grid_64x64.nif', - nif_dir + 'test_mopp.nif', - nif_dir + 'test_opt_collision_complex_mopp.nif', - nif_dir + 'test_opt_collision_mopp.nif', - nif_dir + 'test_opt_collision_packed.nif', - nif_dir + 'test_opt_collision_to_boxshape.nif', - nif_dir + 'test_opt_collision_to_boxshape_notabox.nif', - nif_dir + 'test_opt_collision_unpacked.nif', - nif_dir + 'test_opt_delunusedbones.nif', - nif_dir + 'test_opt_dupgeomdata.nif', - nif_dir + 'test_opt_dupverts.nif', - nif_dir + 'test_opt_emptyproperties.nif', - nif_dir + 'test_opt_grid_layout.nif', - nif_dir + 'test_opt_mergeduplicates.nif', - nif_dir + 'test_opt_vertex_cache.nif', - nif_dir + 'test_opt_zeroscale.nif', - nif_dir + 'test_skincenterradius.nif', - nif_dir + 'test_vertexcolor.nif', - ]) + nif_dir + 'invalid.nif', + nif_dir + 'nds.nif', + nif_dir + 'neosteam.nif', + nif_dir + 'test.nif', + nif_dir + 'test_check_tangentspace1.nif', + nif_dir + 'test_check_tangentspace2.nif', + nif_dir + 'test_check_tangentspace3.nif', + nif_dir + 'test_check_tangentspace4.nif', + nif_dir + 'test_convexverticesshape.nif', + nif_dir + 'test_dump_tex.nif', + nif_dir + 'test_fix_clampmaterialalpha.nif', + nif_dir + 'test_fix_cleanstringpalette.nif', + nif_dir + 'test_fix_detachhavoktristripsdata.nif', + nif_dir + 'test_fix_disableparallax.nif', + nif_dir + 'test_fix_ffvt3rskinpartition.nif', + nif_dir + 'test_fix_mergeskeletonroots.nif', + nif_dir + 'test_fix_texturepath.nif', + nif_dir + 'test_grid_128x128.nif', + nif_dir + 'test_grid_64x64.nif', + nif_dir + 'test_mopp.nif', + nif_dir + 'test_opt_collision_complex_mopp.nif', + nif_dir + 'test_opt_collision_mopp.nif', + nif_dir + 'test_opt_collision_packed.nif', + nif_dir + 'test_opt_collision_to_boxshape.nif', + nif_dir + 'test_opt_collision_to_boxshape_notabox.nif', + nif_dir + 'test_opt_collision_unpacked.nif', + nif_dir + 'test_opt_delunusedbones.nif', + nif_dir + 'test_opt_dupgeomdata.nif', + nif_dir + 'test_opt_dupverts.nif', + nif_dir + 'test_opt_emptyproperties.nif', + nif_dir + 'test_opt_grid_layout.nif', + nif_dir + 'test_opt_mergeduplicates.nif', + nif_dir + 'test_opt_vertex_cache.nif', + nif_dir + 'test_opt_zeroscale.nif', + nif_dir + 'test_skincenterradius.nif', + nif_dir + 'test_vertexcolor.nif', + ]) assert_equal(toaster.files_failed, set([])) @@ -101,7 +103,7 @@ def test_prefix_suffix(): os.remove(nif_dir + "pre_test_suf.nif") -#TODO Move to spell test +# TODO Move to spell test def test_check_bhkbodycenter(): """Test body centre spell""" testfile = nif_dir + "test_fix_detachhavoktristripsdata.nif" @@ -129,6 +131,7 @@ def test_check_centerradius(): assert_almost_equal(orig_radius, 10.0) assert_almost_equal(calc_radius, 17.32050890) + """ The check_skincenterradius spell -------------------------------- diff --git a/tests/spells/cgf/check/test_tangentspace.py b/tests/spells/cgf/check/test_tangentspace.py index 251d7eba5..6d356d975 100644 --- a/tests/spells/cgf/check/test_tangentspace.py +++ b/tests/spells/cgf/check/test_tangentspace.py @@ -14,7 +14,7 @@ def setUp(self): def test_non_interactive_check_tangentspace(self): """Check_tangentspace spell""" - call_cgftoaster("--raise", "check_tangentspace", "--noninteractive", "--verbose=1", self.dest_file) + call_cgftoaster("--raise", "check_tangentspace", "--noninteractive", "--verbose=1", self.dest_file) """ pyffi.toaster:INFO:=== tests/formats/cgf/monkey.cgf === pyffi.toaster:INFO: --- check_tangentspace --- @@ -26,4 +26,4 @@ def test_non_interactive_check_tangentspace(self): ... pyffi.toaster:INFO: ~~~ NodeChunk [CryExportNode_monkey-CGF-monkey-DoExport-MergeNodes] ~~~ pyffi.toaster:INFO:Finished. - """ \ No newline at end of file + """ diff --git a/tests/spells/cgf/check/test_vertex_colors.py b/tests/spells/cgf/check/test_vertex_colors.py index 15413fbd7..a83ac6d5f 100644 --- a/tests/spells/cgf/check/test_vertex_colors.py +++ b/tests/spells/cgf/check/test_vertex_colors.py @@ -44,4 +44,4 @@ def test_non_interactive_check_vcols(self): pyffi.toaster:INFO: ~~~ MeshChunk [] ~~~ pyffi.toaster:INFO: has vertex colors! pyffi.toaster:INFO:Finished. - """ \ No newline at end of file + """ diff --git a/tests/spells/cgf/dump/test_dump_data.py b/tests/spells/cgf/dump/test_dump_data.py index 167e168f3..92a5d30af 100644 --- a/tests/spells/cgf/dump/test_dump_data.py +++ b/tests/spells/cgf/dump/test_dump_data.py @@ -1,6 +1,6 @@ """Tests for the dump spell for cgf""" -from tests.utils import BaseCgfFileTestCase from tests.scripts.cgf import call_cgftoaster +from tests.utils import BaseCgfFileTestCase class TestDumpDataCgf(BaseCgfFileTestCase): diff --git a/tests/spells/kf/__init__.py b/tests/spells/kf/__init__.py index d82041e73..9c6acc6e2 100644 --- a/tests/spells/kf/__init__.py +++ b/tests/spells/kf/__init__.py @@ -1 +1 @@ -"""Module to test KF spells""" \ No newline at end of file +"""Module to test KF spells""" diff --git a/tests/spells/kf/test_getsetbonepriorities.py b/tests/spells/kf/test_getsetbonepriorities.py index 87bd9e657..509d9c1bd 100644 --- a/tests/spells/kf/test_getsetbonepriorities.py +++ b/tests/spells/kf/test_getsetbonepriorities.py @@ -1,26 +1,25 @@ """Tests for the get/setbonepriorities spells.""" import codecs -import os.path - -import tempfile import os +import os.path import shutil +import tempfile +from os.path import dirname import nose.tools from pyffi.formats.nif import NifFormat from tests.scripts.nif import call_niftoaster -from os.path import dirname dir_path = __file__ for i in range(1): # recurse up to root repo dir dir_path = dirname(dir_path) test_root = dir_path input_files = os.path.join(test_root, 'spells', 'kf').replace("\\", "/") -class TestGetSetBonePrioritiesOblivion: +class TestGetSetBonePrioritiesOblivion: out = None file_name = "test_controllersequence.kf" txt_name = "test_controllersequence_bonepriorities.txt" @@ -31,7 +30,6 @@ def setup(self): self.kffile2 = os.path.join(test_root, "_" + self.file_name) self.txtfile = os.path.join(test_root, self.txt_name) - def teardown(self): shutil.rmtree(self.out) @@ -41,7 +39,7 @@ def check_priorities(filename, priorities): data = NifFormat.Data() with open(filename, "rb") as stream: data.read(stream) - nose.tools.assert_equal(len(data.roots), 1) + nose.tools.assert_equal(len(data.roots), 1) seq = data.roots[0] nose.tools.assert_is_instance(seq, NifFormat.NiControllerSequence) nose.tools.assert_list_equal( @@ -54,12 +52,12 @@ def test_check_get_set_bonepriorities(self): nose.tools.assert_true(os.path.exists(self.txtfile)) with codecs.open(self.txtfile, "rb", encoding="ascii") as stream: contents = stream.read() - nose.tools.assert_equal(contents,'[TestAction]\r\nBip01=27\r\nBip01 Pelvis=27\r\nBip01 Spine=75\r\n') + nose.tools.assert_equal(contents, '[TestAction]\r\nBip01=27\r\nBip01 Pelvis=27\r\nBip01 Spine=75\r\n') with codecs.open(self.txtfile, "wb", encoding="ascii") as stream: stream.write("[TestAction]\n") stream.write("Bip01=33\n") stream.write("Bip01 Pelvis=29\n") - stream.write("Bip01 Spine=42\n") # .replace('\r\n', '\n')) # replace probably not needed; just in case + stream.write("Bip01 Spine=42\n") # .replace('\r\n', '\n')) # replace probably not needed; just in case toaster = call_niftoaster("--raise", "modify_setbonepriorities", "--prefix=_", self.kffile) nose.tools.assert_equal(list(toaster.files_done), [self.kffile]) self.check_priorities(self.kffile2, [33, 29, 42]) diff --git a/tests/spells/nif/__init__.py b/tests/spells/nif/__init__.py index 8da660db7..b1267c92c 100644 --- a/tests/spells/nif/__init__.py +++ b/tests/spells/nif/__init__.py @@ -1,9 +1,9 @@ import imp +import logging import os.path import sys -import logging - from os.path import dirname + dir_path = __file__ for i in range(4): # recurse up to root repo dir dir_path = dirname(dir_path) diff --git a/tests/spells/nif/dump/test_texture_properties.py b/tests/spells/nif/dump/test_texture_properties.py index 22f77d980..876dc5884 100644 --- a/tests/spells/nif/dump/test_texture_properties.py +++ b/tests/spells/nif/dump/test_texture_properties.py @@ -36,6 +36,7 @@ def test_non_interactive_dump_texture_properties(self): pyffi.toaster:INFO:Finished. """ + class TestDumpTextureDataNif(BaseNifFileTestCase): """Invoke the dump_tex spell check through nif toaster""" diff --git a/tests/spells/nif/fix/test_clampmaterialalpha.py b/tests/spells/nif/fix/test_clampmaterialalpha.py index c21d97148..03b2d80b9 100644 --- a/tests/spells/nif/fix/test_clampmaterialalpha.py +++ b/tests/spells/nif/fix/test_clampmaterialalpha.py @@ -1,10 +1,9 @@ """Tests for the fix_texturepath spell""" -from tests.scripts.nif import call_niftoaster -from tests.utils import BaseNifFileTestCase +from nose.tools import assert_true, assert_equals from pyffi.spells.nif.fix import SpellClampMaterialAlpha - -from nose.tools import assert_true, assert_equals +from tests.scripts.nif import call_niftoaster +from tests.utils import BaseNifFileTestCase class TestFixTexturePathToasterNif(BaseNifFileTestCase): @@ -29,8 +28,8 @@ def test_explicit_fix_texture_path(self): assert_equals(self.data.roots[0].children[0].children[1].properties[0].alpha, 0.0) def test_non_interactive_fix_clamp_material_alpha(self): - - call_niftoaster("--raise", "fix_clampmaterialalpha", "--dry-run", "--noninteractive", "--verbose=1", self.dest_file) + call_niftoaster("--raise", "fix_clampmaterialalpha", "--dry-run", "--noninteractive", "--verbose=1", + self.dest_file) """ pyffi.toaster:INFO:=== tests/spells/nif/files/test_fix_clampmaterialalpha.nif === diff --git a/tests/spells/nif/fix/test_cleanstringpalette.py b/tests/spells/nif/fix/test_cleanstringpalette.py index 6ef08c4b0..eaa7cd276 100644 --- a/tests/spells/nif/fix/test_cleanstringpalette.py +++ b/tests/spells/nif/fix/test_cleanstringpalette.py @@ -1,16 +1,14 @@ """Tests for the fix_cleanstringpalette spell""" -from tests.scripts.nif import call_niftoaster -from tests.utils import BaseNifFileTestCase +from nose.tools import assert_equals from pyffi.spells.nif.fix import SpellCleanStringPalette - -from nose.tools import assert_equals +from tests.scripts.nif import call_niftoaster +from tests.utils import BaseNifFileTestCase class TestFixTexturePathToasterNif(BaseNifFileTestCase): """Invoke the fix_texturepath spell check through nif toaster""" - def setUp(self): super(TestFixTexturePathToasterNif, self).setUp() self.src_name = "test_fix_cleanstringpalette.nif" @@ -33,4 +31,5 @@ def test_explicit_fix_string_palette(self): assert_equals(strings, expected) def test_non_interactive_fix_string_palette(self): - call_niftoaster("--raise", "fix_cleanstringpalette", "--dry-run", "--noninteractive", "--verbose=1", self.dest_file) + call_niftoaster("--raise", "fix_cleanstringpalette", "--dry-run", "--noninteractive", "--verbose=1", + self.dest_file) diff --git a/tests/spells/nif/fix/test_detachhavoktristripsdata.py b/tests/spells/nif/fix/test_detachhavoktristripsdata.py index 6ab4961c1..47c70ca47 100644 --- a/tests/spells/nif/fix/test_detachhavoktristripsdata.py +++ b/tests/spells/nif/fix/test_detachhavoktristripsdata.py @@ -1,10 +1,9 @@ """Tests for the fix_detachhavoktristripsdata spell""" -from tests.scripts.nif import call_niftoaster -from tests.utils import BaseNifFileTestCase +from nose.tools import assert_true, assert_false from pyffi.spells.nif.fix import SpellDetachHavokTriStripsData - -from nose.tools import assert_equals, assert_true, assert_false +from tests.scripts.nif import call_niftoaster +from tests.utils import BaseNifFileTestCase class TestDetachHavokTriStripsDataNif(BaseNifFileTestCase): diff --git a/tests/spells/nif/fix/test_substitutestringpalette.py b/tests/spells/nif/fix/test_substitutestringpalette.py index fc736f917..1d5260a2b 100644 --- a/tests/spells/nif/fix/test_substitutestringpalette.py +++ b/tests/spells/nif/fix/test_substitutestringpalette.py @@ -1,9 +1,9 @@ """Tests for the modify_substitutestringpalette spell""" +from nose.tools import assert_true + from tests.scripts.nif import call_niftoaster from tests.utils import BaseNifFileTestCase -from nose.tools import assert_true - class TestModifySubstitutePaletteNif(BaseNifFileTestCase): """Invoke the modify_substitutestringpalette spell check through nif toaster""" @@ -21,7 +21,8 @@ def test_non_interactive_modify_string_palette_values(self): assert_true(strings, expected) # substitute - call_niftoaster("--raise", "modify_substitutestringpalette", "-a", "/Test/Woops", "--noninteractive", "--verbose=1", self.dest_file) + call_niftoaster("--raise", "modify_substitutestringpalette", "-a", "/Test/Woops", "--noninteractive", + "--verbose=1", self.dest_file) """ pyffi.toaster:INFO:=== tests/spells/nif/files...test_fix_cleanstringpalette.nif === diff --git a/tests/spells/nif/fix/test_tangentspace.py b/tests/spells/nif/fix/test_tangentspace.py index 8dab8cae6..88f773037 100644 --- a/tests/spells/nif/fix/test_tangentspace.py +++ b/tests/spells/nif/fix/test_tangentspace.py @@ -1,9 +1,8 @@ """Regression test for tangent space algorithm""" +from pyffi.spells.nif.fix import SpellAddTangentSpace from tests.scripts.nif import call_niftoaster from tests.utils import BaseNifFileTestCase, assert_tuple_values -from pyffi.spells.nif.fix import SpellAddTangentSpace - class TestFixTangentSpaceNif(BaseNifFileTestCase): """Invoke the fix_texturepath spell check through nif toaster""" @@ -1518,8 +1517,7 @@ def setUp(self): super(TestFixDeltaTangentSpaceNif, self).readNifData() def test_non_interactive_fix_addtangentspace(self): - - call_niftoaster("--raise", "fix_deltangentspace", "fix_addtangentspace", "--dry-run", "--noninteractive", + call_niftoaster("--raise", "fix_deltangentspace", "fix_addtangentspace", "--dry-run", "--noninteractive", "--verbose=1", self.dest_file) """ pyffi.toaster:INFO:=== tests/spells/nif/files/test_fix_tangentspace.nif === @@ -1533,9 +1531,8 @@ def test_non_interactive_fix_addtangentspace(self): """ def test_non_interactive_fix_addtangentspace_series(self): - call_niftoaster("--raise", "fix_deltangentspace", "fix_addtangentspace", "--series", - "--dry-run", "--noninteractive", "--verbose=1", self.dest_file) + "--dry-run", "--noninteractive", "--verbose=1", self.dest_file) """ pyffi.toaster:INFO:=== tests/spells/nif/files/test_fix_tangentspace.nif === @@ -1549,4 +1546,4 @@ def test_non_interactive_fix_addtangentspace_series(self): pyffi.toaster:INFO: adding tangent space pyffi.toaster:INFO: writing to temporary file pyffi.toaster:INFO:Finished. - """ \ No newline at end of file + """ diff --git a/tests/spells/nif/fix/test_texturepath.py b/tests/spells/nif/fix/test_texturepath.py index 242c0b9ef..f8c2f13c7 100644 --- a/tests/spells/nif/fix/test_texturepath.py +++ b/tests/spells/nif/fix/test_texturepath.py @@ -1,6 +1,7 @@ """Tests for the fix_texturepath spell""" from tests.scripts.nif import call_niftoaster -from tests.utils import BaseNifFileTestCase, assert_tuple_values +from tests.utils import BaseNifFileTestCase + class TestFixTangentSpaceNif(BaseNifFileTestCase): """Invoke the fix_texturepath spell check through nif toaster""" @@ -34,4 +35,3 @@ def test_non_interactive_fix_texture_path(self): pyffi.toaster:INFO: writing to temporary file pyffi.toaster:INFO:Finished. """ - diff --git a/tests/spells/nif/modify/test_delbranches.py b/tests/spells/nif/modify/test_delbranches.py index a009cbc14..b10226a9e 100644 --- a/tests/spells/nif/modify/test_delbranches.py +++ b/tests/spells/nif/modify/test_delbranches.py @@ -1,9 +1,9 @@ """Tests for the modify_delbranches spell and its friends""" +from nose.tools import assert_equals + from tests.scripts.nif import call_niftoaster from tests.utils import BaseNifFileTestCase -from nose.tools import assert_equals - class TestModifyDelBranchesNif(BaseNifFileTestCase): """Invoke the modify_delbranches spell check through nif toaster""" @@ -179,4 +179,4 @@ def test_non_interactive_modify_delalphaprop(self): 'NiTexturingProperty', 'NiSourceTexture', 'NiMaterialProperty', 'NiWireframeProperty', 'NiDitherProperty', 'NiTriStripsData'] - assert_equals(blocks, branches) \ No newline at end of file + assert_equals(blocks, branches) diff --git a/tests/spells/nif/modify/test_delvertexcolor.py b/tests/spells/nif/modify/test_delvertexcolor.py index 15b17215f..09ad9a8a9 100644 --- a/tests/spells/nif/modify/test_delvertexcolor.py +++ b/tests/spells/nif/modify/test_delvertexcolor.py @@ -1,9 +1,9 @@ """Tests for the modify_delvertexcolor spell""" +from nose.tools import assert_equals, assert_false, assert_true + from tests.scripts.nif import call_niftoaster from tests.utils import BaseNifFileTestCase -from nose.tools import assert_equals, assert_false, assert_true - class TestModifyDelBranchesNif(BaseNifFileTestCase): """Invoke the modify_delvertexcolor spell check through nif toaster""" @@ -22,7 +22,6 @@ def test_non_interactive_modify_delbranches(self): assert_equals(blocks, expected) assert_true(self.data.roots[0].children[0].data.has_vertex_colors) - # delete vertex color call_niftoaster("--raise", "modify_delvertexcolor", "--noninteractive", "--verbose=1", self.dest_file) """ @@ -42,6 +41,7 @@ def test_non_interactive_modify_delbranches(self): # check that file has no vertex color blocks = [block.__class__.__name__ for block in self.data.blocks] - expected = ['NiNode', 'NiTriStrips', 'NiStencilProperty', 'NiSpecularProperty', 'NiMaterialProperty', 'NiTriStripsData'] + expected = ['NiNode', 'NiTriStrips', 'NiStencilProperty', 'NiSpecularProperty', 'NiMaterialProperty', + 'NiTriStripsData'] assert_equals(blocks, expected) assert_false(self.data.roots[0].children[0].data.has_vertex_colors) diff --git a/tests/spells/nif/optimize/test_collision.py b/tests/spells/nif/optimize/test_collision.py index e67e5f45d..0cbceaaf1 100644 --- a/tests/spells/nif/optimize/test_collision.py +++ b/tests/spells/nif/optimize/test_collision.py @@ -1,9 +1,9 @@ -from tests.utils import BaseNifFileTestCase import nose + import pyffi -from pyffi.spells import Toaster from pyffi.formats.nif import NifFormat - +from pyffi.spells import Toaster +from tests.utils import BaseNifFileTestCase from tests.utils import assert_tuple_values @@ -165,7 +165,8 @@ def test_box_from_packed_collision_optimisation(self): """Test that a collision mesh which is not a box, but whose vertices form a box, is not converted to a box.""" # check initial data - nose.tools.assert_equals(self.data.roots[0].collision_object.body.shape.__class__.__name__, 'bhkMoppBvTreeShape') + nose.tools.assert_equals(self.data.roots[0].collision_object.body.shape.__class__.__name__, + 'bhkMoppBvTreeShape') # run the box spell spell = pyffi.spells.nif.optimize.SpellOptimizeCollisionBox(data=self.data) @@ -179,7 +180,8 @@ def test_box_from_packed_collision_optimisation(self): """ # check that we still have a mopp collision, and not a box collision - nose.tools.assert_equals(self.data.roots[0].collision_object.body.shape.__class__.__name__, 'bhkMoppBvTreeShape') + nose.tools.assert_equals(self.data.roots[0].collision_object.body.shape.__class__.__name__, + 'bhkMoppBvTreeShape') class TestMoppCollisionOptimisationNif(BaseNifFileTestCase): @@ -190,7 +192,6 @@ def setUp(self): super(TestMoppCollisionOptimisationNif, self).readNifData() def test_optimise_collision_complex_mopp(self): - # check initial data shape = self.shape nose.tools.assert_equals(shape.sub_shapes[0].num_vertices, 53) diff --git a/tests/spells/nif/optimize/test_delunusedbones.py b/tests/spells/nif/optimize/test_delunusedbones.py index d3aeb5cee..6b83439fd 100644 --- a/tests/spells/nif/optimize/test_delunusedbones.py +++ b/tests/spells/nif/optimize/test_delunusedbones.py @@ -1,6 +1,7 @@ -from tests.utils import BaseNifFileTestCase from nose.tools import assert_equals, assert_is + from pyffi.spells.nif.optimize import SpellDelUnusedBones +from tests.utils import BaseNifFileTestCase class TestDeleteUnusedBonesOptimisationNif(BaseNifFileTestCase): diff --git a/tests/spells/nif/optimize/test_delzeroscale.py b/tests/spells/nif/optimize/test_delzeroscale.py index 31cd9fb20..ef3b9d62a 100644 --- a/tests/spells/nif/optimize/test_delzeroscale.py +++ b/tests/spells/nif/optimize/test_delzeroscale.py @@ -1,9 +1,9 @@ -from tests.utils import BaseNifFileTestCase from nose.tools import assert_true + +from pyffi.spells.nif.optimize import SpellDelZeroScale from tests import test_logger -import pyffi from tests.utils import BaseNifFileTestCase -from pyffi.spells.nif.optimize import SpellDelZeroScale + class TestDelZeroScaleOptimisationNif(BaseNifFileTestCase): """Test for the delete zero scale spell""" diff --git a/tests/spells/nif/optimize/test_mergeduplicates.py b/tests/spells/nif/optimize/test_mergeduplicates.py index f74a7ebcf..3099d9112 100644 --- a/tests/spells/nif/optimize/test_mergeduplicates.py +++ b/tests/spells/nif/optimize/test_mergeduplicates.py @@ -1,10 +1,9 @@ -from tests.scripts.nif import call_niftoaster -from tests.utils import BaseNifFileTestCase +from nose.tools import assert_true, assert_false import pyffi from pyffi.spells import Toaster - -from nose.tools import assert_true, assert_false +from tests.scripts.nif import call_niftoaster +from tests.utils import BaseNifFileTestCase class TestMergeDuplicatesOptimisationNif(BaseNifFileTestCase): @@ -16,8 +15,9 @@ def setUp(self): super(TestMergeDuplicatesOptimisationNif, self).copyFile() def test_non_interactive_opt_merge_duplicates(self): - call_niftoaster("--raise", "opt_mergeduplicates", "--dry-run", "--noninteractive", "--verbose=1", self.dest_file) - + call_niftoaster("--raise", "opt_mergeduplicates", "--dry-run", "--noninteractive", "--verbose=1", + self.dest_file) + class TestMergeDuplicatesGeomOptimisationNif(BaseNifFileTestCase): # I didn't need setUp and tearDown here.. @@ -80,4 +80,4 @@ def test_non_interactive_opt_merge_duplicates(self): spell = pyffi.spells.nif.optimize.SpellMergeDuplicates(data=self.data) spell.recurse() - assert_false(has_duplicates(self.data.roots[0])) \ No newline at end of file + assert_false(has_duplicates(self.data.roots[0])) diff --git a/tests/spells/nif/optimize/test_niftoaster.py b/tests/spells/nif/optimize/test_niftoaster.py index 6b4dfea8a..d6d534749 100644 --- a/tests/spells/nif/optimize/test_niftoaster.py +++ b/tests/spells/nif/optimize/test_niftoaster.py @@ -1,8 +1,7 @@ +from pyffi.spells import Toaster +from tests import test_logger from tests.scripts.nif import call_niftoaster from tests.utils import BaseNifFileTestCase -from tests import test_logger - -from pyffi.spells import Toaster class TestToasterOptimisationNif(BaseNifFileTestCase): @@ -39,6 +38,7 @@ def test_simulate_user_optimisation(self): Toaster.toast.__globals__['input'] = input_func call_niftoaster("optimize", "--raise", "--verbose=1", self.dest_file) + inputs = ["yes it is", "n", "y"] # list of inputs of this test diff --git a/tests/spells/nif/optimize/test_vertex_cache.py b/tests/spells/nif/optimize/test_vertex_cache.py index 10a1682e6..2ff389e0c 100644 --- a/tests/spells/nif/optimize/test_vertex_cache.py +++ b/tests/spells/nif/optimize/test_vertex_cache.py @@ -1,7 +1,7 @@ -from tests.utils import BaseNifFileTestCase from nose.tools import assert_equals import pyffi +from tests.utils import BaseNifFileTestCase class TestVertexCacheOptimisationNif(BaseNifFileTestCase): diff --git a/tests/spells/test_toaster.py b/tests/spells/test_toaster.py index 228267aef..34039041a 100644 --- a/tests/spells/test_toaster.py +++ b/tests/spells/test_toaster.py @@ -1,7 +1,7 @@ """Tests for pyffi.""" -import tempfile import os import shutil +import tempfile from nose.tools import assert_true, assert_false @@ -34,7 +34,6 @@ def test_toaster_exclude(self): assert_false(toaster.is_admissible_branch_class(NifFormat.NiLODNode)) assert_false(toaster.is_admissible_branch_class(NifFormat.NiMaterialProperty)) - def test_toaster_include(self): """Test include only NiProperty and NiNode inherited types""" toaster = MyToaster(options={"include": ["NiProperty", "NiNode"]}) @@ -44,7 +43,6 @@ def test_toaster_include(self): assert_true(toaster.is_admissible_branch_class(NifFormat.NiLODNode)) # NiNode subclass! assert_true(toaster.is_admissible_branch_class(NifFormat.NiMaterialProperty)) # NiProperties are! - def test_toaster_include_and_exclude(self): """Test include NiProperty and NiNode, exclude NiMaterialProp and NiLODNode""" toaster = MyToaster(options={"include": ["NiProperty", "NiNode"], @@ -160,7 +158,3 @@ class TestDelToaster(pyffi.spells.nif.NifToaster): for name, value in sorted(toaster.options.items()): fake_logger.info("%s: %s" % (name, value)) - - - - diff --git a/tests/test_doctests.py b/tests/test_doctests.py index 42661a7a7..0c8fc6a76 100644 --- a/tests/test_doctests.py +++ b/tests/test_doctests.py @@ -1,51 +1,48 @@ -import os.path -from os.path import dirname import doctest import logging import sys import unittest import pyffi -import pyffi.object_models.common +import pyffi.formats.bsa +import pyffi.formats.cgf +import pyffi.formats.dds +import pyffi.formats.egm +import pyffi.formats.egt +import pyffi.formats.esp +import pyffi.formats.kfm +import pyffi.formats.nif +import pyffi.formats.psk +import pyffi.formats.rockstar.dir_ +import pyffi.formats.tga +import pyffi.formats.tri import pyffi.object_models -import pyffi.object_models.xml -import pyffi.object_models.mex import pyffi.object_models.any_type -import pyffi.object_models.simple_type import pyffi.object_models.array_type import pyffi.object_models.binary_type +import pyffi.object_models.common +import pyffi.object_models.mex +import pyffi.object_models.simple_type +import pyffi.object_models.xml import pyffi.object_models.xml.basic import pyffi.object_models.xml.bit_struct import pyffi.object_models.xml.enum import pyffi.object_models.xml.expression import pyffi.object_models.xml.struct_ -import pyffi.utils -import pyffi.utils.tristrip -import pyffi.utils.vertex_cache -import pyffi.utils.mathutils -import pyffi.utils.quickhull -import pyffi.utils.inertia -import pyffi.utils.tangentspace -import pyffi.utils.mopp -import pyffi.formats.nif -import pyffi.formats.cgf -import pyffi.formats.kfm -import pyffi.formats.dds -import pyffi.formats.tga -import pyffi.formats.egm -import pyffi.formats.esp -import pyffi.formats.tri -import pyffi.formats.bsa -import pyffi.formats.egt -import pyffi.formats.psk -import pyffi.formats.rockstar.dir_ import pyffi.spells import pyffi.spells.nif -import pyffi.spells.nif.fix -import pyffi.spells.nif.modify import pyffi.spells.nif.check import pyffi.spells.nif.dump - +import pyffi.spells.nif.fix +import pyffi.spells.nif.modify +import pyffi.utils +import pyffi.utils.inertia +import pyffi.utils.mathutils +import pyffi.utils.mopp +import pyffi.utils.quickhull +import pyffi.utils.tangentspace +import pyffi.utils.tristrip +import pyffi.utils.vertex_cache # these two do not yet work on py3k from tests import test_logger @@ -91,12 +88,12 @@ def create_suite(): file_paths = { - # Contain outstanding issues - # 'spells/egm/optimize.txt', - # 'formats/kfm/kfmtoaster.txt', #Not Implemented - # various regression tests (outside documentation) - # 'docs-sphinx/intro.rst', #outside of test dir... - } + # Contain outstanding issues + # 'spells/egm/optimize.txt', + # 'formats/kfm/kfmtoaster.txt', #Not Implemented + # various regression tests (outside documentation) + # 'docs-sphinx/intro.rst', #outside of test dir... + } suite.addTest(doctest.DocFileSuite(*file_paths)) diff --git a/tests/utils/__init__.py b/tests/utils/__init__.py index 502b58f03..0030e2db4 100644 --- a/tests/utils/__init__.py +++ b/tests/utils/__init__.py @@ -1,13 +1,14 @@ """Tests for utility classes""" -import nose -import nose.tools -import tempfile import os import shutil +import tempfile import unittest from os.path import dirname +import nose +import nose.tools + from pyffi.formats.cgf import CgfFormat from pyffi.formats.nif import NifFormat @@ -17,6 +18,7 @@ def assert_tuple_values(a, b): for elem, j in zip(a, b): nose.tools.assert_almost_equal(elem, j, places=3) + dir_path = __file__ for i in range(2): # recurse up to root repo dir dir_path = dirname(dir_path) diff --git a/tests/utils/test_trianglemesh.py b/tests/utils/test_trianglemesh.py index c1d9babcf..ad321521d 100644 --- a/tests/utils/test_trianglemesh.py +++ b/tests/utils/test_trianglemesh.py @@ -1,6 +1,7 @@ """Tests for pyffi.utils.trianglemesh module.""" import nose.tools + from pyffi.utils.trianglemesh import Face, Mesh, Edge @@ -131,8 +132,8 @@ def test_sorted_faced_locked_mesh(self): self.m.add_face(5, 6, 2) self.m.lock() - #Should be sorted - nose.tools.assert_equals(self.m.faces , [Face(0, 1, 2), Face(1, 2, 3), Face(2, 5, 6)]) + # Should be sorted + nose.tools.assert_equals(self.m.faces, [Face(0, 1, 2), Face(1, 2, 3), Face(2, 5, 6)]) nose.tools.assert_equals(self.m.faces[0].index, 0) nose.tools.assert_equals(self.m.faces[1].index, 1) nose.tools.assert_equals(self.m.faces[2].index, 2) @@ -156,7 +157,6 @@ def test_faces_when_locked(self): self.m.add_face(1, 2, 3) def test_discard_face(self): - f0 = self.m.add_face(0, 1, 2) f1 = self.m.add_face(1, 3, 2) self.m.add_face(2, 3, 4) @@ -164,4 +164,4 @@ def test_discard_face(self): self.m.lock() nose.tools.assert_equals(list(f0.get_adjacent_faces(0)), [Face(1, 3, 2)]) self.m.discard_face(f1) - nose.tools.assert_equals(list(f0.get_adjacent_faces(0)), []) \ No newline at end of file + nose.tools.assert_equals(list(f0.get_adjacent_faces(0)), []) diff --git a/tests/utils/test_utils.py b/tests/utils/test_utils.py index 965964807..1209881bf 100644 --- a/tests/utils/test_utils.py +++ b/tests/utils/test_utils.py @@ -1,8 +1,9 @@ """Tests for pyffi.utils module.""" -from pyffi.utils import unique_map, hex_dump import nose.tools +from pyffi.utils import unique_map, hex_dump + def test_hex_dump(): """Test output of hex_dump function""" diff --git a/tests/utils/test_withref.py b/tests/utils/test_withref.py index 3fac61b2d..5b34d9e8c 100644 --- a/tests/utils/test_withref.py +++ b/tests/utils/test_withref.py @@ -1,6 +1,7 @@ """Tests for pyffi.utils.withref module.""" import nose.tools + from pyffi.utils.withref import ref diff --git a/todo/NifVis/__init__.py b/todo/NifVis/__init__.py index feecce71a..e4cf7806c 100644 --- a/todo/NifVis/__init__.py +++ b/todo/NifVis/__init__.py @@ -1,2 +1 @@ import lizers - diff --git a/todo/NifVis/lizers/NiBinaryVoxelData.py b/todo/NifVis/lizers/NiBinaryVoxelData.py index 8d7b071ec..bc3cee564 100644 --- a/todo/NifVis/lizers/NiBinaryVoxelData.py +++ b/todo/NifVis/lizers/NiBinaryVoxelData.py @@ -2,9 +2,10 @@ radius = 0.1 -def Radius( block ): + +def Radius(block): if not block: return - if not isinstance( block, NifFormat.NiBinaryVoxelData ): return + if not isinstance(block, NifFormat.NiBinaryVoxelData): return global radius @@ -16,16 +17,15 @@ def Radius( block ): return radius -def Draw( block ): +def Draw(block): if not block: return - if not isinstance( block, NifFormat.NiBinaryVoxelData ): return + if not isinstance(block, NifFormat.NiBinaryVoxelData): return global radius GLNoLighting() - SetPointSize( 4 ) - SetColor( 1, 1, 1 ) - - DrawVertices( block.unknownVectors ) + SetPointSize(4) + SetColor(1, 1, 1) + DrawVertices(block.unknownVectors) diff --git a/todo/NifVis/lizers/NiTriBasedGeom.py b/todo/NifVis/lizers/NiTriBasedGeom.py index afbbaada4..b95739d92 100644 --- a/todo/NifVis/lizers/NiTriBasedGeom.py +++ b/todo/NifVis/lizers/NiTriBasedGeom.py @@ -1,18 +1,21 @@ -from pyffi.formats.nif import NifFormat from OpenGL.GL import * -def Radius( block ): +from pyffi.formats.nif import NifFormat + + +def Radius(block): if not block: return - if not isinstance( block, NifFormat.NiTriBasedGeom ): return 0 + if not isinstance(block, NifFormat.NiTriBasedGeom): return 0 mesh = block.data if not mesh: return 0 return mesh.radius -def Draw( block ): + +def Draw(block): if not block: return - if not isinstance( block, NifFormat.NiTriBasedGeom ): return + if not isinstance(block, NifFormat.NiTriBasedGeom): return mesh = block.data if not mesh: return @@ -21,14 +24,14 @@ def Draw( block ): norms = mesh.normals tris = mesh.getTriangles() - glColor3f( 1, 1, 1 ) + glColor3f(1, 1, 1) - glBegin( GL_TRIANGLES ) + glBegin(GL_TRIANGLES) for v1, v2, v3 in tris: - glNormal3f( norms[v1].x, norms[v1].y, norms[v1].z ) - glVertex3f( verts[v1].x, verts[v1].y, verts[v1].z ) - glNormal3f( norms[v2].x, norms[v2].y, norms[v2].z ) - glVertex3f( verts[v2].x, verts[v2].y, verts[v2].z ) - glNormal3f( norms[v3].x, norms[v3].y, norms[v3].z ) - glVertex3f( verts[v3].x, verts[v3].y, verts[v3].z ) + glNormal3f(norms[v1].x, norms[v1].y, norms[v1].z) + glVertex3f(verts[v1].x, verts[v1].y, verts[v1].z) + glNormal3f(norms[v2].x, norms[v2].y, norms[v2].z) + glVertex3f(verts[v2].x, verts[v2].y, verts[v2].z) + glNormal3f(norms[v3].x, norms[v3].y, norms[v3].z) + glVertex3f(verts[v3].x, verts[v3].y, verts[v3].z) glEnd() diff --git a/todo/NifVis/lizers/NiTriShape.py b/todo/NifVis/lizers/NiTriShape.py index e52fbc6cd..2c5b6ac38 100644 --- a/todo/NifVis/lizers/NiTriShape.py +++ b/todo/NifVis/lizers/NiTriShape.py @@ -1,7 +1,9 @@ import NiTriBasedGeom -def Radius( block ): - return NiTriBasedGeom.Radius( block ) -def Draw( block ): - NiTriBasedGeom.Draw( block ) +def Radius(block): + return NiTriBasedGeom.Radius(block) + + +def Draw(block): + NiTriBasedGeom.Draw(block) diff --git a/todo/NifVis/lizers/NiTriStrips.py b/todo/NifVis/lizers/NiTriStrips.py index 95cc33e92..4388d6b40 100644 --- a/todo/NifVis/lizers/NiTriStrips.py +++ b/todo/NifVis/lizers/NiTriStrips.py @@ -1,8 +1,9 @@ from NifVis.lizers import NiTriBasedGeom -def Radius( block ): - return NiTriBasedGeom.Radius( block ) -def Draw( block ): - NiTriBasedGeom.Draw( block ) +def Radius(block): + return NiTriBasedGeom.Radius(block) + +def Draw(block): + NiTriBasedGeom.Draw(block) diff --git a/todo/NifVis/lizers/__init__.py b/todo/NifVis/lizers/__init__.py index 2bc64940a..aeac85b88 100644 --- a/todo/NifVis/lizers/__init__.py +++ b/todo/NifVis/lizers/__init__.py @@ -1,7 +1,6 @@ -import bhkMoppBvTreeShape_alt -import bhkMoppBvTreeShape import NiBinaryVoxelData import NiTriBasedGeom import NiTriShape import NiTriStrips - +import bhkMoppBvTreeShape +import bhkMoppBvTreeShape_alt diff --git a/todo/NifVis/lizers/bhkMoppBvTreeShape.py b/todo/NifVis/lizers/bhkMoppBvTreeShape.py index 2d7ff0e32..7cf199f8b 100644 --- a/todo/NifVis/lizers/bhkMoppBvTreeShape.py +++ b/todo/NifVis/lizers/bhkMoppBvTreeShape.py @@ -5,20 +5,21 @@ Tree = [] Colors = [ - ( 1, 0, 0 ), - ( 0, 1, 0 ), - ( 0, 0, 1 ), - ( 1, 1, 0 ), - ( 0, 1, 1 ), - ( 1, 0, 1 ), - ( 1, 0.75, 0 ), - ( 0, 1, 0.75 ), - ( 0.75, 0, 1 ) + (1, 0, 0), + (0, 1, 0), + (0, 0, 1), + (1, 1, 0), + (0, 1, 1), + (1, 0, 1), + (1, 0.75, 0), + (0, 1, 0.75), + (0.75, 0, 1) ] -def Radius( mopp ): + +def Radius(mopp): if not mopp: return - if not isinstance( mopp, NifFormat.bhkMoppBvTreeShape ): return + if not isinstance(mopp, NifFormat.bhkMoppBvTreeShape): return global Scale, Corner, Tree @@ -26,26 +27,25 @@ def Radius( mopp ): Corner = mopp.origin - ChunkCode( mopp.moppData, 0, len(mopp.moppData), Tree ) + ChunkCode(mopp.moppData, 0, len(mopp.moppData), Tree) - print "Scale: %.3f - Corner: (%.2f, %.2f, %.2f )" % ( Scale, Corner.x, Corner.y, Corner.z ) + print + "Scale: %.3f - Corner: (%.2f, %.2f, %.2f )" % (Scale, Corner.x, Corner.y, Corner.z) - return ( 0.5 * Scale * 255 ) + return (0.5 * Scale * 255) -def Draw( mopp ): +def Draw(mopp): if not mopp: return - if not isinstance( mopp, NifFormat.bhkMoppBvTreeShape ): return + if not isinstance(mopp, NifFormat.bhkMoppBvTreeShape): return global Tree, Colors - GLNoLighting() + SetLineWidth(1) - SetLineWidth( 1 ) - - SetColor( 1, 1, 1, 0.2 ) + SetColor(1, 1, 1, 0.2) Shape = mopp.shape.data tris = Shape.triangles @@ -53,14 +53,13 @@ def Draw( mopp ): colnum = 0 for t in tris: - SetColorA( Colors[colnum%len(Colors)] ) - SetNormal( t.normal ) - DrawTriangleW( t.triangle, verts ) + SetColorA(Colors[colnum % len(Colors)]) + SetNormal(t.normal) + DrawTriangleW(t.triangle, verts) colnum += 1 - - SetPointSize( 4 ) - SetLineWidth( 3 ) + SetPointSize(4) + SetLineWidth(3) xstep = 8 ystep = 8 @@ -72,48 +71,48 @@ def Draw( mopp ): while y < 256: z = 0 while z < 256: - DrawCode( ( x, y, z ), Tree, [ 0, 0, 0 ], [ 0, 0, 0 ] ) + DrawCode((x, y, z), Tree, [0, 0, 0], [0, 0, 0]) z += zstep y += ystep x += xstep -def DrawCode( pos, tree, off, dim ): +def DrawCode(pos, tree, off, dim): global Scale, Corner for chunk in tree: code = chunk[0] - if code in range( 0x10, 0x20 ): + if code in range(0x10, 0x20): if code == 0x10: - a = (1.0 * (pos[0]+1) / (chunk[1]+1)) - b = (1.0 * (chunk[2]+1) / (pos[0]+1)) + a = (1.0 * (pos[0] + 1) / (chunk[1] + 1)) + b = (1.0 * (chunk[2] + 1) / (pos[0] + 1)) if a < b: - DrawCode( pos, chunk[3], off, dim ) + DrawCode(pos, chunk[3], off, dim) return elif code == 0x11: - a = (1.0 * (pos[1]+1) / (chunk[1]+1)) - b = (1.0 * (chunk[2]+1) / (pos[1]+1)) + a = (1.0 * (pos[1] + 1) / (chunk[1] + 1)) + b = (1.0 * (chunk[2] + 1) / (pos[1] + 1)) if a < b: - DrawCode( pos, chunk[3], off, dim ) + DrawCode(pos, chunk[3], off, dim) return elif code == 0x17: - a = (1.0 * (dim[0]-pos[0]+1) / (pos[1]+1)) - b = (1.0 * (chunk[2]+1) / (chunk[1]+1)) + a = (1.0 * (dim[0] - pos[0] + 1) / (pos[1] + 1)) + b = (1.0 * (chunk[2] + 1) / (chunk[1] + 1)) if a > b: - DrawCode( pos, chunk[3], off, dim ) + DrawCode(pos, chunk[3], off, dim) return elif code == 0x18: - a = (1.0 * (chunk[2]+1) / (chunk[1]+1)) - b = (1.0 * (pos[0]+1) / (pos[1]+1)) + a = (1.0 * (chunk[2] + 1) / (chunk[1] + 1)) + b = (1.0 * (pos[0] + 1) / (pos[1] + 1)) if a > b: - DrawCode( pos, chunk[3], off, dim ) + DrawCode(pos, chunk[3], off, dim) return - elif code in range( 0x20, 0x30 ): + elif code in range(0x20, 0x30): if code == 0x26: if pos[0] < chunk[1] or pos[0] > chunk[2]: return @@ -129,41 +128,41 @@ def DrawCode( pos, tree, off, dim ): return dim[2] = chunk[2] - elif code in range( 0x30, 0x50 ): + elif code in range(0x30, 0x50): v = NifFormat.Vector3() - v.x = Corner.x + Scale * ( off[0] + pos[0] ) - v.y = Corner.y + Scale * ( off[1] + pos[1] ) - v.z = Corner.z + Scale * ( off[2] + pos[2] ) + v.x = Corner.x + Scale * (off[0] + pos[0]) + v.y = Corner.y + Scale * (off[1] + pos[1]) + v.z = Corner.z + Scale * (off[2] + pos[2]) - SetColorA( Colors[(code-0x30)%len(Colors)] ) + SetColorA(Colors[(code - 0x30) % len(Colors)]) - DrawVertex( v ) + DrawVertex(v) return -def ChunkCode( bytes, index, length, tree ): +def ChunkCode(bytes, index, length, tree): stop = index + length while index < stop: code = bytes[index] chunk = () jump = 1 - if code in range( 0x10, 0x20 ): - subsize = bytes[index+3] - subtree = ChunkCode( bytes, index+4, subsize, [] ) - chunk = ( code, bytes[index+1], bytes[index+2], subtree ) + if code in range(0x10, 0x20): + subsize = bytes[index + 3] + subtree = ChunkCode(bytes, index + 4, subsize, []) + chunk = (code, bytes[index + 1], bytes[index + 2], subtree) jump = 4 + subsize - elif code in range( 0x20, 0x30 ): - if code in [ 0x26, 0x27, 0x28 ]: - chunk = ( code, bytes[index+1], bytes[index+2] ) + elif code in range(0x20, 0x30): + if code in [0x26, 0x27, 0x28]: + chunk = (code, bytes[index + 1], bytes[index + 2]) jump = 3 - elif code in range( 0x30, 0x4f ): - chunk = ( bytes[index], 0 ) + elif code in range(0x30, 0x4f): + chunk = (bytes[index], 0) jump = 1 - tree.append( chunk ) + tree.append(chunk) index += jump return tree diff --git a/todo/NifVis/lizers/bhkMoppBvTreeShape_alt.py b/todo/NifVis/lizers/bhkMoppBvTreeShape_alt.py index 5ba0c11c0..4afcc2152 100644 --- a/todo/NifVis/lizers/bhkMoppBvTreeShape_alt.py +++ b/todo/NifVis/lizers/bhkMoppBvTreeShape_alt.py @@ -1,26 +1,27 @@ -from NifVis.ua import * - import random +from NifVis.ua import * + Scale = 0.1 Corner = NifFormat.Vector3() Tree = [] Colors = [ - ( 1, 0, 0 ), - ( 0, 1, 0 ), - ( 0, 0, 1 ), - ( 1, 1, 0 ), - ( 0, 1, 1 ), - ( 1, 0, 1 ), - ( 1, 0.75, 0 ), - ( 0, 1, 0.75 ), - ( 0.75, 0, 1 ) + (1, 0, 0), + (0, 1, 0), + (0, 0, 1), + (1, 1, 0), + (0, 1, 1), + (1, 0, 1), + (1, 0.75, 0), + (0, 1, 0.75), + (0.75, 0, 1) ] -def Radius( mopp ): + +def Radius(mopp): if not mopp: return - if not isinstance( mopp, NifFormat.bhkMoppBvTreeShape ): return + if not isinstance(mopp, NifFormat.bhkMoppBvTreeShape): return global Scale, Corner, Tree @@ -28,26 +29,25 @@ def Radius( mopp ): Corner = mopp.objectCorner - ChunkCode( mopp.moppData, 0, len(mopp.moppData), Tree, verbose = True ) + ChunkCode(mopp.moppData, 0, len(mopp.moppData), Tree, verbose=True) - print "Scale: %.3f - Corner: (%.2f, %.2f, %.2f )" % ( Scale, Corner.x, Corner.y, Corner.z ) + print + "Scale: %.3f - Corner: (%.2f, %.2f, %.2f )" % (Scale, Corner.x, Corner.y, Corner.z) - return ( 0.5 * Scale * 255 ) + return (0.5 * Scale * 255) -def Draw( mopp ): +def Draw(mopp): if not mopp: return - if not isinstance( mopp, NifFormat.bhkMoppBvTreeShape ): return + if not isinstance(mopp, NifFormat.bhkMoppBvTreeShape): return global Tree, Colors - GLNoLighting() + SetLineWidth(1) - SetLineWidth( 1 ) - - SetColor( 1, 1, 1, 0.2 ) + SetColor(1, 1, 1, 0.2) Shape = mopp.shape.data tris = Shape.triangles @@ -55,14 +55,13 @@ def Draw( mopp ): colnum = 0 for t in tris: - SetColorA( Colors[colnum%len(Colors)] ) - SetNormal( t.normal ) - DrawTriangleW( t.triangle, verts ) + SetColorA(Colors[colnum % len(Colors)]) + SetNormal(t.normal) + DrawTriangleW(t.triangle, verts) colnum += 1 - - SetPointSize( 4 ) - SetLineWidth( 3 ) + SetPointSize(4) + SetLineWidth(3) xstep = 5 ystep = 5 @@ -74,57 +73,57 @@ def Draw( mopp ): while y < 256: z = 0 while z < 256: - DrawCode( ( x, y, z ), Tree, [ 0, 0, 0 ], [ 0, 0, 0 ] ) + DrawCode((x, y, z), Tree, [0, 0, 0], [0, 0, 0]) z += zstep y += ystep x += xstep -def DrawCode( pos, tree, off, dim ): +def DrawCode(pos, tree, off, dim): global Scale, Corner for chunk in tree: code = chunk[0] - if code in range( 0x10, 0x20 ): + if code in range(0x10, 0x20): if code == 0x10: if pos[0] <= chunk[1]: - DrawCode( pos, chunk[3], off, dim ) + DrawCode(pos, chunk[3], off, dim) if pos[0] <= chunk[2]: return elif code == 0x11: if pos[1] <= chunk[1]: - DrawCode( pos, chunk[3], off, dim ) + DrawCode(pos, chunk[3], off, dim) if pos[1] <= chunk[2]: return elif code == 0x12: if pos[2] <= chunk[1]: - DrawCode( pos, chunk[3], off, dim ) + DrawCode(pos, chunk[3], off, dim) if pos[2] <= chunk[2]: return else: # cannot resolve further - DrawCode( pos, chunk[3], off, dim ) - -## elif code == 0x16: -## if pos[1]*chunk[1] <= pos[2]*chunk[2]: -## DrawCode( pos, chunk[3], off, dim ) -## return -## -## elif code == 0x17: -## if pos[2]*chunk[1] <= pos[0]*chunk[2]: -## DrawCode( pos, chunk[3], off, dim ) -## return -## -## elif code == 0x18: -## if pos[0]*chunk[2] <= pos[1]*chunk[1]: -## DrawCode( pos, chunk[3], off, dim ) -## return - - elif code in range( 0x20, 0x30 ): + DrawCode(pos, chunk[3], off, dim) + + ## elif code == 0x16: + ## if pos[1]*chunk[1] <= pos[2]*chunk[2]: + ## DrawCode( pos, chunk[3], off, dim ) + ## return + ## + ## elif code == 0x17: + ## if pos[2]*chunk[1] <= pos[0]*chunk[2]: + ## DrawCode( pos, chunk[3], off, dim ) + ## return + ## + ## elif code == 0x18: + ## if pos[0]*chunk[2] <= pos[1]*chunk[1]: + ## DrawCode( pos, chunk[3], off, dim ) + ## return + + elif code in range(0x20, 0x30): if code == 0x26: if pos[0] < chunk[1] or pos[0] > chunk[2]: return @@ -140,57 +139,64 @@ def DrawCode( pos, tree, off, dim ): return dim[2] = chunk[2] - elif code in range( 0x30, 0x50 ): + elif code in range(0x30, 0x50): v = NifFormat.Vector3() - v.x = Corner.x + Scale * ( off[0] + pos[0] ) + random.uniform(0,0.1) - v.y = Corner.y + Scale * ( off[1] + pos[1] ) + random.uniform(0,0.1) - v.z = Corner.z + Scale * ( off[2] + pos[2] ) + random.uniform(0,0.1) + v.x = Corner.x + Scale * (off[0] + pos[0]) + random.uniform(0, 0.1) + v.y = Corner.y + Scale * (off[1] + pos[1]) + random.uniform(0, 0.1) + v.z = Corner.z + Scale * (off[2] + pos[2]) + random.uniform(0, 0.1) - SetColorA( Colors[(code-0x30)%len(Colors)] ) + SetColorA(Colors[(code - 0x30) % len(Colors)]) - DrawVertex( v ) + DrawVertex(v) return else: - print "WARNING: unknown code 0x%X"%code + print + "WARNING: unknown code 0x%X" % code -def ChunkCode( bytes, index, length, tree, depth = 0, verbose = False ): +def ChunkCode(bytes, index, length, tree, depth=0, verbose=False): stop = index + length while index < stop: code = bytes[index] chunk = () jump = 1 - if code in range( 0x10, 0x20 ): + if code in range(0x10, 0x20): if verbose: - print " "*depth, hex(code), bytes[index+1], bytes[index+2] - subsize = bytes[index+3] - subtree = ChunkCode( bytes, index+4, subsize, [], depth+1, verbose ) - chunk = ( code, bytes[index+1], bytes[index+2], subtree ) + print + " " * depth, hex(code), bytes[index + 1], bytes[index + 2] + subsize = bytes[index + 3] + subtree = ChunkCode(bytes, index + 4, subsize, [], depth + 1, verbose) + chunk = (code, bytes[index + 1], bytes[index + 2], subtree) jump = 4 + subsize - elif code in range( 0x20, 0x30 ): - if code in [ 0x26, 0x27, 0x28 ]: + elif code in range(0x20, 0x30): + if code in [0x26, 0x27, 0x28]: if verbose: - print " "*depth, hex(code), bytes[index+1], bytes[index+2], "[%s-axis check]"%("XYZ"[code-0x26]) - chunk = ( code, bytes[index+1], bytes[index+2] ) + print + " " * depth, hex(code), bytes[index + 1], bytes[index + 2], "[%s-axis check]" % ( + "XYZ"[code - 0x26]) + chunk = (code, bytes[index + 1], bytes[index + 2]) jump = 3 else: if verbose: - print " "*depth, hex(code), "(unknown)" + print + " " * depth, hex(code), "(unknown)" - elif code in range( 0x30, 0x4f ): + elif code in range(0x30, 0x4f): if verbose: - print " "*depth, hex(code), "[triangle %i check]"%(code-0x30) - chunk = ( bytes[index], 0 ) + print + " " * depth, hex(code), "[triangle %i check]" % (code - 0x30) + chunk = (bytes[index], 0) jump = 1 else: if verbose: - print " "*depth, hex(code), "(unknown)" + print + " " * depth, hex(code), "(unknown)" - tree.append( chunk ) + tree.append(chunk) index += jump return tree diff --git a/todo/NifVis/ua.py b/todo/NifVis/ua.py index f3666d35d..651294b11 100644 --- a/todo/NifVis/ua.py +++ b/todo/NifVis/ua.py @@ -1,87 +1,100 @@ -from pyffi.formats.nif import NifFormat from OpenGL.GL import * +from pyffi.formats.nif import NifFormat + def GLNoLighting(): - glDisable( GL_LIGHTING ) + glDisable(GL_LIGHTING) + def GLLighting(): - glEnable( GL_LIGHTING ) + glEnable(GL_LIGHTING) + + +def SetPointSize(size): + glPointSize(size) + + +def SetLineWidth(width): + glLineWidth(width) -def SetPointSize( size ): - glPointSize( size ) +def SetColor(r, g, b, a=1.0): + glColor4f(r, g, b, a) -def SetLineWidth( width ): - glLineWidth( width ) -def SetColor( r, g, b, a = 1.0 ): - glColor4f( r, g, b, a ) +def SetColorA(color): + if not isinstance(color, tuple): return + if len(color) == 3: + SetColor(color[0], color[1], color[2]) + elif len(color) == 4: + SetColor(color[0], color[1], color[2], color[3]) -def SetColorA( color ): - if not isinstance( color, tuple ): return - if len( color ) == 3: - SetColor( color[0], color[1], color[2] ) - elif len( color ) == 4: - SetColor( color[0], color[1], color[2], color[3] ) +def BeginDrawing(mode): + glBegin(mode) -def BeginDrawing( mode ): - glBegin( mode ) def EndDrawing(): glEnd() -def SetNormal( n ): - glNormal3f( n.x, n.y, n.z ) +def SetNormal(n): + glNormal3f(n.x, n.y, n.z) -def DrawVertex( v, mode = True ): - if mode: glBegin( GL_POINTS ) - glVertex3f( v.x, v.y, v.z ) +def DrawVertex(v, mode=True): + if mode: glBegin(GL_POINTS) + glVertex3f(v.x, v.y, v.z) if mode: glEnd() -def DrawVertices( verts, mode = True ): - if mode: glBegin( GL_POINTS ) + +def DrawVertices(verts, mode=True): + if mode: glBegin(GL_POINTS) for v in verts: - DrawVertex( v, False ) + DrawVertex(v, False) if mode: glEnd() -def DrawTriangle( t, verts, mode = True ): - if mode: glBegin( GL_TRIANGLES ) - DrawVertex( verts[t.v1], False ) - DrawVertex( verts[t.v2], False ) - DrawVertex( verts[t.v3], False ) + +def DrawTriangle(t, verts, mode=True): + if mode: glBegin(GL_TRIANGLES) + DrawVertex(verts[t.v1], False) + DrawVertex(verts[t.v2], False) + DrawVertex(verts[t.v3], False) if mode: glEnd() -def DrawTriangleW( t, verts, mode = True ): - if mode: glBegin( GL_LINE_STRIP ) - DrawVertex( verts[t.v1], False ) - DrawVertex( verts[t.v2], False ) - DrawVertex( verts[t.v3], False ) - DrawVertex( verts[t.v1], False ) + +def DrawTriangleW(t, verts, mode=True): + if mode: glBegin(GL_LINE_STRIP) + DrawVertex(verts[t.v1], False) + DrawVertex(verts[t.v2], False) + DrawVertex(verts[t.v3], False) + DrawVertex(verts[t.v1], False) if mode: glEnd() -def DrawTriangles( tris, verts, mode = True ): - if mode: glBegin( GL_TRIANGLES ) + +def DrawTriangles(tris, verts, mode=True): + if mode: glBegin(GL_TRIANGLES) for t in tris: - DrawTriangle( t, verts, False ) + DrawTriangle(t, verts, False) if mode: glEnd() -def DrawTrianglesW( tris, verts, mode = True ): + +def DrawTrianglesW(tris, verts, mode=True): for t in tris: - DrawTriangleW( t, verts, True ) + DrawTriangleW(t, verts, True) + -def DrawLine( v, w, mode = True ): - if mode: glBegin( GL_LINES ) - DrawVertex( v, False ) - DrawVertex( w, False ) +def DrawLine(v, w, mode=True): + if mode: glBegin(GL_LINES) + DrawVertex(v, False) + DrawVertex(w, False) if mode: glEnd() -def DrawOffset( v, off ): + +def DrawOffset(v, off): w = NifFormat.Vector3() w.x = v.x + off.x w.y = v.y + off.y w.z = v.z + off.z - DrawLine( v, w ) + DrawLine(v, w) diff --git a/todo/NifVis/vis_cfg.py b/todo/NifVis/vis_cfg.py index 5a14d9847..29f4f3a31 100644 --- a/todo/NifVis/vis_cfg.py +++ b/todo/NifVis/vis_cfg.py @@ -1,4 +1,4 @@ -_WINDOW_WIDTH = 640 -_WINDOW_HEIGHT = 480 +_WINDOW_WIDTH = 640 +_WINDOW_HEIGHT = 480 -_FONT_SIZE = 24 \ No newline at end of file +_FONT_SIZE = 24 diff --git a/todo/NifVis/vis_gl.py b/todo/NifVis/vis_gl.py index 32ecc5da8..afdfec5a2 100644 --- a/todo/NifVis/vis_gl.py +++ b/todo/NifVis/vis_gl.py @@ -1,12 +1,9 @@ +import pygame.display from OpenGL.GL import * from OpenGL.GLU import * -import pygame.display - import vis_cfg - - Aspect = 4 / 3 Height = 480 @@ -17,76 +14,75 @@ zRot = 0 - -def Initialize( radius ): +def Initialize(radius): global Radius, Aspect, Height Radius = radius Width = vis_cfg._WINDOW_WIDTH - Height = min( vis_cfg._WINDOW_WIDTH, vis_cfg._WINDOW_HEIGHT ) + Height = min(vis_cfg._WINDOW_WIDTH, vis_cfg._WINDOW_HEIGHT) Aspect = 1.0 * Width / Height - print "OpenGL Setup: Radius %.2f, Resolution %dx%d, Aspect %.2f" % ( Radius, Width, Height, Aspect ) + print + "OpenGL Setup: Radius %.2f, Resolution %dx%d, Aspect %.2f" % (Radius, Width, Height, Aspect) def InitFrame(): global Radius, Aspect, Height # Viewport - glViewport( 0, ( vis_cfg._WINDOW_HEIGHT - Height ) / 2, vis_cfg._WINDOW_WIDTH, Height ) + glViewport(0, (vis_cfg._WINDOW_HEIGHT - Height) / 2, vis_cfg._WINDOW_WIDTH, Height) # Initialize - glClearColor( 0.5, 0.5, 0.5, 1 ) + glClearColor(0.5, 0.5, 0.5, 1) - glShadeModel( GL_SMOOTH ) - glEnable( GL_MULTISAMPLE_ARB ) + glShadeModel(GL_SMOOTH) + glEnable(GL_MULTISAMPLE_ARB) - glClearDepth( 1 ) - glEnable( GL_DEPTH_TEST ) - glDepthFunc( GL_LEQUAL ) + glClearDepth(1) + glEnable(GL_DEPTH_TEST) + glDepthFunc(GL_LEQUAL) - glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glEnable( GL_ALPHA_TEST ) - glEnable( GL_BLEND ) - glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ) + glEnable(GL_ALPHA_TEST) + glEnable(GL_BLEND) + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) # Light source - glLightfv( GL_LIGHT0,GL_AMBIENT,[ .5, .5, .5, 1. ] ) - glLightfv( GL_LIGHT0,GL_DIFFUSE,[ .8, .8, .8, 1. ] ) - glLightfv( GL_LIGHT0,GL_SPECULAR,[ 1., 1., 1., 1. ] ) - glEnable( GL_LIGHT0 ) - glEnable( GL_LIGHTING ) + glLightfv(GL_LIGHT0, GL_AMBIENT, [.5, .5, .5, 1.]) + glLightfv(GL_LIGHT0, GL_DIFFUSE, [.8, .8, .8, 1.]) + glLightfv(GL_LIGHT0, GL_SPECULAR, [1., 1., 1., 1.]) + glEnable(GL_LIGHT0) + glEnable(GL_LIGHTING) # Projection - glMatrixMode( GL_PROJECTION ) + glMatrixMode(GL_PROJECTION) glLoadIdentity() - gluPerspective ( 45, Aspect, 0.1, -Radius * 2 ) + gluPerspective(45, Aspect, 0.1, -Radius * 2) # Initialize ModelView matrix - glMatrixMode( GL_MODELVIEW ) + glMatrixMode(GL_MODELVIEW) glLoadIdentity() # View translation - glTranslatef( 0, 0, -Radius * 4 ) + glTranslatef(0, 0, -Radius * 4) # Set up light always from front glPushMatrix() glLoadIdentity() - glLightfv( GL_LIGHT0,GL_POSITION,[ 0, 0, 0, 1 ] ) + glLightfv(GL_LIGHT0, GL_POSITION, [0, 0, 0, 1]) glPopMatrix() # View rotation - glRotatef( xRot, 1, 0, 0 ) - glRotatef( yRot, 0, 1, 0 ) - glRotatef( zRot, 0, 0, 1 ) - - glRotatef( -90, 1, 0, 0 ) + glRotatef(xRot, 1, 0, 0) + glRotatef(yRot, 0, 1, 0) + glRotatef(zRot, 0, 0, 1) + glRotatef(-90, 1, 0, 0) def FinalizeFrame(): @@ -94,7 +90,7 @@ def FinalizeFrame(): def InitDraw(): - glPushAttrib( GL_COLOR_BUFFER_BIT | GL_ENABLE_BIT | GL_POINT_BIT | GL_LINE_BIT ) + glPushAttrib(GL_COLOR_BUFFER_BIT | GL_ENABLE_BIT | GL_POINT_BIT | GL_LINE_BIT) glPushMatrix() @@ -103,87 +99,84 @@ def FinalizeDraw(): glPopAttrib() -def RotateViewBy( xAngle, yAngle, zAngle ): +def RotateViewBy(xAngle, yAngle, zAngle): global xRot, yRot, zRot xRot += xAngle yRot += yAngle zRot += zAngle - NormalizeAngle( xAngle ) - NormalizeAngle( yAngle ) - NormalizeAngle( zAngle ) - + NormalizeAngle(xAngle) + NormalizeAngle(yAngle) + NormalizeAngle(zAngle) -def RotateView( xAngle, yAngle, zAngle ): +def RotateView(xAngle, yAngle, zAngle): global xRot, yRot, zRot xRot = xAngle yRot = yAngle zRot = zAngle - NormalizeAngle( xAngle ) - NormalizeAngle( yAngle ) - NormalizeAngle( zAngle ) + NormalizeAngle(xAngle) + NormalizeAngle(yAngle) + NormalizeAngle(zAngle) - -def NormalizeAngle( angle ): +def NormalizeAngle(angle): while angle < 0: angle += 360 while angle >= 360: angle -= 360 - def DrawAxes(): global Radius - glDisable( GL_LIGHTING ) + glDisable(GL_LIGHTING) glPushMatrix() axis = Radius * 1.2 arrow = Radius / 36.0 - glBegin( GL_LINES ) - - glColor3f( 1.0, 0.0, 0.0 ) - glVertex3f( - axis, 0, 0 ) - glVertex3f( + axis, 0, 0 ) - glVertex3f( + axis, 0, 0 ) - glVertex3f( + axis - 3 * arrow, + arrow, + arrow ) - glVertex3f( + axis, 0, 0 ) - glVertex3f( + axis - 3 * arrow, - arrow, + arrow ) - glVertex3f( + axis, 0, 0 ) - glVertex3f( + axis - 3 * arrow, + arrow, - arrow ) - glVertex3f( + axis, 0, 0 ) - glVertex3f( + axis - 3 * arrow, - arrow, - arrow ) - glColor3f( 0.0, 1.0, 0.0 ) - glVertex3f( 0, - axis, 0 ) - glVertex3f( 0, + axis, 0 ) - glVertex3f( 0, + axis, 0 ) - glVertex3f( + arrow, + axis - 3 * arrow, + arrow ) - glVertex3f( 0, + axis, 0 ) - glVertex3f( - arrow, + axis - 3 * arrow, + arrow ) - glVertex3f( 0, + axis, 0 ) - glVertex3f( + arrow, + axis - 3 * arrow, - arrow ) - glVertex3f( 0, + axis, 0 ) - glVertex3f( - arrow, + axis - 3 * arrow, - arrow ) - glColor3f( 0.0, 0.0, 1.0 ) - glVertex3f( 0, 0, - axis ) - glVertex3f( 0, 0, + axis ) - glVertex3f( 0, 0, + axis ) - glVertex3f( + arrow, + arrow, + axis - 3 * arrow ) - glVertex3f( 0, 0, + axis ) - glVertex3f( - arrow, + arrow, + axis - 3 * arrow ) - glVertex3f( 0, 0, + axis ) - glVertex3f( + arrow, - arrow, + axis - 3 * arrow ) - glVertex3f( 0, 0, + axis ) - glVertex3f( - arrow, - arrow, + axis - 3 * arrow ) + glBegin(GL_LINES) + + glColor3f(1.0, 0.0, 0.0) + glVertex3f(- axis, 0, 0) + glVertex3f(+ axis, 0, 0) + glVertex3f(+ axis, 0, 0) + glVertex3f(+ axis - 3 * arrow, + arrow, + arrow) + glVertex3f(+ axis, 0, 0) + glVertex3f(+ axis - 3 * arrow, - arrow, + arrow) + glVertex3f(+ axis, 0, 0) + glVertex3f(+ axis - 3 * arrow, + arrow, - arrow) + glVertex3f(+ axis, 0, 0) + glVertex3f(+ axis - 3 * arrow, - arrow, - arrow) + glColor3f(0.0, 1.0, 0.0) + glVertex3f(0, - axis, 0) + glVertex3f(0, + axis, 0) + glVertex3f(0, + axis, 0) + glVertex3f(+ arrow, + axis - 3 * arrow, + arrow) + glVertex3f(0, + axis, 0) + glVertex3f(- arrow, + axis - 3 * arrow, + arrow) + glVertex3f(0, + axis, 0) + glVertex3f(+ arrow, + axis - 3 * arrow, - arrow) + glVertex3f(0, + axis, 0) + glVertex3f(- arrow, + axis - 3 * arrow, - arrow) + glColor3f(0.0, 0.0, 1.0) + glVertex3f(0, 0, - axis) + glVertex3f(0, 0, + axis) + glVertex3f(0, 0, + axis) + glVertex3f(+ arrow, + arrow, + axis - 3 * arrow) + glVertex3f(0, 0, + axis) + glVertex3f(- arrow, + arrow, + axis - 3 * arrow) + glVertex3f(0, 0, + axis) + glVertex3f(+ arrow, - arrow, + axis - 3 * arrow) + glVertex3f(0, 0, + axis) + glVertex3f(- arrow, - arrow, + axis - 3 * arrow) glEnd() glPopMatrix() - glEnable( GL_LIGHTING ) + glEnable(GL_LIGHTING) diff --git a/todo/NifVis/vis_nif.py b/todo/NifVis/vis_nif.py index 5d8d6c79f..c69382f30 100644 --- a/todo/NifVis/vis_nif.py +++ b/todo/NifVis/vis_nif.py @@ -5,48 +5,52 @@ Version = 0 UserVersion = 0 + # # A simple custom exception class. # class NIFImportError(Exception): def __init__(self, value): self.value = value + def __str__(self): return repr(self.value) -def LoadNif( filename ): +def LoadNif(filename): global Version, UserVersion try: - print "Reading Nif: %s" % filename - f = open( filename, "rb" ) - Version, UserVersion = NifFormat.getVersion( f ) + print + "Reading Nif: %s" % filename + f = open(filename, "rb") + Version, UserVersion = NifFormat.getVersion(f) if Version >= 0: - print "( Version 0x%08X )" % Version - root_blocks = NifFormat.read(f, version = Version, user_version = UserVersion, verbose = 0) - for block in root_blocks: - AddBlock( block ) + print + "( Version 0x%08X )" % Version + root_blocks = NifFormat.read(f, version=Version, user_version=UserVersion, verbose=0) + for block in root_blocks: + AddBlock(block) elif Version == -1: - raise NIFImportError( "Unsupported NIF version." ) + raise NIFImportError("Unsupported NIF version.") else: - raise NIFImportError( "Not a NIF file." ) + raise NIFImportError("Not a NIF file.") - except NIFImportError, e: # in that case, we raise a menu instead of an exception - print 'NIFImportError: ' + e.value + except NIFImportError, e: # in that case, we raise a menu instead of an exception + print + 'NIFImportError: ' + e.value return - -def AddBlock( block ): +def AddBlock(block): global Version, UserVersion if not block: return - if not TypeRegistry.has_key( type( block ).__name__ ): - TypeRegistry[type( block ).__name__] = [] + if not TypeRegistry.has_key(type(block).__name__): + TypeRegistry[type(block).__name__] = [] - TypeRegistry[type( block ).__name__].append( block ) - BlockRegistry.append( block ) + TypeRegistry[type(block).__name__].append(block) + BlockRegistry.append(block) for child in block.get_refs(): - if not child in BlockRegistry: AddBlock( child ) + if not child in BlockRegistry: AddBlock(child) diff --git a/todo/NifVis/vis_run.py b/todo/NifVis/vis_run.py index 36c109274..e52248a4e 100644 --- a/todo/NifVis/vis_run.py +++ b/todo/NifVis/vis_run.py @@ -4,12 +4,9 @@ import vis_cfg import vis_gl - - IsRunning = False - def EventHandler(): global IsRunning @@ -20,13 +17,11 @@ def EventHandler(): elif event.type == MOUSEBUTTONDOWN: if event.button == 2: - vis_gl.RotateView( 0, 0, 0 ) + vis_gl.RotateView(0, 0, 0) elif event.type == MOUSEMOTION: if event.buttons[0]: - vis_gl.RotateViewBy( event.rel[1], event.rel[0], 0 ) - - + vis_gl.RotateViewBy(event.rel[1], event.rel[0], 0) def Initialize(): @@ -34,8 +29,8 @@ def Initialize(): pygame.display.init() - window = pygame.display.set_mode( ( vis_cfg._WINDOW_WIDTH, vis_cfg._WINDOW_HEIGHT ), OPENGL | DOUBLEBUF ) - pygame.display.set_caption( 'Nif Visualizer' ) + window = pygame.display.set_mode((vis_cfg._WINDOW_WIDTH, vis_cfg._WINDOW_HEIGHT), OPENGL | DOUBLEBUF) + pygame.display.set_caption('Nif Visualizer') screen = pygame.display.get_surface() diff --git a/todo/ez_setup.py b/todo/ez_setup.py index 38c09c624..d4b98d55f 100644 --- a/todo/ez_setup.py +++ b/todo/ez_setup.py @@ -14,8 +14,9 @@ This file can also be run as a script to install or upgrade setuptools. """ import sys + DEFAULT_VERSION = "0.6c5" -DEFAULT_URL = "http://cheeseshop.python.org/packages/%s/s/setuptools/" % sys.version[:3] +DEFAULT_URL = "http://cheeseshop.python.org/packages/%s/s/setuptools/" % sys.version[:3] md5_data = { 'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca', @@ -43,22 +44,23 @@ import sys, os + def _validate_md5(egg_name, data): if egg_name in md5_data: from md5 import md5 digest = md5(data).hexdigest() if digest != md5_data[egg_name]: - print >>sys.stderr, ( - "md5 validation of %s failed! (Possible download problem?)" - % egg_name + print >> sys.stderr, ( + "md5 validation of %s failed! (Possible download problem?)" + % egg_name ) sys.exit(2) return data def use_setuptools( - version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, - download_delay=15 + version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, + download_delay=15 ): """Automatically find/download setuptools and make it available on sys.path @@ -74,32 +76,34 @@ def use_setuptools( try: import setuptools if setuptools.__version__ == '0.0.1': - print >>sys.stderr, ( - "You have an obsolete version of setuptools installed. Please\n" - "remove it from your system entirely before rerunning this script." + print >> sys.stderr, ( + "You have an obsolete version of setuptools installed. Please\n" + "remove it from your system entirely before rerunning this script." ) sys.exit(2) except ImportError: egg = download_setuptools(version, download_base, to_dir, download_delay) sys.path.insert(0, egg) - import setuptools; setuptools.bootstrap_install_from = egg + import setuptools; + setuptools.bootstrap_install_from = egg import pkg_resources try: - pkg_resources.require("setuptools>="+version) + pkg_resources.require("setuptools>=" + version) except pkg_resources.VersionConflict, e: # XXX could we install in a subprocess here? - print >>sys.stderr, ( + print >> sys.stderr, ( "The required version of setuptools (>=%s) is not available, and\n" "can't be installed while this script is running. Please install\n" " a more recent version first.\n\n(Currently using %r)" ) % (version, e.args[0]) sys.exit(2) + def download_setuptools( - version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, - delay = 15 + version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, + delay=15 ): """Download setuptools from a specified location and return its filename @@ -108,8 +112,8 @@ def download_setuptools( with a '/'). `to_dir` is the directory where the egg will be downloaded. `delay` is the number of seconds to pause before an actual download attempt. """ - import urllib2, shutil - egg_name = "setuptools-%s-py%s.egg" % (version,sys.version[:3]) + import urllib2 + egg_name = "setuptools-%s-py%s.egg" % (version, sys.version[:3]) url = download_base + egg_name saveto = os.path.join(to_dir, egg_name) src = dst = None @@ -131,19 +135,23 @@ def download_setuptools( and place it in this directory before rerunning this script.) ---------------------------------------------------------------------------""", - version, download_base, delay, url - ); from time import sleep; sleep(delay) + version, download_base, delay, url + ); + from time import sleep; + sleep(delay) log.warn("Downloading %s", url) src = urllib2.urlopen(url) # Read/write all in one block, so we don't create a corrupt file # if the download is interrupted. data = _validate_md5(egg_name, src.read()) - dst = open(saveto,"wb"); dst.write(data) + dst = open(saveto, "wb"); + dst.write(data) finally: if src: src.close() if dst: dst.close() return os.path.realpath(saveto) + def main(argv, version=DEFAULT_VERSION): """Install or upgrade setuptools and EasyInstall""" @@ -153,9 +161,9 @@ def main(argv, version=DEFAULT_VERSION): egg = None try: egg = download_setuptools(version, delay=0) - sys.path.insert(0,egg) + sys.path.insert(0, egg) from setuptools.command.easy_install import main - return main(list(argv)+[egg]) # we're done here + return main(list(argv) + [egg]) # we're done here finally: if egg and os.path.exists(egg): os.unlink(egg) @@ -164,7 +172,7 @@ def main(argv, version=DEFAULT_VERSION): # tell the user to uninstall obsolete version use_setuptools(version) - req = "setuptools>="+version + req = "setuptools>=" + version import pkg_resources try: pkg_resources.require(req) @@ -173,16 +181,17 @@ def main(argv, version=DEFAULT_VERSION): from setuptools.command.easy_install import main except ImportError: from easy_install import main - main(list(argv)+[download_setuptools(delay=0)]) - sys.exit(0) # try to force an exit + main(list(argv) + [download_setuptools(delay=0)]) + sys.exit(0) # try to force an exit else: if argv: from setuptools.command.easy_install import main main(argv) else: - print "Setuptools version",version,"or greater has been installed." - print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)' - + print + "Setuptools version", version, "or greater has been installed." + print + '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)' def update_md5(filenames): @@ -193,7 +202,7 @@ def update_md5(filenames): for name in filenames: base = os.path.basename(name) - f = open(name,'rb') + f = open(name, 'rb') md5_data[base] = md5(f.read()).hexdigest() f.close() @@ -203,26 +212,23 @@ def update_md5(filenames): import inspect srcfile = inspect.getsourcefile(sys.modules[__name__]) - f = open(srcfile, 'rb'); src = f.read(); f.close() + f = open(srcfile, 'rb'); + src = f.read(); + f.close() match = re.search("\nmd5_data = {\n([^}]+)}", src) if not match: - print >>sys.stderr, "Internal error!" + print >> sys.stderr, "Internal error!" sys.exit(2) src = src[:match.start(1)] + repl + src[match.end(1):] - f = open(srcfile,'w') + f = open(srcfile, 'w') f.write(src) f.close() -if __name__=='__main__': - if len(sys.argv)>2 and sys.argv[1]=='--md5update': +if __name__ == '__main__': + if len(sys.argv) > 2 and sys.argv[1] == '--md5update': update_md5(sys.argv[2:]) else: main(sys.argv[1:]) - - - - - diff --git a/todo/nifvisualizer.py b/todo/nifvisualizer.py index 0cf2684f0..a12e4f6cc 100644 --- a/todo/nifvisualizer.py +++ b/todo/nifvisualizer.py @@ -39,85 +39,76 @@ # ***** END LICENSE BLOCK ***** # -------------------------------------------------------------------------- -import sys, os.path +import os.path +import sys Args = sys.argv -if len( Args ) < 3: - print """ - nifvisualizer: Visualizes arbitrary block types by scriptable visualizers. - --- - Syntax: python nifvisualizer.py [alt] - --- - Usage: Specify the Nif file with the argument. - The visualizer will look for a file called ".py" in the - "lizers" folder. If [alt] was specified, the visualizer - "_[alt].py" will be used. +if len(Args) < 3: + print """ - sys.exit( 1 ) + nifvisualizer: Visualizes arbitrary block types by scriptable visualizers. + --- + Syntax: python nifvisualizer.py [alt] + --- + Usage: Specify the Nif file with the argument. + The visualizer will look for a file called ".py" in the + "lizers" folder. If [alt] was specified, the visualizer + "_[alt].py" will be used. + """ + sys.exit(1) FileName = Args[1] BlockName = Args[2] - - -sys.path.append( os.path.abspath( '../pymodules' ) ) - - +sys.path.append(os.path.abspath('../pymodules')) from NifVis import vis_nif -vis_nif.LoadNif( FileName ) - - +vis_nif.LoadNif(FileName) DrawBlocks = None -if vis_nif.TypeRegistry.has_key( BlockName ): +if vis_nif.TypeRegistry.has_key(BlockName): DrawBlocks = vis_nif.TypeRegistry[BlockName] if not DrawBlocks: - print "Blocktype '%s' was not found in file!" % BlockName - sys.exit( 1 ) - - + print + "Blocktype '%s' was not found in file!" % BlockName + sys.exit(1) from NifVis import lizers LizerName = BlockName -if len( Args ) > 3: +if len(Args) > 3: LizerName += '_' + Args[3] Lizer = getattr(lizers, LizerName) if not Lizer: - print "Blocktype '%s' has no visualizer!" % BlockName - sys.exit( 1 ) - - + print + "Blocktype '%s' has no visualizer!" % BlockName + sys.exit(1) from NifVis import vis_gl Radius = 1 for b in DrawBlocks: - r = Lizer.Radius( b ) + r = Lizer.Radius(b) if r > Radius: Radius = r -vis_gl.Initialize( Radius ) +vis_gl.Initialize(Radius) -#try: +# try: # glBindTexture( Lizer.Texture() ) -#except: +# except: # pass - from NifVis import vis_run vis_run.Initialize() - - while vis_run.IsRunning: vis_gl.InitFrame() @@ -125,7 +116,7 @@ for b in DrawBlocks: vis_gl.InitDraw() - Lizer.Draw( b ) + Lizer.Draw(b) vis_gl.FinalizeDraw() vis_run.EventHandler() From dcb2f754fe55de9145e7d35638bbfd971883a5ce Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Thu, 26 Jan 2023 14:05:15 +0200 Subject: [PATCH 02/18] Add more of the API to the docs --- docs/pyffi/object_models/any_type.rst | 1 + docs/pyffi/object_models/array_type.rst | 1 + docs/pyffi/object_models/binary_type.rst | 1 + docs/pyffi/object_models/common.rst | 1 + docs/pyffi/object_models/editable.rst | 1 + .../index.rst} | 0 docs/pyffi/object_models/mex/index.rst | 1 + docs/pyffi/object_models/xml/array.rst | 1 + docs/pyffi/object_models/xml/basic.rst | 1 + docs/pyffi/object_models/xml/bit_struct.rst | 1 + docs/pyffi/object_models/xml/enum.rst | 1 + docs/pyffi/object_models/xml/expression.rst | 1 + docs/pyffi/object_models/xml/index.rst | 1 + docs/pyffi/object_models/xml/struct.rst | 1 + docs/pyffi/object_models/xsd/index.rst | 1 + pyffi/__init__.py | 3 +- pyffi/object_models/__init__.py | 15 ++ pyffi/object_models/any_type.py | 16 +- pyffi/object_models/array_type.py | 42 +++- pyffi/object_models/binary_type.py | 131 +++++++++- pyffi/object_models/common.py | 236 +++++++++++++++++- pyffi/object_models/editable.py | 48 +++- pyffi/object_models/mex/__init__.py | 21 +- pyffi/object_models/simple_type.py | 22 +- pyffi/object_models/xml/__init__.py | 41 ++- pyffi/object_models/xsd/__init__.py | 31 ++- 26 files changed, 606 insertions(+), 14 deletions(-) create mode 100644 docs/pyffi/object_models/any_type.rst create mode 100644 docs/pyffi/object_models/array_type.rst create mode 100644 docs/pyffi/object_models/binary_type.rst create mode 100644 docs/pyffi/object_models/common.rst create mode 100644 docs/pyffi/object_models/editable.rst rename docs/pyffi/{object_models.rst => object_models/index.rst} (100%) create mode 100644 docs/pyffi/object_models/mex/index.rst create mode 100644 docs/pyffi/object_models/xml/array.rst create mode 100644 docs/pyffi/object_models/xml/basic.rst create mode 100644 docs/pyffi/object_models/xml/bit_struct.rst create mode 100644 docs/pyffi/object_models/xml/enum.rst create mode 100644 docs/pyffi/object_models/xml/expression.rst create mode 100644 docs/pyffi/object_models/xml/index.rst create mode 100644 docs/pyffi/object_models/xml/struct.rst create mode 100644 docs/pyffi/object_models/xsd/index.rst diff --git a/docs/pyffi/object_models/any_type.rst b/docs/pyffi/object_models/any_type.rst new file mode 100644 index 000000000..2352cf2f3 --- /dev/null +++ b/docs/pyffi/object_models/any_type.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.any_type diff --git a/docs/pyffi/object_models/array_type.rst b/docs/pyffi/object_models/array_type.rst new file mode 100644 index 000000000..182748fc6 --- /dev/null +++ b/docs/pyffi/object_models/array_type.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.array_type diff --git a/docs/pyffi/object_models/binary_type.rst b/docs/pyffi/object_models/binary_type.rst new file mode 100644 index 000000000..ff22ce6ef --- /dev/null +++ b/docs/pyffi/object_models/binary_type.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.binary_type diff --git a/docs/pyffi/object_models/common.rst b/docs/pyffi/object_models/common.rst new file mode 100644 index 000000000..41faeef78 --- /dev/null +++ b/docs/pyffi/object_models/common.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.common diff --git a/docs/pyffi/object_models/editable.rst b/docs/pyffi/object_models/editable.rst new file mode 100644 index 000000000..f930d37bc --- /dev/null +++ b/docs/pyffi/object_models/editable.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.editable diff --git a/docs/pyffi/object_models.rst b/docs/pyffi/object_models/index.rst similarity index 100% rename from docs/pyffi/object_models.rst rename to docs/pyffi/object_models/index.rst diff --git a/docs/pyffi/object_models/mex/index.rst b/docs/pyffi/object_models/mex/index.rst new file mode 100644 index 000000000..0a162271e --- /dev/null +++ b/docs/pyffi/object_models/mex/index.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.mex diff --git a/docs/pyffi/object_models/xml/array.rst b/docs/pyffi/object_models/xml/array.rst new file mode 100644 index 000000000..be87c0cec --- /dev/null +++ b/docs/pyffi/object_models/xml/array.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml.array diff --git a/docs/pyffi/object_models/xml/basic.rst b/docs/pyffi/object_models/xml/basic.rst new file mode 100644 index 000000000..8231dbdef --- /dev/null +++ b/docs/pyffi/object_models/xml/basic.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml.basic diff --git a/docs/pyffi/object_models/xml/bit_struct.rst b/docs/pyffi/object_models/xml/bit_struct.rst new file mode 100644 index 000000000..a093be2f7 --- /dev/null +++ b/docs/pyffi/object_models/xml/bit_struct.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml.bit_struct diff --git a/docs/pyffi/object_models/xml/enum.rst b/docs/pyffi/object_models/xml/enum.rst new file mode 100644 index 000000000..5a928c354 --- /dev/null +++ b/docs/pyffi/object_models/xml/enum.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml.enum diff --git a/docs/pyffi/object_models/xml/expression.rst b/docs/pyffi/object_models/xml/expression.rst new file mode 100644 index 000000000..4e7a7ccfa --- /dev/null +++ b/docs/pyffi/object_models/xml/expression.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml.expression diff --git a/docs/pyffi/object_models/xml/index.rst b/docs/pyffi/object_models/xml/index.rst new file mode 100644 index 000000000..df9a57ba9 --- /dev/null +++ b/docs/pyffi/object_models/xml/index.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml diff --git a/docs/pyffi/object_models/xml/struct.rst b/docs/pyffi/object_models/xml/struct.rst new file mode 100644 index 000000000..26806896c --- /dev/null +++ b/docs/pyffi/object_models/xml/struct.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml.struct_ diff --git a/docs/pyffi/object_models/xsd/index.rst b/docs/pyffi/object_models/xsd/index.rst new file mode 100644 index 000000000..b68483957 --- /dev/null +++ b/docs/pyffi/object_models/xsd/index.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.xsd diff --git a/pyffi/__init__.py b/pyffi/__init__.py index 41dbf0ce0..0e9f507fd 100644 --- a/pyffi/__init__.py +++ b/pyffi/__init__.py @@ -4,10 +4,11 @@ .. toctree:: :maxdepth: 3 + :titlesonly: formats/index spells/index - object_models + object_models/index """ diff --git a/pyffi/object_models/__init__.py b/pyffi/object_models/__init__.py index 25d471f32..9be2dd243 100644 --- a/pyffi/object_models/__init__.py +++ b/pyffi/object_models/__init__.py @@ -6,6 +6,21 @@ The documentation of this module is very incomplete. +.. toctree:: + :maxdepth: 2 + :titlesonly: + + mex/index + xml/index + xsd/index + + any_type + array_type + binary_type + common + editable + simple_type + This module bundles all file format object models. An object model is a group of classes whose instances can hold the information contained in a file whose format is described in a particular way diff --git a/pyffi/object_models/any_type.py b/pyffi/object_models/any_type.py index 9a31928e4..de7895728 100644 --- a/pyffi/object_models/any_type.py +++ b/pyffi/object_models/any_type.py @@ -1,6 +1,20 @@ -"""Defines base class for any type that stores mutable data +""" +:mod:`pyffi.object_models.any_type` --- Abstract class for interchangeable data +=============================================================================== + +Defines base class for any type that stores mutable data which is readable and writable, and can check for exchangeable alternatives. + +Implementation +-------------- + +.. autoclass:: AnyType + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage """ # -------------------------------------------------------------------------- diff --git a/pyffi/object_models/array_type.py b/pyffi/object_models/array_type.py index aed813ccb..c01aa2584 100644 --- a/pyffi/object_models/array_type.py +++ b/pyffi/object_models/array_type.py @@ -1,4 +1,44 @@ -"""Defines base class for arrays of data.""" +""" +:mod:`pyffi.object_models.array_type` --- Abstract classes for data stored as an array +====================================================================================== + +Defines base class for arrays of data. + +Implementation +-------------- + +.. autoclass:: ValidatedList + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: AnyArray + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: MetaUniformArray + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: UniformArray + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: MetaUniformSimpleArray + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: UniformSimpleArray + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Example of usage +""" # -------------------------------------------------------------------------- # ***** BEGIN LICENSE BLOCK ***** diff --git a/pyffi/object_models/binary_type.py b/pyffi/object_models/binary_type.py index cfe60f5d5..7d4a3dc9c 100644 --- a/pyffi/object_models/binary_type.py +++ b/pyffi/object_models/binary_type.py @@ -1,4 +1,94 @@ -"""Implements common basic types in XML file format descriptions.""" +""" +:mod:`pyffi.object_models.binary_type` --- Abstract classes for data stored as a binary +======================================================================================= + +Implements common basic types in XML file format descriptions. + +Implementation +-------------- + +.. autoclass:: BinaryType + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: BinarySimpleType + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: IntType + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: UIntType + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: ByteType + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: UByteType + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: ShortType + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: UShortType + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: BoolType + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: CharType + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: Float + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: HFloat + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: ZString + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: FixedString + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: SizedString + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: UndecodedData + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" # ***** BEGIN LICENSE BLOCK ***** # @@ -383,6 +473,45 @@ def get_size(self): return 4 +class HFloat(BinarySimpleType, EditableFloatSpinBox): + """Implementation of a 16-bit float.""" + + def __init__(self): + """Initialize the float.""" + self._value = 0.0 + + def set_value(self, value): + """Set value to C{value}. + + :param value: The value to assign. + :type value: float + """ + self._value = float(value) + + def read(self, stream): + """Read value from stream. + + :param stream: The stream to read from. + :type stream: file + """ + self._value = struct.unpack(' self._max: + raise ValueError('value out of range (%i - %i): %i', self._min, self._max, val) + self._value = val + + def read(self, stream, data): + """Read value from stream. + + :param stream: The stream to read from. + :param data: + :type stream: file + """ + self._value = struct.unpack(data._byte_order + self._struct, stream.read(self._size))[0] + + def write(self, stream, data): + """Write value to stream. + + :param stream: The stream to write to. + :param data: + :type stream: file + """ + stream.write(struct.pack(data._byte_order + self._struct, self._value)) + + @classmethod + def get_size(cls, data=None): + """Return number of bytes this type occupies in a file. + + :return: Number of bytes. + """ + return cls._size + + def get_hash(self, data=None): + """Return a hash value for this value. + + :return: An immutable object that can be used as a hash. + """ + return self.get_value() + + def get_editor_minimum(self): + """Minimum possible value. + + :return: Minimum possible value. + """ + return self._min + + def get_editor_maximum(self): + """Maximum possible value. + + :return: Maximum possible value. + """ + return self._max + + class Float(BasicBase, EditableFloatSpinBox): """Implementation of a 32-bit float.""" @@ -430,6 +595,69 @@ def get_hash(self, data=None): return int(self.get_value() * 200) +class HFloat(BasicBase, EditableFloatSpinBox): + """Implementation of a 16-bit float.""" + + def __init__(self, **kwargs): + """Initialize the float.""" + super(HFloat, self).__init__(**kwargs) + self._value = 0 + + def get_value(self): + """Return stored value. + + :return: The stored value. + """ + return self._value + + def set_value(self, value): + """Set value to C{value}. + + :param value: The value to assign. + :type value: float + """ + self._value = float(value) + + def read(self, stream, data): + """Read value from stream. + + :param stream: The stream to read from. + :type stream: file + """ + self._value = struct.unpack(data._byte_order + 'e', + stream.read(2))[0] + + def write(self, stream, data): + """Write value to stream. + + :param stream: The stream to write to. + :type stream: file + """ + try: + stream.write(struct.pack(data._byte_order + 'e', + self._value)) + except OverflowError: + logger = logging.getLogger("pyffi.object_models") + logger.warn("float value overflow, writing NaN") + stream.write(struct.pack(data._byte_order + 'I', + 0x7fc00000)) + + def get_size(self, data=None): + """Return number of bytes this type occupies in a file. + + :return: Number of bytes. + """ + return 2 + + def get_hash(self, data=None): + """Return a hash value for this value. Currently implemented + with precision 1/200. + + :return: An immutable object that can be used as a hash. + """ + return int(self.get_value() * 200) + + class ZString(BasicBase, EditableLineEdit): """String of variable length (null terminated). diff --git a/pyffi/object_models/editable.py b/pyffi/object_models/editable.py index 198a097ca..a598469be 100644 --- a/pyffi/object_models/editable.py +++ b/pyffi/object_models/editable.py @@ -1,4 +1,6 @@ -"""Implements abstract editor base classes. +""" +:mod:`pyffi.object_models.editable` --- Abstract editor base classes +==================================================================== These abstract base classes provide an abstract layer for editing data in a graphical user interface. @@ -6,8 +8,47 @@ @todo: Make these into true abstract base classes, and implement and use the get_editor_value and set_editor_value functions in non-abstract derived classes. -""" +Implementation +-------------- + +.. autoclass:: EditableBase + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: EditableSpinBox + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: EditableFloatSpinBox + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: EditableLineEdit + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: EditableTextEdit + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: EditableComboBox + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: EditableBoolComboBox + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" # ***** BEGIN LICENSE BLOCK ***** # @@ -46,6 +87,9 @@ # # ***** END LICENSE BLOCK ***** +from abc import ABCMeta + + class EditableBase(object): """The base class for all delegates.""" diff --git a/pyffi/object_models/mex/__init__.py b/pyffi/object_models/mex/__init__.py index ab33fb53c..7e6fdcc26 100644 --- a/pyffi/object_models/mex/__init__.py +++ b/pyffi/object_models/mex/__init__.py @@ -1,6 +1,25 @@ -"""Format classes and metaclasses for binary file formats described by a +""" +:mod:`pyffi.object_models.mex` --- Mex script fileformat parser +=============================================================== + +Format classes and metaclasses for binary file formats described by a mexscript file, and mexscript parser for converting the mexscript description into Python classes. + +Implementation +-------------- + +.. autoclass:: _MetaMexFileFormat + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: MexFileFormat + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage """ # ***** BEGIN LICENSE BLOCK ***** diff --git a/pyffi/object_models/simple_type.py b/pyffi/object_models/simple_type.py index 4e26564c8..9e7004660 100644 --- a/pyffi/object_models/simple_type.py +++ b/pyffi/object_models/simple_type.py @@ -1,4 +1,24 @@ -"""Defines the base class for simple types.""" +""" +:mod:`pyffi.object_models.simple_type` --- Abstract classes for defining simple types +===================================================================================== + +Defines the base class for simple types. + +Implementation +-------------- + +.. autoclass:: _MetaSimpleType + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: SimpleType + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" # -------------------------------------------------------------------------- # ***** BEGIN LICENSE BLOCK ***** diff --git a/pyffi/object_models/xml/__init__.py b/pyffi/object_models/xml/__init__.py index 9b677edcd..cc1051124 100644 --- a/pyffi/object_models/xml/__init__.py +++ b/pyffi/object_models/xml/__init__.py @@ -1,5 +1,44 @@ -"""Format classes and metaclasses for binary file formats described by an xml +""" +:mod:`pyffi.object_models.xml` --- XML fileformat parser +======================================================== + +Format classes and metaclasses for binary file formats described by an xml file, and xml handler for converting the xml description into Python classes. + +Implementation +-------------- + +.. autoclass:: MetaFileFormat + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: FileFormat + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: StructAttribute + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: BitStructAttibute + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: XmlError + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: XmlParser + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage """ # ***** BEGIN LICENSE BLOCK ***** diff --git a/pyffi/object_models/xsd/__init__.py b/pyffi/object_models/xsd/__init__.py index 01e3080e9..bad532aa8 100644 --- a/pyffi/object_models/xsd/__init__.py +++ b/pyffi/object_models/xsd/__init__.py @@ -1,6 +1,35 @@ -"""This module provides a base class and a metaclass for parsing an XSD +""" +:mod:`pyffi.object_models.xsd` --- XSD fileformat parser +============================================================= + +This module provides a base class and a metaclass for parsing an XSD schema and providing an interface for writing XML files that follow this schema. + +Implementation +-------------- + +.. autoclass:: Tree + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: MetaFileFormat + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: Type + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: FileFormat + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage """ # ***** BEGIN LICENSE BLOCK ***** From 8b31ebfbc5d64c036fa3555e28f43370983639ba Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Sat, 28 Jan 2023 18:52:02 +0200 Subject: [PATCH 03/18] Add more documentation for xml --- pyffi/object_models/xml/__init__.py | 27 ++++++++++++++++++++------- pyffi/object_models/xml/array.py | 22 +++++++++++++++++++++- pyffi/object_models/xml/bit_struct.py | 27 ++++++++++++++++++++++++++- pyffi/object_models/xml/enum.py | 22 +++++++++++++++++++++- pyffi/object_models/xml/expression.py | 19 +++++++++++++++++-- pyffi/object_models/xml/struct_.py | 22 +++++++++++++++++++++- 6 files changed, 126 insertions(+), 13 deletions(-) diff --git a/pyffi/object_models/xml/__init__.py b/pyffi/object_models/xml/__init__.py index cc1051124..32f5b5d7f 100644 --- a/pyffi/object_models/xml/__init__.py +++ b/pyffi/object_models/xml/__init__.py @@ -2,28 +2,41 @@ :mod:`pyffi.object_models.xml` --- XML fileformat parser ======================================================== -Format classes and metaclasses for binary file formats described by an xml -file, and xml handler for converting the xml description into Python classes. +Format classes and metaclasses for binary file formats described by an niftoolsxml +file, and niftoolsxml handler for converting the niftoolsxml description into Python classes. + +Contents +-------- + +.. toctree:: + :maxdepth: 2 + :titlesonly: + + array + bit_struct + enum + expression + struct Implementation -------------- -.. autoclass:: MetaFileFormat +.. autoclass:: FileFormat :show-inheritance: :members: :undoc-members: -.. autoclass:: FileFormat +.. autoclass:: StructAttribute :show-inheritance: :members: :undoc-members: -.. autoclass:: StructAttribute +.. autoclass:: BitStructAttribute :show-inheritance: :members: :undoc-members: -.. autoclass:: BitStructAttibute +.. autoclass:: XmlParser :show-inheritance: :members: :undoc-members: @@ -33,7 +46,7 @@ :members: :undoc-members: -.. autoclass:: XmlParser +.. autoclass:: MetaFileFormat :show-inheritance: :members: :undoc-members: diff --git a/pyffi/object_models/xml/array.py b/pyffi/object_models/xml/array.py index 74a0cbb7d..037f282bf 100644 --- a/pyffi/object_models/xml/array.py +++ b/pyffi/object_models/xml/array.py @@ -1,4 +1,24 @@ -"""Implements class for arrays.""" +""" +:mod:`pyffi.object_models.xml.array` --- Array classes +====================================================== + +Implements class for arrays. + +Implementation +-------------- + +.. autoclass:: Array + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: _ListWrap + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" # -------------------------------------------------------------------------- # ***** BEGIN LICENSE BLOCK ***** diff --git a/pyffi/object_models/xml/bit_struct.py b/pyffi/object_models/xml/bit_struct.py index 7c9d5269d..91c80bc09 100644 --- a/pyffi/object_models/xml/bit_struct.py +++ b/pyffi/object_models/xml/bit_struct.py @@ -1,4 +1,29 @@ -"""Implements base class for bitstruct types.""" +""" +:mod:`pyffi.object_models.xml.bit_struct` --- Bit Structured Types +================================================================== + +Implements base class for bitstruct types. + +Implementation +-------------- + +.. autoclass:: Bits + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: BitStructBase + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: _MetaBitStructBase + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" # -------------------------------------------------------------------------- # ***** BEGIN LICENSE BLOCK ***** diff --git a/pyffi/object_models/xml/enum.py b/pyffi/object_models/xml/enum.py index 61c731de4..55366ea5d 100644 --- a/pyffi/object_models/xml/enum.py +++ b/pyffi/object_models/xml/enum.py @@ -1,4 +1,24 @@ -"""Abstract base class for implementing xml enum types.""" +""" +:mod:`pyffi.object_models.xml.enum` --- Enumerated Types +======================================================== + +Abstract base class for implementing niftoolsxml enum types. + +Implementation +-------------- + +.. autoclass:: EnumBase + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: _MetaEnumBase + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" # ***** BEGIN LICENSE BLOCK ***** # diff --git a/pyffi/object_models/xml/expression.py b/pyffi/object_models/xml/expression.py index ba82d8a59..df1fb12e8 100644 --- a/pyffi/object_models/xml/expression.py +++ b/pyffi/object_models/xml/expression.py @@ -1,5 +1,20 @@ -"""Expression parser (for arr1, arr2, cond, and vercond xml attributes of - tag).""" +""" +:mod:`pyffi.object_models.xml.expression` --- Expression parser +=============================================================== + +Expression parser (for arr1, arr2, cond, and vercond niftoolsxml attributes of + tag). + +Implementation +-------------- + +.. autoclass:: Expression + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" # -------------------------------------------------------------------------- # ***** BEGIN LICENSE BLOCK ***** diff --git a/pyffi/object_models/xml/struct_.py b/pyffi/object_models/xml/struct_.py index e63afd324..a245d80b3 100644 --- a/pyffi/object_models/xml/struct_.py +++ b/pyffi/object_models/xml/struct_.py @@ -1,4 +1,24 @@ -"""Implements base class for struct types.""" +""" +:mod:`pyffi.object_models.xml.struct_` --- Structured Types +=========================================================== + +Implements base class for struct types. + +Implementation +-------------- + +.. autoclass:: StructBase + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: _MetaStructBase + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" # -------------------------------------------------------------------------- # ***** BEGIN LICENSE BLOCK ***** From 0e90bc70e102f440ddf2978816159d61e1d46deb Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Sun, 29 Jan 2023 00:02:46 +0200 Subject: [PATCH 04/18] Move Expression and BasicBase to object_models --- docs/pyffi/object_models/basic.rst | 1 + docs/pyffi/object_models/expression.rst | 1 + docs/pyffi/object_models/xml/array.rst | 2 +- docs/pyffi/object_models/xml/basic.rst | 1 - docs/pyffi/object_models/xml/bit_struct.rst | 2 +- docs/pyffi/object_models/xml/enum.rst | 2 +- docs/pyffi/object_models/xml/expression.rst | 1 - docs/pyffi/object_models/xml/index.rst | 2 +- docs/pyffi/object_models/xml/struct.rst | 2 +- pyffi/formats/bsa/__init__.py | 2 +- pyffi/formats/cgf/__init__.py | 2 +- pyffi/formats/dds/__init__.py | 2 +- pyffi/formats/egm/__init__.py | 2 +- pyffi/formats/egt/__init__.py | 2 +- pyffi/formats/kfm/__init__.py | 2 +- pyffi/formats/nif/__init__.py | 2 +- pyffi/formats/tga/__init__.py | 2 +- pyffi/formats/tri/__init__.py | 2 +- pyffi/object_models/__init__.py | 2 + pyffi/object_models/{xml => }/basic.py | 17 +- pyffi/object_models/common.py | 162 +++++++++----------- pyffi/object_models/{xml => }/expression.py | 15 +- pyffi/object_models/xml/__init__.py | 4 +- pyffi/object_models/xml/array.py | 2 +- pyffi/object_models/xml/bit_struct.py | 2 +- pyffi/object_models/xml/enum.py | 2 +- pyffi/object_models/xml/struct_.py | 4 +- pyffi/spells/nif/dump.py | 2 +- tests/object_model/test_expression.py | 117 ++++++++++++++ tests/object_model/xml/test_expression.py | 108 ------------- tests/test_doctests.py | 4 +- 31 files changed, 244 insertions(+), 229 deletions(-) create mode 100644 docs/pyffi/object_models/basic.rst create mode 100644 docs/pyffi/object_models/expression.rst delete mode 100644 docs/pyffi/object_models/xml/basic.rst delete mode 100644 docs/pyffi/object_models/xml/expression.rst rename pyffi/object_models/{xml => }/basic.py (95%) rename pyffi/object_models/{xml => }/expression.py (96%) create mode 100644 tests/object_model/test_expression.py delete mode 100644 tests/object_model/xml/test_expression.py diff --git a/docs/pyffi/object_models/basic.rst b/docs/pyffi/object_models/basic.rst new file mode 100644 index 000000000..e0a4ed237 --- /dev/null +++ b/docs/pyffi/object_models/basic.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.basic diff --git a/docs/pyffi/object_models/expression.rst b/docs/pyffi/object_models/expression.rst new file mode 100644 index 000000000..d745808b5 --- /dev/null +++ b/docs/pyffi/object_models/expression.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.expression diff --git a/docs/pyffi/object_models/xml/array.rst b/docs/pyffi/object_models/xml/array.rst index be87c0cec..aa9389866 100644 --- a/docs/pyffi/object_models/xml/array.rst +++ b/docs/pyffi/object_models/xml/array.rst @@ -1 +1 @@ -.. automodule:: pyffi.object_models.niftoolsxml.array +.. automodule:: pyffi.object_models.xml.array diff --git a/docs/pyffi/object_models/xml/basic.rst b/docs/pyffi/object_models/xml/basic.rst deleted file mode 100644 index 8231dbdef..000000000 --- a/docs/pyffi/object_models/xml/basic.rst +++ /dev/null @@ -1 +0,0 @@ -.. automodule:: pyffi.object_models.niftoolsxml.basic diff --git a/docs/pyffi/object_models/xml/bit_struct.rst b/docs/pyffi/object_models/xml/bit_struct.rst index a093be2f7..f967b8ba4 100644 --- a/docs/pyffi/object_models/xml/bit_struct.rst +++ b/docs/pyffi/object_models/xml/bit_struct.rst @@ -1 +1 @@ -.. automodule:: pyffi.object_models.niftoolsxml.bit_struct +.. automodule:: pyffi.object_models.xml.bit_struct diff --git a/docs/pyffi/object_models/xml/enum.rst b/docs/pyffi/object_models/xml/enum.rst index 5a928c354..201db1a29 100644 --- a/docs/pyffi/object_models/xml/enum.rst +++ b/docs/pyffi/object_models/xml/enum.rst @@ -1 +1 @@ -.. automodule:: pyffi.object_models.niftoolsxml.enum +.. automodule:: pyffi.object_models.xml.enum diff --git a/docs/pyffi/object_models/xml/expression.rst b/docs/pyffi/object_models/xml/expression.rst deleted file mode 100644 index 4e7a7ccfa..000000000 --- a/docs/pyffi/object_models/xml/expression.rst +++ /dev/null @@ -1 +0,0 @@ -.. automodule:: pyffi.object_models.niftoolsxml.expression diff --git a/docs/pyffi/object_models/xml/index.rst b/docs/pyffi/object_models/xml/index.rst index df9a57ba9..4425859d0 100644 --- a/docs/pyffi/object_models/xml/index.rst +++ b/docs/pyffi/object_models/xml/index.rst @@ -1 +1 @@ -.. automodule:: pyffi.object_models.niftoolsxml +.. automodule:: pyffi.object_models.xml diff --git a/docs/pyffi/object_models/xml/struct.rst b/docs/pyffi/object_models/xml/struct.rst index 26806896c..41be511d0 100644 --- a/docs/pyffi/object_models/xml/struct.rst +++ b/docs/pyffi/object_models/xml/struct.rst @@ -1 +1 @@ -.. automodule:: pyffi.object_models.niftoolsxml.struct_ +.. automodule:: pyffi.object_models.xml.struct_ diff --git a/pyffi/formats/bsa/__init__.py b/pyffi/formats/bsa/__init__.py index 46369ef91..d6bfdb0c0 100644 --- a/pyffi/formats/bsa/__init__.py +++ b/pyffi/formats/bsa/__init__.py @@ -118,7 +118,7 @@ import pyffi.object_models import pyffi.object_models.common import pyffi.object_models.xml -from pyffi.object_models.xml.basic import BasicBase +from pyffi.object_models.basic import BasicBase class BsaFormat(pyffi.object_models.xml.FileFormat): diff --git a/pyffi/formats/cgf/__init__.py b/pyffi/formats/cgf/__init__.py index 401eae901..c8c10ccb4 100644 --- a/pyffi/formats/cgf/__init__.py +++ b/pyffi/formats/cgf/__init__.py @@ -222,7 +222,7 @@ import pyffi.object_models.xml import pyffi.utils.mathutils import pyffi.utils.tangentspace -from pyffi.object_models.xml.basic import BasicBase +from pyffi.object_models.basic import BasicBase from pyffi.utils.graph import EdgeFilter diff --git a/pyffi/formats/dds/__init__.py b/pyffi/formats/dds/__init__.py index 7238bc39d..513c4dafb 100644 --- a/pyffi/formats/dds/__init__.py +++ b/pyffi/formats/dds/__init__.py @@ -111,7 +111,7 @@ import pyffi.object_models import pyffi.object_models.common import pyffi.object_models.xml -from pyffi.object_models.xml.basic import BasicBase +from pyffi.object_models.basic import BasicBase from pyffi.utils.graph import EdgeFilter diff --git a/pyffi/formats/egm/__init__.py b/pyffi/formats/egm/__init__.py index 690579d1f..d97db5965 100644 --- a/pyffi/formats/egm/__init__.py +++ b/pyffi/formats/egm/__init__.py @@ -125,7 +125,7 @@ import pyffi.object_models import pyffi.object_models.common import pyffi.object_models.xml -from pyffi.object_models.xml.basic import BasicBase +from pyffi.object_models.basic import BasicBase from pyffi.utils.graph import EdgeFilter diff --git a/pyffi/formats/egt/__init__.py b/pyffi/formats/egt/__init__.py index 28bbfa4e1..88932b252 100644 --- a/pyffi/formats/egt/__init__.py +++ b/pyffi/formats/egt/__init__.py @@ -100,7 +100,7 @@ import pyffi.object_models import pyffi.object_models.common import pyffi.object_models.xml -from pyffi.object_models.xml.basic import BasicBase +from pyffi.object_models.basic import BasicBase from pyffi.utils.graph import EdgeFilter diff --git a/pyffi/formats/kfm/__init__.py b/pyffi/formats/kfm/__init__.py index b15819d14..f425b466d 100644 --- a/pyffi/formats/kfm/__init__.py +++ b/pyffi/formats/kfm/__init__.py @@ -142,7 +142,7 @@ import pyffi.object_models.common import pyffi.object_models.xml import pyffi.object_models.xml.struct_ -from pyffi.object_models.xml.basic import BasicBase +from pyffi.object_models.basic import BasicBase from pyffi.utils.graph import EdgeFilter diff --git a/pyffi/formats/nif/__init__.py b/pyffi/formats/nif/__init__.py index d7def0294..6bd9e049a 100644 --- a/pyffi/formats/nif/__init__.py +++ b/pyffi/formats/nif/__init__.py @@ -372,7 +372,7 @@ # XXX convert the following to absolute imports from pyffi.object_models.editable import EditableBoolComboBox from pyffi.utils.graph import EdgeFilter -from pyffi.object_models.xml.basic import BasicBase +from pyffi.object_models.basic import BasicBase from pyffi.object_models.xml.struct_ import StructBase diff --git a/pyffi/formats/tga/__init__.py b/pyffi/formats/tga/__init__.py index 754281a65..8d80aa252 100644 --- a/pyffi/formats/tga/__init__.py +++ b/pyffi/formats/tga/__init__.py @@ -128,7 +128,7 @@ class TgaFormat(pyffi.object_models.xml.FileFormat): float = pyffi.object_models.common.Float PixelData = pyffi.object_models.common.UndecodedData - class FooterString(pyffi.object_models.xml.basic.BasicBase): + class FooterString(pyffi.object_models.basic.BasicBase): """The Targa footer signature.""" def __str__(self): diff --git a/pyffi/formats/tri/__init__.py b/pyffi/formats/tri/__init__.py index a1647fb49..cfbef57e4 100644 --- a/pyffi/formats/tri/__init__.py +++ b/pyffi/formats/tri/__init__.py @@ -114,7 +114,7 @@ import pyffi.object_models import pyffi.object_models.common import pyffi.object_models.xml -from pyffi.object_models.xml.basic import BasicBase +from pyffi.object_models.basic import BasicBase from pyffi.utils.graph import EdgeFilter diff --git a/pyffi/object_models/__init__.py b/pyffi/object_models/__init__.py index 9be2dd243..73c7a367c 100644 --- a/pyffi/object_models/__init__.py +++ b/pyffi/object_models/__init__.py @@ -16,9 +16,11 @@ any_type array_type + basic binary_type common editable + expression simple_type This module bundles all file format object models. An object model diff --git a/pyffi/object_models/xml/basic.py b/pyffi/object_models/basic.py similarity index 95% rename from pyffi/object_models/xml/basic.py rename to pyffi/object_models/basic.py index 8a04b2c1a..cbd7414b8 100644 --- a/pyffi/object_models/xml/basic.py +++ b/pyffi/object_models/basic.py @@ -1,4 +1,19 @@ -"""Implements base class for basic types.""" +""" +:mod:`pyffi.object_models.basic` --- Basic Types +================================================ + +Implements base class for basic types. + +Implementation +-------------- + +.. autoclass:: BasicBase + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" # -------------------------------------------------------------------------- # ***** BEGIN LICENSE BLOCK ***** diff --git a/pyffi/object_models/common.py b/pyffi/object_models/common.py index fb058578f..ab2a34363 100644 --- a/pyffi/object_models/common.py +++ b/pyffi/object_models/common.py @@ -140,11 +140,11 @@ import logging import struct +from pyffi.object_models.basic import BasicBase from pyffi.object_models.editable import EditableBoolComboBox from pyffi.object_models.editable import EditableFloatSpinBox from pyffi.object_models.editable import EditableLineEdit from pyffi.object_models.editable import EditableSpinBox -from pyffi.object_models.xml.basic import BasicBase # TODO get rid of these _b = b'' @@ -277,6 +277,12 @@ def write(self, stream, data): """ stream.write(struct.pack(data._byte_order + self._struct, self._value)) + def __str__(self): + return str(self.get_value()) + + def __int__(self): + return int(self.get_value()) + @classmethod def get_size(cls, data=None): """Return number of bytes this type occupies in a file. @@ -464,74 +470,6 @@ def get_hash(self, data=None): self.get_value() -class NormByte(BasicBase, EditableFloatSpinBox): # TODO: This shit - """Implementation of a 8-bit float in the range -1.0:1.0, stored as a byte.""" - _min = -0x1 - _max = 0x1 - _struct = 'B' - _size = 1 - - def __init__(self, **kwargs): - super().__init__(**kwargs) - self._value = 0.0 - - def get_value(self): - return self._value - - def set_value(self, value): - val = float(value) - if val < self._min or val > self._max: - raise ValueError('value out of range (%i - %i): %i', self._min, self._max, val) - self._value = val - - def read(self, stream, data): - """Read value from stream. - - :param stream: The stream to read from. - :param data: - :type stream: file - """ - self._value = struct.unpack(data._byte_order + self._struct, stream.read(self._size))[0] - - def write(self, stream, data): - """Write value to stream. - - :param stream: The stream to write to. - :param data: - :type stream: file - """ - stream.write(struct.pack(data._byte_order + self._struct, self._value)) - - @classmethod - def get_size(cls, data=None): - """Return number of bytes this type occupies in a file. - - :return: Number of bytes. - """ - return cls._size - - def get_hash(self, data=None): - """Return a hash value for this value. - - :return: An immutable object that can be used as a hash. - """ - return self.get_value() - - def get_editor_minimum(self): - """Minimum possible value. - - :return: Minimum possible value. - """ - return self._min - - def get_editor_maximum(self): - """Maximum possible value. - - :return: Maximum possible value. - """ - return self._max - - class Float(BasicBase, EditableFloatSpinBox): """Implementation of a 32-bit float.""" @@ -594,8 +532,11 @@ def get_hash(self, data=None): """ return int(self.get_value() * 200) + def __float__(self): + return float(self.get_value()) -class HFloat(BasicBase, EditableFloatSpinBox): + +class HFloat(Float, EditableFloatSpinBox): """Implementation of a 16-bit float.""" def __init__(self, **kwargs): @@ -603,21 +544,6 @@ def __init__(self, **kwargs): super(HFloat, self).__init__(**kwargs) self._value = 0 - def get_value(self): - """Return stored value. - - :return: The stored value. - """ - return self._value - - def set_value(self, value): - """Set value to C{value}. - - :param value: The value to assign. - :type value: float - """ - self._value = float(value) - def read(self, stream, data): """Read value from stream. @@ -649,13 +575,73 @@ def get_size(self, data=None): """ return 2 + +class NormByte(Float, EditableFloatSpinBox): # TODO: This shit + """Implementation of an 8-bit float in the range -1.0:1.0, stored as a byte.""" + _min = -0x1 + _max = 0x1 + _struct = 'B' + _size = 1 + + def __init__(self, **kwargs): + super(NormByte, self).__init__(**kwargs) + self._value = 0.0 + + def get_value(self): + return self._value + + def set_value(self, value): + val = float(value) + if val < self._min or val > self._max: + raise ValueError('value out of range (%i - %i): %i', self._min, self._max, val) + self._value = val + + def read(self, stream, data): + """Read value from stream. + + :param stream: The stream to read from. + :param data: + :type stream: file + """ + self._value = struct.unpack(data._byte_order + self._struct, stream.read(self._size))[0] + + def write(self, stream, data): + """Write value to stream. + + :param stream: The stream to write to. + :param data: + :type stream: file + """ + stream.write(struct.pack(data._byte_order + self._struct, self._value)) + + @classmethod + def get_size(cls, data=None): + """Return number of bytes this type occupies in a file. + + :return: Number of bytes. + """ + return cls._size + def get_hash(self, data=None): - """Return a hash value for this value. Currently implemented - with precision 1/200. + """Return a hash value for this value. :return: An immutable object that can be used as a hash. """ - return int(self.get_value() * 200) + return self.get_value() + + def get_editor_minimum(self): + """Minimum possible value. + + :return: Minimum possible value. + """ + return self._min + + def get_editor_maximum(self): + """Maximum possible value. + + :return: Maximum possible value. + """ + return self._max class ZString(BasicBase, EditableLineEdit): diff --git a/pyffi/object_models/xml/expression.py b/pyffi/object_models/expression.py similarity index 96% rename from pyffi/object_models/xml/expression.py rename to pyffi/object_models/expression.py index df1fb12e8..73b35d9f6 100644 --- a/pyffi/object_models/xml/expression.py +++ b/pyffi/object_models/expression.py @@ -1,8 +1,8 @@ """ -:mod:`pyffi.object_models.xml.expression` --- Expression parser -=============================================================== +:mod:`pyffi.object_models.expression` --- Expression parser +=========================================================== -Expression parser (for arr1, arr2, cond, and vercond niftoolsxml attributes of +Expression parser (for length, width, cond, and vercond xml attributes of tag). Implementation @@ -58,7 +58,7 @@ import re -class Expression(object): +class Expression(object): # TODO: Check if this can handle sub vars A.x.y """This class represents an expression. >>> class A(object): @@ -89,8 +89,8 @@ class Expression(object): False """ - operators = set(('==', '!=', '>=', '<=', '&&', '||', '&', '|', '-', '!', - '<', '>', '/', '*', '+', '%')) + # Operators >> and << are already included by > and <. TODO: Confirm if this is the case + operators = {'==', '!=', '>=', '<=', '&&', '||', '&', '|', '-', '!', '<', '>', '/', '*', '+', '%'} def __init__(self, expr_str, name_filter=None): try: @@ -182,6 +182,9 @@ def __str__(self): right = str(self._right) if not self._right is None else "" return left + ' ' + self._op + ' ' + right + def __repr__(self): + return "Expression(%s)" % self.__str__() + @classmethod def _parse(cls, expr_str, name_filter=None): """Returns an Expression, string, or int, depending on the diff --git a/pyffi/object_models/xml/__init__.py b/pyffi/object_models/xml/__init__.py index 32f5b5d7f..cda6ffc87 100644 --- a/pyffi/object_models/xml/__init__.py +++ b/pyffi/object_models/xml/__init__.py @@ -96,10 +96,10 @@ import xml.etree.ElementTree as ET import pyffi.object_models -from pyffi.object_models.xml.basic import BasicBase +from pyffi.object_models.basic import BasicBase +from pyffi.object_models.expression import Expression from pyffi.object_models.xml.bit_struct import BitStructBase from pyffi.object_models.xml.enum import EnumBase -from pyffi.object_models.xml.expression import Expression from pyffi.object_models.xml.struct_ import StructBase diff --git a/pyffi/object_models/xml/array.py b/pyffi/object_models/xml/array.py index 037f282bf..4f8e609e0 100644 --- a/pyffi/object_models/xml/array.py +++ b/pyffi/object_models/xml/array.py @@ -63,6 +63,7 @@ import logging import weakref +from pyffi.object_models.basic import BasicBase from pyffi.utils.graph import DetailNode, EdgeFilter @@ -426,5 +427,4 @@ def _elementList(self, **kwargs): yield elem -from pyffi.object_models.xml.basic import BasicBase from pyffi.object_models.xml.struct_ import StructBase diff --git a/pyffi/object_models/xml/bit_struct.py b/pyffi/object_models/xml/bit_struct.py index 91c80bc09..00eeef2b5 100644 --- a/pyffi/object_models/xml/bit_struct.py +++ b/pyffi/object_models/xml/bit_struct.py @@ -187,7 +187,7 @@ class BitStructBase(DetailNode, metaclass=_MetaBitStructBase): See the pyffi.XmlHandler class for a more advanced example. - >>> from pyffi.object_models.xml.basic import BasicBase + >>> from pyffi.object_models.basic import BasicBase >>> from pyffi.object_models.xml import BitStructAttribute as Attr >>> class SimpleFormat(object): ... @staticmethod diff --git a/pyffi/object_models/xml/enum.py b/pyffi/object_models/xml/enum.py index 55366ea5d..5fb7b9b7e 100644 --- a/pyffi/object_models/xml/enum.py +++ b/pyffi/object_models/xml/enum.py @@ -61,7 +61,7 @@ import struct from pyffi.object_models.editable import EditableComboBox -from pyffi.object_models.xml.basic import BasicBase +from pyffi.object_models.basic import BasicBase class _MetaEnumBase(type): diff --git a/pyffi/object_models/xml/struct_.py b/pyffi/object_models/xml/struct_.py index a245d80b3..c7d3b7592 100644 --- a/pyffi/object_models/xml/struct_.py +++ b/pyffi/object_models/xml/struct_.py @@ -64,6 +64,7 @@ from functools import partial import pyffi.object_models.common +from pyffi.object_models.basic import BasicBase from pyffi.utils.graph import GlobalNode, EdgeFilter @@ -179,7 +180,7 @@ class StructBase(GlobalNode, metaclass=_MetaStructBase): See the pyffi.XmlHandler class for a more advanced example. - >>> from pyffi.object_models.xml.basic import BasicBase + >>> from pyffi.object_models.basic import BasicBase >>> from pyffi.object_models.xml.expression import Expression >>> from pyffi.object_models.xml import StructAttribute as Attr >>> class SimpleFormat(object): @@ -671,5 +672,4 @@ def get_global_child_nodes(self, edge_filter=EdgeFilter()): yield branch -from pyffi.object_models.xml.basic import BasicBase from pyffi.object_models.xml.array import Array diff --git a/pyffi/spells/nif/dump.py b/pyffi/spells/nif/dump.py index 19a7003f8..c737281f1 100644 --- a/pyffi/spells/nif/dump.py +++ b/pyffi/spells/nif/dump.py @@ -463,7 +463,7 @@ def print_instance(self, name, _value, default=None): "%s[%i][%i]" % (name, i, j), elem): result = True return result - elif isinstance(_value, pyffi.object_models.xml.basic.BasicBase): + elif isinstance(_value, pyffi.object_models.basic.BasicBase): value = _value.get_value() if default is None: default = type(_value)().get_value() diff --git a/tests/object_model/test_expression.py b/tests/object_model/test_expression.py new file mode 100644 index 000000000..54bf09ebc --- /dev/null +++ b/tests/object_model/test_expression.py @@ -0,0 +1,117 @@ +import unittest +import pytest + +from pyffi.object_models.expression import Expression + + +class Z(object): + a = 1 + b = 2 + c = 3 + + +class A(object): + x = False + y = True + z = Z() + + +class B(object): + + def __int__(self): + return 7 + + def __mul__(self, other): + return self.__int__() * int(other) + + +class TestExpression(unittest.TestCase): + + def setUp(self): + self.a = A() + + def test_data_source_evaluation(self): + e = Expression('x || y') + assert e.eval(self.a) == 1 + + assert Expression('99 & 15').eval(self.a) == 3 + assert bool(Expression('(99&15)&&y').eval(self.a)) + + def test_name_filter(self): + self.a.hello_world = False + + def name_filter(s): + return 'hello_' + s.lower() + + assert not bool(Expression('(99 &15) &&WoRlD', name_filter=name_filter).eval(self.a)) + + def test_attribute_error(self): + with pytest.raises(AttributeError): + Expression('c && d').eval(self.a) + + def test_expression_operators(self): + assert bool(Expression('1 == 1').eval()) + assert bool(Expression('(1 == 1)').eval()) + assert not bool(Expression('1 != 1').eval()) + assert not bool(Expression('!(1 == 1)').eval()) + assert not bool(Expression('!((1 <= 2) && (2 <= 3))').eval()) + assert bool(Expression('(1 <= 2) && (2 <= 3) && (3 <= 4)').eval()) + + def test_implicit_cast(self): + self.a.x = B() + assert Expression('x * 10').eval(self.a) == 70 + + def test_nested_attributes(self): + assert bool(Expression("z.a == 1").eval(self.a)) + assert bool(Expression("z.b == 2").eval(self.a)) + assert bool(Expression("z.c == 3").eval(self.a)) + + +class TestPartition: + def test_partition_empty(self): + assert Expression._partition('') == ('', '', '') + + def test_partition_left(self): + assert Expression._partition('abcdefg') == ('abcdefg', '', '') + + def test_partition_left_trim(self): + assert Expression._partition(' abcdefg ') == ('abcdefg', '', '') + + def test_partition_logical_or(self): + assert Expression._partition('abc || efg') == ('abc', '||', 'efg') + + def test_partition_equivilance(self): + assert Expression._partition('(1 == 1)') == ('1 == 1', '', '') + + def test_multi_brances(self): + assert Expression._partition('( 1 != 1 ) || ((!abc) == 1)') == ('1 != 1', '||', '(!abc) == 1') + + def test_partition_no_spaces(self): + assert Expression._partition('abc||efg') == ('abc', '||', 'efg') + + def test_partition_bit_ops(self): + assert Expression._partition(' (a | b) & c ') == ('a | b', '&', 'c') + + def test_partition_right_uninary_op(self): + assert Expression._partition('!(1 <= 2)') == ('', '!', '(1 <= 2)') + + def test_partition_not_eq(self): + assert Expression._partition('(a | b)!=(b&c)') == ('a | b', '!=', 'b&c') + + def test_partition_left_trim2eletricboogaloo(self): # TODO: Had a duplicate name, give an appropriate one + assert Expression._partition('(a== b) &&(( b!=c)||d )') == ('a== b', '&&', '( b!=c)||d') + + +class TestBraces: + def test_no_brace(self): + assert Expression._scan_brackets('abcde') == (-1, -1) + + def test_single_set_of_braces(self): + assert Expression._scan_brackets('()') == (0, 1) + + def test_nested_braces(self): + assert Expression._scan_brackets('(abc(def))g') == (0, 9) + + expr_string = ' (abc(dd efy 442))xxg' + start_pos, end_pos = Expression._scan_brackets(expr_string) + assert expr_string[start_pos + 1:end_pos] == "abc(dd efy 442)" diff --git a/tests/object_model/xml/test_expression.py b/tests/object_model/xml/test_expression.py deleted file mode 100644 index a9c459eb2..000000000 --- a/tests/object_model/xml/test_expression.py +++ /dev/null @@ -1,108 +0,0 @@ -import unittest - -from nose.tools import assert_equals, assert_false, assert_true, raises - -from pyffi.object_models.xml.expression import Expression - - -class A(object): - x = False - y = True - - -class B(object): - - def __int__(self): - return 7 - - def __mul__(self, other): - return self.__int__() * int(other) - - -class TestExpression(unittest.TestCase): - - def setUp(self): - self.a = A() - - def test_data_source_evaluation(self): - e = Expression('x || y') - assert_equals(e.eval(self.a), 1) - - assert_equals(Expression('99 & 15').eval(self.a), 3) - assert_true(bool(Expression('(99&15)&&y').eval(self.a))) - - def test_name_filter(self): - self.a.hello_world = False - - def nameFilter(s): - return 'hello_' + s.lower() - - assert_false(bool(Expression('(99 &15) &&WoRlD', name_filter=nameFilter).eval(self.a))) - - @raises(AttributeError) - def test_attribute_error(self): - Expression('c && d').eval(self.a) - - def test_expression_operators(self): - assert_true(bool(Expression('1 == 1').eval())) - assert_true(bool(Expression('(1 == 1)').eval())) - assert_false(bool(Expression('1 != 1').eval())) - assert_false(bool(Expression('!(1 == 1)').eval())) - assert_false(bool(Expression('!((1 <= 2) && (2 <= 3))').eval())) - assert_true(bool(Expression('(1 <= 2) && (2 <= 3) && (3 <= 4)').eval())) - - def test_implicit_cast(self): - self.a.x = B() - assert_equals(Expression('x * 10').eval(self.a), 70) - - -class TestPartition: - - def test_partition_empty(self): - assert_equals(Expression._partition(''), ('', '', '')) - - def test_partition_left(self): - assert_equals(Expression._partition('abcdefg'), ('abcdefg', '', '')) - - def test_partition_left_trim(self): - assert_equals(Expression._partition(' abcdefg '), ('abcdefg', '', '')) - - def test_partition_logical_or(self): - assert_equals(Expression._partition('abc || efg'), ('abc', '||', 'efg')) - - def test_partition_equivilance(self): - assert_equals(Expression._partition('(1 == 1)'), ('1 == 1', '', '')) - - def test_multi_brances(self): - assert_equals(Expression._partition('( 1 != 1 ) || ((!abc) == 1)'), ('1 != 1', '||', '(!abc) == 1')) - - def test_partition_no_spaces(self): - assert_equals(Expression._partition('abc||efg'), ('abc', '||', 'efg')) - - def test_partition_bit_ops(self): - assert_equals(Expression._partition(' (a | b) & c '), ('a | b', '&', 'c')) - - def test_partition_right_uninary_op(self): - assert_equals(Expression._partition('!(1 <= 2)'), ('', '!', '(1 <= 2)')) - - def test_partition_not_eq(self): - assert_equals(Expression._partition('(a | b)!=(b&c)'), ('a | b', '!=', 'b&c')) - - def test_partition_left_trim(self): - assert_equals(Expression._partition('(a== b) &&(( b!=c)||d )'), ('a== b', '&&', '( b!=c)||d')) - - -class TestBraces: - - def test_no_brace(self): - assert_equals(Expression._scan_brackets('abcde'), (-1, -1)) - - def test_single_set_of_braces(self): - assert_equals(Expression._scan_brackets('()'), (0, 1)) - - def test_nested_braces(self): - assert_equals(Expression._scan_brackets('(abc(def))g'), (0, 9)) - - s = ' (abc(dd efy 442))xxg' - start_pos, end_pos = Expression._scan_brackets(s) - assert_equals(s[start_pos + 1:end_pos], "abc(dd efy 442)") diff --git a/tests/test_doctests.py b/tests/test_doctests.py index 0c8fc6a76..2f12c8afb 100644 --- a/tests/test_doctests.py +++ b/tests/test_doctests.py @@ -19,15 +19,15 @@ import pyffi.object_models import pyffi.object_models.any_type import pyffi.object_models.array_type +import pyffi.object_models.basic import pyffi.object_models.binary_type import pyffi.object_models.common +import pyffi.object_models.expression import pyffi.object_models.mex import pyffi.object_models.simple_type import pyffi.object_models.xml -import pyffi.object_models.xml.basic import pyffi.object_models.xml.bit_struct import pyffi.object_models.xml.enum -import pyffi.object_models.xml.expression import pyffi.object_models.xml.struct_ import pyffi.spells import pyffi.spells.nif From c85f44f5f11999cfeff2d1d15ce4af8992064f06 Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Sun, 29 Jan 2023 00:03:48 +0200 Subject: [PATCH 05/18] Add inherited members to the NifFormat TODO: This should be done for all formats NOTE: Makes sphinx take a LONG time to complete tho --- pyffi/formats/nif/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyffi/formats/nif/__init__.py b/pyffi/formats/nif/__init__.py index 6bd9e049a..a74e622f4 100644 --- a/pyffi/formats/nif/__init__.py +++ b/pyffi/formats/nif/__init__.py @@ -8,6 +8,7 @@ .. autoclass:: NifFormat :show-inheritance: :members: + :inherited-members: :undoc-members: Regression tests @@ -172,7 +173,7 @@ Get list of versions and games ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->>> for vnum in sorted(NifFormat.versions.values()): +>>> for vnum in sorted(NifFormat.versions_num.values()): ... print('0x%08X' % vnum) # doctest: +REPORT_UDIFF 0x02030000 0x03000000 From 2043dae691c4f9cec2a87b5a70be9c322c362142 Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Sun, 29 Jan 2023 18:38:34 +0200 Subject: [PATCH 06/18] Switch nifxml to latest develop branch --- pyffi/formats/nif/nifxml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyffi/formats/nif/nifxml b/pyffi/formats/nif/nifxml index f265c5648..89d03ffe6 160000 --- a/pyffi/formats/nif/nifxml +++ b/pyffi/formats/nif/nifxml @@ -1 +1 @@ -Subproject commit f265c56482c728c6877e45d5b5993d3bff83670a +Subproject commit 89d03ffe69254ef4b3b58b0a22ec2ff9820b2e63 From 6732b015e84ce27df314d169a6e65611c43eb337 Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Tue, 31 Jan 2023 20:03:42 +0200 Subject: [PATCH 07/18] Some cleanup --- pyffi/formats/cgf/__init__.py | 2 +- pyffi/object_models/common.py | 24 +++++++++++- pyffi/object_models/editable.py | 2 - pyffi/object_models/xml/enum.py | 2 +- pyffi/utils/graph.py | 1 - pyffi/utils/inertia.py | 1 + setup.py | 1 + .../formats/nif/test_bhkpackednitristrips.py | 38 +++++++++---------- tests/object_model/__init__.py | 0 9 files changed, 44 insertions(+), 27 deletions(-) create mode 100644 tests/object_model/__init__.py diff --git a/pyffi/formats/cgf/__init__.py b/pyffi/formats/cgf/__init__.py index c8c10ccb4..e897b7503 100644 --- a/pyffi/formats/cgf/__init__.py +++ b/pyffi/formats/cgf/__init__.py @@ -914,7 +914,7 @@ def write(self, stream): for chunkhdr, chunk, chunkversion in zip(self.chunk_table.chunk_headers, self.chunks, self.versions): logger.debug("Writing %s chunk version 0x%08X at 0x%08X" % ( - chunk.__class__.__name__, chunkhdr.version, stream.tell())) + chunk.__class__.__name__, chunkhdr.version, stream.tell())) # set up chunk header chunkhdr.type = getattr( diff --git a/pyffi/object_models/common.py b/pyffi/object_models/common.py index ab2a34363..6bb6dfbec 100644 --- a/pyffi/object_models/common.py +++ b/pyffi/object_models/common.py @@ -280,6 +280,9 @@ def write(self, stream, data): def __str__(self): return str(self.get_value()) + def __repr__(self): + return f"<{self.__class__.__name__} {{'min': {self._min}, 'max': {self._max}, 'struct': {self._struct}, 'size': {self._size}, 'val': {self._value}}}>" + def __int__(self): return int(self.get_value()) @@ -380,8 +383,7 @@ def read(self, stream, data): :param stream: The stream to read from. :type stream: file """ - self._value = struct.unpack('<' + self._struct, - stream.read(self._size))[0] + self._value = struct.unpack('<' + self._struct, stream.read(self._size))[0] def write(self, stream, data): """Write value to stream. @@ -455,6 +457,9 @@ def write(self, stream, data): def __str__(self): return _as_str(self._value) + def __repr__(self): + return f"<{self.__class__.__name__} {{'val': {self._value}}}>" + def get_size(self, data=None): """Return number of bytes this type occupies in a file. @@ -535,6 +540,9 @@ def get_hash(self, data=None): def __float__(self): return float(self.get_value()) + def __repr__(self): + return f"<{self.__class__.__name__} {{'val': {self._value}}}>" + class HFloat(Float, EditableFloatSpinBox): """Implementation of a 16-bit float.""" @@ -674,6 +682,9 @@ def __init__(self, **kwargs): def __str__(self): return _as_str(self._value) + def __repr__(self): + return f"<{self.__class__.__name__} {{'val': {str(self._value)}}}>" + def get_value(self): """Return the string. @@ -770,6 +781,9 @@ def __init__(self, **kwargs): def __str__(self): return _as_str(self._value) + def __repr__(self): + return f"<{self.__class__.__name__} {{'val': {str(self._value)}}}>" + def get_value(self): """Return the string. @@ -873,6 +887,9 @@ def set_value(self, value): def __str__(self): return _as_str(self._value) + def __repr__(self): + return f"<{self.__class__.__name__} {{'val': {str(self._value)}}}>" + def get_size(self, data=None): """Return number of bytes this type occupies in a file. @@ -938,6 +955,9 @@ def set_value(self, value): def __str__(self): return '' + def __repr__(self): + return f"<{self.__class__.__name__} {{'val': {self._value}}}>" + def get_size(self, data=None): """Return number of bytes the data occupies in a file. diff --git a/pyffi/object_models/editable.py b/pyffi/object_models/editable.py index a598469be..f4827c050 100644 --- a/pyffi/object_models/editable.py +++ b/pyffi/object_models/editable.py @@ -87,8 +87,6 @@ # # ***** END LICENSE BLOCK ***** -from abc import ABCMeta - class EditableBase(object): """The base class for all delegates.""" diff --git a/pyffi/object_models/xml/enum.py b/pyffi/object_models/xml/enum.py index 5fb7b9b7e..27ce0fe53 100644 --- a/pyffi/object_models/xml/enum.py +++ b/pyffi/object_models/xml/enum.py @@ -60,8 +60,8 @@ import logging import struct -from pyffi.object_models.editable import EditableComboBox from pyffi.object_models.basic import BasicBase +from pyffi.object_models.editable import EditableComboBox class _MetaEnumBase(type): diff --git a/pyffi/utils/graph.py b/pyffi/utils/graph.py index c1614ad2d..f93c11779 100644 --- a/pyffi/utils/graph.py +++ b/pyffi/utils/graph.py @@ -29,7 +29,6 @@ The base classes are roughly based on the TreeItem example in the Qt docs: http://doc.trolltech.com/4.4/itemviews-simpletreemodel.html """ - # -------------------------------------------------------------------------- # ***** BEGIN LICENSE BLOCK ***** # diff --git a/pyffi/utils/inertia.py b/pyffi/utils/inertia.py index 915082a4c..973fd2e0c 100644 --- a/pyffi/utils/inertia.py +++ b/pyffi/utils/inertia.py @@ -39,6 +39,7 @@ # ***** END LICENSE BLOCK ***** import math +import operator from pyffi.utils.mathutils import * diff --git a/setup.py b/setup.py index f17b446c6..dc1ac166d 100644 --- a/setup.py +++ b/setup.py @@ -12,6 +12,7 @@ PACKAGES = [ 'pyffi', 'pyffi.object_models', + 'pyffi.object_models.mex', 'pyffi.object_models.xml', 'pyffi.object_models.xsd', 'pyffi.utils', diff --git a/tests/formats/nif/test_bhkpackednitristrips.py b/tests/formats/nif/test_bhkpackednitristrips.py index a028caed6..238fa2f27 100644 --- a/tests/formats/nif/test_bhkpackednitristrips.py +++ b/tests/formats/nif/test_bhkpackednitristrips.py @@ -1,13 +1,11 @@ -import nose - from pyffi.formats.nif import NifFormat def test_bhkPackedNiTriStripsShape(): # Adding Shapes shape = NifFormat.bhkPackedNiTriStripsShape() - nose.tools.assert_equal(shape.num_sub_shapes, 0) - nose.tools.assert_true(shape.data is None) + assert shape.num_sub_shapes == 0 + assert shape.data is None triangles1 = [(0, 1, 2)] normals1 = [(1, 0, 0)] vertices1 = [(0, 0, 0), (0, 0, 1), (0, 1, 0)] @@ -16,21 +14,21 @@ def test_bhkPackedNiTriStripsShape(): vertices2 = [(0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 0, 0)] shape.add_shape(triangles=triangles1, normals=normals1, vertices=vertices1, layer=1, material=2) shape.add_shape(triangles=triangles2, normals=normals2, vertices=vertices2, layer=3, material=4) - nose.tools.assert_equal(shape.num_sub_shapes, 2) - nose.tools.assert_equal(shape.sub_shapes[0].layer, 1) - nose.tools.assert_equal(shape.sub_shapes[0].num_vertices, 3) - nose.tools.assert_equal(shape.sub_shapes[0].material.material, 2) - nose.tools.assert_equal(shape.sub_shapes[1].layer, 3) - nose.tools.assert_equal(shape.sub_shapes[1].num_vertices, 4) - nose.tools.assert_equal(shape.sub_shapes[1].material.material, 4) + assert shape.num_sub_shapes == 2 + assert shape.sub_shapes[0].layer == 1 + assert shape.sub_shapes[0].num_vertices == 3 + assert shape.sub_shapes[0].material.material == 2 + assert shape.sub_shapes[1].layer == 3 + assert shape.sub_shapes[1].num_vertices == 4 + assert shape.sub_shapes[1].material.material == 4 # for fallout 3 the subshape info is stored in the shape data - nose.tools.assert_equal(shape.data.num_sub_shapes, 2) - nose.tools.assert_equal(shape.data.sub_shapes[0].layer, 1) - nose.tools.assert_equal(shape.data.sub_shapes[0].num_vertices, 3) - nose.tools.assert_equal(shape.data.sub_shapes[0].material.material, 2) - nose.tools.assert_equal(shape.data.sub_shapes[1].layer, 3) - nose.tools.assert_equal(shape.data.sub_shapes[1].num_vertices, 4) - nose.tools.assert_equal(shape.data.sub_shapes[1].material.material, 4) - nose.tools.assert_equal(shape.data.num_triangles, 3) - nose.tools.assert_equal(shape.data.num_vertices, 7) + assert shape.data.num_sub_shapes == 2 + assert shape.data.sub_shapes[0].layer == 1 + assert shape.data.sub_shapes[0].num_vertices == 3 + assert shape.data.sub_shapes[0].material.material == 2 + assert shape.data.sub_shapes[1].layer == 3 + assert shape.data.sub_shapes[1].num_vertices == 4 + assert shape.data.sub_shapes[1].material.material == 4 + assert shape.data.num_triangles == 3 + assert shape.data.num_vertices == 7 diff --git a/tests/object_model/__init__.py b/tests/object_model/__init__.py new file mode 100644 index 000000000..e69de29bb From 5fb177f903036fbd22a2b051adf1e99da692e8e3 Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Tue, 31 Jan 2023 20:06:20 +0200 Subject: [PATCH 08/18] Add support for latest nif.xml Thats it, thats everything (lies). --- .../pyffi/object_models/niftoolsxml/array.rst | 1 + .../object_models/niftoolsxml/bit_struct.rst | 1 + docs/pyffi/object_models/niftoolsxml/enum.rst | 1 + .../pyffi/object_models/niftoolsxml/index.rst | 1 + .../object_models/niftoolsxml/struct.rst | 1 + docs/pyffi/object_models/simple_type.rst | 1 + pyffi/formats/nif/__init__.py | 1393 +++++++++-------- pyffi/object_models/__init__.py | 1 + pyffi/object_models/expression.py | 101 +- pyffi/object_models/niftoolsxml/__init__.py | 792 ++++++++++ pyffi/object_models/niftoolsxml/array.py | 443 ++++++ pyffi/object_models/niftoolsxml/bit_struct.py | 503 ++++++ pyffi/object_models/niftoolsxml/enum.py | 231 +++ pyffi/object_models/niftoolsxml/struct_.py | 758 +++++++++ pyffi/spells/nif/check.py | 56 +- pyffi/spells/nif/dump.py | 6 +- pyffi/spells/nif/fix.py | 32 +- pyffi/spells/nif/modify.py | 2 +- pyffi/spells/nif/optimize.py | 42 +- requirements/requirements-dev.txt | 4 +- requirements/requirements-docs.txt | 2 +- requirements/requirements.txt | 1 + scripts/nif/nifmakehsl.py | 30 +- setup.py | 1 + tests/object_model/test_expression.py | 4 + tests/test_doctests.py | 4 + 26 files changed, 3606 insertions(+), 806 deletions(-) create mode 100644 docs/pyffi/object_models/niftoolsxml/array.rst create mode 100644 docs/pyffi/object_models/niftoolsxml/bit_struct.rst create mode 100644 docs/pyffi/object_models/niftoolsxml/enum.rst create mode 100644 docs/pyffi/object_models/niftoolsxml/index.rst create mode 100644 docs/pyffi/object_models/niftoolsxml/struct.rst create mode 100644 docs/pyffi/object_models/simple_type.rst create mode 100644 pyffi/object_models/niftoolsxml/__init__.py create mode 100644 pyffi/object_models/niftoolsxml/array.py create mode 100644 pyffi/object_models/niftoolsxml/bit_struct.py create mode 100644 pyffi/object_models/niftoolsxml/enum.py create mode 100644 pyffi/object_models/niftoolsxml/struct_.py diff --git a/docs/pyffi/object_models/niftoolsxml/array.rst b/docs/pyffi/object_models/niftoolsxml/array.rst new file mode 100644 index 000000000..be87c0cec --- /dev/null +++ b/docs/pyffi/object_models/niftoolsxml/array.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml.array diff --git a/docs/pyffi/object_models/niftoolsxml/bit_struct.rst b/docs/pyffi/object_models/niftoolsxml/bit_struct.rst new file mode 100644 index 000000000..a093be2f7 --- /dev/null +++ b/docs/pyffi/object_models/niftoolsxml/bit_struct.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml.bit_struct diff --git a/docs/pyffi/object_models/niftoolsxml/enum.rst b/docs/pyffi/object_models/niftoolsxml/enum.rst new file mode 100644 index 000000000..5a928c354 --- /dev/null +++ b/docs/pyffi/object_models/niftoolsxml/enum.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml.enum diff --git a/docs/pyffi/object_models/niftoolsxml/index.rst b/docs/pyffi/object_models/niftoolsxml/index.rst new file mode 100644 index 000000000..df9a57ba9 --- /dev/null +++ b/docs/pyffi/object_models/niftoolsxml/index.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml diff --git a/docs/pyffi/object_models/niftoolsxml/struct.rst b/docs/pyffi/object_models/niftoolsxml/struct.rst new file mode 100644 index 000000000..26806896c --- /dev/null +++ b/docs/pyffi/object_models/niftoolsxml/struct.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.niftoolsxml.struct_ diff --git a/docs/pyffi/object_models/simple_type.rst b/docs/pyffi/object_models/simple_type.rst new file mode 100644 index 000000000..261173d58 --- /dev/null +++ b/docs/pyffi/object_models/simple_type.rst @@ -0,0 +1 @@ +.. automodule:: pyffi.object_models.simple_type diff --git a/pyffi/formats/nif/__init__.py b/pyffi/formats/nif/__init__.py index a74e622f4..3249c0df4 100644 --- a/pyffi/formats/nif/__init__.py +++ b/pyffi/formats/nif/__init__.py @@ -349,37 +349,39 @@ # # ***** END LICENSE BLOCK ***** -from itertools import repeat, chain -import logging -import math # math.pi +import math # math.pi import os import re import struct -import sys import warnings import weakref +from itertools import repeat, chain import pyffi.formats.bsa import pyffi.formats.dds -import pyffi.object_models.common import pyffi.object_models -from pyffi.object_models.xml import FileFormat +import pyffi.object_models.common import pyffi.utils.inertia -from pyffi.utils.mathutils import * # XXX todo get rid of from XXX import * import pyffi.utils.mopp +import pyffi.utils.quickhull import pyffi.utils.tristrip import pyffi.utils.vertex_cache -import pyffi.utils.quickhull +from pyffi.object_models.basic import BasicBase # XXX convert the following to absolute imports from pyffi.object_models.editable import EditableBoolComboBox -from pyffi.utils.graph import EdgeFilter -from pyffi.object_models.basic import BasicBase +from pyffi.object_models.niftoolsxml import NifToolsFileFormat from pyffi.object_models.xml.struct_ import StructBase +from pyffi.utils.graph import EdgeFilter +from pyffi.utils.mathutils import * # XXX todo get rid of from XXX import * +# TODO: HERE IS THE PROBLEM +# https://github.com/niftools/nifxml/blob/develop/nif.xml#L3466 +# NiAVObject contains two Flags, one uint and one ushort. PyFFI is only reading the uint and not the ushort -class NifFormat(FileFormat): - """This class contains the generated classes from the xml.""" +# TODO: Things have been renamed, must figure out what! +class NifFormat(NifToolsFileFormat): + """This class contains the generated classes from the niftoolsxml.""" xml_file_name = 'nif.xml' # where to look for nif.xml and in what order: NIFXMLPATH env var, # or NifFormat module directory @@ -403,20 +405,26 @@ class NifFormat(FileFormat): # basic types ulittle32 = pyffi.object_models.common.ULittle32 int = pyffi.object_models.common.Int + int64 = pyffi.object_models.common.Int64 uint = pyffi.object_models.common.UInt - byte = pyffi.object_models.common.UByte # not a typo + uint64 = pyffi.object_models.common.UInt64 + byte = pyffi.object_models.common.UByte # not a typo + # normbyte = pyffi.object_models.common.NormByte + normbyte = pyffi.object_models.common.UByte char = pyffi.object_models.common.Char short = pyffi.object_models.common.Short ushort = pyffi.object_models.common.UShort float = pyffi.object_models.common.Float + hfloat = pyffi.object_models.common.HFloat BlockTypeIndex = pyffi.object_models.common.UShort - StringIndex = pyffi.object_models.common.UInt + NiFixedString = pyffi.object_models.common.UInt SizedString = pyffi.object_models.common.SizedString # implementation of nif-specific basic types class StringOffset(pyffi.object_models.common.Int): """This is just an integer with -1 as default value.""" + def __init__(self, **kwargs): pyffi.object_models.common.Int.__init__(self, **kwargs) self.set_value(-1) @@ -433,6 +441,7 @@ class bool(BasicBase, EditableBoolComboBox): >>> i.get_value() True """ + def __init__(self, **kwargs): BasicBase.__init__(self, **kwargs) self.set_value(False) @@ -489,6 +498,7 @@ class Ref(BasicBase): _is_template = True _has_links = True _has_refs = True + def __init__(self, **kwargs): BasicBase.__init__(self, **kwargs) self._template = kwargs.get("template") @@ -501,7 +511,7 @@ def set_value(self, value): if value is None: self._value = None else: - if self._template != None: + if self._template is not None: if not isinstance(value, self._template): raise TypeError( 'expected an instance of %s but got instance of %s' @@ -518,7 +528,7 @@ def get_hash(self, data=None): return None def read(self, stream, data): - self.set_value(None) # fix_links will set this field + self.set_value(None) # fix_links will set this field block_index, = struct.unpack(data._byte_order + 'i', stream.read(4)) data._link_stack.append(block_index) @@ -546,11 +556,11 @@ def fix_links(self, data): block_index = data._link_stack.pop(0) # case when there's no link if data.version >= 0x0303000D: - if block_index == -1: # link by block number + if block_index == -1: # link by block number self.set_value(None) return else: - if block_index == 0: # link by pointer + if block_index == 0: # link by pointer self.set_value(None) return # other case: look up the link and check the link type @@ -558,10 +568,10 @@ def fix_links(self, data): self.set_value(block) if self._template != None: if not isinstance(block, self._template): - #raise TypeError('expected an instance of %s but got instance of %s'%(self._template, block.__class__)) + # raise TypeError('expected an instance of %s but got instance of %s'%(self._template, block.__class__)) logging.getLogger("pyffi.nif.ref").warn( - "Expected an %s but got %s: ignoring reference." - % (self._template, block.__class__)) + "Expected an %s but got %s: ignoring reference." + % (self._template, block.__class__)) def get_links(self, data=None): val = self.get_value() @@ -601,7 +611,7 @@ def replace_global_node(self, oldbranch, newbranch, if self.get_value() is oldbranch: # set_value takes care of template type self.set_value(newbranch) - #print("replacing", repr(oldbranch), "->", repr(newbranch)) + # print("replacing", repr(old_branch), "->", repr(new_branch)) if self.get_value() is not None: self.get_value().replace_global_node(oldbranch, newbranch) @@ -636,7 +646,7 @@ def set_value(self, value): def __str__(self): # avoid infinite recursion - return '%s instance at 0x%08X'%(self._value.__class__, id(self._value)) + return '%s instance at 0x%08X' % (self._value.__class__, id(self._value)) def get_refs(self, data=None): return [] @@ -645,11 +655,11 @@ def get_hash(self, data=None): return None def replace_global_node(self, oldbranch, newbranch, - edge_filter=EdgeFilter()): + edge_filter=EdgeFilter()): # overridden to avoid infinite recursion if self.get_value() is oldbranch: self.set_value(newbranch) - #print("replacing", repr(oldbranch), "->", repr(newbranch)) + # print("replacing", repr(old_branch), "->", repr(new_branch)) class LineString(BasicBase): """Basic type for strings ending in a newline character (0x0a). @@ -675,6 +685,7 @@ class LineString(BasicBase): >>> str(m) 'Hi There' """ + def __init__(self, **kwargs): BasicBase.__init__(self, **kwargs) self.set_value('') @@ -689,7 +700,7 @@ def __str__(self): return pyffi.object_models.common._as_str(self._value) def get_size(self, data=None): - return len(self._value) + 1 # +1 for trailing endline + return len(self._value) + 1 # +1 for trailing endline def get_hash(self, data=None): return self.get_value() @@ -759,7 +770,7 @@ def version_string(version, modification=None): 'Joymaster HS1 Object Format - (JMI), Version 20.3.0.9' """ if version == -1 or version is None: - raise ValueError('No string for version %s.'%version) + raise ValueError('No string for version %s.' % version) if modification == "neosteam": if version != 0x0A010000: raise ValueError("NeoSteam must have version 0x0A010000.") @@ -771,9 +782,10 @@ def version_string(version, modification=None): if version == 0x03000300: v = "3.03" elif version <= 0x03010000: - v = "%i.%i"%((version >> 24) & 0xff, (version >> 16) & 0xff) + v = "%i.%i" % ((version >> 24) & 0xff, (version >> 16) & 0xff) else: - v = "%i.%i.%i.%i"%((version >> 24) & 0xff, (version >> 16) & 0xff, (version >> 8) & 0xff, version & 0xff) + v = "%i.%i.%i.%i" % ( + (version >> 24) & 0xff, (version >> 16) & 0xff, (version >> 8) & 0xff, version & 0xff) if modification == "ndoors": return "NDSNIF....@....@...., Version %s" % v elif modification == "jmihs1": @@ -790,7 +802,7 @@ def __str__(self): def read(self, stream, data): modification = data.modification - ver, = struct.unpack(' 10000: raise ValueError('string too long (0x%08X at 0x%08X)' @@ -932,6 +945,7 @@ def get_hash(self, data=None): class FilePath(string): """A file path.""" + def get_hash(self, data=None): """Returns a case insensitive hash value.""" return self.get_value().lower() @@ -939,9 +953,10 @@ def get_hash(self, data=None): class ByteArray(BasicBase): """Array (list) of bytes. Implemented as basic type to speed up reading and also to prevent data to be dumped by __str__.""" + def __init__(self, **kwargs): BasicBase.__init__(self, **kwargs) - self.set_value("".encode()) # b'' for > py25 + self.set_value("".encode()) # b'' for > py25 def get_value(self): return self._value @@ -971,6 +986,7 @@ def __str__(self): class ByteMatrix(BasicBase): """Matrix of bytes. Implemented as basic type to speed up reading and to prevent data being dumped by __str__.""" + def __init__(self, **kwargs): BasicBase.__init__(self, **kwargs) self.set_value([]) @@ -979,14 +995,14 @@ def get_value(self): return self._value def set_value(self, value): - assert(isinstance(value, list)) + assert (isinstance(value, list)) if value: size1 = len(value[0]) for x in value: # TODO fix this for py3k - #assert(isinstance(x, basestring)) - assert(len(x) == size1) - self._value = value # should be a list of strings of bytes + # assert(isinstance(x, basestring)) + assert (len(x) == size1) + self._value = value # should be a list of strings of bytes def get_size(self, data=None): if len(self._value) == 0: @@ -995,7 +1011,7 @@ def get_size(self, data=None): return len(self._value) * len(self._value[0]) + 8 def get_hash(self, data=None): - return tuple( x.__hash__() for x in self._value ) + return tuple(x.__hash__() for x in self._value) def read(self, stream, data): size1, = struct.unpack(data._byte_order + 'I', @@ -1051,12 +1067,12 @@ def version_number(version_str): try: ver_list = [int(x) for x in version_str.split('.')] except ValueError: - return -1 # version not supported (i.e. version_str '10.0.1.3a' would trigger this) + return -1 # version not supported (i.e. version_str '10.0.1.3a' would trigger this) if len(ver_list) > 4 or len(ver_list) < 1: - return -1 # version not supported + return -1 # version not supported for ver_digit in ver_list: if (ver_digit | 0xff) > 0xff: - return -1 # version not supported + return -1 # version not supported while len(ver_list) < 4: ver_list.append(0) return (ver_list[0] << 24) + (ver_list[1] << 16) + (ver_list[2] << 8) + ver_list[3] @@ -1076,8 +1092,8 @@ class Data(pyffi.object_models.FileFormat.Data): :type version: ``int`` :ivar user_version: The nif user version. :type user_version: ``int`` - :ivar user_version_2: The nif user version 2. - :type user_version_2: ``int`` + :ivar bs_version: The nif user version 2. + :type bs_version: ``int`` :ivar roots: List of root blocks. :type roots: ``list`` of L{NifFormat.NiObject} :ivar header: The nif header. @@ -1109,7 +1125,7 @@ def __str__(self): def get_detail_display(self): return self.__str__() - def __init__(self, version=0x04000002, user_version=0, user_version_2=0): + def __init__(self, version=0x04000002, user_version=0, bs_version=0): """Initialize nif data. By default, this creates an empty nif document of the given version and user version. @@ -1123,8 +1139,8 @@ def __init__(self, version=0x04000002, user_version=0, user_version_2=0): self._version_value_.set_value(version) self._user_version_value_ = self.VersionUInt() self._user_version_value_.set_value(user_version) - self._user_version_2_value_ = self.VersionUInt() - self._user_version_2_value_.set_value(user_version_2) + self._bs_version_value_ = self.VersionUInt() + self._bs_version_value_.set_value(bs_version) # create new header self.header = NifFormat.Header() # empty list of root blocks (this encodes the footer) @@ -1136,22 +1152,29 @@ def __init__(self, version=0x04000002, user_version=0, user_version_2=0): def _getVersion(self): return self._version_value_.get_value() + def _setVersion(self, value): self._version_value_.set_value(value) - + def _getUserVersion(self): return self._user_version_value_.get_value() + def _setUserVersion(self, value): self._user_version_value_.set_value(value) - def _getUserVersion2(self): - return self._user_version_2_value_.get_value() - def _setUserVersion2(self, value): - self._user_version_2_value_.set_value(value) + def _getBSVersion(self): + return self._bs_version_value_.get_value() + + def _setBSVersion(self, value): + self._bs_version_value_.set_value(value) + + def _getBSHeader(self): # TODO: Why + return self.header.bs_header version = property(_getVersion, _setVersion) user_version = property(_getUserVersion, _setUserVersion) - user_version_2 = property(_getUserVersion2, _setUserVersion2) + bs_version = property(_getBSVersion, _setBSVersion) + bs_header = property(_getBSHeader) # new functions @@ -1194,8 +1217,8 @@ def inspect_version_only(self, stream): ver = NifFormat.version_number(version_str) except: raise ValueError("Nif version %s not supported." % version_str) - if not ver in list(NifFormat.versions.values()): - raise ValueError("Nif version %s not supported." % version_str) + if not ver in list(NifFormat.versions_num.values()): + raise ValueError("Nif version %s not supported. (%s)" % (version_str, NifFormat.versions_num.values())) # check version integer and user version userver = 0 userver2 = 0 @@ -1230,13 +1253,13 @@ def inspect_version_only(self, stream): if ver >= 0x0A010000: userver, = struct.unpack('= 10: - stream.read(4) # number of blocks + stream.read(4) # number of blocks userver2, = struct.unpack('= 2: + # if verbose >= 2: # print(hdr) # set up footer @@ -1497,7 +1522,7 @@ def write(self, stream): # write the file logger.debug("Writing header") - #logger.debug("%s" % self.header) + # logger.debug("%s" % self.header) self.header.write(stream, self) for block in self.blocks: # signal top level object if block is a root object @@ -1512,8 +1537,8 @@ def write(self, stream): else: # write block type string s = NifFormat.SizedString() - assert(block_type_list[block_type_dct[block]] - == block.__class__.__name__) # debug + assert (block_type_list[block_type_dct[block]] + == block.__class__.__name__) # debug s.set_value(block.__class__.__name__) s.write(stream, self) # write block index @@ -1530,7 +1555,7 @@ def write(self, stream): ftr.write(stream, self) def _makeBlockList( - self, root, block_index_dct, block_type_list, block_type_dct): + self, root, block_index_dct, block_type_list, block_type_dct): """This is a helper function for write to set up the list of all blocks, the block index map, and the block type map. @@ -1617,13 +1642,12 @@ def read(self, stream, data): raise ValueError( "Expected trailing zero byte in footer, " "but got %i instead." % extrabyte) - + def write(self, stream, data): StructBase.write(self, stream, data) modification = getattr(data, 'modification', None) if modification == "neosteam": stream.write("\x00".encode("ascii")) - class Header: def has_block_type(self, block_type): @@ -1663,7 +1687,7 @@ def as_list(self): [self.m_11, self.m_12, self.m_13], [self.m_21, self.m_22, self.m_23], [self.m_31, self.m_32, self.m_33] - ] + ] def as_tuple(self): """Return matrix as 3x3 tuple.""" @@ -1671,16 +1695,16 @@ def as_tuple(self): (self.m_11, self.m_12, self.m_13), (self.m_21, self.m_22, self.m_23), (self.m_31, self.m_32, self.m_33) - ) + ) def __str__(self): return ( - "[ %6.3f %6.3f %6.3f ]\n" - "[ %6.3f %6.3f %6.3f ]\n" - "[ %6.3f %6.3f %6.3f ]\n" - % (self.m_11, self.m_12, self.m_13, - self.m_21, self.m_22, self.m_23, - self.m_31, self.m_32, self.m_33)) + "[ %6.3f %6.3f %6.3f ]\n" + "[ %6.3f %6.3f %6.3f ]\n" + "[ %6.3f %6.3f %6.3f ]\n" + % (self.m_11, self.m_12, self.m_13, + self.m_21, self.m_22, self.m_23, + self.m_31, self.m_32, self.m_33)) def set_identity(self): """Set to identity matrix.""" @@ -1696,15 +1720,15 @@ def set_identity(self): def is_identity(self): """Return ``True`` if the matrix is close to identity.""" - if (abs(self.m_11 - 1.0) > NifFormat.EPSILON - or abs(self.m_12) > NifFormat.EPSILON - or abs(self.m_13) > NifFormat.EPSILON - or abs(self.m_21) > NifFormat.EPSILON - or abs(self.m_22 - 1.0) > NifFormat.EPSILON - or abs(self.m_23) > NifFormat.EPSILON - or abs(self.m_31) > NifFormat.EPSILON - or abs(self.m_32) > NifFormat.EPSILON - or abs(self.m_33 - 1.0) > NifFormat.EPSILON): + if (abs(self.m_11 - 1.0) > NifFormat.EPSILON + or abs(self.m_12) > NifFormat.EPSILON + or abs(self.m_13) > NifFormat.EPSILON + or abs(self.m_21) > NifFormat.EPSILON + or abs(self.m_22 - 1.0) > NifFormat.EPSILON + or abs(self.m_23) > NifFormat.EPSILON + or abs(self.m_31) > NifFormat.EPSILON + or abs(self.m_32) > NifFormat.EPSILON + or abs(self.m_33 - 1.0) > NifFormat.EPSILON): return False else: return True @@ -1774,20 +1798,20 @@ def is_rotation(self): def get_determinant(self): """Return determinant.""" - return (self.m_11*self.m_22*self.m_33 - +self.m_12*self.m_23*self.m_31 - +self.m_13*self.m_21*self.m_32 - -self.m_31*self.m_22*self.m_13 - -self.m_21*self.m_12*self.m_33 - -self.m_11*self.m_32*self.m_23) + return (self.m_11 * self.m_22 * self.m_33 + + self.m_12 * self.m_23 * self.m_31 + + self.m_13 * self.m_21 * self.m_32 + - self.m_31 * self.m_22 * self.m_13 + - self.m_21 * self.m_12 * self.m_33 + - self.m_11 * self.m_32 * self.m_23) def get_scale(self): """Gets the scale (assuming is_scale_rotation is true!).""" scale = self.get_determinant() if scale < 0: - return -((-scale)**(1.0/3.0)) + return -((-scale) ** (1.0 / 3.0)) else: - return scale**(1.0/3.0) + return scale ** (1.0 / 3.0) def get_scale_rotation(self): """Decompose the matrix into scale and rotation, where scale is a float @@ -1827,37 +1851,36 @@ def get_scale_quat(self): if trace > NifFormat.EPSILON: s = (trace ** 0.5) * 2 - quat.x = -( rot.m_32 - rot.m_23 ) / s - quat.y = -( rot.m_13 - rot.m_31 ) / s - quat.z = -( rot.m_21 - rot.m_12 ) / s + quat.x = -(rot.m_32 - rot.m_23) / s + quat.y = -(rot.m_13 - rot.m_31) / s + quat.z = -(rot.m_21 - rot.m_12) / s quat.w = 0.25 * s elif rot.m_11 > max((rot.m_22, rot.m_33)): - s = (( 1.0 + rot.m_11 - rot.m_22 - rot.m_33 ) ** 0.5) * 2 + s = ((1.0 + rot.m_11 - rot.m_22 - rot.m_33) ** 0.5) * 2 quat.x = 0.25 * s - quat.y = (rot.m_21 + rot.m_12 ) / s - quat.z = (rot.m_13 + rot.m_31 ) / s - quat.w = -(rot.m_32 - rot.m_23 ) / s + quat.y = (rot.m_21 + rot.m_12) / s + quat.z = (rot.m_13 + rot.m_31) / s + quat.w = -(rot.m_32 - rot.m_23) / s elif rot.m_22 > rot.m_33: - s = (( 1.0 + rot.m_22 - rot.m_11 - rot.m_33 ) ** 0.5) * 2 - quat.x = (rot.m_21 + rot.m_12 ) / s + s = ((1.0 + rot.m_22 - rot.m_11 - rot.m_33) ** 0.5) * 2 + quat.x = (rot.m_21 + rot.m_12) / s quat.y = 0.25 * s - quat.z = (rot.m_32 + rot.m_23 ) / s - quat.w = -(rot.m_13 - rot.m_31 ) / s + quat.z = (rot.m_32 + rot.m_23) / s + quat.w = -(rot.m_13 - rot.m_31) / s else: - s = (( 1.0 + rot.m_33 - rot.m_11 - rot.m_22 ) ** 0.5) * 2 - quat.x = (rot.m_13 + rot.m_31 ) / s - quat.y = (rot.m_32 + rot.m_23 ) / s + s = ((1.0 + rot.m_33 - rot.m_11 - rot.m_22) ** 0.5) * 2 + quat.x = (rot.m_13 + rot.m_31) / s + quat.y = (rot.m_32 + rot.m_23) / s quat.z = 0.25 * s - quat.w = -(rot.m_21 - rot.m_12 ) / s + quat.w = -(rot.m_21 - rot.m_12) / s return scale, quat - def get_inverse(self): """Get inverse (assuming is_scale_rotation is true!).""" # transpose inverts rotation but keeps the scale # dividing by scale^2 inverts the scale as well - return self.get_transpose() / (self.m_11**2 + self.m_12**2 + self.m_13**2) + return self.get_transpose() / (self.m_11 ** 2 + self.m_12 ** 2 + self.m_13 ** 2) def __mul__(self, rhs): if isinstance(rhs, (float, int)): @@ -1890,7 +1913,7 @@ def __mul__(self, rhs): return mat else: raise TypeError( - "do not know how to multiply Matrix33 with %s"%rhs.__class__) + "do not know how to multiply Matrix33 with %s" % rhs.__class__) def __div__(self, rhs): if isinstance(rhs, (float, int)): @@ -1907,31 +1930,31 @@ def __div__(self, rhs): return mat else: raise TypeError( - "do not know how to divide Matrix33 by %s"%rhs.__class__) + "do not know how to divide Matrix33 by %s" % rhs.__class__) # py3k __truediv__ = __div__ def __rmul__(self, lhs): if isinstance(lhs, (float, int)): - return self * lhs # commutes + return self * lhs # commutes else: raise TypeError( - "do not know how to multiply %s with Matrix33"%lhs.__class__) + "do not know how to multiply %s with Matrix33" % lhs.__class__) def __eq__(self, mat): if not isinstance(mat, NifFormat.Matrix33): raise TypeError( - "do not know how to compare Matrix33 and %s"%mat.__class__) + "do not know how to compare Matrix33 and %s" % mat.__class__) if (abs(self.m_11 - mat.m_11) > NifFormat.EPSILON - or abs(self.m_12 - mat.m_12) > NifFormat.EPSILON - or abs(self.m_13 - mat.m_13) > NifFormat.EPSILON - or abs(self.m_21 - mat.m_21) > NifFormat.EPSILON - or abs(self.m_22 - mat.m_22) > NifFormat.EPSILON - or abs(self.m_23 - mat.m_23) > NifFormat.EPSILON - or abs(self.m_31 - mat.m_31) > NifFormat.EPSILON - or abs(self.m_32 - mat.m_32) > NifFormat.EPSILON - or abs(self.m_33 - mat.m_33) > NifFormat.EPSILON): + or abs(self.m_12 - mat.m_12) > NifFormat.EPSILON + or abs(self.m_13 - mat.m_13) > NifFormat.EPSILON + or abs(self.m_21 - mat.m_21) > NifFormat.EPSILON + or abs(self.m_22 - mat.m_22) > NifFormat.EPSILON + or abs(self.m_23 - mat.m_23) > NifFormat.EPSILON + or abs(self.m_31 - mat.m_31) > NifFormat.EPSILON + or abs(self.m_32 - mat.m_32) > NifFormat.EPSILON + or abs(self.m_33 - mat.m_33) > NifFormat.EPSILON): return False return True @@ -1974,7 +1997,6 @@ def sup_norm(self): for row in self.as_list()) class Vector3: - def assign(self, vec): """ Set this vector to values from another object that supports iteration or x,y,z properties """ # see if it is an iterable @@ -1989,13 +2011,13 @@ def assign(self, vec): self.y = vec.y if hasattr(vec, "z"): self.z = vec.z - + def __iter__(self): # just a convenience so we can do: x,y,z = Vector3() yield self.x yield self.y yield self.z - + def as_list(self): return [self.x, self.y, self.z] @@ -2003,12 +2025,12 @@ def as_tuple(self): return (self.x, self.y, self.z) def norm(self, sqrt=math.sqrt): - return sqrt(self.x*self.x + self.y*self.y + self.z*self.z) + return sqrt(self.x * self.x + self.y * self.y + self.z * self.z) def normalize(self, ignore_error=False, sqrt=math.sqrt): # inlining norm() to reduce overhead try: - factor = 1.0 / sqrt(self.x*self.x + self.y*self.y + self.z*self.z) + factor = 1.0 / sqrt(self.x * self.x + self.y * self.y + self.z * self.z) except ZeroDivisionError: if not ignore_error: raise @@ -2032,7 +2054,7 @@ def get_copy(self): return v def __str__(self): - return "[ %6.3f %6.3f %6.3f ]"%(self.x, self.y, self.z) + return "[ %6.3f %6.3f %6.3f ]" % (self.x, self.y, self.z) def __mul__(self, x): if isinstance(x, (float, int)): @@ -2052,7 +2074,7 @@ def __mul__(self, x): elif isinstance(x, NifFormat.Matrix44): return self * x.get_matrix_33() + x.get_translation() else: - raise TypeError("do not know how to multiply Vector3 with %s"%x.__class__) + raise TypeError("do not know how to multiply Vector3 with %s" % x.__class__) def __rmul__(self, x): if isinstance(x, (float, int)): @@ -2062,7 +2084,7 @@ def __rmul__(self, x): v.z = x * self.z return v else: - raise TypeError("do not know how to multiply %s and Vector3"%x.__class__) + raise TypeError("do not know how to multiply %s and Vector3" % x.__class__) def __div__(self, x): if isinstance(x, (float, int)): @@ -2072,7 +2094,7 @@ def __div__(self, x): v.z = self.z / x return v else: - raise TypeError("do not know how to divide Vector3 and %s"%x.__class__) + raise TypeError("do not know how to divide Vector3 and %s" % x.__class__) # py3k __truediv__ = __div__ @@ -2091,7 +2113,7 @@ def __add__(self, x): v.z = self.z + x.z return v else: - raise TypeError("do not know how to add Vector3 and %s"%x.__class__) + raise TypeError("do not know how to add Vector3 and %s" % x.__class__) def __radd__(self, x): if isinstance(x, (float, int)): @@ -2101,7 +2123,7 @@ def __radd__(self, x): v.z = x + self.z return v else: - raise TypeError("do not know how to add %s and Vector3"%x.__class__) + raise TypeError("do not know how to add %s and Vector3" % x.__class__) def __sub__(self, x): if isinstance(x, (float, int)): @@ -2117,7 +2139,7 @@ def __sub__(self, x): v.z = self.z - x.z return v else: - raise TypeError("do not know how to substract Vector3 and %s"%x.__class__) + raise TypeError("do not know how to substract Vector3 and %s" % x.__class__) def __rsub__(self, x): if isinstance(x, (float, int)): @@ -2127,7 +2149,7 @@ def __rsub__(self, x): v.z = x - self.z return v else: - raise TypeError("do not know how to substract %s and Vector3"%x.__class__) + raise TypeError("do not know how to substract %s and Vector3" % x.__class__) def __neg__(self): v = NifFormat.Vector3() @@ -2140,12 +2162,12 @@ def __neg__(self): def crossproduct(self, x): if isinstance(x, NifFormat.Vector3): v = NifFormat.Vector3() - v.x = self.y*x.z - self.z*x.y - v.y = self.z*x.x - self.x*x.z - v.z = self.x*x.y - self.y*x.x + v.x = self.y * x.z - self.z * x.y + v.y = self.z * x.x - self.x * x.z + v.z = self.x * x.y - self.y * x.x return v else: - raise TypeError("do not know how to calculate crossproduct of Vector3 and %s"%x.__class__) + raise TypeError("do not know how to calculate crossproduct of Vector3 and %s" % x.__class__) def __eq__(self, x): if isinstance(x, type(None)): @@ -2209,7 +2231,7 @@ def get_vector_3(self): return v def __str__(self): - return "[ %6.3f %6.3f %6.3f %6.3f ]"%(self.x, self.y, self.z, self.w) + return "[ %6.3f %6.3f %6.3f %6.3f ]" % (self.x, self.y, self.z, self.w) def __eq__(self, rhs): if isinstance(rhs, type(None)): @@ -2253,16 +2275,16 @@ def apply_scale(self, scale): self.dimensions.x *= scale self.dimensions.y *= scale self.dimensions.z *= scale - self.minimum_size *= scale + self.minimum_size *= scale - def get_mass_center_inertia(self, density = 1, solid = True): + def get_mass_center_inertia(self, density=1, solid=True): """Return mass, center, and inertia tensor.""" # the dimensions describe half the size of the box in each dimension # so the length of a single edge is dimension.dir * 2 mass, inertia = pyffi.utils.inertia.getMassInertiaBox( (self.dimensions.x * 2, self.dimensions.y * 2, self.dimensions.z * 2), - density = density, solid = solid) - return mass, (0,0,0), inertia + density=density, solid=solid) + return mass, (0, 0, 0), inertia class bhkCapsuleShape: def apply_scale(self, scale): @@ -2278,13 +2300,13 @@ def apply_scale(self, scale): self.second_point.y *= scale self.second_point.z *= scale - def get_mass_center_inertia(self, density = 1, solid = True): + def get_mass_center_inertia(self, density=1, solid=True): """Return mass, center, and inertia tensor.""" # (assumes self.radius == self.radius_1 == self.radius_2) length = (self.first_point - self.second_point).norm() mass, inertia = pyffi.utils.inertia.getMassInertiaCapsule( - radius = self.radius, length = length, - density = density, solid = solid) + radius=self.radius, length=length, + density=density, solid=solid) # now fix inertia so it is expressed in the right coordinates # need a transform that maps (0,0,length/2) on (second - first) / 2 # and (0,0,-length/2) on (first - second)/2 @@ -2293,15 +2315,15 @@ def get_mass_center_inertia(self, density = 1, solid = True): index = min(enumerate(vec1), key=lambda val: abs(val[1]))[0] vec2 = vecCrossProduct(vec1, tuple((1 if i == index else 0) for i in range(3))) - vec2 = vecscalarMul(vec2, 1/vecNorm(vec2)) + vec2 = vecscalarMul(vec2, 1 / vecNorm(vec2)) # find an orthogonal vector to vec1 and vec2 vec3 = vecCrossProduct(vec1, vec2) # get transform matrix - transform_transposed = (vec2, vec3, vec1) # this is effectively the transposed of our transform + transform_transposed = (vec2, vec3, vec1) # this is effectively the transposed of our transform transform = matTransposed(transform_transposed) # check the result (debug) - assert(vecDistance(matvecMul(transform, (0,0,1)), vec1) < 0.0001) - assert(abs(matDeterminant(transform) - 1) < 0.0001) + assert (vecDistance(matvecMul(transform, (0, 0, 1)), vec1) < 0.0001) + assert (abs(matDeterminant(transform) - 1) < 0.0001) # transform the inertia tensor inertia = matMul(matMul(transform_transposed, inertia), transform) return (mass, @@ -2324,15 +2346,15 @@ def get_transform_a_b(self, parent): chainA = parent.find_chain(self.entities[0]) chainB = parent.find_chain(self.entities[1]) # validate the chains - assert(isinstance(chainA[-1], NifFormat.bhkRigidBody)) - assert(isinstance(chainA[-2], NifFormat.NiCollisionObject)) - assert(isinstance(chainA[-3], NifFormat.NiNode)) - assert(isinstance(chainB[-1], NifFormat.bhkRigidBody)) - assert(isinstance(chainB[-2], NifFormat.NiCollisionObject)) - assert(isinstance(chainB[-3], NifFormat.NiNode)) + assert (isinstance(chainA[-1], NifFormat.bhkRigidBody)) + assert (isinstance(chainA[-2], NifFormat.NiCollisionObject)) + assert (isinstance(chainA[-3], NifFormat.NiNode)) + assert (isinstance(chainB[-1], NifFormat.bhkRigidBody)) + assert (isinstance(chainB[-2], NifFormat.NiCollisionObject)) + assert (isinstance(chainB[-3], NifFormat.NiNode)) # return the relative transform - return (chainA[-3].get_transform(relative_to = parent) - * chainB[-3].get_transform(relative_to = parent).get_inverse()) + return (chainA[-3].get_transform(relative_to=parent) + * chainB[-3].get_transform(relative_to=parent).get_inverse()) class bhkConvexVerticesShape: def apply_scale(self, scale): @@ -2345,14 +2367,14 @@ def apply_scale(self, scale): for n in self.normals: n.w *= scale - def get_mass_center_inertia(self, density = 1, solid = True): + def get_mass_center_inertia(self, density=1, solid=True): """Return mass, center, and inertia tensor.""" # first find an enumeration of all triangles making up the convex shape vertices, triangles = pyffi.utils.quickhull.qhull3d( [vert.as_tuple() for vert in self.vertices]) # now calculate mass, center, and inertia return pyffi.utils.inertia.get_mass_center_inertia_polyhedron( - vertices, triangles, density = density, solid = solid) + vertices, triangles, density=density, solid=solid) class bhkLimitedHingeConstraint: def apply_scale(self, scale): @@ -2371,11 +2393,11 @@ def update_a_b(self, parent): self.limited_hinge.update_a_b(self.get_transform_a_b(parent)) class bhkListShape: - def get_mass_center_inertia(self, density = 1, solid = True): + def get_mass_center_inertia(self, density=1, solid=True): """Return center of gravity and area.""" - subshapes_mci = [ subshape.get_mass_center_inertia(density = density, - solid = solid) - for subshape in self.sub_shapes ] + subshapes_mci = [subshape.get_mass_center_inertia(density=density, + solid=solid) + for subshape in self.sub_shapes] total_mass = 0 total_center = (0, 0, 0) total_inertia = ((0, 0, 0), (0, 0, 0), (0, 0, 0)) @@ -2393,7 +2415,7 @@ def get_mass_center_inertia(self, density = 1, solid = True): total_inertia = matAdd(total_inertia, inertia) return total_mass, total_center, total_inertia - def add_shape(self, shape, front = False): + def add_shape(self, shape, front=False): """Add shape to list.""" # check if it's already there if shape in self.sub_shapes: return @@ -2406,7 +2428,7 @@ def add_shape(self, shape, front = False): self.sub_shapes[num_shapes] = shape else: for i in range(num_shapes, 0, -1): - self.sub_shapes[i] = self.sub_shapes[i-1] + self.sub_shapes[i] = self.sub_shapes[i - 1] self.sub_shapes[0] = shape # expand list of unknown ints as well self.num_unknown_ints = num_shapes + 1 @@ -2462,10 +2484,10 @@ def update_origin_scale(self): maxx = max(v.x for v in self.shape.data.vertices) maxy = max(v.y for v in self.shape.data.vertices) maxz = max(v.z for v in self.shape.data.vertices) - self.origin.x = minx - 0.1 - self.origin.y = miny - 0.1 - self.origin.z = minz - 0.1 - self.scale = (256*256*254) / (0.2+max([maxx-minx,maxy-miny,maxz-minz])) + self.mopp_code.offset.x = minx - 0.1 + self.mopp_code.offset.y = miny - 0.1 + self.mopp_code.offset.z = minz - 0.1 + self.scale = (256 * 256 * 254) / (0.2 + max([maxx - minx, maxy - miny, maxz - minz])) def update_mopp(self): """Update the MOPP data, scale, and origin, and welding info. @@ -2493,14 +2515,14 @@ def update_mopp_welding(self): material_per_vertex = [] for subshape in self.shape.get_sub_shapes(): material_per_vertex += ( - [subshape.material] * subshape.num_vertices) + [subshape.material] * subshape.num_vertices) material_per_triangle = [ material_per_vertex[hktri.triangle.v_1] for hktri in self.shape.data.triangles] # compute havok info try: origin, scale, mopp, welding_infos \ - = pyffi.utils.mopp.getMopperOriginScaleCodeWelding( + = pyffi.utils.mopp.getMopperOriginScaleCodeWelding( [vert.as_tuple() for vert in self.shape.data.vertices], [(hktri.triangle.v_1, hktri.triangle.v_2, @@ -2512,9 +2534,9 @@ def update_mopp_welding(self): else: # must use calculated scale and origin self.scale = scale - self.origin.x = origin[0] - self.origin.y = origin[1] - self.origin.z = origin[2] + self.mopp_code.offset.x = origin[0] + self.mopp_code.offset.y = origin[1] + self.mopp_code.offset.z = origin[2] # if havok's mopper failed, do a simple mopp if failed: logger.exception( @@ -2532,19 +2554,19 @@ def update_mopp_welding(self): welding_infos = [] # delete mopp and replace with new data - self.mopp_data_size = len(mopp) - self.mopp_data.update_size() + self.mopp_code.data_size = len(mopp) + self.mopp_code.data.update_size() for i, b in enumerate(mopp): - self.mopp_data[i] = b + self.mopp_code.data[i] = b # update welding information for hktri, welding_info in zip(self.shape.data.triangles, welding_infos): - hktri.welding_info = welding_info + hktri.welding_info.set_value(welding_info) def _makeSimpleMopp(self): """Make a simple mopp.""" - mopp = [] # the mopp 'assembly' script - self._q = 256*256 / self.scale # quantization factor + mopp = [] # the mopp 'assembly' script + self._q = 256 * 256 / self.scale # quantization factor # opcodes BOUNDX = 0x26 @@ -2555,14 +2577,14 @@ def _makeSimpleMopp(self): TESTZ = 0x12 # add first crude bounding box checks - self._vertsceil = [ self._moppCeil(v) for v in self.shape.data.vertices ] - self._vertsfloor = [ self._moppFloor(v) for v in self.shape.data.vertices ] - minx = min([ v[0] for v in self._vertsfloor ]) - miny = min([ v[1] for v in self._vertsfloor ]) - minz = min([ v[2] for v in self._vertsfloor ]) - maxx = max([ v[0] for v in self._vertsceil ]) - maxy = max([ v[1] for v in self._vertsceil ]) - maxz = max([ v[2] for v in self._vertsceil ]) + self._vertsceil = [self._moppCeil(v) for v in self.shape.data.vertices] + self._vertsfloor = [self._moppFloor(v) for v in self.shape.data.vertices] + minx = min([v[0] for v in self._vertsfloor]) + miny = min([v[1] for v in self._vertsfloor]) + minz = min([v[2] for v in self._vertsfloor]) + maxx = max([v[0] for v in self._vertsceil]) + maxy = max([v[1] for v in self._vertsceil]) + maxz = max([v[2] for v in self._vertsceil]) if minx < 0 or miny < 0 or minz < 0: raise ValueError("cannot update mopp tree with invalid origin") if maxx > 255 or maxy > 255 or maxz > 255: raise ValueError("cannot update mopp tree with invalid scale") mopp.extend([BOUNDZ, minz, maxz]) @@ -2571,44 +2593,44 @@ def _makeSimpleMopp(self): # add tree using subsequent X-Y-Z splits # (slow and no noticable difference from other simple tree so deactivated) - #tris = range(len(self.shape.data.triangles)) - #tree = self.split_triangles(tris, [[minx,maxx],[miny,maxy],[minz,maxz]]) - #mopp += self.mopp_from_tree(tree) + # tris = range(len(self.shape.data.triangles)) + # tree = self.split_triangles(tris, [[minx,maxx],[miny,maxy],[minz,maxz]]) + # mopp += self.mopp_from_tree(tree) # add a trivial tree # this prevents the player of walking through the model # but arrows may still fly through numtriangles = len(self.shape.data.triangles) i = 0x30 - for t in range(numtriangles-1): - mopp.extend([TESTZ, maxz, 0, 1, i]) - i += 1 - if i == 0x50: - mopp.extend([0x09, 0x20]) # increment triangle offset - i = 0x30 + for t in range(numtriangles - 1): + mopp.extend([TESTZ, maxz, 0, 1, i]) + i += 1 + if i == 0x50: + mopp.extend([0x09, 0x20]) # increment triangle offset + i = 0x30 mopp.extend([i]) return mopp def _moppCeil(self, v): - moppx = int((v.x + 0.1 - self.origin.x) / self._q + 0.99999999) - moppy = int((v.y + 0.1 - self.origin.y) / self._q + 0.99999999) - moppz = int((v.z + 0.1 - self.origin.z) / self._q + 0.99999999) + moppx = int((v.x + 0.1 - self.mopp_code.offset.x) / self._q + 0.99999999) + moppy = int((v.y + 0.1 - self.mopp_code.offset.y) / self._q + 0.99999999) + moppz = int((v.z + 0.1 - self.mopp_code.offset.z) / self._q + 0.99999999) return [moppx, moppy, moppz] def _moppFloor(self, v): - moppx = int((v.x - 0.1 - self.origin.x) / self._q) - moppy = int((v.y - 0.1 - self.origin.y) / self._q) - moppz = int((v.z - 0.1 - self.origin.z) / self._q) + moppx = int((v.x - 0.1 - self.mopp_code.offset.x) / self._q) + moppy = int((v.y - 0.1 - self.mopp_code.offset.y) / self._q) + moppz = int((v.z - 0.1 - self.mopp_code.offset.z) / self._q) return [moppx, moppy, moppz] def split_triangles(self, ts, bbox, dir=0): """Direction 0=X, 1=Y, 2=Z""" - btest = [] # for bounding box tests - test = [] # for branch command + btest = [] # for bounding box tests + test = [] # for branch command # check bounding box - tris = [ t.triangle for t in self.shape.data.triangles ] - tsverts = [ tris[t].v_1 for t in ts] + [ tris[t].v_2 for t in ts] + [ tris[t].v_3 for t in ts] + tris = [t.triangle for t in self.shape.data.triangles] + tsverts = [tris[t].v_1 for t in ts] + [tris[t].v_2 for t in ts] + [tris[t].v_3 for t in ts] minx = min([self._vertsfloor[v][0] for v in tsverts]) miny = min([self._vertsfloor[v][1] for v in tsverts]) minz = min([self._vertsfloor[v][2] for v in tsverts]) @@ -2617,47 +2639,48 @@ def split_triangles(self, ts, bbox, dir=0): maxz = max([self._vertsceil[v][2] for v in tsverts]) # add bounding box checks if it's reduced in a direction if (maxx - minx < bbox[0][1] - bbox[0][0]): - btest += [ 0x26, minx, maxx ] + btest += [0x26, minx, maxx] bbox[0][0] = minx bbox[0][1] = maxx if (maxy - miny < bbox[1][1] - bbox[1][0]): - btest += [ 0x27, miny, maxy ] + btest += [0x27, miny, maxy] bbox[1][0] = miny bbox[1][1] = maxy if (maxz - minz < bbox[2][1] - bbox[2][0]): - btest += [ 0x28, minz, maxz ] + btest += [0x28, minz, maxz] bbox[2][0] = minz bbox[2][1] = maxz # if only one triangle, no further split needed if len(ts) == 1: if ts[0] < 32: - return [ btest, [ 0x30 + ts[0] ], [], [] ] + return [btest, [0x30 + ts[0]], [], []] elif ts[0] < 256: - return [ btest, [ 0x50, ts[0] ], [], [] ] + return [btest, [0x50, ts[0]], [], []] else: - return [ btest, [ 0x51, ts[0] >> 8, ts[0] & 255 ], [], [] ] + return [btest, [0x51, ts[0] >> 8, ts[0] & 255], [], []] # sort triangles in required direction - ts.sort(key = lambda t: max(self._vertsceil[tris[t].v_1][dir], self._vertsceil[tris[t].v_2][dir], self._vertsceil[tris[t].v_3][dir])) + ts.sort(key=lambda t: max(self._vertsceil[tris[t].v_1][dir], self._vertsceil[tris[t].v_2][dir], + self._vertsceil[tris[t].v_3][dir])) # split into two - ts1 = ts[:len(ts)/2] - ts2 = ts[len(ts)/2:] + ts1 = ts[:len(ts) / 2] + ts2 = ts[len(ts) / 2:] # get maximum coordinate of small group - ts1verts = [ tris[t].v_1 for t in ts1] + [ tris[t].v_2 for t in ts1] + [ tris[t].v_3 for t in ts1] - ts2verts = [ tris[t].v_1 for t in ts2] + [ tris[t].v_2 for t in ts2] + [ tris[t].v_3 for t in ts2] + ts1verts = [tris[t].v_1 for t in ts1] + [tris[t].v_2 for t in ts1] + [tris[t].v_3 for t in ts1] + ts2verts = [tris[t].v_1 for t in ts2] + [tris[t].v_2 for t in ts2] + [tris[t].v_3 for t in ts2] ts1max = max([self._vertsceil[v][dir] for v in ts1verts]) # get minimum coordinate of large group ts2min = min([self._vertsfloor[v][dir] for v in ts2verts]) # set up test - test += [0x10+dir, ts1max, ts2min] + test += [0x10 + dir, ts1max, ts2min] # set up new bounding boxes for each subtree # make copy - bbox1 = [[bbox[0][0],bbox[0][1]],[bbox[1][0],bbox[1][1]],[bbox[2][0],bbox[2][1]]] - bbox2 = [[bbox[0][0],bbox[0][1]],[bbox[1][0],bbox[1][1]],[bbox[2][0],bbox[2][1]]] + bbox1 = [[bbox[0][0], bbox[0][1]], [bbox[1][0], bbox[1][1]], [bbox[2][0], bbox[2][1]]] + bbox2 = [[bbox[0][0], bbox[0][1]], [bbox[1][0], bbox[1][1]], [bbox[2][0], bbox[2][1]]] # update bound in test direction bbox1[dir][1] = ts1max bbox2[dir][0] = ts2min # return result - nextdir = dir+1 + nextdir = dir + 1 if nextdir == 3: nextdir = 0 return [btest, test, self.split_triangles(ts1, bbox1, nextdir), self.split_triangles(ts2, bbox2, nextdir)] @@ -2668,7 +2691,7 @@ def mopp_from_tree(self, tree): submopp1 = self.mopp_from_tree(tree[2]) submopp2 = self.mopp_from_tree(tree[3]) if len(submopp1) < 256: - mopp += [ len(submopp1) ] + mopp += [len(submopp1)] mopp += submopp1 mopp += submopp2 else: @@ -2682,13 +2705,14 @@ def mopp_from_tree(self, tree): return mopp # ported and extended from NifVis/bhkMoppBvTreeShape.py - def parse_mopp(self, start = 0, depth = 0, toffset = 0, verbose = False): + def parse_mopp(self, start=0, depth=0, toffset=0, verbose=False): """The mopp data is printed to the debug channel while parsed. Returns list of indices into mopp data of the bytes processed and a list of triangle indices encountered. The verbose argument is ignored (and is deprecated). """ + class Message: def __init__(self): self.logger = logging.getLogger("pyffi.mopp") @@ -2707,96 +2731,96 @@ def error(self): self.logger.error(self.msg) self.msg = "" - mopp = self.mopp_data # shortcut notation - ids = [] # indices of bytes processed - tris = [] # triangle indices - i = start # current index - ret = False # set to True if an opcode signals a triangle index - while i < self.mopp_data_size and not ret: + mopp = self.mopp_code.data # shortcut notation + ids = [] # indices of bytes processed + tris = [] # triangle indices + i = start # current index + ret = False # set to True if an opcode signals a triangle index + while i < self.mopp_code.data_size and not ret: # get opcode and print it code = mopp[i] msg = Message() - msg.append("%4i:"%i + " "*depth + '0x%02X ' % code) + msg.append("%4i:" % i + " " * depth + '0x%02X ' % code) if code == 0x09: # increment triangle offset - toffset += mopp[i+1] - msg.append(mopp[i+1]) + toffset += mopp[i + 1] + msg.append(mopp[i + 1]) msg.append('%i [ triangle offset += %i, offset is now %i ]' - % (mopp[i+1], mopp[i+1], toffset)) - ids.extend([i,i+1]) + % (mopp[i + 1], mopp[i + 1], toffset)) + ids.extend([i, i + 1]) i += 2 - elif code in [ 0x0A ]: + elif code in [0x0A]: # increment triangle offset - toffset += mopp[i+1]*256 + mopp[i+2] - msg.append(mopp[i+1],mopp[i+2]) + toffset += mopp[i + 1] * 256 + mopp[i + 2] + msg.append(mopp[i + 1], mopp[i + 2]) msg.append('[ triangle offset += %i, offset is now %i ]' - % (mopp[i+1]*256 + mopp[i+2], toffset)) - ids.extend([i,i+1,i+2]) + % (mopp[i + 1] * 256 + mopp[i + 2], toffset)) + ids.extend([i, i + 1, i + 2]) i += 3 - elif code in [ 0x0B ]: + elif code in [0x0B]: # unsure about first two arguments, but the 3rd and 4th set triangle offset - toffset = 256*mopp[i+3] + mopp[i+4] - msg.append(mopp[i+1],mopp[i+2],mopp[i+3],mopp[i+4]) + toffset = 256 * mopp[i + 3] + mopp[i + 4] + msg.append(mopp[i + 1], mopp[i + 2], mopp[i + 3], mopp[i + 4]) msg.append('[ triangle offset = %i ]' % toffset) - ids.extend([i,i+1,i+2,i+3,i+4]) + ids.extend([i, i + 1, i + 2, i + 3, i + 4]) i += 5 - elif code in range(0x30,0x50): + elif code in range(0x30, 0x50): # triangle compact - msg.append('[ triangle %i ]'%(code-0x30+toffset)) + msg.append('[ triangle %i ]' % (code - 0x30 + toffset)) ids.append(i) - tris.append(code-0x30+toffset) + tris.append(code - 0x30 + toffset) i += 1 ret = True elif code == 0x50: # triangle byte - msg.append(mopp[i+1]) - msg.append('[ triangle %i ]'%(mopp[i+1]+toffset)) - ids.extend([i,i+1]) - tris.append(mopp[i+1]+toffset) + msg.append(mopp[i + 1]) + msg.append('[ triangle %i ]' % (mopp[i + 1] + toffset)) + ids.extend([i, i + 1]) + tris.append(mopp[i + 1] + toffset) i += 2 ret = True - elif code in [ 0x51 ]: + elif code in [0x51]: # triangle short - t = mopp[i+1]*256 + mopp[i+2] + toffset - msg.append(mopp[i+1],mopp[i+2]) + t = mopp[i + 1] * 256 + mopp[i + 2] + toffset + msg.append(mopp[i + 1], mopp[i + 2]) msg.append('[ triangle %i ]' % t) - ids.extend([i,i+1,i+2]) + ids.extend([i, i + 1, i + 2]) tris.append(t) i += 3 ret = True - elif code in [ 0x53 ]: + elif code in [0x53]: # triangle short? - t = mopp[i+3]*256 + mopp[i+4] + toffset - msg.append(mopp[i+1],mopp[i+2],mopp[i+3],mopp[i+4]) + t = mopp[i + 3] * 256 + mopp[i + 4] + toffset + msg.append(mopp[i + 1], mopp[i + 2], mopp[i + 3], mopp[i + 4]) msg.append('[ triangle %i ]' % t) - ids.extend([i,i+1,i+2,i+3,i+4]) + ids.extend([i, i + 1, i + 2, i + 3, i + 4]) tris.append(t) i += 5 ret = True - elif code in [ 0x05 ]: + elif code in [0x05]: # byte jump - msg.append('[ jump -> %i: ]'%(i+2+mopp[i+1])) - ids.extend([i,i+1]) - i += 2+mopp[i+1] + msg.append('[ jump -> %i: ]' % (i + 2 + mopp[i + 1])) + ids.extend([i, i + 1]) + i += 2 + mopp[i + 1] - elif code in [ 0x06 ]: + elif code in [0x06]: # short jump - jump = mopp[i+1]*256 + mopp[i+2] - msg.append('[ jump -> %i: ]'%(i+3+jump)) - ids.extend([i,i+1,i+2]) - i += 3+jump + jump = mopp[i + 1] * 256 + mopp[i + 2] + msg.append('[ jump -> %i: ]' % (i + 3 + jump)) + ids.extend([i, i + 1, i + 2]) + i += 3 + jump - elif code in [0x10,0x11,0x12, 0x13,0x14,0x15, 0x16,0x17,0x18, 0x19, 0x1A, 0x1B, 0x1C]: + elif code in [0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C]: # compact if-then-else with two arguments - msg.append(mopp[i+1], mopp[i+2]) + msg.append(mopp[i + 1], mopp[i + 2]) if code == 0x10: msg.append('[ branch X') elif code == 0x11: @@ -2805,88 +2829,96 @@ def error(self): msg.append('[ branch Z') else: msg.append('[ branch ?') - msg.append('-> %i: %i: ]'%(i+4,i+4+mopp[i+3])) + msg.append('-> %i: %i: ]' % (i + 4, i + 4 + mopp[i + 3])) msg.debug() - msg.append(" " + " "*depth + 'if:') + msg.append(" " + " " * depth + 'if:') msg.debug() - idssub1, trissub1 = self.parse_mopp(start = i+4, depth = depth+1, toffset = toffset, verbose = verbose) - msg.append(" " + " "*depth + 'else:') + idssub1, trissub1 = self.parse_mopp(start=i + 4, depth=depth + 1, toffset=toffset, verbose=verbose) + msg.append(" " + " " * depth + 'else:') msg.debug() - idssub2, trissub2 = self.parse_mopp(start = i+4+mopp[i+3], depth = depth+1, toffset = toffset, verbose = verbose) - ids.extend([i,i+1,i+2,i+3]) + idssub2, trissub2 = self.parse_mopp(start=i + 4 + mopp[i + 3], depth=depth + 1, toffset=toffset, + verbose=verbose) + ids.extend([i, i + 1, i + 2, i + 3]) ids.extend(idssub1) ids.extend(idssub2) tris.extend(trissub1) tris.extend(trissub2) ret = True - elif code in [0x20,0x21,0x22]: + elif code in [0x20, 0x21, 0x22]: # compact if-then-else with one argument - msg.append(mopp[i+1], '[ branch ? -> %i: %i: ]'%(i+3,i+3+mopp[i+2])).debug() - msg.append(" " + " "*depth + 'if:').debug() - idssub1, trissub1 = self.parse_mopp(start = i+3, depth = depth+1, toffset = toffset, verbose = verbose) - msg.append(" " + " "*depth + 'else:').debug() - idssub2, trissub2 = self.parse_mopp(start = i+3+mopp[i+2], depth = depth+1, toffset = toffset, verbose = verbose) - ids.extend([i,i+1,i+2]) + msg.append(mopp[i + 1], '[ branch ? -> %i: %i: ]' % (i + 3, i + 3 + mopp[i + 2])).debug() + msg.append(" " + " " * depth + 'if:').debug() + idssub1, trissub1 = self.parse_mopp(start=i + 3, depth=depth + 1, toffset=toffset, verbose=verbose) + msg.append(" " + " " * depth + 'else:').debug() + idssub2, trissub2 = self.parse_mopp(start=i + 3 + mopp[i + 2], depth=depth + 1, toffset=toffset, + verbose=verbose) + ids.extend([i, i + 1, i + 2]) ids.extend(idssub1) ids.extend(idssub2) tris.extend(trissub1) tris.extend(trissub2) ret = True - elif code in [0x23,0x24,0x25]: # short if x <= a then 1; if x > b then 2; - jump1 = mopp[i+3] * 256 + mopp[i+4] - jump2 = mopp[i+5] * 256 + mopp[i+6] - msg.append(mopp[i+1], mopp[i+2], '[ branch ? -> %i: %i: ]'%(i+7+jump1,i+7+jump2)).debug() - msg.append(" " + " "*depth + 'if:').debug() - idssub1, trissub1 = self.parse_mopp(start = i+7+jump1, depth = depth+1, toffset = toffset, verbose = verbose) - msg.append(" " + " "*depth + 'else:').debug() - idssub2, trissub2 = self.parse_mopp(start = i+7+jump2, depth = depth+1, toffset = toffset, verbose = verbose) - ids.extend([i,i+1,i+2,i+3,i+4,i+5,i+6]) + elif code in [0x23, 0x24, 0x25]: # short if x <= a then 1; if x > b then 2; + jump1 = mopp[i + 3] * 256 + mopp[i + 4] + jump2 = mopp[i + 5] * 256 + mopp[i + 6] + msg.append(mopp[i + 1], mopp[i + 2], + '[ branch ? -> %i: %i: ]' % (i + 7 + jump1, i + 7 + jump2)).debug() + msg.append(" " + " " * depth + 'if:').debug() + idssub1, trissub1 = self.parse_mopp(start=i + 7 + jump1, depth=depth + 1, toffset=toffset, + verbose=verbose) + msg.append(" " + " " * depth + 'else:').debug() + idssub2, trissub2 = self.parse_mopp(start=i + 7 + jump2, depth=depth + 1, toffset=toffset, + verbose=verbose) + ids.extend([i, i + 1, i + 2, i + 3, i + 4, i + 5, i + 6]) ids.extend(idssub1) ids.extend(idssub2) tris.extend(trissub1) tris.extend(trissub2) ret = True - elif code in [0x26,0x27,0x28]: - msg.append(mopp[i+1], mopp[i+2]) + elif code in [0x26, 0x27, 0x28]: + msg.append(mopp[i + 1], mopp[i + 2]) if code == 0x26: msg.append('[ bound X ]') elif code == 0x27: msg.append('[ bound Y ]') elif code == 0x28: msg.append('[ bound Z ]') - ids.extend([i,i+1,i+2]) + ids.extend([i, i + 1, i + 2]) i += 3 elif code in [0x01, 0x02, 0x03, 0x04]: - msg.append(mopp[i+1], mopp[i+2], mopp[i+3], '[ bound XYZ? ]') - ids.extend([i,i+1,i+2,i+3]) + msg.append(mopp[i + 1], mopp[i + 2], mopp[i + 3], '[ bound XYZ? ]') + ids.extend([i, i + 1, i + 2, i + 3]) i += 4 else: - msg.append("unknown mopp code 0x%02X"%code).error() + msg.append("unknown mopp code 0x%02X" % code).error() msg.append("following bytes are").debug() - extrabytes = [mopp[j] for j in range(i+1,min(self.mopp_data_size,i+10))] - extraindex = [j for j in range(i+1,min(self.mopp_data_size,i+10))] + extrabytes = [mopp[j] for j in range(i + 1, min(self.mopp_code.data_size, i + 10))] + extraindex = [j for j in range(i + 1, min(self.mopp_code.data_size, i + 10))] msg.append(extrabytes).debug() for b, j in zip(extrabytes, extraindex): - if j+b+1 < self.mopp_data_size: - msg.append("opcode after jump %i is 0x%02X"%(b,mopp[j+b+1]), [mopp[k] for k in range(j+b+2,min(self.mopp_data_size,j+b+11))]).debug() - raise ValueError("unknown mopp opcode 0x%02X"%code) + if j + b + 1 < self.mopp_code.data_size: + msg.append("opcode after jump %i is 0x%02X" % (b, mopp[j + b + 1]), [mopp[k] for k in + range(j + b + 2, + min(self.mopp_data_size, + j + b + 11))]).debug() + raise ValueError("unknown mopp opcode 0x%02X" % code) msg.debug() return ids, tris class bhkMultiSphereShape: - def get_mass_center_inertia(self, density = 1, solid = True): + def get_mass_center_inertia(self, density=1, solid=True): """Return center of gravity and area.""" subshapes_mci = [ (mass, center, inertia) for (mass, inertia), center in - zip( ( pyffi.utils.inertia.getMassInertiaSphere(radius = sphere.radius, - density = density, solid = solid) - for sphere in self.spheres ), - ( sphere.center.as_tuple() for sphere in self.spheres ) ) ] + zip((pyffi.utils.inertia.getMassInertiaSphere(radius=sphere.radius, + density=density, solid=solid) + for sphere in self.spheres), + (sphere.center.as_tuple() for sphere in self.spheres))] total_mass = 0 total_center = (0, 0, 0) total_inertia = ((0, 0, 0), (0, 0, 0), (0, 0, 0)) @@ -2928,7 +2960,7 @@ def get_interchangeable_packed_shape(self): normals=normals, vertices=vertices, # default layer 1 (static collision) - layer=self.data_layers[0].layer if self.data_layers else 1, + layer=self.filters[0].layer if self.filters else 1, material=self.material.material) # set scale packed.scale_copy.x = 1.0 @@ -2940,16 +2972,16 @@ def get_interchangeable_packed_shape(self): # return result return packed - def get_mass_center_inertia(self, density = 1, solid = True): + def get_mass_center_inertia(self, density=1, solid=True): """Return mass, center, and inertia tensor.""" # first find mass, center, and inertia of all shapes subshapes_mci = [] for data in self.strips_data: subshapes_mci.append( pyffi.utils.inertia.get_mass_center_inertia_polyhedron( - [ vert.as_tuple() for vert in data.vertices ], - [ triangle for triangle in data.get_triangles() ], - density = density, solid = solid)) + [vert.as_tuple() for vert in data.vertices], + [triangle for triangle in data.get_triangles()], + density=density, solid=solid)) # now calculate mass, center, and inertia total_mass = 0 @@ -2963,15 +2995,15 @@ def get_mass_center_inertia(self, density = 1, solid = True): return total_mass, total_center, total_inertia class bhkPackedNiTriStripsShape: - def get_mass_center_inertia(self, density = 1, solid = True): + def get_mass_center_inertia(self, density=1, solid=True): """Return mass, center, and inertia tensor.""" return pyffi.utils.inertia.get_mass_center_inertia_polyhedron( - [ vert.as_tuple() for vert in self.data.vertices ], - [ ( hktriangle.triangle.v_1, - hktriangle.triangle.v_2, - hktriangle.triangle.v_3 ) - for hktriangle in self.data.triangles ], - density = density, solid = solid) + [vert.as_tuple() for vert in self.data.vertices], + [(hktriangle.triangle.v_1, + hktriangle.triangle.v_2, + hktriangle.triangle.v_3) + for hktriangle in self.data.triangles], + density=density, solid=solid) def get_sub_shapes(self): """Return sub shapes (works for both Oblivion and Fallout 3).""" @@ -2980,7 +3012,7 @@ def get_sub_shapes(self): else: return self.sub_shapes - def add_shape(self, triangles, normals, vertices, layer=0, material=0): + def add_shape(self, triangles: list[tuple[float, float, float]], normals, vertices, layer=0, material=0): """Pack the given geometry.""" # add the shape data if not self.data: @@ -2999,33 +3031,33 @@ def add_shape(self, triangles, normals, vertices, layer=0, material=0): data.sub_shapes[num_shapes].layer = layer data.sub_shapes[num_shapes].num_vertices = len(vertices) data.sub_shapes[num_shapes].material.material = material - firsttriangle = data.num_triangles - firstvertex = data.num_vertices + first_triangle = data.num_triangles + first_vertex = data.num_vertices data.num_triangles += len(triangles) data.triangles.update_size() - for tdata, t, n in zip(data.triangles[firsttriangle:], triangles, normals): - tdata.triangle.v_1 = t[0] + firstvertex - tdata.triangle.v_2 = t[1] + firstvertex - tdata.triangle.v_3 = t[2] + firstvertex - tdata.normal.x = n[0] - tdata.normal.y = n[1] - tdata.normal.z = n[2] + for tri_data, t, n in zip(data.triangles[first_triangle:], triangles, normals): + tri_data.triangle.v_1 = t[0] + first_vertex + tri_data.triangle.v_2 = t[1] + first_vertex + tri_data.triangle.v_3 = t[2] + first_vertex + tri_data.normal.x = n[0] + tri_data.normal.y = n[1] + tri_data.normal.z = n[2] data.num_vertices += len(vertices) data.vertices.update_size() - for vdata, v in zip(data.vertices[firstvertex:], vertices): - vdata.x = v[0] / 7.0 - vdata.y = v[1] / 7.0 - vdata.z = v[2] / 7.0 - + for vert_data, v in zip(data.vertices[first_vertex:], vertices): + vert_data.x = v[0] / 7.0 + vert_data.y = v[1] / 7.0 + vert_data.z = v[2] / 7.0 + def get_vertex_hash_generator( self, - vertexprecision=3, subshape_index=None): + vertex_precision=3, subshape_index=None): """Generator which produces a tuple of integers for each vertex to ease detection of duplicate/close enough to remove vertices. The precision parameter denote number of significant digits behind the comma. - For vertexprecision, 3 seems usually enough (maybe we'll + For vertex_precision, 3 seems usually enough (maybe we'll have to increase this at some point). >>> shape = NifFormat.bhkPackedNiTriStripsShape() @@ -3053,16 +3085,16 @@ def get_vertex_hash_generator( >>> list(shape.get_vertex_hash_generator(subshape_index=1)) [(2000, 2100, 2200)] - :param vertexprecision: Precision to be used for vertices. - :type vertexprecision: float + :param vertex_precision: Precision to be used for vertices. + :type vertex_precision: float :return: A generator yielding a hash value for each vertex. """ - vertexfactor = 10 ** vertexprecision + vertexfactor = 10 ** vertex_precision if subshape_index is None: for matid, vert in zip(chain(*[repeat(i, sub_shape.num_vertices) - for i, sub_shape - in enumerate(self.get_sub_shapes())]), - self.data.vertices): + for i, sub_shape + in enumerate(self.get_sub_shapes())]), + self.data.vertices): yield (matid, tuple(float_to_int(value * vertexfactor) for value in vert.as_list())) else: @@ -3071,9 +3103,9 @@ def get_vertex_hash_generator( self.get_sub_shapes()): first_vertex += subshape.num_vertices for vert_index in range( - first_vertex, - first_vertex - + self.get_sub_shapes()[subshape_index].num_vertices): + first_vertex, + first_vertex + + self.get_sub_shapes()[subshape_index].num_vertices): yield tuple(float_to_int(value * vertexfactor) for value in self.data.vertices[vert_index].as_list()) @@ -3161,28 +3193,28 @@ class bhkRigidBody: def apply_scale(self, scale): """Apply scale factor on data.""" # apply scale on transform - self.translation.x *= scale - self.translation.y *= scale - self.translation.z *= scale + self.rigid_body_info.translation.x *= scale + self.rigid_body_info.translation.y *= scale + self.rigid_body_info.translation.z *= scale # apply scale on center of gravity - self.center.x *= scale - self.center.y *= scale - self.center.z *= scale + self.rigid_body_info.center.x *= scale + self.rigid_body_info.center.y *= scale + self.rigid_body_info.center.z *= scale # apply scale on inertia tensor - self.inertia.m_11 *= (scale ** 2) - self.inertia.m_12 *= (scale ** 2) - self.inertia.m_13 *= (scale ** 2) - self.inertia.m_14 *= (scale ** 2) - self.inertia.m_21 *= (scale ** 2) - self.inertia.m_22 *= (scale ** 2) - self.inertia.m_23 *= (scale ** 2) - self.inertia.m_24 *= (scale ** 2) - self.inertia.m_31 *= (scale ** 2) - self.inertia.m_32 *= (scale ** 2) - self.inertia.m_33 *= (scale ** 2) - self.inertia.m_34 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_11 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_12 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_13 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_14 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_21 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_22 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_23 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_24 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_31 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_32 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_33 *= (scale ** 2) + self.rigid_body_info.inertia_tensor.m_34 *= (scale ** 2) def update_mass_center_inertia(self, density=1, solid=True, mass=None): """Look at all the objects under this rigid body and update the mass, @@ -3195,35 +3227,35 @@ def update_mass_center_inertia(self, density=1, solid=True, mass=None): density=density, solid=solid) self.mass = calc_mass - self.center.x, self.center.y, self.center.z = center - self.inertia.m_11 = inertia[0][0] - self.inertia.m_12 = inertia[0][1] - self.inertia.m_13 = inertia[0][2] - self.inertia.m_14 = 0 - self.inertia.m_21 = inertia[1][0] - self.inertia.m_22 = inertia[1][1] - self.inertia.m_23 = inertia[1][2] - self.inertia.m_24 = 0 - self.inertia.m_31 = inertia[2][0] - self.inertia.m_32 = inertia[2][1] - self.inertia.m_33 = inertia[2][2] - self.inertia.m_34 = 0 + self.rigid_body_info.center.x, self.rigid_body_info.center.y, self.rigid_body_info.center.z = center + self.rigid_body_info.inertia_tensor.m_11 = inertia[0][0] + self.rigid_body_info.inertia_tensor.m_12 = inertia[0][1] + self.rigid_body_info.inertia_tensor.m_13 = inertia[0][2] + self.rigid_body_info.inertia_tensor.m_14 = 0 + self.rigid_body_info.inertia_tensor.m_21 = inertia[1][0] + self.rigid_body_info.inertia_tensor.m_22 = inertia[1][1] + self.rigid_body_info.inertia_tensor.m_23 = inertia[1][2] + self.rigid_body_info.inertia_tensor.m_24 = 0 + self.rigid_body_info.inertia_tensor.m_31 = inertia[2][0] + self.rigid_body_info.inertia_tensor.m_32 = inertia[2][1] + self.rigid_body_info.inertia_tensor.m_33 = inertia[2][2] + self.rigid_body_info.inertia_tensor.m_34 = 0 if not mass is None: mass_correction = mass / calc_mass if calc_mass != 0 else 1 - self.mass = mass - self.inertia.m_11 *= mass_correction - self.inertia.m_12 *= mass_correction - self.inertia.m_13 *= mass_correction - self.inertia.m_14 *= mass_correction - self.inertia.m_21 *= mass_correction - self.inertia.m_22 *= mass_correction - self.inertia.m_23 *= mass_correction - self.inertia.m_24 *= mass_correction - self.inertia.m_31 *= mass_correction - self.inertia.m_32 *= mass_correction - self.inertia.m_33 *= mass_correction - self.inertia.m_34 *= mass_correction + self.rigid_body_info.mass = mass + self.rigid_body_info.inertia_tensor.m_11 *= mass_correction + self.rigid_body_info.inertia_tensor.m_12 *= mass_correction + self.rigid_body_info.inertia_tensor.m_13 *= mass_correction + self.rigid_body_info.inertia_tensor.m_14 *= mass_correction + self.rigid_body_info.inertia_tensor.m_21 *= mass_correction + self.rigid_body_info.inertia_tensor.m_22 *= mass_correction + self.rigid_body_info.inertia_tensor.m_23 *= mass_correction + self.rigid_body_info.inertia_tensor.m_24 *= mass_correction + self.rigid_body_info.inertia_tensor.m_31 *= mass_correction + self.rigid_body_info.inertia_tensor.m_32 *= mass_correction + self.rigid_body_info.inertia_tensor.m_33 *= mass_correction + self.rigid_body_info.inertia_tensor.m_34 *= mass_correction class bhkSphereShape: def apply_scale(self, scale): @@ -3231,13 +3263,13 @@ def apply_scale(self, scale): # apply scale on dimensions self.radius *= scale - def get_mass_center_inertia(self, density = 1, solid = True): + def get_mass_center_inertia(self, density=1, solid=True): """Return mass, center, and inertia tensor.""" # the dimensions describe half the size of the box in each dimension # so the length of a single edge is dimension.dir * 2 mass, inertia = pyffi.utils.inertia.getMassInertiaSphere( - self.radius, density = density, solid = solid) - return mass, (0,0,0), inertia + self.radius, density=density, solid=solid) + return mass, (0, 0, 0), inertia class bhkTransformShape: def apply_scale(self, scale): @@ -3255,7 +3287,7 @@ def get_mass_center_inertia(self, density=1, solid=True): # get transform matrix and translation vector transform = self.transform.get_matrix_33().as_tuple() transform_transposed = matTransposed(transform) - translation = ( self.transform.m_14, self.transform.m_24, self.transform.m_34 ) + translation = (self.transform.m_14, self.transform.m_24, self.transform.m_34) # transform center and inertia center = matvecMul(transform, center) center = vecAdd(center, translation) @@ -3279,16 +3311,16 @@ def get_dismember_partitions(self): triangles = [] trianglepartmap = [] for bodypart, skinpartblock in zip( - self.partitions, self.skin_partition.skin_partition_blocks): + self.partitions, self.skin_partition.skin_partition_blocks): part_triangles = list(skinpartblock.get_mapped_triangles()) triangles += part_triangles trianglepartmap += [bodypart.body_part] * len(part_triangles) return triangles, trianglepartmap - class ControllerLink: + class ControlledBlock: """ >>> from pyffi.formats.nif import NifFormat - >>> link = NifFormat.ControllerLink() + >>> link = NifFormat.ControlledBlock() >>> link.node_name_offset -1 >>> link.set_node_name("Bip01") @@ -3306,6 +3338,7 @@ class ControllerLink: >>> link.node_name b'Bip01 Tail' """ + def _get_string(self, offset): """A wrapper around string_palette.palette.get_string. Used by get_node_name etc. Returns the string at given offset.""" @@ -3331,7 +3364,7 @@ def get_node_name(self): >>> # a doctest >>> from pyffi.formats.nif import NifFormat - >>> link = NifFormat.ControllerLink() + >>> link = NifFormat.ControlledBlock() >>> link.string_palette = NifFormat.NiStringPalette() >>> palette = link.string_palette.palette >>> link.node_name_offset = palette.add_string("Bip01") @@ -3340,7 +3373,7 @@ def get_node_name(self): >>> # another doctest >>> from pyffi.formats.nif import NifFormat - >>> link = NifFormat.ControllerLink() + >>> link = NifFormat.ControlledBlock() >>> link.node_name = "Bip01" >>> link.get_node_name() b'Bip01' @@ -3380,25 +3413,25 @@ def set_controller_type(self, text): self.controller_type = text self.controller_type_offset = self._add_string(text) - def get_variable_1(self): - if self.variable_1: - return self.variable_1 + def get_controller_id(self): + if self.controller_id: + return self.controller_id else: - return self._get_string(self.variable_1_offset) + return self._get_string(self.controller_id_offset) - def set_variable_1(self, text): - self.variable_1 = text - self.variable_1_offset = self._add_string(text) + def set_controller_id(self, text): + self.controller_id = text + self.controller_id_offset = self._add_string(text) - def get_variable_2(self): - if self.variable_2: - return self.variable_2 + def get_interpolator_id(self): + if self.interpolator_id: + return self.interpolator_id else: - return self._get_string(self.variable_2_offset) + return self._get_string(self.interpolator_id_offset) - def set_variable_2(self, text): - self.variable_2 = text - self.variable_2_offset = self._add_string(text) + def set_interpolator_id(self, text): + self.interpolator_id = text + self.interpolator_id_offset = self._add_string(text) class hkPackedNiTriStripsData: def apply_scale(self, scale): @@ -3410,14 +3443,14 @@ def apply_scale(self, scale): vert.y *= scale vert.z *= scale - class InertiaMatrix: + class hkMatrix3: def as_list(self): """Return matrix as 3x3 list.""" return [ [self.m_11, self.m_12, self.m_13], [self.m_21, self.m_22, self.m_23], [self.m_31, self.m_32, self.m_33] - ] + ] def as_tuple(self): """Return matrix as 3x3 tuple.""" @@ -3425,16 +3458,16 @@ def as_tuple(self): (self.m_11, self.m_12, self.m_13), (self.m_21, self.m_22, self.m_23), (self.m_31, self.m_32, self.m_33) - ) + ) def __str__(self): - return( - "[ %6.3f %6.3f %6.3f ]\n" - "[ %6.3f %6.3f %6.3f ]\n" - "[ %6.3f %6.3f %6.3f ]\n" - % (self.m_11, self.m_12, self.m_13, - self.m_21, self.m_22, self.m_23, - self.m_31, self.m_32, self.m_33)) + return ( + "[ %6.3f %6.3f %6.3f ]\n" + "[ %6.3f %6.3f %6.3f ]\n" + "[ %6.3f %6.3f %6.3f ]\n" + % (self.m_11, self.m_12, self.m_13, + self.m_21, self.m_22, self.m_23, + self.m_31, self.m_32, self.m_33)) def set_identity(self): """Set to identity matrix.""" @@ -3453,22 +3486,22 @@ def set_identity(self): def is_identity(self): """Return ``True`` if the matrix is close to identity.""" - if (abs(self.m_11 - 1.0) > NifFormat.EPSILON - or abs(self.m_12) > NifFormat.EPSILON - or abs(self.m_13) > NifFormat.EPSILON - or abs(self.m_21) > NifFormat.EPSILON - or abs(self.m_22 - 1.0) > NifFormat.EPSILON - or abs(self.m_23) > NifFormat.EPSILON - or abs(self.m_31) > NifFormat.EPSILON - or abs(self.m_32) > NifFormat.EPSILON - or abs(self.m_33 - 1.0) > NifFormat.EPSILON): + if (abs(self.m_11 - 1.0) > NifFormat.EPSILON + or abs(self.m_12) > NifFormat.EPSILON + or abs(self.m_13) > NifFormat.EPSILON + or abs(self.m_21) > NifFormat.EPSILON + or abs(self.m_22 - 1.0) > NifFormat.EPSILON + or abs(self.m_23) > NifFormat.EPSILON + or abs(self.m_31) > NifFormat.EPSILON + or abs(self.m_32) > NifFormat.EPSILON + or abs(self.m_33 - 1.0) > NifFormat.EPSILON): return False else: return True def get_copy(self): """Return a copy of the matrix.""" - mat = NifFormat.InertiaMatrix() + mat = NifFormat.hkMatrix3() mat.m_11 = self.m_11 mat.m_12 = self.m_12 mat.m_13 = self.m_13 @@ -3484,18 +3517,18 @@ def get_copy(self): return mat def __eq__(self, mat): - if not isinstance(mat, NifFormat.InertiaMatrix): + if not isinstance(mat, NifFormat.hkMatrix3): raise TypeError( - "do not know how to compare InertiaMatrix and %s"%mat.__class__) + "do not know how to compare hkMatrix3 and %s" % mat.__class__) if (abs(self.m_11 - mat.m_11) > NifFormat.EPSILON - or abs(self.m_12 - mat.m_12) > NifFormat.EPSILON - or abs(self.m_13 - mat.m_13) > NifFormat.EPSILON - or abs(self.m_21 - mat.m_21) > NifFormat.EPSILON - or abs(self.m_22 - mat.m_22) > NifFormat.EPSILON - or abs(self.m_23 - mat.m_23) > NifFormat.EPSILON - or abs(self.m_31 - mat.m_31) > NifFormat.EPSILON - or abs(self.m_32 - mat.m_32) > NifFormat.EPSILON - or abs(self.m_33 - mat.m_33) > NifFormat.EPSILON): + or abs(self.m_12 - mat.m_12) > NifFormat.EPSILON + or abs(self.m_13 - mat.m_13) > NifFormat.EPSILON + or abs(self.m_21 - mat.m_21) > NifFormat.EPSILON + or abs(self.m_22 - mat.m_22) > NifFormat.EPSILON + or abs(self.m_23 - mat.m_23) > NifFormat.EPSILON + or abs(self.m_31 - mat.m_31) > NifFormat.EPSILON + or abs(self.m_32 - mat.m_32) > NifFormat.EPSILON + or abs(self.m_33 - mat.m_33) > NifFormat.EPSILON): return False return True @@ -3512,7 +3545,7 @@ def update_a_b(self, transform): self.pivot_b.z = pivot_b.z # axes (rotation only) transform = transform.get_matrix_33() - axle_b = self.axle_a.get_vector_3() * transform + axle_b = self.axle_a.get_vector_3() * transform perp_2_axle_in_b_2 = self.perp_2_axle_in_a_2.get_vector_3() * transform self.axle_b.x = axle_b.x self.axle_b.y = axle_b.y @@ -3529,7 +3562,7 @@ def as_list(self): [self.m_21, self.m_22, self.m_23, self.m_24], [self.m_31, self.m_32, self.m_33, self.m_34], [self.m_41, self.m_42, self.m_43, self.m_44] - ] + ] def as_tuple(self): """Return matrix as 4x4 tuple.""" @@ -3538,7 +3571,7 @@ def as_tuple(self): (self.m_21, self.m_22, self.m_23, self.m_24), (self.m_31, self.m_32, self.m_33, self.m_34), (self.m_41, self.m_42, self.m_43, self.m_44) - ) + ) def set_rows(self, row0, row1, row2, row3): """Set matrix from rows.""" @@ -3548,15 +3581,15 @@ def set_rows(self, row0, row1, row2, row3): self.m_41, self.m_42, self.m_43, self.m_44 = row3 def __str__(self): - return( - "[ %6.3f %6.3f %6.3f %6.3f ]\n" - "[ %6.3f %6.3f %6.3f %6.3f ]\n" - "[ %6.3f %6.3f %6.3f %6.3f ]\n" - "[ %6.3f %6.3f %6.3f %6.3f ]\n" - % (self.m_11, self.m_12, self.m_13, self.m_14, - self.m_21, self.m_22, self.m_23, self.m_24, - self.m_31, self.m_32, self.m_33, self.m_34, - self.m_41, self.m_42, self.m_43, self.m_44)) + return ( + "[ %6.3f %6.3f %6.3f %6.3f ]\n" + "[ %6.3f %6.3f %6.3f %6.3f ]\n" + "[ %6.3f %6.3f %6.3f %6.3f ]\n" + "[ %6.3f %6.3f %6.3f %6.3f ]\n" + % (self.m_11, self.m_12, self.m_13, self.m_14, + self.m_21, self.m_22, self.m_23, self.m_24, + self.m_31, self.m_32, self.m_33, self.m_34, + self.m_41, self.m_42, self.m_43, self.m_44)) def set_identity(self): """Set to identity matrix.""" @@ -3580,21 +3613,21 @@ def set_identity(self): def is_identity(self): """Return ``True`` if the matrix is close to identity.""" if (abs(self.m_11 - 1.0) > NifFormat.EPSILON - or abs(self.m_12) > NifFormat.EPSILON - or abs(self.m_13) > NifFormat.EPSILON - or abs(self.m_14) > NifFormat.EPSILON - or abs(self.m_21) > NifFormat.EPSILON - or abs(self.m_22 - 1.0) > NifFormat.EPSILON - or abs(self.m_23) > NifFormat.EPSILON - or abs(self.m_24) > NifFormat.EPSILON - or abs(self.m_31) > NifFormat.EPSILON - or abs(self.m_32) > NifFormat.EPSILON - or abs(self.m_33 - 1.0) > NifFormat.EPSILON - or abs(self.m_34) > NifFormat.EPSILON - or abs(self.m_41) > NifFormat.EPSILON - or abs(self.m_42) > NifFormat.EPSILON - or abs(self.m_43) > NifFormat.EPSILON - or abs(self.m_44 - 1.0) > NifFormat.EPSILON): + or abs(self.m_12) > NifFormat.EPSILON + or abs(self.m_13) > NifFormat.EPSILON + or abs(self.m_14) > NifFormat.EPSILON + or abs(self.m_21) > NifFormat.EPSILON + or abs(self.m_22 - 1.0) > NifFormat.EPSILON + or abs(self.m_23) > NifFormat.EPSILON + or abs(self.m_24) > NifFormat.EPSILON + or abs(self.m_31) > NifFormat.EPSILON + or abs(self.m_32) > NifFormat.EPSILON + or abs(self.m_33 - 1.0) > NifFormat.EPSILON + or abs(self.m_34) > NifFormat.EPSILON + or abs(self.m_41) > NifFormat.EPSILON + or abs(self.m_42) > NifFormat.EPSILON + or abs(self.m_43) > NifFormat.EPSILON + or abs(self.m_44 - 1.0) > NifFormat.EPSILON): return False else: return True @@ -3718,6 +3751,7 @@ def set_scale_rotation_translation(self, scale, rotation, translation): def get_inverse(self, fast=True): """Calculates inverse (fast assumes is_scale_rotation_translation is True).""" + def adjoint(m, ii, jj): result = [] for i, row in enumerate(m): @@ -3727,9 +3761,10 @@ def adjoint(m, ii, jj): if j == jj: continue result[-1].append(x) return result + def determinant(m): if len(m) == 2: - return m[0][0]*m[1][1] - m[1][0]*m[0][1] + return m[0][0] * m[1][1] - m[1][0] * m[0][1] result = 0.0 for i in range(len(m)): det = determinant(adjoint(m, i, 0)) @@ -3756,10 +3791,10 @@ def determinant(m): nn = [[0.0 for i in range(4)] for j in range(4)] det = determinant(m) if abs(det) < NifFormat.EPSILON: - raise ZeroDivisionError('cannot invert matrix:\n%s'%self) + raise ZeroDivisionError('cannot invert matrix:\n%s' % self) for i in range(4): for j in range(4): - if (i+j) & 1: + if (i + j) & 1: nn[j][i] = -determinant(adjoint(m, i, j)) / det else: nn[j][i] = determinant(adjoint(m, i, j)) / det @@ -3793,25 +3828,25 @@ def __mul__(self, x): raise TypeError("matrix*vector not supported; please use left multiplication (vector*matrix)") elif isinstance(x, NifFormat.Matrix44): m = NifFormat.Matrix44() - m.m_11 = self.m_11 * x.m_11 + self.m_12 * x.m_21 + self.m_13 * x.m_31 + self.m_14 * x.m_41 - m.m_12 = self.m_11 * x.m_12 + self.m_12 * x.m_22 + self.m_13 * x.m_32 + self.m_14 * x.m_42 - m.m_13 = self.m_11 * x.m_13 + self.m_12 * x.m_23 + self.m_13 * x.m_33 + self.m_14 * x.m_43 - m.m_14 = self.m_11 * x.m_14 + self.m_12 * x.m_24 + self.m_13 * x.m_34 + self.m_14 * x.m_44 - m.m_21 = self.m_21 * x.m_11 + self.m_22 * x.m_21 + self.m_23 * x.m_31 + self.m_24 * x.m_41 - m.m_22 = self.m_21 * x.m_12 + self.m_22 * x.m_22 + self.m_23 * x.m_32 + self.m_24 * x.m_42 - m.m_23 = self.m_21 * x.m_13 + self.m_22 * x.m_23 + self.m_23 * x.m_33 + self.m_24 * x.m_43 - m.m_24 = self.m_21 * x.m_14 + self.m_22 * x.m_24 + self.m_23 * x.m_34 + self.m_24 * x.m_44 - m.m_31 = self.m_31 * x.m_11 + self.m_32 * x.m_21 + self.m_33 * x.m_31 + self.m_34 * x.m_41 - m.m_32 = self.m_31 * x.m_12 + self.m_32 * x.m_22 + self.m_33 * x.m_32 + self.m_34 * x.m_42 - m.m_33 = self.m_31 * x.m_13 + self.m_32 * x.m_23 + self.m_33 * x.m_33 + self.m_34 * x.m_43 - m.m_34 = self.m_31 * x.m_14 + self.m_32 * x.m_24 + self.m_33 * x.m_34 + self.m_34 * x.m_44 - m.m_41 = self.m_41 * x.m_11 + self.m_42 * x.m_21 + self.m_43 * x.m_31 + self.m_44 * x.m_41 - m.m_42 = self.m_41 * x.m_12 + self.m_42 * x.m_22 + self.m_43 * x.m_32 + self.m_44 * x.m_42 - m.m_43 = self.m_41 * x.m_13 + self.m_42 * x.m_23 + self.m_43 * x.m_33 + self.m_44 * x.m_43 - m.m_44 = self.m_41 * x.m_14 + self.m_42 * x.m_24 + self.m_43 * x.m_34 + self.m_44 * x.m_44 + m.m_11 = self.m_11 * x.m_11 + self.m_12 * x.m_21 + self.m_13 * x.m_31 + self.m_14 * x.m_41 + m.m_12 = self.m_11 * x.m_12 + self.m_12 * x.m_22 + self.m_13 * x.m_32 + self.m_14 * x.m_42 + m.m_13 = self.m_11 * x.m_13 + self.m_12 * x.m_23 + self.m_13 * x.m_33 + self.m_14 * x.m_43 + m.m_14 = self.m_11 * x.m_14 + self.m_12 * x.m_24 + self.m_13 * x.m_34 + self.m_14 * x.m_44 + m.m_21 = self.m_21 * x.m_11 + self.m_22 * x.m_21 + self.m_23 * x.m_31 + self.m_24 * x.m_41 + m.m_22 = self.m_21 * x.m_12 + self.m_22 * x.m_22 + self.m_23 * x.m_32 + self.m_24 * x.m_42 + m.m_23 = self.m_21 * x.m_13 + self.m_22 * x.m_23 + self.m_23 * x.m_33 + self.m_24 * x.m_43 + m.m_24 = self.m_21 * x.m_14 + self.m_22 * x.m_24 + self.m_23 * x.m_34 + self.m_24 * x.m_44 + m.m_31 = self.m_31 * x.m_11 + self.m_32 * x.m_21 + self.m_33 * x.m_31 + self.m_34 * x.m_41 + m.m_32 = self.m_31 * x.m_12 + self.m_32 * x.m_22 + self.m_33 * x.m_32 + self.m_34 * x.m_42 + m.m_33 = self.m_31 * x.m_13 + self.m_32 * x.m_23 + self.m_33 * x.m_33 + self.m_34 * x.m_43 + m.m_34 = self.m_31 * x.m_14 + self.m_32 * x.m_24 + self.m_33 * x.m_34 + self.m_34 * x.m_44 + m.m_41 = self.m_41 * x.m_11 + self.m_42 * x.m_21 + self.m_43 * x.m_31 + self.m_44 * x.m_41 + m.m_42 = self.m_41 * x.m_12 + self.m_42 * x.m_22 + self.m_43 * x.m_32 + self.m_44 * x.m_42 + m.m_43 = self.m_41 * x.m_13 + self.m_42 * x.m_23 + self.m_43 * x.m_33 + self.m_44 * x.m_43 + m.m_44 = self.m_41 * x.m_14 + self.m_42 * x.m_24 + self.m_43 * x.m_34 + self.m_44 * x.m_44 return m else: - raise TypeError("do not know how to multiply Matrix44 with %s"%x.__class__) + raise TypeError("do not know how to multiply Matrix44 with %s" % x.__class__) def __div__(self, x): if isinstance(x, (float, int)): @@ -3834,7 +3869,7 @@ def __div__(self, x): m.m_44 = self.m_44 / x return m else: - raise TypeError("do not know how to divide Matrix44 by %s"%x.__class__) + raise TypeError("do not know how to divide Matrix44 by %s" % x.__class__) # py3k __truediv__ = __div__ @@ -3843,13 +3878,13 @@ def __rmul__(self, x): if isinstance(x, (float, int)): return self * x else: - raise TypeError("do not know how to multiply %s with Matrix44"%x.__class__) + raise TypeError("do not know how to multiply %s with Matrix44" % x.__class__) def __eq__(self, m): if isinstance(m, type(None)): return False if not isinstance(m, NifFormat.Matrix44): - raise TypeError("do not know how to compare Matrix44 and %s"%m.__class__) + raise TypeError("do not know how to compare Matrix44 and %s" % m.__class__) if abs(self.m_11 - m.m_11) > NifFormat.EPSILON: return False if abs(self.m_12 - m.m_12) > NifFormat.EPSILON: return False if abs(self.m_13 - m.m_13) > NifFormat.EPSILON: return False @@ -3911,7 +3946,7 @@ def __add__(self, x): m.m_44 = self.m_44 + x return m else: - raise TypeError("do not know how to add Matrix44 and %s"%x.__class__) + raise TypeError("do not know how to add Matrix44 and %s" % x.__class__) def __sub__(self, x): if isinstance(x, (NifFormat.Matrix44)): @@ -3993,6 +4028,7 @@ class NiAVObject: >>> [prop.name for prop in node.properties] [b'hello', b'world'] """ + def add_property(self, prop): """Add the given property to the property list. @@ -4011,7 +4047,7 @@ def remove_property(self, prop): :type prop: L{NifFormat.NiProperty} """ self.set_properties([otherprop for otherprop in self.get_properties() - if not(otherprop is prop)]) + if not (otherprop is prop)]) def get_properties(self): """Return a list of the properties of the block. @@ -4046,7 +4082,7 @@ def get_transform(self, relative_to=None): m.set_scale_rotation_translation(self.scale, self.rotation, self.translation) if not relative_to: return m # find chain from relative_to to self - chain = relative_to.find_chain(self, block_type = NifFormat.NiAVObject) + chain = relative_to.find_chain(self, block_type=NifFormat.NiAVObject) if not chain: raise ValueError( 'cannot find a chain of NiAVObject blocks ' @@ -4148,6 +4184,7 @@ class NiBSplineData: >>> list(block.get_comp_data(60, 2, 2, 2.5, 1.5)) # doctest: +ELLIPSIS [(1.0, 2.00...), (4.0, 2.99...)] """ + def _getData(self, offset, num_elements, element_size, controlpoints): """Helper function for get_float_data and get_short_data. For internal use only.""" @@ -4284,10 +4321,10 @@ def get_times(self): # return all times for i in range(self.basis_data.num_control_points): yield ( - self.start_time - + (i * (self.stop_time - self.start_time) - / (self.basis_data.num_control_points - 1)) - ) + self.start_time + + (i * (self.stop_time - self.start_time) + / (self.basis_data.num_control_points - 1)) + ) def _getFloatKeys(self, offset, element_size): """Helper function to get iterator to various keys. Internal use only.""" @@ -4299,8 +4336,8 @@ def _getFloatKeys(self, offset, element_size): return # yield all keys for key in self.spline_data.get_float_data(offset, - self.basis_data.num_control_points, - element_size): + self.basis_data.num_control_points, + element_size): yield key def _getCompKeys(self, offset, element_size, bias, multiplier): @@ -4313,9 +4350,9 @@ def _getCompKeys(self, offset, element_size, bias, multiplier): return # yield all keys for key in self.spline_data.get_comp_data(offset, - self.basis_data.num_control_points, - element_size, - bias, multiplier): + self.basis_data.num_control_points, + element_size, + bias, multiplier): yield key class NiBSplineTransformInterpolator: @@ -4357,7 +4394,7 @@ def add_controlled_block(self): >>> ctrlblock = seq.add_controlled_block() >>> seq.num_controlled_blocks 1 - >>> isinstance(ctrlblock, NifFormat.ControllerLink) + >>> isinstance(ctrlblock, NifFormat.ControlledBlock) True """ # add to the list @@ -4415,13 +4452,14 @@ class NiGeometryData: (4000, 5000, 6000, 0, 1000, 0, 0, 0, 0, 0, 310, 320, 330, 340) (1200, 3400, 5600, 1000, 0, 0, 97000, 96000, 0, 94000, 0, 0, 0, 0) """ + def update_center_radius(self): """Recalculate center and radius of the data.""" # in case there are no vertices, set center and radius to zero if len(self.vertices) == 0: - self.center.x = 0.0 - self.center.y = 0.0 - self.center.z = 0.0 + self.bounding_sphere.center.x = 0.0 + self.bounding_sphere.center.y = 0.0 + self.bounding_sphere.center.z = 0.0 self.radius = 0.0 return @@ -4437,9 +4475,9 @@ def update_center_radius(self): cx = (lowx + highx) * 0.5 cy = (lowy + highy) * 0.5 cz = (lowz + highz) * 0.5 - self.center.x = cx - self.center.y = cy - self.center.z = cz + self.bounding_sphere.center.x = cx + self.bounding_sphere.center.y = cy + self.bounding_sphere.center.z = cz # radius is the largest distance from the center r2 = 0.0 @@ -4447,8 +4485,8 @@ def update_center_radius(self): dx = cx - v.x dy = cy - v.y dz = cz - v.z - r2 = max(r2, dx*dx+dy*dy+dz*dz) - self.radius = r2 ** 0.5 + r2 = max(r2, dx * dx + dy * dy + dz * dz) + self.bounding_sphere.radius = r2 ** 0.5 def apply_scale(self, scale): """Apply scale factor on data.""" @@ -4457,15 +4495,15 @@ def apply_scale(self, scale): v.x *= scale v.y *= scale v.z *= scale - self.center.x *= scale - self.center.y *= scale - self.center.z *= scale - self.radius *= scale + self.bounding_sphere.center.x *= scale + self.bounding_sphere.center.y *= scale + self.bounding_sphere.center.z *= scale + self.bounding_sphere.radius *= scale def get_vertex_hash_generator( - self, - vertexprecision=3, normalprecision=3, - uvprecision=5, vcolprecision=3): + self, + vertex_precision=3, normalprecision=3, + uvprecision=5, vcolprecision=3): """Generator which produces a tuple of integers for each (vertex, normal, uv, vcol), to ease detection of duplicate vertices. The precision parameters denote number of @@ -4475,11 +4513,11 @@ def get_vertex_hash_generator( very large models the uv coordinates can be very close together. - For vertexprecision, 3 seems usually enough (maybe we'll + For vertex_precision, 3 seems usually enough (maybe we'll have to increase this at some point). - :param vertexprecision: Precision to be used for vertices. - :type vertexprecision: float + :param vertex_precision: Precision to be used for vertices. + :type vertex_precision: float :param normalprecision: Precision to be used for normals. :type normalprecision: float :param uvprecision: Precision to be used for uvs. @@ -4488,12 +4526,12 @@ def get_vertex_hash_generator( :type vcolprecision: float :return: A generator yielding a hash value for each vertex. """ - + verts = self.vertices if self.has_vertices else None norms = self.normals if self.has_normals else None uvsets = self.uv_sets if len(self.uv_sets) else None vcols = self.vertex_colors if self.has_vertex_colors else None - vertexfactor = 10 ** vertexprecision + vertexfactor = 10 ** vertex_precision normalfactor = 10 ** normalprecision uvfactor = 10 ** uvprecision vcolfactor = 10 ** vcolprecision @@ -4501,7 +4539,7 @@ def get_vertex_hash_generator( h = [] if verts: h.extend([float_to_int(x * vertexfactor) - for x in [verts[i].x, verts[i].y, verts[i].z]]) + for x in [verts[i].x, verts[i].y, verts[i].z]]) if norms: h.extend([float_to_int(x * normalfactor) for x in [norms[i].x, norms[i].y, norms[i].z]]) @@ -4575,6 +4613,7 @@ class NiGeometry: >>> [child.name for child in skelroot.children] [b'geom', b'bone1', b'bone21', b'bone2', b'bone22', b'bone211'] """ + def is_skin(self): """Returns True if geometry is skinned.""" return self.skin_instance != None @@ -4603,10 +4642,10 @@ def add_bone(self, bone, vert_weights): skelroot = skininst.skeleton_root bone_index = skininst.num_bones - skininst.num_bones = bone_index+1 + skininst.num_bones = bone_index + 1 skininst.bones.update_size() skininst.bones[bone_index] = bone - skindata.num_bones = bone_index+1 + skindata.num_bones = bone_index + 1 skindata.bone_list.update_size() skinbonedata = skindata.bone_list[bone_index] # set vertex weights @@ -4616,8 +4655,6 @@ def add_bone(self, bone, vert_weights): skinbonedata.vertex_weights[i].index = vert_index skinbonedata.vertex_weights[i].weight = vert_weight - - def get_vertex_weights(self): """Get vertex weights in a convenient format: list bone and weight per vertex.""" @@ -4649,33 +4686,32 @@ def get_vertex_weights(self): boneweightlist.append([bonenum, skinweight.weight]) return weights - def flatten_skin(self): """Reposition all bone blocks and geometry block in the tree to be direct children of the skeleton root. Returns list of all used bones by the skin.""" - if not self.is_skin(): return [] # nothing to do + if not self.is_skin(): return [] # nothing to do - result = [] # list of repositioned bones - self._validate_skin() # validate the skin + result = [] # list of repositioned bones + self._validate_skin() # validate the skin skininst = self.skin_instance skindata = skininst.data skelroot = skininst.skeleton_root # reparent geometry self.set_transform(self.get_transform(skelroot)) - geometry_parent = skelroot.find_chain(self, block_type = NifFormat.NiAVObject)[-2] - geometry_parent.remove_child(self) # detatch geometry from tree - skelroot.add_child(self, front = True) # and attatch it to the skeleton root + geometry_parent = skelroot.find_chain(self, block_type=NifFormat.NiAVObject)[-2] + geometry_parent.remove_child(self) # detatch geometry from tree + skelroot.add_child(self, front=True) # and attatch it to the skeleton root # reparent all the bone blocks for bone_block in skininst.bones: # skeleton root, if it is used as bone, does not need to be processed if bone_block == skelroot: continue # get bone parent - bone_parent = skelroot.find_chain(bone_block, block_type = NifFormat.NiAVObject)[-2] + bone_parent = skelroot.find_chain(bone_block, block_type=NifFormat.NiAVObject)[-2] # set new child transforms for child in bone_block.children: child.set_transform(child.get_transform(bone_parent)) @@ -4683,7 +4719,7 @@ def flatten_skin(self): for child in bone_block.children: bone_parent.add_child(child) bone_block.num_children = 0 - bone_block.children.update_size() # = remove_child on each child + bone_block.children.update_size() # = remove_child on each child # set new bone transform bone_block.set_transform(bone_block.get_transform(skelroot)) # reparent bone block @@ -4693,8 +4729,6 @@ def flatten_skin(self): return result - - # The nif skinning algorithm works as follows (as of nifskope): # v' # vertex after skinning in geometry space # = sum over {b in skininst.bones} # sum over all bones b that influence the mesh @@ -4716,9 +4750,9 @@ def get_skin_deformation(self): skindata = skininst.data skelroot = skininst.skeleton_root - vertices = [ NifFormat.Vector3() for i in range(self.data.num_vertices) ] - normals = [ NifFormat.Vector3() for i in range(self.data.num_vertices) ] - sumweights = [ 0.0 for i in range(self.data.num_vertices) ] + vertices = [NifFormat.Vector3() for i in range(self.data.num_vertices)] + normals = [NifFormat.Vector3() for i in range(self.data.num_vertices)] + sumweights = [0.0 for i in range(self.data.num_vertices)] skin_offset = skindata.get_transform() # store one transform & rotation per bone bone_transforms = [] @@ -4728,8 +4762,8 @@ def get_skin_deformation(self): bone_matrix = bone_block.get_transform(skelroot) transform = bone_offset * bone_matrix * skin_offset scale, rotation, translation = transform.get_scale_rotation_translation() - bone_transforms.append( (transform, rotation) ) - + bone_transforms.append((transform, rotation)) + # the usual case if skindata.has_vertex_weights: for i, bone_block in enumerate(skininst.bones): @@ -4766,14 +4800,12 @@ def get_skin_deformation(self): sumweights[vert_index] += weight for i, s in enumerate(sumweights): - if abs(s - 1.0) > 0.01: + if abs(s - 1.0) > 0.01: logging.getLogger("pyffi.nif.nigeometry").warn( "vertex %i has weights not summing to one" % i) return vertices, normals - - # ported and extended from niflib::NiNode::GoToSkeletonBindPosition() (r2518) def send_bones_to_bind_position(self): """Send all bones to their bind position. @@ -4807,8 +4839,6 @@ def send_bones_to_bind_position(self): child_matrix = child_offset.get_inverse() * parent_offset child_bone.set_transform(child_matrix) - - # ported from niflib::NiSkinData::ResetOffsets (r2561) def update_bind_position(self): """Make current position of the bones the bind position for this geometry. @@ -4831,7 +4861,7 @@ def update_bind_position(self): # calculate bone offsets for i, bone in enumerate(skininst.bones): - skindata.bone_list[i].set_transform(geomtransform * bone.get_transform(skelroot).get_inverse()) + skindata.bone_list[i].set_transform(geomtransform * bone.get_transform(skelroot).get_inverse()) def get_skin_partition(self): """Return the skin partition block.""" @@ -4867,12 +4897,12 @@ def apply_scale(self, scale): key.value.x *= scale key.value.y *= scale key.value.z *= scale - #key.forward.x *= scale - #key.forward.y *= scale - #key.forward.z *= scale - #key.backward.x *= scale - #key.backward.y *= scale - #key.backward.z *= scale + # key.forward.x *= scale + # key.forward.y *= scale + # key.forward.z *= scale + # key.backward.x *= scale + # key.backward.y *= scale + # key.backward.z *= scale # what to do with TBC? class NiMaterialColorController: @@ -4983,6 +5013,7 @@ class NiNode: >>> [effect.name for effect in node.effects] [b'hello', b'world'] """ + def add_child(self, child, front=False): """Add block to child list. @@ -5004,7 +5035,7 @@ def add_child(self, child, front=False): self.children[num_children] = child else: for i in range(num_children, 0, -1): - self.children[i] = self.children[i-1] + self.children[i] = self.children[i - 1] self.children[0] = child def remove_child(self, child): @@ -5014,7 +5045,7 @@ def remove_child(self, child): :type child: L{NifFormat.NiAVObject} """ self.set_children([otherchild for otherchild in self.get_children() - if not(otherchild is child)]) + if not (otherchild is child)]) def get_children(self): """Return a list of the children of the block. @@ -5053,7 +5084,7 @@ def remove_effect(self, effect): :type effect: L{NifFormat.NiDynamicEffect} """ self.set_effects([othereffect for othereffect in self.get_effects() - if not(othereffect is effect)]) + if not (othereffect is effect)]) def get_effects(self): """Return a list of the effects of the block. @@ -5107,7 +5138,7 @@ def merge_external_skeleton_root(self, skelroot): # fix links to skeleton root and bones for externalblock in child.tree(): if isinstance(externalblock, NifFormat.NiSkinInstance): - if not(externalblock.skeleton_root is skelroot): + if not (externalblock.skeleton_root is skelroot): raise ValueError( "expected skeleton root %s but got %s" % (skelroot.name, externalblock.skeleton_root.name)) @@ -5134,8 +5165,8 @@ def merge_skeleton_roots(self): """ logger = logging.getLogger("pyffi.nif.ninode") - result = [] # list of reparented blocks - failed = [] # list of blocks that could not be reparented + result = [] # list of reparented blocks + failed = [] # list of blocks that could not be reparented id44 = NifFormat.Matrix44() id44.set_identity() @@ -5156,12 +5187,12 @@ def merge_skeleton_roots(self): continue # check transforms if (geom.skin_instance.data.get_transform() - * geom.get_transform(geom.skin_instance.skeleton_root) != id44): + * geom.get_transform(geom.skin_instance.skeleton_root) != id44): logger.warn( "can't rebase %s: global skin data transform does not match " "geometry transform relative to skeleton root" % geom.name) failed.append(geom) - continue # skip this one + continue # skip this one # everything ok! # find geometry parent geomroot = geom.skin_instance.skeleton_root.find_chain(geom)[-2] @@ -5186,8 +5217,8 @@ def get_skinned_geometries(self): """ for geom in self.get_global_iterator(): if (isinstance(geom, NifFormat.NiGeometry) - and geom.is_skin() - and geom.skin_instance.skeleton_root is self): + and geom.is_skin() + and geom.skin_instance.skeleton_root is self): yield geom def send_geometries_to_bind_position(self): @@ -5286,8 +5317,8 @@ def send_geometries_to_bind_position(self): if not bonenode: continue bone_bind_transform[bonenode.name] = ( - bonedata.get_transform().get_inverse(fast=False) - * geom.get_transform(self)) + bonedata.get_transform().get_inverse(fast=False) + * geom.get_transform(self)) # validation: check that bones share bind position bone_bind_transform = {} @@ -5312,8 +5343,8 @@ def send_geometries_to_bind_position(self): for row in diff.as_list())) else: bone_bind_transform[bonenode.name] = ( - bonedata.get_transform().get_inverse(fast=False) - * geom.get_transform(self)) + bonedata.get_transform().get_inverse(fast=False) + * geom.get_transform(self)) logger.debug("Geometry bind position error is %f" % error) if error > 1e-3: @@ -5366,8 +5397,8 @@ def send_detached_geometries_to_node_position(self): for boneset in bonesets: logger.debug(str([bone.name for bone in boneset])) parts = [[geom for geom in geoms - if set(geom.skin_instance.bones) & set(boneset)] - for boneset in bonesets] + if set(geom.skin_instance.bones) & set(boneset)] + for boneset in bonesets] logger.debug("geometries per partition are") for part in parts: logger.debug(str([geom.name for geom in part])) @@ -5392,7 +5423,7 @@ def send_detached_geometries_to_node_position(self): # find a geometry that has this bone for geom in part: for bonenode, bonedata in zip(geom.skin_instance.bones, - geom.skin_instance.data.bone_list): + geom.skin_instance.data.bone_list): if bonenode is lowest_bonenode: lowest_geom = geom lowest_bonedata = bonedata @@ -5439,7 +5470,7 @@ def send_detached_geometries_to_node_position(self): logger.debug("transforming bind position of bone %s" % bonenode.name) bonedata.set_transform(diff.get_inverse(fast=False) - * bonedata.get_transform()) + * bonedata.get_transform()) # transform geometry logger.debug("transforming vertices and normals") for vert in geom.data.vertices: @@ -5486,7 +5517,9 @@ def send_bones_to_bind_position(self): * geom.get_transform(self))) if diff.sup_norm() > 1e-3: - logger.warning("Geometries %s and %s do not share the same bind position: bone %s will be sent to a position matching only one of these" % (geom.name, othergeom.name, bonenode.name)) + logger.warning( + "Geometries %s and %s do not share the same bind position: bone %s will be sent to a position matching only one of these" % ( + geom.name, othergeom.name, bonenode.name)) # break the loop break else: @@ -5713,7 +5746,7 @@ def add_integer_extra_data(self, name, value): self.add_extra_data(extra) class NiObject: - def find(self, block_name = None, block_type = None): + def find(self, block_name=None, block_type=None): # does this block match the search criteria? if block_name and block_type: if isinstance(self, block_type): @@ -5736,7 +5769,7 @@ def find(self, block_name = None, block_type = None): return None - def find_chain(self, block, block_type = None): + def find_chain(self, block, block_type=None): """Finds a chain of blocks going from C{self} to C{block}. If found, self is the first element and block is the last element. If no branch found, returns an empty list. Does not check whether there is more @@ -5761,7 +5794,7 @@ def apply_scale(self, scale): """ pass - def tree(self, block_type = None, follow_all = True, unique = False): + def tree(self, block_type=None, follow_all=True, unique=False): """A generator for parsing all blocks in the tree (starting from and including C{self}). @@ -5772,7 +5805,7 @@ def tree(self, block_type = None, follow_all = True, unique = False): # unique blocks: reduce this to the case of non-unique blocks if unique: block_list = [] - for block in self.tree(block_type = block_type, follow_all = follow_all, unique = False): + for block in self.tree(block_type=block_type, follow_all=follow_all, unique=False): if not block in block_list: yield block block_list.append(block) @@ -5784,11 +5817,11 @@ def tree(self, block_type = None, follow_all = True, unique = False): elif isinstance(self, block_type): yield self elif not follow_all: - return # don't recurse further + return # don't recurse further # yield tree attached to each child for child in self.get_refs(): - for block in child.tree(block_type = block_type, follow_all = follow_all): + for block in child.tree(block_type=block_type, follow_all=follow_all): yield block def _validateTree(self): @@ -5825,7 +5858,7 @@ def is_interchangeable(self, other): if self.__class__ is not other.__class__: return False if (self.name.lower() in specialnames - or other.name.lower() in specialnames): + or other.name.lower() in specialnames): # do not ignore name return self.get_hash() == other.get_hash() else: @@ -6074,14 +6107,14 @@ def is_interchangeable(self, other): # check class if (not isinstance(self, other.__class__) - or not isinstance(other, self.__class__)): + or not isinstance(other, self.__class__)): return False # check some trivial things first for attribute in ( - "num_vertices", "keep_flags", "compress_flags", "has_vertices", - "num_uv_sets", "has_normals", "center", "radius", - "has_vertex_colors", "has_uv", "consistency_flags"): + "num_vertices", "keep_flags", "compress_flags", "has_vertices", + "num_uv_sets", "has_normals", "center", "radius", + "has_vertex_colors", "has_uv", "consistency_flags"): if getattr(self, attribute) != getattr(other, attribute): return False @@ -6136,6 +6169,7 @@ def get_triangle_indices(self, triangles): :param triangles: An iterable of triangles to check. :type triangles: iterator or list of tuples of three ints """ + def triangleHash(triangle): """Calculate hash of a non-degenerate triangle. Returns ``None`` if the triangle is degenerate. @@ -6170,16 +6204,15 @@ def bytes2vectors(data, pos, num): vec = NifFormat.Vector3() # XXX _byte_order! assuming little endian vec.x, vec.y, vec.z = struct.unpack(' maxbonespervertex: # delete bone influences with least weight - weight.sort(key=lambda x: x[1], reverse=True) # sort by weight + weight.sort(key=lambda x: x[1], reverse=True) # sort by weight # save lost weight to return to user lostweight = max( lostweight, max( [x[1] for x in weight[maxbonespervertex:]])) - del weight[maxbonespervertex:] # only keep first elements + del weight[maxbonespervertex:] # only keep first elements # normalize - totalweight = sum([x[1] for x in weight]) # sum of all weights + totalweight = sum([x[1] for x in weight]) # sum of all weights for x in weight: x[1] /= totalweight maxbones = maxbonespervertex # sort by again by bone (relied on later when matching vertices) @@ -6527,7 +6558,7 @@ def update_skin_partition(self, # this triangle tribonesweights = {} for bonenum in tribones: tribonesweights[bonenum] = 0.0 - nono = set() # bones with weight 1 cannot be removed + nono = set() # bones with weight 1 cannot be removed for skinweights in [weights[t] for t in tri]: # skinweights[0] is the first skinweight influencing vertex t # and skinweights[0][0] is the bone number of that bone @@ -6553,7 +6584,7 @@ def update_skin_partition(self, # remove minbone from all vertices of this triangle and from all # matching vertices for t in tri: - for tt in [t]: #match[t]: + for tt in [t]: # match[t]: # remove bone weight = weights[tt] for i, (bonenum, boneweight) in enumerate(weight): @@ -6575,7 +6606,7 @@ def update_skin_partition(self, # keep creating partitions as long as there are triangles left while triangles: # create a partition - part = [set(), [], None] # bones, triangles, partition index + part = [set(), [], None] # bones, triangles, partition index usedverts = set() addtriangles = True # keep adding triangles to it as long as the flag is set @@ -6595,7 +6626,7 @@ def update_skin_partition(self, # or if part has all bones of tribones and index coincides # then add this triangle to this part if ((not part[0]) - or ((part[0] >= tribones) and (part[2] == partindex))): + or ((part[0] >= tribones) and (part[2] == partindex))): part[0] |= tribones part[1].append(tri) usedverts |= set(tri) @@ -6648,7 +6679,7 @@ def update_skin_partition(self, # merge all partitions logger.info("Merging partitions.") - merged = True # signals success, in which case do another run + merged = True # signals success, in which case do another run while merged: merged = False # newparts is to contain the updated merged partitions as we go @@ -6670,11 +6701,11 @@ def update_skin_partition(self, # if partition indices are the same, and bone limit is not # exceeded, merge them if ((parta[2] == partb[2]) - and (len(parta[0] | partb[0]) <= maxbonesperpartition)): + and (len(parta[0] | partb[0]) <= maxbonesperpartition)): parta[0] |= partb[0] parta[1] += partb[1] addedparts.add(b) - merged = True # signal another try in merging partitions + merged = True # signal another try in merging partitions # update partitions to the merged partitions parts = newparts @@ -6689,14 +6720,14 @@ def update_skin_partition(self, skinpart = skininst.skin_partition skindata.skin_partition = skinpart else: - # otherwise, create a new block and link it + # otherwise, create a new block and link it skinpart = NifFormat.NiSkinPartition() skindata.skin_partition = skinpart skininst.skin_partition = skinpart # set number of partitions - skinpart.num_skin_partition_blocks = len(parts) - skinpart.skin_partition_blocks.update_size() + skinpart.num_partitions = len(parts) + skinpart.partitions.update_size() # maximize bone sharing, if requested if maximize_bone_sharing: @@ -6753,7 +6784,7 @@ def update_skin_partition(self, # store part for next iteration lastpart = part - for skinpartblock, part in zip(skinpart.skin_partition_blocks, parts): + for skinpartblock, part in zip(skinpart.partitions, parts): # get sorted list of bones bones = sorted(list(part[0])) triangles = part[1] @@ -6770,8 +6801,8 @@ def update_skin_partition(self, # decide whether to use strip or triangles as primitive if stripify is None: stripifyblock = ( - strips_size < triangles_size - and all(len(strip) < 65536 for strip in strips)) + strips_size < triangles_size + and all(len(strip) < 65536 for strip in strips)) else: stripifyblock = stripify if stripifyblock: @@ -6821,7 +6852,7 @@ def update_skin_partition(self, for i, bonenum in enumerate(bones): skinpartblock.bones[i] = bonenum for i in range(len(bones), skinpartblock.num_bones): - skinpartblock.bones[i] = 0 # dummy bone slots refer to first bone + skinpartblock.bones[i] = 0 # dummy bone slots refer to first bone skinpartblock.has_vertex_map = True skinpartblock.vertex_map.update_size() for i, v in enumerate(vertices): @@ -6850,7 +6881,7 @@ def update_skin_partition(self, # clear strips array skinpartblock.strips.update_size() skinpartblock.triangles.update_size() - for i, (v_1,v_2,v_3) in enumerate(triangles): + for i, (v_1, v_2, v_3) in enumerate(triangles): skinpartblock.triangles[i].v_1 = vertices.index(v_1) skinpartblock.triangles[i].v_2 = vertices.index(v_2) skinpartblock.triangles[i].v_3 = vertices.index(v_3) @@ -6863,7 +6894,7 @@ def update_skin_partition(self, for j in range(len(weights[v])): skinpartblock.bone_indices[i][j] = bones.index(weights[v][j][0]) boneindices.remove(skinpartblock.bone_indices[i][j]) - for j in range(len(weights[v]),skinpartblock.num_weights_per_vertex): + for j in range(len(weights[v]), skinpartblock.num_weights_per_vertex): if padbones: # if padbones is True then we have enforced # num_bones == num_weights_per_vertex so this will not trigger @@ -6896,7 +6927,7 @@ def update_skin_center_radius(self): """Update centers and radii of all skin data fields.""" # shortcuts relevant blocks if not self.skin_instance: - return # no skin, nothing to do + return # no skin, nothing to do self._validate_skin() geomdata = self.data skininst = self.skin_instance @@ -6927,7 +6958,7 @@ def update_skin_center_radius(self): r2 = 0.0 for v in boneverts: d = center - v - r2 = max(r2, d.x*d.x+d.y*d.y+d.z*d.z) + r2 = max(r2, d.x * d.x + d.y * d.y + d.z * d.z) radius = r2 ** 0.5 # transform center in proper coordinates (radius remains unaffected) @@ -6998,17 +7029,18 @@ class NiTriShapeData: >>> block.get_triangles() [(0, 2, 1), (1, 2, 3), (2, 4, 3)] """ + def get_triangles(self): return [(t.v_1, t.v_2, t.v_3) for t in self.triangles] - def set_triangles(self, triangles, stitchstrips = False): + def set_triangles(self, triangles, stitchstrips=False): # note: the stitchstrips argument is ignored - only present to ensure # uniform interface between NiTriShapeData and NiTriStripsData # initialize triangle array n = len(triangles) self.num_triangles = n - self.num_triangle_points = 3*n + self.num_triangle_points = 3 * n self.has_triangles = (n > 0) self.triangles.update_size() @@ -7039,10 +7071,11 @@ class NiTriStripsData: >>> block.get_triangles() [(0, 2, 1), (1, 2, 3), (2, 4, 3)] """ + def get_triangles(self): return pyffi.utils.tristrip.triangulate(self.points) - def set_triangles(self, triangles, stitchstrips = False): + def set_triangles(self, triangles, stitchstrips=False): self.set_strips(pyffi.utils.vertex_cache.stripify( triangles, stitchstrips=stitchstrips)) @@ -7076,8 +7109,8 @@ def update_a_b(self, transform): self.pivot_b.z = pivot_b.z # axes (rotation only) transform = transform.get_matrix_33() - plane_b = self.plane_a.get_vector_3() * transform - twist_b = self.twist_a.get_vector_3() * transform + plane_b = self.plane_a.get_vector_3() * transform + twist_b = self.twist_a.get_vector_3() * transform self.plane_b.x = plane_b.x self.plane_b.y = plane_b.y self.plane_b.z = plane_b.z @@ -7116,7 +7149,7 @@ def get_string(self, offset): ... ValueError: ... """ - _b00 = pyffi.object_models.common._b00 # shortcut + _b00 = pyffi.object_models.common._b00 # shortcut # check that offset isn't too large if offset >= len(self.palette): raise ValueError( @@ -7124,15 +7157,15 @@ def get_string(self, offset): "but palette is only %i long" % (offset, len(self.palette))) # check that a string starts at this offset - if offset > 0 and self.palette[offset-1:offset] != _b00: + if offset > 0 and self.palette[offset - 1:offset] != _b00: logger = logging.getLogger("pyffi.nif.stringpalette") logger.warning( "StringPalette: no string starts at offset %i " "(string is %s, preceeding character is %s)" % ( offset, self.palette[offset:self.palette.find(_b00, offset)], - self.palette[offset-1:offset], - )) + self.palette[offset - 1:offset], + )) # return the string return self.palette[offset:self.palette.find(_b00, offset)] @@ -7153,7 +7186,7 @@ def get_all_strings(self): >>> print(repr(pal.palette.decode("ascii")).lstrip("u")) 'abc\\x00def\\x00' """ - _b00 = pyffi.object_models.common._b00 # shortcut + _b00 = pyffi.object_models.common._b00 # shortcut return self.palette[:-1].split(_b00) def add_string(self, text): @@ -7176,7 +7209,7 @@ def add_string(self, text): # empty text if not text: return -1 - _b00 = pyffi.object_models.common._b00 # shortcut + _b00 = pyffi.object_models.common._b00 # shortcut # convert text to bytes if necessary text = pyffi.object_models.common._as_bytes(text) # check if string is already in the palette @@ -7212,7 +7245,7 @@ def clear(self): >>> print(repr(pal.palette.decode("ascii")).lstrip("u")) '' """ - self.palette = pyffi.object_models.common._b # empty bytes object + self.palette = pyffi.object_models.common._b # empty bytes object self.length = 0 class TexCoord: @@ -7220,14 +7253,14 @@ def as_list(self): return [self.u, self.v] def normalize(self): - r = (self.u*self.u + self.v*self.v) ** 0.5 + r = (self.u * self.u + self.v * self.v) ** 0.5 if r < NifFormat.EPSILON: - raise ZeroDivisionError('cannot normalize vector %s'%self) + raise ZeroDivisionError('cannot normalize vector %s' % self) self.u /= r self.v /= r def __str__(self): - return "[ %6.3f %6.3f ]"%(self.u, self.v) + return "[ %6.3f %6.3f ]" % (self.u, self.v) def __mul__(self, x): if isinstance(x, (float, int)): @@ -7238,7 +7271,7 @@ def __mul__(self, x): elif isinstance(x, NifFormat.TexCoord): return self.u * x.u + self.v * x.v else: - raise TypeError("do not know how to multiply TexCoord with %s"%x.__class__) + raise TypeError("do not know how to multiply TexCoord with %s" % x.__class__) def __rmul__(self, x): if isinstance(x, (float, int)): @@ -7247,7 +7280,7 @@ def __rmul__(self, x): v.v = x * self.v return v else: - raise TypeError("do not know how to multiply %s and TexCoord"%x.__class__) + raise TypeError("do not know how to multiply %s and TexCoord" % x.__class__) def __add__(self, x): if isinstance(x, (float, int)): @@ -7261,7 +7294,7 @@ def __add__(self, x): v.v = self.v + x.v return v else: - raise TypeError("do not know how to add TexCoord and %s"%x.__class__) + raise TypeError("do not know how to add TexCoord and %s" % x.__class__) def __radd__(self, x): if isinstance(x, (float, int)): @@ -7270,7 +7303,7 @@ def __radd__(self, x): v.v = x + self.v return v else: - raise TypeError("do not know how to add %s and TexCoord"%x.__class__) + raise TypeError("do not know how to add %s and TexCoord" % x.__class__) def __sub__(self, x): if isinstance(x, (float, int)): @@ -7284,7 +7317,7 @@ def __sub__(self, x): v.v = self.v - x.v return v else: - raise TypeError("do not know how to substract TexCoord and %s"%x.__class__) + raise TypeError("do not know how to substract TexCoord and %s" % x.__class__) def __rsub__(self, x): if isinstance(x, (float, int)): @@ -7293,7 +7326,7 @@ def __rsub__(self, x): v.v = x - self.v return v else: - raise TypeError("do not know how to substract %s and TexCoord"%x.__class__) + raise TypeError("do not know how to substract %s and TexCoord" % x.__class__) def __neg__(self): v = NifFormat.TexCoord() @@ -7301,6 +7334,8 @@ def __neg__(self): v.v = -self.v return v -if __name__=='__main__': + +if __name__ == '__main__': import doctest + doctest.testmod() diff --git a/pyffi/object_models/__init__.py b/pyffi/object_models/__init__.py index 73c7a367c..39fcef0aa 100644 --- a/pyffi/object_models/__init__.py +++ b/pyffi/object_models/__init__.py @@ -12,6 +12,7 @@ mex/index xml/index + niftoolsxml/index xsd/index any_type diff --git a/pyffi/object_models/expression.py b/pyffi/object_models/expression.py index 73b35d9f6..ef95138fe 100644 --- a/pyffi/object_models/expression.py +++ b/pyffi/object_models/expression.py @@ -55,6 +55,7 @@ # ***** END LICENSE BLOCK ***** # -------------------------------------------------------------------------- +import logging import re @@ -87,17 +88,18 @@ class Expression(object): # TODO: Check if this can handle sub vars A.x.y True >>> bool(Expression('1 != 1').eval()) False + >>> bool(Expression('0xFFF00000000000 >> 44').eval()) + 4095 """ - # Operators >> and << are already included by > and <. TODO: Confirm if this is the case - operators = {'==', '!=', '>=', '<=', '&&', '||', '&', '|', '-', '!', '<', '>', '/', '*', '+', '%'} + operators = {'<<', '>>', '==', '!=', '>=', '<=', '&&', '||', '&', '|', '-', '!', '<', '>', '/', '*', '+', '%'} def __init__(self, expr_str, name_filter=None): try: left, self._op, right = self._partition(expr_str) self._left = self._parse(left, name_filter) self._right = self._parse(right, name_filter) - except: + except Exception: print("error while parsing expression '%s'" % expr_str) raise @@ -139,40 +141,51 @@ def eval(self, data=None): assert (isinstance(self._right, int)) # debug right = self._right - if self._op == '==': - return left == right - elif self._op == '!=': - return left != right - elif self._op == '>=': - return left >= right - elif self._op == '<=': - return left <= right - elif self._op == '&&': - return left and right - elif self._op == '||': - return left or right - elif self._op == '&': - return left & right - elif self._op == '|': - return left | right - elif self._op == '-': - return left - right - elif self._op == '!': - return not (right) - elif self._op == '>': - return left > right - elif self._op == '<': - return left < right - elif self._op == '/': - return left / right - elif self._op == '*': - return left * right - elif self._op == '+': - return left + right - elif self._op == '%': - return left % right - else: - raise NotImplementedError("expression syntax error: operator '" + self._op + "' not implemented") + try: + if self._op == '>>': + return left >> right + elif self._op == '<<': + return left << right + elif self._op == '==': + return left == right + elif self._op == '!=': + return left != right + elif self._op == '>=': + return left >= right + elif self._op == '<=': + return left <= right + elif self._op == '&&': + return left and right + elif self._op == '||': + return left or right + elif self._op == '&': + return left & right + elif self._op == '|': + return left | right + elif self._op == '-': + return left - right + elif self._op == '!': + return not (right) + elif self._op == '>': + return left > right + elif self._op == '<': + return left < right + elif self._op == '/': + return left / right + elif self._op == '*': + return left * right + elif self._op == '+': + return left + right + elif self._op == '%': + return left % right + else: + raise NotImplementedError("expression syntax error: operator '" + self._op + "' not implemented") + except UnboundLocalError: + logging.getLogger().error("Expression value was unbound (left: %s, op: %s, right: %s", self._left, self._op, self._right) + raise + except ArithmeticError: + logging.getLogger().error("Failed to evaluate expression. Left: %s; Op: %s; Right: %s", left, self._op, right) + raise def __str__(self): """Reconstruct the expression to a string.""" @@ -199,6 +212,11 @@ def _parse(cls, expr_str, name_filter=None): if expr_str.find(op) != -1: return Expression(expr_str, name_filter) # try to convert it to an integer + if expr_str.startswith("0x"): + try: + return int(expr_str, 16) + except ValueError: + pass try: return int(expr_str) # failed, so return the string, passed through the name filter @@ -215,11 +233,12 @@ def _parse(cls, expr_str, name_filter=None): return ver # apply name filter on each component separately # (where a dot separates components) + if expr_str == "#ARG#": + return "arg" if name_filter is None: name_filter = lambda x: x - return '.'.join(name_filter(comp) - for comp in expr_str.split(".")) - return expr_str + return '.'.join(name_filter(comp) for comp in expr_str.split(".")) + # return expr_str @classmethod def _partition(cls, expr_str): @@ -227,6 +246,8 @@ def _partition(cls, expr_str): >>> Expression._partition('abc || efg') ('abc', '||', 'efg') + >>> Expression._partition('0xFFF00000000000 >> 44') + ('0xFFF00000000000', '>>', '44') >>> Expression._partition('(a== b) &&(( b!=c)||d )') ('a== b', '&&', '( b!=c)||d') >>> Expression._partition('!(1 <= 2)') diff --git a/pyffi/object_models/niftoolsxml/__init__.py b/pyffi/object_models/niftoolsxml/__init__.py new file mode 100644 index 000000000..2d05a70a6 --- /dev/null +++ b/pyffi/object_models/niftoolsxml/__init__.py @@ -0,0 +1,792 @@ +""" +:mod:`pyffi.object_models.xml` --- XML xml parser +================================================================= + +Format classes and metaclasses for binary file formats described by an xml +file, and xml handler for converting the xml description into Python classes. + +Contents +-------- + +.. toctree:: + :maxdepth: 2 + :titlesonly: + + array + bit_struct + enum + expression + struct + +Implementation +-------------- + +.. autoclass:: MetaFileFormat + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: NifToolsFileFormat + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: StructAttribute + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: BitStructAttribute + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: Version + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: Module + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: XmlParser + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: XmlError + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" + +# ***** BEGIN LICENSE BLOCK ***** +# +# Copyright (c) 2007-2012, Python File Format Interface +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# +# * Neither the name of the Python File Format Interface +# project nor the names of its contributors may be used to endorse +# or promote products derived from this software without specific +# prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# ***** END LICENSE BLOCK ***** + +import dataclasses +import logging +import re +import time # for timing stuff +import typing +from typing import Callable, Optional, List, Tuple + +# import xml.etree.ElementTree as ET +import lxml.etree as ET + +import pyffi.object_models +from object_models.expression import Expression +from pyffi.object_models.basic import BasicBase +from pyffi.object_models.niftoolsxml.bit_struct import BitStructBase +from pyffi.object_models.niftoolsxml.enum import EnumBase +from pyffi.object_models.niftoolsxml.struct_ import StructBase + +main_games = re.compile("(?<={{)[^{}]+(?=}})") +logger = logging.getLogger("pyffi.object_models.xml") +default_list = dataclasses.field(default_factory=list) + + +def skip(_element: ET.Element): + return + + +class MetaFileFormat(pyffi.object_models.MetaFileFormat): + """The MetaFileFormat metaclass transforms the XML description + of a file format into a bunch of classes which can be directly + used to manipulate files in this format. + + The actual implementation of the parser is delegated to + pyffi.object_models.xml.FileFormat. + """ + + def __init__(cls, name, bases, dct): + """This function constitutes the core of the class generation + process. For instance, we declare NifFormat to have metaclass + MetaFileFormat, so upon creation of the NifFormat class, + the __init__ function is called, with + + :param cls: The class created using MetaFileFormat, for example + NifFormat. + :param str name: The name of the class, for example 'NifFormat'. + :param typing.Set[typing.Any] bases: The base classes, usually (object,). + :param dct: A dictionary of class attributes, such as 'xml_file_name'. + """ + + super(MetaFileFormat, cls).__init__(name, bases, dct) + + # preparation: make deep copy of lists of enums, structs, etc. + cls.xml_enum = cls.xml_enum[:] + cls.xml_alias = cls.xml_alias[:] + cls.xml_bit_struct = cls.xml_bit_struct[:] + cls.xml_struct = cls.xml_struct[:] + + # parse XML + + # we check dct to avoid parsing the same file more than once in + # the hierarchy + xml_file_name = dct.get('xml_file_name') + if xml_file_name: + cls.logger.debug("Parsing %s and generating classes." % xml_file_name) + # open XML file + start = time.time() + xml_file = cls.openfile(xml_file_name, cls.xml_file_path) + xmlp = XmlParser(cls) + try: + xmlp.load_xml(xml_file) + finally: + xml_file.close() + + cls.logger.debug("Parsing finished in %.3f seconds." % (time.time() - start)) + + +class NifToolsFileFormat(pyffi.object_models.FileFormat, metaclass=MetaFileFormat): + """This class can be used as a base class for file formats + described by a xml file.""" + xml_file_name = None #: Override. + xml_file_path = None #: Override. + logger = logger + + # We also keep an ordered list of all classes that have been created. + # The xml_struct list includes all xml generated struct classes, + # including those that are replaced by a native class in cls (for + # instance NifFormat.String). The idea is that these lists should + # contain sufficient info from the xml, so they can be used to write + # other python scripts that would otherwise have to implement their own + # xml parser. See makehsl.py for an example of usage. + # + # (note: no classes are created for basic types, so no list for those) + xml_enum = [] + xml_alias = [] + xml_bit_struct = [] + xml_struct = [] + + +@dataclasses.dataclass +class StructAttribute: + """Helper class to collect attribute data of struct add tags. + + Attributes: + displayname (str): The name of this member variable + name (str): TODO + type_: TODO + default: The default value + template: The template type of this member variable + arg (Optional[Expression]): The argument of this member variable + length (Optional[Expression]): First array size + width (Optional[Expression]): Second array size + cond (Optional[Expression]): The condition of this member variable + vercond: The version condition of this member variable + since (Optional[int]): The version this member exists, None if there is no lower limit + until (Optional[int]): The last version this member exists, None if there is no upper limit + userver (Optional[int]): The user version this member exists, None if it exists for all + doc (str): The docstring of this attribute + is_abstract (bool): Whether this attribute is abstract or not (read and written)""" + + displayname: str + name: str + type_: typing.Any + default: typing.Any + template: typing.Any + arg: Optional[Expression] + length: Optional[Expression] + width: Optional[Expression] + cond: Optional[Expression] + vercond: Optional[Expression] + since: Optional[int] + until: Optional[int] + userver: Optional[int] + doc: str + is_abstract: bool + + # TODO: Handle Suffix + + @classmethod + def create(clz, cls, attrs): + """Initialize attribute from the xml attrs dictionary of an + add tag. + + :param cls: The class where all types reside. + :param attrs: The xml add tag attribute dictionary.""" + # mandatory parameters + params = { + 'displayname': attrs["name"], + # The name of this member variable. + 'name': cls.name_attribute(attrs["name"]) + } + # The type of this member variable (type is ``str`` for forward declarations, and resolved to :class:`BasicBase` or :class:`StructBase` later). + try: + attrs_type_str = attrs["type"] + except KeyError: + raise AttributeError("'%s' is missing a type attribute" % params['displayname']) + if attrs_type_str != "TEMPLATE": + try: + params['type_'] = getattr(cls, attrs_type_str) + except AttributeError: + # forward declaration, resolved in final_cleanup() + params['type_'] = attrs_type_str + else: + # type determined at runtime + params['type_'] = type(None) + # optional parameters + + # default value of this member variable. + params['default'] = attrs.get("default") + # template type of this member variable (initially ``str``, resolved in final_cleanup() to :class:`BasicBase` or :class:`StructBase` at the end + # of the xml parsing), and if there is no template type, then this variable will equal `None`. + params['template'] = attrs.get("template") + # argument of this member variable. + params['arg'] = attrs.get("arg") + # first array size of this member variable, as :class:`Expression` or `None`. + params['length'] = attrs.get("length") + # second array size of this member variable, as :class:`Expression` or `None`. + params['width'] = attrs.get("width") + # condition of this member variable, as :class:`Expression` or `None`. + params['cond'] = attrs.get("cond") + # version condition for this member variable + params['vercond'] = attrs.get("vercond") + # first version this member exists, as `int`, and `None` if there is no lower limit. + params['since'] = attrs.get("since") + # last version this member exists, as `int`, and `None` if there is no upper limit. + params['until'] = attrs.get("until") + # user version this member exists, as `int`, and `None` if it exists for all user versions. + params['userver'] = attrs.get("userver") + # docstring is handled in xml parser's characters function + params['doc'] = "" + # Whether the attribute is abstract or not (read and written). + params['is_abstract'] = (attrs.get("abstract") in ("1", "true")) + + # post-processing + if params['default']: + try: + tmp = params['type_']() + tmp.set_value(params['default']) + params['default'] = tmp.get_value() + del tmp + except Exception: + # conversion failed; not a big problem + params['default'] = None + if params['length']: + params['length'] = Expression(params['length'], cls.name_attribute) + if params['width']: + params['width'] = Expression(params['width'], cls.name_attribute) + if params['cond']: + params['cond'] = Expression(params['cond'], cls.name_attribute) + if params['vercond']: + params['vercond'] = Expression(params['vercond'], cls.name_attribute) + if params['arg']: + params['arg'] = Expression(params['arg'], cls.name_attribute) + if params['userver']: + params['userver'] = int(params['userver']) + if params['since']: + params['since'] = cls.version_number(params['since']) + if params['until']: + params['until'] = cls.version_number(params['until']) + + return clz(**params) + + +class BitStructAttribute(object): + """Helper class to collect attribute data of bitstruct bits tags.""" + + def __init__(self, cls, attrs): + """Initialize attribute from the xml attrs dictionary of an + add tag. + + :param cls: The class where all types reside. + :param attrs: The xml add tag attribute dictionary.""" + # mandatory parameters + self.name = cls.name_attribute(attrs["name"]) + self.numbits = int(cls.name_attribute(attrs["numbits"])) + # optional parameters + self.default = attrs.get("default") + self.cond = attrs.get("cond") + self.since = attrs.get("since") + self.until = attrs.get("until") + self.userver = attrs.get("userver") + self.doc = "" # handled in xml parser's characters function + + # post-processing + if self.default: + self.default = int(self.default) + if self.cond: + self.cond = Expression(self.cond, cls.name_attribute) + if self.userver: + self.userver = int(self.userver) + if self.since: + self.since = cls.version_number(self.since) + if self.until: + self.until = cls.version_number(self.until) + + +@dataclasses.dataclass +class Version: + """A dataclass for Versions, all versions must have an ID and version num""" + id: str + """The ID of the version""" + num: int + """The number of the version. Note: this is in integer format, this was converted using the `version_number` + function from the relative FileFormat subclass.""" + games: List[str] + """A list of games which use this version. The primary versions of games is stored by TODO: THIS SHIT""" + supported: bool = dataclasses.field(default_factory=lambda: True) + """This is false if this version is not fully supported by the xml""" + user: Optional[List[int]] = dataclasses.field(default_factory=list) + """The custom User Version(s) for a specific Version from a game/developer.""" + bsver: Optional[List[int]] = dataclasses.field(default_factory=list) + """The custom Bethesda Version(s) for a specific Version and User Version.""" + custom: bool = dataclasses.field(default_factory=lambda: False) + """True when version contains extensions to the format not originating from Gamebryo.""" + ext: Optional[List[str]] = dataclasses.field(default_factory=list) + """Any custom NIF extensions associated with this version.""" + + +@dataclasses.dataclass +class Module: + name: str + priority: int + depends: Optional[List[str]] = dataclasses.field(default_factory=list()) + + +class XmlError(Exception): + """The XML handler will throw this exception if something goes wrong while + parsing.""" + pass + + +class XmlParser: # TODO: look into lxml iterparse so that we can get error with specific line numbers + """ + Attributes: + tokens: A list of token tuples ({token: string}, [attrs]) + """ + struct_types = ("niobject", "struct") + bitstruct_types = ("bitfield", "bitflags", "bitstruct") + + def __init__(self, cls): + """Set up the xml parser.""" + + self.attrib = None + self.name = None + + self.load_dict: dict[str, Callable[[ET.Element], None]] = { + 'token': self.read_token, + 'verattr': skip, # Skip for now, not used + 'version': self.read_version, + 'module': skip, # Skip for now, not used + 'basic': self.read_basic, + 'enum': self.read_enum, + 'bitflags': self.read_bitstruct, + 'bitfield': self.read_bitstruct, + 'bitstruct': self.read_bitstruct, + 'struct': self.read_struct, + 'niobject': self.read_struct + } + + # initialize dictionaries + # map each supported version string to a version number + cls.versions = {} + # initialize dictionaries + # map each supported version string to a version number + cls.versions_num = {} + # map each supported game to a list of header version numbers + cls.games = {} + # note: block versions are stored in the _games attribute of the struct class + cls.main_versions = {} + # This will contain {Game Name}: {Primary Version} for use later + + # cls needs to be accessed in member functions, so make it an instance member variable + self.cls = cls + + # elements for creating new classes + self.class_name = None + self.class_dict = None + self.base_class = () + + # elements for versions + self.version_string = None + + # list of tuples ({tokens}, (target_attribs)) for each + self.tokens: list[Tuple[list[Tuple[str, str]], list[str]]] = [] + self.versions = [([], ("versions", "until", "since")), ] + + def load_xml(self, file): + """Loads an XML (can be filepath or open file) and does all parsing""" + parser = ET.XMLParser(remove_comments=True) # TODO: discuss whether we want the comments or not + tree = ET.parse(file, parser) + root = tree.getroot() + self.name = root.tag + self.attrib = root.attrib + logger.debug("Parsing XML root: %s<%s>", self.name, self.attrib) + self.load_root(root) + self.final_cleanup() + + def load_root(self, root: ET.Element): + """Goes over all children of the root node and calls the appropriate function depending on type of the child""" + for child in root: + tag = child.tag + if isinstance(tag, ET.Comment.__class__): # TODO: See above + continue + elif tag in self.load_dict: + self.load_dict[tag](child) + else: + logger.warning("Unknown type in XML: %s<%s>. Skipping...", tag, child.attrib) + + # the following constructs do not create classes + def read_token(self, token: ET.Element): + """Reads an XML block and stores it in the tokens list""" + + self.tokens.append(([], token.attrib["attrs"].split(" "))) + for sub_token in token: + self.tokens[-1][0].append((sub_token.attrib["token"], sub_token.attrib["string"])) + + # todo: do we need read_verattr? + + def read_version(self, version: ET.Element): # TODO: Clean this up, currently really shit + """Reads an XML block and stores it in the versions list + + See :py:class:Version for more info!""" + ver_attr = version.attrib + + if 'id' not in ver_attr and 'num' not in ver_attr: + logger.error("Versions contains no `id` and/or `num` and is incorrect: (%s)", ver_attr) + return + # versions must be in reverse order so don't append but insert at beginning + # TODO: why must this be reverse order + # if "id" in version.attrib: + # self.versions[0][0].insert(0, (version.attrib["id"], version.attrib["num"])) + # add to supported versions + self.version_string = ver_attr["num"] + # Converts the version string into a number + + version_id = ver_attr['id'] + version_num = self.cls.version_number(ver_attr['num']) + + params = {"id": version_id, "num": version_num, 'games': version.text.split(', ')} + + if 'supported' in ver_attr: + params['supported'] = bool(ver_attr['supported']) + + # if 'user' in ver_attr: # TODO: + + # if 'bsver' in ver_attr: # TODO: + + if 'custom' in ver_attr: + params['custom'] = bool(ver_attr['custom']) + elif 'user' in params and 'bsver' in params and \ + params['user'] is not None and params['bsver'] is not None: + params['custom'] = True + + if 'ext' in ver_attr: + params['ext'] = list() # TODO: THIS + + ver = Version(**params) + self.version_string = version_id + self.cls.versions[version_id] = ver + self.cls.versions_num[ver_attr['num']] = ver.num + for game in main_games.findall(version.text): + if game in self.cls.main_versions: + logger.warning("Duplicate main game (%s) was found in version (%s)", game, version_id) + continue + self.cls.main_versions[game] = ver + self.update_gamesdict(self.cls.games, version.text) + self.version_string = None + + def read_module(self, module: ET.Element): + """Reads an XML block""" + # TODO + + def read_basic(self, basic: ET.Element): + """Maps to a type defined in self.cls""" + self.class_name = basic.attrib["name"] + # Each basic type corresponds to a type defined in C{self.cls}. + # The link between basic types and C{self.cls} types is done via the name of the class. + basic_class = getattr(self.cls, self.class_name) + # check the class variables + is_template = self.is_generic(basic.attrib) + if basic_class._is_template != is_template: + raise XmlError('class %s should have _is_template = %s' % (self.class_name, is_template)) + + # link class cls. to basic_class + setattr(self.cls, self.class_name, basic_class) + + # the following constructs create classes + def read_bitstruct(self, bitstruct: ET.Element): + """Create a bitstruct class""" + attrs = self.replace_tokens(bitstruct.attrib) + self.base_class = BitStructBase + self.update_class_dict(attrs, bitstruct.text) + try: + numbytes = int(attrs["numbytes"]) + except KeyError: + # niftools style: storage attribute + numbytes = getattr(self.cls, attrs["storage"]).get_size() + self.class_dict["_attrs"] = [] + self.class_dict["_numbytes"] = numbytes + for member in bitstruct: + attrs = self.replace_tokens(member.attrib) + if member.tag == "bits": + # eg. + # mandatory parameters + bit_attrs = attrs + elif member.tag == "option": + # niftools compatibility, we have a bitflags field + # so convert value into numbits + # first, calculate current bit position + bitpos = sum(bitattr.numbits for bitattr in self.class_dict["_attrs"]) + # avoid crash + if "value" in attrs: + # check if extra bits must be inserted + numextrabits = int(attrs["value"]) - bitpos + if numextrabits < 0: + raise XmlError("values of bitflags must be increasing") + if numextrabits > 0: + reserved = dict(name="Reserved Bits %i" % len(self.class_dict["_attrs"]), numbits=numextrabits) + self.class_dict["_attrs"].append(BitStructAttribute(self.cls, reserved)) + # add the actual attribute + bit_attrs = dict(name=attrs["name"], numbits=1) + # new nif xml + elif member.tag == "member": + bit_attrs = dict(name=attrs["name"], numbits=attrs["width"]) + else: + raise XmlError("only bits tags allowed in struct type declaration") + + self.class_dict["_attrs"].append(BitStructAttribute(self.cls, bit_attrs)) + self.update_doc(self.class_dict["_attrs"][-1].doc, member.text) + + self.create_class(bitstruct.tag) + + def read_struct(self, struct: ET.Element): + """Create a struct class""" + attrs = self.replace_tokens(struct.attrib) + self.update_class_dict(attrs, struct.text) + # struct types can be organized in a hierarchy + # if inherit attribute is defined, look for corresponding base block + class_basename = attrs.get("inherit") + if class_basename: + # class_basename must have been assigned to a class + try: + self.base_class = getattr(self.cls, class_basename) + except KeyError: + raise XmlError( + "Struct (%s) inherits an unknown or forward declared struct (%s)" % (struct.tag, class_basename)) + else: + self.base_class = StructBase + # set attributes (see class StructBase) + # 'generic' attribute is optional- if not set, then the struct is not a template + self.class_dict["_is_template"] = self.is_generic(attrs) + self.class_dict["_attrs"] = [] + # self.class_dict["_games"] = {} # TODO: Is this used? + for field in struct: + attrs = self.replace_tokens(field.attrib) + # the common case + if field.tag in ("add", "field"): + # add attribute to class dictionary + self.class_dict["_attrs"].append(StructAttribute.create(self.cls, attrs)) + self.update_doc(self.class_dict["_attrs"][-1].doc, field.text) + # Note: version tags are not found in current xml + else: + logger.warning("only add tags allowed in struct declaration") + # load defaults for this + for default in field: # TODO: Why do we do nothing with defaults + if default.tag != "default": + raise AttributeError("struct children's children must be 'default' tag") + self.create_class(struct.tag) + + def read_enum(self, enum: ET.Element): + """Create an enum class""" + attrs = self.replace_tokens(enum.attrib) + self.base_class = EnumBase + self.update_class_dict(attrs, enum.text) + try: + numbytes = int(attrs["numbytes"]) + except KeyError: + # niftools format uses a storage + # get number of bytes from that + typename = attrs["storage"] + try: + typ = getattr(self.cls, typename) + except AttributeError: + raise XmlError("typo, or forward declaration of type %s" % typename) + numbytes = typ.get_size() + # add stuff to classdict + self.class_dict["_numbytes"] = numbytes + self.class_dict["_enumkeys"] = [] + self.class_dict["_enumvalues"] = [] + for option in enum: + attrs = self.replace_tokens(option.attrib) + if option.tag not in ("option",): + raise XmlError("only option tags allowed in enum declaration, found %s instead" % option.tag) + value = attrs["value"] + try: + # note: use long rather than int to work around 0xffffffff + # error in qskope + value = int(value) + except ValueError: + value = int(value, 16) + self.class_dict["_enumkeys"].append(attrs["name"]) + self.class_dict["_enumvalues"].append(value) + self.create_class(enum.tag) + + def read_alias(self, alias: ET.Element): + """Create an alias class, ie. one that gives access to another class""" + self.update_class_dict(alias.attrib, alias.text) + typename = alias.attrib["type"] + try: + self.base_class = getattr(self.cls, typename) + except AttributeError: + raise XmlError("typo, or forward declaration of type %s" % typename) + self.create_class(alias.tag) + + # the following are helper functions + @staticmethod + def is_generic(attr): + # be backward compatible + return (attr.get("generic") == "true") or (attr.get("istemplate") == "1") + + def update_gamesdict(self, gamesdict, ver_text): + if ver_text: + # update the gamesdict dictionary + for gamestr in (g.strip() for g in ver_text.split(',')): + if gamestr in gamesdict: + gamesdict[gamestr].append(self.cls.versions[self.version_string]) + else: + gamesdict[gamestr] = [self.cls.versions[self.version_string]] + + def update_class_dict(self, attrs, doc_text): + """This initializes class_dict, sets the class name and doc text""" + doc_text = doc_text.strip() if doc_text else "" + self.class_name = attrs["name"] + self.class_dict = {"__doc__": doc_text, "__module__": self.cls.__module__} + + @staticmethod + def update_doc(doc, doc_text): + if doc_text: + doc += doc_text.strip() + + def create_class(self, tag): + """Creates a class for (tag name of the class that was just finished)""" + # assign it to cls. if it has not been implemented internally + + # type(name, bases, dict) returns a new type object, essentially a dynamic form of the class statement + cls_klass = getattr(self.cls, self.class_name, None) + # does the class exist? + if cls_klass: + # do nothing if this is a Basic type + if issubclass(cls_klass, BasicBase): + return + # it has been created in format's __init__.py + # create and add to base class of customizer + gen_klass = type("_" + self.class_name, (self.base_class,), self.class_dict) + setattr(self.cls, "_" + self.class_name, gen_klass) + # recreate the class, to ensure that the metaclass is called!! + # (otherwise, cls_klass does not have correct _attribute_list, etc.) + cls_klass = type(cls_klass.__name__, (gen_klass,) + cls_klass.__bases__, dict(cls_klass.__dict__)) + setattr(self.cls, self.class_name, cls_klass) + # if the class derives from Data, then make an alias + if issubclass(cls_klass, pyffi.object_models.FileFormat.Data): + self.cls.Data = cls_klass + # for the stuff below + gen_klass = cls_klass + else: + # does not yet exist: create it and assign to class dict + gen_klass = type(self.class_name, (self.base_class,), self.class_dict) + setattr(self.cls, self.class_name, gen_klass) + # append class to the appropriate list + if tag in self.struct_types: + self.cls.xml_struct.append(gen_klass) + elif tag in self.bitstruct_types: + self.cls.xml_bit_struct.append(gen_klass) + elif tag == "enum": + self.cls.xml_enum.append(gen_klass) + elif tag == "alias": + self.cls.xml_alias.append(gen_klass) + + def replace_tokens(self, attr_dict): + """Update attr_dict with content of tokens+versions list.""" + # TODO: Versions aren't replaced anymore as they may contain user and bethesda versions as well + for tokens, target_attribs in self.tokens: + # logger.warning("Tokens: %s", self.tokens) + for target_attrib in target_attribs: + # logger.warning("Target Attrib: %s", target_attrib) + if target_attrib in attr_dict: + expr_str = attr_dict[target_attrib] + for op_token, op_str in tokens: + expr_str = expr_str.replace(op_token, op_str) + attr_dict[target_attrib] = expr_str + # additional tokens that are not specified by nif.xml + fixed_tokens = ( + ("\\", "."), (">", ">"), ("<", "<"), ("&", "&"), ("#ARG#", "ARG"), ("#T#", "TEMPLATE")) + for attrib, expr_str in attr_dict.items(): + for op_token, op_str in fixed_tokens: + expr_str = expr_str.replace(op_token, op_str) + attr_dict[attrib] = expr_str + # onlyT & excludeT act as aliases for deprecated cond + prefs = (("onlyT", ""), ("excludeT", "!")) + for t, pref in prefs: + if t in attr_dict: + attr_dict["cond"] = pref + attr_dict[t] + break + return attr_dict + + def final_cleanup(self): + """Called when the xml is completely parsed. + Searches and adds class customized functions. + Fixes forward declaration of templates and adds all primary game versions to main_versions. + """ + # get 'name_attribute' for all classes + # we need this to fix them in cond="..." later + klass_filter = {} + for klass in self.cls.xml_struct: + klass_filter[self.cls.name_attribute(klass.__name__)] = klass + for obj in list(self.cls.__dict__.values()): + # skip objects that are not generated by the C{type} function + # or that do not derive from StructBase + if not (isinstance(obj, type) and issubclass(obj, StructBase)): + continue + # fix templates + for attr in obj._attrs: + templ = attr.template + if isinstance(templ, str): + attr.template = getattr(self.cls, templ) if templ != "TEMPLATE" else type(None) + attrtype = attr.type_ + if isinstance(attrtype, str): + attr.type_ = getattr(self.cls, attrtype) + # fix refs to types in conditions + if attr.cond: + attr.cond.map_(lambda x: klass_filter[x] if x in klass_filter else x) diff --git a/pyffi/object_models/niftoolsxml/array.py b/pyffi/object_models/niftoolsxml/array.py new file mode 100644 index 000000000..1ceba4a03 --- /dev/null +++ b/pyffi/object_models/niftoolsxml/array.py @@ -0,0 +1,443 @@ +""" +:mod:`pyffi.object_models.xml.array` --- Array classes +============================================================== + +Implements class for arrays. + +Implementation +-------------- + +.. autoclass:: Array + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: _ListWrap + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" + +# -------------------------------------------------------------------------- +# ***** BEGIN LICENSE BLOCK ***** +# +# Copyright (c) 2007-2012, Python File Format Interface +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# +# * Neither the name of the Python File Format Interface +# project nor the names of its contributors may be used to endorse +# or promote products derived from this software without specific +# prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# ***** END LICENSE BLOCK ***** +# -------------------------------------------------------------------------- + +# note: some imports are defined at the end to avoid problems with circularity + +import logging +import weakref +from typing import Optional + +from object_models.expression import Expression +from pyffi.object_models.basic import BasicBase +from pyffi.utils.graph import DetailNode, EdgeFilter + + +class _ListWrap(list, DetailNode): + """A wrapper for list, which uses get_value and set_value for + getting and setting items of the basic type.""" + + def __init__(self, element_type, parent=None): + self._parent = weakref.ref(parent) if parent else None + self._elementType = element_type + # we link to the unbound methods (that is, self.__class__.xxx + # instead of self.xxx) to avoid circular references!! + if issubclass(element_type, BasicBase): + self._get_item_hook = self.__class__.get_basic_item + self._set_item_hook = self.__class__.set_basic_item + self._iter_item_hook = self.__class__.iter_basic_item + else: + self._get_item_hook = self.__class__.get_item + self._set_item_hook = self.__class__.set_item # TODO: Why should this work? + self._iter_item_hook = self.__class__.iter_item + + def __getitem__(self, index): + return self._get_item_hook(self, index) + + def __setitem__(self, index, value): + return self._set_item_hook(self, index, value) + + def __iter__(self): + return self._iter_item_hook(self) + + def __contains__(self, value): + # ensure that the "in" operator uses self.__iter__() rather than + # list.__iter__() + for elem in self.__iter__(): + if elem == value: + return True + return False + + def _not_implemented_hook(self, *args): + """A hook for members that are not implemented.""" + raise NotImplementedError + + def iter_basic_item(self): + """Iterator which calls C{get_value()} on all items. Applies when + the list has BasicBase elements.""" + for elem in list.__iter__(self): + yield elem.get_value() + + def iter_item(self): + """Iterator over all items. Applies when the list does not have + BasicBase elements.""" + for elem in list.__iter__(self): + yield elem + + def get_basic_item(self, index): + """Item getter which calls C{get_value()} on the C{index}'d item.""" + return list.__getitem__(self, index).get_value() + + def set_basic_item(self, index, value): + """Item setter which calls C{set_value()} on the C{index}'d item.""" + return list.__getitem__(self, index).set_value(value) + + def get_item(self, index): + """Regular item getter, used when the list does not have BasicBase + elements.""" + return list.__getitem__(self, index) + + def set_item(self, index, value): + """Regular item setter, used when the list does not have BasicBase + elements.""" + return list.__setitem__(self, index, value) + + # DetailNode + + def get_detail_child_nodes(self, edge_filter=EdgeFilter()): + """Yield children.""" + return (item for item in list.__iter__(self)) + + def get_detail_child_names(self, edge_filter=EdgeFilter()): + """Yield child names.""" + return ("[%i]" % row for row in range(list.__len__(self))) + + +class Array(_ListWrap): + """A general purpose class for 1 or 2 dimensional arrays consisting of + either BasicBase or StructBase elements.""" + + logger = logging.getLogger("pyffi.nif.data.array") + arg = None # default argument + + def __init__( + self, + name=None, + element_type=None, + element_type_template=None, + element_type_argument: Optional[Expression] = None, + length=None, width=None, + parent=None, cond=None): + """Initialize the array type. + + :param name: The name of this array, used for error logging and debugging + :param element_type: The class describing the type of each element. + :param element_type_template: If the class takes a template type + argument, then this argument describes the template type. + :param element_type_argument: If the class takes a type argument, then + it is described here. + :param length: An C{Expression} describing the count (first dimension). + :param width: Either ``None``, or an C{Expression} describing the + second dimension count. + :param parent: The parent of this instance, that is, the instance this + array is an attribute of.""" + if width is None: + _ListWrap.__init__(self, + element_type=element_type, parent=parent) + else: + _ListWrap.__init__(self, + element_type=_ListWrap, parent=parent) + self._name = name + self._parent = weakref.ref(parent) if parent else None + self._length = length + self._width = width + self._elementType = element_type + self._elementTypeTemplate = element_type_template + self._elementTypeArgument = element_type_argument + + if cond is None: # TODO: This feels wrong, might break stuff + if self._width is None: + for i in range(self._lengthT()): + elem_instance = self._elementType( + template=self._elementTypeTemplate, + argument=self._elementTypeArgument, + parent=self) + self.append(elem_instance) + else: + for i in range(self._lengthT()): + elem = _ListWrap(element_type=element_type, parent=self) + for j in range(self._widthT(i)): + elem_instance = self._elementType( + template=self._elementTypeTemplate, + argument=self._elementTypeArgument, + parent=elem) + elem.append(elem_instance) + self.append(elem) + + def _lengthT(self): + """The _length the array should have, obtained by evaluating the _length expression.""" + if self._parent is None: + return self._length.eval() + else: + return self._length.eval(self._parent()) + + def _widthT(self, index1): + """The _length the array should have, obtained by evaluating the width expression.""" + if self._width is None: + raise ValueError('single array treated as double array (bug?)') + if self._parent is None: + expr = self._width.eval() + else: + expr = self._width.eval(self._parent()) + if isinstance(expr, int): + return expr + else: + return expr[index1] + + def deepcopy(self, block): + """Copy attributes from a given array which needs to have at least as many elements (possibly more) as self.""" + if self._width is None: + for i in range(self._lengthT()): + attrvalue = self[i] + if isinstance(attrvalue, StructBase): + attrvalue.deepcopy(block[i]) + elif isinstance(attrvalue, Array): + attrvalue.update_size() + attrvalue.deepcopy(block[i]) + else: + self[i] = block[i] + else: + for i in range(self._lengthT()): + for j in range(self._widthT(i)): + attrvalue = self[i][j] + if isinstance(attrvalue, StructBase): + attrvalue.deepcopy(block[i][j]) + elif isinstance(attrvalue, Array): + attrvalue.update_size() + attrvalue.deepcopy(block[i][j]) + else: + self[i][j] = block[i][j] + + # string of the array + def __str__(self): + text = '%s instance at 0x%08X\n' % (self.__class__, id(self)) + if self._width is None: + for i, element in enumerate(list.__iter__(self)): + if i > 16: + text += "etc...\n" + break + text += "%i: %s" % (i, element) + if text[-1:] != "\n": + text += "\n" + else: + k = 0 + for i, elemlist in enumerate(list.__iter__(self)): + for j, elem in enumerate(list.__iter__(elemlist)): + if k > 16: + text += "etc...\n" + break + text += "%i, %i: %s" % (i, j, elem) + if text[-1:] != "\n": + text += "\n" + k += 1 + if k > 16: + break + return text + + def update_size(self): + """Update the array size. Call this function whenever the size + parameters change in C{parent}.""" + ## TODO also update row numbers + old_size = len(self) + new_size = self._lengthT() + if self._width is None: + if new_size < old_size: + del self[new_size:old_size] + else: + for i in range(new_size - old_size): + elem = self._elementType( + template=self._elementTypeTemplate, + argument=self._elementTypeArgument) + self.append(elem) + else: + if new_size < old_size: + del self[new_size:old_size] + else: + for i in range(new_size - old_size): + self.append(_ListWrap(self._elementType)) + for i, elemlist in enumerate(list.__iter__(self)): + old_size_i = len(elemlist) + new_size_i = self._widthT(i) + if new_size_i < old_size_i: + del elemlist[new_size_i:old_size_i] + else: + for j in range(new_size_i - old_size_i): + elem = self._elementType( + template=self._elementTypeTemplate, + argument=self._elementTypeArgument) + elemlist.append(elem) + + def read(self, stream, data): + """Read array from stream.""" + # parse arguments + self._elementTypeArgument = self.arg + + # check array size + len1 = self._lengthT() + self.logger.debug("Reading array of size " + str(len1)) + if len1 > 0x10000000: + raise ValueError('Array %s too long (%i)' % (self._name, len1)) + del self[0:self.__len__()] + + # read array + if self._width is None: + for i in range(len1): + elem = self._elementType( + template=self._elementTypeTemplate, + argument=self._elementTypeArgument, + parent=self) + elem.read(stream, data) + logging.getLogger().warning("Arr Elm [%d]: %s", i, elem) # TODO: DEBUG + self.append(elem) + else: + for i in range(len1): + len2i = self._widthT(i) + if len2i > 0x10000000: + raise ValueError('array too long (%i)' % len2i) + elemlist = _ListWrap(self._elementType, parent=self) + for j in range(len2i): + elem = self._elementType( + template=self._elementTypeTemplate, + argument=self._elementTypeArgument, + parent=elemlist) + elem.read(stream, data) + elemlist.append(elem) + self.append(elemlist) + + def write(self, stream, data): + """Write array to stream.""" + self._elementTypeArgument = self.arg + len1 = self._lengthT() + if len1 != self.__len__(): + raise ValueError('array size (%i) different from to field describing number of elements (%i)' % + (self.__len__(), len1)) + if len1 > 0x10000000: + raise ValueError('array too long (%i)' % len1) + if self._width is None: + for elem in list.__iter__(self): + elem.write(stream, data) + else: + for i, elemlist in enumerate(list.__iter__(self)): + len2i = self._widthT(i) + if len2i != elemlist.__len__(): + raise ValueError("array size (%i) different from to field describing number of elements (%i)" % + (elemlist.__len__(), len2i)) + if len2i > 0x10000000: + raise ValueError('array too long (%i)' % len2i) + for elem in list.__iter__(elemlist): + elem.write(stream, data) + + def fix_links(self, data): + """Fix the links in the array by calling C{fix_links} on all elements + of the array.""" + if not self._elementType._has_links: + return + for elem in self._elementList(): + elem.fix_links(data) + + def get_links(self, data=None): + """Return all links in the array by calling C{get_links} on all elements + of the array.""" + links = [] + if not self._elementType._has_links: + return links + for elem in self._elementList(): + links.extend(elem.get_links(data)) + return links + + def get_strings(self, data): + """Return all strings in the array by calling C{get_strings} on all + elements of the array.""" + strings = [] + if not self._elementType._has_strings: + return strings + for elem in self._elementList(): + strings.extend(elem.get_strings(data)) + return strings + + def get_refs(self, data=None): + """Return all references in the array by calling C{get_refs} on all + elements of the array.""" + links = [] + if not self._elementType._has_links: + return links + for elem in self._elementList(): + links.extend(elem.get_refs(data)) + return links + + def get_size(self, data=None): + """Calculate the sum of the size of all elements in the array.""" + return sum( + (elem.get_size(data) for elem in self._elementList()), 0) + + def get_hash(self, data=None): + """Calculate a hash value for the array, as a tuple.""" + hsh = [] + for elem in self._elementList(): + hsh.append(elem.get_hash(data)) + return tuple(hsh) + + def replace_global_node(self, old_branch, new_branch, **kwargs): + """Calculate a hash value for the array, as a tuple.""" + for elem in self._elementList(): + elem.replace_global_node(old_branch, new_branch, **kwargs) + + def _elementList(self, **kwargs): + """Generator for listing all elements.""" + if self._width is None: + for elem in list.__iter__(self): + yield elem + else: + for elemlist in list.__iter__(self): + for elem in list.__iter__(elemlist): + yield elem + + +from pyffi.object_models.xml.struct_ import StructBase diff --git a/pyffi/object_models/niftoolsxml/bit_struct.py b/pyffi/object_models/niftoolsxml/bit_struct.py new file mode 100644 index 000000000..985e22648 --- /dev/null +++ b/pyffi/object_models/niftoolsxml/bit_struct.py @@ -0,0 +1,503 @@ +""" +:mod:`pyffi.object_models.xml.bit_struct` --- Bit Structured Types +========================================================================== + +Implements base class for bitstruct types. + +Implementation +-------------- + +.. autoclass:: Bits + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: BitStructBase + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: _MetaBitStructBase + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" + +# -------------------------------------------------------------------------- +# ***** BEGIN LICENSE BLOCK ***** +# +# Copyright (c) 2007-2012, Python File Format Interface +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# +# * Neither the name of the Python File Format Interface +# project nor the names of its contributors may be used to endorse +# or promote products derived from this software without specific +# prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# ***** END LICENSE BLOCK ***** +# -------------------------------------------------------------------------- + +# note: some imports are defined at the end to avoid problems with circularity + +import struct +from functools import partial + +from pyffi.object_models.editable import EditableSpinBox # for Bits +from pyffi.utils.graph import DetailNode, EdgeFilter + + +class _MetaBitStructBase(type): + """This metaclass checks for the presence of a _attrs attribute. + For each attribute in _attrs, an property is generated which gets and sets bit fields. + Used as metaclass of BitStructBase.""" + + def __init__(cls, name, bases, dct): + super(_MetaBitStructBase, cls).__init__(name, bases, dct) + # consistency checks + if not '_attrs' in dct: + raise TypeError('%s: missing _attrs attribute' % cls) + if not '_numbytes' in dct: + raise TypeError('%s: missing _numbytes attribute' % cls) + + # check storage type + if cls._numbytes == 1: + cls._struct = 'B' + elif cls._numbytes == 2: + cls._struct = 'H' + elif cls._numbytes == 4: + cls._struct = 'I' + elif cls._numbytes == 8: + cls._struct = 'Q' + else: + raise RuntimeError("unsupported bitstruct numbytes") + + # template type? + cls._is_template = False + # does the type contain a Ref or a Ptr? + cls._has_links = False + # does the type contain a Ref? + cls._has_refs = False + # does the type contain a string? + cls._has_strings = False + for attr in dct['_attrs']: + # get and set basic attributes + setattr(cls, attr.name, property( + partial(BitStructBase.get_attribute, name=attr.name), + partial(BitStructBase.set_attribute, name=attr.name), + doc=attr.doc)) + + # precalculate the attribute list + cls._attribute_list = cls._get_attribute_list() + + # precalculate the attribute name list + cls._names = cls._get_names() + + def __repr__(cls): + return "" % (cls.__name__) + + +class Bits(DetailNode, EditableSpinBox): + """Basic implementation of a n-bit unsigned integer type (without read and write).""" + + def __init__(self, numbits=1, default=0, parent=None): + # parent disabled for performance + # self._parent = weakref.ref(parent) if parent else None + self._value = default + self._numbits = numbits + + def get_value(self): + """Return stored value.""" + return self._value + + def set_value(self, value): + """Set value to C{value}.""" + if not isinstance(value, int): + raise TypeError("bitstruct attribute must be integer") + if value >> self._numbits: + raise ValueError('value out of range (%i)' % value) + self._value = value + + def __str__(self): + return str(self.get_value()) + + # DetailNode + + def get_detail_display(self): + """Return an object that can be used to display the instance.""" + return str(self._value) + + # EditableSpinBox functions + + def get_editor_value(self): + return self.get_value() + + def set_editor_value(self, editorvalue): + self.set_value(editorvalue) + + def get_editor_minimum(self): + return 0 + + def get_editor_maximum(self): + return (1 << self._numbits) - 1 + + +class BitStructBase(DetailNode, metaclass=_MetaBitStructBase): + """Base class from which all file bitstruct types are derived. + + The BitStructBase class implements the basic bitstruct interface: + it will initialize all attributes using the class interface + using the _attrs class variable, represent them as strings, and so on. + The class variable _attrs must be declared every derived class interface. + + Each item in the class _attrs list stores the information about + the attribute as stored for instance in the xml file, and the + __value_ instance variable stores the actual attribute + instance. + + Direct access to the attributes is implemented using a + property which invokes the get_attribute and set_attribute + functions, as demonstrated below. + + See the pyffi.XmlHandler class for a more advanced example. + + >>> from pyffi.object_models.basic import BasicBase + >>> from pyffi.object_models.xml import BitStructAttribute as Attr + >>> class SimpleFormat(object): + ... @staticmethod + ... def name_attribute(name): + ... return name + >>> class Flags(BitStructBase): + ... _numbytes = 1 + ... _attrs = [ + ... Attr(SimpleFormat, dict(name='a', numbits='3')), + ... Attr(SimpleFormat, dict(name='b', numbits='1'))] + >>> SimpleFormat.Flags = Flags + >>> y = Flags() + >>> y.a = 5 + >>> y.b = 1 + >>> print(y) # doctest:+ELLIPSIS + instance at 0x... + * a : 5 + * b : 1 + + >>> y.get_attributes_values(None) + 13 + >>> y.populate_attribute_values(9, None) + >>> print(y) # doctest:+ELLIPSIS + instance at 0x... + * a : 1 + * b : 1 + + """ + + _attrs = [] + _numbytes = 1 # default width of a bitstruct + _games = {} + arg = None # default argument + + # initialize all attributes + def __init__(self, template=None, argument=None, parent=None): + """The constructor takes a tempate: any attribute whose type, + or template type, is type(None) - which corresponds to + TEMPLATE in the xml description - will be replaced by this + type. The argument is what the ARG xml tags will be replaced with. + + :param template: If the class takes a template type + argument, then this argument describes the template type. + :param argument: If the class takes a type argument, then + it is described here. + :param parent: The parent of this instance, that is, the instance this + array is an attribute of.""" + # used to track names of attributes that have already been added + # is faster than self.__dict__.has_key(...) + names = [] + # initialize argument + self.arg = argument + # save parent (note: disabled for performance) + # self._parent = weakref.ref(parent) if parent else None + + # initialize item list + # list is used for instance by qskope to display the structure in a tree view + self._items = [] + # initialize attributes + for attr in self._attribute_list: + # skip attributes with duplicate names + if attr.name in names: + continue + names.append(attr.name) + + # instantiate the integer + if attr.default is not None: + attr_instance = Bits(numbits=attr.numbits, default=attr.default, parent=self) + else: + attr_instance = Bits(numbits=attr.numbits, parent=self) + + # assign attribute value + setattr(self, "_%s_value_" % attr.name, attr_instance) + + # add instance to item list + self._items.append(attr_instance) + + def deepcopy(self, block): + """Copy attributes from a given block (one block class must be a + subclass of the other). Returns self.""" + # check class lineage + if isinstance(self, block.__class__): + attrlist = block._get_filtered_attribute_list() + elif isinstance(block, self.__class__): + attrlist = self._get_filtered_attribute_list() + else: + raise ValueError("deepcopy: classes %s and %s unrelated" + % (self.__class__.__name__, block.__class__.__name__)) + # copy the attributes + for attr in attrlist: + setattr(self, attr.name, getattr(block, attr.name)) + + return self + + def get_value(self): + return int(self) + + def set_value(self, value): # TODO: Make sure this works! + bitpos = 0 + for item in self._items: + item._value |= (value & ((1 << item._numbits) - 1)) << bitpos + bitpos += item._numbits + pass + + # string of all attributes + def __str__(self): + text = '%s instance at 0x%08X\n' % (self.__class__, id(self)) + # used to track names of attributes that have already been added + # is faster than self.__dict__.has_key(...) + for attr in self._get_filtered_attribute_list(): + # append string + attr_str_lines = str( + getattr(self, "_%s_value_" % attr.name)).splitlines() + if len(attr_str_lines) > 1: + text += '* %s :\n' % attr.name + for attr_str in attr_str_lines: + text += ' %s\n' % attr_str + else: + text += '* %s : %s\n' % (attr.name, attr_str_lines[0]) + return text + + def __int__(self): + value = 0 + bitpos = 0 + for item in self._items: + value |= (item._value & ((1 << item._numbits) - 1)) << bitpos + bitpos += item._numbits + return value + + def __and__(self, other): + return 0 if None else self.__int__() & int(other) + + def __or__(self, other): + return 0 if None else self.__int__() | int(other) + + def __lshift__(self, other): + return int(self) << other + + def __rshift__(self, other): + return int(self) >> other + + def read(self, stream, data): + """Read structure from stream.""" + # read all attributes + value = struct.unpack(data._byte_order + self._struct, stream.read(self._numbytes))[0] + + # set the structure variables + self.populate_attribute_values(value, data) + + def populate_attribute_values(self, value, data): + """Set structure values from integer.""" + bitpos = 0 + for attr in self._get_filtered_attribute_list(data): + # print(attr.name) # debug + attrvalue = (value >> bitpos) & ((1 << attr.numbits) - 1) + setattr(self, attr.name, attrvalue) + bitpos += attr.numbits + + def get_attributes_values(self, data): + # implementation note: not defined via __int__ because conversion + # takes arguments + """Get as integer.""" + value = 0 + bitpos = 0 + for attr in self._get_filtered_attribute_list(data): + attrvalue = getattr(self, attr.name) + value |= (attrvalue & ((1 << attr.numbits) - 1)) << bitpos + bitpos += attr.numbits + return value + + def write(self, stream, data): + """Write structure to stream.""" + stream.write(struct.pack(data._byte_order + self._struct, self.get_attributes_values(data))) + + def fix_links(self, data): + """Fix links in the structure.""" + return + + def get_links(self, data=None): + """Get list of all links in the structure.""" + return [] + + def get_strings(self, data): + """Get list of all strings in the structure.""" + return [] + + def get_refs(self, data=None): + """Get list of all references in the structure. Refs are + links that point down the tree. For instance, if you need to parse + the whole tree starting from the root you would use get_refs and not + get_links, as get_links could result in infinite recursion.""" + return [] + + def get_size(self, data=None): + """Calculate the structure size in bytes.""" + return self._numbytes + + def get_hash(self, data=None): + """Calculate a hash for the structure, as a tuple.""" + # calculate hash + hsh = [] + for attr in self._get_filtered_attribute_list(data): + hsh.append(getattr(self, attr.name)) + return tuple(hsh) + + @classmethod + def get_games(cls): + """Get games for which this block is supported.""" + return list(cls._games.keys()) + + @classmethod + def get_versions(cls, game): + """Get versions supported for C{game}.""" + return cls._games[game] + + @classmethod + def _get_attribute_list(cls): + """Calculate the list of all attributes of this structure.""" + # string of attributes of base classes of cls + attrs = [] + for base in cls.__bases__: + try: + attrs.extend(base._get_attribute_list()) + except AttributeError: # when base class is "object" + pass + attrs.extend(cls._attrs) + return attrs + + @classmethod + def _get_names(cls): + """Calculate the list of all attributes names in this structure. + Skips duplicate names.""" + # string of attributes of base classes of cls + names = [] + for attr in cls._attrs: + if attr.name in names: + continue + else: + names.append(attr.name) + return names + + def _get_filtered_attribute_list(self, data=None): + """Generator for listing all 'active' attributes, that is, attributes whose condition evaluates ``True``, + whose version interval contains C{version}, and whose user version is C{user_version}. + ``None`` for C{version} or C{user_version} means that these checks are ignored. + Duplicate names are skipped as well. + + Note: Use data instead of version and user_version (old way will be deprecated).""" + names = [] + if data: + version = data.version + user_version = data.user_version + else: + version = None + user_version = None + for attr in self._attribute_list: + # print(attr.name, version, attr.since, attr.until) # debug + + # check version + if not (version is None): + if (not (attr.since is None)) and version < attr.since: + continue + if (not (attr.until is None)) and version > attr.until: + continue + # print("version check passed") # debug + + # check user version + if not (attr.userver is None or user_version is None) \ + and user_version != attr.userver: + continue + # print("user version check passed") # debug + + # check condition + if not (attr.cond is None) and not attr.cond.eval(self): + continue + # print("condition passed") # debug + + # skip dupiclate names + if attr.name in names: + continue + # print("duplicate check passed") # debug + + names.append(attr.name) + # passed all tests + # so yield the attribute + yield attr + + def get_attribute(self, name): + """Get a basic attribute.""" + return getattr(self, "_" + name + "_value_").get_value() + + # important note: to apply partial(set_attribute, name = 'xyz') the + # name argument must be last + def set_attribute(self, value, name): + """Set the value of a basic attribute.""" + getattr(self, "_" + name + "_value_").set_value(value) + + def tree(self): + """A generator for parsing all blocks in the tree (starting from and + including C{self}). By default, there is no tree structure, so returns + self.""" + # return self + yield self + + # DetailNode + + def get_detail_child_nodes(self, edge_filter=EdgeFilter()): + """Yield children of this structure.""" + return (item for item in self._items) + + def get_detail_child_names(self, edge_filter=EdgeFilter()): + """Yield name of each child.""" + return (name for name in self._names) diff --git a/pyffi/object_models/niftoolsxml/enum.py b/pyffi/object_models/niftoolsxml/enum.py new file mode 100644 index 000000000..01cfdc298 --- /dev/null +++ b/pyffi/object_models/niftoolsxml/enum.py @@ -0,0 +1,231 @@ +""" +:mod:`pyffi.object_models.xml.enum` --- Enumerated Types +================================================================ + +Abstract base class for implementing xml enum types. + +Implementation +-------------- + +.. autoclass:: EnumBase + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: _MetaEnumBase + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" + +# ***** BEGIN LICENSE BLOCK ***** +# +# Copyright (c) 2007-2012, Python File Format Interface +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# +# * Neither the name of the Python File Format Interface +# project nor the names of its contributors may be used to endorse +# or promote products derived from this software without specific +# prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# ***** END LICENSE BLOCK ***** + +import logging +import struct + +from pyffi.object_models.basic import BasicBase +from pyffi.object_models.editable import EditableComboBox + + +class _MetaEnumBase(type): + """This metaclass checks for the presence of _enumkeys, _enumvalues, + and _numbytes attributes. It also adds enum class attributes. + + Used as metaclass of EnumBase.""" + + def __init__(cls, name, bases, dct): + super(_MetaEnumBase, cls).__init__(name, bases, dct) + # consistency checks + if not '_enumkeys' in dct: + raise TypeError('%s: missing _enumkeys attribute' % cls) + if not '_enumvalues' in dct: + raise TypeError('%s: missing _enumvalues attribute' % cls) + if not '_numbytes' in dct: + raise TypeError('%s: missing _numbytes attribute' % cls) + + # check storage type + if cls._numbytes == 1: + cls._struct = 'B' + elif cls._numbytes == 2: + cls._struct = 'H' + elif cls._numbytes == 4: + cls._struct = 'I' + else: + raise RuntimeError("unsupported enum numbytes") + + # template type? + cls._is_template = False + # does the type contain a Ref or a Ptr? + cls._has_links = False + # does the type contain a Ref? + cls._has_refs = False + # does the type contain a string? + cls._has_strings = False + + # for other read/write checking + cls._min = 0 + cls._max = (1 << (cls._numbytes * 8)) - 1 + + # set enum values as class attributes + for item, value in zip(cls._enumkeys, cls._enumvalues): + setattr(cls, item, value) + + def __iter__(cls): + cls.__i = 0 + return cls + + def __next__(cls): + if cls.__i < len(cls._enumvalues): + cls.__i += 1 + return (cls._enumkeys[cls.__i - 1], cls._enumvalues[cls.__i - 1]) + else: + return + + def __getitem__(cls, key): + if key in cls._enumkeys: + index = cls._enumkeys.index(key) + return cls._enumvalues[index] + elif key in cls._enumvalues: + index = cls.enumvalues.index(key) + return cls._enumkeys[index] + else: + raise KeyError(key) + + def __len__(cls): + return len(cls._enumkeys) + + def __repr__(cls): + return "" % cls.__name__ + + def __str__(cls): + returns = "{" + for idx, key in enumerate(cls._enumkeys): + if not idx == 0 and idx <= len(cls._enumkeys) - 1: + returns += ", " + returns += "\"%s\": \"%s\"" % (key, cls._enumvalues[idx]) + returns += "}" + return returns + + +class EnumBase(BasicBase, EditableComboBox, metaclass=_MetaEnumBase): + _enumkeys = [] + _enumvalues = [] + _numbytes = 1 # default width of an enum + + # + # BasicBase methods + # + + def __init__(self, **kwargs): + super(EnumBase, self).__init__(**kwargs) + self._value = self._enumvalues[0] + + def get_value(self): + """Return stored value.""" + return self._value + + def set_value(self, value): + """Set value to C{value}.""" + try: + val = int(value) + except ValueError: + try: + val = int(value, 16) # for '0x...' strings + except ValueError: + if value in self._enumkeys: + val = getattr(self, value) + else: + raise ValueError( + "cannot convert value '%s' to integer" % value) + if not val in self._enumvalues: + logger = logging.getLogger("pyffi.object_models.xml.enum") + logger.error('invalid enum value (%i) for %s' + % (val, self.__class__.__name__)) + else: + self._value = val + + def read(self, stream, data): + """Read value from stream.""" + self._value = struct.unpack(data._byte_order + self._struct, + stream.read(self._numbytes))[0] + + def write(self, stream, data): + """Write value to stream.""" + stream.write(struct.pack(data._byte_order + self._struct, + self._value)) + + def __str__(self): + try: + return self._enumkeys[self._enumvalues.index(self.get_value())] + except ValueError: + # not in _enumvalues list + return "" % self.get_value() + + def get_size(self, data=None): + """Return size of this type.""" + return self._numbytes + + def get_hash(self, data=None): + """Return a hash value for this value.""" + return self.get_value() + + # + # EditableComboBox methods + # + + def get_editor_keys(self): + """List or tuple of strings, each string describing an item.""" + return self._enumkeys + + def set_editor_value(self, index): + """Set value from item index.""" + self.set_value(self._enumvalues[index]) + + def get_editor_value(self): + """Get the item index from the enum value.""" + return self._enumvalues.index(self._value) + + def get_detail_display(self): + """Return object that can be used to display the instance.""" + try: + return self._enumkeys[self._enumvalues.index(self._value)] + except ValueError: + # value self._value is not in the self._enumvalues list + return "" % self._value diff --git a/pyffi/object_models/niftoolsxml/struct_.py b/pyffi/object_models/niftoolsxml/struct_.py new file mode 100644 index 000000000..645d888ec --- /dev/null +++ b/pyffi/object_models/niftoolsxml/struct_.py @@ -0,0 +1,758 @@ +""" +:mod:`pyffi.object_models.xml.struct_` --- Structured Types +=================================================================== + +Implements base class for struct types. + +Implementation +-------------- + +.. autoclass:: StructBase + :show-inheritance: + :members: + :undoc-members: + +.. autoclass:: _MetaStructBase + :show-inheritance: + :members: + :undoc-members: + +.. todo:: Show examples for usage +""" + +# -------------------------------------------------------------------------- +# ***** BEGIN LICENSE BLOCK ***** +# +# Copyright (c) 2007-2012, Python File Format Interface +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# +# * Neither the name of the Python File Format Interface +# project nor the names of its contributors may be used to endorse +# or promote products derived from this software without specific +# prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# ***** END LICENSE BLOCK ***** +# -------------------------------------------------------------------------- + +# note: some imports are defined at the end to avoid problems with circularity + +import logging +from functools import partial +from typing import Optional + +import pyffi.object_models.common +from object_models.expression import Expression +from pyffi.object_models.basic import BasicBase +from pyffi.utils.graph import GlobalNode, EdgeFilter + + +class _MetaStructBase(type): + """This metaclass checks for the presence of _attrs and _is_template + attributes. For each attribute in _attrs, an + property is generated which gets and sets basic types, + and gets other types (struct and array). Used as metaclass of + StructBase.""" + + def __init__(cls, name, bases, dct): + super(_MetaStructBase, cls).__init__(name, bases, dct) + # does the type contain a Ref or a Ptr? + cls._has_links = getattr(cls, '_has_links', False) + # does the type contain a Ref? + cls._has_refs = getattr(cls, '_has_refs', False) + # does the type contain a string? + cls._has_strings = getattr(cls, '_has_strings', False) + for attr in dct.get('_attrs', []): # TODO: HERE IS PART OF THE PROBLEM + # basestring is a forward compound type declaration + # and issubclass must take a type as first argument + # hence this hack + print(attr.name, "Is Basic:", issubclass(attr.type_, BasicBase), "Is Str:", isinstance(attr.type_, str), + "Is Struct:", issubclass(attr.type_, StructBase)) + if not isinstance(attr.type_, str) and \ + issubclass(attr.type_, BasicBase) and attr.length is None: + print(name, "BasicBase", attr) + # get and set basic attributes + setattr(cls, attr.name, property( + partial(StructBase.get_basic_attribute, name=attr.name), + partial(StructBase.set_basic_attribute, name=attr.name), + doc=attr.doc)) + elif not isinstance(attr.type_, str) and \ + issubclass(attr.type_, StructBase) and attr.length is None: + print(name, "StructBase", attr) + # get and set struct attributes + setattr(cls, attr.name, property( + partial(StructBase.get_attribute, name=attr.name), + partial(StructBase.set_attribute, name=attr.name), + doc=attr.doc)) + elif attr.type_ == type(None) and attr.length is None: + print(name, "None", attr) + # get and set template attributes + setattr(cls, attr.name, property( + partial(StructBase.get_template_attribute, name=attr.name), + partial(StructBase.set_template_attribute, name=attr.name), + doc=attr.doc)) + else: + print(name, "Other", attr) + # other types of attributes: get only + setattr(cls, attr.name, property( + partial(StructBase.get_attribute, name=attr.name), + doc=attr.doc)) + + # check for links and refs and strings + if not cls._has_links: + if attr.type_ != type(None): # templates! + # attr.type_ basestring means forward declaration + # we cannot know if it has links, so assume yes + if (isinstance(attr.type_, str) + or attr.type_._has_links): + cls._has_links = True + # else: + # cls._has_links = True + # or false... we can't know at this point... might be necessary + # to uncomment this if template types contain refs + + if not cls._has_refs: + if attr.type_ != type(None): + # attr.type_ basestring means forward declaration + # we cannot know if it has refs, so assume yes + if (isinstance(attr.type_, str) + or attr.type_._has_refs): + cls._has_refs = True + # else: + # cls._has_refs = True # dito, see comment above + + if not cls._has_strings: + if attr.type_ != type(None): + # attr.type_ basestring means forward declaration + # we cannot know if it has strings, so assume yes + if (isinstance(attr.type_, str) + or attr.type_._has_strings): + cls._has_strings = True + else: + # enabled because there is a template key type that has + # strings + cls._has_strings = True + + # precalculate the attribute list + # profiling shows that this speeds up most of the StructBase methods + # that rely on parsing the attribute list + cls._attribute_list = cls._get_attribute_list() + + # precalculate the attribute name list + cls._names = cls._get_names() + + def __repr__(cls): + return "" % cls.__name__ + + +class StructBase(GlobalNode, metaclass=_MetaStructBase): + """Base class from which all file struct types are derived. + + The StructBase class implements the basic struct interface: + it will initialize all attributes using the class interface + using the _attrs class variable, represent them as strings, and so on. + The class variable _attrs must be declared every derived class + interface. + + Each item in the class _attrs list stores the information about + the attribute as stored for instance in the xml file, and the + __value_ instance variable stores the actual attribute + instance. + + Direct access to the attributes is implemented using a + property which invokes the get_attribute and set_attribute + functions, as demonstrated below. + + See the pyffi.XmlHandler class for a more advanced example. + + >>> from pyffi.object_models.basic import BasicBase + >>> from pyffi.object_models.expression import Expression + >>> from pyffi.object_models.xml import StructAttribute as Attr + >>> class SimpleFormat(object): + ... class UInt(BasicBase): + ... _is_template = False + ... def __init__(self, **kwargs): + ... BasicBase.__init__(self, **kwargs) + ... self.__value = 0 + ... def get_value(self): + ... return self.__value + ... def set_value(self, value): + ... self.__value = int(value) + ... @staticmethod + ... def name_attribute(name): + ... return name + >>> class X(StructBase): + ... _is_template = False + ... _attrs = [ + ... Attr(SimpleFormat, dict(name = 'a', type = 'UInt')), + ... Attr(SimpleFormat, dict(name = 'b', type = 'UInt'))] + >>> SimpleFormat.X = X + >>> class Y(X): + ... _is_template = False + ... _attrs = [ + ... Attr(SimpleFormat, dict(name = 'c', type = 'UInt')), + ... Attr(SimpleFormat, dict(name = 'd', type = 'X', cond = 'c == 3'))] + >>> SimpleFormat.Y = Y + >>> y = Y() + >>> y.a = 1 + >>> y.b = 2 + >>> y.c = 3 + >>> y.d.a = 4 + >>> y.d.b = 5 + >>> print(y) # doctest:+ELLIPSIS + instance at 0x... + * a : 1 + * b : 2 + * c : 3 + * d : + instance at 0x... + * a : 4 + * b : 5 + + >>> y.d = 1 + Traceback (most recent call last): + ... + TypeError: expected X but got int + >>> x = X() + >>> x.a = 8 + >>> x.b = 9 + >>> y.d = x + >>> print(y) # doctest:+ELLIPSIS + instance at 0x... + * a : 1 + * b : 2 + * c : 3 + * d : + instance at 0x... + * a : 8 + * b : 9 + + + Attributes: + _attrs (list[pyffi.object_models.niftoolsxml.StructAttribute]): TODO + """ + + _is_template = False + _attrs = [] + _games = {} + arg = None + logger = logging.getLogger("pyffi.nif.data.struct") + + # initialize all attributes + def __init__(self, template=None, argument: Optional[Expression] = None, parent=None): + """The constructor takes a tempate: any attribute whose type, + or template type, is type(None) - which corresponds to + TEMPLATE in the xml description - will be replaced by this + type. The argument is what the ARG xml tags will be replaced with. + + :param template: If the class takes a template type + argument, then this argument describes the template type. + :param argument: If the class takes a type argument, then + it is described here. + :param parent: The parent of this instance, that is, the instance this + array is an attribute of.""" + # used to track names of attributes that have already been added + # is faster than self.__dict__.has_key(...) + names = set() + # initialize argument + self.arg = argument + # save parent (note: disabled for performance) + # self._parent = weakref.ref(parent) if parent else None + # initialize item list + # this list is used for instance by qskope to display the structure + # in a tree view + self._items = [] + self._template = template + + # initialize attributes + for attr in self._attribute_list: # Attributes get replaced on read + # skip attributes with duplicate names + # (for this to work properly, duplicates must have the same + # type, template, argument, length, and width) + if attr.name in names: + continue + names.add(attr.name) + + # things that can only be determined at runtime (rt_xxx) + rt_type = attr.type_ if attr.type_ != type(None) \ + else template + rt_template = attr.template if attr.template != type(None) \ + else template + rt_arg = attr.arg.eval(self) if attr.arg is not None else None + + # instantiate the class, handling arrays at the same time + if attr.length is None: + attr_instance = rt_type( + template=rt_template, argument=rt_arg, + parent=self) + if attr.default is not None: + attr_instance.set_value(attr.default) + elif attr.width is None: + attr_instance = Array( + name=attr.name, + element_type=rt_type, + element_type_template=rt_template, + element_type_argument=rt_arg, + length=attr.length, + parent=self, + cond=attr.cond) + else: + attr_instance = Array( + name=attr.name, + element_type=rt_type, + element_type_template=rt_template, + element_type_argument=rt_arg, + length=attr.length, width=attr.width, + parent=self, + cond=attr.cond) + + # assign attribute value + setattr(self, "_%s_value_" % attr.name, attr_instance) + + # add instance to item list + self._items.append(attr_instance) + + def deepcopy(self, block): + """Copy attributes from a given block (one block class must be a + subclass of the other). Returns self.""" + # check class lineage + if isinstance(self, block.__class__): + attrlist = block._get_filtered_attribute_list() + elif isinstance(block, self.__class__): + attrlist = self._get_filtered_attribute_list() + else: + raise ValueError("deepcopy: classes %s and %s unrelated" + % (self.__class__.__name__, block.__class__.__name__)) + # copy the attributes + for attr in attrlist: + try: + attrvalue = getattr(self, attr.name) + if isinstance(attrvalue, (StructBase, BitStructBase)): + attrvalue.deepcopy(getattr(block, attr.name)) + elif isinstance(attrvalue, Array): + attrvalue.update_size() + attrvalue.deepcopy(getattr(block, attr.name)) + else: + setattr(self, attr.name, getattr(block, attr.name)) + except Exception: + self.logger.error("Failed to set attribute %s in block %s", attr.name, block) + raise + + return self + + # string of all attributes + def __str__(self): + text = '%s instance at 0x%08X\n' % (self.__class__, id(self)) + # used to track names of attributes that have already been added + # is faster than self.__dict__.has_key(...) + for attr in self._get_filtered_attribute_list(): + # append string + attr_str_lines = str( + getattr(self, "_%s_value_" % attr.name, None)).splitlines() + if len(attr_str_lines) > 1: + text += '* %s :\n' % attr.name + for attr_str in attr_str_lines: + text += ' %s\n' % attr_str + elif attr_str_lines: + text += '* %s : %s\n' % (attr.name, attr_str_lines[0]) + else: + # print(getattr(self, "_%s_value_" % attr.name)) + text += '* %s : \n' % attr.name + return text + + def __repr__(self): # TODO: Improve + attrs = [] + + for attr in self._get_filtered_attribute_list(): + attrs.append(f"{attr.name}: {repr(getattr(self, '_%s_value_' % attr.name, None))}") + + return f"<{self.__class__.__name__} {{{', '.join(attrs)}}}>" + + def _log_struct(self, stream, attr): + val = getattr(self, "_%s_value_" % attr.name) # debug + if not isinstance(val, BasicBase): # debug + # TODO: DEBUG + self.logger.warning(val.__class__.__name__ + ":" + attr.name) + self.logger.debug(val.__class__.__name__ + ":" + attr.name) + else: + try: + out = val.get_value() # debug + except Exception: + pass + else: + offset = stream.tell() + hex_ver = "0x%08X" % offset + # TODO: DEBUG + self.logger.warning( + "* {0}.{1} = {2} : type {3} at {4} offset {5} - ".format(self.__class__.__name__, attr.name, + str(out), attr.type_, hex_ver, + offset)) # debug + self.logger.debug( + "* {0}.{1} = {2} : type {3} at {4} offset {5} - ".format(self.__class__.__name__, attr.name, + str(out), attr.type_, hex_ver, + offset)) # debug + + def read(self, stream, data): + """Read structure from stream.""" + if data is not None: # Update the attributes to correlate to the one allowed + self._update_attributes(data) + + # read all attributes + for attr in self._get_filtered_attribute_list(data): + # skip abstract attributes + if attr.is_abstract: + continue + # get attribute argument (can only be done at runtime) + rt_arg = attr.arg.eval(self) if attr.arg is not None else None + # read the attribute + attr_value = getattr(self, "_%s_value_" % attr.name) + attr_value.arg = rt_arg + # if hasattr(attr, "type_"): + # attr_value._elementType = attr.type_ + attr_value.read(stream, data) + self._log_struct(stream, attr) # Log after read, that way we have data after read + + def write(self, stream, data): + """Write structure to stream.""" + # write all attributes + for attr in self._get_filtered_attribute_list(data): + # skip abstract attributes + if attr.is_abstract: + continue + # get attribute argument (can only be done at runtime) + rt_arg = attr.arg.eval(self) if attr.arg is not None else None + # write the attribute + attr_value = getattr(self, "_%s_value_" % attr.name) + attr_value.arg = rt_arg + getattr(self, "_%s_value_" % attr.name).write(stream, data) # TODO: Why the duplicate getattr? + self._log_struct(stream, attr) + + def fix_links(self, data): + """Fix links in the structure.""" + # parse arguments + # fix links in all attributes + for attr in self._get_filtered_attribute_list(data): + # check if there are any links at all, commonly this speeds things up considerably + if not attr.type_._has_links: + continue + self.logger.debug("fixlinks %s" % attr.name) + # fix the links in the attribute + getattr(self, "_%s_value_" % attr.name).fix_links(data) + + def get_links(self, data=None): + """Get list of all links in the structure.""" + # get all links + links = [] + for attr in self._get_filtered_attribute_list(data): + # check if there are any links at all, this speeds things up considerably + if not attr.type_._has_links: + continue + # extend list of links + links.extend( + getattr(self, "_" + attr.name + "_value_").get_links(data)) + # return the list of all links in all attributes + return links + + def get_strings(self, data): + """Get list of all strings in the structure.""" + # get all strings + strings = [] + for attr in self._get_filtered_attribute_list(data): + # check if there are any strings at all, this speeds things up considerably + if (not attr.type_ is type(None)) and (not attr.type_._has_strings): + continue + # extend list of strings + strings.extend( + getattr(self, "_%s_value_" % attr.name).get_strings(data)) + # return the list of all strings in all attributes + return strings + + def get_refs(self, data=None): + """Get list of all references in the structure. Refs are + links that point down the tree. For instance, if you need to parse + the whole tree starting from the root you would use get_refs and not + get_links, as get_links could result in infinite recursion.""" + # get all refs + refs = [] + for attr in self._get_filtered_attribute_list(data): + # check if there are any links at all + # (this speeds things up considerably) + if (attr.type_ is not type(None)) and (not attr.type_._has_links): + continue + # extend list of refs + refs.extend( + getattr(self, "_%s_value_" % attr.name).get_refs(data)) + # return the list of all refs in all attributes + return refs + + def get_size(self, data=None): + """Calculate the structure size in bytes.""" + # calculate size + size = 0 + for attr in self._get_filtered_attribute_list(data): + # skip abstract attributes + if attr.is_abstract: + continue + size += getattr(self, "_%s_value_" % attr.name).get_size(data) + return size + + def get_hash(self, data=None): + """Calculate a hash for the structure, as a tuple.""" + # calculate hash + hsh = [] + for attr in self._get_filtered_attribute_list(data): + hsh.append( + getattr(self, "_%s_value_" % attr.name).get_hash(data)) + return tuple(hsh) + + def replace_global_node(self, oldbranch, newbranch, **kwargs): + for attr in self._get_filtered_attribute_list(): + # check if there are any links at all + # (this speeds things up considerably) + if not attr.type_._has_links: + continue + getattr(self, "_%s_value_" % attr.name).replace_global_node( + oldbranch, newbranch, **kwargs) + + @classmethod + def get_games(cls): + """Get games for which this block is supported.""" + return list(cls._games.keys()) + + @classmethod + def get_versions(cls, game): + """Get versions supported for C{game}.""" + return cls._games[game] + + @classmethod + def _get_attribute_list(cls): + """Calculate the list of all attributes of this structure.""" + # string of attributes of base classes of cls + attrs = [] + for base in cls.__bases__: + try: + attrs.extend(base._get_attribute_list()) + except AttributeError: # when base class is "object" + pass + attrs.extend(cls._attrs) + return attrs + + @classmethod + def _get_names(cls): + """Calculate the list of all attributes names in this structure. + Skips duplicate names.""" + # string of attributes of base classes of cls + names = [] + for base in cls.__bases__: + try: + names.extend(base._get_names()) + except AttributeError: # when base class is "object" + pass + for attr in cls._attrs: + if attr.name in names: + continue + else: + names.append(attr.name) + return names + + def _get_filtered_attribute_list(self, data=None, report_duplicates=False): + """Generator for listing all 'active' attributes, that is, + attributes whose condition evaluates ``True``, whose version + interval contains C{version}, and whose user version is + C{user_version}. ``None`` for C{version} or C{user_version} means + that these checks are ignored. Duplicate names are skipped as + well. + + Note: version and user_version arguments are deprecated, use + the data argument instead. + """ + if data is not None: + version = data.version + user_version = data.user_version + else: + version = None + user_version = None + + names = set() + for attr in self._attribute_list: + # print(attr.name, version, attr.since, attr.until) # debug + + # check version + if version is not None: + if attr.since is not None and version < attr.since: + continue + if attr.until is not None and version > attr.until: + continue + # print("version check passed") # debug + + # check user version + if attr.userver is not None and user_version is not None and user_version != attr.userver: + continue + # print("user version check passed") # debug + + # check conditions + if attr.cond is not None and not attr.cond.eval(self): + continue + + if version is not None and user_version is not None and attr.vercond is not None: + if not attr.vercond.eval(data): + continue + # print("condition passed") # debug + + # skip duplicate names + if attr.name in names: + if report_duplicates: + logging.getLogger().warning("Duplicate attribute %s was found", attr.name) # TODO: More Verbose + continue + names.add(attr.name) + # print("duplicate check passed") # debug + + # passed all tests + # so yield the attribute + yield attr + + def get_attribute(self, name): + """Get a (non-basic) attribute.""" + return getattr(self, "_" + name + "_value_") + + # important note: to apply partial(set_attribute, name = 'xyz') the + # name argument must be last + def set_attribute(self, value, name): + """Set a (non-basic) attribute.""" + # check class + attr = getattr(self, "_" + name + "_value_") + if attr.__class__ is not value.__class__: + raise TypeError("expected %s but got %s" + % (attr.__class__.__name__, + value.__class__.__name__)) + # set it + setattr(self, "_" + name + "_value_", value) + + def get_basic_attribute(self, name): + """Get a basic attribute.""" + return getattr(self, "_" + name + "_value_").get_value() + + # important note: to apply partial(set_attribute, name = 'xyz') the + # name argument must be last + def set_basic_attribute(self, value, name): + """Set the value of a basic attribute.""" + getattr(self, "_" + name + "_value_").set_value(value) + + def get_template_attribute(self, name): + """Get a template attribute.""" + try: + return self.get_basic_attribute(name) + except AttributeError: + return self.get_attribute(name) + + # important note: to apply partial(set_attribute, name = 'xyz') the + # name argument must be last + def set_template_attribute(self, value, name): + """Set the value of a template attribute.""" + try: + self.set_basic_attribute(value, name) + except AttributeError: + self.set_attribute(value, name) + + def tree(self): + """A generator for parsing all blocks in the tree (starting from and + including C{self}). By default, there is no tree structure, so returns + self.""" + # return self + yield self + + def update_version(self, data): # TODO: Hook into Data to be updated on version change + """ + + :param data: + :return: + """ + self._update_attributes(data) + + def _update_attributes(self, data): + logger = logging.getLogger() + for attr in self._get_filtered_attribute_list(data, True): + # things that can only be determined at runtime (rt_xxx) + rt_type = attr.type_ if attr.type_ != type(None) else self._template + rt_template = attr.template if attr.template != type(None) else self._template + rt_arg = attr.arg.eval(self) if attr.arg is not None else None + + # instantiate the class, handling arrays at the same time + if attr.length is None: + attr_instance = rt_type( + template=rt_template, argument=rt_arg, + parent=self) + if attr.default is not None: + attr_instance.set_value(attr.default) + elif attr.width is None: + attr_instance = Array( + name=attr.name, + element_type=rt_type, + element_type_template=rt_template, + element_type_argument=rt_arg, + length=attr.length, + parent=self) + else: + attr_instance = Array( + name=attr.name, + element_type=rt_type, + element_type_template=rt_template, + element_type_argument=rt_arg, + length=attr.length, width=attr.width, + parent=self) + + # assign attribute value + setattr(self, "_%s_value_" % attr.name, attr_instance) + + # add instance to item list + self._items.append(attr_instance) + + # DetailNode + + def get_detail_child_nodes(self, edge_filter=EdgeFilter()): + """Yield children of this structure.""" + return (item for item in self._items) + + def get_detail_child_names(self, edge_filter=EdgeFilter()): + """Yield names of the children of this structure.""" + return (name for name in self._names) + + # GlobalNode + + def get_global_display(self): + """Construct a convenient name for the block itself.""" + return (pyffi.object_models.common._as_str(self.name) + if hasattr(self, "name") else "") + + def get_global_child_nodes(self, edge_filter=EdgeFilter()): + # TODO replace get_refs with a generator as well + for branch in self.get_refs(): + yield branch + + +from pyffi.object_models.niftoolsxml.array import Array +from pyffi.object_models.niftoolsxml import BitStructBase diff --git a/pyffi/spells/nif/check.py b/pyffi/spells/nif/check.py index 6d54a9a7a..e4dd165a2 100644 --- a/pyffi/spells/nif/check.py +++ b/pyffi/spells/nif/check.py @@ -304,12 +304,12 @@ def branchentry(self, branch): return True else: self.toaster.msg("getting rigid body mass, center, and inertia") - mass = branch.mass - center = branch.center.get_copy() - inertia = branch.inertia.get_copy() + mass = branch.rigid_body_info.mass + center = branch.rigid_body_info.center.get_copy() + inertia = branch.rigid_body_info.inertia_tensor.get_copy() # TODO: intertia has been renamed self.toaster.msg("recalculating...") - branch.update_mass_center_inertia(mass=branch.mass) + branch.update_mass_center_inertia(mass=branch.rigid_body_info.mass) # self.toaster.msg("checking mass...") # if mass != branch.mass: @@ -325,30 +325,30 @@ def branchentry(self, branch): self.toaster.msg("checking center...") report = {} - if center != branch.center: + if center != branch.rigid_body_info.center: # raise ValueError("center does not match; original %s, calculated %s"%(center, branch.center)) self.toaster.logger.warn( "center does not match; original %s, calculated %s" - % (center, branch.center)) + % (center, branch.rigid_body_info.center)) report["center"] = { "orig": center.as_tuple(), - "calc": branch.center.as_tuple(), + "calc": branch.rigid_body_info.center.as_tuple(), } self.toaster.msg("checking inertia...") - scale = max(max(abs(x) for x in row) for row in inertia.as_list() + branch.inertia.as_list()) + scale = max(max(abs(x) for x in row) for row in inertia.as_list() + branch.rigid_body_info.inertia_tensor.as_list()) if (max(max(abs(x - y) for x, y in zip(row1, row2)) - for row1, row2 in zip(inertia.as_list(), branch.inertia.as_list())) + for row1, row2 in zip(inertia.as_list(), branch.rigid_body_info.inertia_tensor.as_list())) > 0.1 * scale): # raise ValueError("center does not match; original %s, calculated %s"%(center, branch.center)) self.toaster.logger.warn( "inertia does not match:\n\noriginal\n%s\n\ncalculated\n%s\n" - % (inertia, branch.inertia)) + % (inertia, branch.rigid_body_info.inertia)) report["inertia"] = { "orig": inertia.as_tuple(), - "calc": branch.inertia.as_tuple(), + "calc": branch.rigid_body_info.inertia_tensor.as_tuple(), } if report: self.append_report(report) @@ -386,10 +386,10 @@ def branchentry(self, branch): report = {} self.toaster.msg("getting bounding sphere") center = NifFormat.Vector3() - center.x = branch.center.x - center.y = branch.center.y - center.z = branch.center.z - radius = branch.radius + center.x = branch.bounding_sphere.center.x + center.y = branch.bounding_sphere.center.y + center.z = branch.bounding_sphere.center.z + radius = branch.bounding_sphere.radius self.toaster.msg("checking that all vertices are inside") maxr = 0.0 @@ -412,21 +412,21 @@ def branchentry(self, branch): branch.update_center_radius() self.toaster.msg("comparing old and new spheres") - if center != branch.center: + if center != branch.bounding_sphere.center: self.toaster.logger.warn( "center does not match; original %s, calculated %s" - % (center, branch.center)) + % (center, branch.bounding_sphere.center)) report["center"] = { "orig": center.as_tuple(), - "calc": branch.center.as_tuple(), + "calc": branch.bounding_sphere.center.as_tuple(), } - if abs(radius - branch.radius) > NifFormat.EPSILON: + if abs(radius - branch.bounding_sphere.radius) > NifFormat.EPSILON: self.toaster.logger.warn( "radius does not match; original %s, calculated %s" - % (radius, branch.radius)) + % (radius, branch.bounding_sphere.radius)) report["radius"] = { "orig": radius, - "calc": branch.radius, + "calc": branch.bounding_sphere.radius, } if report: self.append_report(report) @@ -814,7 +814,7 @@ class SpellCheckVersion(pyffi.spells.nif.NifSpell): def toastentry(cls, toaster): toaster.versions = {} # counts number of nifs with version toaster.user_versions = {} # tracks used user version's per version - toaster.user_version_2s = {} # tracks used user version2's per version + toaster.bs_versions = {} # tracks used user version2's per version return True @classmethod @@ -823,28 +823,28 @@ def toastexit(cls, toaster): toaster.msgblockbegin("version 0x%08X" % version) toaster.msg("number of nifs: %s" % toaster.versions[version]) toaster.msg("user version: %s" % toaster.user_versions[version]) - toaster.msg("user version2: %s" % toaster.user_version_2s[version]) + toaster.msg("user version2: %s" % toaster.bs_versions[version]) toaster.msgblockend() def datainspect(self): # some shortcuts version = self.data.version user_version = self.data.user_version - user_version_2 = self.data.user_version_2 + bs_version = self.data.bs_version # report self.toaster.msg("version 0x%08X" % version) self.toaster.msg("user version %i" % user_version) - self.toaster.msg("user version %i" % user_version_2) + self.toaster.msg("user version %i" % bs_version) # update stats if version not in self.toaster.versions: self.toaster.versions[version] = 0 self.toaster.user_versions[version] = [] - self.toaster.user_version_2s[version] = [] + self.toaster.bs_versions[version] = [] self.toaster.versions[version] += 1 if user_version not in self.toaster.user_versions[version]: self.toaster.user_versions[version].append(user_version) - if user_version_2 not in self.toaster.user_version_2s[version]: - self.toaster.user_version_2s[version].append(user_version_2) + if bs_version not in self.toaster.bs_versions[version]: + self.toaster.bs_versions[version].append(bs_version) return False diff --git a/pyffi/spells/nif/dump.py b/pyffi/spells/nif/dump.py index c737281f1..5c1a7b6f3 100644 --- a/pyffi/spells/nif/dump.py +++ b/pyffi/spells/nif/dump.py @@ -66,7 +66,7 @@ def dumpArray(arr): :return: String describing the array. """ text = "" - if arr._count2 == None: + if arr._width == None: for i, element in enumerate(list.__iter__(arr)): if i > 16: text += "etc...\n" @@ -512,8 +512,8 @@ def dataentry(self): self.print_("n_data.version = %s" % hex(self.data.version)) if self.data.user_version: self.print_("n_data.user_version = %s" % self.data.user_version) - if self.data.user_version_2: - self.print_("n_data.user_version_2 = %s" % self.data.user_version_2) + if self.data.bs_version: + self.print_("n_data.bs_version = %s" % self.data.bs_version) if self.data.modification: self.print_("n_data.modification = %s" % repr(self.data.modification)) self.print_("n_create_blocks(n_data)") diff --git a/pyffi/spells/nif/fix.py b/pyffi/spells/nif/fix.py index ad85d95dc..1471eceaa 100644 --- a/pyffi/spells/nif/fix.py +++ b/pyffi/spells/nif/fix.py @@ -585,7 +585,7 @@ def branchentry(self, branch): >>> seq.string_palette = NifFormat.NiStringPalette() >>> block = seq.add_controlled_block() >>> block.string_palette = seq.string_palette - >>> block.set_variable_1("there") + >>> block.set_controller_id("there") >>> block.set_node_name("hello") >>> block.string_palette.palette.add_string("test") 12 @@ -596,7 +596,7 @@ def branchentry(self, branch): False >>> seq.string_palette.palette.get_all_strings() [b'hello', b'there'] - >>> block.get_variable_1() + >>> block.get_controller_id() b'there' >>> block.get_node_name() b'hello' @@ -633,8 +633,8 @@ def branchentry(self, branch): block.node_name = self.substitute(block.get_node_name()) block.property_type = self.substitute(block.get_property_type()) block.controller_type = self.substitute(block.get_controller_type()) - block.variable_1 = self.substitute(block.get_variable_1()) - block.variable_2 = self.substitute(block.get_variable_2()) + block.controller_id = self.substitute(block.get_controller_id()) + block.interpolator_id = self.substitute(block.get_interpolator_id()) # ensure single string palette for all controlled blocks block.string_palette = string_palette # ensure single string palette for all controller sequences @@ -647,8 +647,8 @@ def branchentry(self, branch): block.set_node_name(block.node_name) block.set_property_type(block.property_type) block.set_controller_type(block.controller_type) - block.set_variable_1(block.variable_1) - block.set_variable_2(block.variable_2) + block.set_controller_id(block.controller_id) + block.set_interpolator_id(block.interpolator_id) self.changed = True # do not recurse further return False @@ -687,7 +687,7 @@ def branchentry(self, branch): >>> seq.string_palette = NifFormat.NiStringPalette() >>> block = seq.add_controlled_block() >>> block.string_palette = seq.string_palette - >>> block.set_variable_1("there") + >>> block.set_controller_id("there") >>> block.set_node_name("hello") >>> block.string_palette.palette.add_string("test") 12 @@ -697,9 +697,9 @@ def branchentry(self, branch): -1 >>> block.controller_type_offset -1 - >>> block.variable_1_offset + >>> block.controller_id_offset 0 - >>> block.variable_2_offset + >>> block.interpolator_id_offset -1 >>> block.get_node_name() b'hello' @@ -707,9 +707,9 @@ def branchentry(self, branch): b'' >>> block.get_controller_type() b'' - >>> block.get_variable_1() + >>> block.get_controller_id() b'there' - >>> block.get_variable_2() + >>> block.get_interpolator_id() b'' >>> SpellFixFallout3StringOffsets().branchentry(seq) pyffi.toaster:INFO:updating empty links @@ -723,9 +723,9 @@ def branchentry(self, branch): 16 >>> block.controller_type_offset 16 - >>> block.variable_1_offset + >>> block.controller_id_offset 0 - >>> block.variable_2_offset + >>> block.interpolator_id_offset 16 >>> block.get_node_name() b'hello' @@ -735,9 +735,9 @@ def branchentry(self, branch): >>> block.get_controller_type() pyffi.nif.stringpalette:WARNING:StringPalette: no string starts at offset 16 (string is b'', preceeding character is b't') b'' - >>> block.get_variable_1() + >>> block.get_controller_id() b'there' - >>> block.get_variable_2() + >>> block.get_interpolator_id() pyffi.nif.stringpalette:WARNING:StringPalette: no string starts at offset 16 (string is b'', preceeding character is b't') b'' """ @@ -757,7 +757,7 @@ def branchentry(self, branch): for block in branch.controlled_blocks: for attr in ( "node_name", "property_type", "controller_type", - "variable_1", "variable_2"): + "controller_id", "interpolator_id"): attr_offset = attr + "_offset" offset = getattr(block, attr_offset) if offset == -1: diff --git a/pyffi/spells/nif/modify.py b/pyffi/spells/nif/modify.py index e07c662e1..de08ace86 100644 --- a/pyffi/spells/nif/modify.py +++ b/pyffi/spells/nif/modify.py @@ -1285,7 +1285,7 @@ def branchentry(self, branch): if node_name in old_bone_data: self.changed = True block.interpolator, block.controller, block.priority, block.string_palette, block.node_name_offset, block.controller_type_offset = \ - old_bone_data[node_name] + old_bone_data[node_name] # and then reverse x movements (since otherwise the movement of f.e. an arm towards the center of the body will be still in the same direction but away from the body if not block.interpolator: continue ip = block.interpolator diff --git a/pyffi/spells/nif/optimize.py b/pyffi/spells/nif/optimize.py index c387ac034..7b27633b2 100644 --- a/pyffi/spells/nif/optimize.py +++ b/pyffi/spells/nif/optimize.py @@ -256,7 +256,7 @@ def optimize_vertices(self, data): return unique_map( vhash for i, vhash in enumerate(data.get_vertex_hash_generator( - vertexprecision=self.VERTEXPRECISION, + vertex_precision=self.VERTEXPRECISION, normalprecision=self.NORMALPRECISION, uvprecision=self.UVPRECISION, vcolprecision=self.VCOLPRECISION))) @@ -511,7 +511,7 @@ def branchentry(self, branch): # recalculate tangent space (only if the branch already exists) if (branch.find(block_name=b'Tangent space (binormal & tangent vectors)', block_type=NifFormat.NiBinaryExtraData) - or (data.num_uv_sets & 61440) or (data.extra_vectors_flags & 16)): + or data.data_flags.num_uv_sets or data.bs_data_flags.has_tangents): # TODO: was these renames correct? self.toaster.msg("recalculating tangent space") branch.update_tangent_space() @@ -867,14 +867,14 @@ def get_box_shape(self, shape): # material has a bad value, this sometimes happens pass boxshape.radius = 0.1 - boxshape.unknown_8_bytes[0] = 0x6b - boxshape.unknown_8_bytes[1] = 0xee - boxshape.unknown_8_bytes[2] = 0x43 - boxshape.unknown_8_bytes[3] = 0x40 - boxshape.unknown_8_bytes[4] = 0x3a - boxshape.unknown_8_bytes[5] = 0xef - boxshape.unknown_8_bytes[6] = 0x8e - boxshape.unknown_8_bytes[7] = 0x3e + boxshape.unused_01[0] = 0x6b + boxshape.unused_01[1] = 0xee + boxshape.unused_01[2] = 0x43 + boxshape.unused_01[3] = 0x40 + boxshape.unused_01[4] = 0x3a + boxshape.unused_01[5] = 0xef + boxshape.unused_01[6] = 0x8e + boxshape.unused_01[7] = 0x3e # check translation mid = [min_[i] + 0.5 * size[i] for i in range(3)] if sum(abs(mid[i]) for i in range(3)) < 1e-6: @@ -984,7 +984,7 @@ def optimize_mopp(self, mopp): % subshape_index) v_map, v_map_inverse = unique_map( shape.get_vertex_hash_generator( - vertexprecision=self.VERTEXPRECISION, + vertex_precision=self.VERTEXPRECISION, subshape_index=subshape_index)) self.toaster.msg( _("(num vertices in collision shape was %i and is now %i)") @@ -1086,7 +1086,7 @@ def branchentry(self, branch): return False elif (isinstance(branch, NifFormat.bhkRigidBody) and isinstance(branch.shape, NifFormat.bhkNiTriStripsShape)): - if branch.havok_col_filter.layer == NifFormat.OblivionLayer.CLUTTER: + if branch.havok_filter.layer == NifFormat.OblivionLayer.OL_CLUTTER: # packed collisions do not work for clutter # so skip it # see issue #3194017 reported by Gratis_monsta @@ -1106,7 +1106,7 @@ def branchentry(self, branch): NifFormat.bhkPackedNiTriStripsShape)): # packed collision without mopp # add a mopp to it if it is static - if any(sub_shape.havok_col_filter.layer != 1 + if any(sub_shape.havok_filter.layer != 1 for sub_shape in branch.shape.get_sub_shapes()): # no mopps for non-static objects return False @@ -1116,14 +1116,14 @@ def branchentry(self, branch): self.data.replace_global_node(branch.shape, mopp) mopp.shape = shape mopp.material = shape.get_sub_shapes()[0].material - mopp.unknown_8_bytes[0] = 160 - mopp.unknown_8_bytes[1] = 13 - mopp.unknown_8_bytes[2] = 75 - mopp.unknown_8_bytes[3] = 1 - mopp.unknown_8_bytes[4] = 192 - mopp.unknown_8_bytes[5] = 207 - mopp.unknown_8_bytes[6] = 144 - mopp.unknown_8_bytes[7] = 11 + mopp.unused_01[0] = 160 + mopp.unused_01[1] = 13 + mopp.unused_01[2] = 75 + mopp.unused_01[3] = 1 + mopp.unused_01[4] = 192 + mopp.unused_01[5] = 207 + mopp.unused_01[6] = 144 + mopp.unused_01[7] = 11 mopp.unknown_float = 1.0 mopp.update_mopp_welding() # call branchentry again in order to optimize the mopp diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index 54e4ad14e..2fd40951a 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -1,8 +1,8 @@ check-manifest coveralls nose -pdbpp +# pdbpp pyflakes -pytest==3.6 +pytest==7.2.1 pytest-cov wheel \ No newline at end of file diff --git a/requirements/requirements-docs.txt b/requirements/requirements-docs.txt index 8d25e30c2..4d724ca8d 100644 --- a/requirements/requirements-docs.txt +++ b/requirements/requirements-docs.txt @@ -1,2 +1,2 @@ -sphinx>=2.0.0 +sphinx>=6.0.0 niftools_sphinx_theme>=0.3.3 \ No newline at end of file diff --git a/requirements/requirements.txt b/requirements/requirements.txt index e69de29bb..86c871ed7 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -0,0 +1 @@ +lxml \ No newline at end of file diff --git a/scripts/nif/nifmakehsl.py b/scripts/nif/nifmakehsl.py index 80c7be1d2..ff6cf4761 100644 --- a/scripts/nif/nifmakehsl.py +++ b/scripts/nif/nifmakehsl.py @@ -156,13 +156,13 @@ def write_struct(cls, ver, hsl_types, f, template): f.write('struct ' + cls.__name__ + ' {\n') else: f.write('struct ' + cls.__name__ + '_' + template.__name__ + ' {\n') - # for attrname, typ, default, tmpl, arg, arr1, arr2, cond, ver1, ver2, userver, doc in cls._attribute_list: + # for attrname, typ, default, tmpl, arg, length, width, cond, since, until, userver, doc in cls._attribute_list: for attr in cls._attribute_list: # check version if not (ver is None): - if (not (attr.ver1 is None)) and ver < attr.ver1: + if (not (attr.since is None)) and ver < attr.since: continue - if (not (attr.ver2 is None)) and ver > attr.ver2: + if (not (attr.until is None)) and ver > attr.until: continue s = ' ' @@ -184,7 +184,7 @@ def write_struct(cls, ver, hsl_types, f, template): # get the attribute template type name if (not rt_template is None) and (not issubclass(rt_type, NifFormat.Ref)): s += '_' - s += rt_template.__name__ # note: basic types are named by their xml name in the template + s += rt_template.__name__ # note: basic types are named by their niftoolsxml name in the template # attribute name s = s.ljust(20) + ' ' + sanitize_attrname(attr.name) # array and conditional arguments @@ -192,22 +192,22 @@ def write_struct(cls, ver, hsl_types, f, template): comments = '' if not attr.cond is None: # catch argument passing and double arrays - if (str(attr.cond).find('arg') == -1) and (attr.arr2 is None): + if (str(attr.cond).find('arg') == -1) and (attr.width is None): if attr.cond._op is None or (attr.cond._op == '!=' and attr.cond._right == 0): arr_str += sanitize_attrname(str(attr.cond._left)) else: comments += ' (' + sanitize_attrname(str(attr.cond)) + ')' else: comments += ' (' + sanitize_attrname(str(attr.cond)) + ')' - if attr.arr1 is None: + if attr._length is None: pass - elif attr.arr2 is None: - if str(attr.arr1).find('arg') == -1: # catch argument passing + elif attr.width is None: + if str(attr._length).find('arg') == -1: # catch argument passing if arr_str: arr_str += ' * ' - arr_str += sanitize_attrname(str(attr.arr1._left)) - if attr.arr1._op: - comments += ' [' + sanitize_attrname(str(attr.arr1)) + ']' + arr_str += sanitize_attrname(str(attr._length._left)) + if attr._length._op: + comments += ' [' + sanitize_attrname(str(attr._length)) + ']' else: if arr_str: arr_str += ' * ' @@ -217,9 +217,9 @@ def write_struct(cls, ver, hsl_types, f, template): # TODO catch args here too (so far not used anywhere in nif.xml) if arr_str: arr_str += ' * ' - arr_str += sanitize_attrname(str(attr.arr1._left)) + ' * ' + sanitize_attrname(str(attr.arr2._left)) - if attr.arr1._op or attr.arr2._op: - comments += ' [' + sanitize_attrname(str(attr.arr1)) + ' * ' + sanitize_attrname(str(attr.arr2)) + ']' + arr_str += sanitize_attrname(str(attr._length._left)) + ' * ' + sanitize_attrname(str(attr.width._left)) + if attr._length._op or attr.width._op: + comments += ' [' + sanitize_attrname(str(attr._length)) + ' * ' + sanitize_attrname(str(attr.width)) + ']' arr_str = '[' + arr_str + ']' if arr_str else '' comments = ' //' + comments if comments else '' f.write(s + arr_str + ';' + comments + '\n') @@ -231,7 +231,7 @@ def write_struct(cls, ver, hsl_types, f, template): # list all types used as a template templates = find_templates() # write out hex structure library for each nif version - for ver_str, ver in list(NifFormat.versions.items()): + for ver_str, ver in list(NifFormat.versions_num.items()): f = open('nif_' + ver_str.replace('.', '_') + '.hsl', 'w') try: write_hsl(f, ver, templates) diff --git a/setup.py b/setup.py index dc1ac166d..f9a665fdc 100644 --- a/setup.py +++ b/setup.py @@ -13,6 +13,7 @@ 'pyffi', 'pyffi.object_models', 'pyffi.object_models.mex', + 'pyffi.object_models.niftoolsxml', 'pyffi.object_models.xml', 'pyffi.object_models.xsd', 'pyffi.utils', diff --git a/tests/object_model/test_expression.py b/tests/object_model/test_expression.py index 54bf09ebc..a0af62599 100644 --- a/tests/object_model/test_expression.py +++ b/tests/object_model/test_expression.py @@ -57,6 +57,10 @@ def test_expression_operators(self): assert not bool(Expression('!((1 <= 2) && (2 <= 3))').eval()) assert bool(Expression('(1 <= 2) && (2 <= 3) && (3 <= 4)').eval()) + def test_bitwise_operators(self): + assert Expression('0xFF000000 >> 18').eval() == 16320 + assert Expression('0x000000FF << 4').eval() == 4080 + def test_implicit_cast(self): self.a.x = B() assert Expression('x * 10').eval(self.a) == 70 diff --git a/tests/test_doctests.py b/tests/test_doctests.py index 2f12c8afb..85601f237 100644 --- a/tests/test_doctests.py +++ b/tests/test_doctests.py @@ -29,6 +29,10 @@ import pyffi.object_models.xml.bit_struct import pyffi.object_models.xml.enum import pyffi.object_models.xml.struct_ +import pyffi.object_models.niftoolsxml +import pyffi.object_models.niftoolsxml.bit_struct +import pyffi.object_models.niftoolsxml.enum +import pyffi.object_models.niftoolsxml.struct_ import pyffi.spells import pyffi.spells.nif import pyffi.spells.nif.check From 7560702ff61cee7bc5fe6ce7563a7f03e9740cee Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Wed, 1 Feb 2023 10:37:53 +0200 Subject: [PATCH 09/18] Convert BitStructAttribute to dataclass Remove some comments Add some comments Add test for niftoolsxml bitstructattribute --- pyffi/formats/nif/__init__.py | 4 - pyffi/object_models/expression.py | 2 +- pyffi/object_models/niftoolsxml/__init__.py | 109 +++++++++++------- pyffi/object_models/niftoolsxml/struct_.py | 9 +- .../niftoolsxml/test_niftools_bit_struct.py | 49 ++++++++ 5 files changed, 120 insertions(+), 53 deletions(-) create mode 100644 tests/object_model/niftoolsxml/test_niftools_bit_struct.py diff --git a/pyffi/formats/nif/__init__.py b/pyffi/formats/nif/__init__.py index 3249c0df4..3b18448e9 100644 --- a/pyffi/formats/nif/__init__.py +++ b/pyffi/formats/nif/__init__.py @@ -374,10 +374,6 @@ from pyffi.utils.graph import EdgeFilter from pyffi.utils.mathutils import * # XXX todo get rid of from XXX import * -# TODO: HERE IS THE PROBLEM -# https://github.com/niftools/nifxml/blob/develop/nif.xml#L3466 -# NiAVObject contains two Flags, one uint and one ushort. PyFFI is only reading the uint and not the ushort - # TODO: Things have been renamed, must figure out what! class NifFormat(NifToolsFileFormat): diff --git a/pyffi/object_models/expression.py b/pyffi/object_models/expression.py index ef95138fe..83a793fdb 100644 --- a/pyffi/object_models/expression.py +++ b/pyffi/object_models/expression.py @@ -59,7 +59,7 @@ import re -class Expression(object): # TODO: Check if this can handle sub vars A.x.y +class Expression(object): """This class represents an expression. >>> class A(object): diff --git a/pyffi/object_models/niftoolsxml/__init__.py b/pyffi/object_models/niftoolsxml/__init__.py index 2d05a70a6..c34f16307 100644 --- a/pyffi/object_models/niftoolsxml/__init__.py +++ b/pyffi/object_models/niftoolsxml/__init__.py @@ -101,18 +101,17 @@ # # ***** END LICENSE BLOCK ***** -import dataclasses import logging import re import time # for timing stuff import typing from typing import Callable, Optional, List, Tuple - +from dataclasses import dataclass, field # import xml.etree.ElementTree as ET import lxml.etree as ET import pyffi.object_models -from object_models.expression import Expression +from pyffi.object_models.expression import Expression from pyffi.object_models.basic import BasicBase from pyffi.object_models.niftoolsxml.bit_struct import BitStructBase from pyffi.object_models.niftoolsxml.enum import EnumBase @@ -120,7 +119,7 @@ main_games = re.compile("(?<={{)[^{}]+(?=}})") logger = logging.getLogger("pyffi.object_models.xml") -default_list = dataclasses.field(default_factory=list) +default_list = field(default_factory=list) def skip(_element: ET.Element): @@ -198,14 +197,14 @@ class NifToolsFileFormat(pyffi.object_models.FileFormat, metaclass=MetaFileForma xml_struct = [] -@dataclasses.dataclass +@dataclass class StructAttribute: """Helper class to collect attribute data of struct add tags. Attributes: displayname (str): The name of this member variable - name (str): TODO - type_: TODO + name (str): The name of this member variable converted for use as a python variable + type_: The type of this attribute default: The default value template: The template type of this member variable arg (Optional[Expression]): The argument of this member variable @@ -322,40 +321,64 @@ def create(clz, cls, attrs): return clz(**params) -class BitStructAttribute(object): - """Helper class to collect attribute data of bitstruct bits tags.""" +@dataclass +class BitStructAttribute: + """Helper class to collect attribute data of bitstruct bits tags. + + Attributes: + name: The name of this variable + numbits: Total number of bits used + default: The default value + cond: An expression to check if value can be used + since: The version where this started existing + until: The version where this existed until + userver: The user version applicable for this attribute + doc: The doc string of this attribute""" + name: str + numbits: int + default: Optional[int] + cond: Optional[Expression] + since: Optional[int] + until: Optional[int] + userver: Optional[int] + doc: Optional[str] - def __init__(self, cls, attrs): + @classmethod + def create(cls, clazz, attrs): """Initialize attribute from the xml attrs dictionary of an add tag. - :param cls: The class where all types reside. + :param clazz: The class where all types reside. :param attrs: The xml add tag attribute dictionary.""" - # mandatory parameters - self.name = cls.name_attribute(attrs["name"]) - self.numbits = int(cls.name_attribute(attrs["numbits"])) - # optional parameters - self.default = attrs.get("default") - self.cond = attrs.get("cond") - self.since = attrs.get("since") - self.until = attrs.get("until") - self.userver = attrs.get("userver") - self.doc = "" # handled in xml parser's characters function + params = { + # mandatory parameters + "name": clazz.name_attribute(attrs["name"]), + "numbits": int(clazz.name_attribute(attrs["numbits"])), + # optional parameters + "default": attrs.get("default"), + "cond": attrs.get("cond"), + "since": attrs.get("since"), + "until": attrs.get("until"), + "userver": attrs.get("userver"), + "doc": "" + } # post-processing - if self.default: - self.default = int(self.default) - if self.cond: - self.cond = Expression(self.cond, cls.name_attribute) - if self.userver: - self.userver = int(self.userver) - if self.since: - self.since = cls.version_number(self.since) - if self.until: - self.until = cls.version_number(self.until) - - -@dataclasses.dataclass + if params["default"]: + params["default"] = int(params["default"]) + if params["cond"]: + params["cond"] = Expression(params["cond"], clazz.name_attribute) + if params["userver"]: + params["userver"] = int(params["userver"]) + if params["since"]: + params["since"] = clazz.version_number(params["since"]) + if params["until"]: + params["until"] = clazz.version_number(params["until"]) + + return cls(**params) + + +@dataclass class Version: """A dataclass for Versions, all versions must have an ID and version num""" id: str @@ -365,23 +388,23 @@ class Version: function from the relative FileFormat subclass.""" games: List[str] """A list of games which use this version. The primary versions of games is stored by TODO: THIS SHIT""" - supported: bool = dataclasses.field(default_factory=lambda: True) + supported: bool = field(default_factory=lambda: True) """This is false if this version is not fully supported by the xml""" - user: Optional[List[int]] = dataclasses.field(default_factory=list) + user: Optional[List[int]] = field(default_factory=list) """The custom User Version(s) for a specific Version from a game/developer.""" - bsver: Optional[List[int]] = dataclasses.field(default_factory=list) + bsver: Optional[List[int]] = field(default_factory=list) """The custom Bethesda Version(s) for a specific Version and User Version.""" - custom: bool = dataclasses.field(default_factory=lambda: False) + custom: bool = field(default_factory=lambda: False) """True when version contains extensions to the format not originating from Gamebryo.""" - ext: Optional[List[str]] = dataclasses.field(default_factory=list) + ext: Optional[List[str]] = field(default_factory=list) """Any custom NIF extensions associated with this version.""" -@dataclasses.dataclass +@dataclass class Module: name: str priority: int - depends: Optional[List[str]] = dataclasses.field(default_factory=list()) + depends: Optional[List[str]] = field(default_factory=list()) class XmlError(Exception): @@ -577,7 +600,7 @@ def read_bitstruct(self, bitstruct: ET.Element): raise XmlError("values of bitflags must be increasing") if numextrabits > 0: reserved = dict(name="Reserved Bits %i" % len(self.class_dict["_attrs"]), numbits=numextrabits) - self.class_dict["_attrs"].append(BitStructAttribute(self.cls, reserved)) + self.class_dict["_attrs"].append(BitStructAttribute.create(self.cls, reserved)) # add the actual attribute bit_attrs = dict(name=attrs["name"], numbits=1) # new nif xml @@ -586,7 +609,7 @@ def read_bitstruct(self, bitstruct: ET.Element): else: raise XmlError("only bits tags allowed in struct type declaration") - self.class_dict["_attrs"].append(BitStructAttribute(self.cls, bit_attrs)) + self.class_dict["_attrs"].append(BitStructAttribute.create(self.cls, bit_attrs)) self.update_doc(self.class_dict["_attrs"][-1].doc, member.text) self.create_class(bitstruct.tag) diff --git a/pyffi/object_models/niftoolsxml/struct_.py b/pyffi/object_models/niftoolsxml/struct_.py index 645d888ec..d0c32f7cc 100644 --- a/pyffi/object_models/niftoolsxml/struct_.py +++ b/pyffi/object_models/niftoolsxml/struct_.py @@ -501,7 +501,7 @@ def get_refs(self, data=None): for attr in self._get_filtered_attribute_list(data): # check if there are any links at all # (this speeds things up considerably) - if (attr.type_ is not type(None)) and (not attr.type_._has_links): + if attr.type_ is not type(None) and not attr.type_._has_links: continue # extend list of refs refs.extend( @@ -693,9 +693,9 @@ def update_version(self, data): # TODO: Hook into Data to be updated on version """ self._update_attributes(data) - def _update_attributes(self, data): + def _update_attributes(self, data): # TODO: Only replace different attributes and convert in between logger = logging.getLogger() - for attr in self._get_filtered_attribute_list(data, True): + for attr in self._get_filtered_attribute_list(data, report_duplicates=True): # things that can only be determined at runtime (rt_xxx) rt_type = attr.type_ if attr.type_ != type(None) else self._template rt_template = attr.template if attr.template != type(None) else self._template @@ -745,8 +745,7 @@ def get_detail_child_names(self, edge_filter=EdgeFilter()): def get_global_display(self): """Construct a convenient name for the block itself.""" - return (pyffi.object_models.common._as_str(self.name) - if hasattr(self, "name") else "") + return pyffi.object_models.common._as_str(self.name) if hasattr(self, "name") else "" def get_global_child_nodes(self, edge_filter=EdgeFilter()): # TODO replace get_refs with a generator as well diff --git a/tests/object_model/niftoolsxml/test_niftools_bit_struct.py b/tests/object_model/niftoolsxml/test_niftools_bit_struct.py new file mode 100644 index 000000000..8fbf750cc --- /dev/null +++ b/tests/object_model/niftoolsxml/test_niftools_bit_struct.py @@ -0,0 +1,49 @@ +import unittest + +from nose.tools import assert_equals, assert_true + +from pyffi.object_models.niftoolsxml import BitStructAttribute as Attr +from pyffi.object_models.niftoolsxml.bit_struct import BitStructBase + + +class SimpleFormat(object): + @staticmethod + def name_attribute(name): + return name + + +class Flags(BitStructBase): + _numbytes = 1 + _attrs = [Attr.create(SimpleFormat, dict(name='a', numbits='3')), + Attr.create(SimpleFormat, dict(name='b', numbits='1'))] + + +SimpleFormat.Flags = Flags + + +class TestBitStruct(unittest.TestCase): + + def setUp(self): + self.y = Flags() + + def test_value_population(self): + self.y.populate_attribute_values(9, None) # b1001 + assert_equals(self.y.a, 1) + assert_equals(self.y.b, 1) + + def test_attributes(self): + self.y.populate_attribute_values(13, None) + assert_true(len(self.y._names), 2) + assert_true(self.y._names, ('a', 'b')) + assert_true(self.y._a_value_, 5) + assert_true(self.y._b_value_, 5) + + def test_get_value(self): + self.y.a = 5 + self.y.b = 1 + assert_equals(self.y.get_attributes_values(None), 13) + + def test_int_cast(self): + self.y.populate_attribute_values(13, None) + assert_true(len(self.y._items), 2) + assert_equals(int(self.y), 13) From d509a422c2d4a908bf0440858defbf2ddd24e240 Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Thu, 2 Feb 2023 10:45:56 +0200 Subject: [PATCH 10/18] Remove some prints Add update_version to NifFormat.Data that updates all block versions Skip attributes that haven't changed --- pyffi/formats/nif/__init__.py | 35 ++++++++++++++++++---- pyffi/object_models/niftoolsxml/struct_.py | 25 +++++++++------- pyffi/utils/__init__.py | 10 +++++++ 3 files changed, 55 insertions(+), 15 deletions(-) diff --git a/pyffi/formats/nif/__init__.py b/pyffi/formats/nif/__init__.py index 3b18448e9..c5eae511f 100644 --- a/pyffi/formats/nif/__init__.py +++ b/pyffi/formats/nif/__init__.py @@ -366,11 +366,13 @@ import pyffi.utils.quickhull import pyffi.utils.tristrip import pyffi.utils.vertex_cache + from pyffi.object_models.basic import BasicBase # XXX convert the following to absolute imports from pyffi.object_models.editable import EditableBoolComboBox -from pyffi.object_models.niftoolsxml import NifToolsFileFormat +from pyffi.object_models.niftoolsxml import NifToolsFileFormat, Version from pyffi.object_models.xml.struct_ import StructBase +from pyffi.utils import get_single from pyffi.utils.graph import EdgeFilter from pyffi.utils.mathutils import * # XXX todo get rid of from XXX import * @@ -405,7 +407,7 @@ class NifFormat(NifToolsFileFormat): uint = pyffi.object_models.common.UInt uint64 = pyffi.object_models.common.UInt64 byte = pyffi.object_models.common.UByte # not a typo - # normbyte = pyffi.object_models.common.NormByte + # normbyte = pyffi.object_models.common.NormByte # TODO: I actually don't know how a 1 byte float is implemented normbyte = pyffi.object_models.common.UByte char = pyffi.object_models.common.Char short = pyffi.object_models.common.Short @@ -1100,6 +1102,7 @@ class Data(pyffi.object_models.FileFormat.Data): :type modification: ``str`` """ + logger = logging.getLogger("pyffi.nif.data") _link_stack = None _block_dct = None _string_list = None @@ -1149,24 +1152,39 @@ def __init__(self, version=0x04000002, user_version=0, bs_version=0): def _getVersion(self): return self._version_value_.get_value() - def _setVersion(self, value): + def _setVersion(self, value, skip_attrs_update=False): self._version_value_.set_value(value) + if not skip_attrs_update: + self._update_block_attrs() def _getUserVersion(self): return self._user_version_value_.get_value() - def _setUserVersion(self, value): + def _setUserVersion(self, value, skip_attrs_update=False): self._user_version_value_.set_value(value) + if not skip_attrs_update: + self._update_block_attrs() def _getBSVersion(self): return self._bs_version_value_.get_value() - def _setBSVersion(self, value): + def _setBSVersion(self, value, skip_attrs_update=False): self._bs_version_value_.set_value(value) + if not skip_attrs_update: + self._update_block_attrs() def _getBSHeader(self): # TODO: Why return self.header.bs_header + def set_version(self, version: Version, skip_attrs_update=False): + self._setVersion(version.num, skip_attrs_update=True) + if version.user: + self._setUserVersion(get_single(version.user), skip_attrs_update=True) + if version.bsver: + self._setBSVersion(get_single(version.bsver), skip_attrs_update=True) + if not skip_attrs_update: + self._update_block_attrs() + version = property(_getVersion, _setVersion) user_version = property(_getUserVersion, _setUserVersion) bs_version = property(_getBSVersion, _setBSVersion) @@ -1626,6 +1644,13 @@ def _blockChildBeforeParent(block): self._makeBlockList( child, block_index_dct, block_type_list, block_type_dct) + def _update_block_attrs(self): + for block in self.blocks: + try: + block.update_version(self) + except AttributeError: + self.logger.warning("%s doesn't support version updates", block) + # extensions of generated structures class Footer: diff --git a/pyffi/object_models/niftoolsxml/struct_.py b/pyffi/object_models/niftoolsxml/struct_.py index d0c32f7cc..62f96a6cf 100644 --- a/pyffi/object_models/niftoolsxml/struct_.py +++ b/pyffi/object_models/niftoolsxml/struct_.py @@ -66,8 +66,8 @@ from typing import Optional import pyffi.object_models.common -from object_models.expression import Expression from pyffi.object_models.basic import BasicBase +from pyffi.object_models.expression import Expression from pyffi.utils.graph import GlobalNode, EdgeFilter @@ -86,15 +86,13 @@ def __init__(cls, name, bases, dct): cls._has_refs = getattr(cls, '_has_refs', False) # does the type contain a string? cls._has_strings = getattr(cls, '_has_strings', False) - for attr in dct.get('_attrs', []): # TODO: HERE IS PART OF THE PROBLEM + + for attr in dct.get('_attrs', []): # basestring is a forward compound type declaration # and issubclass must take a type as first argument # hence this hack - print(attr.name, "Is Basic:", issubclass(attr.type_, BasicBase), "Is Str:", isinstance(attr.type_, str), - "Is Struct:", issubclass(attr.type_, StructBase)) if not isinstance(attr.type_, str) and \ issubclass(attr.type_, BasicBase) and attr.length is None: - print(name, "BasicBase", attr) # get and set basic attributes setattr(cls, attr.name, property( partial(StructBase.get_basic_attribute, name=attr.name), @@ -102,21 +100,18 @@ def __init__(cls, name, bases, dct): doc=attr.doc)) elif not isinstance(attr.type_, str) and \ issubclass(attr.type_, StructBase) and attr.length is None: - print(name, "StructBase", attr) # get and set struct attributes setattr(cls, attr.name, property( partial(StructBase.get_attribute, name=attr.name), partial(StructBase.set_attribute, name=attr.name), doc=attr.doc)) elif attr.type_ == type(None) and attr.length is None: - print(name, "None", attr) # get and set template attributes setattr(cls, attr.name, property( partial(StructBase.get_template_attribute, name=attr.name), partial(StructBase.set_template_attribute, name=attr.name), doc=attr.doc)) else: - print(name, "Other", attr) # other types of attributes: get only setattr(cls, attr.name, property( partial(StructBase.get_attribute, name=attr.name), @@ -685,7 +680,7 @@ def tree(self): # return self yield self - def update_version(self, data): # TODO: Hook into Data to be updated on version change + def update_version(self, data): """ :param data: @@ -693,8 +688,11 @@ def update_version(self, data): # TODO: Hook into Data to be updated on version """ self._update_attributes(data) + @staticmethod + def _is_same_attr_type(attr_inst, attr): + return attr_inst is not None and type(attr) is type(attr_inst) + def _update_attributes(self, data): # TODO: Only replace different attributes and convert in between - logger = logging.getLogger() for attr in self._get_filtered_attribute_list(data, report_duplicates=True): # things that can only be determined at runtime (rt_xxx) rt_type = attr.type_ if attr.type_ != type(None) else self._template @@ -725,6 +723,13 @@ def _update_attributes(self, data): # TODO: Only replace different attributes a length=attr.length, width=attr.width, parent=self) + orig_attr_inst = getattr(self, "_%s_value_" % attr.name, None) + if orig_attr_inst is not None: + if self._is_same_attr_type(orig_attr_inst, attr_instance): + continue + else: + pass # TODO: Look into converting previous values + # assign attribute value setattr(self, "_%s_value_" % attr.name, attr_instance) diff --git a/pyffi/utils/__init__.py b/pyffi/utils/__init__.py index 86613201e..2a071d2f2 100644 --- a/pyffi/utils/__init__.py +++ b/pyffi/utils/__init__.py @@ -170,6 +170,16 @@ def unique_map(hash_generator): return hash_map, hash_map_inverse +def get_single(val): + if isinstance(val, str): + return val + try: + iter(val) + return val[0] + except TypeError: + return val + + if __name__ == '__main__': import doctest From affd88cb5b62408e08c9d0a584682f005db979b4 Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Fri, 3 Feb 2023 14:35:33 +0200 Subject: [PATCH 11/18] Add Expression support for int and scientific notation Also added relative tests --- pyffi/object_models/expression.py | 27 +++++++++++++-- pyffi/utils/__init__.py | 11 +++++++ tests/object_model/test_expression.py | 47 ++++++++++++++++++++++++--- 3 files changed, 77 insertions(+), 8 deletions(-) diff --git a/pyffi/object_models/expression.py b/pyffi/object_models/expression.py index 83a793fdb..9dfde90ee 100644 --- a/pyffi/object_models/expression.py +++ b/pyffi/object_models/expression.py @@ -58,6 +58,10 @@ import logging import re +from pyffi.utils import parse_scientific_notation + +scientific_notation = re.compile("[-+]?[\d]+\.?[\d]*[Ee](?:[-+]?[\d]+)?") + class Expression(object): """This class represents an expression. @@ -131,6 +135,8 @@ def eval(self, data=None): elif isinstance(self._right, str): if (not self._right) or self._right == '""': right = "" + elif self._right.lower() in ["infinity", "inf"]: + right = float("inf") else: right = getattr(data, self._right) elif isinstance(self._right, type): @@ -205,11 +211,17 @@ def _parse(cls, expr_str, name_filter=None): if not expr_str: # empty string return None + srch = scientific_notation.search(expr_str) + if srch is not None and len(srch[0]) == len(expr_str): + return int(parse_scientific_notation(expr_str)) # We don't have float support so convert to int # brackets or operators => expression if ("(" in expr_str) or (")" in expr_str): return Expression(expr_str, name_filter) for op in cls.operators: - if expr_str.find(op) != -1: + pos = expr_str.find(op) + if pos != -1: + if srch is not None and srch.pos < pos < len(srch[0]): + continue return Expression(expr_str, name_filter) # try to convert it to an integer if expr_str.startswith("0x"): @@ -235,6 +247,8 @@ def _parse(cls, expr_str, name_filter=None): # (where a dot separates components) if expr_str == "#ARG#": return "arg" + if expr_str == "infinity": + return float("inf") if name_filter is None: name_filter = lambda x: x return '.'.join(name_filter(comp) for comp in expr_str.split(".")) @@ -252,6 +266,8 @@ def _partition(cls, expr_str): ('a== b', '&&', '( b!=c)||d') >>> Expression._partition('!(1 <= 2)') ('', '!', '(1 <= 2)') + >>> Expression._partition('3.402823466e+38') + ('3.402823466e+38', '', '') >>> Expression._partition('') ('', '', '') """ @@ -292,9 +308,14 @@ def _partition(cls, expr_str): else: raise ValueError("expression syntax error: expected operator at '%s'" % expr_str[op_startpos:]) else: + sci_not_search = scientific_notation.search(expr_str) + start = len(sci_not_search[0]) if sci_not_search is not None and sci_not_search.pos == 0 else 0 + if start == len(expr_str): + start = start - 1 # it's not... so we need to scan for the first operator - for op_startpos, ch in enumerate(expr_str): - if ch == ' ': continue + for op_startpos, ch in enumerate(expr_str, start=start): + if ch == ' ': + continue if ch == '(' or ch == ')': raise ValueError("expression syntax error: expected operator before '%s'" % expr_str[op_startpos:]) # to avoid confusion between && and &, and || and |, diff --git a/pyffi/utils/__init__.py b/pyffi/utils/__init__.py index 2a071d2f2..12c2c396a 100644 --- a/pyffi/utils/__init__.py +++ b/pyffi/utils/__init__.py @@ -42,8 +42,11 @@ # ***** END LICENSE BLOCK ***** import os +import re from distutils.cmd import Command +sci_not = re.compile("([-+]?\d+\.?\d*)[Ee]([-+]?\d+)?") + class BuildDoc(Command): # pragma: no cover """ @@ -180,6 +183,14 @@ def get_single(val): return val +def parse_scientific_notation(string: str): + match = sci_not.match(string) + if match: + val = float(match[1]) + exp = pow(10, int(match[2])) + return val * exp + + if __name__ == '__main__': import doctest diff --git a/tests/object_model/test_expression.py b/tests/object_model/test_expression.py index a0af62599..92af64833 100644 --- a/tests/object_model/test_expression.py +++ b/tests/object_model/test_expression.py @@ -2,6 +2,7 @@ import pytest from pyffi.object_models.expression import Expression +from nose.tools import assert_almost_equal class Z(object): @@ -26,7 +27,6 @@ def __mul__(self, other): class TestExpression(unittest.TestCase): - def setUp(self): self.a = A() @@ -64,12 +64,17 @@ def test_bitwise_operators(self): def test_implicit_cast(self): self.a.x = B() assert Expression('x * 10').eval(self.a) == 70 - + def test_nested_attributes(self): assert bool(Expression("z.a == 1").eval(self.a)) assert bool(Expression("z.b == 2").eval(self.a)) assert bool(Expression("z.c == 3").eval(self.a)) + def test_scientific_notation(self): + assert Expression("3.402823466e+9").eval() == 3402823466 + assert Expression("3.402823466e+9 + 360").eval() == 3402823826 + assert_almost_equal(Expression("3.402823466e+9 / 12").eval(), 283568622.1666667) + class TestPartition: def test_partition_empty(self): @@ -100,10 +105,42 @@ def test_partition_right_uninary_op(self): assert Expression._partition('!(1 <= 2)') == ('', '!', '(1 <= 2)') def test_partition_not_eq(self): - assert Expression._partition('(a | b)!=(b&c)') == ('a | b', '!=', 'b&c') + assert Expression._partition('(a | b)!=(b&c)') == ('a | b', '!=', 'b&c') + + def test_partition_scrambled(self): + assert Expression._partition('(a== b) &&(( b!=c)||d )') == ('a== b', '&&', '( b!=c)||d') + + def test_partition_scientific_notation(self): + assert Expression._partition('3.402823466e+9') == ('3.402823466e+9', '', '') + assert Expression._partition('3.402823466e+9 + 360') == ('3.402823466e+9', '+', '360') + assert Expression._partition('(3.402823466e+9 * 2) + (3.402823466e+9 * 2)') == ('3.402823466e+9 * 2', '+', '3.402823466e+9 * 2') + + +class TestParse: + def test_parse_empty(self): + assert Expression._parse("") is None + + def test_parse_brackets(self): + assert isinstance(Expression._parse("(12 - 12)"), Expression) + + def test_parse_scientific_notation(self): + assert Expression._parse("3.402823466e+9") == 3402823466 + + def test_parse_operators(self): + assert isinstance(Expression._parse("12 - 12"), Expression) + + def test_parse_int(self): + assert Expression._parse("0xFF00") == 0xFF00 + assert Expression._parse("1000") == 1000 + + def test_parse_version(self): + assert Expression._parse("20.2.0.7") == 335675399 + + def test_parse_arg_token(self): + assert Expression._parse("#ARG#") == "arg" - def test_partition_left_trim2eletricboogaloo(self): # TODO: Had a duplicate name, give an appropriate one - assert Expression._partition('(a== b) &&(( b!=c)||d )') == ('a== b', '&&', '( b!=c)||d') + def test_parse_attributes(self): + assert Expression._parse("a.b.c") == "a.b.c" class TestBraces: From f8547a0491fc115d24c2fbe2d193e21b1dc33d7d Mon Sep 17 00:00:00 2001 From: Tagan Hoyle Date: Fri, 3 Feb 2023 16:44:11 +0200 Subject: [PATCH 12/18] Test game specific nif files Currently Skyrim SE is failing due to reaching end of file --- tests/formats/nif/files/CREDITS.txt | 21 +++++ tests/formats/nif/files/fallout3_switch.nif | Bin 0 -> 48085 bytes .../nif/files/fallout4_refrigerator.nif | Bin 0 -> 71069 bytes tests/formats/nif/files/falloutnv_goldbar.nif | Bin 0 -> 8604 bytes ...layerHouse_KitchenRefrigeratorWhite01.BGSM | Bin 0 -> 459 bytes .../formats/nif/files/morrowind_mossyrock.nif | Bin 0 -> 66914 bytes tests/formats/nif/files/oblivion_chair.nif | Bin 0 -> 242719 bytes tests/formats/nif/files/skyrim_cookiechip.nif | Bin 0 -> 25282 bytes .../formats/nif/files/skyrimse_cookiechip.nif | Bin 0 -> 15605 bytes .../textures/ClutterNew/Furniture/Bronze1.dds | Bin 0 -> 699192 bytes .../ClutterNew/Furniture/Bronze1Leaf.dds | Bin 0 -> 174904 bytes .../ClutterNew/Furniture/Bronze1Leaf_n.dds | Bin 0 -> 174904 bytes .../ClutterNew/Furniture/Bronze1_n.dds | Bin 0 -> 699192 bytes .../textures/ClutterNew/Furniture/Bronze2.dds | Bin 0 -> 699192 bytes .../ClutterNew/Furniture/Bronze2_n.dds | Bin 0 -> 699192 bytes .../ClutterNew/Furniture/Fabric05_1.dds | Bin 0 -> 174904 bytes .../ClutterNew/Furniture/Fabric05_n.dds | Bin 0 -> 349680 bytes .../textures/ClutterNew/Furniture/Wood16.dds | Bin 0 -> 174904 bytes .../ClutterNew/Furniture/Wood16_n.dds | Bin 0 -> 174904 bytes ...ayerHouse_KitchenRefrigeratorWhite01_d.dds | Bin 0 -> 5592580 bytes .../files/textures/clutter/junk/GoldBarGD.dds | Bin 0 -> 699192 bytes .../textures/clutter/junk/GoldBarGD_N.dds | Bin 0 -> 1398256 bytes .../textures/clutter/junk/GoldBarGD_m.dds | Bin 0 -> 1398256 bytes .../nif/files/textures/kv/sweets/roll_d.dds | Bin 0 -> 5592560 bytes .../nif/files/textures/kv/sweets/roll_n.dds | Bin 0 -> 1398256 bytes .../nif/files/textures/odinml/lightswitch.dds | Bin 0 -> 174904 bytes .../files/textures/odinml/lightswitch_n.dds | Bin 0 -> 87536 bytes .../textures/tx_merp_mirkwood_stone01.dds | Bin 0 -> 699192 bytes tests/formats/nif/test_games.py | 88 ++++++++++++++++++ 29 files changed, 109 insertions(+) create mode 100644 tests/formats/nif/files/CREDITS.txt create mode 100644 tests/formats/nif/files/fallout3_switch.nif create mode 100644 tests/formats/nif/files/fallout4_refrigerator.nif create mode 100644 tests/formats/nif/files/falloutnv_goldbar.nif create mode 100644 tests/formats/nif/files/materials/Setdressing/PlayerHouse+/PlayerHouse_KitchenRefrigeratorWhite01.BGSM create mode 100644 tests/formats/nif/files/morrowind_mossyrock.nif create mode 100644 tests/formats/nif/files/oblivion_chair.nif create mode 100644 tests/formats/nif/files/skyrim_cookiechip.nif create mode 100644 tests/formats/nif/files/skyrimse_cookiechip.nif create mode 100644 tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze1.dds create mode 100644 tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze1Leaf.dds create mode 100644 tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze1Leaf_n.dds create mode 100644 tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze1_n.dds create mode 100644 tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze2.dds create mode 100644 tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze2_n.dds create mode 100644 tests/formats/nif/files/textures/ClutterNew/Furniture/Fabric05_1.dds create mode 100644 tests/formats/nif/files/textures/ClutterNew/Furniture/Fabric05_n.dds create mode 100644 tests/formats/nif/files/textures/ClutterNew/Furniture/Wood16.dds create mode 100644 tests/formats/nif/files/textures/ClutterNew/Furniture/Wood16_n.dds create mode 100644 tests/formats/nif/files/textures/Setdressing/PlayerHouse+/PlayerHouse_KitchenRefrigeratorWhite01_d.dds create mode 100644 tests/formats/nif/files/textures/clutter/junk/GoldBarGD.dds create mode 100644 tests/formats/nif/files/textures/clutter/junk/GoldBarGD_N.dds create mode 100644 tests/formats/nif/files/textures/clutter/junk/GoldBarGD_m.dds create mode 100644 tests/formats/nif/files/textures/kv/sweets/roll_d.dds create mode 100644 tests/formats/nif/files/textures/kv/sweets/roll_n.dds create mode 100644 tests/formats/nif/files/textures/odinml/lightswitch.dds create mode 100644 tests/formats/nif/files/textures/odinml/lightswitch_n.dds create mode 100644 tests/formats/nif/files/textures/tx_merp_mirkwood_stone01.dds create mode 100644 tests/formats/nif/test_games.py diff --git a/tests/formats/nif/files/CREDITS.txt b/tests/formats/nif/files/CREDITS.txt new file mode 100644 index 000000000..59163802e --- /dev/null +++ b/tests/formats/nif/files/CREDITS.txt @@ -0,0 +1,21 @@ +fallout3_switch: Animated Light Switch by odin_ml +- https://www.nexusmods.com/fallout3/mods/12677 + +fallout4_refigerator: Full Clean Kitchen Set (Modder's Resource) by ScottyX2 +- https://www.nexusmods.com/fallout4/mods/44751 + +falloutnv_goldbar: Gold Bars Modders Resource V2 by lordinquisitor +- https://www.nexusmods.com/newvegas/mods/40766 + +morrowind_mossyrock: Mossy Rocks by Calenfair +- https://www.nexusmods.com/morrowind/mods/46244 + +oblivion_chair: Ancient Elven Furniture for modders by css0101 +- https://www.nexusmods.com/oblivion/mods/27797 + +skyrim_cookiechip: Sweets and Such - Modders Resource LE by CatPancake +- https://www.nexusmods.com/skyrim/mods/114141 + + +skyrimse_cookiechip: Sweets and Such - Modders Resource SE by CatPancake +- https://www.nexusmods.com/skyrimspecialedition/mods/80782 diff --git a/tests/formats/nif/files/fallout3_switch.nif b/tests/formats/nif/files/fallout3_switch.nif new file mode 100644 index 0000000000000000000000000000000000000000..e7b36272c1eac7d5f322d9eaa6caf9ca3b193bd1 GIT binary patch literal 48085 zcmeIb2YeI9);2y%F<^R!&`htP*ph66t+nYrfawsxfH4Maz&P|GI)q-5&_d|dR7;{- zD@sV{y<;Hs9$E<1e9zg{h|vNe-22`4z5o9g@ssD7XU{ov=FFMd**!rs1)X5phjp z!(;k%fuHY0bLdpVB6@!l5z{Fmx5~Q}>cqrF#P;ghBRsBWY-Z0(p}+FE1{2{J^!auHn5R$QfL0(6d*ss(qWrMntG=290eJ6&cmJYR}FCTvF8#uqYZY z%{v+aWY1%#@G!D{D-*hY=&M@4px!)WlUq{FW^MMS=d zjR=c~<3STTp;4hddUXxwx}xQVJ@u9ulUNFtlBHs)nHNi=e$#s3bjY0aECb8PGO^4o z3(Lx~vFt1d%L$YVI5&{Dz!KK3cYxQFXY?(LZ*_dT;#&;g%R)(G`Z4|ru64$@Ailrg z8-QlYQ*scXebDM3{YYe_}3Mpb=K)T^9lCJ=-n)4KvYDJ&KNvY zD`xbj&c{Y{?m;8^(X^yQibPh$sA3f>rAEC^TzG68H53ukITebpdPT$#U#&;aJ`of$ zookr%F{&#R7T#iI-%O~9rYrlB7dqXp;W3?isPprK7b;hzB|>-U!=xVs)emBh)M7|3 zhV)`c9*TtcvB+YLu@BWX?kzrKiw1^1glSfB+Z3Mq_;TrC!`{9f_7;RDLQx}e>I9kU zf%1J(Z&nn1X_pMiee9DCGQ4}V=1}wM4^p7UxFYpfy+~5}i{t|h6G-Rg?b-;crDw|s1A%*hU= z7SA5)Kdm4i%|luP{xT1g*^LI9@4$yQ+fEW_U-S+N{oS+XA}dmPJW1a>1qGn+u`Jztq@PjuA+E#t^jzeoAZOL@E7VUOaxguTut2-Ut4?OR7#lXCO$14L?e~YDs zo}A}*%A&v@>VO~ZJm~I0AKDcEJ2x`w3{6A|3fZMb$r1WcXWzdwQ5We7b(1u`*x}Yx zN-VQa3hdL;uxAqeOvy4Arahd*p0%Q%DRA9O-Pb*9rS0xA7iQ}I?s6;I<&nHPcA@ip z6_$3sGXKdirOrHGS&wf$877mA|HNbmVUi)tU6w6ex)Wf%aIqO$V1zagt1C$Tn z`j)Uv$uYWuWHjU)RaG+i=YnyX&(6tV>7}0C8v*i5$ft&j z(mKPh|EEd{;K2j+DY!DQnOR0xZ#(66DDi1hNaS*g719^pQ?C@DWn2AFj!D?ZGwklQ z4`tj(^4#JQL810YSGUNtn$R;xK77ee0auAa`w&Tpmo8dY_=NJj;Br)I*@SM4pq`Kf zEqeJ?%zs!yh^H-AA$;Ss$E7}Pdty%>-J`9#!|tPQ=gW8Q+^6tgi?oj+A;`Seh7fRpnU;2bv#sC?}QXBEx|17CFM*7S`G;rxa-#*l8Q zH9M<;IiKXXB!|^$976UV0Jm`AO0dK6w2G1Lc8mK?bo=wD(nPlp8@k6kze+DFWTymV zLR^^mZq*w*TY?v5zJh%&KMH-}cnA8+%kLKOQuK?*>Iir)Pwk5S zT$?kU# z|6@GGitJFV#JGKmr}&7m;_`a_V}3?wl9g;_tWJN$GY2kSDiBC~L-1k_Y{)Ik#CHMD z<3Ksj=K_t9IF1~j-TQ5bIM!de#=RcKh3lSzj5wyEZyZ0r_b$)HT&4Wy{?MEi=Q8*C z5OjIJE(vx>SG4~jOz{zQIi~oC_Bj^gL;i4{eBgdk+&EA2(>L`DT;FShGf%ST+L9e( zM0{t&ipQri@W=R$)-0->9f+qG+YA`H4X_jL7wH}&TGKw(?&sR!@{0}zxYsmVV|ly3 zeEDwOqjmUWJojfD)7GI_J7QFZri z>*>t%G<71`BrNhJ`fpNs(tWz+r6vR2lv_1S_C?<4k|%#e8I#NY+VmZqqRgvonh(Tt zKS}q@Paf(=!5y$bAtG}mb^mB?> zlo7|ett*}+FJe)Kj}heqA0zTd#G(w(TgtaN#RsWlO8phFD8n)36_=rSiddB4ZRvC7 z+Hd2{f%00XV`X!WVV$mV2o(qes?u zio9r3%&UV#_9k-sAJY|Oj<@%6kPl>E z^R7%rEkDWr$8<%RA+G!+`ywye6z3_=bBfQ$bVV6HM<_lbFWThul;(I)*miXe()fN% zSCm$wAKO{38`6=?EP2Lw;D|jDi4dM3nx}ps4Bh4=^ zA9ErmgvleahDs~hg7x#+R?R(Z~}~S8SKB;glO97VU_-e4VHK z=EOs4KS1_W)#H#G)Nhm+uqEKF@QCkEkoQ%X6FJBVy5xsLSUC#fQ&98VkNh@+;HB zJqJmK@1v@Y>FSoJ-1rbrb~s<6NoThm%2ko)?UEhdu3>G55OGe4JolOG@O@^9ne9Tv zIU@3+9lnnxc`@fjUbMsa$>fii!y+%*;rnpvub7h}FWTYze2S--V*r3e9Gg(zkohoDbLzN-C&LvNn%M-rt(j|ONz&E@zx$RWz z_sngFauYpVLX<;Z0+zNPEQ==*q z0ZjUZz>jd@g22OpUsfAsEdV@r)J5~H;s>mGfad@oDgT|7T^2a3@%&<*b8{awzSrAz$t;}EJ!i>F74W(Esm-ZGh_B@qLvG%~-Ze9gPAB%#o+7DMQecz?*E!=;TC zbCxlfvijL_#NS^<*8_mLo`{3M=Z(LQzwWijhllnxrR`T`Gq5ssauw6r=;|sSvagA0 zd$(FDu9dZdsaE?i6|b*X(=@GZa}^hAmfrL>ti6hPJ6cIUJ^lW>{5F3@$UWr#oFZE^ zU5niRBbdt=_TROAIW=b>wY@gaOWW=T*;TwZb1r+)7CBU0Crbr;&iE`UW`oMwOZCaD zV(HJ(_NKq4*LbzTf6agHE0xJ_hbfJ}+YXz5jT^aS3@iQRGmSO|#y9ts8?E-2`-VRY z7}?YlN3HRfqNJzH;FW{>p>AUk8qA=!yHoRz$S<)P~fES6UI&|CRpA&+un(K<&zj z@MqI{f920XYXcv`9}zEu-LXdxZZ3>|RDn-^rPgd24If(~E;r*|ZXSTPL>!0M?cSgS z^nm?2@&0n2b4KGmk>es8*KGS*c;`@ICt44J`s5BgmP&JJ9mSVO~Y7jBo+Xz+$E zt&P(P8V!GMeWUFC_vZpx`ERmw`$TbbRliud`Hxe~$AD$v7+{fq0=^pfI^fCs8o*ah zELCw$;Hxey^3`4Zn-j$yq+1WVdw@xv?1+5clf@n6Lj&-&ew?Dpr#o5PT*HOEfknQi zi%$#w=82^aYOBn{>^6?G3s~e$;G4K~@4%NZVA8z@{2?AOaHN25pSiG}Cz)ri*pmJ1=nu&>1{V2SkRd-wrXgZP_#)cm_>zE$ zhny;t1biK1Lq3x)gh`iUk>{AkhI~#1UuwIs7x0Jpl;95^8Dq}0pq2b+_-*rX;B3HG zfkplR_zd7*fj_h7C-a6>wdH5+yybJiR^Ug#B7X|}I`A*Rldoj|=n*eBJ|bYwXM_yr zN%!WSLaIFBTLKn&!k3SXab$t+W%%|xFxeshMgA0c>eof^5BB`zAfNBUw`aiXfgb>i z{7vvS@b|#q9e&$E{+~w-&H|I2-+)E_Ir#M8&k*0vTiFEND~JKdR|QNw>?(Gb%!wmj z3dMFu(`XxEvf~`zOT{8jIJ#1I+r>SFRQqR@v9?RVWao!=6Fm4Nm(2dOqitRzZadOI z_X1*&0yr)331E>Y>;;};b_2d`h0SY-!8PDS;Pb#Df78{++u(0QCpC1*#!cXqz!`x> z{w}o#J|+0;(Aff;WRK#!4fqPM$Wz;!!QTN-`9r!F5F5hO7RMqlVzPf8F(7%u7X+;5 zX)MWRI{0=Lm|{hJ5qb1WmGK6TSePk36a)BaCO>Zhi~LFO6gTQ48*$s54mK&~&{ypr z0~Yz0$V(b`%2U{qw?h|mi(>A^B7Yk^`9LzqFqbIjsjtTcEb<~o{>YS{B#%6i$$!Fn zp3D3W-^l(s#Na8gH!#N2Eb^EO=FH#^fhXT6=9K5;Gx>P|SmX&)-eSznzXK-#-}(Ti zb><#;nyWM)$>syJMe`jo^uVGIBtvudBxJ-s>M`#l^_|CoVnuU}Vxq?%iZkZ8+Fz`H z4iQtosE=3+J;w1*mv2~K9U`W9QVfrRe+x`LVBK{bMxPbfxsF^Cv6y2&LuMyru0n?5 zLiv^oxhi5B8yY*}#XP5e?t<=N*BlWs+2p*4#kuw|%;)K8^q=Me`6lAC;GN(vgQpl# zp3rUzEk>$x7&9IuHrTwLcL!Z*rutc7L~ zV1dupYGLk590VfFy#-8`88m=Pf`BgMW5*&`ULqX;>Y0Efd2zL z#f9uY26mv&IiPzJIVj>^z-I-22mCtV+`x37rTo#~ul4t6F2nERxuCn-wFeM!&JXaE z=j7*W_$Fd;k8vC_t00r2y|)~XK9irgC!0kKpUu=SS{qgXQ>?J&t9vBcJ6*>fjrL1= zd>1_St15pI_=d0t6S25Y!#>u%XQMqH**xUh<8h4ru*#nR-xiqmY&(F@yY`CMOM75( z59uVIAWt$BTe68g{Ck-8irD9?JYkZ#fi?(}u87f3m8X3=d{FoEt$}GTOTL{2Ct|+$ zrag8e$dEtVfcYLiRM^9dnD+3u;RpHL8kn9D$RB!M5i#x2Nd|j+GoC$EnJd7j&<6R_ z0x|m#rsp8e6Q=mkp8P4sM32c1_Vy~zF~&e0i;mD0@lJu?1xz->UH1Q*o(HLq|9OAZ zHk2_z`>kqoICEP!B#j%3d|3EQ*S`_8D6?|p$60}<8x=-pzZx!+A)6bg%-jZN7aHGk zSeP5Px}jhvQ#r(77f5d_L|yDVw2Eo=K|xE%n~@F=wUe!6lz0Ii^03P;S(p zvVHxai;eEYyloB|3%(fmE^Vg-{R;Va zW`QpR{^xd6f_6YY7v%eWIX&@f*qH!3yyyBjoGM!0;2bkCf%sWJmNJ-&MyWVqke4A< zbexJmrrRO7rF)D-8Js)2#|!7q#!h2vd`I?0jB{s$b@|MK#M4mC%>|r27ZP#JYo%>u?@0YK^ZD5`okR1p zXF7-GXU}vF&Cj0c9Gag!(>XLhd!}<}&1cOw5w9ye)t&QWec#2f?5r&C^L=?ym!B)c z*H4~3lMFw5rgLb1_Dtu{{Op;|q50V}okR1pXF7-GXU}vFE&A~9;LkaGrnBn#XSN68 zAMh!MAN~;#FKrBuGSXftBnf|09Mb-fj3v%{*vV7H*bC|C*niC^;Nzq zCs;HQwnu@6RURNY!NYRR)$R( zHn$uJ`C4sjNzE#OC11`}1cRo~d={AP$(Vc4o$o`O+ksg@h zN&KVdAdgzJxoBYHPT;EayhTFPbkfJn+x2u3dF@ zCKwhC4O6i)_76jio9Xa>3s{t~zGnppa zUQa|`lo#>zoMrvFuI+jbH||*@)QzJDr*Y#O_SdfU!lEn~8{%%O%xv#X+)h-7Ywqw}O{_rrWFUE@vLmbg<$R|J*ticqp*Q2X^q@^n6!2^Jws65TCg>66x<5 z6^c){{j1dbwa707ziLnlb=)8IDQl{=yPRV{`<{e z+p(WjWt!9}Yt0Yc)zCfIc$O_Ma6GWc4-0B-EbNk*XJ}+v0sn`9R(YZzY-wCPpju^Bp%# z0WJV6@~^^9`;B+WcqRO19Ju6`y1r4K2TdxV=DElZZg9z%^YNdhXpa2;=&W&}m$4Gz zf#9=jSg!7kME-S&lSbtjQ|HmhsuNA|gMV=R0^c5X&*3xfB%Ct1AQV4w5@>0emoax|PSox}c zYZGCdd3o^5o~O2RnN0=G*y)TJXP`=oq=uX5?3u90H%gzwMm)}>ltoRLJs!Tjh0hf` z#n|Tpr-Gj%UoCY%>o)MOAv2`&Ec-tA+z`Hn9(ZLt16%`GaD3VfyIRqdM* zTgsWS*(2?1f%gE5{BQLO*>`}a{F(agQTv;liH^#M?SzBJ?XO%|2rTkJLFsKbz$bz)IPq6gM&!0Xe9P2ftm#YOO28tY zese1SyEhZf!Qj0H_ccu5b3wrUONH8&fX@q=eM4s%djl5*F7~*)@fg~2qAd{*x_jT~ z1Wz%v`1GrE9oPZ<@AUoe=x(Z3E@1%XLSgtO;yhR8xcO3xH*DlGdHg2Y4q>c!z&8=s zuQ$(j(8brh($_81eNI{HIpk7RE!87oFn;O`E0!|5hbXYAroiXFw*#pU5{v^Rz+6bvE)-hHoOa&m3XD1wIh`!WgUZJTUcf+eC|PJA8YExhCTBIhUDmpK{O| zzUI^o`&HnFkh%Auk$o59pAGRB@f2@k!dURM4!`bp*v@VzI=q07M=^VvAwM`aBmN@J zUS^ivAN&UJUximNp1@d8j^%E@E1}x3P3m)|h?kW5)3*DpKlW-Cr6tzkbaSh!>+{o% zzZqMt(AIMilgzEtKdJjwahAGh_*MbFiTFZ|Q^q^sX&(}Gx1Bv5?&C#)2P}-BJXie` z@wSrJZOg$+@Hy^g5x)fBWaQ75RkiH#u05)Vm#6J-n*e?o_DK7Rtg`P09t`|<)&x;z z)}b<{N!ZJg9TAsm^2j*K#V;7q&V+rkDl_HQk0w9t6<1&nDdIMrX1MvJxhqTtm(1Jj zr)+etO#68e2R@54aX$a(>$IO&W!7C9VXxrQ74h}2ciXwmTql{`*Ck_~ea!Sb_R?eE zzldXYjI$1b&ld1sY-;A;7%~%qw_*=d_CP$n6X<~#fbTdmSlyGH0=~R>;xdv+zi+0! zuxl?W;-dr8*_(i;eg6GS*X;LQ&kIAo>5@>)^}Hiuzs*w(#a(>!8hfqSZ<}dP9+Ebe z_Ud$A?17zWM%%ErSNTSJj@UUqzbL>S4BchW74f6#bM3XjF9ko;5@o{}nQ4qpq-}|{ zfj$Dr;pTTIwQ@hx9nR3pjqRN(xu4@id>ZlLHbtC}F3_LzhucYRJR;^> z6Xz>@Gu(}5%}ndY%L@9ral(qP-B{D3pPtXrw^n>@=Qc&Gmm`^RLHpHn1i}R^Y1~-k z8->qwpG)E#T3t^`o`vOcW1K^~G0WV>%G;7GVQw7H_PFi*z|OdFN=u|$2ItUjjB{w! zCcOilvXREqJJ2|XR(X1-IlGJ3-hn2kEDF5?&HJLg1FiAeJJ1@|-ow+d_71d$wRfO3 ztiA(1F`L_;&GoX`jOquEPqRNF#!-FQj8m6qcu(ZmkGi8Iw zhmP4F+6>nw*e8K6{c!2F?2pQB{}b{n172(^Q(*Y^ldvC-qLLiZfiDWze|P}-(R*7Kl2z%5-#WmW81>6p*pyDZQn+HtoUsJ`& zVeJD>j83m&@>%AmeHQ)a81FT2d5yEpWp}-;AH!d{WR^mP>-}~4v3F7bT1$Vm{EKU9UYCE-Sr)Ng z?(^zmOg>LjlNR+goc#7}Af3(QtG-A6X{+zz1KlmqlkvrwJ)^UFo@XK!Oj?wyqgESm z4ozp<3cb^eb7=LPUc?VZuQp`q)EYJ|$}Qlb(HbThoIShcIlcp%IEPkkifga-4m34y zQM7lUHO$v)y!))sJJ4^W>Q-9QQUlk>=w&6I-hqx`^{ttJlktA@+)Q(I^i;(n zKTM7`t_%6neha!IlM9*`jtmMW`{jY9(Luo?e-r$6@IE7gf-`OTMs7TLlDW$9P!$IP zcRQ_N&S!>96!^4`P+i#mvKQJJjr|knRMf|_}p1o)Oi2(1G=ZkWftZ&-Rf{z zjgQDjEtq1vy1TI&pF@cG=7~YUWdAjA(gZC&oTvD&0l#cgP;f^0{N?0Hj=bkXRh%2R z!6glgd=2n-PK5^3J0N(sMqT3wz|c*q3aPfj%W_mL}f8R_`*fYCuXOXNsLpM4q@ z`GyfA9Rm&<;j2Z?IH6XnV4N?s0P7%!Q5Pf2yP6 zF>{`q9CPzwpYF*!njf(rj7;HQ3;u`AjyC`Bdvb6M;6=c9A0!8hd~NUi@*Tj>2Y(BE zQg{nFmxal*>NPN51kM4x2w3C^=K((%JiX_L_u=HhuN5Q5>x=DlW09|OBGE|i@zML5 zqld3D()*iu2U=dzf2{{kGW4!z$8VPzzlLuP_%^tlw}bFqV7aV@Io}riB=Ghxy&b>7 zx4iJJYP|-ItH6H1rRp~D;4gzu9>(Oh^&2=S=Cu&pY!8zYYXaM6MVs?KPEHhg!lxjU z_CazY#r6bZTj7w=LD<}7q&ek54U2p?$h30hPrF4M4At6aR`Vy%z3aweGXmB85&7F+ zOtPi@<*J%9&902G8_ut=Q_lR6PuetSL18t2L_Xtz&DJ6@DclsW{UahjF%kyksED*w*jvN7Wwwz ze*%9WJjJ$}g(-{cG*EGM;CU|0`Ad+g0e&TTdQTJY>8kqy!t~B1-OKbmm!X`Y_ccj| zFul{sG3Qu*1v64+Ne9EcWHEFz@@v z;-=?$oM|p&z9@ZMbDU%9OF{4hz|)+B@X!Zv#2fP(Bw4Q&3T=hdf>v2i&i(Pp>2>4gzIn9wpUN3CZ zF6C3_i->)tC)_qU0d zud#s*!tBJ;Iy?^RFsT%+6D|Zy zxkPiVC46gEUb_czO!?CSd^Gq7;AX&qz;s{hg4oVRZs_qC8W-?>kf{ND2Dlz#yB@JU zi?vR~b-^cq&+{lbxB>7Y;3<%y{3$*yy)9`|c{LwIysk((SOqRtgiz zKdIBhdd%*iGXM|#z!YmU4cn#Kxl{DHVQ#J3Hp=sK$n7@B6A@D`1%v+?IYT_|9ge$@ zA>ZJ?Lq`7S@sHpafo}+zUBKtC=b=4PDeQ&*IH&EAL~I2A>luyz0=NkFRI~@9cYJBh z)MLH}6M5QeRf2BJIc<-}F|}I({EuftgVO^C0oTKxkoMRuuveToP1|pCOnb;E@O8o8 z1@;G4fGLJ|;=OIZjNhlmS;Sq}&Nm+25vj&})tVgk1I5qU$xiP#1ZX*8-+E z(7yfkG3^RYgjvn*06RCtzqpPTEp5o zw1%~FXbn>zcwa=Uojq$ZD$bKXFnym(PPV>VV4dRkLhv7Q(8Yhg|HR;*9QY>({>g!V za^RmF_$LSc$$|f=9C({NR2IMbcExLi_1E=vz5J)@di_t;Ki8gK{!{kjpSrHM|G!<=`>XdyfBoOB>+Szj|Ie;BpNg-3JoWPW>-ze?E3enr*Y)k` z>w0;8{d46%rT@A1K387f{{QQBef;$G&y9~>|8wh~+n!$jbKBF)f6CtHUf0Y2r|X~U zkG_4qyuPlN*Vpy(`nq0TU;kWrz5f5->z|6xzkB^t@zdM?RQ=zz$5H$6H(VvvNuNsc zgG#bP*Lg|TsZQ!FVo}Z$mI>SE_qB{9Ub@HE=GrV z*URhe>E-qI#CTF1$p^7?kGH^6|9QNqv{N0vs60xF2iYN>$4zX9k2fDjs*@cmN$*2- z(&u{mlKac`sm|?DsjqYUoag#HpQxnvs2?9IdH;Ax?eO`+`!Cw#a=iSIJfDYrUh?_$ zp_1(I`9&r9NpifT>!Lj_FJ2e*xIFo#x5L{J zb>c4+_IC5(7kbE6b9#BhqHb!*>& zJU`xB4oE4v>->6^7twNt8E?$IF?R>F1Lbc0F&U3%I_wFP=PD&;7 zlJmSD#5Zr8PQ6Yg=gAJmiR@-Cm(g8vp2v&)+8L2q<|XHO9I0P)otK>F<3MpC`@G~l zjVHx@dB!-^KVEX4k2mquKVEWPANTSXM7r={)f5it$yQMgW+wA1 z`AYht9Orpn2e%$951zio+#o4VJ`l9tEZ^)W-zv4rJi)KO{Br*`ci9^AaeX7ZTkdRz zIC)@dhne)_+U9;nU3=9nNB)yNYtEkXk`CwHC70)RpFEG2t7boL?vFeoeJ;=KnWDO?`n=@w zT<%Y-Z=}EGhxTfFT#noOX<YE zV>_wwTLb-}7(Xt@?NOb^kC$AY%Tb-iZ#Dd<@#b>e9<@XHz)LRA<;Wk(hrWp4ovI7n za@-#Ev*Fa0W?pi6ZtoAoZ)4I1b1cS>^tl|jw-Mt<`n=@wT#m+r^m)E=Ic|^VGcUP3 zm*e@&^Rg@M|1&#pH*>xe?lUjVPIumkb&8u>->_Sir*Y(Uo~LB5-NawbJa2fN=b;h% zfD1qGGxNOQbuMqizJaduap!d|KLYn*vd_nr*SY*|>`Pw4KR#|^o#vfdNB{V^@H&?# zdlU~IcV6f6pB^Rp zsn$`F9L0sli^r9hd>r_Ad6bBUT1UzKVj*ww@sS3y)GP-}qy92CL;XhI)mW5?zSy@h2AD#7LY0=#;SYDQgODwI?;gDWwluy{HX_2AB-2g$c;aF*C#kbnlwY2 zEKQUqNmHb6rE$`DX@ay>+AM96wn<~8QPOB>tTaNhNW-O((okuzG(;LE4V3yz1EfJx zEmo7&VAWYQR+aUY;-qh+ep0N|OX@B4ksQ)?DN$0S7^#O8E%lVTNnNEVsk_ug>MTV_ zky1yggA^`xlG;garLU#-(n_|1&1S3EYSvn6DYcT?NINB`v_sk@HJ6%7&7>Am6RDBZ zSPGLGO7*1%(pOSlskT%{swXXE3!u4(EoL>P>QW7M zTS_OTky1%sQfeus#H19GB)w&?Su%UWj!1{4gVG`Cfb=JO%AT=5*c0}UJ!X&C@9Z9X z!0xkG>^XbMUa-6D7Q4f4vzzQ1yTPurtL!qn!hU0y*adcxC9(7D3_HipveWDYJH<}2 z;OB&4l;#pXAYLgwz17@E8D_0;lE$8GaE}_>)A%Of$d^Wwv+8(`B;8d zfE8qgm=7z=*0FfDmaSoDq|@;8lyp+s&wge5*k1Mv+s*c{pV=5TnvG&3*)aU0w&839 z8^i{)A#5o7mW^lQ*jV-xM&w5}pY>sJ>>JjX4P*mYf7XxnWW88#7R$P`9xR&0uuiNq zi(p;YS+sLbIxj`Ct}KdmV_&gGtTAiCI$ zGCyWuMs^YUm!u2$nIs*@&lA#7{5&QtgCEP;68v1s=Hll(HiykZ`8{UzH1-2#a0SfM z^qB9HFcOzxbs7-D`Dcv>gm8XR{dp=+y05?wg?#>oPABnXv*IYl zxfZ&_Un-R3+=aG=0sDbJ0{dLP2-@W`w1m2R*Gl^N&gcIPY#DH98+FHLLU8bL`E3Xs zB!~EyJNT}?aKQpI|IVJ3N08Mz!mm;JuUvoEwq{RX|CD`g2ao|br*uelDGjpQ3z_eY zY6|p50_mmRYEz;vu~gJUd??c&;ZF@vTc8%-PFDkB6*Yce^_bL3>BJE>H2r}<| z@ITlvX})uVvd8zNv*v!E9USMamrKRZdPqAiq$%p=SD#3|V;SU$@BGyTCzr2k{Y}ML zBF;IxfWI11(aG^;V6sm#*MLcvWH=uWo19NVTb$1aA2_ZJ-!4M;b51z}D&3W+i4dlOoJol6Q7ww2L#B-a(6HW{JqKwG%ws_xpA30Axi0z6oA^t=0 z;qqjY+o8U5p2moH(!J~&7s50~T%O{_xX&N!3+L5eb}mkTi~Q4tvAE^X$0CoQPx2So=IqtKwBxo?ETa zW)(L+V6=^y`;&T`sxhRl?P9iS^p9PYDnsfT?$sVg{~%T=RK0|8cFIdu!i6I%7|&bN zs<>FeY{pde7plJ;;J{lyWA+wy6<-OYUsSI8pd{w?H~tZkQVbtFEt&j1apUobe*|2a|Vq%sXLzRI>gLUP=OpZ|_hA8Em^sy!7p5*A8tFN-K z+HliJ;C{dpXRI|Wgv@Bj^zxtV_q|K^apAeXC--YMGt^k(_kF6B!M)HHwXS_E%7Z3j z4A~Nkiz_w2JfT@Qtwr-7-8kQQE%E|3=NtDns^JMNDfF<=MAmM-&i! zAvucE{iGj^p17`>v-gv7<3BiHY-f$-=3`HKEA6XHHRc2U9hi8^P2{LUTRXM>Ih-+8 z%1z{G;t!=3SRWx5#_o-;Jh3seQEo2Ul^Fa-NF^KPCUVr==2`|Dx;_Jeff4+FzZn(z0+AjI1eg0lf zl&YP{bZ~uk^`26y_GIJ1^)pm|M9eKxzj77~G(Jk#LX{bN>RaRbS_|L9ZwqWOe&>B! zcG8MjNSDi|#^Xr_adH}vur_zM4-rgD5rR!9R zcDcPHuIp6Nb-jE?aHLNqUGL(mQ%Uuft~!-e*UO9k>E+2TZ$RPEght)4~gmUh?rhI%%q1z?Vyv6F8R?59f4NFktshC z)ecNcyAM$Lq0$$wL#7-!YR!d1&n!4>$%ezx46vUW$F6zMU|zJ~kJd8cfQO+idcvX) zxl0eBPM@2~ty?RUfAt|0+Y0rQ(N&V&fA=92zXMD4?@L$dGVS>giUUCK`iIJLZdn5V zgAbL9k|)a}`=4|^`}MMu_lNux= zaXY+U;<%GM@nRpfhf1aLZ=H>=l*$IWk)_L#-l$C%i?W-A8!h**`Vt>-u(0vQs-fyb zU*)W=jf=jd-$rUtGCr+m3=1g-9gC8G=srK+vB$8cSmeN=b#0F9)rgmi9W>fr%>7Ay zDBFGYxpi!enQo?XP__luG*8qAOgUc;i*>iTw#u85-aXj9o4OWx#nBT9vj(fbT~j`a zhr231UJ2C$O4^dk+%OM}@2oU^jTWuW8yo-Jt9(^oW@A>D`xHujp7tO1rkOtw! ze}Ow4Zfe|u2gXV%tIA98fVl*?nhwuzvB5YQd^7Nx7oYZl`@AN3sj(a$Dwn?PD5py9 zZ!8MDT!+^t7dK)fPY<4|{qHZ*=Gvm1>N3$b=i(3Qn2Y#qmkjpB`PT8zqCNo1XL?J9v%3=$Gu#*|NBL$lem5wSWAKO}a<<`nO*`^Tax~A? zSDqf$$95Jt3^>VTu&#m3Ajn+81L;eb?qfWt?m4L0yqeI~5T`xBdiX$|?8XD{M);O$ zO&32e>CCnn$;0F)c(@CbTGB(M9P!;_KjfoKIqLn;reexb5r=;ltMVzp=eS&;6mru+ zIl6!6*n}Ox%XE0(&NNo!rh{_Sa%@Y&xl5g6_Bd+iHFUlYvB!UL{qV$W4WEll5+guH`PcxWEt_ zFs)hE#Rc9_ZUWc!z%CyZtz_&m9whfY=`EM6XEj!=x!mjo&icBQ4Y{eLM2=$ZRBe*{ zo~7+=$W4WE^z{D1>H}awv-V@8LG&okBU9E$FEYxvA_#UQWORW)on_ z(aoWiYy%-fIa;&{Q*|jvzbdUgsP03K?%$z3z*3HCYp3==LVh4O70S`U-)Rqbsga}i zTn~3mk)zb_)U86SeOXa;K3D8yu`Vk{zbzWS8CbxVW-qXwtR1TI*)RWS$YA`EVyxsj zoXL3PLHGA?iM0)lO`3jZcoue5eW?5$Ioj>vhy;3=4MC2QF8QZ@J|FjwK4~2PZIbGb zCvIjM|1JGS6^r73+S`acRb}qs0du-{i}E|ErSmoX~Oz4^PoWm|X8`l8i5Rd-R& zUDn!>p_25)hex_DK2*|ms&k%7 v?kAU{I`O<6{xHe?;B{)B>h6LOQ81hdGkRuG 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 X=A6Yb2Cx%s(hh<@1n`FLn~(nixbBd- literal 0 HcmV?d00001 diff --git a/tests/formats/nif/files/materials/Setdressing/PlayerHouse+/PlayerHouse_KitchenRefrigeratorWhite01.BGSM b/tests/formats/nif/files/materials/Setdressing/PlayerHouse+/PlayerHouse_KitchenRefrigeratorWhite01.BGSM new file mode 100644 index 0000000000000000000000000000000000000000..c93add68b996dd11c28d1f700973f5989b65b31c GIT binary patch literal 459 zcmZ>A5B6nZU|?VdVgzWgXJCM0HlQdw5H~O|G9nZ(FaS9~6>dPG;M9_oqSWHz%)E5{ zfSkn2)FO}k(&AKYWKO(yW=V2JYF_&KX7d zxvBA~2vuOE2m+{w0qhM1hFLRb+A)6qSO^ZrtCxcj!O5_|0T^)mv0<=DATvNA4+JQD MSd4&Wun<6b01TCKzyJUM literal 0 HcmV?d00001 diff --git a/tests/formats/nif/files/morrowind_mossyrock.nif b/tests/formats/nif/files/morrowind_mossyrock.nif new file mode 100644 index 0000000000000000000000000000000000000000..83655f0ba108aff43c2a0b821ec6e3d290cffb89 GIT binary patch literal 66914 zcma&M30O_v`!?Qb9#txpq>dz&G?#|6cW18^Woj-BN|XvoDNUM$${eB)B2-)W~cb{vYJ+${)>#TJ@&vQTb)7;2J_t@CTgq4x{ z(_@y2zTy&M!xN|I`-^VH#4XpinQ9^WSjmfviAgGmiHS*z_PH^0<02wQiOv>9hp&uH z4qvt`IVvnR`Op7uilV=a+_K4$S7KuS>H7b^_djoldKKe{cA5WeKwfm58{?Z0;}ade zB69djbgmDQ7Dnn@{M)anN&Rm#!@qmD2Q|@AG=j*K z#H56ntnt`gZ`Fe_kFQ^6=1y8~e9G(Wz*w{qsM^|Maaax;Zz-CoU;r zQRM%05;^?X|7m)h=pr#COtfGt!eV0*mL|u=MTD(Pj9VUQVL3G-V&(8~|Lv7CT67_5 zY(?avq-Eg=|9PnY^UR#^#K?r0@MZr#BP)9I-+TY3Z_&NsdHPSg*zgMfyNgc$-Q4)Y z&krNz|6es2o*4dBe0Y!`-4YA&_Ebo%5n4r)YuN z@O)<1gZcD=Ir`v(OfExOrPIaT=c$cG6-=?a1YKNyj#`wsk=bl9D0G?E!wV!4*9^x`L)0r!Jy)z4fOb zjne=t+6Sl^Y8z>bP&x49;VWvvrXBP_>*?SZMS^pi-_Um3W5LwRk16r~)%2Ot98g|3 z4Y;;5^z&DHf#b<0YEN?>{iSdpP#>T)5O)C&}NpUAbZ6=2|9H7Na{R`@;%Xz_K4WZZfB$E1E&!D`mK>_bY$$1{QdJ zmW7YYoha$Z3LvAW2iG*tr5aih*j%I!4{Fb%rd>M(@@37Sn%rUP`K$-PZO;@Ky0ny< z@q9ZtZD0lEt$$J#iC4j)2{!ORwJhMJt^r4at>L(F)4`UsbKror4g8p#1SEIGgKv5^ zkasW}WcM5fmlG}Fms@**h5tVAQr-?a{aOQpR@??ogVr$B`VbI1^Az~|*}@LE1|;P5 zfq=@X(6r+SSTSD~KDuQOrCYLr%@TPS{MrUySyKwmQX25(8W-5(wi7&a(}P)6cFEY{usgv<|SCZbq3VC zI0-8Iwgc)>5WE1i;G@!a;6*U4hTy5 z0q&Pb!K0~8AW-!a(C&H&#!rx>zeV=}c%1`R*du;NUk@nvX#(ogB$;ftFMxHv2e!_u zqdy<{2-uP+plMggsE_#xUNvFhYp{hm_u)G@;gAMWuijzImVF22&kKM~=mv(k_yuTn zj|aEA8W_@|8=U@pgOdH}!Nfg%4OE;pDMPI~W<|qekPW8t^N#}N(#Iztduf&Mc6BN< zxuFGY+c=Y!K6lNfdFma|=<`Qc0OpFbOl6zK0*hZH~|U&)8Lvj zOJBHg6-0!c0a`*#i|?m_Q+tVMUhdLcZ}o#Ty%V59{S1B1R{}a)>;{b{SLjwnSxC+~ z4OEC+dcNEk81Zcv$lskqe=Sgg27L&KsTnmM(9nkD`D!4xcq$**kB15AR{&u@4O|rJ z!;gvkfPVZ(eqW*qtf@K%64!eJzr|*7OZaNww)GqJ-NFX4t~{_)&l;p~tYE*M0?40Y z3>?c$;KAz+RARd^IC$O^+JBM)*)DT*Z;HFO#LG+wcZ-gd~E=H=olgItRgz)$SmAe-qtvZy{*Q zPX~?q59!8omLJNs0AiI5^saa(CiA)jxNU!#hL;KEG%2K3RPCfIo*!mXUJg*jCr{B& zB+oDt+@q+^>K^n{wcE_{BN9~O7#BX%bej?1HcD8$@ewsvvVuu!eJH$EU<}g6G0YAs zkN;(*-_(A4r>NuB*S1-UXbeNI6U`|hYD+hauS1|tB zhQb8{pFv3A0%msRY2mrBLqKCNpV1h)Ck$zc1?8{vnChp0gdK^8z@BTF%(HKMg)%e( z=e6^g$9|_=q{lr5=MO_hVOlXiVat=h#&h+2C)2a(wvb)0_pk9Q<~(Jv;!YQpv|Nx9 zFTtw2Pox#!Wr1jkmyF%n<1RMSf|fGhoiiIAAx=rYq7>}U~ZH>c|e z^D`8|$T=i~#aNlOEBN|0JE&EA`suMsPrmX_Jn66CH7_( ze@1~eYqHLP%8r>rDIL;bw@aO*T;`Zjdp;Skcjl*3vd)c^hSFH}PQM(Or(Q&LXX~?O zo#J4Er#{%Bq{m)7Y6ryRuTiPxChVwZ7T{4L0ScJO>;v;KkT2dq9W1tD-!{wx{w>o$ z{vvDk?B#X9ZQ~DW)+&2;Dwzz9_AdErjc#3i!CZ99pszPw0&9MYv4<9~qay~(fn2dB z3**)3JKJ^xUeFk}|EMm#y&(duQZZo1lFP}ddH^h3tjX%XJ}Wdy9uM}qa@oM(CH&K3 zmnggD(d@d@>s+*Eo}doM9%f$I*)m$R4fMRmFxNgjrq9n(g~5hLnX;qj>DoW~a3nT1 z&bY>`ySSfz9ytgO#lB%I9<|V}B@e)vdMVaqb2*)mj==uf9!BoHJTorh8#uQ|iDkxD z(IKNcfZp{9Y<2KhdUWj-kTP*HtG@Py%k4L3KuFs}_S=C${{Fb_Ks*W1*M}DDdJjFYAoc{fm|?*3i$G0eG7-3)rW0UorT$Gm!UgQ;M%;B&a2$upN> zRhH*Koh5k;-{~H+Wo;aknR$}QU+|ncT^SBF756aU_Zen#lRtEmL(KP^$C;@eGvLCX zmzV_|In1~RwlL1VgCR9?nA2I7@LJpz##iXh1ei~N@87;+So`@*vW+e@^m)T9zHP>= zJFE)3-%GO5y3R~eodML+lV$n(icI`THJD#HfwhL6v|Y$}SlOb?n&n@imDb9@YbOoa zsJzj%TD%1O6*Y<7mBt8F++TsrU&icRm3+RlPb*k{+=%r_c+1~3^$(C;#APSU+)wT6 zd<_Ds_1WgH-|aNSh}p1*6%I#2sViAPU`A>QU} z{`mkw}?X1D`e5 zJ1=ZW4~G+_yx2Xb%c@#v!n$8fTWkr_-M1Kd&lk+{&x_!Hv+LE5Y}x+G-Jr@d z7|gt6$L?!L1?%X2AUnj8O&B^14(9IxBeA;LVJdsW>m(?@&w|}sEm(i${XlE*7wD^) z!tRY|0&`FFfe)_M>}#_MFk$R?=r+oN-K^9M8uav`th@ENZaoLZ}jliX|l1iE)%f9+@1su%T z&X-vu$I2YI2pZpQ63QFhV{ExJ_#8Z){xRu0S6yBzq)6#APsTo-FHCqXvVF zWim)+uA*{64VJo^gaAAu-Y=1qLb=)NZ#XmYihew)hho=P0|7i$K8#URj zrayt(Drp#(sm@wNd;-3&%7A2K4fCl_1D<-8DdNDln37kzP-br+%nE+Sm|_h$ZA&uz z75tHz8>Rzqg#^N*>1FqIpk(y~Smd{lHhZcG zo5xRtb=CWXaz3NrlU-Bbl35zG2{9HX?wATMNFL^AEf@tWscEo6Q<*vxIu;)Dw}j76 zhf!Zoio@gA-Qc|Vx0C{R4Ahteq1Sg^P#Pu=Z70uyL9_gTkf#mj!BA?fgpiTr%!do7 z%Yo<1tC=ObbK$-$6>zDqo*ADU0sU45f)6iC7!&UxNOpUHvWP9rY#9P(85Dp|{rSu^ zv+3|>!YSZ=C7EHH-C*~FKrpFdDWhp)3YUD+1&UH@nC?>s(6(ZT%FQTe_MNbVT+>Vn z+&sp7bDsef`F{Lodi$Ae>qB94+GXMEQ>Pfi1IwXozaqUsr+_(hWf8onSwioq*~y%? zjE6ruFVUad(;4oVa2VFXVH^~*nJHe&A?Jo7Q*H0Z*nA6vrWNK)RC7Et`fx0KIm4F8 zpF53teLWPmXlF2b;(5#qpCGuTJ(Z~{n#jz&OTm%xdPze8(|F+oeP)``e~s7Yt^d#^ z4-PXcOw!<-Yer0~Y$>xaI|Ww71~T&PRm@uD&+&x^J*40fx*oA)Kukg{LJkA7zgGU!q3qEcYCNY^{N=5_qeC`zb z#^$e7$2vrL{*0mDkGB9#57xQd)>5WU^zEk>vIZiJ>8S9{esQ|@@*e8;t_<2->?KvE zGG2JlHHK;qbQd0SD&~u=Fvp3bE!fxiELd1W%3m``ZqDP>u9$&B5=w3A>mju~|UHrjed=w1nBY zK$Js?Ftpr26;ea#K=#fp34pOa&w$ePk0K5T;RazH@L$spmL*xkGru2#wz^N?(JW)Q$L=?fvH1X| z6dA&#vr=$l+&i%3DFb36_2HW0H(+v)GITf4h7Z5I1^YB^gUR6ra8}W4@WG}Nqy*_h zig*F8jb^|rCquYs!##lLDubB^m+5CC%J}m)x>Ystdl-bZQVhprj*bUSX1(VJ7;r0n{!4+#O=r-RN zKHPW*=tvsChb2?sa@~s{#6c7Ono|G>aaFd0yAHkp|5})+!==})mSXFS z*22YS)##}^-!W6~r@{|~Z8TN*p1Ga79^TKYrQgnNW<1eqxLHq}i9q#?yZ>7F|KgX_ zw&ybI6;3iGvlss54@dgmk^a`=xefL0oE>d4VJ=YGtRj3{J%xVs(jWYkRi`#>TuI-~ z$OYNz8-$5n1@r>m7SM3$1^;&kONZS&3NDQ{pw$-S(N<57fr_;8bW~S99lEaxz=2P~ z69wDp%%LujA0t73ShJQsQ7i_FU**z^2UZJJzKArU>j&shS90m8Vk*#J<7jY4-<=Vo z)Zj;-ofK#6TE^z59-Nsb@+Isc#;Rc|)PGXrlCWnZQ!&XJUfgZuQon5j(>il5+_WT+ zmh?_w;%7TS7uj%nUv~ymR_Xy8&YYv4hXyd$rckh)e}kTKB8s{H*%Q7n6KBTSTQIp< z?l7TdDtvyv2UK_Fz#zvdFd^^*uxUzxNv66mWBpHXe@zbDFKG(R=5>JWCzil!6I(dn z76HYB^I^&@0v3pL+dwmKD0YPpUq3tyF6KJJ?8q7Lg6|^mT*C?8DV_nrw)H@%$`r<> zdO+D#Q^1WDLug^{0vBnufH;^8XR1SZa@$%EGA0^c33Z1SFLXejy+34sdqJI$50v5p zJJ_+s9e(rML@l2>2{!L^g&kf6LfMpM(B!HcJh;@0_-x1o1##sK_5q`gtPycEp zU{%N@Sm$zwu8lE)!V}i8Fq)-1aR{vbIT@B7kYtwKp9QaG=)?1m?3lN)bD-?I$?%pG zkD-o+L2}hZ_*pB9S#x0le90dJ|LCt_rp7FQ3C_+i^R)|et0V?`)|kQVR;!tydy(*{ zS2ZY%MYP;mX(*m@0fe4(rR7VW14WN!AbWdh|Y?+mG+1*gC?%?5DwjV#skVFQ>yzZDz}bf)(G*$na( z--CORI@Isx9N?BJ3%B%N=1(#%0P=d{;hnh?sqYJyf@cADz~lK8b=%Ds%$O<;^^ZK` z?-Q7TUI{6fRJ4J=r*{$Hl^g`$_{+pKH0|@-AKIO8 zVRI#9nGeUJ;q*#dc1gb-6CvvbgCrfW>XHM^7%Ir97%#LJeu(FA{ zX`#X@{>p*5J8juhs?GGHP4@8XjJ4F0O}tX#Z36Pr@F? z^ae8~`>xYL8FnzHQlyWBm{DtbAA)I;(_p63E6N}I26}cjP}hkA>_)!_+_`0qVTRz>YO*U}}*qc-Jorm-)s+_dlUv znxPyFRSt&ZbnjBlGvwi|?;#Kdy3?vw3UH@{HFZ_?h`QS_wXg7I3GxvBnR3xooVoecaDimShsWBAepJ(EnmO!05matr;tEfn2 z!;k4EPzyIRKzykafXmeYk7`1hGD-&R9Cfjrcce#Xqap93#?DZm;F znyEUG06o?E0ek-jBk7p~5&IgfQar)z8J`RvuYU&iKfTCEw`Iea(#t?n=8%ClO@YvF|!2He&hU>GtNj;xK&eK3g;AGD>5_elJu zm!|8dGS0EyG{05~LJt$h%X1rTQ>h9~J+qlm{apI{dUd$y1i{QDx6$6oMsOsDABn4x z_0}q-KKjAMCG>NB6}Ux(!@R`@>1nQde_?ebK1ar*k@$Dr=E?qi%wwdP3@D}M%3g0h z#%L#GLAMGkHlqC&aSpV2L$rEFsb#YTr=g z4pa6Py&Gi1Rn*hhMrHP9$DgL*Ki0UgcP!uLW8_Ds0}hz)RqNizXk zJ~#nn$t;HA8ywg=A{)%UKM$_Rnajqx<$$?&Q()(G9=p!{B$)9g2G$>$&D#3b1K({a z@S=t-n@)Cv=a&+oZ;U1T>U;&rZ1ROOn@m~E-Uj17EQ0>?C$TBdet_2xqG0hlBQ`!$ z7Iu$KfbS2DWfgm+p!4P^_-2D9tNlj_{y4DWFHK{l?vW)es^_(oF>4M+|78~=ZDAz- zM`AvND*@Z{y8-7Z0dK9H1bGK;f|W|6;q_6I;SRwK;CuH6P8 zz72e_yw8-~gKKo?P$^$=%rqb^TtvT|y+IfVMvLabb;p&^7#7RMPTpy*WmLG z32ND!$3X8!CwLy9LmfHU4}L%D0#EjLZALvi*0#weN3$O4AuCb=Gb$ zd&Ya9HBknXAF2bU4#OP&FxWPyt+9AnH~3MWLw&#bj22V;08&mpq4sDSvM$?KQ~Z6dRK>4_;L9vq_M)K+IOmlI*j8J%G148diz@!o+$86zvH10CN^I+Qe#rs_ z)=fFccIV=l#ha7=;sZ0L%z-xF_R@s=>c6^-<+$T|dk0MEAs{Ds4j*xOcBMRmQEfLezQ;fce3Oz@{a zV6>4uEWf}o-;_CUn(`~4P(2PB&!m~f2}|He9J(zX4|BF1WmJTJ^QDosEyJD{%sYi` zRAW)9uqb22{8c;&IC5;KbtD+AUA4@UgB#&U|E6+I5r!F!f?spi{H4*2 ztj!JDD8i@2dq(|Q9`woo31otvGh^PZho`^11ROV(nKx@a9R5F>u}zzZ17#jq)>slt zb8-dumoCA(w6CKr+^f8lKTddFpDCW#Vv5t$cv!MEM-W$YK`@wHDgyVpeYLt!=64c{VAA1EN+S|{RB+A>79>oJR`@TA@QmMUZ7)vS8%2|P104vhqJu!UiUdf z^mS_-`eZ6L>DGf=$GnmLCfJN zT$XbiDMhYFA9|DU3d@UvXWTe+uPsK@Zx!0qb{Rd=T!u|^G@KQ@q|iX_YP?7FrhvG= zAHDHeiPdrn8mx;-P}kW6T;uhKCu*zVt4Aun)w>v3sA{2sz||PUmkBlqA#pb+2Cww1 zL)$q`yn&^wv09}Z!d@MMruqnsI2~vY_a<=+_~7Ep*O8(7Xq>v&87HXLp{d=wh>IE_ z`1t1gNPVb)sH+XZ7mhqZ5prjUYN-Hx-2FasRvk|yzHz_-S*Do7&lX%r4aU;f#j#@N zI)P7-G0v1D@$Z35BG$tWdrD2lib5&kq>n#V`6PqqY(7eykn_hZ_XYCTJx*Lcun^BG zI)Y~S7?A$DrZ}&TK|i_&iJVjyEIj!fdFoCk&39VJy$s*-d*9mlUwlw^(T}|4_=@4$6 zhXsEEv&geKfxK*vi{NeBN^)XnA#tAjMDXWG7CDsj+j$;mir`J%N^)AyUeS7YJOB8a zPWr?c6P&_q!QILja=$|haYeXLP&UJpEKR*doQ!>dvgVWIVC@ibIq3yjZwbgRssluA z_+u0tW=5I^Ym$v-&r!M1i_|?lid65GLta^v$<_TlQnHDIws*Uc4zc6NV>x$uU3Fgw zW=1%9OZeK^v`m9Mkn2HC;;ISe8J{593zw5)v=z{mz8AzL>-pqc<3zMI=_+wGei7Ll zn1ViP_Y*rMW|Hf2XcSgyPTZD>CO1}IMosY%#4ep#wS?TM(TujVPAA?MB#}o-yithpRHFA(3hBc) zMqdU}h&N#?$qigr6q*%qMzkR$=wt0$zHpfOu>ei>o;goq09miJvX2@scJRqI%!~ajk0+ zzTF)~*b4R#kL6p8nR6VlK>nGvhH4aN17bn;D^2svy+h}RJEot{; zEV=SX9a_QIlU}ux$s28vs9Gn0Y;t`?ICqsIS}L4GmL0?x67*If5s&7`HE4uy5d4YE!YP~vXUmhtsCz~tZsv43ZEAHz-;L9;6knXT->e1Q z>x;n?IE4b2o&%^WCjs~8q$6uTZM4$!S=lP#$I5HliDS zk@#+13?XV?FzAtiuW?@S*0<9C#0$;Bjl69fH^DdKG<+<^2lbS#LcLKb*i(4SnG={z zy!494Oi4K6mF?#ZMrPo*tzUU+bL7Zkx!HJ};TCk#%b(~8TZI=|TB2{=sRaFJ0WQDU zii*N#^3K)7x6i8%B=jRMJDDT*(`6lDmRNjvs`V5%)JP z!Grt^^g)>m9bEa(99Z2iMwjk};FkC|yn)zX=p82s zTlE$T^a8h{qLP`ouJ$Qv=xRsn2PmxnRTMulnM#dUpZhAJ)en2aNEk+J{Jn zpDSn>nvZ|B{X$?7mmCoMLe|0Bn6l)OC4)y|gG|yRqb^wE zaKUNBi``G0R}03KuJ_Pbt`h2UPr#;0Md$?ApZBO~Dc-pGGO7~ZL&Lr#vztIZk;XX1 z$r(@S)j(~>mSLy(Qgo|HH1@Vt_@`wCT5CxQ{_M@d!@e?=@62nR6^$#`-9rjx>jd|U zL_D;;8HxA}?-Fl5{u()eICWwKBM8Usl^>BIe><;hRsx>Xx*eI^@AmW3Uwi&yjug6mHv9i0o3Qb>9H)j;?<)`q%V^0$g zk1fTi;m+vPg#c1DNfz6e?G@w(@=48E3V4-LJ<={zB>mr;U`~w~_BJ&p6?~+yMxZ?Q zw>(Y+^Ubhlml5XS@uVnbAbyxW?u!4y3yU?!EBfqlUFlQ8zElVM)tg|yR1>scI2TX2 zse-?C4G@$b7uz+B#c^f!f^r#eJh599m*&jn?P;Bjtz@+E9*3K#D1Ih>-1-3>y?F;6 zIO2gTEAOG#W?xaPyB(Gblf*B0y{Np+3(q-u6crWD#AAf=ctZO&bf#qFa=yz9Sdq+t=3h(^wWhA$GS_-uF}k;%clU%X7b*Xt(leNK{KAa6BxEj%Qc z)H)hHXj_5{ORu4EmRkg$@{)0U;WSbFoQC>K(y>LiCK84}7yQ!B#C2Xzc{jL=1rH0B z;`}~_@bjt?h}y!6O6!UG!gj$&?PT0+*~NR+8joK0C*V^#0X$-8KdO(MkG}|0c)z)S z&^e7DY@f5YL2*zDHzaCEA2;Rg}0G;r6!)+HfeZ$kZflz z+G#lx>!y#w#^F2Buy3%h)frxU5s#UHwF4BfPfaC?I%17M92eW3+=G_e+GEO^i?v!6 z(6TqSIQ*;y{%>~O7n_DFF*b(uIU=M+y?m@9bKlZd%Twh=mIn*~FKng8H-rm)=kwf#!$R98yuW8-hEjkC%~0VBd$vq$9Uf;BPMSg)g1S zIpuy4()3cm z%LZ)8Yus08n!`SH)X9f@6Y~`vC}=^`bqq+)79+encOg%fNVa z`%M%XZF~+%RC3T4vs5y#1fbj8Xw*^=MJ5bgL^_e1i9d7xpd&usIMDqB;eB~Bp2wYn z_j6jDEwn{kA}|rJZRHc)Uf8(YuP##byC5%oLf z;~VW=sF-u(Qo`41c;S!*e&>)xR6Oy)k^>wp;<18Nj3b_3HWg<&ki>~LKP(q4iT%09 zc@+-6SZA{mw&9Ewl;8EjhJK^5g>X0TnnVP?Ue<;Bywd*RCz_=ScskdBckZf)8<f?X|rlh))JeG15$L@F{>8vpxx2$`E!hH&oo$BYGWogoE&#^GqItKMRN*{ zqWSJqvF9HnO!Vz1ZfitiL$B>fQ1gsP9CW}cX0rHL-Cd%7^L#wv@-}ou_a$-E&<97Q zo<+c~jA*He!V_(`qe#Cq#ChFdoL9-9h|U_Ke*S#CvZfA&-mfOs+XAdzsfZtI#}c?O z3}1+Of}UOeh-#CAaC`W2lw9D16>X)l!2KDT_Fe~vw4Ow98TMEzRvc&RxZqQpAEM!R zbYn*0SiT*;E%z2xz4XN*tRs`2ohW#R84kKR1uK z=I-R}H}b%yd<`7YW=Rg`;!`+d@Thiaa;A1Lz{>bm;LbD`(OWSydI7h zmNT?)WSA9R!M#ZE%k=SZ{v6$JO_q1JA`?a(KZ%be1j(To3p&tT)nft?R`G?vV6@P( zhG;8UhG!ZZq8|SDhChNVEH9MgDa@B5Yij4=Mq!6w*q47)P8RWv4~|JmjwCgxk2SqE zBBN7k!*+=cP8K45jy|b?rSRk)H5_DUMw%s!!B^+JMDg>dk%J{esJHe9s$CgG?#;M~ z{N`7ogtlp`MdUzcZ zBZYV=qHWPKoX~m^<@qthz4jQ)4OBt=*n`A@U=RGOX$Xxm+(_(>nT5v;%44vSOU|@4 z#C4TV(aV#)1R4s(W7_0VWsWcL@<=?EiOEGf;@yc;rvfl1SPc7eOavF(g0WPsIJOcN z^9s}5u(RBF{DbqWVW;Ly?ASYQSodjIdfXPr1lZu%96N#G+0poLx|b;DUBy$1m&Rx3 z1me7t3{myf7w?n0g^HVI5i2tsu=ktEI3~x2m{DSYvyPFNYCXu4nJ(Y3ZC>Rf zU##LJi`)3iP+6WQ{w|k}BKciU^k}cU3 z{)!h_YlWNgB1n;cB90f_N7bqUWJU&@Z$oqOpo{}Tut8RziS{m_w#-`WRW*Gi=F269_J0!Ws0q1%>#?c%>~nuw`C_Sh?)7%_eqGKW6>8QAg1S!-FIrZR3T0A)b@3Ew=cGfv=w5+#_PLW%8^y`6 z&8JWV_Y6;TjqU4n@KlbbU_&3o(@BGW=3j(UT;1=FcL|$$ZoG+j-31Ddj6ppj#W^r? z3QjF`#v}deNZ&il>xiJxU4&tgPhX=UM8N_x41Bo%I+N5 zkA=$wA6r+Um#5mzkVwx!i~FqbcpYUd z-7o%+#u?Nz1uv?!B*Jq<{#D8bdv{J2Y_gt?!AVhEtUZWo{N~~MqIRTEDupXg`Ql-X zV6wS7-di>Y>s2ZvD-CU2vU~P0_Z6`1ox@rQUg_n4d~Ho|++KTpyu@$VAL0}!kv@IdwW}FIi45ai}GD@%wrAw=N+QwCjlQN(-VZH-Q{$yqOT;mKe6b zFuzlTMvlB-ur`BqDlFxp)@K5El}kF{apY@qFlS@S0Yv>)ir5!~cj`u=qg+lZ)ES{V+v>gTYP9c8WO(!il z#ZICe4Sj1#CACWwQAnp5QR(AL-fQbd?nlazyZc0Pa=#iDm*e1)BeO~K1DbeW?@gX7 ze*!riOOJMYqcI)wWd2Kl7iH9-VI6VYdnK&jy%nXFIg`_SCg8iNF^Cf&M#iMuU`~`6 zo~JW~Tqsq8JhmF)HC!Pf%DYfYWE9rts0bA0r181#KO7=L+$Fw-k%kQ83JX|9EAI;>r1j*_=rYzvZ&9 zXx#nHXo>mN?N_~sd6eHVqb+7z%u&N$+^+6qh-9YD9tqwvbYIze^!161|i7t6#; zAPrY}d^aiv%LsCjTi0O}Q)Yv6V}!^$RU0dErSY8PNqB6lBK~l>Z&=4iiSHfou)m%$ z#{e%@u*P!p*CPFXWxQS49qSKlMQ(Qu@N!jqtduH^TrBnRhPx1pv|}PFz#2#SS>rG7 zQ!wl;6VPo7P<5w2uQoCW%XdiPU6$9;=B(+sKWPw^q>6N`?#)Q`tSs&iPe=QmJh19I zSv>#bR4i*IiRDry@zFQlcvis?)b95YE!3_-!?lm5&9BhRClhh9mlJL(i$K)_{#Z;y z44>`}K+(z~n=0U9k9EgH+SD~cxw*G!yvkU=QyJYnycm~T-a%fa6~w-)bMRp45PH`A zkvM%d0FO2o>?f#^%05=Det^Mu7QYyl+lvWLcS~h!2MnpYJD=L-D@_ypr+6o4A$aXx#!N zrkYLM>R3$11fE0Amiu|b<0HEFqf>g+`xWk%@!jwR$Oje0Z^|08k!y6Fp% z$Z1YH&d08P6UcYQNhrnES+q`a#3_CN`rMt2kMQphimK8$QH!EMG!}VVOXyEe&3JFZSCWo$rD$o6t@GE^RPuUYB>KqdcWMt@P9_O1p(>7_ z^ONLQGLwr@d)#s?(&HNv%`Tx+8w2qAUYa*tuWZSR!sk>U^Nt<4i%RCt#@w=PJS!b- zyxhnhyL25OTn6><{L-m7Hr|d{y4e;_HP^(6yh}uU)HK}uH3CN^oh5YrwxF88d3b#f zO=N2~qJ%fo{>kO8M|Pp!@E=IaRFRxtFcqs@ml>{OlT~u}QG~`Bw7!KRwJa6!NKIp; z?&09I4?Va1j4HUkf7!)ITNsJ|k(mF&P34KSByx%HoZwDtGci%f{iTD%vGBWs;kwr^gG}t-X(HIEIum`(O~uu!4+Wx_jQ2Z;w8tD@B$XrH z&=a+a)DUby3VbPEUzW%h1$v@_N=S(2mK5pDD6QL>_@n8UIFy?oVnD?#M$DK|G0;6SWn8o9VpzqT6%iG)BBCNn5K$2k5ET^>6|+pW(_>b| zjF>PZ=A2OPQ|mRizq)mbRw-{;W?YS7>F*dC|wPY`RPPZD*`W_Nlpl z|J}{%hzMDS{SMCILx*G?7N0qNTGnClaaEOdSiC(cN!DTU>sPO29Tq=*@Vr;ybr*%Q`H+n2{mtuz3Btb+QhN z!$M0Gz+(N_Sjys6D~lDt;(dGf$~r7w9Z{+P7Vq3qzW^4mjVfCJi{s;}6~N-RZ{El{ zEIxgzQvodgk)JQ?u$U*~LU%=n<)t5MR{)D2KYAqVu=wbaBeD*QcO@swIxIeT;DD^d z;%is0$~r98KRZiVeB=6cS?Axj*S~v~vi#-C>5}ymDfKjOIf@&DoWO2G5`LW*(~d@{O{ks$vQ0l{OOad!{XrO zg$rQur;pPMVDYBdDh04uKQ@-KSU(n)vY7w=^=p}>EMKpiEM>7?7g);T^kc_l9Ts1? zd|B3EF~7g?urOJN8Nt+SNHTes9IfW==v&n$q&{}tcA z&Bi(S4J(`XY+L~>e)(cz0W98?>{0-W*R3sA0E?5h)hU3*ahs|Zz+#mu1+aKSbj1Sx zZTl;i``|nN4a?_`@AIb_xMqIC@(=89Q2>i~Y_C@Ui~0Avl$j~(u>8QqRt2z_zaD=5 z{3+|Oe7!EQl*M{m!BQ6U=Tm<#ma_b)HDwB5vH5uW0$BX@i+=$u=6UpRgrdXp) z0$BX-r@Gu9o$-iOwu^XKVU~xix^#WL|w?!;v zaYT5@0$9wCfB5TzZ~yuC+n<&u>#+Ut?WNxLu=L-K=i!3~vJT7Vzprgux5_#!pWokx z=xAAo+*2U-@u;uXO~ z3ScpR{qxt)ir`>bhn3$H8!PLunE$@@y2etLzkJy;S%<~^^?UtVKShV-^Wzb{Zm^W) z^Pivpe0~rzblrq{qyYyKi=oBXH&YnqQkb&zB!-(7VDp#r7V8@Xk-B_zIN3U zqnr7Y&_Bj3LB$E(+Mma^^jxd2O993K}a>#$hA_E^edy{%#?i}~ZZm7Oi?u>8xH zdKbWAe!jIQwF&CPZ&?0?^W6$yF@Jvfh$!}Ob-`?uqElXKG-#z6OG4$J4q=ltj4+lLbt3-ZQkKuJ z-|)xB_b30IWB6wozJEpAiS@qUuyXoyma>>{@A>r#zW?Vx58qz#vEH__^xxk9-rc*h z4$J5F&tCf{`QPU#I_!1+eDeJd-`?qKbu4Au^Pg8=yJIQK=f59)?!i))uOACbS zth~Oq%u*Kf^-~`^vy|oY^;vIQS<3SHydvyzCQ8&6+a(f z$MAoGZ?7=+W@GTbVcVgfD}cp6^5+)tf7-8}_xjaj%wc}RUgPg4>E-@^rTlz4adS;Y z=ilB#U#n;7zvX}Y;D`hXzu>PIeeIm3to*N^^9x`x|9$fP2S0z}&p+S3@$C&i zKH>Mz?~ku9)MS!%*zxl3r{}Ts_vcCdkNcr~f5w;pzwICR^*+A;;$y!55Z?EU!pxn5UU%JTW~2EV?+%KQ_4{>S&1`e$V+ z+fKjN!%`OW>v{bA9P3@UfBhR)ou=cc>vMmWvY4L_^5=&iALwi2EM?pC^@%@TKA*q7`T0FRzu;qjJi@nE{CI>PZ}Hz3 z-#+s7k?)_E1P01F?DO;cf-NNe#6SMafp7-SSFOkfki2M;|M* zl;!c`6TZFG$7(F)_w{eFUiVqb^7;DBk1zT0E59DcfB*b@^4AaldHC@w-(T~8@5J{n z{P=?3p0CgRc!#ea{Q2ascfLL0`x`#y>pP#%_fLHP&G#4l_>doO>T`9LvU9vo-9$VcY9mNUU(d#}-S$Y0^@t=o3o>M1J$~tU&e!i#w?H)^6zFwB4 zEauxozCYpH8~*;CW!ZCn{K#Jq{CtdG@8tVae*b)o`%2&Uwr-N%k%v+ zUqAG@HcQ$2@t=opKluKK?;rU234gqN|H}90FJHXC-#7e*9gq0;KV2I%%2qw13F;Lm zQFV@$)Bsgdx8>TYuP%S3p~bA#gq=TW6GJ}jRqZpq9sHL5Y9p#uyz^-6{XANuS~lI- zLr@>pzd+43U(zBI&QSUE7uv?fOvhJ$NAt@ZraxEzqNiK#p^jmnX{>z`%^fVN)$HTw zrwMOq+`f&p{OfnLbEQy9LZ8#Jf3BhZr#zrzYXsB4-Vf-D1u^u^h?{iq*Y$MSz&rF! zelksId68D^v7Ppxca_eqyN~v4eU_$`I7B;s%%Hv_%+&t7N}mL!)10#>=+?^TXosvL z)a~#YdasCyUQN7A=d4eqeTrVAx7X~WilO()nUpmy6d&QTHTyX&);`Y_tc4{1MG^b_o~Ly$x}xc>Ft4UMcV!@*n^9ivR&6}}HnW=Qd2%dmH@Tdu z?)0DsM^#oW!za+I*@e|Ax7t!=e<{_}s58xbSV*mCUyZ(7C8?9IwW4vQt<_gIn$Q}< zKhfbcd($Opf@=G^BQ=YkX{1+w`p)Y;b#ZA+dyRNOy``=+y3G?hF`y33^L<1|PHalU zTHc{Qx)!0SLmyMWZH;Kk@~hN6s1WtOewz-&uZaW}yFky4vY~z@GU&uNPPESqO1t?N zqCp!p+Ola8YJKQ1b@aMyA}dc*{}!6*MVd-euIw_6-FTjMn?2riyT3-&qRUKP!bLhV zr?IKxwzKrZlvC-GEmvsV&}r#+M_8z#?a+3kYoDV6etp61`axRqqAZ8~VWP9+2g-&@ zyJ&o!W3tcJ6uN3`sGNHzj^1~*Qf^<0r`p6ja^Qhg)GM#N;(2B%ZLu{|_H4P3&UbFE z#AFVp$KulEH;0DOlh2$L^OmNx%j)~`=?-o*{kU0H9ZJ$hC6>y0E&renO-IWP7wXZl zzAxMz@qg~FGtW!^vhs<^|KrW{ioTs_wajCtx!!}QTli5^sXlXPv-oEw?>3ET(ieML z8UG+%&laU=(hsw#zS@v_TWo0Ud_oPUkD1;y3!sz3O4HP%b7<=Orl#R%Lh0Do$4srJ z#8I`+pQbLIHc;NUR={x9A=)cKAp z{ncmP>?VA@({n}2UE${nK=SNYrUbi56`e-;cm`Bs#VF|Qs#02UZwv~GN4WJ=K zlW4Rsn9dE^Ns}A(rh%7}Xt&3`=}2ie4fgCp9|dirYA-_H)K8`npQ_NLj@z+MLcb`f zw3SsQYCU={ZSq%BdcNZkn*T>b8nE3=XM4NSlTN4T>~acCo_B`6>ujWTdmN`_?R!(t zMaOB8XB}v!<561oyeDzo@rp>C7_f zgIiB%>%b~%#qfOk;6`yZfBzS{`L&fAvM!6hono!N*pg1?rx#Ye9$coqOhwdgmG05Q zcT1>h;TJTZLm@Th`Um>XCzp;7dZhH3olo~vH!CS_w(81NIZDGjc51G0N+}v-tJ)IS|oD`_^Z z)C1Yel#Yf5>Z`f)lrMR$)k&X+DW$8_Q-`%1tfZB!um1GusF1W8>bYp6lHt=(wNff5 zn@>Bb86SSg&L8TM16#E;Lo{kJx%AUSVJ(9XAU9UW( zVTT(ja^3ILc5h3i|DHE=V|Qz1xwoViwK^`Zi@HGFmPg8-<0bWUogwn0EjQ?)PBrD^ zhPSDD$;LgcXd)E`PD{5v@_?rPe3yRoP7KX@G0)T^W~4GCd9QN$9e%l~TfA~}RSV@0 zk1SHyPfhXtWKAmuUQ(Q2mZ8sX9Z~9gdC+5-SCx@BdeYanN0hs#1L&xBM-{I(J!s#} z8nFeaDAMbmXAIa*U}Tb-=Ik z)*b&R4cU6YG{zJ~ojV?vt8JS^4>Yz`pYX!rOI-<$?2wVgZ9c{e-<|x23yPiHXqVI%%bw5uWRYHC5}qlg8_8-*_ulE z8eX)vOG_oIx;^c-tB(?8Rg<1E%u+lbTsLhk9i+6gDMQ5>%^fAQI$_qZpmQn}lx?@9ScjpTaAly9n%$Bfo$aLD-B+F7-_lFT zsL++BjPq8?o|-|ww5z9NSuLgOt`}1For$7}4Nl6wy^m1gd#84Tcb!W=;n7eTo&MF7 z+(1(No`;wUmnTZtx8n3{pK?laohtN`-&>h1=uUm6ewE{D&8DV3$K(c6R#Km%-trEN zyK)7yY3{Lj`X#%k>e6c!eYBv1`n2x~+F9$RmfAg;rgkx^Pv-hl{}F9e*IB*j{L2Q_ z#ny{1-0!CPKEba=e0Eo(+qa>u=C@QME|sIpb6TkbXSb!#D%4YhPQNkL$f%gKVgCneytf8P#aN9S-VY$)0|+F0MK+{b?GOZLcO)vY`&!t<>{_?wg!n6;ktB z-8Ok<{-CQqrkaZQiR##ed8YaMKTzlNxh9w9Z|Sk~!KQDIpU@_b^-Xy<9?}#|rGrB} z)a~7N(+joRsM5P_^vk6VYDVsA+ID|Cb>!4&`f);I)nj7_b#iR1-o846Rw~y>y)ZO} z7H;RPes@l#Nr!5vCl932Pjg*V*Sco9u$Pep3uHawwe9owtq z^-J1hPbalo;Cs4hlB{~U{h)`!jB5XFf_klMJGD@tm6|fssJia5QM*=lSMPOceU?E zQN8-Kn`-~Auo^wMmwLHw7~Ox|UX8GcrLCXXs(!=5Xv>c_YR9~d)YJ9{6<v@AN>laSl-e=OV8^JVW%yqiVVJYonIz!#s1kxvcGimL^3u%vAXXwQAsWjg! z18v?U8Wnt++Fcz>TOL16&6kJLj-5`@2cNpp%#5?te6K(C$~M!#rfi{?KU}8?lQ+=Z z?iuv>;|SWn@)^2aSVHstE%cx{khY67(LgeXt~)?!LrWlay?L0n`!S8$EjmaKZC^tD z%;?{@1=0K-yXoio;q=gh-Lz)04fNQp6ZGuRwKQwwQF^4|YWgPm0DW3Ik;WzLqRRNq zH0Gm5H?&WtUMu#|d9^Taa7m=CqLXQEltz!$O{cc=_R%-HA5$O43+cg&^XM|W0j8LM z96C4nld0K@mo&HcGgJQO2ejP`{PIz39u28jh1yoXPlxnxOov-vr*7N3(C9{9G{4dw zy7zt`nmm0kt$4N@eQ|#u4Ycb;{VE-#p*2HgyUU|#)|Yzn{Hs%`q1?@OhFDLUdbUn_ zW&E=Hpr#anXe&l|WpLYWF$FIZ{FTS1nx8c2)2-9$b54x-hv*3e98B7M?% zHQk%(N3)%l(S}{Z=+E%s^i{oW@|XH6s61eV>^wG@er-?|ZG9}YyH4Cw!gkQy9!YeV20Avw>kp#bwH}+cgb&Q}-+9Dt=c+UW-?@xA=fx-(9U#xg;6x^$S<7 zN8~E)t4>q?aQmS&i|(oT+G2O5?6bjL3W#2n=#=s03vgIbNG4T|QihV*2?pNvX zOV8;r#|zZD(>K~I;T9eE#|PTg_8}epD4(7-KcRENZPdXxU($yCil{|mOJbyrf??WWP8)fMm7d+3?Dt(Dt* zP^YWs%SCFW(zf^a$~~T*q+6E+$kk5VrH&y7-F=2!qIECZxqq^GO1*wLrsr?HO+DkS zO=kHeot9Eh@h)?ozR*s|^MhZ}sEb|X>%pR$H6kHhe)65hy!JAAB>bZN&lHl=&s0zk z<@Io%xv+$K?p1{R{74b?OG=US4V7)w#C;V^)>gJ^x2BP%ST8&E&FJ^(^mK7Gq~>VT z%zY(QpWUbvz7A@x)#vo4#v1DU-K$NZg{rFAW%rvp4s%x5)f#28uh~F7`Ea$VU(04{ zLi9OP`f67-%&$%Q`)`OPgC71in6TZT2r#uWTl$9Z~D8wqm=W>^-T?2 zS15M9{&cTDa;dV;Wo>%EqZmclAjsymYm{+wSIUQLL@6EdYcfMWRZ-S=(P)$F<<*uS zuhB=VORBTiJf~ZJIjC=j+@MZxE2xompHi0#71ha$KGIG{Dyp#uZ_xeQYpBtOAJcg; zHP!r{@9D1E&g!l9*6O}%HP!KUcB;QsQ+3m$B5KJrXLVfflIkBL>Zl%ZRcOjN%$a7L zH9fW@qKX zG;D{X+|_+F^>(W&N1?rYbtgn7HQi_vnkC!}i#?QUq@>x1GvrnRBbmORCELMuaIyKlbrpcP(egxmVgy zBc_-kV@zd3y0xvrV@?S}$1{S#`<#>ESj-Ql?(*V>whLb<11AtUkZ#=dHZjr6?;myDNJitW=tY&Q@Mo2PqFe4Oh00pRM$I+)3HoZ=4cy zxsKAKlc$nCp{bIBa)FlyDogGKD~2qLqm{t)jjL=Gq3?#aLYSKpIO>x7*H(Wi2PV17 zwoZYH`|ZWDx;t3;((pb0b((6XxP$Mg!epaOEsGX#)Yfy+jND)-S_=dFG zsONNkNGF=G{T;3HVgk)heL}NZkD*l#+^5o%Kd51tb-ScC_KJ7U3MRiP*JOutd(ut2 zcFS>l4;=Fjnd3gV^mTXjR}qtIdVe_%|6;`XCRy(Oz8B?p0~gCAw7=Z>+XXqZd~o`a zWLGM5K6C6qxy`19S39TM`sJHELzbC@ZST^XtTCGAS6gSwwaPN(SVyMUHJ&hecN(7V zwYmXK?tx!$|M1;3Lx?oB9Mz0ERL)MH{c!+YH(<5$0ia+jN>bGKZdDc$%Jk zlue_)U#Hn_L9}ef2zvKPf2>8Uq#@_J(1i!rQODzTXi`=*?Of}JsgGMc9a7t!O7|n_ z>1C~Huk|6cN0HB_53Vce%epIQsR@J%V?t@EJZJj2Zz**~U|pp}M@QAC_apfmEv9_5PHTRunTUD*!KRv>}nR>_6QL$grPOa$IQL$R&p&FgrD?=h%s}uO)~hkSfMC?`5P`r zhbh-q`Wb|mZIuASBE#e-ot2i)W*Np#IwVK6nM%`Q(&%}IkyLGaj2=3Ue<5J`ar(0` z>x&jB35VCv9kWA~k-H{RRv!fCp)@~xhO)!lfi4^ri2XFC1D;M)Jk=GZYCgH9A(0Jf z&g(KJ5eL*uTrO;;4&uDVPtvH5SbS^z04;)vNwi~`h4m)_ww663O zxu%G<=Sup-oy`kf{v{h||# zPN8qq5lUU#3rdREM$O&PO=k7DTTTESwEBti=vPfcX=53+_w-xJ>=YM+%ZCq2*X%lm zs3|`b-+fMo%we{Mb~b4x@Q+Dhjb6e-6s&+XYz5l@Ti6CJ1nl5KaA8mcE)3g)qOd(& z3>1fp!6kqLTmmi$O2H-J(!dce4VM9B;WBVJP#!J^R{#~^3UDP*8Lk97fhw>QToqJ< ztHRYm4Y)d76F9>);aZ?JTnnxP>cVy4dZ0dB4{iWl;0AC*&63~mZH z2d;2)xCLklw}4v#H@Fqt8nl61!)-x3xGn4sWY`^6fB{zE_P_&f4;ul2jc^Ch5$*tY z0-fPba2L=O?gIY-y1{?I-9ZnyJKPiWf_uWfK_9p`+!uJlec^tfKim)g6L`UY!UMoS zcmO;I42B26e}N(JU+_@i4G)Eff#L8lcmx;;kAO#k(eNmE3>XWKfyaUI@Hlt^m z@B(-d2!I#Ci$Nf~7+wN`;3e=&>`UJs(-_3#D|18;ygf>Q8CI2Jg-vG68P9Nq-Sfp|C$ zP5_(X1UM0FffM1aU>m#@P6FHEBzOnd3EK+EsO@&}E|3E6g13O(@D_L*NQJk-+rdtF zx3CA#QsJFIfK#ybZeR=VhW7w#cn>T9_AlD)74`{fc_#ik0AA}EsBk*DP zC^!Zmh0}ovPKPN_VG17yX81U)0Sm0bC%{Sg1bhmdhEKs~z*+d5a2`jq7v2Xh!293> zAOk)CUj&)(Mfei93}1q;02RIhn}n;vHQ_oQ*Mu7&3%&uL12^Gw@Oh98pNB7i4EUOG z3njAPo8UHl6V3*A;A}Vp+=VmXdmsnC2j2$|;QR1H@CbegKL$_W$M92-3qKR`gy-M| z{2YD>UcoQn*WeBO8h#7j!EfRB-~;>~{s=z7AK}m73;Y@W3ckT#;qM?H{tn*;Kj7Q& z9q<#r1K$NXaK7*hul|640zv$VR1kB(1LXe_M0O)t6cLG{1V0cY(F)J3VJrBFU@h9f zPXrq=7udqTghJRt6bqqTA<+(&;KHB?To|?oMPYlm7$^=GgG&Gh_?J);TNV;aVw;j; zDcBA!4ZaDbk$w{#K^f5zk1}FeP!28&mj@q&@<=}j6~H^Vg7{9T2;RUI#W(ntf8leN z#GdnoQs5h0Nvte7fhw>QToqJ);aZ?JTnnxP>cVy4TA<$Fuh&Dl zdSd;*%hwkh;F$~D0B#5x!42WYpb6Xbi<04?Dba4RrRXoYkhT2eQ$ zwb%xa)?!=G4sHwA1@3TNxE_${;(HlD|jJoD+~Yw#Q}H>6bFI9@F4gvFa-V! z9tynSq3|%!TNsA4H~Qw`;s|jh9wWq2U^F}m9s`;SV~{o%#)1~`Sh0oB7qo)=imilx zpf%i2Y%Tl=+QNNt>|;Sscr4r{NQQubT9*+4$lPs@Jx6Xm<`W@ z=V05p*k-Oc5B7!qzx@TLJ;1o zny?J4#XBt%*Wx|aitFHDI0USRL*P{)8eRp5femmN90NAOF>ox{1joX0ARdl`*9q}r zG#ev`3D`0k-T*ek8{kB+1x|$HK{QIQ$2%v0t#AUo8Ek_$!&^WSyakRHlEfH{HrC;& zw}S2PR(KnzC~QMoQP=^>!#l+C7`s=)czi8NRuQ&?%J6ovGRE#T(Z;a$ssY-s254hg zJJwL#2^zyY;bgE2PKHy!Za4)_1H>> z66ry4G&ls077mGr@$3kE7#=Si5s$*-g`?szJWGdYIaP9vQyoB{su8POjjU2lxO4~j#Cv*JNK&Wh*2K;azH zfx>y<1)mqagbScQd_n9lWB^Y%L-Z6bf(#ft&C(I2+u8v*Fv|4tyKF3!V#ikv_yZm!{169#pYQ=yf+cvEXeA9ruk&5BmVRI_*3wU41OF6lu#Jsm3;z;r zv5l=%hz+1%D_{p(!9ztm=`ZwQg{2~rJsw3+u833=wuK9UVsIhY4ity&;J?J;(jfGL zMWhlaQ4}r)9N=PbaZnO24i6GbN(0b$7LiJ!Ldm2^Z$;RQ+5`rOSQ304Y($#1J{J>f?9B0 z*jZYNo~@p=9Q{~5sh+e_tPeur`ckM^8-&BPrEswhSPj>aR-+HABdrl@Vf!^=h_D9z zS%^>+qvPVBfm9r61Ia~dAT@+t;6|V^+z4(0n!-)sW}rFT40Z(-MOUO1#TMX|&_c2k zTS`T+&z9J}rQ|3!MCvFu24&&KQdzMnC=WN4%8SiG1-Q9X0V8HdY*iZAVdVW*Y$dUJ z*Gg(2w36K527;SZ5448s39Y4sKh>Mrwse8JG*T-I0zFdVro%4?KEGy+Cic z7u*N*h5Nvsprh!Cw4>M$bb$Lw9WV+Xfwi1&(kQIrbd&l^e@b3p0PF=11cTs#@L=#4 zJQyAVhQdQ&Z!iq@hKGX@@Njq}7zK}nM}sl&Xm~6b2akovg9-3>I8z)YO+?;Ayv9mQ z#A}nJ$<6a9lcX6aF+-XOPll%ge|Rc94a|b4!Lw0j4)SKg z{$MWb56?nvaFHA^KXj4ip)NFn=fU$q6L>zn05pRazzcyZybxXlTEJB?_HhCM5}V}( zNR_~1xRSV73dFM%F%W5rxCEraOQcjW2rQL?@K`D>1IyuM@J3;|6bx?^f~CD;u(Stb zqg0HQmf~43$}L6ia>*dBkV2#t(n>f4?gdu;efC%3YFH(O{(V)1;wlN1!r<=kAD}C| zLJCLemGCMM0k49?z-l-Q?uxBe;hBV4wKcGZt>H+?UR)zZ;;}}G0&C$YcpX>|uY;o{ zYm~DAQLv2|CD~&39wlu+ybj&~$AD-!2Hpr_;f?Sn5C?C9<3R%Kh_;^1&dN!Bz-G9Q zxLN8265(EAqSOOyfqRHsq;6m<+)dmnZ9}?E`U7LCa~S8H6O*JvNRyAS9%CLk@mnU?QwCZ z6oeJUozgPU4eN=^@M>4Aepe8Zr3x6=BumLsC1Dpxk#^ycA{D~3Jdv%y=ZQApIc$S5 zjTLwSR}!9xDbf>+eNs?57vr88!fuI;7ULL_u-id-Y1zbS~ZC(oGPVZyFKt;upizF9{@hW0i-@yu}#Cf><0(o{qP|$LpX$V z2G(kKBTB`ygVJtE#X6Z8WWr|nu#|}vti#e_>7H-|+=q`y_pvs2UpOkAM0!*@4bEbP z?y+!8V(VJRq@&U?DIGovpB2&(J;ke!vAU%RCW)>4nIxwAZ=-ggM=e;0*8Xzes$fi?I9I0>JCPl40$ zDfkRH3!j0{p|!MNo9|fFW9wtLuwHfxt9@+U>>Ae5u3_BE*3+(HeeEj7!|$tK>_9qA;j+IJNDN}aGK(^tBI-sC!b1D=ZfDSxlzPZMrP z(}Ygq4fG4%QWm%gXTjOv7Mu3@V_?}cu$N?qb9I1p*8qZ3?cac*D`8jYIs$LE?t`saNl$FK zLwqE$8T2D52{>Y=og_M9HQy1d_{@)_vS5dZIkos$s)1F$$C5L+2s?`xan^isKg16Y zAJi-#VLxiuJfWpH2e`s>1XuBis*2 zAzT})C{Lw@qKoiUdMdf#-k1ySiPgocjqt1|?izKHdJEnn8;5v{9RS8DsF9YxYp4Zv z)`A**SSpUYfAL@!91m{>Ti~L&L%0jr!E4b2l)$R$8mSnt$4aZ8l>2w@oQvK%7rnQS zbO7^ocCTc=xEw6SU6z%I*j<%S++_(x94yQhPKk5D33#q>LYxm4;*L%r?%tdb18_g* z1lHf&g=ZLH4H2J7&oIUsj8~pX0}&0zdR#Ny({lwCC0C>srIx@=Xo*#&ic%BIm;|XG zkl=nu`hsC%Um-gaT$@uE9Cv% zN9Uo>j>SEhJn5GBT)M+%#1dBBrDs@qKO?-5P60D~3hmJeVFT7|HiCF~BfJT7yT1fB z*ZWI&DgA|eZZD;);wy>G&|hIZ^a|sn@rcG_TvS`Cj!}Mf%mCPEe<{ZQ4RAm6jo1*g z)i?NN7vm1rV%*VMidB;h!d`I$Mh$z#qrz*6-Bo!l9R&MvujRFrhPy9mSS#5F*8IJe zvIc7_d(qOfRgMGrv##<3 zUWyaXqs@vF+hX+X4&Gvn?Sb`OH_#eZFv|WY${2Tl6suttWDuM%*K!kzhz&98xF9A; z=fOFwYt+On#~Gu_HyBO6k>0{X;bGt%JPaNIM#0lChMO+c#+6+ctC`J((O4U-Aq0YI z@N%sAtrYL0Cpn7VZ=YmF|9%Ah{RoVshha710oEqI;ciA5tm=Oe%7G7m`xDZeXt9Q) zMeB=kvpZI}TZ@I!TNgr)pN`%>1ASR0=7yCppR|^~W3Fy1*#cwWsoefX$qO@IB*|JWU|fBv^n`DY~H|Ec@m}Ey+LWD zID%3Be$#!&O&-(BcZ$y_U%y$blzsrBfFs2~L%Tr zpvSnrQ>Ocl81?&2MzKN#yRMAD&wuEoQNBJyCyn!+FmuY3kwd5XO_@BZNz+CnM^0mh z%ifi}qgWjJU*8rP<~M8-ZUYHIpGzN&fewx&q{n>np!^Brs1{|(>;v;j!kzQRA2Cj( zYwluFVaf)h?M5f^W>*mT=n!dax}^dMDjz_q)#_+Gu%|q!dwVGv+^~u9aG$c|UO)gT z=D5OR>+bTzr|mLQXUIH{>)*?eHjM*G*M<@1PIoF2r!FXeGRVAkMOpIUQvfLv>!G!k z%9B4AFD1ns+Gr)}l_5jg1dx3mVOkyUawK$35E*-GsdlAL8PalE0BJk=kk+M9S#o?> z5V0P$M|=IT4B35mKJmBYYD0cFlC{EOvS83%tpP1V+*Zvb30sO-N)#_ma$3zKCm-2Z z><5)35q=ZNguaz5e>s*S?Pkv)PlL-@D*P%&zHIU#Pj|Xl_PQ4%wR+7W>z359Or38> zo>lZEmA|yHI7fdpMh%-q4wY$PnWH>2<{a@QN2d0+B$hm7Y;V7S9Np5*(!%qo(KF1S z%w6B#Qu5q#qj&rw;T+dC4$nH?GFJYXP_WGG- z$_*wq>7%v1#cykaPMKQj!3a`6ueP?l=pLxt6&&h&0*hX|A`^ z-jecV8S$%B-MnP3jpcBiKpfkf_7^*rwj>P*CarT?dx*b^T6%pBB%S?>7;BmwEiom7 z$<+Q1#)NCdExVU2A%h35Gd#m*MZ>yIGv+Wx08@%tm~kLIZQOvUx$I zy=QTgk_}Y);h$k`weZKParWrYeCv< z*r$113?!8EzO#xPI7Rmb=U)5jFaeye?NfYT}&MAU#RUu)`iFXU!&y#`hsn4l9j5B^Qy+G2O`_ z(_EuXv)Lp$uM@FraMhTxY5{4|*g!^2a)LwoXEVOZ^ml@iwKP?PQ3P&A|BO(h(lUYGPF){@_tbOIa=$p z@$RZhmBzsN>>2Ny1=vtuy@$MQ*E+>yM?rGzOWU>>$Mv@- zog<^j*z``u{ux$ev>Zu--p?`iYWvtY>h^k4IsAghK=-@Gv$^X?`pRxbm$>c5$k{RE zhx?rNm)0a0g_ax1Wv!ZV&zUjC)FBDP{Q8tf?d!dbVVe_4)yvh4sb0@KwmnHASADZQ zen}rZM(#=`rBkvz>K=L6eunEV(lcy?M8eLQOI z4Ucv^x0B1=CYxWJ{%Tlsb_ZGbEzs=NMKbzr+)8Y33EHCx13hBCZYCk#ugxCos~g|l z-%LscHqfr$DQDbSA&vxmEUOJ!zu36Lu!&5(J6Wq7KGt|rh$C&&7is;+>@bEL*g)=I zJ*cH`-ef%1E|!G(9Mk5^ylPAtyPn+E?rC3FBpX|X#E>he?`wWt9vQ=qMw4x3(Q=m_ zGP*sFA#MF7i=pUCqqZ`Jv^!eG^67h)(QRTZDLSW&<>__w8AmpdQRC}bn&aF&*&a=N zA39mI>H_JLA4!~dHnx-~_Sx9|o|NxxMXFy+G|p}rO)gF=N9?~}GdkQ}M{)+&B7eAVH+m+oBZn^4 zB6aIuGp@U^mW)|dk8E#z$rxKUg3O-fM2Zc+XI%GlH97dU3Yl``y)mo8D&iI4KpZS@ zjg4BZAzxaQBq3qN$n|QgNb>~}dB59+c!sPYLlXp&_NFX3;JA`B*?ZUMa<>qXZ>}Nd z`gv(XJkEJMu!|)Tz74fij*~qmIy8S8hgPA*sSLe~@;nO>6uB{VE&f(#5{N+EjY5rSD+N*QNZ4%dL zBbOwSR(D5v_;eVq?Q6e{6s_~wW48ASt!ck)WNN<*kFmc_n%}u^Cv6@#FuEQ3WL8tQ z64|AW@wm+#8qgw%%$+>gIABzyxzFRxq}iA8Mr->a?LDFr$!qWB#{4Tg%;)AMkRC&K z8|}P&%hhmuY0I*`Gw1GL8DLP@77J;{MNm9>h=%gExY{YaJT(+t^O!Q@qo-el~4KVwd- zWyJMIM>64$bH>D5OUUCPXN)6mf7kN6hmuD$%h;^qWi84#j2Jq-GL~O|POGYgkvq7q z-CS>J*GMSY@yUiX=$NUUX&psI-*zI`P1m%kmT)rBQkx9%JEFBdxSsTi|7J{lcti_p zy@_zCGG5@1d`yp*evYZujMU? zBWcAl&EJ}A)cQ7#Co?}kH-{$e(vnZCCoju1&@LZ|)-o!`5w~hnG?(70*68s@Qs-o_ z*16OJ&2?2Qc`!6oOAWQMWc=DdCa>6~)jxSt^Gi%5Ldhg8=#-!7sZuYh`9Hbc+hAt&{ezdmK-1X8}{On2+exQ@3 zZdSVSThRzo|B}wD|2t$3k(WU;FBo>1wF4 zYlnF9S1HNzxZ*71m!BKSc;T*gv-nV>&?b&-nM<{P!#s`UKW-*{DsR@_9rQG&g>NQv zYj4%w?_1%~$9fCddViVLYj3WH-=KI>VbL%x=Zl}&*)yIzOKW1u4IN?3D;7s~*QjOb zTD6riKLp?Tum+a?zKI_4_zlE1s;b3i+aV8UF_!rMtZq45)JL6lHkO=N>1at_X1$6;JBE6fNV2obyO*w~7 zN(GabPA4^+lHuC7)a~Trwp=am$ZE|xU_04hk}PBUPt`^TY$1ZBj3qn5sO^2ciC8zO zZi(rwnXmRnf7-37W!~kd9{uvykS2B7TWa;UGtRS#AV#5;rEDpME5~)RgteGu z9PJlDeC}5ASajmCxpvDPWZ#9+#w`D$M(?yllKnHzm?1ax$O+j>Vp0>0ht?D^7H^zH zTo-FbuXcVOj#*pDS@pQF`~nwaPTy^0Z`r3trwc`lX~(w^+jjSigTK!(`sZ&VZGuHI zHf)G7A_4uly%X7+Kf>sjy^&NN*?@R29BYidzMjmj){NXSEH;kzSxxHy(VTQDbIv0< zVI3)&)RAN_-|n&LSOf`M(t>ohB$}V>Sx*L}b|-7Bhnr*ihZA#HClXz@ftL3*f(ULB ziEmNTT!*>bcjaraq!{OZe18^&(_>qx3wytb@pp0UU9 z)x>$@ajjIwC!=&Fk~9mxsV$yvO)`hBA**_P)wT?jNXGNEq>S|&Ewp2Cvgzk4)YHNi z&v%8%5OpP4@wtd4W~T#bX0w>wXj<74Y3)dcKU+w025i;3w=PcpM|)=iRnzzX{dFKQ_&5IBubK zO~u5F{(Y-wPLE%%tvEC#qoh&&%qtaF;%A4jcAFPe)vnH3sI?l{_2lD%>e{|t;c^tQ)m&z%|1yKK^K+j!h#)R#jUbx&{97LQ-zkw1M|#@RAkwQo#5NgMrRxyMZ@!eiKl&Dw`^2YDp;gnNAdYm@fItE(BwAd z=WF@zN6v)}Bg|fG4dutOX&}X_(!FB0 zD3=0@}bgXm~N*b>#e&g*A9fh2EQy?KCg^ioHiL&N}b4`Ty}e@=J68W zX!y%0jNZf?aBLGFCe3 z{YRb|tTc<#RbXLx^9#VRorkWbcpUm~GUOniARe^wf z=YL_ezsvbdr(aUT>EcKK!gTjGZ^)jT78A!=7XQMAU#E0o@l(<3an@t{CqMqB%LLZ2 z`(n9D_c{N04+Rdj^4-huJNKHFlvtijigW1Hb$LW@w?zCeSTNc$_p?zE1vzf&j z)_kBjs~r(fZ$-SIH9RV^kWtPoqkA4r+T4vzmvmHhCz|>WZNh>Lompi|Lz*=wh;2yA zqA@y_9)y3isJ>hEJQ`$pHA<5>wpiXRMy#7h@6bDKU zH|o#EemO!C>^jo-+auZbq-*ktrv5C??=8(rER-|;;C5ep7RZh|+@q1*)0Opgy0Yc3 z&eL?q2ee*l6*gz02kQ{FnNF{vqx}^J=F!udC0qBR`D`3}6*7VPbl<8ZdUa&(HR>|Q zq?JlxcsO%fwTd>A%$0e?TGk$HSoxwdURvzMTBp@!&Oa<+wu1+I z>NuWW{!&1KYdAB@6(;P+nEtTC=mu>)a1C8)-U((MI!PZ&Z|Od%FJ#2!(YCMF(tfw> zK^O3lw#YYU0h)cvmswL-UArp(!VY)pZpl`x^I_9;RQ{7Men%Rmyzd{$PUHcG&fVDp>9qT&?%&8NO(!X;a#=XeIrVbN{j^0!B!O+^nR9H1mGIZ_fRzITOG$paG%MVEQNL zeyNi;7zY@D&$_Ktd&U}EnH3bczNa70eI>N%U|20(a$8w+fu!dR1gDf$wB>sXSnbpq zLSqlPe@gsDR(|q<;2H;MlMLk3#(Kk?G!KgZod$X?dlQ3Yq&u4I9!)T93Rv92zg*I2CTbRCCPc$$VIo|;1z4@J}1e8eDa8bpU9isOZL8D)E6d9CYV8nMtLzpuf9&7EPb>18s>FQ;OWvn` zAv3mXpaob!7ia_zbKa0|NmI$s;-4f%=>-*XW)Pg|!;P)a$v(&1vPHHrq@?wN8X*-) z!`Q{{-&Re9yX-^oi3r=s7EeLSj97&uuhp2e;N-;>>%p5%AUTgHvy`d#wi`r zZ0P4YQ@|m%rV^f%ru@v925aIv6CX`O`lkOxu=Y$K$x<)37waM*E%6?S&>T}P-U@^+ zF58KxW>fl;!Z3&q0J1mWmh!=9G7R==POeJN(m&Up0&Vlw%Ckb+(c;9(Fz#F%GFg`{ z7w?@6`*pX|3#4$lBs>~CV;iKOm7W|^eUAn!>&i4LNs+$^y?QDb1{mxiF?pcmg^vaEW%J4FoR4&ejW0~Eqa)X1LzJA& zBcZa9A&_(H>9R;~=sf=~$W95S;jyj|KdL>L`x-MZ%@%UP%pX>zUZm!p^U2GS2)Gs& zLN$r?$s^-1=pr?8_w(IFPG<~(AdM3_D%~T|+W{ULy(JHe-;j%yhQmh7E3`*mV^Tk> z3T&O&gGDB#%YC0UrSE%2vNonxq-0$QO~~!QV*O5#S+OUTOtS^opMN|GYje940ohg$6q8xu=>^st8GGhI^wdZyaJ zlS=QX-G=JW8=6AesC%?k?b_hbxh70+tzq`(mJv%Y6TtqR_78A?tu?r$_|6U)e&l`^#y_PG^V<(}FfXiPpVP8P+VjM9zc_rDwv2!i*#xG4?TFbKiKt zt~_7m{<_yR(|ib&m&(%Q{GQC>t}zTw+DjWQtH!3TBQW;W5t>>>$%E~X{|Sr@g=UT!MOyg=~^Gow+>`svyKvz{8=Qzw=HYvTMcIB>B#2z z?#v-|Ir$RzovbYJVSi;;Bld1J!NSyp?Q*M)R9XTMMJav<#bKrCArWu9Qx_(=~7c~^1Agz*p=-|7D^q+i~bSd8fHbx zWXH%~BBwy2a+bvCK)%^L6pA&I34hmL4W0nyY|1dZkm~e6XFqJ$`O0Xc*7Soby2sf$ zF`WNUoJ)bfV+(2>mY{r^69qF8b=1Offt=H4B>W|rDK6bt%ReonAuy#S4M^Q5f3%DO zoHM3l-zfjA7Y&ASGpMV^iahff4*~1;(cG{xB>O-x)Jt4MvusRTxLT0+ znDlAItKt5@rvb5m^4Fv<1rCl1Qg4k zrSERvZKlC<-FRiKbr<=kOElchexa02ja9y%nhG7#Hq&?6pOw7$u`qOMD%E~TqM61+ zpj?*3?xu~RDN()PFLN`-`=~Whoxv;7mYL)j(CIE3=$+eyt>KyCQXR+{HIljO*169$%_K`*y-WL+;*`mNb8y;Q*FnNu4oeAxJN2Q%qE5L;cz~07?J(zl2`pFfbqInWYMfMgtr~1R7*0? z@)WsRCj@?4M-%@Wd&!loAQ+$P3Wbs3#M`bRbSr5DI~;vU_;y#A+L=I1Hj{hC*+GXD zHhe53GfOm3cB=&VEim`Atpi}yfldIi^%SQ-OIWkFGZ@B}rA@M`!%f`?d7IQTy(B&w z+E?04aNedo?imKIepcWVU`ZDmcYq_FcgZ6uEIrF7sI+gdoIP8{u@NHoy2Goak8&@! zCSZ|o4DEFdz&zd_{8v)w~IWN4k>mIj&HkdzU`%f)+Z=w}DDYX+QC^L~&U zFh;RiWC~l1dq6ea-1M@E5~L{u;7#Hu+4^`@*p%B1{Ojx^=`Ih*jz+#P)3F^<8`p=K zmo%_c@^&Bp#TEP?H-|bQmFa1DDCp825@K49UWE{t6Ouum>fWcnipB9(jw8LYQ%XMz zmv@{Ychzi{2M=xz;ay!}f^<}~TxXG1^Kn9OX#Oi9~I zYiU483)Zb(V_5#on-(hJ?0)yrBwO>8?y>H}THIJcE*BM0{3;Wh{Ma2*B6_jyVb^HP z4@M@t$?QW;B-I?K4{@oPN_a>bx$8Fy3i945r;Q$yGoyw=tGrtBPseChJ2hS@OnFaI z1N*X~#7T6`vd&;(X~G@{gwbthdO(#UhHOJXSJFRnH_7S{#Q6JX6g$&B zP-QYqJ4cCid;&e?GX!R&XmIXvJ^hnc6f|77m}G?I$%R|P;i&GeJnx*AzCRKP_*qG@ z&>1TwQ={Q<(H+@Qvr_qF-NKW`gLMEiybrk9U#5A~F|6CX2}M5}61hlSK3!7waQ355(&cJ-*kjsSSGZ?-Pkk zTQM(ss*CjznFl)buhEMiUt}hT3>ndrUOc{dePVs|=i=$#U606+5bvMpaW68CMGt$C zK_+_Mi}e%p;`0_6BcjK?ct1pjh4_49V^qjJ|0RAu#Pf;ocap$-7wao}!ix+8kLJ=NGR}tiM#>FXSx$65swYvd{G5dGY$i{ziNrVtvK-Ce~kMG>J@#e`@dI z`}*%PF2wgkd|qOG#rH+LUh#OR1ZMoh+`*t1zrUhByblMxem##N_)LE3@A8Zi(2JLg z3?Pva`TpHFo-8=n$i|6%xA)fO5g4S@%*lxO@Hg}j<0WvJmuy3y6}|ea~}-)EuQ~(B{FJq zZubSf__6NY?f+YUmlqlLAB!VEFTTD0UF0dxKe#{ew|IV2lJ#%#d||=x-{N`wyUA0Y z*YoFi%JW~pME(}fpUTw!7SD?k87|^{LhLWayvSG*8FJ$J#N)46UK6>9zr?o{-)E7@ zl$qfHdWpy8d6Bs*GVjFmi}l~IzAos+k0-v5+qO0Yy?FW0A5(ve=f(CQGTUA}9|3yt z?f+ks$do>Mq&4Wp>-rLZkFOWci;N!RkAYsiT$~Szj2*Fm75gLcdH&P=5}Aty`GKGp z-&bTR{?qaPyURu9p8nqPl%HGdPxhxef?m8_>>tGOL9D;X5EjeD_gO6eck^QV5&Ng_ z-=aXTzdN@6+3}Q@i}&NCP6K-Ja`E}==L$UiyW@-Fhsa11+ppMP-pTO;z4-CP=PAzL z{;m#xt`o;c@%(>o%YW97O*|FLcwQVY#cjmQ-}U%C@&(2JLg z-K*mziOog=*5pG_OIgm zufH~){@wY->l539xQ}?fV!4> zG9JbGtoZrm*3I6a7vEps*YT9+#r?(liS1LI|B8$~{oIJB{P^N{B!0f(+x#aIpSSpa z=y|R@<>wLmOR>J<=Qpwah`)~!8Rr`})C0Zv`SOtUtk?g^b?WEJJmvd8c|7#DcwRr3 z;OXBTU+lk=Hr5Bd{%(Jf0WLB?_w056z4-q6xg<|{UaX(UU={msvCiW4h}SQE9uWI~ zvAsy8e?l3fGF0D7s>Q6Xyocbj?kxP|TX;LWE_>YMIs{L(XQA(}fqP1OW@(rT7hkxu zPL=n-%g_OA37HEPHa*x=>o~Y_JeX}8>I!ogjbL`YHPEIwh9zIfA#DQ2vz{g|$XA=W ztme9QWaNcutlZr3B)Hx@7Bi|@`uL8qtVPgu_gyWPunHTe(#a3zvShgr?O1LtQx|=v z76r@LQ@=N~U$w1lc5@qMQZ<3Kb+BOz@>j8kE*@;P%`A53fEOFo5_w#zF>Iyb1V#r< zW7WIOWcNSKXSOEo@HorZf)+k(bk=&-tAPm{_h2`>*x8)@=zECG&Fw@lo<7agi36#L z;VJg?OeHdJ?R9p&OGWZL;T(JGl}$|CZ?j!qcggU_XW4L58Acqs!7fhk2qu#h)@=4{ zXngz(>*Tx;PMhpx)tBvq`aKS@gXYJe@5QBTefvyM?^(w#TU~;CuCv)&lN)fX??SeG z^AmV@GKiJga1Y4LVXUKE1RDoAFz>;)VA$mv>`7Waw5j-&?z(assOH01<|*Vx}ti@ zou*{x)2ixmiRa1J3YFE5icgZ=OKPaMcC8EFqN=I?%CUk27cJD)o{oe0i)z!T-wn6jJmg;)pr@-k$b@i=w7on4h6<+2Q z=;KgPz183v?1`?bZg9B(TC_J%pGhf%x}%NMCojE+`o2G*rvE1}nq5}?@wTDb;?xV! zWmQzSlZ!#S*HnGN>;c3S)KsgkKY`E5R_eH8Cn3()M*SrI46p$W)XvWr!|SU|-_c0`&otvoD%TnaMRjt&j zyU)_+`P5Y>L>*SzoiVC*Ke5avblH_q=(BP#C?&tP^f;pdv(Gf4GHl{JC z%eIBS=`YD)8ygsG-3&&rs0sMzvLv?oW0Jso(6jH!guo-@V&j$MN!btN(o;s-2F)b1 z2Tvpxl_rtQ{i!5o#|5{GYmJeI_SW5YaSd`Mdj$P_@thJ9=})U(TCb=Zy`n1L7;0g+ zo_0JmnjURt#11#ipci9x^m@EPznfNL)!$WR-$To?mU~KQeT@}s{Gl#uoK}}jo>YZx zIpxgeWi(^S2OQYGf*MS{VlZ3a?!=xR^JQfcUD)T)@oa=!e->jqkj+yc0)J9Zc5t}> zXAd@^)7D>sggcq?)FTBDqw`jlXr6+)s0RsdD5+yM%#nw;Fi@|JoI$!hEU%vHbxVFU z(nS66=@q%m?eglFdnxW-KaAD&vv(_%?yJ-%wk0YBV+_z6GwGB^h4R_ATS%Kjj-(5_L#_vv$WK04!Q{e875GK$1m|AvF#5|VSh+6% z=&o3>9XA3h?gz;G7z_4=qo6oF4o(jOIN_TBmJX57d*xQxSbZEE?XnCM$2DNvC!&4J8aI_TNqKGZ9-4Tk0yK;24N z5by8?dhFN^<*$8#eLfkW!8XZl~M@ zlg`g!=~7=yLs*aSQ)Qk$IivUlZYKmS1tjT+&s*j0y+cPKb^h2ZO2Zu^I@tC+N4G44Q#?LAUi>E4E( zcu>iGQriWJ%Cm}m-Lw(4TAV~;PUjpSaeM}edD$vmHL?**gZ50FA4o5@ZOa~3_^LcH z8N}*ucax8eZ->l}Npc&{-t792Nuz3 z$!qGLpF&I;S7k@7>OhlR7`^y=g%a}?>q$fo53*cWtfn=hb$|300lAE$*wbB zV9<^iAr1=OF^@mP3$pbJ{zn<6@=9RCet{CqHQ-+sQ_oy)+>|M;%-lOK? zw^J&sXWMUvAJwiwaD#EM)#(`w>OUH6+pE<34FVuP|07uAxA+V<=R*XwgD6>2pSs-? z90pcbpK$5to<6^(x^Kxi^89{H_5LnKu(9?wut=!S?)RDl$u-NcR#yEXCa)|DsEPcX z#C`O}i~3+;i45M?Mda+fJ9K)LBg9r^#)2I@NXG%WbmoUyvUBwsEaqgAk}$Rb8(BuC z!!|gxgwaWKt;T_=r^nH=L48@(xEnNiQD3%j+A~_gU?%$zTbp(CoXM^PPM4?n_F=nj z*QVFo4q;K}7PFOC@@dN(&EQGb3hI~^<>2hmkI-lLcQWK^d3D_$OG$f&GHO43$9Fit z0)I_i^8NBhX!fZ#nQN2_t)Ce|g0&%utmg=CPXv?tm8Y_=QJL_uelRO{?E>5x(}Pvt zbrr4}cVWg+r=jYN0M@dD4lbv}z?DLK=KBPo#r_U#%fXlA$sQlp>hM8$`RqI_?6(Q& zLfJ6-z#5e?WPg`eQnv3;fZjk&O`e7 zYZKNP$LD?b$J30d>)Gwo0512FSv)a-;eN*$Y5az4EAx(frQn>q3@-n}Q28H*%74yK zQI#@OxarPN)G$<8jKeSnqW*uSs?0-oFYfO(A7x(Z`NbU(L(z$r(_;Sns4BzI3u_JD z-5?ZqHw{70G0v)q$F1Xriti^wE~rhZsJks+!l$;FD}daQZCDS zRp2e~GF&|jM3;)kAleyaZ5TM^?x^g{DQ?g{s(J%LLH^k3v2 zwcLl%3q9hzROq*eO9pz!WvDu1%*1#K)fM9@jK@m-=8j>?DF{c=^^yO~NiC_Etk-{k#kcxwgvzpvu54Lu*X;d9^wmo2L6DDKMmi{rv6E}Z6a3&{(&RJTjXPq&c-bsPCC zoCw89E}YoH87-XKau@j~_i*8?miy=k_5c@7Y2ogc4{^yuw>0iP_6V29szxa8Dt;KR z^(emewekJ0t$I@03jUSgGDpQJE^}}x{9h!Orror<{5g1E@8WVBx8>v<99X4WxZN#PIozWR zy32Cvivh;67&oX4q>b3d%1N8>r%l+xcq}Jz%27G#2I>|*$@{AE5+~)9N1{u4B)M?1 z%fH8ise-P*rYLI_r?zls_`6uMYFM|Qs%n`2RGFc^V>FY#tE!_oA?6n&=6`$1)s#LX zF^6+vKBC7q_meY0_RI%WWt2HOZC93l@nbB}2b=p}*FqJRGGjQshm&MDQ->~kOhbt?XE=F=b7$;ISudP5V~4~C z&Ua}lrK_4soYRzw{gJ)I`A+tdy>v+BfI5QFK{}$cL#1J~lhSbOH0*<#;?bI6-VWn0 zIt|~FvuT=RO`8SP_-N0Edj=0tl*EGj94e=+=#BoG|!|KwJbT!h+kY`a!DO-sS ziYw7omD9_XqdO+|S8a)YnM+kpsK1Z_;e=P?jB1S08Ka_VjMu??zb1GsgK=w4L2D^7 zloLjVds37$MvDHM3XahRI7%C+TqMqoa6wl{&dUi#hsah)jNs%P&W&h|zK5+P?tb`- zo#QIGl@fF~H^)ulzJl%;r>QtKXBzrj5-A1+81c)U=r{`KK&r+?Q_9RSRkg#^RONv( z!{{NIskEpX7_}1jGIc8@=x~M(K>`1iw+o{U=Mr|M+Faz8q{Ts8jKw! zPS4_0o+~OZ)K!dL5~pWra4o0ebwn0TM_lJ!%B1nZpE{M&dN`w}Qz@l~vwB*qx=1%m zse3oEHwKlrB%^#V$|@g;Q}=w3f#ZYwa2j7{+a)rH zrkksJq8u^ylpIyPPH!|@A?g9XGrjSx zX@#*hst?B27+q0)F}iZn5Xuvyi)5(c6e2@aACwWsKIlkkjH$7T6N!xRDRcK*Pw6nu z0?wfJV?2Y=Puh?31wVA_+^6b?;PAlTfqHNVbX&a7_`*4=gU)qD7s+?xT zIYxt|WGowqaT}KH!jfG$L*ZWbJ8;(GfNj(sH5j8kMt{_9l|QDtajs&6y$f%}*0|Oh zd!50!)Wec`*c)-q9Qvc92XcVK$DjZthXhDpa3p(y&dD!PL!_6Oa#GR|>6>aOrr&Uk zd5`|d0aCH*6UG4P6K=x(F5rxV->dU@4>>`O-@|iw zSI^-+_QSXLnuD%#8@%2(IC}G|=G-<;M|*=R!t(j(j~$2N&bi#_^=YZw>r?C- zJfykUD`+v!#U5cE${gp}b5*mkY&No_c<&L6y-Bb%UB!D9?xV{oHNg`1)eV+7V;}?7 z86zkB`J+96Jw8hv&gssgGBHNt+;<}OR8v&E@0y|tK~2UOf~{^Ot_vyc-$Jmz3&FO> z`#tU<%Xx&gB~Bu&Ek)o67LL#L3p!t~#hEpqlSJVhB?{*(uT>TBj&OQJ4ID2yZ_NZ- zmJ_zEJfyI2PjF6P8G*j@oKt0tPQ%<|xC)N>hEg8N2xFeg2)E!4^&=!3oN4{dNq5kgr=Y%DvF>|rB{(+2}Kd?4HXbYMa14w5J}bo z6|t9NFUNlD$9j%k`Q}Erm;W929pih)n{#4jo;_FDD{Jm2{Mb4?IxQ|HYi5R(Us7tE zm0w0yT6DIp)r7dL=}8&sR*v>Vx&K_$l^Mp6r@=6c0G`|{j~Nh@6rY`ukviSVY3g*V zz~~uP!Kpb3N$K!@sPjjhpC~8l5m*uQT?`$x2Vk z&dG`kjLu4l%Q6NrF(o)UHYILqP*O-%(zxubq|E6)(b>_aa46<~IW{gaIx|lH_rbu7 z%uKJ`kgT}4PF3r-IyNaGX{uMo)R`e&Y2F#BsY%@VjgCo2Ryi?@A)XgJ>N0R|Mvd3#?6iU2-V=pothCm&EeS(p547FLJS`)Hy9WC zjSb>nV9k!f9}+I=uc86lCdjM%eWJdmCZ{vZTux(rHMO+|z=XLjxOuzmIxhO)XN+Uh zgQ!yHN->Pt{jW&N(+Q8rP{t~qD+ijL4|!LqL>p4Z<6d1WX?(js-Kb_x-B12QxE{HE zFnQ8KWIgjA)M!6}YIU9q!`vF3j`o+j;aFBk6`()vQ`)b4S~Q_%JU;wN6Kg|DZa$~p zY!F@W3Bk7&b+8hQ!L9Ti{t0>OOC3rB#$t77sRY`atXh)VFNjv%>p&{7He8+PhA$#3 zzxva&K3Y@*T5>D7;g3>M`{F05x;75xqS-l{1rIKxkBzTT#VUWQ4SC#3FY73i*RIT@ zI<~tIw=+2HQ~p9Udu=~D)5nu?JB8b>DaUQ_%7BmPez6JFV|1ZMhWSflAa;543Mrj8 zhB34mZU>v^ydlC5Q*dgT3(|*{+`3p)KO^;jL}K6m&PW?Z;P&*c4hORC)^s}WSs^lj zmfX6$o8myOD`eB35Au;7V+f-#%$du9czT^8R(xDZ^dOJh88&w`sc*)3>|=xE`p{c% z(Bkbzk-k>BR9Ddp^@c2NE)63_k~Ys=>U%?s3}G&2pe5|MgO2DW;Kw6$STn{LMuD{t zJ%tvPrQjL5LqtZ9#hvex-eFY3mcfR~j>HH?;C7>l`v@{IG?lte-9b!1;l_=L8G;`z z^`rp-7ok5>=#gQp+wJhu(<(S|0)x$9E`328Vxva=#*V|Y6kLfpDBO883pUBkj5FzC zi#?#3FczS-H~QlGXIfPC>IP&AbLj(GB9$RMy<@1wKMeO_EMXLeiLI2O#XpXrBFiw` z7qYl>vz@3;vBr2@+3%O!9D1_?jqx6e8`hdp!Kkaq67p<7(tR;oHnHhnwyjSAwt*V6 z1T89~L(X&mf)-Uzfie0re9+FmQlsG`$K%+f4tZZV-~ON_XQJS`>}=N#o(%_{ z8eS&A7y@PxXn&8tf-0M$>Dv2AXb@y^=PR(NN2l39dfw^_vSkLtC=AnLYe07$8ACMB z1>hkt6K+ktEFY7rrc<%O;Wqg|7?oQ;&-YgNxVW6$oa{~q!U#h_yYkEdo%c$j14d9Z z7}`34Ha%u6{TQ>G6okA&PK+Il!Z5dcO{5vwtJre$UT|(h7-!Jdn^2;cmxdqAE|v{} z`PqYZ-CK;S<$->;7>+Os z!_0giMdz+KL=;=LAZM5fx2ESbDan|bhPSRRmf6Fo-1>E_Nx-&?t;qG~XNWzF-~!sF z;d6(T#23&n8BbV8XzK}D@#$2$proE0M!ktA;|im|)mx*Gp1NMehV&oIIzfNKKpWD0 zi1czx$Ej!9S!bA^8))Ny&cu8lRkR!rg)v+hchEY1CZKC4XHdJ0Qn@>1apya~OifN& z3hCt6&qSV#2aLinrNRU{c1kT#iCRU5!A!U{{j71AJQ|peU-xfk-C$I1{YGA%jbCWm zkTot_KyznAplOe?lvz~Hq^r|nVa_b{$S{!s;Z(JB2^q8IF>!+|1X}fE2|DSNO}}1D zCoGI12JNGJ81+rkWN!~qrJgVbr+wIenj{Cu;fo)}A_*wm`5y4I!%6q7uvlA;hQWDA zK%4N#WV~qm0F+tzFLHwsyg<_~iA0|7vS^V;67hm8Ze2`Xw;_!`5@_$Qjs(N}yg_T7 zFQi6aHEC;fL;DI=ZUdDWO3)_su+j+>VKE3sNY2ajDM$AZ^FkrsD!HAuVE!{ zwj&|$hv8AQ$S#%cNKhgpnSjnb(e-EYP09uItzxh|h#AEMLSFw}$7LV8d^(sJ%>;pF ze*Y`seA*v;dMq=B2?ou?&Ifh-bObg2H8dM>098_!OVotF<$Ub zu$)h~fKN|=mf?{1BC8g~gHP`VpB~GEG9jQDg)c(O!KcrFPlrOw37~EIqZCzl`E(e} zWFlyV4=$7E;M3LM)8Wjd&b;J~GIk^QG#`9=0%)O-_cMPX;e0v|e0m}?rE`AMkK52v z@abFN(^H_g$&mL*V<7bgpXPy2hcOYI^E1eKg9d?5$AV8sK+7qR$E$vZB30e8z4RvIL*D0-uh7tZ2|?ju?r~fKTgyPe(EFopTwx;|`I7PcHDN+JHeP4fwC>pZjK?9%0>Rmn^%_P7m40GRY1ey#!?EpSK6_fZ%F?RInt`1Dlp>3Alkb1s8z)G+7M^T4MQKuLkTBZ5t=1^Dz_@aY65k(mnG z$wptg4}97Hd^(Ov?wm^;l@T5A=~nRRWEdd{@}^YE$f7QvPJygs&<0IZ$71m5>EP1| zOe*vU->kid(mmkQLh$J%W?E;S_{D5dAo%nN@abvLTN>nT&*)&y!KaJBr<0ki&iUPb zrG`Vmr)|KeQ<(J5^G(yf#P00!=>#SNMuG2jcjRMq0DO8C z_;ePN(>cF!I|-=(pRNa=PG@pq6u3@KxI#FeHV2>1g{&OVJS^(Taq#JD;L|f;ggnq1 zYz=S{__PuD^h}t^4A8LUV{`?4Iv;#G2S%LnFXW3_x5KFg!5@3 z_;emq*x7bw%vgM@%cl!rgxQeySFefqa@Hz#Ir#Jprl_;Og(egkgHNkSi)AwzY3KZ| zd5h^*@M$aX=^Q2>Mq!wJamxtj)BfAOv-yxE1?|Mg`|@$%(>dVNg)l+^Xw%+D;jQ4) zs^HT_Fq1;iz^4)C(>uVYr7&s{Xg}5@P)qRX7vR%UW)6(PFvI=lHgi60oB4z-U`jjN zN>8Wa{ovD^!KX`Mgt?HXsZoeGU8`c9!KVwE`JMgQHXlN2;M4QKr;C{4&iRe~Ig{ps zPcH$VmNN5T6owi4D}h`ApLPPDo(EaQpxs}t#!~R<4=9yd~%OGnhXs)l@ zhzj`hyDyGpF|)jLekbP(aWC-ccJS%t%wlE*zBk}#9I^#KD`?9RzaR`znAcx>m$kqpI!r5t3hKG^p7fKTUxPgg)*IcP@Lp0QiNr?bJQk1!2P6KFLZh4gOVq+z1_ zcRbcHYe8ig)rnWgTwxM^x70>-lv&R-gSO|_Nz@)3io-XwplW6va}>03c828pyjeK< zjuDbGjZ6(_Yv#X1vzEkCpE7GvBeRLw09xp^FY?^yGpYEk8*%ca9rnG@~=G-##g+g_i3euUqR6S~HyQX3(ad zX=dStdGV?MuV<>@Ogi%@ycBVHn;>ibe`^faUlmi?dA=u)Pp0FqTqVgrSD_8ivI_DP zz4N)Y%#8>mw4XW1?Bm{aK7P}bgUo*BK)1vcb>=ogZ(BjjjQd;e_D3Y0JnlVegjLxH zT1MR8tZSE62MV`VBc29gu8X|BCU_&PAGZbur^E326PE~kc?Zm;vUB}Fqg9}ZK-&T% zaGw#h?HrS9dk9+Y0L^c-CmU!W^c2bpaRYORISkqkx8bvI9j`5;pdns=?c zhwhA8_UX_JbFFp1~=V!bf)`07;ve`pEa&hX{4q2z;<+Cb9+*OUM>Chd`gcYXap+WJoqo8qZrW*$#Xn6mO1if$P=g&f4dVTSu-GXVBnR z?r@FR3|B0MIk>->y}hBL$@z5wu7(ZcYr$(Ud@!whzyuh=F9*3;%{<;oP3ZruU$=auP?lY57>!H8n z(3)Z7zqKMxYlZop=xWsUf=@up?m2^21png}7=fD$wB@>BxVFcjWedbG#(!xinN!SZ zE&&?7?cW!R=8wRqnRe#nZ;g4^rJZ5UGUq|dE8lPsGzxk2JadjY)0OugG#0dz(DrPX zHZnQ{*S^)JXCaI0ufs6rpg(AJptZxOTz`Mb3UKV4?ed+MV%YQ0vb~443$)WPzjIyv z1w@C?nz!2c9JK73Gt;e|f)Tj6Je3vDXy|V*v^@hYPyOzXc8_rZ-YcRL6#aUQ9&e75 zoZZ{2Wlw4(HWDUFhCG+iMOSt4x_j~ep$DEJw9lz;=)#f2|IqtcoutDpPom!W3ICz@ z>>oW(rfc$xk>dO~Nsf0GJy<>rxkSfHdg^77H%XhxSaf4hlEls8Cwb9&20aK*mK6E+ zp$mtuMZ%_3NzWX8`xf~hq9U}mJVRo`pGs_&yg~dg8IooDt`X(O`%u`yX_B5f>E2@2 zyr>raT#_fT(QPCZwHJ_Ob)KZB-ndpGD;l~76)F@-dd7~sSCXW@si@;=v80Iom(YQ| za7q!xY5T~g^IO^Zf6tZl%-MByBo!Z{^3gX-C4L(7=#Knk^u4H5QtY&h`pQ4EpJo(G zdgdI>J47}5b&&9n^CjON?xD+zjp?wYQb|vJ#GUW7wD&~1GHt%3xm>+P;QEvF)txU1 z`BSlFyxkWv=S8ukXU>M`J}u)l%jm=M63O0+MlJKVSI{)kJjs9Pw>(<(wf587>*q@5 zNBXoJcvM8!q|BA*e{gKs^dp|O^)Hg_?UCcSBBs?uBK|hA<*(d@^tk?XNzWWB$H^@%PunR|kR(}V z6V$S!?G&AUIZ4t}Z)_dYGSlr4eZDF}(mZxjOGxuPI;1F4^8Kz)OYW%@`e|^Cq-V}d zfme(8&^p@TG+xp(o;1v<#l*Cf@=5|Fr%jz(942Yf2yw9F^H0l`V|?IfSA!)zbH1t! zZCN7}(el}Tl7q@NE!&#nX~bDSiP&#wi|R8Kx@!4wNzMkFmb##GWKW#GWJN#I788ft zr0`{c#NSG{Wy20*I>K|LMB$-Mi~Xxn)Sn+9xv;>b<=M_O>JU8QKl;?%*Gs&$s|FXK z6WFDzHV-_P;nJ>p?3r`<48cZS_1IJ2YIPE$u6pdL_v~}{i)1{%s~!t{vT#LLJ@(W$ zMc+itUG?bO=O^l}$Ax}#=9f9Y?X;s;eH| z^c&H#u6pdLGj}DT*aNGKjD4uP9((5Ozcv!bb=Bh;jd^%e zS3UM}UWU8tv1g9^j6=A)9%nt;gS+dor+)Izcf6{r9)Fapi$`|Ve7U?5C+EtH19~{L8yXvuLPWp-<@x88k9DGh9 zUe{HRJ@urTaIv_n9<$!Yip{&~vEbWC@tdxC?3pvkakBVyS3RD#2@>z^s>h!C*VZxO zqON-UK6a9LN>@D&`_o6fpsOBx<}?Ys#KXJlv1hz?n3K3)S3RnkIg7o!>e1zwrTA=D zJ@(9TQ5`DY)>V)1lx@UKUG-SxH&kreRgVWZ*oaSe)#Igpree0M9v4~ZiuZTbqt`RkWbIv0o8??1}raIu@~=q4_9yp<)cXf*NU;?K($i~rF5)}&A!FD@-xB6e%_@!;m5 zHDS59LM_VkeP|0#ELtvZpS1euyD`g2(9Y#z_*%kTi&{)O<5WBMwpk9O5AT9lZElgr zfeV?PYh_gX+4H;0O2WRhl&sU-;Gt}Ln3|^fNtPLe9$mQSQD@Bcb9wN5%B?N`c1%lj zj#`V&iz~w*7I(*Q$6K{T`%I#9pN|$pEbflEd}1p2ul(+q%YXH9`+wzk$7)~QTbK%8 z@q;bL5X9o{c*Q!4mf231$l25WVu;1vF_&+o?jrVIRMO1lb8-6Ol4dSHDR2-?c68{> z?~Zw$cOG!x*wnbwg2&D3Al~_N=h)xxxS!^_pA7R`?|#p{{=WG^30{?dH|YAa2w&(0 z6mQkkmNjxgOY8c0+5QXZ{z9fhz{K*I6#dNf{ya!kJE0#FsXAb^C*bqbe4`ed`2hcT zPX|=3~G&7lHb!GIwHlr)v> z)M6l4c{2QtRL8~U&L!pVa36%T&ZPmqB9(EfVm%jYtTw{pXkBkU(_lQ9QR6fH%q9f$ zhI#4lL#W=%-=ix5kyXZFbRR|sv9LzU7rnhTtkiq0oq!wbfYJOk7;UR;u!J54n z#Vhd*`wtT`Ax=gT9WM41YDC%_EsD~F<4T}A!g~jP{W1Lz4W65;Ffv9ESY(0qQGEEsD;3Kw4R-{ zLa>KbvZl%0*-CtK_W*&li!VI=1Ww8D)}LQ})TH5%61*D$*~8V$t&$Cmf=8+GjVuk9 zA!x?&v@j!_Dh?e!~TACwu2j z=lKU1FPg&(plr>|)~zEof;rd5jW2xy(7((`5TrC4pD6=P<+UNG*YHGW4VjM}m<9v{JLspI^cY zfG+i_d|_rFL98}F@8nvZJr-!%@>N~cCg=_5w}z*xnXYT5<)z5eD;Fw05h$P6o#3f0 zP~K;d7pY=0HyL)1qfoI{Z)cUBaeA_*U`RfnEi(#7JO@u#qr5~lzULOxq8YHQ-1O{B zZH2sz@M5Jq#l=j2V}L^Nemye{WnuZo-~(!zW`0ge5Q^-B5An6!f(sONOe=)UI)QQ| zUm;Z2%|c0_+Gm_!5n84S6b6`-%uy0r`gsmB9U@ROSy%#_&`vDDLXBYEp%yBp0|)R# zED|t-;l>0#WhjZH{d&p@Fn8U)hSoyyD!l={d+VyJs=$+H?;sSXniS9Bxe64tJxo0v zcy5k{qedtRllMCbgO= zdI3Xto)W!KM{B-djeerH65lq$OTTWuhFQ#b6^nIcJcL=k=bGLLQ9M@<{Y6t%1vnH^ zM10RyizUUndJ)5U4u;X;JbSa;G?;>LYMr~VsD{t@s@dwVS*l{_k9Zz#22&>T+yzFq zd;?#TCB-~@C%(bj0imO~n`^9*JNy=x5sXT)vFF2Y8L4n)4d0+d&04>v+)+0{+*_Dm zrC+sLn{N40T(;#s?ZG%}6(Xlz~umU;p4<6}`bK(5+F?bRK4f%n^O8sH>Ykj_1&O z`zD@~?lQR4+3O#iZLT-iQcXB)r)k(Io}0UQ_MKfK% zgWF{$>jry|_`R3=!#>t9Dau#oGs57c;6$}r*wWlSb~Z1Em4?8{NMNWTopjLs3oy|A)L zVCt*Cr>=Y3=48UQ9pb|uzrYkiCwt+@!@BJU0`+W7t@$h3^$Svz_`BNt^sAR@m^bd{ zNlep|c-~(86~t)s1|I9Fzg(&+=xYlpV*V^*RJ~dadQlQet3|Hh4LlbpSDy1Q;mDN& z#zqhBFBAq%AFgMrrD^i$J`ckie%l=%J)7P<@D$j1P7w4=Rn%|ZQxyS4dVa30fD zjAKKgggl)DUX%IG3!HiC$tJp90!waNdkKs>cQb5l4cOW$#umMKV(jB3;p!#HUWGfz ziu4@Kb)j-ppmKOF9_Dj%;q!3j@ung^Z#isy?|~lNE+;;)VE3!&iuyr8>U#H6GYj-m;x@Rm>+dc89~IL(WH^t-LQ`8oZn?g#Rc9?*RFv}^ z;F`~U9w&W7#bgOX()OepdI&8ZR{-0ldf1~<8ALowzZ#n;e zwckB+-{Q`n8^u zyGfTDjeF&KQ-x<|*I*?Os>8GU5QP8r_@8I{zr8QQ;69yqqiVt{*9+|2-@OfjAS60H zAuc`JYI?$ zMJgkOXU7n0Sp!>lrx$j#4y7)xnRtf5E~3CR$WxQjv8ZnoQE_#VCq37}Pegot)>08? zYo_3#>&_5C`DU419EbIHJthfb%4Cw$PvtSUb*S+47<}nk1b%t)E7`rhRK7NP3XVSZ zFG)5vCKvAO&^@|*>Kv&^7b{P}h57G^{z^Bp;a3h8|K&_}dWRz`l#2zUhLN>`U=%Se z2M>Q`M%buaw7fVAHx05NiOws~p3CX@>Qpg#Jgyp9m!#onmt?Z^aXGr7n1Q#M%_i4( zm7vJ_Y52{dEV3~(89j-~!tSDM63L%}u4V+_JFWWcsdNh*W;qfc2+I+TIcbg)PWs}o z!UgQfx_)@`0~V(?E@GRn48mv5x#6}OZ$-6gj`*gr2hMTaC!2TzzFf6neDi~Y{2CgF z*NpbV8_y`o_wMP3-;eRfZtu6sgqnS@h0P1(TyBO$8=|m&%S%+}|AHM_6OHSJ+(D|T z?x?Ua2FK>NA%jYHWL}$qOZ5*U(?~tEZf`1<%xpq>gB#eNaDIw^oku(S%x4qZlW^7b z2gq$uE&I549M(;Li3Ix|v2mB9@o;7>>s0-N{W&%tf3jc49vQNf_1IQ`FX?%(FK(M4 zt$R|OdF{N%Cu3u@%`qSMA8sTs4SvAB@Grohn?K6FpN(WS=M-WcL8)l{Lq&GjwL;w3 zl*!&}8pZAs72=EAwzF$2FR|ax)>elV=t~vAD{CwtuW59|Hw=L6RNa`}hDE`M?@`+~L!-g)L-fl@L!a zv7)`pj*`z3d)!OjmoE5LM$YSa;+eVu)L*NEJZWo0V_JP_N1Yly{A)LQ76xE)(pS=$ za~Szw45CclzrfCjHpI_J`7%MQZfV#TIN_aVTXks!{&!K5SlWC{6mL zMiZY3SmF0Ds+yuqU!yekp4E6-znq~vW@eCvgJbBEFeUmZt$=*%H=eeFo|BY8aR2eN zWCcSNBQr=n=zgmhYCSrGq<}uNjG-q-W{?=rKdxk`8suDqJ`*5bk&;2?rB9@TqrQ?O zQ=&-!fnM~!{k>=(i2JmCBeMs1QD1bID3fnQTi`{#Al7R5M!t>lqyLJo5&sPzNwh*= zIPY=*SNhM3KJ@PDIx^*& zE7g6{hgPntBPVaW(yf2@q4PJ?kn#V+<<=X?%UUPO2yT-1 zZ&{KjjHMB~&XNhG0YoJ{j!JZHlHl7cL3Xh;|NRZJzKtbuZn4z<>J2iZh$WvSu{2bE zgLvh!);wE52)WYb!f#GqJum$^yI_pn6SC6)$`e?o3rIFMP^0run< zdrG#!R7$h5?1|N_Q!)yA#TI)q$o{lU3i(2VQKa(y2-*0Xv*@fnC)k1nEi@`zN<$64 zv-K+&)LT_b-R~S{leM+b=SV3%G4vR#zgQC;Ns`jmXDzI+nrWG#A_F$aw)NumGD*n~bj znS~DDOQz+emFTs{9AvpSg@*pBKocQ$Jdr{xODoXU&?4mhDTPjcUyc?96rqngsdUk~ z3N)ai2t_?gp(#0)=${ou=tp}Bb#PpX;(bbxgI_BBe(x08=2n3SFOq6KIE&QgtU(sl z5p?{;Q)r591sbXvN$;*Zg>-Z(P?K>aRgXP|c7HBM(}a<9U%)9O{JR|Ovx}skCZ9qp zzm_BEz(}ZrQ)skF1@bY8q>B!;p>cOA(Y1_7>ip&|YFu22hC$6;ce;-@vK7d)2IA*; zk=N2nH1FYxr-*Qs6+-GVf6m>yXZCK9Am<1@4KKcsYDH+2R*rq z(&ks9{9j>odG&2%e043lIRS2>e)SmDHZMcMn_;w9`4jXbWErxNh0%ZCKSn!Rm!Zkm z!szG^k5RvK%h1v*VRYih$7t;JWoZ57Flq%kSFS8WYySwN^Q<4EP`6dcDlm*1{PP&? z-nRmI6^GH+o{v$C#d75PDU9~Mcnh(!vQgiekyKuH6K(w?2hkmo^!S}ysHQX<+2usi z>rZZ>@XBm-d|D)}dwmOOH)W%ZX_55vyIW{Yb2f@ijieFJZ=u%b`6%T~1ij4MLH`Vx zj&}P-(i{7)qp`U;=zuVamYBAp+6@@ZcTS`QTL^j(z&H(}J*E|F?EwW8fE808L0q$9_*qIvuPG;M7H{d4Vc)cd&zslrWU zkL_j1<+d1Yu}Pv6GHcKXsRnwQnn^>JZ9u!$X`{e1nY1dc2FYh?pzO3vdO5uY+2m=U zP>2m7UzDqX20?r`s|MYft%35PZRx%mw0e&r(pAr-<0foD@8Wx*=^B|d-f=yewNw*1 zi>J}7vbkuFODlUgJeO9VD@3v@C)wi7xm2=zF8c1=$_|*6OSdkYi`*dggg9pDT$Cwn zWfwtwb;(>bY;Y^P8sa{uA!o=%R*j!ajYTEMW?eH&b#rOao7rgbjbrSiH@Va=VKidy zXRsI1EIM!CNc3E9IbEP6U)G`jjYgAD`SJashM_cepfg*ZBWG&*mV$+|-PG?tjDHSS?{wB&qU65dYjPVRf8RZvNcoN7T8Ks{G}^NI^jyJ4&_l7W+>4dG@Pso&ZE4U zBS`fzO!}wg(z0C@Bs@+^Mti2x%RU>3`k8DZtV^N!^%W#~o|JrcO{FdE6@*YJA#lTG z=*0@Mp;}5V*r(F<4HYD)OiC8Iq|zFT^<-AaTvGcknZ{mSL0sOjsZ4Drkrd7% z*d>YP!HpB+@0F9ydXwpo(Raz<`(@;{`6N2O_jR)RQ#ncdXA=E0@;Yh!Qcj#7O`@4) z*9i@(AcpOe=!T=$$@G8u0r}~hG-zwg4#MO6QY}x0CbIQpLTvzzk$orE zCpQq!l#%qQ8$-W))RXMG09rbjp$mQL$%mZ*)X0jVasKth{6GNhFl6YAfO>MjF@TPN z@AV}?^`!W406jKFi(ARXfC%~&K8LNKZyyyw9Vc!f1rS>XMbNzPEhGo}kp@Q4qcK~EIp|`@ z8S`!z867PrdB>;FI>7{@%R5R2rY6!|Y9mO(6gg?0pGeQo8Bfe#H4)=kiB#uH2oY~- zBGxMs>3fS1k~_GGG#*NX@5$o`PuN86H7C+v;UOf+w}~k3PNZu8h7i%}CNg(bB7L$r zmYmwuK%R|+_;ZQ;n`$G`C`_k+xR}X}Rb{00Wg303uULNhSObY!nNF2xp4{^$YRBKx?q1LS}|iQxgd+9N=GV@P`ZsoE{UUMU)G?4BU_2gI-VX&j77$t zRiq{^jsC3?fU$)YnWt$&gVu-Q8MZFuGt~6QR)3tdsvm(bm2}GS5jgH(KVrMylwLbH z9RKre07*S*M&pA0uy(IO*bF{4c4T+k0}kF;(f#l0gDcrouup=o*6ir zyo;3L4;cz*WaNGJ;MLi9a`_MT$s=VH8YRWnehR3)_CEV0LyB82^3bKgyKLSu< zE!-u=L?B~lny4c4AyRzrd?V{KyEoeIBE`iK4Q#n`Z?ueswKZ;FNB9|`b)Hf@XmbO* zI>iVXct~+=a|3I()CdV3r1-4i5%%yGBP3fr8&_2wVh=3f10*fNhIzjZ9k@OK?h!7+ z@0INi^HmI-xY%Fr84%g}vj=Gy+Ke?tSSc)J%JGawW<0DEkc z%23hSF^J=hvki73O{Rh6cq8iDgnGNWuob`?-7ueSHB+Qryb%SIZx#{YjoP~&qZwn$ zMCkfc`I0+2c)+PKl;e%BPku#vwwJP%z#HR_{fkmfjgbI&W34tH7sM#yMZg=2^WP(* zm2PMw@Wvs3Iiu~~;iMn%M%_`v&>BH7i3Hy0{K^c8qjCwy8_Nb+plQx42*(>6ri#(u z~MkSBS$t~cG%gkmY;Ef~-c;nqeS!hFMGU0fmizpjK@u!e0z#9#Z>C1sP z(uu$uXN2d-#+@{$@xU7s3m3?NH_{s5jdL3p$z@jt(Nn-1m)(3Tt5b8N*MK+XIqnlp zI$=*a-Wc@3fd$@3%Yiqlol#Ji|L)B|{<;ot`OuaY$S^T~NMz0Z7ka(fb8 z1H935P_6t)?>MRryfJRyBRTL!>JPlpvHFJ`cq8RGtYgcEER_Rqq#SSj`?d)I-bjVl z&wG3~HYUIuX%O(n{NM+2;EnVo@WvZwBjvywDaRY-4;AIW8|h)-joX?=$$>Z0o4^}0 zEHBA_oXe*iZ#~W$TZydg5IeKX^6n=JapvON}A>fU)1bAcP;{#~a z18eF6yfJ-Y3))*Hq*=fl&B~4<;Ehxnc;ljPW$2=gC(Q-k7^>BQ9HE*9&2Jl72fR_igu$*OYRLiMjaq(6 z_{Hk2WHs={`-_xuLEt`80KD-a{H4M77A<5G@Ww?u)UehA2l+|hje-5OaqQ|xvQ5An zi&E6^^+^tL47_o-w;J|cK2W|Ac%#7-HT==IpZqTH#yyMFu=^4Vc@*$Q--~M4^L8J3 z7VyT*PinZ}sX%TG>_a<68DpF#zY1*d_;Lof&dfl2fj7PhQ^N1l3eX4Ohi5@wl$3!y zfGaLt!C<4v473~cv8x!&ADw{`Krbj`@Sh_y&=k;rtYmO6$hiQ0WxeXZJTW19)SK)nk-@j=>hd8|}q+k;#E?r~-K7Q+yZko4%pXz#EH2 zchR8MZ|E%W#=#Jqw0%Q`z#Ca~7xBn9)EjuCC&WJwe?uH^{35!Bd^UVU8NeGyH`XD) zBd&NJ@J40fZlrL?151H7>hG^ZpQtPT47~BojykmCv@8Azyz$cNIyCW`E7kzsSi7nY zox1IcHv?~6y`c_$x#)_$fj8Q1sYBUquDBU^<5KI5=t->;{=~mYe!OMT3}GxD1-vo6 zGywGqkHfye8~tyyh_#Ew^MN-mX=72W8{`0QoLR)8w~|<#54_PMk44vp$6^Y+ao1WF zMWI;S2E5T_4~x`YV(}p0jcS$-DDP4ft^wY-`py}VtG*O}1KyZ4$b?;Ol#dq!Z>*ks zMzqX8imw50oG|!|2zVpD0=zMC`zaCdM!W!cBM+StRhvrjHsFmrZk`g!L9Yeg_}=cc z2zVoQ1l}0;afB%3<}92Jym5Yl76IOfeSkOKTfq<`RVh~Z%^S%V_)f7Kc%$)RO#-|T z6X1))wWV``*O`%0Z@+k!u z18 zyisY+8e&)-ffIl?hT2w;L8_7X!f)P4WX6%00p8g7xtwGPBk>;Kjdp*R6X1RoxzfHz_-;Ef|@Ws`n0Be4v4G0^Yc6xX@r}gCfH(T(=8#5V6fOnc zxOW34z#B3AsDz%yc#(}O6LB5z#@x-AcsnIx1ibO~HcS#75;4ac-J3A!W0#24fj1s$ z!320C_5AN zz#CcTR{1c9r~KxP^2HFJ2i_PxxK+LeVk6*WyRa zhi`JRKk&x+_cP=d&@4O)c;mQbGvvS<@m1iBHy>xnfj43k;Em_MX2^3Ojs)KL+ALG< z4)Jy1jpLY1Iq*iT1H5r?YKi=uZLCth7yvR|9VxyKj#Scq4WP-e~8&UgS_+fPVmQbTM5d8U%j< zX)*A|60h|l;Ei|~@Wvf}>qY$_egV8u!mbwqZ^ZY2H&!^U7Xfd?ZNM8#|MV6CZ^U}Q z8&6E!D+1n#M*wd;w5ePKyb(JBZ`2J)Wq~*1wfrIM)9cY}ZFC_%2E1{iPbv$%5l;c$ zxKxtL0&m2xfAdBbcq8rr-Z*DyDhs?3KLOrYemIB)-iVulHyYRHvcMbhao~+F^^;iO zjrb4XjfJu8EbvBraoSE9qu0s;Z^T(;Su)qj?JV#{y!6vFnKZPW1>T6K18>|mqMZfa zh))A=wDxOf|AIITc%$9yMizJ@zP(ddmbvdd3%n73oYu)3*{@9n*d2J|y#^fwyb&(| z-q^Zd0|9TuX}}wM@6$n}vZdGsc;kW{I_O`B9{_I*TBn16H{y@L8>`pqAmEMIWK6yM z*hUouyb-^V*U29@8X(|}_$Tm2*(7bW++K>O18+1u5C51 z7MzE_&lo`t9>b_#S}raC-Z&#pih?~;@p<5l7H6^%@J2ixc;n)EQuN6+6(0rOc#299 z@J8$dys@%ciZ0uy;+4P~CzMIiB9~OW0(j$skhy5fyJQ>(ywUT`90a@(?*iVKS2znH zmn1v`c;ke7ERjR6OCBFAE1>8y z3-USMcqV2C>ag*}y@5AIu=Qw6Z2%4h-uP;A1M)~2iJt>+WIXH9w7LLX47_o*Pdx(O zh?Rghruo;S0S5x`H{gx=0rlunV*uuOqco@9pS5FFa?Cb*09P?-lTY zS&8`g=MWOGr3vv@B;tR8H)aiPLPriI;wa#azXVMPcq8sTDTK`SZ9*Np67lDMLWuk7 zCRDsC5q|*Qcyv<(dNDE)p90?aRkaZTZ^Y+-H}+MPA^I{6p99`_FW=pywB-a0eIsAr3MuLXF6^N-uV9YVRYa^IvxzX zG5Xwobj&dW>jG~~kJ^raH{xBu8{Z!|i2gn?1*ZdV?E7#V0^W#yfj2&vZAV$X;_+AD zjSd&Lp_Pj9I1_l|))`w7@J9T-u@bpTx1oq7ad<88#<@qfqNCRF_yF)mOV26w@QVyz%9q_HsIKH2MHP8=T5eAkLBZ<%fVb{#^4z z{`VtgG68ra_ER7iYVXS*!OsRyF7n99z`ODp3#FL3!VpE#4f$wbjE%(|@*CGK%c~$> z{;5N*<#bt|4ZKln14ATVuF3yDp6)y@#_xLoc>5-4Q&cFG_Pvy5<{s?}MSDuAP!v)m zB`u<4tAxldOP}l^H1phJ-2u`M!Sto!5QcW;~PTdG2|id+r#PZ){hT zrWfv3bN%_oOMERFlkZRa^NopW!>M;_2p!4B^PRQmu`+-9iRJzF*lAIgZ={sv8$XQD zqRL%VS|){G`iQ?gLG#)KPJ zGm^m3EWF(pOw;~)lWPAoT$i3lq_hR-*eA=mj?*MB6_;YKmOq8%u0&UC5iYqr zi2M6NnOyQ%im8!)RQQTd>?SY5S(hxizGy|FK4mEmm6}BT|BNNhd5iGn&J@mz*{x9I-Bjny+&vHZf_KcC?i93>rzEx@F-J{~7dt ztqXa2cOhDQ$>M6tN0HSr%rrOf>GFG1NKRE6@}54Syobw)PR&$2=J}SIY|kMd#Un9% zUmG1^kWboNqVUGuHkw_NOC-ypuumxaIFJ<@8 zVcxjvy&UTK?jhC7ym5KCJk|v4BGXg7vA#qB^Q(7~#y4Jg!*dYIKHWvE%)GFI#hHRi za_6WgqEH_1EZa|Ds285FRmD~6^)j$gpB=G{Q^ove*U9e}j@ZDd;d_JY#LCAJ6+_jrI_L&joH-WFEYvZz^%hyu?tl+c z)$wTUZPK0WfZXUlYIjmZ;)bZxh401`t z-#3EyrU~#_&`77NnUcxn@zA#9Hifj0g1u$&kR0=nUWolDa8ro~K{3n6ym&2mrWy}N zh| zdl&b(Xfznhxr2On182Qa8+0Cf!`c*d|SN8-_#4 zS06~Sl%lPFT}ctQGwiWxboT;-md!2nfoe3@%hOxsa=M7qX*m#(}zud4@8+( zzHsQT4p@I3Ckl@9fE)KmLw<3e$d~2M^SwrcRHr(ZGS35S_l|~&{rcSg$L{cKx;{kM zX>dPwxI=_cA7)BQak-A}u)^H{A}+lWWkeD<_}&z{%hfqAmao~H*h^*};dtRzv25-A zmDrlc@OQHuM92A`#OJ>U&S^8I!HYq^2=7>)P|y|)ksZB6r?WvA7!VB|O?^b6vr3rt zEeh^y|0N#kHFZH^(eSbR59yg2#!Fcq3HG&;Fly-Kx`eMO&_NCm!Q&^q>6#0nN~waZ z)ZD}$v>+9RN9`pwt4(;9rldmOr@bU6db#l9l@$0+s>r_NSHe=K6gZP~kc3EcLc7=V z;icPQa>wCMU1`^R*e`jQ`1rW;)V*0V7DFLfX?{Xz=9&Xf<+lo69`54RpU(m3Tunja zOcDPSTL&(iyhc!2jeI%%Y+%@a=>T(4#Al#pM`-#b6^5JBoPf)cOsJfDY4!97`u?2tDQH5V<0)=6oUfAJIV^13wmWK=@q zAKc~dRap%CUuDttDHC|ICX3-@@)El1+Zv%>&0>(}Qt8d29$}4H2IRCQ()2f%gv;VG zV6tZdEpYx)XB&|LZub-D_7WRj+KnZUl;=cemU@Y{4GV(v^~$U^^)c_e=LGneri~Lj zn)%oF2Eem-s;I0S%j;`drUgue2@@qyGN(wSs3Z>u$A%+c;Tuos_jl5w6@y#6`uO`C ztsX3d46J=}pv-BsD z;MPoBtf|ja_Mb?;G-skXCJ0^k`H|mOGO^;uSK*d8mSZ`ViKFsF!eOf?lhi$#*wEKl zH*019>Dt8ROPKH^Etin}^AT=w+c^;|yU$yE&a6kcE<^Z-iNwji^ac7D}gF7dopL(p&qpF#T6=o#q@P zdUb6U)`$o3WNNf&kMvTk%@#Sw_N}77r!B%?548A0ca+fYtJ2V}DwmIqYw7l1X}GYv zj5jHME&Z;r2>FLCg{J&f^m*1IJW+E~c<@dEt@^$Qe{0;C4^&4 z*$d9+u{Z|*7lGZk-*FqVEb*wC1y)ZkrW@beqW(=2TqIpYLzh|Mr93mVYA&U*SFCVR z5W7DQ+C<+kw8R!WGyH13nVLFU;EFDDJkqz3%I`5pCu2)=k}P9+aC4l0*%F7Dlu(yz zMmV?17A2mRQKuO`s4a7rvVPR)o$Qa_T@KUMz#cmLgb!NJK24k0dO9S?2Rouq(T7Fi zcpJQN=<`!_gtR2aJ@vxLl4odTvjld_c%x(FSsJ7-fop=i@#V2Py2@4@3nsYXTc+9%UKwF$q;j9yWm56AwO%I5#AUEm>pSo_I$W0 z7V<2x^gtFFvdIRUGD7jQ>IyRE;Wyf)Yk_CS&L@r+ZE-34oJKY-AU7**G3%%~zA8y2 zntyC@OuPktZ%QVLD{T=zn4y9FbaMHpJx+M9iI-)r^WD4s@X?oWd~n2o{LB}};*G!P zar0j!|E&{d7~G?`l7>K!wG&?3C4sj-{~~c6_ITS%0xRr#NsX!lrm9Jx`o3QBMcDz@ zb&I1#WG}fm-T|xENa5DYzsdbJTl}TpNvp~=!7|MlHD{Mo<@r`1KFt)5joLsW(jpDBLuETt2p zt>H8^#n$|C+BMt~s%p(}(z1tipST9(m)hXGT;>n$rVw}364STs;});;fp6(LIJe4qLX#k?=W=__)V6M@PpX%hgoyrK7y|%g6pZnbi@1Kq^@xyjB`3dE&YEJ6DdD%6C9xx zZ+l6awjZpGJ3?pW_mZF?ejugVc4l(8!(}-;6hhqY5_Al2Jg{yf=ec9=7mj za~_q9GKXCqHn3uB9$oOk9G)cGK+1z$D)q%2h6b_uA$e3P!yKxq4a{GgM?;j%VU(6F zMBd4x!Qy7Hve6C>tXx7%jHAHR;2Wt^(WNh5M?s}>7n%3ef}VAXg5AB{Bz5m7+7cNB zdscLlmN}#7ft69P@Xc4UBybdMs)z!|lCNau{ZUjrI|}Bue76sgQ8)Z66G&$CI7*?X*i z{LJ=wC)b1G!1&ZPBTkyzOk%wVbK%kKx5wvSj~tlua>tmOy&ducuh}_cx2;TTN{!#U z9i-L718477g2(d|U|MJ(e%R$iRB{{0i^WPi%$+F~tY9fyAzDTU(N(40@W?|ga26Agwm|#pC+kbGRo=B-~6}X*D zz$MNPiAU`w!NL4^RL*W8Pf`j6wxi>5!-+O>w|K7Lbwxa$3~41g0pS7#VFGS_+eBLI-4Tm} z544k77iFrtI0g-(`kR*zpPW8BrYnOH8}MpACcV0@E1-aK@c=)W9>n@2dI!R=Edwq6>iZga=Ei#Rf6 zjx4VAaK+gf7f4o$JU;Cnk53gYkkOK?j#tqIKP#Lgf+|)&?CyfTJ{+01M;@b3vbv3^ zIudyA166nO$1B@8^7eBed*+eH-O+rquOJd94E;%!e9g$)TLEY?=;ej;H$?_w&mWCkf=YaO%p5&ccD8>($!a51U_K}2Oj;}OUI64ur_KA2Q zM+JMqjr>(!h#SKysIqVxKcpfZ-wa+x7cLznENWkX<40|!YC)&@(HB6{iXL}RHQEZPcr0Q$pQ85X8kuw^ch7HB(p<;Nv!~nj! ztK$sYK6=o@5WccJ%!uq>dikmW+~R9sM`ACvKcElo*_x=Rr-T#7se;>OEqto&&W-&< zAVtFzk7irfU1RI~A4vvyGNrfy+(*KTg%0@k?l$J;+E6^1he<Qj zQ_9HwGE02YW(I3DO2~v2R(L&MA5P6(OWrp*;w;rrc=K41UT>GhC(e;@!fpud&G|#C zCx(FNog|%DEsrrrLcreaBX_@19^DGUpzF{p?wPSHZsNkh@%wkKEEUbnpYD9L&kom+w3;doTq_scHJ*}ZQFWk zax?&7*dO{Rtc<3t@CR4sZLOud=#O|qxRLFOHWeGWv8TsCMw1J=fA;4jJjcM%5*IA@ z+{@*RGKRh`z+H9wIL$RC5dM~6WZVYME!YH7!+;&Ckj*{+VFc-w<1v2qY)(CE3{<>u zK{d}5?%s3*m}lvRyX-5uXUl6zfW;h4G|?m`w@#B|a!J@BYffZtpCRe8bMQ#n5TgHA zNZL}^-p3#%(t{k4WoyG71sdc}t%#hKAny6oqDQ zdIVv+zEh>2QK+vaL3Snd&_|L{sH3e!Zqh$ARV5PJ<5h@!yf}_ki@>p)6v>n|VmP@n z90TIV66qyAIL1l`t9^xB>J}eVJfVek!+W?Lrr!9P8-Y9Tp65m#_Qbh0qcAy%<34Qg z!1-Z%xar~{?v92h2C3-b^xRF{*>_%e=EX=HGP;D@GRp@eAL?Ms+zL)b&lhv6bnwG> z9w#fDiDObu(xIOVX7AK@*U5jYB{0v+X zOKJM$6}0*mo72V`{yODR`{y%J{pVR4H#3{Y<-}vt?Nii(=2CIlS?H#Jn*Q>Rr?Nle zaaP}P?u6STT5@JO?!H~YjXmB@Q-axZiW+{A4v zZlaD`6Y#*XM$T^aeX1Th3ulol+(r8a+AwVv{#B^uXm2FLKTyj z`{7G1Z{p{mj1p4*SlQ=K99}5liZy;XMHou*nv_ucLJ*!=;7<&_WY8~G9v9w_0+(1* zY&hLZ_cY3Yb)gL=>aatuHcCQip&3s2B9CTQ#9<@f9N#q#!nNgMpjKgqy%PuHOL1|? zR5!)B34^h+Mgk7k7^9q(BJ&0*7;a;X*J3pA(>6(n64S+}yCvyEe;W{-a9{^k6>#ZU zR^YsQ96moKPh(xJpnIkxW_T&lMRzQ~sMrY|<%ZFZj^?0WJPx|u}A9|Gvv2nTri${fGj9wpfqwcvxH6K+{_pN!F0fxl^E zu{r1{xpq|(_H1;wx=;K|)vN!?i; z_}1!-YGW$NuAGse#5v;A%v_TA!U+65$D;cU8@Op)O;V!tv2i31<_y|Q>?e*u?cFwT zOtO;9n_`IT-K^m1o?XP1-M?;GnS)wnCE5Ma6wBwDz=x&Pq`1oryY)@rYv~EHteqW9 zV_^>W+4s=|=`m;!qYrIIZV*ic6KvnW4m;z<3hu_sU_pHpta-DUe|_Fx`r~{!sD}3P z&;63c#g{{&bM*s0F&>0djt9d@D@j2&kM$-<31W3uL@@3C5VX|@hKjH}LGwZ-TsuD$ zc1W!iSg`tt4;_I(4C)2rI3>L6Fb!-rX3&E9&2-rB7`WJ6NEb`pWG9bA!MWA>)PG1T zwcZ~Ik4~+iO$%SpGS3JI>{&*axp&ZRlL&C^NvB5XA1QK?aA(FWI)1}@dPzDOG7rX4 z4gXj4uwNAXH_@GL{rHgzuDZgYYeVqfoc+`}$`v*`4@G6m4Rp)M@i4kp71LK&Q3FK+ z2Qt-AY4lM#L0uf{o|e6SM|=*j=b^-jG$Qde*)l5@cc+eIf4?t@UCA_j?d4A!^PiBU?rHeS zB$76rZ6hn~reU{XA}!qfoV*B)!ak35+Pl7kWLZVx${2xlh~KW~*8~LPp=U~PZ17hqyDfqpwh}=` z=62FwMn0GyR!Sn!o5u%4XAH*XehFP$-K|XDDiGu6Qf)~`VJV#j+ zJY*J}Dz}tA+!zIynFVJiEn&5$QSgWP?{8ix@%nP=&c!{8r-a6_DRLJV4mhGqGhkC&&X2DC<>#6Rhv0%n5 z*#2`pEld~-^O*(TuDV12&T)i(3m&g`i%$6L2(8S5bDmwNe_uGl9cICA4X#sLA4eF( zEO=kg4Vsxb7Oa>BC$`?Ane7g6pILBq?QPnV>;M;;1sh&h#*|;iu!>pm??QE~`C$qj z%z`zZ4M9T>Q;=sC+!CgQ&z73Pr+*fVnhQ-Kg<0@QA4M!lHU(*B!A7l$_Jh{c~?zDyatc%z}M4_#v}kRyUPI%jbDx#a}hp@y~)0 zeyYP5z0yhYawEjFk#lOC{Oc7IiaTg-y3HNCOl%yikqDD*0y8 z>hV%!1QD#AB5HL-Og=Bf+Ja3Ao*^kzD_0!FYGnBa+Q5Sg$<}AGhTa zMP|X7xzkWAZ2^g8798#rhq9LWB$rumC|k>`++0DnF$+Eiak%GV0WoG4Y}*ir84p&F z4{aAnVAym#rm&o>WELEFa60eC##l;`pUi@jt9+4JFac)4 zmtOngi&ftRR?LFeo}Y}N?J{H#v)~6|`WWT+fS0n(cQlsl*B4YV3w}CX9~anZ2tF|jo+;GFcu6V261GNM?QVcGFTLU~ zW)^(ty(xYvR~L9P3qHu!nXQL8VGy(6QS-mj@8&V03TDBQ7k<+9RS)V?m<4wY`bE8u z=JEP1cuGevP5;!u3u6}iu&IysyszRd{b#}KyS&DEBC}wbZ-1!E)G%QZv*7Wyl9)K; zvU4=E;8AdZcDFncMluU-RjQya8kEZFDNI*wT|Z!xpr`1L!u)+?WR{T3WR z4{?W!&hh#!IQ!8_Zr^@!UcUva|31NGdyg0PTk!Z~DSAZSfZxO{xOY+-S#ar-@CLKs zyGA9%{J~w(erCZ%ud>LflnFvbX2D6xOUU$ZYj_6Cf}e>}iCj?+uit|6+7gNDn@hZY z3l8v1AU)1sob6cd)c$?~u`IC>E@BouDbI=Ylz8zgnFXJzSB6LakA>fu1$U-tLrO=p z=pM7+`|ngiMmbg}@gxA^Hmic+2m0!AWvMpvj}0*Zt3ep~h2& zr^+mNx0n*lTIwW>VHWH&Q3A%~6!BG=1s@n24nq{a35PNZZq|x{C0>1^qs)Rwu;-^+ zXRU;Tm<8872?wA0Jl@lP77VAy{pD#f3nrJsp!vpS-eqRN3R}XUa*WV9h*|KWRbi0* zUQ?*SEVxq7AIv5f^SA!9V3-&BO!z+whH}|j(Q0PFfvuSkuci2Xw5$hhJD@|LYsdU3@hcQ@~-@|U?{)wj92+v-1RdTm~!{_(42gC9~i!Bn!-EJ`m1e7TkD#3Gf^pMZhfhj8+y@ ztydGOF$?~wmj!0`XYjn410xyqU~`O<6ske#&*80kh!S`?G*qu(LR`;A?BM zV4ir8@WpX$`cs-6u(woHH80e-;dH)BS|G%z_h2 zlE5K+DgPm};9+Ko5L+e9f6pv!T6)BK;zg70dFK~Z~~ zpnzHMXlr(uX2vZ+C9_}^vrzaL^;TfUEcly<*;COE!F^`IO>v>H+~coc2(#c9^TJ?Q z%1^-tX2G83;Sg-r$@-5;V@pCfOfP#OaAOu6{$B+AzWq+HiCORwH4CVkTujz83m$XR z1QtpckuYY#=kv_KuDO)VU>3X}$P{D-Z6g1(U|<$ZOqc~P?=pwueH)1^v*2;YmcT5S zC^HLQaM==uo0Jg3EI6gg7Q~;H5qoCAx-w^pq`nwCDBK@^xf~|Ug2^mq!Q*D1CJ&v( zpx=VuMxP=Nio~IwS+LskQ$$Nz5@MJIhf1Cy%z~klS+G~+SrV!*0Y%J$yNUKlx@GjAPmVeY@7QDEmnC~QK0R0wR-g1JUHq!uP zm<9ilKE_{i!T`=O3x1$e$)9lE5c(}x@}V=2Suo@=3*KQT6lHERf}6~OcV8uSj1PxpezMGqd0$M+|6hK3iim3$8K$MRVUe zK`yi4n@L0PyR{SCU>1Dt^DjEH!yaxi3*KSZOOLBMz&vKbTKjtGS7irS!z|b|vX@>N z?*Ipx1(#p`O&i;6LCm0&?l0Fwt2AR6!7O<2d@GckW(q=P!K@cFTL+tf53^t;2Ww;& z440S%SGHNG(M zyiE>4X2I~1S@4fTA*l044vPL+Fft2j%?9 zqL~Ft?g~Zk-K}KXKMTewv2A1zv*0(ILs6*mgm^Lwevlf9d)~B>gUo{C6+`jK>L;X{ zS@0vHP#j<1MuPrXFg_B0O1_5o65bR){GoJ&Ol20lINJ}!FCQkU%z`7F{4l)lFqyzC zIBSF-PCI{?Tvh2K!dDZ~>(pVglUeZT#)-%*m>4k&HkI;2AHfk)z$`dR+YeX89U=bA zf+L3b;dqOqy+;z!jX2Hd?yXl1(U1H5F_~iDVG@@OV{Lg}^+0+6-zXg|K5M3d= zOR$7luvv68?R&98u$x)%-STLfV_6{ZU>2-W6HONlDHL=t3-*R+dSq6iU=Mqq*|{f* zG7A=TGYcNGD2i5O6bkw+SW7H{&e$3u==a%YCLS<-zY=OOlYO;V2~KH`!nx<~oIm+vZQ$*fkzOc|VFC*WY_vs0c1K*%RC zRA4?EBjyfw6jX3E^VwTFHDTOVBlKlH`&aon(L6sBQ<=|Z+b6)3!xyMt`AAZ|B@rsW zi)j5np9SW#^gZ+0_0F+Sx}U9a|M@Iv8a|_&|M@IPSvS!d=Ch7$Ps5at4b{iFbk5WHqg4nFo9v*YzRD3Pn%S>3S3Vnz;fq@REGI% zb$&d%KeW&==CgLAsc`V^gSxO zs6-$ZJsWbS-etKUMY_~>I!tzWPE(lA+VNxHW9f6M%6v9|M=YouXs2<^XVn+SfN|7& z+IwpV4b_LRo#e&|p*EEUw?2WdWY=2K1 zEo43$(c})?p|jMA`Rw`;PN2bZ(}~Py!?w9Y;v$avFrVGv;R;JLF3{P`XFqn2hgO9P zRE7Dh*kBiUr*MvrXFmJT-37+`aCAQN*{LU8!6vGXCNZB?a`J}@+d2B0`K+F`JnWC= z(>=^*rwsi`#C*-@|9lph&(dSeXWs_Mfu>**wPrr+_&^$Rv;1fa^I1D@DS&WK`ic4M z)ZtPfk|4C-XR~~zq0Z5X_WSI`92NKgZuAfH+3jH!Bttk&6wZA1-r!~A*0MpoexHR= zTZw$oX;B>W*#(xHiA%s|(O~AY*WQ+q11XjSe%O+JpKVTDF3K!-C2N?^)_*k;%sppH z7BHWcj#d`rN9vP)pN%qm#kV}IN2V~Joh7))A6YVnoMb+`)BFzK(bs}VeOrR~;}ie( zC0nA!e75E2alwB_jfqTM6rT3lM0E`B5_{&e2ct#wsbnLmWj-6JUQSbOZ<1lmXC)R? z(8B3gNgngr<70QwM!Zb=eRlQNos{2ll~ggG-Q>K3E?2)v(wWZ|kJv_CcHSlmd!}Q( zTp~5?x3G>+6j`{2d(-OMV!4{@6pUrhFp(?c|Fq-*n zRwS3(WucAvY>wR!B9;4x9A`co@J^C=R?EW- z=CdzMKML+P%7ZKO*-?jH3EmjXLJ9L(tMA_hTaHP=Oy;wCb~42Gu_O#(K07%=iIj#* z!GFwW$C{~K`)hNd?JbK09ODAM$DY8sf-&w&&F^QhIj>*~@(P&-riU z-Nv1S&wSQ-;a4L2sDi9vKKtC^JNeIUBik1q2o>vok@{`xi3Ri7al`(Q8)0Q+Df3x# zM=@wG-9_4&&pyg_1>1^^0t@D|xlJyx?X$n&tH&4+mAF8N=UzcP^I6r;0N3mG38a|M z&VEZEFm8ju<)6<&tYo&}T z`E1>fbZBZ?Nas8c=Dga{;p(zX`jh$W*O`l9=KckA^A~gOKubDg7G%+SrvR=&Hyu*t z^J#2FA{RJ&5mX;3q_3IJIt^L`mHtI^%Rirmna|hKxy)z7b0ffZ*KdwvKKp8U1l)ac zkXyxk_ESqFsMh`9RQ~%#Z3jhx<(nREH}lz_JyBqwB|&SL&)%1eg5laq^dj@wbd^Zh z7Oz6Zna?__MZly@igX6^S?|hlNQxgzRhZAJTj{{~2|_{2Kc9tr!+QkVn9qLTMnKh_ z^McXLXA^5iL2wc$_`-a4c9B6Y+uh=(l9fd1T&vCyK{;RqpV-B46{^y zwyyM!Cx3fbUbgSJ;EvlPlFxkB>rRCr?sz*{#C%ppof9mc^_aY4KASh^mSD)-$E2D0 zY+^{0;COKpF=ak0RnsU4UVWdaGM}ACt_W_}H;^05XJJsSptZY!v@@S|Ja=9oEp?IX zWIij}5=NcZsK8a`v%Hrx=%qEoVG#3KncP4cenJ)ceO8`7ftISPfiCmen^QdLY6(?H zVm|vy%bNx{C_}HLKL+>tQ;!!)P{4e4m@t$UG%0}!^V$0g{Hd*%3o~$tjdFHdT_Di9*jWIMapKaMDiPOY%VcZ@``pDk~olZEwS?05gv#ii*_c#cy zm8Ws8R@gby5xSYrF1}-dy2VcLAM@ExM|0FE9tX}F^k{Ff1%}^rghJ-CnQGSfxYz+E zFrR(VXoJjW!GQT}O@sq}cxBG&fRB>p7q#%Mp%Y{?pXKYT;J37~aE$rvy{np7xzQQw zna>t3&_Khle3-<1R=0-L5Lpmd!+iGsxnXG0BY+U*vp3G_U~j84P{T@6lQR-kI7c|a zd^Yuk5i*|z9`o79#%xc1ls;?z!Gruko2mE25unR__K;*HO`Ku~8<@`u_w1r>?EZC$ z`K)$iB|Y%b6t*#+eY>=puI@5}&;NXuu4p%bG0bPbEw809(qrK7G<{G!dV^XhuzDZn zvzNHBTywk(|T`|O<1UJ>(INMk;`dCdcntMMQRXFj{eT9RWv3kJ+* zWqJrV<38)1#(cIiERSngs06E+&rXqE%URVbKs)oEUGyZ6)za&zGevW5AqL(ejj>E1zln9r*9q!a!0kK{b_ z+1)c{5w{KR$u;J)ix0*TIsaGWH1pZuiSDG}<45Afd{+G05V$yJKk;Eco98?fn9q_; z%x4X2Rblb!Dl&@sY;C3*e9=2fLYU90&tWH=q}P%jMgtS_hkzm5oBf#itdFrGcn=nm zLguq6oeEHP^#lF64H~@s z$#&+mncdUis!1g2VLrReZW`P+Oe87HXJ3a#fw^Zo+qc<4(yf?Jhb|`Tn9tV7MZmSe zNknewFLGjAFbr2IBBIZdP`lm*hNs=3S1cSseU&Y28D+qIyI0Tm2nYt>=SsM92wPun zjQ|hV2pX2%NpBhZKx}9|xwmeU$YP2eOx!*e2=iHCf(d9n90}#jXJ-vIg|UC+1A>u^kn~d_}xA`m3v1A=Fj$5vzL%`7??BXi?-e9 z#S;hOW0%bAju~4I%(=p1)7{4g#$(u=N7u{;Uf;b>-Cn6%W#Bc}soU9)uWlQd!wy&x zvsRlkFdjUr&VCSIV_^P})n)eK%}WMeb53rdoqCGhzx4$!NRxH^vXt zZQIM4*eNDd49rnnXKdHfX*>}7&epS&F5EQ`uarGv*L!X7K>TIU9lMP_?@#t$V?lR` zy`+-F!270nowmPpdfUL9z~}-yNxi5O{c}zZI%2o+j_<&D?_X=XzA0-4;zvo2cGs=_ z2I3MeU%Str_YB1R5+6H9r5^)7OE(zWO{kbMFy4Q?!k&M$;uH z*vNsJ@~Gdt?d9J592oz-H{QOb=Hso)>de?FTF@2|O_uq;3fjD-Cw=;H3=qc=(DPacSV_A;WQ~Z88*DgFy_HGQ?pWQh2C$C>`V?MSWG5;QgEtq$NoX@+CvC zI{JygXRi{}oD0ONnJpwNa~c#>&7=301q$jLqTy)mFA}(B78!Lj73LJhQI%*O{hVA$ zPAbd;%iooBEvucm@FN6P+2+wC-32J$Bp`dQ?GdG)3P5va`1|t1$z=6#T0LnYez9kL zRszJJnDaxTQ%bD1B}3km5W1nGjFz^?Lqy14vLM8k*xg(Jd);!W`cG}VYI>T4m^#4g z5Dk+>xJ`XQ!SBBAlevkqw zGt`WlOmzj`^kLvMIJN$|K)hH$GOf~pM8(o_-&j0xa2v_%I!k86_~65( zuc_PYW|EyTfl7rf#PYY(iSHR1SQZq9Pxk%gERy0uDm*o{R&YQd;3V)UN(RFg0 z1xt3N(mN^XsF!g~Q2lragqQ~5uk}j>!4+As<)tD09&aZ~n-Bo2hO5GI-|gJD)m|i; z3w6R9Svmp_$%}gSLiuTjCrxWmjNDPyu57Bq) z18IInIxhRGO?SOjfL~(4IH7Y0G1xvAY>YIi%$p-*aWfxO;xu9G&HY3oQ=4?YV?8o1 za)QEHifHa11PeRl=(9W9IEf!KVaFB z_*@7qSp1UPT>O|eN14H~{o1g2Jf+49rNOP*9WQoh@Y}V8+^F~2=rQ^_Irz~8=XH+8 zqnqU6StdK%CR2>eo_3t9=6+CfkslO|;c;gqG|1&2S_dKG& zE2^10;W-#vH*11#fCjv`cAy&C29RwHY_H@Z^557XL73KJythCGvfI=#dGIJ~dGT|g z?rTC`w;=Dk2HCe(8&j`)LH7C8^k!-~uh?@DjH;8s2j7@ocnya``(9J)v(rJHJI?hL znPI>P8MwYv27bkDB&ySwJI9L+QvZVC2`D3P)75J7bJ{71NR-j zE-)Kw%4J-2#L?|G@FVOOZHevSmKm_Rx#N2HxMmRR`JxEbdswg3ce5ZMXBsD$;E7LG zeIl3hn#t$wCgi(xDD=LS#%~Laz%IXxEReUuAEVu2qVh``HoBAAeY#EJ?##w9s`-Kq z@nJM&&?J1iMG+2GS>i!aJS`k-3sN5hSRC6!h}cImPT>;!KRgFk{;(CT_Kn0Gq0JV~y1g4XOM4|OPy~3U?p9I~cBES7qYy>3+RdcZd*76_iK1SVR zrr{~|C;%nTeV|ByTxZ%_W4S4Va1=7O%pdBI0kvvc-EE1CUlHm7~; zJdt&t4LduHi1nA*pxS$ZxOga&O4d8l{LmGex^Ix+q&}^zd+J89uq1-iF00Y3{Lkq0Y0oI}DnYB)Cu*5%5Q^mWrPD&Z~Zi*R5ygf-++ zbTpXXKS7$dPlM7+dq~D55s?X<4n{v7Q{`voq&mKieEX7wK_2ond-DZ$PC^8(y>p7L zT{az`Di+fsojP^~Lmcbh^@{8dA4<2~;%MUYMEF#uMnYyrAQg6!x5tyIcR>|7^duCz zmbH;n&qCo``)Z=Ksf*CTQ(=l;2i4D-OR{7siFlldS;N%mm9|5a)Q4ch_$SoBF&q^q zub|2+KhYO=Bk}r{4}|DUr}MOg)a^tP)VL^;OEsaGeC8`zwycoO5#L8#s)C_v-di$a zUmzUVmQTi^I4t}U26W>mO1=~j9*Rf}tE+!IS%KBW?5CBn!B~CzEp-V9!dj9`WpmiR zlV@Q#Z`c>IylolP<(;CkOXq@v%~!#_zF@r1_7VmxDW);C|B=OygF)!?ioBf>$a;Y0 zkPAwZP!t^ki658^F$cfpdWKX<&BaQ|58TwLfwZn_I!c^VNfl9m)w;OgFVxi5!a}1 z#C=f++${n|1TpVl0-CQBr7T+ z>O3CN6s3WZl1f8HTSF-;D=RZfg=BkWWb{0b!%VWXXNVM$O;*3VPrZNNe;}7j<=J^& zZ^!X?lzXP}4ofD8SuvlP=)0Ql4-OGAWpAXgMc25_&|UoOt_V7MFJgY55F{VEa#7JM zF<#6cG>tFp=qZMMuEibK#r#9vEK#-OmPCff_~wbZ+_fx{*7s{Fna}kWmv_BoQ#W|? z)dy~~5hpN@yM77VzB`aUOj^xO{yE6rfAb=hsULXaL`*fsO%Ts<;WsT3Dil6hjw zrabwg(Nys{qMAK8+k+>~P7t}D_eoWjqqwv07H;wb@%C(Fj*Oi-D|IRvi51on=V{f^~RVDVJOBQRM7A4fLS6J>f%a(gKPZkxn z26AempV;%DiWNLp=93Z<#iUicrMjyf_@j0i{K$_eYMflcRwxlD2h5KV;9#zg~UtzsOZ^SesKF`sdV91wryRM$Xx6wU0b(LmbxU17h5J- zsLb^jFEXoG$@e?*&o9{hW3or8>u^rK?zx%kox|7Kzfv}y7$ABMh8bk1$njTeSx9?- z8nVAe@oix=Wnsqdh3>B{!(IHz=0pv@y&+8+yn73q92g~5)~u9zcRC_haO}YOYbm7- z4iITit5`++CRyw5JVCz?NZFpo^6LSc`I@Ow#6phATFC+8e#9HLzRP8WT=ao;IW(1m z47oh=RWxO%uVX8+jbuMx%*9#sp8t5?T*`>v!rruq5?{U?l|<1od0B0e=VX3KMFhZk$1dhrAYXRW;Huf3?KJc3Nt<|PgQ(S=T0YyuX9T!M}9=gD9_+4sw1evw>j4-o+@&EJ~E5IJyPMuH|)S5FS=kd zpZ}K`PBUW{vTqB5_>(wa%A5S1%gM{-O9`2*@A3$-v{f_a_-m&eGa^A$J+fzQulb4Z zCbjJKums83HbIOZ`bLVoIfRvM&cs~Ga0;8J!+Y+VEL7Llv4kiC7J~BxRpZ?0V8{tx ztO%h~-qVMOf? zxD|8In<-3lKgzrO6wLN4cG?UNqeHLz^PF>TqH<0%qKsJPWLUzUWsM;$UgHyeCzCx% zY`FI~-hYrAeXLOyQMpt3HbpL5*f~sGG3w8}XUhEkb7#>Z{|!4Udy0N~K74_49qZbB zqLBM5QM0?=%w%mY&+QUM@!R|Ja&t$ad0&M_58KFo+&#h`eX*nMdvQm!)S2!MGGN-h z)y2KOj-<`oh*y(W^DVb>Sl0nz;_lS}%x3W+KHAkmc&fLc;jvEQ+^HeFS-Cp7CXE%( zXSSl?kE>YXwj4gkI*gvD_2=eyY(=nPTe5tc!(8s}VM|xpP=uSR2>5JIV=B6^i+#1l z`f`}n*|y^H+HJhBTP~A^hKW1Z`Z1N@e4Z0%E7p{^AvZ63k#bL;UrEv??>sy4bDt`$ z->{7>^x45{oo3VJAw&6joK0Rdq%9Q`ZDEJh@>sLC)})%*i&am zL1R=!9p;rbbIfCtwP%aDQwOsrf3frDqqS(ewH@tgX)jj$bm7&$I`rRFThZ!kTdKwV z&x~z*_%?%?bhGmqo>}4~k~~#t)6#{k`13Bd)5DeyYpRO7VhkP6HeuuEbrgCfP86%w zQkWH_@gmIYBxt>85IYZVz&eB@64&BkLED#}k@jH){Mnen&%JKHF1f zmb(H(ckShDeC9~`7k!2OXm$P@DV2Ehc`FU2vP3*DUbE%R@6V#>3;14i+a;A4Tx73C zPZ4W3WwG}@mw4%$Nup~-0oxrrTdcdA%UfHTv#pxbu_y8-Ge5mp?uT7HLkcHQ(3HEp zau;?71gvJW3*Ykku*1y2WICN3^1C3 zgD>2-uuvq4(~6ed=+Zs;!t~DK^RBT%IJ)y)PAcrQew>(nxTT!gc{CZD>WKw=UrSw{ zssb z)5gy$>7o2)?Ld}+?!SMgjVKtc%{+_0NPOU2(Z_egkjn7UB!23OKcDXnj(L4U>brNI zsP5}~*l~6eRUK>3t_-+&cu-bn8g1uH8?C10V5;joz5Mz)dcLH|~WuTBe2Y zf8H1mZ|pS1f_;ZK9)>p#_`QQIfj6FqH>Q}*XEWiAo#Bn{CEG3M!W#|YjcE%#`2l$2 zE_h@0ke$2;-ngZ~8~HzPOoKOORgZC;GMc zHtrvpQ2*B>*c*7`8F*up_J{aRcw;fVv5kHY>?2O(9`MHVS?xvrpYJRk-q^y&g=fPX zd%zo?5BSQ;;EfmHja^q`-!Ht;6W*BN=tueR#>Mc)(5a)T1m0)?Z#)=3hAF`tH^Ljo zo=_Gk@W$)#M$;KVVwZ;}KcRPyd+#Hm1#irTH+mo=O7O-&c;nM$t!N;;Q5oJibCe^` zgEwx1H+Im7qi*oVtVxv?uIqj1E4*%I^G0`gqx#O) z;vu|o3cT@Nft6?hZ~O&sJY`?U-!^*VppBN6LGZ>o@Wv+k>U0|3Xbf-MADzyYz#Heo z8@Q;AB6g7IIPmfD{ z2fQ&1-l*89BJMYOW2A2ZPlh)d!5jU0TS$B1jm7ZBA002S7wwaH=?ys`JGrgRbB_!{1LGVc{Lf;TD@1@ez&{b@A3@gBT!*3_*< z|GcpT-dJYwmM@1lj)XU=Jn1be;f?X|MpLgBd;+}jCA_iO(0)=Pys;a+@wUfLHs1e- zyd2)RyP!MWgg3s1H>PhdV;$j*6Ow&p#y2`JWOyS^ zoLk<@{f}A08)bOoNL|d?f;S$6H}2~`fjYn&E8&fvtBY75ys;0wv9ctHIK1&8yiw0n z!EeGFi{Oo&4+M!tjow()G*mdk8}Gs!KjE3o3*LAf-k5Rz0UHW$w1+n~KR%0Y!W%ol z8|U?&Mh{!vWmWLTJF`zQ4R~W0cw?)iAaaB^=D-_A{db1f51&pO8@y3;gg2VQ8+T(j zb|-k_DtP0%o=15dywMciCo6mqZiub{k1aDlBV>`muQ)Y(n z#$E8ns8zlc4R5>xZ){p~n4g6=n!+3JWciAJ-nazb*cR{mKfgWX6XA_3gHG|^@J2g$ z!o^}YQm72fCpZ`^W4W;5W8m*I`BfnIbR-bjbTxNGWe zz6aj;9p1>FO%%J~jjiB~r`vjq$?(P&@Wur#IiCb?OocbLe7c_*!5d$|8~YFQr1Ei# zxq5>)k^C3r8*|}}!QO66hBr#^ z#vSXtX?N`}xfI@*={12?z#I3#8=Hh2V0Q3ERe0ku{fTtD@J7?2yBLQzE`vAD95jg*z#FaMjZ5o`xg)$$9p2~=KSivBH`c-%J#KjjJ9y(f zcw_XFJv~FVPC#7z}TmZnBfx!yA`f{-pRX!$P_U zZ_I!?;f=lEjUx)5a20st z6nLXyE#`Z{8~?Ul!Hkah2rYQyEO=w>&Ky1*-WU#V{8|w!U57Wmnf*;(XElXv;En0< z#-lm0l-2Wy9EWGiG(NwB{H(rM~&YPV;yWx!w;f+r^{mJwo3qc?7NJ5{WNH+sPv>$+s|X7I+>*D5UA zm}N@_@W!R^#>I(#v>)DhsKFcQ2)ywdyir*#gYAbmj&JZr`saZ;Yk6#Yf0_<&e7`VS+=VwL!W-jU{DlF$u>{^|vwI8o zgg55E8x1-gk^Xt(^#*UmvnM|58oZJ0;f;y##>xSk*;;s`5xlWWasb_iH+JrNS+TL` z1MdZIbb&Vxe-$lm!yAL)jX}Qt;^RWhH?M6j?T_BVtKf|<;f+y6$E4-(MlE>bptJyb z4sYy~@PFP&TJXlv4c^H9c_W86UVQFP9`ME?@W${3wY(DExF6o=QX3`S!5dBBjZO3X zL=?R7dzqDD{?9Eu4&FEz-Z;qku;c}A+z4;9vk9R4@Wv(0|IZug8@$mS-ngthgRO)& zww~IYcQ2kwtKf|t;f)tIzTvy!jo09f`!d7D26$r?yzxbxuSkbCo`W}DNXX><;Ejp! zM%7F=64HV5A5 zhFO+1@W$it#&e1g@$Ub5qu2v)RDm}R+nUXz;EluKjjO}gGB8dI>=2t zhBv0d8xJXRc?!Jo9=y?Frpzkfjmq%GGdNQ{8{Qbx;Ei-1-gx?sH?vraeK_z&KX~IS zb4O|oZ*+w>zPo#bKY=&ygf~trbrzkC4VXT>@o`^A(Fxx89Nu{7Ru1n3Z+r=F?6vq1 zbA>lfgf|Y2#SR{LqcXg4V$xW;3vY~uH?G~5!=m7gx8RM#@7PixypiCI-goi23U3T) z@J2BU-gp7txUt+;?1MK}!5a^D%jFE-_!!>UE;yfM!5h=zjjmqyG#%b}4c<60&yIe< z8~4H+gMD_ekMPFkWGFQ=4sY~^Hx3Hj!^XfH z@4*{C>pPJ>yfF{n*z<)WZG<-xyzy&n0b2`ijDq4$Nz=?jTe&Z%NQ-mG7F#z89ZoHoehBq2I zEAdbB72F=)xE$UXb)|@D!W-Mc8v{D{(F=IvGk7D<^r0Gfqb0oYUX09M!y9Aajdtll zMDWJ4waYE%tI51Sym3Cf(cCpioPam#!W-u|4H4_%jd30I<>NhN&KkW@w-&Q3;f>GW zjhd6ElQq2YEWA>cSiIVrNq>ys;m=F`^(%r&58gNf-sm+lfOKc?VNKzURaJ}FYJ;f+J#jd`XU`4V{JGta8gQxH)g{dhX!A?{O66s;Eg*r z9g?%*jau-=2R-%pg^`owAb6wF7bWfiZ(Ia#98q?^Xav0R9=!2=$vtTwyiqxStT^fD z&W<#CVoPfhp=cw+#((Ron5LJQt#1#f(G+KLYw+=?Z^8?UP4=LT;qg*TpbN?|YH zjiKx+_pM_7Q^YF%J@W!Wy2C^D>V|RGty6r7tZVle}yiUfKprYC5wU-Cll@ z`S%Q=ew)47Sr z^k=*}-T4$o_tgqm<_r`0ZJq-;$@}?+gcf4+p?LZ_>x8_0vNJosVVmUW`-ne@2@>6} z^%bR$5_$gzLqw;C*#FdZlk_F4y%3$I^&S@3>;w7vB3r0IjYslD($ndA+&DR0JiHB8 z^ID4Ax-P=+OsMeoIl%5d^x*yWj1Y-I@7U-^O=u(TxmYCbX5H+=C?ZgW3J;iAUi|Gr zVd}H!*r_zWHFOa(sKdJabNJP8zdRo{ z+T2?xtVRoGu14ENEaJai`-s#j9Vt8I8&msjz_S*wU@4_I<9qG_yR2Z`u*jcAl;c@( zl9KSZ&SBfOwx_MXO@&F|Gv4V_M>%Nw)c=?nPVOq~6V$>%LcA7-y!O%<(| z>WMkuEJ%IMDti~O%2 zxwF;;dTX+tzf~{i8?tO@gDbX#?9k%*JyMyHRy4Ja4`A0dFLC#nY1Fc)j=g;{PAoCl z$$oX-%wmpD63pQ#FW$L|`RWFXMW^%G_{>|h zA)Tb<{O9Jia;HtcRI~pZ`%rsP@waLdTRJV8?i6TB-=F@A6YMD|pe$An~cq0rq?z&g7$0;UwDl;yWAkElqk+zmB~Ri>5N|Tk^a0PxxrtK=Q}C;yayL;>C;utebf= zaVphHZ0L2HKmV>FX6}@Pm2`+r)3V^*1D5hLc9CK_e!qrpxQsg@Q^jxdHuThCEam)M z#N7`6WUE>Zr_V>~*rUUJS*$g7nJtc{v|mYlZ65{SGA9r_0YCA4#W-gD!N;^KU}K8X_|Ol7dD!0wQM&vlo4j~2lkfP7F`Y55Np4Q{Yv=RY zDVDTQe$U>{_{9cgC9}JKyR#E(qN%yA;HyI-`Iha0G&j;pG|j;L#$^R;+-rZaUb5sV z8z1nEi)V|OZ)@d$ug4M7lT3PmJ}8p#M}HSj%3^x%Q38 zYWcs#vk7K%)R^6gRv$nPD;P)Ad&0hXukyQ-o5B#Hu__&sDjq{_D z4__5Fe?Bs+x~(j>Y_Q_djVQYHJXtI-_+e@C{Pl><;gLdbMcs(OGk3DcLO)SAxC`s4 z^NO!3nJo-w4Q4;wa#@pMnOr;DT^bS=C3O6%*}UCZvYAqV=w=#08oE7sDE5nA^zkJ} zpUymY=6kl_-ez{ub)0d<*!Ym>E@}Y*o9XoE%Tp7-lj8ziGDbnyJtI7`{0JTrN`Ng`e$5i zz!dS{<+IFs-453C!CK4?(7=rTNUw3)&!2Fn`Dc%E z_YWUg`PL=OL~hMDghbPS+aL1Icl6nc?*X(h&0n~b9$-^P>|g;olK66?1!c6q&;4IH zi>Hx4*~B;b%(G=ESAVdARpNd4M-uM5<#gt4-vkI14|k##-?(Y&Ca#@2jQ01$eiXRm z;5l||r+W%Nem#;3T*~=YS6%kzmp{3;fTLcmWOqaJn6pzyu`AgpL9N2OibS&=d})u?q#(?= zwBgu&9##-cTdO|v{*PZs>5jfM!pcgN6{^wfria;~)mwPK!?Wo@;uwCZN=;Cr33)uN zWZCC?GxbY2pP*zRUT##S{DF5ABkxWSDu+8#ddg5yH1HB1?H$XOuA3z^2Cikzk4)pu zO}dEUIvbkC)WqxiK~nrdciMMYPaNCck6eD=VqThQikDxKY0aYYB15-l+-$fR{VZ!s zYA(;&t*Jw4$cHwfCcYOH<=ZRH7}$vEuU@htxt2ojj*?h8_kv<&LbB-fJVFv5zH>L{ zzGB{v4s_SgP#o~nlvw;o8j}2hxAHS1-&@M`Vz@DTq!~vmRn6G_cvZ&MMA4@1D_Opg zJ`H}2`BCCDe|LWOF*vs9%WPlN1&So)@o>=(YTe(EJGTq%OTm}^QEo<`KC4tspN zb)pVu`{L(% z?eb>AQYVF#?$i@HVNCQ4`NLP{4;JAAnhCD~v&HL_B5pc=wWYtRyZHXwm^s&}P(f!u z9{zg(b=Dt3h0ZHDAFNNidRWl1A%9r2>Fw#aZC{GXNaFe@I?&2Gdpf-{h9WP8u);3= z*xz&?3cQ%YPn>(g{Z!_#h4VGV$9Z<*)~S}FyIMQ3L8q5^TNWowbR4-<)|A_ApCn$y zFJ(g(RIxRy=kc?enpD%%jyA>rVvqH1u@*$?XRJ7q(@JReyv&u+G(SF%6+yc1ifjv$`QjW8arV<0 z)@|Z>Ha<6=k9me>%*W7GyVva9wM9&Ii5HEWFrUxPYEEB=xKdfuU|MoSo2NxwV;X1O zY3YKmJhACUUSmI(4e8!OPz3Hc`TgLInsI!ymWMDK8Y;X#nX$Btlic&pIP3=b$$U3# zXCG%J^Iqtmclx`K&ht{%##5bjG!LN%GZt~rMN0Hyw;N`%xKmU0EUvizk+J=DwESF0 zkx-eyLt89lD=sRDRma^#kJEQ~)z{y$k42D}*L|YMP~OdoPCeuPx2?sCy_(c*%5wH_ z{X+h0a8r_|xKa6%?aWxCyYwI}l6Li-&h^{0qTkP4=y;3?g|7aotUD+(=+9(^`q)Q^twwQ3v_e1p^dY_lAqRz0E|?YbBa;`WIjQ+)zv{A4a;JX0yUs zvHbOf=G4i;jVji{i)aEQ?6)Go1soLD&;-P{;!wNTdqwiN8YjT*QScS z!)xSin!}liW+(9qX6gONk7vKzEw#QHCt3u5;TIkcq6;>vBC=g2pLfNVl0z)nv!53H z-X%4%Np+@ri(}Huu3RrYmcCeOGhe%Na%fN& zI+iqs^jtR;+-v(>?iw|ZnsuL0P*|u#0ka$_C*WGap~to&HM|G;7Q~x)T%IRVmln(8 z;@ce!G}agFKYJ0UzQj~#Yg2ZnDoJcK*<;dc^;kOiwu=b4(bF_IHHlufX@|Yhmk%9p z{F-C16U)b3OPu^w$pTCl-Fcgg^<<7FqstV3#I@?&=~YNavj z8=)=KSKEp6D%j!KT;fXXA~$u?r_mw1_={O);+feTdTo@%g1kP;9_HpWL0^N^ms~`v zbi(JwZUs4MiK&bHsQ&X!mRl3SR-VB5uaa}zVO$f@;Y)(Zs5vhW!*;&DZK~w@%@sT- zK0quRs6!b?Bk){568Di4DEjL+X{@;!|MF@iIiy`@W-867?M!9%!s9V3%$`P3!Iq*< zT;cp-8}WFTmI&4C$Cjy$re?k7h>1^za}Q5<_VkH^7#q2tZ)Z3|tC1+yUk;O3vp#H+ z{SSH4+%g_ICRj*`x@6iSmR~fm5{I1=$#>yeX|aPY?|s4!&m0HYbj&j`>RBtP_b6jS zQ-i5}E1VVcjA!}1M$*~bxkByATKVt+BUWWSTI|K_l+TqaqGCys__QX|;>qQe)d@Y|h!lc8;*5B9J+%s$-dct=tDC{|n3a9mk$y-JzKJ)G)xp%If@UrwMe`8k9_J}vD|&q z8Ez=g5Jt`0lbU*O%nEEKreE@))4%?5m1QohD78Di4qGbM;2g18RECt)v6Ow79ZKCb zl!e;Ko>b7jJ%wJJDzb_`F|B5)a?IDeJWK5a3-Q3Ly7XqkS=F7!7f13QMR|&MOS8Gv z;3&Z|uP}DWQ9LxQ;qND@QAV7tNV$%=E}t*5$#q+~m^Ou6-5*$Vn6jJgI}<@ySDfX? z%j|LI{Vy}{?jj}+vZa1sefi5&1Fn|;k)3$rBQh)#xOMStdUbILZ@yuXGSKlkle_z9nV5WxGjos|yQcd`ytY*J%M39SCrEIdshjxCd zW813-%i-9u-Sub^?|rYH^&j$+sdOGDvd2GTm)ZxC!S6%zpT)b_(aKa_I4?vjo1P(8 z7JG~0zD-2r%rfqG!e125@?kex|K{&%OZm?LJ34Nb$@~A=%0~YRA}zO(Qt|>1TDMb$ zHcriA`}c$sDR<_T554G=+I%*uPZb|_Y$RP?u1}90CHC3=8{6!ElIsSK6-qCodFEp) zk#$o?98$9rj=#DKyY*NQ`*6H)?xfFM=C&g5*Uxx(-z%)IrZXw7*f6I$3G?)Ok>~dQ zlylXRY_)bt?b;^LUbj2)>g&XR%$r2gz5`6>$~Cs4ycOBjtB9vtdyDM2RDSh{fp9S% zCL9a>Me*8weDL0#ylgPKYVUq*!;@robLJ1ee7PFkIM<&(d8DwA{syFR&YV8S;@Kv@ zjG6a8$eP0~pWtk9%d`2?KI3t;>!3dC^{PEZC;et?#*Gw3{h#o$D;Mx%G5y5Zd4omV zMNiQ>q&2^Oq?t%+5g_(1sbN3sT@ zw5_hL=topb5o|t*Y}7fs>UvMwiP=WG-(BO2>%GOAtGH{ju!H#C(OBecdC5~Q3C_}! z<@04T#oK{1q$jbR=)*>5vD)@IvnZKD-Y@()_v=7eGy2i6xnEh}jqB_#cD&rF3!y*n0{#yMBncW2hl^RhMz+z%;I?=*k!3 z{nxN+7u!{Kg3USLD?A1crQUwMF#CHgU!Gz@?Wd_xcGoHvZM>EByn)|=>~LCgvw~Zj zzEu?T3Z$*?!_;pzx+ z;(0S_9~dp^zwi>{k4`7s${e<1@?t)9;22u3Rl+I@u-D8dfkkS?ur+DnG%dJ=Q0$Lq zE&;A2=DD%4BmHqVDVjQMo+Em{c`a4?#k0wWeT79yj=cZyS8i7u&clmm@UN#L#JMEQ zc5fZcd%SQE2R#$%;NuJOwf=3n$|yI|OSmdcKc`0Pv?nkvG^FXF5i~REFONTTo$2`7 z(EAQIq?7+?O3zZ}(XQ2#gky12a#J+NoJC0tU%a2GxoL{IM=iL|lmT+eZ1fek=9rOM z#_wW2np-}06Q?VQbenGq($q--X%U`XFgI&!xBZuXu6a_sqf8nx+g7 zm9w?}%BwSyD04$Mp*h%&rdd6c#P>?>auc&>bacd|*0n_)Z?|VrGm=E^+-g?V?h}8b zJW|{{+KtL@+l#^Hb!Aan#@glThwI-}5NTZNgh?2Ed8@bMD92Jwj0zaa^tI!eTc>D|e(WyWG3^&0m|!hV z#gwwvZ>Nj)J%l_1?Z~doPFzgWrMkF&{N-fg9uH$_R6cfE{Qku@zQydqL-%+=)m;7x zcb-BO<2WA}O|EDCS=qW;X`{J6RjXC;=d(|o=C>5z3$rj@?K6fBizocdM z#?F~|VxF23jXq#P=WWbM?>`?!uUa=cID05dKB^){BtB>6U9cnfHWLGaBKU_4FOiz| zj+bqcM7@7Mv0YD=9G2RNcDkzE_@XYIb*kX?E4mQj|9P=VxDYQ~nexF^OwL`&R(YG# z^B361*4m4%=v1+ZD^l6Y`WTv!ks<4aF6GKUf3kJgG(=<{L(#vB2czcWozL|0h%w1z(knQ_r)zRi)e_7N=NrKC!cSk9*i&g|45UC%>@BVE428(ag&O zDSQ~_A1EZ|zn}#$dFW|pL_^^w)&+KReO4|!(44DPhJpXgdWP&n935$(>t zmYaKg=V8IYVv6#8)-++(<<(+;!m3v=0%*Zrv=qd$EP z8$?&S*IBN#9YMacj3}f^U)1NEV@Ew#vo%k{g}0G4@4q*TPpUT(ZD(Vjk@sM6CjOFT z)XJg4O2t%cSMNtb!_)X|)v_Yf(aBUjX0!C@zXLqZZ6wYMtBLQ$oP{1VqB_kUbl<)W zsaCF3To)55Fz^;Dj~pT%I*mRRo3J&l@VOjiM(%av@fi{)($D{ut{(l&A3qo*?r%^Pagmk0RYn`>Uf49z z(ueUkdo8h#t+ybvR;0Auox+1GxV4rB^N-P_=4-}^UIvC#bfrD!zBVDz0(X1AJ}pvj zHl3RKjh9D{NB609p#vqqxZQhqQPFQXyFI0kFfZsT&O21{eU)W=`jmc_A4g6Xr!E9Z z>ahl7b8VDZ66HdZuhg?^6F2byhl8x5E}!LX@DnTEcu>`(J#5R_`|QWQTkJxIRf=)# zrjv93SZ=nikXNe))7X91;!IW((f149@gMsL(?Lbt=Z_E6kYqzj(xe4z*<_oU@I3NR;X<85kg3&9Uu;Tm2Fwoz8&$C@5x!%aP5H_P~|HNnEA>qE9{ zUAm=rSg5c>|8+(GovedB;f-B*+*<7RL<{bS7X0z{J^mE^w+8)J{JF)iqYHm(Ycy(S`k1dJ_igh!*I-lTxsI23>dqy6`CMn9xE0^+NxxkBB8Z zbm3#@!sx$jCHk)``tNYvFYGe9@C0<>^w=!^um75&|7LH?=7Z3MkD&_>tePfb(SMWC zf3stP#b1e@c(1LHGv3)`dc18<+v#yADLJN*X3w~U*jon8JW(_Tv zBG7_U8(J`FqXmbf1^+52Wm#y!%h7`UyJzyPXu&G#b<#?M@!|qna12^-g{!RyLJMAt z7HogeUSy*Mk3tJxIs$iK(Snzu13*=WHJTEtd15u>|~q>>>I|e_t%p)gy+d)(1K^61uvRrK(Ek(`=SNkX%S;{}(1LkG3zkkcwqUx~ zMdYCc-#`nt`j{w+(Sp^`f?a#!P6b-<4Yc3^AF$69EjR})xYNKl@@ur<0cgS3Z+E2o zo=Yu5@Ov6`CX}4eg8zHy!OixJATP9F2ejZ5g(_?~TCg5ka8jU(SbosNQlJGVsLvAV zXulC1}BWOGy}`1xKO<+iU3XD74^BXu<9LYM6u;JQgkZjMZqeK?^>J z7TnCO4<(}oXQ2gG{4!u^XmyLxg6Exkz`vjccSj30FLx6ET5vd8aNgGTViQ_$AGBbt zPaVa-7CZ7{9gXDXD|<5gf);!QEqH6q3U&r9_#;~IlX;m^ zTeRTAXu(edt7QkY;Nxh)O|Xu&Jcf}efYpkTD%iD<#&wJexnV+;0KynF(1J%6rLhrc!Qp7Z7na}TzKt!|v9qiA*Mgg-W2gKSOR*F!_%B+p zMpiPvi57ecEx4(!U>h4-@VrPXs^6?8?9hT;Ui;G)wBW>s7EII8f^VY*-_Xdx-Q*>5 z8?@m2rtkT7wBQG5!H#|rLZAh!H?&|exv>Qse%-+18e8zYXXR{WV+*#=olXgjEqG#e zAU#40UfIxs$p9_*KeXVkwmHlREqEl}g@38m@?U7dThW3STE&PrMt>9uXu+9rexeIn zuoYVHC>Y!CoBw|crbE4cSRQ`+e=V4vF0312iWVGE=to!4f(N1nuP&KQe`gM6ztMuf z56xu7+uS8Hv|x3=YHouTJRB`p&on|bK?@E;3oiEY6=rC`c?~U???VeNMhh-rFIi4w z3x3xnoYK*P)6jxDlzP+O>}ZyY796oCg!-ZdZ$b+WyStekMGO9g7ThWDCC@_(PD2ZJ zyfQ=hqXl1VXu)CuTJWoe7R)RDUkheQjV;*6bOz?Xg|h^-V9gJ1REZXR0WDZ#z!b_t z3${ZG?us2VkI;fwp#>KvKIUW5f;XTA8xHdqx6p$3paqwla29jWf?d&qpKM*i`=JGI zL<>H!{UK993tov9yg1FD2rbwTEjT1cq7P`n8_;=--Z@^5-s?UOF2tL3$8&69^YaD zjYSKtK?`PV~5f`6d}JH0ofwrIg&Xu(EK3dspA*Z?iqcFTKSjTXEDEx4?=g=mQu zoPrj-qDO1d5-s>CTJXrl{p1X^;8|$F=~Xzt^5})M0nO6V%8D+b1x&kA z0xkGPl^P8|3r;}`-f_M+S49gpYG}bCwXp>&mrwcxX8!M@(HdcLmV7Uq{c*nB{Y1@bIED$X?1}*rGpCO%_swr8a1zRV7 zV9IF0lhK0b4L9ab(SkRj1@Dbl<%AZz6)kwbk-jiO3)XFD!D50+Lks?O^Em(4g00bl zv(J07H)z3L9lpsOJ^D~TwBWvI!MkgEQwUn{N3`JjdCu~`7Caa&c)etl{x!!M~O8oWJ=J8;chF5-qq_nj39E z3qFe$+|t*X?9hT+q6HU^s^BhY!AH@8=U6UbBhZ3RqXj=|8!B3SyT(pvKD0b)=P5p) z)Z&B|JWMBrm!Jjfp#|%N{9$X*f+Ns^-3QDj)%ivI`MlMZA+Y=sv|vZH;M>kC*onse zo7dTo%|RFLh%UTf$RGZ%1^-10j?746UC@Hl(SpU!7%>MeSZ-*+BB-$i$EwWX3($gV z(Sk3XYDtD@!J8XeFpWS9?%&XY=^k3Jgch8(dLH9w!5`3qGva^oM`*##XW7v3DRbE( zwBV;`!RIZa#b2~w4Yc50PTpcUTCh7>@OSlaJ`63m>EE$J&S^zzXu(Qo!JnSTl7Zg4 zBB`MT)4vwn6D>G2H=fxywqS1enqw~)Yl{|akDW1LXu+S+f^Rhq7J+ENtI&eGU?z3~ zT5vd8u$jYLZiW_Yjuvcyd!p88!CTRShYbxSLJMAo7VL9p9A%>gd!Yr_%}Qpy(Spm+ zg0-KQ^7f4__|uF|9{b<1L9CJ*wBI>^){mm zua(FWEqMKNL-IijRz(ZenH|eMpar)^3oc&k%BR{p$w$zFyEN&>g3y9npaol}yyx2* zTX2UX@AwzA;9F?H+ck%C3|HzN6YHY#U!CzQ0TJR~f;DmOSEDES91hTkw;;6S&mag10Gq@>yuXA8yL>_MAiVO|;-;Xu+Lp&Pd81 z{zwbZg43^g;mC*sy+aHB?dHnj)++DB-$$6t4{3`L)vf>o!xFzeArb zK%c$8ON(Zr$*x3`4Gy-X_NTA#^Juk7y|Bv;eYPX|?1Lu`G!1<=x1rBcw<}>dY2Syf zu=^oRL7$z8KI@*SD|FFkkE72Xbxsry&}SXcXN}O5-=WX?pwFuHtd+IUXU))O^;_xC zYxLQz=(Fc?=aMn{>}K@YH`b$xqtCuYpMAb0iMG$rw5UU$Epht)7(4f9sM@e`OD9RC zlq4icBGO3`GyC32Dx{JmiHb^+BuOfSBqWh@A;~F8ii+9KU6iDfPC84HbkgzF`S)P^ zeddpEt*^Db>v{LubIl<$&0N>sb2l1apncYg_StnyRJqx-&uY;=YeD<^rz?z+i1yjU z6f;hr_E~k>XO+YLlwG2I)|d8KjUh_H-L%hUcJ^7}mHkYq#L{7c6>{c6HQHxYX`gMO zGZPdId<8FQpPjb4(fHSldQorMXJz!%xgNC7o~3_2x6(eF)7fW*vb4|YkG*4T9yU>UhxS=Q`z$uk6Mm+B_9N}H zN|&z~8_+(hPWvp|OP1?T`|MTPXSZHk%H{t0D=G@L5?l@$%~jGq+eG`Uf>%P>0@`QW zXrGmn>mzLMvmEWS&Q~3U>9o&&qJ7ry+kHBdwM4L%_Ssp{J%w}VYx>U4K5Nv~XJ;f= zix}Ex@6kTnvTP7{g7#T++Gme`xhgtC-#g~fJ{xZR@Zt#CXLD$ueZ2pYpn~?<)t!A- zxRmzUWwg(J4H+vKO#AFP+GjTy`3g*FpKYXl_Df7qnLF*XCA80eJ{%yLOZ)62+Gk&T zMTuf*pKYamHYb#xr%n58E$y>NZHsN8~XZt+(Cvu{FR+9GF zZPxXoo3zjF`E#o5OK_&>0`0TKw9npLpJ4ok_E{0_v+i!S0vp#`ZcG0bjA^YB zy`z0ri@uk3_?;xMrG56t0w@cheKwl**}0A>qSLg`{-AyK`y)H<1MRa-^RzIW3QWt^l6{{L;I{nx;B?X`|KgwXMf1}a;t6bmCddZisW}M<38t{6g;|q zQ!x9v6t{==*+$xDJ$yn0m9)>Upk99VxmCg#+GlssK3g@#OSp5KmLQ4t*%G%l!2#N5 z@6kRhwDlLY_u1aG&kpgipIv^{RydIM*}t^U`t)8cETMh2e9*$u0k7@}+WTyv{WpQn zlt|GS+Gpp|K3izAgp)V35d8VsQ>a=xk+Yg)XuOX0*~L@08ZW1P_8{%E#|JzU$kRSs zK>O^Rw|#}VoafAN+Ghs`9uzpxJ}X1}tnrigW$k@-&Q0Gky<(rzQ9eRf05Es^^3T;sd6&#JB1 zC-`zCO>~y_*%9xfM0Otx1WvTiN^G4d99pW%>C-+N@^7l}6792lX`jt^4j0U8R1|HZ zpGn6zXNn4FpY^1D)>&7dn?n2SFxqD${U>oUw9h6fHVeY^l0-(d&yJ#fw&M0nK|k7O z)771Yfge0X!)c$@rhRttg4Mziw9hIVoE2=Ex=47L_Sprr&+a_FO0bdk*<#vfOJDTl zzOV5zR-t`%RndA*nf6&v+Gls`&gVALK6{k*+4(DcMdq~6#?U^yVQp{WN!n*EX`ijy zwMe8x`|Nt!XNSjo3pv_n&(J=*sc@x`Tum)=p?x;~qX+$trVXM`w9j7ONgu0zUZSzI z&z`jP<5tl=J9NSTku;~FrJ+}N6c=3If&O9$$m_N+;3GK6K z2bKxVXrHa2eb#-dv2Z%=vl_I|PB}AE(Cj#&EQ0pg&5L?*J%VaQg!b9xC+szXw}N*h%|r>W()e`9YsW_h_HJUo?t)Li?zA-Y8StVElhNJU*iaDet%N!n*` zu0A8srhWDm?X#zr-W4?O`XhKm`)se+F~Y$QmWkfdK3loX+|a+?LzqJQ?5t~dMb~Jb z4WNCtaHJx)m-bo7y#ns@v3nwA+Gn@ZK07^oq;WCrvyW(>eH%dL&_Tjn z+GiioJ{!qB71Yo^JCOF-ku5gDnA(K0YqZZMFPSc?p?&r|?X!j_CvkUZpS3u>qIC4f zMV$X8eZdymXMOx$h?HobwV{3Xy31z4U)pEK(LVb;&RF=K_Su7@%8ciQnhGx|%ZSF% zK0C(prQkX3v&Qs!{&J6LHn#5?X$!Fx(cIRZWuofE*HFc zQzcNRefGo1&w|#}rNVI9XB{ecm5F91h+go0Hfs73diI zu2T3Ux=#CSKJBxanhAnyw9gKteRh(GgYbL#>oP6cXA{=06_)j`6ButgV4Rt=POy~r z*@Lvtj(n*gjH7*a^uUXvwdc}A?R~b8_SvtSCUT4TKI^{$`>Yi0vv2ID2>bh7GqR_B*1q3lVGQlFqh^GQTn5z6oJ9MqlX<-Hz|$uM z_O#DVrG0kzRguVy_Ss?bYQm>;`g69gBTB1jpLKJ-BWj|3wwm_Y3oVn%+WTye)}+!s z@6HSKX`eNseb($qf1&aHg~kQ6&jxOODsZ5EcHl_~ZhiDN(Jb0$Z$@t^vktmyoIv|* z3+=Ny@4k!f(>~io`|S4Z&7u<8XPsr%2nAOs(Rq^-IUU+(KeSm3R?@zb`)pM2yP|i0o?TR;eYSXwwecp}XXnyB`=IidU=HoG@wCs@IcN%}(mqRQ zpFP}EEBHqH>^ItH^RBp*Y12MCf%e&iEmoXs^*_Np+GiWh@0?X!O$uMoEAUKG8heYP?9 zf#BhkMMke_pPe@7fXJKn*<-ZN){ddy;j|}QaGCbm2sb}b;)MAE^EywipY9gU?zE}k z#vNZloneFMV@P4CBJHy;rEUp|X`fY@wOXjQWTWsr?X#-U;ev<;Ct=`%K_b7tO`?R_ zT7libvBqC$pWSY>RTQDQNFepmlY2NzOSG8w*$Ur@Tu5GTu7Eb#w+6RFhTem@9s7H6 zO}lGEGKRMWf-M5>M2iHcPu;~HFBG}dR2eN0d=O2PI3~C~prJHH*N7`zS}NFAA= z$#A-3Y(=Nu>u_{d3D-VH=jz9gD%RdM>!!R1QWI zwXc8CIXeE|I_8{k?Q?X-R$XbI&BFDgb9DZsN_DIY=p3DOr~7qWR`0j#)YJM`JJzLi zj*icP-yQ4rIXcP{hqcc$;lk-0os_Um9oyUI=*Vu>)NbG2K1XNwXXEx6EL{5>oonju z9s3NVb96RsIM=c6Md#>j{}I};k2;;B<8$Xi`|KC4eU8q_I~OLkuiNM7Z1@q{alhK< z=p>f2XWF+9pmTI)pWWB7?wq63K0(Ewn@s2E_(W{$;7ijvI@6Z^>bPwC9G!4Wn+|6C z9G%}ov^(~xr*m`+*Q9pb28ruTp_@@%$8BhzqjRa>qmKRC=jfz(9_`??&(Rt6BDbLZ zx_;9+Iv$#49hZ%vb99Wq_;=i%_BlEuo=xmnx6jeB|2(E+pI&s1j!|EW4o>?Voiy7C z9oN-9N5?NevSXhrI!DJQopfw(pQB@X;e5w!(5G{BuR3|19sgkL`1G%0^!5*j`WP=+v8-cigu2IXVGp5*^IWIXa!p z&N(`r>(q`pI-TpzIXa!|&N(`r>-IT1mbaBV`0aCauC)Yo@So5*I)?=PJJ#)Ube5`Y z>{z$Y(dls}sN?>&&(Z09=}*UH+vn(vj!^7ax6jeZ9nksv(>_P%*AT;w?X`4{j#S>7 zj?4PfIXd(8%sbYdb96dyPYIo)Gvr#2DLv``S~z>PZ~RC9G{15dcKy(YOW5_Z*2P8G z_0zuZ|NK#f&V4$!v@;~>vM>GVF@XN3o!`FUfBDnCe-HZPl(2U8@!IO?yv2T&+g2|x zXHQG#ZT6;HJ>A#0Z?$JVH@W*dPtskpW=s1e`p^sXpg-;K9_Bq_RDI$jeWd2M7$ z)UL6!&S|5!!vbdShf4P4q)j+{_hn|t%W8Jq{IU3X%TA_JvWmTSO&uTo-pXw4e_d>! zo}V;Oano|9DD67?aiIbDHo56KnMvPqoz-xzBX#bB znFzybcF~E)L|yTgQ03QkR{zdJVv?LF+}TjY_W5;(JQ#crbHuERW8aFea^3nL{`eVCqVx7g2#m3zAB3|?u`rpHEveg?Fk@8`SgvTC;GfBW=?n$jSvvAjKR#r=s^Kh*fUO9G~ zbxga;rCzXNM*q0Yn%R#es+Mz^+10gd@()9j(KLb?=y!+B8>2@gqDzH)((bSxQ+g1I zU}xbOjXP|?fC&szm+PRAzg29cz{+N7gYfg#TXEu_gBkx%v~)!jC`e*wh8d zqWWjK!ro8BndDZg$X4E&(fje7^>@iGD+nFVtn5|KuFE^lt+5VeG!{Q+Wr-4bXYbDh zZ+XVr?>8mQM+D6Lr%&1V(&;2rtwHG9{FE(__{^332@?iIK4T^9jJWv6Il{5-;!O2& z1u~@3kU1}S&Dy^I%lReU6bkP)u{E(aWZ+zPrc||wJz^I|BAr$KsQ4S6_X{ z%G(u^wrk_K{XgHb7vx@(uR1q`#ZGTomxiCDF|$r6lhn*=JZdA!6}G}ta!u?d?FM32 zRWEvA`ikA9T296k6mfgcq}4UC+l0$d+4K4l>8uf>?5PC2N1 zzb`JG`HJ;9l8zqz6>(Q|BYXHxE}jj4L1r5@vh^b~F|V|ooY87vYYru&jB*vJGpc7V z)x==b-Vfy8q33LY!y!DfcpwfwRL{D|Ct&JDB|MhVAjZ7%x)jyljX*=aXY2$~5h|5w zN`jBev>e z8rtnwLjAsvSMNYW%F%vFvm{~<+t5sC##*o z=(s7^`^{Z3W{L7O4AoJ_x$CRhC%FWh-{>M^SwzqG{vtu{daQR$xDC~pxLT|8o9=Yh!YZM+Daf5y0ScG5mCgSWkab`;uhlPp# z@p;}Q)_-3yh7~B|2E4?sY3A_GoMtjE>M~nUQ;b)KRgqCm<*YsA;o1c^$+o5n_Upf6 zIDE%v((_jZ>)UV)t&3#w;_wPq?`JOB-57xo#O$A@w0 zhBmThMj5M?b_5GxP7<+UpS!8gI)r^it-xL1id_XaKKQav6!;h2o#l@_FAPiex+##*!&#|Gm4r1b- zR#K^aR*b1=8jpd;GRT;`lkD#`QRvxljeP!elJ(gckLE+&NLorho7obDHRY4Ze+C7t z!=GUM)*>JiBTlos4gAoxD2V*4J1#Ho_U<~_qi)fpk5@V(=4aXri zp=5l^305m22ra8ll6Qt#teRywM$MW`l1j5!Bkv%TUHFmvt)Iirukpl;i9N~j9l7j^ znX7TAf+bm3oy#t>T#Yu&Ve;)qju>b3Ur&4#afZb1&SsC?^T+E`9f^Kg8k?r(iCRgq zWc#-?R&A$0e%vKND$UZ_wc9*!`utF?SJ*N3V#^%GVI zg2E57J*CGZ*>~L7-y)j*;xYo|toCyk;-cBd9~Dt_SA(1rMvHL{h$f)jMrYD%`$2a7 zDCtrh#jCc6D3CM7yX=K2+SRFY` z7`-Eyz39>di@azP)p*`;k>?9B0sD51Ae=ss&JyS%R?T0JorM(TO9f}BRe%r6zq zEb?YAgf^4uOFwgq1H8pJ|IybKqg@6h>+Du``zUoZ*1paW4M#THbtqn6qDM{~cVwLg zs3EEME7O#BWZ$?BLKFJEwTE{)vO{KnASQG!hPSE{>;3p9Y0J4NT5;5gP5)O*-s^tm zzMXOs<3yXZk@>C$B*e^#)s|Ml{i2uL)T!p|+C>9Vlwm}gvd!7-mm|??@*dHh`uXhA z(f!b@$WWL>*H!*6NY+t02XBfwJ8$qMVn#ooJJ9_t9j=hb`@ISIEzW6bcuPLKF(GYq z`?h2y)H&OaEPHLhZhk3)1H!GzLCYCztcN0I%u(ZJSQ@ZvkM~7|bEgE2Po}exzR!r> zRBQU(Bh%RsDUJkMdUM~53|LFY%jCs56*BC;I4AvkGl>NpdZH>-XF`pS=b*XwmOPx8q`^hU$02La;d1$L!Hfux58a$=l{Q9aO5Cyq#a3}Y*9>0`esA*B9BU-tRJahN$ak7zyU%YK|Q4Vz4LiQecw z?5m?=@TqDGr(fNZ-8fMO7nw?u%n6cgpVdD|n6@QpohHei^ZZSgjXg|K8+wXyoL>yW zSW-w5r}tsY?#xB!RmX^iTpO$`GQ{AfYoz}4e=uERE_w~gjgBAgOA75@pw`#Nx$}4jCs`136JYv zB2Uh~gyMunnBe$^=)P%ySvMW=^pzNrG3Ggpj9G{?R%|1^>mR`JZAKWH7EEj>)WZ4u zI_P&jkL0Yp4Z~;YqT9?zq~X&&5biX_fW==(z_h1g%o_`~GP3b)o2U<`?PRM8GmR0MCUCM)<{n1Ks}Q(oK@nrxeyD z1>oJtbL8ptB8U~a<5v?TJ7x0W;%rB3KGICik3I=IOdavkRcRd7qYyR_cPxJ)j}5oZ zi!noA#2{-r085sif;PtpR7p`qi97ia^*#oNmcA#dt~nsFD*~SQ$*<#F4qg33Lp@Q*ulOS(- zJcg{FgvB3|pxP`IW$Am5Q4NQ|e0w~$9{)}z{yhNZP7zr1{x2Ckc|Umg2jl0NLr~9R zKTPlnM#p2Cm@SNgyjc9y+WzBN1q+l}Y4h{yxf$1n&VS;zR21AfV4r&=G zVYH4vtQ(n5U)u+wouwC)?>dZmxr4D+|Bdj$BocpeW6-MB9q8G|7&_GuLlb-;dh=my zcrgdZFAfxAmiQE6;IMf(uzE3sOXi^A&gH0~z7#^d3(;%;6uhKA4~+g~qm0~Gbm+lA zV$UOJr7;e#Xv_rnh*<0sX@Jjm2_W@AEGj81K&_!>&@6QXcSWth$hnKem|u64pii_s^60c`_Y`-n7O_*I-7rcOqW!SdHtd5*XD%iRkL# ziw38181_m!DrkjZ-IRPWX6>O9c(rFJIvSl8O4g>KeM1CVC8;y^zfPcEybqEC9>TWk z>6kfbHL9NDgocBXFx1{23m)h)Yb;{1aKt)nz3a==y^6uA(A^k+Vm~7omWVgDg<)&l z7N$EhMmYkLI~3>OdGk9sj?On2sk`>U|zdocR< zd?=Xlbv0i9Z$CPYd?8fUcE;);FO(qtFJ3;h9u?eHBGYOpJho#aeQa&f!%T+ho#2k@ zJ)E)NtP@ja;)a#${ZRIYA2a;PS`=U?>M2?>-I+-{HSzL}090)Z7w*y0#*@i=(IZij znOm-f@(~-5shuF4nXQL`r)|*j)v9>~} zc&wR(Ot8SHGqQ|B>sOMYI0tK-+!)=apTuX~V$2$q%82^>N1Ezgu`>1~^XTwf!j|vG z(1OEEcc$v{`NUh_6Rl28V60bK6Ia(=xGv70kyvg;ax(4E%4P_ox7m@b37t*pJp6Wn8?;E@C)BSos&#ht-dEclKeuK&5 zed9otY9@^LjfUTEGnaVZDD6_mRP(;kFzYd+#QR2-yAK&7-Zy^ub%!bEePeg#gg3x+ z`9`-T#!Lq98~uD&FkQaU{l@AsZ3jDjBQvcB(;C$2 z8?6=}5{B}=u{+a$rj)45H~LS=5-IV%vF5v}(2Vzu2F4$SmAr3kov6wv@xDGF;1 zMAI36-ZxtH`YbHqeIw&!B>exru^aPig#shZ`^L7`zrrBiHzvo~FkQYeaCsQhu0dB^+4K50vtI^H*?28>|3d}DX!s(#m)65codv@2v3sycmR`q0jT)=+>h-`JfwzHvRQ;C-Wo zqdg$+8)t-iLLl!OPZ@0n=?|U05ih$yAnzMr3zvZo?;9T^SwRKw8=YP+gaF<*c4rQK zdJz8bzVS$G7^LvN@my96%;kNf<&uNY&#u!qCg0l!j=XQwhztaYj85M;D0nxV<$dG3 zVSB)r_l@0|BBvaf%KOHGBkADH`^M@!xlqCTMtP-7DCK=)ub5;|;(cRVO$?;+zOmWi z5Tx_IF;zYRGI-zEo%#25DQLax^o@?9B2eRfqx+mPkf`bOjg=W^!GrgW1GndZAMYF8 z7o>we?;9ms)4-AUjhWHepvn8j?##+_SD}dajYbw6DDb{9X!BL@;eBJTOc5yYzEO8a zA*k}cF=KEJc=5im*(L`Hc;D!vb_No8-`Jh`S@{}7@xD0%Fjj~Qf(8l}5?o74o9F*|B@xs1hh~j-?ax(`n zdEeMvQw$Gy-xvdVu#NYPni3f>j`xj)4adNa_l@g*=7J;d8@n?lqzd6W?;9^QWP^yl z=Wq9ohvyeU2=5zPf^%RG?;HJ1j=~n+H!`E*U<~gY^By0DwY+b%OFIHZyl?Ez^m&j0 z(pNiuqsHB2_{sZ5dClVx$@|92!zpl<_l>KfqalpENj-34LrnfHz4)WPSjqdwQMZ=C zE#5coF`Wl~yl>q8-#l2%`^N5^rM}DIKJOc!H@kv9?;F?JEQfu(Z(MSAJ#6KDw#wwe@Q{Fd@m9mDzyl<3qHh~u2H^S~k z5X$?;hyn)cwL5*|HtF#|LOXq<^V$(GhWCwgTNU9F?;E>w{)i^PD&99fcx43rvO9gF z@l+k?@{PN-Wcz`ed9HS!4S^-MxC`ipvyPzQ|k%-yl?Ez88c@Xbos{M zy}EFf_l;eBIw z&iXTbz=ZdWZ$_zu1@9Y2Y#0i+c;9$$fEtj7PT#m=6z##PUXwDOqXwbldJ@jc;EQ)r3`fW#=e^sp^^8EPmlM7y0e|W z(R;@;rgciEZ*=X)G3mT-)N{Jbyy1OgcTUiM%}keXysV}QLA-Aa-Y5%QzHvcs6(GEC zT)wD3`18I|`u8hFRi)E6MjpJvnDM^RtGbHm@{Qd&j+0xNF5k%A*Mu(LctdXl)bhS@ z{c8=l$@|9tf`&pK?;AzUZA_PMe3blKAns7f`^N4}@*)OIdEcn#6ai|yZ!CWw1M0kQoVqIl9C_cU@gWeD zc;Be~*c)1S-#F^BH>mNxQRQ|Z`18K8JChitLLl!O8-Zutrj|Yj& zPT%NHZ%-ZX8?*d_;XCgeS9t})8s0ZH&WeC8-`JgLVwMA?yl-?Lm=4msZ!ERQ0X^O~ zrjAU9THZJQ+;tcVc;Bc#I}-l#zA;}I30=OiYV%=e;eBIw<_Dib2;+Stk<0;>_l+04 z3&Dr?jb4AUVF>RV@AfK5DQ(tQMKO@2;qHWcczwK3Hb58G5Q&G z#Jq2G*-`?Tyl-^9b_yh~cKSx2gU29)_l@;m5~0gCX8cZs@4RnJ%{&H)yl?EzOfD&g zeBL*n8*~bCc;6VFUkrbF-{|^ZK1}6(qi%jWDDb|~w09z0;(epdphWQGeWUM{bWq}b zV|S)h%n7*8`$qj*`u?ByjWNGYfIsgW^{Ue$pZAUKgOZ@jHzr%e!Uf(p$~MJ7E$ zh9$yn-ZyqL z!e9aK8(reUU@7k#yEA7$SOs0a@x<5FaEtei5!%ks z=< z#;49RU>ENjCyts9A9&wrY&Z#k_l@0|nbr>(Yu-0{&3n!a<$dFjsZW_E-Z%a{*35+Q zzR~d0S0;=1jnc1wGJd>oOz!(1)5814qPVxrJl;2UXV%%zXS#f&jFUCv$@|6&_Et=n zZ*1{&WV(FgkSU%_mv3aJ?_j!oqsw$}rpq_#jdo$Wd}DWJzZ4nFa``N>b24QAntvl^ z&NU)mi=n#o#f($oJZRE=XAf2MxXKII%>10h5axk(vlc% zox#re)*oy1CzHAx6WHS)<>@g<%EV1>2D`Ow1j^?3BFV;`KEocAP~Yu`U^!$@T4 zcb8|)n8i{(| z=Bb&}Q80Ee^HnsMy&NMsG=(#LJcwPczZmNuMwk6)9Ks$Oxfp*s?-gDt8Y;$o803Va(SFR< z*FD+237fG=eFGB^--n$ku@nWrmoT$7OR!(2+G2yuAZD2FZ_sgHgXWjggvnZe;6b1l z8XVj$v@`9&Zt1%l!{w@l;ibLUvf7=f@nZs0(b`9h8Gk<*i;ocIVc7?ep>5*%+hWF4 z>nlY4^2fpF@);@R*PyU65D%RSXOMdVpY`^k`xkp=Th$9#=XnsTBIYxV`me#m;xG?dcsb}fbD``8q)(5>mFKG&{l`_%>r)!e;I1=g*WZN1OPTmo^C|OW@qM`R@E8ub z{GGY-U7TrR6OAEF6Jf`s+hDmc89n2sLZ!_e$k-f#UuTbll9AV7YCsh3x;zR#-R9uy z`2@7AP==lr7vOi%F*Nj6gM}@nkeHB#mGaskCs6@1VaHLBFc}`ty(z|YIKCf={0dOh zy9OGHvFI*v0Vb{r!q0@@qp{X7s1L$at$i4kWd)8e&OuY$K~&GN2CXv%P#}|pH*c>1 zGsQyK_4gtB4E`tPKJs04B@(jp(SPsQD#<+W8EIdiR2$zioIQM%j=$|WqvBynu;-nN%IF=1@ zsSEMHW0~L?ngdhN7E3Ggp!sFb#uEPv)4a$bs4!S5k_7qfZ$boz2Q&9Eg zSr~Y~5c-~+jNwveVcxwmG3I=QzW8iRCS>W9!#}Nl*nh!kkRDzE&$-?>xA6!>7hHrL zZ+jzq>nM=;0*DLfi`vVx;DU2D%#Z1ZwjpOgWkC)UzmvxI^mlV=bs-E#Y5e-=JoIWT z6Jx5R+##Fgj)T>_a!?#~jVP!Tz=dfQu*mHZ`PQ5QZWk^>^nr(jy?q4wgcX2p=xt(Z zasp)LWP_IURnlr%2wszO;JYCq>$jf=yGw;|Za5O9gC#&dmx(c-t%@fPj~#)ZF69t^ zZ#T(WnFZ^tE2v+|BKeEr!LII|gL>WrLZ1D|aF`5yINC!S+QcwNC@T_UT3b#ay5T|KmsSo@&(k=kqah%Dr~*_Q0yTi(sbUNQSN41BNRK zz+Oj@M1Ko{(l=S)ICBSgMQSh1dz=jt#~jN-oI+tuMj?LMFW8uX2i}396 z9%9{ZEEwt)fYLD_iiN6ByFUvUg=#Lo-$?M?lMSgZTHHLx;h+>k@0TzAPQS;)AYZrj|(M{y4 z#b0KaXBL!(4kr_zy=4w;%!bz9Wn5hBb4CxbM{`wc=l=Vc?)F1+aRW8c9|Gcf7@$fA`&v1PdGT@S56FCz6wJZ5y({d zK`P(*F;8`hL2|%HQa5xjvw1}>i1cp}3H$X-q|GrO?3U_ny@M%o82WNrN|z63A?_;f}A% z6Ju7G&PS_Ed12wXV=&#`6k8uVaD%=ag~$76;hGsen72z(;Z)%i%v&;+F~1%MuX>Kf zsQe$oi^C7V;t{G?dG?n;!FoT;x;qY4*LZNxiy~pu$?161m2kU+abnDaC3fie#aI}0 zAQ|qZJ78+XD^b+Y7}(8O;obfH7)yghc)MPR<@pnsW%kiv@mvr6ta>p9hxfsP3>_@8 zQx)d*3kK(u>1gy~4%gtg7p5y%;YXb?Zj zJXWB`FXTBh8@~p^(Z#FLtadlksE#TEM<;Fu7~Gum*9oby_hQj%OQJ=3uZ_x z7p|JJ4E7dzVU4oA;QI(S@Od4L;FHPNZCeQ6y<^aL-X13Zi4Z0%*@tOymzhk-W$@sf zFZN5g#u&;i0-fI*@Y8=qjN*9)#*N&B@2?$X+*Kw*!>9mMTe6-}KQs=~M?~PfMJt%- zKwYuh+?~IUO~Bu2{lLv)45W`r!Z&f>n8wY6;IqyFv@er`&)&M!uLq*%WI0G)qXl~l zyfJZ+6nym=0l!>*QRl~J#x12ce4o1)H(Ywgl)V1R49P!)!n)^-kIWyYJJX;v9-FT+ zP&coQF^W#4$9heL(7+qa&{L7PD%cc;8cBniWgv=VSqLhZg0*M1qGlg`SU2qxvvK8i zbl5T;6gFOA9+ie*{n;^4Da>K2l@DQvmL@doo)lwVI(`uIZ8k$)KV(*oIfOB-E}(Gs z5F@oC6fJ!=gKgSNhU@8z1lEFq!E5H!s||QK-xdstt}*ZH-O<;~5`0!BGkQt>_(;PN zS`TbtY=?%U+X`EdUF9am%*)=3hqc2&N;-u(k{gQa9`6M!Nqgp$!7dca?}zxS$jp>k zhYyW|DgO#H{`xX(QTBs%@3WY}x0Ykr&MhE&Z3}bujT;(eZG~0~Ek=Gn{T<8mhXOBE zG3IcSP3RPm4)GpanX?`qII{c*wD}EV=6rO-X|6}XJTaYF`@jMRSjIte-(2RRHsG-L z)Cb8PU{=_&cyl5>4o*kFXrHvgpQe$JTKh!UuVOWhS$!BBl`jgrGk;_mqSDx6FgRn( z98j8xC-TlfYvp<23ByVFRG|<`H|%3xELF#5zY|bu5XQFuQ=sIeHxnzNgoHX2 zh3CVVSMFo+@5rOzu{A(=YT;!3QcT|?1gZ@4~|MM6zj)}5I)Z6n5A zI>42TJS6sd()~4L!=H^vWCxQt>4Rd=)9$YiZ!75WqLb9gc9n1_?%{;nQZ-25$@^f+ zLpv-MRdaehL&aWCy1$N1Pj^E9gX_p>!(`~Gx)gm>?1_?Y3at3zg3NtCvQQ=-hJRm; z$sr-ce)u6McC|yd$9qXU8wGos7hrQ*0Ey8*2rJ{}q3l0*vU*Ld*nK$`V}S~l4#aj@ zq8R_+fA&~9{RFW%n+E%n7UA81bTac=I_!s4*mma>G2Wd5OC0I(P4kOMK6t`7sY(1-YZdSXJ~GoelRw)?;|CCZ@+^ z!9ve9IPaP+J)a~OCepuO`rQv`y{Q038LdI1Hck9%R3yeUof3#yuIiZkxe!?C0Mt96 zjoSvCgH;}ZxGri8dXLVh&+`B@_aBc&ZaGk|?@y1Xos9kdWy8ghyD+qI2HqWU5_YHU z#7dDNO20h~xu(0Z@#a)CNj)pZ)La^gwqGPQ&1HHcHgQHs#R>te#N!!!VW)g>$r^n*hvK(kjKa2{iwehdk3Gh50hjw;T zao3VeFnN`LGD~M-@%b!xRG)-)V1#`><-z^HWR#B5N1Z(dV$2}PG`t(GgbRJL!J*%A zbp4=;I|FmzU0Dj++biP)$b^isDd_Q14Fy~})JGph)mP&&L?R6?Bpky+Q(Y{SP6wN3 znW(!>2kFu6knDW|6fuvAb>PsK;WWw5B> z2$=Ov#k|15_|H2DqRP@y{_!xBx)={8x+l;(RvsUi#X~rkgUKdxxNvnMtg*|*s)qxx z&#e?O=C1zfn05LU@vNrDa%*Rz$Jm!-t4}Q4tvZ4x?^{XX^;nQycm%6w{Ur%9hamJ- zDu#TP#6H?lVAGpE4tYJW--AeyG|j@P%59|T!2u}evasMv3u!nUEyh&PO~%T3x5&(S zkznU=6#YZ4ks(+2!*A(ClwJ0WWZjH}kZFk+{`@_u=o0}|G07-(7Z$pwPs40`S)c|yj| z_Xo$G@yO`iAit*vh%v*|_G3-lBQkUA9=P;$KT0^=C*>1%!*^}!hzwqn1&#DLc85qb zdh(SV^$vytk0`7T`9(Im1wy0tL2O&_AJH7S6MWU8u>4dDkudgwcON4#wEt7$sIXm( zS=4tACNKU@4sQK*roKOupF{ zPkr$RYkDr8s#IS*_j@~N%7cs%H4y$edRD#CkX7Q|C}HihRJgSz{Wfns}IVf>N{Wf zy&@1@`V7Os7hBA3a|o_l>n+AKZrh3``D5{VTM+Ee^g`Q-nz+_C0JfO>VZEX{ zTK}c);J*O$c2dW>EGkCV6@p|fM@;%fa&->m}6;#MYjIn(#IcV?+8)JFF=f`Y7>esZx`Xp z*`ZMFxfdnC8dtswg7j5kSS@Xd)%3b#oawoTzGi4pPOnQZ0(q_2oUcg3ZsX15dS zmL9^;Ju7gH(rz(kB6Y}@UbvwC34a)}FBK=}uf<;$J3!Qjp1+Xdgmun=pssNYegCsV z;nM(cGfqd(yEfQ(VHY&qO~r=PrRZ_N2SnUalzC;3dd6G9HuWfK?O%;6ExpB9LlclTV__XczR<-UyenPNAKNBj%cWgVu|DB+bjvW|lYj4Lyl>e=fns&7Kfr zm5WcV+F>q!UdG_UV0Ia^}wXa|sRK7%=b z7oq;oWf1hE2tQcaVpD{z7_(#uL9Zkhb?=&j$IUWy%QV40TW7(V#RPX96W~D0`4HtQ z!otBb(RG$3#Cu;vn?Ex!vCRUkCZ9(uDI@eum(!FH#ZYpPj`vMFq?VRf5EzB9xpfk6)csA?8#e>Wx#tqV;2-eDi5^Nl`+thhxAd z_%wzM9F66hM#J4_h3H?ehHi(I#hBhtvN23%IL5q?0!`a&jIyJji?pP{&@&q+KO2H3 z5z>&iGz&x6!B{kTAbs3UV7`_dDxDe(lKGifc)F%o6W2gA+DS$K|B z#^lTaV$8(7^xvbF5oosa8&e&hjL|2Q(dSzmGo&I3S)n|drToWeTu#IZH-=(~{9opS zLLx@H$>W*>lAxwV&*jllM8EmHAn#owHr!Q4znMMZ@P{P)ZaNA>|NIkUHcpPhBEeYH z%z4h(Uyec(1x;L+_mUCF9l(OMYUoo?&$P%yqN4F=%o^Lo#GH@7M;q19?7=%mW?m$^ z%^8dF4_leS^#{;HMH9{Ld}R92e|P%K9ghkQEn>|4QG2n{cm_&cuVEbe({p;R8e*l? zJtpyNFkUE`j`2-3j36xt)s&{w&ky$)pP(Q-cbTqT9y3}V!DwkgFPrh4F?(mRy85rX`U6Ip@51pDzcBCk{;PNB1Jl)oi@)`UyL|s0!}No$F8r!( z1PtZ-uUxA<81r4YuiHp)8Y>5cZ@~*P)uD!O!OB1T0K>Q7 zd(-+rINyT*TpSD^`4+sXS`C)+EqLO(iSU4L!P_V30VChpg1a-v7)=K)z6DPYo&)iG z3m$M?8_f9@T=7a9toasv?Eleq-|{O-^9@wo5*J`a!MeGYXFp0Ce2CvGn4WG(pU zNn=#QTJYsLR>-BRzXdBQTcO9S1#>r-rMjY8)`Gun4@Eaw3$7EfLo-+l_MW{0U1BYG zSC9u%W-WM0ayUAZ)8B$$4_b=?SPRy^7LP`<7R=qedNUPOuoi4Y&l|bLTJX6a^juul zf-RksP&#YDn%e7;Eo;H0VY#T5wcyHS`Sd)T{uZp-ork_Q^|xT|W{q|(GBW6I!Sb(n zAf40wEqJ6$HhRHY@Eem&sEM`UuDRQg1#7|djm*$Y)`G7e-;1uX7A$h742iK8%-u|| z-Hei03(l}8LP4wr-w)k@dRYq&O3XnqtOZYN-i{1d3)XEaLt3l_U*BGdj0V=cJ#cL}Ox zEm(n?*>~20xtmMO)*>Ej!8zkI&@0x0CzMB^TGoO+d!x}+)`BC;l98=ge+zy{ooE1S z!QmfskPmCY*OzWWH(3kjZcZNSfkv_x{Bachf5=*}P3tOT$6Bz=9S1a;wcvLhUPyIA ze+xc(ZZ&$yTJVPHacBo?!MEgM(OuSpxtr&s4A3Ihg5m1rNQSlGnRYxB&ss1K0A$Eo zaACO-n$B9V+%60BnYG~k$5tR=3of~1hlDMdyE(~l5<19Q@YZ|Nkgx^MwNpdeSPK^W zs)lB=7X0p%I-)}VuLV0h&p^T!ynNX#By7RS`*o181#>q~jv9m>vKAaQRSF4P@XEG< z$e6X@&#wm}K5M~4lLnzFtOd8{Ng-hip7~Z930rXPF=-@h!Q4&x;%ofi;r%UGR_!cb z*n$@Z-r;|I+24Xwa&GhatOcvBzrr_QEm&FRG+)?)U+T5-g)O*p)G@xW1#>qqxo_hO zTkyJDYx(MRXzOV&9To?=g*Mi5m^8VL?1GIp! z1#>qmdnWRQEm%uA2MSy8y4kLLVG9n}vXU=s!D@-a_&Zn&<|o<0|Fz(=*9HHt7R=p@ zu9?FRXD#@MRTDH~Ef~0m@%LKyw_v|(e*9wAg8Td?^1E3JKGKl`g)NvrdI=D=V7|<5 zkjGjuck}&uD}Enq!4G}kLtzWnDM{xWu@-!)E17S`TJWbmGy$^~{C>;@n9o|UNRTEJ zwqTb;6DVxK+|A63>-Z;F3(iQH!vDxxu%G!(z5;8(mId4SH(3i-+ZD_|$y#t;rXqhj zYr&;b0=Sj6V9B2IP>Qu+?&gpi`}i`f1$SRe|h) zSPK@3@a0>x7OXXDE`K6x!6t7JU)X}Vo2t<-`14o`PKrOlS7R-B*=uU@bVma0g%5f)`Zm;R{f607oBD;n7cXf zs67&4E!eos3Avo=Z^0jlIXc5yu(KaT2UrU}_CO2yuom3DXFAGbE%@5bxhR{p;HpvP zNNz@d3+8TSSEis(ru{8ArYsTZvKG92^cs}ITJTV7cf@Bcc*JpQ)a%#Zf^FW|(BJp^ zTd>MRFJ#SH@VCZrWUk!bg6m&wM)O$YfAosA z;KDJ%=n-qdN@|H{7;C|IMsGlxtOav7xwn7!!tJP+wcxI?h3FA$!P91JLbj|0%b!a^ zL97M;IuMESSql#Kk3o}I3)V7CM~1iWj3tqWmB6`kR@R|){kPiL5_HPT85miQ* zwP45KN$4kQ!ILa?kgx@FH~lVl@`Ww9^Ft?J*n$t7?%)esaO;+nd|?aDI40l+vKHL; zOh8|IwZ8=)czu#DY{7fRUf~N{Fn4q4oIrG$^;zzHfqQ?y`zsJ#XML7?nN_F!=-+z% zO_qEAoixA|rL#U;e%l_sV11T*8SZ0C)oxd`jrG|GH9M5U`t13SUdV;@+4W!CQ4Q;} zll|>c9P6_mUoJ7Zee-v7xF4kv%AU7m_ zy}!@4yEr3j)@Nsn+afjAXJ=L}LAtEZ&UP|FKUtp*go{xn>$BWVLl1kjl=azJ&>ShV zKC8098HKYx`=`MH#j!p+D8&l#S)cvvv=}L{KC3dv0KH^=R!`0tJ!E~ByLo=wN@T+N z?BvbM(E-+HKUX`U9jwn5UR{NHS)cuN*b?nweRkzR6J*Q!?9Adt=ppN~>!Xa2JnOUE z&Bfx*NR{>3-1D|*BI~o$72J_6>$AgmxF9vwXG5h{qW7%N9_=tkUs#{L(Y6#})@R=? zp#P?<&vG}%Ee}Gytk3RT;ENhrpEX<;f@ZKjYm*v;#95y;O!q}Otj`_`^FWrY&lb{u z-;u1(X6bt%KI^mG&A3@fsD|~~7-{-5j`i6cAxS8J^;z-aL}bqT?5Mfx(15o7K08%8 z0SWu;yIt`}*k{KWuSLQ>%iVOb+lU-K_V?MwJsXj*&l;3&K<2E^?(NP-@~qE3FU>|0 zvi*Hlzb6|B`>bvG1|;mWU+gy`VV~u0p5Sjss;tlE1<==xVtsaoVF9|p`m9!2K2m0V zw(@8Ja$|iq=Gk^6?6X52{rxWX_t_!IMQ9l7v)oNQU>E9SeKudJ9EGqxI}z_hF09XX zP1=dVS)WzfQi3M3KKp)q8ER&IHuL^oq|5s3^~egO#`-LGvuM^HB*FTu?Vd{H!TPMj z?oxE0_1UCBrSyEq{yuv~K%diex4+LO%&0(dtk0ex`_OLIXN&BsQ3va@+|7EK-RKDG zv+JhrMeA6fl|E0OBgXoyfkiR8&iZWYGkQKa>$8~y>Gy&4**Qj)$bj|PpM;+C%K9vK z(`-f&JzuQ9&u(-oK{>3?>d5RsYOK#T&)$KGSfBk(UkhRs>$3|_mY@#SXB}SdLK&>j zUKQ*@vVr}5mbp2KD+G>wH?-Hl{RfbZ&;sgJ&}i&vOe4VHXrG-KC60)wr$pD z=gr@a4zNC(FSZStvp&n+Y#X12I$59XyGNhT#rmw~v}`2H`fRh)Mr6YJ?9-4Obe;8C zrD?hJeBAy%dtf~MIP0@&?>C@4)@Qk!F9*@)%KB{4PkO&*eRh;qDhgnIcAs_zde8c7 z=i*FM%KB_JeeHsYtj{`(%s_3Y`}^!Ug;XTV`Yd--uqXzZus(Zu<{H$!w7<_TkY9&t zS)X;QPDTl=&u*qBsm1#2#-*vKgY{V*rzGUZ`s|3bc=~#0{e70ZxxX(0nXo?lV{bTe zV14$<(m3>#^;!PcL=?mNY>rL}YGi%((E4O_hV|JZ=XGcr>$8O_Yfv8Rv)s+MKjP6j z)@L7Vi$lX$pVe(hM3Jn|D%?y#!aln&Ck>5ceYW|2Dsp0dHf~BXs%L$+SYjO#_F3-c z3S0Ud4%TM}tWHP5KHKS*iG+Q2p=UM{_F2Bx1|;mW-Al7kG3&E_{7ic8UVonz0U1cx zXStj9>+_Hw>$3`eTad8N?iiepG+CeZ8eV{eebz;^015l7(&Md2*k?N(^H3z~vqM(U zb23<;$A<@8qpWlXStg_!`e_B>$7_<2~arevpcNXP#WvAr~EK# zW_|WjWD9a)eKt+!C|be#Z0Cm~XesNnHFuiPDAs4Wn;IS%iR|w0vyUBHQ7P-QZ96dH zvp##^Q7ih+`mDWPGm2w$7I}o6v98XRoF-B1zU~FVxkeIjqnA3_XYfSfAaPdJyHXJ}XO~Bb3JaEO+xjR~5=( zeb!|~70PFQHY}_P&0~G`sa++?W_>nOrvf#yKC5557d5j!8#Af`4P$*)au$8Q0qe8e z&Fkq!^!JedJ}a@k2<5XrYkIN}8L>X=(!K*}u|BIYdI!p9eb!!+{)}UN_UW4)=sD}N zmwF1(ch+aQn@Y2C&=J;W^V)Oh^H}=(Z20g^sFC$qwZR*aD(kc7j&4BrS)Vna=Rbw8 zKHKfP35Byh3+T@sY1U`Cn@`84BVnJ-lgU8BK6|w(6&+`NHhdR77l-xP11Tv8vp(w* zl8S6upAEZ{hTK@6?dVBI-&vpKZb~O7BVnIC=aoWDqrcBuYA2y?)@LK>`ALj@3HvN}lY4pYWw@Wq-RE8}_xAk%ZnKC;z`V+h6OiTR zc2s|SR~yiiK^F8lv#zF1`0=NenQi;qUh)5aT>rFH+vLI%|Bg#z#oLxk?)!IqV74wX zpIP+pScInwm$GA@cyYe)GQ-YV@r9q;QI*NBW1BnLckzYS8-AdMFTCEXB~|=kkM;iD zHv1<9{O|gf|BmHzL-?(i>E93Z_Q*yl@zqC%{X5PPwSoHvuK9Ot{@t2Xvg3IXN^KhK zGW<;;ZNkqDdtA`g$2OlASGCEr>$*n&Usqp#_U~(HubXyEczagKiXW5o$o}{7diRrU zB0A##j@SJTYnwOwGWh%bnRla%_`H6N{~mXAmO)8&Y$>vuKZ;$Z*yAL>PrLtfugHoc zS+=?Oh6<`+*E{#XG$g#RXrx$oWEiEG2wO1y5n{1mPXUR zukm4W;{U!6v6JPS4Gt%X^Y55H{T?||bM)WwL#=yI zczotWIbV30m9)!Su+RNCSs!g~n+nMIF1uHa9A#9(%~HOH@SkRk15?R<{&fKgW)I_Rhd&r+*8?>%z(TR~96_NgVdB zj|S@x6akM>0WkPkC=O1m0KLzR;JZ30$h}O+hz8z<*(yNfTP*xEJPwB&4kAvX=Ks0O z#p3t4aeyNkWU3G9+CJg?o;oCszKtq(hkF|&jI)5f*=rCGyn?9z7y}mNr(oM@;pA|= z6S$cW45y@R#2X%cULbMK72aC>0my7k#`obm;M5xg|t4qTen=UYkH=hu*5zs`U2y3?U$x-pSU{_cWv|qZLzLjP< z9=y;8b}w2FPJf zi@BR^6Zw!gvEoOUe+wjT^g$!1A%tgivYU73n=_O2nrE)NHP;BQbiz@8{SoBE&43-oP)U)&!E z<)4V*y}B`Q_s->bzHgLZ!^UXPrWygOGsoi0IU>Y*$|?x+2H-y#(PV^uAaKl&5tx=( z5ouX@^6bG`y-5E__+e}u@%$spD=QxcH(#?LdLQ2DaW@xDTnz0_$wE=NT;M7f3e(HA zu*sh-AmgGfh*MkxTe?p0mW=7eUAm4?qf`q!1-cWLy0t)we-h80r%&ASWyv1D^Z3q! z!vftCF+?MA9`1do2&bDaC3yNx9(VKeU|BfK-|@Mf$CcGa6lO3W&N`3+^V$>AHmS9c%ZdV~nWaarU0;r$G-lx;ID}l5-v~}e8(F@;PTH&)q~6-#r^o?mfK*#+7N2gn^^Tu6t5&*D7n06sQQen>WrR;r3^@TOavG z!NFQ;V6C1ishevEue(Z+l&uQzzVle<>+}aN|KR|AKbHuGx#(i)TNB`INOR6i zxUW;4XlIGSC8hGP{>U4AJKPP9kd6_gEj^-_rw8FgElr}i=rge54+XyMjzle89j+NG zOYWSPATz4EfcpSX^1`K;$K71pu1O?*rQpxUbYSqp#W<2@LCVXep@*sgak=*xJa_E@ z4m0mzrDiX9Yo3Haez_(P{IY=xF9(u0OQ%7lzbm zC+;!jJnrVpm6oKapc*?5dIL21m3Ui*E16_c3oh5LBKP9Yg9zWfpz!k*92M&eOSNTF^F{1$})CZHXl0Ev|O$B*B z;kbCnTrH+M`9BpwqQ@TkHexaur@ z+tx-868~xnmTvMVCErc~sQ@{Fj`}$qJJJu1e{+b}lX48~w)BNox#~c~F9;S4*blbq z$$+h9o=|kj6FhwBY5gty3edehgxF(`Oml<$y#=7;+EGxr#08F-{R)rR zFb=rK)dO{YAnCP~`_JauL_4z9Jp*g5dXHmw)L{2hHstG$`*`oORV2Iq71*>T5Su@5 z!};!h@YN?daBOxZSRrQzhl$+-g9_}R&+`mm(f$q`n!E}=*!LFeU?1RcuNgSn`IDum zNB(ECaiSG59+HU1=ZTW^DHYgwh&3r4`3fIuv?C+Wy$A9u(r}xn0N2?0!}v5QaPU$Y zX!vand!%0irHhvE&+{ZOyG9hsr`f^i_78Yvdn(xC&T2jFdIt==#-U3q+W^Y2Rr}X01=gx12xY`F8bq=$``DU_x`%Zky#f_W|U4o0P97%BgI}o>158wS%h;=$v!#tDa`p)yZfS0{1 zY?oOEK2P+6@=Lb^XQeE#X1#_nak)d_l@$!py z_(|{sY~tol!Uhk=;e2PZM!W~C$yCMyhaI?hL^yo8v$o}Q{A1vn=LYNNDS%lQ17Xdx zLV(WO0slcUu=>V+!SyeT0e9z}ZLUDGJb_Hp+$Na!Duis_wF6sz9)o4}J;mogxRboD z2Ej5v7ZP^(El~Fo#j=*$@I&)(*qCsub;ITtV4RjaEZNe;6N?Ukl^#2R$F(uQM>7sy z`C27-bV3Pmcf8h?3LXtxOJ*OI5S)J!M$*sizys@B1ZFNTvEeUwaz&)K)!4$7Y^#0? zHaeXbygy0b8r>!wo_}a0Fx~tbL{D*tN~gc-*RBnN77KTR>v}D`m4bLU`E!+E*tu&w z?vA8Lji5_mEqT9bs(znRI7!&H9p5?oq_y3r8*hkmCvGku^)tI%NkecCIDR5qaP+`d ztS~(seskC$@EX|zt|Ys`-khFRELaVrUK9fRqDT7vM-$+1wOWDb3L74G=UhR(AgMBe z964amyXzHB`0e?4keL?mc2+lDw9JjXRUo`KFI-8O!Fwq8jK|F#8;7$S8=bs#?%LB{&|Qs zFFKH^vFm`&Z6|VX|2H75k-bjov0)Q2cV}A5PQl&dYlyO^C0M!Jo4AyR;R>}Tu%-73milE&vZfvaHxI8Q zFMo-`fLd7~xUdxy|4`UCVm$tmdKZMxw1$txkKlL8-tb39G_bF4!cK>LVA79fyl(w6 z%-xBbZwhK$B8ls30IHYU6Mp$p95nbVIG-lKeG<#b#v$F{+e-@)pF0Tlr8|N9-P>`? zpI|sDaTeByIR#q2FM&ra-r@@nRzidO%Rqr`A0BLJ4Hd!%kgg0r+>lxc)c8R}Zu^A) zY|bBNM#jyUf#ZUPLcd3~_~mXB!n+_2vzM3>*<2ZDxNH+BIAyw0Z#gf9sqi_sjw-7K$PN={x-$0FZ`!(aZ@c-EaoMCzI>oWx&7a(I&PfPNP6 zUQ&y1mixoyfd*Kka1U^wU<8XRWJu-MrSR9h8DNs00@1&=6i&03BC!tZvGM5&Fv%)_ zls{SqxSMWXw&a(i0Y36;08DId#G%`a$l@0R;nVSU9dAWtFPmv9&ae>y$N_F@5bWA zp3w2>BkZ#2ZR^C6CLoDD$n_7||Ji(MA4ocK%5m{g1YDnA!X6eY$P?QJ`WWI*Qu~g9 zmN$C^w+^1gXRbKHpTCQ6u38J|t8jp3uN!cEm_JNTISAr6>SK?OesJ2JlQ`@I=6N<8 z23b0;+cZAvd3vrqH1z^@%1e$NJB9CmY0`BIK zgdwCBDiZmW5u{Z)6dQy_lc57_1@V<5$ja@HdELjBkspf+@nbOvwOSO(v33=3&^Hc> zi6jf;{N!NS5j8m7RvL;p)=Iqa4>42Nt#$P@91BeBPS3gSLPc*{$j>~TNYdUD-bIGg9syK(LwPj{X= zEIGu7Hv^`E6%FDzQzr(#x$}l+YhXqy8x9csytf(X=uqj*@a9H!hYa#rzh8 z+&IRQn(>CWb$mS8Blz6jbIu z2I9yEanK`jBu{Pn5;81e4CHR!y1fo;v>HYFycUrG4|IT0W(DOK+m+Vi=aDO02uI@RXM^@U8I~-Wj)b_+-v#ND>!9v6=I+-4AJuoz}qfS=lWr zuBK$mNoC00OqO2+m4i(QrujLYN_8h~IS%!oyxg!+pH^*3X%XiA|dd1#}GOCc;O~?nY;fym4YQxmw#LK!I^E zwNDgSNzB0RGGn0b0AtvvEKN=Ci(vNYSUB(Gf!6O&jmdPyeZQoVM^N_{F zWZLv5&3y?Z`bCF8{BW+$%O-hX8Wc~mjej3pY-9$tb}EvimyL96E#jd?=Wq~Kpgv1w ztul1mW=em?q}PYce;~+SlK?G;KRw|5-jJ+cF&=U^Ul+Rybg4IHP;Y$p$^w>BV-%!E zgRkBhz?j)%)`24Y*Be8rH-@HF;J@D3L%orE`KS>Mf=uR(?}x{MNa~G_)El{%xm5ff zG*EApqTblh_6c-RZ;XE+`TxCM5#uauN4+tKdgG)YW3VyxMjPslmGw^e2K7d5>Ww2V ze{Pnd-gtp} zS{Z{v>Wwn{)qq7tE|%#whBI5^0wBD)q)D>Wxot zeE|W~8@s7DZvN#9qp3HZ>GwuhO1-g}{tc&nWh&T8z46MW;Xt1M8y8b=oZRn?|Jyv( zU`IYsZ&aY(SfLw3a;Z1EQg2+fF&ej1Z>*)>m@!8L+E8yapx!95J{pQqZ;YefxU9qq zN>FbUP;X50p9CIIZ%m`!SW!NVY@*&+_3oV>cXQ#y#bgEbMsezmE^?t{3-v}*>Wyg^ zZSh}ktf1bA#`J;*)EhPXy%8o-Zyet5jnJKXV=?u{qYDo6W>asRNWJmnJ4G^$dgDpz zjoi(?!Lno^^~Of(jS_=Qh&S~{6Y7nJQpE(>)Eh<0FMv$tJ}{Ab<9X_hE_(Ce9_EdS z4&T5h>Ww$3H=6ef1eVkr`P3UFYsL_J>Ww$3H*z;y<3cfD-qW#5gisY|1 zc2RHSZsx-_eW|E-JX7k8UKWS&M(T}-dgF<_)8MZ+KBwL|yg~|Ir`~vsdSlewR#3{k z@l?)GK>+i{*H5qEvD6#m296?C_oT>9>W#tF8@Zcz&Ljc#7q?p*!u^jCmuN)~7Ezc>!sp-dNMA4yRLZTt>aI?Z_K&lX~M&>Wx8* zkF;>S5%Z`w`cZFGPFE+<)EggBZ(LB-h5vfv0_u(2&6svg`1)rG{zJVnaN%OGntEdu z^~RN|1~8I(<7euP1~c!0vD6z|sW+-E*TgN<8%I!Y{I+x&Ig}I+#!_z#vq3~Y?gu{J z?~Qmb^~QYajoi&AD=i_R-e^y~@hhwZ<W%je1(J%E|k|2od<5z8{Y;(Ue22qtVq4FgnFZ^yFcmO)&y#) zHy&E;PRgh^_EK+Ljw-Pj^+shk83A`QcXA-irQWDYy>b588(W$vi z8@Zb^G+g02>Ww|r8>fg8kVL()o_Ztkb%*BE8-MhBBlzo$+0+}8H5%~<>Wv2d-bhra zH?~r5Okd(c{HQl7Q*U&QtH+b6H@>3Y$lZ)ew1Y9!8%?Pm~Uep^!3h(36XRBZ# z^~Sx_8|OW513RcU%6*mtCudh;Tk4IYs5eR!*b#r~jh56K_fB3###O(?($pKZ?logC z>W#M48@Zd*8{q=#jq21J^QTk*1L}<>)Ek={?ck@g@4SHfMuXo?;IB7IW`5uu*i?b#sW*C3Z#@3of@D)~%%R>m%hH+r8F>i* zCe@%jWeskm-nfo>BX`rb(-zuLZ@f;uQQWQ`s8MemO1&}cu{E@$-k3zavC6Lo1W<20 zNWHP|YXipA8|$ezmPk^oq~5rSdgFphZ(?u#PT)qpk-Kwt)M~u}7b3}T$qc+@uoIM? zpM|GTZ!D;815cZ-=GBAXCqbv2sQ}a*Yp2-f-gL>n6TSu~& zd1Ln10P->MwxEuBBX?(N(?fk5>W%u;8>eV^!YJyE52-ggnO*|Bm^Tg!wugz-8*fo> z6p1PZ@zfg!P;YEpa~1#f#t`a_7s@@zd+Lp=`n{37quw}^dLwtI_01yQcTui;ufqLVW;0ItS^~PB0jmdmx zs878ypL*jJhaF%C^+x&P+Lqe*$JmE@V=eVY&5QItM7?n)^~Rt8@W4Q zY;$>ky-|mHdN-&1godSeRpMoT{z=tjL!o_eFUUGC#uHD%U<36=RqBn) zTwa2|-Z)9Lx7EVJ6^2r8tnT+l@Yfs5sW;Bp{2H&N-gxQMSN*EBVI+upG;r;bSCF+fzmBL{T^~P-KjVFA%!C!BTq~5r#%azhj54cRd@#BH5K!$qb zP{$1di1HuXl0+@97}!D_OedgH2oZzMyhH!4$akC)7lzQU;>WzwhdEg-R#;MdBL%;RlL)05hs5d&ugcC#RjhWON zzkW#|o%x3aSE)C0cNU2>@y7WJH(osx46~>= zPNv>C>d!+koqFRO>W$NHJHfZq8-GpC;B_9(19zx5#!zo`S@aU$rQWDby^-f0Oj@Zo z%2ID!Efq^NsW(bdZ{+S2Ht*zhQE!|;y>Z2EZX-!0!H+H1bx4fj@_Bk|N5t*AHdQe8q6s5h2UZ{#KH z!N$}Z<*7GvH+LN|hKAG|lc+aV2r9s8>WverH%4DHgx1s>8&NT+_9+2*)EnPWZ@lkY zh1;n&?xo)NW~(vz+}-bumrRYwbLx#3s5f4;-i@88H;$v;$lbISH-`JEHwJks!+p#4 zg3;6)w@`1KQ*8vBsW-lL+X;9x%0V{uMnb)@=x`Z+OuaFgdgIV4BYIgCkW9T%>4*`r zrQYa5y)nH&w+)2GLbxAF_ zLcI}CZ=74W2mkfP9n>55k6lWhQ*RvG?~PF;F=YpFLL zq~2)Q+z8fFKUhG$@$7gzsJK`JE~4JpqICr5P;dO{*=@cyW&n*+aci ztKS<*7WKwT>Wxze)?y>-jfK=3xtpJ~UEt{F{&+q0M$3^HJfhyHNxjjv(gmthZ(|-dI7s@oKs=xlg@uoW?srC~CyU)Ehrg zZ{%(+IO+|vsW(RqjPJN3pe z>WwKq-sG#-Cg4uJQLfmNXi;w*l>4@Ic}WuL%p%<;92n38^2O-bW>}=B9#u%hI-?HFn_Y1dSg2EM)!|?mPauhUqhq`y$)n!5n|dR!wFtLTZ+u3*k-OQDFa#c= z-Y84G(OWqbm@;onuN(n4QEz-qy>W~|A-G1pQIC3KOS=lLr`~wsPm*AqpB!07z0rVr zqs&wVVn)63EA_@xGaYa)^~T-Q8@Zbizv_5~)EoCvZ_G6eZB3@$I3z+2duI*SEeM($?5{5o7oz3~V2M*8#%ypVch5B0{xm_=BNdE>o(C9QwGaS!#z!OD}t z7wU~t)Eh^8tOF9%8)d0C#z`20Gt?Uus5f5Huh;)Zz0sU{BX`q3VJ2>--Z+UqUfdD8 zEf_+*aR~Ls3Fjs80p^V<53^c@-Z-qTi^r$lm_WVJTVe+I>y0|p8$T;c1AXd^bEr4o zX+NOW$pZ(_x)>q?iX>wQMR7+-L^sk^%7G25}(ywGNnX41!N5_3&QwcHlMR zonf*>7Px!g2R@g-4nizMc%$sy;6|Npuu|!`V6kpEOuUkZ2WM^*q=yH=c|q&(wso=C zY`Z9wy1SD250S(6VLbr!(ED#*67Gyxi&X|i66d`i1qP|t|lT{zXc9r^ylVbNn&y+1>AgPNAxmnz?tMfnU&wV67>@cZD+KZr0Ej<>eQ6!LTRRv@<8-ql!HEb&wi#ow^v#7$yNF z0xR*7@&&N<;y7F$qe=3p^UR+INz^12l3{-oZ?E+sx1LzxNdbmLGC`KKX_tfU0eU3q z*B~GsHx+U>$1Lv!ho3EnIVWpDqw{iHs;ddpcIP7U}r@9=C3_Bp)2h@YN&KH|oD*!OPX4`=LHrFy<3)^+-*~-K>2$ z0*aCm(7Rp^npNq<%a=;`UbfXHq{uBs% zntb8a;Qd&0xG%8TKLxd~@h|LYs4d)Y%ZYFU1&6M{>l#JO_M< zn*?|NR3O2HKXFQ@IFJuW!TGWg#J2qm*#&5-YKTjun_b9;e zJDvgV=7zP~K%aU!?hy5Y4;~xgBckiUz3rhe^{X=69=(A0tSm7J*auN09e{71;c09hl=z&(Hg$LgL!yL!+OCc=aQB()wE)I^B2-xSOAjt^~5{ zPvM1yo=~iEGS(Qk0TjiB!5J!VK|`Q5IUHC5?ACUH;LnCc%%}&;ImrU;oFr^36+srR z48sSqF9S;%H!>>lBTn6F1--0x;7M9fu~v^E94-C=a5uA-$N&x1Yq+n_3w}8DT5!T< zCwO}`6o!`+f<#>}5;9^J*jJqc5*2L8{G#{x;>|jq+Q|&O{BQ)BC!&ED?R^UBr@E4y zZRL3Qc~AIi*>|N*q!!@1)?&jc;cLje=UdC~bK2UE|9`ES-D)6;41S%(n;CYYzNTcN*@cft) zJwJ9O310LWSGsKyOj1t9Q5}(FYi}p-_p=Y6{FgHsZQ=k7CI>-}@!PPSzZqEL?hNZs zJptU!yonLGcgB7^_NNc*tKb8Vfm?ufXb8+Vk|EoG5lM6@2cGXmh+D>7l6dY5*3lS) z&yHS!8)rum_e<-+DA)n6$2k*Uw?R<8WC^^ntpE>}`VIV*AT0j#nD*rVySZ(5J-(oA zk9BtWLhZyJ^XPgrRsP?{SX@w5TWnW!HcpmYz?f-w;f)x~BmB;9_tv(V0xY zp$dZbzrnw0qr%$WysDyba<=LZONnAouyTjMt~CrgUG^o4o6b)1}u<#qwssaXbee3p~t5-ni%(Qa&bD+#O14g-hJg%juMrvR#r z!>uv&Jg;^)XmITi&TcQj&3zV7^ZG%2SMU;WHy>nQ#aCR0gOdSXFtE}Sgtn#Nytojk zB4>Us*M%A6OtY<_5L2-%)?LcwN)PQ#)Em}XYO#AbG#i~ zyFG*`?&LwSe1aeCmlia~-Ulh(UPNJ$2o(D<5RVgGMR1EgjGi%?SeBLIN8$3Y=-E8- z``87*-TZb}iqzXx>orlgemYzq*FG9gu3v%hiR37vHeUnw*1QFmj^*GSvtYPZ(*a+r z^#WdJm7sp!BC;oSIIK%QBd9&JoH)-M0hPYZA=-aV;y0JFfb#o5a&<%k;BL7@E_oR+2nLq)V5M!dVCDd6sOvGj)%NvTXeZOwdT#t%(DHK{TzGjH z={Y`7cm_KfNR<>GuIvQLDZ$yXjxHcNuy`?j zW8Ohi@SK@8aO&XG_^yOD6zv)VWjytOVNNvMd`AW3j++G6+o;p?ST17Xs0)YIqzj@S z>XN38THq>+h+?T6dA$7t_`PK*DLRNTce7@SB`K@fukSZ}7`#p!(TqP&@ih@uaCOT* zJaE(`cxZ$ce34xTp3&!@#CRM6I=1FevrigUx?AI%83u63f?k1D#W-?lb|^^inMJ~{ zO(l(sTQHbqM$%e(uzEH%coiAoBqa|0fgf>Se+g&bF4Q}+dJCp6kpV|<1+e|Z3vg}d z99T)){gwv-uzBin;QC>Ei@d%ioSwnMEz_jQz2kwPOihiR+F^3!r9zeLa znY-Vy-jQUUNC1-$(f?bMqKHSgJsx;z6i(C5#Hka9!?JcmxI*(6xG`=hTwSdJe^*Dr zSthn%?zW*IVC)L$B((wS`Mkyj2i$<>jS*yHoiRDGXdubd7((7isuS*Jc!UFamT(m0 zZaf4Ex+92b?#0%&h7EYYtV~?#EDHrCrcmGXCkVH{4(?oE1Ov(=q5I56{cSZFV9R40 zSg`X1_5f$`ZO@h9+IQNIE6vF9)`6sHzy+N2i%+6$|rcNQF!83w8oeCWB7*3k4$8P3;u1*E?%garm8iB5ht-oG^h&}V#+HhSK7-{tFg zP1yi!x893zH&OFcGJo1!xVY6A!tPZp)=)=|pgP^n9WY|?akJNei;kRS#LHM2l|g;HTV(lQ~B9?_drv4=#Vm* zGeo;SEo3}A&}9ghoxh=#mT^j8cRm4%?SzfI1IENtOAS`lC^ypAP$tTS1F-tRT?hBS z9!(~0T1uX1|I&IQGX!|0#S`x4rxVl3zEuGLME>_NihFy*UMH&-y~+l4#%; zAGjzZmdI(82@b1H1E|4>oLWWC<9slX81H{5$WG|QIwoEuDM1yQ&rihHod6lTISz`) zdGqudl<_TM0>1_91p3njqIv$ojE^ay4B8AU{n!-CD z^T5(BssC(FNgPSCyt_b;)lB%wMHS5deI2xVd%`^@W66)I*A5KfEb))s zW66%E1%gXyZ?WtzSJHQ2JZyG-jDJdwCv!fh=>tCJ6i~bN{|UZ)W8hQDX?emGr_~(y#H)IIDZ@;&shZdK?C85 z8%OkImGeOH&v1Bc$1tKmJ>;!L4A#DT8Sgo~4OC2YBxb*D^}Np?#s1kr#G&LgNV&e0 zO!It&FF46U`&d(=DU$`x&%OXgDjvjl{8s*FGbJ(!9~o&4=i2@O+a)#%vgMM2$&E;O zr>_A2qJIZW>fVHRd5*`C?zezlwFmJ&kj+!QP>xk{Ly4hL4Cr{_K-!}o<9FTJAf~{V z92O}A54Vp58~?n-M%P>*cT=@g6h~UDgveP8nj6l?HFraShEF*B5n`ZclNbdzolC-> zoB!}0D!l{Uqg}|X(D5LuycEBw2qs}~+j+&N?xZp3IZhR6Zv_PrL`5VA3{#NBYX^!D z<(KyV*?c+7ME||DC3Ji~6gH;r$5LsD;Lvw(IE7#!rs@w@%$LN<#^1n#@g3kww;|c^ zIvWHe9K@mp@b@=(39h3oQ!O5N$V3`{UrIRJFuSE#%%6vl`t2~*iK9k6pZ^QTgj3Z71=8`@2 z&O|kNKYo!>j~`V>5%Di_V3da);BKzG7XTJrn*pobwBhDkujzAp4B)w?Pr-l}X0S>>6c2WKMp=uByB7;$3Rwz?eD2E8mV>P?x}{dmuS0 z?M0+D9)Ph&%mmy`zs^E%gAeKNG>UL)LM&b|Eds`5j0P*sXTb$8Kky>7bm8(aE$G>% zLIRZAL9VPbu==u^Gz;voqIxTCT%}1CS*g?W`e&09a|XA@=;{*OtU+$tszcGo$1rzu zw%9{(3h?23{a>I39_Lw3iig@tuLa@FvM@QXf%j{lHC%jZKPd2?LiSCV3RTaZ6ts9I z5T(IhyipF%@#5MUq;KtT@~vH*qOoP;vQv z(Eju;J+H|Dp23-T-KXo|XyaGjM!+7mFZ$as+{p}4hBv@I0KOp03z6nA$D6e-2;v)}#F zd%o{mcdfg=d;jms|F@s_48I1Ngvoi5wEWfg!gw4OEc-(nKh!xgNefvt^Y&nW8AmpF zI#m9h=wZy&=~3SNhZ9AgW*x=CihX3$H*dVkRlA9_g`3Hb^M?3=k%xn?>$Me;Q|kMP zFIH)9U({`N86*17}y9?4V6K+HJrpZ3-KP-nrO#bw_9>%8lEv&*~jTF4;@ z;`(W_PmAeTxtN%=KTFX2d$=rc_lcJy0$p^VU3agzl{>e%SW$zRq?&Sq0a9{ToBVDbNL5v=9K$0gvmL>tNQ~R zjfwf`pP1b})1<-oNsW}1SKRa}y}Tl_kEt#bAIRY!>QzxTd;1`mGV@Ju-}5keG-Dor zW8|l(WD~v#`UOY(4~IS$ZPFV4u;bxO<&Ut?{=_DVg&Lp}d&*`=Ky}CS{JA>aZrn0Er zwX8_;=O91njnm@K$hiKwa?%fVKJJ#ntFfoG-+9DqaW-WMF*SOyA3Icf=Pw`d#?_ze zy&oAZ>leP@&CByhyl7QTo(aQqWl3<4Jid$g>&%CsTd}pgzw)iu>iut`W9uHGU(Zhd zu7`)kk>&Wg2ZhV~q0XBHSjc)N=KZsP%w zCnmoCL$JIb>U`RvjDIPtsK0P(#h|#;!#lOFnSZnTYj0EKhW@*^8NETx6U%vhUU`d8 zz7WY<2W5*+nMBzo&E&nSmh4=)g#5N#aXBoiO-!DxwPe?Ae*`zpOz$u5a7a8IlhA)R zRr;aMY;ijHeZznEjy>$|UAgz8xAbC!-?2n?|Ivc}{)zAI1*c7)E52@O`rR(1mY4G8 zl8H+67OQ(l$*rq$$UgmA$|=tuh!pV#i=KGjn6~9@OobL}yi?cDh&Gin`3u_>_CuX> zGPUr__4^QWva;nnjkbESqU~S09N|~|)WPr2>ArZEuwKm27q`3>ORLM?1uu(ErCia; zE-sfv<(Jd0H4Vhd(nA>F3)Jj_(^SAZ4oE-c4tem-J;nnfziEd>!jT@%rl$vem4d zazeZaxp>0J;N7aFWG$zN3_i)_r(V8EbbH%hl*riI&($1X6BFXBa3h}oF~h)MKT8Unir?awoZ* zP%>H6o1G2i@tT*!$(*J9e!nD@(+O9q3(8q5)5^$O_`buihayh>6;Zpd;cG$< zpWM?dB8^{Qbv@}M`RwI2oBDf>v=X7t+!=rI9{+eHYE(Xak0X9=#=WAOy-z#ucsUC% z7AeDbh}~J+`@yrdWY~>2;$6L;y@3td$c6a(BFU*;VtbOm#lH8acR#t%PPV;O$4m5R zmv?Y&7kU146~EckxPG(4KZ#K1_7Sta-sv*<&CfZ0qNaKLX4Q)NgLf|X&J9{7c4mv` z`!8$w4X##@M>534=lKV{1f#0U??0sWAN6P@?r--+_pkH&g;R&icB7kmRcA-})o0|A z_kvmdXKAFLc)$n|>ipliKGYxj&kcQj{#UPa%KjHbJaoZT&;@_`XS3G;{qIHezst|= z@(Q9CUW;Bh{>zi1FS_8V=z`O?Xz$NP|2rD}@6~HveEe8ikqN!<%mKapIOu=BLH}E= z_yB(bdf|^#7RGey_tc9*|9cDlZ}ml{pA@}t1N6dGCrlDc(Ena4@OMnYLHHRY=!L`4 z3x}a+RQ>NU^uJRpMazEZh5sq_*Y2?=ddR=g|IS4Jn{-w`*%7^PO7y~^uUqKvWn7Z) zz2xYE+oB8J-FTPifiAcLy5L_fHt>H&7kmy~aQND0zKJflDZ1dJvkrS1(FI4L3%+-3 zt{8$Y_(_pZF|`AAF?5BhBOhM@}{fG&7O{H0i#-(!Bf!%2X$yoN5gB)Z_Y zvWh%_F1RPU;7}+21Fc>~biu9B1+T;XODwwJztIJ^DNx-niY_<_y5QPt%KBT;1+PLE zy!!B1uOxTDV_W=z_0X<>X~_!HLlYhdK+_ec|my7u*kB z@SL`F#X5AsW6=f2K}UZVU2r>e!I9NU`kT-NS4J0{w0XFf8eMQJbiqg8Jr^IfIH&vuU2uZVW&HS$M#xQjs|ItS3+{iahWrj)@G5k{q0ZaI6Zt<@PFrpb zy5N7zaM2Q7@N;y*&wlRe??M;c7F}@rA4~cd(FM;%7yQ9G6!R0h;AnKgkBX&~F(Zw+%0U#V`gA-doq=z`B3aqyh=Bk>YlaH#WP>kHlpbiwt}1y3wlUUWql91mUa+VNHW zvgm^IqYM5xBHUk&F1RDQ;4K&8cxliD&qo*Bc;5rD5?ydfbivJ@SCi$@1z$xMyzF%$ zxdvTu5M6MnbIRz2-cxkJf1(S%c&m!ojxP8by5LD~viM8U1y@BEJhDMze;~Tx%IJc# zzDwsV;x0H*uXUm~y5Iunf+Jsr$zkY%GolL~bTftg8C`Hsbitv{z^>+AGIYTXy5M)~ z@`yO-f>)pmt{C>0_dUAc6X=4wjK1RaL>K(7@>B0q>m*)bbiqy01^?5mpO}L#xDC4C zv^`&nvFL(FpbIWp^o|He7hD8gaH#Xgnu)#a+y&n~_&DgJ3x0|&c;vFh-e`2e1JMQV z+%VfyU2su!!FSGWj>(QLxDLAD%0^xhL>IgrUGS`hYeWik!SB!o7pk*ZOhFes1YK~b zbA^3s&!KD=yBG3i*MHhU$UcZ=!n{^kQD{F^6d(Z`!K^Oen zkaEEU=z_DL3(k1)$DrzhN1+R@a%@#lb-@GC1&2Cor@I_XdGLfcxOEqqDZ~62)dl~H zF8HI{N2o5?M;E;Iw>IJ-y5O$pf@im%6)c)%oHqzv@Ha0m#JoorycS(>rfRJ`)dhD( z7hJP@9d8)A;LYfQL!E4MG=O2wm{hDv9NCbirfM1vh1zm74 zJO^aFo987%7hD}(aF#f=<#*_U&!P+7cPl7!qYG|}F1TCKw)lSKfcFEs;BkZh^yZ)o zKB~K5KNekZeRRRcBg^{_xeE?;PCR>7M4<~lqPt+voUXgzEU`W17IeWMbr&q-C5!Mj zpbJi)a7o4z2d$}21@ECN#7ri-RHoD+B=z?Fo`r9kLENstX-39wwdpzDV z?f=yUhdSFhH$@I~!Pn6RH(IyM8_Qj=v%R-$jxM+uy5JpS+R8U)vWj--g5#E+FSelz zUXL#L_wOHjW6=eNqYEx}s*hiYyWq>U+WB|U1^!~QW_ZoP5MA)M>pOYF&;`#%7n~z` zJvjtja5%c)q(7ID$Iu0DLKo~0a72D|!O77D{~q?p>x(Y9DZ1ccqZ|22&;`du7aTjW zoPQQwa8-1{q0Tb5?uhK@f)AhzzI<(UOj&fnC(s3-xn5d+L>D{&Pj$gTbiu18r1r;i7u=~xT3>a+ zSso{G%qf~TPiuF)lR zlcb-~}Qs1p_H z9A2@M9F}3quf@>?FRLCO_gMM7;^=}iBt0aqp$m?KF1S>ua$ZGr!Bf!%Pskqb&qf#A z8eQnI_{pNbz4z#X7o!Ufb)pNF>o)w?1?1o5x z(CGsH*6O>3gD!Y1y5IuSo5_b+5{qW&f;)+B(nS~C?(E`nXZz0+dC>)DKo`7n|9$TY zy5J4E3-m3y5K|Tfq6=PwF1UIAkKUIq_yeB5ZGxQQ+}2fE<3*YA5HxeNB|cJ*_i z3%-Fa_^T9k{a5IMlcNiMQtc~m6T0BI=z_a#c_rqd3yy~_IMkVIc@>!yU2p<>lxUW$ zu`G`+_%6EOnM0-v6J2l&y5Rcw`IXbq1%Hn&xYMRazCahe6J2oPw-x-w=z_DN3!d}! zKrair;C;Fa78AG&4t3VrRX`R;7i^&mo>8Q@?0_!#IlADI?e;OK^J^}V+xUE#S4)LUGOk;!4p4L5GlC}j_p#(8^m33gL==r)Z7L4&34b5k1qHg zy5L_6g?Vex1usPxoHV?%xXE2`s1seVP+jl>bioc4j-lbnuz zHYxhq=l3jcB>LG(BfH2dlZVR+=w}EZo7eqf>8vX2+4ft6nSC;NRkA8N4-x~fK^s_b4 z&xShRy6NOx^s{Lj6_H`>vU-vKv!9hW(9aILm@1elb$K}v{p<_$v-0jY!Qau(CPqJd zZc7gTGWyxn33K=nuZH{g(9h0`OdR8Xs_v($UQDz>KO5>Cu-1@6(9iBcKf7(&`?`xl_l?E60XZ3S2ph+T!eo1bL$krZ_v-SK|d@0Oy(y>KRX5eZ0Dv; z{JQ98m%p<`sr>o;W~J}OoJBty>b!kyuZTrITOR#v|1&%HWI{i?MEA4uOFx_I@(HmX z{p|PXXRF+Avb#L`+5YHf6D~XCseZOU`q_PLlK5@W&lW{LyQjo)?`FEK-UIZrq0Y&J z#)@Ci&qkr2{UP4W;MD)w&x+5uH&2Itc3Gz!q9^*<=ICczZ=D|VJ^I-I`q>OshItRr z&-O(>yZO;{ZyfsBUFc^QFG}alML$~&{cNc7*)mg1L_eDk{cOd`WkkU%eMNTkvpf4& z+O7K88R%y-@BSQf8~yA9^t1W;=J1lQ#m~M%KYQq}eK9-G&(=Xd`|!iws37{;eCTKI zrA{LHqn`~&KO5@YmaN*IJLqS7p`RT#;YSgPes(wdS;P0dgy?5yqn{10`qs;de)bId z*|v|TdwbB&zMav@ukg>d;CA%0xkr8Sj;%Z{I-{RW7gk8z7;oUmiQn;Rqn{0RHh7xQ zOO1YZ1^QWGeGrM!&whn|Hr4x*e%O$r@;Un1nO7V7wb0KtK|lL_>x152^s|l7&;GP} zjKG&f`oq!BelydN$I#Dq`fF>j?) z8T#2=XPWx`gGa;+^s_DI4D!>VpS@nMkN0}&6K@{+*{tYiE7e;l&Y_=ehJJR#wze`G z`q_QxXV2qny_%z+U5tJ<)Or1C4=;#*b`AR3f6qM@?a!r%NQq)I3yBqy%_61Glo;>lq73gOVCh9Dcqn~~A zYn_--C;D0M9QxS^^s~=K4i^IbY+v-V&FV$^7tqi4M?YJsUs1mU`q^*M&o)ZZ)@y-& zwjcW09J%)h5B+RO^s{MCm5@tICEYU+{p^lid8O)SGoqgjbtVhk@b;sh%@F)3Cdj=p zjnL2jn(=W=k6lUpm*{8B4UJ^$gFkxH(9do|KRfpDfuM(e_D$l>!LU~ML|yc=&(P0) z-WNyasANSoM?YKd_5zU^{cJ<@v!Tw-x6=6I(a-){=bD&v=d!mI{p?Znv&&wc@&5Sv zO>jT@*^B>vy)$v=#Qw7#O=Q}c=fykpv!Y;k(YRQ0nP6saKP&p#shM_&v*>4+p`Xq2 zBp9Rm*<0vmL!Diol=L&8pG|^(cB@m|{}ugg5%jYK=dSm5qMxmbe)eMhiJ~t0*>dP- zPmPX{2hh*1LO=W0!-BFb`q^;wvz6w$;_km`y=~}cU*1{jseZOA`q@zD!g>w-TIgp> zbU!cZmHx_ai+*+$`q|{4=6EOY{N~G@J!Hx~*F`+^vl9L6505*`2=ueD=x2+kuOg?S zpM8vecEVp$v_?Ps0{yIY^}Sc*VOX#Z`q@zD&?GJV0Q%YC=x6Ic9qNZCei(BP{p^H? z6TKnmXTL=UmGsRU(E$ByKJ>G1=M9n5MjQ^dtlw4?nNnZ6=x3jzpZ$A$F!K3%Ei1m`?3Ugqo1vI_lc0`XQ!f{ z?a;2J9FKlB{imd&_srt*^O3JbZ}hW$uO14vje8{~Df-!Kjqr2F(a*L+KO5>?G~$A{ z4gKtL^s`4Yg!vQD&!%lUCZ^?^m~zWfr@{A?kCbx7O;HE^tc`v)&Vd~ABKq0w|2zmT z&U90pLqB^1{cPTXpY}vd{3ht3pS6ZP_PU{;?S_6f)cLMg3h(ujT7EI~v$szl^s=I# z9sB%7OpmPTyeqMnCJKpIwnNQ}Du={{C9@v-2+D^FZ{o5$I>%WWFsDqMsdres<}FAEE^M z+0*D}H>J4bEkHkupPA$JT9@9hiGDUY`q}#%4|sLZ&(23b8|r-3p^W?!{p^Qn6@#O1 z_YmjM&wfTfJFjv>SsVTA_vmL=_IV|yaX&k=VeCPqJ-VJm)4 z(w0Ah$I#Dq>2SzPI5wgG8vSgjGfo`*`~&o}MILqcy4=IhXhA*D_r4c63>apVzwA3r9b@5&dkav;6+Ta?bmMQ9q-f zb<*MIUZS6!6o~Z0H-t;o&(=ggd(asrlB1tZgnstQfQ6pwXIr439TyLsG5XmD=x6IY zMf{TJXEURpUGlcSR|NfRY4o$9&e}KP$?X{j27~Bl+fLpsuHf^O8R%yt2J98B(a-im zKU>7C6?F&wtR3|@YDF^N%Z`5bB>GwVPI7;9RI;d7=x6uUyyTriKRXcp?DmPT_7p`w zyZ6}Ym{4bQ;F8!|q+YNh`q?_!pNYNbXUn3WJ@qc3n1g;cBl_7yCc55c=6lr<;pN^s`6C%?gG(vzPG1vt)^a z+tANG9i2laKtEds{jBlyR7?u=v!Bq<#y=a+uaADV4*J<=W;A@s9z(9ecCk7W2ouKh4 z%hAtPK2t@eM?YKQ&`%=N`Eb;1Q9o@4|0Md^=8f{m)-{Xz-F{i_WgoQ6YhuUqhoPU{ zf2D$dHe+0W@bH7)AET=K)8D7|XZCC*o^SKLMBn8152p;5tta3(`oddE4w@p%Uu+b@p$z z|CKEbony;qEbjLE5UKVPUS}#kXl7BmzR1yok#+Oep>yID2_hF(Z%yZpTN7??=IZl? zl83eznX9kqJ?q2v>A4HhHFlA-Kb^dEjGR-Z_TGMHbq@Mx-Dx>9U!Qh)={)vDFk%2RbyAaO3Ln$ZudVR&l*n0WBI#`W_dnO4F=O!dM%i}J{(6)5+fq!MN9W;nnr!Xi zP9p!?R0Xyt?>&dkQ5}~@ycId<+&$_-vEm8x>DM9QrL9S4=B4wu{g!R3*)=&r+X2iMfrRdy!Wo)sTnQG8E@2+3BM$N9S&-0ROjhP=#=l_1Y__IAb z{KS^QYc|sUn1vTNA{|)`meDS4AU?~%<}!QhA}%rQRUUyjv%|V zx9~$T)Lv2V4XLlU|D)bJluaZ0KeC6jA+GfQjs7{BE@kD_*^rtx6F*P^*DD`i&)E=h zo_XZabSW#3&W6;qnGR8T_O(HEpItR35&bvmyR0x{ExTE@kD> z8Q)A#kK0U#s62c*^rtx(;+GkU(eYP2P1wakETmmd2}|UCcf~U zu5*aW!`E{*#O!lh$)o8~Rvw)VscADEqVn+doDCs^o5-W-QdSBi&8)AQnHRREB zDJzf8hSao~4pDjddd`L@(Q+kuG+oNdqq8A3ZKgw19=@KlAqEUuMjlOJT#E@kD>*^rtx(_y+qF^|O(HEpKDbcxEN9#@{DQ#z4H)1|CDIvY~cW;#rls66U%<+)+BA&;g@S$T9eq^8Yu zm@ZLy)Z@yt=X4YDXu6b@M`uH7;)!^=&SAPlSX4N+-b7sh@Dl^ zkVn&{tUNj!QqyKSMCIY@Iph9tZ3^;e;{Fg>d3478Aw7=!Ln7`ELFLiehmE@m$LHcY)DO;=@6BNuV)(K-xQDGNfDvxQdSFYl$M&2)&$$JaCQ@!zVj_>HAO8!2dMy_Y$)5@Lp=-?^AbcpKp;p>@(DBgE5c{E+h z%ENo9X)_(7^6>RcLk!$JgFKopW#!?$)U=rnQF-`!rXe0a7)>5cm$LHkUTWG*hp0S! zJ<|{;#&;o)rb}6QcrP_=rbAR7zMg4_iVYi*N7JROJiM2hHq#+04`0tT#L;nrJen?L z<>9^5w3!amB`P0ZCr*{fOCC*^vhwg=YT8VP=@ONPuM^`sBqNU|e&8yy^6*}2+DwP( z5|xLq6S1eR3ia_v6CdZ1m529I6Cda4I((cbx+nNTW|2n|&krFh5AUTWo*$y? z@ca_50FvDJu`}rKZhv zm@ZLy_&Ra&?v@zk(R3**5AUU>&2*S9QF-_};hOb5<U^-I(#Gd z3i4>Wl$D3~QqyKSOqZxUe4Us)={$KfUCPSCd#PzN9i~fE9==ZWs~5*tzb{Rfvhwg= zYT8VP=@ONPuM-t|XCjZLOIdk%FEwqZLsY+>uV)&<&RUo}nl5GK;l0$fnGR8T_={Xu6b@hxby`W;#UW;p>@(IJvnVc{K6%gRDHfmzsF{q3iJWLyzO_hO)~vM765z z$fM~}Rvz9%-SG4KcmoTJmVRl$D3~QqyKSMCIY@nTBxZ|41H9yuTwW5AUTW-rwmuyuZ`q zct5A?G7Zu3%unRebSWzj@1>^AbcpKp;p>@(SnxcCJen?L<>9^5w3!Z3dH8y!AyOSV zOdd^_vhwg=YT8VPs62c<6MsI_&gefMBK~|p`t#9ysUOFm4`uxM(Bt^?p^QHteVy1_ z{swt8UCPSCd#PzN9in=D_S>i&xFq#nL`#;R@uq z@o__6C&Gr6C66ZVdnx0-SMQ}J?t3ZYzL$vmUZTr1M9pl)$)o9Vj{UNidT%owW;D}f z8luqNLgdlJf7F6rpq+Mn4)>fqv>*v{j!&OZ!;ZcG}C1oA~u+l zJes)wp^W<TPh@1-XCL(1q6iRcfBE)##wdDD?c6MxQ>@#n1fQWJm9l=0_G#Gf+}f6n?kvGaN= z@@V3DCdzo8N$;g5o@b(r=b4Cjo{8u(4Kd|pa`I@poMXT2rQX|2hZ)UunTDwGT0PHX z7@98U*e`pj_cqgEMl)TeAtvWZL>^7t|4_#LkKRj7-2YI<{SOiMJw%s@=chBqCyyqc zpQeoGr}bWH;`wRHcz&9Q=cS1*(-7mH2FRm{`+3T^pVxb-iTioVxSuEDKAz|@@x0Jo z^}Ls1Xu6#7e30HtO`GX3@%#@x?lKKAV$^&3xT@)Lj{UNidT%owW;D}fqW6nX&z~8F zCVD^0=>7CwYNGd}jNXrk-jC=q4e@-)GxBJ%&M3-rZ6#Mqm>!XR!zbNDLFTIzV`2349KK~-(^Dd&xG{oFEzmiAOxI*3CA~hHF6Y=Ud#U#} z(_uz4U8W&c#$QMtO_y`*m%Y?`o9Qs4nJ&{1dzZ{2k0$PaDC7P|@1-X0e<*v{j$do_)?GCOotiGbeV=ouy+)BG+oZIU-nY(ZKlJFX1Yv6{8X?z zc{E+lv0wI5?`@{TjApt_Llp1YfIOObK7lfxPtbd*iRTk218E@k!Wc`r3>rbATs!OE-1zm92$A}zC!Pt&EWe7u*MHq#+0 z4`0v3eSX0V&2)&$!`CzMd3}mF*+dtUQdtX^LolI(-6n+ zf2Ox{O_#Fr@Lp=#OoymmAHJT6=PMq+A&(}WuRvBF-b+n9UqRR5`3ia*&sR`(nT8Ox zpOQz@rK~)>mzp-yA*$DhuVP%f$Ud{j22B z#Qg)Z^6*}2;{JiI!~Fw2j{677xPKtx?dSP9@@V4i2U&S|FE#P@L)YQ$haSh<4`r8W zi1l+%l1I~}tUSDznl{rRsy`pTo@t15pO277)1|CDyqB6b(;+GkU(Yl|nlk&yqv=vs z9^Ok$o9Pghhp%Vi>l)(kA&(}$t^rwjcrP{abq#bKzOI2D$JaGb#@96v(Yx-@&!1?b zcSTkn-b+pNu5=xGS9%=1D`l67`?TcxK0*`sX~@dMd#Q>0G`bG=Y4kYm(&2)&$!`CwnG5_;i@@Tr0 zm529I(`GtE<>Bj@hPZZr3VAeL%F4rgscADEqVn+dOhbHVq3<6wUCPSCd#PzN9isB^ z^-SFN{nV9SA5Gl%AuA8>r6%tC=sMi@(c`%9qm27Kq9JxQXi6SUm$LHkUTWG*hp1j3 zzMg4_r^PCfN7JROJiM2hHq#+04`0vxzjq%JF*uA~A5B*%s@I42QqyKSMD_ac^-M$L zc$bJgnl5GK;l0$fnGR8T_b~rnnqd7-&b~(G0)j$7Q)JgjN zXyW~fGTyKBUTWg~iZb4>hEzLLg=Q?%kUHB; zhZ)UuiOO@Q&N%XD;_D13Ml&rj*S)Wq{sl=1u&5zkK%@%$91JToU3CXc2oG-H{D)Y)b_%xI=dRGyd)Imn}l z@86+}@88jTsfq8~p^Wd>A>#XWh%Qlih8{~x9!*zh#xf15v(0pv(M*@9JQ0xz$)kz4 zL&|tN)O)Fkw?oQ!J0#-mkchWKP@12N$??n822bCvP`~Bq6bcJRt(~vsbOotiGbcxDyJjH7AXu3i( zmT5?xZKlJFX1YY>8IWcic{K5TAC&QZA9^n}@qHhZ@qHgeeBTGrB`VL!qvgn>>Eb^s zsd6mSkUHB;hZ)UuiOMsgf&O|9O+1fG8P6l@z0}0>$dvIsG7--s6Y)GUs62MeMEZIT zO;>2fG7YISdVRVMy*?4WKB#`Zvv=(A_3e8xiA$7Ky4l|nR{>LxA6xHs~*M(@h zLNk_WNS$q_!;EISMD=<-pIpgPua~APG-H{D)Y)b_%xI=dRGxpIjU$gHKF^_y&vW!% zYU1-8%J@8oh|hC~_&f(xp4mUGB#)*mG-H{D)Y)b_%xI=dq~F)I{rdMs#P5rU-d#pd&$m&=^J{u9 zHSzo!WjwD&#PefBmuU!Z+fMayOq|)J@27Oe$06Fgv{(17Dl77JQa_H5OLUzr^&TIe z*mtP-Ci?iO=?X>l>v=CVZKgw1_rLl&e0QdS<`OHG^U5S53oXX5+*R?i@hCcf_v zS$TLbHSv9abRE9$j~>VO{ZV$AhB*Ao1oCLQl$D3~QqyKSMD_ac^-M!F&N7TVnl5GK z;l0$fnGR8T_|tUSEOf6P}s zZZjRC^6>RcLtHLfjXatzW#!?$)U=rnQF-`!CceMmQ*rWW;`0W%OG_d_G?(9(gqJ`8=}n@Lp=-^Le@spU>0d_N=(Xu6b@hxby` zW;#UW;p>_BzVSQD$)o8~Rvz9+t?gkK_HFvdc6?tFZXw(R3**5AUU>&2)(B_2KK8hB!HN z4BgLYx|EfN_fpelIz;8+>zRfys{XNCz5Qsql$D3~QqyKSMCIY@nRtELF4bS>O2q2} z((9x5Qa_H@hcaFtdK|A0WtVA)2lx+nt5-+UrK~)>mzp-yA*$DhuV)(K-^GK;qlx<& zWaZ(#)WrP^U5EP_dK~vNlyN^pglEoj?IFSgl1J~QejFak@X+J%P=-feCuZY^HmTp2 zChm)nm529I6Zb`Q9qx!I*S-o)G_0t1`*t&cLtu*#&Xr&fm6)s}24UyTJI< zZws~WH~vrjdpRJI_1!OO;MYALzf1f8-^$ZJ<70*)*W(B86#kS*-obxorget2GF_A7 zBFV@wdF}Kyk$Y55Ib!xJ{KqMB%Y8fI%3NTo1u0}W_OH)ml!u<-gO`LnTT@gc1&ySca6RW!dmIdZN@ z_pYp*`)sGE`JsyZy3Ku2P1Ke<>m`wjWhUp8HL%b0TS=J~*F~nOBzNG~jht3PHiIX3 z-VXAgM4p&hp*Ow0c}~@n7kZ8nhhLVJlXGSj+ZN@NvkPtvhTTXkoqQF7d*uV6xbXN+ zq4vEpOcm<7X1k-r75utb?_Tg7d>bE62&&ijLYEf7$?t5r`rnPgbk(J7^)#2rF}Rt` z(r~8eGpw7e)$M}lakam^el)dI9CWU`S&@k}t&onF}fVT_Fhy%to;(>9E_+SDfA(+5O1SU3;fQi*FFp^@D(J5dg$0Wrr zfM1mYlblZRjFgxZ*u{e(6(%K}5*n#7sjy23TN+GiIwdjEV$xuj47PNb^mIyYWWc1u zE;(!&F&XHT(#V9#h+Rt9GGj8)DYcOWlNr0zu!Ui=&?&8v6%&SCdf2jIY&vByvSYGg zmjSjMnCx`QWaPx;z%CPPxiC5Dl*I_g0=BZ4a&(F`qA+E# zi-awRiK0^p{7oy6io;vdkQhOyQig+(*p-5U64L)Wp=lt`cmuFtzDa*{Fl5gSF59sj5*AQy06cu+_)Zqf>RG0j557)nRLhX+Wo%Mk7o^>}tc-7}JDKb&RH%#@N+? ztr?~%o$49QG0m{62U`nFb2>FJT4GvY*8sLwn3i;EWVFV#!mbHyZ7^-=)YOQ^w85?^ zZ0#`7bZTz2$F#$)Icyy;?djCg=!ofnT}#+HVLH;Owb2>V3A?tieTC^lr)Z-q<}2)? zVe5wJN~iWlcT6|z+QZfZ)16Kojh>hu*mZ=h7p5njIvc$)y|C*7TOUkcI(0SrVftX# z6}JAEest;}L#3Nw;UgN)IbQP>TF&BctS(-30}#>H+JY-2Iw=rr6Ij~R>I zaM&hb#?xt}F%dHXyOFR>!c3&oXk#*F5_Y3un}V54r!mG<%oOa#!8Q#uolfJ88JKC< zjfZU}W(J)m8nZAnv6~3nY|Jb=O*ZCWW@9%Qwz-%&bed|+!_38QI&AYXU(;!Zu>dn4 zyBV;3gIPeQS;j)lH`vXBZ4qW6o#q(dVisXH2e!qSZ|OA8Sb|xM-Pf>vhgnLe1;#SW zci1g}Z8>HcofaA^Fw3!92-`}`3Oapjtir6s?pxSaV^+~=iLnN=8oQ;it;MXP(=uZ{ zW-WHhVEZ1ko=z)_A28ozw*s~em>=l0%Gik6fZZzCe#C5~(;8zF=11(-!L}K*g-+{@ zt(eW&t%q$JW-Fb3Ft%g1VfO=UKVi1hX`}Ho<|piagzp#34xF~YuoLquowgdgFgvl^ z3d3&9E;?;D_F#5nw;hHU%pN-ZY~_HCV`6do6^7q1d+D^x*oXNIyInBs$Lyoi z9^(LJKX!XyIEXnwC(k&9Ifz{>e1|bdaM}yQQOq$q?K6&Jj$*eDhTk#A>2$#O1M@p} z2VgjX`GZb}jFXrX*d2lI6y{Hyj=^vmbB0dGjkB23*d2%A9Of*Y{xHsC&SCcl3>Prx z>2%V#h`E5>pYUD6T*m1P3|BB$>2%h(hPi^>Ss1QkuF>hdaRYN5yYn#I#N43MMdKFc zCU%$MyN$Vn(^VMmV(!uDnsFa<7rSdPJiy$i(+%Sx<^gs$V0eUiNT*xIW6UG$?!fm1 z^A}F{V0emoMyLD6bIeoh?!)jm<~f}n8ZR(^WA_k-mzWoHdThMHyu|J=_+DfF!RZ+c zZ!rJT>ACS1^9H-;FucROrPB-JJ?0&DFJSn9c~7TT#z)Kt?EZo86Xr8c|H6RVHPbZJ z>8)Xz7Lq!>GXiD+NuAysam+YK>h!^gYsN)Vr;kQFGak|hxIP*2&G=>l^D|_InGll* zRs)8_n1pl+m`N~+u?xVE6qAHbam{3yq}auUFF7U|P6^;kfk}x|A{bI(Qqw81nFf;z zyTmZ0#iXHAQZpSUEp|y^NRLTJr{rb^OnU56!j}<~38&OBWX5EnQyMc2lNq}-Fl5Dq z(J7so4U-kSbTHVMY;?+CX2;mrWq>UQCOe%nnmI8!u*(8lE=)L`!pz*5T-b%dmIsrY zPT9=7m^|2JgDoE>FP*ZR`7!yh%MM!sOny4$Gz(%1U>6QsAxvR9SF59sj68IQy07Hu+_&jpi>RAA*McdHDGImX-KD9 zW@Ahv>}tW*1k;#Kb;2P zjrkR(Gj?rY>w@`;PSIvpOc(5;Ve5wJN~iW_cT6|zI>Oci)00k}%wCut*mZ)fH>MYz zzB2n@dSmw$Y<)3(=+xEhhv|!5SJ?Vv`q8PoIRMiiyPmKO#0;WSFLN+vAa=cA8-f{3 zr#|LT%n_)>j2{V~at~muW2|E|IshBBr z8f#9&OvP?2Y|}B*=rrD(ftiloc-UrQX3%M(ISVrryUDQ4#>}D96mu?SHg;2Bn}?Z8 zr)lPV%slL-!S*#~KAmQm3ou_}Hv_hBFbn83%Up>02D>@1Ey8?Dr@7{0%p&aO!nOpn zm`?M}?=VZSn-AMk%y)EJU@pTf#cly?%Q4I7w9s6ES&rSeu&u0+)?v2{w(l|P>9oT90rNd}t6S*sX?b z6Xr)ctu;4eHet6Gwk?>=bXsq2#caWDJ#5=BTj}(JxgE0&yPwRT&0owN`2U~Go#wAN z?ZW@>G0Tt$0-*7@8R0taOH2{UT`0--$!|exgWo3Kjod~0sPtnly{j2 zVK_*6w|NMjLzH98!>}Eu?3qVkKSFu0c@*}eupa}D!+xCdKJ$0jf2X|P`~&tsC?7CS zz_Hhm>!a zk6?d9`KI|8_Q#ZOnNMJULix7&7wmsgzGps#{VD9vz~`_(r+nZ18}`2`KQLdw{(|yD z^Cj#rDL*n_!TyT!WAioauPHw<|AGA<%FoO9z@CG0Mk^=mIVoqca>1Sp_HZya?71n2 zS$Sa3LpiIJ7xuiAvsw9I&qvv|^245=a(1f#>;)+2unNLnkaDOR$!d?>gQebJ=OH(dl zm4Uqs<)T(u*vnEbW|f1z9OVcr3ic?<(BS_VScVTNPlh zK)H-n5%!9d%UYFSuSB_=RT=iml%uRFuveiRw5q~hm9k@1gS{H;)xjFD*PvY9stJ2d z$`!0yu-Bqo(W(u5ZOWCbIsp4|{#s8-NXAZ%Da@)d==R zlxtdzVQ);imemCICX{PiO<`|JxsKHg_GXmpTFqf^PPu{A0`?ZLw**_k-imTVt2OMc zDL1m(z}|*(W2-IfZ7DagqG6Aw+|+6ZdppX_toE?Cr`*!&0DA}6JA$2H??kzk)fx8A zlv`V0!TuHHHdYtdyHIXxb%nhv<#tv#7`x%0&>f~8F!lg@g1unuMY)sJ8^+$0J6nBV z>_ho0t1pawDR;5@!Pt*-cdI{){b3vc(?A#pf`h=pFb<~N%NhdX5X!x+p)d}m+{YRQ z<1os7t>G{Zr#!$K0pkc5N5V7;#!=vC(1p>ZJlGlo;~2_Atg$eTr99Lc2je)(!>sWz zj;B1*ngHVj7$?Fs3C2m_WN-?MQz*OER2ZjH9%D^|aT?{Z)^r%BQyyo{fN=)piPlUQ zXTmrOrr9vg2IqitVVp~OiZu_$d6cJG^I@D%d7AY#j9*ipZY_Xu0p(fNH!yw!<3gAg z!MF(g7F-PDV#;%^B`_|bJkR|N^ljp z8phR>7h7v!Ttj(@wHC&;l)tmq!MKj{Qfobo>nX3WzK8L97=M6i1B@HMjo^{>?fD<1xy6 zt>Z8rr+mQr9md~b`~#*FFrENUf~R0SMftGxCyakmK4P7Q@igV5))^SjP(Egzh4C!q z{lqCwywf{mGT+u8tm67 zpS7;Tex33;>jvyMC||U0!hRF>Ti|WjZ&SWx-GTiM<;&Jx*zZ!lV%>xN9_6dnec10) zzGgju{Q>3c)!2S{Z1p6n-udUCpf2RBo3gS0-QTYv?*83MPD*tO) zfwy>3`K=WQyu*vi@2oh1_jpnHqZK#s0WTk|cwqd%C%mZq$x0CTj2D$ZTL}Y3AR%QV zkO)snCZcQx5(g~2sB8t21Oj+bIS@!1h=UiE;{}oh;^HMV2!{%(N4P=8o8|4fE8+IG^>|hSqb5PD0$O(H+ z%9#SWV9!N4b08e{aLQQ%xna*uIV_L|_B@oc2J*t5mvZ(%KG^fYo*yg#djZNh0tI0& zNI7Sq5bT90=L!^ty)fnQKoQuBP|h7F3VTt?c>={?FGe|kAOiLX*dxK>uotIXAW#DK z5|j%DO2S@}a-l#e*h^6^94HNYY05}4rO2Fk%+4)!Q82z!un@qmC` zP%aUWuuIA%0}kvCabU*>;!7SUW0P^Kuy?dQmzoF1$!;Zl>@b5uMK-0urBO%DOU;9gS{T* zs)72j*QZ=9&;a%Zl&c3C!rqW_jX)#V8&R$qXbgK}%5?%wU~d9@Q?MEA%_!FmG>5%8 z<$8e@u(zOGKhP5PmXsR=TEX6ma>GDt*jrO>6leo`8_G=s8_XtnX&TrF{%AJCi^|Oc zo6P2TQMq|wv)KYKDz^x1FgL{TL-qAZSbOU+dy=n9j1Li zojL?MV%pKEQ=l`ZBX*qvUj@2gI@76Zpc|$Oc3lJA13fU^=+raN3)2I;o`K$hKA2uO zwTG=QrXQU;2KrJk`;8Gv0E*al$+(y2#aFlG>TJzyJx8BC`>fuWco z*!6>L7-l$~`Ugf}hGEwqwvm_-bQ%~Kg&B$6K-flOM$u_-z{QNlZZK?PFfN^j2F7B> zU^g7LahUOR8WEU)8He2n*d}5o&}md)5@sTHqhOninM5ZyFaWf zirskFrekK%X+mHoW;%8gV4H=RNvBDH*_c__O@eI>W;UIs1m=16%CwPE4v^7u) zMawj6p*6@Y11%L=OVJ8V8kCCM3eeU;X%wx}tcTViw;Hq!&_;?`#n7ibyKVT$%> zGNBCQ_JDQ-%A{zY<|uRoxqYA=gN{;kK$8U>L+%i0*-#Eehc&rSHgbnS%Y$+$%G4O4 zJmfM#Qy?QnM>PymkUI)mKEx=>(j15Kk;?(?1XMs#uI40k0=Zn!PC+LrGHOmkr;sy( zb_P045z`bxXOLr{orMZ1I<7efokgwywDZsficV@SLg$e?3ECy-B1NY)m!V6@od)d+ zbeW<;O%ZejxkAvcLPZpv(_DkDB6k6_>(C8~E^2N<*O9vj+AZiNMVB?Vp&}WL?YQ92Wkb4VS3G|hs z_nL1|33Bg2`wo4h=%eNb^c}fk(0)R{DEh4V4gEy!GiasIZ;HNZ%Aiu@zJm4#Dx>I| zrX2c%+&9qvLgf_wP=6ee`-|K!(C|mjoGGV9zcnZv;nb*9!{L{PQ=>8s&+%|-^hYCb z0-PF^YeY_jQ=`8cEvJQ3BNMJ7q{Szgf>sHtj8CWlS{0}gMI2WZs)8H`S~aLDMFLkH zs)n2ZS`DZ=MOv;VR0BCJ*tMXVh$@3t8#1G)3RefJja(Jb>OyrWs>aoW>LOPSwE9pz zifV8Tp!&$w0Iea^fTCJlBd8&AW}r2Onov}SYYH_+t`2C;pr#bnz z1I_|!j$8xKT0j;QHR3Fx7RWULttDhdQB$rJ)DpR-ptXitQDn|pL#>fB2dxccO_2rH z7HWf>1!y)7f45u1Lq34Am;#@9&)9~i8DZY$y#C3+;DAIB6P-o2p~%2>gSsMT0IfUJ zjUt)r0d+^t4YZz6FN)l`-cV2E+(GLD^`@u`*B9!8To=&#L47Ie#`TB#A=eGG0Z@O6 zdT^f50OWdsHV_&_QE$!*8i-tP&;~2nb`K(G+=eKF}ECyutH@d?@nc#zMZxjR0*N zG@hc7+yrPGaw9>T2u+}9H0KXZL~b-_0gyjMK3pIafSeC#lb}F~#&VOPNyv={EeHyx zXaW}k1tB*9v?)*sMgH7WXbN)vpoKzHDGKDmpitxjK?{e%D4NVgK;g&*gBA%*qbP)% z4n-mt0@@5{Iz>~tna~X6rh+yLnn_U@7X{5iE)2A2D2k#8E(VH5ZW?H@P#i_mx!F)G za??SJhh|eWlbZv@BR3PYxzHSnqPPTTE^<+zB|-@l#c=bWMC9T?n-49ZXg0SHnvdLU z&=x@pDVoD2L5q-^1KMIJiJ}B<3A7lw1kjd3ODLMhErXUKw*a)|&!7 zM^Q4j0a}k-GH4s24HTtto1l%zrGT~>+CZVR*-xirwWLfa@>$8CqUBDW5-9nf}) zHgM_C4&*j~wi8OHXcM;!+KJpI&~`(+DB8m9fp#Oem)pnf=MJFV&mH6rafhJ;h%(R~ z;xf@5;f|s`f_{6sV^9`F2e@qL7;*>DGY871D1*y|a*)fw@5+O6DLTp-p*-Y{atg;F zBcgn?3W&$JW$Cy~nq=QMPRA|rPOI*ptWv_j|%Mfu!W zs1Ugmpq+!xQ&hlRfX*RT0NO?90!62|OVCB+PJwnAx@L02d`%Uy+v zkUJ0BHRw7;7q}bHHRLXUb`!cm(IxH{bQ8HtpxuUUQFMj71KmdM3TStsI}}~z?m>5v zyAIlY=mAAHxQEbvG|8Q}l-W0)0mA4QOAXFBHAwN}#XEy#wtVR6@}Q?mP4ixlf?| zfPPX`%>9CXAXg09Z|E0AU$|1}H*#MWyqC)Ru284=sWipDo5@oXePV~ zehgBLesTCiXE-(b&EXr2aB5VlmUeJzRL1f6#qnzNhZA@KPL0Yrkr(0A=r5<`wQ%M5 zAxIOxB2)>VU;q2#qs|s2@s4hj-`T9^jO}-)20J++r zHG&#bWX3mv8X;!}T2rVAMRoaRP*ddUf@Tgiqo_XL95P3)K4=zDbBY@BEg%cz8iQsD zwWO#CZv|N**95dykQGJE_|{M>(7HigDU$f^P&ec{gVqD;Ns$}h3+jQK8)&_u zUKDxoeW2dRd4Sdz>O)aiz8};Vxvrq~hx$>}ogV=8N3JJmp3p#wdhvrGPvm-m<^>I+ zs1H9F@!37>R`Khhb;zv(Z3DEPqSgFH zXajPqLE8jvq-YJl8QO$gDrj4vtrVs4+n_DTrGd5`+D6fOeh0K2x%Hr>Lpvzi$nS*G zk=qE`E@&r3oB7?)F66d?wg=iv(Kdb`voX=nzG_`3&eVa(h9`gpN?Ok3R}!BDW8;W6)8G4)9sfG2{+_mJMZ5bcoM^vXMIk zS}v4BQ3js}I|&s~ zl*gZfP9mp(b{aZE5#tM?)5tN<&O(J09p}$MXOTM&+Ii?4MFso?=sa=-pk0J6P;`pF z1YJb#3}~03D-;#-MbKsB3PHOH6;X7KzXn}J?i^^>p=%Uf;BP?Jk-GreP3Q(im-t)I zP2_I#clf*fJ+ycE`)Kd-576G_AELd>KSFz#f6PDOpW=ATKSTSRe}O~wFZh@ID;%nS z#lPm?;86V={w@Cwhw9()@A(fnRR4kh$bZ72`cHf@{~3qspYdNn`-1i>+7i%8$Uo=5 zf%c93Oa41(-^st`e}MLb{9FDfXg|rn=YN6ri~L9aH|W2~f8|R-F9p2}?H|zpkT2oO zK`$r&jsFY!U-IAaKS%$-q52>ApICn4Q2kHdRQQEM^}l$H@EeEf%kV9}QXFL{*h+ap z_=7|Be|S+S$D#UiUMu{?q58jkMZrX3Wx*7O>P>|zf(D1`d7&!4 zRaq5nHMG?Q0f*`Zp@tyhP`xPB6tp;0uN7*6UW$yXB0KrS*Qbg9rD$L zx}ensy&l^7pw%Z|U1$JW1M)S5hM+ejUsGrVdL#0+gvOvZCSO}<0(ukjWr;mg8^6i99pm!o~D>#GhOx{k=fvzL(Ah>|; z0=g?&J?MJ!j)DPn19>Mw0$n2CL6AY0$#)bwgWj2ZC&3MLH}cMcJLvA@T?G%&JwWe* zwkzme$?Jt~pm!s05W0ijoxCLU0KEr!S?CFRPx76GUZD3P?JahcFQIf#iD%gFqidzL($yx)=Gr!eGz`gFXc9 zP|$~x?q-M+@^npGQ7Mm=F4V^0C4K&=-)86BdHLko+8B5$KCRPeQvG^u^@o z3QIs=LOwxQ3i?v=iNZ3_myw?*EC+o#`T4>M&{vROAgly^CHW*_73ix#Pe!{M^ws1S z3n`$dkY6IK0eubmrNUa!*OFf*q=KGGez}kadK&o^!aC5`kxv%ZgT5a04QMxlzLETD zVH4<^$fpRKLElV%jj#puE#%h1cO?zLWe$ zVHfDT$ZryMgT9;mW?>KLd&qAQ_JY2b{8nKf==;cT6ZV6?pM1J-0Q3W(A4Gcy^h4x# z3Wq^IOn#S;0eS}c-9jelndJ8fM?gP9ey?y8^rPhW3CBP`M*g6X1$q|f*=Tb>&mn(E z$OS!@{9z#v^gQwzf)R8h`Ak6pT_Jx&V4ySdM}>UQ^T}rm$3Z_1`U$iJpcjzO5l(`B zl6^3}xppw%Z|U2Fha1M)S*hM+ejUt4ShdLz&qqiq6u z6Y^$aQ_!1|uOl`Cy&3tsqB-d1YIzZISU-Bw-EPmEpVvbQfw(& ziLG$96kChdVjCQ-;oDMVBep|ii?a=S*`bde+V*Je(Z`;AE71YJ$AP@H=!pJ~cN8UXCGt+9 z4312`gV-6|&g46aZlJr7cM;t|cL&`AZ5PnHkarckg5H(9UhD>XH}VFtJLuiXOJWbu zdytpKo}l+6-&yPhdN1-GVsFrUgWd;iU(oxK?;`dCy&w6mVt>&4lkX-D0DS=Y?xH8? zp5%Lo13@21zNa_{^g-nNh+d$3fj$`R5YUH^?<)=keJJ^UqBrQ?T@ zV?mE4A1TIx9!GwLI2-iYpvR+~1Nt2DGsU@}&m})gOaMKBe3Y07dLsE~aUSUN$j6BD zL7z`PR$Ku30`l?VLeLk2z6fm+=t<<~h>JmAOn$Do1oS236U3#UFD0KSE(3iT`FY}U z(3g{+FRlQ61^GqdO3+t=z6xzJ=*i@h#MPj$Ccjur0X>EM5^)XaYsfDZ*Mh#5{4y~W z^i=Z8#Wc{<$gdLDfxZs(^=LPMzJYwQxDoV?|7ypzkBUL);Jge$Wq~JqY?i^6BCs&<~N{DINy>F!^0#2Iv{&cZ->zXOiC| z9s&Ib`Mu&%(2tToARYt#80cAOvq8@$e^AT;J%{`uF&Fe)@`uGd(DTS=h(^$j7zN6zHeO=ZU95KTX~!o&o&~ zc||M)y^#EI@hs?PK|hD~Jm}}ipAavAet~>}coFoAxb&AwB~A5&4_qW6&Ryza>5a{R#Qo;#1I{ zlD{K91N|BK`{HxZpM(Aa?Mu*Kl7Aq+0{s>FhvI9{Uz2|%z5)FW`N!g0(BG1OBEAFt z9r>r?d(hvLe<6MV{R8M9(S8E`6Zw~7G3dqQUx}YV|4jb1_yzPYss`9I7wHA99!B zP<@#wX#e0){U1@(mg7*piB_xqD{9eJL|aK)L0gG@1#M-mDGt?}YO829I8?9ER>hBY zRwd7AtKpC6tC8om)wKc+)eG7hS`mlpD{5=v6KbNZg|;?mwaHh~nt^6UzOuFs=yk|f z(bfgMF8Qk3dZ5)KUrk#dwEE<$Ya4*xfP5`&L(m(7-Uw}D&>NGlt!)B&6Y^%-rl2<^ zUq{;v^k(GiYRy46Ctpw79Q5Yo>uW7Qw;k7Inc?Yc?bUk@TtpRic`Hor%bP04BZD-IslkcQ;1Ko|hv(_DSck()| z2k0K;U9??5??T>H+ZFV##ZGw)?4d?)?4d~)?4d`)>}Ikt+#d@T5s)mwBFhY zXuY))(RyqB(RynG(0XeF(Rynqq4m~IM(eE&LhG#!M(d5w4#p9por3c)w8OMh={y4M z2yG~xN1`364WsiYw4=1)bRLa%v^IjyW6+M#M$*{_t&esZoqf^zYNylL53Qee2A#*E z9jl#5=W%GqX=l-SJlgTvC^}C-J3$*w=ZR=1YGdf^kJeusOXmQz0oph^2ciws&ZhGu zw3D>)be@cMvUU!ggU|+P=h8VCZ7{xa^*kKy6m5bw5$6!JA=-I#o{Dy=c0Qd$(S~Xl z&^Zikn06tZ!_kIo7tuKaZG<+7&XH&%wTtOI4ed1T5;{*uJ6*e!&NI-?&@Q9%Otdq# z%jrA|?JVsII!B?6(ypX)G}>tGDmurYjnO94ITmfKb~T;j(8g&~=sX+kZ0#C4$D@tc zuBG!Fv~#qnbe@ZLF1~X0JO!-@{$5}c6AypifKV5Q3J7c9Q2(xCH2<$(aq|Dmn*4wH zIN21PYT~GcL#3GgYw&T>HYy|Hj_O+V50eKv&NXf|$=3~-7AwDxU$3}aU!%)NM!wMB7-v(#wIn%K zE-p$_US%!q)Z<>5e8Fsh@x!rpI^R99^7kpJ%EhQ7oyOM=m;Zk5V!ZC+Zs(X8E7$3~ zRynd>r#F?uGyFDRX5Y&+{&&Z#-Eves^cqBr)+zA__B zHe@FmKYO&#sW(1W&Y!wb`8db=Sevf+Yo^DnG}b7po7HegtbA{(4SUimC40A%LH-nC z!=`U&)L~LbgFNP>4YOWu>(c*?ULG^uhNYFSb!F`ga?>w1tny2roXJctpL%4&Lj0R& zdtA}Wc?WIS@q0gAvw!Mk3-l?N;_DKCKCV^TvHU$Bb6aoM%L~AXGfB-&1!p|?4|>_< z^aB4S#vlc()@{NV%4_(shmMiiU*%$HCF0vY^^YXF6-&`Ber)-lQeDi}Pm-p#AA8p= z-qo^Wu~g5?kG<{al(X0Ulhm%49}9>o&vNnqB$?Rxv0q=Fy0$I+B-KQp!9Gqd1?V%^ z&yNlLaX0q?|4FI>PFnByTn#wu!0+c!mR$+_5`6B#h7r0tor@*za1>k9Fehu1iKS$M zxbKiU2frZpI2Og8m$lPXj%^`XBmenxp^H^%3+Z4^6l)idnBB2W3&}S-ioGdw$x83l zLV9u_iUs*ycYRySQp!Z1v2lsI2i7elhx{n^C8#L(Qmln!4vrNo%=r$E3;1>&Y_lJM z&m;e*T9)%PeD1G9QEXj}Z0GeAER{0Euj9izj6^JfEVU3&j?ndnvrgwPl=zvJZWZY)Z^dXwyP@fN@^-zn9GjMBU7mpB3jW1#TU|EzKk>OWla6L7_}tgHR;LRibRM0Hm1M+WH|9IVxfLr> zxSk81m1f6n{iM{ub>7xJKDVSpu~HZJBBr8~%K`UKN@LtFi$x~7S^l4t2;7&P-*;VW z3ZInL=#$aSDJKMdzS{b+%I}}%jxPM9sQ0}>hj>@3j>XD6@Oz|}>4tz`jL%)#DlPq*SujrXM<}J(o=<2pzPkn4&_~fX4He;SQF8Y~!^{1XiffH?!>bf1A zVDJm3+PS!cUkPJ)`F?eFEXHsg>u$=hI_kP(SFz_TO?m8;V;#mstkX+Nx~uDySz#?Z zMW6D=8ulo&#I?F($zkjW_OZ8Hv($Zz1z_KM7ht9CdrZRGcWGHItI?2H zcA>#4V{{|QagtXoYk<9?Qx)1PSP=G;w3)P@uvge~_P5rmdk%a2p||nF^$VSH_Q$eY z*wZ=-rH8PmvE$hHD)+Hf_dRwS`C4p)gPK?ONndB$Cz*)7^y!Lxo#(Vz_SbERvHsEo zb-!iKEJ^v(JW{S`$6TAYc&$9Q87CjSxEM+D;{j}6H9q-PfNYWIbSxc z=VvLyZ%_{ZV?6tL>9I6*S%QA9+jJ(HPLg``-)$^^IE9UJ*(2@bMi>V#h-Ir=Z_tnR z4lsEBoyAU#c2crC-qv+(`de^z?GGPrE9 z7|D)qHDz6z_RwF7lv%Y;)+}M6zpfx#$Nsiy&m70M(x;>}W)TU!*rK<$vRmA$%eGzZ z$F_Lc>4(;Pt-P=s$D)?Z%URI$u2QmUB3svOq`uqp$%VQ^=EPmAC5`SE&062vp#MJjgOq;5k3G15OLw#pFI#LI&Z^Cus*ic; zA@9Cm$)>%z=i=91-KBMhx!Jpi( z7yB{3wQfJgaJ0=hR#QlGS@+)<*aerWuB%hC4K`n5Sd}%RYfkfzl3|k{JKtolF1&6R zdB;jiw!|wvXI8^txn`|ArKj_O92?gd`Ox5E<1>x;hUuwA;Gdcug~&xd%K~CK+z&Pge3^<*X&!xoDMsYNg$rjX@9o1@;m+9 z)&{vwU(_7I8pEniljQlE&nk(gxAc(%qGg+uT1xAHjrw=xG4i#*!v;(182!0DQ|0s{ zJEenfXX;&h_L0A~Zzx-|-mO28Wh#&OHbSo0)YK4k##GA6iI&4=)isQlGcrw3RtDMc zI_%j#Pg-skEH6&-%64v(C!MYnEEnC{WmogXB)w*PtXwgvzcJ}#p490_knFKhaOwB* zydiLLwESRcfw795C-tovEVo=Wz%?%2RT@5LmVDD#*-*c_Q3`w=B)2Iv&+&igYDj(< zBY$M+hHu4rQsBoRxkHopSv|alxoY3V%Jcm%>URd`Nsswp`Lmm#PxJmSf6D)2-v8q3 zh#P|$0Op1QbC+gQjMB5KL2}h4rg^cCT@5S1@1LJ;ESB=5ff!Hqr2}$TV?4t!o*hbM z<1CEd72~(wDdc>_`28{d=SvF=UGcTA!q>iVv6t@4>;Jyq>Ph_#not`#0d>~RE-BgX zLTuy^)Ou5<<{yYWX(PL!7W+Qm)+KDZjl3T8tCgXv`Ra<8fv|ByFTVl2WKZZR$OXsIQRze@65B! z`7_lcPN(b zyT`kt-jnyEj@vlYDM#$(CtpOZ*CnYu>#ePy9EDoXv*f93ee_93pGHHSTtfW(zglx)r)%Q8J2B^RLP zsybkSE$SLMr}J=yD_{NuKlFM>=D^fa<|?sq#0V*teXd- z)_kCN}kSx6niigInhc?!;%r-eEH#u zk2$Mxd(>Ii*fD2yJf}@8m9SF{X*>&2iw$dRo2_#0{BEKAeNmW`h0h8{t@kJ@Q8x_Z z@$cP2>00dKY=zG)L9N#wHJ>`>4D?wXnV5Y8_8ni*U!o2XHP#_6Yxpd98~T+8uuj#wI1$^Yc2FSfj%QfIpy5JeKexhd-L^au6o~# z!MW5m-ZdWgYcguRq#9+qC-__+jG?q`MD_>FrM0NDcK1)wJ;QvCM6H+F*~T^m^UV#l zm|dK0P9)~xZq#Vagw))>pKas?sN=jx`?_4fd^Vug+cU*N*BkS;A!@xkyFa>?|Lb#q ztZ&YF%=0~{^#bnx%nbqOFgQoBE>Q2u9^k)PXzTJBV_1zboavjA-3#k(rCBgjHhbwh z{kP{Z-#(jc7h;_{{|I6Oa)q4hSj*lugITx519B^3?FYRMVmT+wUH)JX@&6dael&jX zTnGEWi>pEG;bK$$&uT_#3i`Ze<~i%JpFHJ**#$Qt@8&;F{PF>=^ZxMb=>oAlNE4rzB#CUI!xG_ zA=K~Tq{c_{2RZ~^UFNd)Pb}N@TdVhPkaS4RSMMF%{zQf4Ich%jw>EFt>S4s`>D?}K zUC$Q8w>h!v@DS^Lj%xqxiPnyN+UF@NaD95L@XBu2CQm7>6U>Hmt9fwS$vnjo*QeeQ z!3EbxQLoS0Zfsu>maYfsHL&v{myrv%~pJZtzqYejIL@*LOU8}`*-|N1DnhLxun zl~=fK*A|=R-2i7OIQGW}ih2i+~1EAZCxg!&d zz}&9bE+Tss;yGAfv)Dqr2)ys4V*c-{TBb9@d(d;Ni>008U7O)uX*t%84r}LkPd`?Q zcc~py%d;Niy=gnv(YCKoU7Mp%0{Y}kbaEMo_pHHKcVBXc?Q{Ok|VSkusW2?jd!yaMZ2zy@W zg1wF{!`^ZxkoH5?75mS1Q`!$%8Qv*=E{*zSs}3ud>hJwE9w* z(;581;1BFX`yp$M{b%2!W6tV3uOIftH^yVm>ex&WJ0AGl&Vc@z*q^m!?bQ8{J;uJ; z=uKe`_By6u@9hw@zD&##SL;$3Hfp9uaKu}pUdpBsfSG}T39|C>v)efJdI1I*_r zJl_{}s(TR6cjk)c@0pdhIewUjd3Y|HU_bnT`Meg-?w>xsE|)N$U9afn=tv7)AI#eZ zc#dacKg9E$sn7T90NgDBke&(W1VEe$yYn}E;r)yA#!0B1o}qR+lkTbvMSa!NSlMX) z#MQVGHP}U#Zd}!4Sgu;v9YW2f>H1&%0yW;($F4@TPHUW>Zumd*Yr*jb=ebhZQ2Et) zqgtEYL2dc->3?Hrh5GaR%Ob^h`w%5T9xHeAd!l@{ov$ohG(tWnda`vZYO_g6vW%v&;t#*|{nUB&VDM%7!WZl_BQ>7#PGVUqGDZYVRiKVz)PB}>AN zF!uMTqV($BOS#zGpIviUqAYl~U79{;B5M_*S8m)eReHtDV53?|Qj%u3vV%>Q19R=< zc#R7y@BBvZzxj#u+;qNT9X~>D8B<9OgnWB7XY+n}c zyI87uy(~AbMTWBfa)^9xqDC$b>B*){JRnW<+iDzLnyhSm8z$dt{6=cN+lzTr*d~2_ z`%LN7FHx#%JAz3`CK4AiS?OdljV*6`T?t6=lyv-9wsB`8>3iQr$`v_`-Qi9t%kTG; zzTB9=y6kqAoMt2_eJ+Hu@8fqX{-$oykNK0?yR~srK=LuAahnM&t?^dn(4`(ySU?bS zy0*x$t|&;k?KhpR>&fMm|Hb#A3+iPRcbg;aj*XN*AKYu0U=@@77x@{3)3clmNs^0o zq+E%u(~n-+P7V!pl)2}Al2xIrT)Lv2yu{1RaA^1x`Cv0EWmjmL^d@h*{A1`OC4AyI z!5lT;>AuPde2e+z zv39cEgFeQp@pF`n>5+2msJ+HjDM?CHqe!`=!j?R#UJq%(qe$5?zoT?>4%IVqd(HAA zalZsP&)HG-Uh-Yqo}!bB_3lbwytO=GV20FWv@g3;xK*0BO))h57R|mj+i#d=de-Rp zHJUXzx5e0bP=<1UlrQr-yH#1xCDS+@`K?p4jZ0H>tgoxPvN_(GW&IM^Jn+Mod{=zy z^-vaK4DVP+g%PFI!Em!UrMI({!F}B{d9_!Zs$~ot z@#u@;X?9WG&lWLkOMbEO^7droB=p%>{gtvV+cU3%Wehu9R$`nUY_8O2y_92_)7aqn zmqs)2^GfX5J)M=&4r8z!9H)FnEFs>5@mx#@>7b71WtUz~n`XZ>wnP7Pj3*<=T*>=4 zp8EK#b@;3|)m}-4-s|&*V?6C1e=%G+;;HBHxo=8Kj7xST8~o8{2gc)(Tcj_=I5SwW zQ6FqB)y8;oF`gFjFAbL9@5gx7xLO%HVhqo`;*=$eei+sJ6^Z+GgS$-EXVF~u%;C76 zHib^|Hw$z5Ag=RJT<2xDUu7Yqm94lJF}Pp9t_B(dalfJ_KQK)B<7xPY`_dQpr9STI z8uUrW{d#d_w&6DN9PZ;Q-1qO`%(yv<#b7>&;Mc+Z`hhv~17paW9H7+1TvF%rM9k+j zjU~+=hlKY|ewc4pFyF>tKJUdm^u~M+#(e%gFheQBT>Xmq?6zGo*2jFljQO0|CDY)I zc{?IB+h{c?LwbNd0hrHAOwStZk$-}Dz6|SPBIfgY%;ybQFT26-jrlwrYicgW5SQOk z(f(U^jYsb_*rvtOo-?Q8F6YOa+p(%M9OcOAzET0!a;rC%3O_1UI^FJ*Qm5q@W_`V$ zWc*WZEWZ@ZtTfFH#quvh!byBj@?$^a0*g;l59~Rsis~zW4rrt$$k*)tE^i0+s3y&= zlqI2QN+$L(E9_&tp7|+tyU&q!#zx8y59~F1W9`qy+TXx$(N|6WZ*R0MZ{X~Ly<$dI zJNfthK86k0PdZf#P)y1q4a-`WD0{Kz^bl|95BxDzI%AK@Y<ctpWS(Oyjz|k;cjL zD(Csq80`CwS2Xgvt%=g`#{-zpv>I}w-<71WX#-eT#1MJ;hj-GCimR2jw_iz(6EY;r z`<|@AbiKUmc>~$J)kY<}Gyci<(A(0ZmV?;V@r~q=TRM5~g6&F;`-#%TJ*861STDwv z6iG=>hsm)w(v?Olx=Rtac-bt}i;dd8Te|biPrk8jo8rIgSmuoIP+2=sEkS|m7Xs5VuKI;RI1GDFZb|I z$9r|Y^3(0Mblvv>+=BC_v#&s(U3C)Q?OZTlHJ zT}A&l;p{=B+Dh84*~)Z3Q?_vZd}VoeHi!ket}#AaJe9?} zZddj;NHi3iR%hFG4`MET>q#M_Ls&MqU8&H3gkXZLVmZ@DDJXSk`H5-?w>Iop%z2ac7U%uXre@5P}`tSu+@>|^Y5 za{$}8WSYElb9P?Vv)M{PYLTLk9->SiG?rE9^jfK$`pEb-#E*5mm!(V%UaF*Lj%DJ6 zG{t}D0mZm+EWU#{T3P?>veMFREX(<7g<9yb!nO8ei)N)8(ptSyZhiG*ac!Ds7UG?5 zLwi3KVHhnfLI1Ys4~`TAP8K-*?qx{}z~2nMNm`K~W=rtlXnItJ3(Mva`Q4>;14Y zGhLpd*xC1CH|7a!g4+c{z~Z57L$=6{A8()O|6>^Q_YheA^(?98VmBrhRA!X}McI8s z3wBjk9pCS0Axkj=t7ln*Z8LX~H-uhN>bqBCyEpWghow(Zc34$pPFqIG!#sBD=Ve!5 zM|Sm*gZK<7qW*7%ZK*Fu#y6Ke+m|buh72jUe-HWcbq#ATic(+AQ2Fy2fnC z^Q7>z_HxRfj!ffGRdR~AlRv%+V5!}+rFr8F$|;X&?A2pQ>e}2{xtj7)*_z%_3i~#O zRjl?)@pI2NOu}6MeBrxM8{=WHz7@@mItt2Uhs*jkN1|EY*D`}ygr)Jz^=S6SQIK*R zF6X5nug2&9#Q|$xN|rl2DqX=W-&|~X81HASaU+_gRr@8mc;p*9ga7nZfE?UCTQQ$t zP!4%alf@^J^2owjsqWTRzPV$bQU~Mz{->iXdsI~}&bE_%UdKtu z5H;VkZHn;{o{ehFSA^%_2|NSUXJIQmA8X^;_yNyIu4|^DDV~|?vok71Cr9Afctvto zjCel&#j|lR_{DX5NHU&{>KJ@bYduEo@DW8_g z9U^CSSJe8U18RpOs1I78e%OQBL9HP^6wNjqLyd49wZa0_4+W?l7NO6ka!-R?_RLs} z{8H2pQ&2m!i|(#mLH!Vl+F>(lKKrB}2DNthjxp$5tc*FRt@NmG95kHcRjxbDnS9h& z1*olRq6YFpeU+9uO>TLjmvU}fvM~^~l@ayR3Dj4^Q0u8RpJPsu{ts%X->9W(q9#N= zs4PdHo>`vyW~lWvsJ$FeH_k(CRaDSR8HD=E>6<;eW$2(UO&X=F&-Dh z`!#DErX)O8zxOA-TrcpSk=!FZA|o<-Y|4c#!F)A+0~)St$OUkqa~9@{L> zye|Jfw<&7E+tpqvo6#pbrzo!pYSLdArzyU!XpCpi$zFD!S!5=>zs)D6^HxvE@ZT1iTjm}dr|jlpdlFd zYZC6)v2stNi2L#x_hmQga|QQnA^H@fZjb$UAD7_1N8ohJ|ib%pP7brT8g#ogS`c>kIIvjm(n)uCm~q- zZ!UZ{RQb1uSZygbzWlcjOk49(sf_)>1AQKTEi>9+KlzOP$LqC!E=L>*r2U;9vf{NcqAoa|ps1X5#vMz}UKAY|A{_ zb|{LUN9*e#uFp=4e+I_?4cBK3zOGNWK6$u45$PS3S@_!BFMc<4i19GC#vc0;*P&sA zr9r(8Q*nK`ogF20|Fpw(!~SVd_fPfu1mHTK9&b?EJxD960sNkG1X>tvoQ}h;ho_y=8qrd=SuL; zo~nA<}&)iYar%%lA|73&N8A*+D>a0Av?64u2}ybC?R`f|kD zIfk{f2kXlu=z-B6>uVj>k#P5>L460FiuHy4P)b4{7p%Lu(r1RR$j`?5+KhEt2b`@~ zU(Q&+kFmbmF8*Ph7Zf19#2D`AtPC5l_B&(kU*V@5_TUcEe13ra=M>%rt6~4qWB*CT zzR?}~&wA`XgR!?1U~e&E|M7nG#i;Iw@A3XSgB2Ufu+QkR|2)MWwH|%e9rMgfD=jey z*bn<-|Jj~7P4+q7OSy&p_8a!MN7#QBVgIQ*I8L(17{(#az<3OZgLt3A2JQguKjrA3 zi}BRQcy!>b!FWP2o`=|zLy-(x&!=u-px zcDH}y^ugD)72}zQ@pxc=evk3I#CVFaCtG1Ww(5AW7hS<#RDx@@iaVKsXBf?A?1xH4 z+^<@=U&?>aFZKi1xhC#KPu#ElxEBlY{JJ&yfiVF0YYv`M+i_pM;J$3a^Q#c|YXSNw zc&^#tKHfxrGwypD?$>*K?_(F{gA?x86WlNF#Xk(mxL+?YhG*D|+F(8}##|cCop$;$ zCzIyS6wJ49%x4AjZPUMfjKlN25YP8jn9ubvpJlxN{%p3N-hn^j{kJ0K?J&$+4?N%7 zVLm^@d^X~_pN@I1KKIvPT`b3Z-jDe_59`Gf^I2UlQCL%lFrVWvhJILU3$Wh%V6BzS zVVQQC26TNgQFpDzdY_K<{uS#q9P6E7z2886wGiuFt*_EiQ|*oRFt)*Zx8720DEPOo zgHSIu`?ub2qrSp^Nc+HxfBR}H?1v3d7pePgJ@BVt&#C!uy{om~G}JVtZ(0&2WZ?)gTw#>+xoHx4!1+9T2I9qPAvsPWWV zZY}CGYma<`TBp57em?T6kyq=qs!t^89_lo;HtUAkQmxGzqaN#p`ctjPl2;6r69X!+ zW4;NJT%(VC+qN2evN}{UUs_upY2(Qb&5`m3pKBpotnJL~bIqj%)d$PJI1^TzkC5J3 zSjtm(d9byviw&pE#>oEJ5AZ`xlcc2GEoIiggRR@KO&|3lSgzM+uJZ77tW=}CxqL6( zooVmaQEb=EkR9$O8~I&BBo-4b?+mD@l;3J>(AMlN&pla<*^ihh?VUJ5mQFlW$}+C& zUH^=e%lqF_)=p`pq|3wPob_*%mlYQ%j~WKb<2RpDt{(nrOx6sMW6M4$IfIgwyuc~) zlkVG;I*Uq;x}n46$I@9P{nG)(Vf_r*`gAKr7}`MTSUpJgtXx|;t{hf!KSaoDAK{OR z9waC?H_ejAloaGWxZ$Fln><0jf9#>;RPSuw!=E~N#Y5EQ&dc;S%6rQLbk*eIreVrR zez1J~O%?g!>xD)?j7Q;4O99uu8cx{^mOCG{VT-tiN(qEb+8yB3Frk=d4 zfB)B0j+tLUt{**LxjZUR4jge&`ZBYEVcAkI*}s*E?09;na(I)!?6cyUG$uOKV0*(y z&KZAG+88-m+2TG$UcYpUwD@WzX}c~+ZWOdontU`tDSQ_r-(abR1Mj^I8a$o*jt^HK z(&|rYzkV@Z{@W^7HYv_nPBJU%MB+-Y$sM ze2u*`>1!W&Z--mp)Hu3UPu+L8T{j7&>);-~)9rm*FZ$Z=F52yOp;2f08mmp;>(<)N ziN3DY>-JHsj$e(hqmMey|MmG_z62a~oGRxw`0*H<$~VIp)Ul~!FdO4e<7pVV+07@Y z8;wWVxykKHbSD~5t@T^oiVfB@p54Ja+*Y-0OyjxA?{cd@%8bVIW$A9W#)#F=Rb#b} zIv%yp|Cv`g>Uj2pqw>}9sC;z{>Uh*K++P2iahNj>DI45sg#2OZT-vg4y<6w%Uzs{j zj#k|4Hr@ISQ|CrEX`9>sMca1(MYXh1-YXaoFknK=V#W+8BGWyLsECRfF=H0gCjyFD zF`$@p&Iv^kb3&(^G3SKonX~9KKeM8HzGmiM{;k@o-P+n`aZZ0d?YZA{I*sqno%aPE zN}2<`YH#-cw&k{@Ik5Qs7FAaLfHJkAd~9uO^`t}jkPhinKBWH;IZ!?-hs8g*EuX;t zncSAoh}{2jTRvOLz2vrhsyIC4wtT9ryUlI+P`MwC7xF2KHW}7@ve%Q&M{7Q$KhBy@ z0pt*9&8K=7lhF?SQyzU47tzF+i2kAR`ZTh>k@BJbbn>lgr1e7MwXG@p=z^%7^spA_vNca;UInl#%*}=F*7BIF%30=eNHi zjI@?%zU8gb&Pe@3^YCpkqmkAx&D8)8FXM9>FU(;oQ$EX4euXyFKejfudeWhMNaq#w zDIe0Wh8!p#%Hi~$IjVnX&lxdkfy#&WoQb32RsYaF<6C2h%7^xr+jB!z|ImKo^FC1J zLwkr9%5+^S-$0w^$cNfwudfH4_sEBINPj5uA$`iB3G$&FIu}`Nq&<+<{#N(pDj(W6 zN_)*v`A~gq#z>V9)r$jRs(+|_yi$nDhuTn?@}Y7n+ED-4+Sux&p+ouD^rMjvwWk~? zA1XhbG{LfEw!43u`N#Y>jES|>2-$8N{q=-@*JjgI{TP%zZ}+p@tg_G8n%X=Iw6r)m zo>QCAmHjMRN*&=;KYE6X<;|;VX;lA=J6Jkh)zYZ`apul6*WpR3{_(L*Y02g0s(RNd zujNC-^)%8q*0?7RCLdDu*~?ozUUOTU?Cl@czQ=9tPyXI%wCSHdzR76Qe>cO$|D`pb zPDTg+*4BJVJP-8uv*!PAWk3I=*8Gc)jrFf=eeX%P`}wC^-|ymP)BU%ie<)Aa$rDtW z`f6?2+5T+U5LJJ=WW4|Lgh8qg2l!0(kDa?h)j!)h-2d|VC8~bg&QSk6uMevF_Bn$5 zziio~>Kg|+`ww}2!GA3D9opIZ7g}=4zb*9pT?{amy?;y9A8+Ghyz%{ts^5D)Ak9{9 z-`XebmbLz7GiS?StImqH_LhQHod!EYE%w&yKGB0LAFbD|>oeIh%$jH9*5Q_m);#-_ zoo(^4zOUIO<1G)Z@5?qfGR~a+&)j&4vTZ(4y=@Lq**5M}wv8Q?ZDabs*4xIB>TP33 zW!rdB*)~R0wv7wrKx5&DoL`}A>whZS`kczPex|amZ>dcESswjNWm_Lo+177Vw)GX2 zZT&;#O9_#d!->0$g=$^!zuIexh2}|Nl>hiPvRtmUj#GWBh(0zikhF4 zL+8@d{XaDutnx`28|S}$^fFa$u%fkpBfI^o>>TXipJUKjRqo)=jmi10tMXdT(^9PE zRV^JXe+Fi?IkCL8gY5euj!MJ+-9n-bh-m0F;elG6DrRmPbclvG9<=0h=TcA&6TYUq+TmPy5 zU&}Vl>EgzJwZCQ6r+QmH`E%S*`B45;w&lOhbVKD&@14pa*7q(3-u%z|rE>DX=Ehq~ zW~)Bg85?5kad(R9lZ8(W#>?$DsD8Lxy}EHooZ$3+S3WIaTsr(FSMRaDi?Md_bFSW( zwM_42t+kEHKU@7ns}AM4)T&Rp?X>1V`5a6wWqe<-pvtF5&T_`GBfc>jqpr^j8_RwP zRQWt??_m5^c$&&5VL&ENJFr#dGvf4nzI2~Z`Pj;okF5>mlfB-iL-~+?0q9dcwj3y* zxn0k3Ezc}QbK~Kr3p_5Up~@%0_XOYRl1t^|Q`gMXLOQ8@;x6yw#*FzYpOC+H@d6u@ zR6e#cQFujR(+L^H3v0bqEy;L>v(l_D3_*L$E)3| z!fCegy4%Si%{E>mqBG?|>v#>h{9ewrjhD5o^0Bs2+f21D4&H^eKnu0IZ!?!riioz>z?x|Dl*Mz-E(Sh?UJS_8gUF+Z&xe z_f++?*A>1Nq{_73ug&*XZD_rpe_utFX}#OZl#i_q<&(YM)v81JD&FvAnmaBX^Vtsk7 zTdDF1!Tf*kut4QQ>ubc5X(}IDU&lvHQ2EgMTKi>$%7@BJQKst-L7OzRp?tE}lg?1+ zP(C(&%Ey)i<&%K5@7-~O%I6mLpRnLWl}{Y@haUY_sC;T;-&py3ZdN|nTQ&}!s`3fM z-m+ItQ29`KC(4u$?NQW*^2uILI!mEL`H+5B=umlf9mF7FzQm{f^drY&lRqN8n#WtmD-O z{#D&NUgR&Yt>g6+{zd&v`6zF)j#nJ~Yp!*?Y-Q>nYIDRoUfJtOXNYyYNIwJm)IZ0q zIZ!_2tp~01nf!gBbv~27`&s8R`EnKOd?xRnYn{)2@a{nCe5SI|I&W=lsDHB8Keg)6 zc#%G>7s`in*ozz}A3B3AwXSz{2D7erI=9%?JDqKI+SWVHS6!{^oz6~a*7a^HQ~%I; ziQ1@qtZk^CbZFn8d~Eu(-YEy$de46L%YIhOe)h|L-phW*%YLr2mFc?K&uQ7~Nym0h zBYoT1%$5W7PyOcx%l&cYw9ntSnz{t{wsbHqR^?-7MqAFd+>;jfXs4-`eM^g|a#NK( z*B7_++WAnmDR!xXWxeUQs?YJ_d0JAkX3jxiiJ2X+3=Qv~aQvZog5L%@xa9?r+&@a{nD|xjk!7+QRWkCcDKg zE&a~lR%Nf)c+13hm(n^m-eF3w)YTGu_Fq;0*}AIbd1j_+bNGX&#Ut9;LT#G6+gbi< zo8Pkb&lXefnRzS?Mwe3cE}0wB8YPvq)DGTk%G)U^ZQnmtET0N(S2?_6r7d*}Z&2ki zZR%L|J0+PmKR5V4xAu?c+0p(ttbKAWxVL{lYhSIfZ|Q&1+COX77xy1*?Vm}PD)^^Z z`{(|P=f)k@{^@Y-qp`QOfBLMRY_#>y#=w-+ScZmi~jS zeZnhu^&e;LhyHD<`hT?cL*xZ|Ul8m-~ z&^0~0-FTU>);_f~9&^&C(g2xQXF3ZkvRvS?CUVi~_(SxVlVbCR$=wTQvI&+1^RT#T z^45xaJhN|@sP0`u&hhZ$x4L_o2UaP~Zmbx?FSKlK2r4v?&8aw&H(pcE&ydiL7j*o| zEa#`PMhkjycJLFc9#hYd_$7*$iOj{q-IlQ=e5~Q?6nplyStCPYzG(h+cTTZq+fue} z!B}3nvYlAbD9Dh#ye73BKl=WMxR5r5Wp6)uehL+1(*2K^&Unw?m%NSX@UNb|% z)NuBq=}5W#cr(9zDb?iHS@mS4H{Ha77B%Du2S4ef`_WsF`e*n5AoZO zSgaC{zWb3CYUj$$EgSOlt~y&j-h-b&d84Z?=A+ynZTj8&D896H{jd7U2VL0IPPnDu z$Zx|D=wCTsPgaG#J920{ZmQ^l97a~i5Ifx_v&H>8%XoaW>r8r>H$CQLmrIg(>hI0j z`7-jV?@`0gVx#$rW;NNn8|lm~;td-)H;_MA_J&nn^TXh`qz5m&{0+OY=7-q><=1Ev z8u3Q-N1N>R#~L0rye~Fdh6L4Q<)B~Ec(?M*!QqSH z;nPvP2+BJgzL+1Q{Qh?V_NCw}@%?0v|El-+klQfn?I;=exG5X@?uFT*iI?mQ{l>`Q zn>JDGMh-EXOS1{cXCKOVtO+|kr-3JZ+^Xff7lseWCkE}yeavkhjC@`opDKR}2w&t= z8Tk})D=+>=K97(?49e+wzL=>z25szJUWs?eCwsler`%@Br#$j8K>vGVFF6qUqmY9I z`D{lH$17y8eHgEa=&SMgXjg%N1AFN)C;z%6u?-lnVd&3%4Ud|?V!S?MyfSa3i-H)h z5g3c2%io9vYkwFjV~m1OPQiGULOB_23>dFCw8>t7%J-=G9meYj#%m$;&-i=GKG0u- z93Hw&7V*g8&xm?F4D&e-a|w?%;j80Pyy!6}Up?&kOw8vom~YO9T*N5M=kDg;hIz#* z$q$&%UoltlSq5oWTxSb0hwr2O0rPn%%JFE^6Z82d+GMZ)e$Yis!F)cR`rB|8`nxcn z|AKywk@fgQ%;#9-P_q62-l6w&b_VN?9;MW5&6EaLu;kbMomO-%C1!8I z$E2~AZ>6@A|GfLbK49%9;r8Hvcjshluve`45+ySS=MpQipSUEnliM7Bie1=qve!SY zT3Vc1fsgG4H#d}ytH#||)|2h}g^BK!2Jn4#ri*Ua_bQCQ|Dyhc+qJRwBk;(lrf=poO{4ROb;Lkk#*NQV=n#K4LHB40?1>{G!>j(b;1{*ncx`_8VyGskd|=oc;57CtTJjBF_D z9?K`amX;GMLKlerSE6Kv2}MO7k2bO~bCwf&#+vUq;D2q~NB>v3c!Q#BymuQp+SB>J z+V`yzW2pCZgE;6MElazeX7^?_l+8Eill>2tWluBbiuau*-e7mZE?02mT zds{J9R1A%lP0Lo|&%-p?ZH$Zjl{u1a^=Tw5;W4sCh%fI{#ViiJEF^Pvo6Le6IEs(g zhsxYfgLs6iQRJObSo%(w!U`XlX^d~K-3;tFo<*f zZJ&bjWa>@B?8y1-!j%~5X*g|YRizD2$W=go%Tds9D|jOd35u3`EvL-EwcGF+nfYa- z^7+kQ>ThJht?<59tq|^Z0sMQJf->;^4RdoSzf;*#_Lo~;a0gT zi>?+cH>Na@3C>5^@Y01OK6ERBc6~I6eZ%Fg93gVa(1nKR0)^%4eG|mm2Q&TjmBZ!u z5=3pwOIWY0$;2QzYL zI#uVZYUeSOPVCD64!F-UJ^Hg1rZ7J3z*@Fo)d^P1r8|GS-j_A|@`YUq?ZQtVk1~|W zm5YB~+=*X19%U|t@)wjZuJ;uVX!8_pMjcoyqVabd;O`y}xGz3Ib1gK7P1R*vT+0sE zqI)Io)!XG&r}`bwg|++g8Rhng(8THL(I$AriP-LObMGMBw)pH~ZLf6PO4-=AA|KIs zl6Y0ehrh;ug>XeQ_UCbG9b1^ofn7wsL4+cOhe)e)|(;|(ttj+U2jJ7#9RH=cBR=DP+J zc~#`!q^^&gg8ZwWedbvUw`wlIdym6=Z<{z>48;3AKi+rWE!?(Q0NxZ0Uup`Eq(_^) zf;T#eZC8{m;w;g4xJ>kWoS;=CvG;jA|f9=QRYxEFr-5NE!vC?})*3m!QQ zZC=3}tH2|(*FQ*g5eL(L8@j?HH$wkp;g7=pLOod&IsAnj8p9*a@a~cD?O!-U(4$T8 zh!gp)-03|6{@xAVegbERYdAmHH?PSuaEADWv%w6U3$BE}VFPhyD2VgIbeti2pzMP3 znYBO6m(eC1Z6a}o$X>tEaMV1yMNO8DGejro>(H->Gv6WPFcvwyz!}0GXPbjK*UYCg zA0BOjM~cXTN1N?^`}T#Q6V5))O}zNae{-8n&ziEXIAiHJI|bovm0I8xD_;WVE1ajC zamK1>Ef>O>Z_n=nq8!@v#+fgBeK^inZ=W}1O>oBQ2K`rqJ>@u@`EnzNROB!bXRJ(| z{r0200r}9QO(>u7?VfnP!TGZ}@+pCQw&DDlf_y@e&qbUqJK$Oikx%0i<=JiI6P4$S zfunpA<@(6y9op1Ho2tksd;Nz`xeX^?G-VBuPYCoMBcCbA=MQqA^X4Yxa}{UfA?PdT z5|bG{+60d{k*h!N+p`_#=Qilibc|O%zoQ1tI$mFK_MVTikQlG^IFs99jM`wlsGI}k zl^Cz5XwwsIVlZCW>l+)68fsy@ZeqN;LZ8N~2F8nWh@rC{#;XE;cj$(>6oC0mk2b+0 zPGl2V+!N*@Rtm+j#c+s{L(Y}P+#HD%POD`YnMYv5|mOp6TL${63&&rKO zp?~PnCV0dN8&$-|8~d`eE277a@m<<@T}e=pP!p(7;MO z67z>1ZGuOf@Cw_!_WZ&4Rx0w5t;hW7j``Em{M$Sn^JhEe#;>-natY?oKFpcb<2_^@ z{LYY!auUiK=FbSUd5<y`g!{f;y7va=e~a^F_(iNQZ~Wf6HmIh+??U`B*3QDYf$}ug*OILD zB|l?*%|toxk{&WQ*4GZSiAI|NSYO%e!|;3bt!6dF53H|^(D#D=JN!;{8aebw4&CuP z@KvmR5iyhx#r{K&Ho+rK`157E_k6(q&>_;3=g0mt9Q#kiv!}j$9ROys`geukQ+-2~V4fe%OBoK))*VIrg9T$N|4= z@@Lq8YGH3YfbtCFLytDW@8Z1c)Lovz`2Dmy+UG((`>{XIMLr#ok0bWymbg|j@;Qh- z`5JP#fc-0O;dpOQQGq9F(V?S(yv(rMX@m<&tv94tb%FnRgebFWs zZFXd>_y5#y#Tltw>v(ep*83xzi^f8~QC%N72RUp&4xO;xv!DI4pB1y8{j#6;vY+v? zpX;)p<+7jCve#!nr)58zWj~KSKX-;rXw-q%?tPT~S&`0`?PcK~jPGq~5 zOk}kS4rl3mB6%01kxh?|;>`xkWLu6MV+qd+vPuUdxEn9L+jUPAAA-l1H2FNU?ys>k z*@)_~Jb7KZxOK3ZoVD?#u)BOlyqeHKUI?;?`9r1ne5SWdcpJ}F91^0>>oB<=ADn8^ z_oA43HdG!OykE3FnkM|Zg~^gpYuMsTJH()f-tu{gmEu}LwD^|VLnfBJ&i)N zk{0)ABJS2Gd{}&h99=w`{XQSLd)4nD((XXAxMMeF_viGnQkKZcZl60N63{=T&_Aaq z+nf75&FYiKE7HYg^wlBs)zzv$%mdIrpV2=V{Gup`{@ITHxp}gZ*pB{LivCH7*(0u5 z`)B)-iJ}<#=Q{ew+h`Os(LaIcpY_L%i4E5NS+p*ly+%LuKtD_xD%m%@_nCO_c`lz} z|DaEfp-(m(60DcCA6oRi$P&;GDd>j|N7GnC^n)AvA>q;vHU$0f1pRP4A)5U_KdePR zqzAWPE3Ex+>EEu?{h(>#K2Ng3>1@ePYrl zCjG3}!xfW0#iUP6`oyG9O!`@Isx@}x6LW55G_J&?PfYs6q@VSAxMI?$nDmKBpP2NC zNk1!2wZ@KoD?cPci8elRh!&6O(>coNA37`K`W74Aeiwq)$xx#H63~dbncJr7 z^>g_rQ{W=?b6#YB^JQV%f9c(~< zHUT@JAAP}B(SM7-Z)Ilm(|T|M`fW1!U-VNnxGMUmA2gAw2L?Q(>TPPd$OPUUpx78KlOXuBfA6C-?VPJC;Y*_=E!$X{-pLvVv4Dr z))U3V6w|t*n3!T(UlbElO#VbMF~u~mC??K|HI10oUsk=Q5mQX{v<@jIrkK_v#l%^! zr&?c6{ZHPxCcIR66H}hVlpitWmGyeKV#t0%`^odEI znDmKBKkM~y#iUO$=@XMaG3gVNepZ}njUD;abBmNdG3gVNJ~8QMy&kTZ^eHBNV$vrj zePYtjic_tzBfoQMy3!{mePYrlCjG3}!xfW0#iUP6`oyG9O!`@Isx@}xJrc$%ePYrl zCVgVk&w3r7QAAAo#H61Uh*0{(q)$xx#H63~dbncJr@%K_G8;U*>U^nVW?mK6H5$WT6g84S{5gJSMZJ>pkhvYfI=07^e zw0aAC-#+@o@?;)oMce+7@9=#`T@G)T8DP>6`KuIv4Siy_R#7q?^&g>cLOipoovgHE zJfBbc{Y&wI^;i3?T0frmg#P5HQrvNEaUOy1SgO3^4;wiWe}73)qt;`G@B46WoQV8x z)#64iV2AJ5&@#rkh&#A_!q**xP#VPVJJ9M>!YwE zxTDrrVJC1Wt)Ifq;I3MKEgaYd+(nB}*bUrG8=$Z|xVtt`VHh|JS0!u@?x_vZ{sQ&@ z_s|9_>;>+nMJntK?yU_`*azH4i&EGZ+*gZM*bf}8#b`r;{lWdUVG1L_5n8Om0pJ1J zaD@ZG194Ttp5PJMNNp5wGSK&PHJZ-+h1>gnRLWPUKi?qcGmw=aOOBF5y zFVmJQTmfF8tyH)Qyh>ZGa1D5kwpQUf@H%b1!VTaJ+D3(&z?<;S2}giOX^Glq;7IUD zZHvM&;4xZ~!g1hn+E#^e;5coY!inH1TC%ns7!QuuQWPeD6SN%)r-P?!I~C3Z&(wA) zoDH6>?N&G!JXhPJa6WjxwpZao@Iq~$!o}dl+J1#g!ArFR3YUYIYX=ps1h3Q%DO?R+ zt)(hl3tp=oR=6I#UOS?2BX}d;IpHYqX3eY#U?MnClM1(hw`ge!lfX%uMd4QPR_&<5 zZQ$+NG3_`o8Jw)0P?!Qv(M~Gd0p6jVQn(YmQ#-A27kHO;M&WMoZtbkXJ>WgsIfZ+{ zd$scl_ks6m7ZmOX@7FFWJODnRT~c@ud{Dcr@DTWrc12+-I90o<@G$tWmagy!_z2!P z;b!nP?YedYcoTe6yQT1N@ZZ{Pg?GSrw7UxLf$wSe6+Qqz&>kv$1b(bN(VhaIfuCv5 z6}|w!&@vRh1i#c?Df|cg53Wjh4SYj;t-S$W2Vd9TD!c{0rM**l8+==PukbGTuJ%FU zeeiwlqr!*ar`o^TC*TwC6YaCY=iuks7lj$%4DGAJSKwE;D&YeWQ{g-CJMEXk_u%(hros>4587{qAHkorKR6D3!nOb4N7o5IgFkCIbiyy-FPfcB z_!ayWS0#J{{;t{UIrZx4hSKeaqM;Vhky^zA( z;M{s)g?Yev^dbr!zz%v*g?YhFdNJJ<=m>Vyiz{>nJL_%=^MUi}B^2fd=f_nEbAk)% zCG}Fk0^kCAX@xFe7rl(aLf}GrS%rnch4pd@i-3#h}4G`O_xp|A|Nj9y(~S#VjshQe~-a(YdL z<-ry7S~|Wc3D>TLpE?RFf-CBE6;=XQ(mfSc23N*a2}^;i>R!4xunM?}UQb~)a5cTY zLJzQq?xV0exVqjzVGVE%-B)2vaBaPz?gy*|uB96k)&bYinZml@x;j_r3HHQQ39Ev= zb))VN^a6Y7CWZCD_4Gyx>x1j-0SbMmSJ({POz)sD2ppt`Dr^pJj;j*-gInqy^-jPR;1+skg~8xpy^F$D;8uE9 zg(2V&y_>?;;MRI~g>As?^f0{#ur0W)-cwM*;hQ`{>aM`+@uEF$(*G`|Cp$hJ(ZPVG1L_5qhk`0pLOU zaD4=DAb6lYQsH0Vzw}WG2ZIOeqZLMiBXL#2zThZ*j6N1P1Uy6^r!X2Et&dk21CG(- z6b=Os)h8$%1|FtQR2T~$p-<8$1BZi$>+uRlf=B986pjLq(x)mM4IYiF5=Mc?>IwQZ z;27{2eY(PN;Bop4h2z2F^_dFez;XI4g%iLN^w|n0f+y>9^tr%E;7R&Ch4J8ceZIme z;3@h7g;T*(aaF>x;A#3oeGxDLoS-jOI2}A)U!rgZc!s`I;Y{#MeVM{p;92@|g|oqP z^%eR`;2iKAeU-v_;CcFLh4aDl^)(6?fEVDZgww!_^tJjr;6m_1eZ9iP;Klj|g-gIo z^o6fOfV(-Rdg2d~sO>sx>;z$^45g{#1;^sNe4gIDX@6s`fU!Bq(tf!FED z`gY)2@LD}Z;d=0TeTTvg;0^jtg&V;e^<4@#fj8;96()kW=zH|Nz|G*z`aXq8;3R#& z!mZ$~`T>R8z}s+D!gb(-`XN14KMYRQj{pzrX7FKM0L{7toAorH)Gc7C9|c(r@^Q7GYZdw&+6wCo(G@TFDSeSzNlXUo-ziXK)oWqEq-A=WrE? zh)Nf56$>INUBXq5A-bSn*01PS^>pB6{TlePejRvCzX86c-vr*!Z-H;w7CtM~z~@(4c^Kf+a>;D_QTxF%&yarUot_e6w$dij6-N_YAPBv-47n@#Qi?knB# z&pO)i2oHWO>aHmF&W-{3F1R0xbv}>FNg1wri|jJwuHi&; zSAK0-V_9lLU)J)M6K|4Zw>WJw@m$_c+`WI27iN~X@e@$aodu%X!rVQiD-yLKhwiab?4h`ftZgk+QOTJ)j z16Huf(^|+}{jP{ohaa(fo=jG$`kO7g_l))TZ7CvWH{f@VRN;mHO=4lqjNGZH3m^Qc zGk-e8Ue0U3=ZIHgG(WO&f#J}n)ojVuMm%kT8?QSqoNXL7la1cfhd1@w&*p4zAPU@w z;4SB+vfsg1M9I9}__MZ4*x>XMa^fDwcU_smDs8UG_aE_=4h1~LrtO908uya?Lax00 zW{za@%seS<>A6VmFxXoL>|A_!<8m*a6tPRBw5%uVw<^iw=f<*S`Tmmc?k!|BgbUY> zwwB%wc1Kp!cIP{~RgiOBZnGZ^|7JJ2pPbM%H}|fWhgDCmDIe$Z;eQWXCSEmsDqP=& z^72L7h{tz(2|MSZyy-zlnfAnv{r$NupAxvvp#9y~@bLUN-sA02bJ^P^_}w+l`1Bfa ztaU%mlVeNq&XG>|is{n)Vwe2eM$?i&I!_kJDzu?qU3_M?72fFwwjz7>|p0o4{`Wv(^0V0`AYeJDxpB z*k^zr@;q zUp?7832XoFBCFZSN88Q$_^E@`=#zFI|)b5dxQDc z39~gCB4nPKnV zb?l*gG+*CjJJatjV!J-{;ct4?HEhW>LzF0o$5a1uk|wKvIe0rs@~<)Quim}$N(=le z4E~ilI@z%C*bfm>sXIT>`{IVFl({cF*S^CA!YYYzIS z<*Fd|Xo#~M-Lw@CJD4ht!M|R^zgAS-EZpH=)!|={%t_)T{HrGXt4)<8vD4~b`3#%P zV=I0WMZb0Dj^oyeKk%;=@UKE*y?6}&ih+MEGOZN>@ULL_*Sl7$MIQK98~9hprAx($ zSy}#7bZscp%DBp62b=JWrSanH_T%Qu@UNL|;zd39S9kbV)TIexJN&B?{3~zyI5E=d zUzJZx5v|}~H{o9?f6Xz6j&CDAKf$vMT06^bqq~X7%E5d?SSxwRYo9r$cVT|c!z33w z&tMK)it#0j?BvJIx%kl78hp&qo#MmhUo3ZI3x40+=^wCyRgKU!~w*-EU74!SJt2@ULC9JQLWV#kuPsI`Md2B5t-#*a_f~DqAvVv z+YxX6GruQGfq!jsFDZ}Y$}2xC&BJf}$|DM<#&nrGSATGJO@*jWN%gehCiNnvXvdzEViqT6eiJ{ZF^K<>j z%A9)#8>XzZXNhj*M8GM3nb5twTt9ROZjmZUa1IOYA2f;9twHxyzeY|B8PcAgjZ_>cYSD41E1H{Hq`Q>szvu{4;fz@PvOg zD&r(8z`ypxzgh(6l@;J$|G>YZ%GHB5_}5(c*Eh=u@zUyFwc;-_SNPX5_*WtwV!%IBwPJ!zjDLB9;Z(d zo8e!-;a>-zju#EA{#7k_mgsHuuRT8s@>d^mTTok*`C-qKtjKFWes72~-7H z&j!Y_z^8t!{ll0eUlxp(*T1i1zpuKRQ-|Vn_mPG8sUIQS&dJNX=*}WmBpII!sN9s@ zal2qH)~FA^>HL_Dk2}t~Hcn1VrRx^p z?N_vt|LiZo>-B8Id-%*ZpZw97WjNw9f2V%>)$yDq3OtJDgY%VU(W17Dcu0;c0T;;uWcfDe?$JuzXWeQa23nr5-NMUJvlNUIj?-Svpz36 z;|OcnsTlWI)s#E*+`@kM&cppDR^}&H+wmMwITo!K?3#{;+c@=vSKcF_)z z&5u@rC-?VxYqog zLvDU`T7>vjJcj?txxsHp#kHbzWLuuN?Y$_|dyVLsl%HQ286;n(j}%v3op|%G=d8ds zFK!O($P0|n_=P(LF{J%)?s0fe!@c<@i>=$*^9Pr|iLVDH3ycXyp6QqV9%E>?97MP30Ajd)%^aH)%@NEw^L~vSZ2jf1(m68;?OXL zA3kyD1NKkOE8?G=tvMLCRcTtIE+Zs<#H(5o`1}N)(Nni((W{zPY=3^a`BRWg zaf)HNR+khztB&F$E)^C3+IuT)u)1zmYa7O?*IxDUe(RliYUiHZ z>E#FUyhd&F*4^WH%%>a%w(gjr>zU!)DXP9$@t2p#cc2Yl?K)3bzWx*q=Xmfuf$PQZ zOCHkq);%`3a-t9{R9?h>au)kZN-vYyecfiU=2?WyOoCBMDmM~GT5!(kyBR_SmV9Xa_5%XqPlA> zeyUP+sa=>WUOM#W&4X8n&{-?R;m>6_f5+tVeuKo}vjuq0wr%*RLG#Tn6PkV zuN)wP_xSQ@3B|b2&K=@&Y5=d;xFC1vvqaqY3B|2=8oO{Um;5%eDfjMIoDcHy6AN+= zq=kdw(*7h-^kXwVd1R(2 zGb~kjP7mQt59Q&bHuV>a-D3FqhbevmMb?V2%(mRL_^oI#Z;jYEJ3oK6D@gWyKU_S1 z7s`Y1?|u0@8pO^H!}-VSha0ZSIa$0s-=44O{7snTWYM>e15ck4B99H~Da4P0@(Jdf zH~ec(`eyM5p5-zqmNiSPAQMIz_=j(SqHD}`)}UrEe|q?)xc{{p&oDONqg&Qx-jRjm zNz6SH{A<*mMZy*SwI2QzTjGMD5d7-_{LA^$03IqV%u?i!;i*Rvxd#4q1O7F($TGF} zHG_Yhd>F`j!M|R^zjo~{#hbvts=&Vj3yk81SJe#_-ggikW;@Gw@UNTjuiek_bu93& zukf!I%O)^0{Oc3^t8Mj~JQ)7v1ONK^F`5TIUm+TPNi^pw=`8QVzvAFupU$=wyWwB% z@UPZh)7TdHS84dy;((g`Ed0wE{^dEfA8!l)+6VtyJIKI8i{26sis37W_ZN`O;a^_x zuQop#i#PBu-_t++ygX+y@~^J&uhF75?*adcfPdB8)1Qxre~pBHRWISqgBp6u1pTDB z)25vA!QoI|JSCS%*|AV`?KF@lzMm?d#_wTQc17}#y6gNlCx!Ba(1vz zmlP96yk{qR+VPvYK8lyU>hs_&zVaFTs~P-jR;^fh$uvUrG}y60UQOh%0dK^uX?MlT zBLVU~{L2phwKpJC-iLn`f`7Gn?jR3bZY5n`_7nA&1j)bQU;E%+&wdP$IqXLn_Q1cw z_L<~-_}6Cm*MZ^FMfo>Tcz%x`8|l+ZR)c?)&+;!h{f?cX9{kI=v6;+(e=UZ8^-Om% z94s*);# zZgOZV^E|05;=Jq1PdDoEr3DumCYy)JnUQ5#p3i>?e$^m1`R9-w-ainXQp<@wr8~&} z-Ezs8!OPhgvxj^%xQ2XvwLL!&>m)mgLS}Ld_!W7T@{w%*MV_X71l}d^BjI1d<}mOm z^_ngAA7m0I21l81JQ=0D4IU@S<9f3uVt(Bke8*#Np0TQ=*j06uTzjb~v-uV=`5*Zp zY1KMKxBhF|*~!%m9fsn03lHWWP8d6#Mds@!9Gybtx?8{5{stx3bLlBFi`V7t8?|8f z4}B2ZuXN#gM&Wq{4V#&ByO{8Aq}N!}A@d9^UBkIoS)&Yl^Hg|M|1PRTJ2Q{YCHR3J zfqZb<7+L3{1Dm`d+0g6UYF2kbb=fe*Lx$W4;x$+&F(=YR7F+Ab{Ti$>^ndFizhFPv zkNxDY&L(rib(`5L_}6Rr*PZLmydwPT{*R@8hJ_mUgMT>{+I+-_J!A*=ke8*r%+XI5 zv8C`YRn6p;e{b*=pFBV(^_U*@UNz!r6l>+5BOKDMxmlQ{A(!uD=y8Mw}O8)gMam1KZ>Qozt+LODtwI-o#9_K z;a`cnYf2CJ*ADnsv!B<+W%$=x_}9DuXTAjf^$Pywl-P~!gMVEr+3(2Zs|kYqYcc%G z$F-J}@UNHW=ZZHD{iPTDt1bL1^>Z0KP>IQn@UN?93dpVSuip{#&70zyvwHBaE%2}6 z%V&y`@UKMp*Q&?0WfAyS1pKSrp#E|d{3{y%RVt{OJOux`2mhLB|3s9Ae=+!1YT^Tt zIXuh1a^#H?xq|MG`_-3^P9 zubMj;9>Twhd~7DCz`xw#Up~`AB!hn?z`vHd#mG{RQ~Vmhzrr)y%F_SSzvOfHS1A1J z_PbEo3I3HCYQWbi50|CV4>w#6|H?SuUM9l74Dhe;J`VCS{OdaW%MR<{|JPS;6^AzI z=fKbZ=0Cb0U9W)`|4+Vht4@o)J^TIdzjmuE{>P$TCVi-7{-S!uA|0Jg0Uq-#o|RS^ z)3)22b_^e5@w@Ri@Bf#xX=cR)OVFh<#%|^Em|EuYhl^xww`~w=w`}U zy^Uq9|9V5o?IleM9=5XZcV^jiMJZF$0*x#$j{BswHkL50%2UrWI=E|E{*A7tJH!1g zb8EKcixbM3wuvT|w8_WC{@4npf|mmRX-;a7YVjThr9=LN&|G^S#qH z4ybObn&M{Z{%?F*+4@yYS7tg}n#@f|ySK8U$!#!= zHodW{Vd>kYNZR8w^-K|k%2;=~<6rmiTvL(k44`)4+v! zEQ`m^OKaD{*ECCLmgqk7)57a|nO+?1XQ|X{kWoHzGBuq!%HqCZj&a|j+@|g0T3Jd| zn`E5-*wN%LBE+)sf3Wx7aZNPs|8EdbPy{K0R6#&GQUod4nQXucB8r8g2o`KKv7;0_ zD#Z#m>>^?Tv7nOdBo?q2Y}iq66?^X}=bB~n`}zD{=RV)_eVy~?_sO&Snc2)FyEC)z zk9Wv*wYJ~Ne`JgTOw-@O+b4K|TJZ1zxIxo{EdzOt2mYA{vy32Me8 zAK6N0UxGH$bJ)AWMp|<7kwRn#pS#yuO1+)!l#Q(p;!`1R(qZk}E5B#`gI8cTX~~Bd zipH7c_+B=?m5sjpI0{I(;aJ1$c78~V!W&*$L>myq;k z=to8Hvr3%10ZadMI;n6?NXO?Y8R?}@Wr~V!+Q>}9U)n3GRAKGc#C0|DmL_h@RW7qB zkleM?kpA2^PuVuKqh$1|HqwIBROOkCC1~qn9ciHcKxINiHMwqLARTS*rJS_OL*cl& z6Qo`4to%HBsA7G`&eBg#y2?3rqZDaZ?WOOIw^sf$VUpssg`4!(Gz(=H=K>OZ9!XPN z&6HQhIdXM#1Ek)cOqG^1O%xNbM0!oTgYt0SXhr`UNa~iYsT^xPT`_b}fK;zoq`Y@& zn&Quh?$SwTrz-PPr%OILwvk3i2Pl&V4U;UWY$u)3-%+~{{J`wj;HrVZ#+jO>&Zt&}=TXcIs@bu+ldF zk9o0;_ETCL)S&WaYw5zvfy(d!I)rPqm3DRvP;MFefHY;>Nw0-?C{HQ96|%Z6|1pm{ ze>f|%`#PfWZCs?cez+?|PgpXwubXu7U^itavmeCcp_|lxx~=k5S5}ec?JE7S!9*FV zJyIcIoc?1C42-r`idM(TwitLzmmRTFp7Ki~AD?!Yev9d%oSUJg;D-20hsaEnZ-T=V z3s(9_s}{CXUZ_e`ENJKbuj}W(yJnid#3|EqgCxyUb)*i5`zc@l(Ur*d8%S;T_$%`j zT_otUzBH!HS6Puzg%2DumzrnWDX)yZi<<^pNWWDYD8mmO!rRo$q`$;2$_nXB9F}P- z-JW8qER}A>*Y?{=i+Z+EiXNn4eBMUdf1H)lx?GAiAG%80ZPZcr$y$Wlw0Dy}c=%ai z-H*XvTwJ7Kk-&;^C5%guqg2h#NGXQT)3RrGm(JdaLM{!(lytnvhxK0vY$DJwGccj(`5zgB6!&;`yAF?@UPQav)L_gTm0+r z%2@V&n->4-+arNB68uYBXDll&ZSk*TS0Y*WgckqWsvgR&75rmYUuZt*Y8M+4ZA zf`3(Y2x5N;{-vkw%PtfAYv4?ljT8LKlJsKZ7Pk1;{42q1so-BR+k3DZ1^?=tX3cVf ze_b@`&Q=KiHR**v8!q_QyQUuOcfr5*Ty$nv3;tEK-;5n4_!pbko>lqRteH-%pWt7% zCEZvf*B1X8so};Z3I284ursUjuaRqYS(SgyFw|sK{#D%1mYpg1SIlS!_PXF->IHV} zG{L_j;!RkUf8AZJ#j5=4Hz#6M{uOmBfi)KV>sW3&Ya;lUP1XQbPw=mdnc?hm!N1;E z1h6*+|H_N7W$y_7bvQ}PHs!SV*OL!+tXS}`2yuH>B=}d4V`}Ub!M}!xJlRsgzs5Z> zW&H&I`fv%_2>z9S>ybp|U%Q;`*m}XgF1Bya)(if%^y3RjgWz8u-7ibB1^+t7)<{(T z74_Vd)e`)R?bwPH3I6pmvrdvD_*Z(XDv7n=UypBBNv;U~HSLBzn;`ht@%|qrV!^*2 zo1T>D2>w<1xlH0A_?L5ZsYK;pB^z_u`GS9W?Vrc~3~BK%&B>{3FsQ`ScCub{Ra zSe1Wm$kt?4{*_fMVpaZi|LjyYQ}C~|(gEyH!M|SgcVyoR{&l!_TlOD^7XR{k@I@l( z+2UWud+tiY1^+rOza)th{L4XGhn*?-SDpNW#8vPwGp$P!m47X@kV_f`|2h&Pml$1a z@vr-bC$R>Cf2l2*%$^eb>)*!k_tYV*pWt6MePY;P!N2s!M6)yFTm0+qaenbs${rH@ zYY5YujdN)6uXg@D*+dyiI@+2Q z?P&3@Uq|fNe+2&;H@pkGQ1Gu>nF*`%FNa0#Se1YM+xq$Mu9?YSNWO&9#@YMC#aBluTdwjHYw{44380qY_7R}$mGE*Jc(W2z~;R`9QOz1pyf`z`*Z z9B0Kg>~Ha}jEy?1qu^gB8a_)@{^b<~tPuQbnw=4AA^6vu?P{#bzq%ydmxu-bI_`Q_ zB01dRUl71zv*#11_f>)1l0)zT;~;YJhY9XHd;#~-*NeDD&t@)~_rTF#hmnb&)X6so zGwzKqBK=dkkmKJVL(m>GGNbEjG${&xI-#@=shj(e8KP@}zup`|v^2JHN!^~IKQXnO zk6~X@JLoG{zRC?!+KX`BIc@CrbvQZKI}Di{zd@Z76NvrtP293q8`1d+H?rchKWSRq zz?_`Bi#cyLgd7glAy#KGDgCO2pM9!DsCXjbI4Np{4xvM3<4I`HHg5OrrD)hp2XdKU za_7rUCP#fEGJZ9X=o)_K;z&<&B2*X8l@_D34T+>=uoN|#mZH1t1Tu0?G3ODVi|Rzq z#9%@od5~+4`r2&cOwOc{39DC&t8#5I*Q*9^?mc!}lS@U#3?K5mzfv z&new-$8iC~F2Yq@yd{$}?CyngC%WRq!AsGkw-Yhfc@6imeiw>n<8WA)!`#lNd%1I~ zB)HFw4tUh;BIfFu6#S=mIWjdi!^-=*cyxdP(c&68CaWi2{_Y8KFZE<@&Y6L+_FVMh zq9z{g5RK>UxG1)94#9mdJ!ZB!n39xr-?^ek1M%3n4amECqd2f#27dh76#3<;;{f{@ zylv=M`3?BkO6#yLcekBB>A`&AY9>VD)9z_#XUgZmZtb%0WzP!c?W_+-1OD8v-gmux zf_pFQVrq^%Tn*$%n<4n8`YCSvgo~WXiFaJ*Im2;loqlL{J4j1n#fmXVJUCXrjm~MQR-Bjv%R+Zq0w6Ox_u%xTz{JL9@r>bwEsikkGrvqZE+U)>aZQT z4NK)gc6kz_!?ZARP7my|v5B!_}bxDL9}Bxj$9bbB_Fb1X_Gdi$1e9|l)(ZVgGq zd_=W;#?p6OjB`BM9(#a!tlLKJ`lcV*a?>2!EvOLpIAlvE$b<3PSYtH8B9Ls@?2PT- zbe7N1m_#mVoI{%qujYDuNhTk64nt*SpOE!e1s9qeLdJge#P!Ff%j@EL{OcHg{b+`b z=fCDszSxs*hx_2qKR?Qwf0z^5lOgzHr)|jV!&C0>ab9!56>F?)=K6PPN75`~@K5~& z?)~()+_Ccs_{@Zj=*^>zT;Mx5eENt#E)IPp|9f6c-7(Jlp+)8doa64@oq*>R4df=P z9pWV1c>JY!D;i_6jPv2TVlqgA*Y~?4|9c+IxAw%>X6O67jWDq1;HTQm$Rp z1YDwDj0#aMm*?b!3$PfsX>G=>8?yyHGnj&(T*;IDy#`hq^udL-dPJ(XjLUsG8Gmmj z<|dM*oc6LLd?I-R^4&Os+r7&TYd`eI4zg$RA^v;NWp*+ie`s6vzpbDD?wVPpoq;m- zyol_uE199U4}DuN0cv(2-HM9j${Q)9qiY_r{I9yJnF!L$=Ce@BQSKUx+1BPK7eVtwV`RH$zf&GY}c<`Gl;%zudvU{`h*~Sy8i@ z6X01D#zFWJc$pP=S@73kI2-(HzoQxV(ih=y@Glwo*Pk*ooFVwvw9-Df7x>p;@UM3_ zhv07DUlYNm(BfZ&`qyaiujDP6$QJx78~iJ4@KSCp_}4A) zukZD{xCrpC@!($@o5CU{A(!qmjTy^0>HoWz`w5V z@|52K|LP9@_0L63k^ugtzVo8Et8)nPzWkV31OAn^?mMFX6%YR9e{7>H0Q{@<8&l+( zr%qV#uglx52*xm@lXn{A)k>*QN=dtEqn}z`t(J`oOgV|9aMEy?m^D zFVYSC%NYFYY?~qEH2Bv(@Gqwm?~p0@mnrxccRxc${i`qdSB={*P6Pbw`_X~&a;*?@ z75vK`{L5td5OM+h%K`lB_om;71^*fk{&l+NYWWNBuZ7@WpNyPIU+}MOE&fGfOKPhd zz`wq?PbBs0PIJlNUn@&LRC|Me*@1ucb==Ms3{B=T!M{FaJ>dp{e@Vc;eDs0spF7;!UW3y#W7OMY@xG@UL+2uN5ysNj>=2aquty zlY__+@Go!huQuTxq&N7N1^Cyk>`-zP{A(=uSJ2)u!~p#3GWgfC`2)#m@UP2tBN-d5 zxf~Mw>&L+|ZYcQISnw~Mz}xcgroQAT_}8!?6GZ(hAN*_0)0xNv{L2#j>(<~Zlb!TQ8_}6Xl zubGEeBL@7d3H)na*(WXl{3`_fYxGx7QgnQ}{2KVzzm4I~k7mRS{A(ik*YCr9hz0o9 zZ}6{!PlgaH(`~3b_}Aa#yyb!`xx1p78wCC}!!m}91OF1uc*`9=pFqxne>H=D^?2t- z&VYYC1ONJaUfkR z>*v3_W+rQAz*ix?$Pw_b6uo_16Zlsk_*ZFR5u*VAIspDvGUpSg1^)FL{OhQ~ib)3l z$^idr?$H|G2LJkzS|dw-`iE--|4Ih`dN0luQ~wG8|C;Qjj+cUejan1O#LoN96@q`w z2LD>Lxi*mcR|@!-!^(H49r%}GZy}S{wl}8!wFLaD-t+@E82l>~{L6Ud4Dk){FF)|F zxO+cQ0r=N-@UIx_Q0xx=RSf<`(;|1Ua7Ak;b&=|i-^$W3H@w=oC;cuM|95Y<>^tZv z)OA56_jfaqetXb8s6+G|9=drw3W4L}LG_>SMd_gDxJ;A}>JQJ4I#`F&;Q9Le287`G z>xQq;h%?jBAE*zp?vBdf`M%JuYP2R^4eh2*?tn)?yCyXwycyc%Ks|Sd7J3H1SrZHG znx?p7IkXG-(H$>_cCEAh@F!>&2K5-nuBh`=SG=^xHRgGe4NigfU28+|eP};((;&PD z+W(vqg?pZzhBT%|;eF74H5^}m_B3;^iNTrBzHrBQJn7CIbVz#^9#^ynX~Xy4RzUk! z6Ed(kq$~Px6wlw}ne^ z7f>l2KML3V7>+N8aTuL1#mk{S;`<-OXo*x6(`w^bM4c9*vo)3q5$}RW|7_L77 zo_B`pY@O$XpJe&r9C+Rs>N}?o#q}^QWZhW23a)!Pv>OlC)d||&g6rJ~?Jj~IgLa{C zd}Hr%coAIh?NtVNCtT+kA7}g)QoL3`yYu5Suut+(d;qRfv}zQ-voeaV0e&6)pYyMp zXVpBa=1DdFs&Q3~r)qrvt8x85$5S-zuic~*_b|9Rd2cAfurUH{c}{8#6#njaN+{%!rK=IMX<^FREd zKJq{O`ADKNDm`D9zzTC@YS=>T=A`p`~aPyQt?upA~3l=xq%>tp&A#UN%st+68)c5!4oX*+Sh4l2OuNJiNe z#>0_6Dgt$cG?etHJ*X2T!*qZ#aN%2Mg3`p8w1p$6DTX20$80+S3O#5E4+*p1z=+Au%NFZwkslGD_Ot z4-~<_qiBDBP)M%I_YVLSLvNZKlLeJR0!npwsPUy>SW_BMqbV|b!s^k28ZGsLHPIew zwA35snXVC9>H{;^32L;|7v_V`WFJUH83N}-Q=ayN^ppKStziyB`DBReQaCRjY4m`jWOD2bv5i zE@__$pec~zlJ=PhnhGf{X`e};lOfS1?UM+a1}QF+Am!yWzGpJ%G)Qhqd!~R+hvb&D zXDa9nNbX2`P6nl^E@{s+&=5#=Nc&F(O^3vnwEr|vngWydpAJfsVAB3GKxctwf@Xpa zhY`zyxy%xDAdJdzQ8u3@vqk5^49|r+)j=>4aeUIud4kS|Es*+?w%!0rlYr9J8~OB~JNQ1EAn7Gd080C8 z2HgoMFKM4GpfnvQ?Xwkh7o@-325B$L`1GOMLCYZRC+)cdbPpuEq&;_n(nO%NX9?&& zNPJ0q?gA}`WS6x6ZqN!yc1in}fgXTlm$d&L&`L;lN&D{w-499=fF1%}4kLD$Py5-T zRWKsUA-UyY*jn@$q`f=_b*jf<6xKjm%cHQhs0@zFpiWf|&&vhnU<}rY2(%-DDxi%5 z>Qt4`PATXKNQij?>f52mNoaji&{NRz6x6AnhSsMAt%24xP^Vf8*SsB4d!B@?MbAR} zvrwmc4*HxE^gOgb4|S>+px*`1a_D^#dR`Rt67;$Rb*h)4=Vd{!K(8xMzW|9nY3V#@ z9jvfxu+_o%U4!*>9X49O4lCvcY_xs@R>V!%X#FP4@h#YB{T9qyJ#4gI53_L_Hd?;} zXLJ{~J1~p)U~AC>kpA-k)TvfN>di_)4?@2~qKB~2{tsb3AHYWI4RB8Myc%F$AHmk5 zRgfsO3hGpkL#oc>f^v|&lY=_d6OcyqgrK#M!m}3YR4>4JU4*ov7y0vh4kOeE8?86O zD7}D<)?dKbyo8O`UqK(*?-h*IOW0cU3Z(h0gS4A(VQbNMkks=vB=dX&TZ?{#l%F4= zPL-w>eGjQTKfut;bkkl<4U2|uZ-L4r>;L0dtB&sI>Ust)Nn|A;gpwWp?_t-*j>L!D|HNcP!A zP%TLIsReba+K}c`8}zP7L#-_&+iVN3LbV!c+u(AOe8 zwK|x|I#4~eM^Jh%>cAg;4NB98(xWt?r@q=_nB~tR12x*>J*WXB?xZa`fEq&LPTE2r z)JW|Ktbre*j%u{^XV8w2M3lBR05yj6owT(fsEOJ?BHG#r^pB_$BrWX-TPH~KY0CHM z2xjbIN-ssUzm?icSa+S(TGHKiR{J}3 zS$C+xKa2mrrY^IDSFjRZ#ai`h@ZpDOaD4K(vB^`dr=-S@9&7D5YC>{KT2g$Xbyw@D z!ZXvyj-Hy5HpQt?UnH_tOvcgUOSx;-wSh4x5s&mg&HelmT0P2f9PXlik9&|bqIx-` z6ifQ?hU;>(o9uK>I40>v#Q8~Mb*pV5_*Z9hvgEe8>>3k-O}3kp9p^1%x_14rQ3p#h zXuOT=YH2Wj_`sHIweBX{@FNKKuCOBmPrA!2;%36H6U^jB-0oXF;M8>7H8_Wp53Gkz z(Xw&b$U7AS{v0f~=sgin8+?h=h;Wp7eVm9l4>`{%hgAkxr;Wx2UtV&lkDpY(TAqO0 z&UwHk`8!vyTNi^3R;ZKs#Z}d-;zr?g!*|@n8ZSTHKGAqVwI(@Vpd-`%HVTK-z2+v= z?WtZ@&Em>|4n(becbWE~AS@Qylc7ZsvTJ*T@W^)dq-wl}?9+(>5Hi=1+&w0hCANye z_RBQL?BNa7?(*X5JaUBz^)F6?_zIoYUBB`qgi@u)0c z`mkbM@98*1zKr`ag$bm`Bg@YpFngupxzQ;DkN#xBof)>1KmPLDT#w+RdfjN7%ll%z zMTrY5OloG}){1OS^Jj?PxJ_wTcf@vXpwst&6^ilrklPK;JUFNNL0BTTe|d@<7#LQa z1?eD4dcEZydAP{v>truEQyy_>sk=${sd(GQb=;2l;%fKb(fIC44dQ!7BzppDMi16Z zsbMGCP^~2VdbE;r*}JWp_O%Mu_daSi)SZ?aZ{=1j`(^GCVUvW(YXuj(Tf6$1(IC97 zw*et#zpK;PF#LJ532{nnBTMMq5BD~%YRS?VEGttdn-(3aE*&%qJN0?T8CERy`!y^Yf8VM}Or~hc zPJf1<5Wf4Gd!buWZ5Eh>r;Sx`iSBRs_w{ifQrV}Mtp~lvO@^Z?qi2q*xH2;ZziB$e z4Sj+F?sMVzyR#8l6yza$d}j#0Q>8(y+*9E7$7iGyc80AK&M7!LNXy-}aMtcqsywmsfY3jyIX+aq;of z14nF#!Dr^G6Q|A7WOcif@V!19XVrdDK;pP4yx64;3Fs%O4qZG5w=2}o9XWDh_ZhVl+r+tn0#F_GB+%?ngslaF*5Up)1z zE^_GZLC*B^!an7t{)$6ANLY+F{(Q_4-}?!_+O$3hXZ0G3<~%kdkt5IgbaNSj3toxv zv-3ZFx);7c9+yTF%D0&DrRa)vZFL+l%|-nlx|1{_FdA4l+W#~%{u&yX4}6>Q;|(&t z*-d-~_*R{6gxM#Jfts*ZzjZdpOK+QtZv)@-wwvR!^A_T}z_c3=Z1HyMZek-~UAqpJ zc<^`|@h(_<0Tp(*|4DbTCGag?YbF|fyKmqi;G2GM4(b?Qf6Nw`HhAzQ^l^}**bkUC zf5>_G4p-%ITVPt-FE7!V$4>%Z0Mqp6JV5RJodYS;^jD~3(c-GWLSR~o;XC+gaId2s zfobX0n%HZ(j@SU0W>@zb#n$Z!+y+eBHP8Wz+IJV<1da`FXOB;f_YfNZ-{8kVa70mr zxCxl{a!E&g<(O2Q0Zh|grh%E^4S|$thc;W_n}rqPmB6vmCgCAv@?0qS-`*9yJWtzV`EnkL?O<}4juVOx#Amy-~)t!J#O(Yuy ze-1fHxuiW}JA7B<`*8^R!u#EBAn=dChrlJ9m#0uYo!K+jElt2VScq?es>vm5=R1yo{Ux^+r8TY2Lp4eUMtX`-P(bTz?@CJ z4Y0iIcVGrE=ly2*9%^D6@wgV|;BC5A;$ATC&tTrwC%TB!fH`c}Md+#Cu7F@*j%P(W zy7ggp;055!euqow-ZF_e2RNgidJf61`38mpXS~k7L`Iw61WpCc6h=HidmJVNQqIWB z)N%8|LxE+$8QVVZ(4bXIkG6`8#;><(;%jM|;>*Ap!@I9hm2OF(IdCRrtOAX6e-n7Q zg(s;0V|1MIZUCOx zDEPi@*9B|{*Ty-43d78K$xN*D>hYWNV9iI%` z$Z~0e-}aFN3f#axqAvj&z>U>%W31n2k$4DjqkmpAs*cJI6u5z}zWpcgB5>o;n+>RS zghxObaHI8wEOe?oLPoiv9b3U%=($eje_#OV2CN7JRd2L=oaHm430a(_xP3}_1n?%g%#bnZZ~EV^U08IEHH#C zdpC>3t{)&jVR=rTG%1rjsLhxA8b6Zf)@6`T1F3xW+*tX-Az9?{`84^I(oDIseHMK0 z*G;xi_9eixDT`RG@{!Hecop#QR~A`+@S(VDK|dzGD2pt)azkvc6~u&ZhBj5xnZPS^ zQNF_rvLRy&)3#ta$~ZZdz(3kVj%8sesXCoZ39MlT_Dn~X&C|(5t1nF4`(=m>ok}9d zzGmbXr=Y$K(@BI*2XxG3EmEAEObTw7N;7P|AL$@IolM z)i8_9suiIx)ePE^HH+kq?~3*}XQ4aMQ_139cbJeBJ(2sNS>$FzC*&M57p;{|B`>rV zaM5vN;CpX!&Tqy#&MYH^bk4(E_xKX|=cPi#PGBBR<^R&E*It62Q!H% zZE&~Nq8xc-N)|bT$s!l7dCHvIKMQCJ zYj2F2yEL{obPGhKHc((OEhUt>Gw^+gN+q>~GG6^xDE zOmxY62I+kN1yj{?8S>pQmFVASWbXS-)TE)e=(WpcK1bL5gSqJ>=e?lzz2;oIf!0nP9p8|cZ`>Bmi)XstL=oK@=tn`rUu{q>!FMFn|mmx~C$si9Rx*fRB z=%SJZ8N^mJ^T4WQUdX~|4#_N^%%mCgL<>%&leI6an6CA{sN_aEaXGw$vHjK$IUA;v zl7?1DrXGo~$xI@BD?(FtFlZjEVTa{iQQ7${v|{*Fa<}*n#m9e(~;oI*OX-Oyu{Tpist?Y&q*d0ybYkXU=ya6W9BaW!{ds`SL7O z>taWWJgd>81CS&DQd?*Q?Dx_9(btDB$Bp(;&wqFr_{J;{_%?3+07k_$>&X?&8i959 zYx5Zofo~25QYIAmwg~vP=X@IDEAUPB)lGc6x`l7K2Or7~2~5*j(n$rY#xYl{*Ves|Tiy>UBpxP+(d`LnqD~n6?hqL!;IL6a`FE0Moo@ ztV5lEX>q_b`}h(j6`0n8GVRdp0DFOH9k(o#?-tlK#>!Uw7I@VbcvbXhzSvaYQX8vq zM#ZI^;l50rz$Gj%XY7DWBY;c6FY}n~z@>h`B|pwnoGq~E<`)CTLts%xmo&ymV9}%6 z3Dvg+7Uh*}k<|lp@_{+)!gmGQY;9pqu=8tKZ-F@ruX&0;>a{Ruyx}d`R)IN}?yr+u z3e0(|HA6l}V9w#Y3b{9M<|1%L>;4P*Vc<*;;7o@bjq-YdGht@B+y>yx72wRBA+}s8 zaOOI2=F(hO?mBR$190Y>w=Wk0oJj-D9ADtWQO>*q&a}2; zS)L8tm=D}o_p(af1GuphxM6>Ihg<^Oa0G7bZfM2T0yhwFW58Pxw*a^?7r5cEyeoWn zG7BvSZoDqOBS*lEOyI`P_NJUKaAO~=ll~9O<@Lag-N21Ux-aA>fg62+8$%MK<@Fg2e^^q?MQB2p2cavzcGfTq>Q2e)}Z+^8lR5Es*V1)=>Ohmi~qa-S+gx|TArh? z(F%%fU{mW1J9XITfq(fQZLdcE)cgOOql2EJr|-X~=b%2O7KRrpDi?27?0sk`-IRV` z@o99LVh@yGFUwTSb6cdiRcbF?dH$Rt)F_BAf4nnK@hmZ0(eb9AG%W6<;^`49zFasp zM^RHUMxkg5m4?OEDDrP=@@2ofc?y%1B*mBVcj6JkA#-9H>4}dm#Hh0hwP9p zDqf(N+e%lt@=U2zB#QGp7^=e`Pf*-f^vZgwNP#x3o!%lYF^ zD2`1kQyjr7rHj&=6+cfMRQQB#l-5*TRCsMZ$CtBiwNCx`I4-#AMl)iO*)=0J=K)-+{PRpsOU1_lA>*DM}C~S zX>~$*j9=lia|+4EuF_L?A{6@_IRy*l0F5%m$9ZzT&Eq{g6pOy?;M<(;tfmZbE8>r5 zdcIdU56PouFW0AqCW9bkD6G;oSrB6vipyH3cdR)_%_bg2Nj><3i;#D9=}q& zeG$wbUm5&e5i-$_KW^}QyCP_}h0-%@mvm;tCWYoU1ErVIcK*HIAuGOYRr5#j<%XKl z8;D@J+l?0WvV?VmK|oxFqm@e5kx6*~LQDM}Ad;`}d-CP4 zskw?-MxPWKvsUo$HTYN?rK)@+!%(@h{|4z1&Gm|zChC0otL8I>=Fzi!`<2r7ir<+p z6f2<3o>uxwZbzMhw)ZZvP+A%+ zUijay?z_bU?pGgh~Ogn!^mwg~G zZSyu$Hd$cWt~fW=Kw#RgXAJvNVA||&{n!YBY3IX6vk3yz8g6ftsF+s&akoUpv29Bl zB?AP$rH=U^kqJy&(nXzJATTX?!U>6rX(dN5N>m&hKf76?;@i7hZCMr5Y%MI<-2&4> z-kY%}1g4Q&UaYOav?FWRNmNW*JEcjYV%q!aRuUD{!rinaDyFUcmMl@Rt4q~DiHcYA z?nOvcT(Z(Elc>0KX73J(ic3AL)mRmm;=JBVR9w2`G*qHukz-n^M8%?Nsj^jPrwE+cHKH@SRN&0GK~C&Pfiv@;Ff1ohO+lXE31 zo~&-YUZUbged}iu6*r~_y_cwEwQ$2+U7tNCaASLk1#2U4V_Cc#J6+&LGv~^V61ZV& z8O+`nxN+-|9$PGM<5HtcqT+_x@V*iiH~wBff4BL2js5*PfA{@+y}=)Jdw7?iiPcHC z>3I*Xqga7vRV84^mr=W-MM}{zSed@)gpB(61GB8r+IMhWMLdIKK0Ir93&o z3N=2Wz6ntXhLL~Q}hsr)o!oM{Ok=NG;9?8||*a<$mdK_~GZ8;NOB0Nt7Md9u2>iH2F3&G0GNe zG)wT1Ue;(*2P6FY3H&<3b{jO?L>+q=MB)^8Ta>vD{<)kUjJvvyLkFDIapsIccz|&x z+FNo01=uHGvNjg2)`pP1&i(O^(6OlaeFv;l6O40{)}rJMKTvh=NL;ih9z`^&;hISU z@HB@)6w%=gvuW)iBtMiyG%_bJRjIznW%g_mF=D+qH>MhXR56)^I^AHNw$H%Q^9}MN zYU!T&@TUn+_~x=NCA=w_o;3F&e=!(%PkM*V>S;0qF%!E1FoKw&Y(vUfy>C$H_ce_^#xy(7D+;7*o zR{O^hr`cziE?)?@=W+ts{cAkqaZo{86E@Wv6i7Z{n?Obr@0R6}cKDy$>i_dWP ze#DbW?-p=cSC!n7qB!E#wuqZK=LvT>213>zF68R=)^Ve6M3GOPySTCuKe_5V14wUX zJJ;m-kh^OYL5#AGa%{*i_|tI+x%T)F*XsNoZb)u884j6NZ`vw2&-_GE#IBJKFN&z7 zA6daiSMmkSs7m^gRn*c~a{bWZDqLDtsq_3~SWM&!wpP%f=!zSAYY8Ven@rqI!nij})X3@ULy4wID0i*q7^m57JUOKm!>Ku_ zlbE7G#4&FUC)3s?+MWB8Lj%TgOW$=M+s*`&o@3T>hj#wpE=VKE)wA(juSPX;VbTDy z(4mm)zkUr@e`W&dH*N*|r}h|bM%pMc=jv5%QbmD$N$+vQE4Q8_=$a?}GaCFkjr)&v z{@42dyYJtx`S-o>_iO%rFZ})be%>V<<=Zdd+sWB?xW2%&Wx%vfVg)x-U|mV%D^3Ua zmJfW(`(sFc0^h2EZxdmy_6EM00N-A1H7B!yZ~4HtEY6lh1Jk^LX?t`n$q!)NP+(m+ zti3V7w{yTZtDscw3-C<|eB13mkJ}4;(`a3Ylrd+x5@4D=FsDWX}S;K&&9yBVqn^htY4fQm}US>yHtCJTLMg* z0Zi+*wJT8o(^de}#zonZHo&nU;Mm3}J7NfYdy{&b8QH;zdzmJjP88kqJCn6~nL2VwwBD*~ns-tdDv2~1lJ zO!I~Ha2uF51(+7y;f;J7Fii$bTb(&U{sEZg2u$-Iv0hdHOcMdq#7;Nllxe}hw7vu3 zS2uuNH-TN^N)tqRH3)b$a!xjK1}@zLE?M^3itY$pTJ-H2QU@-%1DCA65VRM#bO5-7 z_rF4?fJad@T-`69&x5U675^fjPCn zoP*@nhBga51e^;?hc9r&O`ubuGlJ&m%tf=(FYObi7D_T zk{Dvj69eE$ux&g126(a+c+x2xvS|ZPQh+CQhDP`~@MJXbBojO?7I-obcw+o&Gom~( z1fC4JwFD91Mj&vbafuqP1#TDtHxASsLv4W@4}lv$x~k(i;6``gMm2b!7I5Pna3l9! z2fPKi5enQmu=58x58P-3ZuA82I}h9_0B(4!UxV%fHwFVYPIMZBW&$^|fE!~g3K+@_ zZ{Wt?>*wz_f3LB>U+3?>f3G+CpIsLh$P~R^B}$iTy<pFXVYT66f~QLKc-$9NOFsjk_epO(V6@v^6f+PU?c5Rk+~BuB}mEjUl%4cS6Tr z7~&3{{xB62pEI8i_C#9mRx_RSdZN!8pEKgU8E9?cbEf-BeU!Uk5~FDDfVSv0GI8_n zFw0LwF%`0lOk8>+6FGkkQ&AMnbkLi{Sa*8CEVr^@JT}KL3bI+Ov*{Z;^t20de)kPU zzHelfk2r%aWLly1yUrlT<4@r|&mhV6i%jeJd8i4}uiLpJH2&u&CQcWj`rRGTKR5DF zgUcD_dkI1nN&A@#&!8T&ov~{`s3Ca@GkGw?`mc3Gvxa41N2_3(=`NU#cVc{JOvhQ-XpJxIkn-)v?v&y+>E4)*`-dCOn2x)pyAA%4?Sh}K_k!<2 zx$y1I?K0%Gu-p)nR^FJ-%dQe9Oy^^qofG{1+y&Q(HIxl+yY%!e|U1M8J=VfA7Gfd~@P+liY=Vi$veN5*?Z=5cs^U|hK3)6YAxUP;J zr+!186<*jk`WvFJH`D$Muc^!#RPew%?jm|U2blw&% z?SwTF@=(He59|S-SJT&_<4To|^VYlFFrC-?a{)FmpQ|Nyn9lE{A(oiV>-xJUn9l3< z?M9f+>v|T}B+RQ$dtFTD^T{y_Oy@VO$qDa+dCl_m!E`?9>$kBViX~4qnC^PLaP~tD zX6Ub;Sfm)>@1#Ezf=34Xr>FX1$#)HA!*D+=iW}{(GshjLN;Mg(BJ0)ubY6|S@8Iv7 z1*3QH_tBO$GXDPgy66~x{}k@s$=^Sy=_r5yIJYb1@0&8c-TZxYX6JS~@;2YNw9p5TZTZi%M{f{JL)qKfglP`}Fp){CYR= zisje)5u0)RdQUt)o?q`p$`pRR>%-3<(D5{d?;g?d)R>yVulM&wVVJJ(m4gQG>$~u1 z6u-X1>!SJf{VifFzrN+i$MWlYy?i{szK;(G=ht&~;y`{q2iFYe*K=;05&U{S{BbnD zo);xf;Ma5LjzoSvFKV64uVJNk;iubm_>G25~Ilo;dg4C;O`9Z1zH+@rzWBScr*-; z219AWzBT+gLJKx+*tdm1IUU%y2c=_rd~Wea3f*Mt5|||hIi`(B{NX^9@cO+`k;pJZdOpz1J#GKFo#lmP(28% zvVc-s(Do1z=Kv)g(6)R~91VSQg5WnABInA7ySYMW8x4G;A#Uz)%!LnYqaks$<^>^a zG#twV_B5c)1NJn4tp|js`M};E_I`YTnjeIs(NHxSnijwZvC)7v1SJ}7#XztS4Oa^S zWg#Gq2Cel34T2yv8lKi0v?m{eMnlhN09q*QL->HR5C|}%p=Sg5kh5^u58wlfXb{jq z2n8Af`@wvO&R_`4p@BM)upb7&IFYcAhCK}ei-tW7?&=1c8^4bQjpf4xVyaP4TLj{f-#7K(V+Wbpu=F4=zb{ZP#8VB9}GGeMwRX( zKqEvn;Ee{ZwS=kB5)D)v%Lk{8;ls_wL2V3#n$Zw58e}#JHX2k$L(5u%&uFMw3Lhw@ z!v}~>f$*lOP@(~1G&GC`htZ%g8V*JS!e}_yEIxE>79TQ31H))|SQhNFAhc^P1Z}m1 zc`bl2t@#j=wE(t7@K^|8SUGSOOW=GaLTM>z4g^+>hmt+$QV0-S2BkzeBYJMBP)dPU zoebem07?ttY!<^=r9){x=t4N#nNXSsIv=iLI+Suj=Rx?} zR46%u=E8lE2Bkb$^Ue^gRuq!84vvS`L~I!85C% zv=VeV1RAY|QX$N|FN9_FfD#SQDul2i8mL7Bv(`co77fwb2=i48;X^bOYcuRO@u63n zAk2yeVbO4_Ef6L|1Fv>~ZiAqz?NBO#HPROXsro^Q22_obO_T>0w)9(gc6Gz@JuJl4attcGnBJl4WBu7Zt*&lbY9Z-6sc2ahs1t97u^P_|My z+alO#_+|-Q#a?(n8Z>qY-kpYh?S@AsoYijFXsB5^obxW&`oUu#T+3m&{)6z?0i$sc zHX1ax4MynzY&4i`3yfg}Z2RG{2}X54Y!UD%hLJu7Aw<=%(EzY&2;kyiqjioC!W_rf z{|>+Kp}6h>8~uwk$bbAV8~;a@|GW6#N9gm}xD_0tkhg=4zDid?VFdp>;TOxzMWT>* z`sCQ={y6Wq2b$&XLEi0hz~=Rv(d-u|xyDfw@ck516z4FU^lQ3?B2TPE`Xqu>&E1K7 zM!iB2{U?$jweIpT-HYfU{PJ3YVXgdX8#DYPS4>>R&0L|;OQfaUj)+{ExLgx=T%vWE z3(yWBi+o<7-O&MD&Mq&~eyAt*ew-x#XYE)b%5Fea*Cc2ee1-BwuqS473ef7(XmTXD z0bNjQhiCgXajuZ7@Tys7JR#1WOnvbf?bPgxFSl-#8$(K~1phdE#%dmCp;3oy?nU5Z z32V`neV^=1sYdE+5xqPYqgxpX5R*SnD8+pnX*_yNS_`86)Aj}K0F zyU1;+Ga_fLdgJ!}G{_LgDz3;b9{+mm&X^qe$gSEl1(%&ImN$MVf?t3Sz_yFb@UMS% za%UR*;*oOrHTF|1XOY(f9ln~5EmM!kMIUD{#};Q{7xq!Wbw^DycUfQjdckhwrCq?S zo|=Y}uG*kB{q2dDt|6{CE5b#+9Ld;YE0J-s7hV%AA{Q{bEiGF)l7S zispOik>>ktar;ia@S$nDIL!;s7`?g-EL*csKJH!}$Fz;aw%Qe_z9Ehacbtx0Z#yFY zt!iX$dr!RiwmNQK*@}Fe@f(@`^2VcDo#%EWEI@6tqlq1s)}dP$hrxgP9zYw9 z#Gw=LwdZNX8C^bEDL=M46GvF4%GEyBb4?Jcus(Gc*FM{f^wrhDmYGIG?AVTQa~7bZ z<3mYB!7Ogw`%R4HoEgOZRXz;HX1oLoSbG&v6)jloWH@C+!$Mr zQXdY(*R{&HkFk}^=A2A?2xLLR}YlB=!C3j<67@l+V z6Z&$hf^+`hiGL>BV9y&%xb?vu@YA=wadr7SxzF&IC~QkS_8C*iB-u2ga|xsIWXs8D zl)5fX?H7u@-<6;({XB5yMSHAKupfE7?~fm|fk9W0}lBNS!Q9`^wKHW~2T>rfaktgGDYSAVx z`1(}lZI>+Ed02ux;^s^F&-@wK=>B+Ql`~U*?`;O|r2h}oDo~eG!Y|LQf3Op6L^_;C zD3g_bAA1yu9&l6nE5Mia`iK2reX%(SD1i$6)a{>{K~+-S8g*~60>Di z7qf6$J0p3Unn&`a&{^2EAcRAkow>J(iMYev3eK{N4R`Wg9Bw}UjNAS3fZX&`G+tNJ ziu_-Ny?H!UUGzVG(L<%AlF(p^CZrknp1obEq>>QHRA@j&%245IjwET)K$8YjNh-rV zd*9ofXil1GP6JPAp1y0JuFv=R^Rp}w4`LaCmJdujDVLoWN3=N2Vkm$`jV z{`t#gQO6SSU7bEi(M{7nuPgy4`>w(_>Q&^VL zCJE;S{^nM$K2mOGBZD~ia|Jz5l+`rI@aclDl9J=P<@-L#@Prc^y6eWjJ}s3Bm1>WWmwyCITx^8WMAtp!}s=W;THBD zW0xqF;j>F}xZPg@%6f7#TzWH``+m@={D`LvmxOQTd`2HF?*Z#-1uf%#ZfGd)SR%uB zPmJZ(DQ=Y)Jdxq~+Mgu52J9=p|4WAVCbp4Gi3uuy{#AxQja(ql8uzB`*DVpP;pY4 zPiD_wK)ZD;uds}I%vZ)IQLQM065F>ceAkx|j^1;frPDC3TN zN}^@<^UH^KR&f0vC(%>u+f=&R@RE@C@F>O*k-UxNN-iQsMwM?4TOaV%M&3DzH00S! z`;)XS`caxlH-{~Bh;`G(!!CH!HqL>SF1Af5b!ss6sC`&5LBEB&Xq7|*j(?M1MF-Iv zQ8Yzgdh*M!myzO>`IL^hWWNMzwF7EZs{AZz_EEy~xW&V)=l8{7~UG}e7 zr>c+7(<$PF+T(nZx{R7$wy`T!)ns`Gt8yz<9ZC+0#Qf3+a&(QhMLo zm4CbM9cu9krkWQ5_+Ruie`G}xy`|;Gd-)E)kH0~s|*87J@d&lP_2ktEt>-YZFEms7k2oFiww*OEx9ZTzkwGCH7Vd+x^*5kIOz zMt$_+xFgH=l^ur17w%1p;xsyhN)+r-hBocF&3A_KX*&VJ@@^rQ_w1vj&9@|49dwzS zcQ>1}{F+GXg3oi`UKMelA12b5-HSN2C|z#H+a&4~twmSXO~sQ|PU7~ymZ39}IQ(OB zI(KGbA)k682@lQ<;y!h2Pw#p8K$jd7?#4nnS2edYy5p8WUk&R)UBWH#o^_36iC$0Y zzP$wnzA>eZji8;=G#VgqDG5sX&dV| zq|McC^wzj0vO2dvJ=WkUiJsiT$6F>*Y&K4EU~3(}a$OR&)O{^aDaqt@IT^jH`C8uV zZWh1KMn)%gi{lS(F|$7eb(p!Z9l!kC2HxFXMlWc#=Z#+v;fL;md%+@#k5cxLd|W4^ z^ZYOKC$C3w)~-o3=|~~pqsI^l-$h2(8yE2bReD^TM%d~;^*pb%$>#>YN~B50F8f|!hk=RE zLGm>J`es)|`y|kr1(f@ABao&p`9hv;bK}cWr_(E`EhP7DE>geMp1#W;LrZ2yS6Z!l zz^_@JL?f&ZNcztx;Lmn|?c{EQxJN(yx3%EvpPY1#rZk^ZDeZx5b+`$mlyCI9ImrT$+ZAj-J;IS(t|5 z*ca!B!HY-eQ%Fx-?9!j^Dw6R|ZEta&#z}Ow&QPp>vKy96y+J-(SD^g1gK+*AQ@UH< z4Cl5e(3-B+H0K4&?2Ajz9tzO)QCq$ z6h{V(MbgmzbVYN2d?CIBEuZg3y{+}I=9aHq#M?#G?f43Gz*!p&hxahu@CV#wuQrwa zr!S)RzN<;6MY`lz>Ky8tb%`j&x}yJQt_afVOQ9rDNx>MHVBYkgjJW{SxtwA79V~FG`$5*RQxiOjelV z+9XRVKf}?&PiiM8*M zd}9lGZoV0Q;QbGIu}O~(shWs`#!)W$>{HTSGZYVAy9Rl<#*#+eNPJB9Fq#&5oU1w) zg$r+JqM`pjM`y&rcy?VXIksOPulVDHI~^QAU8`Hrvsqp6jt16~*Y}H1f-;7_ zyUUSVP2R-%lQkW)x`lXT>d=eg4aDd~cX}jHO4qpl;qvw05Ql*?=%cVhXf$61k2XZn zeU>hyZFMGU?jA+^96!R}(=tTSHVL${>=@ZCK8w72`_Vb;JJ3S?C&)a1I5p66rRlYo z&;`?fN%etv+7R0h-PN>(_ua*`%gBKw_JKA^={%7xxm`ofb$yB~Oghmx{g>pA_7HsW z&vCM9>IG8q0Z@Ep@MPJ6fv=P!39!|m6i zcB>cQ!xkTiajzq&M>lsIGhRx&q_07v(hc#bxLCTIUg6eE;Om)XOCRna_Gf*8Eul zUG+-2M`pv||EUD3Ui^@Ee6I~((FM`I%NCL+C+g5X;y~-iE+ZUohLinz&|lX*iCc^_ z_8!}Y`UUEdM;cS{lxJ_qoY@=r{N!LfH0mw+>Tp&P_A?mwjOa+yY;JK@yeEEOFr0>7 zc*)J!IRp=N4xk&>rE)d{{-Azy;nBH?VoC8RFI0Iq0Um+0! z6%$IOHvP-0_q=LOq10hx^lpd+8F1i8{SrJ&o>I zepZa1wE+nH8C1(zoiogDCUW%%x__}g*U-O;+^CA7udUxmF3dBs5u`Tp7(po zD{m&zZo`fFqL(Ec*&R!@+OFW=d96bC%OmLN?#uan&2wm+Z!jHkd^kVd=sjBV*q<7C zrpbT#s^P)NkKX>%=D|=s^4V{|xo!6T+fV)W#$_EMy3OuhThhbApUoc3UDpmA#aI_-QfCo8TdbKls(`T{-+ zeoL#&J5(juE?*+C;!=vFd#NJzCoyK}jzc)Nuds;)1Y?Q}o9hA`# zwGYLyN-yrxCmHRt-CA7qGhOm;3w++y8d>?Oa_&#kK zu~B1;#IjaKhuj`s`S?v|PJ6qIHdZB8&iWL}z4MpRZh?uFmj-5VP7X49v0zB0XMGO0 z19V>$Q_=2b4!6M@o(|p3lj#GE&cjUF3_gU0 zP4O-5Al_Iq$rV1sNwfI*oO@;b9zXg%ScC2lIxBH`F_UVE8%Wmrl?=9rp4mOIw0P;T zlE+ZAH`+C)Db$yAs7}8u0y~cXhY91Mu0d z$9T~h39U7;!uh>c@mHZf=PdKkm%{<_ZX;c(heuD`tJ`co2WrBf>4)C$>?3xAI=q%< zaqW@2cvG$)4PBstzZoXUo1V|4(GCqLOBPkha!=<%IXxQ}G0Qja+F>r@%V+UK$amq9 zyJ&}Eq@<)el*afzN99A55|(4973#>&BSX@04?NE7p@S@I^0?gkAgXWt8Qm*d!Rfoq zq4*d zjrj4lMq(d5m5!N{hTcj=^zvMHI@NhAO1Ak&ysMXtc4(W=%?#QhwmJ^KOEuPTmgBZn zCc*Dsh4m*nJ>}2JK@()O@5Qa$t)HQl(;ma`B1=Tvy6)+f!ElY5&XAUWzB53c1n&i9 zar5Q*W7^9{Qn)|Q58+mho?S^A;L-FEU*!7At`5Os8Rb{z@Gbf_@)RxbbGw*#wVNSV zzrtV48e$;6ys>O=q$+0w4yw zU!cC-dT~vzq4Y+-m*`UH7s+<@ZnU!A4lkTSiFfTq68&&Gj<~swv=jFce;$~Gb4IuD z=NIo1ch5+|dzRMm+2yM%SHcz@$;wQA$l70(LtJFIa8VXtc5FSX3EmKW&;E@|cBOHk z45zHx!0Q;dmp`I1eD2O*{_92?`C9n9jlIhtNx{C{iZ5w0++|HP=kn=L<-6}PyrRxt za^rN6d21d{>J=3{1-!GG! zHR1G+&(6w$YF9|RKH-$)nRA}SHAHkdjP^)L<&7s+ld(I)>4%nYafA%cWl2Anst(`+3`)U(z>U`>1SAmX|g;eZ(C8Bqz zKW>}m$A`3BCr7)@!AquA^CI)}Bz$fJPI;Tc8~m;zZTp1d%>8}%{S}vq>#cD7VO^}m z!>5{@+Zm2Kr#DHiL93g_k}&K%Wd~RCD1p9MZH$J+C@SM0bfX*FI^y|>*(mGNMY4Ed z7;Zo169>CX*b}P2g>Uv+pO9q|-kSbH%;Nv+-~Zz&Sqrdd{@K@u|I0u4GVza^75wo3 z{gmvO8NtzEA-2PV2LJC*%38wroN70MS1a?=&82#SYNUN1$1BA*3mos3UX|AGUMGy- z1O4jSNM+^0V~$qOo6$#v@q2#?6w_mN3ge;$@2MpIo-nRRdQSC3=Y{dCMelLz_?+d>aqIYi6D5vq zReltrLdQ^*pXZ;uO82VPRfg$EkEzx@cE?p}rHV5~JW6^|73cQH@zT~Dr74lp*1P~6 zM9S*G;%^_aTF_Zda+5bmONTCyvN}xbohoe^H(#jL3)w2E{n%Z?_>sh9Y0=W{!uZqk zzS873<-)lA&dJhI8YhKu`@=fYx5ihc_rXs`w{}wXxmCh=?TImtC#~)Yp%&22DQXINhgKI<;tna1Ag$qQYHiB{#=`pg)!x zDEoICuV8xbXQvd&H{^nT(f<>*aBEaB`{~m^;Z|M!`6S??RF0r`G@LGV`&TaL!>hYUUC-Q*&Hx*) zB@-NN%^nH*uJ{RxK`Q;ibseSE<2 z{n2{qt8W=X9hkl$+e2Bsz9VM(BzQ`D<82QG)6cIjSI85Tf?l@y3(cF+Bi?RTHi3~EAF=pdI)%r@aM@|Z+Ynq-^ zG}NCG^g8vA^xwD71U+8!BW~3jO;0+u+T5(xmv&LjyD*l_8AptoJ& zs(7N(kA`$s)~jq9J_INuRC9B6)+$e_e8xIvD)*??+Mf`s9Oz!;n02>V>OU@3$<7PY z_dj=0+MSnSrY~LBMftgLfP(2yeibVWXqw{C%GSMf7Mt1=DpezM!Mc zH!Bu`UUvBfma6nRivq`1o1L24(o)r23v~ynnabx0&p>JGy4j8kh5Lf}+!Vh^>NR+_ zl7-{Woz{1Fou28mQz%SwXf5b-FOOB2ZyTn# zlxE;`b_G%tKmSR4hFc2uXLl~7dVB4i{C~7poG#fd=vng7ihccFQ22#Ku=%lO6{Qy@ zI=O%Brr7ywt)R2D9`4AaElYx(CP?%Y0r~}kp8UaGQCU?)M>kG%3ccc|n3+atY%#mu4|PJL=L9jU5rg}Ut=%T%=*Rx{SoSXHaERmkzMs#bk| zwRfyg)n_^x?YKi#AA?Wb95<N@S(&FxTMpXx^YkrRNRCVa%-rMnuD);Fo zwvI|wzIyK$JI1NiU7gJnciBT|Dr)Ky|q67MS!?3?Gi+sTJ);jzbiGk^@ zxihqe*7`(&-dYECos4~At2h|__d1Du-&T|DQ$HC8k`1qk)lL<%Wp@B2MSt;}tWi{+?42vQfC{#R=D;uR)fgWZN#M zYCxR{o4Y}A9Q4z0j*Ry27j$+Wvm;k1hNWZ*=ViPqHg+yr<6-r0jfd4dTNMwhbEYZ= zR@RXV7Oi zo5|HmE!t<>F#5)94@vPZA+aNa>ALfI&7uea^1bz;JpSqjP z=nAac57vEVwg;ubx^b{>Olc>~L7X2T&drMn+7EG#ggC2Dnc%sQV?E^9YxNBzhP-w` zUOvbQ*DLyx*O2dw(g$cF)FcUNV${P5J3kHOtiMTUFa27iOnD$FUNDEATcVGHv$9dw zHJHBqbP_cVLdee}oa%esLpS_1@TOykjtyCfaF-o&p3{kqdc?p=-i%^E zXjINkDDmcI?Qo-2hi{O~`*o;CRS?bTGlksRTaPYOkEFrtb!brCZPdNVkeaL8Q2!2h zP}cOjqVI_TR$&z^o4bpe~}U;}e;Uzj@q=ANw{ zi6g-0B=9+Nha0{C>u&wKE?x`k-h*{%Mlk+TzL%T-su9iBaKW(}H;~q&X4G|lXZ!&g z$!BkRkLFq(LeHGNaKOY@C?vI(o0S`akNkOxVpD7Rsh~dxJ<943IR`dZ!A5U>XZjxI z9)!7J8ZLAt`26^=8Obw(={Z;{5!RY={1@reeK~ow&kIlar9op(sgd&Lsd#kK3*sj~ zPF4)^z((r`ng70yScZAx_^m5QZS7}rBitKnjz7a!M{3e52~+XMZ%WQ!hbEQIo{E!( zuSD(VeIeR?y|Gs^MNPNr$QV0MJZkC-bf~C=Y+dMqZ*agMv2JX zb-wt`cGz9)WWpUX3BV6S9-}>(bI{(Wf%u1LA3C@43^JS;i1Y4C(3>A0Q2#0ZSk@B5 zISpz9?+??k-kCUlu5KG_b$S|}L?z@^&IdFh${%;Wv6pz1oIyF`19A4T$0Y1^7&=}a zhy#YJ(N50h+?g}}_>#2^dEl~_4~t!j|G4!g6;ofyXJ1dio6Zj)vq${mE$1%5sa4u! z@jfGRa{m(S^`n?ycGH~1RW8LA9Y4sWzs$*iEeSYo)>FyEiRR?k?gYF`c7%&AH6!h= zEX5rUc0|6sA*tQD1lQlNLEbyR^G)NH;4^81(T4$h`S0#aapyF+mZCq&SHTX{>mlut z?dl9k%&tUi>(;<^?VZRCZb`(aU*vJf_Zs*7Vj}Ld-kYQF{R*C#hy!kqp^lV@^6 zO_%WtVD8D_4DPZ1Sbj_=8E*KR!=MQ0uv^sYW&`PE?|~C%mJ=?zdnxP^1(5h%{A_%hG|~t>%Ka37 z^}a5xHy(>E|4Ae5>ju(62PF8;(f$1D>d;cyC5qW@(Pq~?@*{8oUb(FwpDOA_JH?H| zd(2b$+MCl#VV5XoyG1u#>_;BPCE)fmmq^UM_?E&hQOtIWcAuHWpMdjFG}D3`xLku8 zZuG;o^`&xihX#@Xe|qm>eo)-_eqt%?62)w{=!MOpe18WSw(1qYeO_Q!3cEz{Y1l1V zxiXKp{F8_$MpLda;gDpP-G^{NVGHBnYp!e~Wew`%bbe1F&p=Ef=ZLOnx8mf*n8G(e>%I z=$DfZzP|k^@yDmpTd0*E)XMJ2K?@Pue~mnKONbCdc2s43kwd4 zM{Nn^Snhow_j4=rIF|2N$oHi3F6s;U=FKmWJji{H-a)<>;+JqK3Jr7sa{K~0_A9hN z(@g#GhUZ_<*RfxbX+$74J6p}2{8ft<*m~mkB}#O4g>gmhr8KT36u#ll{w99)EtBgx zMMm-b=MFzilDOPuGTLPgsc=o1#3>78wEqKrsw11n>5q4#cRE_rpM6YFldm0hhi_~h zw#HSA8|5Qmy1h{_fX%u~-aM1hz@b`VT;C{P#db1yoD%OedMEe3C!=Zejm38o+w<*V zH{_ln>0$%DI6f72J!-GElhhPN@(b%^^mNlx@w{2u{F!dxfA4wm+x3OKjy#F3Onog5 zx>v<_yO=~hYj;SvOK14;onVK+f)vT;F9m$ntsHq%OD2C3?iVwSuf>0UWb%K!Ww^}U zsN&uJ>HIXfwo*1n%AHz5`Bj;4oxMt;A3oHHA4SRetc~WhuX!;4J;E7>TS)0vpF8}# zyB2U?15o_?ZIa%xlpiJlz1)F2Wo<4PU&Jbs0q{x z2g{7bSD{u=6a2FNsn{KA0=2>iQtTwTP%EejZibq8K~11m_;B%g@qMTj)C4CkOp&xe zO`ujd2x=vTTGiajkubi74_VayIj)ZPxFu$Z2Rn>Nfy&Dq%S78gmtOz1WpT`i0Zw zZEDc{qvrh5AFyLbc@|agcIPeDhtrPrmy!JV2)@WAoJ#uEpwl0R@JBC%(WTR`qO|mp zJSPpO10PhQsC$!m*N#IavqDy&sbO(Aw8@u$^|lmc8${x|AN^_eQ9ooBG!n1c98Sl4 zsYdmC_2lc{+n}4BAEC;n!L)p>6!*Av9X&dtPIH!oVJ*jN=*ngv-s^V+etY698amjW zUokEm&o-|?2U~{lm)3{lsShtBqx~az2WdFo4lxv;p2RP{5Qep9Tt(jbBl(%~>D;t8 zXV6$fXpqw#Kp^%lL-m$}@VnRHIKcff`Z#wL>~NT4*W*fWY5dbkPU2`aCy|xcacr0S z0~zb&;<|NFXsdHEc7WIM7Z2jL!C`1y+D0rYn_Y4K+$NknH(W0I7K`@)99HPaCAhBK zpRB1Hi>;Oyk{>nWa8{Qx;{K&Op8n!G*_>m5tCv0^ex0u&_PYA?6~taY$exadfqmPH zQxUVTh}7k>z+dOCJ0IGChz`%L;B0!6K>^WFU9GBMa1gSQaqz;Ie9-(hArnwNVNJk+^}jAnHsho%T9T5 z`5zAB<{~rhOl<-F-m@5$jxWJsO+~2Vf)jZCzkTs>cA| z!|S)iwO8Ymy&`e*7bDVQI11OvGD!bmxKSgHlSAU0h)MITh3El{zv{e(V|I1BPxJLK zFK9~yISu}fh3^;g@2h*1)DIBj?;0D4$GU~s!%Bzr9J~=9Z8^y4eb|c=LQWuqqI^8w z%>s7^xzIEMcY*P=a~rWC*omaMcpS`Yf3^VEf}f%(oAJHZX{d2eju5X*z7m)1-o+gr z8;YaSPVnXF5`3-FlT00|hx-Jlkn!8^ASTy7S&iyoyx{ahj@fm|=+4){y!l0Dq#pda zX~hsnIBx-(tH`85!|{=8o@BJ{9DG}`i+?d71qY;j=d#9S;Su?AbYQ?9{0@G3%>{Y) z$aK6F#yeN1;HO~MeaQ}tVBR+AUhD#X&W>7#=ikUeTNiE?;_X(v1V_QvYpx`Bet-PQbiRCn%`!aVfhD?Mn2z;dok8DAx8Psez414YUtPTMT^Jwp zU>Tkdc3o%&?g#VUUEYfSI1Iw^lh)w18ab#^BSVPyGq(sk{@V$4xa@^RZQ~u%h7HBV zIaTn1q%&6RG$Na7A0j3nZ{3dA_}QCQNTeI@u*^ilxxl=>O<{Z*_mf-td-Tw->YVQ?OgREg5UW zy!I8V@mlcnzF{iPFgc5kJP8!yU1mE0qn;blOB)BA8$A*IJF^e2tIvhlv!8I| z(M!an!LU<^joa*7hYG>&BR2`LdE?`IqD=57jcJ3}`=Vm7Hfq^qh_$VUpkDezaq|8+ zlrh!?w>K?7=c9bE8hL`;e1fpXUL8CE z5d6Zf3xJh8hIbAyz^g&B*AuT~wK*cIf>>*hFS-7);SuNgLakS+YY_vYpJN}~a0 z(tn{jR)#GX#&ep+z?_gWZJU< z_-9@zX&CE(vyw-UF!&I9(YKUb%D;+OKI-?cAeM)(KcM+KxeW}-Kq6uTUMwXnxgXO`pS-@f?qxd}KhJpeb?>ESmY zIo$ZM3pUIWV@2u&9J*jOe!KQCD%Oj_@oVmIx`-ZZf*c(((24OLF%0tjZKt;$TF*| zh^^DOV2>d8SL7n*zeE3hi247}CkHXV(W7@DwvN}T4T$+|FjfLVO$&JUwj~j z3)BHfN8tbe2ti!|y+=>L31Xa~1TpL$#u-|WAz=70-s698gBV^=PXX13@&Ah)WDICQ ztl_$uz|BFjcIu2X%peQENMXFM&`iCb!21J^32S=KI72fT2s_CbXFJN&0msK0xEe?` z0o6whs$c`e5Pujl(jXv)|Dy@{+XAr`_Y5UzFc8DNVF*G)fQAZO2c(XGlcNI&NyC6x zb9-GtNE!~r@Nv386-EFtJQO|1e<0)#j1K@g05WGBS}4K6P=~Cc z3h==ikaZZh0cj&35!pcgqk$L>(ICiw3=l&lvW5J|0=Wo$2*@DtKj2L>78xTV@vV;650WrKFhM(jPG+E$ckYWKF zNDTRV05NPA2~@!oh~fWmkUv8Mnj&xv5(7pM8@Mf}9A5M2x$EbQAE27^>4upjiTU2k9=Lw75eRW&_O;xCclN zz%OE)HH`NZ5RDiTR5(zCz^8zmA|MT@2s{*IC}1fuJ`?0jz&m1m7RXtEZ^Za)kh2AxrP+{w5)i{% zVz^E+pk#rEgA4~uB*r5^Mu?URd@jhj0v-~>d|Ck%DR5tqk$|AI3iy1G^8s0j@hFf{ zfT+ay0+0&;rHS!qkkNqN#P~vx3jwi-@kJmP3HVJ6F=`!9n!sa0#sYp2<8dJ406B^A zc#!dcF~s;{kc$CDiSZ>MmjDhC<4Zv<1zaV@6F?>a))3=~AQJ(Di18$lNdo>7L!R0K zv{m5AAd>-ii1B40mjPB03JQZZBfZ~)2`R@f{m`>{;|9wCV(J2k`-w(v_oz_GC zxj+X5z5(P0z(`^|17rr^AThoXCt4V)oW zG2ErSz!_3iG0=YC45_LZ=m78o5P31sA>a(Dsu(B_I76x`1}Xqv08teKF^sArh~zI) z6~n383FuBGfcEr%QL0J-2kNANSyc)MRi%JT#rR2(Cjs55Ou%{ii}A!b!+9bi3S1#l zicSNa5%^hLc3x0Uua^Onv zEEoKqgP9k=V->7$2DI}aFF^dqp|yN9@EYJX(0cv~@T>6p6v!Ij*MMJxk*mP3!zyxU zoPGoNP2e|0x8S%bx(%zG7S+OWT672a9Z?+|cSLt#m5ZW#a9o7e?2c#y4eT}H&;spWQCnzQ-%jlV#MKsB+-t+p4%*kZ zhqm?|;m`(6P3<@M_#;vW?H`!00f#1N9bmo|934SxfNJPK)BC@T?w<+`?se4ap)Sv% zaXo8f&$O39Yx~a7B%U>U|J&OB4P^IT)yTdHD)0eX(07Ms^B*D8&!WFg>Y4UY)x7>Q zczFYD?e(DL{Y&uDBw~&4yFwHB_b`JsvhSw$9;(qG>IBjBfTs69;1z3X-&2j%<%g=B zJ*&$vXhz=)8qog{X+UjQ3wsmDO$)L!g~JTA52AKz=5TZuG;Os$aF|1dv>|H?IQoF5 z4)c417h}*gVZI3*rl56%`DSoffYu3WQv&zzF^EbBs&NAD-x8>pF4X2E+_NX3Vx1wQ za=714LdEnTBMSEzflT!wqjPYVo`p;eAd-u4m0yBt7^xYmU52}~3bHnYpIm~`%TTc{ zFq^>4a;SD!n0*#zQmA$}m{A4R=b+j>AR>kwR}Gcv39s0_c?Bxd3tq8%^D0!PH@sr^ z<8{c+1hQlI;BAo!WMrzw?z_7pGl<4q?LORT7vZd#Lp2`4J$GNkGz&F$4?Yz2ftkJ4 ku7j6bB4e0oqIMg+)QL>N!c6ThczGbQP!qu?@xTB64?u+VwEzGB literal 0 HcmV?d00001 diff --git a/tests/formats/nif/files/skyrim_cookiechip.nif b/tests/formats/nif/files/skyrim_cookiechip.nif new file mode 100644 index 0000000000000000000000000000000000000000..c34e519e4b4a711f2f0b36e36dbba1f8c4c46c8c GIT binary patch literal 25282 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 literal 0 HcmV?d00001 diff --git a/tests/formats/nif/files/skyrimse_cookiechip.nif b/tests/formats/nif/files/skyrimse_cookiechip.nif new file mode 100644 index 0000000000000000000000000000000000000000..f8fa1b9d82bb314df824fe886967350ccb22c5da GIT binary patch literal 15605 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 +%==F- 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

`FrLqj#b#k_Wus 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

E}eI;YieP$-9?NqSnGc)vu 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 z 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≧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

~$#?m&BjzQ;k|>G4VRi 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

Z~H2 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 z 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 z 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 VzA{go^nnbg$HP%%DBv@h`ajY!bx!~Q literal 0 HcmV?d00001 diff --git a/tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze1Leaf_n.dds b/tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze1Leaf_n.dds new file mode 100644 index 0000000000000000000000000000000000000000..461164ed33ef8a2883e563891bf908a9a2f75fec GIT binary patch literal 174904 zcmb5We~=sJc_!Fu9?u?hVYyef{7cd_Yi*bcCLk)CjA+Z^wAYfiYHjOEiPY1`5bO`( zjJ9OX=oTTs1nTZVgJ>vQB*3I9Gb7sOa2lb=3fK^cO{DhF6bH>v@gIuLxzw&9@az$~ zZ{k#qFlNL`4o4W`;JfEz_Wrv2=TJpK81#?t$NN6-^FHs}c;=bs_Zu9?ed1q-IF85v zuz&yZ9}a){|Ml9BqyGo|dnWP1Z~T9q_{o3$_5atO&Fpwa^_n44X%+kUcCBoef_sg) zXZX59CmMFi*Q0zv^$btv97py`o>g$1J}ujZR;<@W!_Q8(1_jfyvwXcTlZsguOl4q} zOntu_WEu5>|4p)>)ex}nrxX-gBBNS@Nra^Qn*Li|* zrFdt(qemc4pspzKwUC>&Q*7EM=8Jx+h{>$xu$keXaV)6~tvRo5Ra2i^kZm z^<`S#eL0PJk>7jjKgy2d=xd|%H)L5p{6}6fMJY8-iAEHkZ=4dd+~VR%Vyyl?TL<-w zRAPUpmBU4L9<5A0co$1+MVaHO=Hl)v?C<9bqT%2;;}!BUhwGVVkDOwEUp?jhG1kkG zUR`}~95rq{co*|G9(@0WoM*A~Jbm*OnJWaFr?5V(S-MG&vgLX=SarQLWab?8eLN_|{p! z%;xJEElt5^zqF=d9#Qi@AAX6laq8nI3;n+QSYAzzQIm|X*jA#W(8Fh>S2=~4#_6dS zx!r!-ThdRlagdYhpGI(=S^RmP&DU7-tsL(ESdr>H8;AASgYh56XMue#Cr?wHC;q{| ztlR(de&ZF%;PCy-e_uyx7!TIz$x~v9{oS{)o*ehMSUQh&t8$;u(F~iXx%jnzSy%n@ zX?9&{<;H0?4tw!~e_7}MjCIGv#IsYye!W^q(aJaufRzq+iDA3RjT;98#;5w$8~%8A@wV?EI5?p7pY#L zZP_gO)VyUIkHsxr^)L=f2SQ0HtC?}PDOUZFDu`C(H>~WrDW@VBOyb85Kp&s!o zo*oQ3ZLvfQ+U-`^ID+j?$IQ}<+~ezZ8SBCC_9cvmG~;c_kaUi=9dii?pan&-WE(OR|_!l2v6XN#CT?*Wf$oZ$LPWImlB zUE44-ZbRVx*Ck_5{lj-f92X9EM!1i@Ip7b{B{H}7z@c+E+xWwLEhOQ(9M^0}6|t01 zKR!asVrgaFgFX1VLWcKki|WIRAGO(fzLcBMs3k6}ue+{zNi^=@L^3;G@w#7Fh`+SRL66pZv z`MT^mQFi{$#r@loA(m39)bFzUgz6qW+Q9y{Bf`{WKT`|__a(#2a9k}fvUltQT{0_b zE_c^1(M-X~!=ZhBFa-W!zNQljQOjRYMzxw*dhDq|B9UNmKv4sJ>J8I4c5LWvMjZ zm|QW-_Cm9hNZUBiZ3Zb)^5zHKPM=y*Hm@eCCj8l}Iw#rnx&0pE8s0Vaq-cn9zx7*> zeonn4W^WxkmZp|C7Y;W*!g#Hb+~8r&I^R@PsibP0Lmagz88WHXyTC!9b^$2hDk-c7eCByV`nuhm=GE@UZJ+ePf=}G|N;ExvuM% zO=|^#z6D&6r>F1xh`(MdpSJO?-5Q&;aeN;JC6(xWE}`1&db?MID$pS#6bGtjd0DDC zSQldD0;iAhTP_WH9`LWz9bi9viz-B*dUv*Z_wW9ThwG{d74!Ej)!{5squEOjB-m+pT|l(Lj;RCQUxIxf+v-UMoo&YV3C#YQ zao_;sDV~D;_4M4xjoI-3D&GJe!mmMd;5D;1Q^!s9(&E#RNO;UElM2sY!TyO0=~QpW zTM`$n^64;+*ZG3h_He#T3&3CaZ7WtMSid%n3Ktq=o_cX%u|f4>03L+>E(E4YGdBEu z-4n~LS=XI>_~@HJI4zx`mb5S&&Lr6RyB~W|dS0BHdg3#m8NDuLlgVTb-~O9z06_Qr z{qJ+!M0n~AvGVVpetJu)_}Tm*DA>lv(Q}*Wn>2Gl=J+w!UdDdwg#nx2cCdH{R%Fzs zkMkz3PpdU5;eAx=QOa;&MjMKTsc+|ULuwIAaH-?L-$*YADD3g{*@h=&F@D-PXTy(( zLb=hKWI;_Na&~ztSroz%$;f9$UJTbqT;_*e8~7}f5C5LvJ#4Z0`+8C_O&j~F47nm3 zS1dMCB;d@3>l8eTEc{F>7U+4ZpO~H1?W~m12o(t8Poqx}Z^X<{H4A=ubcUZ$rl~b5 zas?T9L@bAH;J&^di%b;AD$S&Gd1_|8`A&z1%!-}SW=2sD`{g!GMqcX`urJwlC3O?) zj<~b?5kY*Wy;RPGJ@6CtzHbp-8y$Mws}Q~4EIJbIb0}0i#@=sSZMJb=i%@<;0)8#d zBvfYqJyVN%SYK~=an~zjT*6pbtk{;~O-#U!OX;n0gkm40ky`WcUJ$}f3HBL}g#}y> zcs1P-4LTo>N25OMCgjY_;CtPy){+>%e(zch-Q#Kl2@kBwvhm@3%t87Rzxf6HVYVCHtq~^BJvEs z+wH=xOUGXdc;J4v^~AOPCU}XadU1k%Xb6RX0H2%!@+FJTpD6=}uzs{&z9kv0Bic(T zO}x}SGIsjZDR^gz46EREqOl%%^&jl>(pWUfW z_ZJ#c$x0=rVgJS^A+l(!%?1Eis+$?Fy&>33qvy|cI-MKu`R7lZI5vxY$mW6~@WaN8C|!DWG9is}?w7 z+;|o^5ZL-rndiqM))d3k&9p6v15wCqKF3c0`>wK-*DC4}@;M&?b8|&XF!b4z>V~xH~ zfyY9fC{v3B>p^AHYAq_n;dbG-HIB+_XDRlN%0AL+pZyQc~+>J)1<7Ksj6lVIFJFJrI|m*y&S#=4%Y+I$G%Ls z?UB8NI1r@@^CMxbmy=*eT+59S1LHV;9DE|T?D2Jv;YQP?*x&4pL9R!@Uz!eh6XIbIm~G}a<*_jq4=X*#ZBy`q8#nF` z@OP_y2>y=aAR}PiOpAM*V*Sa25IeUi8s03@-?Ug72Vd0?7pG=x2P0$HFWtIH+HC%D zbG|9U@7g17N5uTMwtC1z#q7+C7I;fiMc;8FxUOCuDGaAG{En%qZ>Y~7LSUt3KN}85 zS{Rq{{$MbaFdy%Op~LKh-|?8A>!W)P2fHqDTw#WNro%MGV_Jot(($lQ>3{>iBfnLl zZ(u*;6d92&W!tT5IUo31uTLPpODqqVtoaeab%%<} zs|((2yRB~K!6W~VQ`Qz)_H+mFTV#CB!F*Q7lZWsUSH)7&_=7*hI_cNAf_edQUT#l@ zS2x7U>8*4U{xMra{wgA$b9%kwenx#h`TlwY`)q~dPLQ9?CuyfuxbTi=S*K2&vR@Zr zKPv2sS~sg3o>-FR#>dw-5f3wW)9JLi^vWZhbD#YzDLt|o!Ha5Ya$+LZ-n?!vX~&9t z%q8649Bsm07LGer@SywOTvu~9J!|phW^61*GbB^s&mdpz79B^C$6*JuJgAEBZ>8hL zJlJ_uI_FOT?-X?l@zl1eRR?wp{<1@W+hk#H1bJ9ln!7ihOPj0Uzjv%#!0BwbY|1v) zw}?d1KR>llJ{xPW_1E)V@G^`)N3OB`p+ZyzpE9;~8c_oK2~?$T1DCq5T>~E5y3!UL z75f?u?Naeo(?S*`P-7h9EEGiG?e6Y&AYojzF2J5V%ZpxBeDIfj@k6h{KeF*BHVx({ z`C#h~0S+ncPyz4y6@H+Y$V`;M9ziUTY);z&%9&X~XpW@pcrr+_cq?X$d#?0F#&6^% z?^{!rAS7!N_=6V*uUi)NLSZ;fmpom+^WiaS!CwNkZNqQ1px{vW;aGF~rjLC4;Poz{ zOWoPT?b|JC*#@_*^=$Afz!&FNJge_;j<+mU7R{XIBTn}zz2oa*R=HTG68O+s2Rf1N zWkOGG#Mrv=yxcLt3y=7)>hS96IzrjtouoIfOeD=Mbk9<@JhhtceIV}M{snATn z5e}Q+UmqXWuz#XaFPFz)k5-Ed?XvfqL89;L-u&vLKmDnRJmXON;=o?==Qjt#A<-%F zAjH9nKdYbkyW5z*@mK%c?TQu82y$AFzOE*B&W86+Ekd6Iu2O4!u}y-4x711&$HEa4 z`_Pw1HMahZVq-&kT3RWip{E6z`!uWhw#xJD)S>uL1e5qPMV9p-vG#XizP031iW-*5^h)<^Mp;05?@Pz9b5Jv35B6857_t3?TT z)u~_EL!sZ?M}U)UQ47W0<#bG=kLo&V16w-C1nM~nAwO(U-#uTx9awyOmC67o?Eb~<-^a2q(? zIs*GliI=|r$ioj$PMXH&f5H5p7`xBBrY6!)y*K&}^o+*F+gQ(}F(AMrEpQ&hg;dXL zQr&pgg)ZP{7N1345E(yf>U@zX1nZj&Vv{E9v*zsXN;q$FvR1Imwh;$m#rjxYjZ@&C zMzbU5@Hv}I6*%AWjh^XnUBvfvLTMB1$F9ITCf@r!?m8`-3xW_^k+43kQ9I;g-4%7< zc-W6{TN$zUY7~4E{s0~h`}HzY@i89$hqy1d?TVRcyTTq)G4*01xsH7XFP-2_>}!6+ zbNTa9ws3~oIrNzIQH>%mTV1`;LOjuL{BSbN?pr7xS8!b`Xt`iv;2V4BJ&Ey*Efc&|QTU<{y`|l*)@;~uCu9<7 z*_%gxVcJXHtS~ka~;< z{0{!*DMS|+kiR4Dcoxt%&FrA-gkfLMvq*|uaiu8z@=WjzT%as1)XAsAbt}?nPBl;KH1#Zg0a*vZuq128G>_(Qt_S8cI77qliad z+{NFi{=fbB)ys(QFW~gO5_E>E@%0;YNyT!3 zv3PH1UQj$L!u}e~Dy5dM*S2e>ueXk*(z$_+^+I~J$6E!@SBbLt%#&YQed?)Sf8^(W z7II|2TYs$HZ+B~J=V=*b5~f>blez7hSlWFW?w=YwVwazL?zxoqa}oOD%>rE-mo-h> zZvFLzZ-!%y=J*@XiE$q6EmPapbXbXAaPG+j>vP;GB5yu_*nK~lMqT4sj@xrqT(--7 zq9#o6r4ZLu!CQ^##B(RG>dldrZ4tu{kLVgE3 zoVgi{*m#j}r}vpEO|bh)CYVjaZnKc&-}jrcYZ+i-1shJJ{BlZ-`jA2@02>0~HQ z@ZNSqj#TmIZ>8^EhaYERV|+nE9Q*Yz9RlBlzQf`o@~?eiwm)9E@9-Y%*w`Kt&BMO7 zsSsh~?CdY@!oNya9WCbrZ!R`th@(F8a6urjQ>tM;xF6@_R6C>2wL60<$=dTmowlWl zm_0O!NW^seI@8yn*AHo51dn_C+5o)LpG_S}9&tR>8Dc{@Ecqfj!;b zT9nDM4P7sWt-7WqELWl{cP;$_52Y9^5|vG2jK(;?u~@uE&B?B=r6O?dFL zy6Yh>_$9%WO}`}RZI46VZf2k8khHie87EGhm?gjq*V_)5Umd#Ff7z}~C7bXgQgfr9^HhV;`)}Xn_1(GSaEL*QAoVaAJ6SU{+cuxT>m3rMy-hwGkDG z6^(_PB6QT^%>=O#w^isbHs)C+?OmJk&OJTwK(oX*=&1WTS%AMX9{R#-tDBo^m#8J1 z8uBdULB%HY6w%nJZ}bV~&!aBG;!B~&@=Ng9GtL9uEpotXVSO!rVwjM!BvWAqt{!jyfD!ie}k5_bUG(uypD5~BDy~C|M5T8 zzT`$?4gJ0Rt2_cv{&mq%bK9_k?%biN&9t=SWgT8{MYg}aoMOYi_75q)3io& z$BW>f`u%UZok4)S?nS|S{j?9ADY*6RJ8PGqAL++VnDEb|i;Wn8e{s&v9S_%Wc)9Jv zp5ifXBmw{2kJKsAqK3mqWfAr(tHBklr_S?v!q&N?xMLFbcY3soEU*LzLmFQ(B}@>L)2p}5>L5wEs*;=S`}U`MaZ)6@Q7&9y@j{kf1X@ zw8y$A;rqL)7s6RO(z+z<33<(K1G=?78LLwd^NWtak8xa}vAU&X(N3sHP_Gksu7kRz zUK`XlD0C>q?Vbod zXWArz>r3b(xX7E(4^XFU;QCg3rwYDA^_x9zK(WqgtrxY+p0Ov^Cd}UIeFgcMKVRJH zK?fD*Ko6R&H@qX|_l{|PWqiJ;w8MS{^WSx@)iiH!#j>A=EK3zv2$;TDP-YhXx*7SBDRI6~7D|1K;xJr+;`L zV#9x8Tx~Q3e>X{Ia?wS;Yo&7DgLr=r`GK!rZcHFfQs`fShI#3=5klk?tU&nU=Sp^>~3WJ*z!}T_Nv_7w1jrR+_pF-as zewi#^cB(b_^L!zlh>B;&;Xma-Tx9s-2?X(oLtbU#I{n6k!{%$Is_Q=bKTPodQH5%K zER<;33!ty4!%SK6So12$tj*QWG!+x`mXG#OXTbcRa}vbmV1V^Tyz7TTyB_9qE9_D> z@0nczXzA;*>Hv5}pFfBf{+_8q*A=lZDY9~i=}4zfpZ*gcbvrdc9=Bwc+92*GuE+EX z3I2Wdizpq!FKIUZwFhnuyWyrlUFP6OW&AELigW_o%Aft~Gx(knQgAz`0Fhy%oOcejy8nk92s z1urGpSd6L!ylU^h&?hPKFJk(WM_q3|yr&RMHIQd3*oW-+JXg)Bl+~e}X5VCSW9UFH zGIb{!kC+v)5^iooZ-d`=M}&g^MqBr9V!r5iKwNwhXnB#QLjOk@S0f? z7e2gF3~b;XJ0E%Kd^3LF%TyoF@Q$WRm6pau0$=g0i&e+PeP?ff?PbhS*Mq^`xB9h%ZaOepWe!_1kGX&@Ff{5d~Sq=FM z_|0Oxvt1BNp25}o6BuviR)O(nU;k)};StTGj(y`DlBM&mi@KcdXFX*YGIcMD@&)kQ z*Y&%jbj@m>$KvWaJfCKLdJD40w>ma^ZO2;)D&yL>!GeCUiG@fdCjx=sb6G+Q%lYkG3a3f+vR}OB@FG7Dl z!um6&{+iBy_~C~b7u8oLn_Ck2-2Op+XqWA|2n2*y(aerGzCWtuPe2#u^FV&MKjML8 zIJI1X!heuQ3`I6C?mGAl)%V3GCw=gQ>13|wVc&$N0-odRuV}$G#d-G!Gbd;UdZRNV zi|DTkjqQz?I6uU9sE9ayY<}k>6XV%)k%Fh0&?9yl~h6JT*SSicd0ALoytE|SVG zOg*pCSj=A@FUyqWL$)sG2iM0h*_j6NeC)qo*dE-+_;l(ucSO{4TD=j09q9jX(mmkm zt?wLcjdE&H{f<)>=^3!_TOAjoy^zfZwMna9bU0 zSD}+;;r^buiurGAOsAb+kL(Rg(1Q}mBr)}=vXZocOA{0Qwg~&`E6#oo{wVhaCy)A8I`t0v zBA}C^g_N}C#&B4%48%aE=pjnA;+$aPPlO}`c;2El{4~Cp^h|SVfZ2RE-%P2 zzbU{mP1y4U>wAKKVSjfetQV6DCD_}_1hZq6#1&5Pv2G6ZdJ;0Qs9~RTD!V*Vp+*y~gZ67We8l#$APw4|_FuYSw@wr78-Q zxV~|w;kL|@R0`UzEM`dwvgZ|wdeIZF4IB~i9Q6p`foM%iQSbyCc}PxUyhv-s1sl8| zsn9L+e0QNNOtuMdk8THKv?^7Ol8f8eU*qw?E0z!37Esuy=>JLwtbWx>Mh?BU*;*Bs z7Z-a2W+xw^&yxTjkPWr-;4{<7L;~a0J;&iB;8eWXj7ym3=nNN_h__84=9%y}C0D@s zY%AK8Wg9pEKOMkc77iS2An^zwm*%!b4|TON@q{M%W%y?eKx>&bW_U%H|*Kk zK+CTc?fHH^KAHc4xIprQD%GEwmegEu^qmX&LLGfJrOu~7yAz-LRc!Q668{G-eU-ZE8mt`g=@T_A^M^Zeq6cxuN4sU9x8*F+mW)+mp$k z{t)&D{#*pUdGq>OHj(oo;)VCB)^v7dmLezw0RDQ1JISbX$siwTt=&)=_sSazj$; z>Zx2CxI(S5u^r--z#pf*F@}dR^y|VOEO+I4fgPW7oDsqIF9(AMx&>sBHUWP1&0{hVJ1&5? zm-`e16!9&mqW%G#N8Vib;s22pS$!~$b*>;`eoi&l^1xr6P)jjkU&BWHz62e^d7RV4 z(g-?N0{+(3f?*pxi0JYn_$#i{>jlV^VnIn3J*+Gx#con!{ftKBd zGw^{Q=y#DN_)86XEY(qWuk~bmel&x8VJPaO=RGx@y5LMz3OkFJ886!AV~@99_e!!l z8W8wDiwj@*r8f(A2Twcv4BRvaUYKq7n}WD1>i1i5R#&;SKLmUzk$J9Ah0fO1P%mnm zEZ$L!L+{R!Tu@VA_UE-!abn|TXf(F^?siYrY=z{mm9&~unx3Wg)09-BB$lX z-=s->r;Prj$EKPHs5b0OR(4KF(0hg0pI>GBb4%EO&ZM4PPl9KkMLZ9PYy*dLiVS@8 zGSZXR1a`*PDfUw`n(GHYNx=j2 z9W_aTC*7aj9^!L0ar^Gjg#8!t=wO8277mB^66k;q3J((c#wH_|FC%X=?#1I9_`4o0 zHC-JA6wWM8`bXU93roXL&|n zhzFFuauG9QZxe+z{uCzl!)(7{cGtC$_vE2OcbRMnND|yxIDd*ce%sN|8wa zAHZ{r8SNWI3VYpZ$iNfCIftuB$jegcySE9}DZGadA-ZNbM^y>@AN5vZBi~5Q=(|`y zt61yE9-hzfBJ1E&$X7aXqsPg z+VUB1^JI*#`+|F}dwcD5Qc~5Rh^y$Ty0Zs;vJ2722gHMp`}p+}@7g5^@f5gPS$kef zY`&(xWm`v&%p^SQGup)ijKflp2l*Js^q_dg2cL=y$V)Kp>Ohe_>>|JQ{RG4r!3y+{tnuI_vGKARx+u=PoV2v8?95zpI1BQ z)_u&M)r+Q9#0p1=>_Zo0=V2Z6!bOvyntPn}8?K!oa~v0UyG75~&ZSenm4CTVciW3U zuoohec#dZE=nwjBTD$QM?gPK?e2T@lv9YiGf-5p+L(=pAAoT;77!`U*k>@ z@Y*0Rx0!!0E`E2*2Y=w3N>s#pG`XtG)_`abBI62pUngSdlu$;TU1CzZss?3h{9L*<>Kxa{lDM-wLQ zqvSd0&#XR=jzIXI5bfUf@&0&=m>$00=7hG0c)-<3i}6%$C_7%+pYL`zH*Lnx7snzt z?Bqjvg!4VrLE|f8iCEk~<4mke|NVg}!LHPEk&pyEXo!XocHaW)qq9uCs(A2!Qzz|a z$S;#pkTXx(*q4}4JZ8iHVy=SYB_nq+JV7cXGoY>@0Vj`{-BphrpQ3RO^)$Yq$OLh_ z8tnGRncv}g4HN!)8iB;a`YH5`L*cil$M!Wb&ur_H2R$F-5Tc_Q8|&U~ATS#K`5z>n ztAbZN|A|k0;vkz>Ti)5@;d*t}*p57g_UoJtTtk&sHQ~3M)4xnGKTTg~ImYbc*4EHv z$IFwz4;;UXeiOeuo=lxMwq=7qnQBPza9>jAYX15B3#fZIi1(#(qt5!gvbnsr4SUKG zGtLu>8c?szZgFan!vkzyX=*+au2ya2JGCe^v99_c*KX(0AD{+wM0HwDrK*mE{ga6! zh`?L;d6U^ewF>>6@lNzR6XS#5QPrt~>V>spL>Q{0i;rD!`@`VKpIv(-KDn}z+q(Y_ z)Nw-3!>`dATg>Z?1k9IKz|D*S=T{kU)RmdtrB{$dCR)dXZ8(0x#3Sf;%SaqbwfV zz*U$RH-cRcOw_-?kAocY57_BNC;lK_^qMiw1P^S>E%1HhqwQWG8s@_KD0kOG{weQV z^x;QFp*IHJhyJlUcRqx@u>P)F65`zb%^T|?@H{b-c#!8$OzbW)KZ+r-W%Er8%fJh< zbj7JfB`&sa}gRy|?7Nt!=Y;r*hiJhQ6rI zq+XHWpZA=LsEg3@9{pb2L;hQjuD2=j*WvI4`fX5`j=E(ZJi$?VoQH7}l&d_{#gC%H z3V32&7K)~X_z!rbz^8?;44@ZcoPCzZ;Cw18fyeMFKGhX*{SLu%H^3da-%FX`JIyhUJ#)9w|j5^zZ`I|qI6f2ZE)s~1MkyOFS9 zm-8=5keBb@GD|_R-0JD1>t*3rdZm&$f z{bTy44W27J^<$}|CROOA=mXU#>Uk3CO)=Lr)?Ucv27{j;zW*d~oaoR0=E#q0^^LZA zUM!(4x9lVCscOEezAB;aP37(?bbJ;3Vg8=5i5D>r{c;&EWV4?_yI}hBzkG5c3_@`9 zui0_a(<1y~d;54wd_np2XJ32m{V)9Fk#{hEZtX3^TQ!*!OCI_|I~1sm{9TAq{r*$H zkwAU^t51Zyj`GNRWFMYq7xKtllSXdfW514@=J4nA; zdSddiAAj(4V@#-ze&Ce`A2%AXZ+#~=xnjdk)LIq!74n|lU6*}!Jt~XXuRg|OBaVk5 zC?eh){aT?0ds^7L7k#(bpZj?3M?_w6Hz z$vAVbQ>A)$;e9oYct^9vdh8$p-@ZSEzIy05#UL^C%Az+6>O=2Wf_9R&ET zZP%iRJ9DwghtJvQ|5pdWwh2Gn3D?03%u?Y_BW}b0nxQh*#ncOU-oR#hF&_LCncXMz zCfmPqpdvnlZ#eNu5&9we{&V)S1e}=+k8mF30>`xILZR1)e6RQ_U$&HQOQePF(mz|fpbK+d>>TY{&b@y8c zkLknO@Gu^yE&S+bKR^5si13kH$Sa^jb?2w>xOVcBJjnJH$?C~Re_z&SA&5n z!oCO@awhf>S;l|@r}D>#&JWbJB+5GNBR{m4x7hm>x)18&sMA)R0`eQ^OkAyFFQG0rguYg?t5#vOBu^E?OXH+;4%PCKz~Qy5$wYOz5>UgGvL8)thbAXG*btUjUvz0iGHPh z?Qu^xE7jWcw1oJ@_q*F(Ml?=4QHPX7i}&QA#NuFq=^pk%5`8B&<`v|;n2)@@-zc*D za~^o#BCz|D{f!X#k=3lMS+98Pl)xqY9UBSx8y9Io2&CEF9BdE`B@DFgejs6K6etzH+sAHp! ziF|n2g>LZf9cSCtCG?{^Asf03g+swVE%))*X$pHUhxdjlbQBh^(6>0Z+D)d%&r;OG zptC*LuL1B2@h9qCL;ST?9{%z)#d8896r%i+RNBg^uv4ltzV7RO2|V4AfSY}<5ZJ5c ztkO9Yx4|>VwsQAH@T&W&HuSBv>)brrpqZ6O_#yP~ETj|Dil6J%N*H%CO^CQ2B z_R`peTbtkPBy*`pZW)sW^v!?mzY>F}>R|kWSb-iai@@#b_O|BDfABjD2acRxoI!r> z&it8a;pZJV{Vyo;B6Z*~{-X}7Hug6dhY}j{3S-nMnsbQl*=zZV!+9 z*0o1I``OPv{JCG!rKj=o=b!p!8hOD7H=g>Va4a?C`RbFCY6Y{-JQ}{NIpOlqqx4 zYW`(b9~O|Nh{=f}}ci4Dh>xyRMz8C2(P{+$qN>uoT?g}U<;QDxc z)bX)D{pp-8A#TSeLL(b?%*UZ40Y~C)lf`dqy~S}N;vdQ_?}_MB-qsSThxp%a$Mygp z4Cj-FV-oa?VAScre-=XV_f-PEg7O{uO~BiECy)8+PL1XLKI)(w8>S%|Zd?eB(7!4@ z{P4q5Z-_=Rx%q#Z`2M6*9TBW!Z)XuWCd~$~fG(Q=OBRZNEcU@6T_%Fxr_HBHRa0EL>ebw(c)FSBLEaW`!2cp&r z6u740hhu!;R8-Y?)1v6tXcHg2A;dM&cQUom+;?Ez2k-Fn0mtkck1@8{dKLyF#YWs! z>%t;|f5Q!A5B@2{`#RRe+J%E-{KjD0X|eZuXyl8)YtHE=ee`uiP@rOb;?Ls;uZd;g z4+(e^_<+ahIH@#+=V-et`Big1JXQ=O@S?$VyUq43kA8Uxdc%hwZ>1&RZySWsfM1|Z zKMcP&Zo%;}&pGX-t)30N``hn@LWX1f7RtaY-5-4ZUk!2rc;x5*lhp16kNmgY7jIf) zkEs1TdUvbxUTTQw~js&rBwOa_t%y~ zo-AK@`}&VuI;ehd-M5IE9MBB={TAQ_e!rzQ!n%XkpkF37^#)x!ZQYs|E8XXV;H8)R zrQD|`CnqDhUx<}&d>wr%u#1@2mwn`y!B7ESqTj60%X_mIj&YB-+Ugs=HFoNq9mLZk z)!?{x^yy!HHK9gB_+6ggb_I@`s!Pj4I4(c+mwp-TjqZ(G$fwmrj%GglKY?Eb{-t02 zh6=|Y{@DAsW5{P7`{4&qCsak*{JrG=47}$S8;6f+X;of(qdRlw%HjC6oe$nZ8?&+o z-qr)~iH7m)Gzb$dFFwof2}gYJKhP%R>9*x78fOC!@N*7BX5U*yG`b=FJ6Lc6I}Jwt z4I4a`?-A7ZP_L&Oj2{>pgl!flBkQ9ovzxon#YDyn@c^y}zrDWy`Z=7B-@BqF>?hkn z0?+&|nK$`b1rV853|=h3G!W&%%7V8R~k z5Wkz{5!mg(fnJGsQsf;RXC0-{kdM#(kD$xr^KcXoG2Z&#yYIdWHFLiE{y|=X{(DR7 zsy2AVnc_-EgvWK19`C__?~UrQ@l^`@jYkOlbTGQtkWjCMoD=qS6MQkmF+Z;jcN@~G zGza|utoORF|MH_hzl{6omrsAFQTYA7aJcCkqs(rs(I(&%d|ReA^sg9K1yAua$?169 z#JV(us!ATjCnB@=BHgWHyy%O+++_GihCpRje%uF-WjGiStS#(ArgZ>?ap)g|K`u=& zFWH@ldf1nO({4+!<9|*jW<-WV(UD5oIH(i&!1Z`XB_2N4K1PKKxPs?pz2C8C72yirClNx39O78)Ah$mzQ*@ZsEB+5%YOG zIstnTjid6(F7lSFk{{L{&42KnNX&KDR#?8Isw{r)A0%=g|IL~_xpq78=zELLCQ`So z?vFk{h5D}Yt9R|A0SLkFU(lpU)WK?glx^^JdHlue(++@&>gWF#{G5n9^``L$96!-N z@*Y`&EU1}!7kyC4B;!};3*qha==;Qjd!skS<#|m*znngC6aJoiWbvnv`%>Tgg;YwX zpG#n!^tw}f$=C1yHqs&3*XHjHly=NpI(*Ew<2)-U$xQK10EwK zfA@Y*eiPlOhY(+k+*a?Vml=Na5jsB&Fpuo8n@F?s@w-P!8}r)j zPbWP5J?^#JYfH48&=z;u^{V*c78Cy03?UB#KJ=<%V;-I(%xk%{Z%LIzt%mzhE1gG% zjrvVH*68P7l}aXuP73e=exp6KaUB!!0_%@DO6bA!cnC8LCrWguj^pq=5;jW0It96F z(>M;g7yF$r)JdaU4XBjOk8&yOTDCp`K8bOoUq!`w7@;=Vrs&ri41P8w(EW>rnrZ_l zz;>&+9`Ka96udT(`ubLPRm?JdF1bOM#)>J`oVQo6fH+XyMqUF22FHPqpnr#=Pj^D2 z8Gk`_oM7tZ@wsVP;MKQ&{>9gTzhBt2kLFTA;pp2(594v>LsM@)I)&$Lsvo@jg$FqB z@sG%2f#YNM{|xq!N1y4Ezd%g%cV!>_kEDmb+LG}HGIUSx^|g~IYxfZiXOp=B`Ws1h z@uN_vdkOtXaVP_Ci4_fc{^YyZcKC#=Wc7mBCGUpE)n z^8=szg{R|juDxITsZ;?mO^V=$Xj>gp>_gtX)07sx`LEuaOyCOKd?aQ`DKYciZ&2t=lM?D>z=0~)gr4Y? zXrb08S@huyYL64xuj>~$Hm*_P?p=!cw0FVt5$9ZIq5*ucI_87=wB8DRgmpGEaHl>2 zet2$J@GwpRef$#Y=KUDYbOeh=TWtw=Fnthpy)yI*0na}nuW9ya4OxqR1c^2U{lmAw~TTyAJwN3IyvZpX`O8%aw*(x9+fg-o=f81Eo;B-7Ve=b?|3XZJxHPJ>$T^S24LfrsWW7f9fD z%?KZ7=Lslquz4 zYp>fzu}~cI!B0k`QQj+ek4)irJ6d({_KY9`U5D@e({H0_d zeSp21a~&ke1ooxX1;JdJdKq$HpuR|F)d9y(y-Lx?5aq@%i>nQ1dtie{CRJ5A^l54_ z|DXBvlfQu6mw4)@-nR!JP+sQaf17;&-1-L%DYHwP!Uq?mWz=a4AFTM`-0Hb&q5p}ni)s+enDg)N2hAVYnZ#GsjvM|}n}9dK@BbEg8u&Z*S>GHnJ;S%^ z%~<4>h?LzMd3XigL9vIzdslqa86%N;@drP*OM4@ehky6){qlq74RHL(WBVr>t*&B< z#uWQ=4)v5IevSmX(D>2tq4yIW`s(qs7gv~l3{~WbuxCEpS3KBNE>#XQyGT~~2Eq7u zhZ;{{pB;HO?J>V-D&S*g_Ju(a_<($}XI=D`MB~^yR~jbH3(yZP;(0mL>3Rg$i{pVq zg7boEeZzzO;C2NY`0z?&-ys`(yy4Xz=>KTLFW9(GsJS8A*#EJqrRS0wO=HlZ2KTDDCXhDhkBW z(UWdxT;=kV*;#FbV(Hx1*X+$72-}j*Ip6R1^ZWgIf3SYEekPVPIURvaBB z>+ux4jKV*d$cucx6hGizxGvL&xZrV5i2JQJ=52{}$W7FO$PfLPxkZ`R-0R!)dGiqal?VpKa{^CN&GgRo zxc&Fv@oziVlYhK*+wYD4#@96Z@{9N3&Unu*%Cl>zFCCf2UMm6Yx~-8u8bJEU?`LC{ zHUOTq88EdC@LN(JN}b-4sl^oemFSjWVA{L?x9Z+SpW7Mzt$Ikvy?IC&L-z(>4VYjXE$RqPN0I&0!J}kL;(mj{Ka)=sJeBaPAgcl)V$;dr9X84c>=&N6(Qj0p}-kzb$*2JdO!owaw>DElXo8-%FoH0XqvmNO3w0 zozvQF5$4Ec@8=l-PiTi`xF*H+px?=L}| zF5VxFEi9l1bsD~u-qvSV``z&=r zd8%(Hxg1lZp>vB#c=oRTkC`8mHr7A-t)v2!__n!Ul zSby&&4;cL~dtaHQ-Va{^yyf4-y$IE?4tl(*1yZH76 zdF0;jI2yt7ho?AqN)$USi#)u_>twZ>_v*X`gY7EkFfy9ZbrXE>zhBFN1J=i~vDgH5 z8$5X72Inwh7kZo)_PDuFFX`}#f$HqB#Cf(Snw;OrXye>Q8M!UEok@%H-i}@4{rJy$ zZ#U8u0rt5dbHCy7@rumf)vR+tr;ni!3}X-R?+>toZ9ss^db5>Ta6i9 z2Rv1kxG0iydx+1F`&wgF50d3Ye_N?cvnE!Tr>|3kmV6XSz!k_ggYW9>q@OAOzu6o5(2WO)Hf(>-v#`HB_cf4bLV#D&e*= zL;k;!$(X5^`huaVW9b*C`#Suk;7jkSkF4hFPD=wKKDQ3{25{Gd8*;`-5_vRcutz~< z1uf9edWPEv*iR83jI_QLZk)=5-KtBgY~@f;lOV)NOZ1;uT}e+xgsagShMCf7m-}Q}2KG!iE2-azBOa1oA2iJ1FAi zl%7o1g`RPoxLOtari?}%CihA8KO>|E*PyffiYLbMC9$9oqFuC$0GPq zTJ72=+~=0Q&>(Xoe$nvXx;7AO{HrnY$@%0h>P!OjwmjeU#`pkbKlH$AJUbrSdG0>= zS4-u;DB4ProSo zk5k)!@(&+lSAo?g9dp^Uy{MmH{7mH;)Qne}Ied@!-j6=o-*+p2xbr}v8B^Jv!q zdZ3}tp8Fbb;l1mYns?nwU8w!*ZC?=bfB4GHzd`&vSM`+AMo+;fc>mzw`0=~GfIsfG zUOoGbO))Z z3Wb$R;a}SQz)vtyk846~AQdmfuR>7d&1&-@z`1f^1P`yS?z&ke_GVgwsf?@j|_g{F|CxbYu--&%pU{ zuH(KybXgbuw_b3f_ywV8R!BwMQ&N_N-A|@HoFhE~T-TP_zd~^InvQ&CCh{#6eIf9l z(iC-l610-2KPTHI3q9s}YgL}9qa~{{b|0&sE6IS50tb?UO#Ig}fj)+y`HpTgnBU$<$Ox_PJ?10L78K+@W=DO;*%_BpgBpdd+**&ou0M9Q}5#cjh=VN2aAs@g0EvTG2TG|LLE8fSqa0ZdFE!X za}9O>V;d$4)Zu4;X&>B;V`Za9H_m55W~xO$&LDMxt^ju5kKZvO@&P(|sa7lBX|itQ zNi)>L9)aF7W6bms7u0Q-74{^l_t}TJ9~QiM;jq8s*0rU^zmosrXK8ZV*LUw899*}w z-Sf_z>nUmXYJIE?V=vg-UW>Jygv5fmgJxkoGtA92Ic#XoxhcK zBW9WPuW?QrR7SM$cahJ)()%0w3;xbEy;xkz2#Pc|e&6}?be;_L|4nInv;V%|CtlsP zZ{J|+jkyCE;(-JaP|3_B6MK(*-;P~#n6I?Iy9fd9Kz{Dk0t?@jr+UA2uwJ= z)5!POLUBdm{Ecm%J<}tNS=ucSmxJ%2o^J=O8C$#jXh@T}4pB?e1|L!hh390>bGB?d zIA0^yxozikc$$1_Rqs(-zphw(S; z$j76KU*&nJpCoPi)vk>``iX(0Hi_FzUZE@Xa-XU0qKaQne1ARfR9RoV_=L{S$tL|> zJm>JZAH0I46|RqlWb|&cl+THM?5wN0h5mUi@A1pn{an^A;fH9@Uy( zWs^0T`_HzsPHDbw83p)8@I#mE^K= zguH@k$+N$*(%uu-M%%<&=gK0#-5x6`QT!aSUZtS&is-xl)1Rct#P^fum!G(K;q*39FjYiioI}+Xf_AOFc348r72FDK@ zsbJ#TEz*pPf3HNXp{ozOT%r!8kNL~XYZkLc>LPl>eEnswz!iV`?qM&uI?qQJyn87+h=9+jufKaU;LIA2R-o$5*=PiNbwK9B>efs!j`WFrv07K-BubR^-0`}fPtS(dkghBaF-K3 zc`J2u)!wVxProu64z3OT_U2bmH;#KRsjGEGabA|nwE(Y^!1@Dnyn?#RB*!0D_c#|+ z)y595fd940^Y;{9j9SP|B2g3eU^0-McbJ@v@sr|m0Y2q(rkEVH_nW9XRm9g8&T)RDsX!Pb|pncTkz=kijdT%%+e6&f)Oe z&ti=1^w5ytX&|0TMfUIC zg`8=v?DC@)b~roVR4wd@&op8t=YF8>&Z*!J920@MGOeZxxmpn1Z3;Y) zcz%JO(?Ox^bA0|xx%ZqJUf~~dA?C)IHvFLAKfOYJ-SqE@`#!lz@vy1C)b|a^KW4C>A z!6)RfcHWU--868*w)np4=(1&SJ@wie>aNn5fAin2w^C;0%ggOJ@~xHq-n{r6bUV7q zJ|^iW7jo=yn&e%jNi&)??r@>or#jDw4hgEz?N@$gR;0%}rCum7Qo{KJvg`yLr2Pbklv@(>P$@BB!5GI=2P zrRE>{c8NOR(%bAS|BOTA&GR3ROOqdg&qwZ$pZXH^zH`fO^~VHWFZNqGF63Uq&Os|0 zoB7(7Zk~63>(#^qxVLNiuaegzFJwj9j|uzy;yQJx;}&Of-KEL{EeZm&zka!hT$W~D zFs7huQ@8wgdCI|jfGc>K*nvQC+D<`dfW9@U_vng^fA;wor@d1AGr70ZKm7`PwrfN0 zocW5M8}k3zPEmFUqM!FBvoX$Tao z$Gn?PWyr^C&1Rx4ajv`b<1y;^)Q8#$UF0XOXUWeL_jsm@8|P+(hYJ3Oc{QD$!i#1^ zKa>QB-WGDfAWQ3@9)G&yHlIn|m@zEi3y|DSci7U}d*P{8inG#idD^>1CEjeV{Krqt zw5`EM@dt4~Dg_y#x6Y40m6s-!?W4$_1TT8doe%UKQ8iKL?;AI?013MG0rX&}za&le z#(-^fw`b?}67D*#UYE9!R%zomjE#SsudCS0s-rV+r&M^bjyqNCe{CT!Zn2&{err|U zl)STXHzb}T*h)EVETnQE{hH7(gtI=C-)rz88T1ES?pM+0mKHR@FYQwrk;nM zM_+cpZzxl@4}6TjKdDlmEZ~>m$6Ze*W#pcDJ~wQxcc$5Fa)0nAh&r#%e3z_Bd>^0w zVrK{V-FWr#4&pmwj6U?XMVx}ZyKeG1(s1~XAmKB~s`ws{?=N5De2qk-&3QS#LY!a4 zo?m^uqYy~6_r-gCX1#R!UGrdajkmD=;%qPFtLm8xhrPJ_)BA}FM4nEosX|d^MgowV!U1aWk&`V&^@?9sbMjuFAK=%HHQMEB(=}@7?E3uIadS?)C9UF#FZS z>*L=htSrsEETzdayVqlhf{6zAIX)ox7tLdf0snMRF^?Vgl1I2cerCU?13OI&i(J`{ld?Wz4Mv9x6qg1f`fCr;8C0QcoLDa zd-LYoZ*TmYG1EbYxHxN&pVI?oWJ~uT_{Ot8+j=*&q-!qy);QFGLYa9@niPEkCi^nq z2G5CK-&pnQb&b9u@;ZX2rm4#4$Cetc+S-{d;0dDYcyx=1@1wun{}tiqpThq@J)zgz z{mZqcqNW%7%Mi6gf?&Dq`MxB?VWdQyV(C=Cw$dM zj?N|KGZ}HtvG3U|&qu!uz+BFG0sN56{xF{-BkYK`Bbl-Iy&8*U#rw1M!sprlxX)~I zpVDOa-yVOQzRmEd%b|Xi^ZAsX`MgeFc7Oo9@0c2|<=kGCzHQP+%&V~@9Ub1hJf)_c z?jUtLJpz4D!O(2xGSOF%R-SUhFQ`0Y?<=^H%{KOKFdQ6^59wOH4i6mHcWm;n+GBm$ zK~{-6M*-Xk=O5OCR%KQec;6G&tPWmHQEg4t9NGNG7I~%@{`#+P?|M#8J9D~PnN3VU zXJ;zsY;8L{;RbdYy84&Bz!0xMo@Cm!_UwgMQI&%b)*5{H*A2uURZu@DuvI+Ha)E>#-2HMb6cP zn1iU_sysyWdzMcuR6e;%i=ln`J6;wRB>)@PP~fxxjZ(vCxHVW?w!34 zo(feuw)pUuPULcLUA9uR=@;&LZ(Uyy-0JCfPy3x6w@%;j5$lRyu48}F^z*3X_2|p1 zZtar=zf-{6^VU7Y2cs{)yZ=GqH=KG`8o;u-89ipB;XBR+?B`efZk4qn;mS&M@0zoNry=kDC~yS}}Yz$O_A@VoClK|8!+-DZpsu*;=PTstP4F9v((Z3ROdcy%oRHxWTc{fc z!53U!TB;oDo3ToZeq)AuUv$~#91LYp7}l^pJgC=etshk$j=2`>{->4kdeX75>!J@KIqMbYI1y|+j2SBhzVxOzKeZZ12fJYdER-j8_@#54LtP67TrM5` z(H{-8STFbrechJmmu*tt!VfP9-U9LuSz8GioO@j_BIo3l9Ck_NIxW4~Z6e2)qSa@G zz6lP3a~Lxs&=I+9zW0VU^rOn#_AudD-r{@k^U&|i@yhp@$V1xY@@$mj(#XES(IxVn zX-BdVHirjxf7S=m3p^qSk4mNgq~GgoA7YLGIGe<@#Z)}lR5lFi~NR;UxD6W?wm^8`18L!5R=e1?d*+~cvXXb zpN>8cm=0%qmbxWzet1!y>PYPlwejOtR{c)$AP^AnJ*m>kd|pqFZ|j>=`p=yq4jsMt zw3XKPcn}2kX%di&_NjZM+1~Gq5``s=t;~H-*zS=r!`MjOy@@8aBvKs3;A`dqJ@KOIr z)lW=RB_RjQUuGS_1@0ZRhws}e@-K_WcYW0);kTGwnFj7sTFlxJXo9ry0=TI({ok|W z-_0z?64I;j?*O%Xu7uk$KW`r8(f`sn5DXo z9K{mzpTiDEN{i&*MvS2<1o_tRcmR64c_a1F4`muA$Foa60k7kmJIpuR!7zG0zMN&y zoxqnC9U0E;p5>w4u^9gO9#Nk$@fV+%pP$$Hypy?w+z&jB%tOQeM;qN)?n46y?XyReT>+o7 zoBY34aAs@8H|0HNikmkdc@sY&8Vak2%*dq|z34F`H6PTI;(M|!uZR1H)MB9>GIC{p zhA)f*ccXr3NB%Gv?MFT$`Fak&iTdMcEz9%LhnLVSe%2M?vZ6lN|n>8kZ+` zWKVcZ&Y!zyVG+3Hg75GHXW*?W$ za(SSjPWo@{xY&DKo(ydleI@uMH1LZ1bL3k1H`3I`zx8z3sg-Te+$8(oJG>q-@oVqN zt9U%FAMb!DPDW1@iW#26);^cb9+1&X#jKdCHt@(3N$fPZHvjaFu#|3X%YygPr?>rm z0zCZXf0d3@lkSeQ?3&p`~i9Zec5gxe|-a#6&z~( z_D#G$6r!$2d!XmYMbRfv&D^}OHn1ccfaXwQ;?10QZiN0_4nSQeNMiqH-G8e!io^Tghy2XAkQ~y^5Um?6Y zRDm9&E;%hd*WOnG=V|l44sQ>*Nb(BF^MkWT?%b*b{kLAt?s@@K2l1~;oeckm>(F0e zB7e+r7|`X(F6L?yA8YvU^*~kVRyf(A9by}Q1yVeNt-$*b9UmfRJ zmN##1AG5VbqW}x2zm=%V>668w8vJA;Pj*{r@dR=5Qtngf^XFqm{^VDj7(vn7` zL*4un@=sdsIDUEhwepFike34}06Rsd0l=Ktr%)6;CFdE~jBS(mG70eKp0Vj~wv!vq z>8tZ3yO4j8?@?I?$Hj5WL~erG?%hT5S`)W%fLPW9+$e33fhw5Ow&IDhcb@D5?O zRV6lPVINcy3wp|qJ1`tF{N9P>3Ha=#xNf%_`Wtt8ZZGdpPJd)+=!2(uUi7-skdXTt zg$|paQ){{}i|4kfKZt$XWah`^kx#vp?;OU^OZRjZf{J=@{ZAUjj?S|esQXT<-~_DH z==q6TuD))J0OJYC^o;=T>r@YR4NRAnXx}mQNm0j>$@c`>%T=Zg_@N7NZ2N!d6P|`w z=U3a_Mjv3W)(Jh3jJwnmmU#%pz{1S8Tg33c+{FvqNC&XOqZB{ zFgSiL`d9S-`eREU{Vu=Ih}z7Xp?tKYl22jWWXodz0zakRqL~qgD|x>${L{NB>+R_O zYUq!ThPLlG^BZ+6DsV!R;V;t;_{r5@>XR3kr`_Ij^}B@0uGs!NJx-@@`rd23Zz|Ck z^HlVy^vPgRp6ve)`N62EmG4LFOWHeken<2hohn*eMV@izJNS>-dwEJ90v4p`V_idP zAn%?#pid^VOnRJ++@a}Nwg!%M|Ck38V_ zy4TQmIpu_JUU`l_rR<;e#j9JoQ49Y4@APrqWah4)*pbX@CrgHQWB~e(X=&1mhxIiM zR&(6eCmiYwaXIsOEpRsAOPe}!91Cr9>yt7(AJvRO-|=coldgGj@htL>VMTs4y6^RY9QO0Ze~g(2?cpy%NG4IAK;C`G5%vG;gBIsH?-X{O zzc81ab%`|k6-&r}u#u_Z=Z{>!{v7^*&V0KY0aeKNs(gT-FmK||==AZ#s;W50vC)1Z z|0M=Gn4Ggf>3UV@4Of;t2>w8m`n?{PHTrbH{~0M?EgDr>@5V`w*GN4BHx{7WA-*53k;f9wPNbMWe79pEi= z^QvV|6*sd!V{YFU{rt>4mo?9F9rA;pBte%v*bh&Kbm*l%5x2`JZHLQwqCh+_)v>u0 zcq^)xjn?wPx5oaBp>N;=h3t1#YVJYLI_{TKe@9dlPZwKl1zE|Nc!Gy;-Z)+O`J%c^<~?$kJBK0>wlaqjzpmbY{1j6D+oUu36_JOb^Y!x*_eXa$w|!|zmnkj+#TX{zye85)M{ zUp7L-_1+KPy7`T10EIW+K`xR}B~~QQNI#LCf-f~$Q;f)w-SZoL_>DXV0Cmn$+>SLf zcFKw?1fUkLrNTl|pS2F|u!&QU8~lib2@Z+;L9B24)yIlG-a_v=b;_GxAg^SmE?ru1 z%JG|D1)s3A?vi#FJmN=ZI2Y6v0_@xHnZCZw%J7CjX-CXyr{!?B3!WkDZ1Qu#L<0X& zv9nbJo(*qdhazDY8B0+$@w<=a@&|<8@fGU77INXuIUI(l^U>#KVlN9NCT1N2FEJWz zO7Y6RlF3|7@WpkZ}rx7vA#Br6VD&_{M@!gesXyC zC-;ia2gaRub3OPznw$gt+(GT6b;v;OOT_uM*4c4!u#p8ep{FRUfrK6TAX3w(|2Vu%~)3s{h;>Kw_$6p|0VLfy#Cq7Ph0;z($GnJr18Ddjwo@>y+MH|xO!r7 z2YBiFOYhQ$f8N=#a-nNAE|@#qH;{357RC?b??Pmyj?H~PIy#!9juWn3b9Qtc)TaXI zFL_o1-!Agq>e&6siHV=yqmHcR2`;?+;F`|0f#_*79Ue@sIrj^`C!j`=+u_0L-n~25 zcP$D%aM$~DuaXDolnzPp|9JDw|B%>+%&QA78F@HxpcbAn>J-%H3p zcs_7HD_=z~L}PzE{Z;&`&erR_dB%8`?9`TT2>WhD%72%{zT3y|+zC%W&z(OHZ>js7 zj?D{t%EjN$yk$%zt8ME1)`3hGe^Bd1Zn5{X1G~XtdMk&ly#f!Qe}>a5n={xw3S8Kk z$Z}IH>%^~~j`V~&Oa3>Zs#Zi99t%*;7~XIcqQNVvfZl>TCc!nlS~>8;u-Y z`S5*W?sEKB@U0V%*eUS$*+j^SbPXj3pUA8{(*F(N53c0n|D0dUCN1jv<+9^{>iDra z?4vwsM9L+vSDYio?sgjR0JfTqOVS~m`KzN1abM(>V#59_+0MKy&bzZA@<#FNEhQxE zqfVhlrjOvdRXNr7rW6Kub(XhzQz*ggxSfJaHk>L;dI5XcZ zk5%@m-QA9>Z>qbdd%C-~y)T6+|F5WA&xyZ)zKbjsvo#sHzM1r`+SmS2f74FMQ}ff) zNej7*#>{RVIU`;wsBtt}_Iym5G~$+(ap;`)#`0(JJm(;$q7PMF@G}~z40s=lpJQ$2 zw{gyrjRD<2ztk5^?5L4)O_#2V`xkMpiaeJXkZ2+AIhPrfkbid}yZZgXK&wameGz_n zmGx~VvLe3<-=$qg4o22=0|1AY|w^>E@?<)JhQ z0)3{qy{W{ay>HBYYXZO?dU(vfp@eO4=9%Th6H8AU=&780!(nSIs5ex;2n-tntKtVMb5`RsGd< z;Celt_3ukl@V$H{|0^r;)$hq>V>WoQD)@%016oh1VEXz??Kc=x6qRQ2{~EDqd(Yf1 z+-L7ybH=VU&WV^by#;(Qb-8nQd`HCbcbdJA(RSjzV?n3hpNyV<%Z??T}wb>XMqLZ4;v6`kvl_e&|^vekeGk{vFaeO=F) z;6z-G;wv&dmQh8VTP^Ft-oiiS%et;UqfWYW;0c~14yAvwf_{vu_#N66?Ea(StLKh< zw-blo#Lr<|c0kCtXS!WA>9eQY;0q^=J>c)`#UpYmDF~JKU46K9+-pkl4SO?o-Q9YY z6PI=2Cu2Wr0U!KiF`qY|l<*&0r8f45c|F-~H|L1CJsUR)IoETJjbh!J(a>cXd*dtg zIItQc-F+`A#%y9}VsDH-pS~eq!OQ$!JGK8$6Zh-LA9)1gATjr`Gp}Qp$_a;4{JwmH zx&ra9YG*Pwe*Yr)QT*_f(w=uvCrsBD;Uk*nt(q%HQ)b%b6n)U}{~Wrf zoBT)GNPC5R(uYx!`MZm}vdZfLdl4&39>V1- zb06_g)!{Vwy}*kP6r?d>k9rHn(EX#KmEwfS-0lVJQhNe*=zupO?abTDD$m7S4&;!I z8=ZZle)36muxdw+JSOT-@+))wrs?f8c<#W>B>ur+FYt=w;SctENC!?|z9w)Fqoav8 z<{tL=Uo0y*{QX8XSv=b{;F&JBi^t@#c(i%bjuc0P{)XqOSMbw)`ciK%Jh_ECPN?vR zC!MqZq>d2ZC*|0#2UYy~@Y@4Frk}XIcvPnEEtPNfnrUIr@A$=?_pG^<`2K?aIBLMD zygt`wlAlQA^fCAXI)r`E_4d3tSFtDPAKEwYZMW}5_3(+rgW~vpflkba%$yc)PjI~kFBO|ria&rBT!5ezL^_Ao5Y&05EWpLZo zMkT0@-TMt;uhp>|e}~^**NUIT@i*R)V|fhx<)RHLKneCuW4BlRdWHFO)JfyYlgPhA z4xj#B5WxA7w`ZtVczxq%)kEP%1O2Si4^!})^nV2k3y!{LY^~JeT1XI)FF2|Ro8Kpq zTNV3r3dfCerzLC5YvFta;qwybtYC{cL5;sg0~me9-^C6M9$A{{F2CsaoLK^=6bgm$ z-*)2fo=A7#gq0bW1m zE|d-8#-Y)eZB0tdg>>hQHxomGr-iyL{rygdl-A>-e^{K?Xu}?0e>I1zrsyI+LuObe zzmWHOJM=@+B$t7=1zZJ!#k!=-zzwQ0@T7)BUcJ4`$6Q)zJ3Ns5+we;%4*j3sdZ>6- z@Vs(=kv2dI^uVxfZu+u?-975+T`%|@tnbYy9Y*f@C#-sFV;cJG{f7iVJr0j{-=!HPnN8<#rd@= z(W;fE9-k}Vcc^10FRh4mj4vzA8hVVmU5f!3`+a?&l(qQ1l62WRKV$aI4SA85gO8^m z$Km54J~zhn1i0OJWseWSFFRHo$+_I3o=;pG9j#0lBNOnp&<~alMhEfFWq4bblfB;`@|Zz zw~u-%Zb4MsCvAdFPL1X>>60J32~NM7?0fR`4)}Phi@(_QJ;M6Z)|X9q61}B?!@Hh! zcPuuxy^cL^A_r6LiSq#FjP!;BE-_~%yX79r1=TC>Zs`+w{g>XA;2}z`sbtNOe4!lH z$yYY2$rF~)*BST@HO(KTei8a$^9Jz$(>p(q!875(<^& z98+WGb#+!hSZZ~+4RH3(fR$Bw{oH~U)j2ow#d=-m{KMi-TqV;dqb|%5p)5GN1B>`q z#BYIt=k+u^)x`5^YQfuaz}8+OZyDZkc&UF2bqz=5&EjM5b}MpxLw|zC+VSIwy(RJx zy#?+Rej=VXBIXiU#O;ZU)2*gAZ1ZiV)A;Pbw~I@m(E&V$Kww9RbF0z*tC-9)psefV z{aPT~y+g(SQf#+N+^5y;E|^pF=}eH2=X|*+*c;>#$YTX;cp`u+EE%upnq4Y+u}jau z_aE$HehK__>^t@C>a{;17u1_$Cy7&r&!4}4ua&Cof)DgrBaPp)|4+{%muXM}sy>BY zsZt+7&)jH{Iv_uAez`h|_YrY48t`jdL$^NH*2 zVLxoAm^;23I}Q9!@K%s_bNg>cJ88=RHrWqwGxQ@9=UgM+k%$+T?Zs}D_vfF5AB=Oe zBV1cB(Z5ZlpL1ksm5uXhp+7FhRP2W_e3E>uK|Q~fb6+=*lVEnftdge>L`Qdt?oAGO$Tu#lV||bBr9NnkeYk_`b6@wW?ouFOJ-_82oIRyL{LGaX9FAN` zInsA9P^vqwj;s6dHyypNFHR?!2VVGJJ%SCw-Hy~gi zGMGD~6Nh&VXB^#rgM3lmnN`(8daAbEL}~SuQJ^}K!15={J52_ z#^B|l4!7`JIw{tVxNP3WZ}yxlHq4>Q_DZPgEasHQ2QP|wVB5a!@t3!=pWsiEd6oM( zf&Dj#(|ZcRgeq_V=Db75C4Ng)o~-cP4Mk%A?Rq;SAwRx_+I97nx$j?kakF3GbWwxw zE6L0q3$)a@I%F288)EmfIl)7t!(U22qozhwh;D8C3gpaEX9e!2bB%RSoh0vQ>*U1= zlZhA1G<>kjHg%g&qwfWoJOuSpmobZ@UOt{GU#hH&Zl54_Afi1ORv6W57^?l%=%&u zJvBD?#B$P@?RxxHkC_$g+i13kTfimc7fhM+ZoU@$PbnVv1Fs>keB_ai&IPj)PwXm} zeJ)eG`Yr#BK)v~aF@jp?9C*VBUxJCMcuXCsUVHmlDLzN_JkhX@>0=$D4sj6w9pIn3*Ha>?DLK_cIu-G4gf|raa@uH zJZor+hq6-j?3IeB7vzg?*pWEDu!lqIZ@>M8OE-Tve%90JbXMM=uXy`*{9pRt=SBQ~ zX4Stp!#{<;GvIH$weu^$&>dy)IAT7*;ZSe-$yP188ZXYHe^mAxd~nc2?gCBG|E9)=7d)GE&gJ>6s0Zrt!JKbiU$qN%z>e&{ zoBE&9ygT+AQLjAv8+|AmZQIr%J<{o($j*(U-&p7Nlp04%g9Cx5l7ANdQ@e@$tm3<4 zF;4Avf1zBi9F|AOS9rS)ZxHnthox=ce0VmJkBgidjw)WQ3)k6HAe1{{jd zOMC7OH!|4IRG^V`kjIP+4?px!C0Bt@-E&-?k~NN3P3F2f@u|%FoQ`ZuMQ)cNfVVYO zOFB-L_$xd^*#LSaQs`M|8Hezjo8&dpYRXa5Z3(|Q&`dhHZ{}e#e?T*+Ke+Ndm*%Ut z0uuUSFc#BIt@04KPxpp%R%Go4Ng|4U{}%ptmCam7 zPE5_#n^_sjvhkZ$@(yOP5#zZcgFMe~=t(^<8_vGzf`T;)u zh`He8qq}nL?>|R_fRdByj6MkXnVW51h`Wt{MCtC3?}q zzWB^aSlp*$BK5Q>)_I|To)3SQ`fxQdbM9%Eui!Ihz_Bu*W&E-5BR;~wkN(HDUg&;H zq0_d8+3#Gs&=1}xTK(wVo%hh*5eQw7p5*r(TZj(={Go54D;x;s++DBOVYdrJJS#vR zeN+l>{)<`sPwn?hzizb-T&%odP+x3BE#w}19=!Rpm%l+g)p5tdxvd`XIE|w42V%tY zGIb$UtQ&rr=@ELL^geS?+x^Mq(P-E3%nvf8&3^jCct3V0+m6Nm5&pZyZEqE0fk55c zoHK_@Ht5JCz+2DoST*=GsKG)`JiM?__4xYpigab_6I`lRrH5r-Y!V9 z)csopw~(hi`rlyPYBjH4$VW0m+?YD|z-qnn>i)aS(|*rsG94Gs4~EP`#AVao6L#8| zblq04#eO#$%WG_{YsirqjN(^MKrb0k4~qJY619m}VtZ>fdF05$#mePTb);|CAcGKR zpWg70tA~8Z(Nj;j3kBc$*YSq~|G8q2cWAQ@))eR5m5k}&ZyM(=p;rv8?QjKbCeN zZg;C={Ffk$Bw1enZ_?Oj`9F|S$obF&OLbiwA*Q6r#ijeZ5w>kG6`Y6H?CfX zd53!A?r%QyUXkmi(qc}bNq!$5`IL@6N|=U_r>4NIVZZ77lE@o%`=bD!^g?Spb21&$o=-(PPtWr9IKVLj0GmykE)1 zVuOSFWbf{TqIAdS;txzSc<7Fw>r<3(g7KeOyE9E&m&SH}CrJa(!0&hcz$P#(&Z_Bp zJ}c~+z_Sb*LwDR=rSHf3P3-T5oZq|9yASj3xcBGw^L21Ncl_Ku@4Q%+C zw8|eU_PbnguIl9&fjRarl6az8?t1FT4^;Te<3HK86Wq3A>1P|BufrGLcbvXIE+pis z(P$SqH>rii1(!koETE2`2bFMllz4yV)%aICZ&@?3ZPAYKV^AVr?OZq+6z9mbkR1@` zha zBIoG4InH%kAt};NF_e4dAtK z|8JMR-g;Z)|Kzw8$<(rKA)mp5%g5)n9Ca8uJ~uqS(dDJS8QB-J|0t2a@p%QmfR#!# z&Io&(`ZEt;r!4kkeqP93cEK*|DI0upt3$=VFD*DhEy5Sn?M5$QZ=3W}5zqU4ZSo1G z)=DR%Ci>*spYmx7y^{s_F5c%lUSE~_z(RHz{gFC~8K}HUK6u*CbFZ9R>$%k_gWrqB zYA*W#@qRYvmAH^}``TL4(JdD$fI5UVLO z;Cwqezo;J5SNr$zGr~^hfT(Clr}XZ6S;eE}2rOR?_> z`@ZeH<`2PV1P=eAH<6^Su;KM9y+RL2NAJA{IAHM9g{}u3=z$L}5XbR*;g_^*dqp1U z|H9Jj?E2Q5*1^H3Vo8Utjz=MyUjLfF+p7V6N*bC6xMfC8e+6+XUwP~0E#!UN@c19i zCzF}3Bj9WsiJ&}o_Nz&N{u`EFx?Au7G)nUK1&;5Ilk%*P^KCz~Qiw%Boz&^eBu~!1 zl+@8tm3^T;MBD{lhdiPkY5bkgFXL~{K5Z5}9Tn_##{?5t#;Hq#&+2+ciX>|~ay++p zSt%cQxbP<(nNP^~&d|R&7@a9yzMF906TK=;5$@v`nj=k~n|>DhN&@7iRd8qX zNmKYO0o!H7&0#OREC#$-m&3(PX4;x`gEKS^S*dXy2Uasis?i#(DpwvsFK5;(cM%`% z)upMMU#4#1+5Z9aHU%#1J@CHZ!c^vz0=LcB!~`de>Jm0;*`{Iie$(lhvF%wf%oB9`g zUfAdMh#LZUo%?pc`({na^!q2127X9QE&JHV$wK~GRi2_V<#Ho4_o^ZErrkO#WB;YO zu2=QQ3LUY0U*v|j<2v#ePj;FcW%7E^b-7jiG4xSWp9c9+U*7Ff(L<#?6YGQ3!7qTR4!T?0N7 zCanX;n8VcyC=)DU9_V-u7d} zC(wRoZXyr}%(s|BSFhXbBXyc;by<75^-#Uw_s_h$xY~Dn=HJeIkA7}bdS4U#S+UUd zEuv50R`uA;o)<1{4}bIl_HFR|gqc#~x}BYu#t|=r&Alp3m0#RklqUzyQ3vRd(C3-E+n1=9cUPIm+x43>-H5e^xjj>q&8z3Y zQ!tkUJF4ueHexY#7#;v67;K%p^De)~+p%sbb|M*7!tKMKz61>1+kW-xew#uT`K^@j z7qD0KrBO%FPW~P4f6$n^{AeOr@}7CC|2y=hIYJe6>N*OCb03eMF~MtDT7dMBI-(8- zIUp7Ia{vyAd{$~6fB@%&`OF9YfvoG@!p`6E$D3aw&+pv!E8-k}wuS!8wks-;-I_Z6 zY{a3?1@h(M+$y5KRE-DVAvU<4sMDCliR53nFDc%z?Qt3T8ytp>X<&@-Hcx78+ zZ#2}qz5hX1F&OLur{(jt0y{r|7xez~w@|nHe(|Ia`QX0mx4BL7SeXeg^NQ3-6Me06 zJtqoVCjaGSE`mzFI}1^TcwV*c@#^H?6bhjhb_{);!k>t@yE6@GQjard%+%?BA{+t_ zV`=bt33-DLv1a#8<3H9ra(&}E{z0hUn35-bHR5UXOJc#zI`a2+X3^sMj2$i*GkW|b z3}8EF4TJmqJ=QKoT6Lq?|A623i45N8`X`qwHuZ<5QamN}^|fTdZ>ROi`KEqd+>c`d zeqC?{#ElIV|3PnOdn&yDlcU$`I`%#12DdXMX+E#Zq4IpOM%i!idCqrTircCF!Tay$ ze#9KlB>ICn--=@4hmrnh8N?Mw;n5Is4;+mAu)fQbeYdf%tN4B6U}gK}vJ$Ig)jbXB z-$vTnLmSJom1=L#`>EF)*2mRm20!5HQ~p3Kx#9T@KSaKR=U%qPD7SZPI4rYH%+X2N zV=*!BE52_MLhtmIrhZFd_x{v`MP|r5!L=V{!Vion-Mj!3KZQx*0q2MKO{ z>g1}t?>yQ6_W=lW?>%V%a7r$J_?DeYHWcixL7yLf0`nEK3!Ynrov;_ZF3!iu=xD9m zoKiLF5%d%E4V^2R9y7i5tAe*+wh+bcdv1+h<$EyvGJfSble#-{91bOH?i)N^cJ-C9 zVkL>^@OGxNoO`}+UZKATKN`M2P59I7_W|Su9D#v7)3F=k{CAu1O)!5*Ni0{p9;d$o zK0IS+XWv3Eni~&bM}Pkl`-uaC+ry8F>!AnBHgWT21}9hO7^iv5l4rZV)wp~))IKK1 z`$LcZ3v#0=RcApz$UfInod$BFCzOWFoJ`V4oyg7P=erAQRql6rrF}^Pr&4_3|KsW1 zgWIapyicK2cE;AYy0)4OB(Z(^?HMoNAiPbtfn4mfP#Iljm0LGGnFH zUOq?I!O}|pR^rU$C7#dH!dR(A-tU>$D<$H%J@4W9(IfDrMm6qRO~zvSOhvz|rbgp^ zZ70A1c)l)WN=ET7*mYRbiEr9c)j1g)k-3u^8D4qvU}Vt(f5nRD4e}V`v0VNEbET1s zEpm?;_~N={iF~<*K3d0#=`Cec#M>rh_D*`@C;8jKkn^ysdRd!2Vi|9NUu?n&` zn@vCDRchVJ;^tTT6`P~ib>p`~4U9*W9X%#dKgMl0i1@-UXyhTPWqG+fdw`!?EPsC; z^c>sN=lME#{OaV#=|S@Cq<(UF!|q+XS~mUrZDO9T>Z@x8^%h9LUN*Z#Z{_W)-Cl9Y)UH>|K>Z&{LsXry=3v$Gn5PG~V zzQK;BzkyCsdp=_fyn;QYPnnVBkcd0vdG{pWGxwZdM_>KRj`XI#NhR-cyklxz$?4;96r?&#ZJ zb(hVy`BPQ!lNFuk23{_9ZSwyikw2m*DfrCH#dBbKVD<$YhpF}yer35*rD^mq1mC9q zfF5uGz?(eBuDFf=U;7OCiULb+7j?Gls85DxVzd2vm(&bgZ#(K6xQ}*>t+@ZjqcvlS zck<%o+4v!QQsuZ^6gV1oTk8bh@6ls-+Wr#!viP{iGh4)~^{-z2zm#%!14nP$VAt3m zaQ{q^d`^yJ5XM$H{(~r`SlrjctA~dr_J7?`RWpYD?rl)~_G(0DuvBZr)F9)H#FN55h51rWnLC!3w|;4~sRLEj zcUI{fuj?h|Gl|oaNaC_+a=i_7xQ*^i_Xy>#d;i zCVR%c_#N<*g=|)Q?>8*s26#f&y@XW-^2#FjSEY|TX4ksF_Z$iGTQxYE%&hns^=9WH z=ePILf1h}3%e30HhJoG5IrPNQr8haRQNs}aJK{d$OiS%o>T<1F+s)eb6Ub|X^BnyB>0}Ml{#^A zJ!Wo8d$%=I)!cKZ^!D_Ns_O6DcCmmTOS#HV$n2pFuWEjL6Yk5KEB1giE{r5@ek_p( zl$4c!LY+WAlIytBzdIYZ1}>GeS70XaMd6(X{(I}M>ZX*F(5Xgv-gfTVwXiV#$tL)} zwY3%R%fa;2z(8@7e3Qh5{=?>00JO_yxUV&{rV{IEe}1ZDXV{!sB(_rF0J z?>Y8iaiGMW^|82+;@)WkVOCfb0WU0F11(PLtd>? z6|crqEBO0crh}U}&XTV{#=|YX6}u;Gb4fgRO3^TgPv~;yE}4P)Ut}TZOX>M0=ERff zUTF{JK2qqFyAlx7rNN5rVTdMDFz}ph!QFd9+4zjg0RIus%m08(iR?R$K?`7o3cO6efbGbYdC$jgyvqI$`h7`fnZv}+T%)Cy z*`~Z`E3F}KF?Y~EV2;j+SdK-7XcD8^%jne6;79Q3sGoBAtHSO&cdKrle(?Q6=hKzl z^v@S#j>^~R|JBNJ5&r1btzRq;;Rm>$rV3u?xT&BsuD4wXSViJ`+fpPPSLyqmusfEd zs1~WIb%r_awmd+)i2If{YS)REO4k390sqOtq`HLvw7@B4-p_D47FBT^akopQ-%(wP zAYd2wH(t!}JO)O_$~x0Acsstuuufg1sK$o+Uie3a$@(oHs6oQM$fqKISrm0baW}dq z^lQl1;+8YiE$^(kCp~X;Pu8&?Hrw~^1o}Evz2hH!mv>9iW*5A-F#5R93%;F<-MHXa z8k~;@VAsN*ghJS{!1of=cUv3lGqX9Lb;w({;Y>1hDK53!t6Z+5$K;-@&6znLpMRcx zAGU30(g)z%WUcPo*TXCK?EmL&%#)Qkf?r5tpO&YY`T~Ay)+FDuECt?A?tjZ+-^zQJ zo#ZPseOL4W1^pl8)d>7?b=cz^Cd~_z{Tc)+HSKiz1(|WAHvZAU| zbe?{GlTtV^@Q|p-`rgo^tKdbNN&kbue~NEo=nY`Mmg{G4{O`5c$@z4#5wlm+-oh&j zGz`dY16qgGq6K^#v+(T3KidzFsH(*Cp&Yq|gnnw;1UGlP${PlrQQcPQmh_fa;jxG1 zfuYC!KHq%$l(9q9^;*})YLV}&!@ss!mQm9+9lJ^nz68_z|4|^e4suy;pTaa zNjqCxiJv`Y_?9*@T#b4cJFj7KFU zjuU;m1joyqQN)k^M&erP`E0&V4v-f(8I>QQB@P^5+g4Kpa9$=!k>0B*g@8O)s z!_Ol>n8;W%dE@r0wRZ>{*Jar4%3<)JL^vV*mp@lsDqfcs!*QASbA*(9`3F)Izy3m*mqZ%6P|aEv~z*4%U5oQ{ol2huUOr{KeNSAt{-2a!Afs!Z7Nka z%se6niFe!q40wL%aA=zgyPpR4M<*zxCogZr?A@C`d|;y+ozU~_{{ik!O6d;jJ4Ih zVW1nPsnWpUv+4V*%7#wqdphIU7OU;$9|G(3j%Py83jC}uqwbDpbBYn!^a5t?(gNpN zZ0L#V`;N3^5fYMqbIwCQ(&0OLeit%3wj(<6J7u%I{73IAyu@!ClcKO2+{-CFLfHb| zBZI4@?U@f5;G@0{-2JH>`*XpQlLuA@Yh1OFX}O&~L0!iObGp%wZi;_fC)1q~;G9=&Owo z&$P(Q^r}^6Obf&proeG^ctAFlpSRhv+xbpzyYpOWsrK;nByGsuR-kzb`j1_XrrV|+ z5Vx>X%!<3Bp~K+EZ;;0u8%FUTkqmf#{Q)^jS#f)`I-HI%{0MuN!wIR2xm<}kWs_DjO+ic){0)Gm0u^pWnz z{(~1q{|5hqeAeR1Yte9sFD}Ey9vMh<~J(EcnSNz84;!UD$teSt2+t=QA)az?m z`*~A+7z6t1A9;W51{{t3IrPCg)AV0c@TU~NYs_(H-62!pe(s@8b?*rM{lY71yQu5T z6OHxIy<5=Jhi5n3i~762q{9toX>!1N#(9r3_ z&9J{>FyXRlcz-=A;)irV+mjlFj~VRPjShZG|8cF`1yN%DHF>9D6`B91{{lctz?)6*|GZi0?TKHOq%v-;d+7N)?{qkW6GJDjjXIr! zeFi$93vsPqr#}MzcuI|;TU;hF|BLx&o9^EBr=Rk*epVWo<%_;lP}slR1CP3Dcv$AX zj`%}LvE6DjoWo1p=QewMLDQnXjl#b3XV3pg#P748p<{p@52e;Wgng@hbG{#8_hmOe z)w+d_pwZ=9vHMLQj{iv5{n5|lE_=Aus|*XAkLM+73ID61&JEAU2hTywrQ=_RJGP@6 z#y$X*>&sq>p0(A$5{fraxojWjlF*lHRwmkv(H_|LJwlF=uS|{C@2-E)w&X zb*Yn=_>rS(lzh>BZ&R|miBUc;wpWG+TN+Sfqt-GN!!8UVoPVTt=M@0 zzStIxd>)-c1$)81;X9EZXHw+VD>`Am;{0B7j~)KM5s^BWk7XaO-Zt^=(;g*eMy6*x z@Mu){2i10i`~u#zBXrmxKdH7?4ulTd(i!lGmHXZx?8y5Cdh^unS4TGpz7F#i=c+2Z z)S#8~kq3b9aep-O0Qx#E&^G*0LX)G+VZgVMf+~B4oeqlr0*%hv3vjLm5;)^DM`Pz{0Q!5p?<2o0iI||$N$+j zxEkc1`UAkpBSU*9oYgsBYd)T@75$*`aq?GR*glxhg3Jf`Lj8JAcvUiEzz_0gDXh2p z&=Zf_=FUtivs@zTYIf(swt<6#FS=ZzaPeft?@A#`7hg-i2s}yNBDae? z$Lco%4(7}yp|3=Okbd3!lQjr~|Ra4}0|}jbC2c=;~cv zqITW?Wdr`Aa**e2W{G^Td1c;TIaOCUj4KWPHWW#IgANVPr{x+& z$HodIlQm^Bd5RXw+bVuJ@DOpabkjf7GstX9+&HZ=Zvj7Y7~U_qrV&G5H<4DFUBN$; zR#&^g8=qWNm0C8?6R#Pos@2Hb758qt0p71_=nl54?WNa}OB(UltK>%1V2J+VSatCb z_R_g3DRrfJKTBn9jlM+KredcBOUatxWKB;ut>7~?rRNp#|L(MXOc%I0gJ1@)=q@ap zJx0I|t-2+%-kt+&iY=^;D(bSr3oH zp2mdDaBqWW{seV00n`c%Vr}FDzqt7%avY(+Y4{H4L6O&WeaBysgQPX!78Q>GFJwa< z<5l~%KXg(4q|tc>q2b2M1Mjmhbwq!A%Tv&LMz(x>qgDv)=Kc|ctL4HfEjGmd-u#Ff zRbIr*i$ka6=vAMuNe&KzBhru9>A4SlFkA8QtkCgZTKBQp??YdG`aKQ)k=G;ci!JB% z$vdYXj_1BSV#PuSlx#eq2X8PxlnpN*yYUpX1^2pxo9Q!5yKW!XJ1AdDn#R*FBE!Uf z(dn0*nM~2@C%TS1Yx*AHtuav@bMZ&-gXdYq2qXSaM`@P1~e)raB>=te=qJ~&o1)8t}yXTjb8o{ z@xf<~9=!|yP}}%neG}vHwqt3%t2CVTR-CqWgD1MB_Swg>Ar%~d@&)pId*!L2*BJM( z8O+~cKczZ;cgYI*;4`euG1c$6ym2I*s+D^}udxQFcR49Va6k6xL8Cu4N`lj62CGu% zsx|V_g_e;jti9cCOM*h98@TEkd9(_?qWaWe{YzYM`UPrG_!)R!du_I>iq=-#xdEc~ zT=Q(BswHf>-_D{JVJ!LH)x10p^Z`O!SucBs3J#B6DREGXILG2)jXcYi$Yji*8cdZq zTw2gVo#PSDE#->Riuo-q&J8F13LFxR3rf zGvd<1woPaFJNoi^TY9JKdNFQv)9)KTusZ+w>=f;~%oO!^D4V^8YM7IKKVkpJH=NMI zYS(^@J}iKZ313TDjF0H_qe+u9QdDig1-r!KySmbf0@`= zRkq6h6=zDePv5Y(UFdP@ZELGrJq9}+jRz6OK5kn86j+NKGRz*cE_erSllvn22EyMm z=76q*87Vuws>Ncyx8{yJ(AO{{q0z_%ow&;w9^De1J-_Ohfj>~Q@oFn#?6p*$k6`6X zzJN7i!Y>Qu#q;{W-??0V`|Y~glMA!Jx8-FPf414mb8L1+8|$-{5oG%aSwII(dl0UZft@f(2I*9L|W?CY~Ev zs4nXC6I6?NBkBY6ANd?Z%r}X=E@)YcD>%T|bfF;rFOeVHfFD@dqd}kdNkNn^93Oh3 zbiL5{}H$YhGp!4&t--D{s;X|as6-n zH)DlY=^3v~^0}$p6=ZDwTR&Rth>@YCFa43qjM)l$V-%yaxg>#Kn|X-Itm|j z)5nD;Z48L7`&i(Ro>p<3W24L$@ydQX>KmQ>J|1@eReEbl$-#qDpL7gY8%u@!6|=jQ zz9QFgFK^>hy|>*uJL~oA|6JM`hJX~jh+l$mDs|~Q=X0%DWB2^d4Tj4#w0r-3o(rW8 zsr%AXRhfp?@`)>oz0`?bKqYxaXNlMk;zCc%2v+>;4g?=7ru3lL7iYFv-NgU9s6s>? z?+%{5`6GezH>JOe_v|N0Vun0__+8<61IJf%`mMK{UPwULRR`vO4otJF;sfG-uh0op zgPrgOtjP4wg+0qV_KQ4XW-xVgV=whX`3L1g4(8D7hP46JCwN6$#JsLg+jHzkeEgcm z&-yp=XSQSD3#9+>@#Hr4#;eR3?T(MAE~CfV#~wXrk-FAN!luy2gBHZ!aa|RcOZYKc z>7m_L+suFAbIrbV-$wS4*w3fUo>jK2k9}j&Ed59wd`s|+R9?~B5p{ICm8u2LmcX-$ z%(csH>@!`7Uq0Yb{CHrMWBAWZ&k7zRb?K%?X!0)8e{`2kb6MKJ`7rQBP5M;u)x^>? zcBw@YN%l~aPi#i3L&6JZaACiZog@SF$6&Lm2) zzkq#FX)uYu=as^W-x=k;;0Jb`Xlcz8ha+@7Y&-{%Lcy}p7YM`wmW+r@eXY2SfE0*_ zTx4HqzXtFw6W=n-O%26#_Ae#C>-1oJ`HQU@eSgn<`UeL1KeQh30y)@$u9=CS%5;XY zUpcB(FOBdT%p?{qJtzlNxymre!(DlJ0L0}QD}NQfPn7XO=HKyS{{epidku#jLQFKV^{%euMsIp1f|$2Ws%(d)wh_fdiblx?&fJLpL>v_s!?oS3!IaDMF9MXm_Rz z{DQ%Ap9mY&4d7&Dd=B3ezwt|U3Rf#2MbFsn)OmG}i2ZN!-gWixaC{vnrl_;a=m)5= zR`$JGC(7>=`M})xd8gproJUtDjG^8fSDQ8P0%LDZ?9FR2PUfAXcR6d*gT>ccG~z>W z-F`O?Ss9w##9UVCm5as0;PzF6CuaBGIp5&+ysP)C=!nYw19g4`|D+T9nI6ork6Vh; zzAxD}v2wf~ah$fq?u3jVNGANMwDYTSuh*9=ObtE{PFFJdMfzl`Ptz=PKU)Coq@Cx> z88h&#pP1WHR#i8B`{zbK^+;#sNr7vsKJbhco$$HFwfEJeP$2xn@*`RFzHWSULveXq z!c!N&YA6Ap*mhBG#($Jlj;`>)yz_5sLFl01K+`{G@19afc{d5W-<;OEA{b6x5|2P! zH1W6Rsz-|8EzJ4ld{fW5|H>B6d8Qio&oW+%y`5XvLL>D4Z!Y~1cX{rpy7`7!?A2n=1R z298{HEdAX+lIdZ1!F-S;;)R|1rX3#YvrW5+Z*2=j8lUv9C|ha_p8J$z41c1N{}$b8 zkaFfBOTi}_seflGf79QH?2%*g$n0Z6KV>(we!%D5wrG;#twdCcI!LF z$`1ctA|Ic*p29EaJ8-K$J)pKD2f0$;*y2kCo&K3EY`Jy%c&J-gyavPJScZHZ9C#F5 z!-yqQR$L|jw`Em$bz013%_Qni$&#b>hq$$f!yrFG*UoLlWRACm zsHL@cqMSbaz7%9kWA)sW6nxsdwZY==Iuk3r1~I=ElCX2;bu5$TE~Dg%Qjqx!-oS_{ zI}@F;GLyfz7iUJeE|F3Euke#tzg_&_Xdz`2$5qSx94yC21aDi~dEB{XW?l(S%s**k zaIWcdqubY#T{I)doeF(6`C=bzs8<` z(jxsK>J7u`EDkVldesje2!7?(guRP=gt~!#*T@E^jLxNh;!a!Pu-H3Lng|S$-_zKu zALji+L`veJuuqlv!Psq<_Ya7@S5`m`RBy2G8_nAZ>#7;4pblg{ATYE~quw>ULc3i{ z8|;O{#h>GT?13ZTpWuz&AvMYiIt`o`en`cSM=8L^X{ixetH3XZX*frvIS&4JZ=s_o>ET-wA&RHl@ z=QO`B_45qAisBsd1WhrEKOKuZYut* z7dzDhc|*)&Gv8DwrpjZC;k$@=J)3pbo6*}C#p)HW+YKqlKH!( zt5lx6+Q*hSFXDiuih3YoPo+kAF6iTpjHvB_T9LO)1CzDR+EixCr<*^4-@Ra*WWJO5 zsyuPYIn&^|pv7)JQVs8iI39(zo4Nm8l{t(HcDeiJie6{q@AW7&2=qDRD0!8uzJvS4 z1FQxwD%xs2KW5W|m#Wrqpymnhqv!@F`^MS)b9Gh8 z@^R){OGntZTioZ*UR$aQRXmPAOKPX)I_eD5TK|R74WHzy6x?4vPa@HD#oBS>4mQ|UA9{YF!{$DFBBU1k^eA$zxyu{Pi0B)d zT@w!qyPvFXOh4^uaQVJeSL~j?o5-ud>xTT{5$0IIjZ&;{5%z9hApa76VczYwA|20? zMktlaT}c3QsINsXMi6NnEe%c1u3m(eqROyR=c#w zbRr&?x$=hYIw*C3Q&}}N%^`V*YpgU8{EZR8pC{%HYf&C|b?C4h?2H#PmAz8XMu5_> zuQ-h&aeqV~(Gq;4Fofc^j_vT8YeK#F3lf83m)W^gZEMlHX7_V=uG@dh`O|P5>eJgb z%c4%aa(7kjU-uZ;Z${*u)Cr^&hJ_B;)tEC?`MR~^;71?*t417W9~bdZYj@7%awh$) zoT4O*9z4jmK2_LjP8qT3*t?^2v_rfP4Fi!EiF&{-a~)9=sOEkKguZ^|DXDAC;NTi- zTje_|xG$b1yqK95_K9wmfgOpt7t7*%o_3#%-za?ZuP=)0^}~t0+iGJXOG(%)j(d7( zaS?wL0iV6f=SBS4yvrc}_xM%6ut#JL6Bc;qn5pE`0~Y!E%$kmO&?nbw~E<>H^e5yxX0_D=i_dS2iv)CE-}23AB1#;xfk zaolzq`uv_fEn_pn{tp$!J~o~RE1kyciuw8QkavB9O2BWPDnEjKrQ`vDhx`16hdn?1 z0l@h3!E%!L3-tXferdt?J^rqAfWF?6XWWS321+L0l?A_!xMZ{eW42g}5GQFuj}2G7lR2NiqG^wOn|^lnc} zXGuqb|EDn5@wbAXX5eoH-mCH2(vr7SQJ4NXN#FQNt*9%kwy#88;a1-gbB~23|C`Kv zb~;j1$BU?0`Mzy_ul}%t!&5qxU*wdg?9GphZ?oUvniaeBeeBk=`Nxe{(EHhH(vLoO z?#Qh?X90M29z8hpiy67bF;BdpukWYsW{-iQRz7ilJ@kOB0~bS&Z=fDJb`AY(01A=! z{}leC=U>jRt6E)hi|1d!o8Suz9aYQ|98TC-$5eLkcdfQL>W(1;ZZ#hewWXTMOE`gZCerFeAB z)cZO-`Od70Usym#ggjC3aQ$j<;z9BGLsOf`(^F+ia_ZGgp);KBA9`)o=(1Ni#B&J2 zW9X17a8c%iHRk88=eYh+*2?0~t-xO*G-MKwm$dvM@g+dKC*B!>W%45IFfan}p;B+C zD*XN6{BEn-=F{6}o+gWNThSvPF<&SRpKIZK954H3(RE9>ejPTT4_iyOew7~e?4pkD z?!Oy+$3tHGJor*l=J_>g+*uKQXNUyV>Mwe)U5h!y^RVDkohJ4K$`{tK*BSPWS@4Ui z@0l0*b(C!vN$ill;5kJm9|{9d>Z1RdGIPQ%#;99m;$&&kh!;n#$Zhy*^B2XpSL`1@ zX2-u7*bDlpBNCsJGSY^G-8b>PNIaJh^Tl;(dufH=D7Cwi=#%1i@`dReGWG^vjJ^^5 zM|cY2bCzo8pz(9Y2EZS!HfXo`=_#|Vw(5J1`PYpdzF^TBf3*1_#|Blsa^`_Qx-wx~ z`DrV*e4Xo$UlaSMIR4<6Gv!iZR>Yk@aYm1D-#8!(Uajcs3Hz`mrZX~rzw~?OibhOk zUjhAjbmJ6%zEhl!iNiB_C5y>R;IsY_?f~bLRpBi}E8APQU%jYoJ$law`GI_5qG7{y z#x;99)Jz?al3r5w zAG875$QkqmBJ}0$p+0jjdf##4_ls5Ms=;TLSMW)-{rIE3@C&EMH{a)=PjP%)1)sF7 zx`G|!UvlES>6VSi+-FqhGS=?2w}!q_x{rDEa3}awz83q=&Vz4|&*1L{pRcx^IMZ>$ zV7?MQ!PnYhPUnKrwf-q|48ny^wuBfvPF?!G6%+i#b$@%~YhnMD=+6)ERX0nX#uxV9 zzPc*4q!0XOogA$6BKy)(*nDjL?7){_Uim`biEM=Y^1oRT>it$DGP92I?dWaaXghC- zbY9R0hJJxNEfx<~Je+Ylu3GPSgnoc~Vs8I4u1riFKzZ| zSKwe8yR)Yz&uA-p%*}^P`aL7Ip-%j~l?ba5`p(XKavJwzjCmrFr@M`6;@+~D3-XbT zJT36Q$!Wa;IjRzUEN8vbrS|L1mH`f&2y zY!*G!lkhZmEhMDqmAfeeYQ%Fo>NxX_u)lQX+=vP8Rr941HmGx*V+#qBI=#h3zb$42 zTNj;G1~?~UqAsmlZ%3^zXVK4}oxS8Ct6?tRtr9qW_=m)3C}i^epF168^KV=0 z#a=P#?(g(Jgnvje2P;0;eXh!Gf!pE7uzNjX2hhYH1#E8&J7wy@(Ly09MNyC-aBA4m z(wtST2|V!HhN4M6Ks%ni$RN+j$H@aCzQt1Xu=qU>Y~@Kg=qz(CrC&3tkMm1gl=2_D z42R?L_`oB`;h}3KouXg0vd4YJ3zP4VKihQdojB^&$RidYzUZ8X3XX5#pDnA1ztY-6 z`Ng!yjvHe$5Q1izhm@ZUdei zeF5)8twP>9@MPhkxGfth{GsDFhT9J>EHCDV8|vRGK3SbeBz^Cux04R6p7=<6Qv9D5 z*@)hTTbVsG`0IRpRh2Q&bUYhgaxstJm&t{bmEBBkP=6N>836+Kj1-&qiamiF?=vF6 zaaGG_n(76g*EgQ-g9cP`^G)sp|6p*u`Ft^l-}*FeBujQ^Rw_0m#)n}EOg2$Uzc_Y z`!BvNF?F6JpHhQIA>eYKBTLKa3|Zg9!u|ulJHB4%;~!6_Ur)xu;Vqvo!|(C=E`OR^ z$9z`Vu{kSnp~dGh_uO3B{~@*e9&Dv?KX7(prH|mIu4fJ?TX9x-mVF2+{NV>hUq5iR zqp7MS9PdlhKLnR!Ps&Qafc+?sF)rLYm|FKM!NaONQnA}*ZLn`UEk6!C7;Z{`hZE@F zVhcq}Gutk26!k#;5wS-w!@Oa|ZZXeyJ}q>IvR>~Hyh?z=&;bjcncyJ=e(8oNVeIr% zujR7oiRqR3kfDL}Yc9*MRSu>PF`j0_zR)qXjZiOBm&D2YCZEAQWhRdV$SbPsdGNnl zc+Vc4_l<|Z{lJgtKWNl3=pj1b5&4~?*_O&DdViW#)aw3E_df`Ks`T>JwL0yjl-b?f z1nintqXR!rl0aiOf$1cCB;xUf#8`{+y1a+_uS{bfS~#A=OY4CjT(|5deWUx+@vs%C z^geLu=~lI04t|?G2~UXms(GVY#r~$98%j0qqm^C6zZj8;`Gpph=P5O#+HZcXv&X%+ zck>r=kTB4I9Y;q?bBaYi?Qp7j4S!mIfF<)<97!w*zrk8=L&867unLwOG^j^L-9|(w zAO3DHN8DBe-Y5rCMc;mv{3+|R9KudnE5tq>6+KG&S%F#jokeBtppJexI-y+wFb2MegQ_Eat)*&!y1E7sp55?=xa*l>I$R7Cgxx z#xJ3lKn6hlWMS_r4uPz{U4dVz?bY}AS{6$yPg>g+SbHjAX)if?e;oG_L?^gc3=YriKztvcuB7Yw`;r(Ux zL}4lSk6IT$F57Z3z2XP-_V4z26ppP`S9m$E=AUAoH*@Kj)D1r1-1G;v4f|w|M@46x zj?D5Oti3|lOOKsj;rY(JxnJn|y7rHo=)_ZR@T%efRs0vI2Yx_pR}*p0le(+MQN#JS z15<{<9l$TVPaDyV_n}){w*PCbtE_6+dGlkjA1q%?Bh4;@NnR|lub4#1g>MQ$r)vgEDllFTz z{>%FHB>;ZbsmUJ+9^ibF=RvQ#*U|r3#l1@$VCw&2UK8A~kg8yQNO6abTv^!ownRmMq(RyR}Elq)H8RF}}I@(^g~0+G=R*vx7sIf0!J0Iy@h0)tq*#a>$Gp?9)@y z-q{yQ$29lAK_ke1cIL^nVA1Q%DIHpyTC6Trz%7#(Tjwo!H#1A4Hl6&wFcxm9?6un5 z?o?R_+#+MqmyM=7$Z9i{2c+myfw|VMVl-Hz)2H{;>yo$BlCP8vEqj4zoU1I{tbSm zkSKM?{GY|~k{7fqo?K4H53IUI{evAkHprR5!{k*<-R4_3%=ou6ij<}@%$>I>8;3gW4ag|%LT&Jk_ z*Q}|tl@C!r5g+8Jv3K_&;=HDv{Vw`0ErlvE01|4}(3LYyLyn?ceCWi- z%qr_w^n>Xy1nVD4K z(7TrT+>EpTjcqT0=h*^pFo!@xGVlg@0R@5(Qg#`8Ivh(7-!<^NF!70b!MM+@zR~}jc>nU#b1y&}2v3voayl!xUv7r| z;yi!VCjEY%^B=slMBFps@A>_Do7OJ+K-69LLU&SzQvPamNSzx$ly|POUua1mKKj3U zLWa@*`L=uWt*!gaDEfw(n(Dq!D-uiak&IYfC_a`lcz^s$^^!^bU7Pf~&4@{#{X*Ob zO2LNnY{bFuIIe2U8<~MSU9N(`D{FWP8s~$(&uG}M4MLJiye_RNbeQB5;yM`EGcc;l zdc63y;QvX{<*)602|F@InIE9uxpaAcUgGZ@o%GQ~zHrpA3|`T(b_;vA$d^=}k5p}0 z40{26$z3=3eWJ9+(s@-E?PCV-r!B@s9@7rpBs-KG+T+hxC#IUORNHOeDpvQFr$&?M z^HTTn^F{ymQtx~Hr@`w-hDN6Z&o;cS-Z;@h0Niv@djvjxS<~lo7d%C;iT!_@9i=|9 zA_)eI@i*wWrWd3j^$mOd#BnUf#-=$B_{6=v_<@L>gk5THcFpJF;rWw#urqQ{__aL= z_AU+ijW$;SJ#SI>sUx<~A@XJLJ1IK#q^LWL_6P10c%2%!@<_rSN%mb;aR}BB>QV^Oydp1nwikUOSAHgg1vYq%|8+FFyA5`)e=9i;e>Xc&9C-;2y zw~XJfNuR*3sB0!a_P%dRo0|7M=8~Uo-G1y*@OTCd&Av;I;s%u2@%{$fK&tUgcs%fX z{cm!dBnH;LI{c5S%)T-w{AFs>adRhf1@_9<0*Xt`#p_Sa4X$$5{3X||t2DJlH5S~0 z`M2b+`BwISe|1f7`=Y0(r(%jY%oqCS55dp$Y3O6bA!rmw>pPk2u$$c``ukq55qRK- zn0v#f%mdZnefH_(z$S0QOik`={lmcOw&Q7@L-2MrDePV~2Z!q(qE5%I$!8$e89io1 z@MXn)LKY2sF79mcEyN247!YJ^lte43aqnzg!iPecT1Biv%y~Xn=KFV zVqg151^wVfb>a=|1YM;e?sP7%(T|>cHXipW&CfPJQR+wc={NI@)AocB95VaW;+TEQ zX{$R!K`=N>eH_oJamO%5plr+?-O%q za{FK0QIoL9zu@GQQ@)N1u+>y+RnRuF5_ta2WHN$%w?)w5kg)&Xj(pQ>iarE_g=Sl2TO9a=Ir+}8+a>mp zw~c|9SX_6Xw`dec)w@OgFaNA!O5lGc_8PW3mt_3EF+H~84-%!Ne-@w5?MR6Ggl<<;mrK&QnWW!RW^SLJSXQCi;ed=MI5{= zcVTY_iSyB=;nWur@83DS#Ccm0%=?VR@wqjNx&$11anvyRzGy9Ftbi2dG)p;)y&{h# zj}W>_1+8O^TYrG8K4*_vG_&|lIGx|Q> zR0Uj6RsM;w6<8je*dzLQiW#eX9z3yZ(-kXl@s*O2=C`FD;F+q>N%D36P!4W-w1vdg zXcIgH&jtCd@kdLOsm%U2jhM~u?4|#=!u!!r1keKwErj}RG>E#xn-F@SC8@y^X3WJv zvvf*}jEy;+QkSx|r6rr)^3T3o#r*H>%Ua|JU(27s2jHvH>s#mZbb z20C^V-vc*(6u!{v8GJu?mkR=4;M4k(+nds*{;Ve!v3d+(II4xY;ahP0{6Q#(GM(Ysu>tu=?4z}uH)yT{?8vNJm;FW+b*Bh zBjoG3fz#-a(Xi8cH#LgBUFGRb&uK1KS>W{MMq%%3|0rYcD|*KPKA!vmegScn=PY1P zT*Ge@H_>a7c?C|M6yGl{zJWh5+lu+3A+=X-DYMTe~<3BA3uZTStE-w#}P_6I1l_usk5f}9WzpL@S{)o zZJ=Q>ahI|+UpM28|3C_a_F9EAtK_|vdu*ku>&g|a4cc%?{p(WK#fuMZ7w>BrGj1uk zsb1J&@JgTo-MX2INvW&B>+j&YM=bPl1Wt)QT7%AYq6`=j*P$8$t;zSq-vy#pdueq# zWPl$s_EaW*p1Nn`2Ns@`=RB);Z(mRTn$3?duaB|6Yu!aXhV|qs-!>xunslZ@{rD9M z1~s^`inby5H-C4@Er$>6zg+i@x){4fAMJBej_i`!zgp4zo4hCm(c{Rh{alM73%x2m zVeHfZCW8MY`29!Sw|^}KDZjJw&W%+~O+NDMjn0z0lB>tBs8QCltzQ4Nw)5P%FTWU^ z1UF@nnEOuuttGqumEccCzgL@SdUxU}w+CKQ+im{`aG`hec=~z!hUul;h#mtsbZ&Z6 zW8P>XY(@eKdqv~ci9)m8naa$)UD@q)mX%69k{7ze!t5uF<(U7P&9hqMzI$qFw)_dc z4`0j8m0N3_&S??Z8+P_-%U3%W;n7|*U3}z?()-8o2VD`E-6r? zJ}}@7WR^z5;`u8X^>{^m3)6p;c#S6v3x5?!Bof1xz}Mr83eRC+czWqYtBt$}{`yy$ zb@w7ywJMjP4k6(4K7kyKWOK*h&lKOth!I$OD{~k3OM8pkvn?~Vfj`OcA=cb>ey({c z^3y;-M{h4vSX`iv+;YeL_uZ#rHzU>8nF}H=mon$ur3K*cQ8y9a!Tr?;Om}}gY_@4_ z9)BSt2h6tYMa>N^3SV*Bp@Clty>J=+AMjRO!!MAhEy~fGH^Y40{91|%{eM~5xs_S5 z;{x;j6330(nlrGM#Hf)mc`e4nhw$H#nz7Dn!e2C5j)FKp{z6e0VMVL+*s5OzQI1(Pz$Td-mT4f61-3)w$wvTS?y)Egps-@Ny#S?z2&^tcCAe zg5B-^+>8mnw-mg+f;MmK#OH-AovUssGZOVrhR`j>8&p-TS@We4`08`yP=9*+6|Eha z(boA3CyQf~YS*e=J18UnC4_?Kur8Z@;x-@uX?iEodmk(L5rEKB&P_GdY_E^b$ zdYr^f#4Vd;xv@XNo7JfA0)ppft>``#Q!0HgU_!eVZEg~ukAHp!SwC0v>AXjUAUyCw z;B?r7UXQMczP&nox}H4-VqR)W)HU>%EBr-(1EWU@i11AcJTrx>DsCgGKMo^$zm zKHmzs#;&ROwYCHwz!VVktX40d9}shcR)o9=LvQ-9v6?xSk~P<84DxzpD)8@IPxyVp{tuzcC9{WtwOw`te*v$-UWtxIp(Ehe@MHO< zF`G`^HF`++D|CuI?o8o5vrQ6TTPoiFpZp)(?Tm??TQ2uXUXzIDiU!}iwax_BA>u!j zbn!e!^Vee4;^!GRdvnG0`Im2Al!SkJqc|#F@lVR&`|xks%Qf`68S!!2Cv|2PAkIvMZ$VX{GA$F2=@-#^0TLr1gT$exp{p7!TWSF}j0w0teiG8QnALfq{?bf2JS+TJhfGBVs-{ z@Ug)AuD*huIU7hU<`)i8BnAUAuqMrz+wC3wuu|8zs( z2E9#Jq#ltUpo6foUu4@0>+6*Z_L|A?WW!R%mu*gTG?Z2+QxAX}W;-3u#&^kwNTjTQ z)KyhgU9Ar^m9wYdwrzh(53F8&#~qcY%ss6C=I-5C(d(%A;0AO1wPnZ8a-FH`$I~i# zAa(uWP0z&9^)!V3Ro>+~?;F~^lvwcTdzu=V-Yp#(uGpO^5ph_Hp22WKuQTV9ajT(I zLx;c3e^XL8j6E{PqxBYEU{8$O=$d*C-fT+knSRB}jM+?dv_@U(f)<;jPo#y&6JEeA zWCl~S`^gU+MV^n;8Rkx-{f~juDa}VFA5&RKIB|OUX<)$cW%3c||88@5>aloUbr*MU zY9w4bhfX&!ADk>LKkYrp-`VDdwXRYAzrI(F3Vf31An34A)tzXKYNb=py-)Vft@Hi~lR`4hx;8i)|s1dNG z@1HjJF|P)nW$Iw4*$@AsqR)J3iN2T?vDzK1=a3^tkadGDy_>#|k%0#Y-!^ZNpNM>f zOrP_iaaxp_hpbn!@CCJC=fM>GB{itzM-qHayU~=jnS37Mu~d%C@5Ekf3$KFnX^Zyx z*Hm!y;(|>67SCDJa&U@yA?7O&_0`s9T<*;i@{@4_@bX1DfPTjvb#F7r%Ycp)EU%?} z4qH3+J8SQsaqH2c9aUvx%ghx;!SSqhA5Ydj-4X^@_OXv^#(U)>>t{7I2-p*`hctjZ zWME|v@bbsrTHd#|FkwES2pvN2?G?9usd#SxTHY%5iWDZaz1Oc7mvyc;?aWex`KeHT zAt!YmFTd^RmtT&5o*vzE(Oy#jwwPxO`YM|*l@HB&o?d>_+)Gz*Y2c%&<_6F9QMGUL zQ`Kiung7Td-HFj;YAyIA?ytp+27YqeZGT-q|9a)?S1s{CxnLn7W=u?HUGG0os@pT-PJjRV0K&|}Ci|G^A|5rnSjHiNlk+U&1~PUe+j zwRhU2-f)CFl4_KHhreI`EOnxy?m6!X=dD!w)ByRo)7~*`?qtYddK}=Uj4{{DOTngR{?Z9JLjvm#N!Vg(u11MSM^9PQ&lDGT;DB z3n72DnAj+A_o|Mhu`k6!)Ai}}DM#Wvy)jX*@SH|$=sn2P4`Bp?!5wy^x9+aQUY8)$ z>(txe4GybIW`B*1zT2$O5%j6ire`RNGRvvSXEO9T)}NKTR&j#TV6lmIp{kJwiTtAC zkQ`8z>@F=iA+k3HUI3(FT5V{ypJVptHkT>MdqQ1yLS7cC4on_EW|lpDX5qk2j|5e@>Y*{ zu17}3G7_)0k;FCZ0bN!8KB%|Nn2FNmPo$kPU)GPmi~lP2e%-ohS4CY7?@7jPER(u{ zpLdjvCS>xGrI^FP`$iHit#SSeUOrw`~h;{;AH=a^Yi=M`E!Q&dC{8r(jx!&hY=1z z*U$22ZFT--7jr!B{#PsNX)idN{$Rv}K40Al;v)fH>%UniaL2(!BmFm*yJKQ`cqBf$ zRQ|r!-Jp2cvrQf${O{h4=<$%31YWw$fqszOJumd3{_iW}`c8+VCbe9bU*Y##fpIZ! z^W_7d>wCn!=UVCpf$N$3`kZoFQJOw4zL*V1l4cwDLX&S-lXLQOkEf;O+*Pg&b%5HQ z-kk>k$cOcSOQV15pZHtx`GL>VPdF$r#xGM*`M?vR`7V9y`%T5WIM9nQOI zy}uc1B3#@1Pn(^oWVl5c6nlXb*ZR-az2Ig+2=n^v9S$!H4Hw8mLaH>__ZWv++yCjd zgDZM7J=^XUeGKmhH`b@BoMo3k{r`A+_uw|_G;Op|4)v|235!=*gE+~kuP$q^?Ps6`@GL9oT@MZFGT;2 z#(5U}cgCc7SsDBR{9P_s)l~p~0KWbn@a~~QB8E~?CZZ3vb(qlj7YE0;`H`T^9c=+` zAr9TsiEZ_0-~;c34vx>E3?@6KVfWnjjnB~QD4YdP34RTI$dk~^$t0%4^3SR8Gae&u zZQ7@Ik67x66lP`oKF=Q3p=W@&k2!a9E%7CHOm3lhlrWVZfG)O&b*H!Ag&}Z*Y1hfq z6%{(pcOk>WjyPFSZXXiy{3qytsPG?Xhrq8H?sUA8X3aA6hHF`TJ)6(ZQ+v)uO|Vmf zy-Au$e6H#f8vm<4A+5{!C&D5@Pez^(zo8U$1NOrUUq^|A$1cos!C(3>f!ZsHLC^+T z@LWpTER0C6$1`gahlzCi_SeXZ*KUTt>#6=|i0fG~Klrvuwd|!&rXjz)~SZp>?2_)JuuV*6tE#Th@nelhV z>j_ zZftu@fFrA(y72<^c}q}zc+RUae>e8m1s|OQOl!w$ApDXELk^~zK%@nj2mku}l24=?_^87!6W*2X`y87u9 zh(gY5qD1o$W4Nt@;{LwY#w~!EOkbv}U?%14DR z@cX6o z2yl8`(j4k}Q0In+sXKd4^`HasP?bopEU+JO3DgdhD(q{yK0D)s6M_?d+~~IHz90cZ4hN zM^S^vD4!p3CjX)Xak_Z8YD+x!ka_&`3uiO8iz)9H>@e&U^J0bsE7!uU>zaYndpDku z>+e}%(wgAOBM=%O^t=&7I`_&3h5@n0{lEUHN8m@e|Goiyn4<0bB=J(-&4H_Ho-WS~ zL60eq09-x3=8(;5HM1eRtAu`H>sQz>@cQeoixWgzMxT(l=QhGmr%O@2`}ISI0!>}w zc2g9L4%xmZMUu>9%;=(c2KxWt7tr~pD(J8}M$*HjJ%Blx)FTZ zN`kQN<2!Ff{INI-znnMX$ip$WoE5#aK1>yyf*3^Kg7imWW$wkm_n5Z@epGq*kdD94 z^XDu&>@a4^I2Ggv9_PH?G{*+-uWD+l{z#FQn;rW}0CTu{J?4p!H|O&n6?PXb_dN_L zdbdQ+d%z#n)A)L?*{sjA=qFgMe~i-W>4}(aoQ(Vwb%`tC8?PXWVjls&pYn{*Cy8YC zLYLWa7iXe2Jz#WZyPkNWDw%A1N2)8YL%(f?eqTzUK%&2I!=MJu2MYQOa0^bxm=@{;JQhm8 z1(aS7aA&T!?Rg*g_-)50evL6*$HhM-d6eyyf(E?|A@4U%tQIR%ywLZ-Egxe}q|&F- zCvv=!@f|^afPIAq_6!1r$m`h4=_pz($z7x~Ugy804BGdAk0J<1lt7=Z=c|W=9Rlhc zHMGV~?N=Pz_84%!)cU`2z#~>vwEP)7PUr%yJ>>dj6a&LIFTjq`Z_tMt9;5rm?|#-` z$DDA=S)L;{SrQjkKL$R(QyJdy6l1Qqx9UUeM@jMgh0Dk%pIJp;9vC1S9Q!$)+mrv&`pbLnsi+8#8tFOp7_N$;jf&1s4Euf+6 zp4;GuA@{W`Z{Xtf=aMHjynG4AT-|r0fzQS2t|!GI$lWum-V;YafA`M5t0Lbo@NF^R zX+Gdj$lJ7^7Ks8x(U!_)b@)p^ZWz4Y7Rn!l-EZ>4kEoO1KS6P|^=fiM5q7y!Z)-r_ z?YVVk{nI_oe5&f*{6FzItLf&u%Ih)B&rE)ND{P9AT)MyU6~AdFb@6j<`0~eBQ1`&j z@+BX;Yw=f3S3Xh=oDuTC;2Q~@SeIs57Y3hg#eg>)+fd$1wD{>p@cZHwbFpe~%?j)l zo;1K$M_-M`llkIlg1lFo{z(@>zRN_~yHvze$c=jSps!pvkYSPX zQXCK0F-;Va!+FeLK7*eBQi1Ywk&nd<(LkR6ZFFD$`ya8`6JJp=|8?~*(GRN7CEte# z!}l1#t1(w-)e#R7c1%WKvCRYi$5?amB~KgtQAoiaNC7yS(p#(ZX#;qC}hE+0!@3s512<(k#rD`6zJxeA0ncHxg7tc?0+=8cYSRfI8r`U{l3`ZbdeAj z%){>RI*4a8Nfy_OeQg?jo-98CU$xvfBSLoobJ`E7=#%E6V2DzG$rKb0KOe!In1P?4 z(Myr?@9SvT;(4K<{eeDe(Qh^C7f?4u3Hk#*>IqY)-@9M*i%@p^Wn626e*gl>< zLbg+VPA<^+8pQ_|4Jnz2R!+_vb~3<_VZ{mRoWK~I0(FL&bK-M_5?|F^O-eUk3~Sjbl+?+5?i z3EiY8VfXF!?u{Gr>CtnGEyXAELUZ1GmU{_&pcSiTxZz6Vx%s3LL^}ZdchS8>h++gL zUPc@jRB6r23<7oa`{N#sBrM4zVz2~UfDPVhK)iLbhn<^foqXYJ!zSQ&%*u1vTY&!E zt+PegrOzS8u0M=4pr#OZJ%W6Cdeux@j6r?0dXzw~O5txE6~T)m$Uj^@WXH^MoP^Le z!|UVxX89|@2bQkKT-Lq#8hrI5)|M%+*t|!20O9lHWA{nDAR~B!v&z1Q< z_-Dc!?OA*c9$725xbWTIQJ^>8{`(eZj z1^5T>18)HVAFr3UCj}ONzd$tjANV6JD{#2Js3peJ_fhjeO^t}pDep6Ae&Eh_dD>a@ zhf5B^i0DgXnc9SieuX1DZ4;3nQC(0S_lGE@B?GVTKto)_=i%@USX9I*p%AS=eYis? zKv!8F-48N7}-G>ff0E~nDx{TtO^ z4M(B(Us}ffP3)a7MVRCS<{Vst$YNiC2ZIWw?dQw=QZ;yi>WmBHf6{lDfb$zWHoQ~A zH+QW$-2n1zhSB?1i!&+SS$x~+Fqy6Vx`DoCj5}NJ++6+(=KnEYviy(K{@482^?BLe zht$yA^jGuftDmIt2-Q^`=)pb3*H^ENfiRT+J`6l79$WvVKD?qo<0-~yJxA-`RhuYI z&AIQiBTvrhatrkLQ{1+z^2^k&Hze7?egt?jTqx^m=6aCPEZ+~S{%iNOqXKUL(j-vNH%C~n6r33IQb z9xiJB>Tzxm<(x~zxin>j{p_yvR@ebk>OBsB(=I5(4Vwfkq}g^g@pKLHivw2;314=o z2TLsi1`d3a$vv18^ee;kbu)r4N!!3$x3#!&S^p%AjzN7!KA2Y=G*b9Hr1|785iL=*bU^Y)LyA96YO06*CJ(-kZ3!TFa; zN(F;R(66s?h<2Tbfx-Nb$DdN7*6k4eLVJ?U`s2$~EHF&=Y`nZ^Xz|ZGI zKV$#M2!KympB~rcc2`=f2CkCHBmY5M@5_O213TkMzb3q2dT9y*aVo9T0W8z&%w*?F z)V{wjEJf(wA%r&h zWL7S~V0GMYT$Y*Qhzth$sUPrWLX{*S4$;0meSPq^v+VY2cRS8Ya!dv8*N;4k3ox~$ zD8NskKj>G>*IioD@w$-L<_)(Fonz6L+?8lSy&aJb-Fg9LXIebI9@V19pMHD&Z_&SW z9Qdq3WwcyMJe(fLrHDrys@@I1f!CXCqr4{j?#X8#%nM@ctPgYF_t{VfNHkvKRD~k` z{t6cU)f^>0B5~;76hty$>=FSi>O)PDc%V*$RJ9JQvX= z>R;~s>lzV#PewiA6j8=}ck7#*M@_LfbpGb*%JK2@g?|L!@=)od0sTyCP3a`|0^lF; z!yh3kd6J6_bufGD`9&Y_^ZxebPmy24PU)O&2LCDU^*mg**LN4*=2NxI@v~w-?3!7F zxgH!h;O57{i-G*e)ltmjj?_%P?EDgQc_WQy=gM&&s7iwqd4T6?%Wp=2@8!=Z!xV47 zc@*~<09|7k=Lc~?!RJ4nE%retr<}KQlec~YUVY`{RPk+$!!d22KpzH<4BlPJw`j1Y zI}KP%*eraBIt4sg=mvLy_6{6@qxc}=htfIyAmd>VdVgc`dmZZGJ39gIkBpyfrTs`o zdROT}cwa*QBS87gD)_cbL=k=cI_hWwz7KTxnOdA@oDY6}iJo6xx8j`Q3YpD)HV;O#o*4^NoVQQ^7!uo#5ewZoBJ zQlPUDx7udJ-pMv+#>9}}#FL&(Hp>pT{R(cn68FWODb1Jvp8HCs)_`4FYwG7!_#=my zy-m*#c#wjQ=XWI~L;rqi26*AHC`0!7zg5Hjt5>dE$!;ensr^&C!@;ew zt3^H13tB6Ks%S6P>0utf8v9OorPOcV3%m|{K}4BEOmW`;coAX--{;_OO1S?z>YXLO z62RUs@Pfo~eOJW4!fFf=^k=~XlKP$ljV4n%(bs4J;bu|eT(cBk0FDR0WBFe2iIUGn z^SiKD!QRKD&^AV7=pR^3^%V ztT5#lq2CRA*QN1CE@8gEF}&ds&}~-S41?bY!I)L=>8F@!MMQiYq`Z0X9)3aXe%nBcN>s~o3>r0eK7R9hgIa!L^Rw@EexKM@xB4G z75yXWLfMZreY$ot+(_j_oWs5$5Yvz!MV6aW_V+O_)gp*QT3t)$6BfR>0o{*yrRPh% zy8;RR#w6Qz_2k}ow9xIpQJK|wM z`-u*HPEj*QtM@GKraYE~Lyf2pvDfK%^6+#-%c+Pf4%x-i^HK5^V0Xx4z3X+@xs=mU z_sb&Yj=@hXpJx&AO@V%OBt`8pk|jBuFKJeQBDTt_pK%cDC@mwTzW`mw% z0-ZD1^|#rKm&M$`)YQHAmOf^;>iAdvKIQ*z-HPu^q-g1<=iOAB_Zku>kBm?rfFa?o zl=B))z2W?z|Bu0GB5{N5PAB{qkrtM<=;R#c*bX1U>1W|*9SVo**P^$xxK8<8Qai!o zdA=lIFA}%w-uv#GVUdq8nolvnyTIpCQsgxDI>#+U_IW8^nP49a;wG+J4HQ#UXH0i{ zeO@OSSE0uot1Mq93Vl}g?WQ;>Cx`c@us2Z+2z{u(3tYhHMO@^40}6P{jJ0V1{y>D^ z7&3Y>-ILLgmt;<0URdIGflo2bO6!_H=Mk4rSMwA{TRx6_0REt!E zqag{N68J_v8RWY>_HNXcK14l*f2ETouoXhE#0?$Nd_KPrX9xXRua86ixa3n5v2#tG z^V-ps_LzMrpkQ9(8(%B^y{0+vGcY$md9WCJb6)?&#w7A?C+6Hc>0ZyatCP>b>>bLW z>lx7GuB>|{yhUSd_2(DE6Sv#jJqphM*0g_#4K_WSY436R`X@GzVlHLkFKrw8AsA8h z#kN{U>i+tR2{Hgb5~)gXgHFLQucEG;ieBmgyY*p;Cni77|3bh#^08|r?>(lBHxa-4 zG~GkI<~_F^toeim^E=W7Xj^IGpkV5D{$jnTbB=pPWhjzzyo zuN_65OHl74?gZx=(LP!UJ9ndQN{a9om}ia{h_|U4D{sIaK{EoM5Ot1MK|I$3OguF$ zQv1%H@URnX@4bg(-x|-7leGUQK9{~o<3Ed^&v;7cI~dZpGqAa?dCV!25!Vmtx6|`VsW|=iT;UYe@g1qZk*a>?9u)e%c;Xp^aS{0HX3&T$#KGd0 zc4vB2`jl+J8ejk2Pl2bRo?wCJX7WN>l@d?B==7BOS{53CYx5Id+lK1WKJYJC|x9;U@f->dk3WF776!;rbd=??IekVk+gfWaD3YTAQwf&@D; zae$uh(h=~imY68&O&Lx3h=TrTCR-#*2z{o0OFWEo0eWWd-{1TsP$zvcb7mDgRhKSm>dC z1H5yz0SMoEz_*p2J2J$%blU@u8^{xLB%OhM2E4vm_%G=2>RCUF`S$6##zuCS=65wy z+@K0xvN&%96!*ZAH=nquxbMHezJBfh_+kEsz#hMjQaumgZG=Qc_%(R7I`|`E+;pkNX6SHFb`^gr(%xM*UMy}9tIO%A1CS@w z>VZZqp#{I^$T;@sIef0y7T&=gUuFY%!GM!1T8}HebRVY@s(MW7Jp-7tSE8?2tAJP=e-h({*mdwRE$&3KGf=TC9nf)YCR zQ_9~tut*MJ4WC8&Vxa-)HS~Xf*w2+uH9iA50On2#^#TI4A#MCem+RU!GF0lKdHBVJ zxs9OX))c-%oq#ycqR%)T@wXdNxOMvd#~uLBv31018R&aX-pFh?J1>7cmk41ZTs*%@Er|5Y@{3_S~XvgI6OezRV z__w?6jw;p^d(=@#719^HL$TOKkU$}S1`W5Rr3r?DNp zQt%LNc=#E{pSUO=ifd;cg5T&SG3XehUKz2O?-TKy;<0Q{2{1Ep%)Joz-yc2qy%91b zT2}yF>a2|{0VkpTnv}I^&gh0W$Nm>Xa&6uE6+UmNm_y!y_+E_F)he(b%y;@=PneH1 z=5aq|$$dL2!oG|F^8gFp@$}Ntv@%TG3emaZ!BT4uy6B2r+#Atz{N$vu-4f`?z|YB` zL7`ufIE?Wk-WW^=QZ^=%MjhgHx*RIS=QYzIYR3gfu8zfZpkGqXx6pUzS=`Tp2D}{a zgD*gj41QNcBT7L(HXg-3Gu&T_530koe}TFYaruGAlhg1g0S0s>5%vk(Mx*!JlaHoU z_!F}&<>2t>W$N&{>t3Nanc^K6>M=M~_ygiMcy>4b#q|{Ov>I$cDD#6Cj>9ehEYNrh z_D~*v6!S;eH-YO@qL%v70QfPApP{cybq|rXp}vXcRMZK6G?qBbBRDepyeg~R5oQ4R zSZRRjL35}>9Hija-HBgOePZx!UJ(lLPbcq|_ZQvzbNDd&3f8m+J=i?mhjIb>KpB7X z^z18i&fk8bDjb1MuziFKffb7SWVsP@2A90n4L_?b2?gj4Vjo1w;kb=_E%5q1K=Ian z<-#7JZw#ruz2oCj)abOL4@m1mr2XhW=GG<;cjnCkZP-?D=kdvmbRd6j)WU(>T2eqQ^~fovuz!D6Nf{F@hZhf9tvS;6n$YDSX7jCm(A}{y%&|B7o{1ySKK`B(ME>e19EE*O6Mo_?vIlnO z5D!bQ0)GW=czq`mQNUySVeUx@obQPMzg&)OcpYOArpb8mZ8|qB4x(O#zaTgV8XC{~ zU~&ukS6*>Y=+H{ws}5FoMsZM8sSUV?y;2yR)MM zR@(iCD;@2y|85I#UYy5n%u8BS)D^KTVb(1uLCE8br~%(F&rg|@U>Z29(g!>N_;(Io z+`#^De4enIGn&;xs9&=|FB|m<^fA!SKwly6NmKs;8R2?i+;`YfLY*!p_d>Q7{c=*? zchdG23w>_n#fJ%W`GF4w8y-QKxOL*<>I1g;l$q@%J#3kVm=Fg)1)G<^2HN=*d5SM z=0O&H7p*SGC%x=$jWH1-g`scHGsywWMVgsZ`iLIzVcZz~pR#Tj&?x9>c>EhLtp1&4 zgm+v&w(7TNqw#kl>_M~%E3W?w`~h%A?9)OWKInQC8A!hrv)0cmLsg*f06+Y= z>NP9qOVuaYgUAPBr7^^N2zs&d;tp4YVXEHX%J;YWFc z3(sp>^z{5~E(p3$1v|V7`hQO6@ms3<c7s)ONY=y`?R*TOxg zmJ{;kRIbV5ymt3#i|L6M$*1cZ@a4GY%f@G@-5>Zefq3i@(kB-VJ!q?}z&Y6kd4UY; zI4T(kvsnHCG7b;t%cDif(#DguIPU7nt<$Mg4PL1Io!Azv{94yEV~Q) zLOsc;{1XW0j>hnM=!Mr;t~$5zRoXWMp4frEC#uK;@NNF$yX!acsY=s@vy)F(00@{p zYxHAoR1||7kU!INaja~&oV>q>)@O>m&x16Y7lZpf4DOdM;p@=(fI3A_mgmiSu-Sue zgTFbt6Z=G&26YrPwmN42=$)NB9EDR&9Kb_ly~+XCi->Dfv5VFV>5=de@Dg&gkG)(f z8ASSFuTlEc!f&v~u+lz7yx0?uJQ_GH_8}%eTBN#2mh1oGt*f)#7oYz(T!FLa34E@* z9eHH>fm_%+j=j!rv2?D4cfIw4Jr(`9$ zq#J$z9tHk5RuMSC1r6B)|6w40`_W%vx7t6V^*_}Cqpw3k2IbWf19(JbO$_7Bbub(g9~c1< zJT;Eul3MORkuSKx&k>V*uCJ?2UfW8fW8cvId5xM80?xk`d2zt$^pyLT1&!uU6u%Jt zVfYp{QYOMH8(U3C^4Z$FjvVqKfb7{vTG2!aO19|h`X4CqJu1Vm@- z7a{ZT1MWI&5q2-^6~V{y^>NS(NEPh|^`PGzL!XiaQSRd$=)HhvQp61%8jmoY?B{lS z(J)**bQ3%v#P@;Kzf0jiW1c(BDDxfp$W8S9E7A8SA*B5l==q_30FMd#JWyYF>|@nC z&<=<I2;a-*n6zT2|xgB zi<)~X@4X-0)&EKDKK~>3eYk;&)eEfa^5u^|Uig^&4D@*m8ArV&%d*kE4f{D=&11-&D+K5ZlBWtY{=&LOMMfw!9UB(zsK1=fq4s~zLI#b)YkL!(Ft;NQ7Z(%=g zyP%G&q;rNNYm+zrDOGR5zF)2r`G&`poZCiu_kEKSFFR7u-F-`b1aml%)ibSS{Vrp2 z-bp|ArnBdFA|6}TzjvbtVVP<8mq4qucCU`9j!;ij+J`^*} zAAOU?lPsTpb@WY&LwWw#2>(I&hEder(+++ze4)o*qW<;#&ItU55<1_5r?!n(*B*dA zv8fne)N+XX+|+CXo&Uf4#Tfb=^_7@QkSY-G*~w%J%6y){UXb5djKR6zYZ}!H+V`V_ z2k*VtnHoQyi25%9*O3*a5K$4&7)B83Uc^Wyywh$v)^43c$-1@Dp>o{!+TE|0jH8 ztf2ANfSnZx_{H#Fu>|5f;%y=CanbXn6f{IhuxI{RN8i`%QK&+=l!hA0C@*TTvP3t6;bIdPQ;!dgDqVqx2@)s9sN7 z+wrG37=H2e&8H}?zkIqhKArjc^xPHf?YY!%Qck9~)BHfC`=t}S1G-+n0*+~2oF&Ky zTs{<2iv#()JVCvkD*kNk_*Key*XJ_Y= zM)$f;s9zA@H@cCw`^NWq*Fxso;yv2}{!EX+$)gW%#W{9f(;tDHugQ~cdWOb(621N~ z=(+XV78A9=^O)8Y_}&2YNWhTvLgHR_SMf=Cd9HEpQTr6t8(jB^eFQoq6$O|kWH=NkZ1$$3!01uaW{2YNENk+K%uKY6X=aImMSCOYD^r6-R1pC30 z9~BSfa&%r*3FH#B49ySQvJ4|iV(&vlR8~KI;3*RpIvnk}{yT;#@~i%M4tr_*%xrks zlR{p8C(KIlBg}f$2m(G7?wk?9cL4uza;$;Q^{l&kyupD+$C|5#bPsM6aDz@4_&xT% z>X$HX#DouuyTG$^lw9Zj4`*|!Hknxa$W*M>Jpb?Hnf9LV{xx|jJXVZGP`8lKp$bi# z<2P==IJJ4~-HnG(o->8FxUF#vUXA+%+2Qo~RP+ZG>?0ImH)5@(u?JZ>)(>29kPT`P z=p3V;!AyG!Y>;%mM|n4}Yq%d%+ngG_|NfB?^5hTvAAH}fH`P>%z~ct`3&7QN>A~rl z8tNCKq@clS0%nGp=U^uehYtUMzLCxL->T-=;AfXNZ8Ac7uK@mzNb?uX&-f;hk9rl{ zf6OaqqES{(ZpZQUEAqng9a-pbbe^}{I1zo~>L|(X^n_0uA&PI&I9AAJBLsifWY$ZZ zOai}{n$lR=zJtb3ZZLc><+a$@kZ-Rg?(iugp)Ufy3l~B@E_ed8K7g)72KPmdNBfC_ z{3TKlye##nsOJ>;OI|Gbb-ca?Tn{WN@RS81NqGZ~LPVr~4!j>&(Jrs{2h2$bqMPA2{3n%-sw2 z9S@=*P`IpzXkH)=!4E(PAl+Z}Yb){wdDiF!O}v6VX@A~}M#AE3V?FS}(YaY80J&83 z4>!I5_?cPtM=qGjw((%4{s`r_>&`bu_h$TC_f_&)>JQ-8u?H!?r0iJzNI&X$RR+F> z1l4<1=`6zTSAUr<*Wvom^@p(!bmZ=)n_qxt!(UHv!@%=A@ZSNix1$s1L>lmic+x%j z2(D8vi8NpE} z+H)yoVzeD&Kc>Q&4KLIAT&JpdF@}uKLD_=`Z-cr4@!!i=pE=)?L0l%M3W)zXi!s~^ z9wO{*M1hW2ZEa#IJuzbL&(6h>AHx1Px>p3h$jTG1G6?K*2MjmGtCQeM0v=|Rkmq+; ztIb?{lSBT^BM+c?IL|j8CFMQmuq!D-5YGcQDIO_|pIuYd0eSrY7K2g5|2AaMbZ;sb zMBbeTUsnc>hWv%a-g0KPAoM*u`jA$VJ)>8Z!HQq_FD=KEU>^MS(u4?obrE;xR9W`ySDfcz4LxOVFzch=J*J ziJ|A*u{^DDv<|RN!M;g=@e;h7$3FM}^MBlxmi{jKI(YdMtp_SALbqX0Zsfu9 zMo048MiK@CaVF zR>1Gekfo>hQR<(`p?@2_6aR%+m3NeVE_oTTYky{ER8*x;*v*+<;d4(=of13WHrH z&(r?9^E0u$H%ND$;V&~`t?haA1^L!l9s7g8U({T`o)=m?;meadsNRPXfV@h{ zL5d&X9MJvay^bH#J;E)w#9v(jAh>aX-F4_tC`1C_{ajPuLV`}EwmC0H47KkSrrf78+4qjooSVZP4=eakI` zr0Uz^D)z!zuur3J3(5x%JGg!m_#wQ}=S1BeuanN)edn|yFb$&@z|M;^``>K%4a#l? z`*XUGzGv2}+uFekbKH1$|4t?Y{^jKLo;>Et*ojdm<%^8JyZU85Mdy%`U2))%Rv{VYXau( z!Rxb3PNm1F4y`h11j@Sn*y|VZxbosD!AlT8b!mPT?n{2*i<_Hhyx(y32OSV$>Ib`L zgPc5j{<{c^xOypbshxD%JEwQHXCAj~d#9!4#r8E<^fn=%iL6VC&`%Ue)ragL{I$s8 z??uqBWMx$XPZ5t{>?`oYo_w$;?BS3wpX_sx^q$g7_#9E+Cf%-ZO(pHaS-Eozf?qll_Hw(- z@bgt(eLG{)`Q^8vXNHD2`sdK$iGXJ#g2zhp8`Rgx&-z|k|Co8&^J3xRdX@RRIHrM& zp?$rw5B?{>&nJ@x{7nf7AoXjdGdiKqXLM33e?5!50`>`fE6T|R)dAKB@V7FaA7FQz zta^$10bl;>3IqN_(FnXnska&YeKx4eaXw*0RCap^c?mG zG=sj#sMrf|KQf357clp?qH^Ts<^S>n*dtH#qJ_(H6JUna##yzjk0uT^@gw*~6R)`8 zecD|g8-bqoj?HZE{vSJEe6eTtmm5E)`@b-+75ex}M~5!ipTjz@%gj*j$5i$g2~aTyKrt7KhU>^>_+}#oghT_&Q77 z#jxR?0s%ESwXn$#-5yT^;v9g4)#t{41M^`VGsZA(_+z8c=glgP^}p#m zI)Zv#?LOKrAYT__=YhLLYbTGUx5cAb)a81INGz~-(jUXmdC!Q0%#vqm@vyHW?>J|2 zy#*aSys-4H64d-uh>n$)aLz>VZZUo@mOA^|{9aEx+Y8*r#ygTn3U4qb9-kMxCpE)B z_ge{~?R11JokG7$HtB-t) z=<6sFQ$n9Kzzx>SxJT*y zj{?78F+ukoejtwBp z&mTj)6(h`scf?-WCnLS88?xImT~6$^&BI=Xu=hPyEb6c?9)P>Ov&d84oN%P-jSK>> zZ^Sqf!Mu$z#0`d^pJN0_r~~$Fz$*>puic&UzxJ!C<$(yM?=1*(}Zl4-G1_UC))LlP@x&b(?bR7N) zya6BbAiRGM^`j#**xU!+QojaXtJFYsy!~Qe)Lzdww;Z^95q1pa!^^+}di*9maO-Km zNARBar@bgM`p1u}0kjvGh2!9rV2(%)h1-1D>4*xw#1sI8o0m7(;YLOZmw{+{dNQm$ z-UM@RUpwovuBfoq7e3>9%Xz|({5;%_r+Bf6&NW(D`Ph#^|7}lvvZjXi1KK{)hd{%- zhPu3aCe+_v?V|nlyuPh5B zB0>F}@%nt#2ce@4|1S<6DC^@D&w6N|zUF#z;c4)F{VR1g=m!uMo&;Wl{Fv<(Izdw> zjZayeuqJsU~-y?xRKj9Gu1Y<7#1K;8L;^HRIjr@Ia@M`it5jtNj4?gsG zjU9Cm^~VHpD(%aBNAphyiE7F1=#S^(7W*DyhiI9BF2vlc0L;`KHB#Y7l8NZw&bk7GqW$bjP;g_y8X}>O`B8Pq>fnWY8G7cwCjqvP)C~x?GF6 zg?R-OUjV9x^*};@@F5O%4>sol@OA8WYH2a(b-9En>ncUd_&?^qvHlBvKBe1<#fBVs z1c1vJc2I>5msak-fzKW{g6MC9uV$dG##}?e9!|U@ilWW)N3NCb>uox|0Nju8*N^Ek zeL{J~M7oHE6~6B-cv>j_rjl~J}5ayT15S1GM7Z55B_DQ$a8XHM@qpQPWQT3fM<%0 zuL;y1DIbL9m($MQwYBjkQ%oP<|2wq#_{8ZuuYg8?yr1K-CnuKtaGeGfLi~LpYJz=n zyT&)7%zVPvxVwB1Vj_ZufIV1jq9}5 zS7<+A;hprDDPHorK48H=@((COD&14KB+7TJ^MbSe&cAK2_Cr_f?q_;=f1xN}K=-iO zRk%F&DD1uR<^^RJ@=V|z)qU~WpG;#O}Yz!v5gn7==7dKjv{zvRF@JOJm!{R<-k2-h<^nMeC z3pyJRJ{_$|;0Ls>|5EG#|0i@%7z21o8Ufdy~e_Zue zHFUs4ksYSG!F&!l3FfOa5f1%)=)x#0<~-?n;bd0A>wrIjy2e4KNgxb84?pbP=S6=k zt^}*yuo4qN--(ao+(_xYOfs&Mq4W{pJ)UY*JlNM9Apyiq5Dk+3h)cy8o9b?YZf61Y zOtl;L#iC5G!INH(j~g6agSN>0sxLP@axVyutG{G}?Erw%yToo$sWUGgw!2d~^w-Ai zBbWn8DZrVFTHZzN|3OC6tM`iF@yB@u`=&%uLw`{z`!iQq3}$G45>$H8|C%=BBIc<5 zULE=>fERhSd;UcblfXCM@8nZ6wcFln+?FcpjQzt=rMC7Q-*|E14a7g-acZxKIH04x z$L-X_3Fvdi}Z$ouh&k^+2>#5wSR=HoUqz3*uM_*Lqs zG`~SYn1cb$pCImgveAA6^E+1CLrICg6mTsBn=^I3X3!KuiD!)m!R+QXrz|Bq2E4aV$ z1N$lT*99dAe}K6jG1%l~Kn#IS@-7GB4eHO{cwEc)PKiUgm<9Eh(e3QPIoRHZbvBwg z0bOEVH-UdOIXR7ma@^oX@RE9ju}`nBp?gkmq!j48K7Tm+I?+3jQj5xQN?ld zQF~qwalu^95`*1K=TcT!59(XYBNIuNJm--|A|I$79Yyse4xc{#i+fn$zYk!p9(E62 zR*T>}rFL2?EG7jwB=(mO6?K6~YRv@vpq#~DSpExm8PQ{S$+}p5U=^_l1(xnAHd#KX9 z`qtt{ijuv=1(UmL(O*;g!+mD_e0ZRA5aj|94~hZsj5HB_i5P$-5%~ddT#*gJpGN?Y z1mLGM)G_7wgoqG8KVxQU1?;>Pyrm@{c(Xi-R#cA@^aBJJ@d{gQ@p(rA_76PWS{lRG zVSg%K*A^wBB8%O?jYVOI3zl(s+}B8!6zTmIvu9>l%yWAq4Ej4=F`KaZ6 zzud(Fwuv}g#fwy5U`0jsggAsTkU0E(2;)%<_E7U^PcT56gcNuO;Sc-vF%>Z#tip#} za3rmNUH=&9!o2e)^88EweqU7Fr6_`2y>;we`tWZ$bEx1UGolv>~A9&LPu#YU&lhJpPlHd{!qHavoncAk< zK~w*d#|~Z04EBE;?zNjEus7D#xJ6WS>%^zweuQOH)6@@hgNl4-4cxeQ?3>jaMqr<< ze@na$`7xIW>TKWxO!$2R`am8*L7hvmM-F|t-Wp3( z36F$37|a1cRrU#*$Am97Y@_@J`O|9mq1(4j7vGpTK>0vx-Yo3o6AZKZ&2v3GaER5T z8{Wn_ju=PA-->`hT=f>1Z5W93x%OM~`O>vx|G~*A@bHBrP6aSC!-0o@^Pi_Y1pJ=XU+@bx4pC`c0iAYcnUuu71GXZ}VG;iAHai7CKb^@Me<;seG%C6-4j}oJ{IfDGa~qP^QoDB=mvb$f`1D9j0pri1^JZViI`N_ zTaNg^BQ*j=+yH8Ke&lV&f9-RFJs`hxpq@#49jOXGySJ$Yex)wGyQu^58a&X(M*&Yh z4%FhCqu5Kw?jqxqpJd>5YiqwJ2KszxZ+}Cdr?i4XABn#%CgT1$bX!72J)gq3G<_c$ z=pHKamPiD=EZh&2nIyf7ApafVtHB>Yzd%fm*>`9B6*cK2)jLGd~ z;p%`N6`n{Bz=M*gi5;44c6haEW&6s1hKxsEc;{A=Igv|U|F`hT2zYvvv&Zbs&W!)Y zrDM?jN;y2A_3d!B`|n9#UgqQQ1NM`?HuM)N!zbB62O4&&`@EBZL;L>!L_Q1u!UlDD zK7!0Rq{z3Uq^QU*-B-$I{M)`c20g%<`odq~si6PIZcqG5fP-*-t_DE^{J+>>^>g6s zc-Hx_PXjy>{Z#9#Xv6X0j=U4?_PRA!y_-@X{B8SEh2D0?bH0I0Q2t-TRp&2|=C2t2 zlD_|pM^CsmLzdT39lx~+`SXh8NnsN2E2l!A0&~wakA&V-roHLo^pjRhBJ^D}dIdTE zUG+g$X8Lc7r3u6*)Cs!e0?!~X*mpN>b`Wb#--xm&u0P1E{X!W=n*#U>kz9__dD3~! zLa%$xkC*>Oc?=8Tz5$+(B7a~9a=`PrkbIQJBGVRj#W-Y zTt(al?x#x`$2_6&)n?U^r6pT0?d;0xq3b`QcE|+~Hje@OrV~Egmtrj3 zulM@RaYq$!Bk=uV;Q<QBFfqhC^zhA+*!n{<;fjp`^7oV}PawFz} z!QY0xouPFO&K<`1H4b_0{!%i^;Xd(So4)2?AN~Dwk1ui0%s>bieng+S(xt#}6#Gx$ z`W5il2N)GRI=Tl)9EP3{^!3@GC>IOaDDIa$6S|A|D$13=h!(2m*dUGn?1bKX&E;7V z!H2gbFc;m=%F`xGP6-HJCMpU|11jE6o>6;?zt>C}&-E35Z;FU1G3e{^IARv+2Xg3` zC9tm%Z0*$ILBSif*3aDeLU3pl3z871V~ zQ)>lIJA^r`yrmj87e$4SAf1jRa<;NdN!EW2G zEdSbKjm2+WS#za6{>z_~K4>ZHi?>{$dj#+XFNfOz58ShSp}0GT!9O)reGqhDGPY^# zm$mTs=Pw)MmjDR1yaPW_iXgA0byJGxuqQ=<0}$mK^`p(s@8rMe+cW6<>D|>^h5XV| z(m5BK*u%ffrVF7*4hWXNxc<)P}6~{Ec$oAhhys-V4tb; z;JKvgD@^B;I(R~u6FOz@%9rA?^(i_atevlJ&u z0Y`*RFr5q11D1*?t{0sHmD5G|hxzv(G*Lg0t2LRGK{l9e?-57{_H|ckV`29XJpRCY zEalnzq4y+<68vOt@uDK3T(~cJ5*4z%{J#tdIFmQx*JXB>fO!|vRoV`DMmm4LoiWc8 zjX~^t&`oA;1o@kW1S^J^kZ6;)$;0Q>g*_LC&^|MB$h!EKypx@QL}*A9WzW^2!Q ztQ*-|Goy1HGBj&4p{*O)u`_WU+p$j^y9I~>yJ^XGY*Dslk&+;E6AclNZHbg`5_Kbq zhIKOqn&R;V))i=5aZ(jeGF7=Cx{+*@XHFG|s%%oH7G($$(EI!7IjeslQWVkX{@&a3 zKJW8Z(D4=b86HTT!}Gx20}6N@VfV9+-?1mK?ylA&*WCp1m-oH&BgXqAP)W9v2Q~Be z#4G$u`v(ojRgi_y{nh|5KmGmCeZmi1`7QHx82akV3Uy~N4BmD>Jb<`}2=`hKCEsBNTP4A*1-@BlY@J%^WW z+47U0I3q^WNeaSsztl~_x343A>5=*8J`@tX|JK9#qYsMy|J8rd=J#!;etqLXjYdH@ z>-3)n=WEz!i+K#)9hAB60-w>DgZ1cJFMCM%iJ40`8m}-2xaJr2pVVcF#p);UzO`Ub z;T(>8!9)7yo$X_hNW5X7vfWpLi8a0^HO9QRwhz3XxNDE-8=+%(x~Xl91`oBQcDFy) z9Pnq>r0l2^AJe@9tJcNG7}+$=z5p#l)eY>Ncz*lfxi0jId^-+Z4GA9q3R~{L+>5F4 zMenPn@${`T=oZ6^S57vpr_9ss6P+EnhvwK&`=$bTcy-hoL>DN!?2McgJRZ7x=nN5` zF0Fo2=ms{x7bwBc6>+CVBhe!s7K>3!N#@iDgzqJZD#vc9ppq_vpF(%XZUr4-m28n;*=nnR-_Qxyy zzeHf%({$=+sT_nC;~MF&=zq}nr{B@#8Vx=1ikPoz@4iyVF4qs(qJHXc`+_~#`~i39 zy>sUee-!_(g}o*=b{NQ2tIRn-$14`yM7>H|nihxokAc9#yQ~8Z1AXu|s{8aFHP_;= z4tWDr>ZaJTA{yGuDK--d#%h>GIDa}*(mW-Hp4$cuS1)< ztUMk^IHUbz;$CoVSTSXD!(8)nwvcpdTGwYb`=lfmCXJG>lZO-?@~VOtEepG^MZWU6 z3ColMUxW9NA5ehlVonI2vA~;KmJ5HXZ4-OJZSZrdS!y?4#?K^%r`T-UPT z8q>R?PxuxN1&2SJ-aQtVCN81hL0FG?J)`u|w{$Jz{o&~sz2PIxcLUs4uBS%R$Hq^) z)C=C%TsQkeLy_WV`A=^D2=iP%GvXvr>45L-4j|_dP%hkRT?_Cq{Q2Vh#9qNGzjX#e zUGW9e8R}^KfSWk~%|5kbx0quL#==J`G3X-mJnVFOyyOlGexGT^#;5-AF8*Xdaco@+q2`Ze?nt${h9iI$~7;zeDN3X@Vd~o`OPBu{n_Rt`P@HX_VLyEOY{dL z!RrqyLwwn_`Zt#zWIkW2e&L8dnCA9~_^oNF@#$Bwiv{lf&W>?#1Z#AS*vq^8QZB!0 zA@&r`$?)8SU$2V3R>a&TK8F{d5x5JV#{tLjd!FSGZ_?g3IImQ!ll6Zq-y)s^m<8Wo|0?HR+HQM7UsQ)rWC-5o>i3uZG#=H}>aWou zg}=O{P`|fsL4VxE4(JlW6S(oc2o7oVi|T_lbKT7Kzl{14^WoHL?giIONY^t#+R`fFES6D?g(2@cRPvpW)v(w`#}b1Ho9NSiSg7 z{_hPdz5nkY?%Z+U^#ocx>R;?M-T&|I0Q}iv5#Gb4&P+KHS!IoER>%7@u@7=Xv))85 zHtHDUVfgEOG>yQ5&gb*g+vq1y=Vamnk7urmd@WH=e&DHnNB>v8&pGiX@4(v>`?})w zQ@PINn8WBNF7_724$xm1zfgnq^EA3%pUFL=KW-wgHZJEkj1Mfl>&|87xA7C=b613e zPPj(2f5Ads)LZDT*(N$_byd~kK6cG!nk?#vlBE?rBNe4h7>7yx68!*Q{@q$eUfQbdJ)uh>gYF;We>rHjn=oeI9Mc%+GH( z3BTK7eC zPe<*{u3Co~FSv8k5qs^&Msf`w6w47^IiNkp$JE;UMjjHnfKw-9;{q42f3t?JzF#s@ zUN?DlC436pbT$S*;Hcou>h8yj9-*9QZO?(90o3JBEIT%l%cS*QxhGm_^vlWhPXZf6 z?4GaxYaAfV={?Kdfox#W+2}f61dnJqOI;tdb>{JAna4BM3BQnQb4_q*kf9mi`()d8RF#Wd+sTZzJqgaN$!=Gprc0F@(XXBODR&;G^lfAK66yC~@{nQ<+&s+@P$NF#oMxXz85&xvI_-C@vCx!3i&F?j)ul=q=-1$cT z#{1ffU?;tEQoAm6V6BXA(gnX|exw+FdHSDpbQLaKT4x~#?2Ue~>=bm-W_`r%E@P0y zE9UmJb1wb5C=bjVNIiA=@}rv^%{vl z;hL_HCwS4w6`i~oSq_h{Hh%Z}pOA&wi3M}IX)EMIs)dDbyb(!bWQt35Zn4W}pd z@~ow8ll>fUsCVbpc5ne-Hhk>X+oX}c z8y`9eF`rYL$4P2w$5ce$xuDaRxT6=UBA(V_5Q9bjH8+=$H=94olOQksX!Ua3*HHN@ zmpQ{NTP)Ky3OOlm;kQ~^hxE3+Rw8JP*YydWEDd%ip(6tqE8-_iJ(6kk60vQfZ#%tB z-dqN!(DvB_!APZMC$2qA`_KRN6Yxc(x}lEK*Pf6TX4QMn>%DxxZrSBEZQzPs;V;)M z2YxFoxomZl@Avl|n;9k_NvFoie_7<|;I~9SQy2NupQ=IdxIT@-0zdaM>4&uRbvH^K z$Mb5~_Q-_8=UQ$4?$R`NNA=pQ)4xX07AqqNUD?mrSyo{KQ&|FvSAaUPt2pLHbfJt=hfJ6~J13f^zl zI2CotR(IrGBaFD)&(YmeV6P5pQ0NEj-nPL%t4vgW7rM$uG5Dh&hB&O=e`}z z8*Mn%>xqayq2``||4SpV@|(_;!1>bZPxB-6@gn-@r6<#A(Pu8t>vAYV_b~rkXt{N! z<3Yykq09}KdQPLiqo5t%)6ZVK5qNoJ zEjYFMZ~m`HWb9tFYo288r!n+DtigV81M2|iS0|tv4=mmC6Bshn!w;QA*U0#degK#f zT^as;ExZLWcN&ZRSvOMQXvUB3zdXS6;QJc&KRC0o^1(Q8z>+;jRys|Ah1w@0yF@-x z8@Y3YPc79S^#)=^X(G>jpI%E7|3|k8y*h_@_gC11Y_x3;k|*S;k0ri#i95(mkw-hd z#TUk;_CCe*2nZH_95<$4YVvv*-yiZ4Q}gw|x8Lo}XzT?TRG#f0V9x4*o~)}&To%`l zo7HvV8GG2l+nhueeH@v--uD!xjjy|}AT)}-n9^hpyb#@eUsQ9!tw`U?f=9IFt8~#Z z?9GvAtTJ=l>RpI#{jx8d;cs*!=}(y9wcH=033`EeJ=56Kq?qvW8Z$#4bvQbN)M*O5 zKZ*Gy*P!1Ovy;_lGVqxc=C}lZen-TDH;8}ei@br|qpzRe##5E_cP~6o6_;)pT5L5J z3S+V3)BF6{Qgx=^H6?!)-q%cj7M$0kzF(7CTb8MBpfd)!et5&==Vn7Ed4i;e*F6l| zFcQt*`Iy3F9xp`hqp^O?ygt(M>aI)wh=0f)Ij_+vD#mje>IL#p8UMwchwd3NI8qJ2 z4*n};I4|fzFgK$2GH1?SDcd*~5jgYeBS)VA29WxG1#chTf8_k={c&l*!j6Y`{t75V1y4_b#Ve(AAa3H>1S z;)xqusu!1i7a6bCHDBl>q)TD>fc6x}JQ7abZbIKDaN*O=hcJ6>`jgv_gyH`!i|Okz z`*izA_{~x-z+O5fS-w)57#(#612^H*et@0_@lo6-ZVUKY`$lx+8rx6iHx-z(^AgGk z^n-5^U%Fp-VRr1+^Q-?(Wgq8`_w}Txr>}pSLx+cgcBuRl+GVPD@(S_2(7gEU?NA}- zmv+2wC!zC3ubna33kE-W)Ocsi$!2xx!s^W^d7|;XIM=&=m-bXA`zboJsmG8h@>iya z+mQ~9xcep!30oNwle_Z^OKN>ybDFU0GiH}rWv%kX=y>7jF*>a%+2k4)zKt9_EA2JQXY zK4?7?Ja=O@QuAc&w^kEe-c`l=?N4|^ur%xoC|8MWJp!zQTvN2tzUp2MnK5$HM0k3pc z0Vgb0w2F9tPt6{alQR67@p1E?-9!rwoEUZYS`L!J`*0i^#s3@6lw&g2-I&f?5Z}+# zEDwLs0~@2U;pOTxoDzR%2Xh{(U)pJ%@4_!g*CUY~d~P-L`q8&>1JboOLOTSH@ao&E zc1Ti_dhM{cZ59EJ#qU{3bo+#^81*9lE-6!&UtxaP7CPTmE1~o@`kP92LQY8RMV1Gs zyJNGGW1zpy@70Ff1RtL`>lkz74PK&C@L`He9uEH_`Iv9j>81CJ{Tb(e#knRs_H@=@|j%W4G>wnLBm%`4^(f{m<`%=di-H*R{y8K(6 zIim%2OD|vi-#l>t+rL}=Fz`q=chNJ1y|-Ul&))9`9$52hZ$GfAW()t%zSj0pYojkc z7xlV#Hip+8Vqb{7QRwv9BYFCQ<=M8!+ed-vI|M$%@zNa5MS8Y^U!3Ngr(+l64s|>G zzTS0&9(%EUH+ANmrOKv~ME0YREo{{7Y@!g#7!jz;y3p}!4j!9z=?FRl}K zsz9vQaH$;Vn5m%p3D_UIJQFRNg%Te!<=o z@)htiRet_TNJDURrM&|@VnPZYI=4m4GhL4#eoMrM$m{1L;(VWfrmM~Xe1Tfo!=4P!aj+lHxY?h!uutPoIbG-7Xn5M<&;RQG+t?kl zp^{CWuLZR(oj923ui%$mx4&m9dI4;u_w>zCGgoGjkE}u{`sO75WpdQL2vjulZ-MheeY^>woVKaIQjpKjD?K z8CT@7{z;EIMCb^nd0!J+yw5dUQ{3NFAM<+jORKxV_jvV8MbPLN@b>6ep@(jUw_B3v z*R9+^dL-#)=oO*6VfU_hg+6<{@5ABk%-IK5y>n6Q=~K@g_IfK23$LaX^cRbgd0ONV z!Lr93Pz&uyWx!?+Dt$2gLfqGqwb@4w9W!Xp>$s1p-d@GjtxB9es>T?;(QiTqT=WzbP7a3lqnSY!T_e z&-g}Oys=$8?>nzmcNTE0%I53Ow-Y{Ap1wfepj8c>*9SvIF&E7FBOzJ3_2_cHUr}#= z=pILR_)ppgPJe!)IiMeK>F1TnLtMk(IEVjko9`FopT6fmJ1+UmuX6MabA`p%JMIg0 zedg=C9=RV_Ab9q-`exih-RQ5@JYTp{E5|+o*9pfwd&K;{uz!Ak0=I)6v|}L4MgMpe zdq2>!(&ff_xkJoID6j7hm+gvPswvdp2Ga zbvt?CtH7SBZT7KOGs_;%QRe!6zD4ibBfM`c`Y+_0*t65U?r#a#n)SiXMxiUXb81a) zV&THc+IVb)_NeEW)khU0gHNW`(S3i}L;(gYfap8;dAO=&L((L=T;R{P+%xQ@} z6#mK?nb|6Ee{G)=6+FQ9-C}-Nnso;+K8c^xbo1&rxZ}{(7f4r{ub){wzc=9Gn|&*r z0YtsQ9q5NR;EvXysDDDXo{Zza*1V}C1y3ONniCaeoSY=$&!6*fEXb>{2jm9S)IM*% zPSVMzfJs!&u|eO^C+xpa_x=bju>HaqbEV z|39p$o{XQ)F~{S&Rk{L&jn6>Inl76-xI79J&|`;(&Q;({%KNm zv48p+;12Z19A8{c3Y=yv=83*34;-8i`)AL&z~3rVJ_#%FSB>aVf>WxU9Yhb$V4V{6 zylzJ4_7X?(FGcYSO7c4RJM%rgi*%vKv;N2}&DW}`w+=`D8+v)!t7+b;DET_xv*7d6 zA45OKp`YePV=wvfyY*Yq*=0Y@@E+#y;Uf>frzaS*>2G`2HN?CP?<@RK2|rA}Q6&D( zY>q~XQtauDhtbuG+&OZ6t>|wqy*W{E4?iLDg36oLU^$*q`%aQ~Q4V{F z82ho&m)gtywbF5md<|5vtn{wCU(_}2FNNCgCXZP4W&OhoC}39p?p7=C;Ae~5*IW*D z#id2RWA2Yd!YDVBZwABUjX(aI@2|OJfwyYf*Z%y+UiUr(<>llGF&DIDbz#-tbDqAn z{x?ce;9`m?=62!r^sIbD;BRuW9Ae#1ApB|PGpqshT|7vB?w8`m8IL@(sJRn{*vk!{ zW|7eG$zD9u@d!AbuYATf76K@+=Y##YTCm}@z7GC<(%dd|E+?hxYgPJP;C>?`58XyU zbn0^L1Zhr0Y_5~Y?>%(Li#1Poj3X<#9Ie(@{tkVK*7B#*yMPVZ>y!J0eY25gTS&+r}m)VBju>OY1>JuQ6(`R zPxJrSL(B(ud(H}7p~Cf3SIASA`xZ@Bwg^6M$hOh{m}M>*`{sj8@3WE->{}VM%<=Kl zR7rYL{Z1o#nz9+ubloBTPQnl192?@;%SmzWL7K#K<^1a6xe~X8-Dr}Zex7S!h8dlB zUY)JrcNNnD*j30sXn%lq z&i}J?foI!2SsWVtA?6LPUd7(f3CWzcO~niZCaQLl`yKa!7C0XBoa4MEbEWa3Zn_(b z=`!`Y)01gzX{Nr|eDkXfQS;~C`UDLtg}I|bbW2f#{{pNvXA66drsvWRpJxYmJgK=nRx5;qzku+N_D+ApZ^i2Y;_pp$>5j zz4nGgevw$v^2d-P?u&!oqG8VSjfppFg}ql#FVYv1C*0B&&+GeMO?#%OAFkr*)L2?- zIM${G0b(q(^0JsKa0i#X9w>NHs=xka(u!bpkGWl9;ZOdkzEAY?tYJmu;p9QubCI;D z!{G77*x!3>=@ZL&pXhrHt<>MmSH|r9!Y>WKr|>*uMaAe4xC3+JmDea|yfrB|Ii4;D zb@q$tVouAvwYI?ZUO2z>VKL9=3>-NxUfVa%Y@pm{FLAiZPvf+9)Y*S;KDecQSkxu` zf%&=sx`5uh{$b$KpglD8B(R0<^elQr*vXtE(LOCzr-%zuIO^j2TW(od;uPd!~g2XfKb*a@#3(e>moahLqM`^tai z*sG~utb0=A1-|l{OCjYtD^hTvY%Q(wZ%ASGCv!T)*PJK zMcN);X*s>@?NwJCvd9N&s(EU9o!~2YgI7cGa!|#)o%HhoRvbcSl>c|nV26+TOreX(%L?F?Lv!JRa1wP$b=1;J;q`DRzFzhCM?$EfLRM_JsTGp}B*VYi0k+_YqVKl(KVzA{KB(50gO zP;;O|eLp<(K+CsX&i}0U&3p@TIiRBOeJ}s~F@aa0X6{#ryL3+_7r#*E!|D89-`--` z=5;1mz|Y9ZGj#(7uV&@W*Cm}--?13}LrI>j^VRYHjiQ!^&!~mZl|!K#KVPW!$8G$S zekCtW{oLxki$Y-Z=W_3S9YDTH228$cC-grzNqqinwIvJgYbLQaXapO>%mh zpSs;T(7s!0nwWI(mjU=$Hot$C=P7f2V=Nqy!5#YN@O*s!_*yk9z83md4*sPzd&QD@ z^~NU)3V9NJxtqKXI$r9eoJfhiAk-rvqQ1!MgFnmCr(eyyp3n=qb$F=`u23kaZK2y& zcl9vwk-dN5w7o&EmbMc0%>97(@Aiy1ec_o8uzXFQ&u37J&bkT91b<5_y|*8Sej_ak zwy80HU}EvlZhW}5OOiTH-#N(dFDV0+xZexTI>z}ez&=6vx-UrNgR=2A^K(!4e>3l! zxfZ#x>`FNvU-6+GmKL-O$(`pv7rY-}+8%vWZ_T$qYqJ@>Z5z9lJb_ZY8|FSm?rUq{{F>|1f@!pb4y?gNvfC*g@` zOY@504{%<*c|1qhW5z$HY1`<7BA7#|V?YB}P5Kb<;8iDSQn$?MF7q`aFSmORbumVh zt>mwE30}~O_m{52+^I{fB(j3qqW7_H=4|sr9(%o2&q2?|U-Bg44R~-#k_RpH@w4RN zj!~V1_n+_*2PK{deJILCF}F@VYR-9_d(ziA3mmsKTiqt&Y&}xObqwq`-H~yycMV;6UDO2#a_iunxH(J3vG=xDvGr%02228lY<9O ziTC$URxF)!P%OIzg|8>adEV^p?Wl~6IS1Gys_8+8&*M8?wOr=v?;Z*UM}MxEp)DJJ zE+;LsIs5fF9XoEyYe9=wU`_Hy-So2vli#24*J>L1fT_~}u=#f$2YwWLuUM9Nzo>`K z3wB+dsNNFiJ6M`*5wF#`c-l7LFE_O;cjxPdny!PxX6E}ass2V@Q|~GQH)p?(&8s)& zkVnM0Kjb;)K=umx!*yY4y1hXF#OYo2KNE3{Jb(NATmbt- z{|w(_#VfIwbjg?7v12AI&b?&@#r%i*>FZoC0P&$idXn%Ibi0E;DBwzKzJEVuP;;Mh{(0mKgN%=(HjJcZ2E_6Os$}*1t(#pR_?A~+Bk^S9r^k1tg zZQACxi!t^CrPH|^w|~U?kQw9m@C8CqL#CfF$KuqsFKUm8exTDW58_U~;}{PthIe1H zhK{1olWRJXcRNl(02s+#n$NrKp$pi1Vflqq>z@?;z*{MM@U$eAFTGgN;793)-!5yE zQ)>CJ0}jdF(Xr9BIyXFbB=j?GGx^|-9VJywAKZaQmZZt{-G8(&Q%~8q<8|(b*EhQ2 zkW?r%4Zqp2FH2kh;z4(-u-k@%VRX1_sxt^5Hsh7J{{A?Mn@%E+F2S7U7@eDduT^xV zqVZbc+j?TzqnWv`kQ4p-CzKn7b?*y1A6l^Eee{AL{$b}voe=zI_EE3 z@H~tAlWiKeT*CoRsz{DGvnftrn>sK$_8;es>rkD6eE(nF*V0V_<@QKW6S)O@F$)t-9(G{{GBII4 zCU(0`$Nv4kKgYm-$os>8bdC1zTR9Y`61u1pL_TbE>iK(R{E_83Z?qU#A7!48JprKNIf{-C|aJ&T+3L zqi|mu165T?x?+x(_)cAzj%u!<7*eG$0iJK1u4Y?26heg zp>q(6_JOl`YOH^Hx5y*w-_5fRFei8y$uWeuJCC{pI&(>>qud7ygZcZ6u&9fF^fi^P z*!Y!}5`52usp;sNc*ZS_Y(5_Q=z_LzNDbaO-ANlh(0cnrd7G%ul|=hX{#;P2z3Xlk z`h7D;?cQ1}l8$ZaeBSTru_Z6wqI@I2czdTMAuw||-nN~`!`!oz;Ji;f5XXNI?|3>Q z{yV9I=eO|q{Ywt5Vy>(t^_`mD^NsG*73KlA#4nvcdmrt6_yn$j8))8n-rW|gaUCb} zkIlZYY17otcm5pj9`ql_UBIo#x9|=P7`Y&tfq4iHV$4CE3^ciCx zYd`K!)YZ8I=tDD4(eOdT(|67D$5u8n)))5nUwE+4+Wei4Un&Fa+lYqqch(V>h@;VY z-pu(=txXFV05VR2`-9KR`;2EWJJom({Q(9Zl!1^g>L0~Ch#!kcQ|Ztv0{=Pp_6|$v z>@0bQK93Yo&%ZGv?n{ZjySNWE$M_qOA9>8dZiy53!v}d*%*pM19sM70^hNJqdqd#p zmrliw0uz)S_~VrOdW=3J@w+az&k^-TQQmj^5oANvOR1yysn);>yYC^PI|5HA0e+}g z&e(}GxSBI)C&~~j#kt(}r#bA1`H@Pd$usD$Qeab`Y@jV!aKIzMJDOrc^;-o$3B8c0 z>iMZ#?0&)PBfl8tHCytr ze#I8VYU%tQ{9g_$J<#=&&`}*fkmfmw_qVJH=N|v_=e?O4%Io#_+dWO>-39mh?ogfbhB>H)uL@a`xa{bZFUhJ5> z%L4}{pJ-GHR%%#3Fj1!LnJ?f-yj@KTeQi;mg zb*$Fz=lYG(&0}K@KbLXPF;2{&&spKVus@GC>J;%Eyxtnnwgu7AhF7_r#~`)6rlaR6 z>ayHR=uxEQ!FJ~O3c=V>89k9)Va+jpK-#UE~>&8}nX@_HxEuU4soB#MHKk15V zQ&O~VD-h39LIR=>Q9{xG54p9)^~__s_$k#2VBpL z)z+&`et-4j;Zstzl(YA@?~^7<4$m=BodYjQ>PBOxraRH(c=A?ruksosYbmFmkyAqM{Gjr9#vHARnqzV@?CNM>}T`qvjgzxk~5D5(EAecFrIec0qf?1fr+!i@06p= z$@BaA0b<1c@6ySuOox7*;}>zbv-_(pHot#zqNKKe;B~jQIgZ!k4xAP`HQ*N$iLZ*{ zdZ1TO6}UYS?LykcJ|dds<&VqB&-d*6lZ;=eF)tzf*BRCX%hVU8Nk9HfHWk|&OMOho zb?erR3Sawt@PE6#+=kt~H95@aANaatJJ3adQg*~-c!F798j|NPrXC7#D0{icP2^TFYU3>-;#W7BECZmRJbo^-SIt& z+1@G6|FY-xXQP>>7W2*6{`u#1JcT|>F6VH+(l`v4{uc9olX#`xCgQl<6MN1-8PrpI zr~By2sO|fe-NdfemmuR#r1In{awUeM#Vr`cUUXO?|lj;c!=fz#2Y$KLS7DYrm4k9>eD0U)>S9U&W}MYu8u|V0za!mm4c~BjX#cZk*D?0(8Mtg2XaCdR z@Ta!dOWa+M`d9vojlM>+&-hJD-~bUfd*?~aKHG3Iw@&c&V(6fxwV;<8viAGNE#2N% zzbOqrhCQHNf)Aw|hhD&Z)l~nvNSXpZbyDOv1z-4#u}kRLjgB@PEqHNoSM;i?=uwDx z=4CP#=Z!D{KZCDXh^+U>oBa%YwRg+UN*Asa@*mhni3^)SUx2*;UG9l=zYY~wFB~?H_N{m3iXcAt#J*;xF!0wPpM9z zX?VN7v4CB#Ig>gukts&{PAc$dbmncD%nNSYNj14a_z5R5^(ua;;BYQ0Pws8+ zraaQfBgj9T5_$oNef$2@C;U=8;}&e}zv61-^G-tZOZN)?z%2 zPoAN@1kBW@^iDqq+{%0bIvC(dOH(uNa-JmSyvZZ{61>1s$su#%eIwDE9jQJLpsv0wU|SD{D5fxU(Tx5(=*yy5nV*YGYY=JCpWCV0L@ zetQu=5G~&R{Ae?}8t{Z{raR+4=h)1%CHip8QJC1}1o-@*dUNl%OP+D1c5ciYP?A=# z99QtK(irD1X`3<8$7FwTEKMKN1aIUUZnE0fJmIjfO78PDWgR6sJA9Qss`WJmOw7&&Af7$sc{V&ZL zfd?2IS|0nC=@-QuZaexMbmN?ceToTxIPMU)v^+@qw$w)QfJ|lk%wvqTX1r%3uVeR_ z>b}rh8S?lGDG$7TR$qTgNB@t^mwCP-0KLxrNS`5&(8VDs+LI z?#ztW+|cK3#Qg*sMpGM@2k5dsIQI{)p&raghvP1GmXVgcBlGi>cxtcAbFaje-EN}jc_p3t zd#&@gMbeGhbM5Pc<9@$I|3b>-)R`!I!6|G~LwZlCG$F-?(A{Z*N3@&gJtj5g zk1PA);}gUW?5J1{ItH))rU?;0k=wi1#SXn%q|1Y!!nvArdh}<}572e;<$>nryo>#+ zb6?@F@=x9WUrsKESAo7|^Zfa~8Tj^hW$Yhb5BqD#>pO(M_j;h$1{LD@RH~_;*PgE! z0bM8c*ETzfB3^6x!QyloD3+;CuHcK+w3Xhez(jVP!fWN zY4Pt?C7sss55#+)g1=G6B+j#&U|b`HUoz&Xb7CKR2DHI!zU?d2GF zyp_BSD3Xz`!>52=32#c_oOrsDTmlbk7XB&w*~Wr}hEpTE2z!Clz8d>mo0vODMOApu zQ!%Am^=G_`F}nxc&0F$H_(kgS#_RFLuSft>x8v(9fg>D^FWDjD(2-ZJ(bmmK*WM0M z&->L|Z`^uQ68k^Y=#%5wf>in3-CVca5&N}GaJmH-KlIE3bshdT$^3B51?Ob`d7jVf zjR%%fJw+woobHLarnslJ^>gmlFQgqn|6!iM(g(aeILLq;Beh*(^Z-j2+i|V|0MD zp-XEp{|D-`@Ob|c$F8myE+08_bm`FYKp_9<%3lioE_q_fsn^VX4-@eleLi@l&ivCdjP zB>)$FV6ng*GsCaBM+Gjc?XC5ZhFKcHAL1iufUxJWl%v+e4KME{14|H`=8qz z$Xd+xP`6d6%ASqJu;BiN@I-U-^3Hdy9&3(yA0xJL;U43Hi@znU^6BKSUOHa#=ofkj z&B+HmV{XINt$dgMKKpJGmWfU+PuVqsLrr3Dch45!A8!C${ont65Ag;5PirgwWAh*W zFf~QoOm4Y3AbCC3<^uIu{)E1HdGo}C%g>?fs@v2LSF+0|Z1jXLcZE2=via|)&lBxs zvk792OrBX#i*b<`IPiXI8>WBkZ_I0}zND`>*Z(c^f;#~IM%>qXp#KJ}LG;Q4Kb}2 zt-g@WzNh6!hN0{gezZgM4eqX5XntzI6$n>a6A(x90c3&HsNfAD*~>z7KaR zZkcKvUS_<0JLWE(k1W|CUXNJk)_vN^z`a^{?WP*ng0d%Zad2FrG5j)>}_Fxal^L!R^R~1HEYoV^YT2es4n@XhW^@S z+9c>Dh&VY}V7_Z_wcw>22Al-+WuB*!kZ#gHp&+jRA6H6cN>i7TO`u=t8 z*}~e;>dU$NeGF>e{?G>Z2ZuX8{CxIGEuBBX^@Ky3n^f2*!QxV$EA&54>CK0K@a10r znm6@i|4mD^M$Z2&wAi)bUxy!s7Ff3?7yAIOIyrNKctK)qQ#T{~Nq&0c5$rK)_jEjy zj^S@VF?Tu;mo0d+{c~E_GG?OEjzW{2?As751$?o-25_^CuK|4*=yCY@e18c$^pXwe zNBjH@L+;)J-*>=;Xe$(*WPOL|KYBeY9*KiLUYHbpz$|-ya*u%XiTwak#uBvP{GP5D zJ2Zpf1~ejG|7H&3aJ>AMcz)~NIxKKS_UFyxjHLuVt+V{b8i!O=Gg1=Ht`HQ zzH|gT$A8-c%C=ZW;7ivukXp&@5B;oFjb+Ziu~PJjg0~JY`5EI~=vq=|r6uok1P0#EOkD8fX%f3o^}Q-_U%lTEcS$# z=5;ikL_Y(XGJK&e+M!nQ^LzgFtG{69%z1xPe^B=9m8oAcwNOO7ZzJc|!58=8FX$e9%_liKm02exDIbJ ztLmFmn>3xdqUY*2P$x95iQRdI{8XyEX7|trsvLgZP6EfPD_(b#H4NKME}qX<4_U71 z@%?o>90LcGxwLcf4$MAy=}6@@ktf`EGkipxuiSf8_`xNWeVs3divJfeERX+xJNyTJCMA@ig{j%1wWl~OPYCS(>YDiQFPJO=;P8g^-i|Fr@^1(IuTae$u%3+;KZ`2|^xj>&_Uv)V+gn>ai+`t{ z$u}zGPdhuyWzVpToA^nKJfq@8;R`zn=GMo+rxMTw^9?7IUbaAlsk_Ki!Ex|Q{ZWCV zgAaL`Mw>b!8|eQ`=QR=rfis+*`vUReH+BwEL0#!wnYn6letE)$1pmq$CnudmFU=sc!+jg2Ea`(BpV*SYwuTSRH*N>jJr;5o+4H}#!4Zph-- z!Ef;chYsN z_VTW zQ!3mB^Uc2YGn`R zzllB1iGJ{fXJah-nhAHRjWcV*poNbM-004GN}nY8CT^Uzhv{<=H98&+hP&czA4MO= z4Fp$x=?p}=F7LA758}q2=DC^ePB12K9$C%Dj;#MZosNwgA6)b6zxm(q;m`ed?tDSI zsOL|(^YeYSVXlH!7g_y~dxCtdYnr~BuzNF?AL095&LI3y>ThTN;bnK>auKhL~$BvCnV>{&6PWxj_$0%=_j}<{xSe1omFa>g-hr26ggy zU7d~V!wSgIpPH=%^DcUgyva_`bu3t%yDt2tiyi9G*e3G(jjUO$bGwyf|AvlZ@}Rfz z?0;E)7x{MLW>M(-cs)P=YU@wD~+VVR3}c4%luq0s8Rnr24hwk2i!r6q&*$GAB*c(bnuAQmW4OP*J&C>@}Sd` zKik?&)$ufZmd`F-sBc3*V0nEePu@Qk4|-6k}F(=k`9ux}9DG@&pDNZrEonClO;xJE3@IBz_) zVe0!WElyB=c3DQO<61M{2dtHC^znjvq`2m%>%WT`scjdlC-2pwpG{|SqhcOI>yNzz zO;9!7>HMz1*>0TH$?J=8_HT+lV%g?>vQ90k_bTwKE0Qeod;HPVt25{pG!>TYs%;|u zm{|SJ8cp=Y>zNxUkYBdo3AFi?ZZ&|19lSgVB zTbi3&u20?g^0PVWWRM?CiB%+QPZm6>ebgHMOlmCDj>&!T z06^04?KXi29Q~>y^030~-+>2)Lmjes&U$c2?!CSg^N;B3&;KiOs|T)61?TNQ@^2pV z2V1tF+XW5?VBRD2wF^Uix!j`*>jIgnlg_Zf(>f>Ifnr4uD!mO)rQ>ta+uu9d9HV}; zlB>VF=CdI8a;r#1wP%IbUjDYA@y!7y41~WaBdDD{%8ReY-a16K121arDVzOjk$# zZT+j%3C+2oSX7C50QOv*X|>=wnb1!Uvgx=g*wrz?~;+ zR|>6tmtuR7y_WP56sj5gSGZ5P$ry3WHMF^=W{dZ2ZuT+vE6?kZaUacsm4+WAn=t~F zgFo?6aOu?Pjz`^|uo7|dVvD^LLAPASntK{`OSgKKJx|?${zYd;oOz^~Ppb4YmoJ<- zVJG4=>^*^}km$P!&kSVG5%=AM@$E+HWnJKIVr=ch`y9KrxC8Wa z>juWj54z80|I4>+u76>3)v~c8!DAJ526eP+Q!l6&rHnixn}3zYe&Hci(ZNA?ybNNw!upRB~^F! zTkNfz$4{xFGGp8aqZ|zeZS0Qp#F2S_@@4P`?iT|6^PkTL9tjQsD~0}|+`DN2e6)Mb zk2Li5s(XgnlT}c!pZDO!`0Cbw=_SwwjCdQ%f1SUBVf;>c2{Wg^E{_DwNJSp(d^}n# z#@jdTydU=wym7jXxd3ps(=+c9zZZmI7>hoehhL6?=etJxHjb&p+_|O;-Ewo~D-MNa z=br1&2kU!$iSH$(l>5qqg z2JTo`@}(8_(f40*-Wk>j@bD5h3tU0z=_CGM3C?Vai9MmsQ}5`;xWDnrMVP4UTSGT4 zzn3jksx>_F_}UQr0*^QBOVoWcSDxMTRmkgE{MW+%uim`aw2ME^2RoPDbMTLAD>oW8 zq>GUbt6Suw>X35a_9NhJ=yug#wA7M+G^-4kCibF-Xb4=6`xj!bpE~4>-doOc($-biA;$nNYI3P@eI&Y+tR*VO8%)z47A<=89u4B=n8e$d*Q zh1b9MkdqvzzFU9F!yYQ^=g~QDp4YyQ^F`w48h5BeqS~TI@;{{Q5WAFG!d!skJ5q4^ zX#>VPC%kUTlwiZtiyPxFL@wliz2tl7YBk-Ol1DDHr_eQ4e-As0xFgpe)WJC~{-SNG zn2Wjdg?s>AaQgPHac1vabpAXw)`1=k`x$ZTfnGSEnZk zBV#u9T@D$Ryt(#!bRzuX{U<3T6wbd_ozHU(2JKy8pXW4=p|B@7>y+0@_+0}ag9|k#t9fpcPXam)7?2@8>&uy&HEK9@v6i1h&V~# zBpiJKzQN|D4{Nc=Y}<#cAEq8rk9@AZ9LEu*j$LXMagw@G4|rE<)r)IV=r84J$BDP# zW^!^0o)VArPk%H$6d%u(tN|rCHdZO=_#w;6_}jMD!hZUc>-RXD zD>#fL?^rMCbM*Q5Twg1A$1-z^z(^7Ey^!T2&oDo{kwOQp;OuYTt@-ExCRVd9$!{Z@)Ls_u?fHz|M%be*0<_BW9Kr$L1@{# z?a%pqiIRD$@6i$sfLkfoqzxTk|Eab~#A$1^V_ne<7Q(4Z=z%r+t{>FCN7^0_9dh~i zS$*9hMd;WR7L)&q`pD|N@p7S-j^B9M-N5nlFL}MaL*RdlZR$}9feYyDA|s$$L$|sx zckrs6TgJRnVCIARy;b^ZI_E!^^~zR{v)SL6iPmqgK7`%)DzEkZBiF_6@tDVp$5w+A zbYb^SuhSDmP-{w^T8-S7f7Nsp9#m`A{6%UL>x_c2*Uqz-tkAOLmnM7$`U9W32Y?&d z8w!t03+mVr^Rs6%o}n9*?GY=%{9v5<-^5PJ|BSc(9qL5-0I_d)rNl?Gy;>VlnxE+q3+xeOR$WzAgo9{^rkAxAEGu*NKxLmvVh@qhm1FClAKehyjG%*?UA#}~F<(bjyV_X1PZ(XSpT zkypEkd{pR4cnOm_v7%GIF&`c*xcf%fi>S7&vR19*MOyXht&|iZZ{K_SHNuO>oJ>rb z;OqV>`e7}qvCHoDu)k|>gGXS9tKRX5ud`Ca-ithC^7Vnp>jm=l&Vy}RNvqV(?$EQngj@tl{SZ*^bllHu4h5 zJhFOz4l?!0@S79a>{$MiyS@zIKXW|wcLDy0=Wqv{Up6m(x2x;3&nh==EMtswp}qfN zGxKU=i!Em}{4I6()TMP|4%QmN-ZeV4x%Dp!9Deng`kxA3ZTQsGI^03f9$fVz_)I}R zx&9epS9h{gM@0Wk8Jc0P4L%cbM=wXnLzSeY$11LA^%Nm;x4qo9A;><=;n&P(c%1CF z*MABwo2jJuIiAC^Q?f}N3?9`f^aP^1d00H3ptYOl!E=$tbHX#)yRV78QRK7lp3Av6V%t@M}ifyME@Y84xgERRpb}eVC4nQ8FA&>3(}mZ zM=KH9l+9I9N5DU>?rz^i|5zH1wMD688dtw_aXalnbws@KK&STD+sNN04B;1I;Joi} z9l=UE-|x}i)@SA3@S}bb7SCM$kVeDG%yIwf`s4Kz$KEQS0`0Rw( zFTgxKaoFb-N?s57OI_VbWyE1VDt*{HZZ93<5BAy<{HlLU=KXRD{F82vZ0_Cr;wIkR z%rs^T_<`P9y7-wwAFwnrev|j>E{3$V3i$<(J0P2WQFY^}m zSC*_jD}UBP7`p!U${oV~ZpGKVBJh_ZTf{3k|NH0SVz0~L*KdV{o>S=1sy#gCwBC&l z5sitErSudi8$BbmgL9U4j;^$PS@c`s4fyc~M-C6O2e71`9kWev-|UJHg+D~6=rrem zIA4p(z1Db3YkfccAo3KYkNy}3%mP0W@2@8n@mlai9We(^X4Y?y&G9+RYfq5o$8-B0 zcx5>QiZjO+?+|&%@P{{ElPHktKWf+>DP|_D#F2*!;QoEbEu5vLVPFnR89>Yf(L+uSn<}aEdqaDd}zr|F&DJ*khe9<1>QP^|Dge8rpV`ODtq7P zdy2VV&b#D!x`mzU0GU|t^OSGobK#f8{Ag^?GL7<5H;;&U&51&FkDEy27rc$jeyX!q zz3*iEL!?vjsjST2bkW~tp1xQHmvee%T3a%_COm1)6@@u?^}eERCv_u0+gne;diZeFmQy9fYx#<^|;G=DjnK zE{~rpOwL6bPB=Y>M-)ZIF4_O7TfNvn0%TS~$M0tFgN{+%=H1KHFsYLHlL9WF2D1yq zb^79;@mx|HFSS3gT;Y1@7kDDxUjY}v|0D|Z-)+v9Zham1mq(P% z@PjwF)B(j~|H|(Lq4Uyw?#|9om#B9~JL_7{=3~R{LlNTV^hs|RH8XW);xc|jD z@-tqc4+Rw7S5+^}=Z6JH@a%Q^7#Yjve2G4~%}E!ZM_iA_Uu^nMgadx=;>$u`2%L6@ zS`&H>)S37bXJ1=Knm(78SoI9$sp@XJ`ob)ZLD`4Si`twyA6J;y=0NSchQG)(UQc(9 zM&k5uhM9Z8-uaY2%MzG}KV1BZ&?8|EcsphO@{Z5Fr@dIDIK6Y3<^%t|w5vuRV6vp0 zXxl61%xC%)Q^L=B=n@g1ir||4lsV)-Q#(cfy8fsO{vrAhscrD*#kt$AR?<>ijQ%n9 zWB1l~TmZ0Nc5M2AS`oi@;Eyd1yyP2S-gyE%BYW|3el>Z1ar6s$^R9pW>MNZ-U^zC! zeN;A67Jb$JN&cT&A8;IZJc|BxcAF1U+}-8{(ByPifrtt{r>(;Vu%^w+o~LQqC!0pd zvE>=ZHaUq6scVT=%*Yy{5$W2pn=Qt?`DGM?Q!_%SOQV<=TSFn~o;1zfo^6CE7>#Of z&*R7sh1+MfD6%!b`}w)|@<%3;HE+M)_xOKT2_dgWTLiGwmy` zd*t|rr^>L;n-n@1tH=d^CUrpkc&bf}9`x~hnFH6szgE-O50Ag*fgrd(U7JGxVfp$$ zGyW3nrOGtuw*s7$Q?^%m75z6M_)|-Wue`;?sGeUrrqjN9Pj(3LXV?$aPA&3Y(6fa8 z9MsK&&T_Sq33M-tlJ}w_VxK@yMCRoh2#3g$NXqHQh^WaA*fID{G=O^zI_TKQ!EZB7 z>@PG|5Xhu>F3$SYXX8_}4o3oiv7*=50{f8S3(Uv6d?F|y> z7Hy^#Er#bIR#k&vP5b33{m&z@slh(y)acst2EA!q4|Cc2czDzBl$^;Z4?pBy6Ui_~ zrNJKfUEu3L1_67>gP3Dv#6kJo#W!uykw0uMCJ4M}|K)ag65w~>pz0Frd9PtIOVHaZ zQpL+)o+xk?n}NI8VMpIMkMpa-vP+?S?;%A7{H)c*!F}-ix%*ZL@w-aIjJkLwj`H9J zf_|m;ML}R}mmmk!@l)JxYrQMKOC_UFga*61ggCW?qmjT7_2sTi zjxWG2Lt6l{ESq{wB|gl`qpySiz3k|vf26oFjT3#(!>lo1`UweOe@eUFEPT(1e6zWA zo@>dYK2ChcI8(Qd=Pn&%2P4x+AfI86`p~gv8NYb%TWT)c;RjX=2bL{pn-Y<_HOe!Ja%>OFoC>X);< zV|xbmzNEH4^fcJPd`q>xiM(VcEBqdHQ{Kvi06U!bxU$0ML9i3(ZwK&v%8rd6hJIR3 zSt6I{I~RVv@h3IU zo~GGXwN4aTsvECt{GmCO$sy0$LGw4wZ!os}&v0=Y14S~moG7n82#9tn8`(=<;c$Q7D5 zV+Qr^NPBxb3wbt!L?_krlZ)+bRPUnpfZ#nuKKPi*gTFK9FR!qOPhx(VL&5jCT++(J z&)`643f{ku&pPx$UMwdgcu&&NBUG0e=nu>jtk?0Jd}=fLDK(MLV7>tGiNz)^&*OP5 z$*Leh|9cRBfZh-F*VnIS#`u_E7;F4Hljo+{m>!r8LT`s~orEPrU{?jJPW1cV+6(pt zE)v)0%*+$pX=cy_d=2+$Xhvg!ff_bRGe>9N}op!oJ>J2+zPV)xZvL>x1>aICMH`n3n&E4+d*w29WKn-djpc1UkQ z{#nvevkne%;v1i6B5*M;-x}iDkvHPp&|mNpJn;LEdL-oIhS?aA!gwAgu>OmiH{*SP z!vQFo&)%79Q#;rL|i_`e39)yvQ34 zIx}UBjb%IA+Lj`HA1pkJxr&(AhCUVq_;jojQA^MpTF11y6hsv0>B~Vuz42+w-#h^P z>%tjbL>vry%IFLRD~b67S^#!>dE!8!6XTCv8((eol+9KLbNEs?3kT>aN%!*}bMex# z@PKA9c|!BtK%{7RlsM`xO9Ib~iLV>*d&e^FS1@kVv}wxr7hJKJ4}L_>KA#FV+hJ(b z#^KjhIM5UFJQ9t&fG(=lB?fb)g2B}w+nH@QsX?J}fIr}sfbTq7+fVZ#%;-~3HjH?@ z2mjr@2kZI;CduvfO4SO9jlSVU;*}TP|9hleykoP}U$4uAE`YPV;iz_0ilYzpZ1{{W zFC&r8piY*2E{Zsc%gf7u#wv-DOIx#t^YA+|9M?F_&%JgSHZ446}5VG(Vd)UFU~eL)}H=l$!}|25uopL^AJ zPm`rU#0mly3;Q?(1X#$$jB~rUrV^R!xh(UDH(E2f`^qr#v_a^3&~xU#LG2G&)pD~e z?18kJAq3witx1jU8(F?j2=u=Ie(QVn*7FkL!{V{V_7V7fqwlcLH%naT9bKmRB?=k3t_M9p)_LS#(AOQED%Z{$eI5fqJmdV)$Z{W#K8-;W;=c;? z5^yZN*f-3J;3fLrQnh#)d>puz-2&ViU9MEJ8C_&TBbFynXPIq*ITy^LAEN;PA*Nl3I>Czy~a4M85Zv4&;A5#?Y=8VL$QgyC=W3Cr9aR z$04LG)s{m>3viM>;i;XkV~(}s(O*p*r1^pQ%)(mzVBy^A%Nz!W_DzxAdf317Q-~K+ zJ^|fk?5?c@b*k=TpQ0`uPrlmJga5V^+uDlZm$>hFU22;iatl(#k;5FueG#*Lrgc`N z^AZ!Qzj^q-KaiPGjWI>GP6tC$jFTTzbI50jd)E5712N&Je!inP$EI? zQ(m5~<}8$s;4av8+;?TA0(t_6qppOmqkw!n3;tRHA3!Sk1+Qjh0yck!L@sN7-;2fY zo;>oc=o?-aRgf2ppdXTj9^PzsCMn+&Qf;IAg7%MugzFksX9@fwVnA4$NBt+sWlZ2l z*^B-M@PQ~4wpm$fS0|B40Uw!M8J7k*VRdDWGq^rqOK0fwxU@(Q{1(5!XPg9aRm@RW zrK5_!f3b(7=etrhi9f0ho6K>_$06W8^Wbj3U~GAe00&}qVF6l!2`I+G8XmeUesz&W z-3~WXzg|N=J_7t`f;fIL*w&_?AG2h(dibNd7(aV9%2PT+Up}}?gju!B!tO^ME2qJq znAfHwEZ)au#bkmpeK@fwiaPuOpwuN;(A5$r^wH->w#Lds4y5{;E1*`<$U97IsNjDh z^&aYXq=3#vtwdJ#HG^?lCzVbs^d#!)MVQOh@e6peYB(qj0~as2+^<2d0`K-B^se~e zz?F6ecAM(W({&U{E*Yiw+lskjikv+_{ny$M8-iQl(eS-5Y_Sl?UxbAc8r~mvK#9m2 z@~YK{HW=;U#;=$Hz>du~eW%>e*&^g}vNBFNGAfZ0)Eur8!jy03eJgwUicMtbyb&^SYJ&FlA+L9%p#cWKBk#8~BK?us@%Bw87rbmDlQ$ZtG9#;~ z@03kTd$v(|RFe4M%BRTNz@U8j|1O+q@^RpMCRPD14yx6}2;>*!I{L;9=uO|#cwT`U z6%K)JGH&2Kpl-{jBj1xu%7>VkEwF%ufbF|X0AWA-txJWLM$Emj&1o$VU%{JaYsmZA z?Hm4Gkv$v;25}(CsG1e%86JkA-kt3f52%s3-M(kIS>zLjZ$9S$ZUXRdgjRlO3nTk> zUVq_*>q5>qyWVQ)3VpH@I3k?K_aXdx@V)pUk34;($c`KB5T`jZY?GlLU^j6h;_+S< zqSh-cA|DIBL;VSnF;7Y;Es>6~-P<@$*ffAR3j89Ym*O<4o()&^{YZ<{DZ^`V62!Ch zKnn3VZP>OSdcx2{yy%7Hq{OutP@2oP4iG=g7WC`RA1)&vtHXYcEJ+>~^aA+Hq=fq~ z%a)8n{Y?y%rE-DJi-4ch(bLnM*WmRU#E<#8@A+F27&hF;MCFCJS!9Xa@OW!*Z| z^Ad5L8b*8?{lkWqRszhvbx|%a4KjmU@}6(<$P*?KUOVI==$r&4+*bw83;H{{v)k;L z_fGuBwr`$d#_$|t+aEAaqoM_bi*=B*nx}@|$ejoT(@Dm-$6&(Gh%L4Lk zQUH*vMXZzD^&0SpV_6^96znnj3!N^+xy37Fv{+oG>j8_vbXK8wD8Z_k!E+=YGu0Tx zSD@E<{V(&xc!kEJOuDCV3i%OQ4-fxOvTlXl#mZ*j3bG;8W7GciqZ7TVmV#W;jAH3g_ zTJNHM8I1=O0(^I_tN~}R_6;ivcURBW8XyNu2mhWQrSyC2ZQtLcZMV$F#Md*Kh^YX% zZAHFfWgf_2xd!_qztWD@nJ@SBrC=Xd!aR|UF2u{itiQ3V2!Y0pa#6sBTQ&J0=6UvD z&S2};>*}4(M{lzGP{$C|N8P@4Nc8E*|L@tu`AGNtGsVkoZM!}lf5vWqpq@YX`>(tf z3^s+Xy!;ir)A_{bH(1P@>FH@4uyv%jIx~$&P|1H;Fl=#LFKi^p@c3@9Wy0`1{3MIH zhLEBh`eL2#xz!zoV-GcK{9xw~P#2S!`*8f_+`P;B@~?msg~0U0hr3|+dvk?%H}z&v zc%uO?fk!@;$39T}a31`FY)Dj-d3l?!sM6i_3O&%fS@c^cBJ+Fo@0nL5!VUNRkT04n z+?frMQ=2vw#`JjE2!;vx$kkX476f)5*=o&948R_(CZLZPF@ku$6rX6RqAncOnejcx zzWlf(Z;E10sdwTCe#b8**f<}8oe;tPAum4-JKyM~c|uk!v=j=JqB87z9?zfG#`>N| z7-OAnia8o@<1n8`_h&IjMH^&d>XPAw-U(RJ+mA7b3yow#?f-W=5uavI$GiAz)aS-N`UrJzp#OY!y2wJWl!WFg136^~iJ}I3glk(yyiV(G z%33T6_&j9}dnx~H0RRi-+ekISM!Ad10tery^t9D3@O#k@ozX_ePo)rF22R<4 zw`?|P*k{D&%`Eb4IGVD3wr3^>$u-S1U7jy@0UUC5D%?;62ikxPw#quy#w+Qu=bqX_@@Xqe*V3h<_y6R;DE zGh7$R=bZE7z(q#jL>jam4u+Fv^uhMgIcQR-We@dBvzKm$t>v7iovyXQe^>dy-#s~! z-_yj$c3_^*y80czvWotcAKJ^(v;X>6WQJO#e7%V8q&yT2%NO+TY*zvHrbAR?|-0W&$rjATUQ+AJY6Tf_~E={*ms5ofzZR*77NE zfhZ14Z07%@=V`H9&7UnN&6V4>foip<$K5jfkHsEuL-X7Guo^L?`qW2XpVjkjBe_w9 zd12Ov$DX71xBHo=+-Nu8H+{IX0r4UG!o1|?vJOkr|0NC9A#XH4rFAqJX%c$V{T`1?v}Fx`ser*a1wpb7kdoUIox`F zjZUVd*wvzsL;s>YfPMxE`T|qsS}DJ5b#a^?*8+fXGi%VRG+x7lzALLEWdivWx4H@p z;(uWP=jtN6Pfe!h8T8j;dy?S4SjMSNvf%d&8tw_Mm)>S@JnRz#^&~9#Jy|9Z0z2EG zzIIthULb0 zLAG2M#r;F|>oJ#7k5|*!JeUMZ|A69Z@SBxB51L zodbN%Q#|61s6RZ+(!7*MlihtZUp8@=tj(h%@RK9ROXGP19yFAM`;2qdl%5(e)%-Ew#f+N6tm(QA_RU zUjeT4@0&300CwF)T0ex*!>Ct*K)TpNx;3N+l+cMaoI5`B5RL>m1MFTQVoHy_+_<}} zSGdt%>-%6Q%+LM{bB0ft%nK(as-H~CK`iX6T#@V0xQQ`TV=NrKu9(0JlfAEbGXhVR7!TjAk@?Pv<7}v?93u6-I;l@AXLq-Vcf0GenLda)$ znZwv`5G@?uN8R{|Z03)!@V zf&Q${W>sd84c)s3`oQ;yw~R=TOXzn@>)=z=Rl%QT1J^4;QG)%CD3e7Buz}WE4SI+V zk^R7lh)byZpE(bHj7|Myb;Fq%met?D6?D$PuBmbt{kS{8#P(6RXxVWJjpG` zZ9^pPsX{@D66OQvIX13@mWpO)I12uOUZ!?2qFY~w$H|?Tv>QGNlZ!d`} z9o6iNoytATSA#q^0zn@5Dt*{5N6rKMfc_zyUdtF|x)Tb5>m@p^3@fX=6A{r-o z^wC3)&H>X`rYJWIgx7!uSSC6*@`;HCO?q&@h_7dXTUKU3{^GZad`;N>P>dwL_ zG?+Nt*p9Imrd#9eFvaI|53z%u>Qb1Eg}WZ4b!ik|0QAqJJ`rIb=cSi#gpsxOJoVP2 zFC#r|YC6ux!8S(Ik6GAT2KrHzZmJKOBqd7y*PtZD=@H%$`ci4ZDfSt4e=Pb-%c%Rc zUAXir#TS@6S=&$Re&_n#EhYrANBav=$OY5bq40hl^$c_Ub3gPL@EiJf(R#OtH0=8c zqF)Ic;?Q7o#JAZsf1g2|yHdTu5pmNld|z4p*!Epo|Bt$>@3vizm@tK@3+Xd{?oHI? zOiP}XH|Ks}fTx1$ao3kO^d8QjJ}PUCwv6@9F81!M2R7fk}{}0 zkNhhE-%&q{@>|5ngWhyGT5aYO=wbAAnh5IMi`6i%_}$3Qw*^_ur-@*meP5TY#iG7< zjGHQSdCK;>KIA9r7BPPVbX+rFk3en!_2G&HKFE>CItFqF`U&wDMXqqwb?g}8NU1oi zT}gISf~o?)J;w!0I_R#H%9Qauq7{Ol2`K?$G!Yzu!SWkoh(Z8>; zEc6}9J1Kri4Dn~!ZICxPp$PsLO^f^r^o!_9r9gF(Kj=MgQD8^46-$K0T-$sQb5@{- z3Fx1}F^K>iU5BQMIi=J0-fmBkQLSSU`ARa3Is-VOn6K4cU8)4JPNF3nK0uF&YOc&c z4qD3@C#2V4ds`d!aeVJ_;j*c4WTF*iH~EPpifG-o<@44__b69cOiA%D`bCKZKUpx* zIVSLnfUb{tE8-4-UnI!mB2MMyF^@B6x03K-5=D5Q*0I5kK%eFK=qrfpVt+2Sp++#s`IR!2Qz8{$Nyd-LYaE+)nX zFt0bk1m>T`9IayG2Zir`p})Uh^S}R81b$DU{gGFYcDFK9$Uh*TA38RN_e`6bl^XE- zRMhF}v>q0Hdt?A)5FR}SIe`Uf{R!honRW_uF{55Q$HZ9S2+H^Adm-Phsz8n2bYnkb~ZE z%b^?pfcjU@^%L-ymrP%1ImzzDx+TZ}>^$^$yZeX`K>-zyxHHp@Hv61bF=5LzB4_)R4D|TG4L>I(5~@i#+(Zf;-FE`MK%H6=d=L8s@iKh&SWFHMe3Mfn zDy5f5u}RRt$7OA<333MgclrAg>i=>mV9{X@fDR~M1=K&eW?1Y)bsG4#@H2k?&p-dK zL@uBX+62Bry*(Ua*c~0oWV&7fe-Sj)(BIc;nnM>g;1{Wo6Pk=F;s`S+?W;kecuz@KOelDsa*j}WB$K{Y#CH_gktRVLf%i{v9`cwoG~S9h zZ*`tvfBf1^gG+*46NVl`_3E=ISFgwVb^8{s%`os+YItBOFFe&r#OE}BJX&mKaNRJM zwX(Qx`404YeABB`-Ydwr)n&ZF+QE%)I4oArsgtV*)I_B3(ub=*#hA{ba&%KPsU{%j z1V|+lx%Il{OKW^&Z64IT34H()5!kE59W8{>erDpjF1@PqUet-+I*4*)PvPL)J0oXN z2N!!}?fi!$pmQ)Fk((p*dP0Qi2an3cM%Vs6cZlu7x|*cE+CdBOy_lg}2hqO{I|g-r z(EpbrcrP$YYZucAoasdC5km1Z%+mh8t^|I!@X9LYeY?2XcOC_wr%ZinZKSC}tlYrP zAK^69qd&5(*%L~X&NbpAQs@!dFO&#f9S@_Q34D*bLbJ)c3n@#wzs$Zy;7?FIj0vGw zES76OsXEX;n`}CccoM|>Q{Z=$L3cU)#GW@auYELsU;5R!6-m|v$p0$I_0T0%JKYZ&TeXp@Y z(wk`G$2vZ>wod%vmP7cA{*5&~Zwmc?>(+9Ru8+sG@et-WNyOwk_{jHjsOR6H%>NYZ z@6mozI|MP~xph$g;o5!)*#l@}Na$y3{pn=F`_w-%usc2K!Vj3egh-~w-kl8=SA%cv z&E{7K=6s6b+QC{mV_MB<0~z34WJh2(89DR=U=9{=y(HAtCDf|mJ}n_H!1ZYG?=7iZ zjtAYh4PgB)kkA`^6+g5pr z_PeG?5cWX`^`cJ755(Y#yh!{K=DI<@$tY_qDe%kAFDX`zY6*Z~A?zoSD zp6#%P^_e#*W5nNorC4Ft?7b?IboeQ5(fnYrz~Xn% zL#hOOC4o4BgwIo`N0T6DGBXiQLR~;a5LEiuNT~fo}w`JAih+YIZ01M3@)#LxooA*kXr+_-@0eb&C=&RrcNDTW% zILL(uc~T<*;GlvKm{<*SV~0VwaxFjwmHt={G19TI?*lWLC}o2 z>F^%>&NeQIh{C(FM_GR=npo1XPf^4pAdf^3`bZ2sXU&vG-?8DdyV74Wj@b4)@_d+y zhx;OGGSvt<+XjLmz+=UAA0)Dy;`p2BXVjaUR}V5Fs4>I|ZV4Vs1oCY@iswxf1QG&Y z|K+(Mue8{_z?)T73E9Lx09h2GEaW-gNALecP2x5kMm*J9EAx<(IfM({W2F0MKYr`q zm=N$r9&9>6eEFQ@i2S;6A|2BOlSo3isz~D*jL1j&!#gP z;_rMocumLsny##OGQXrraoqfVwMC^8X0I-AG3vVrVHL>}-xpRz8JxV!VK8&8~&K=+wDj{DGO zqPj%mlA3t#hAYKlzw>toR&?08KiRT5S-^gHYgUgW+xj9FPe~t?Fh>`a8#wRVi`DzO zsDY05s2YCf6e4K_=lArZpAh@DP_l02v5(PhIpi~>7?&uedF=m#$-8%S$d58PZqwl3 zSX0_GrR9{(y^Y}eFIcyrKADKlwACt6yFiWPG{~8x)vMEWxoAoedVMcfgWOZZEtP5b z|9Edbxt{(#p{}4VrqIC&|NJn2R2LW9d|BdW2M7M!oBhTZ@tDC=YPMwx1=jANhEX7uZahlYk~7bbj2ypCi~ zGa)|wl8?xnS{uIH)W*t%eX3<8#pAh1rM3t37V2I?_KHQdoC+e#V^U5kINiFI6eOb}y<|S=evW zmJ;F_phMSZ2PGV5Or)O2x>qV`gAM3nvl;>4p?)+{UdJNtyV#CABKU5qT&%L-e?iJ^ zE#SF6vZpc(_OT)e_bAL2O8=;{`;g1@gw1>}#|z$=H|`Y{ul*!K$r z-q?6HRJGpm76#pZZ7Kr)kq<2)fkWkeVmgAj9WO^B?3x{@h9xt7&j*jURvFZrP1qit zCGqgS)BQhrhhY8MlP(93b)$2wS=iqUGoH~vAMmR38s0y%th$Xenz$bP4*4Lyo36<$ z?87jBe7ka#3H-q?aE){G&!P=@#+{Uo!X2$KXI8(C_NUUq)zNSCBT=f4+V&npeh>9( ze&ksU*qfp|hx#Y6(Nq6kQyZ1Drf4d~gTMPowMoKz=h}gnP1o`Bg;@p9NyuV7T^E;D z#kvtc;3K9r@Y8Z#`2dcg?WIK;ClfzWi9nBE_;~_&9c+MoXyVV558;mOAXo>B*}ke_ z{mHd^w^_V*GAcOOSfQgD?h5MIe{#>_!u!dQ*%|n)l0P!Nt)3s#f#cs@rTf2NUd}T( z@8X#+z^>M0d9kUin-RT zO^jPAI(@!EbNgxfT&5kzee}8STv4~__*^YUQ}jH<&3Os*xM)f9^t|L!1nX4jSod*z zksl2EN&h|Uzb^NB`}-%xbpP?~Y1k#uOImn~MAwl-mI?3%vYR*mOoKd-)Wo!o<9%V; zOdx0feCX{y9`BWQgLvXsO^ItP-aApzMku}4 z!*gR%PY^V+Y2+#Wz(4jP4i0=9LArH{bnv{;Qy4b(JyfVHP9%BMWh~#(V2|0)SE~y4 zixangfyH&VL>$N2Sf9uG-t{8tnD$+)-uzrgU5BqqmRZz2zxT6${Z|G2bETXEUm~9g zJO{ep<($xl_3*>&GE=$`?%b`=_jS1luVMX`Kf7;|u%1@b-Ql_A2eXn($3D4c+u{=J zFuoiyEBLIM%8)m?P>=dTJN}Awda!&4_m?FjgU`B%f_Ll-kN3X6$e=Flao|qV zzZYCmmijR_R2*^s)YCTw=LM8(6C;W z>g_uU>;bF;t!E27-22QBPwl^L@aJ%TBIVLG(0~5^>ZeRhk3YV}WMc7tYQ)&1;QjA= zg(Bh>q0j4_f8=rhZNzgtjCxD9Ve^-yb6N*b3{jXd(NV7djPOSl@wm&1I5`oyYf_LP ze-Cs}0rAOG~z?#|n%Tffk|8yfyPQy9fOiBM$;^5vyN{crsb1^&M|P5aFF&_8XSl@#oE%DV7NtgHXq zU+BHZ9xZf#bo&pt@x1=CzwB)W9g2@F-(TaGVC|kk@LrEu|MV^oJB`=3sTwrtpR6N@ z`;vHKvR~El_rOdR%^_<#4)QJr3YI|^F~_{XZ|D-!javvwK#;}0&pmmzqb z)lxr!T@Z3%tP%sdvj0=04RI~tXO!}kj}j)&GLQ34&pOZ2_2fAC)8OO9KX$dTxL;Mm zTmoDte{Z==L?-t5-YMv9MT}m|B(XoB-vs0X^Z{>%{DvGzI(Y`4|EKA9kF$`!TZCQ* z54tm9ejxly)FaGhP(2cgHh2UDbviS?{}jkD{G|`8(mUGPD%Aqc^O&t=4f`Jj5D^gz zn9IT~>mhgd{amWfb~+p=CV`VWSKW$s*x;j|+FtVa_V$L)aots|;Q?mQ2fVAc9{AnB zb1kka(EE9=l+fbt11Mf~Fk`5!<2WzkhravUA5vN;jn4A@LX(d7Pi3-64eK{4c_g~e z3wc^U3%$8*x`&0_DIYT-9>WI`(e?1I*--CQ1NkV}R|xnL$k#8OPfhXoJu$2~2G=oF zn!cieo-pqScB3YmtC-J9*E^T`f)0K$stzZm4@n+a!u0~qv3O&n#Mk(F4kn_B-mj*Nj^v*VThHK34V84MV%<_o8QX6#>OW67q>W?6?_jj zF{tBMbYYjUzCvyBB8&KWEn)aH@GDta8KTe0dzvQ|N;jplOrNWHCElyyIjbZX%eF*}Bc)w6`GL8Ac zVgE>9+&rHA{Oc!9Tz^6M9qE^lp@37{quQantk`i-vACl*zxK7GuZy#&~L`R(|_m>x0%?DuhaU6ogYseMgFu^ z1OFrj(wT|gx#ujFEVuH$6f-K-8mzRfD2uwc^MlaN+wDC);iL1t$*IW*o?C3%HUm9K zmwY+V$gOruE=w+3GAVqW;c* zd8x|r_`a4lgI}e6kNvy|e+GI&orFKb!%w?N`&9z(oI5wi;5vyt56vi8XMVAq)*;uL zqnA`l4;A%J3yb$LKXza(jyJNHQYHM}NEKnf5Ltffe5;Q0%6IQVuCoD7s4haU2W0Dc z4)+aNwm8mepf}CcT$P|d?%Xbx=fehZ?-~8pxu&Us%eRFDrK>iBVd;gC_^^)Mt zD|k-ivt}Eon1D9*k>A#bdP5`U9gmGR?;2Y;zi?sW-qZbG{3|jrcUa(z>G^r4rD8~^ zi@S8lWSQ|wr?|bmWGvm9B4W@0Zq(?6-^l*V&ctTF-t*hvUf=M6?;9wKxn~<29S1H# z9qFEJEg}K7@*xkL<1pme!VgS|LXJ6IL!H}nVgYgGO0guZo@;q}V*3OA3;6rR>`Zk* zb;mqH`!6-j2Xwe*3K}%2FC4ehbpjqrjmm>9h4OuB@8pnAr+h({9p1I~^DOBK=z};) zsNaX&3)adC_{k{6y>wqaQS*!fJ20Z6{v2^pFLAA>a^qkR3V^{cgtw>~)=4b(Q#()G zV(!AeX#Tlv&L}?nzfuW9FKhCanlnoIEs<2q8uV{n!||LBIc)3+_9~Dc4yCn^2fazT zZJ=Xayj9({W)Ey|OwZ8sAIuPe4P^~;mEj;H4`&082gj9Y#Z`ye-DFDG^EPiCg4iuVqYZLK{0Tup36o`Vk!olm40 z>W^2mTj=`mrSE@toSx@WO8|&aqhk=Dhns9`~QL|6No%O2pnK;{g4B-Jg|tN>?U}<2e0$qQGMpCd9;K zO=CbemXF(~C0swA&%@qiLieA%=+PnP$3Z9b*wnL#@7WM=WqWZy;E1PHDZl`afabdh z;#26Ghn}-!yhVa5uU0O+$m6~!t8wG{^7%;Fhw}sZys)I>I!5tqjR75_z1z*=ccoh+ z=qE>=v}yvjAYFWy^p|6=sHW4_?x z_~iWl1c0v!lkUA+|KA8&jJ}nY&d8bRN(tBXUpsGy9YKK0J_Ea*$fYa1m%)BVjC^|>rdi& zlaBpJZg&4x!F4b%B`U?3m@9)!XNU=XwaYR~=`4x$qt93y~T8n!TvL@<#pIs z)JyRbl&;it%1qxYPYmRVi2rtbZ-vEu(|>d(==YwL1l4z<_m2tahp>28oTc?Fe$@X1 zw@>pEKHuOwGPa*Y>qjVaB$wFrCbr8ojJ9QwVyUd)jQ_;y47n8vOyeD{|h4NbNF z;?}db`-e6&A@|FCi$nNTiv8C1#1#u>8Rq*m6AA`71 zZMbiZSE)T3ij?AO{>Vd?WuC?Jnbh(DTu+>?Bnjoq$JCOf;CFch>gc}r3`jK{bonQ5 z@Dlxf)BS7|_Z96|nyMPUU%!R(!ip8S%H0h7ByrkdwA1U&ZrKVu7J6Z`5#>SW@>hr? z;XG6c<`ld~h40JN;Lm;1(aT|4#b%`MOgG;@wY%SboZoSU_)x#K$elJi6O)Igc1~tH zJbfPx8K-T&2fp~lFJ?z4UV74YL+C@t`^?b=$j5?jqNy#iaBAhbo-5Yv%~x*huCpKK zMlUFxGlizMm8+}Y!MMAJRzF_-&XZ3*`DNy4p=0T_*MgfyHh#@zjka%i=hDNKtjoIN zJ-uB#<#`_JF`Z1L9B4PT$xzWITLtGW!e;UoTqo!3vCn435~F_yg2?cvTK^9THl zO_-y?ON1RuZE$3>o9l1Py90cW&l`r`1u#dA#X7+%@hIT?#hF4;!+xY4&9Hwpab>D4 zs$;#+Z(E>x9QI+!r{J?k8n~$8SWgP@2jNF{4K!eXf+J;c?ivDIIDuV;&kv08I^4W-j^}i!?Yxec>iZ@E1!<FF5rIw0)Q7IrvS0drziO$=<9QsoB z2<*weJ9bI7d5#;i72D|CbC{Fj5HIX#lJsKI-TWGzmpVRp>!50QEeqpZ zJIOdrkRPEE=4|nUMmy3wUAv}ktl0_G5Bb07i&(g`3IIyPAv#U{m}?DrTP@vr5Bn8E zJEtaLT|GQW(eHbTLI>5GL`bZ~4aA;VL&Cb&>~}UZSVu=n{WFe!hrC!|jvBxt7hV9J z`0K1uRmXXs{P=N)hIP*K4h#07vv;xBM(M|5wV*y(k~RA>{BcQy`Nq4)kOz8c&ov!% zxixu5qx)AJ81Yd0dMNtLdir@k*|i8iJ&<*6e~1O2VoLoYgZ*}xs|Nl1ox7&>RGwcH z%IhhAbFH;4Jm|Jo(-U|uF})7)H#|4yE7##Xf4w}Z>Uh4Ans;o1+--nepM~G@QtleB z!S4_N+>LslmbUhiIzBwsYMsh+8-BlWx3HYbjH=>ua{c3D8!ssPB;ea1D%H6i>w5EF z4mP6xdF0V6;g`VQJ#&+dyWQ7&uFjtdqt9+#y={`)k2=zd`*h3h>;C=sH~wOW^D*l0=>WmD^=d#>TwxD zY13$^wURhAh4mCIZ!}Z6Ezd0@l8E*Eb}2Ybus(Gb%$vae6^l!+>4=YosU+f$q zYWApG_Sh#21oqsX|M>Kpg#9z}B{RLRRJphe>J!HZ?%QFdOa z`CfQB?i!sHTNnH7N5k-6m-{y#<%b{rdrnwNJT?228*aey<}2cJLz~B%=G3{y?S)`* z?!wA*iO9NoHg4?m3Z+Qs>Z1+y_U#X~PKBcS_Vw`%@1VY?$-8DBLrqF!oqbO`9PWp1 zW@-aGa9UO~g{SM|C1K*+cvmGqRZj-7ei$UDA8l<;t3{#ut(zIZdN%FIGTr?}#C=2V z76E+^l6(vEp)=ig!&rn3f=FkEKTd9OaNoO z9@25W{6g?C&`+SLr@bhJY~3Yp)}jm=y?FpE7siOZUf`}3@VnxbZ6_$dn;u{8VZqmG z@otLhXTb5b(S0sEUEp&zTAg`5bvX2KQvyS_5wm5?hDtxT}5vZEwa*Zeq6bI^Tu zo~=e$&`*`i&G7jB{TkUu`5kjRw^M(vqt~~G(j6h*s4|@Ob(Ip4l?!vbZXX)@BEfb0 zQ|cCaf1Y1~d=VNKFi?mcxa4spYa@?bA^V!z<1X$raElJ!c{e;<=#0qqPb%{48s7bl ze-}ONzZ{wxRWChvsD67PbYbH^%zzFGlic2ERZbbBC;!%lJne>0nSE^t08o4BTfJN> z5l=cIm)m+;=1)CsuRk=IJ=6Ho-#-4uA9MRQG-K{cq~#JByni2k34`wgH@=N~^nCT( zkQ?i&^GpW@yoOk9W$Eq_BvS`oP8c`e5Wo= zjlFokKbp|Q*1cv^DMj_4Y8rtYeedwhSk!9Kc!x=QeWw_4=# zTAYcYJ=v_$b&{?a1aWdSh_5J_8`r*N7HUAy+u zszmip-&W{n)NA~)=+kkXPSka$IR1{6B6a`eq&9(@40ME)9YksGKfRy;`%EbQ#;4R4u9L6?NG;#Q%7xJJLM6&4=bj6eRCULNS?G<1e2XgW&lf5YZt#(> zo_P4-hd2I)iM{Z`3okP8n-UkNyH0($VJ8m&q(?tdzIU$@3Xgv<_I!FOC5PT~|rbqIvGn)PMX(mg zn)8Vr9}P{65?|tUe>yAJJgUXTizl;tLHE|aft`CA&_@@VE$po(&Q>l%DLjYnEN)ym?XjUON`g8UDWNq5_8ua!1s zc75Z4dTUaTt-h=RXF4=;@*gh;y$w6w6aO*eG$)$hAtJ?}oBP3dt5x$#zRAABk>Y2m z0`d)uK|N)F&b?)8REIrt2Y~nz-cNJ5P)EpwqCD?m2UnkOYrAfne^=@L!=EcY1$CFI zL(9zL?=lkZw*6c;=QYO*QFq_8*+cZ0TTYQgiGjTwF|7&={N%TOo%#dio0L@mA4>k~ zz+GRXvwI8g@@wn5xaLRPrS(FHFH6a->y$Vu?D<*^`?7Cko^=-nnOL09c?!S-SXfwH zWuZT6%jvZ^UHT)TiNSl^f8dj6Ko9=q2^XwX_-))wjm7u+_Mf2cM+ZJ0@E5Va=?ukr zAo3TV{F`PL-!GcBz%L*od)_1%XW-9ku6io({|x*qSQ(utUlgR_LdbMc_>7MOAFfiX z-8$|2#(DrIZHP*p#JW|#`R^gm)O%wU?sT|w^Y&{T2m1;2rHiQV28=%N4TpE`vFEw! z>Q6RPMuRp+;H^dtV^#dgx^8cFPNaB978aV*DuZV(5@k^x8mX)%X zfd3yXX^7hskzdHyB~AMWD)#q>xrDuGV&*(6(g7k;R}*~j4ev+Cy+ z0{cE#8ZZ&r2&K}G;fOc{;>B!eQ|n({FGeQ1v%c$m?aqd)Y-exBFFy*8O1@^{_EjD7 zU#>g*2L<_s{_PuIlyLOq3)t6N{-Q!Xp?J;I;;Ou-7VK2 z_g#D+@s~YK9jzaXf7iZ!W`>;JuE@VrWl#k>f^tHG|9!r_W7UU=5((zKfg zwaz@|`WQ!0=Yi~zgne7SQ*5I2;2A3Ms8{TO`Z~eWI7`}WXG4Y%86Y_YbU-|PQFc(1 z<04;$bs(#}fH`-%2w2jy;AioQaA1GZCClJsa^ zXQlp{EcHm!3hu*4T^R=SuqBgR#Cru?YL?o8axKF{pQC<1r4?{}*{R(X=Fbta!9Mgl zrPt|IPGDh&ApQj$WD-y<8lR1F2h@lq(>kERjt)n8*p=SkVifhr9*uj=wBzI2vu^>g zf7dU3yFPyFi;ow6VRYQN^U2|mzy|ut4I?`*FrmH!`Rhtt+Lx@K`4o7heb;;u(9?vk zEs8oL`Q~nfdxV`AT3+n|kkssRH~yumEn4^a`^^45!J^CzwyfoSYG<-t!O9lL#tHCw zv|?n(cRs(wc^g_&jRN}K6HMsj*V=+j6DPA9yD;XUbm|>VwxZ8rb^>@0=&L~%W(}v9 z42}!D%h_KWDgZyYBu$JlunT5j?XEr#9OJefx$4)p+lTrmus*9?7xXAJWhnvuknKKT zm4WxK#S&5A3wF%4LhV#r#ZcoGM<#RQ3KM&&srMN+r1h9GAxEw+>4rU7f_zkf4`ZZ&9|HdDBj(2n!^&VjyLHhR z*8B_q`JY(^*OA!z62WtgedR_MrH8HS;J4xXdtB9_<9mm1%ZehRuK6tTBcSUdfF3{{ z0kg{pf*wM}h^67yyPz}ANJ9;BU+k$EZq$7oN8GM3kPVo$zEt*z5vWG&-oik5zqh&+ zamQ%MU%Ya^cdhx4!iFm)%#! zpXH@+W$x|P1CuEazw-7iv=_?u>?tjfF5kaM;!Nif{w@6a)_3*~+2`3|;4@dJ6PT0N zDyCen)eASc`s0;^dpPV1_I&n7_Zc?!@iX80Hj%52%f+@H-~6Q=^>wn$Wx_4Nu!Mb_ z{n|qqn7NYKfU-?pc37>Nc=T~0IIip1}gLPV^b7`c2OM0zB*E?G5 zDJW-7?GTy^Uw-rxzT=kw+NA5-Y#8v92ykZe9?BnPhw7DL4D3ZUr(r!MsXEPeUfP}I zxZtG=bB)pU&W4o>$RE?Wec)GeXXr5EJ{{TfZ@#I4ZzSoii|)sjq5J}mx-CnotA(IG z%xO)!G|1t3r?jj=POD3`72H=&nDgAkC>y$CAIY<@*!k|v*cRj(?+Pg%w4_#d(!0Y)Y z=K9{6YHldaue!kkj|d zc^&)ZUtVnXLVw2c`Flk-`oN!mZFQBwK1cVoO)AjiR=c;1{gwNduQ_<=n;eOovH$xl zZ>djcpaU*lZKHZi<fgP9xoH~okOYGY)iS%=E?X=u7ec!y z5y%f+&;o$H174Se`LlI)Mz-yzc=wWc^Evwr7aTnq-fK=TmrtJ54it)3ZNmpGPrDzt zJ2xJw$(}p)|1VAN9^J-$r3sdy<8BjJv`(Khj@x_yneJxfkb$t14y>3Dpd-iGW5vq0 z6_r4dKovzvo`{sx6dwv$1)v}R(u6N%^#Ey-c!?4fuxN;5IS^%%K*?0>Gmhiko=qUg zA_>4$=PV75+S+u(fi9Lch%G+`yra*4>$b?3en>I4tkG{BMwwq#8r=Ll z*w4RO`9112_!F;b_CGt^zah!;qcZw{uVVN1ZCTrRqI@5fs_yT*HPP1JY8f>}v3(!4 zH@%oB-(xnYaW`K4=vx>#)d(KYloB15eq+ndzfkwvKOL{55J$Frm_9TaE>Ib^&AbaB<5)cPJQheABUbY8?$2_2*g4IYHfd*a19CIHI*T z?0ww1gnC*dNhrRJJTd0Pga1UpzE@?Vamf=Jtga!Z-uC&9Oe3dX;QPxCvy6h9ck{zu;mo56Yk%QzW=-v6 zlM8R%^poK;&+eixX-JdEtf$?Y6GXABdUdF(OQ6i^;LQAMhCehhX%G7ramTH$dZ+&M zOZr_+6$}2?{7s!p(zL_DOQk&LaU88NNzR5z>uY@0tu{`WysdYq{veIN^75`UlbfGj zwl=M)ef|rM-cpjvisRO^C|jnC6SOx8oTmo%|F7PD`*ziDv~piGV;a)hKj?Fm1h0Lc z!rk6ne&fL_DD!(-K5E&Gvfn5ZZ{G9lnYGUOc-`)Mko#sV(}px3XB=*9%W)|+<*RC! zVoF!$TJ!F;&Zc|I@#TH}$2Kt+X&H0P6zhE>+AbZjE)_j$eC-<5%gY=O$w|kqw zhK^T1p`2I;-sj4mnWnuakE8%!2J|;g=Ccy)k%9lkOR~J_)C~oPco1#c=wC;@#m$it z{IUZgWeH&==S}8KE#$c{d_eZ|yKM(d3J&K%HklDFOP-h-6j-n)1u7|-kWbDQse7yM zWZ0z7u-!TwXQ&YcFJgV^lx9i9`Y1$7u!mAljX>u#mo!H~cNXMIC!jG%K7<)#(wp#VEufi2Yjyu zlUF?6>IToxB->~h&14pqs3GJzH%vXtyV0M~YMKH6cCi@o_t#UZq*;3K?y}Y9E;BrM zH{;DGEx;vIy>TCZ;(O5dNB|%T+)aQ;iv_*|a^JQXr&}=ZNUFc?{AqPrPO6X3*EI!S z*zxtJh;LCJNC5xCq+h5O{lK64F!sa3ZomthKu6J*&+E21rck%{Ja!7O%h+e67Wp3VP7fn%U~fj_VFtJlQev`+ zUa<{y(|qy5@@dy#68W+!YwgVRR0ffF({w*C$og9;K<^4HC2u(B1!WTaa;W=8Yvg_| z$rBCNcaoS?*rY{>0W4SQ?sl`2jcX&Sg2t3`C%=E{2F*@v>>+Gbqn#_}+W zm+5Y^Pv;gdOKe$AG;6`91iRlXZgswFj`?K50>1XI6Q^(9? z#K{4V#OEkO#kmE{!BG*FLCZig?^+ii$C4C5K5pxcZ&m(Ns|lYoKbaboJRBRX1%sX^ z#M;bX*9t7^b&GqHG~z#qlgEDc@KgcyToZV@cM_-*c|ened0bqNr4U)??2@n7qCEx4UF{zWT?AGLE?3_q<^$G^Al85uTF2pNJ4T3H3|x z%bq_|-SH>7#_BYucyel3-xE^cZ zTMnRIH_MKgygD?}L%t_fWR9r6Sx;g6rtCLcUfXrAsjF^YE9ZU7=!t*@LjjcfI<>Ef}ZWirDeUF;5av3pZYYj*Ru*0Zf2M`MB0dl7m7{fP}-dJqpZ#$K%Lv^@wu`Dd}C8-@MK>*?;Yha9O5)b9&3RO&&j zybjC8wG}mW!yF)<7g)g%EeV$sZQ)3cLH!*(1G;CZvqHB#pIr>3yRvWqU~js?F9Sy!&V2KJ2713H%{pNxytfLD685VnFDdvC?6+#biM(LO^AaDM z)uIohu(bvI55I0^CZdJ>=dS9%$U?ER;E z4|P9qOdK-{3Mqb37+RO|q84_hMkzMQdg~tQage@Up0|)eKBO4-s3kUdq!qXw+PigP z*T_qRvBOW+)G*Add*$f8P8IZX=r|GxVmab_lImQlyjb}%uTafxT?r!J8&-0cR!)38 zl?bQ#`k&|!-*19Hy|Cs{r!T^8K+(YK?1}14jCNw8@gC}j*2&eqN_{+Ex>g#~>-3Sp zOyGn{6-zz%oB7{^9=}cFm)QU7fB(tvVBb2b;r^NI^M8Z3{-*Td7ytQf{C)kq^1u5A z@E)aW#-G|O!5hZd`0E>p3(9X*>@ld_*@jz|=5;uT@j##}Iqg~x4LQ1IU0HJ=7HH-& zzUtLQi3JZ0{J-+ucWjoC#@JS0GCHGh4y-u9my_K3_qa!u9xy?liO8ddSRyB3-$33x zc#ggE2YH?{+#e|(;z*sVc>a}BSSGnwuDp28HJjwYyY|B!w=Ta8IUnytokQ#8?7oMe z+{S*iM@o-gps^nK@OsRIqst~z@_sxp-4Fgpt=%Ln)M_qk?f-^9d4EQBmJokx?FpA8 zN!Z8EpJfRN@{_b|h!6f<6bW57Tl}vKO*5{WRo^_Svj} zxD;(c*pDXk(PdpBoW}rw19i!Cytpx3EwNQ^pw8BszL>BxS$AG@gl!x(e!s9X>FAwn zUQ#W;yG1H%<0*FDzxN*ezS49v#e?`^VJrdM1fg5JfILPi5w=eDY4wRhcJtkOBkH@l z#rGw|k77X@OdtPvim$<{YupvIwb~arQmNGI8s7^Yr@`A&TxS1v7ydAhbz%&E0wcEzRi9GP+O!&2IhC&^!dp|OZV=JYg12JNI+HfE+$!H4Q@g_zsOZY|0~6}P91lFz zMEoem9~Kin3Ow|f4>uHOu5?z8);w59*&yZ^&q}@ zD2gx6unq0ToiMl_349YT*~H5N`$tFfJFpXMo}}vp^pz@iczi>E{Aex*dxmuyd!(*%mn`5T zvNi_lFZv|+Kzx2;uNry!iJMrtTmNuK!u{MTWG5xaf4d3mi3J~~QlStA6Bc8T$tA9G zM*xS|44xGj!2ZqL#DW3*zF}@+xv_RSI)^$i39%2dzt!voaeRCc`ks?%5x29G;9ux87^{&dcA>Xr#fFng947Uwje%Nju^eOX4DaA6*dR?>yMu4F9eoRM=zHenm+2qQUB=dowu9MzJ>6Lr{_G6nY@1bB@n4yKrk>!Il`0X36 zH@55C;aqx3Y(~1kobYX(qA{o|9!SHU4`fZ=3it)K(XA;QL2U86YBcswbT#bVrhGDIiEm+Eg_5_PMF!Ynh8+&s=|NPK zAU9=>OmeUbsIrnY>H;!v4UQhgW)ggSTKn^+T_&wx`$KvDp9$ahXhSKQ@P72+Me!JY z+XVEH#KtGrpV|jfQW>1rwDwO9cQ*&Sx8As;tlkk=kUIL+)jPD87hY>c9)9Jw3naq) zOyVj&Z{82PueHe|ptG$Y1_38M&KSovVO?Z?Z@K&38j2(;m8sNK}?nuJ9w$hK^ zM~Vut`7lISGB}4d;OEsTD0uEkJp$kW@TB-0>USLsC2U_AcC>+KfvOBPv?~f`UBgI4 zJC#(0fgfu}8Ci1pz+Voyu@-W3{UZECKJxq~4Lrhk;Wu`Uf7pUNQop+@F8;KMqG^F; z>p_zgo&TNH^A!d)NrQp?FZ=HoP4*CYVu=Cx_ubn)SqgR>bMA8`6Z*90`Me%>*sHH4 z@)Yz$%2$g)wwi1IzW*h*o%@%k`(7w2!KVzp%@rqQ`RAOp)d_o_j6H7%;)wKEN@5pY zGg?}Sz(lh==PsqW7Getp+kueB*vo)mB?J3&Mr|yHu>WULwz~rSLGW74L67tx4M@oL z!95&H0Y|NCxc@jCzv&z*l)mWaCKCH?>)CK-zP?cxjit(OZv7ejJf(p64>0Sw<)y6# zxc5sdhzGhJ_E#IPGT<4VyI1##Y3Qpzto#$uCg1CX16X-?`G-qq`iC`L6;zDM>F1{% zM^OeyFTbmCB&o-4=~7FB9RJyWBe89${|J{q`%gL8^}1V_b6%#%R^6yS6b1oghMkb- z&c+&j{zDS>b15JW7t&WFIO0xui#tHgSs4fK$sjjwfgt_Bv~ z%u#cyO3X=(sj^H%u(BQHgP0?*dP)Srh@2ZS zx(xCV6LGrZalvWE{k1UQJ@_oR^<&KUbib0&dN;Bbv(_HikKav%SjQWHwE@4w$?=?m zL%udC5H107j18#5N9KT zkH?fwzt(bb7jC~#jUdn^1A zSdKDD#Pj((+N&0X5*6+uc=Y65hqvu*+>L+g_g#2 zlPxRE+h5az&u@XR_|Xdb9VX@*fb&yVSItztwkue$tuAdgKo79xzjyBc)58xw&aexo z2qMz7@Y{wTo&_+w@sq6vq|t40-~rnPbNsoJO=sq77UP`Uk6e&0JKMs1 z&Ix6F+usdR^8veg=|FhrvmQj}Tv-!8Jw5&&z&(ZQeF0MTJ8gfP6M%-z< zCb7>O8XL8K>DB+K|0Occ%kTSTiGO+&RIWLBT|NgQyyZZG$)sjI5?=R!;85FR??T+% zx-~EJEy(kPAZIEkV!e1uUxgJJtfN_eHYVXn6$_8$^)NFlC2;Ji!N4{XYq3&oDq-Tv zGKsVtvwS6hxhRA>J!W*|^WwU^Zdzxsjyfu+R8yE(UMltKd}gU}rlRp>f5y!GmIkiV zJ-F%6_T0}T$p=gGjq2(bG8K~xjc5yLwTx+w7B)(y%_Z(gXLb$M%-cHE_LuL^|CX|L zEe+1v7b^Ci8Gd$$1e{PC_`5=vGvEi2xQ5e0mqOnL5l`S=yx6Wib9x+X}t=|ZT&piB7 z(f(oLr@Q7*ceqToBh2KjQ;v4P3$myibh~Y-SlS2sq2tB+kqj&Qdm{P_Y$=tZ>b$Yr zFvz4V*E!afDoG*4VbQF}W!Popn_62HHWB+q|->xXY>?fyN; z-!*Mvo{gCl^vn(aK7$H%yasaa?@b4`5Cl4|XiEv|gHOXx7g#)IzkP-2w&SnBv$k z3I~#sN7DiPaI4l{0YB7c(D>3_%v@PGjeKocSmZd!WnGl=vLBU_W)xDl?QbFeR{O*l zc>fep`ZC8#CAQV+jssp=MEqp}UZ(9t2Dt9Xq^F;T+)Iyk)6yk)c;XhNg&!}^`;`5_ zKYaDoznSoQ3dC>nF_#UC0_63AP{O<@0fCudNc)}LBRd9Bbqn?UEXNN3PuRWl(W9?r z9Fc`a1_N?c^1LMAC~fGI&_l>4>F;-BOoO$F%_qhm zXnGj-3wUE1#}x9V0$cwRq?ggJS4pYC6Sy)~0r#&q_F$};(xqAzmG3p510CW$%{y}c z$ICCv@<0CLSAVeTU9O|3QT>BYsqSad=o9qL{{TFIyEdcjG5B?aKUTS~3=3pFR=%48 zPQ3ia{OjAYwiI*g!9jDZ%w2z7@=S-<&2*sjx}5jX1RU)-yr6-<#5u7)?9F=y+Nl?c zI1lm$VM`+2jPx>X^i3R_$) zYtR?Wu3In%4Er)V<;t4=|M*Xqd$G7-md`KTda_M|oY3~}3SKkWO(sKiXvpNv+76If zJL>-?yuq(!H^zFe;q}{}95_uf~eQhL@fj?lN!i3Qy^$ zaH#(=3g9;E;j7U_da$Z-r*WQXK%{7<*2tC9H9;hDm&jZH-jgoOYkJmbSN1fw|9@|DNm4Kg`+F0x? zU1{vq=V`}-cS|PJ@6V#qHTl&dzj78p0IoR@%_9=cda5dgsv*XzhE%BD!X{?XN zsA*`e>A=sW!Gm>h-~Gk-1m?ZBHB|&R!J8XXv;^ycCvj2rL8HfAkn{BD3ybC{j@9(m zP&t=#Ky%gwxK##r748t^jrd9F>f!|&^Vtnlj&}^i;g6@B4)}o>bEr;STs@%!&v*Kw z^DKe(BUw)%pA^;fR8r4TS;FaV!CZ5awv1Gwj^c7TC*Wr)N{^7OHvku&_22aGCAO&z zi%U*R3J#%Tvb0~u0Z8MeBkTqrF1=sTi1B*n=J~n<_d4&mEALjmmPNxL{GaZJ4OTOSH8UYyQ)h*!|OUQZU76B&KYx6Wq=&wK9lV?`l;0Zv!JKZJtI=mH{u?yEO!T4wlg^$gN|o zSY$QVLfxs+(MHOT`rnhn0jv|`g>xj0_`e{PN_fojlME{jt~#=a*Jy9hAtlX(^Q_5h zCf3Q!P<_`xIGw_N_t2zXg`>;|9G2zgawjD`emXykLp@39Vv_Rf7$2#?ujqF14C+Bf z_N6Q-ng;zxQ#Kc|Y~AcX(5k3m$Ci7G;j-lX1zP5LRwOQRc4;PQ(PAHvMTNl#zEO4* zeLVLhw)}4&Kkn>gf1_d1U!iyWTIjZ0D6?_cv3rBb=oe$lug|LP*eb3U4>AV~un)yI z)$UHJ{Q84~Hgom1_|#TkoDWmYr>L_sKX29PzEdLjX`9b~-KTJoV z1OB6Yr0x`#RJbaym(CPTU{th zSf4j|n=1i)o>{6U)0h;a7n*XYe=&fa)Qmg|b*c<9L5pxRJ%6?!st&jS3xYfSrkxcE@c7gWz}UHz=~&+u1z zPwII1@bKZyVWuv%OVw6>tN4S?l{wwlpVsa1v^Cw^{N3ikseX4@V(q}CXS0^yl-_{* zs0%@_r9ccE9Io4^Xro5UZ#{T3RlUtsal_x7ZA#F~XE#q(tEl8>hw6gWiq-?=*XxcU z|6_aQTmv&pn3I`{FPLS?{~bd`=GW9BnT2bMOb(sho%aN+_UftP4=I!+Z^yZ|53Il6X*PO ztyE@qVQg{OrJN;~-z}1cbnDFf@3L0glG;#tQ)7+B(zf8F^Qd#(Jrf$N_=$mL)?02? z{KTbD8@4`3TT-Ye`{&bO1?aCvUcvIPf5(XAwmZ|vPc6S!_Z_qi@2FhNbaaCNsB)zF zyVR&o#e8JnJqQC|{t>eWW4_(YhjM?~>7Ps8fo4}YJ(|82?3gaw)=GQde;w^V1}6IT zAxr~*>6Pz!2CRUAKWVr96D#z(b>i&%Bhirq2}Witkx0{Y~jPY=6`3{yW) zX)K~}a`2Y+@><~lnek^(pX1EVvoyO6^9?l)P0P9{%QFMMGj+d!`>a$EBQ)%~&$r{3 zvj1OO|H`*b*pIe*JAbQ%o!GFgRCBNsH9L#Y8$nMgY2FhWV)|XgtU2Hojw|7CIR+%) zRP#x?TXSNbsG&Clf$n@+zL@c7u9cN3Q9qE_#oMX32{ZDMFBY7z3q6K(4!mPr zPhqWpSI7>WA$V)47oWyw(OqeH;ue4&`07*`qvA%_IU<&(%#d9R=q2*l0jXFU| zYyYbs`8!?2gLlh+l=bLFAB?5J6R{X(`mxVZC&qm|kaFh2EWb&*&$D! z#tztzc`Lwmbl&ErxDPl03`Rkor+ZyQ{={B+I$~J|&I|ZCDE@c=cDew5d9U&CyneQW z{gBzyJc2oin4h#(pv?3H4IH>wsQRH6bAP9%K0CL{NNcoU3}`NG^gaqp_Qo#6S?Dvc zGT8Q*=lWO26htv;#C@NgxxJqo!p_yj!Y0W7za6)qmg7F10rfBJM<&5Pwck1=b6}k{wc=k%mNtZrp9v>5-w-vF4e!;;>VL~|D+=sj;SutQjUtczY zz69`30|111EQn{LSYOCTrwlZX5?2F1k+!dN%JcfP_9pg=PeXPS=7km+ZqRWwPvs)3 z4vvixZpq~R?4;hz6Ps7qw=nL4PEVEs;qYwSKk09n*}mh2H2V4}CK7JG`O3>n{X2p! zeE9)Y%+eX)C#)_)G0k1F?1dR{vGWx_LV0*@`Gfk`stu#mi%aMSYU+HLnXta`jc<&k z#hHo*IgVcZO$7#4sZ>^<)NV_t+~T!hyF1%7nz=UdpLjlpxbOWRP}qlKADOz*A53zv zgCh9xP2JQ92K?-SVTZe5uEiX?G&57OHHFY$#Y@R*^e40tleVV#0PUTzSrQWX?q(GU z(sO82YGwT?Ae@_`-t^OI>HMu_gOLAHrksgj?O{FCgij z2ge9B7|x$@fZPmz_wb9S!aSE0z283wH%s+du=ybRk6eY3L|0xJmeQXzs3ZK$42Qb^ z;=1I-e(e4Wm1+|5@F;R-+~-jDH*e4BIPeC3qgw5zVW({`NmA)Ot@ruoeZCNoC1$Es zO%FDnV0h$nS=8ScAQ_!bmX`L8J2K?7R}1A06ou#^F`W&`CiHdLk&unnnI^XGm$+|Q&vVp4!NIm@FO#9LQsaa&;#*CdCHyETbqd~ z5kC$+UsLuBEp!;|qnV0e{Kpsv$u?fE zJ48f^X6x{ahg?Oo?%?_HLp0`wwBUI;U)UVPydm`SHUdYAyf0x4G&Dy+sLJ`Rm_r&X zqjCR)M6A|0vAlQJE}Aw@_yY(7yp<|4ZEJN^%@}*L zSEDiD-jCGWZvFfCMQ%Un9n=ogpGdQLKL>w9B8zSgzt1Nv0Y4gIv$G^Ex}jH9iEKTy za6l)z^p%r=;Vd63RDk!z@#tAY;Jx}r^^WhnBzYzpTahQy4lSPeHeiH-iwh^1B}KA% zXrh)a#t$Ozp?g2rd8ucsBFPP#fMjR(;>aef;_`Ro5hU&IA~q)UJeA0a`3-JHhv;zb`hm6 zD@9;T&B859R}}m}jZyf4PO};Km&3rt{cQDB;k|#a?_}5*41Vac*4sGU-3)uc+QhlM z3HMvXTuSKW~$1N4cSYSeYv&kRQ2y+hT4w z7h(~n=8ePPu|R^d?p*N)7%Q&WjMcq~F%eYd-26ci^8WfpQSJ}1eRiF8E7qlwG-N@Z zH*MZpT&Sy7dE8q2{lD&feBWREU8Y&>@wkM`?BD&2Db_4}NOepD&qJebQV>ORn&Eor z8NJ!+sA@xF8BuqBp$}nU);e4{kSr4Bg?_Dr79}D*VC;( z?;`q_ayirGsyC+lKb}rN?y;#aY#ideLPDhFeLoNuNfY>)6ucGhPqVY}xB>nFyZ?aA z;&@L&p5u96;5|7%XtBt4gNR5Bhdd50i*z&Ko*_xdpq0utEsE@Uib9WJK}rRH$e9u#r)ou z?Voh8i;K%O*nS=>)(^iuPfC|7+gt!#YA#P41K*@74ZakN@oAOV@4pVb&fJ6GIPiE; z#dwf~{&qRPz5#y`^MNLU<@?N-4`lhYv}e<1qZWQQzS~!=E-U>ybT|t^v)7rrQ52RY z;@XZZ#4VsdxCZwjJ!E1rr@Kt>2HT}sMXTT)JEkO-#;m z^O&Or`6n}aRS5E?Z|i3{`2D3jchE;9bx0dIMt;ATn(c3d{F~PP^&p4)O47xM{JDAb zH%e@}ov@iv2QUFIK0|OrAP_jEP63 zbwW3BfjT;iz6{HN#YrfVQgFb5yq_v5PKJ7DXJG?3v8dek~#Jy#MU;m}}!A?Bvg7i8TF_^HdXguWtQiheNv zwc+LaolDGb<^Hg{{n{bt@n?VaM9f^ZH?*}KzH5n!-5)&cY^H|mcLU$8ufM*GzCMMk zA-MUb!o`>u(D&tpV3`~7Hk55e%+);HNzFTBy2*wcyHFP*CeCl7uA~5NY~oa0k)<5L`9nD;sT;dKb_nHx zFcXv*wMztC7JU@xGnM@`0tsK)P8Pu!kalxDQjI_YujVxuT%`=|yJRjzOpseRLXlc; zu%)#*J#K=0r;)fZVc)uWIwimEOvGv+Z}!n-F=0X;fJ@)|1C6+V&*dlyIE}UT_JNES z$fm-Le0&CT4L<(#tO@JOoFH5@KA)Tq*J!;|ZyNO-aR|6R#I3SDL70lTHp4RJJi3iV z*HSy@V6{U5`2-@+NPkvIN17O<;}}Ep4KIAFy$9dCb_0aoc64vy>bDRY{9= zEaPD_?ky{pfpYN*dlK-^+(h3>FL)8iubtzk~ z>wO_iPAQwth@{l82Dn>ZS=cnIa{Awli=xK(^1g9`;mH5f&Yo7YUe7EOB}BO}(PkvOKlrL2wXh8 zK>>50<9ZYBzl43A!9K~|5cIPA;CGTzx7e1o5d&KL>b|IoP(UjTPEUX9sa~j2WkvaO zg;ah}i#+gr$n^9)vGdR6AioY5L3B!&B=*^ALsasFP{re8^7+5d6Z1jji=Hd|!XLm+^e5uj&C{j3yZF!vMvUE;;G!R3r$cO2D}xZ2Qg=1hOTG}u@B_@D0k%M%p%$OhX=zqT~Xb)U>-s=F*4c~10F z?JkBV>Q7G`1A?4jN1pm&u7s~@AP-H&;eL{EWCZkE6S3rM8uN%@jrAda-EQSlYtuOR zL(xvQ=0IGRjqs=!F{frRPmT5-d^%4JIMU-1Ex9Vs)1Fz^MqU$;{Xa=cbU9DdD0p+i z?(8B<0`_@gK+eA>E^~u3C9#QvT=G&el7POh5t)KX{{C4<9(w<<^}*x&*yr7im`_h* zzvmQ*kOcdXoj&^r&$CO#G~zw2T^}b+0*>2ry?FsRRXS0F{!W2)WN#u!jkTC!GZ1U@uv4#ldsYgZ6ns)<3;- zMR#Db;zyu?L4SgkOm{AoX=bnvu0|8wwc!5Y;n~@WVDQJISV#6aySsB`WG?*<#X>N^ zWyX<*iZCG=&&j9YS37Z(qzvYiV@!Q5=XK(H1tRFqctKkL{hMy%RYa?3pMMkP+`t4k zUkBZjYwXP1=M_Au`1)*9AC?dK_PMdXJo3GL!GmX@w#bPKma|FZt*MKmeFg)|F~9c& zuOhjM0sl!6jqwZp8Ykvi5*c}Zo{NtOh>s|qs0n!lFMj@12=dRmt7o;x7u)W%GHKcy zbk9a>QKtdkW@nO<22J+!|KlA2^6&YJIUaU9!+yH9-m8VZZj6uBXMhjV-}*`vx@m9I z$Q1m)3_JJ7!=17n{|e^Xg!fBk{f5?CvY?-z@bisFpLuqaUcDfCMZSh^aBmIsgo~^^ zZ)xX9RfL6KL#o2!*hrAoh0SCo{Fp2hRYqQKqOFiQF3NEOvvtWE@~<*fA(K@^$5 zg=M)e>e6_a)AD*q4>X)pBJpn;3_4ol0xzM?2c9Q>VrUAjKbXZY}xV{4Lf4C zh3pN@t|It8e&c^LF{j2nMDfV>IWxU7CLU+Ps#tt-ldK-;ywh;A@n|92UoGIikY;f! zepUO%m%sewpU?l{{rc)>)#|F4=`h+k=-^bt9vZxjjnPDNKN?CaFE)PP!rhAw%XJBOG<$lDlJrhxYc5Ul>X&|U^Scids>w$#o@7Uya^%!2gUc_WLiX|miI zNB&kKsSBIGVtM%I;I*O9h@J4%oi@;5e!9?dl8Dhc z>%eMngvfK2GmE_vuOt)p)njm%!c|iZyOExrT)mcIx1NBH67lfHKq^9GzaxQ#e1Oy~ zv2Xr&3G;QnoK;UlAKN8eN|614Ei{0c@IL)u8~UI#-78Pz{2}(g^ljK3!LyBj3D+fn z&ms+bm9TW)LEd4qbi8ZZv!lXA&2T;!M*fbo*D4YejrW(zYTps?d7x9t5bC_pTP~aj z@duwWv8!*OaK%_AtM+Ey+p48`dqV~Q-Ie(&UxHfeZ**54Q0N6}>k8&ZWnJpvWazjc zISU%-L$tR_4NS|)ED0LeMiS!SnegFq;1>@JS76-&HqmIO0)V{J@`Rs+IA=2 zOC3f#G!wjRy_g+{nMK}CLLFrN$Zzkr(AMRJt-r%O+#SoGFh3j~K6_Rgtlxun?`mr_ zF!9W0axiq6-4kB79a!wG{4RK{RhCKS9Ok!^^Vc67BV&W8_b(q)W$)=)Ml1|PA`l#I z97v-6BY+nY=86%AmftK=q|OpW9T&JSM{nhixom25@QzxhCUEjvnXL+N#gk1t?NYmX5x4eIDE||t(WGc zm$cq3tnYPmqtnqPp<%85{3`r3@XaB<{>U4HUFFyZ# z^Ar0UyLP?sLcEKmlsBki#fbf&3JQEVx^)cOT2*nrvb}nn%{)F*<%YS6h6cBK$#v9m z?d)lJ5ai}?0C8|iQF*?ii-O~q@M+LzS>RqdMW29OSG1ff@00Buced_KBqEUGeOtY> znRYFl_k;gSDXm0Tj-id17QD-S=r>3@hZ9{AomW`h4Nj+f2-$Yl{nYVB*oe3usU65ZLy_a%?Oez^Owl9ON0a){r6 z8|>F(KB4IOGD3-=o8pmC2;MrDw(}c~yd#h}q*H|X6<>x$xf6K}fknOyxKL{^vBKUl5H`NW?Hv&CHwhA zdklc^EuV-vAfg%ep9!O{N(;Y(;AuDfL&hb=6q(Bv%}D$18Xo~3G^uipBM!_fY|^sh zvs0*()f6w3|5B0&)xsEavX(5mUg<}kG*3$P=PQ{c@;P-Q0^$NQ8So*FMqCiWzURj(D=Wpgd(5zTHDFgOL`G;+L>&VDDTUrx&GUUL9KUoVfJ|eex8)Qf&N>Q zy^&XZZG!xx3Ra-89#m}^;IgIeDc#Ol0lX=*(In!&47)?W6wV;7+}PM@4#8i1!X$Av zsbgehmnp;2UW_emme&&q+}Gjv50>tQbuxZn3(yJ?@6UPW~L>x`B9tv(s*+l7pRzZ1k?0SgBiQNRme6H#sw{f7&0TQ-!O}S$;fuhsi8P z)0ju<=}ZKI@Un|ZtvB#APE1d3S*uatw@g}(Qmy?4@nWNOqin~@3iL|STyVGaugZOi z&dPI({W8vqx^C%8#`uV1CU|xUWeCkRJ6Zj*ah^h+y~#oy(Dqn=itwx8j|YCL?*C#l z*z0IHpjXXQ4p>hp)g;;ITt=MFyX?`GKIC=TH{RFt2@}p&`dXKe&o@KuD9Y>LzvUl)AM*1I&lGNJG5xPEQkI4)_tYee;zgsH?ev zd<>xO41i+ud2Nqj%0X5o7WY|F`DkO5^5oHHV**ZXWo7?UI|aT0pVnhXj({$=}c(jua_zoReRVWV($fFqhah(dMwK-9l=j-`TBCa%9Vg3&*NeOH4zo zq0Kf@-LDCl*t>;$h`Tt?pyD?CEbVd36yGM$aglz2h5yBn&S431w)l#Gu&j6SH7q04d1uNtl9E*rc1HzE-k zx8ZQaeE2>)&yR+&+q*5_uaV<=5ADA-FW=`Vv1QL-{U`=s9?=5dlMBv4P69ji_o-R! z<%~yN{j2R-`2Se`up7w7I9w&X?)eM81Nxb^=W|)5X^1}l?4QrhhP;Vxky}f1kh7GW ztjR!c;CDTrxs>tjw{Wt&?I|9(GOQy7=PSv_+z0P`Q#+VAvMWV%;$*rfJh`o(_R=1} zl4>=u(-KW8ox>S7!UC5GpU)|USi-OEme3$Ap|3348dk&|=?*s~L^V@_CtI{p5^xgW zXLtd6j|Kf=*vSM=ApOaeCfNh`J2z&H7Z*u)G@mNJ1wKljZm{Ab`Y>=abco$Lgfx31 ze$)Oc!vMeeNxI|E4?g}l1OCg0pMUX1!(#f!FQ7hO3Yx1AK_2b};Qlyazo;vpFjH zGsz#{$AND?aan9G^I*RKzoB~Al;ohF`S3Q>ZKUo(VJj}NrsF$nZpipfR;~5`hh?(I zzA89PkhhSSdny+LOCJ+(pGl`gAl}2Ap80iI9~5giB@MY2VzV_8US}p1{aQSZ+$bL4 za2~Tn*9hQKm;vr9gzuI0X$bWxeg^pltoMSbK46lsm%Oc#*MDuSMuG3`&e3x^!LDHw zX7CaYP$%>+NnCnd^n#{Ztr--&B>D<6Sf{R1p45899u9d-O@Qvm7A0D+C)#sPvs%1t z@r_P zG!a{8OUFclpqqn>r<5r81$>q0-y^G;VBH=$p0B^io>QtwspSmgMEor==QhufW_(XDhC(|`kTG6{fmFaKJ!#Z!u`nG^@NMI zJGlQnHMQVV!}}kHWn5u~{iI{l%wb(5bH!MXcm=N^#Bh0bK`B--vdfdyg3goA0 z_=OQkipuMPmL#Qs^?-4iju7m4Hp4!W?RO1Pb06}>eAuWW1o;s&2te>XclZ>S!TSeQ zGw3VIbbRr}p?{@u9*O)C>r3#|#u+hlG2K(0aZ169rQA`4qO4IdngZR zhKz@Ub93snH|T-eCvBbGJjR%nyg#sox_MYy9hOkMmyl=CAkPV)Ab3Otj^j1MU>XBp zkn2fwBX~{RL}W8qC2_1y81MLC~btT;!3$1@AKb)}mq_;}6PG-CsO0ymTxKzK)LSgN-M4yVQ= z4MkwkILxO<{}U;>S9{Iivs*c1KUxOd+-Co>qu|PmK~KV-BqX>c_P9`ZYM1m(ET)BhzxT;Z4C}9ZgU_MPO7&d-&QACX zPIiu0;e95%Yc^jD;;4}3o;Xo=P?}3vXB3;CnIy0d*y>rKE`ffsxlg(*33v=-`tcg= zFa4OGA1@a$uSt0;-74UF)%@nP7VjtL3kjeGSlD5u3Fk>-&NT9yEa-6}PS~yOy;9PN zb>>NMDjN4|laFR)KV-%{Lum2*OX}9!@^u-hzn?YXKA=5egGRmEokkuH&wn|PxCK4R zZpH^@GB}^(QL0xO)Y$unzm4zDu*Cy^)X_MmroJ4I@5exjktkf3xG)O8HskqD&DtIT z_fe2|_|GPLPS|*Q-{#jh7Ua*N8lHl`&8~>)>cnNqv*Y7^`?1fuAMD&d=)CH*JoNNW zmENnegtRZbz=6Mh?Te`!Ay49n?$(2L$fxI<5!bYQ-i(c(m5-yV;u`d2_je-q-`3*% zKaZO>8h1Kmo9c}$jAT3y#c*|KB3~T)DnJoVe-p-2G2iXN}o`;U(3h8`oe_Q zpN}qt1-uS^@|YIavpqAT67ar!kz2y+ta^BIK8XGr(_jZ{x*Y1@h4*Vs!23>ydGyx> zyO;j)=N~j;9xP?s5;7B}o)w0bf|pE3M7}x%{XzVrNF%Xu+2vNrdRvV5uN z?3WV0r(HD*JCtFS5?3Q%k25*-RNji%W*m17{U?Hn#_Lab;MH+lS^17ieqZU2D{a_E zEWqG-`SH&b5y(?woBziK>?Z1>Uy6hB^Jy~uGYR+i%hb>A$j7L3^jGrrgxvpf+XTIK zYw|g)Vu_6(2yfy#Ja>e9lNnqWAA3#;dad0x|M?&PYw5jE%O)Bx;D0iTwdrqCc1^dq z>t&bba>E;czx&np%6C=|FIIlYrYFkiy& z%CLgo-6~(-tVjI0fY1NDrnsTS^V$2IH3FV@ZvI#38Srt7xf=QW|6fVp8s5ZpE$U-F z0+tW(<2E5T=)vu&F_AC!y-C42phw!A`+c`3$!$--*pa0X@#8y*Y!XM38=;xeD3aX7 zder^=z#LnWg^Yt3AuCOy$h9R6fwuX8rs>Nz#d=|v#>l}Ya0H5^nYn9x{AYh#o|(PZ z-fOMB_Ik35SEjk|=hA_H=lW4aaW4z)Y*#hVJy`e+YE}gMvF)FZAC|*+AgS4OVmO1! zr>@^;^q9^_$l8?SNld%4P2@FtdV@Ujc)~8kq5NtvGrn|G)26+Lom00u-(PK!PNiRQ ztf3{T%VepKu$Rii{MH-Z_dZiyROvn)Y23l-n;hE?-ORxJ^5GjBX_!YI*b_G&VwJOd zW>6&?oTi}9ON2nLl|gUcnIXA(Ukc9~IXM0>{L_nSI1dxi>pAYdgK4e~r3hPcP_J|F zs2*`~DZn4?HS;X|&cE@CTksw00mza;z&;!1n`jX{cey8dk%IrLb78-*S@CLfR9^l{=r!gZp|8H-X1Kj+JEr&MSEV-ZX0)43E1g!@8 z9Y&>3B-ne{e!w9+O~ifBDIu6MpRF1~23}_8)1=ef`Xxm|xh5 ztPC7V&Bm1H500ksDXC7q+f`CUR1kLx*Zc^-9Zff`V;%(EQfQ6~M+993Lj45zIlZ#& zvuuEH$Z)8K5<$>-_rR#wn1FHf@nkDEzeEBI4UqTG{Pl^wa==?@(+2P{3N`K62y*N3 z^~XoA!g<{#wrjx7gXogs9cDGaL$R4Gz>CrDo@47<{ ze}G%3g?K|L;f6dBYe$t7=$pF+qLgwH=_r14=W`b2L%v^gg<#yRvK(kc=18^vQ3iXE z7%D5@>!)JeXE;T2@5Cl=u zPE_H~DjG2l+UDJ{Jj4IFu**QP&E8?R#T5uoQgDukmkDYD41itD=WBl$rC>}10Goy zkw^us1DZLw3*;Bh-tkpR4(lQ2IE2MPE(XPIsdN-U2$5?5I1U$w`NBRXxNt(}RMOvB{dWU{b22 zIEZLP<8PJd!<;{a=CzeiX{mrqQXTHoWSGH{2T3Bet~E2s|-u ze>QrHu$grB+`^Cfab@fI-`sgH0r>$*(kN5gRIso8EqoO11PirEI)t9|pPil;fggTp z=+CXN4%TeF^gY01$ZyFMSu0^X26FTS-0Ma%EN~CdkM&n+Cg8ayHAHv;e+2c{6ajs8 zXqV3ma_fjp+?fWw3zlG;1Vf4L+6f{jg*u$!Sn&=5d0f0FDz+pCrN_;6;RNQIv$Oc@ zhqCch_vp+l&WzE@q9))kjg^&&KYuZ*8W(i7U8Ru5#CeBi&IgGUjlv638cIKS4J!ecGl1>R)T`LAt>D-al_A$XU=$jRWbYnjfnR^AQ&edX5!uJ0A zNlNCD>GBpxGd@KtGL5cf2IwHC1pO@JVSqR)1n-M$b9M6;lNCSdixhJN$Y<415QN)T zgE>!g_+QNZq#^5Pe-!v47>N4-xRdTj2ZyY<(fzwwRI zQ`Ri2clUArz3<+O^%G7(mpy0P&FMqM!Pi?DcidQr(#zmqh`~MFjJV)_3HD~GE2&v! z)j*HR-c?IQgtg+wwp?)hBMW>Yprtdg-&SfnL?VOS;!EdM9K1~yJd*+ZFs!kg_X>!2 zv2b$uG*8~lA1`-1_B}~R$01)f_(8+@V6{B`fnvfT(-&Xsd^F*ZG~Kx0b*b#7CcNVx%mkcgsf#={;61unkyEPy z4?uwxVs#=Xm;a50eI?nfozt_knbF5Z!|s=6&KOn`Ou~IVMpx zc1!jG<_oI;7pkra zfE_UbdDaql1uj+B=-TLyl1`=eUUgxIz(rYC9X?#m15yqb*lz)sxaDLt8L_4=Fo;2=UI4 zzf$?9*S@U5g5_gB+b2rXgYIL(j|PUN!Pv3$!^xjWf-(IIpSy>WQ;cr+S9lYK$J!RE zm(}CH0m&|UcO~vAw;@r-3T}H!;oF{Vj16PjnSuKYp5d~>aAEI^DkOtA#Koz!(}XVG zErjCWuQawRD^5Wjx|UiC>9rwU%iA@k37ZsEB&sePJllcQ6~oZ>7V~r2?ej@@LW+WR!~4k#USr^#tQO$ z&Sya!l9Rfrv_EcV^g&pUq`j;U->@zSC;6%;ZoXAijmu6xADi)&2Qk%yFGh{A!E*Nt zJCglJel6(!;~)RL#5njbTsqP7Av%>*9IR?@QF{1VU%KXU**&K)dbhpSI`UN451!m= zDSK4t9nfnM!;+(cnOsY9IHtM3@7-*|DL~1M^bW>}pzKt3kpQ^bntKTm*7`5cKX0xu zITD!f0=*$az4}K5$a?~C79QNG=HRa{o`yUoEXrWm=Kl6r>cWJR2CYBB2*J+MG|$|d z0QriUuVevRFvJqACqUn08OareaQ<%;52$4hL8oJ9@-hN>DTu;yL|}DyI;trIaqxe- zY~CJ<&z6s^xN1k~F{FDV_4)Uaq4KeV4}~pDWKv(a_4hN7^|JQ_*mqN(lwXlVqf@P+ zBke6ueEvpjNZRVI4Q;@^SW!r`6yxT1^_|Ts%I=#DZOSvIJhCja%6rMmMcBW%rlN9LK|?&r{CxHjxBrnX;O_zZ>B}Oc(6=@in@rsA z8IS~9fQyERz%35C!LrN!s&YKZTj(O1rvx!fD+*HipQ4%0eGwNNHv?Z-?G{%WJ zdrV)bLaZ^+^Oh3JHA2YqN6EAU9*}>K)&7HNzo1ufCmf^3lP?)j&HGEixtE@K_Lu)G zbnbZ}d*T;+XWd1`kN%tO2XnD_tJZYNAo+yRz47+j-?Vxp?a`NSZdHtwG>xytnh%dG z8KdnBS0sH)Mqg89WW4XD*4N}?Uv-Teo2%74+O0%s3)sCpi|! zJzBGG(Jlu%f0#@0)UfY0F`q4s@l`XQZJSUH zs!oEgdOO?)JMVo~;}(qL9kE}&{Jr=%*0KA^p}*1>m92{lRQ&dYs$u(;XAy1oCuCj5#x;+Q{uVa6ZWSJ;jH&Lo9GQ$1?2}nWO{#IX*3X8K1S+!aBioK~`|eu79;!i~8{J48V4*G# zL5jtU-QBwj6xeYK)?2J>B2zY{#W(K*If<~6^JbD;KX!*POac7slo*|WbwZZ6KgU{P zy=s<(dS&rmOC&+kcBM+|s5Kh>#qRNwu?GxU?&w(wO(*^3j;Bt&Q{)E)O@(_acfsHG zs8?2RiVwGH-p?Most6_9)Qw*}ka$G8!Xvtvb_%=J8Z2#zbHXlmp{5_R;Mm4WHN@F6 zmLfZK39%i~%wjl?yLUc;dRn>FT%fR!|HUr#?)7tO_pTRp6 zYpSkgd`hTCrdBsrCZHa{)G~M$Ths0D-nvi)`;J1H${7*Jg&Dt(N>7Tq_ch8X@3Nv9(ksKf`QookL-WCD}wEJ((< z1bEPpjWT=26`eaJ?X}3T5EUmrp-ehKXD{!tu{d_KTjcOo{dI{Mg^ zr(}#X)>aLP6y<#atDTADl`eOiq8_P1J*Y-|+EEyX^RTLLyUlYh_OG&S{Z?g!|6=3$ z{$+Q_q>Fw@%tKZIZGfz9S?Zh9HaixpB@PVFRx)&aXaajw_DAG4rt3s5r%^kF-A`AY z{g%Vy0MbmU;a>lNB}b^?-iIc3RhvN0Yst|n3ho1hdKWnX@<1e*Ey{2;+Q71e$*w$k zK%L9Y*#*6c%OmQfU4{E1*&T#K+L<;4Do;&DD~= zR?A$)d_{69*@o$u6t;T%BnK@IqYqM=*g{E>ol@3Zj0 zmm;9|3UUf=OB8yX?0?*AN$4S*a$e|2V+~CPma(U?!g9VLWnuKq8>~4s7VDV(V)spY zFriPN!Lk%DL!25(Vpd`AiH6)FczT>%IX}^>8ZUQfU)cF1GLCnD4bgY;bISJJ??kr= zMg+Qn2OnH;<0)fJ4&jwua~6im`^rWs4)#E(Zt#OMFi)Ry`Zp&FjM>K`d!;Oz9(I~2l^b4`~G7_ z4sx)L5R;$}V^L;Rg>Z78CMPCSev_UloV`tho`@owU>{=I%I4}-+Nna1R~6V4me%r+ zUDK`jk};RBXx`J;iq2E!P;5-qyIhlDV|LNWAd}sp#!|*`F?%X*Nnp+7hf4lXx#I`5 zXRZjwy%>@zd{e%N9er_0Bu}_g3dlDh6uK}YNh@BD4^Ch~1__8pVj3!k)L^b;8_4(5 z3hNQP66&s<>RWOlK`#EYj?67`eTKRN_aHgO@B(`iP*?G>r!+a)xX?D=Vmd3g z(b`J$>WFtUPfOk$A519+8j)pe2@a-b7L_K?H{?qchKFD>f{x*qihSu0-?F_*h|koJBPYMO2zrmazfIV)Fc|WEGP#h zxMd#v=6ruP%~(v3XS}jm0P~+$ zo3_ZnPf~0sh}6RgUEeo_1P5PXy)?tMkf+xx0y$=Ok!s}VVgBZp?eM#9z3bkG6ufUC z=N4H9aEwHck+u-n)KdWCY(X7xFR~To-(*nTz zcVos%RUc-lG|sQexOLvxyA>J1b%g5Bom5|}EwW6qvt#a)tQh}FIkpFnE3FYe(0g@} z276NmooQxSFXUsmRENk-Ko?sr{y+xqYmooc&b5g|5$t8)@6`kk!uc&jR+qVc{oQyT zTHP7p{sxftP;+{*KI4FUQqEGvz1KvjS7lJgaRBsp$T;|ODGje7m2rkc+xrHDLIu6KioK?iMX7r3$_E)$D6Nf$9m^0`p*62QnlBH6e*~sf zd$E|tt}&7xJNRXRg9vWNn(D&Qbom_L`u6EBA^$05Wtvp06IO4B4Cy&xa^QV8{NdmP ziua~-6?U*kTF5}u%vvG;M%L)1hK23X&}2XjaD~I!63fN8#icbYz#;y)|9f&+r$=-h z)W-#WuR~99{orzT(_WNlZffA{hkkWm~5`*e8zAC!DNZUnawN{YLUkqVMg+4;R|HAFaRQR4Y* zL$ep~gr*B2X)nJG>Ys>@0A5re2h48JgDxD%ZAklKmgC&}eQpbgT?}rGV;hx^XFrLL1f$u_VSzPhCL1Q%-oqbaPLh|i{YLF_nKJ@}POD-3V3BENxpl2( z32r_?iiB}NzGm2<8u$~NV&w?%>)=XZ!EIIP>t65g^H_0=@moK2J5>6Oknn+NIM&4` zeyqiv9yF)tqe`ZusXx(BOwZ*t!+%#zzP(6Sf83^&d+IY-K%4YNy)T%Qa~ z2f63MA$DB^^Se1$_gw_W-*sJ^^;m`2UC+|XUWcdqkb*SE9ZLPp)!_a3kVOC1$%lIB za2)ak{x0nX_}`@Z4JK#W`fm#%S_be-w*49E1mIXz<@YxCyAyxdn+CrS{xheh zwHWLUfFI#PkelCP4lXD_mzj~smzHumi;^y#@U}(cdKnC>#W$f zC+_s-|80&Xv3Oj+IfTE1@?8+NyU zI=!bFW>>fqZpM#iqTDlweca3{@Tp1qPRne z{dn;~LSl2H_8UJZrB09Ti)G(M1pH2xpL_q+RvV7y!##E-{4T2TIXz&Xw+GLFK2eG` z_@ZF<1$l^#x-x)&5cNq=4g|{>14bP1aNb;3NWgr?_ExpHu>{(S$`|LXm|h$;ggg$Z z9?@P4CSf1U{{HEdGp?(9Yw3~FhN0Qi&H@JT?z>iOh`HT5Pq4g*!T#S@)%19+9;~uC zUPM67S}qUaafOG|Eb@poNnDz-TPfqn+oF6*M>3BQ)P|R4%9Yh-JxEe;pn4wg`GxV z9uL1I4I=P6D#{L3ad@8#luwI*9+z2`JLjy|AZB9(X~LPRooWSJpzP>0=0UYW#!}2818+rTiO3Et0z9i(2 zWFSxcvi!Gix%XIh`Y`wW`$dZ4`iWwYlsg$z{w2DUg7I3rz9MPBgP3o?EV0GW-1^ux zp)G}q{m;EAh5afQ(++N)RCw0RedkEM?@b2A4IX*jS9S>WUk+Rdarp7~_*XY1@E#d_ zcti>y7^_s@Mh48BT=188BG0Xp9Yj!W{6N6>bPV8qW4^hs4Br{F`1)1OGMayo zp_70=WTu*w+LGWGNIxTl_4w%fmOTIohMo*drEp%BX3np1-8L*2}hRV+QQb-4ELSZZO^pQ z@ZMxp$rHkRt26uhx%V=13f2+iFOr0Pr_t#gS*E%DVRAX{cV?P|{bf*b_*#wzxTYuP z&T{SAWOxqbZOjpmQbKs{S}vC>!|x5$T96OlnRAe{H2i;|SOob^h|MlvuM^nHC`HZA za?j1pmP!J6?|%AWoEw+S6^s8h?rc$jF;)`(`0)Q?E>|przLM+HusefrVDSF~ Dua}aN literal 0 HcmV?d00001 diff --git a/tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze1_n.dds b/tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze1_n.dds new file mode 100644 index 0000000000000000000000000000000000000000..b6c7874b77e75da8ef4560aca464e1256be759d3 GIT binary patch literal 699192 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�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

756*An@esBg-_&SvNy3K^`%tW=`tZm%4NI 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 literal 0 HcmV?d00001 diff --git a/tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze2.dds b/tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze2.dds new file mode 100644 index 0000000000000000000000000000000000000000..3fbfe31243a9aac86e95a6ac5e2e376819b5a7ba GIT binary patch literal 699192 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:klckfcxt)0Sxkm3*xeg(E@Bki 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 z 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

tCn;F(o7F>V?(|Xj?dDXOJN>q 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�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%0A^K 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

M^bsFV)AVtlcvd`5OHW|7hYT<)pnc_m6DEiw#7D zz3qF`xJU6_m6f31RP}6BtipbLvwPA)a6dipV21#%KmYyrWeR#bTC5cU_`m%RWiRR< zFKiEQTa6Fch4`)a5VdN`!NSQT#sBW`4T34)HgZ^eZvsB2F{b%KG#J!h$Fkfk? zFXEVK8F;m2^N>TT)RYG5dJN^%xBqyFt3;KZv&#bCbTxqS16MO&l;H0WznVP5F#dE+ zPqj$+j=XUP{)s8HAj^UtvzhV(g7yOe_MQwp_v&K-19CWAPpruB2hYnPQwDry%Dzn@ z$02{w$*@0zvqddYv|rkxz)u>nySv2vT6l5e%|5(;ey3CmXz5bKJ-G-OTz(z_E|%z2)Y*RcHO{!dA4cP z*I?Yzww!vxM10tJHwU_?&Xl`V!u-it>A|{z{=T0yea6R9c>VFO9s&Omcd~p+LVMI@ z^FYo=jTnAcErroNA%E5U)-vEhJ#HisffC4R|V3w|e^wJa5V1{2F|>iv!4jg^Keu7diA&*C#@d8^z0P5gGNDu6T695PY53 zK^%{LIn4hN52yK9F9k#y9E4jy7wx8Z|HtUt6Kx#bnEn<2EBajCy*N{ ze0%(_-_r0Mj)@?eB29X~`|~S!UrFzVhAHv~w!L$C^dI!)r(owboO_HqHrRV?a}c1A z6I6d3*|is&tql$B`ShAsw2Sjs0S{O1SzH+j@lgLEw=nU$OaCc_A6Y0(WEkLFNL6=b zwBtmfku2mSld>|%kG0(g{Y3u6(w^a}rcD3UtV>+=lMljL4DrH20P=*qK}xR^z`qbl z7#i+z&M^AtO5)-;@WXpw&pZ?DS&~)cJ>;;hSq40?W4?APfgS&gabr{lJT0E|u7vmd zzVnI~{&S@9(tV4VckgmK-4yNDaFBul|GI1U9FQ*G9}U1Bj8eBoH4dwmxszWGeBYQ^KhU% zJTX-7OkzJHNlhpAeDo?+^0y0}vt z!}?r4||{x~YmMbgx*^+zcKTX<8C`1swxGvq@pQ9jKNjIt8U0ng=O0rczqgY&@O@Z0yyXz@)vTAm zPc3LqX4;vE!y3ELSB#&HLOb}TSd$Zd1n-5#IyJ~olUabi@euNDbs7GBYu268fM4&J zF7)MMJQ{NgcyljhBEpVEO6VW$Rnwj{y(&%S*Z!45o`VbPgCV@9v{w1F2Ke3?{ERWg zQ_pcc!J=WE!}yP5X%^EaE$K{`fOEf>?=Zvxu8!_i62ts#@lEUoLnpKK@&ZBo zS1$G+<;?;cKEH-|aiG6A&k#RU-`gJ(>zg{=Zij$tCy^^?ll+oi{}Oo+I+SU#))?^n zx2>nU$a92sVp?F=!~K8uc8`I)$B(9?`ozcV;@fZkODpC#&c`=j`4&MPT-=&<%O4jn z76XIZNAZEN{)i$ju}1g(8tByewWEpRyxOVO9Q?YhEWdxUjjG+}iu=>L`4PWZiFpde z>lEuG^L7Gx@4WUnPQdqaf31UIJhT$uej@a+H?7+!)=}(zUMk9nr>u5g5&ZN9WdY|! zPuIqmkYlAW6SboqtowNwWw2YFv}Q37H{6UyHxV5pz7+EUsDCnqpToK|OLA1;H?fRF z9_Bq9>m`$7es;L0U}um|q!V=w1C-jBqW*roHz@s{Nd~eGchzls{ z&r>Zj>|MU_pkKiEJTQU0wHzK(k~RuCr27jMiuVgHoO3Aj^vwh4wHz*6ES(hVhsC-o z$hrF0wZxaebHto@w$7pNkEfDR0=?OLG<1o;-+LQVdkpX#YnAT;f1E?wSCr6yT8|G= z&^>KkprC`$zdVE7E?D#l3HCbI*|`ULC}S5X`~>tN82p{U$9KBPisxz)8}ZBd&hk0` zEd`yi|G^ShsbZ-U8}L(3IUB!|Ag5a!2S@P)#>I#RwD9faIP#CEZ$tUGXg9e%)+YKL z|GSl>(AQi}`vh{Op01Z`0`EA_qz%Arvps4R_imhjD1$B$3(E_J(j?%SODBK9 z0pI3Mcq+HNcDfd1^U zB44z_>&qBdkP%MJRd6-zVtI_q5tpYUHOR|k6dRv#!~yt&rn?-n0zk4d0Y1o4Ute-qgWXd2$j)y7f;@Qia)C3r92nNEY^IPcXX z>|BujASV1(uq|P}BA(}1+HQz*<1o$<uxGSz~9xmbX4#Ig`j^YevcRP zPJwUxf%lxar^wF@q5*0ZcCHJf%uAc0aBadjondpg52Kyc<7d8m!q^x&!nTR7dTxycQZq%+9 z9!T&zTQ4~u0w2{(=ne^WJzd@1-30e9+CsvgE3eKs5Kp4sXb<}&pkB=ud+z~3{Z%Bg zGA|>pIlH<8{HV%&%C^AUSF2$j6LpNKR0Hi|y-uc8;9vB#?rFgL;V#Y*x;l^ZDo=Za zJhg>F3)-Z1KDJXDlCY2clgEcoWbp5d{d2#D=j3oZP63C{E9!qyZyXKvF!-a#v8qoz zuWsG3Qj8NC=@%0WdF!qm;=QYZvoEe+!aDhhfm+sW?f#T2r0-3qTdkmy;43$ zp#N5DVnX0K#xofTILW=!S&IC5rL?snA+9`oyEQ2R&zXk+%9rP0W6XKkE9^8HB-Js}akFL6CSW?K*IcnH9!jpPJ zA*cTO?Q0tFD%PJZfG@#Q9yjy>`wKn)=1887IZ0eYe$+YlWeIqM|L@k@0l*&|n7}zr zlM>c_#bLK#=U-ob4OCOs8q+QV^sz>DH^+Q++7|L@px^eKSL7>{6D;GR=X|gAYY@iWEP^{K^xNCq_N@3r)7-E%`$3)c59O)IHFNt*ivR&X+Kc0(r49en3IL z>gW{YhlJ;MbXWIm_j!8Yn9|_KAL(PyG}ygZJ^wXTq{)R--%9`wHQLe$Fyu`NFIwva z`}6txiU$VTS>po(;`u~q>OBK?ytO?Pm>8#u?XZv+b(7PV#XL0Ry=sq0h{qF&NIwBS zk@%d`h!sa_{a?(`*!+dk!x@JbBv)OFQ&Ge#>e^lz^F>Vgj-r?v;?Pvr{HBO+_Ga4` z46HY(VL=h(B0N`&=-|8B;YlNZ3%mH7R~h`+e(!IC4ES2p%qwG_fpR8;Pr=AOZ<)uw zv)3LyuFLrDuf9xwi@`sWId@awQ?bwV#sSB7EBll((9`E#^JuW+j*}~Y$G~6Txg{&? z-O$!6*v~0OCh5ayntU+P*W!F>K5&bSR1bb5_@IuO3nw(t*J4esNr(eE&vjAIt0kG9 zHXsM(LuK25orunGlMA`AVw{TaY%T-(iagY2v7n6@!N7F%9RFCJ^#AR<=NR-kaOn~9 z{f6>QLil;6)XmHb1nsBwevFHdUu?eC0y?WrmgqwQIZwQp#(P@uw$0W~VaNR;!o_#S zxcWLreOD^!aNs_;AL{Kf5btKbJ6{8Sik?7)2-Ydri|oj5oG7PImq5euOG9=7c`{3V z%mCaNZ!a>?t2L8Hyv2}5O&^dLoup?gcJLYVw0cIs8)z$wI3f7j&r?>4`>myxYX;~; zhU{|`@FZ*%BHHt0{3{afnm2Z36gQIdU1lpU-u)0t!Q|b+HlyUE&L3KQrt{V{b`{@sDS56mc03?wCA_c1QH2 z-67fu(Eybo-`R%9m!R&|K5fW|C;HNslLYo*yB-P&Jj=>gr^S0imp1#z)#CY7(q=Qj z&*g$)p|A(~&QmYs3-kNefCm}LA9Tsm2NdV&g|;c+NgMF|-TAG$kaypuXi7pn z;&d)9%CPf^+lybLJ!LPcDl)!bbG9c9&@bwCyl5bv=Ar%_@w|0s4En&7`-R4mp~{mz zy>DF+?YdH#d3=ZU^28||LMTk7{UJ9?j-YQ*A0~)misyMbRP#W zGVHVWo+Fb1JVW*STSX22jB<}fgPiAe>@Z&CQIK%n@i4wr&^F@VxDLb>R{l?Xa^9Ag8#qd2| zKa%5T>w6g?&rvr^2syMw3nqhp9?Wg-Q>+V%l!|u+d{u7}^O#uQYEC!^?)L&)cEB6- z&bd%8#&KTxW=`lwUAI_ruuE-8tQ-P7O|%zw6>;HGrYP>~o2yL>`WfYm4u)}XCbJu3 zF*cd^o!yqM5*%kxUd<)>MYnU-V7KHE-YB#xBeK+tM>8f@%j)fjF{Ll{nM21|cU0!b+xG3hsTm;P=lD0+4GG{_iL44hFc^LVeH&)CcGb3W2?i zlmlPE+NnQmjQ10jk1Uyepg&c*^eEyijKjK?Lk#+3i4rdhQjANmUjg`tx@rrB9PYkg zs~PZPdc3_$v_G+OXIT8+Jnkg~_F>dlFX4TqQ|;HqdnwP#ALes2e9VB}IARSi1zvAv zzZn(pSt7l#XH5Cm^jeZl&R@bZ>x4AZJya~Dq7?h{WQ)Tpg?-C;Dg?7igJU(>aXiMt zH%xU=*z5MwPY((38QX6f6?okH^wTFY+P}Fp^$=D{Nm$Gt19GxCJTOgAZ(V$;!=`~R z=17R({osMyUdDJjT$;i@tRG7kW{#acCgiT!IzVOQEym0Y@-IYbokpG=##EUJ~!e=Q1Hd zKOBqd)j;=m|Dt2w0KJKsNZ|e81PVhK;;m+xQ;L23oHH@lUri~ckFBHE3tPQE zpMc)>A1N4rg1@`(*$LjCh^;Rh$fJDT{DYzfdr*zFAueU=!ov7D3Om%i%+JZtb3e}4 z!M#!~Z*L2I;n-k}0smyXF61EiU_aL-=)3VW3Ve-lbMY`r5FZQ|=dz-o#q#EsEa(S( zB(!7WXKd(4TEC%nClYpi(*qRMoV{anbSFFoyIz~eBv z9v1LeN@SPf{gOAImLT8JvEqvidPn{y(r$?S_rY?U1FoMPP9x4U)CU3Io&ai^@GYox3-1K_Cf&B%+KRd_wSFR*#;+iw-k0sE1=fFFmsfb4&rf0?dZn|;gx4gGw z+XVgMT!*NP-@Qc{<19n{>SP3Q1UNgB&I~3UY=|x|K7lN%`Wzp3_sea zI<3;tdA5C<;@$!$903;L`QzkcK$gp7$~t{5_Xibjh&$%9rMtf%>OqEX9&A z-)r-%anJ{KCxVai#r_i33qp@$iy6e{fU{11D#K1$;uD4ec_}bG0xzxVg9FH4k#L6H zDG?#hd2c@fUv5+@3DN(iA?kSyrCi<#P{hNjnMz2yE?tOCO-%tFCGbOQ9M4rO9MCm< zUv;E>6!O07$Q;Sv(~A4(`_z^GfPwL`{hzU8H=c*~%ZOX0a5h(-7VW1!F%CNtK7H^% zzLqA*`O?@*vjM;8ezc9>x$;KWRpjHz(4Fg955v56*L+>q)Z)d6#j_zH|CdLi&x{%) z2G$)i)Sr<;%1!~7QC~1A+RdlzA>ch?{bGDg{N8A!Q(Q$In;ymbGU&5Eq{|}yNn{r( z^oHoxq>TCN@#j5Wg8LQyb1MVBb&h#FV#n&reohp0zJj@7tj+u4ZaS&rs30W1M}wCN4Stf z`~v?Ujc*7&?E3ukaX_mCbgM1_UMx3--(gAz=S0B!OJ1pJh)Z38v9bogz{ku6#e2>A zAdw-*YmfE{8on=~K21a1(GviFQSTV(A4+Oh*!gVBv0t^Z5$A-5| z4e>N)*iIAJw}TG-mauOm9*6&?SjS_FF!Udq?ZEuKHhImNrxbFH^(YO3=f=T**aZBZ zQCic$XLn;UrNJIGTekxm;-bQqyrCV{V(SHE|fg3oa}D$Y$;Jk@c^g+ApGCjhTw zc~aM4@4eQ@6$Ae7TItYhDAMR$#Ij1kN0O6af2r!TBvvToVI_HNk;Ld^C92Odg|HCm*c~dSpG%9?PIZAdsnqmbWxtF^3QJ!FS#byI_!&9u({rGY%_7p?b;6z!2l@&U#7Iei=QY$*56 z+(sO)g{_`07lj`Cl1&`^LEiJtfIMl$qA*+xaA&h(Ju6e9mwezm@-SyQ_oVmX7k9va z@q4-MlR%dbooC!ae)~3Jprfo*MZGrqP1pV4JMxRpZ^jt<9~(}#!#-RXJpZG0^6Bxu zsj2spqTS(PCji2lBPzNpC@otUQDO#GW0AlaqdvSVe}1KC5-cK-e*UC zrLc7$@qnfv8fb>ySG3L){1Nu)$!+}`zC(RgPa51N0-mFp4PqCxp zt^~Ror(U#+_fKVwvJCkDX%6ur@>|;h-+>|K2Le4*8{)Ay{BQP1Xy2z>ni!b=+Z?_PfTR}%DW3kzon?yZRe{44lBP`^PyS9|;F2Elh@0j%>7aS#f~ zsfatgdln7wHN12Cut(}{lVyh@e(`t?ecA{c@&~x+PpzJ-!)|GctKMJcDpg+m=X$e* z_U@gzR>pH>VzoVE0FUz5?lTnE#j4mh7IpD_;@bq*$X)|^4>_FFSNmo3U(R-!;@%%h zMgV897xllms&*{!VfY^FFA@xNN1eemLHum7m_7n|36+x%Wx$bip->n4(VeFe3b`nl z78~GDS-T}c5D)jiQ6v=WVBAx`8X#B?vT5E$-WvM|aOCyTuRT*h{=-m4EBhPxF6d?5 zs|575M)m`smr}c&hrcj_U#0C927O+#!cU;z1kMqX0H^giImB~iHNE>b-p4t-6_vyP zj{15aM^ac{T01AB9X6Y>62R51Q}jzwj~*|<3n(Wn&*7g~FfsO}3wYtYq6Z6TR~fG5 zGI(E6FZm&tOj)u2$}i#Gvix;JJTK<$F)Hk9OPNyPx5C&57x)`hb^`EVKF4L1@to3$ zO#w%I>@8LFU-gEL@-Th<(JZtp*t#%LrSQx3a?~xsKgAj{Kgj61wf+rAaCHSK`J){D&(p@jY7S;vPzNFS zRUJNXEDjcpD5I-Q{d5}uR7sUvxa4)+a-_i-K; z^bqSlrfnKQyi=;xHw3(Cd&ZC;7X_E42D%Le49_)rlBk(vUgyp%fLE#sCFnknwC7X+THTdnk z$J$H*ANQ|7FDTA8L_G&G47y)$k%8aiNX`SkguNutN1^XL9^V!H#TE~G8Lsvu^ASAH z7qT<#B8h!;qgUkR6-u~+;QP^SYa6ccYi~Sdh(~ETu|hDv-LlAjOL5NOcEDrPknd~z z!D?QLu}PdiW=B7Yt<`%@L%y_hV-fO9m1lR@;&F_lw_7@Ih&n$U8-RHrIo$i#kFo~N zKcc(qV;by_9`m#aIG>IsTQulLH5G|d*!BG%ElL#gatFy{Hzdeq<-KRWWQa?8c_Mlo z^76%E0rCrqmLv8fd2*pn4)D+U#xahjllgCQamYu||3|Of7V`6Wb#C^^Kcr{!1adso zx7nuQ`*oYFfj?ni!Hmn`Pb6Lra8*-01AnO?DpRAqJ%cjFGfQM5HTV>=qMkviC2?aM?JsYmI!FDuS2}J!tkDtm$&gA_9NbYfPS$~nQSv$13Ky%(eLMV;uGyG z99BIXzek(WP6>F~yVFYy{5{4gk)Z#J)w$Og;@!BlwJP{zHqNwD`V&XjgUX3sH>6f}B5mEZyV^jvsP}_ntlv0~&e6 z?$S$KrB^NS`2Q^6a+T^wbz03fv3{B>JB6x3(T^{kPgnr;yE3W~5 zG`w3D0=UZ-)M>;1bY<&j3F1#SmySrtM~sb$`B*LN@|f_4G~6FarwriVQst`*S33&X zCA7O|N%SzG&)uHX@fj&h63Eva^^5g7(ASdBX(5n1l6kSYh&&D1=t>dDS#_sYkOA-1 zuihR)zrk!eSrPbr6N?@SxF|7NHS}YiOjgmJ>S~NuD1IOIj+UjXS}fYM54i;Yt40lP zkN9hesCeGrt3(Ox9?xUl4&waXapr=&h&bdy5%OX4;QTJg*PQvhM#1+yn~qY^{&Wf}FQ!iZ9h-OJeAzeou&UVsfzTwHkMdMx zLY`p>WK83NXc(8?H32bBJ&U5(a&!@DXn_|7;g<~r4ke;BRHb%oRbHlE3__)$aq*ya zh5{Zt7K8-C!psr)p` z#$RTRdP$1BaK^5$5#ZS(l~o3~U09$%p_eEZ9;etRKkaGfWsLh4CwEF3@Q7QS1oEz$ zjH^b+xYZz{FTpeL~;_NSoTW5O&F=;!Qy2Uy878RJ1% z=uP+A%ppS$YJYb89T{-g*P5eTXc8Z&5Jg&;`rsMFK~zmVarF!Ow+A!AkE@Z}EAY>V z`zwU&47g*7%)Ir?cC1f^d{B;Do=g!*sLM{Tr>6LHQ4vW;rxUK zIqgW--Xe$>HcT9HO|eVNvMBn`Ta#V`{3~JqB*A#ZZjW4)k&nhXGHVq0ZD%ZIXw3!P zZbg2TTwrYY8pC^)a1Q*(K4sL+XP1gmrX7bV`qLAehz}Xo>x||(^xoc=n-lFTs}Y9* zy_}1ilNz3zqa5_XdTlrA=s-?<$?s+u?7IE%(U&s#*pb13F!;`R!+RF-wQpxK;3d%S zKto>>^bh!!WQy-@+Wm@#Yb58Il@TZZVDyT`dsSX2Ozory@+RJj8s#zh)wdRH4h{0; zWUo*e_I$v4?}zBe|Kh*4u3!5(`Sa&+P8fsUq73G12I8fTRQeVJyaR2LWRSPS;$oOU z-}wA%N8X=P|H|4DqD)Qs&~(?W0UkmE6BP7x^;%yc3n3+Dv8M>+;QQ6rzR_T3k^@f^ z4gXUu4t^j%_IIHwrGH^d;DZn1!9LzG`)zJT~Y@sZ!?f6zfhCFt% zK|6)t^faw01AM$+-FAxc2lg`|FG7`1iczzmE6X%{IQ&4$StA7bz4%_vLKmc9cdb9i z(cUjmxROE+BfNG3XQJ*sOCZOE)MAx^?gzI1Lj&`Vfj}vu1+~~(BCgAT|3)Q(c@5-S zMz0Mq?DH73mG&{)K2sdkO$7O=q^;2Kf{(S^|27NmDgSQ0x=CR-V5f@=`5KgmXlsDO z^zIv@4DiA{r={4b*PR7YF<__ngUA0L$GpK*G~LWWPCk0)ks{XRU;Oi@wBcpc>z*@Y z{=uoGy~g?)#k>!pp*aKlWQ(Ue$^_%l@RKhWW#BPuT>hTG8^_NQ3Ozh+Hs7LGaSqSp zUoKJfyL*g05%^ixPJLy74rLvc;y~AEy?HDJ*`+JJSbq(8BC%eKKQu*WONSch((X?~ zzOnD4Hu}3bdaqffkf#85+9~+s8g1y{_YBO=eZjXx`H{;2A6y5qCggCz^Mt7e`cZt* zPRN_Tf&G&N{)dk?yXc3ZS2mosw*a?VxNQQxnGf3$w=}e$vURO$_|BAUaRYQgnY|{# z_1M%`;FsEg2*M45=k7Mv4M8p&BiL;Vc)jJt&t%Buod+w2667TrX%`Lj*B&dG+pxDc zT?Yf;yAmrk(iB&cZ`n0rcUysJ8UGJ3F~t#YTl>>l^yeQ)RS^#{wX?010H-pNKP=cDaHI)rwQ<@Z|?tIH~Liqh6#2O@zT3kpN4%vMl-TX@!Z<* zw1oVOhboXhrUc`C0~B;0w2OV9TuE&4Sxxw%Qn6qFuJg&O7>6*`l*BqU&})C6Z5!y< zY_Xicqf+npMSt$px8el;!U2CNfsWox(#65oKt)doxr%QUy`uld==c{5ets#o6Oh5L zjc95S`!Ivm>UvGkC2+iheFcVMuzoxE5ZoME2@%L?WcB{%MA)6Sd)q+!G&6X}U@uIL zZ5{8a>1gvB+EWT=I${j=)a@-tg#EDVRVw<8&$W@aqd_)N>Zj;O3ALRD@R*w`yI{u_ zXf@U?=+P)mL0&Y)$RjTlWa{}3MyD9)(4=2&5ww#T&cS~pekEcZ7RSD%A*T$webDY3 z(D0o(vU%bszMOB#f-ZwS4Xy!huhGJI2=x*tJ^K>qYcao^#&b2WmcjlJ%!9-~yDRK~ zVecmf+P7@G5;EwcC-%?dss!AJn)CXHGBH{x`g*=GWWHhbJ)}do>K7PHu7jQSbt-m`iX$^;G6Y(1aVe@rE6$kt;CXE zj`J1|xucgL-bhy_2~&_K_~B2c1mAn?xe<63WwWRIK*sa2KK-m{f9ibcIt3of$L01l z!C%yo5qL(cMxDlxHytQ8Wt9hKE324yW4`x?76Uoa&fdK)3jaKo?#^jwZ+?1nMc{jD zz3{BSZ}V&b^p$Cmr(Dbuy25G0sVU` z$Pz0*S^O6CK%4Q*1saf}*u(_#s)(O|+*C1MF_bgkO1dTRJ8`?MX!veB*O;J?-;^WP zghjsK%xsl4>{|-BxjpxD&3Eu<(j(~Ywssr~ImuYUY2@XUvE9LxpyO(3LT8A7zGjXj z=z;S{#=J7d)t=o!tBn6^r8`*1qb*F9=z7^4s|H<^nDhBLKWsDvW;9nbfw#Z=j+KJNn;$m?ofrT&L6Uw@i_pO-hP6QGCh#i+3%UZl|XX}XN(d}caq(KWwu=|@=L#IUb1_sPVcpTc}#JhEt$f|5V{!f=qjE*N}zYH8TcpB53tA!x#}mJfo?vJ(;6v4j~*U1<|W)m z|NWvpmQP0oUMALtzA|Nlk^uOpBnBK9jcQ7z)T}Y!;|&SBMwP^!0LOd&*qX!4PV}V3 zWyBekX^&g*u~vBT#av8U$hh2NXy5p0Le5pom->FmP!J+T5z_Z^r*dUO{zCQOX#kJf%S@*4mOQu~3@7t%& zdL_W;p1&Iw{n+N+12W*u(`Yx~SV)Jcg9Z_I=+2XTf$u0p(7tl09Dhb2SGBd+BMI~g z>%`ruP&A9`@#DfHE~_)HF5Rw_m8thVhf0y%9LewW9} z#v+IdDAq~F?SdX&d$=vW4|9rf3f8x+iE$O=v&;(|c>}p!@DkuNj&r0%|E}e9NxZ*L zF8T!D13|1)L_5esSA|}9N!lX5KiGD{ULb#XIG-obvz67)TpIpk3SO2{;V+ zul)Kd><9DLKYn`2fE{?_+sH>letJ(IrbWMLOCunz=fk&z-l&gVYmg&(W-27s*J{3< z=|-EKlP`NNkBn+~js#m$$j6T?-Tf5$NUkNq&;zxzujtic>{Z)fHi7&*s(Q9Zicx97 zHBL(!=+rH*%o5lu(`L3N@b=bPh_9Gh8}8FZd&-^TL9`Y$ZDeaQ@Sy3A9tn9d-E=ep z{ZaUwJ0**Dde_W`QXCu3etd*^Ce&L=nkc@nZs&!42yWi}=a7MT(VXON4gP>qUSi0{ zIg4IOfk^9LS$_&f!kPiaR#KzyTw_cKok zxtKCVA8CNER@~|!$cMF<<3Iyk$x@&t;A?od&ESKgxS#8%xLQx@_G?PtX8M3aFW-C^ zy(#d&Z7K(3(BI`YRVC;PTYjm3c!{W{qPq@he6_0^>%lPpQ;xJD4_ffQTz{d?-ZK^& zTkj-f@cG%(Sf3Agb{l332mkA2?v4~B3ki$qhYa`o?al&wkE?FC`*VhQlG6ivlYq{t zWrpz#Q+q!D{A7Ia^r#ncKUL+SjkuuSYP@|w!I%APFVbV%j`@FYsjMlL4DhGLHGr!rf6dCdZeFvE<1mC$v24CX9 z#~$~k1zyb~o6SI-!sEM3|Bis)qlt~eiJdWtedA1xez^jFr71^8PuU3k-^AhT6T@#4 zW!`q?73pg6)r7iqgF=5(i4x?NApc~X_{;Uy>P-T=4#@*4P26veZ~{M4D5SeV2Y)+S zy05_=qn_NV26)3i%P;}|L@IB9KFYtw&1X31SU~6|1M^Dh#U$vCadjer@uL)Ue=W|pkb?cEHNXqJ zRt6yd8tSe0B|uly`@F;PZ^oB=E<_QZ6zE;d*I{0h%(WQw@ejYXDB^H6)xXu|kVADT z<0OFRJKG0{PvO76Do{b^Pp=Q((BS6_#T@qili&mY!THM{Za!R%ptcy@cqY0WgL8-@mzd7ZGiqS z{lYOIuEl2)(@ce5_$a)nVLqq8ELc}8&1~JjSe3xH`&W=}0lzDy$}0?T9@d)EBCZ*9 zV@D49d857FD?whKPaM|pzA{x}f9WNHAunKWyAM0@p{k?Z392ljLsa-~jqUC3WjUwA)6 z3HBM;olA=h&&}9}PH~+M_If7EqyiO2qgcSpo~6Cs`y{pK;= zWson-MuE=K!t0Ip>oWL!zTK`HfCICgoQXKkv_%N$x^A-`G0^XYFJAvl17GJ3Yb}gh ze9nx+Dq-D2@c!5n2EW*3sV9h2fxVN9PFW9BsL30?*#Ahm!>B?7C6kTDq)ZJUCZ@oxNb~=sKezZjA>*Aqnko za*A=XrnGAZ7a6`t;Yc;@_?=W0s%bR z`W>o4PHQi1!#``vjxTSfh#w7xdULP?iTAgJJ;#1Fr&GXZEj)-YTsg;EeK6l0%N4u)kzFP&|mB3e4_@j_NWeMvt@SWRR zjWYD(-1Q^~zSHGArSMN11BO^vr>3`$Cn)m3y+ehf20K~EEct{Tf5y7@W8*5~kwzQq z9chpo-t)lMk7MrY8t|yEMX)Z0`U*qcK6##CouTzn?mx?Ko0y9Wdv?&jdE3DF%CaUW z3G}R|DCh)w@Jhk}e$yS+pujtiv^wN|W-Q!qJ`{PG;0t8Q?xY4fdMkIT8u)3qIt&Uw96-Tha0}=?y zc>a%#t61kYwzp?MUPcq5P8$uLD{tY-u>T?6!vF_KceOO=gU#9uiT{5V`vP$q=oK*) zHO!0LIL){We7%n%4FS)F<=qtx^1L@V%eX4fxUgP`Vf?)^7~9dHPfxzT z`Z~U!F?Beg&zf4xZw-K6$a8yP|4DE@Y|25dFz?FahOi^*T81KDU(Z-0(j|&@Ck`j* zq71)y{0di%%Ux!XKV<5$sN)EFmiF?%3w+Wa^cyN!_&|@I0hCHOY`URAAH$}yLV!Q& z;;#c=1?Nv2px?}&6!*gf^udBhjKg6UtXcR4Lm>l}V*~VE?cOd6d+^#~u^=N}UR>8V z8OBTF-QBP|vTw(~^@6~ob*4K^;Ri52s^RMeU0-~Qq91QT*dL6iuO+Sv`_x+OU19G@ z7}t-CiGJYk&k?}gi06cSD>t9DzA2->XTNu|BE#;!rmO}~N8v)!@lqZ7x}Y5Eof_n7 zo`)J-*fVRgC4ny1MZJgl$wGJn>yBYJo{Y40igs$XVw_=oiTr_yf!|xY74pH9fUC7C z==El`??uoH`P!EX4D@{EbZ>@#Xka`rf^|NKyR-R01N~fSY{td=#7F@O%#%l}#}eSR zE~;S;d{+~q4zQsZ-Q8Op{QT$F=i5RKD;FOW#QPiBUDzQxs675@T|8e+w&n@$d(&p{ z8}_N%Z3qATeHN>af^YFeI-|jUl+D%}J2{`(VLA1;SSN&nWEAai9HayPsq{R56XP92 zF|A?=0OrveL$+0d_=vqIr|D(bS&?yoah1^j!n>oIt z0WP<<#5KTW*=kY(xoCtVZxG<^a^JEN;M=lUI<-r3@ZQU#@CO*jggiRl_vakRvJ8Ap z34R@N6{Ho5O!0mxU|`*qykMUib;;1{@O1ICXs3jioDG^UQQb{Z1TJhvA z{FU&t4x6n@;FlTb?8Nv(87ppJd?Ne3yH5CH&7VBl&B};7F9y6t4*O=ZItK~rhvOIp zyM}qhR4R(`2gn4{+$?^be}%x$s-~LEijF_xElx(DTWY&=duo>IJ@P;J+o8am&D4 zw*U061e`d&=UwrhX|iMyd`_IJ_KEjmPI)y1eQ=F5xPfzaYiny68SR9VNCd#%FAt_L zUSgOxFVrN+rTdxR%@?%N{dUkgI*$^CiKpf%QFJ|*V&?Z zyzl?(v|2&`GrQLklL9`s@|!+^XRY;k4s;2weQ#u)0^d}ZlL&m$iTzm$zU*eKfFJ9j zI;sHy|N5L~mE(Hl__bk*{_B+^_(MbOPgX z9D#M*eWnpy{e1ZJnt^pFCN*_(UO;hOO|zJ`&=U`B7@{s?Z_C0j?t8cF z4Eq9cj*Fee*n;VL3wcy|;ZAbdrC}f3+6`w$z*p`2_eDWRs#{}_YvuT;;f9}$nK#%0 zg`F_z6zgmZ|CQ}7-GE-pnL<<8m3X9@#drR@dwUs%c8&rOtA=)(@x-jq4}v_Dw2&M7 zhuhC1ZlgF)Vm~4+7#D_{6JhkfaI`Ac-!b1uHfxN+Zt3@waSd|w&ACX1V4Z%*&=3!z zUWJ_H!e5z^MK6QC5I5Gx_~gsqgIpQd@o)D`{Y1OO)mQ3=IssjE{b~4Lu6(&^hyH{D z;BQvQGmee>EkXQp&f)l&C~|N)aekCyUqd-*b9fO4ebEX%(cUwHjmlzLTEcvJz+D5r zLH#edm5O}*Ge;f`_B()uRhUn@n2a=bW$??IBje~-@xK1ek-*>8JmM7Jd2!x7fgG0H z`J{m7#z9g7{OWvbKR}^>gwqni{aT>Z$y9lv@BC}8$$8@B4@c1_pn|}fO z;Cm+g@}FrR5+#oV3N;1eI?Ljy40$~)PfQcQ-ENKlNc6Y*?nenBXI7&b)sXkli{6Na zIPQfH9{-SlPJ4I!3cEb)SGE#u4RU+UGnHglb3xC=^>^si_SoH}Uf4&Xc1B%>6qJ-s zQy@*?Pr}hP8^wH$XD^$D90or;`&x|vU&l&tN&??WtrCVjC>M?48xqEEU+sG&Ee3uZ zMc(4*XT3L@1AIa2^G8!0@*Zk7#duyx)Mw{q*rg4tbrJMa5;#8|S{__!+h3rt@4Go? zH(g+{bv==w(Dx=!o{SrYueAdV`n;HQW4#YKS7{G94Xmp{xuzz={F%kpyTMc=czE;K zuxR&6_ooT;gY(ZrC;8+~^P_o;n}W}=?UsRfZQ$n3T^<7*?{-06FusUYMg@Kite?ZG zCe<8y`A=nxv#t&Q{_oQdIr6jKHiMmL%;`?)GC$|U_=_OUE{#3GIF$L-o#`?3=g&CR zssuU9=1lM>IhxAPz0^S=U9=YTHw@w3g#f> z@!qXWQWyG&<5AHr3tD^gZJ{4LE9&JLiUS4j0EhqfP%rXX2KJRzFg`WZPZA#u;)=TZ zVt*@F9gMy7S?4h?ahIbCq$InH08vxZ78O_@vy2Dn|JAKnA}Gaa#5%)tM>qu)Fh--YMePVs(! zrgkjoK_jSt3wt;><}J!tZ|1P-I_Tq{{?SJ@t`H^rf#+F*{Zf%BrAZ+VwS#1d!2Z=9 z{qi9Jy%wwEvpMiT-7X^DBSDkJ*^73R)2Srn3iCJNsbd1V^bBE~iSdwWi&G8pQ$y5a zgIt)Zbc_P7R>Xw(3-x1kPM{|WZ8=d7nByG#y(>ku>lk>U$w03{b1op@pRVe#({iv8 z(EB9#t2-0TRe{eht?5IG_-V zGUTJxmHb>hf2NAO2=L0-D~K8)FLNZtFmLa8H};g^?>g#+iT)4uPY}0Y92WP^a(vgy zK3@{;B+AEMi|Z@3me6B$C95M2L>;11X-~sAvan{2P~!~zKdy>0C`ToU4@ z-FLfe;KNMZVk=0ngD%%xgnB< zo4u0LAio73v4G#I*&_DQN*A88iFrLu*({bzf^OGpKPw6OU9InW=~dMET0dB%F=@f= z@c>Wm$GZD|4RJsf`xM|eXY`mOL&0xvD1muru6nn+W@XT4_WciR4001T>uw6V1*V%0 z4for3;)v6@;!GaHf62aZBH@L!E2Rg?MGAcL?z$D3>zTouPsF^jVoPq-qy;T#u`mA# z1>elP4mmKe__oarpS19ukCuD6h)1q|bBzE$mFCP0@L2TZO9c9bdHpE8e9E7}4lx<) z^F5Uq@($crTfE!kDi4};>$eQpueRI$*nl5s+wCFmGVt5?y0ir;xSWl}DCDh;?b!6B zp4xy;FUe}Gg7_Wd40HBclU_DrD;uA_#*il-`u^iD3G~V7P{S1R9f88gfO|)^kIB%V z!R~5>0 zB~9?X5jUm54<%tAnxz;w-+1>l^abPE-?SLP_ozdiG(dlcem+cKH^_6H`xNxudR}jF z@Vj*6oh5+Bsc)~rF8DpyRyHW$aKEA+OZcCwC`Sx(klWfhAQ(q@*#PXIq5hYx%Oz-U zu$zq{pQR~Rdn{EzGxN;)jRE;mF`#(*Eb>C}qU{f1H?R*T91gip0S*#4$`(Q2*3n*G zgB`A7eY^~Lt=0#k6#jVpL65GXy)R5**bzEP;HquE+Nv56ZDN5aWpVY^QHRj}aHv@)6KU zvGCDN27K?v47d1?ane^p-ru;qdRetq@`yMik_$ttN{0#xU?Nw2Clmv^O ziWSd;_ZACo7Lyl9KYLT~<*U3c%z*E}5K#!O`f9Z$W1NrW199;_aR;ZR52Xu#@ZA-S z#h_Pxn7_vTgNe;mVOJfFrxqbU7=Pum8t^K<@+tVODSV`8CCDRWR&szJ=idFwvqu5< zp{)hHnEG)se`rA7&)v&HZkXz{H^n@g(nvTn1af@#+OwU~B{}$VuCxIWca7l!zR|N7^u_nJAZDm`~vo03Vw9|Y(?~g z^RevWiv4K9-e7)^M-0%16&^@(*3npK{D2 z40PLU49^Q0+aro=6NM!x@T_I35svr!_*__mzU__e0T0-5rx{%2>Sss4j*52jL-Gc} zl_mG7_#ft+NsvoJHYX&|oi?9=UNa?w^$O^JraNoYWyBwW(Y+B3>;6N5RTJ(9Z_WPY z$IyG!%bk0`faeRtE4woM;-A0#Sj2V8_$%=vT-EL5|JlOxh2_^?>k;401?Kn9vm?=z=3*=I@*Q4 zh`c!RF{qOadiZaQ78|0UqG2%!_(u#DvQ5PTn=UulLd9B~t$_7d_Q zR#HsGY#ievbAKInjw{$MPYL=dL`#4l`+I9Cvj+NYHUkGj-ccVeFZgh(uz~yn{B7l2 zpMgAhZcNlG;mSz&K|=!_X`B@_$bS#cM<(z*M{`lcIhe0a9gndX4^EeKJD|XPgdXP@ zj}2YEeMAudaGcxC@ZCn|lM&62_01#LpD5~{nfAT(67~aBGQDz)E#MpvGsXC8bm(-< z!23_v_@;o%ZA804Z~sNln480ol}r{!5f^u@MCqVzH7~mf^4-oHp$6dma#7#quxqQ8*VaJ?zso7&OM-EI z(gAy~M2c-9Eyy^Jd7~wxy$wr}3Vs%@kqFvXv5rEQz(<4IO$2e;E2Db@@&)S0fC0tJ7za6^4G=aab2dHiLPdcBU76Sh(NVNKx?ZJNC%u=m+Q2hr);t zXWj@U!US^n`c5=*-(wQw1?zJ~yO`hVHfzB1*AqWOd?zWp zmJS{Ar^wHLsAF8_Kb!litwA3KUs|1Ks3*~R`+iyA_xQj4>t74{xMu%j(tx~uJm!fL z;1$2^^)T$Cy1R6GSUhiR*f73EoLN>6As<-xHMR*lsl?SX%h0>=*-%gd{bXHV67tf< zdJ+n`YRAMl68fo{`zZX?XNN8?-d7UsYby-!AUL&%_N(TtJnZ4jaFHq+^er5|{)Gm6 z&|Gm?4d8o!ltLd#kbC!`XEOF()^^c*&^M6#Tn4;b<#XquCrSeE6Ts1T=OSSkUuJgi z@5}Hrjdoj%E0i0FRR*gxLju2>@3hq1Ws3JAwmj^*q51>AP04t#rtXNm;mj}!7isX< zPaTE`_yGRWF(KzGgQ>d|@l&Fhhku2?v{qpEnZjM6hJ?5-zw}EgfxfnFF@C{17M*1U zoq8${uM2ofWCM0vnwdQ7xevMoTYvfx{zy{_8)Bak=rZ`yINFPuEM2+=eT~_+VXv8L zN*|6B*ulTGy^Haqv|yfcEsK7`N1?A|_0=`Ri|?5Ay6E4P zOph7xgWGv`Ktg-w4)(Rcw@3)|4e?C!R#ZG6~F?KHrzO4JJbNrQ*vF~)Zc=hqdv0ebg4nIXP= z<4^j8zNv?$W}e{tsDgE;kO$vErN;mq`};?Khkks~m&*|$C$0lMt^sb;3rL9m@|JKM z@_6C)hacW2XwQWMfhq8CZDHLY{8Yp?v|?c1hPVG1qXaovIVk*Cf?jl5iqC_eO73(r zfc}*qZEnodtK3&zdhjZflFF!qZWI)e< zeLH*-XPqA4Cvx*r_g3Et9H;+)QP}^;E&c}D5%U3Q8SRs~P>Vw@8t13>@!rg_y4YgK zf32FkdWHN|5)F@#r)Z@xNJ0N{c%Y`?JJ(bga3X(Zw@w<6TMMt>CV<0TSU!2rp2Yq- z$Yb8tVF5kWV&cvZ#QWj1E2k;)*~kxcf?n#l+ilmtXUsYg3OpO35aM$9_idZTbl$T5~@+C~41J97om zPk)VnqQT!fv2R=hKE+z9kG;o&b{Xr2u5x8}Y>Wd=)Te49zbysZJf0NaMXTd3fuD`F z6M!oiS*qn3;zWzHo}-}m!>3ON;D?pdtt$M2Hj^(N-9bC*Sf6Ez0$*pM{e}iPD}``Q z6!bWGO!hU%b8pQ(#=*bNEBChy(A68-u}BL>u>7!sC{qhQe5>Wg6@0Kd81iC9E!Cl2 zHq=K-;68;MI`Vm!kiRmm^l?>IyE5$(S7arPdbuRV6>qTe4FQ~a*XWK6x~?zsZH|3- zoAJ`5pi|fqb#WDTC*L2I0H^B<pT9@_?W{AUfsXE`ZbpA< zBEj<#_-E4FAp(9NF3k&k`sy1dig6RWk%|!bv%n$h?BV|SvDpNB8S6efstbHl$Dn|rC`?-p+w}vbUnwg-_knlxyV5Od_K1?^xru#iS^7x z+1#zC1wU$EZ$4)5XLKi`8-TBFLcRlh%vv0XYspMF;<#x*KbLd+Ch;8A@kH)lxSP#Ha zPsxM49Kkv|tA)ZpL}o*fZ>HX~c6f!oz;Rpf4|HZfV#Rzt){*AYh+7QhZaC4zb3a|( z!gvt-x>i3fNT3huk$(&AtLwV{0rC&$0uNSBv!JAK&z41o+}GQyT?XB|ptnDPgTye8=*tb=Nb{Jn@J#v!?4JDU(6CcxsN0Kb!}m4pC#`w=Jf9l;eZ&Vr^UyMdoeQ@0z+DEt_Nw+3 z!9O0FJMkm)f&D{C@XuSqB#46sZEA_3-CCd=)xej?>6NAiee1jL zDT%n(Y;Sn*oquz{*(Cw~0R#Xt+B1du$@rn6yJkgucM_V5zz@g1O4$Ux%*o~)hn!*i z(;Vm$jNp7?3i$Zo+PDn)H;$8?66Sr|?I&#+c-mQRkb|z1WnCx0fA1p);wuuYs_BfN zXWt9Yoksu46J6gB@*@|<8XDxvmDS_GANvZ=KrRsv@O(|Y|AO9){3QIA&CwwP9#{Rw zOEUQDq+Y}iBsg9Q4;a9EiStfDZ`WwtBJ6%Gb#D^z_%}A3OSr0*xSp567kAE?;b`wp zyKM+K9ybS^6!&MlldmweQ|VYA7uQ46GvJS=c*uc8z_ZSBaU$ArY@dvK@7y`8iTA!e zfP6gQXqWUF0eny2Nc9u6mverWz!mz6{5h^BoC8haSL}!z8Q#xeL%+Dc6{+Mo>@BJ4 zI>-G3XVNSKE@Zp8us3%5MqLBHEtc#X4EIa9+PnrlF@C90_}zhbg#1BI8U*-ZKkTQz zDH;5ZTGNPwupX%=ZDa8NYiqrO67aZc{I~%*0N-=pfqaR5%@Kh|e!gWTXm{s+`=6j^ z{)y=T_=$Pk)`69xUsuXpqIh0wHYxg1&F#AIPwGJSpo<{SiStvT=bFz__B@fH*I`-! zewxzGXE5)Cd<);Ni1+QV^9*!-)>0L5Y_Q{?o@0==mUR{5B<62y8U+J#pDWJo8>s(# zz2hJyT}D3MX6-iM*W3j_4Lod(v5MeNCnq_<@9f&^69jp^xof>$1kY312J+B`VzsVs zbI^A*5sk~hBRriO1U!D;yx*4a{9U_cQShaY8z=dt#MH4{$d|ir?hx?TTODSOx+dXB zN0$aWV6`nH4#GME9DphMU5p%g4g61k(LTW!+sn)h`mkLNxX~Zx=fu8ysx-asSq=1l zqa8oV55g~Ra*Xq*!#KYH@{%~@h_ks8b`?(K3~^u|@KES{U!MUwt(NC&9QtgIsGo}d z680q8{f81A@{Nexn*WN%q&%!eBe|~7^p6LJmMEZ3D`rDgfB@Ot_E)T^d z*xPo>krnw!pIJTJ}Ero&@e8G zhMwG}XfId8c`PDtXu2~eL0)^p{qU<8$I$tf2Dp(fa#8SY znb&<04dc`1e(AqU=ywqHQ_!CB#N6D~AXkB)E3d(RjT|f*qTSu$muwo&v0n9f>kRkT zZeB|g#3$j^!bv>nbh2F;ack_HrvYvEMO9~qSWVAC;vU_Fl`OU!j z|3}bIpKJ7KkfU~da$E+!x~JLCW4OkGV+3-etzwIEscPBX+qgPza2z1K<5Q~u?bkQaYs zC$I-P;e1A`eCp@?f-`HhHT1g@E+25U{i^*o{Nj7Y%*3588{nOJD|Is==u#*?{tWNU zV4q-;LO**yyZfIg^hCe+)+3Jf1xf3fGYt0S%jb$1M=<4kFP%BDOUC_59kWbh|I=op z5xUNiZ#teAbXghBy{loIIh59$9C7Z49|l4U@OkrVF$v!nI(wJ|zRm4YCIj9kuRR98 z)TmKt3%Z#tO)r6cu8bD{fZ_etc=Nn?{=B*C0PVfnZR<_pzmlC#+9~AK)tVCP2mPh{ zGV1SOJTiKJMDV3KUCs#mhUJH48FjUo!?w=won3zg{AB9f*UQ@m@c+lchr)jO$&<7h z@B5PF@|=eFAm3|y$RO|4{jXgd@uQw7O%Sx3Pm6H^G>?{ahU+Ivoyn?n$>mz^75W^u zI~_9g)?$u(Dd?XsRKkLuwr|Cg8uFEccsZTpLQb)to#VghmZ%Si_|^W-s0@0a-P?d&!n*q7W+%gQi!B0zqa9Qigp8GF@B|(Cp?+YQHeWY zlJUKvr4tPCDy0=OgWVG6&=KS<&L92TJo;5FIQNjEy?yv`4!T&gT9K<<@yvNfCFuW^ zsY%4=(!#8}1iit0d-d^oTovVbJ0$~d7xpm;zPqqqL=)qlrv|fJrOE^2-LwS1m;E}@ zK>(*cUV$H={@TwTKhQ48$}Q>UUmAGsZKt~^~X->8<-;Cu4 zI0pp&-lTKbdsrB39MCY{s$pZDjQ;gG-J${SLV8Um7*C{Ek6>qH)a4U(%9u*qs1Jav zi*4+Ser{l%zyQ5X*Ih0KKYfsX+{Aq~@=mBqA-_9RFGs;exajAdIN!$AUx|G3Io?;h ze#W;c`YTXx8u;U!;PP35d54VC+QBgo=m`Wk0bRc+?prw8>#}8kBl`7T5p{-`5_w_x zhQL39^~IteUSI1n@ZJr}Gfo3^&z!!KfL!>0P`S3EAsz^uRu{dn!-Ya9!ZBVd)zY~W zI_PHTt%h@$P4Sbec6D1B%Lkj55_YES5v|@QQ%>&kOfm*{~q*Y zrmQYHb9m3~_8vk0ec?OP--n%ut$bV7HN3yosMHwh0HtiU3x=+y73DZg6n?`RF2SxDLat#ihcE0@=1RcB z?^;8qD<}nd3G*(%S5L790X^1sn-<^~yvYM4dMWp#NTf7JFU$TaAM7CTJ9J{lroo%|bm+e>1Af~89^FU2Ukkm?@v%Agn7H?1QMQ9I4ImI&Z1 zR-%NW-(p*jXqR{Z^%J}VdH7ZyDRfmvy*Rxfp&ggI9j4GTOJ6QeVgH|a>2E3OBn~+v zVL`7#IT(`t^yI)4Bhw z1q*L3c9VtNMa(B|Lyr9O+fLoMN@oTfjvE+H`aj>jiGB@r*&VeIz^n7hw1DHer$oI5 z*>8%sQ8z^Mha6p?5>?Ws1ne4DjGM7Z4!OJWl?8cB*waR_AcJmm)218)+_|wg-;(j& z!Np$}W#JDOS3kjXH5YG(zz6^E3bPw%@z8s`twB#?x5Pem-LHn7q$n zFA$$Z?leI6;J&WEF6dYaHFeNU6?K*c+y!el@`XgPM|>F15r2sdIv8dG?ceL|(g06B zUrZRPd}(sTb%tTy&VhMH3V7CgPU|8L%VOpdl0SB8QXzzpIpviKS%)cF-$r8?bg3(F|I0i>8y`XU#$TjSam;+K`=|u|C;HY28)qPKbkmyhJZg`KgqQK zfADMX@gs3<(Mq=rdL4O+8)#oS4n#kL{r8n|z#Bn72pEkQp= zhn;rO{~zAY0uF}#LhUxid-hE2P{8xfN86A))M@xm<}+NCkAH=A6uAE&wp7vZ-|bG} zIai;`u8uuzQH~w5$7`B zb55s_lNmCy*CX)Zoz^abev@X@J%^mvW_g3mV4m!q@T!LWh_5|n6Z_1!(Y_YWG{ zi_E)GFPbTv)qsZzd23DxzAB%EKIsD;m6yt%=b%5Z_s2!R=_{9y&Pu>%u_H1m@Ql36 z-Y0;&mA0$e!ZqX>+I4ZiHaxtG@BAaIe}f5rHX9hfinzmqagP+72vG&?_;*&-hXnMU z<+*MOxbrqkPP|_;_xzOsds*(b^)s~R8r!fC@TKRIgLxVKH?IA3R>13WS1cOto3{$s zcVYO;C*x|wZ=YSn{vR3ju;zjU^qoZEG4X%5Qr0=X>)vgi*tbf&SzzE_yE!T3SBW&+ zpqm`@-bQ_3=y9%l5mJS^jk>7ohj9YJwUhgGj01(eCZi4Qz2OV(xuX*~HQO>o20Y8% z77yM-9plQ0zpL3C$B^F{waZbLL_8D~^(9aF+x2vZe2J<3+sEhezWNETZ3{R|cN#@p z)y_y1bYn{RUL~W!Uf~$*lW}mXTc0vON8hJwg95JK{Pw9O33U1D>#7a%>X+Z8nE$0p zBbkaw3nA23kDJ(gZT~;sNT(?H5RMs5@qMIsu!eD&fB*c%uQmMF*Lr)QU&`MUG2e`F z%{I=RYJVUt%+IHL3C2yXf~Y5rb8ixfxl`ER<--9*Qm_~Z2QpdFU#+G@B>0s&ZHjS& zl6I|GsVXguPK>SzKI`e^Qv`HL+e^qddVTSU@&^oY#6hchB*6|+izzB0j-RU@a1DHM z(Zi^OcFm?fB7-kjT@aQr?w!1N(JR_H{^Gcg0PokXo1t$8_E(!AHOQ;#P2|6rGI2C~ z8dufz*z^@wPyHl&vk~XWM^(!Gd4hF_jlJDn1A3dYr~&ZPXL={}8?r#uf%1RSDeOGX zV?n$NJ>u;+L;J{Yiu~LR3zZ-*T*>!$wS+ygcj`poZ%Q=t2HwZ=a1+*VsI6k6B*V^j zK11IqM(KjtV!T2w&crd%AUQ}nCQ*PA_9*M2S&oA!{uEl!Q(Q!2x}$mr4Z zISK9mehzj7a`5AK9im?D%yhMt)G)5SwQ9q8hBD^ikLJ+Ij9GsIJ=SJSo%V0InhP`? z-Ty0B+JVEqp2cEB6Z=M+JVJuzOrD}$(`3W zci4Mc(DGgHqzpfIv#)wUFX7yQ)XlF9{I~Sn_ZaWV3t#^D>?6?kf|C&*`nl|c`~e6zX-eJ%{dPV z>~G^qecizO!)*?EGL+tbox?nv z1)V%^P}nVRI1-Q{*L^XcM-uC7ZaB>1{qzCOSznMYbg8TT(j~<4FKsCdbP9ycHsdPx zL1k)n;JNU__y=oJ(Cgp-OkctKiml&llJWiLw=E4Jhn9^Zmx1T@-N`2e=OWcJjx+-u zs*?e?A>_J}c5ujx)samQ$p1XqZ3sHGm^rLLZtlk`HG$XM9O|lE($q&Sqo{#?B=C+& z&@sc4CZ@;>e-Q~^p;$*<4@`a|_?dtSA<(aG?;P?dTscUsI|N>F|fIOJ~ffS?{zGdki65o-y&Lz<4E)MwND)P};tUD0;x!M$Q z9O}P1F#a+86+QkyM*MKET!H;Hl()b6rc2P{PGBTQ!C#jv9n&BmMkR{(GaG>jiz?F#h5P!hb&B*43o-f(izVdLan zLHMbP0X;O3r{UWi`HZQ`{v89?TkFX)TxE*AGdwNi$lP|H#Ft*Jdq+dQW3?+i2RQu) zt?Pn+es>k}g!8X=0`7vq+m-o6LW13}?uR&{1ApfYheN}C>%E_n6Z;lRo$#seyW3UZ zrM&+<&Pm1f$m>pt?=0zhKY<=uBF9%iKV{cxHECD5ujuuPyo$2(Q}0#r-ctW3VXnwZ zys%-?fH!q}?ohip*TE2tEn1PI6Z zTo@0PDhDlsac;E3v5YJBb2K;uy$6>IX(M)Ora3jaBcZN!S63`%U|gGh8H}G9BTFa*;^m7*b zre%!xEatNCv;IW1)uPbHk#tmt-e4W+=?dtC^|Ic)7Lyik&FY;5_(g6l7Z6YQLj#Va z47^QjxxiIf&DD-qNsKJK(%6qkpzB!M?2@3bY&G68pg&C|Fu-CAbu}{3yK740S~ddw z{U5wIz%(^s^|wfAO%VITA^3SLR`sJo^o z40egd3VUrzkw=I(_<@A^z`y*L=Z87Q53Z?xnZ{1d54+#IuD#b@m>yk+-(wd#Y<0}& z@e42945js;e5=<;&EZLFg0;4}r?J6cAc0WnjV}fxb_3{(AL(b$@^Nx4-@E zZ)4mX7^x3=Mk(a>ul~6CK)}CZwwM^;H($;bWawAed=vVNx@%jWs~Yky@>o}quaL>w zwSM4>^UxgMeqQ_+uVFq5z4!l8ZZhae{%6)(8m`sUI`Uv~bu~eMtP9(0hvHh?6LDWn zvD~4!GDWA(6a!s*keDfhFKGmd#QW31hr=4=dH=;slVDxvR#$t4g0AM)zC7>={C`(o zsEc`2ApA@Rg}yp%rYOB61zs%?%r~S9qhl9uYJjsfQS(sPok2%Sh|akKo3_L^1m2!m zio71=+3dgh75-P^v(zc0&hFMrmAnkOcC_6o3AoyF`F}BB-%$6PYB+b#Gvqcn^xLxQ z3u)kAO{}Y<{kLE8{94%C{YOW?7WR7W;9gDq&wn(sP0)TrHdi?4(lv56L~%`68$<*C zVqKB}&KyVm4?%w{_-OdA#j=r;#QXg+r_kfU8sZd)1O4sSTKp7oPk!#rc^TuF9>sok ztiRmo>|*Foi5|=Fv#B@XuQ@k?{TIi|wBZzMbPK_>%1+-x>E;CcJBLzdCrt;hdq+`xUN=^2#)hc)~I%!jDbtCu_y^cM95UexeD z6kc>PTz6}sc^UJbmut;Ij`2Te4Q~;AUn54Zf&6(xc7)vv+{Mos(m6fzNUmcgy%L>h^~~ zuSsTaHB-nn@94=$2wy}^jq^Io&tUO^zJ7U9P$3r$3M@2zDky*TSY&+*~Fd%d3&b2d9r^0_0yI3hO5%;Cut~ z3(%#unihVAw{X>B1^ra##CbOXp4Ukp^g+H$|7S%4IG55rVHtRvJoStW{b07ka|C>; z%+z6Ls7koSDxqC#)d{&K>O!S#(jxRi9oxibuWPR)dh87uc?jv=0}t|_ruJX^ypv(v z3~sF5*WMwQO4VwT!JeDz`80iJ`IS$*{tV*)@{cp|y5QroRfQfRo|~_ksTj{I&KU~& z&ZJ^5OK9i2)YLBlzSrwT_(#~MX%*{A$Tyo%zEQX?UvQ5Mc?`gpbNau>As=z>oDp=5 z>XjtyXTWOL2u1wB`M_bJ;8%|8unUIryL+GYfuE}LL332J>-UTK1XYvfcuj-+eR4jJ zx+n6~(%IZUpa=19u1p-9tUq~Oc}JUu{Dp)$=o9puZEpTdi||0Of2ods z0*9t}oB^I(y;LzEM<(-&0~+wxw=G@xUQL#QZ_Fa@)3oJW6m&Qo@;QvT=0rGnpJe}@ z&25w#X)&*^bl-H!5o79NOV^GYe&AR2UD#XrefsCC8tCI*T5~g@@4Id);NO3uIJF3w z8%do)om%5UzR=t=;ODq$0`!&wwc0%F5$0Vb$06WBotIjaAu{slgPkY^9=`Phg+Siw z!-a2&cCJTK=j8XY7y7Td$IrYc%{c>4zS0oyNjDGnus*D$`y62kJbNGfzCzzQq1@jPre(wPDl)r{49$m3bNRGwf_%75d2w&EE<;)NHp_Wypsul$>F>-+Ej> zi*}WWTJlSHZVJ+QToqGj{JsqNp_}$C3378czhR-EUp?{~A>c<@jhxt5=L3C@tEemT z?yWSze?~SOCg|64D+hm*c%#Q(W+~{;hsr1OpTSj23g4;lFDXU;7mM$AGVB9ce9B=q zt{@MrdBH^?ci&h+{syjl2mp!pP#&Zpo@X)DrGTrLS>aT`sr!%cUNMy+zi2NSXH`w$ z`^Jhx@PE&=+8_$Ka5-a82L2Hy&VfZfZm>Hq;rgL|uxqID+?c*{iUZEC>8U=^ufqG2 zS^)8E|DLeVs_9#9kBolyju-nF_;2oEu-{D0Ia3Y-cs|Dg0W2a1495!U?$J3{p_UTu z)LgJ9pkMI^3gBZ(@n{p{3RC~G<%?VRPd#u~p|@;u_w^LsM-zm-X1z9a{} z?zjzlqfT}x>BLnz&CfkHpyz+NJ91>eKM39V=u-*L+uE)VGt93Jo5di%fvzLf+1o`It$pb5hr?t#A$TsD+tx;=kY?^6sv<#~lNmZ3gtt?M_(h{>#LF}_doln%u1bqQU3i>gJd}SR{uGDI)CIfon+6z`d5AQ(#*DnjX>`F6T z!?=2Hr#b`t)ozn5PciP2p&z+4%)4)dC!B)*=HRUrD(JJ&LdAWb_2{IX=<)~&PT;si)b{XS-t#-VF_S96~{}TA@^{-nj z1aLe!Zl1^`{6Zq(y*a{OW*7&YlywvQZ!Rl}4E*BNTw23D;_Vo>nes)V(rEy{TTAtl zXxFhxkVm6=g9jUkmm^+=I#=SqCN0}!z@OS&4^r^y=U%uo)Kk%ExJpN{!YQ}aKg4^KaW7NA(Us;|dPPDVH~$a^ z9L0g<0|GtkSgMxc?@ey`3Wf&%BH4IihFwLT5aJ)S0(aidiZWzCZwdz&VIQTy56owNi1~|mB#Sy27$5ARqFDI}+!)mt4d}0JX>E_d zzOy4A;sabE51txe_|6)`hDV&E^A8(FQ_yE=;#I6K8A>5Jk9jTfs2XVppOfYuILR9D ziA1A8_)iSy>-r(LnzER-oB4ZkU~pu_XTVPwd(2WA?01zUux^7m?NI$S$d{Ka^)?9F zZ;82`nxNMn@;33D;v7`i732k=t~&TkvTHE|b}Ij*$Qj^u=;cEhbcjY{UjpB$*5u); zxVQf=zo=-qc7H4V5#$baL{=;k^q?h$d@$Hgaa@Cjyes4Vt~T_e?%J&z{1U%dO_l1> zJB3%2O8DdD_l(K$pM3N)1K)o;MMo&$a#r5%Wtea0I>UZ?1$p+*C10axH*8s|q8*&; z9VIg09wXTz#r?dwJdJgMNxhj~(1e`}mGcz*H*Xq*As#$3RM*7#bE+k{!RE4KmSAxR z^L6hn-mq$jr?zE=f&}(F9z9nj?`Q$XfPryV13jZw3P17(m2k}f-P+SP4=`_^ZfC?# zLj%(`9p~Qvy*yJZZsuh88!l1|ap+@jN@>c#Sgahnv46f_?|JVGZ=Iq}V@Ew4ZK|PzHHeJ?qmo^nbj5?wkfW zG29cXgm(4J0PKMj_-SQr33{uJDXDJ2<275#7>}seLvjv+I7+f7R+NC>#&ZtLPmr(b zd+l=x^Yym&_J{%bPq`mIE5SbN=AefF?-cbH4bb&oJOn>Ro^vg^N;2e`sM|aEPBEK< zXrG`?aSC}yL@}AagdRvZx7rDPCm2_gW(NJ*Go7{r4n-g4VbEu4{F8586?BVx&ORWh z@97Z!Ear=gC=730L!E`eJZI=1?pi|zeU|KzAO*hVQnC;DdgI@2Z}{gWjQI`n;KCL$&Z<5_&Pnj+%%-4E!aP?0 zFax_K2cn^tP0{}PFnLkC#8e~4i;!FI$Nqv0eNbl3v0e%~B@-h5nFhAQ`36J3xlGE+ zV6X0s|KXMf{eQC*tPx!O(X~O2@BVQANzg$55p&NXgB^d7c!GGZwjCcBLf%Z}(JkOH zg?gSo(SJ1=D{7$oAhp;C>~vI5PD^O7He3IVgnk@1QeT&GU)Gy>18`&AZ%+nZu7ME6 z_c+hDF2)V-d3x?E0{yxBR}aS|@Xr(M?j?{LQa70m&~;?uj*up0#BErCr@HA9^VMbb zbmz*+x-_qEnWVt7w>Y}i%fQE6nw231b9(2qx}XckJ`@e`6Sr>B(0^kEewIQ5!^0~U z19+#LM<@##QZDW7Y;VBa3!)m40%Bu#eEC)w8@llZy4)zsDGXOqyupR^}p6* zW%M`s&(F7880^WnZ*A&s#P6>5b+*YE4@A9AIUrqnd30=yVfZ8)02EWE#JE~C7E7fU#OyCFXMWYzUrKudw5fl75ZDUTnS2+q6kV{W ze$&*KUly=R9eCe%GEZ0T3>SJuyRM^WqVR{k%0-b!Mg!{|;X?+EbPnr6K2=lp+{ySn zl4?bK1oCXDI%VjgvTg%Exk^SmY+PmIYinzNuEEb694dj^h7z%DV;u#2-rG+a;A_@! zQ3?DU<;yi0b~HC2>i8gzGZB4W(6_^i!a3@h!1q1H7V+GElJCX5e<C~%KWYDlUdm9!f_G# z#B8#VPj^z#llb;*0uSCN*BRzwwZhO}Z7YI&Up~1O7;$TWCsW-w^LG$W z%-1o#5+%=KA>iRjd_DrlXrn0q!@kD(nwa)9JL0 z!M+vivqVN5{qe=&tOR;Iqy^YljDzNwi$MOBLOKD=rp-5YrLT>)k*n@_4NkSbFQ&B@bP2b2;nj#Op zF+8#=?CMMPbjkqyIbJ^y__dS@GHaYIw1+o1yV<+c8MMXWa% z-s^S5DGfsB09G|GWiz4zP$OBbXrz_`C4W<3ORs( z*2#6zZ?quJ8P&YsX}-}3dG>y}(h>*!sQXjPa9HTX#__NL`dfnAZ8Gp0JhYq^*N?Yu z!p>`I=LZLyxGJYbJ?MZu86D`dQvBauIeU-b+N@g5po7vVZxtobql^0gy);*tFq^kV zDb^QOSzoJx{s}hn;(Q-KY%ALwm#_*qgp%-?@?|u#+fTG9yE7zi(b64D$Ky*0yf|Pwdy)OmNtzuGP30 zCj+(m!vz`m>6BTSuotBS;x`yy5_Zswt0R`go8o=S+?&zRjsxc=FhxQ>gC!}Wy&iL9 zhC-f#riAdT70cWH6ZxzyB}3wQPk93Nlc?QyKI#R$%D~s|_+`k+(CZ7ohu))ZVZ9*w zojhzlBj8=L`Kfq6qTl#P0==Icr`|O1-sLlf81U4cu9&!*`_h~tE`(*^lEB}qtYAKB zDDGw5OfN}ueI~4rKn{IFe}?%R^dn!4qdleaP~;_HKDWtN#5Mc=<89IYH_boa5&h3N zx|=edKR9E1UEt$+*OsKXpBcWlO5v|4!)srNd&-**3Vf`VvX6rQ2U*lX0ldR{2y$(x z59`gJgMO$N&L4B|^C{i7#sTM^zi#57dwMesJH=H?&S?$Vd;Nb9Du6rh1cr*7g{|Hb*!VjT$kYLYI|f9?o*;mH)ZdTr$LWW^NGpF@wDI zv1qRcg{Wop+pH!#Wa!)47ZW}ie6OY2QWD0Q@Rm4d81p={y~jX&f2VNfc>=lGt`~&7 zqppz|?Hi(A656LY&t|p`dIXBY7*9aIp;|#>=r_~9?xE<%8bTZg=Z0kaJ6kn8m(!19 zGS-ojsrm#1JgIc=HGHQ=Qn?1`q*`pvS&Yw0P3Ki`dTO;`6ZTIj9#$Z|h@Mlc1e+PZa#20b2p1;fJ-x5Q&6*+Il}%2<-ohjl)$ir*U zkgGfkBmPApe~Tydsreo)pr6TTuwIZs2aW^ygulTuIU&z#@#WvNX`s^w?w6fnoaTk% z7VtzoG^ygf*J;=~4Z!2fcIyJ4&HKA~w5P`0gA}8_8aA0)K|gh6=)l6jhlyF6U7TlY z@5&BQ_7tw6AeG$_s-_4cRA>avi((|CnzKJ3={tLid`3QIQ^*ai~h_vSZ^Vs z&AD7hcR}w-Up;Iw;I}jq&jbZsd|x;m#(UaS5@aK|PuGf%4B+>T`bC|>PKTAR?Aly& zY{Gy4yDx44QuoLR<`HVPJbJMJ`%YFq^2%5@wnTpNI|BFyKlxdfA;0L8>-7NmuEe?> zj|k)6Lc8(8|2?^gt{Dr3k9eS_b z&&&9~s+PJ4@GfN9!Wieh=2AXIAV23<ir>$MM`6LhS)4`M=p z-}Q}EW#o@t%QS5U@CtQd|Mj(j9~Pc=I56HT+rAM_U>{KbJr265)gzG~A}jUJR=*=H z(n;hi_Pc*&c#r%;Bk&iz?GbT)4^`!_rYj72Jn6zg6mSIg=dIsiSO?{YJ0l!+z?$mn zq(YzQ(YS&8*)Z}@p}zxdcZb1E`#Yp&%|&wH|VGg`NX!bhLDe{#j>S=FAglD0Uoi8^CE?P7%f#+H1OeJVxe6^ zJ0ul*o`J3pt`}-iDs7KL4L09fdL9ex`-L;Ueq1~HN4*RXCt>t^` zGUUR&=zt%9ys_dI7ysvOM^5~TPhPrtU&eF3nW8f6oJHr5GsJVuVYdXhEPrCZF6eJ( zgEfjeyP3pR8T|C_xp;zLyzI-3ZxO&(9DX47V|jB)vsuG`&Xe4jbYw*p|!2EPZR!AwttBrKDy<(ca=haa*NC+qo2{*#*bvo zzpx)90X)>IUaX6L9aU!Kpu15H3BPsjUDPErpr4j-MaZrC(Zq)x68IIF&JT!wTNAM$ z2Osu6wyle6q}2{Tiz$|fSa;Tx&xVkpB#s+ZuJwsiyv@Hp_zKBmBnr2A$${F>8| z8w29|`}tL~1bY|sjPzrC_2$xvsQAz2^W{16Taiv|#l70udgCOI;L*aubI=p-f9Ti) zT_x2NI$VOhD4mrtw}d>mt!-8y!0%^PIb%SNx>u5M&}r^Fe>-6!=r2{kJ_*o?Hex>9 zdr8XTV1l3Jt)K?^>9p!)2L0*pzOzqZ_mfQIGf_2NG20mAX`~i8#Xz5Rqr7F{y2PFY zCF~biJC1b_=oxc0P0|%(ysb5YJQ*6udn$~h9g=Du5a_FextyA4r)YgZVaKrDqE{1f z;ac>FgAar29iu`{i--If@C*BS_kln2E;>+$G(rI3!^_eoI(O(C93fa|Ks~h`(7{`K zydRQbx17!@;_k$|nNA_!lwSCxt?N1I3b|nH>~08o!}*o^GWze{;LvCA@5AHo3VKf` z%oPpzm=c><>XfGn0pGR;x@64VHSH2pGZ`J@HT;Ws6YKCikXyofIN<$1pO-X1<;}9{ zM-x#<%dUMzmR_zsWvd~Ag+5nBB7nAX<^1K==oUR(|}Lg_GpQK{v-XjuT$vj zo%%nm8SryxbRBS#K=Zqs(-iWS)(`4L_yOrY3%exE?T`Bhse=9dPyM$r0UUqxw#iI^ z|G6XNm*RVZa|$HjVS`_2zz*$HAA!D1Vefm0279kqJDpkRW80;_tu{kEa^wAYxCuLf zwA3OCH2uqNe|r{no?H8#zPg;y=JpSFYhoR7v}AKg*9_%{7_KzHldCR-B+$+D&5Ldg z@tvstc}_+i2s4I?f}UR+8bSPkPR+b->6c;W6X|>rQLyQ#+2S+chdow~;^2#yk9nd^ z(3OzwB0>I1IMQ{sfcd&JXAPkp^;zrbgn>Hw!O=3=sNhuN+-eho#_bH5w$=|CeI1q32RSQC7M%;6LledI|GFF1-wHTA z`OI%YZ|{6XIfw5QYbzgy+>NIe7Ul{1PxhFFK6pb1zCnt0NtRxS2tG}!U0DHVF`Rx; znj;sQ8~0E@LY}&7{l<$7_$1j22RuT(d)dt%338)*YF7-xKGAQ{l=@uIGv_`zk3|V)^V^`m(#&sK1so5|r{Bj_b?G|%!>n4=Uk6_` z^%j5AOW-fnk+90ZC*Q;Z=4Dvl-brJW7I_Kbq>TSe!=s41X_Hy|!es;fU#}iwJkXT% zRuTRO;z)^(ll7j_%4Sv2$He#B#MR7PZ^&pT7M;$?_`d1nYZBzB=V*42t5iLWv<|LF zIM=4ID2aJdr!^=6Zqwc@#w$(nk(^zE{eDdEcN5GHRuZu-VdsLJouWd1%8x(guy>}b z%@F9RATO~9IrH8xtctwixyRw~0|Wa>?3n?boY(_H)CtD<$B{A>{hX&O8t_T&9Ao@r z3V9v-8zCRExdi(QPvdU5TZX=@rshAAU`O8GTkjY54_~jmB;k9rUWR{y_$Qozbm-9<_W4NA^8wj@O8g()_(MV9Y3j}@LVi6*>8cF5 zRDN+SbMn46xT9fR164X)6!Z*M9t$}~9rK=6&?&HngUc!COTy*~o=qIL=*OpSxgjh@Wkb0AO6F6)on?@6}fTss#rf!PPKhkN;JZIr^0We$dC5KTjFn=Io{&`X8`g{&bvx&TF@qkhiS``VDtehJ2;mLoNdS z%J3tzf&Pm|uD~FtA)mX~c*h7-zlg`kHTlAGIIhJ2|NrUbW=gap;uPYVJtBlaUQs5R z6Tsmg$}a*g#o`~XQN)KcNj0Q_pTnDNDGIuc`)Ztmf81>T28BJGUsw_GFXh4FysBZm zbiEnU3FNfVw>c)`T5T4c(hOIe%9B+=pM_8`DEgbOV17BrL%P|5aX?n|s9u#pkAo=m z8|&iM)ZqyDrM}td?O=$T9rK1uLmu|7-V&x>7C<@2LFj2D{lymAF|ZCQ$K*LJaPzw( z&{yP-p)MDLp5uI!cZEC|>pdxk^{|=A(tYUHRBP+}4Gwt;$1i>Yt36rBV1GB@b2>iU z*D%hStg@THt~$9@C!lw+ywGN#olwK+lp@9}i4;F1u$xc(gZ-H2Pp({kc+vfqbj2A) z`~>mpq0d&U0}D)9;Z{|`#y zytVMNGm9GLA?g$KuhgDN!5=_=STOp4A%FDBx|K25vwTPBu@*4`V^&9#;(D%Gs~h;= z)Qf%es&Rq)i$zc+aIao^-2k8cL!LSVKg_LP3=_1Mo4Ncp=%yT=7tSv{{*r($$-AR}$5H=pzAKA)3sXDH3D^U~Et-WM8SQY^2y=`N z@A}UdDg1!FNb*qd<+pmGk3pXQkuPQ_;CRE?_(=R0QVQKd{@TCdJL3O`{vjr=x!A9V z3G}-89d(SN{!kD6AM6@@?`!kl`Zori=X2QihIaYkgeQBA{cx$@(LVbRut&Q)@F%(V zV-F4xe~(OIJM9vK|GN3y@vi8fSx&o_eX%p(XLKh{i0uT z7@nAgzjmj+9rn-g{`u3({eau+F34|dfEQt7-GE%-y!K%U@)qsx&I>!baTvk867!X6 zuA9MrM3Km^sS@gLbm$WBdXz{ilAxn5cNus;#4F#|fJX`iY$)u@L@??T&qrTF;2--K z5@{FY5Br&C17R8d|7vvw*kE3S0@ND(s=~v&RWc{deeK4pvkd*m>aG)gcHmqn0yrx^ z*OH*~_v>EP5g*Bk)eeo(xK$GwVX$0{$QM#MdRrTW3TUae43P(9npWx65vgN$CGz{fqy? zpiim6rdd2UM+?u%pl5AJH=%#jNzXnHItH2}V>bX7_&v-7o%!cC&_DCKZ#mj!&?yyN z$GDGt)ZT2?fL&U36-?QPJXdgY2io)QEN2~PPi@opY8?ITCv^0O@yUOZAK-nqQ@>8< zh-$LvehqTevXB{Ju!Fu*&_*v|yqNWi^}VUSyxT9Koqt|C{XK&IqC;Ooe~^zdy9d6| z!070HC&hK4t#6frufqo>GqgpCo<^J)`upS1Jp6YOa5jS>fp16D|9=zkvFLU>2=p+& zTW@fjk68104h+C)vE^VNvr4`*be>Gn$swC9p+#6Ao+m*A{OahiwlRD+wj846MOk;Y)kDr5Y0kCsv#d^K4&M>OPhnsl=J-@jnRzFY->lx$sFzL*D7t^jixQeEfq8bqukNX)z^;Eb;~2sDlgp8~nHmJvF?y zI|e=%cCA=EdXpf&v(d|D8R)GwB3l%E>0P2H{`(i^)C|5?lQ?jQgDzZ0ojb_Q%-F%P z20d)vt3&Q-pi<30VW4}?J^CugdeY5je(?jy3-tdQRQniopLMQ|`a_{W4-E5M*J6)YhrqEQQE3MLP7ymav7Zvh>!l6oskL)yNZ>hG)2*Rx$*5P z#q%O@Ox!&_@YjXZd{S(#{8V%dvE5Ht}u)z&c@}ihHJ(i zs>sM&>WDYhyyXiy_@M)8~C1v4U9+2yF&-S2l+exm(hP<+Fgq?@He!@oud7R znJna7QVy9OlF)wmV5BMh8=RN$vIhB|vD;shA*Y39)QJF|wrK1Tha870!4}b;iDlq7 z!%jZ>DaCh_*{l6Y33kKu#VxZe+S}YL8u-r>me)10-c{#$0(!hw2}KF`oK}O~9CEmj z&a8l*-jNq{&|g#Bg%tb~j8_p9(t_XU;b|w{E4)nlPWr9+-(=92V$9wNdMlp2K05{d zPT@cq@qSac*frP__n?2v0KFz=8lW4SvZ|>r4RGNYiz>%+duRU!_&>EY;^7qSjV3mo zZrn#wtjh3z-_nkr#X8|eVYqn0FT3uN!ACwnpEoeh;FvAWA-D6*YbFW#cRr7A*Z@AI zN^27K(~Io09tQXts0YmOJvY4#y+z#JT7Cmj6R|JgTNH8Gbh5=H=oD{HyCu9I``ruw zPT+CuQ)Ue4XCe^<9f&s=%;qGt=S1L#AP(_h;iH#fe*!iu%QG=wUb^;;fmdMcPSr`!|LL%PNP*Af-L4l2?A5$|cSwGVign9%4RV(5F(Dreb_HqV4F9F8 zBu)X3Ghs;)w43cd4gSI3k8TKi;yp#lGD93WG*<7W;MeCXL67);zg&tDVLz{5JP`0i z2VDi=uUJzQO_{*jWg;J1V9%FgI zg?R;0pSkm2oAlBd@5aeGfUN8=>|4DgM{;j`(V<;JzFKA0%`eSP=J(s4Mc#zElrHYM z-y&WRx@TaK;=EV$o{YG%)n1*J;dgEJz_S7!ZWdR&82UdPn(bt;Q=@yCJ_&wfNZ-s! z(8Kn5wMT}Y7yqBDe#bC0ib9_D9k=oZ-v1;L2najj>G<{<0o*y>8`Qv0n(uF;(3_d9=)LBLn)mKc&bkTy zi=-dSaO;L&HT_zC2#+w^z_ z^5Wg=wQoWW#@9C9Z>Op>_mlXqPR5;?J0DxbxcH+hdyi!N_i-$flp%LKq@R<}9_pu0 zYLLIIqiw+eKE(~JKjAyyNOpxne#$R6k_2?jxsTU1;N^K~k_)+Z-LU30*sX?(n+)I| zw6^_*o#<1uMlmk5rOJTUP@m4?98biVgC#%aC%`nFjdAelty9nGVt?4sZgUWLsePNX z3PHTh=gxq?OnDSr%7}LMBdf!Lo<+|v?7Wy4^_?Ps^Um1N$@+R_#$7`{$|m-E67WaV zam2lM?}dM7rFcG5+S;M;uYcTV!F&~Z*K{M^ig=JYu}JZKbgfL0hdQ}-el!cYn@qPw zItLCLf#?N&6sK~~fmqv%5wrE#oz5igp z;U^f^58U|`1N5+B{|@+%Iwr{LL%ymzV+{#DDbn+- zf%*9)5|T8~A!uq&qaP)_=gw(ZM{xI>OB(3%v)b_k!N2phWmyLQ^>VaB^pkeP)+zj@ z4NJ&xz;18mMua>Et`&aYPS9V_QFSp92l+f9{6Pid^QeUOZF~P4k;HmHSDRJBICl`o z$+e*SboHhV{wR5#gq|ZG&lwA9kZji0_Mbr~)m5&;UUDUou*Dhr`#6+1kqcBct!fx= ztk0&WA*bGO-PLbgf<*B|P=ozVANeQ+A0nGZ4&UKi-mwzk@Ft3T&^AqtZ05=Z?8BJ8 zb+E?p{*Ap31#+t79p;#zi!-~$sTj8l4E_OCSf*Sg*uQXu1r@x--k|W({RTPw0Cx_ zGA*vWZ6E$1{Nz{?evlMM=S#W<`Z`ihv;)8Yz)jq!!@5!>??N8tc6R(Fv==eGk2p8< z?`BWR$)Tsjox%DC^Cs_%j%biyzJj_p(5FAvM-We7%D;U&sY~GRXznujW++Ij#5l?> zblDF48vH@jt!-%7AM5j163xFyyl(~Pj=jTxcR8T}&+xQ!MgyGI-sNEed2wZME)Mu( z(y0&Qm11cYIK#QB8N~lJ%;SQQo_zy#$jkoGl5u6=Yz6@t@LPHNC3l^I{ue_Q#Mhb9 zK>QBvDCU-^k9*IIdunUn#rWdgYzYnH{UpjyL~vDidv!a*co@|41rZl?U2a(?@1dT3 z=~06~F6+)5;^r8StNg$ab{2Uaprdlw^2n*7ef_{C^iS!iy!kr=_L5gGBmS+a&cjcl z8t86GAb_A2#=_-jT!LQY8kk?fPUUiXkidRt(#27R_=nQWZZPoCn#{YQU#jcSq7%qp z&9@6bfhjwWw~xeCaR9%FG`IKYK@$3;=m=y1Pw$RwwQ&4@4+o4(f^O#QkA$2?hMVp9 z&pZ6y2df(3#6HCV3ch5E5uAew{FeG(5d1u~XR=WI?{qPT0lcE|52_UN)&}vL;WbaG z3;SyZ=EWf#AS?Lwsnu$hE-kCi^!5GBz&iR!(IVn7lkwh6g#yoiS#8mc2%Rf#CGtX^ zP@D9`z1BtU9a5pBi`d(vOSYxp!db*?J*8I zP1g^qXMRcF>5)H}IrB@+J2Gfg3m3G>`V89;^iSEtMGAevsoh&L+MmcT-PFW-Lr>=| z<2~$y9(13lfM0hcZ!qBb-S@L+2>7n{R+AF?aanB}_)ndFqx?T8`b+QEy9xX|;*TZ@ zA^4}sf@|O%9>}{7tj#c+%4ow_&ykc^V$ZM575t{Svq8oAgoB$g3Oi!IzJ~dzG1X$v ze?h>Xl}I^CFb<;@T)8H={$uTepj7bqL9;KGnZ%3@5qxQXW^Q5w!j=I8GJrBQ`zRo zUx;77-m0Pgqoq0MKJ%e8lJ4tcP0;^d^Ycd(c9q~<1ab{>wA9(A!Eb@LThkzK^dJs- zgIwakEFpi-9tF+7NBJAQIYiLDrTe~1!+7f}ZvS_{qlTh+@Kc*Iwb+)WIc@ynUhF2; zrM({&p*PUathMzm4fMA-Ty84x>Wgj3kh3GIn>6J4WE~54xmUh4G5qco1N6&nL_-ww z#xELan+*Hc6CB+Y<5T`Hr4smYdaUM_kf&6%_4iTa0VX38=Lzs?raA$YrsP@FY=Cav zu>|I?2IegmUFgO3_$KBzWNI}wpX8uF2L6-rf9&iBvw&M^fk!IZnQrJ|@jvQ>HVEXi z&r&_d;7=YN)}w$+$;E^4XT*HZKa2L2o}9}>p!W?s?584oYbm=)f}Hj7kV*U(K8^iR zkTYhnE@0j`mrj%@10N4&X-@Pr(=3_{^q&aV;U7@t!wd@n5APX^HH0N-5Hg? zRi#Vw=HT0~H>lfgTA_F!s_i_GaPBqs$)A?Np9UXA+yQaIQ;C}t^scn`)Wv_&B|w>`cJ;8KH$1OnyHKUMkRS#9L&rI`%^jShcFTGN281Nf; z-d#dm|AO6-WPo4U%QN_WS;#@DOd)3lSGh;PohsJt;=iNZ)fc2oav<5-(@H@Py|>?i z{;|Kxosj`Y^ry}LYQrhynfWMdr^?-|k;iib!YpA=$ z>>B2^un!@I_*mLLU(s;x#qJLDA%gh7$2Td#o^LvOECl{#$y56h{dswLlnQ#L+S|vt zLKIUlnwHS-?8$kanp$--o8UtR^;renvu^h=!8)40T{8qc`ATHM0KZMK-xvbktuda1 zejpDj5<`1aruZ_KK<5U|tLN&#qzMU21pX4ur7Z@=N#{}z;>(8Wa<3u|k9i19ouaTq zh++XRs+gm7rwsWjWF7E#xiVJr@1TDrou0Rf{yK_(ZIXpNR|)h7>+Yd934^^KXkI+0 zL2sjPypb~^TEN!4ct_ZgVx^I!_};~0C-JLzo%+Q8{p;}$p>N)rvDA;KgEww5AzwgK ze%fZeJ%Dw*p@YPV27bPlTZ&Tnxjt8JlR>^7`U#_Wo{5`62IQ*$uopOy7tNMbRRW)bwJ%{WG;cP& z5N7I`8J5YKDdJ^+vGQsO`Sv0G?zwve{)EdpgSa2|QRJ8UHTWmzXb9gC>YV-H{gNYT0UE7}Vh@-xwi#KE1h2vrGV-7yF>*p|kV#?|EqdL1{D8(I4 zDfH5Hw)Hs!@x-5|`}a8FE65kNX}FK{z|X_Hv9Iyf6~Xs^e47vWdx zUz>4js|VMuc{-GS`>O1H0PHLd>_=;sRsQm4D-tr>qnch zHF$a0_o!!`2I~7|eZ{aF*Jh=)m0UY>_TXBtPO;7s_xY?8cI(qee_VsysE=yTM@9c% zu5{isK%cHdUrn0BxNfp`Qo!L(m{EsAntJ)OkB8Cj)U(O`%QE(1B_m`0GnfauM}r9l zecJ7{=NLF;x-oANaF{#R$eDK_Z}r%|jQC2lK!4A!WG9H`Fl&e_jUQ|PZ>(cl8Ssz- zpXc4c#_*cei|562?jDL8_zq(4B8YRi`3=;afxX7MEcl5yF@ays6qEP}q-m6ozSgM-)IRKrHyXu0 zYK&K?e-Ngile5nn)F991gh4dOSvpk?3OW2A;pvQl{2=Ycwg~(PudRD;g5m#~d$Uc7 zu(?@xVxEDcZG8sTZHU5NL>=)fe6o(ZK18&e%bv_*x_v`WfS>BD?FoNC`68PJ{Ig!3 zaabh8C1Rf1fQ;{RH_Y7{#zSsEesG`IyXOYHO2@m$I_#I%Z#WPiqDpJUe@u~wm0H0* zPkdJ_XR0#VweW^6{;y6q90tbo5YCTckULs0xdE5=sm}cdg}nK8ux}X=B=g|lDEJ?U z_Ov=g|E~CO7Ir-_G!eW>fxmkzxK1$dFV%}43jWfiK8FT7%Jia;2Q_#=rn%Qpe|n>} zlVH6kzu4c!F&|ax*^~x&(xzZp=vUly8}ex=NP+5#XgRb8|``zOSc^i_NwKfJ1fm; zfg9HDsGzSoSU=IHA>GlbK`)%5j-Y_YvR#zKI&j=)hF=#lC93da<-n`eY?NYrvt_Df z3V$G;nl>2VYuqnd1-}ogl@f)#rtPiBUogDzcUA>_&b)pa@TjgF4~y%{u-ica-;Bb0 zHQ%zY8m9(h=Z&6QI8Ti{sCMv*J zHQ%Na1ab1(Ah*lHKkBnaHOR-Kq95yo1=V^Z@jBr39(N`ufuG_&Jk{0=!!Ii~oHF#v zf5f^e=;lmeK67b#vNTla6@Ec3IX1$9-&LDwO@f|Is+k3YGVzz!(Z(ri|Y!+G}};z11Ke8+R>PqCSTM1~#Q^I#uKpfKTQ z4imX#_#0fr84M*|E?pzcql|uihAU^h{rx?_ld7hF+Z?CDe&t|yV3&hEn@#cj;9RbYtD0(; zO{b;6naK`QHY515)Ytg|jTm#C2-&iT`>n~c%_6Jr*K*E-pcZMq@=2S#Op%}ZrYrF9 z%mPh*BAL zssB$_k0|Eb#qCHN5q7;B`w>MuS<|)zdi~++txpWdK_UB(CJl7ZS36|}y>X4ZiK@GXU>WZL2Kkax<2K-%SE2f01U;%X7-boD4ee za%&89oU(UjnugGWnOIbOZ!%drHGJ2SaC2c-S1-4@U-Ulc9u~z1TCed#wcrZfYPmw0-IO6-=D>kzMJt{>$_>iJM2hZoTzm&bX zRDv^%cf}fJa-f6NLSZK`Km5l{%#)dS;m$!8{ds4$>v;q4C7(TVarpnEFYjRe5PtuI zE*r&nZ+bRXK_`X9CR{Sc(+(pI`);V%9%5scq&fQ&pNqpzM2~Vgiu@!~&<}ke>K86! zjUi4u{PM-hnO{=mYZm=y5SJQo^mP*Sx48S+Ck*uGE+YZ_mFj{S@Nm_-&S6I}|IzhB z1M+1_<%b#K&Lw{{D}x^M72iF`ztY!wcU1x$-En46JV)9!XOjf=cSp}_uvdRzn|Y3P zkFk&UFdyXJ4_e2EHP8WZvV;tLlF69LV4te?l@W2@y3Z35=w4fr+l3qi@8$XbPtyAb zwRPqBg0fgoKx)E2-JPjdv%Xa3DJCL9Q(KM6q!X??{m*;z>b**3TZqA+!$8k&+Hxig zf{t2O=qS3RozsZKqf|5iS0Yqvr+~|1(sLB;I}GYx1pdFXW?TaNI5l-~ ze#^FK*@OP24pnj)_`ff7c&OpGBSUk-+f0tFR}VDAo2UmP4#B!3HQIvqvc)zu#t`4P z?w30V<_Y_^vxuk2^{bb0FDJ%r_J&UDw|*Q$iW69Inwe`_KjLO)F=`!dD6 zIPNb!6mE(W&g8};0rq0hQwz{5Or9TjO*JGoZR)r&54++0?uFi`U@wA(?k{4zV4$oz zMfkbhT56dh?#tRLAr16!(`T&)#!YW5ne@L?roY`^wrPlm2FA5hyEUtReqEUsy@hS3 ztZ?~=P?rFC2@m633(zNBt(yq+*3*|T(;(*eS8ntvu*aoOGLr=I(H8rps!XHqH*_2G z&&sr?w&5_ao*>ZHeL_LMFPJqr?pVXb=1MvaUgDVO0j8ul{1<2`4;!8`Uq z3-SM-m1vqG58LRw{96Y3`qF86N8oaktinGlQcG-ahyuRV;;~DBp8mzl!zG5e4*T#6 z$iuJQ>Kk~n@X@)Sv^i~Oxjn1bbl62IU8>)BQSs7=8z0zVhYB(|{^);&o_Ig|i?PpP zzkJD-mAdktaith>q!jdT!nzp+^mzBLj=KSuFBJ*@9OL_5%XFIom(-dVdqqQB`{R52 zx8T2~&8w*m5%{zio?D==Pra44bGp&;gEa;3jhr6VV0S+`^u9rn2eo$`Q1E@?nHTFD z40OHp(m%e;fM;api$A7-*AjkXAAZ8;Uu`whD4mWK6FCa`D3l^!YvAkJiT`Er3-gvm z#H*TA8YW%>Ibm90Rs{U5(X~$${5C(8KM(+~W9|))2z_^{PiqwK(-%4_e7wM}ZsL0Q za9>eDzX_DJ!@vjUda^Q?6H8a#OOfX^%6k!paq9U(O~m`ho|AR~diWI_s0hAP#ymFR z+Bt7ztnduEMx*n`BbY~qJm`iA<4qh#EP0G~#hxAXD~M~-%jIDK@!IOGWz0{AK|Sy*XgCm)<_ZOD2&=>%5?&I1S0AY!TAqs7n~6hdRr{& zAp-fCZ^&GpXCA$5w%zavACxMSJFGATGzbQ-zE}K^{AG zxRdAas}1ZUo~FU4Z+l>WHQD=F2=iH>`|jX60Y9Izhf9zHxm3(Ujy1_;SD|ML_8Wau z<#aoA=XDCY=X1zw0S6(KDENf+Notb;ztA!p@EC~ykw#S&;JZ&(E$A2P54AtVc#`Wl zrZc>6cP<+Q{7fg!YX*LsEw_#c;((T=cpUWd{U`c8yMlQ%?C-H_kekfG$RXC#$}GJ< zg5N%7S)D9=%;Sc+pDEMlyf{ywTY^uo`I~U8#`PN8^Aq?jDb1#^ z0k|V(dq#uYu*~o#MV|3EvY(@>l3HND~@iKrO@+e$X&T3T{5s&4eJjfKOIZb zB=E+3>0V5nF8E>>%XdWZ+tyY*6hODJ!E7f5-Cv(#@T-P2b5JV6OG*7HM=QbikJMOP z108x&)dGG??prSuM94w081R5!zSiG9;(YTh*sOMf?;nm8bOZb|bv>2m?_=daR>AmW zY4bk(pii@%@8dKH$00&EZR`Y7E?$+zBh_p-JgCUPgV2 zuLH=O=lwZzF63`QaCp`_FW{Vq&A4E@XQ>|KMw&RNn7^(rbi6!kP8Q-{kb$i0+L%ZOtDPfr{6 zr;`bblMxF0rN+XT-`0HAX!I=sa;$GhniSL*9dk3|1mo9kw9PO)qw4K6A7`idS=GRL zK-9m-IKKOL?#LSCsG3-E()ZXkcVDH20T1jG&56@=wB~el3fGj;cn$k#B%CjKeR+jo zo@02Y_q-BCrFyEm1Ff4#%^#N_PqH%|#XLR@Cc76;>!N|+tW04C%~l)s4-o9jmW%ja zvIle|XbHfzO?z z_U_U^_c0DevX+$OoaSIlaIz3?nScL*8{*WNJHV@;5(dm(3j$NxTp2r1J6e+h-)`o$CDsLj-=7yaueORG+<#{04Q>c%h(S9(HW29AJ>6 z`@|!2|7D3J&LjW7a^Z%@uYW+V`LV#A0pG-LfB$PX;ki`&vlsH>^+nvvdv_c3me0M^ z@|K2q;})x0Q^5ap^|OdJO)+0wf!yIdyxJ(TTS1Dqn_Pff4o7ef9P*a;@4nN@t}C*Z zueONOivy9%hkvI3J@M^-TR+h-|B`v(>9B|UnZW|;PE?K@yN(pDe+bMd_-i@Vct4o8 zJb#t|?!lsJQ0Uo}=YH6);Qz+myE%$^$xpuF_fsems)Ra$J^N1cnS=uT9~bpJ<#k!L z93nn3IR6)6=ns?KUpH+CuxH`;$z=h0vY3A}s=a4;Q<ba;>YwE2pDCBH%_fX~k(;<7W zf___@9(WY^w_ne`h5L`#^x>W5eQ}ya`>?T=}#cR)4Mg|nv$I=}-#pR=D zc_I^f4;l8QA4T~%hs8MW*Oz#sPh{{X`E&yFO@d?`twt!;q0BtJ&h6sp=5Xx=2D|T= ziNrK+uW?MS0=k)E>p22C_MQYLDaL=Xdu~L)IKh+VgaCM@P**3um!~STo&5b2%{Ch{ z@vWFmG58B#qO&at`xK0JHr%K7vtf-Zpc~wOiuXrw?xKQm(oqw)d(whs*hBC%{UMiP zXm@Dbf}9|aN|Z6LAqHC=U)CV+6Wc%d?k=ZS^XyDrL_emPsRZ~ZsgvojFpqlD^1%V@ zn6F>IV~FrW_GC5B{ny{ht50g6Lu&;0XM@kCs~>A3`rpPu<9uA*ZdEDpJ=R~G=g*3H z4fBLFm_M$l3Vze#I`Va#CruA|yn%VjtEg8hqo_mMdr?1dMB=OLTJOZ3H{fB@;>7uu zdmiPcCJnlCX@YZ7O2xxn5%JZrYhL7dyNIco0RH*<+69VuZMlMVf;e~g_4OC_*-b}X*xvLZqsV}trF&X3vBdJ6QAHo9$AgWIE_ zij(7&f#W5BHx^4(MesLLT8E!9;5Umg0=!xq$B+}n7t3xR8BvCP=`~$MU8AKb5&=BZ zF_()f=x2C%eO`lIt3LWKyAnEm0 zt_yg|Id-})LNZueSVVuu4)mMr&!u`B0lyMh(8u97m-Une__g5(@IgJ`gQwC0+V2gV zFg)db!@h?20rft$#J}@wcRL9DRO#^MZ3A*+#R2;i@(?K-r*TqbJV-_8Gch7%hWfr^ z`4-2|cm8Y?@eK9VZl`1cd}!IaoM0Gty^OjM;;7bC+M$8YncW)TRV34)euKil>sSa* zp?CMq>s5w+4l` z=(IHq^eg}Qe?Qx7Kw~EdM)w)~d8Y#>N=7wrAkeQ1(}HZ;iJL(etn*|YhKzNRdang| zOAUF;qX1uG!Fo#M6>03l77>q!ZoD+B0gkXG*-#)a16r3A`Ga?S=Zk+K;9Dg=->o2@ zx!PrTHPGL+VT@7GJrd7;59{!w>7z)A;NB63)#}!wqVK@l|6K+2TAur8OhCM9YqOs6 z$KGJq3FuR&%g-pNClr%YAx?*ar`)0eF4Jt)&h_3HtU0wPoh~ov#dA}Jv@w%%>!>FV z_PH7w+IL8M?F9I>+qX~kf30)*K!m*3`oDfs!T()rH3Q?yx8(L_0=%}WST_dzb7!^! zBH%u(?Y#*!^T;@pOj@v(jZ=ZvW3S85D$<#svF;9h{~fNIMTsrU8s@v&hR)uvyQ z8q4}e;-Edzin=%RTKabv6x2nF`vvHiB7a5KUeLJx`gm=C0Pas|_C;Zi`Kr-aU4y@l zm6B)0Yl^&fU8{oMIDg~(_Zi}p7uQ2Lw~Ymhk&RsT@096$s%fJa^XE#})fl3jfxNTH z9C}-kU9zf!gHlDu(iP~n{P2Hk=lY$vcX?Yu+;6g{0^&`5K>y}^tN3=W&xH%g3x6j} zhOKEg#ko!)eXqn&PkyWH51m`q|Ki5^wkZ7-^PQaN4T5>Sqc!3DlMMZ@ggx+An7`PY+*81J76_df(C2KYEsyagZmjQ(3;2II zSqGo656c!$pR0%rsZjC|Ca80CH z!~02Vte=0spqirw;zTp%Wf=NzH{TEO_b=|<`zwa=ZMOU%LHkBh_rtD8-b&+V8t{K* zcD080-b~N=ce(s_gxqV~Plb%cC;YcNh4Y}`r{1(!an6EpkG?Ur;1ThgxI0@!;PJEJ{yqWwKm&sv zCIb1K8d6{2PsyI$%i?}Vt0T1_pnasj?l?D(I$hc}gmJy<-rsj~JnGtwyS)8_BTEy7 zU9v;GG|2yEDU+d)qJd7uKx2`jUE1=bi$LCPT)6cW0iWioglUlLL?;VTw95r5 za|HBnYS)SKk>NFx-KX;`0lO3VhW=`}=+72z7Dh5NTZaVgEqS*~Kzr0hb`4pae)eko zI)`U}q+b(3w@gdrf5v;PTWn77-}&gn0RnqzNi`sc$S3vhIfZE@czf+w1-<3_b$>{N zA1&mPW&!r=1$#5k`+bq|Z5!eNZ~9$RJHzkQ&&GE7{H1y2_wS3`uAXf@f zrsmaK!s+}ZO`?A(mvgi+)Q508coyHw(fS}ExG%dqQ^&poB3HkSHKQLXVYd7YL3|f3 zW|w(CTg3;Ed+6Qa=6~k&!+nu1;33bi&3-E4cf73UMev(`ZSR1$^{v<~7T_gS?d^50 zf3a9SZ-7o|#%@y7E6kl4#0jE|0z1;kZ+Z#% zP)&rx2IQe@_tj0%3-ciz?FRB3Q^z7>h#=k{aD9(*x-^-Y0r^~dp$B%EPVChO21r!n znrGHcpBD1dKRSFv9dp?9hKBmK}P`G;rjc@6Ggis3i|+*Hd%DCk>Gc6W$)pUxCF z1@I*~FPbopL`tzf1>?lkDT!j;;=|~&3;oHnmoJ+Xj7G>EE8ltY2v zNZIT$1@XqEP0KmrTfEY3j1^f_pN^Ykmx%S+Y9yLwSl1sd8&wT_63u0*0iMAVqbhRw zcv$>_i1_ZukKeyb(O>WHiHE$$rcWZM&w|f`^VXt>`dI!4XJ;t%0A={9hCHCj#ta3K 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≈)*xG_Vb9!0R+p;E`FrDfqdbQkm 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 Jcw|}j{{_6RdU^l= literal 0 HcmV?d00001 diff --git a/tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze1Leaf.dds b/tests/formats/nif/files/textures/ClutterNew/Furniture/Bronze1Leaf.dds new file mode 100644 index 0000000000000000000000000000000000000000..a564710e47cb37944b28ced0afb8e44ad81afa08 GIT binary patch literal 174904 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