Merge branch 'master' of github.com:MISP/PyMISP

pull/362/head
Raphaël Vinot 2019-02-27 11:14:14 -08:00
commit fc3958ace2
23 changed files with 13550 additions and 84 deletions

View File

@ -13,6 +13,7 @@ requests-mock = "*"
pymisp = {editable = true,extras = ["fileobjects", "neo", "openioc", "virustotal"],path = "."}
pydeep = {editable = true,git = "https://github.com/kbandla/pydeep.git"}
pymispwarninglists = {editable = true,git = "https://github.com/MISP/PyMISPWarningLists.git"}
reportlab = "*"
[requires]
python_version = "3.6"

176
Pipfile.lock generated
View File

@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
"sha256": "2551d32f7430eba34eac975cc1b28eca13fe9faff7197d83f312d7de8df187da"
"sha256": "3b84b36dba62f12dd8b636886c4a14b3580a77b5a4ceccf0c30ea6c08cd2b7eb"
},
"pipfile-spec": 6,
"requires": {
@ -23,6 +23,13 @@
],
"version": "==0.24.0"
},
"attrs": {
"hashes": [
"sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69",
"sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb"
],
"version": "==18.2.0"
},
"beautifulsoup4": {
"hashes": [
"sha256:034740f6cb549b4e932ae1ab975581e6103ac8f942200a0e9759065984391858",
@ -40,40 +47,36 @@
},
"cffi": {
"hashes": [
"sha256:151b7eefd035c56b2b2e1eb9963c90c6302dc15fbd8c1c0a83a163ff2c7d7743",
"sha256:1553d1e99f035ace1c0544050622b7bc963374a00c467edafac50ad7bd276aef",
"sha256:1b0493c091a1898f1136e3f4f991a784437fac3673780ff9de3bcf46c80b6b50",
"sha256:2ba8a45822b7aee805ab49abfe7eec16b90587f7f26df20c71dd89e45a97076f",
"sha256:3bb6bd7266598f318063e584378b8e27c67de998a43362e8fce664c54ee52d30",
"sha256:3c85641778460581c42924384f5e68076d724ceac0f267d66c757f7535069c93",
"sha256:3eb6434197633b7748cea30bf0ba9f66727cdce45117a712b29a443943733257",
"sha256:495c5c2d43bf6cebe0178eb3e88f9c4aa48d8934aa6e3cddb865c058da76756b",
"sha256:4c91af6e967c2015729d3e69c2e51d92f9898c330d6a851bf8f121236f3defd3",
"sha256:57b2533356cb2d8fac1555815929f7f5f14d68ac77b085d2326b571310f34f6e",
"sha256:770f3782b31f50b68627e22f91cb182c48c47c02eb405fd689472aa7b7aa16dc",
"sha256:79f9b6f7c46ae1f8ded75f68cf8ad50e5729ed4d590c74840471fc2823457d04",
"sha256:7a33145e04d44ce95bcd71e522b478d282ad0eafaf34fe1ec5bbd73e662f22b6",
"sha256:857959354ae3a6fa3da6651b966d13b0a8bed6bbc87a0de7b38a549db1d2a359",
"sha256:87f37fe5130574ff76c17cab61e7d2538a16f843bb7bca8ebbc4b12de3078596",
"sha256:95d5251e4b5ca00061f9d9f3d6fe537247e145a8524ae9fd30a2f8fbce993b5b",
"sha256:9d1d3e63a4afdc29bd76ce6aa9d58c771cd1599fbba8cf5057e7860b203710dd",
"sha256:a36c5c154f9d42ec176e6e620cb0dd275744aa1d804786a71ac37dc3661a5e95",
"sha256:a6a5cb8809091ec9ac03edde9304b3ad82ad4466333432b16d78ef40e0cce0d5",
"sha256:ae5e35a2c189d397b91034642cb0eab0e346f776ec2eb44a49a459e6615d6e2e",
"sha256:b0f7d4a3df8f06cf49f9f121bead236e328074de6449866515cea4907bbc63d6",
"sha256:b75110fb114fa366b29a027d0c9be3709579602ae111ff61674d28c93606acca",
"sha256:ba5e697569f84b13640c9e193170e89c13c6244c24400fc57e88724ef610cd31",
"sha256:be2a9b390f77fd7676d80bc3cdc4f8edb940d8c198ed2d8c0be1319018c778e1",
"sha256:ca1bd81f40adc59011f58159e4aa6445fc585a32bb8ac9badf7a2c1aa23822f2",
"sha256:d5d8555d9bfc3f02385c1c37e9f998e2011f0db4f90e250e5bc0c0a85a813085",
"sha256:e55e22ac0a30023426564b1059b035973ec82186ddddbac867078435801c7801",
"sha256:e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4",
"sha256:ecbb7b01409e9b782df5ded849c178a0aa7c906cf8c5a67368047daab282b184",
"sha256:ed01918d545a38998bfa5902c7c00e0fee90e957ce036a4000a88e3fe2264917",
"sha256:edabd457cd23a02965166026fd9bfd196f4324fe6032e866d0f3bd0301cd486f",
"sha256:fdf1c1dc5bafc32bc5d08b054f94d659422b05aba244d6be4ddc1c72d9aa70fb"
"sha256:0b5f895714a7a9905148fc51978c62e8a6cbcace30904d39dcd0d9e2265bb2f6",
"sha256:27cdc7ba35ee6aa443271d11583b50815c4bb52be89a909d0028e86c21961709",
"sha256:2d4a38049ea93d5ce3c7659210393524c1efc3efafa151bd85d196fa98fce50a",
"sha256:3262573d0d60fc6b9d0e0e6e666db0e5045cbe8a531779aa0deb3b425ec5a282",
"sha256:358e96cfffc185ab8f6e7e425c7bb028931ed08d65402fbcf3f4e1bff6e66556",
"sha256:37c7db824b5687fbd7ea5519acfd054c905951acc53503547c86be3db0580134",
"sha256:39b9554dfe60f878e0c6ff8a460708db6e1b1c9cc6da2c74df2955adf83e355d",
"sha256:42b96a77acf8b2d06821600fa87c208046decc13bd22a4a0e65c5c973443e0da",
"sha256:5b37dde5035d3c219324cac0e69d96495970977f310b306fa2df5910e1f329a1",
"sha256:5d35819f5566d0dd254f273d60cf4a2dcdd3ae3003dfd412d40b3fe8ffd87509",
"sha256:5df73aa465e53549bd03c819c1bc69fb85529a5e1a693b7b6cb64408dd3970d1",
"sha256:7075b361f7a4d0d4165439992d0b8a3cdfad1f302bf246ed9308a2e33b046bd3",
"sha256:7678b5a667b0381c173abe530d7bdb0e6e3b98e062490618f04b80ca62686d96",
"sha256:7dfd996192ff8a535458c17f22ff5eb78b83504c34d10eefac0c77b1322609e2",
"sha256:8a3be5d31d02c60f84c4fd4c98c5e3a97b49f32e16861367f67c49425f955b28",
"sha256:9812e53369c469506b123aee9dcb56d50c82fad60c5df87feb5ff59af5b5f55c",
"sha256:9b6f7ba4e78c52c1a291d0c0c0bd745d19adde1a9e1c03cb899f0c6efd6f8033",
"sha256:a85bc1d7c3bba89b3d8c892bc0458de504f8b3bcca18892e6ed15b5f7a52ad9d",
"sha256:aa6b9c843ad645ebb12616de848cc4e25a40f633ccc293c3c9fe34107c02c2ea",
"sha256:bae1aa56ee00746798beafe486daa7cfb586cd395c6ce822ba3068e48d761bc0",
"sha256:bae96e26510e4825d5910a196bf6b5a11a18b87d9278db6d08413be8ea799469",
"sha256:bd78df3b594013b227bf31d0301566dc50ba6f40df38a70ded731d5a8f2cb071",
"sha256:c2711197154f46d06f73542c539a0ff5411f1951fab391e0a4ac8359badef719",
"sha256:d998c20e3deed234fca993fd6c8314cb7cbfda05fd170f1bd75bb5d7421c3c5a",
"sha256:df4f840d77d9e37136f8e6b432fecc9d6b8730f18f896e90628712c793466ce6",
"sha256:f5653c2581acb038319e6705d4e3593677676df14b112f13e0b5b44b6a18df1a",
"sha256:f7c7aa485a2e2250d455148470ffd0195eecc3d845122635202d7467d6f7b4cf",
"sha256:f9e2c66a6493147de835f207f198540a56b26745ce4f272fbc7c2f2cfebeb729"
],
"version": "==1.11.5"
"version": "==1.12.1"
},
"chardet": {
"hashes": [
@ -143,10 +146,10 @@
},
"jsonschema": {
"hashes": [
"sha256:000e68abd33c972a5248544925a0cae7d1125f9bf6c58280d37546b946769a08",
"sha256:6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02"
"sha256:acc8a90c31d11060516cfd0b414b9f8bcf4bc691b21f0f786ea57dd5255c79db",
"sha256:dd3f8ecb1b52d94d45eedb67cb86cac57b94ded562c5d98f63719e55ce58557b"
],
"version": "==2.6.0"
"version": "==3.0.0"
},
"lief": {
"hashes": [
@ -156,9 +159,9 @@
},
"neobolt": {
"hashes": [
"sha256:f70df7422568f3f92f065482237dabe3b96cd49a921c5e17feb1c9e68fdd0357"
"sha256:3324f2b319e84acb82e37a81ef75f3f7ce71c149387daf900589377db48bed2a"
],
"version": "==1.7.3"
"version": "==1.7.4"
},
"neotime": {
"hashes": [
@ -166,13 +169,48 @@
],
"version": "==1.7.4"
},
"pillow": {
"hashes": [
"sha256:051de330a06c99d6f84bcf582960487835bcae3fc99365185dc2d4f65a390c0e",
"sha256:0ae5289948c5e0a16574750021bd8be921c27d4e3527800dc9c2c1d2abc81bf7",
"sha256:0b1efce03619cdbf8bcc61cfae81fcda59249a469f31c6735ea59badd4a6f58a",
"sha256:163136e09bd1d6c6c6026b0a662976e86c58b932b964f255ff384ecc8c3cefa3",
"sha256:18e912a6ccddf28defa196bd2021fe33600cbe5da1aa2f2e2c6df15f720b73d1",
"sha256:24ec3dea52339a610d34401d2d53d0fb3c7fd08e34b20c95d2ad3973193591f1",
"sha256:267f8e4c0a1d7e36e97c6a604f5b03ef58e2b81c1becb4fccecddcb37e063cc7",
"sha256:3273a28734175feebbe4d0a4cde04d4ed20f620b9b506d26f44379d3c72304e1",
"sha256:4c678e23006798fc8b6f4cef2eaad267d53ff4c1779bd1af8725cc11b72a63f3",
"sha256:4d4bc2e6bb6861103ea4655d6b6f67af8e5336e7216e20fff3e18ffa95d7a055",
"sha256:505738076350a337c1740a31646e1de09a164c62c07db3b996abdc0f9d2e50cf",
"sha256:5233664eadfa342c639b9b9977190d64ad7aca4edc51a966394d7e08e7f38a9f",
"sha256:5d95cb9f6cced2628f3e4de7e795e98b2659dfcc7176ab4a01a8b48c2c2f488f",
"sha256:7eda4c737637af74bac4b23aa82ea6fbb19002552be85f0b89bc27e3a762d239",
"sha256:801ddaa69659b36abf4694fed5aa9f61d1ecf2daaa6c92541bbbbb775d97b9fe",
"sha256:825aa6d222ce2c2b90d34a0ea31914e141a85edefc07e17342f1d2fdf121c07c",
"sha256:9c215442ff8249d41ff58700e91ef61d74f47dfd431a50253e1a1ca9436b0697",
"sha256:a3d90022f2202bbb14da991f26ca7a30b7e4c62bf0f8bf9825603b22d7e87494",
"sha256:a631fd36a9823638fe700d9225f9698fb59d049c942d322d4c09544dc2115356",
"sha256:a6523a23a205be0fe664b6b8747a5c86d55da960d9586db039eec9f5c269c0e6",
"sha256:a756ecf9f4b9b3ed49a680a649af45a8767ad038de39e6c030919c2f443eb000",
"sha256:b117287a5bdc81f1bac891187275ec7e829e961b8032c9e5ff38b70fd036c78f",
"sha256:ba04f57d1715ca5ff74bb7f8a818bf929a204b3b3c2c2826d1e1cc3b1c13398c",
"sha256:cd878195166723f30865e05d87cbaf9421614501a4bd48792c5ed28f90fd36ca",
"sha256:cee815cc62d136e96cf76771b9d3eb58e0777ec18ea50de5cfcede8a7c429aa8",
"sha256:d1722b7aa4b40cf93ac3c80d3edd48bf93b9208241d166a14ad8e7a20ee1d4f3",
"sha256:d7c1c06246b05529f9984435fc4fa5a545ea26606e7f450bdbe00c153f5aeaad",
"sha256:e9c8066249c040efdda84793a2a669076f92a301ceabe69202446abb4c5c5ef9",
"sha256:f227d7e574d050ff3996049e086e1f18c7bd2d067ef24131e50a1d3fe5831fbc",
"sha256:fc9a12aad714af36cf3ad0275a96a733526571e52710319855628f476dcb144e"
],
"version": "==5.4.1"
},
"prompt-toolkit": {
"hashes": [
"sha256:88002cc618cacfda8760c4539e76c3b3f148ecdb7035a3d422c7ecdc90c2a3ba",
"sha256:c6655a12e9b08edb8cf5aeab4815fd1e1bdea4ad73d3bbf269cf2e0c4eb75d5e",
"sha256:df5835fb8f417aa55e5cafadbaeb0cf630a1e824aad16989f9f0493e679ec010"
"sha256:11adf3389a996a6d45cc277580d0d53e8a5afd281d0c9ec71b28e6f121463780",
"sha256:2519ad1d8038fd5fc8e770362237ad0364d16a7650fb5724af6997ed5515e3c1",
"sha256:977c6583ae813a37dc1c2e1b715892461fcbdaa57f6fc62f33a528c4886c8f55"
],
"version": "==2.0.8"
"version": "==2.0.9"
},
"py2neo": {
"hashes": [
@ -220,6 +258,12 @@
],
"version": "==19.0.0"
},
"pyrsistent": {
"hashes": [
"sha256:3ca82748918eb65e2d89f222b702277099aca77e34843c5eb9d52451173970e2"
],
"version": "==0.14.11"
},
"python-dateutil": {
"hashes": [
"sha256:7e6584c74aeed623791615e26efd690f29817a27c73085b78e4bad02493df2fb",
@ -241,6 +285,40 @@
],
"version": "==2018.9"
},
"reportlab": {
"hashes": [
"sha256:069f684cd0aaa518a27dc9124aed29cee8998e21ddf19604e53214ec8462bdd7",
"sha256:09b68ec01d86b4b120456b3f3202570ec96f57624e3a4fc36f3829323391daa4",
"sha256:0c32be9a406172c29ea20ff55a709ccac1e7fb09f15aba67cb7b455fd1d3dbe0",
"sha256:233196cf25e97cfe7c452524ea29d9a4909f1cb66599299233be1efaaaa7a7a3",
"sha256:2b5e4533f3e5b962835a5ce44467e66d1ecc822761d1b508077b5087a06be338",
"sha256:2e860bcdace5a558356802a92ae8658d7e5fdaa00ded82e83a3f2987c562cb66",
"sha256:3546029e63a9a9dc24ee38959eb417678c2425b96cd27b31e09e216dafc94666",
"sha256:4452b93f9c73b6b70311e7d69082d64da81b38e91bfb4766397630092e6da6fd",
"sha256:528c74a1c6527d1859c2c7a64a94a1cba485b00175162ea23699ae58a1e94939",
"sha256:6116e750f98018febc08dfee6df20446cf954adbcfa378d2c703d56c8864aff3",
"sha256:6b2b3580c647d75ef129172cb3da648cdb24566987b0b59c5ebb80ab770748d6",
"sha256:727b5f2bed08552d143fc99649b1863c773729f580a416844f9d9967bb0a1ae8",
"sha256:74c24a3ec0a3d4f8acb13a07192f45bdb54a1cc3c2286241677e7e8bcd5011fa",
"sha256:98ccd2f8b4f8636db05f3f14db0b471ad6bb4b66ae0dc9052c4822b3bd5d6a7d",
"sha256:a5905aa567946bc938b489a7249c7890c3fd3c9b7b5680dece5bc551c2ddbe0d",
"sha256:acbb7f676b8586b770719e9683eda951fdb38eb7970d46fcbf3cdda88d912a64",
"sha256:b5e30f865add48cf880f1c363eb505b97f2f7baaa88c155f87a335a76515a3e5",
"sha256:be2a7c33a2c28bbd3f453ffe4f0e5200b88c803a097f4cf52d69c6b53fad7a8f",
"sha256:c356bb600f59ac64955813d6497a08bfd5d0c451cb5829b61e3913d0ac084e26",
"sha256:c7ec4ae2393beab584921b1287a04e94fd98c28315e348362d89b85f4b464546",
"sha256:d476edc831bb3e9ebd04d1403abaf3ea57b3e4c2276c91a54fdfb6efbd3f9d97",
"sha256:db059e1a0691c872784062421ec51848539eb4f5210142682e61059a5ca7cc55",
"sha256:dd423a6753509ab14a0ac1b5be39d219c8f8d3781cce3deb4f45eda31969b5e8",
"sha256:ed9b7c0d71ce6fe2b31c6cde530ad8238632b876a5d599218739bda142a77f7c",
"sha256:f0a2465af4006f97b05e1f1546d67d3a3213d414894bf28be7f87f550a7f4a55",
"sha256:f20bfe26e57e8e1f575a9e0325be04dd3562db9f247ffdd73b5d4df6dec53bc2",
"sha256:f3463f2cb40a1b515ac0133ba859eca58f53b56760da9abb27ed684c565f853c",
"sha256:facc3c9748ab1525fb8401a1223bce4f24f0d6aa1a9db86c55db75777ccf40f9"
],
"index": "pypi",
"version": "==3.5.13"
},
"requests": {
"hashes": [
"sha256:502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e",
@ -257,10 +335,10 @@
},
"soupsieve": {
"hashes": [
"sha256:466910df7561796a60748826781ebe9a888f7a1668a636ae86783f44d10aae73",
"sha256:87db12ae79194f0ff9808d2b1641c4f031ae39ffa3cab6b907ea7c1e5e5ed445"
"sha256:afa56bf14907bb09403e5d15fbed6275caa4174d36b975226e3b67a3bb6e2c4b",
"sha256:eaed742b48b1f3e2d45ba6f79401b2ed5dc33b2123dfe216adb90d4bfa0ade26"
],
"version": "==1.7.3"
"version": "==1.8"
},
"urllib3": {
"extras": [
@ -347,11 +425,11 @@
},
"coveralls": {
"hashes": [
"sha256:ab638e88d38916a6cedbf80a9cd8992d5fa55c77ab755e262e00b36792b7cd6d",
"sha256:b2388747e2529fa4c669fb1e3e2756e4e07b6ee56c7d9fce05f35ccccc913aa0"
"sha256:6f213e461390973f4a97fb9e9d4ebd4956af296ff0a4d868e622108145835cb7",
"sha256:a7d0078c9e9b5692c03dcd3884647e837836c265c01e98094632feadef767d36"
],
"index": "pypi",
"version": "==1.5.1"
"version": "==1.6.0"
},
"docopt": {
"hashes": [

View File

@ -4,6 +4,8 @@ README
[![Documentation Status](https://readthedocs.org/projects/pymisp/badge/?version=latest)](http://pymisp.readthedocs.io/?badge=latest)
[![Build Status](https://travis-ci.org/MISP/PyMISP.svg?branch=master)](https://travis-ci.org/MISP/PyMISP)
[![Coverage Status](https://coveralls.io/repos/github/MISP/PyMISP/badge.svg?branch=master)](https://coveralls.io/github/MISP/PyMISP?branch=master)
[![Python 3.6](https://img.shields.io/badge/python-3.6+-blue.svg)](https://www.python.org/downloads/release/python-360/)
[![PyPi version](https://img.shields.io/pypi/v/pymisp.svg)](https://pypi.python.org/pypi/pymisp/)
# PyMISP - Python Library to access MISP

View File

@ -42,6 +42,7 @@ try:
from .tools import openioc # noqa
from .tools import load_warninglists # noqa
from .tools import ext_lookups # noqa
from .tools import reportlab_generator # noqa
if sys.version_info >= (3, 6):
from .aping import ExpandedPyMISP # noqa
logger.debug('pymisp loaded properly')

View File

@ -1781,7 +1781,7 @@ class PyMISP(object):
def get_roles_list(self):
"""Get the list of existing roles"""
url = urljoin(self.root_url, '/roles')
url = urljoin(self.root_url, 'roles')
response = self._prepare_request('GET', url)
return self._check_response(response)
@ -1789,13 +1789,13 @@ class PyMISP(object):
def get_tags_list(self):
"""Get the list of existing tags."""
url = urljoin(self.root_url, '/tags')
url = urljoin(self.root_url, 'tags')
response = self._prepare_request('GET', url)
return self._check_response(response)['Tag']
def get_tag(self, tag_id):
"""Get a tag by id."""
url = urljoin(self.root_url, '/tags/view/{}'.format(tag_id))
url = urljoin(self.root_url, 'tags/view/{}'.format(tag_id))
response = self._prepare_request('GET', url)
return self._check_response(response)
@ -1829,7 +1829,7 @@ class PyMISP(object):
old_tag = self.get_tag(tag_id)
new_tag = self._set_tag_parameters(name, colour, exportable, hide_tag, org_id, count, user_id,
numerical_value, attribute_count, old_tag)
url = urljoin(self.root_url, '/tags/edit/{}'.format(tag_id))
url = urljoin(self.root_url, 'tags/edit/{}'.format(tag_id))
response = self._prepare_request('POST', url, json.dumps(new_tag))
return self._check_response(response)
@ -1837,7 +1837,7 @@ class PyMISP(object):
"""Edit the tag using a json file."""
with open(json_file, 'rb') as f:
jdata = json.load(f)
url = urljoin(self.root_url, '/tags/edit/{}'.format(tag_id))
url = urljoin(self.root_url, 'tags/edit/{}'.format(tag_id))
response = self._prepare_request('POST', url, json.dumps(jdata))
return self._check_response(response)
@ -1855,38 +1855,38 @@ class PyMISP(object):
def get_taxonomies_list(self):
"""Get all the taxonomies."""
url = urljoin(self.root_url, '/taxonomies')
url = urljoin(self.root_url, 'taxonomies')
response = self._prepare_request('GET', url)
return self._check_response(response)
def get_taxonomy(self, taxonomy_id):
"""Get a taxonomy by id."""
url = urljoin(self.root_url, '/taxonomies/view/{}'.format(taxonomy_id))
url = urljoin(self.root_url, 'taxonomies/view/{}'.format(taxonomy_id))
response = self._prepare_request('GET', url)
return self._check_response(response)
def update_taxonomies(self):
"""Update all the taxonomies."""
url = urljoin(self.root_url, '/taxonomies/update')
url = urljoin(self.root_url, 'taxonomies/update')
response = self._prepare_request('POST', url)
return self._check_response(response)
def enable_taxonomy(self, taxonomy_id):
"""Enable a taxonomy by id."""
url = urljoin(self.root_url, '/taxonomies/enable/{}'.format(taxonomy_id))
url = urljoin(self.root_url, 'taxonomies/enable/{}'.format(taxonomy_id))
response = self._prepare_request('POST', url)
return self._check_response(response)
def disable_taxonomy(self, taxonomy_id):
"""Disable a taxonomy by id."""
self.disable_taxonomy_tags(taxonomy_id)
url = urljoin(self.root_url, '/taxonomies/disable/{}'.format(taxonomy_id))
url = urljoin(self.root_url, 'taxonomies/disable/{}'.format(taxonomy_id))
response = self._prepare_request('POST', url)
return self._check_response(response)
def get_taxonomy_tags_list(self, taxonomy_id):
"""Get all the tags of a taxonomy by id."""
url = urljoin(self.root_url, '/taxonomies/view/{}'.format(taxonomy_id))
url = urljoin(self.root_url, 'taxonomies/view/{}'.format(taxonomy_id))
response = self._prepare_request('GET', url)
return self._check_response(response)["entries"]
@ -1894,13 +1894,13 @@ class PyMISP(object):
"""Enable all the tags of a taxonomy by id."""
enabled = self.get_taxonomy(taxonomy_id)['Taxonomy']['enabled']
if enabled:
url = urljoin(self.root_url, '/taxonomies/addTag/{}'.format(taxonomy_id))
url = urljoin(self.root_url, 'taxonomies/addTag/{}'.format(taxonomy_id))
response = self._prepare_request('POST', url)
return self._check_response(response)
def disable_taxonomy_tags(self, taxonomy_id):
"""Disable all the tags of a taxonomy by id."""
url = urljoin(self.root_url, '/taxonomies/disableTag/{}'.format(taxonomy_id))
url = urljoin(self.root_url, 'taxonomies/disableTag/{}'.format(taxonomy_id))
response = self._prepare_request('POST', url)
return self._check_response(response)
@ -1908,19 +1908,19 @@ class PyMISP(object):
def get_warninglists(self):
"""Get all the warninglists."""
url = urljoin(self.root_url, '/warninglists')
url = urljoin(self.root_url, 'warninglists')
response = self._prepare_request('GET', url)
return self._check_response(response)
def get_warninglist(self, warninglist_id):
"""Get a warninglist by id."""
url = urljoin(self.root_url, '/warninglists/view/{}'.format(warninglist_id))
url = urljoin(self.root_url, 'warninglists/view/{}'.format(warninglist_id))
response = self._prepare_request('GET', url)
return self._check_response(response)
def update_warninglists(self):
"""Update all the warninglists."""
url = urljoin(self.root_url, '/warninglists/update')
url = urljoin(self.root_url, 'warninglists/update')
response = self._prepare_request('POST', url)
return self._check_response(response)
@ -1942,7 +1942,7 @@ class PyMISP(object):
query['name'] = warninglist_name
if force_enable is not None:
query['enabled'] = force_enable
url = urljoin(self.root_url, '/warninglists/toggleEnable')
url = urljoin(self.root_url, 'warninglists/toggleEnable')
response = self._prepare_request('POST', url, json.dumps(query))
return self._check_response(response)
@ -1956,7 +1956,7 @@ class PyMISP(object):
def check_warninglist(self, value):
"""Check if IOC values are in warninglist"""
url = urljoin(self.root_url, '/warninglists/checkValue')
url = urljoin(self.root_url, 'warninglists/checkValue')
response = self._prepare_request('POST', url, json.dumps(value))
return self._check_response(response)
@ -1964,31 +1964,31 @@ class PyMISP(object):
def get_noticelists(self):
"""Get all the noticelists."""
url = urljoin(self.root_url, '/noticelists')
url = urljoin(self.root_url, 'noticelists')
response = self._prepare_request('GET', url)
return self._check_response(response)
def get_noticelist(self, noticelist_id):
"""Get a noticelist by id."""
url = urljoin(self.root_url, '/noticelists/view/{}'.format(noticelist_id))
url = urljoin(self.root_url, 'noticelists/view/{}'.format(noticelist_id))
response = self._prepare_request('GET', url)
return self._check_response(response)
def update_noticelists(self):
"""Update all the noticelists."""
url = urljoin(self.root_url, '/noticelists/update')
url = urljoin(self.root_url, 'noticelists/update')
response = self._prepare_request('POST', url)
return self._check_response(response)
def enable_noticelist(self, noticelist_id):
"""Enable a noticelist by id."""
url = urljoin(self.root_url, '/noticelists/enableNoticelist/{}/true'.format(noticelist_id))
url = urljoin(self.root_url, 'noticelists/enableNoticelist/{}/true'.format(noticelist_id))
response = self._prepare_request('POST', url)
return self._check_response(response)
def disable_noticelist(self, noticelist_id):
"""Disable a noticelist by id."""
url = urljoin(self.root_url, '/noticelists/enableNoticelist/{}'.format(noticelist_id))
url = urljoin(self.root_url, 'noticelists/enableNoticelist/{}'.format(noticelist_id))
response = self._prepare_request('POST', url)
return self._check_response(response)
@ -1996,19 +1996,19 @@ class PyMISP(object):
def get_galaxies(self):
"""Get all the galaxies."""
url = urljoin(self.root_url, '/galaxies')
url = urljoin(self.root_url, 'galaxies')
response = self._prepare_request('GET', url)
return self._check_response(response)
def get_galaxy(self, galaxy_id):
"""Get a galaxy by id."""
url = urljoin(self.root_url, '/galaxies/view/{}'.format(galaxy_id))
url = urljoin(self.root_url, 'galaxies/view/{}'.format(galaxy_id))
response = self._prepare_request('GET', url)
return self._check_response(response)
def update_galaxies(self):
"""Update all the galaxies."""
url = urljoin(self.root_url, '/galaxies/update')
url = urljoin(self.root_url, 'galaxies/update')
response = self._prepare_request('POST', url)
return self._check_response(response)
@ -2048,7 +2048,7 @@ class PyMISP(object):
if tags:
if isinstance(tags, list):
tags = "&&".join(tags)
url = urljoin(self.root_url, "/events/stix/download/{}/{}/{}/{}/{}".format(
url = urljoin(self.root_url, "events/stix/download/{}/{}/{}/{}/{}".format(
event_id, with_attachments, tags, from_date, to_date))
logger.debug("Getting STIX event from %s", url)
response = self._prepare_request('GET', url)
@ -2066,7 +2066,7 @@ class PyMISP(object):
:param context: Add event level context (event_info,event_member_org,event_source_org,event_distribution,event_threat_level_id,event_analysis,event_date,event_tag)
:param ignore: Returns the attributes even if the event isn't published, or the attribute doesn't have the to_ids flag set
"""
url = urljoin(self.root_url, '/events/csv/download')
url = urljoin(self.root_url, 'events/csv/download')
to_post = {}
if eventid:
to_post['eventid'] = eventid
@ -2219,7 +2219,7 @@ class PyMISP(object):
:extend: Allow the organisation to extend the group
'''
to_jsonify = {'sg_id': sharing_group, 'org_id': organisation, 'extend': extend}
url = urljoin(self.root_url, '/sharingGroups/addOrg')
url = urljoin(self.root_url, 'sharingGroups/addOrg')
response = self._prepare_request('POST', url, json.dumps(to_jsonify))
return self._check_response(response)
@ -2229,7 +2229,7 @@ class PyMISP(object):
:organisation: Organisation's local instance ID, or Organisation's global UUID, or Organisation's name as known to the curent instance
'''
to_jsonify = {'sg_id': sharing_group, 'org_id': organisation}
url = urljoin(self.root_url, '/sharingGroups/removeOrg')
url = urljoin(self.root_url, 'sharingGroups/removeOrg')
response = self._prepare_request('POST', url, json.dumps(to_jsonify))
return self._check_response(response)
@ -2240,7 +2240,7 @@ class PyMISP(object):
:all_orgs: Add all the organisations of the server to the group
'''
to_jsonify = {'sg_id': sharing_group, 'server_id': server, 'all_orgs': all_orgs}
url = urljoin(self.root_url, '/sharingGroups/addServer')
url = urljoin(self.root_url, 'sharingGroups/addServer')
response = self._prepare_request('POST', url, json.dumps(to_jsonify))
return self._check_response(response)
@ -2250,7 +2250,7 @@ class PyMISP(object):
:server: Server's local instance ID, or URL of the Server, or Server's name as known to the curent instance
'''
to_jsonify = {'sg_id': sharing_group, 'server_id': server}
url = urljoin(self.root_url, '/sharingGroups/removeServer')
url = urljoin(self.root_url, 'sharingGroups/removeServer')
response = self._prepare_request('POST', url, json.dumps(to_jsonify))
return self._check_response(response)
@ -2326,7 +2326,7 @@ class PyMISP(object):
return self._check_response(response)
def update_object_templates(self):
url = urljoin(self.root_url, '/objectTemplates/update')
url = urljoin(self.root_url, 'objectTemplates/update')
response = self._prepare_request('POST', url)
return self._check_response(response)

View File

@ -459,7 +459,7 @@ class MISPEvent(AbstractMISP):
if OLD_PY3 and isinstance(json_event, bytes):
json_event = json_event.decode()
json_event = json.loads(json_event)
if json_event.get('response'):
if json_event.get('response'): # hasattr(json_event, 'response') and ... is a Bugfix ?
event = json_event.get('response')[0]
else:
event = json_event

File diff suppressed because it is too large Load Diff

View File

@ -41,7 +41,7 @@ setup(
],
install_requires=['six', 'requests', 'python-dateutil', 'jsonschema',
'python-dateutil', 'enum34;python_version<"3.4"',
'functools32;python_version<"3.0"'],
'functools32;python_version<"3.0"', 'reportlab'],
extras_require={'fileobjects': ['lief>=0.8', 'python-magic'],
'neo': ['py2neo'],
'openioc': ['beautifulsoup4'],

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,305 @@
{
"Event": {
"id": "60",
"orgc_id": "5",
"org_id": "1",
"date": "2018-08-01",
"threat_level_id": "3",
"info": "Ursnif, MALWAREMESSIAGH",
"published": true,
"uuid": "5b646415-7b48-40d5-86b4-c0070acd0835",
"attribute_count": "5",
"analysis": "2",
"timestamp": "1533306089",
"distribution": "3",
"proposal_email_lock": false,
"locked": false,
"publish_timestamp": "1550506283",
"sharing_group_id": "0",
"disable_correlation": false,
"extends_uuid": "",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "5c6983c8-3af8-4304-869c-4800d6c1883c"
},
"Orgc": {
"id": "5",
"name": "Synovus Financial",
"uuid": "5a68c02d-959c-4c8a-a571-0dcac0a8060a"
},
"Attribute": [
{
"id": "8885",
"type": "domain",
"category": "Network activity",
"to_ids": true,
"uuid": "5b6464ca-e73c-4707-9b8a-d0350acd0835",
"event_id": "60",
"distribution": "5",
"timestamp": "1533306058",
"comment": "Ursnif",
"sharing_group_id": "0",
"deleted": false,
"disable_correlation": false,
"object_id": "0",
"object_relation": null,
"value": "ooiasjdnqjwbeasdasd.com",
"Galaxy": [],
"ShadowAttribute": [],
"Sighting": [
{
"id": "8",
"attribute_id": "8885",
"event_id": "60",
"org_id": "1",
"date_sighting": "1551253950",
"uuid": "5c7641bf-a4e8-4d5d-a653-03240a00020f",
"source": "",
"type": "0",
"Organisation": {
"id": "1",
"uuid": "5c6983c8-3af8-4304-869c-4800d6c1883c",
"name": "ORGNAME"
},
"attribute_uuid": "5b6464ca-e73c-4707-9b8a-d0350acd0835"
}
]
},
{
"id": "8886",
"type": "domain",
"category": "Network activity",
"to_ids": true,
"uuid": "5b6464ca-45f8-43d0-8b78-d0350acd0835",
"event_id": "60",
"distribution": "5",
"timestamp": "1533306058",
"comment": "Ursnif",
"sharing_group_id": "0",
"deleted": false,
"disable_correlation": false,
"object_id": "0",
"object_relation": null,
"value": "eqowiesajenqweasd.com",
"Galaxy": [],
"ShadowAttribute": [],
"Sighting": [
{
"id": "9",
"attribute_id": "8886",
"event_id": "60",
"org_id": "1",
"date_sighting": "1551253959",
"uuid": "5c7641c7-f020-4643-92b4-03240a00020f",
"source": "",
"type": "1",
"Organisation": {
"id": "1",
"uuid": "5c6983c8-3af8-4304-869c-4800d6c1883c",
"name": "ORGNAME"
},
"attribute_uuid": "5b6464ca-45f8-43d0-8b78-d0350acd0835"
}
]
},
{
"id": "8887",
"type": "domain",
"category": "Network activity",
"to_ids": true,
"uuid": "5b6464ca-8c84-4c2d-95d9-d0350acd0835",
"event_id": "60",
"distribution": "5",
"timestamp": "1533306058",
"comment": "Ursnif",
"sharing_group_id": "0",
"deleted": false,
"disable_correlation": false,
"object_id": "0",
"object_relation": null,
"value": "dquohwdihaewqdcas.com",
"Galaxy": [],
"ShadowAttribute": [],
"Sighting": [
{
"id": "10",
"attribute_id": "8887",
"event_id": "60",
"org_id": "1",
"date_sighting": "1551253962",
"uuid": "5c7641cb-ccc0-44ee-ab75-03240a00020f",
"source": "",
"type": "1",
"Organisation": {
"id": "1",
"uuid": "5c6983c8-3af8-4304-869c-4800d6c1883c",
"name": "ORGNAME"
},
"attribute_uuid": "5b6464ca-8c84-4c2d-95d9-d0350acd0835"
}
]
},
{
"id": "8888",
"type": "domain",
"category": "Network activity",
"to_ids": true,
"uuid": "5b6464ca-e0a0-40e0-8e21-d0350acd0835",
"event_id": "60",
"distribution": "5",
"timestamp": "1533306058",
"comment": "Ursnif",
"sharing_group_id": "0",
"deleted": false,
"disable_correlation": false,
"object_id": "0",
"object_relation": null,
"value": "diqjwhebseqhbasdh.com",
"Galaxy": [],
"ShadowAttribute": [],
"Sighting": [
{
"id": "11",
"attribute_id": "8888",
"event_id": "60",
"org_id": "1",
"date_sighting": "1551253968",
"uuid": "5c7641d5-58bc-4d20-9a84-05f10a00020f",
"source": "honeyp",
"type": "2",
"Organisation": {
"id": "1",
"uuid": "5c6983c8-3af8-4304-869c-4800d6c1883c",
"name": "ORGNAME"
},
"attribute_uuid": "5b6464ca-e0a0-40e0-8e21-d0350acd0835"
},
{
"id": "12",
"attribute_id": "8888",
"event_id": "60",
"org_id": "1",
"date_sighting": "1551253976",
"uuid": "5c7641db-a9a0-49b0-b536-05f10a00020f",
"source": "dede",
"type": "1",
"Organisation": {
"id": "1",
"uuid": "5c6983c8-3af8-4304-869c-4800d6c1883c",
"name": "ORGNAME"
},
"attribute_uuid": "5b6464ca-e0a0-40e0-8e21-d0350acd0835"
}
]
},
{
"id": "8889",
"type": "url",
"category": "Payload delivery",
"to_ids": true,
"uuid": "5b6464e9-e73c-484d-a0b3-c0070acd0835",
"event_id": "60",
"distribution": "5",
"timestamp": "1533306089",
"comment": "Ursnif dropped file",
"sharing_group_id": "0",
"deleted": false,
"disable_correlation": false,
"object_id": "0",
"object_relation": null,
"value": "http:\/\/sistemait.it\/softaculous\/backup\/client.rar",
"Galaxy": [],
"ShadowAttribute": [],
"Sighting": [
{
"id": "7",
"attribute_id": "8889",
"event_id": "60",
"org_id": "1",
"date_sighting": "1551253943",
"uuid": "5c7641b7-b618-4e41-a9c9-03240a00020f",
"source": "",
"type": "0",
"Organisation": {
"id": "1",
"uuid": "5c6983c8-3af8-4304-869c-4800d6c1883c",
"name": "ORGNAME"
},
"attribute_uuid": "5b6464e9-e73c-484d-a0b3-c0070acd0835"
}
]
}
],
"ShadowAttribute": [],
"RelatedEvent": [],
"Galaxy": [
{
"id": "4",
"uuid": "59f20cce-5420-4084-afd5-0884c0a83832",
"name": "Banker",
"type": "banker",
"description": "Banking malware galaxy.",
"version": "3",
"icon": "usd",
"namespace": "misp",
"GalaxyCluster": [
{
"id": "289",
"collection_uuid": "b9448d2a-a23c-4bf2-92a1-d860716ba2f3",
"type": "banker",
"value": "Gozi",
"tag_name": "misp-galaxy:banker=\"Gozi\"",
"description": "Banking trojan delivered primarily via email (typically malspam) and exploit kits. Gozi 1.0 source leaked in 2010",
"galaxy_id": "4",
"source": "Open Sources",
"authors": [
"Unknown",
"raw-data"
],
"version": "16",
"uuid": "",
"tag_id": "86",
"meta": {
"date": [
"First seen ~ 2007"
],
"refs": [
"https:\/\/www.secureworks.com\/research\/gozi",
"https:\/\/www.gdatasoftware.com\/blog\/2016\/11\/29325-analysis-ursnif-spying-on-your-data-since-2007",
"https:\/\/lokalhost.pl\/gozi_tree.txt"
],
"synonyms": [
"Ursnif",
"CRM",
"Snifula",
"Papras"
]
}
}
]
}
],
"Object": [],
"Tag": [
{
"id": "85",
"name": "PasteBin: MALWAREMESSIAGH",
"colour": "#ab34e3",
"exportable": true,
"user_id": "0",
"hide_tag": false,
"numerical_value": null
},
{
"id": "86",
"name": "misp-galaxy:banker=\"Gozi\"",
"colour": "#0088cc",
"exportable": true,
"user_id": "0",
"hide_tag": false,
"numerical_value": null
}
]
}
}

View File

@ -0,0 +1,221 @@
{
"Event": {
"id": "1",
"orgc_id": "1",
"org_id": "1",
"date": "2019-02-18",
"threat_level_id": "2",
"info": "This is the description",
"published": false,
"uuid": "5c6ab833-676c-42f3-95d2-034f0a00020f",
"attribute_count": "2",
"analysis": "1",
"timestamp": "1551253649",
"distribution": "1",
"proposal_email_lock": false,
"locked": false,
"publish_timestamp": "0",
"sharing_group_id": "0",
"disable_correlation": false,
"extends_uuid": "",
"event_creator_email": "admin@admin.test",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "5c6983c8-3af8-4304-869c-4800d6c1883c"
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "5c6983c8-3af8-4304-869c-4800d6c1883c"
},
"Attribute": [
{
"id": "1",
"type": "comment",
"category": "Antivirus detection",
"to_ids": false,
"uuid": "5c6ab897-0f68-44ca-8d62-0c150a00020f",
"event_id": "1",
"distribution": "0",
"timestamp": "1550497961",
"comment": "Contextual commentary",
"sharing_group_id": "0",
"deleted": false,
"disable_correlation": false,
"object_id": "0",
"object_relation": null,
"value": "Value to test",
"Galaxy": [
{
"id": "15",
"uuid": "90ccdf38-1649-11e8-b8bf-e7326d553087",
"name": "Botnet",
"type": "botnet",
"description": "Botnet galaxy.",
"version": "2",
"icon": "sitemap",
"namespace": "misp",
"GalaxyCluster": [
{
"id": "2511",
"collection_uuid": "0d58f329-1356-468c-88ab-e21fbb64c02b",
"type": "botnet",
"value": "Asprox",
"tag_name": "misp-galaxy:botnet=\"Asprox\"",
"description": "The Asprox botnet (discovered around 2008), also known by its aliases Badsrc and Aseljo, is a botnet mostly involved in phishing scams and performing SQL injections into websites in order to spread malware.",
"galaxy_id": "15",
"source": "MISP Project",
"authors": [
"Various"
],
"version": "18",
"uuid": "",
"tag_id": "1",
"meta": {
"date": [
"2008"
],
"refs": [
"https:\/\/en.wikipedia.org\/wiki\/Asprox_botnet"
],
"synonyms": [
"Badsrc",
"Aseljo",
"Danmec",
"Hydraflux"
]
}
}
]
}
],
"ShadowAttribute": [],
"Tag": [
{
"id": "1",
"name": "misp-galaxy:botnet=\"Asprox\"",
"colour": "#0088cc",
"exportable": true,
"user_id": "0",
"hide_tag": false,
"numerical_value": null
}
],
"Sighting": [
{
"id": "5",
"attribute_id": "1",
"event_id": "1",
"org_id": "1",
"date_sighting": "1551253653",
"uuid": "5c764095-129c-4e81-956d-0e1a0a00020f",
"source": "",
"type": "1",
"Organisation": {
"id": "1",
"uuid": "5c6983c8-3af8-4304-869c-4800d6c1883c",
"name": "ORGNAME"
},
"attribute_uuid": "5c6ab897-0f68-44ca-8d62-0c150a00020f"
}
]
},
{
"id": "242460",
"type": "target-external",
"category": "Targeting data",
"to_ids": true,
"uuid": "5c764091-273c-4821-92ad-0e1a0a00020f",
"event_id": "1",
"distribution": "2",
"timestamp": "1551253649",
"comment": "This is a contextual comment",
"sharing_group_id": "0",
"deleted": false,
"disable_correlation": false,
"object_id": "0",
"object_relation": null,
"value": "testvalue",
"Galaxy": [],
"ShadowAttribute": [],
"Sighting": [
{
"id": "6",
"attribute_id": "242460",
"event_id": "1",
"org_id": "1",
"date_sighting": "1551253653",
"uuid": "5c764095-26ec-4de1-99f2-0e1a0a00020f",
"source": "",
"type": "0",
"Organisation": {
"id": "1",
"uuid": "5c6983c8-3af8-4304-869c-4800d6c1883c",
"name": "ORGNAME"
},
"attribute_uuid": "5c764091-273c-4821-92ad-0e1a0a00020f"
}
]
}
],
"ShadowAttribute": [],
"RelatedEvent": [],
"Galaxy": [
{
"id": "15",
"uuid": "90ccdf38-1649-11e8-b8bf-e7326d553087",
"name": "Botnet",
"type": "botnet",
"description": "Botnet galaxy.",
"version": "2",
"icon": "sitemap",
"namespace": "misp",
"GalaxyCluster": [
{
"id": "2511",
"collection_uuid": "0d58f329-1356-468c-88ab-e21fbb64c02b",
"type": "botnet",
"value": "Asprox",
"tag_name": "misp-galaxy:botnet=\"Asprox\"",
"description": "The Asprox botnet (discovered around 2008), also known by its aliases Badsrc and Aseljo, is a botnet mostly involved in phishing scams and performing SQL injections into websites in order to spread malware.",
"galaxy_id": "15",
"source": "MISP Project",
"authors": [
"Various"
],
"version": "18",
"uuid": "",
"tag_id": "1",
"meta": {
"date": [
"2008"
],
"refs": [
"https:\/\/en.wikipedia.org\/wiki\/Asprox_botnet"
],
"synonyms": [
"Badsrc",
"Aseljo",
"Danmec",
"Hydraflux"
]
}
}
]
}
],
"Object": [],
"Tag": [
{
"id": "1",
"name": "misp-galaxy:botnet=\"Asprox\"",
"colour": "#0088cc",
"exportable": true,
"user_id": "0",
"hide_tag": false,
"numerical_value": null
}
]
}
}

View File

@ -0,0 +1,804 @@
{
"Event": {
"info": "OSINT - New Malware with Ties to SunOrcal Discovered",
"publish_timestamp": "1518455494",
"timestamp": "1510922435",
"analysis": "2",
"Attribute": [
{
"comment": "",
"category": "External analysis",
"uuid": "5a0a9ade-3b60-4fbb-87d2-4628950d210f",
"timestamp": "1510922426",
"to_ids": false,
"value": "https://researchcenter.paloaltonetworks.com/2017/11/unit42-new-malware-with-ties-to-sunorcal-discovered/",
"Tag": [
{
"colour": "#00223b",
"exportable": true,
"name": "osint:source-type=\"blog-post\""
}
],
"object_relation": null,
"type": "link"
},
{
"comment": "",
"category": "External analysis",
"uuid": "5a0a9af4-0d1c-4ae0-8903-45c4950d210f",
"timestamp": "1510922426",
"to_ids": false,
"value": "Unit 42 has discovered a new malware family we\u2019ve named \u201cReaver\u201d with ties to attackers who use SunOrcal malware. SunOrcal activity has been documented to at least 2013, and based on metadata surrounding some of the C2s, may have been active as early as 2010. The new family appears to have been in the wild since late 2016 and to date we have only identified 10 unique samples, indicating it may be sparingly used. Reaver is also somewhat unique in the fact that its final payload is in the form of a Control panel item, or CPL file. To date, only 0.006% of all malware seen by Palo Alto Networks employs this technique, indicating that it is in fact fairly rare.",
"Tag": [
{
"colour": "#00223b",
"exportable": true,
"name": "osint:source-type=\"blog-post\""
}
],
"object_relation": null,
"type": "comment"
},
{
"comment": "",
"category": "Persistence mechanism",
"uuid": "5a0a9d47-1c7c-4353-8523-440b950d210f",
"timestamp": "1510922426",
"to_ids": false,
"value": "%COMMONPROGRAMFILES%\\services\\",
"object_relation": null,
"type": "regkey"
},
{
"comment": "",
"category": "Persistence mechanism",
"uuid": "5a0a9d47-808c-4833-b739-43bf950d210f",
"timestamp": "1510922426",
"to_ids": false,
"value": "%APPDATA%\\microsoft\\mmc\\",
"object_relation": null,
"type": "regkey"
},
{
"comment": "",
"category": "Persistence mechanism",
"uuid": "5a0a9d47-91e0-4fea-8a8d-48ce950d210f",
"timestamp": "1510922426",
"to_ids": false,
"value": "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\\Common Startup",
"object_relation": null,
"type": "regkey"
},
{
"comment": "",
"category": "Persistence mechanism",
"uuid": "5a0a9d47-0d2c-4f98-9913-4ea3950d210f",
"timestamp": "1510922426",
"to_ids": false,
"value": "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\\Startup",
"object_relation": null,
"type": "regkey"
},
{
"comment": "",
"category": "Payload delivery",
"uuid": "5a0a9d47-a0a4-4f6b-bd53-42b4950d210f",
"timestamp": "1510922426",
"to_ids": true,
"value": "\u2018%TEMP%\\~WUpdate.lnk",
"object_relation": null,
"type": "filename"
},
{
"comment": "",
"category": "Payload delivery",
"uuid": "5a0a9d96-48d4-4538-b643-4c26950d210f",
"timestamp": "1510922426",
"to_ids": true,
"value": "%TEMP%\\~Update.lnk",
"object_relation": null,
"type": "filename"
},
{
"comment": "",
"category": "Persistence mechanism",
"uuid": "5a0a9d96-d87c-4b6f-b3a6-4eea950d210f",
"timestamp": "1510922426",
"to_ids": false,
"value": "%APPDATA%\\microsoft\\credentials\\",
"object_relation": null,
"type": "regkey"
},
{
"comment": "",
"category": "Payload delivery",
"uuid": "5a0a9d96-83dc-4a40-90fe-46d9950d210f",
"timestamp": "1510922426",
"to_ids": true,
"value": "%TEMP%\\winhelp.dat",
"object_relation": null,
"type": "filename"
},
{
"comment": "",
"category": "Payload delivery",
"uuid": "5a0a9d96-cc18-491c-b16b-4ffe950d210f",
"timestamp": "1510922426",
"to_ids": true,
"value": "[path_previously_identified]\\winhelp.cpl",
"object_relation": null,
"type": "filename"
},
{
"comment": "C2",
"category": "Network activity",
"uuid": "5a0a9e4c-1c14-49c0-bee2-4f7d950d210f",
"timestamp": "1510922426",
"to_ids": true,
"value": "www.fyoutside.com",
"object_relation": null,
"type": "hostname"
},
{
"comment": "C2",
"category": "Network activity",
"uuid": "5a0a9e4c-ab08-47f8-991f-471c950d210f",
"timestamp": "1510922426",
"to_ids": true,
"value": "www.tashdqdxp.com",
"object_relation": null,
"type": "hostname"
},
{
"comment": "C2",
"category": "Network activity",
"uuid": "5a0a9e4c-8ba4-43d7-a8e3-4b52950d210f",
"timestamp": "1510922426",
"to_ids": true,
"value": "www.weryhstui.com",
"object_relation": null,
"type": "hostname"
},
{
"comment": "",
"category": "Network activity",
"uuid": "5a0a9e4c-bcf8-42ac-86dc-48b0950d210f",
"timestamp": "1510922426",
"to_ids": true,
"value": "98.126.156.210",
"object_relation": null,
"type": "ip-dst"
},
{
"comment": "C2",
"category": "Network activity",
"uuid": "5a0a9e4c-9440-40fa-ac80-4320950d210f",
"timestamp": "1510922426",
"to_ids": true,
"value": "www.olinaodi.com",
"object_relation": null,
"type": "hostname"
},
{
"comment": "Reaver.v1",
"category": "Payload delivery",
"uuid": "5a0a9eae-a23c-4b65-b46b-4683950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "d560f44188fb56d3abb11d9508e1167329470de19b811163eb1167534722e666",
"object_relation": null,
"type": "sha256"
},
{
"comment": "Reaver.v2",
"category": "Payload delivery",
"uuid": "5a0a9eae-5e1c-411a-b1ba-49ac950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "98eb5465c6330b9b49df2e7c9ad0b1164aa5b35423d9e80495a178eb510cdc1c",
"object_relation": null,
"type": "sha256"
},
{
"comment": "Reaver.v2",
"category": "Payload delivery",
"uuid": "5a0a9eae-ccf0-4390-bcde-43bd950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "05ddbd0506ec95fb460b3994e5b21cdb0418ba4aa406374ca1b91249349b7640",
"object_relation": null,
"type": "sha256"
},
{
"comment": "Reaver.v3",
"category": "Payload delivery",
"uuid": "5a0a9eae-3ef4-42d5-baca-44c4950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "18ac3b14300ecfeed4b64a844c16dccb06b0e3513d0954d6c6182f2ea14e4c92",
"object_relation": null,
"type": "sha256"
},
{
"comment": "Reaver.v3",
"category": "Payload delivery",
"uuid": "5a0a9eae-8cc8-4bbd-adec-4e38950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "c0f8bb77284b96e07cab1c3fab8800b1bbd030720c74628c4ee5666694ef903d",
"object_relation": null,
"type": "sha256"
},
{
"comment": "Reaver.v3",
"category": "Payload delivery",
"uuid": "5a0a9eae-486c-4820-b2b3-4bf0950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "9213f70bce491991c4cbbbd7dc3e67d3a3d535b965d7064973b35c50f265e59b",
"object_relation": null,
"type": "sha256"
},
{
"comment": "Reaver.v3",
"category": "Payload delivery",
"uuid": "5a0a9eae-bef4-4696-a1ab-4c83950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "26c234c73e2c3448589c7d4a0cf17f615ad3666541a4e611e2d8b77637205bcf",
"object_relation": null,
"type": "sha256"
},
{
"comment": "Reaver.v3",
"category": "Payload delivery",
"uuid": "5a0a9eae-7560-4794-90d1-4f4d950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "ae9f158e4886cfdbfb4f1b3b25707d05f6fd873d0be9d8e7334a2c28741228ee",
"object_relation": null,
"type": "sha256"
},
{
"comment": "Reaver.v3",
"category": "Payload delivery",
"uuid": "5a0a9eae-d3c4-4809-aea5-435c950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "1fcda755e8fa23d27329e4bc0443a82e1c1e9a6c1691639db256a187365e4db1",
"object_relation": null,
"type": "sha256"
},
{
"comment": "Reaver.v3",
"category": "Payload delivery",
"uuid": "5a0a9eae-a5dc-43ab-9158-451c950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "c906250e0a4c457663e37119ebe1efa1e4b97eef1d975f383ac3243f9f09908c",
"object_relation": null,
"type": "sha256"
},
{
"comment": "Reaver.v3",
"category": "Payload delivery",
"uuid": "5a0a9eae-1d70-4f14-b316-4ce4950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "1813f10bcf74beb582c824c64fff63cb150d178bef93af81d875ca84214307a1",
"object_relation": null,
"type": "sha256"
},
{
"comment": "SunOrcal",
"category": "Payload delivery",
"uuid": "5a0a9eae-7674-4a3f-a595-4006950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "799139b5278dc2ac24279cc6c3db44f4ef0ea78ee7b721b0ace38fd8018c51ac",
"object_relation": null,
"type": "sha256"
},
{
"comment": "SunOrcal",
"category": "Payload delivery",
"uuid": "5a0a9eae-4a58-4535-9998-49b7950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "81d887fefdbb0219647991c2b7bddf45c2fede4dc6fc18408f1706e0279615b2",
"object_relation": null,
"type": "sha256"
},
{
"comment": "SunOrcal",
"category": "Payload delivery",
"uuid": "5a0a9eae-6ae4-41a1-8402-4328950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "58312fb742ce881e040e1b5b8555f00a402b8dd4fc886acaae2f862040b3bfc5",
"object_relation": null,
"type": "sha256"
},
{
"comment": "SunOrcal",
"category": "Payload delivery",
"uuid": "5a0a9eae-6edc-4177-afd5-4c93950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "38ea33dab0ba2edd16ecd98cba161c550d1036b253c8666c4110d198948329fb",
"object_relation": null,
"type": "sha256"
},
{
"comment": "SunOrcal",
"category": "Payload delivery",
"uuid": "5a0a9eae-8388-4e7f-ab5b-4e95950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "cb7c0cf1750baaa11783e93369230ee666b9f3da7298e4d1bb9a07af6a439f2f",
"object_relation": null,
"type": "sha256"
},
{
"comment": "C2",
"category": "Network activity",
"uuid": "5a0a9efc-6604-4cd9-acbb-4632950d210f",
"timestamp": "1510922427",
"to_ids": true,
"value": "104.148.70.217",
"object_relation": null,
"type": "ip-dst"
},
{
"comment": "SunOrcal - Xchecked via VT: cb7c0cf1750baaa11783e93369230ee666b9f3da7298e4d1bb9a07af6a439f2f",
"category": "Payload delivery",
"uuid": "5a0ed8bb-5df0-47a8-9785-44a702de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "da7a5e54d1d45462bda65807c1ef03ee34b7e777",
"object_relation": null,
"type": "sha1"
},
{
"comment": "SunOrcal - Xchecked via VT: cb7c0cf1750baaa11783e93369230ee666b9f3da7298e4d1bb9a07af6a439f2f",
"category": "Payload delivery",
"uuid": "5a0ed8bb-f580-4b51-a866-482602de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "7dcf79a66192e88b92ccc12810e61329",
"object_relation": null,
"type": "md5"
},
{
"comment": "SunOrcal - Xchecked via VT: cb7c0cf1750baaa11783e93369230ee666b9f3da7298e4d1bb9a07af6a439f2f",
"category": "External analysis",
"uuid": "5a0ed8bb-8a94-47be-9f1e-463f02de0b81",
"timestamp": "1510922427",
"to_ids": false,
"value": "https://www.virustotal.com/file/cb7c0cf1750baaa11783e93369230ee666b9f3da7298e4d1bb9a07af6a439f2f/analysis/1510574305/",
"object_relation": null,
"type": "link"
},
{
"comment": "SunOrcal - Xchecked via VT: 38ea33dab0ba2edd16ecd98cba161c550d1036b253c8666c4110d198948329fb",
"category": "Payload delivery",
"uuid": "5a0ed8bb-3f4c-411b-9507-4d1602de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "704886d56ded5817e39d7442b0203c2f76207f92",
"object_relation": null,
"type": "sha1"
},
{
"comment": "SunOrcal - Xchecked via VT: 38ea33dab0ba2edd16ecd98cba161c550d1036b253c8666c4110d198948329fb",
"category": "Payload delivery",
"uuid": "5a0ed8bb-6f34-4e76-ba5b-45ae02de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "af6a25fc28e0560860c01d74854a2cba",
"object_relation": null,
"type": "md5"
},
{
"comment": "SunOrcal - Xchecked via VT: 38ea33dab0ba2edd16ecd98cba161c550d1036b253c8666c4110d198948329fb",
"category": "External analysis",
"uuid": "5a0ed8bb-5b24-48ce-82c4-4e2b02de0b81",
"timestamp": "1510922427",
"to_ids": false,
"value": "https://www.virustotal.com/file/38ea33dab0ba2edd16ecd98cba161c550d1036b253c8666c4110d198948329fb/analysis/1510574322/",
"object_relation": null,
"type": "link"
},
{
"comment": "SunOrcal - Xchecked via VT: 58312fb742ce881e040e1b5b8555f00a402b8dd4fc886acaae2f862040b3bfc5",
"category": "Payload delivery",
"uuid": "5a0ed8bb-830c-472b-9d19-481002de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "9adbe92835ee2cc93e0d99b9d4536eb7727acf47",
"object_relation": null,
"type": "sha1"
},
{
"comment": "SunOrcal - Xchecked via VT: 58312fb742ce881e040e1b5b8555f00a402b8dd4fc886acaae2f862040b3bfc5",
"category": "Payload delivery",
"uuid": "5a0ed8bb-b94c-4e75-a47d-488002de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "47cc3592bbf8c3b516ae74c95efb3344",
"object_relation": null,
"type": "md5"
},
{
"comment": "SunOrcal - Xchecked via VT: 58312fb742ce881e040e1b5b8555f00a402b8dd4fc886acaae2f862040b3bfc5",
"category": "External analysis",
"uuid": "5a0ed8bb-8d8c-4b7a-a223-498e02de0b81",
"timestamp": "1510922427",
"to_ids": false,
"value": "https://www.virustotal.com/file/58312fb742ce881e040e1b5b8555f00a402b8dd4fc886acaae2f862040b3bfc5/analysis/1510574347/",
"object_relation": null,
"type": "link"
},
{
"comment": "SunOrcal - Xchecked via VT: 81d887fefdbb0219647991c2b7bddf45c2fede4dc6fc18408f1706e0279615b2",
"category": "Payload delivery",
"uuid": "5a0ed8bb-b9b0-40ac-a84f-4b6002de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "7fa8bfc051b98698e6b95cbc7163e4aa41880279",
"object_relation": null,
"type": "sha1"
},
{
"comment": "SunOrcal - Xchecked via VT: 81d887fefdbb0219647991c2b7bddf45c2fede4dc6fc18408f1706e0279615b2",
"category": "Payload delivery",
"uuid": "5a0ed8bb-65e8-471f-9a66-4e3102de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "5eb3a846092cae378fcd45bdf5453536",
"object_relation": null,
"type": "md5"
},
{
"comment": "SunOrcal - Xchecked via VT: 81d887fefdbb0219647991c2b7bddf45c2fede4dc6fc18408f1706e0279615b2",
"category": "External analysis",
"uuid": "5a0ed8bb-d7c0-4ed1-9bdc-497002de0b81",
"timestamp": "1510922427",
"to_ids": false,
"value": "https://www.virustotal.com/file/81d887fefdbb0219647991c2b7bddf45c2fede4dc6fc18408f1706e0279615b2/analysis/1510574318/",
"object_relation": null,
"type": "link"
},
{
"comment": "SunOrcal - Xchecked via VT: 799139b5278dc2ac24279cc6c3db44f4ef0ea78ee7b721b0ace38fd8018c51ac",
"category": "Payload delivery",
"uuid": "5a0ed8bb-a260-4d97-b3c8-43eb02de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "a6e538a01c366580e90e49249251b66dfe39c72f",
"object_relation": null,
"type": "sha1"
},
{
"comment": "SunOrcal - Xchecked via VT: 799139b5278dc2ac24279cc6c3db44f4ef0ea78ee7b721b0ace38fd8018c51ac",
"category": "Payload delivery",
"uuid": "5a0ed8bb-61ec-48e1-8327-492b02de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "11a5b1901243396984670af7acc6cf72",
"object_relation": null,
"type": "md5"
},
{
"comment": "SunOrcal - Xchecked via VT: 799139b5278dc2ac24279cc6c3db44f4ef0ea78ee7b721b0ace38fd8018c51ac",
"category": "External analysis",
"uuid": "5a0ed8bb-4f20-46d8-b762-4cf702de0b81",
"timestamp": "1510922427",
"to_ids": false,
"value": "https://www.virustotal.com/file/799139b5278dc2ac24279cc6c3db44f4ef0ea78ee7b721b0ace38fd8018c51ac/analysis/1510574343/",
"object_relation": null,
"type": "link"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 1813f10bcf74beb582c824c64fff63cb150d178bef93af81d875ca84214307a1",
"category": "Payload delivery",
"uuid": "5a0ed8bb-b6ec-4b31-8078-4c9b02de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "03bc4181fb54af3151cab60406a01a44158e5277",
"object_relation": null,
"type": "sha1"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 1813f10bcf74beb582c824c64fff63cb150d178bef93af81d875ca84214307a1",
"category": "Payload delivery",
"uuid": "5a0ed8bb-67e0-45e3-86d3-4a9d02de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "17587683361d8458aebd9b8fdd07137a",
"object_relation": null,
"type": "md5"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 1813f10bcf74beb582c824c64fff63cb150d178bef93af81d875ca84214307a1",
"category": "External analysis",
"uuid": "5a0ed8bb-cfec-48d4-9919-49ab02de0b81",
"timestamp": "1510922427",
"to_ids": false,
"value": "https://www.virustotal.com/file/1813f10bcf74beb582c824c64fff63cb150d178bef93af81d875ca84214307a1/analysis/1510849386/",
"object_relation": null,
"type": "link"
},
{
"comment": "Reaver.v3 - Xchecked via VT: c906250e0a4c457663e37119ebe1efa1e4b97eef1d975f383ac3243f9f09908c",
"category": "Payload delivery",
"uuid": "5a0ed8bb-cb84-4739-a17e-456b02de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "b31160953ff19e6abf12fc8319420ab2e1c88e77",
"object_relation": null,
"type": "sha1"
},
{
"comment": "Reaver.v3 - Xchecked via VT: c906250e0a4c457663e37119ebe1efa1e4b97eef1d975f383ac3243f9f09908c",
"category": "Payload delivery",
"uuid": "5a0ed8bb-8bd8-4a20-a99e-498b02de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "2d563bf83bddca1f24e8a0ffb951a7e9",
"object_relation": null,
"type": "md5"
},
{
"comment": "Reaver.v3 - Xchecked via VT: c906250e0a4c457663e37119ebe1efa1e4b97eef1d975f383ac3243f9f09908c",
"category": "External analysis",
"uuid": "5a0ed8bb-c264-45c1-acf8-4ece02de0b81",
"timestamp": "1510922427",
"to_ids": false,
"value": "https://www.virustotal.com/file/c906250e0a4c457663e37119ebe1efa1e4b97eef1d975f383ac3243f9f09908c/analysis/1510574300/",
"object_relation": null,
"type": "link"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 1fcda755e8fa23d27329e4bc0443a82e1c1e9a6c1691639db256a187365e4db1",
"category": "Payload delivery",
"uuid": "5a0ed8bb-bc04-47cf-8f7b-49cb02de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "172b4578cb50985b08c227360d9c9df2cf32117a",
"object_relation": null,
"type": "sha1"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 1fcda755e8fa23d27329e4bc0443a82e1c1e9a6c1691639db256a187365e4db1",
"category": "Payload delivery",
"uuid": "5a0ed8bb-9340-4443-b23e-4e1902de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "aab319d9715d38a37a10d82e87478dfc",
"object_relation": null,
"type": "md5"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 1fcda755e8fa23d27329e4bc0443a82e1c1e9a6c1691639db256a187365e4db1",
"category": "External analysis",
"uuid": "5a0ed8bb-b9c8-43aa-8797-462302de0b81",
"timestamp": "1510922427",
"to_ids": false,
"value": "https://www.virustotal.com/file/1fcda755e8fa23d27329e4bc0443a82e1c1e9a6c1691639db256a187365e4db1/analysis/1510574331/",
"object_relation": null,
"type": "link"
},
{
"comment": "Reaver.v3 - Xchecked via VT: ae9f158e4886cfdbfb4f1b3b25707d05f6fd873d0be9d8e7334a2c28741228ee",
"category": "Payload delivery",
"uuid": "5a0ed8bb-8a68-4f7a-adcb-46c302de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "d62f1f039d0be1d7b2a8ed122d97ee917dbc9ce8",
"object_relation": null,
"type": "sha1"
},
{
"comment": "Reaver.v3 - Xchecked via VT: ae9f158e4886cfdbfb4f1b3b25707d05f6fd873d0be9d8e7334a2c28741228ee",
"category": "Payload delivery",
"uuid": "5a0ed8bb-dcf8-4fe9-bdee-484502de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "892350b2a44efd9fa1e7c88aec013818",
"object_relation": null,
"type": "md5"
},
{
"comment": "Reaver.v3 - Xchecked via VT: ae9f158e4886cfdbfb4f1b3b25707d05f6fd873d0be9d8e7334a2c28741228ee",
"category": "External analysis",
"uuid": "5a0ed8bb-23d8-4bbe-b367-4fae02de0b81",
"timestamp": "1510922427",
"to_ids": false,
"value": "https://www.virustotal.com/file/ae9f158e4886cfdbfb4f1b3b25707d05f6fd873d0be9d8e7334a2c28741228ee/analysis/1510574327/",
"object_relation": null,
"type": "link"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 9213f70bce491991c4cbbbd7dc3e67d3a3d535b965d7064973b35c50f265e59b",
"category": "Payload delivery",
"uuid": "5a0ed8bb-d850-43f6-aa30-4f5702de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "e96be5b542d100913a5bca0f02fb094d6f3ad85b",
"object_relation": null,
"type": "sha1"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 9213f70bce491991c4cbbbd7dc3e67d3a3d535b965d7064973b35c50f265e59b",
"category": "Payload delivery",
"uuid": "5a0ed8bb-3ae4-4f3e-b592-474002de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "dd7edadd019bc120978a4dad284fbea6",
"object_relation": null,
"type": "md5"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 9213f70bce491991c4cbbbd7dc3e67d3a3d535b965d7064973b35c50f265e59b",
"category": "External analysis",
"uuid": "5a0ed8bb-c9a4-4669-a3ba-47e002de0b81",
"timestamp": "1510922427",
"to_ids": false,
"value": "https://www.virustotal.com/file/9213f70bce491991c4cbbbd7dc3e67d3a3d535b965d7064973b35c50f265e59b/analysis/1510574335/",
"object_relation": null,
"type": "link"
},
{
"comment": "Reaver.v3 - Xchecked via VT: c0f8bb77284b96e07cab1c3fab8800b1bbd030720c74628c4ee5666694ef903d",
"category": "Payload delivery",
"uuid": "5a0ed8bb-e764-4ad4-8cdb-438902de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "cbde40a234bff8870f8746eca969c364da7f4aec",
"object_relation": null,
"type": "sha1"
},
{
"comment": "Reaver.v3 - Xchecked via VT: c0f8bb77284b96e07cab1c3fab8800b1bbd030720c74628c4ee5666694ef903d",
"category": "Payload delivery",
"uuid": "5a0ed8bb-02e0-4eb5-9e34-41e602de0b81",
"timestamp": "1510922427",
"to_ids": true,
"value": "ae185e9c43bb1498a3c653a0886896e3",
"object_relation": null,
"type": "md5"
},
{
"comment": "Reaver.v3 - Xchecked via VT: c0f8bb77284b96e07cab1c3fab8800b1bbd030720c74628c4ee5666694ef903d",
"category": "External analysis",
"uuid": "5a0ed8bb-586c-4a4d-aa3b-4f7c02de0b81",
"timestamp": "1510922427",
"to_ids": false,
"value": "https://www.virustotal.com/file/c0f8bb77284b96e07cab1c3fab8800b1bbd030720c74628c4ee5666694ef903d/analysis/1510921773/",
"object_relation": null,
"type": "link"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 18ac3b14300ecfeed4b64a844c16dccb06b0e3513d0954d6c6182f2ea14e4c92",
"category": "Payload delivery",
"uuid": "5a0ed8bc-ba8c-4160-8374-4dba02de0b81",
"timestamp": "1510922428",
"to_ids": true,
"value": "5c6b231111239c0625dc9ff4359d1b8553159ecc",
"object_relation": null,
"type": "sha1"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 18ac3b14300ecfeed4b64a844c16dccb06b0e3513d0954d6c6182f2ea14e4c92",
"category": "Payload delivery",
"uuid": "5a0ed8bc-eff4-4d36-947a-424c02de0b81",
"timestamp": "1510922428",
"to_ids": true,
"value": "c629f8f3206e5a6de83b4c996a2bacfb",
"object_relation": null,
"type": "md5"
},
{
"comment": "Reaver.v3 - Xchecked via VT: 18ac3b14300ecfeed4b64a844c16dccb06b0e3513d0954d6c6182f2ea14e4c92",
"category": "External analysis",
"uuid": "5a0ed8bc-60d8-4f2e-aa79-4d6f02de0b81",
"timestamp": "1510922428",
"to_ids": false,
"value": "https://www.virustotal.com/file/18ac3b14300ecfeed4b64a844c16dccb06b0e3513d0954d6c6182f2ea14e4c92/analysis/1510610402/",
"object_relation": null,
"type": "link"
},
{
"comment": "Reaver.v2 - Xchecked via VT: 98eb5465c6330b9b49df2e7c9ad0b1164aa5b35423d9e80495a178eb510cdc1c",
"category": "Payload delivery",
"uuid": "5a0ed8bc-0124-4bd3-9049-4e6b02de0b81",
"timestamp": "1510922428",
"to_ids": true,
"value": "c05d15fc94d096a821f2c689a29dff7679ce087a",
"object_relation": null,
"type": "sha1"
},
{
"comment": "Reaver.v2 - Xchecked via VT: 98eb5465c6330b9b49df2e7c9ad0b1164aa5b35423d9e80495a178eb510cdc1c",
"category": "Payload delivery",
"uuid": "5a0ed8bc-c04c-49c4-9d39-464802de0b81",
"timestamp": "1510922428",
"to_ids": true,
"value": "dadf3d3dd411bc02d7c05ee3a18259ea",
"object_relation": null,
"type": "md5"
},
{
"comment": "Reaver.v2 - Xchecked via VT: 98eb5465c6330b9b49df2e7c9ad0b1164aa5b35423d9e80495a178eb510cdc1c",
"category": "External analysis",
"uuid": "5a0ed8bc-37cc-47c1-bdcd-454e02de0b81",
"timestamp": "1510922428",
"to_ids": false,
"value": "https://www.virustotal.com/file/98eb5465c6330b9b49df2e7c9ad0b1164aa5b35423d9e80495a178eb510cdc1c/analysis/1510823791/",
"object_relation": null,
"type": "link"
},
{
"comment": "Reaver.v1 - Xchecked via VT: d560f44188fb56d3abb11d9508e1167329470de19b811163eb1167534722e666",
"category": "Payload delivery",
"uuid": "5a0ed8bc-4014-447e-8efc-450702de0b81",
"timestamp": "1510922428",
"to_ids": true,
"value": "0cea48067ddbc9227363168013142f6f3a5dea9f",
"object_relation": null,
"type": "sha1"
},
{
"comment": "Reaver.v1 - Xchecked via VT: d560f44188fb56d3abb11d9508e1167329470de19b811163eb1167534722e666",
"category": "Payload delivery",
"uuid": "5a0ed8bc-5768-4c26-85a2-47b902de0b81",
"timestamp": "1510922428",
"to_ids": true,
"value": "9f289cce6f95949450e3f4c96a187f5d",
"object_relation": null,
"type": "md5"
},
{
"comment": "Reaver.v1 - Xchecked via VT: d560f44188fb56d3abb11d9508e1167329470de19b811163eb1167534722e666",
"category": "External analysis",
"uuid": "5a0ed8bc-a7a0-499f-bd08-48bb02de0b81",
"timestamp": "1510922428",
"to_ids": false,
"value": "https://www.virustotal.com/file/d560f44188fb56d3abb11d9508e1167329470de19b811163eb1167534722e666/analysis/1510823685/",
"object_relation": null,
"type": "link"
}
],
"Tag": [
{
"colour": "#004646",
"exportable": true,
"name": "type:OSINT"
},
{
"colour": "#ffffff",
"exportable": true,
"name": "tlp:white"
},
{
"colour": "#3c7700",
"exportable": true,
"name": "circl:incident-classification=\"malware\""
},
{
"colour": "#00223b",
"exportable": true,
"name": "osint:source-type=\"blog-post\""
}
],
"published": true,
"date": "2017-11-10",
"Orgc": {
"uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f",
"name": "CIRCL"
},
"threat_level_id": "3",
"uuid": "5a0a9aa9-23a4-4607-b6df-41a9950d210f"
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,391 @@
%PDF-1.4
%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
1 0 obj
<<
/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 6 0 R
>>
endobj
2 0 obj
<<
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
>>
endobj
3 0 obj
<<
/BaseFont /Times-Roman /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
>>
endobj
4 0 obj
<<
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
>>
endobj
5 0 obj
<<
/Contents 26 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
6 0 obj
<<
/BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
>>
endobj
7 0 obj
<<
/Contents 27 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
8 0 obj
<<
/Contents 28 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
9 0 obj
<<
/Contents 29 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
10 0 obj
<<
/Contents 30 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
11 0 obj
<<
/Contents 31 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
12 0 obj
<<
/Contents 32 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
13 0 obj
<<
/Contents 33 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
14 0 obj
<<
/Contents 34 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
15 0 obj
<<
/Contents 35 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
16 0 obj
<<
/Contents 36 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
17 0 obj
<<
/Contents 37 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
18 0 obj
<<
/Contents 38 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
19 0 obj
<<
/Contents 39 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
20 0 obj
<<
/Contents 40 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
21 0 obj
<<
/Contents 41 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
22 0 obj
<<
/Contents 42 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
23 0 obj
<<
/PageMode /UseNone /Pages 25 0 R /Type /Catalog
>>
endobj
24 0 obj
<<
/Author (\(anonymous\)) /CreationDate (D:20190221153230-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20190221153230-01'00') /Producer (ReportLab PDF Library - www.reportlab.com)
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
>>
endobj
25 0 obj
<<
/Count 17 /Kids [ 5 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R
16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R ] /Type /Pages
>>
endobj
26 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1591
>>
stream
Gb!;d9lJcG&A@C2&D;s\5V.[4,%[F&2JJ(#]#ejM*Z!s.Od/=gChI<,7fWFIA<A(l=K/]pXrYRFE6'tVL,5V2K]*m(s7q8.G;Jgd!taC$G"Y(u8S4U9qcWPeeFmh_XR4u;*2V"V@Ajc-)*n8$BRZ)sJkY);R=-<ddmj-dSAo;b7R7D7Lm!Jo0TPYTc._U^cC^I9ShtN%rd]'Z#+i<nPH4#-b8H/YA[*P2ACWT=$aM?CpLI;?CU.)GkfNMXnuC!AMO^%!I.^Ig`B5j?H,JQO_kaV3[Vdh%>p"u9;'T8T]Ns'GCf@L&0>e+4W)bBbi+SQ5D'[g77egONb+ONT`%`a8MM[S9+:+.F4cQE!=t1Zlhf`[B%M*sg<N4BEP)i)ol"F$e7\_^n(,][ja>'Vs%h'IJ:#ote"[<E<U>5tOg2F#Z=9JE=N$$k-br08a-bI.l]SXHO:7KS@R7RG`-.$CsI82+r^0I2_XGOj/+-HmHcs>lBi1J=uM[^a$6tIoBZRh*HaCHjL61IZ)^I@'39bj.=@(-A^\B,19RPq'+!D!#LgCug<TPo@(!.P,gc9TDM0sDgA;N2uX2(dq4Oh9=V@3hoMc7o_B"rIP&*5V,b[4I'B#sOXo2`++6j#4NQMekb\ii/jr]hi?l?=:bboY_;"84U]0GCJ@hHb7M%n*>#MLFq^3i"_Vubeb@Z`KJWj-E-KEG(CTST56gN!2fhr#Ym#n=3*,:'\m@i=/8?_V.P/#H2ghp2e;>XSl"IO1I<>+<$%#<a],RF:]jr3)p]6NKmm8%oC8\-fCuskj&"\ge^0%`E*G:,c3S<bO=&>#KM;Bb(q5mX&_:/so!NImM&D@o;[#;fQjWZ^eUU""4k_&]PGIGqJ(Bjd<DBX/WZ8#YG"HAd&^`hTpjDdLJ=_r(Kq;oTQLc&@]@k]qc/Y['qtrRI_u)hWNo6gj(,P,ujO^p28"GcAg+VSkG.71k87(1^;D"@_Nc_cgJPf,/L=,Gafq1GQNXpRoOU9uW&P5PO=$g>jMI]&!b1h[#<$arjGt'/RG"l[@k0Zqc;Fkc2CrWmb^cEa0);J2)UVjn)Gn1Dp,Zk1cZ$n[uVp:EY"0SleN,iDgnMoXXIIuqa>b5i974W<55IED]\8ArE'[q4eka,fk[_2j^W7e^qd=^i^*Hu%k7-AcfBYmp,&.(56oGkKOkP7m4\\=7ekIKj(V[hnAnGR<$53r+2@Cj-*]tJ=)odLYrD01\*OUP%Uq+2q.dQ?6t0RtuZ)3A\P5iKVo`0A06NfR-P]EGG?0+_1F7DaqP0AVl;7U`QNNDLUe#'jA7e[/TDjW"dREF*5BFa73Rm>]5WPJusKFRi@]MQs`!VHMW<.1j`3lP*Af/Y7k7,W'Y+!d%ui.6Oo)+B"cGO&RLt,LqYI8D,G]86N%oCSY"sEk.U@=-%K1`(foNF)k3]mc'#PH8?6W)l;H^o.@8)6WFqmKREb9;6@nt][p?ZG7dSNOmDK@b?(u)Ve#7rHmL:a9(l<.=0aTZAFH.<,qF%/p85r5Z8/=gn!&2G/$hk9p;g0Q199L(M**(3ZV'XTaA[+7X5kmZ4=)A]9$Ha8Xgj3<M>d\%=fOp~>endstream
endobj
27 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2120
>>
stream
Gb"/)gN)%,&:N/3m'Mro2e1:GnWoS,36l*`8Rg:KqW&HKKIk-U-mW>'J):DU;PYnf'((XIes7u=@^-.C$XaJo;]tk0eaG0qGWg_TG8)HXi>AMt"UmW4gYq)fTP@n#8_([YG-o[t#iG?dn+[kN[CNi"@1!8+2].!riCi5/-\eV6)6p0])$e1q2Pl'M4>rD'\[ZG\-6Q!\UN[PY<9V%^5<.6*Lds8'apuF'']Ir-_NlUE@GaM)?ci7+_KB\@URo<,".+8HJ=D$#2oAsn]:()7\@+bL!#FZm-lB]=fKSn[6fI1b<EGN*l+.nc+h^a`GH35=]:m[->oV6J5W^:B$LFq%oi*15HK(r0g'j;)2q)KgHI_d;P\20HC/]m4@>l8D_:Pk4hUFQn\o"oS9F8,-jkYXJ]Td/Ig;6$m,a!Y:Pf6-FZ,ClDZ@"<7Q>i663$_stN:1"[QoX#m2WqL^XD+:tXY03Sd89;?hbCdGKKZ9KrEH<HP6jeX[4((IG:[WTnrWLPGn(WheP>R.*4t]eE(o9XC'uW5Qfhj#>/Y$5f?j@e-F4Jk:?10CfFGRL%C@Hc:Wlg07tiFX/AauW1<cRXPt<SASS(R@oAZdW_`U(kKR-.Q*mLum$YEsbDP]+Vf4-t*KsKjGSle$SV5876S7QsXb/B1s1<cq%Tq\<!>JR+R^]O?<91*$OHS5hGE;)>j/F:E67tP;:Rr\+S,=X5F=(gQDTo3lDMq'0q;!QbcO+i?TJo?#Ub8+\".r&Jhe-0_Gf5ht[(e!1A*7UhckK)WGP;FUYCf?iDBL5T1F+o>"iHc?JJo5OpTi-(^leirWBttC0ZQ<:u_4\b!*)$R??f"E;10.T3c"iY>Z;h8'1=#Nm17o;TZ8?IlhgZLiq5#sn9DqMI>LlBG8SamP5Odjj^_SPOH!i_7jLB1.IUIL4be$k9?.Z7!QGAi)4`38;[b@^[]Ig&$<]`/r[cQ#kC+$U/M;E=um8d,Qn'WaLBJ`A#D+*jE7ND/bi105.N@8FoNnZptQplL;f6^>NgD;`WXiNX!$+(:UX,20AD:F9s>8rQU73WXR67QI?!TB>`6Eu/$U*Sqqqm!M*G6gE()[-b8^(8da6!rl7iZL\GYcY:]T0OI&%Fi+decETp,"l%=(m':5#E8MAAeW?E:)5Nb(Q>V7"dr'3#N,#l-*[PYM+/d/K`jjgJ^-Pr/]0)=PVA`j0ImlcR:W9c1Y'>/[7,g2^5hm'%&O=i;C[;I%qd3kLfst97*/=OCW[0-iC,G`-+;nQUe8g$C'j"'..ULV`S"f9X3=KGq&&`l_$MV&E=<$[)-&("^&jf2P`!Nu0+`]e0LUD\O!`.e53-gCNYTl_O>s;Xcf68P/FfEc"S\\ujAmKokK"M&9p-$ec?Y-Vis85riu#>b.>^+Xqb0:)dqPOqZn\imV+*q)8Maiu@I$l.BM$cZT%F1,G(SD=_Z<MXAA^/s&=4N'1']TGo*J1P$=PgS0hq^TTKUjPN+92pVfI>\3J-q<-<8j494"E+7O=ScR4`O/+]A[O;!B.a"e;*2`(133H+5,K\7CJL,jl',\lRESZR2>%1HAXS)9R%\7\($]=$doA:.Dt58Y7+EXhmXuiNNX;R\UZ56Q:ebYoCm=A@=0"mocVS/+nCQ;K"C%>8>bu7QT/dYjGEE)Q-aD[[h/;m1aB`r4u+Ps2[g'Gtt--HRj5^^J\]4m&JQ@Vh\H!=:]OlmY(:'@_M13pngf5*%-d<7/FM"hH+tm_R!q>U%7=U[sWt)nePcCKCTfE#rT3EqE06Ph(t9nEN,5N'e'n_RDiaKmBKsd6s@2,hLf%+0!Ec6gMKilqngC8f6%&iU),2TT0Afp5!(uWIt%=[h1q&0^V%(d-rk7-LT8"sfYWh:V<limjQ@M)$`Oke\"\YuDu5rdZ[UWH3mX5Hq?^*IH+"DD%BNLs=K<G4DFs4m\>\RT]Q!E<$Pt,GF5cu1'eZ-R=L`b(Xc^X+/7G=DF5_Et>YeG2NmH#-*"S+8>,?4@jCLO+GaX<42="nT=ap$X"aSb@,3&Tj`SEDsJ#AJ%4anGW8U;@@9dL+E1B3`8Uub66_O;+;>s<X\dZ5FB5G.YO,`cq#odM0`T1jI[OkgME++MMMi#`t2`+8~>endstream
endobj
28 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1271
>>
stream
Gb"/gh/AcR&A[3%=,_7$PcM`grIfUCV9*"i:$#VNqn`^_91$gWMok)Od_Gb3FtcbGfZ&q$2dg..41dR9_p&#](ejnEoA:YopqqYA(Dnh,-N_L'"6TcV4/6_h\V'r@k7[@8YC#fg&iR%pc#!e),<G],:'rB@GAt9Ho6N=i8hX,&-76SF,nr>*#\0'3ocmu\MfB.i?AmQ8VIra5PRGE(.`!5S'FLSd,:%tWfaN>B5#&o=8\20oABqZXLK"Jec)UN;:Pnj_F5KHC^uDtn<t@%Tbgn]h'^XL.enc(5,/Pq6:p1kUaX8aP=-YFt[W(Z'VK8tudDD/XTt._i>-1n?`=8psJ,T?)dWMbbW-n(Ajgpdu:ukR2FPY8_(?Q-+f0-`!$C-mK<&'C(b]V83Rj<9Q$9diQ,tYMfPD_O0ob]h8:X_FYld@<+qap+6?F>/Lq`"p-0'Ue]Nd!RerR@"4pClq7;l-k_ViNj&%8DhYhs9mW#Vi"`$P95B"-A%_rZ!)>_a>/sBcU<eQ,%MWD[c`M"_P*uS9J>B8I8"U.C%/HZET0;;g!!.Biu4VIpX]#NN^#i90J7*3q^(ja<I[jBLBLS\T1TW-74%PqDjg,OFH/KGoc<32t,T]_n@3t+7>jZ1fhUXpInA;bVID("9sd[D+KM__3@G9f:CQQ3YIq(*iA3VDJ&U1=/t#fG[-]lQEN6V;SIdoj&p5gQ7<7VUainGZ?Vg]'eXKVb4R_k]2u/\$GY#t6J[)jNuc4[)mR\+%Sj)+<Agdum;A"U[jiTdqV2YG<[H*M\095$9(8A#@mo`\4gCE$PhXqj:[gQt>E-dC9lr6B]/>`$W-i4BnQrWb!7\%`pS"1m1/0pj)h,jcon^r&TjAhV+,kNX6[nAb-FjpZW06p_<HKsIoE"e3J4Fd<Gn_VUo2=+m]O(MbIc.?8a!Cl'Em?>YY?^i!kF5&A6Ne^gf7?t\RbJs>DCoSQ_AKI27U$_)29&/p@mh<"<g8dGBk;.Y'bP\`eVg/e'F(m29e/tU_\Z"q.Ni2neNg1-6`VN4##H<bW!MM^K?E$Z.P03PWg<pid'a".q'%SAl=k,bjo((0g@8b61!sb-bJ^/be`h>Vp=)+Q\4Z)=Ld@_$Q'JV@9O2jMfC?'Q;gX";aj'/bem&Y'f_'jKA^aJ^b@@Cmbt&^GK^r2TfC4lE']=:`aEiZK4-`L$IaT-"FZc=+\->KB:gnF'f7@IJ;XIc?HUc]F7=FnY>LrEh^p_')%LaEehdB<W3bnM7+h2<4_!$8ZcZP9~>endstream
endobj
29 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1144
>>
stream
Gb"/i?#S1G'Sc)J.uqQm5`5)Ei`u%+&4-ddDAY]XiiI]Sl.U6Us.7\UC"&&p-:D>/d^<k\A,G(BY2;`Ma+3.[bC>9\JEI#ZqO.HF0Sk9O,%9s^?4ED4-]`4S1lq.lqfnH5:SEU\>%n"r&[B'%_$#eZ@i5,o_39$)A"9F[bpd)8hu].].n2PA4%+-s.L%ihB4oLMN`$jMnqa"a!1+"Z=br\0,k.b9-/<m_*e\tA1oO`;HS(Jdh]E'M4CRSSP]jNdgPSghGnDYK_Vsd*2/:m^Aa>dKI4[^f-h5f0#XME4:_)ZJi95m:lrcAR'kMT5j7t0hf7?dgnl73YbCAttAQD\mqIipie3jl$EH5d&R^Y\hTL"Lc,hkn-YaX9?>._')ZjParBuS3HSstS=8V_S.d\2=EJ!8.o1L?=:fa1^B;^aTGkNgW.U[Q["]hHknI(]<I7.r`9il"=D:/@4uq8eSo,b0m1&f)K=T/iB"?9ZargCG`D-)K&>n*p"f+k"8`%n)9I",I2ShDiGTYUiI[ZJERR)T1aT84io1('-7M;?0oi!7NG%YZ1g>q**&A+'5rsH>qi'<Ft)i<KJ0OcKjsNb@\k8O]cqI=QR\CKVU$LE4sTn\qQo*WeI3K(k0.rL#LW6<>^1udQ\\bVqZ&=VRG7EjQ,^Oo!U$eWjbtOggFJ<6VUs"kd$:A<sBgjLXpKI`dSUM)KA7,)?Wk%5I.C&DdjqL>Gea!@)=J*9X6^f[DOmM;QFYLl"#CC]Zk7?gaTX<n,qYA.%P"+`9HB(8`Ea]aQ<bA&uLkaa&fVs_%KrU7$/mo!4Id#h'0A)>nFYpcYeC=mg7haHlms0+k<afA*jI$Mt)[Y4i)JspB9r:i0g!oU5S6eZmYX"&=`u2&7#.(i+Tnh_0^e&6#\tDGQntHmi$%s.u0#V"RcZR'>+^)0C<R5RV.PS-hr6(SEVX30)n[c`l,RoYCQ/\rW]_ETt5bo$T`-44:La*/\+.uHVs!!4f!G?pqD10gAo7f$"1m)NTSofi%*0-E=Y;)*l3nEc`[.t..-3UOT1%`[DsFHfEse2UL,MZmXd>Klutgd5Y?nL&f]GU)Qs;$LGl7c\LZC@YiQ(rBk>X3*W9/DFR@JZ$X7KNcK;Q?F7?g5s(;GZD_cXFhZ~>endstream
endobj
30 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1266
>>
stream
Gb"/iD/\/e&BE]*;\7S#YCK^rmmrQo]8$k8L10?%^#tTb'QLd_DM*?6;0HJARH<(i4#DY]-oQ>rO+3UB57.uVOagd12_5jDDS]Yn"pU5B.L*hJ/Uh7q/nXQb)iJ5L2AZ*bT53Co#f@)iAWQq3X?Wu/P0MOdD"3N;?IXrfnh<dR.6*P?OX[CmJ<8I_N*@l+6gX@?mH*[]pQCu=dTd*cX8le?M,c3@grPWmYfH2CST;>*S]#+Y\Oe$U0<:XV^2uNGpG4GTp358lD,<L"o]9k!VB2P7`ur3p.^Q`LDIi?'h=\h<X@1GpDAK+]1a%<e(\5C`GI%6l$QZ_J]=U/=]"YaqX*DV$C=uhiMk2O@,7D#e\<F=>QQKC24km1j4B^0P/%4kjl4!Va^>@*ol23"K='33SfBgaX1L;PSfBeu<]*WNBRf1Y#NK,0K)M@8)MbWl`_"Q#[B!Zo@7*2PXg4e'HeZ8B>p<%ki-h\#5_=)+$Lr^VV-Us)OP>^i9FP)e_,<XBQ0L"h0]4!80rtP?U$]PK+:i2<,IJ`UHh&tt7L4c:AHpX&G-_*m`'i&3daD4e#d_6i@cmfVRM!@5dcuOe=`*PY&hQ>8glLoZS[r3@SWt34r?Fdh_qs0N*/>ha6:T=#t7iL&8dNg38>%t&!1>T$9ANfXhZGuVFb2+D1"n>B-.!^l*d\H/Ws*$LeH_8TZ%t?U=L,3)K/0>U>T:`B7O.</UW//6Vat"L[Gn1I-KUDt9F0;rNMO;2*"1\JsYH&C9fh?99A]hfWfXtcq#IV+l+?8tkA&tLdOI=QPjAKK\*p0H@4SCIiGY\7%`&$ntI%()&1X<r=M>pBC?R<ek#B5A%mg??Q9`0Bpr0J)s^I8'*PIr*AJjpI2HEsf=W=7?H;59_Q;]\pC6aXr@ZH>I9pY"LI7#1l\`;d#ks![LWphubd^B?FaJ)^J?r"#J6"ecZb%l*0A5#2$Jpcn<K4T$!F7N[<s3otF*j[fi@el#CP6ASqZ)"7#EJ:tq*JcfpWP""(F!3@h2M2D7>!WU!g1[s9cc$sLeIV@a@`;daQa&Go%19/4'ORN2ud)>rsaFB`Ts!@4XN!nj#:l#gcPTopNcYmikJW:muTtO!a[mh'4;:ImaOd/UXp]$aD,msA(nS[@d1Z<g4>:bit^DoEF[eKg`dJV$><$$:ok-1c`$s5M:24juTo(9T-"0;gF']aZn>YLiaK]WQUNd?`L>_!jb.+&?O*L!YO`7NHoefh[IQa<o_J[!BaB7&!]c2I``Nb]+~>endstream
endobj
31 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1235
>>
stream
Gb"/igQ(#H&;KZP'Ei`g%3UDC)4iJ06])XJd7p1go=.N!c8HUh`P-b7n&gel>HqH9M[em&Chc@urh3pf8N&8"T<MYA"_6H7g%1QG5dGZD5b-L)=8([%p3sHY8-WO?OUpdD>'Ln$Ef3t$A,mTNhq3=m0(cVhrg(g$XZ!np_t7/+_82d4VFYb.+fkJX\'g?>pA*n=ea-T/7@Kpu>R>MR"(\m/Q"Mo@ZnRfukFW9U&4`:ekW;Lc!o2m/XS9DGdRS"5(5'-^<Nl&-T5i!@?h_6g%6@UFkP7b]Fu>(YNBt@F_s4CbS(P^XmdJq$YM6LfK/jDh#iP%,pQ!;kqHpE[np9ib0/(lL4C)i]!QW_>EWh`OCukNYY<S'>C`3!5JOr"NLR]cM%D`lq.6*lPM*=2Cie+X*":-.W'Lmsn84smNB;Oq3;87/g\N#.S+sM8dg%ADgNh>.&-hk(h[N'Q2%K/qJ^R]@JBfCu$>WiqUm+"lfDA;uGcah#V$ak-%roirgA>lWe!*]XE$t?kUXB/csW<oVD%lIdf>'Vce2RR9OpVh/uq^-\qB(h4;]b@nq7+)O`B=a+*[BoX%f+B6'W*%35i9:Qu7WVH^!=ikcT%C/qraD<[,MW4akoCk.50=9%ZHjOo*U?%L0$&P`Kd*$"8V/?(F[F7bU`s[kMXUL!?esMoD<,ThpWM*Nq6O#fn,DbO`[@)Cop\a&n@:n)\Po:q:0%hPDAJ0.DE0-"1@J;qq`[@"X6cl0rX#L&H@tp$6/+uH@RQ$?*&n1c@]5qX.:UjTTuWs*<M$7%KI1=cTSc>U\Uh1i=h2nPIF"o*C29k?E95Kg:g:W,11t-rXkrOqr$R&.i4o1Frt/f%J)gP0r"$>78)!4QK+AtkMiIars,I'AiP3l>,"7,e7\k>A=;O[U04Fr\1ao!#,#8eqar2DGAEu+e7^M'g'Iq&#A8M0n.f>W6T7R%>;gm[3S8.t?r',`37VU84ER["2TVFiQn\=V/nc(`LpXp9X2NtO0Q4ura!WbZ2-VP/Qk`W$`,XQ[rAqNW\7VN=JE!JY^S/_LC!rdgqBAc"&RK(:0rD;O(j8Ut9'?5@sDh[M)p8T?:Z15U!^[_=dr.boK2bIXc]Yl(2F`s0>'L_/ebRbpZY@Aj\BQU5F(haHQN*m<N$^E/prP/.dr]_G&.lh#5FT/<Cmf2=`r;ZeH$$ml^*Imj$T]]=4'm2]^Y+D/-od!oPHA<N1`uZ:<p+N`g1Q2~>endstream
endobj
32 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1186
>>
stream
Gb"/hbAJ7X'Sc@.$3K%^!G92iiGFuh;R@k+-;h?%3M`-0Z5Z;/iO:HdHShKcOtAtX`1X9N3@'+QkCEJB+:th@@Jq&[6MrMNcX28('XK?@>8FR&`Qtm4LWMT/!ouCopZK_&\=^XHQE7A;!*WPHM:k3hc1b]@?Hf"C3km/noY",1?jK?&eIb>'nrqY!@0PZ^n*>nRAJo&UOOC7oj?s(qY*6rQ-EYbF=;INYh[`V&kFf^bXA;Y:)@]%/3$k5'8ogK!d\X.fG1MF*8tjk)q_2_]gqE,F%36?h(#o$^&p?-h=j97^.Ruq1bhJ!=O+*KLY-)^?=uG()Fm6ob!t"A+e@kYPpO9(M,N\/srcWbP440o#]2*.fr'I2Y_4>$E>IJ:NG-tGJbN7Yu/%jbBYC2)1f?"grm3ar&M=_+?(q-G%]DX[*r+sFIqrrfqnFQ/lO%LKJ"0PY%fT@a8Za',2TAPV*C^'S1JV/FD%Qi'0NCkP^3O1DD;^)>%;FlnTLW%#sPVR@+W(`M),\5%M9@s3VWKT4].dn7TlRtFC?eqK8qo=t(Ng*"3s&S"F-S=ZT0VVRSHAGU[f=t!_UVqZ\?G%+uY0rbs2uS1e$C"R5.!t5-:g/:?bWZAu<Zcjo!"8lg4tkNc?gX]u45S=q?[hJs4hRKF3^GEbbNjB2AspS]\:5)!6BVP3*Ti#T-P38_D[60`8_Xc_TSE.5p?f%JNRuo5[XZ!`_FH.:je[1CVZo1,)pZ5n+OCS<`(nDa608829>u:tI)Z".0FnpIK+'IR%Oifad3;**3G2&@5Zql1Ce36AcPAQW<:lIgR,j"n`^@`C*NMZ./Zg)1h['8(Qo"6h4Nr;^](3W,rt5/fg2Os$EoWE`ALE_Ro)BZgs-oM$5HgiS=8[Q-pc$J!\Y.=%/u"EJBO$KW;AY]VV_"#j2C0"F6BFAXZFR:Slj!GdJZj:n:BCKojVdQ++3$NY=7KYfrs8P/=12O+Wc?=L,8X%mJ&QoVs&nj+\t?GYVqctK&Y/"6"[U(76J#dL&Td4MG>[N/QDMi6Ue\4#,]&Vt"Vn9$rs@U*R*L53pFuR]Y'%86^Z,8Irj>P`mN4PJAbX#q$#RY2`IGl,=n#cf!Tmc,A$Ql5A=4R=@$OVm8mdlhY[,:0>-!)D5%1l<9=M.!5D:(W`W$Ue5O*gB-f]^O;s6Dp@e)`Y**2&~>endstream
endobj
33 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1340
>>
stream
Gb"/g?#SIU'Sc)T.gYJg.j1.5LS)35\olXZFN`qb];8%JEGHr(j.sc20C;/neB,!JW9YEO?ab&%^-4XnTD&Ho9AcuLlPG6P1aUIT!Wc&n"T^mmRJoL$R8,q@2A&]7D'JoJHo_Xr6PsRb8:q%qiqa[`0$'IVSkS%(l*L'%k@p=SC<e5@j@CQF'S,^!5G;+4D$9\*Fa5^P8p;.E:b!q4>*8oLAL,7$#rPrq$09:]a."o(]r>4-g)`jQoh[uVh8IuT8q:bNCbrK`P-Tng;H7e1-:P)8qr<?Mo'l6i=*6e5lfpW_M8ZJ#dH`Li:lq(*d^Xju]m95(cXh+&Ao(E3HF8;)h5lT6\GfY2XU6r91[1:5dD\eui008RR4Em5KXYV@$QN9r=CgTS<#+ka.O(.d9(dmB`Ja'DrANJDI!</up^ucijmM<`/s$Y-Zb'=R[\P6dT@>h87TQKo0,F(m<Fs_en'8#a4sI>b[o\&3]pj4VKW<q@X;>YuruotFj["SMKo\dfk0e7K3g'M:HTbu"EiHP4]QNi#>!@r(mX1Z`+4ZMaRck<8b?=7X$is?"_&Aq-:uGo2d"%h4\O:A#;I6.n4+K2sr+p#_+Laer<SdbVlRm(8YO9fWI<A7b25T$R^Sft5'.VEM-r$YYobX<Zr;Gr7VX<bLM5j"P8#N+BH!TF.(.^r,+<dWu84R56@AO`17qEgbecP*7$pZ$;<IiWGZd%b+Ft*k%>:T*13;tUM@d=df1\]pE[@H?fX%9rlfXVd+6>5&.rt589i'4bFPDQ5rbiLTUn#RN!5N712ruh+2\b=5`TOm,tErap%["ukFA2,F`jgI_R5]^_8#a"6#1$o>0`7=p]/U5mR39's;n;g0MJ:G9Ts4eTQIr0Ks=g`U24nrsi%,FP.mMWU$Ge7V`b4o'#)r\OG4rXHTc]hl_p&)X<cK>N6.Q&1BnLscU_*d0g*q+8Y`RUmPja6"bC3DO?FlL0&ZPa&K`uCKa]6Ao"*;$Kk6\(dNmpfrOZ>d/8!e2j>oC]BGRLQL.dgJNcOoRY^qZ/Nr7[kto<J0S:U:P/;>ujqF#1]uQ3c@icX!-HHjUgq$rU:#Fs7>+Gd#RsUi-f(JHOM7K>)%W?69CB6D.FuHdu9('EjPXM6r1F=QbAj*rrh4rm:"\\PDoG"0;F"="1am]nojj3g#"i.42d[QjM'48PRPFRV<_=8-Y3fdZ(-b.'e9P='[MD1dP1&3((=\@OmAt=BH.6EqS.l,!7V)f#I3/G#dr%lUN%-16aq%`dUn]">XIS3;OK4DNQ,B`%StP5/:r7!^-N!2B^:labG-f&jkb@B#$=iTgl?jBeGKB9Hj5TrO/i~>endstream
endobj
34 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1447
>>
stream
Gb"/i>BALf'Z],,'Kab[RMgrFBCC-3-0_eckq+10fA5!"-39<^CtIRY$au/XJ,i#U)io@IUa,9!^Wo..-S7Ssr.XO5?P)eqPY>Bc!@6-a!)GVCr_-Wm7t6N,&L9WN&U[\&f>>E:3n6n3bm6SW2Qt2D6,r&&14;rq0/adL*eu2R7[ep<aG<YR"eZ^oA!h/OX,HhiPi-/Pa_SV;?Q8\.2at!?\a(H$YF'"ElkSNKmY"I_WR@;!IZD9HEA)rt$(2.C$qYu3<?V*q;6!K5!T`eB_bSA@h5O[Ob1]T]:K-8YK+_Z7P^r."W[DLb/^9`_N]e]b+g3>XqnL1N:#J4EN9JM/C,6'L'Ej>7ESQM3hnK'Zq_GiV1\ODKJO6q"6JYgAV(0toa268dC$-+G%8XKS+Yc!1KM.V0bQ;o*%[L6kV<MBQYuI+5l?BZB(X(@bc>GFefPW-eL>>p\(L_GtkJYAq]Cg!ri_<f1]"#YBCJhWH/f*EGW6@-9LX#?iF)m>N2qM-GY'fl-O?`\Tn/jtdDJ#3IS%^0).8P@%8l00&"]1Wk_jE:%BF%MYndUVMa]W3j)BF&,c5B9?c)'OGjI!Cr0.+;rID$DnG992clqaX6;YZ23R*Vp!Zrd@X.J94..+HPd4$13[\S20W]7F!Aq\"B]'Hbp[-^3<>g[o*d\m?2r_Tl)p>YO_A4A:b^J!YN8T);1UWL88:.MQMp9\LtjLOu`HlgkMDm!AG<8W&s7D<RVOs8,[9j$uKeOp\Yn+fQ`:r%La.+LbqR>Z=uR0$VM-Z9d%CEN'Ab-<LYoV)#h*!F>r(Cb63baoF7":^(N\4l*8)`!M%i!$q+pO>+dO"VNDu!6K\IBibqE""(6)k_&a]k)"XWFZPr`!$nC[(Ed-HpJD3$@K]\&4<;OBJ><R"o`c])o@IpSDSEIqahiFK'.V6if!tKNH)0!F\NI`NYUjr9(HW7a/ESkcb\6Gr8FSsm>t`=j1?hUhYN$MQa+Bs%(i?cpBQD^F]W_d5p;%tu5*rE*D-L"--a\2G)VOFF;6I=NKZlb01oS2`VDq(9OYW!.P"8SjDub[j-<KN\EG5Xf%AHZ6;2>ERLl*T_,J^;Z2M_EGTA[MPl2_mSEH"/q#B1Nqi<4+]3TCDV8g_gjQZ-BN!"K)j4ATouA;BUTIpq-:\^,dMpS\0/P%mQOKh)\WE/QHe""ub=?9k;Ln:EjL$\14\HjheQ-h)_,(jSFEOD+8*EnFWr$o9!OAEMq0!/=qEj*s,]d9H0+SbYMjAj2g(b_NaDXh[.38Bc&r@8I9$F'IU&+SgUCJTncBqJ8i=D_4Jn+Mk!P\3cOLG\2cI!;$CfkgUOI_LrEdiJcLu*Ets.P]2)XBVU5?,%0gQ7j#*m5WK;3K[W8DS5RP2:4Z/Q):-"IdX#[2k#u6LhD(Ao[YsZ>H9ruMk\E*9["`PhHLpAsmpu&$Vi%1<~>endstream
endobj
35 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1439
>>
stream
Gb"/igN)%,&;KZH'U\-ERi,*(G&bZ1%nW[i:0TYLVRJP4<[(\'/B@;8(QqIS9I3kOfqe=<B6"#(Qb_V\#`94_So"#_kCe4I+leoJ0MWqu@@/:-r(:9h7NY)=$R^mN/GssHg<8oRO?%h,)@0j-?Xto>B8h:4-?%#eft-g$C8WW.C!IE3+@=5@1!5^[;/RXZ)Th1"bDXbJWl67b+`frcOGj3C7T)>fjdI\6N-tVQ?R_8p;i,B%,8DXPDT5ZsB6qboTm[d>S8;Qe>#g-4X[=,D"JXM-W-'%MF"UF4QeDo0m#@Rl`:?T4:#kBSe5$OK/Dm&@HdDA;rMNk#F*hM8E7&V6,"D"6JOkDJc3+h(UJm%#lO-[O?9)rB$XLV\\M15qG@E5.X(WH\_pQ?C_>^kcX.#qie%_^QgJNtd4VZ!AX</^SjNjGf\J!u3*)H0@E29TRGu]lmRNZO5#$Tn[2nRBH%-uEbjfgo_']6o`]6r@$p"aAjS@Y1i,i9_-fM=S!M!!@fd@s#-.)*/g]-h$%PrLqP':99$^<W71L/=cn@A6AWf<9]'Z(<3ugYjD,*M8E>_U9:.F."iJ1Q4q:(0/FPCJ&l.e7mJh*D#$1<.Mu9n:P#cMoG7)(N.]N3*b.*5C:<H_qrWR2NSJ_duUd)\L03JH'`s_Std'$E/XNS?EL6[)WnrB@;B\":M?qLY's`(4!PX=b?ma=/dCldC<;seF-9^;]Pn4gO'8k\O[eJddmAkB;HljABAD__Yjbghl`H/Zd#t<t%U@s]bPC.p#AL\p+&A2Wdd[X]?ln#GGuU5mb'O\S4'-)+:,$CW6>o7C*!"ukj]cT&8TWT8,s1?mc&fA+6dhp%+`3JKBGdBtr0P'H*.$Os_\;jk&TD_@0:;^drr=]o;/n$Hn,i$ErcV';*Ba:9?I2tGZk$KiV[M^K(Ne#\(S%e!jW$$43Zc0H>stDG?8u4=?@5qqj])pnRm-8CVu*?aZ2qeV.PS46pO<;MkTmJt!!AaoZErfG]/F+PS\"e.0Z1Vb^Kdnt?U#WnDf9RcO4348okLb;ZeR4rj'k'-j5)hH>\;6J#tBV85W'U5A1O6/m5Gc(W!6S,$85ol04]bQfJ$]EJ-L2toEceuQl^d257Ag-l<s^'=MQn2!Q3;ABj.-3NC?/I3@nQ#R0=#DK%?rX7<"9-AgAj9R-.5T&.0,C(HY?K+_'rHn4Y(W"]JAI1f["#i==0nO)"dVqU2g3l:876TaIh6/Ps9Rd5"ut88!U"?82`uX[T,[])MtR+HM!uK5'0E35EGi@+`I0%cB$k6T[7u&Trhc'q)=)Af-(.i%T]!dfbFRFQZ"Z#7:&L2;Hpl8f'[aE1mgk5_'i!i<f"*'U=W$kCpft_5]R=E&941VLKNWTWMKtZddR!I(C_eJRuh)T:o-&>a0G(cb?4JoFsIN*l/Zlb7PWj%1bpfA,~>endstream
endobj
36 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1466
>>
stream
Gb"/hD0$US&BE]".5]L4DJ&=`8unl&CX]*.:8b3-P3H1B-eTb-,_5:WgK/od]5up>2l)9N0K-XL:<W(jpA[J]6IQIHrq\>m57^<b'bFb`&.)a)AFKhL3TtnVXXoD2?!5h9q/dD?L6+FY>%gY2f)LlKR%+3T8-\P)i7[\Wk@pIWm>U2#39*C\R0-9Or:b4VWR=?*^WnHXPB<(SKF=1UaplH0-*okrZX0f&6360HleP!3^Bf(0;7e4$4*Uh@bnF@dSDI0+[[Fr],;c5@(X"X_lK*u+TBkgC[q)^:C]>+sH9$pfNl"qZ=sSl;jFWo8R#]3qZ7,=929i0We-c9knl=MmXF8\bE913)rBectfpf%a?ScUj,U<?abMYU<Jm8g<GrKtC1_a,o(h2GDARHc5A&'mu>Z!m'T#L76SqS@riFVYSOm340b!;@M&qjbSq/bE6(RH/JKoc\[2q],)ILM]F2/Ts(<BB!.WmYZ-=/4a86VAh83gCb#c@jmSo?NB!C=+ks];'r.BXSZTEj>C!J)9YOgt^uB_qERf0jWF/m\f)o*0*AcBZ9GpM&kEtL\!\8TL'e,h/Abp8!jk]@Xe**3-[Xb3@0TPVqTM4Vr.6^*+aFEOpf!OOBdt#^\2[oaA(=qa&T`C7jIT%lut;h<e`G%c&drX"#LE_)//t2?(F1:dDRKi2"=jc@-]B%7U9&?ph@"#%GfPYO<7<cXR*q=;R<Q1BX+u8\+aj\3iI`d*Ro\1%\D<r1&Ji!UcPn1a?`e7e_@RJrDLD4C:;s-<U':/qass/$LM)1RA:]97V.U,SKSNC'bu9\%4r#WZ7Z4&)]e!n?%e.#m']f"^0_\=XnU/mE<!AUUT#h9&Os\(;#/lZ)N(^j(Tjq_8f(,\iPl2$FQ&Y\%$P.F00Ls.@`/gl,qrBa&<p*%*47tL*=GS-HND^,jGTG06l2p>`3rEnq5%qte^+Ve^-#V9NQ'$_\@*)6QVqK8$k6lPH4"Uh(,9dg<CIJV2$P=gX(cZ:.^_>E=j<%g8ja5lRNW\gpn2'RQ%:fKK#qMS"5!GVi#j*G#A2Tp*)>Fr#<56[5!p>5e"!BgoplaUSA=*?K#>+NrMAhBE<C_+%L`MqS/Z0!8k!SrG$3\#=r3>s]^SI:JOt+i?;M1(!_C!X0:;.Trr=]o;=UQu!3WqikV7<J+"j3*?GOWqL9f0o;j(^ZHHeXdcp]4?`X@P0`QQSc0Uj=b/QZIe@XC`E)#jgpSG"\Od=$t/Mnc5SD(Ya:pG%c%p+c!RZ_m\uiXXMS$WZ0)\$bf.aGp6GqI(KYYk!FE"cUn37QZ\k\Qlph*&='?R"3,F(,-f[!ljP6;agF=hZb@!JOc@c@4&SDKP"OHoFbYmP'[G.!g3VLFs.cAj)Re!$#_[V5Yb>FI_fMt_0ARV+-\jJWPHmf[#l_:nCC0g<*BVE&VLW#7Ws90rLV*hd4]'e9$k26K=R=5deahT)kV3~>endstream
endobj
37 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1374
>>
stream
Gb"/hD/\/e&BE]*;\7TNXFOt*O,n^uLN_<($qob!HV77Iims,o7no:f?eU>fWHB1b27b,r'AK4@jS@,sFhdErYl"Uhf.\T5k6W$@"9P)e&ck9%RJ]W_9L^*nCC;N*eeW^Y4^WoT.253-dNAS#rJOA3j957=AFc$[Sum=2k'?7[S5IYSO[u>u!9;c4Lg%d)&`iQXjk8iAO"ulk<)bW[U];[`8CFgV2-^LqjR`,X6(2^4[+geOX[/KEk6Yu9:L*S>Pl#;8`7@SN]@9^E`i<2=]I7g.g`K"MPM>!L;,)fI<oG"46t02\kg^XS-qMSMo"68/H2[U6?gHVc?/%Ekm:ZS(]&"F7j7[-adOV];Sk-n2BtQ*`NiWdI@UW5mKlFJ2]St&Rk\RQRN`<uE84B?&2H#$E<BOJ:D`2XJpA<t&c4?$6\%A%[>Y3'tRpO(Rk8%budQVY=:5+gi\A`h:0<.KGa*bW[Yu@.G,4/BP=V8>6;NQCGGms.N8ZnqN]U:l0?iUio+-IC'H>.UX>Qc?N8d^1Uam+q3;M$ej-AsJo.#jP/)8ST]dr*cDi3qOODsrD%c26/Mp3Z1Zg@54@?s^tr8jN&H_C1asUZ@E(I;DL>)"3ehHTj\%BPFh/LaiX&8E6EtXZ*41=a$b"%\7itJ@W#0K*-i5Mu7?VWg9R6e:6QBgCY/M5;]&H<t@V4H1fpJjr<<&S_WAP>s5Z/jI\Ja[1'TG)fh*V)02c9@)meW+X`bF+h)2R?BCHr[qZ"\?YA]JVq^gQ0X/[ZpFRB">rT"hN:k?l<)q,@s&__\6h;>u+uC6/BQ.<dYhO7!"2N82N@WN](rZ.'^Y9E2%o6OA%&Qf94U*U-__^K\(da+R&>g.q[9sANS_jYhqBUom!Q3lQil-CI>[FoXEV\_YEk:WR<)4Y4s%3\]`I4)kJA(O?&VpGu:U@Cl`OfEs@!fll)aM<LaIcPaqoe0_nb)Q4]p^Q<?<3!,c"L5'a([Smj.cd->^pV1+FtD=dAZS#,e)I5Q2GJ$*kK6*]&=%Ii="3*L$0@AA&&S!+<H_;;!K8:ao-F=N?bUUE.fqc@I-?,hM=L3["ST&$R+&,6o#`j4GkAB@%$#;7HQuL;CdG521UZM6;.kIH1OFKX(+h"=tN\PLW0MY!g?@&>%YVb3Pr9ghoSo[l3tQTJ7;Pg8i`Qeq#ie`K4"jqcLV=XR&K[C%cm/PAam?p^7H>>_rLg7%cf=*_]IlHHt`rH3%LN,R2i:GaC-3HVb.FpW;+2%WR*#F^+=nh`'lMCV<"`]VkY8_i<]JdE'+1Ui#YAtEpZ@*`K-_fn\A!(=/$6]5iG&PkR^*$MB>Wlq!fql@46SPVo=^l"i":>OBNc:6h03a'gKe''@Rg*g]~>endstream
endobj
38 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1469
>>
stream
Gb"/h?$"^h'Sc)P'g'k`2_u(np?ZG[dPg?se*44gan0bkA<VO80t-CthZ[4TEeOq--B:5s)_<"D&$O8eha\%cRXSZ9m,s'"0HoJ#5_+tg6%J-g9R\4)-_l/\Rg:6(2\C5B5OF0:+_6V3Kgl,_q]D6MaU-o"AFbRN?EK:f1Q><Sc=d[p)%rWb%R=1>T>G[`?Co_<VM)(l)Sb=e2muJ2nn,:5:>P"]P4&NlUhNQA[FutMNMK0fErS!C5#5g*5u>X-:c'F",g/`9=/0"V`<DA#YBM?Cep:5<-=LX:0tL^=1d*TKfgA\!Y2uI*OZ)UTCl7N3Vi)a:l^BVMqg6)b);NdYM-^^eemi[?6"!<O`XV"i_hVTJ.a+;=A,iSf:rkS$==.p(W%omQZCV=pA'iM4c;U<SjbleKb%9@Q7p1YtC"V*NPXs@m.Uk#(-1sd?MPlBobuS^<^0@c,r;<qErPRL9(,h6cB@En`j_U(!7Gar&aE"FP-#PH0a7E<-XV'ElNH]-$/^iKGRhXsc82BbF5E#M^%-2/<aiDM=!eh.c#n_;g)$ZBR#8?pEjrCL8&UaBa:EUQ+4\,Yf9lNcs$X05<OU'Lg$dA6Yqg'nhDSF&8g[EYtA`<ggi8Vt(8HIL7$I+u8>:CZ]m'<Lb&_sLbb^=pV:sAIj.,G8FZuAukQ3o0W0]%J7q#VFaZ5n72JBHQoMh<O8#E/P/5utBe[@r(EJ"K1jQg(27/o^b3\KpWn*p%*J]ImK-?;9m&CI\:QSZESt>@eqf<@s<@aoF=$=9XlRe,j?b%&=8/$`'m[5jS=3B(moFQS8D"Lkj(Q'g7_tOW=';#D8OY4;g`Q(rhM)0Lp.CP/@YRLO%N8Gs4$'Ygstb?keEIg7kl<6Ro'9>j5)[,;?b1?pN!B!!`6Q0JG-R"U<HDr=8lq*ugQP#;GXjn*ePTfH\k?JO0$Md34$++7>fP;M4L#9C?4EXc1E4A@N.(oJ)3=JDkIBGl-qZ0$ipDf^s9,0l<D3aoMWl;I\i(pIu8&p@?l;L]J$qg"H#qEu-U!?FBe?d*PhhZdn?a`U!'hqYE7fRP$6H<f<66jaJp+(XlM,%p&UJq6:fi!%J[QK^k0qDV_X2rh]`-e_gg8nV(fKKrk'$2ZgW!?irM&LEmMPkQ"#F*[VM-k.$(a>f,-G8@4Y=8.&oa)n\g3iqFX[itBA<=Mh;i'HhMY>"`3*=#aN:_rNe7W^&urMm.?#j?S:-BS)6OO^$sN\fV-rFGqk`$0*=[q%4l&TLcE>\nDY>@ogX3aq]kmd=;SL)^"a8*6@_Yb5dD%OMgKmW";C6o'ef`@0ZpW]<(5VkIf,E`XW:<cLbcUkiIaj5X5i]gd49q`>SfPa]sWVj-klh+Fl]<Z:+GXqdUcLT6+)-gXs53#jCHA"$f*^j6ZadUR*><JH1IpU,ED`9tnr!/:o<%7-1hbd8N:>D6s1iDL&`@m_#)3bS81_5;o4X;#~>endstream
endobj
39 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1390
>>
stream
Gb"/hgN)%,&;KZH'U\-ERi,*((5kQJH:U*aF?3-rA9nUpTWLVf&rF&t[gtlr,3_Y*`%Zs-P-"hr,SiVKbPaD.KZ65WIV*XfI\)YkF%-uoPFO=h$8VF@4I_;dO%Kd-N0Y6.G<?pXG?r9(5beP#f^1=IR?KERIO(+9AFa8Pp5@R!FZQEL;o!sW1+?^t8,o>`F!Zp1qqoTgdH0L?+Fl49$AKh2Ym_n-188?@nW[eXm31%5.=mJBpS3t:g]-#dC4!fUK-!5^U,RM!9c&DXBHVVZh0O*"Z0//[;UW"=$C_qOASF.NGCH#+rR`Q73'I.S6&LDp7b<..pR>#0A:,hh,&CR2Q/q%FUJrDIWMXE::KD;Va?QMP2NQ>Xn;BF;K<SXKI:MHL6PnL5.0olO;(SX5WX.Yj1clu<F!M=_#V_Dk/]dnZ]*L*<<s1Vs2TkC!W8!N#NJfbZb`e,O49>*DoZ=)*H,!Tl=QdQ%=24dhb_:dgIkKs1JD-D"BPHti\V,UeM/Y'm%\u]bD?Jua:oE"'0T/S<H:S3QV>W'U#j7--H7QIAh_2HZIY?KhrtSsfBkPB(O7d8!lRl"VJ3:e7l?Fd8f'4%BH+5D?E@pd2EM?C%gnF+HYh*<O?3<d?^Y)&sh?HcYVj=ue4=)nQS=pEZCRO;@j\Fm\J`E]-ne?/5qeD(&>(NS((pAPn&=-s6/&=3s+`pBpa8p%kqHZ(p#0<PA@5bfHgED9=?>D3-)CKVWk-^ac2:T!lqphoG27logU+"m#SrUiM2`L!oFEt8D(58<Ufj[.jVmA&uD"5PGg5Hn)MFmkMj0"45DP/+QcURGcXU5DEKkqT8X"qUCfJ(6EAIpGGW"%)T&#d<S!$W$1HodB\qCn%"IQ`od2"i)Uh&+W.#u(q*J3N>;G@Sj0-5+kpAi9XO<0$heM:Y93!P(n*L%m0ZGH1h%U^qh^7O6"Vf\^j8>?F[KQq_)d??\pRpf2m@;qo\b@Q9!F;3qGpQn^-*R<-Y(T0\R]KA@:gn-J6:7'EO'7Y(ZcOQKeW5iXmPN;'$p+b54f:St0#gD/;@(L)<:*8.;;)!M)_'\kK:%0MM@ZS\RBGLQmOF0IC2]9_m^+bs1])FZ]q[cGe%$<8;S[ZCQ+Uk"a3C'/At"d_T>"#)n=3UDh*XWu-EM&]:ODu_nK%3k?EKZ'SCM,8eqaPfMsO-CXH*ZkbLGcu_.hG\#k`],hJ>7hBb/TMZ/49<>E!![%S!+=^q"+sII+*$$43,O+d"%-[:"9p;L@_p_'%,i=:3,O-B5;ka?">QE)5JGOiO22V3j38+Me)n\\f_eRI#)3%E!XEOjR"L7VlTFV0HWh8ZHM;YdfN.I6A?=Y=MaV47,m(G6TR-?(c_66jnL8e"_u=)T3Z-P6d0IC@B70~>endstream
endobj
40 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1399
>>
stream
Gb"/hhf%7-&BE],<tO"W<^8L`49"O"f!WDM@9>S"fIKNjM-E&Z*@4kfqpKXu8V+"^RaH;5SCijD,0tH\hY.\P':++BqDHJ'q0><HD`H^-9FAY!,+8?p?;F%_7r+#*S?4C&iI!]0+/VjK^dnQ\o?CWQ1+-^>r^\@XaQ1>*lLQi.Fh(nECCi`V!9K`-jF9S"@bMrMr4]f\?):EH&s.uC#*reOO_#fWM\.g5UZCM+qnjOi%cU:olLlLQc9^9XdWIVUZ$!kHOt*s.%+Z;)"=9>61jg?A5rQKIEV1Uq?_qoC#)HDVUK=dPTP.kVQtFXcfrN)>*j<^9moeDX/jlrVS8l-C)iBXDjp/%0X,UKCn9aje]%a`j[m2_>:UlABA'E'^e<0KhQR&fPGd"M/kcK_9#NpA__KfW.oA'6.';":oQkh5d<5Jcs;6'8m(^nM0Dr!\AXb7#8,@/Bi['39VjSi*5k,N:QT<$-)mT`au>KOIjFM&h4Y53ggW/u<Eb'Q(ZBuJFTmZ448HpB7!k7O*qJA*FjdAbWpFtktWC]K1"dfm<"3oYi<<6ecS+'^fc37pG3Uhk9j9`9<aIMbpeh6!-meB--k:ds7?3hff@];fYklc,$HB&rE\1GoS;)cHEE(t)8m8DuE7l)6AAk'=C!ID2W81;.P6qpHTF=hq-LXRkp[=Y?WOVMsR@KmP>^FbF!_\$$b(UYBP2UT^<$K'5DpOd6KDos/o<m^HPlbGo"*^T8p*#HTH?=NlssA5#CW@Iu=]&MUbSMMXGNDn6ja&q-Pg=rl[h/*"TXH!b>54Kj[AcLnM"gqVYCCuKDta4W;Kk']a5!sb>M#L%77.N%(f2_s*;i&sSG*!@S(0k6G>V1q;82r`E8k&aR:FqV$6+WXR;mgBuJZ6K@erd0+[86GCe@'I8Nrs<)s,NDDh!!_5\rS=%FH?f;4^gR#;kV7V(*3Pr=@$!j3$m"JuF5Si*FEe9LoFZqT!Q3k_nbV,u0!F&h\Fafk4l+Y?WX5KrVSph!gil<ucqA#45R_VAbg*(e+1mWNp8\'mJ;.?p^F[Q(f.Y2)]=U.N4'g]JQ]';:BNWL!`H2m97k=SK=uKkC3O=<Q%HE"12X8s,Ip7P\DXiF`q*MLa6IgI7/HaQ.BRpE(0o8:HFT`mc:D4&dEnJ5G[P49uP)ss%&s7.P1'8FNbe4t(0MZ3fK,YULrJ(c>`DFL?UK?Xf@c/^H_6^6h.F036&"#.'0ipY\,75#'a,%Qh'A:5^V6;Xb:gO,t%fnRB-"J'5;'8E!F)PUS*7Dh\I$J[YHPmgj&]d7&9b,UQrSTpN"$(Ie6VP0?nH,Z5U37C]I+DWD5RmlVr"$p.KYI?i9%^up+IJ&7WB;*gWDZbWiE[l0!":4T$m9:*mgfih;?"Z#$Q_E^ec~>endstream
endobj
41 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1437
>>
stream
Gb"/hD3N[3&BE]".5]L4f?Dl\[B$4<lU0*7Vpjn,,h'6.,i=a"OT;rXIJX<<%!Dsf\7F#tb]/0GQI^QQir(#$j67**YC=XHO!?Q1#n-qUPmf&g2YruX(_&Y;eeZ)PY:\c(GWH1m6`;!P8:q?/i=d/)f`e>Cg#t",4^4J*RDu4$(H_q^!h&-6'6'*3%s"_\2T.e/T3i%F;D0O;8sN&0Q=YS_*a/;TO;jlb!rMooZ'2UX410E5Wn'c2_`X(Hi!HZ@-bs#Zpj-](.9.(OZ.dJdB4a<_*sT8`&'p#;gCl>EKl?`!R99un=(;g&+>LE"is'\sqXq$V=2E.M[WS\;d0:*V3]S\1okXN8=/^DXOH.@h$D/ag9Lbk7R<.(o'NE1CLqGFg8@$En<+S-^7EhUa9)Zj`j4.sp^QI9Xn!@6=5=4drJ!P)'j!N!HQi"aHd@s?m>]rslE\_[9DDn'*S)m[U_n9=r[>ImE[(V@b2U:nuA/Y:!?Ut,K#'N(Om*4`S"62KZ5fe6CAW20I7EuHi:r3$\<u6+T$6Cp-@,P(_/FX"*887%5,'b\B-4En`]WW^#kl-"3kP[]':cU]`&LQP-G:c_.G)AHQ>Y)O?o>XKgf$lO8qpds4RU)&j?7t+gSe$U#GB`lMGlD]fS1WPBpTs+g*)GS`Mo"<#Oc/qk&$)nY&0u2uS@BEEA]+lf_HeaR:Pbe;iK"j\ei_K;r[n)`*TX$E6aL%WlG7M[?MuY#[:FJ]opfpC7VYZM?WDf]),dLjUafJ&UfM'"L4QdfjL/YkXi^VQ")JFZI[mSP?g\+%d^0%/I1mtLk)D8%Z_"]LQHT*6ppc:L4(\0K_T!0+4HrBqlp;u00rEcjZlM+,]<I@KNA4e.89Cc!fa3J1Enl@>3!d[*#aeaiM+D*U9Eu,#(\g$/OW4m>J%GO!bQSdAA=Ug:I>]qFh\8Ub[C$$lfEEPO`'TWM?6SmV(1]c^1tl.MGQFIN;j*Z7"\KCECc!RSU]\<q%,;'u^1G/L(HO\_OGMr=FE-^%dMb0Oe^qj(SQ\.B!G(FH-&tgI#UkC.`]B66>\^+;O5+F#PJ]bQWtjmKg5nZ(.J+B)A-4:A(+HIr^o]mZO@#mEOon>ThoS1U09_#bW[ERn*"F(rccKg14_6NZ+pUQ6-\n95cBK<G6(SHD";aZ=(]j^P5(.'d6AZQ,JJ$>M*Z30'(^0@B!5ndtq8O#.kVka&c&VsW!OY_=TKQgSn0'#JZ/>J(P+*QNN#;E9O8nJ,a2rqjh#&i-[=s)$iuBsA;APdQ8G6t]DUCtWrD:7^d4\q8'+&ZON(D"5`%j1rfDQ?%;d@1i>sK$ui[#0R;\i77F@E2t_+JTS\eh2I`MOtbdQBq%.IP<0EE09N7++E?FAG)a-&cp!r89b"10j&T$?(XFW">3PJEcfAWCh7f6ta]7*7tp/b@#ru-Y<`g~>endstream
endobj
42 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1049
>>
stream
Gb"/%gN)%,&:N/3lqCbccOe$(EV3PbfU6>4S^q@-IH:X>Pt72kdrt]aKd9SB?&H'-:""g\64,]j*ZaU1HOtFHj5u^^!8\t4T-L"ZU]coU6LlXs-'Q(k)aj\s%3hD+_^n!*d#?$q97XPN"j$hCBRYWq'-nskX8`HFlH9?DBLi[_@i6I,JNpqt"0X?3OZA5?XS?&grn*ZgqGUCrB%^JOi<M^jRU.1Pc&RT?c&J"Xr#CNr_^_^;P\,f:K*Vca*m0ZQZbf7enGN3kaGA\A_bA4\(('t$-?:>uKH?g9>h?<\SYSujFGlmHqlhMaRo^qEqg"de#e.>jYj3ED*CD#<7=d)0/R\G6__5rooL<-Q5M8MdCf?$FEIU:)XOq!QWg*CtApL22[ZSdfNiYiA,YdF2-p5g,mO^4)>)\P8`0>&5rg[$gEk-MOamJ*bjm'\ZVcW<Tl/R/Z(/Xf%m+s[k4jp-8A+E0B8ZNbLbJh>*=,jWu]O.-Je>@Sg?2-6)@eU-?r0:Xbr3J'7I[7jkj:hrtGpt%C>@pJDP\(eBi=raB;27Y1r<K5q)I@Z1+n#FTT<3*%dKng>ecQj<gpjY.f0]%Qj4e/FW]I)8&#b+LTa$aS*i"BEU!-9Ra)ld^P0sC*9<"<iOQ&l@?(QCK3p!0$ML-gamW=?;Pc>SI8Ol<RH?jjV_WYBi^Fc-o0ss?_&)U.r-:;Wb"&.,="\chQ]*SiU`.tq7/XiS`(sV$c\q.8>0WK]NUfp##eGs^lC4OZI>!NqT5hM/6&4SOmg[feK]s!K44G%"'0,k,DoNK/jqKr5ML1*apf6W*YOSukBR#,JZdh`r-4/RoW__B`\46XsDUaG2cFKUS.Jd:ULZg9Q(@8)kERUJ1g;4RS`q:0UKLGTtlDeFKZTK7T9hpa@hMYgaA"rc$)O5Ll=n2<A#?%3p$$uT&4^Og1`bPY@?h;"UAn\`6H]:Z4nDQ@?6c<7kd`8th'itmpJG1ds4IU(bg0e26bOL?Y<mRXeBZdntZ@m!H*?^Si?k`3F)NPCPq5W/UbN!IaD7fnm(!N'tG^A~>endstream
endobj
xref
0 43
0000000000 65535 f
0000000073 00000 n
0000000134 00000 n
0000000241 00000 n
0000000350 00000 n
0000000462 00000 n
0000000667 00000 n
0000000786 00000 n
0000000991 00000 n
0000001196 00000 n
0000001401 00000 n
0000001607 00000 n
0000001813 00000 n
0000002019 00000 n
0000002225 00000 n
0000002431 00000 n
0000002637 00000 n
0000002843 00000 n
0000003049 00000 n
0000003255 00000 n
0000003461 00000 n
0000003667 00000 n
0000003873 00000 n
0000004079 00000 n
0000004149 00000 n
0000004433 00000 n
0000004606 00000 n
0000006289 00000 n
0000008501 00000 n
0000009864 00000 n
0000011100 00000 n
0000012458 00000 n
0000013785 00000 n
0000015063 00000 n
0000016495 00000 n
0000018034 00000 n
0000019565 00000 n
0000021123 00000 n
0000022589 00000 n
0000024150 00000 n
0000025632 00000 n
0000027123 00000 n
0000028652 00000 n
trailer
<<
/ID
[<dc07abafea84e7f529b605a30aa2ab8c><dc07abafea84e7f529b605a30aa2ab8c>]
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
/Info 24 0 R
/Root 23 0 R
/Size 43
>>
startxref
29793
%%EOF

View File

@ -0,0 +1,506 @@
%PDF-1.4
%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
1 0 obj
<<
/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 6 0 R
>>
endobj
2 0 obj
<<
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
>>
endobj
3 0 obj
<<
/BaseFont /Times-Roman /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
>>
endobj
4 0 obj
<<
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
>>
endobj
5 0 obj
<<
/Contents 32 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
6 0 obj
<<
/BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
>>
endobj
7 0 obj
<<
/Contents 33 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
8 0 obj
<<
/Contents 34 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
9 0 obj
<<
/Contents 35 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
10 0 obj
<<
/Contents 36 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
11 0 obj
<<
/Contents 37 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
12 0 obj
<<
/Contents 38 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
13 0 obj
<<
/Contents 39 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
14 0 obj
<<
/Contents 40 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
15 0 obj
<<
/Contents 41 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
16 0 obj
<<
/Contents 42 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
17 0 obj
<<
/Contents 43 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
18 0 obj
<<
/Contents 44 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
19 0 obj
<<
/Contents 45 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
20 0 obj
<<
/Contents 46 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
21 0 obj
<<
/Contents 47 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
22 0 obj
<<
/Contents 48 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
23 0 obj
<<
/Contents 49 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
24 0 obj
<<
/Contents 50 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
25 0 obj
<<
/Contents 51 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
26 0 obj
<<
/Contents 52 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
27 0 obj
<<
/Contents 53 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
28 0 obj
<<
/Contents 54 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 31 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
29 0 obj
<<
/PageMode /UseNone /Pages 31 0 R /Type /Catalog
>>
endobj
30 0 obj
<<
/Author (\(anonymous\)) /CreationDate (D:20190221153231-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20190221153231-01'00') /Producer (ReportLab PDF Library - www.reportlab.com)
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
>>
endobj
31 0 obj
<<
/Count 23 /Kids [ 5 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R
16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R 24 0 R 25 0 R
26 0 R 27 0 R 28 0 R ] /Type /Pages
>>
endobj
32 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1737
>>
stream
Gb!#\h,E&f&:`#5TqO,EB.UFdZnfE*Kmn!]^`?/,mNhu@dW&aA1$*_2rN.)5Q:!?_qa)\W?EJDF[m."%((c3b;#NVH'CoR"%R'mo:.A.`P"IL@+<O++Ig4F/-bu_o?HZ1Q[>C9j,$(rk!*#3?aCn?BiAWOg:.F\FjhK0$e)lU@&R5kn@g^"2]#S5[%Hhr/@7IaZD&n!jgMuJL=75gd^7J\l84:1^T:LDC,c=]cY#!-r*47H+]XT>=A9fq:\,c6+PBg1SjQ(JJ>KiC%4t^I#JrHud*Kj2G(DiuVc7^eRiGK,B?4U07G\*/C\;L$%Z:OP+8nNuqQHq)UYIbIl:l/OPGLUA>@S,/NUAIBI-75_#g_-;;<D6L-JKT5)VXFaHk!ggCl[S6"@,^4Hh-Rq9]tJ12gT0>I]aDA8Q*W'U_R$4GHY*',e9F'YnLDB%_lHWT;nK_XrbSSNXUKku^Y1R!HUG-,bOnjgc)PG*-`_a_FVB<VS>sk/Bh8@0,qs)@IS9CLI60Z7<>2d\SeVhkTW9ZDjaM9q3o:MDhH+31X)=diZ??jNEXF;%Z*=o(2ddB4jhR`HehI*Ccl4m@>_@f[2D1-sG&+/]G0BgoYW2e!!CS'B_!/?^35MQTb(I<P_Ms[gq41%.<p2g$MI?aCQe<SI_PU:>CqP_JG\j.%4G4')-9m[C_e\R[^h\Y/"$Ftb:%I/R@7O]DCaY-\qK"Z$2RKm34)hSofO\K7iSp:mcXIPe"e;.D!SnGoCTIUOIiXa0!,9%tL3.Mj^;G60M^csqq[6D>=L0<%r/iN;EZ8miD2jQ\[=[VI1%FfO++bDgY*G$Z5#g]F&$-Ts1oJWkO#Q<>H(WkM:g4:7o>%HJC.3PaQL42#1rGhXZ8BachG'mV5KAO<a-YK<_9MN/5rj62!"-OZf*1g#P%<>ZG?XE*=\c,O%C`J113;h2G$sb1r;*d9?#'$_n-j)-PBZ)`..Z'9A!&<0I"BSdptB0CJ.DW@cuDE_WMT%7s!ZX'`6n?t)>6;2fZU4n[tc!X[;sUR6M&_a>.9elB0"oFZ<-#DA3Q*<)Qnb1LNFXrjd&sYdSQcs^g=un-0n(cAkiO\JYi,[+E0HF"b<(u-nT[B(o-hVh^=D1-s_GrJ5<87c5P.F7,]/apu$eqF#aO\9a:?E&+<^O;;Tm:P*\C;/^Bfoio`ZaXS2L&9t"_N0,VMS`/7R_]X,#Yj(Z]$W:MW\iGqs^#Yj>=DD9Yf60;rSOSW/?PNU2!:;*:/Oo+R@gmJ!2@JFq/$P'2>eDmU=Y>nj*fOAT5E:mE><c=W3,W;^SaGP_XZVam5HiU7B=RZ<//I7/OU4<Oto""B>TsRu"H5fiM?3])'[O?mRlnP+X;-=Q&HUT^#?d'kW1s2!eCjG`_@`dUkWJO=a#\C%Gb&U>4Xqo&=8K+jS>Ebk&2mKq<8ScJU$o1Zf6BZ(\85_$S89-%MP+8_b6.52o17p-?U:YD+rqGT[W8:mUnH:q.UV2TUJ)gHH8Nu=jj26%.7<f"CAsf^d$$R$[&/oIr#rGWpC6m##2AT@FJYg3dB8I:T/CgJVV-;BQj@kjj3F?]WV;4cnA-lTJNqRkthaNL!kBHk&5+kg6a#'l2ErC8KN?V0c/&cdT%HM(Lq:`PF%$\EK/%KH4:s$hlP.M86Q(6&K\Z<JAaiV2Y]As?bSBNM""smAQEYiqnP*7mPImk/%H'qV%QZ7S>QT6@A`tg(KR8[SR.'(94Y@R,ek8XYG~>endstream
endobj
33 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1021
>>
stream
Gb"/i9lJ`N&;KZOMNN4YOhBA8h6kkT2GL2P<Md-!ml$Ph1kZR5[f$#_9al3&%6!hk/Y?@1G@%tSAKJPs,[[g$*6eK?7W<g1J-=7&:^[`[-b,*>56jW1!+cb9Vu=7ET2Jd"Pr2SCU/:Y$6o,\.CPZjO3m/'5_J./f8I>k?.56;gLltl3_m0P$DQ8O>kWIDk'rTW:]$8c\DmF169cgW_=ju$*U?u8%>-$kHqmm-IP5BC/^NCbf?NsQKo4QXfk?3?>AUIp^$Gf(5M\ILN"(<Y*#3#CLdj3i;SCF]PW.u!-gKf[6*_Lh8N_.b>'hbjHn@%MO:PrGE<=l6McR\<i\U\Lf,fk%?'PJ3(ES`DYYHL1'/'I8/A,fLI-&Q0.QbpAd;lPWheY.i]fSngP8*NEg3f-cgM.>D"6O\qo'?Wo,1?29$*`eO=-JVe<LpQ_c^0#7=f&P"u9CWL85H!3'q;MXtUMTdBR]TbpC$K2fKXPK.D*FGcpY",#/_o\d[l/u3c7Z'7$\eO[A@5+Yl63:4aFd)a$?n0ZIIP8"XMkVEIEY5J-J4^]*oB+]gsgr#DG'"#DF3d_4Im<UkdQgJSY/=>c*DDE<;5"k*3tH"-1sdBh[Y>5q%A33._gN'iTpAl#RpV`5r78==<?;7[h:$Q!0>8&"/?Le;&S:h-,?uF^l?)Ai)(BM'2f/+W!pc4ITc#T@]DHi]5^'IQ#Z/6lop*Y8PG<#4jooJT6MlC*P3?(*P7AB[me-T;<@c/Oo#<D>L<buh>CI4k`BuKG2ti?ggLgL\TO![Z*r64JK6gm4*!E'+%L2W%"IX+G&0N`akFT."i-Vs"Rp;X+1KW`jl#Oa]cZ*f-Y5"&pacPS(oE73V&[,g]H+YGKf9nKe4g"ToL/+/o9TGqPUD!*oD?%WNird-I/po!kh$BV#!01C*DOSg^$',jp?4q\3`><=0[5)D-K?D,cm)GP"6eC<;k8f+4dsp_T.F:'a*/*d_eM2KrpRmAg/T5hFDk6U3eTT(X8h'e@.4u-FImR~>endstream
endobj
34 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2115
>>
stream
Gb"/'>BALX'Ro4HS=+ds3jE2jcFsn=CtR".QdG+m?A'n_>%:K(%cuU:Oc1r("%amsh<g;cJ1[>`Sbjd%^qsHQs$q-\M_U`/&Kiuj'-OIB_Y=>lNdKZ0HGp(tknSPn+7GB#MU2d&cjLj:`,sKV(sh0Z3JHu>(r&q;5G4Hk[r%NYE,5bab;0I0CkV8FTcLWaJ]I5u[$N5@0EB/b:![kV@$&0XJjJt)BD-a(#[M]Q?AggL.;(5CBgZi4mII,aXecg*;-97\X_6?a]dgR9Ma<T:k>r.H8kktc\<^iU!<T"X(f((-C!#XR(n6FE38O'8MjRKur<g)ND@9*bX26/'glq8e$i#nV9Z!/cZ]%C2KgEig$25h-_>Ph@\stL6KIBb*Glfgtkt:LP=H_a!'JNs9a]MTuH_RrUZ3;i@S7Pmb3hNaCAhi)GW%>G`U%6Cm44LENWr6!MAd(M.PQdg.au%gAf`MnN:T<E#L2p?3U\dt'53KmdSkWY8jU=>@G:$#T#?G@R;IO4>&8-MA$DZ"'d_KAJ_\:=)(hF=kR"Y3&0(UJe&Rb6;fbMQkZ!]n&R%oKAn1;TKaLi'iqkAJP..TA79Zb!f$7.8l*cWYA6/+maI.LSu<'07\(UC!POh!sZ3#LPF2@<*.@[!&eb:NpC#(P_OPcWp']kn"143t6T"^eT`R3?,,j5B'3GWiXK0k$#%FE%4mK2\uW6\F#FV^[[O?4)Kh'6K=*P!>o39NE+SggUFr_Y*-`o'J";hd(ULQuJ<,0ZS$i1s`Bok*<:JlL&Q:cJX6]/fU4HPRI$Yq>#'A1eV7F=GnMXT$MY?M2Upr5nOFp3(*T]T?\S%ZU?)s@MgrUC3g;d1.SUG9;*h*GrC!+Am,?q`S=kn3Mm!"UJY!p"bm"9fE*bGORTX2YChYUK7B9L"Y.r$TW8SCh4(H>2IM(fZ!=>5P'Nf\.19E`lZHUm(MV0k%[U=bY'*fJ*NQd1P>\QC(WuYF='MnB'?fSbAW>O`1S3QKV6+-FM&%:70!NsWDORuthNmGDV4pQj-Nqs5K4e%b`iP/hC'R.#FXJ;02^)fQ_2"7f?`Qn1KfPNYD@NkLBr.]:Pt=W-b?=cEh%W`&(Fja`q;&4BoV:?nN(W_ICm[srOZ2ud.&U"@.foAr:gI;Qb&P(f%+PNW4N.5K_"ru8E4]jXQJi"kGr)k(*j+<lp;jC,m89.:8hXABV\C%09!DW%_d[P,`eUSUR%\!"@@D)ka5]Z#fRLpNDm)FMnhTT7K\"19'F.9o;RAi`XmNud[F_E8Dme7XZA5G&6p927mL:ldV4s2(A89alf9:-oeE"U%G<6e)L,^s94)H;[]2f30WJkGKWr&"=9&I0DeKKSpIpgtS'N.9udtN)*\MaMaMENYgfSeQJQl?9h%i`ISm).Pqo_M>#g1*/Y/ST.)D's15(MD?m)jGc/3TqT.<<%f)?[AU8j%fZPkGTIVIJES-cO;p<2FjNfHd#?R.GWIoTC.Tc/6La*QG3=VkqebAoU@Yj2Ri%q/%7N#C;0tY)K-%5o<p!G`Nd;R/@bRRkBfuFlCL"$HM3Oh]9.($l]H"5&#::2W-We2;i+)Y[bsAu)I7Lo^9b8]i+q7P<4k`'fSci`R#j!Wgr)ts9&7Fi8OWEH(#-Z!G-n\nn):;,D"RE48)c?Y)PT&Hf=/BXmd,TSh0o0+*D1=WlBA[7:UPMt9)Sk9Xjr$:H>_9KYOG1^r!lfna-Zh[K@?$uCceG)&JaL*80Q:!!tlF\#mWuSWMXWi6h%,<(7_b&"h^iOn>`gFYBg3sAnM.J%`i"#B`C&Aq9SXKl+`V#JoD6$fg:"sOg^A.DPSk[[i9#hkrnX7cB"-[+9!P6X+=VPH8IAoIPP.d#n>$*1L/780-IsAq#+$b[g0t2Y+J_[LR<_c\S\pOf=Ih$dq%dt`puF[Ht`O(r66$I/EF"Oi$?7t-2=^=Sl`cR79;n+Th2nsl19DAh'=r[G6cH8G?@_OHfXT>GOO\^f_.YLorYq?3^,:R31re05'$C[]+;s</idtH0>QDXh/_f;gqEY'fD4:u`SCE5G](8c493^pd>&1WKmr%@PH!FuqNKPi>aP7>i449Io2%9Q7u':SE\D4YK=)<`rW.X[Ck_~>endstream
endobj
35 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 989
>>
stream
Gb"/h?#Q2d'Sc)P'h?tP<sdL!+(-_1DOi[[PM4F?6UIep:",t]<WE"-U^k`d$C"+dAO7$RZ$l0abO6Yi"AUU$5A)KspG!X-+eX@1!N;B;pa^`N]kag1#XD]c`5@#7M[r`'Au*gD![<iI'uVWT;f<gCLNpStHq`#AhL[NlV3%>b>p1#KhIBEu6_iT0pZB]3Uet<Ge,e$'7c:%p9a6N(Nu8NZNUZ`?@1`*[C/B+$&WFe!rLOkE9>T,sQF9r3WZiE^=bLRO$.tj(;,miCMjb\,8MJ+/@53NO9GpRhB\kc9*NiJElnZ%MpRC,^&aIPi**Kgc2L#,_rg=U=M>%KK@r78G>!t26MaF9c\^M2K?Y);BbuhRhRs9IFjcr'FaZIFK0LcI`6AIWW5E^rZR[Q^M?&d)k5ReX-%2H/=$p%A0$!&H7],A7JEj2?XCWL:ZC/]VUpUS=D5Xu)RbMiL;^r[sbKc9B\ENH1R8Z`BqDU"jjT[O+d!,;OLf`9-p"fPu7]RHK>[uX`5O*oJ=?<\;c[L-d4`+9tGjnWMVhW>]gM-:^=QUf0Sc5N,`IM_2[cMH6X4>>f=($]O8SXt<0:u>9\=So8,M$IiISaa1],r8oMPWgk%r%njL18b[.c0#0(U;K4&*ePur0Ta0tcd(+2qheI\T8D4]6X1n[n(*u#ONd:WY@W1?+jH/%Oa'b:CWGBcAnmF'QA$][U_]Vh%K'Gk<dXsh,C^cj;E/b[FSA'[Q\k9uOP5al&\?FZ3HR?)4*48RmWQ?gm/DLe/YX]HNR+r#XOj`3Z+COY[@kQX2,F-l+ZS.XO>qDFFuskCa):"kr<h2:AdW^jn(&s#GO0M>m_eH`(!k]u14IB"n5Uk\a)8q8a6r3EmJa_H%I=S6kZ0?H\*WY?*E@rfiEQa1]/eIEa6lVSL>uAdH8-C0=A]5lP8R^FRJ8,!d=\R[5n>r819.>335V^#^i><=9uP'1NqFY9qjH!lG8Tgu".+%d1]~>endstream
endobj
36 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1017
>>
stream
Gb"/i>u03/'Sc)J.uptUL1K?)O4_"ufU+QkPM!b?P;Yj@PX5[Dr;3%^9p77Dg(9)qgnmf9A,G>plh?O<+p`L)nNE<A]T;%0#QZ6i'0sf"`*_J5**`Y96ir5i,1lSR0!;g*gaQm+!^s2W<tN\ccb+u,%-%4sj^[SQX=XTGX/#f,'Lrk#dKeQ!WsurEoAVU:TN3NDAO:8;>qf6^aC):qn0f"%Bt/Y!2j3-PNOgoC]a#I4in:;'3D.Q$W5MQaBW:/Ei"B)2W`<&MiGs/QNYK!7-[+0u7W'D=l)<Jom)=18=ZLf0)(Pot5+F$_(P?'AY!;70=g=98DgKOFf6LktNZ2F]lm"u=C$\=5cfG#$VPXrA=&W_f5n,lNhc%JX0Wmd-)IS/[e*EPP8F<MBgDocfVHVSYk]7MY*R`+42er-i*l@YI!Oi8Nb@NK1Ia3&*_iJhPe,iT!"/MY,TMcX=p%tJnIGD-0V;3]g2RRQO<c@?%OS^ZV(Xr"'ceo8ted:+Wd^nQ_h,[oh%k@o[&(<8=8#@)5DkZL+HI,WlkN(^qL\g;8`S+BhR<XMK@hLLSUL_;@QT:qN9^-;^1-Ir;))7F*-659Y9Fn*p22pNKag9Ilibg!M)/kjG-JucoZM\m[p]\bfTDkGEG9,,=lm#5Fm7\gC5+?+"H)7SSDHE\sS`)kGLU':*#OXeV>he\uY6h_WR2REO<8s*D;@?=#$kP(,!@j@cB489h+kUWQB/^9kB=DOJ(@9UL8F2@i@&XKih%OQe]03bh]:[14Loa\q/gYpFf,T'^^D(uE0a,2-a6>1PVmiSu2Y9bmO:[H4Lsa5s0Q!'Go_.qNoR7^lBqQZlV/Wg9p,haCJ__.P_/B-0]+I3<4hJ13[l#S$QAK(5eItP(d'MK5gTu5dG.6qJ4M+r1]A3hMqJ#;6s3!a:muFD9YFMQ)]Qa^Vp+YJ8;)<odku!bP.)RdgTh`'>C+lV/MPr])H3^2<1@B^Lg;CK`M)p;spAsRIIbi/qmHjZebnksrm4s[:~>endstream
endobj
37 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1059
>>
stream
Gb"/h>u-tU'Sc)P'dr7*2.<"2hd!Uu2Jnm0[b,r^7C1QfFi?9<q]9pI"friN1i;XH(Ck)FQZng<Sq%*:hRNEQbQ2%jE,^J\!oc"$`>$64iGBRi"KR=YjK"*hm&.P,)8\*USTYVWREY\_GRf)_-,^T2n)p7&BpbX(i!c_%'!sA%OUI<_=Cepa$6F)OkJ7lR,n*=]R-$/U&1&l+384t2'38h#LYL'>eF/NPq!']794>>JX#s2SRf(ZQ![_=R=W^Xe#VgOLE$W9]K@kP[`L5)=jCm<tm!VS\n'YYl_Kp/Y1"E6hNbgk@)s-A,r[Ng@ffb$?&km8b0XA*c5H^E;6TcO@Okb8?POmPW;D$I98bR?"B`V@*WA=)NqHa:u)1#Fn>37JG#!Td0R+:]$=>]Vi"]4Lt^(^sM&ti8;i77dR[JRIBmF%7Neo$[#Z1b!%3ONo#.a+-ae%7/b(Do#9Vlc'/SWh"'!D-bmUBe1WBe_l0qY""e1Pp&*YTuM?-HXBOq`!%NWPk6hU_)sV,s(!`4\7!Z)5eQ&\I2]+\56mN,0d"eq,p?Nd!C4B.;SV70Zhc7`U\In[iTIr>DW#&$>K3DZ2=gJ,b'4SAbRe-PSdk(0]dCjD)%Z\='=dh(2e;m=t@Lcc43:$(D2X'[dUEKhIX;1mU9XL*DUOZ(,Pt)<s=X%3lqL[+keQrrrZ:'9nee\.elRhW<B/"":,j0!4@[a[424R'S5-JD^pp^_cuW.i@U=M[tf/DG["l]W$^aS9Ve,3.[is?D\$asn(lo]&Z>3:XCB1oF?]kL9/-X^nS*(Ql-\nGh$)V4/%XK$BZ&<;R8DQ^n`]]1p?3P$h2]X^;4cUiJDF0:7ppO^[VgdqG]nFWG@<F"q3,hO7$s?4L<9f%bhTPZZ[5bs,;R(eZ]6pbhTl5ZaN&h?lu:u*X`RMIGW0TO*HV`1DHCT2E4]!MLYJ);k3sKQNPXQS?n22#mIGVf`6'c#D2H0Zdgd?=#-3kG4FgHq3'<"&,B7r.^03NZ$sb)sGQ>:GjR=:$NIg'fa?l\#ar;FOGN793LaNIW!o/ls)u~>endstream
endobj
38 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 965
>>
stream
Gb"/g?Z2Df'ZJu*'Na!]<sdLQq@D_.ldfe!1hdob3rr6UCRR/XX8;4-+X&"7TM<R%4!t.b#CLp7p.kfWne^V72?e>t^sNGi&gUsP/Mn_[iF<L*#IQmKZ;tXaS<)[8$7D?a`[O.eWnN)9$4"s_8BrA=XA8c?eMLp&'Gr8s@%paG8n.Z_3/Y(/Gds<:"ddb>$C%g48/4M5Km<^Z_a)d1ngR;f2d<f#Pb9LilTc"4QGl:.4iFAF7jeXK<C^"gTi%1ZYo?c6_a0HWh)(829s%1CcA3*%I7KU;m?[`eMCm;0D_ieG:9CP2nF&INg@?Tm@8un#@H#8)5XYhERThXTh^gBc^s?2GmGkK9r4V.,(q"ZD?#?K.e+K`Ye;\rZQLi5^[Og>Gkq*Jg(hqai!O7oPe*q=gliE7'ecQuX2V)]XW8G_D*_q+NmS7<eE-h4SY\q4\J7^q[:/=*(BTIk5eiaceiuJ>V8S)eF1^h\G=f=iY$W@_.:g9@,7coAEgtBsI;49YB.^_"tO41BoS'CD'EB!RY\;g;:A%sG\B(OoAB'&+"UqH/QVJ2Z9,d]AnBX?s1\1H7R2WX::\p%c=Rd?DfZ;<[!m!O:_lo[?g`]F<k>_VuJfb4SW5%160'<T.L8hY'dBf<ot1l_):Bon,u?nEAE_[:`grBL3jd'PdSV1tTNPEs"\7UTW2">2P5QWaGDNPH3W9Ai\m$ik4JLOcjZ*8\h_G^F[""lB(-BJrI_(ctBaG1jsSgV_d`HPh"J>*/FDIKf*#9EVN2].^7E8:,N,G!C]:>$>7o]U.>,mihNDDpN=ImcUl[`I]cV`/@S9hQHq96pnaOH5tdAhsp40n9uA6`OPcr4@1!a-<Hn<2"L/0nFl@#*k[>kWU0iZRs3BVLci=W$G6t+J@BmBS+hNjg;D[_]-#lfFU[^?dr:Q63n-&;4M3hi4hM#M[k\@I5nnZj^GL1&n/'-'O8o~>endstream
endobj
39 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 961
>>
stream
Gb"/i95iNL'SZ;ZMCWg:,C)%ghHmX);miVT20HJhfT&Ki8;YeDs1[)3L4Ne=%%B`(H[P0?*8b0g#(aSSMY6"S$Lg61drPX+O;*5&.7h1ia(4[d:b)U/f8=h0:0[8!$cecZg.=P?Z?c\r'Sc$-,hJ-J<',T-DOS6BB5"-'TWM^[>`_+j]U%_^I`EEre^`op>/%2_IJBrrkEF:\RDTsUYM!_L;R'CDZ.O$]'PossnLYbm*Ct%7jt_Ys--UEY:'SoKX#.]UoCG7;D`t&R8W+Wb[.!uh_XqfArO*^,(TAH-lXOCHmcgOW79u=3`GMrg&M@fK_,[&YWXjdl[3Rj!2hU)Njl[.KH)#NLT5#T@<Y*'eGl*#+>g[U5lBGq-S;ngQ.U8d6;:-db/Qn+n=S#3/03X,KPu@@4.OER6.dC/?k#\nbdk^@&hB'-\h]qQu]R66oImH+J-\!K);b&YjqEtuj3PC;.RniS0Eg:H8DGR,jB83P1c9t/<&bd6,I[Q@s]A+Kj4-ca!hBU,&0$<V*N\G/CK],U<]+"9e]m9+qXGQ=Y)Ws93=Nd_TT$rA:Yp5Jq6@mRcqn3@_p\tNDT_+beY.r?^HGGc=MZothFTH+4imWE\%?Cs2VQ1#h=uYrG@>Q@.WtC.(Sj9DITU$tPXV#7'pB54g!hBluTN3:VIljhm[is9AJ_cL(b\lYH]*#Zh@<\#?:.BLI`OQ_GP%Xp/"1nZI%qE'\9IS#IAjY.cmT72AWK4m`p?uuo,D&g$G@:.Tlo%;8,3=\+8l_2*X%W\?#Bg>q+3&1db64*D??p<$kktkP/^uN=h>V\*)PIK0%eSV3h?=u7]p6fuhMtXn+q#pi5jpu,"6lpt(3:6aL=-6I^B/LU*KP_gq(fPSK%qiK4.s2)h9+FYh2]i&lSqe;>R#9TF9cn0\F:9&TqVH_dK7)[01pfPrsues>=#Y]]f1FoJ\b\u;,Lm~>endstream
endobj
40 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 997
>>
stream
Gb"/h?#SFN'Sc)J.uq!+Y**'4J,=9PenNSiWEZt2OG&LoPa82IqX<SMnj1kM'"C8_nDPAA0<`\F%g`Nchm%K&k5ZT634hF@%e160;@2l;p`)d7;&/&?XGZN?I_Q]N;cmdg<E9)D($.N5kA]G;6[T"+C"`=1:K.#MN1pnhJFY1GN-kAV3mEVKnG79Q*SpNg`e%$U.OH,H'X5eiH5]Z(NDp1e?e9q;H?7GV-,iA&q7ab3\/q@)qn4_?<D2Yie4JFh<P.sR;/Eeu%h[p-g/b!&%KsuASQuN*jWp^n6R"rF]UYTQK9N@:YFk+@P0I*olYa.n+g#LS(@HY&s&H>!HD2%<WAI0Qdjuec.QDGD<"UR#itTZrZKXi@?#EbEC4oS1W,f#jo;'I2(X&/bmUj,hDCn&fmZ5#*?7c+AOqtC=Zf5PS29Em@j&B44>$K56q-DB/gBdO8X0i0l46Kh\E&XpD]4m.0mdk<bmZaGLG^tq04inb'/S7h?0uGD@VD7[(\UEbQfa.;`WKd^uiJ&NmP]NX(D_WOJOJ(\2EH$NJn?:1?MN1SIl>QZA'2bb-blCb<]E-RPo1MK2K'/RYoC`1M>IX+&Ak=B.>BRaQU(d$u3oF55JD]XB5ON^s^/YF9Joh(.<<lWM5HAs7^5Z*+D1g?PL#]4VP7?fXQ2=AlbLtsUaPi[d]sZ2oZ,#eCmTnJ99r)F29/C$uRhM4S/?h4?40X&rFph"R;TG^Ei'%3]$ZcSmp]$%bKX_EJ%cH1IgknlYOb+P3-Ad4bPA(#@!-\G;Ic*\NPl$(+)]BCJI0B'%q@N/aYD#FOD1Hh\pFbs,3$sL+Gtsm;g7NM_%Iaks%e/?HME,0GRI[^(R18LH!d:>""M=PHTb0%1FN_Jf_!^UV:8KI:[o5eup&LGia90$V]*#\>A%/2P;<K?B(W_"-jHd4Xl?I@Df0\Y`q9J'X)d"?.Df8qk0>@]m#*\Tg?BL=@NZM7OEEdCi>AXj%%uC2c%#1"O~>endstream
endobj
41 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1007
>>
stream
Gb"/hD,8n?&BE\k;k13R$n93ZVq<X]2Ps3t,dsrOBpt\Mb!QJ&I/@2JdNjdID2:$bgnmg5Z[MfLHM<V'"AV`DhpXU$q\Tg'&5YW^""L/jrX'b-i&W8<!g&`an^((FpooE[;Hdo`+Kdmo4GQ)\D]q;sG^haMR+A6k$dLGh6@osb6f`js#L&&rBnXP$`G'9WZ]#*f%F\QC#Z8G_K7#mkcLAn)G^P".UrAO]qE<6Yh)u'#^_;]S@M1><M2"t1BlA@3NMK?'GO@M"!`mof<]qSDAL%bG,hV3&d;f[FR<FbKdCN9/4%tOuoQ"qY`@>]YbKr,!LE'G7lcOMEqu5t#)kQf<A]<KeiYNkS1&F*amT[Gej-DMJL.DtO=^=\4SBnO"U/oi#G:T_An"B#DoOnhSJ/3j@0ZEcffigr$eh*\<]Ru=!<B.Z@HGlHo,).nIUU?J]an]d@:!;1kVXhBP)Sm^e6fl<2'cPOG99'RXjRd'I&BWalkRrc-VoI.lk]IXpA`s^,drP6aB&NQaJ41CEW_,=UlOL>JiC?m")[:%W#&6"(FB&OFH49ta.KepQ(oUFPGdF$/h8^OPi4*AdfD^TVp8BjUapiYu'T:Z*[`IBdigh6"4&X^]:k+akm!pSSan5eIN#e4&W9\gm3ViTHR;WO=GJ7(;G=X]an>T0H1c15jTi0["/rB-qjiTR-VZM/#;cu5Y4et6:Hdn]EZo57NamO3J57s><e"@to.XJf?FA"Os\oBO;-26WskhZO"4QeV%-IJN.OU5%MVB4P7h&bCu6ame(#g!4t0cRNUpFCd'Y[bJ\4'gHud!9k_G]*]Qe-^eOUpDaH*2aI[Sp5L,G^F[r!q/Z8gO7ZDk^GPU`b5d&bK]7Z.rm/$DNF47FDI#9Th;j&-Scog:StZm[n!ntp[cbFqE(1?F:=^)GJ=?,)m#Gg*8YEd]S5)YhZ!e%__Q37cj`Oa)K\S%_HWUb8LcTg<e]90F@4Jt/C"\qdES'5/ltQd,7+8Kh@>au~>endstream
endobj
42 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1015
>>
stream
Gb"/h>u03/'Sc)J.uptUL(r\:fU!Nre#$gl>M+AXVPoGO-t.p]^QZ$B*S.#\g.>6)daC1sp>J0cGom(r."8Gdqeuo35)$<N#)ko1"t#1[oIG;_UPGe*E+$&1nE"f*b*H7F,(rf_!+Up_OA=bfZ+#hO5^HVZ^;PHTFA<-8";d^VIU\OOreOZN'-lK/qtrLd_c;SH:mrd^/At5t4GWH@6juke@ds5B\HqA9>1B.#lQ2I5hM+J+&r]aoD<hpA=+l1,MXV/h%ZBLZeTsR+b+bJ5#Vb?e8\'W76lLdDE8M7tSBn(]r2t!=O6bci&H$$GP`b7\>]0S^rAub*&tb]cg=]f`ZuFbeMe#4YZ-nfLgug12oiSO3Qah[0aaH9t/6]tGh+%l">U:mT5I9)l:JEFnXN"i>TS?T<&kRbm[Se]O_uU>r]70*o5bbTZD_ifS9]"?-n9#BVWUZ)N;5/F<dI@*56kT[Lc8VWdf#5rfr,CNN"n:aXf`,7X7kT>_]E!ssJGRl3Fnr>ZnBb7-iAHmO0<--r:0c?.>uAfnK;ToK2mW6i=,Ea*fi]!;_sattiN1)fiS*p>/#Lm7F`mBQKAT^9XLYH<iXUC51-/=NC`"+Tb?,[[i^&mb=B[bkMN0Zkit__oWXl7#bsBX],/9_o?e2k&]=E_jhShtTid!H^"kg,Ir14TU/^a]W",Zb"1%l.:'T\dt&P0RqN/'tE3IE#D]E!ssi;[8qUk`?ehTg#T"1nZIG@@tH-+gRMnK?F0]5nkB*S;Cb^#r[Cl1C;%9+WFeT_B&FS(g<W45!Btne]&+mm-@/oVQ_`oL<0-Q=_t>)<ZS-J_kt7HdXtf">-!FU;Mub0qb#(6_N1M7lR1Dh#Z?DTNfP^U3eG&CcKID-H6)B!Sme4LI/H^!Sp7rmUSV$\KADPrrV6:hQIT0_-@']gG.<q`qE)QZa$\ImENWl::+IT+(s\"PZ8K33ltjQ#K%S7fZU0&`Prs"eU`^.m-6iLm-[spagdgCrHj<NkRU3qN5G~>endstream
endobj
43 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1014
>>
stream
Gb"/h>u03/'Sc)J.uptUL1K?)O4_"ufU+QkPM!b?6^+/u8tgn]rr#U@VKE_)D2<kbgnmf:A,Gn@I,7@n&Hk8%INM8ahPY=3KRa]`&l<WYku[YI7b:KXOas0daQ7QUMT[GXY*:_;!TN)PU_DBJq%hD"8GD;\O(k2_]+c6eOp[.F*)T8L+)r[12@'i>Za8kY7]?NTM7F5jJY@Zu!TedKP?:qbiSf&B8B-]#g74#r4YfRXhjq>8bLBjW[5c<tbk542>f,K&N*:F53+&;1,6_sKM4MtdOdea93gr!_^%D<(BNC2%A+a=-bD?:G^%tH4s1A9$'tp\qj"$GQ<3?%>g_,6Z+#/@?@om,gAf%qJRT?Xs9p9i-24,MQMRG-SYQqeDX\'%ALU+7USaVZo=jjc.<*gnil7_cjO1:57@=]@TIfPPgqko6S"*[Jq9\0*/NXPX0e:nd4<YHSj?@Z3R5krr"IJLCJY,,FSFdH:B&?Ale;p0Sj<O;5[D,n@j,<Bc$.Zr;RJSb#]l[!eACjNUOOZbJu6iIk5Ias'_>s0P_T0N,$j2JU1Vb+Ngq3Xk:AsA:B6Q@g$X-gFk8Z&=(,t?r.7Cg5^N9MKcWKpC$AlWh/S_^L1[c?1aS)h2k78_l8B>5Q.<TDusl@+@B/c/)&>W]9X2P!O!bA+/\(%,,"2`ejOappA`Gp)Ou&NAYcPM6I2,RVIqJB$Up[2OK,9Y:A5RK*B+$W*l1]El/-%KUKq)W%iG!T!k6gV>le"E0W2Q>)7N>H%\:"2"`KT*K9`*(MB$XGPhch62@b8drQ(mV6#ROts7'Y^7=4-aG"@CSTSI#YV%YU^6;sljiB25.drW[&%V)pM3#Q-:=G14cO?tJF7sUVpV%k<u-gH>tX6iS2#G\j8n';h#Z>!U"b;$W*]Y<h1FGYH0Eg`r9@&.M>hRhp9N[$JD.nr=$S>F9gBFkZ:*>sBk+G#JD/2GLB;3$\)%.a]mP/LT_<?mNBeN$YP[g2GJERal#q7KK'!Hg*t=a".K~>endstream
endobj
44 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1062
>>
stream
Gb"/h>u03/'Sc)J.uptUL(r\.Y;hjf)q1Zu&mO%;^5C&]Kb?<6mrspQD8JhWdS(V$V'U8Em5M6/F.QE$i:Mfds'uW/Fok/]#Uj(9"]S13j>4H@GW/qH&V.NQM"Q$SMsDf#PL=1r!HIcB-?D.3q&1Rr0KC\1T@,i%GJP.$;Fo0S0LRNahd`A=JQ;4/\30MgBTt1n[:,NI&:B_Hb[>b\0e3=%&KW"FK;dZPK6VYZe>73@oX2A-HC<d@DEK7Roj!L1G4;c@H?:@I(6\m?*/ZPG"-TF);`OOn?/B/C9)-Y=\M3]Q6&ochP&'1U`Vq<E2;&(_[$jIiEd;M3m8"\(j:G82F=9)F-IMYVel*gEmRd,\oOS&K9rU&D-[K'C9Gr-Z^pGX6^^PVhi3>PbYA2\5[p+AdQgh-2)79IPWW95pkN1sWQH`(3ZJ)s.VSpW@g144Jl:mj'BCT9!_(2Wln'a`sl(,.+YQM2LkXPl#.qp_'M>HpIqDXg\m'%a$]hOZrZ]FS?8Q(JS-V5W>,>3-s;k6=U0<@cnV,Hr&S8_g]6ACr,!r93u*,%LNWg&KhE#dumq-nWaZ.k5HgTAEk'SS+<[93EY.*6*dBDHt22'muZ'22QB[C2IKZ`AK>X:]>oVE-6FUX"lgLDLP_:q#hrZef9*'(01=G3u3:H&%f#"]im9&VO1X)&tW=XuK@t,df+L&kcs?C/k;o74gd,.R:+>J=]d!DmETh1"^?7B"(a"h2^='YWJ"&YrbKT5IPRu.iD,'],eL(]D#gE;+uWO'cf7pG/"$#9/-X_gHW_qKS4I6G3n(>h6@a6DQC8hAqo.c7ZQ;bh2^<<ZCC,tTNRDnTk!gi?oM*(&_Pq=gVu\gKk%T%pFbg(@T!cl)W.FVPeM]iFR42;G3n(Th1G&U$=p%42bqE]kJM2uA$A&MiHocNlDP`Uh1FU'cF%&i>H%eDh+B79mT/$\_h6Su#)3A%BnKi`A[]Bnil=tj(re,`!Q2fW2%kWK^o@Wo#GGoY$kK"4-\dD=CBP%V!8!DO*^m(a.,5nI"b]kV@7q>X0Y%*P5(WGIF)@!$~>endstream
endobj
45 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 942
>>
stream
Gb"/h;,>q#'SYH9/$?5qL1K=[?RP:%`l>B"R`$!8SgGm9UD-<;ins2OD-E8`Km%`m\[8`h8UPmu?[o&4T_K%es7lfUI0rIl#cJme!Kn^!^V\#J\qq=o"0+i<Ms\.l(L=u-(h]B?`;(cO-ZFV.(=ER]&*po)\Y"%hXX#5_)mIFL+tCk:O`WW-Mt$LiFrjr>7i=!=Q<'CS#]@jY(`c)Gl&g1(#JWI@Q)+O\S(pD0_u)MZBVc*<#CU]'^t!iYFVf_Z%Lfsh[fmbIg%fJ(8ZZ]%69c\EPg(X[q"c66gCug"K5X\e4=@>u0DrD;,fT[P5[%)N5fW<l;^<"ap[+rKXA0P?0&];F."AjD2P5.t(i,ERVJGOE5'0uRQtGjVWbOF5hGkl7M:I=dO,PL\B##NiM'I9C^6eqXgGB#(Qo;5*GgLU]X7pSmI<Tn`nK(I*>RIajY85KfC>nOGo*<#G4KZ42>2pW\_.K^OGuf`+%?quPNGs_H"Qb:=WsXi$e2beK;VF:.)REK<a&uE6:M13]\EeHbgt$k>g+TN(l0K3sGr>RaXrb#>,J?l0/]l[G[-;+!?<+%:CN=VSg:B%U9QmMHAC6#N<p,8(Ep(u`2;TLtpf\B@eWqm+mh8/^D3JOuT@r=sQY&tY:=D8mO=$!a-7r(VIVfDas59)$j'e*T/O#RKT"qI/?s\'Z[p">eT"rZQi-!oj\CCpLYa_R%G2q'<2E%d$YkpHI/hh9sifOhjEl=Tm1(!:WljiCMO52.eq\??)1\JQOmV6#GBaX2:m!]GVZ_8RL`/9\u<.]]kC)GSDfH&W#,J,D?q\?nNlTX7_I3Z3X65/8ti;FX?40627dkDS*-FP&[FF\RcGCXmen>>V\3<Qp$%_NDNJ9UaIh!-M#c>F!Y%e/<bDaNH%hDRa[8i42Pjl%$E!:KpV*oUsAJG2]h2ai,qa1REO~>endstream
endobj
46 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 910
>>
stream
Gb"/g95iNL'SZ;ZMCWg:,C)%ghHmX);miVT[<9&>fT&Ki8;YeFs1[)3"%0rSnd:@2f]+cZ_sncF!=52:fY3BD!:M^'^I1<f=TtakK'Y"8bQ`P$XWdajX,,s!F;1@&0MG*:SHQmM*b81dU4*L'%:j*Gn*`)nmk-Re.tn+C*CJn>r(6%Q4MM@rjrg+tc7d`=NA^FIGBH'@N#q9thO&GTNCGBt9-]`@DOlBG>;EpfZ`F8.%F\RZOJ%8P$.[^Z3FS1BGe&5daln^3m<6pPK+mo@hFX(E:=O4"8R[b8l*<K%<nEoqMHeSq$!=8^9:Ok6[Luh$Li(..aA>O8UN$YY?<r!Yi6.UkCTjat**G?2^%(4kj]sT[*U9.2HCPcX8&H!O$^HZ?V5-9";p>]$]\5EkW0Fk\<%451=&CXA]"FWZT9aKKp$Hb4q%7V]Q1_oFr&<]sHLc8X5OF9(7$hS=.Ap7pB%(I>=0IdhakN#YSTfgJaY(Ml/0aI>,Ju9J:\SE[,7c8d2a/G,j?>"6l5a<[F:#jQcup;h=+:#`UfeA?Vt&&&UbRT1,o@!#iL=+!P!)bm^OA/R6Lsotcj]3T.2_mh4`:Nu)-SRF/Xlp2JKLKgb\Hq95r2g&@B"AW5<V[AJQcA&?j$P=]KiSaT[aElisu9-H%@S=+Ag5h4?UpD_qUPnqLH'.%r^\V]Hb'"JTk:^%D7PU:/p7A3MRe2,J586H\Aken3-kt9AKicm='9nPp3jc]FTO:V%k.XjAhA(-"4H,BnU\`GD(1$n5^.X-NJ(YqLH'0%r[mj&`+,V#Jb\^/\sM=QadB:ceA0'H%^BpGE;7%4Mpsui/P#QGc1GtXV^>)&`+,VHf3/*gT&+78L=?5<_h]fh@\TVhEA_;rb[)kn.oo\eB[Q4ogK>prrI"H;69~>endstream
endobj
47 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 966
>>
stream
Gb"/g>u03/'Sc)J.uptUL1K?)DdRBu9UhnNCgm'PPG0hT7gVQ\q`-*>>Xh=!EW^?sSR_QalZ;?h#m0^BXC%k5J<)-!*$HG[F9X.mK_.?R:6Y">Nc76a8,0uAIhX!%cr::OX8p2h-V,&XL\a00B9;O_]oW+S9m=l2)SlS*08%?Uf2&?obZG14hj:7_KcakW#c4M0_>uq'b5u;Q$+8PZL%+m9@?=Mc%be(]p])Vt\%`R-"-e2J-O-i%Bml<pMjq7lfA80<Xd8iFTc@*oeYonY_('j<7fmKaM5fX!85T[HkNC)un)WQqV^Arb1KN["bVh5PF`B7TiHP6-'a)uLQ*FRgZ^b,ZYs_dYL_WkM-$eVeb;ll]7Ze^0=B0*d<?\;]Xjt=j/5@jbpM7C1nSYsuGRqDNMXp1Uq$43>3WD/on$cD_I#'XTV,aY*bJg3c-sL='iGN:fFq85@I#Ag/L/hcOVY'kf#V0qn'K*`jN6JIrIT(,=K6i=k7_(9i1V^9fgVD''YhMmIgr#-&PY4c6>JDDp/[!"t)9P]mH=oe@rs`7#)(5YeJ+M!mKM(WM#,i0b%B,#R?P7)fgbka-Zob@-S\qW8-:,GVRXbW4&FceKi*/L_5FR,[pk+*82$(H76,9su!"4joqXF%(9U423RG,&fI'mj4%JtJ55*Y/L5.N6QG\=7e(0Vjsi>pmj$bWmgV;K7F+KcouFI#FA7sIOKNsBUX]jXEU^E.V-1BtM(J$*Q1mNT:g]Q\pNO_%H8"jTYn7f,tt'&aki*T9.*]N'XZ)h9m!A&);2%r\feh@\U+>rHoH_g>uN1<Bq;a^#M;*T8$t4X.O]K_HF92l\Uj/Y@g-=g;1#GXm!sLU[;QB8KSk'.YH\R<NNn]Hb'6]LRT5kM9cT&`0\rhU8i+*=hQ+X"_A$o:=k=@V-'#^DA,qJ,-Lji]/73bT(V$ktaFhi>,ni<h"N\"-S/kqNPU~>endstream
endobj
48 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 982
>>
stream
Gb"/ihf"u<&BE](.o+ek<sdLAh`Pf43c1<4Fea:25cSp#e#%4cs8*[3#NuL$$u'HhOoY4/^3k@>qZnVVe@r.JVb;QL0cZ`,+G4nK.#<EK1VAd$S"R&@5[%=C6bi$-LF!Yngdo<`EH;BT&e7aQLA1i0_fGCK?,mCePb@/tK4LDn;J,k4`%Wbg_W0tY4Lh]'PQWTROd&?I,)::No>?)HMJ=Bonb$=RA5>tcpLM;SpVbPe:NkM,PA%?sG)-MsHe[k'[/+=DF#O,.Y^(/!eH8,h,B7hB_3BlAEXg<NN4="Cf?N733%=Fieb\.A.W!k?co$H2'M0$TkIgV=s7D6ZcNdhJin%rD"-U#nr*0s1Xl%059:B6uUbO'PXJN%bbP\B=Q*nilb+.o$b)TVc()DnV,-VfZq#3>3$>J8+KfI*TKIj:Dm'c*iK5->^8sn+41#J2<]7uc?Z!34Z4@"lqJkQf(k-RVlT-->>q<d,8nDP7lJth5'Z1KF@\Hn!fp<Z&M0+T04^4$?DQLN(_d:HU*D!M_J\Ph*7fTn>G<l8>&c<s:O_dH]o@!+C:[cIq)fh\[:dge(a*HGQOg)mcV*jI"l[6\_g@_J/b'fiqTW\`^?7fjV4l7_\]N%"3;>>JX"R;r%WZHfqcZ]FRDq:;cmkF6NT+Q6it1RTRmW,\,X,#(dFGaa<&-l#=B0r4E4b2N`p$1/&4+//Q5o`#KV@\uF_gN)q6-KsU>'^4,[dESX\[n$0VkVe$N:s?m01jMunRmnIT*o.mnPG+ImFM@ft1G]3Gc#.W5jO*AB]aq]\KH".5,S(PFp.csiUYDQuUO+b<GF**+mcT4?e5N#%g5U!V+h-t)p?:p7[n)ki[T7YjATMFT^JjCEmEt=KrKl_["I6D8,A@!bpIeo'_A]DKfkn>#hbZPp7shT>hf*I<,#5qa&UCnJganB3ne"lW1SIr"Ai%"'kJj=\<1"VeU:Vk`?`m.i7hGS&ZN-0F~>endstream
endobj
49 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1012
>>
stream
Gb"/hD/[lW&BE\k;k1dq1!-$5:N9^X?jMFI"rZmY4A6d]\oem(h]=/9Rrg2eOp24>[qQNQCgZY4qu;lbJ_<!5hrt4#D%&o^#fn/A!%!mAItm];E"g_:%`iAmJ*=ATpooFK65X8:+Khmj?GHT1f+;:SHru@l[Hk?]S5B[u(SIS;6H6/-J4>u]7`+3Wl9)S^ZP3Y<1f[4;5Z#6GLZ1"\L5/YM4?bu'Z=BMq[+c8G,<XY!:J>5?^ikOWm</]'N%g?9&oIcn@=>4i2$4+b8Nf*H@&cZ4C(8"Y1s3D9lXk*T]Nd#YX3tRMCn'`bBQ!u.V"LlNhsI'5VdjO'4uh\/H[E==$]dcq,*AlrCgr7iYObI2gU?N8SDsX$bcaT]>ODb$opB,(jXT$go0'XsCIPR@m#K)2*Y;&E-o+ZM'La0h6mX24U#c,pn.(;k+amK[g%*WrqNLk_"B9.5$@s[(]mskmqB;N*JmV84(/8Z"eg5]bim9I5_\oNUZjaD)$oYba_7#kb[JO+_IG1B><`kpPFesYmZQM2)>j('?=g$nn]/#.C#!7$Pj%,'adMePdJu@-)Bmo4iY0FJ^6Ih=Ng"FDimBUK[]$&5V*`,of@@9`ON:=&Z6u%pK#c/YA'IH^/j2d)u!i"0]?AU6;3DR`pI(?h,J0k&kLiYaJ7e6-%EqKNt[%./dQhNR.o-j;\hB0_!VHVB';.VkFf9Bu8d^C,X/P0+MgN&$uMqjIi614/Eh)H&&PM;;5&%U(5P"6H+,Y<^'i`^VJHZFIRmn%CaX6CU@#tsF>r;tp%UFG+QSqf6p%rW!I54D;TSJ%?'N$MjJ&SYA+iU,UkiB83o6P&XP!,j\m^q9JX8E5MOG^F]0JTmE8(>]Z31<WC(n%<r.iU,UkiB8'k\a"Xbl/DU@^cPf->OD`7e`4q:C)fA=\dgdh#$hHSGC/&5NaoJ1D`Wp*U?6si>Za%!3[-@+-':gnH(mDnWMZEM#dG:5a"_Tl&KHQVersq:-WY_(@3G=Sq^%5c~>endstream
endobj
50 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1115
>>
stream
Gb"/i>u03/'Sc)J.uptUL(r\.YLo2#NJRtH0uEA-`'IrdKb?ZKq`-*>'1UD.<'liA1X<7RqV(K:1hdQ#]4:@LNrctJY]knR%)N]T&-:`EHjdV,YD=kt>"%#lI^^,c\kn'$/N!dOfbT6NfKo*H_Fk/Yo@g+FT<^MQ"9Zq/8BD/^AM1_f1^et)GlBn?n?-"HDLbAK,]t%iEgU$$G<KCL%CCZKmn\q1HEg=o-<KYi7^VsWY"C]JotaadF'25?kJe_TArg)q70Oe)n_$"bT^tp1]FTQ])Xc%aIM:??+0TNAH@A"X$taWAOWl5D^J%o2XT)qP9%KQl[@c5d[<Xg8M*]Z\$meROF"r0=d9T18/_I/%be/ZKUYXnIM&$4SD%X`G0L=+*mFi5lf2cuKJZP$6de+.F]_%"VmM5eb4MLnonGBgf!XTD!Z5G;*BD37Z=h-@=!EU`Q:.6Je8nENRpX<UGBu@5g_0fBEWF[lj@dZ1/h#/dn%L73GKhkl0:>e6s&/G4Y[t6khYQ?+4R#Y\t1;+oZ;nC`K6+L)\kN>?BX/i-2CL0/8i\d$_N+aEq..OhRW,j"sHlXN<gIf#=1grr((8$\oK2g-37WAuNp0oe*SBJ%TS)osXf5V1f4\V`&+c<Vbr@iS7OX=0HBoE<L(XaYjZ+\9qb%fmIAYR]m?;u*`>.!q;I7rKj6Vof$[a!1>!NtHV"d?)gimY0.&oa[&i-8**\5F2h'6Xc="M9<Jlun$5Zb'lE$LG3@c>LalDphUrPUbnMh6X_+pZpIk-6N`E4W-Q5_g;dLc06S5Xd?qpYo_ab]N9ZnThP>-$EQHGdVUGHN@3StU;tY,8g(C6iOte"&\O0"cGKP?j8JK2kK0#tI%89[@5pW>6u9XPAX/p>Zs%E'YXkTc/8`+Sg/ItK:d+iQp3Na.j]'QU46`a$;gj?uo#Sb`@)D\nja<u2l)EN<]r1]rW,@;a/YdK>WJmY(6->p(ED14YCnc/ModuiJSj?YpMX%)7?Oi!8FgFX2_-,O7V)Q6E%MkVA<lpa+d_sWOS0i]\;WA.cU(pebagsFMg(*hi`oZZ,?G6FiFg1G5Q]+!Dp*R;V^13pZ'M:@0mA.(*^S(sdpCEq$SZr~>endstream
endobj
51 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1070
>>
stream
Gb"/h?#SIU'Sc)L.h8eQ[")8-*.D1rh)_nkL:))HeJh,VdKX]s3,5r#q]3kB/SC@_HNk7`P\nOl/+M^OOa8Q]!2l1Ik4KGHjTJo&(*Fkr)A't$-L]mU8T@aPM?LaW7Gb2F[GnV%_j#2q.1ftY%45"5Oo-(jc=$3j^@ciQVr(a"-EN@;[.R)u0$1k9hJhclmOi.M`Pm3X"\K`2\aiQp@@!R3?LY*eg8&ZbH4sAG*7Wd)WaHGTn&8$P]bL'-^Nclrc0MV*.Sqhd'tI2L&Pa\3oX^)_Y%q=[@7J':lOM%=n$&Yg2AH>CP@#u:*B4M.IS6<>Jt\m[!n1mJ!Aj6(Q\&?LJ+\S3\iNqm3euTSJIgB(DY<mh';O+K`/M*0/t.gD*n*"Ga0qOeWP5eIIdgf6KKDY:*o$k!gXH=mP8:QV]?As"N8D(nFsem9E2%2nGEQPKVuJjnN8&8%#e_,a+$[L8BfHk4gA"e6NHZ3J3q-eaG@a_n9Cu,J?=Hi:B=QPU9#7"EDFUO%mh&R![:0(b[-@4'G-d.>Y)gWjc$,!@>IZ].$kZr0s7.bD4?#Yq\PG'(d-4Q;bNUih[&[_QnouqFH=b`rm*j)>'OmMZHF>,`oEVluhu&mc^.S.>3s;!A]d8Lhq]t,oC:d117l^N0LpA@f8*QRgLuN4;C=OTcTM^tPa[]LakZlYG85='Eq>F]dpbT]5Q$TME@g3""H@\%2&?+(d<#Q&7mKMUd5bM".*.[:0LLBt'?W\3qSXH(;rXbsY<k&cRWls<SA>UFfdoi1>DDTQ[)pWSHg/O4C6RTUqd31ts'+s%+j*@28rWI18R1=agF[+.tAt3M(56U.Ln:Yl.D<X1-1<tpikHc#ZOEpiXGg;:@NQ2SEQ^*HM)ICg^H(AJ%(LlP&'B$EcLYt2LcZ>d8cSNlh_K5/r/<R(tV3fbESf]!!1X7'ecF"0[Ep$qr7.<aVl<)Fr)<mCn.R.d"$9/j]&3(d#o;gaX$^tSFH,fYCs.H9e-DMoQQ0%gUqsiWmG!4URlo*o%J&/ZfBLAOT#%Nq+0f2T]9%>sKUcHa\5;o$!nIH15XDI~>endstream
endobj
52 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1409
>>
stream
Gb"/(gMYb8&:N_C/C53R^i">h^3t'#VbPQ3/kZ!R+J;9J<Zp(ubVV38O7/1]nmYlrX%7)(Q6kqBmMm:nHHp15K]<T-YK<;r(F/MK'bCpe1a/NZ,,8MdkpZBY.Qr@`00NcY7k6,X(ac*.:(i)h:Ll:07fo9Ed:Y3q/nVl;3+9DV%'1/+B^6K8(Pn,i?Fgqcc,cE2,1c?eWk,D9robWR(Xqo@4<ra/dt1^1UqE^XQoEe]7IIo8n-,u#N_"#Sk0anMOt8@D3KBI?<bW]Nhj97[?Fsl4Oqp3BE,KkF@<s'T]JYV98Lh2BHW/Gg*cHqJb:=7emWh%)'^fulM(=21,)-.'=s=s+:!(e<&$LHgl(r7S9"'9Q.sGD%?GE08.Pst_FNdYs>=5O!NiF?tBUh+XXdR+6o2G^^CtrWi9&5-"PYCtClH;05c7Tnl(#?<J1Yi&fJaT$&Ap,&i,gBrM^U"i"%5fI.:_QM_>uSA*ca/PBB%D!@Au<";L:,6S^E?UEMju1A[u_6:hpuW+CNOW_27M^S\I-+m(eq2IHC`q/XL9eadt\NJ6JICF+7\\jK2Tn'R8Q<<5RE*U!X&V\#XX@%mE(LraAmV2h)SQB1U#[g8_u^IK`2j=5=\BbHs"7m/09H^o'XPS=\ZU7m?uQp(Ip:P53PYWJYV-g%;@e@'HB)I3:Ie*W!*V8Ne.@O8Ag"Ri8@<k0?otsef7$&m;>(RDU@u@chGiYbk$Lf/BMQFX$P&:4Wj=o5L=JP)/q.Pc=;E+K:Y:>4dZ!VHL>tB3==<0kC]ApUZZs?WLCnmNbuW<4b'PZ%c3+0d/US,NeNlWabum@]-C=.S3IcL([;QPmWZi7=M_'B]8)mq^\j-YG6-3*bL5dV9(k`n5Dm1R?rr[!;ePdSiPp9b%<'..<V!E#PXDIL)J9^EefMT$:Qk5h9!1j+g5",Jp*FgRIelj3/M?$#M=K]iHFg6l<E3$_,eX_S_)?ZGNcCZ2aa(4^=JtT"5Ij-0@N3&a]3e@j;2c^,QA1uYqX^W:UXN$-20U_,<P#R=ARN1?n1D&R6ZJg0:3+P$AdF8bAIXP#R[$_SARZ]P`Af?D`ka3hRMirbJMbS2/94E$CU=FY("O_Zdc0eoBSeNW_1GBO+X"b5[:M>1]F"m.-hScN!=Jo28%`0RlduO7Y+TDeW331).nG:o&tMNGN`VBf(MibgBkC*k;jPb4^AiLCc0L?==pZ]Weu]Ub<3t8$"C'E(R+4cn/PN1/YVE,_<S\!hSQ+:B#0!`?WbgL\'u2RDHALG&$?3_k>;9]q@e=X70H<8mDHSa_-l:`;V0tt,p(M2Cou#b+,<C5IG]]OrBt!g3m"l]FbZ"I>NZ>PbhIbeAENlFHM<?@n!-UI/mZVne+nBRR5p"8WKJ^*d5![WVh@1aX^J!sa;u~>endstream
endobj
53 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1076
>>
stream
Gb"/ggMYJ*&;KZP'I.TrOM'rUE626*KI?ukpZ/>S6Qn=[^-.[UNZDe"SG&\V2?tVAZb(_dSWQ,u$n+<miY\QncR85S2$:j,dK#J!_W3kmRT)MO7>(c<M[7)ca'Nr&KI0#fAHacrr!&?6*-(rp->,#X1*:q'lZC$)--QWI5bSTrPbW[rS>O:uq"o,U;LQGc`e%$U-n64d9Y`2Ho;!Rr)lX\PrHUOtWuEF'=&ODV,of!QM<d<hE81ndk[J=I8=.<g>kNH)RptR8rM(PVQETDOIR)0?l$N81J=S?&k%dLWQkCg&lR"Ufo&]8^0"LY$Cm"$l[M`Xe;&l.rn@/Ctap+k9b1!.B[5D!CX_!`j`ZA/"A"6ISECQG*,!0,;Wmi(jKcnP2<aYV[T3TUC<d**TS*bCY,OBmO=6CA`6-AAg^N-N'K/LdFZ,VX-Wjd.+S`Xj-mqaSgfib49_AR(ZA\5nkGP`-:0N419ms/$"4(YB)*oU\!e.sE*n)K'6Y0>&1=+C3j?tCq"fh//)_FjGT0H[q5?A4W4a;`8j#dS/4<&/=\.IJ<eroA*A_Sg,O+"j3,-k2JkL[VR,8<",^7#C^ALk\]D.Uj+ima*cWcah[hLX-uI"p&O_!CY!OJ?:GSX[)qo>l[_U#[j\@i._XAf]iN[fM<=>a#?pt>.^NqVN'WZI?Q2Z06ZbdgWiR3cSiZcSA2<GH6la>??j0lcb75KbZWO`)-qK9E'0a=htdEHqZ_0-KoVTL(D:jA=im(I9G0*=b&Jp>clW87Kt.kiMuNmM])qU+oNctg.&XH]Nn,AnV?$SQJ6mJL+*k#`@*6&s<"l*)*`"Z@Ls1IfS+I9$AZYD!:jC:YSa_$u`SF.Cfu!?to3HSn<J*E[L=S!>nq[,$nbd_7qL&LXDkbN;6uG*o"A9WW9f<Hu?JG6OJGoP!NgFR+!VFW*^JZg[T$%3-!q^=pG=Z\25Ym9h:7G45IW.QE?-Zp<q0h;6o0QPfXi'sZ*]?J[B9ggnfYF&bL$&tskL0'g]`laT/q:D"bk#%KCsVsi29!Seh[3i:41mFn.Fqfcq*0]&<h*[c"0+RNe$@g~>endstream
endobj
54 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1357
>>
stream
Gb"/hD/\/e&BE]*;\7S#YCL.)O,n^UD=*E.kgi`cp6H?5`2t&hNfl6VI^C+uEb[,0AdjJ?5>t)Cr9&WT5LVl2]Yj<JQkJs_7Rh<I!$bVh^f+"61\)k3HlFUgMu[-ef_tJf(%.u].A@Rr$,Gg>aeiUin7Ro4-J>Fgn+UgnW]Qt)-tGjO;^h]XdJk?>9Q:*oiVWP#E#D/;5u>X%:c'Eu,]cbuX$LJG<LT,,n+VG;gH):h;s_-2-RLp"MZ'slU<?Po?)iEk/pk9j;4gslgp]SlaQg#K<HguA&W+n>,^M2%>0MPb$A6`3SC`n^YI=)dZh[lAX(9\n$sbZ65TsFQ\oQ[*^-?puL?IN&p22XlN]96@htYpg%o+P3XG\p$E\2$?Zg#tHQF4"-o58-)mlco3F$H'-/UEfKTSLESW3X%=IP#0\[TcGeGRlN--X)abm%T019W5@^:Ngd7OKr<M/Z&$NLD2*m#a@@QAU0pPcS[3eQ',=O.+9b/nGiTrk?!!8%/1P5DFVd'VoI59`96;Lb%847OpYIL81Ma=^CO3gaDI2HVfa>DXU4f"jj/Z)[OOX\2%9"P).FY'(h0O$7,8;>CfL\n]M=f[hs[KZEJ:E-Z"nd?C3fTcN%Gk0Ub(]hr4;O]-_P3ebh&FG`O[\0-[sO@`2G:77Q*mJUJLL"\(@I":P^#RrT@Xe]4CiLWT*n`Dn(iM:Od.t\;"kpL=?$tHXWmt8qr!8^.>ah1pI4aKPN(dF.VM4>#L:F;@F%8\)mSm@?7uO=P='R%TKuC[E1#K:>^K@:<q-[ZI;%qObEX2>km<:GN<@Paf"KJoaQYIleiZR3<WcEeg`@X8;,olnP3Ot+mDr[%oE+Bs*As5@@<3oe_bJ+n,H5a[men@.MYJg0eE^P/U0p0&-6k@0d;/.?s/')"f;[i\CB@>#9)2e0E`c&CKlpf_[0oW#>C*ZC'+]?N<=2'#@rerI)Ea8")`&ZiZS=(Pr]%5m"WNf-`0QJ&3W9@!?`(0FM]?H,Ss?HT!3Hm!:f2ul0"CV6>V%[],GV25s7LR"[Pi%QX>c-+"k_,ldb=Kkk=^.]c#/"YKC!^-YY<)Nl$&#8!!5[3r1p(A&T7ZC1E2f`!XDD8j;O6is;<1#s8?4R)bm&K]o,)LQ3`ILI58kgbY/T3affZ%n?mGrMdaI(eA:BN_XoBW=iNYjLGLFFGtG0ce<$M*(P0e5qRW\3C>WX;X/dJcn[OZR:(^tCu>I$CR%t%#8>PiH7kI79YQP"%"Ym)jrPY:$U=\J#65%&NroNfra4VI5kG'HaPS&Uo7T3e&hScqT*fpu!7@EB]GQ6F;5Y1jo0n(DYmWCSI.?^UJn[(?WPu2r%Pmeq=mDVE~>endstream
endobj
xref
0 55
0000000000 65535 f
0000000073 00000 n
0000000134 00000 n
0000000241 00000 n
0000000350 00000 n
0000000462 00000 n
0000000667 00000 n
0000000786 00000 n
0000000991 00000 n
0000001196 00000 n
0000001401 00000 n
0000001607 00000 n
0000001813 00000 n
0000002019 00000 n
0000002225 00000 n
0000002431 00000 n
0000002637 00000 n
0000002843 00000 n
0000003049 00000 n
0000003255 00000 n
0000003461 00000 n
0000003667 00000 n
0000003873 00000 n
0000004079 00000 n
0000004285 00000 n
0000004491 00000 n
0000004697 00000 n
0000004903 00000 n
0000005109 00000 n
0000005315 00000 n
0000005385 00000 n
0000005669 00000 n
0000005887 00000 n
0000007716 00000 n
0000008829 00000 n
0000011036 00000 n
0000012116 00000 n
0000013225 00000 n
0000014376 00000 n
0000015432 00000 n
0000016484 00000 n
0000017572 00000 n
0000018671 00000 n
0000019778 00000 n
0000020884 00000 n
0000022038 00000 n
0000023071 00000 n
0000024072 00000 n
0000025129 00000 n
0000026202 00000 n
0000027306 00000 n
0000028513 00000 n
0000029675 00000 n
0000031176 00000 n
0000032344 00000 n
trailer
<<
/ID
[<c69a0ba5ce2e505ba60413f46834d788><c69a0ba5ce2e505ba60413f46834d788>]
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
/Info 30 0 R
/Root 29 0 R
/Size 55
>>
startxref
33793
%%EOF

View File

@ -0,0 +1,277 @@
%PDF-1.4
%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
1 0 obj
<<
/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 6 0 R
>>
endobj
2 0 obj
<<
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
>>
endobj
3 0 obj
<<
/BaseFont /Times-Roman /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
>>
endobj
4 0 obj
<<
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
>>
endobj
5 0 obj
<<
/Contents 20 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
6 0 obj
<<
/BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
>>
endobj
7 0 obj
<<
/Contents 21 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
8 0 obj
<<
/Contents 22 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
9 0 obj
<<
/Contents 23 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
10 0 obj
<<
/Contents 24 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
11 0 obj
<<
/Contents 25 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
12 0 obj
<<
/Contents 26 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
13 0 obj
<<
/Contents 27 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
14 0 obj
<<
/Contents 28 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
15 0 obj
<<
/Contents 29 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
16 0 obj
<<
/Contents 30 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 19 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
17 0 obj
<<
/PageMode /UseNone /Pages 19 0 R /Type /Catalog
>>
endobj
18 0 obj
<<
/Author (\(anonymous\)) /CreationDate (D:20190221153230-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20190221153230-01'00') /Producer (ReportLab PDF Library - www.reportlab.com)
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
>>
endobj
19 0 obj
<<
/Count 11 /Kids [ 5 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R
16 0 R ] /Type /Pages
>>
endobj
20 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1684
>>
stream
Gb!SlCK&tI'`FV1TqPgqAh<S_S,m5*8iuB]@G@YD^^3bTEGX2\Abl'Nad+LJ0SqkQe(o\=q!.,c*?AG!0L4o_c2Ya$J9Negp]1Ij^ha<2K+,sfJ[=%jYDF\O!$bE/3kM]W/qen@8hMR.(fL;?bgp/Drs!)m_<aEKIo^!Z2aJ"qPYf/PJ/BN*i)MKe`V%@aMuYZ=%R6oE;Ss.M^OQ(Pr*fjSn42?rX0g!l'hHLuO;7RP0?pg,hp9JW'lBBj/[X-moO_De`qaFV2-C%Pd^_!1qR3EQ-3Ii1gfO0n-D9iZ$'oBn_Jrt\$`2hO0e9Rk/V%_H]iL,qb1GU.jH-@5)@e(q`KGemh[7(s[0U5<,U<DT$cioS5_LSb1U'!/5Y5G)0mNWP<Q,8n\`tjuNoaqR_+18@1)cE)O/io#,q=@AF_ar%SlD!0TusfrnHdX3%oaQ=($%qdB5.PDA)GKUiI'#`Aj*l>TkTYo'%$V@cC5*o`%eeElUVFObc,?bMLGa&^O81nDmLbtbFTsk7MrS_;ulrGc<>&N@INe%V$f[[,aS$j`$FN.V!0XDKZk*iXp@M?(NW],,T][L5U*G-rE`2r4menYJ9Cq-")WX/*+9g10gndXZ/d<b$/pp"jh7*"5ukNW4:3)5(^=j0J`0$tAjb?5+3TZ-(<)<gm(1Kj"r,aOXDmeuT)j7(1NoE]LU]&o=uWi^LjO#XbHuNHjI9JaTR;8kd"G[/jq'2Z],6rP'QR!UF1":-aVL*ME$DK,'$jC#I:iZ]SK3\rPEMQZi#).9e(Ke`Cqu<#8VJ2fr>%5!`$@eDP!11>b(iHA=okj1]1-a>/]IYqo]P&Ca>_`(<DPJkkeOm9Nb^tn"]TE,O-Z'rZUIknp$nO5&ujL)dJW("3]`e'*$+=m'9A5N-FQ!f;:?2B]l9lqG,f:rktSmcbKJ%^Xk5qMe+55jT*DY8r+G64W*`]aJ@A6OkOZ;4g\C\/T9oA-c.IRhP69l:$mcQ\N8"^0U`YE!FLCYJ6=/?gUs),6LRjp+rWj77XTlCCB"uHX&9SaFHjEhM(kXR%PcKRK_?;+j0b5gi>QCe4/[=68HXsSI@aZ/-W(mIpPo#tlX#Yju#VM?VUVfpC(Hjn3OOtbU-e)3fIHZAoiID=/i#:_B'&[b59Wfc3%Y?=l0%Sb/om<aEg$.'Mgh'J@mIrt'O=_G+PX$c[12m`i;89/c(NJ1%4&t=,+S.i%PZ%2p]4\>14,__`S],`C$`EjNiVXUB5Fdq`p3gpB]t_k+F_[l@eLB;8WZ(f&lB`Ff.aQV$r2C)A$^aK/N!pOraI,X\@a9rGHO4'hSe0K6.:GrR03q,M@s1thL(q7t6++hXB"Fu0l9uKQS2fAp(Y("HXZ"G\<q7O$>T1eQFn5#s*r2<]8?Mp5.YH64(9K@W=Ir>rREj_@e!YSp3`E5@%B5Vt=T;B4f(nGd>,=[apVXA;WoA9,h.U](8u,K+MIMfd,7E(hBsCC"(^eC=KTRtI`(ucO&0sqb$503nGmVrRlk7<Gr?#R<Vr^WR+7HUmJK\I'4MRrCpBb@s^#E?5!PWrO^mKcOn.'HohtoB;!PX;tKq=L73@B/,kW;q:F0[`T^6>rb-[XJ.4'A%oZF>.oPI3Cur/;;<lst&"Hm`^9:@:m&F)j2)jDNj;-YKb\mS_;NE]36:r).(L>$!ER#K/h;D?~>endstream
endobj
21 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2196
>>
stream
Gb"/hD0+aG&]`ep;s^;5inPM&4HUaBP8AMSA<LXg9rmnL"G.94,bZIAF7ek3TL=[EAQdHlj%dY'AW^)&s&^h.rE6!_n=+U9FTq9P!p2^GTF;Sr:_=%:r"VCHAtN\+K`NKjL$dX"Q0qp'@D\3ViBV+ur=pk5\7+:1iZg#2q9HaMS%^g++dJR;Lnk;*,n/n_9KI7$)ET8g]W:kSkZW)nM-%IfhRTLchDs%[1leVmjB35+;\;Ch;\f'8H!X"Z;(*`U?7/EV+qjtfhbgl&;)6u]'9D-,,!:R0EbGmBmq-"FUkgE]I,>Hoq2(fC<?lOl.[Q3N13/s9I6;Ubg,U"JUt^ILI<J_-N4rZ//sd`6h9Wu\#.38FM0C8Z-UC*<E=<\tB5mI_+2@g)k;8R[*i55:)Ksk^.Xugrp"FM`I1n'(1_Io]F/f<S8J@mV&pVBj1a3g4,_'ii@HR@8@<3JZkooC8PqsrFCkpB8p8:9M:>pfO5Q'b>;l^NFrn=g"dn_MYm,Ugf4-"Beh3`2.c\c]lImK$);;[rNMt,X!GYM9cA<@kKqR7sC7WD.]:WLH"LatY%f%RZ/qsAdF/FBGHS^HcW\?IH)@p>G7:to_k<?")6KZZ<OEtZg"_A+T_ML$#93X\Vao[CLQML&n`lJ)TG1TL(kT@E8V\m=dI3oeR.B\R?>K:=_`aa;dt[e!GD7nD[)V=XrbNEW_+mi1\;00$oP*63m]l#'`s\c9MaUR'us_)Z#X7DpCidT"I>NPdThWl1RKRj>q@L2"VIRt_6/JVPeBE?p8Cd>ukb^+%#Y_UCtr*d18BKYDIq0Y!q8k?\P"ojJcGP9+h5&#C@C%aHrO1PhBBF-p-\_-dtHSulWi]R,meSZf&/pYY.EP3l1]gS/lK[e?lO-?+2>I.ro`^qn%!m].M?Cm%bieipXZiToMT'JY&.#bufg@ef+>ZVX,15:tjETs+uC-2_O^X@Jh9[_C3eQ:IL#[_C3eJ4H/b[_<D<dYU0S7)i9U2*V7$4<8t7C2fonK+gGYkCO?^ljA'4/A2+OW.2$(f-5T!.QnT2pbA`UNYKXh.l#GEHnc*S"N_.*,a4$O/.'7X/^M3U4MP3bKEh,L&d2&E^CpPTaqmI#$rEAGSLVo/N*_EikfJA91$DcA%CgOjPQPR7UInH.[b)LU(080*1tY+E?p:(B4kpik%@M5DQ>"c`e%Qo[B<s5E2)5XikEN\thdcXAY\oFQ]\aK@5*8*'m[u+K%;[S]Z,#KfX%IG@-ro+S4<;),mh^J+[<E!OK5'OkaqA?(_.Ua5(d6SHD80u_+UrlmFO4d10d6I@cl\nh>[p!u\co9;FRt)b<<i*pWPOE%^36Zm"Kkm^`/!X[$G<QYMf3:2I%X3]hYK+s(<ZrUE=kk1KT1Vj[TM'K?D,D+Nkec_![!o[[VZ;bGGNk#rQp\dIX6eBlfN,SFu2.Jdoq/X\4-\iCO>NfCJ8U59a45%icF(e5/tTUgrP$3k11r8qk/AMm^]?TZ7rnEl%g1S>*`C6MEEi]f"D;>I"&mcoX4-fWHpW5&'(^T+W5^$kgJDM$JTZK>JTaZ]BT/,^FNT@JJhQm>Q\6I5!=N[>N7<TVWqA-Q>TBN;ns.&B;;*-h&(fZgU,e*U[K,h>2tgo\NGOZCRdiM=A7As[F3dceZR_(e@S#3rV5374p5Tb(*i`>c-9PKD6.X"52BZBh)<#*>D0<tR_f_N#_,RS^Z[fX]*1,k)S&%m.m;jMnI9CA]L.VqS+(STiB]C\iU(#>+;p[<FtcWBr!Go(UCY&@Ajl>T,>ou9A],k*!o)dUY'f@6[GtA7>"K^3b0rtQ+8t9f)&3$IW0CB6m2'0Q?MIEoA5WW:84Xk4*X.GJ*0E!"B-:c5%6hN@;9"q9oKO$2Roh]Fj`Ytp1iX6]ZVVpp+g`]["]P#L:Xh!ejaE9K=0>IZiO(A-?V\^6!\B4)6%AaG$H^=*3E(SVN0BK:b&D`bLh2uLPgE*D9bPR3F=EI&3R*DX/>HGt>c5+R+@2DXeSca`=0P0U(@V)T/12hg%jV]\5Ti+,J='_p3)BUIP^<>'$p[8PjUArNpd^qJ13)s+!,i9bRK;pA5mBkO*[E(5GU;Pm"2$A()[!_q"),ZZLr[]'/nnj,Y(\PjjiaLBYib*m<[Nj6A:059J?Zg5Y*d)_ameKMNM(QshAG2NJ,qVmeE3eL5Wi.4R/I7$moAl~>endstream
endobj
22 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1070
>>
stream
Gb"/h>>q"V'Z],,'PF<'N:"ilH\LQ9e_7Xq"mnrh#V7EnM\=P7m<_)iLc&qS1H#R#!mB9QJ,\Ubq[3]8L(@V)7t#oK!Gq.Dhu\K5\=s=^+7L^u/t=[@J?q!Tm`siqIQ)tS7N-+hE)'ta"@4+fja.8.+o"lU5/:m4hL\Vm8KgA-O)iMKaue*sR:d5hhe-5-J>6?Y;S,makl]lW1(22/LDo,#c/J[$DNGVE%XM@dq_##sg_VAI^BXtJ1/$8rWlJr,VeJPK]#`Z\6Nu7/Db!M`&7-&[CKH*:-LlsR'W52/Pf%cVfK;@s\l7.9bf7f2eI0D8Ve)8HiVI3c>F!f>2g*3Y823giQ\Hnq).Jb2&VZ)622_WNaisEu0On+>(KcrcC4Bu@43VPcR,(I&cGo&%Xi)$[]-#o%L1(LqmA3m-Wqh0&iP2IOF_eh<\ZJs'=gfg="`,K!cORh+IDcV>?XedfTtQ;RPH]76o.q&Mn#'&i^s>JcIt+@2Zo6Y*T4sN!8&HTj\$tc"4R@42j4YZaj2YEJIo+%e4'K.KEad.<6ca%8[Agq"ldVWN`Q\LbA[)8YiUF0@4Up#n9&-&A>M/5W;75-/!naLSfW#,E=TrcpX9Gh."jhHFJ?:<:lK;;qqHse;0LHRZk2f+gVFO@J=!jl2k?6NLbUpKVF"9H%;3EdF>;q:Fl&f5UlOcA0ROBIM_m"l(s#\,oTQ.0e:i(D*VO2Zm`S@@?L+-jc[T4(u&aAd1,0KKc_7MF^Or_5n'XQI@*T_GU=m4W(G;r,`r=qV$B"M^L0eP*oaM*&Z5&Rij&7=$tAnPfN.ilRGlOgGh1<]#,5:MIN*44IUQ\1$*bJQ-X][uc!H^\S6\dd!:MJ'1:SKq_o,U<[rj:^QX\UlruZha8J4+f60e#P<4Q+O?oSA_1M<D^^*H[E"%#q^*b1(BtD#>r!9]H0rA.mDA>dVf])DM[;>325CX+WXW-U1Bu:6oBdH'1BB_$7552pSi$9[7#]->eZe+r\OQ-&uCP%#dm-T1>4T6j>173efi32[NSU;W4*n6d^6Le1g]hGJ+@=KoX9,Kk78WHP19~>endstream
endobj
23 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 944
>>
stream
Gb"/h?#Q2d'Sc)J.uq!+XHHk]@iO0hqs(P&R^A(BScl"?[;2,W<W2YROHP\X+%m@uX^V>4F22^#Nq%`.K&R;!hnr*;f-q]3+<WsR!ZGbqr<2T;hQL6!+[FRGk[?^E`J5qUo\*NQ!E&-.$dq]3S!T5.6[D]Rr.V1cO!Z1#C!pC[Q\^N$T#7Q7O3bBP/"jJRitF6I?+#"Y<E5#KKA3DV(T?J,((2QM'p9_;c5V#@B&TA0<anAL6s?Dh#h1O\TKML2:X3'qa6SME/1itu[1XRn\Ip2m..M9b:?l0S-Lp]lSR"_YB.#-k"I&Y$Q39t2UqtZJ\@N0&'!5b+XuD.8l03u4D5P7!m'"@$6J8`D<d8W=BN;=4g:*KmL*e;,9Q!sGW5Tli)/gr2<oo"7>hWX$(tuj,f$];@eMgW2S6_-CVfq7`bO(a`\&(JDT8W"&CA\1>@5[mEWpWqjUTe#>]@PF-l_9lfJ$RT3Dd[@&/b5BGKc*Rm0r$!s2`:1i]=@7<R0tWkdjf:o`]6W1n7&5;.no1J,Ubadff29Do4E1M<Ca#eog`?6HdX0%3KR:n'?C<j^@+X+iNDQ[05$ggQS.3#gQcp`>\X@Gl3)?L"5G2G!aKIBm(3qh;B&HgrMnPa"<>GA%L@dS$,sSV,h/M"MNh,rmC5IkaD#(7nW?Y1;#;@L#*Rcn&X%5Z''f9(8pdlH6IC*GEKVN>%ZX@g_.+mG-p7?h$)QZ!.M?J\KQ=Z?;b\`O,GLb?U<'qe+A/h-'O_UdF_HRt>OinOLo&1K$=P]\779R4m0-@E+-F)AdQEUpri\^8e<;*k#.4P"RIu5"%$=AA7]9,d*^mP)&3`T2PYYO0<$]tB?Lq=a]]<Zi.MD"a&LpI\^7#!GeFI&>C^``gTh)+L+dC0_0E[Yt6"tp)KutX6,,+]r-sJomo*oAX,S^@Q6idJ)5Hl&M,Q~>endstream
endobj
24 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 946
>>
stream
Gb"/igMY_1&;KY!MNN3P,C-W%4+"R*.93FK;Hp'n`eT@,Bi<rtb1h+K0pn1m+@n=uc,!_I4[6\ofoNO+OSloaH[Z:j3ecT-"B:I`J0YEK:[g"(rT]@e$;ca-l@(td`VU?UGjULBJ1,NG"mI?*btCUR+['QMrk`C'UQlPW[*i?P(Pkto4GW#X4?DdTQCs[Ga!W_B>`F(0<F(Z?KA3tj(MMuB((3\m'b\>Tk6W34=njA:AIW<_KonD]Jf7*)<(B+1Pp:qNE.*5!;%$0'Xi/7tY,(D"8poEGPIf@m>kn-cc7U@=1QrFX"dA,e.O@&'P6TniED6p0JOZsck:N?VHMZT;>H)-sp.sXDU)<X&<d8WABN;=4g,GGDE[k%?6$a<H.*5*@XXs([a?lT%QM).%UpdM-[4l$$ohAJRB31k?WSRCFEkA^LX0Bt=kHb).2>R>V?4VMrlamn_<7n@2?#/]\FkNnVUMR?T)qZ'8-cJfn_@5.8bXeFdS!s/E?/0VYbQX?FBpCVrUJUId.F;6aAq_\IK*#Us2]EQ(Dr0laT^F4N;LdcZGu'O``IT_S=[6*aqS">IJNrNUHT<%0\9.i0g7bkei)UfT<[Y]/2S_[h-buiB^qMl2DRBMuh(Qg\Q[j]NmXS,O4eW-m,h/M"8e$lL9.j#Q/ODc^0-[)6U%Uc#e4r!_oHYtV69QDWBhpf5P[@37/lEtETb3/p:,rhHdNjI^%2(E1k>7:;q]V274=MWr;X'"9B7q\ph$su2eg!e\NJKVP6k.L#2tpS!>Ju??cpgDl7-t.Th@$]F0uY%J)>/q*Kg@nn;+e!('OllW3]'<+]TnSF2@5"4nMCS?A5m*h4rEC@5gkT>me2,*GSLh`h]XICm_@/u&;?147]DeP7+?c1b.*t>;2#NP5g+uS[YfluLt^$/MLQgs-'T(#QN+KG&o,17K&0i=Uj2)~>endstream
endobj
25 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1254
>>
stream
Gb"/h?'!]/'Sc)P'h>9)U60%Ch]?.%+/rFD<SEVke@c^R"*GAhC:r6d^[E#j?oH#4a"<;%I#j>$?=(or*fcmYgm)b!UD2XU)8(>kJMNV;JI3r9p+q(\S,>G&7Mnt-NNgI`mO3Kg6=\9Je/TmU]R0mh'W1/2R(\:.Mt5q9h(mO6N*tpj`^+nh;bEF@G@@cdkDT2R"B`4abL^5'^.S(_X.m\!n?0"b'k9`hbsKA'$XmBS:CDFDm"AGXQBK%[_NJj[&ET!XR(o"rbrd-u4FM[K,['0'FsV?MG9s,4.(Spf-Ik?LD;pW*Hh\GK5IjE!B!Am1bn?b_1i^n(,$qg7TU8@>jP7=$9]*S_n[g8LkW&9-i[CLF]:US3k.OWkd[KH#)Iam&1IMZc8/P!]n`LJsRW2\tQr,V'\RPmNf#'!#=S`9'hjVD7ZM\-LpGdWUY%[b`1tqoI(ACs\$RR?d%nZ<<@ZC3^Z<4RoHW]$K(,)sn$$WV=XAQVZ>0Kgn`sfdXH@%I:bjqq!jsYK.9r6X]%J9nU)De(kfA_VtO<:g]FNtEc^?[O&C.bn1Irb;X'.fB[G^q(n07Xf8p;7#['(2eMRiZ=-)_L%CWfkp7DH$epW"s?].c;dc/`9)u_"k,:go(RAqJif(I"E;(dfBHfcN?d91'6aO!D:[*JqP6CaB5:#Yb<uWC'<$D!6'c2bl-[:Xs//jLo;s3;-]"[&1,UHasCaie8muVCr<Q"i]bd9Zq,k7NeeScFd4#jj-XgfNOZi?m%V3:6o"'<J1,[a;2hLe;9o\KPUMLo,8BrNjSGiPWtA2RU995!k.2t@ED*t`&bWn+'_TQJLf3CJ74Gh_;-l%qc60-T2XO,2R5XG)]M9D8rZah15';2X7&fT3H]';o.,o7BrtAlHKm[d"LqW!b7.mP>K-@7A/Uq:%9sQ57.^G/ikV'872JHA-lrDaEi"YWdflOd8[;F9e548+(l/*kRC9Vbhf'Cs&jsCB)bbW?q&Hle\jk1uM(I<#4XQ&Sq'*OfAjEip`;nKUKJp!Y:Eg'PO]6+\_OW-5&r=^hc[j1QhV7T2<mf5:l"?1UVRlH"h35CLq_2\%0WMat-P5%0)SaOI4*T06I$mAC<=D(acLO(=oXELGd#$A(K@gIVXBKGheM[XSgQH'[H:$d0W\,@r[=Kb2)."Lu(7c'MfAS,D-m5"KFo@@r3/U$gN9'47DY"WScY098+X*\QpH*p/o15jBI5bAsMm)LH^QdtLS2C:-R#H!2lNr~>endstream
endobj
26 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1331
>>
stream
Gb"/g?#SIU'Sc)T.gQOeZ3!qG_sbccD2/NeZ*s(Diu<jtM*&mUD.QlLr?s&!Us)kU`C64bNZFTM+qJ&VLsJ^-K]=.Ws0k!T5EF3m[fd:.j+%D.)&iO8hMas37dC=&K%CUE4W]ZIgEBOrW8`[Y6;h!96K9&Va</h)1E+"Z:OXC@WQk^<&kRWu/p0blL7!FSC4W3jkjJ?=Cc!el;+.rc3Mm]@Z*EpL]H#o'M"-^Emd1nC.5@Q.OtWREd*;0Z;]SY)3TjI^.8o7EZ5eIYP\V2D`F0cJ)4Rs4,q3QKed@lb#q"p5MVR?2cLh-.8L*KA]*0Z&R2SHm(13\(.224p;9EVK5cI!jIN>8JUT<ZXjn6TMXVpuF%cHJh]KZ7B`tuYXk)7nMGIX&%gD%kXniml.Egg8L*rQ(RMhF0KR"B`:5k&V*O=H?N'6O!I[M+FuS[pVrEt?S"U.;'c=#K1>b*qh2X?V+oIGHI?7Vm9O=,@HdCMpA]*(Z5iM%dmr82A/3_QjS,`sr@b4"CL[#!Jb[g:Dod0nhhr/?_!Qg[X*?=m)ok<ULrX\XKZ.5IV]qhO^54FHq(6"+>h;lMA@>]L#VT&(%cWB7KgE%P^BD&VF$?E[0^B1V7J%Ba&^]WA5Qgk/D.Fc-0Et3)c1\P=[sGbJe3.MTOpo3d6L_D/8\5j%<R,)uPMoMCW\/D$4=K$H,si&>)rF/s_J^CfQ$2Y`$K,*mQBd5J*Z9);+W;fOZgS',Ef&MNNuS)u00K/os0[(l+WR:&jb,Y*Ju8@4P#aIVs3+h14gpds%uk5=B%1]T,`3V_FO_IBbj-mW.Ggs)47P!F4M!\1#r>#8bARK+!@d(L3sN\7?\#nNPl?IDA:@hu^PuV?bRF4r3Nr?eS)>@,iL!0JuEKZqQi#H4S_da/#:$WjH8aBLa4WMV$8lH1'iaXfN9*i:u9HH]p)i?_Fo_R?n9ZZASt$aEIcKe&0#23]FiC(WLUOl[Ja-+;\8C0^C_6_Fj8!#pBikfPr95H2gI?"<ufT.&sSG>ei*K,>:SM?CQqsM:5a3jS@_?[;`<agrgK$AW;&n_EG)BcW[hk2=>/dpQQ`J#69B$p],?L%j7AN5%*j\Hh[T#"&##5OCX6qKR(;XY'9@9hj=qqc0WS(4#_kG$$\!7&;&.,1M:A,&mX4f=_0-"gk(kN3WpsX0Yp*69KN[n>>WrZXEEY`-@iAW)o08m4<5)#J02T1^`L7"ZZR<IR"3!Ugh-\m8f0rD@&UL?F*@=5?n_V6#rndgi*&s:5oLU\;\Cq5N$Htd8dc-O)ZV?%o-4$LCHSq0)k;2SC'UE9`_$^fi2N+E2#7`KRW/Z~>endstream
endobj
27 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1469
>>
stream
Gb"/hgMZ%0&;KZP'EiaB/g-RPiGn=4a;-@bU'L.][hMC[hR2CGXX)0G0C;/nPfelc#gF^#PK8kUipY9RoRESQU%*nTQYo+1pJWhm`s;c&bmEDZ-duGEflZl4BH$uhkV`M:gZ)=X5D2chC8$bDQK%$k10p!Hrg$5BP3JI\c@<c@b.WA'9HbMj8uIVFM"38o\)Gk_I:,ZT1XtJ+hgMYeqY7[s=O".P,*6^S)`"N^>cXDlC*ZfJPDAU(pbEne"[O;16.(dI+^"u3^DWjd'Gl]jI(qm:60ghm9#B'f!d^4HRN>'DHfPn8CH8>"Ui!RtH_NRqnYCuQ\u%a\INOk6@<]+JU,R_'bnutI9OO*Cj*EJ0s8M1'bOR")fRKpG-qh$D=:2Mr<2n#TWafIOnCmG$K&KSJKu=0&8Ph]On:>2?m;4XO,kOVB0bpQXo`n]SoB#7\QYnUn5@)rfrNrI!]=jagXX?<VB@ij*Ce9VEZqh\S;Q`HRgiBY*QUR0D,J66"hO0jL8aU?!/4)W<G(*q2b9l:gG7iW.i5tZ9Oq6$Nn[aot-n)-:+)_Qq6tSTW51;ue+)ibr#7H&[o,r`!c3E]gYquh`HVFt"WoL13l.>h*L7$hH%e\[CW#84d,FW%h@CpiTaZc]N'SP2:o"iVTC:Q0Qqf=3OO3#9?j!]jP%9hg8<EuP3EtDAlmsVE[':#::?Q>_Zp3_:1jm_JEIp8)1VGnN2Qh^;pP]@XKMPL;409Sruk>.j0hB$T-X'8Qtpp`40J!G1X$cKG.&1spuLhgQ%)Zd#Ad<]PY\5ign$)n*f=rF"+m<#scT;tUC!']nmnGs@fiPPsD%_r>:17)sTBk!K/-[[o4_lLh5L$s'2(I\kO>*E0->R6_[N]X&d"QZhr8E3]tU4u`7%ES>Fe?H^NG='+,U"!K(!T4Q)ki:c&p7MWH%KP<WLcpuo9F\RoPn$(hqKNt8;$5!!:Ui5:Z(MW*L-?q=(c<:O'PIF]@<H;I`5]d`HId6I.L-OSXOtmfgt.GnfZS(9^]lpXCZi%I:L2a`H8WM<5RqYm^F4uclaN)"c-8t/4^23oMe->[WEUu%q.q*!?,b^PI+JC['Rs"e3tis>KX_S&El*u$$`t"kWTZ],+@B.j+WHLd/'-Y.!3ZIVTF\saYloReJ0jc+/7Dp]P8U:?N'jg;ELh'E3jCg*Ben]`:1hGBg^GV*2EpRZn0#-fekmk9"Qag0jFV>Kj>M4D$Z<TX:E=-6,W-q?S9I+7^SJu1fCW@)78smGeNVji@]^hN+NqIJ!@\B7-jRnbJJ15/QTqOe-k:b<q]@F?:(^\NIK2Ru+b=O3'n&cHpR0Ra6NZ(9:F:X!p,E0]oWZ=U#uH=.iAl+=%9=QC!rP&+.(Z&0T1T1[XRd+]`qK(g5X5,cJ-:2.BD:!r]o6q:%QN;_.:rc=cWJ1%o1Cb&20b[#/tIZsm/fJq166Y!]ar\H3?oDi!O5JLL]~>endstream
endobj
28 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1410
>>
stream
Gb"/i=``=U&BE]$.593e2`%7[`LXIZ8Z/+SVeMDi?6L;s&flg&>P5HY8=Pr5d1X?U>?eBb)-df45I&E1_(\/7IZ`XGXq:GLL8M-\,(O8+&XG1/q]3A=9g2>[$Qt$/$eub`8',$Q.TKGf71g[lc$r*e'fsh$UY,l/H]aru-?`=Z%6,Ys!_$AZPRn8Nr?PAc)(4YIkOs;/cEEsuEfkB92+h=flVVm]_*sFTP]H-X&_8QhU:HK6P8)C2p[(DW4X'WgVlqOIGong1Jru:5)SO+-*BK[Xo?1$0d^BktRi2S[BlQZ2r&.(AV,Pf]HM5A`AIVFpY()?o+!rEMnKh&TC&UGu5_&_f8L6m=nlDmXRh].#oQO`Zc/Z;nr+=9nE*>u[^9PTCcrh);`Sc6eZL)+MQ$N!B<?2_?3F\N1&YK;nMP9p>G7gLA.fpat)lYnPlLuPlj!)9oH"(65-V=VgqW_$V0J""GYB/[igL#GJk!Hto58R:;5]nCU2qU3'=CSeL#udK0/I5.boEp6BGco-E0T/l/#=t\uQ1dG1bb&g^2jN1,ID=Rcq%7XSrKI'Eg+8ACD`=#@Y,=P<!JcmM;$SOK]N2LEXo(5\`O3qe`N``hU.a6UPPGWhb]7?*bU2Pe^$t`jGNa?]d(@t('S;kXB$Sa7,WH@X.V#aA(;.$9&C7H@<q'LKKts+")B?2YYSC:+\RQ'BgbgQN-j2K$r:,J+*$#L3`VO)*'VYg9!5g7)=c%E:Q<+MQ/`V:;UfU:BoNu.^VotFUl#*t'Y8>robA<B1ASO0)Bilqb["%Y)3NjX"GOhYCmS!p7Qua!,VL9'HCrd`bcisNh<_3M#9K!<a<>o<qC`$W^1pE9seHXa%%pIH&#["r/O+8PQ@4[6DHRP1.4p4Ni=f1'if)oE3%KR^9AsmRr-$%AMC]l:<*=ot!TlJ!`3S0*#9HK-=6O7Kb/30<=r\QRWNH*&8jl5"G5!,PprhrfEX0%.Lgh+%@-2MHpR'9\AW"<!U+%QZgJA@1,Bs=ROP.)&TJbTKT&m*!BTNo8f0I+f3k*O+l-$jGK$piDu^]]\<eB86K(Z&[6@sr\Tl-uGX'<N!o$5+kmRH6!*Lo6@i5n\p?2OK34WI$f3&Z]34=N=H2&1t8N2-TJb>4<F^BZiYV"16DV`0^Zn$%+m%oW0\q7f_U<&1<&hJ0;'/.U`l^@N5k*JiF@\F!-:(j%fh$30?sWXc-7,-?[+I*jL9OhuluGq\(qO!H90MNrT[eTBMOb/IOf0Zm0VF&UE;1%i-?K`:B!<2lEPoOoOg/aQ&K%BiF(W\gc&`q;n,J6-q^hm7e0*T+h^+2FX4SVMHKT0FT<B3+,ZQ+&"#BZhtoRC)EY%%p:`R<BN7c''=F0P\17$?c.ut*34l;T:uQArX[3&d0LggrWU6?FL;~>endstream
endobj
29 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1410
>>
stream
Gb"/hD/\/e&BE]*;\7TNXFOjPNfSUtFmZDA(m`Dup6Ho%`/PeH[ZW3!^9enD"h&/]`n%^n@QW"p4Pu]Ts.:`0B`)G2B/_4!`sEWu@>"ZLjFm&fPK@b(ojm]7['9U>FCTm"oC4AYRR3m->%f1?D>tiE3OrPiHSTkB-83qO?cIB6bCQNa+WqAQ.:X'ds&!MV<LT-7YKNuoD&ai15p9/md?"JZ=U(&((o8,b(Q:J+I2[d`5n(q&h4?n"*7X@)?FODUh#n]N.<F7h@%@m%\4FS"%3J(hOR:qK>^]2\enH/>6))u[W:_\I.G#b)N&,g$nS0eNLYJQIHdXfjb0V[BUFb6NNPj=ko*s<3jjl)#pq=2E2qaoJF$"`Q1"_0WmB2)R$(fpJ/U9:#8Xor;:hGGn9E^VBc@[p?A\k^cI"rLpkL'P`S-$pAjVe[5>-N"6#0q7!>G%Y5<n>(Ya;JWi0NdFQo(XA-$#A;h-`hF&4(4u;<lS1lQ?@ktA=l\3$:7ad]X+rV7P$.Or`De=8&V,]':<!GQ<Bt<WH7Njjd(M9^neH*U34=p`/?"AS@r)H>rb#.f\[L@BR"8crG-en+/N5^+%=W1cJf@+-2I/q;5sbE-sP<9mLJc#7fFml;o=-n+h"%u+Wco'(gb)kO%KLkSu8(,Q[=$2<E7B$QNl)SJQH<bahnWXZ(,EM73LK-gfrIS&SL[]k,q.6QE-ZKF$Fjd;11hX/tKMBX(Cttm4U[]QW:r3Ip&%sO'#K#dbnWY:KV!WM;hnV/J+)<Ju7H.c#d%)PgDoRZ.2-HfcjZQQB/F]iaH+\G-7I.iVm7-B++$^&$tMKW."(>D1I1YLOluPkJ@:P"/gn&%&l$CYX#2[>+oCc2`/U,!O`?e&En@<$?oISL*7V'L+eH'd*NG&"91J@J:U(e_<_AVcVQtN/XNaJ2=TE%d-V.ELSoVr%D%UbSq7mQnM49F",*<\cEiVbb_q+QToVa7N#I]mMV%kB@<lX$`5\^qeT=k#.OPes^LBQCE*k4U?n\cJ!B/m+>!&51hK3ail1G)P&'/0\q6,_9_s6?.r:'3;hG9J^X("rY=m?doEB]qIEG+f#26T1Eh8LJ&CM1jZPSTrL^j*YXXb8S<^sr"M>*,FmaH/!pO>US<Q@[WlCs`LI.Bs#O49:c78+F_6;e"D'(cF/[^_6&e9t1Ng0gYYE1ZJm&1Lc&PPSn57[fPNA$h3#ll8tpiaeGR#>Hg"'\(9Y<YoEklctSGGPFW/nEG)SFEDC^9\>.gsE4OQV0h\'q6t$(SdaC/gMeE:#[VPX"gVJZKI92&@ErpaA^Va(/FO;$lI)(L<+1gr-,jUJSnG(fdd;HH11>p&/J.H:7016_7b>k;+R5YI/AN13gdlqgQ!BR]`#&<p*Vu`S-oD[74T&l#l4om>0OC%~>endstream
endobj
30 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 772
>>
stream
Gatm9>u03/'Re<2\;qY.*++1@%Zf@Pg,)N5"LM7j32M_DciuQ1rS2p[_qL&MbI;nIn+#p2OV+NRZ$VoDi*uf0.0;7Q.R69&']7lFM!h#J@=Y^PfLs!F`Kq8fiESsn!V,snM?YD`+/$,pib1.EbiSB4)'tYi`^*MsKp4UsLu^#0P^p73jYWF<W13mT.?TkX&0lt,L$C'1MIf*u]R@NtAbjoMEMbQ%Jf&nXP=Q3liqrd'jP-&8\$U%/YMucerRt1Hh/_CCKYd9Q*7YRUEDsU4P_7[8aYl-^&sV2!\\'4^/hXkep;N#H=BFgmg.7?Jk4$=J>lSETJ9<%n[AD;,Ak&4kE)^hKTo<i#'kO5<=))ESZ[pU_5<p^]7-;24:V*s_`U`7nmL\8-f9>YHpZ-O6QZHGbG)rQOCc.q]1*R6+a,!Qt=1;i]4)]Ic"*h:70e+g3U?tY3?7f>oFM68NZSDA5f@Ja2&ft[(/rO3f25Q1MRaY/=mVX1N=W4,j@=EeAbmdYj=8A-.g/M0OK<.IY'K:;K[&n@)Z>)Kbbl".ZMPiNTRf?Z2nAK[`Tq9MI8#0OAO9#J19P1J;/p7+(W#:,te_mBpD<8NMgUl!UP-!8Nni0i;XP-+DCLS&R;U&sGN"s+.q5XVs;>eB43seM<?UTnu)0<`G0SH%#p,BqHIe^0u2IHkiIrk?Y6q$=#%#Eu6"%Wb`^I0?2YkD:7e*e<[<PuB)-3M&k4Q*Zb!,sM#L]JWE^sN@:CO#mb!;6C%qe=ZqOTj,S6=/`,~>endstream
endobj
xref
0 31
0000000000 65535 f
0000000073 00000 n
0000000134 00000 n
0000000241 00000 n
0000000350 00000 n
0000000462 00000 n
0000000667 00000 n
0000000786 00000 n
0000000991 00000 n
0000001196 00000 n
0000001401 00000 n
0000001607 00000 n
0000001813 00000 n
0000002019 00000 n
0000002225 00000 n
0000002431 00000 n
0000002637 00000 n
0000002843 00000 n
0000002913 00000 n
0000003197 00000 n
0000003328 00000 n
0000005104 00000 n
0000007392 00000 n
0000008554 00000 n
0000009589 00000 n
0000010626 00000 n
0000011972 00000 n
0000013395 00000 n
0000014956 00000 n
0000016458 00000 n
0000017960 00000 n
trailer
<<
/ID
[<7e72719e484ae77a932aa93b5162abc5><7e72719e484ae77a932aa93b5162abc5>]
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
/Info 18 0 R
/Root 17 0 R
/Size 31
>>
startxref
18823
%%EOF

303
tests/test_reportlab.py Normal file
View File

@ -0,0 +1,303 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
from pymisp import MISPEvent
from pymisp.tools import reportlab_generator
import sys
import os
import time
manual_testing = False
class TestMISPEvent(unittest.TestCase):
def setUp(self):
self.maxDiff = None
self.mispevent = MISPEvent()
if not manual_testing :
self.root = "tests/"
else :
self.root = ""
self.test_folder = self.root + "reportlab_testfiles/"
self.test_batch_folder = self.root + "OSINT_output/"
self.test_image_folder = self.root + "image_json/"
self.storage_folder = self.root + "reportlab_testoutputs/"
self.storage_image_folder = self.root + "reportlab_test_image_outputs/"
self.moduleconfig = ["MISP_base_url_for_dynamic_link", "MISP_name_for_metadata", "Activate_textual_description"]
def init_event(self):
self.mispevent.info = 'This is a test'
self.mispevent.distribution = 1
self.mispevent.threat_level_id = 1
self.mispevent.analysis = 1
self.mispevent.set_date("2017-12-31") # test the set date method
def check_python_2(self):
if sys.version_info.major < 3:
# we want Python2 test to pass
return True
def test_basic_event(self):
if self.check_python_2():
self.assertTrue(True)
else:
self.init_event()
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "basic_event.pdf")
def test_event(self):
if self.check_python_2():
self.assertTrue(True)
else:
self.init_event()
self.mispevent.load_file(self.test_folder + 'to_delete1.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "normal_event.pdf")
def test_HTML_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
self.init_event()
self.mispevent.load_file(self.test_folder + 'HTML_event.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "HTML_event.pdf")
def test_long_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
self.init_event()
self.mispevent.load_file(self.test_folder + 'long_event.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "long_event.pdf")
# Issue report : "We are not smart enough" : https://pairlist2.pair.net/pipermail/reportlab-users/2010-May/009529.html
# Not nice but working solution exposed there: https://pairlist2.pair.net/pipermail/reportlab-users/2016-March/011525.html
def test_very_long_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
self.init_event()
self.mispevent.load_file(self.test_folder + 'very_long_event.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "very_long_event.pdf")
def test_full_config_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
config[self.moduleconfig[0]] = "http://localhost:8080"
config[self.moduleconfig[1]] = "My Wonderful CERT"
self.init_event()
self.mispevent.load_file(self.test_folder + 'very_long_event.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "config_complete_event.pdf")
def test_partial_0_config_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
config[self.moduleconfig[0]] = "http://localhost:8080"
self.init_event()
self.mispevent.load_file(self.test_folder + 'very_long_event.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "config_partial_0_event.pdf")
def test_partial_1_config_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
config[self.moduleconfig[1]] = "My Wonderful CERT"
self.init_event()
self.mispevent.load_file(self.test_folder + 'very_long_event.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "config_partial_1_event.pdf")
def test_image_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
config[self.moduleconfig[0]] = "http://localhost:8080"
config[self.moduleconfig[1]] = "My Wonderful CERT"
self.init_event()
self.mispevent.load_file(self.test_folder + 'image_event.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "image_event.pdf")
def test_objects_1_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
config[self.moduleconfig[0]] = "http://localhost:8080"
config[self.moduleconfig[1]] = "My Wonderful CERT"
self.init_event()
self.mispevent.load_file(self.test_folder + 'mainly_objects_1.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "mainly_objects_1.pdf")
def test_objects_2_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
config[self.moduleconfig[0]] = "http://localhost:8080"
config[self.moduleconfig[1]] = "My Wonderful CERT"
self.init_event()
self.mispevent.load_file(self.test_folder + 'mainly_objects_2.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "mainly_objects_2.pdf")
def test_sightings_1_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
config[self.moduleconfig[0]] = "http://localhost:8080"
config[self.moduleconfig[1]] = "My Wonderful CERT"
self.init_event()
self.mispevent.load_file(self.test_folder + 'sighting_1.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "sighting_1.pdf")
def test_sightings_2_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
config[self.moduleconfig[0]] = "http://localhost:8080"
config[self.moduleconfig[1]] = "My Wonderful CERT"
self.init_event()
self.mispevent.load_file(self.test_folder + 'sighting_2.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "sighting_2.pdf")
def test_textual_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
config[self.moduleconfig[0]] = "http://localhost:8080"
config[self.moduleconfig[1]] = "My Wonderful CERT"
config[self.moduleconfig[2]] = True
self.init_event()
self.mispevent.load_file(self.test_folder + 'very_long_event.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "textual.pdf")
def test_batch_image_events(self):
# Test case ONLY for manual testing. Needs to download a full list of image events !
if self.check_python_2():
self.assertTrue(True)
elif not manual_testing :
self.assertTrue(True)
else:
self.init_event()
file_nb = str(len(os.listdir(self.test_image_folder)))
i = 0
t = time.time()
for curr_file in os.listdir(self.test_image_folder):
self.mispevent = MISPEvent()
file_path = self.test_image_folder + curr_file
print("Current file : " + file_path + " " + str(i) + " over " + file_nb)
i += 1
self.mispevent.load_file(file_path)
reportlab_generator.register_value_to_file(
reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_image_folder + curr_file + ".pdf")
print("Elapsed time : " + str(time.time() - t))
# Local run : 73.061s for 102 files
def test_batch_OSINT_events(self):
# Test case ONLY for manual testing. Needs to download a full list of OSINT events !
if self.check_python_2():
self.assertTrue(True)
elif not manual_testing :
self.assertTrue(True)
else:
self.init_event()
file_nb = str(len(os.listdir(self.test_batch_folder)))
i = 0
t = time.time()
for curr_file in os.listdir(self.test_batch_folder):
self.mispevent = MISPEvent()
file_path = self.test_batch_folder + curr_file
print("Current file : " + file_path + " " + str(i) + " over " + file_nb)
i += 1
self.mispevent.load_file(file_path)
reportlab_generator.register_value_to_file(
reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + curr_file + ".pdf")
print("Elapsed time : " + str(time.time() - t))
# Local run : 1958.930s for 1064 files
def test_batch_OSINT_with_config_events(self):
# Test case ONLY for manual testing. Needs to download a full list of OSINT events !
if self.check_python_2():
self.assertTrue(True)
elif not manual_testing :
self.assertTrue(True)
else:
self.init_event()
config = {}
config[self.moduleconfig[0]] = "http://localhost:8080"
config[self.moduleconfig[1]] = "My Wonderful CERT"
config[self.moduleconfig[2]] = True
file_nb = str(len(os.listdir(self.test_batch_folder)))
i = 0
t = time.time()
for curr_file in os.listdir(self.test_batch_folder):
self.mispevent = MISPEvent()
file_path = self.test_batch_folder + curr_file
print("Current file : " + file_path + " " + str(i) + " over " + file_nb)
i += 1
self.mispevent.load_file(file_path)
reportlab_generator.register_value_to_file(
reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + curr_file + ".pdf")
print("Elapsed time : " + str(time.time() - t))
# Local run : 1958.930s for 1064 files