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 = "."} pymisp = {editable = true,extras = ["fileobjects", "neo", "openioc", "virustotal"],path = "."}
pydeep = {editable = true,git = "https://github.com/kbandla/pydeep.git"} pydeep = {editable = true,git = "https://github.com/kbandla/pydeep.git"}
pymispwarninglists = {editable = true,git = "https://github.com/MISP/PyMISPWarningLists.git"} pymispwarninglists = {editable = true,git = "https://github.com/MISP/PyMISPWarningLists.git"}
reportlab = "*"
[requires] [requires]
python_version = "3.6" python_version = "3.6"

176
Pipfile.lock generated
View File

@ -1,7 +1,7 @@
{ {
"_meta": { "_meta": {
"hash": { "hash": {
"sha256": "2551d32f7430eba34eac975cc1b28eca13fe9faff7197d83f312d7de8df187da" "sha256": "3b84b36dba62f12dd8b636886c4a14b3580a77b5a4ceccf0c30ea6c08cd2b7eb"
}, },
"pipfile-spec": 6, "pipfile-spec": 6,
"requires": { "requires": {
@ -23,6 +23,13 @@
], ],
"version": "==0.24.0" "version": "==0.24.0"
}, },
"attrs": {
"hashes": [
"sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69",
"sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb"
],
"version": "==18.2.0"
},
"beautifulsoup4": { "beautifulsoup4": {
"hashes": [ "hashes": [
"sha256:034740f6cb549b4e932ae1ab975581e6103ac8f942200a0e9759065984391858", "sha256:034740f6cb549b4e932ae1ab975581e6103ac8f942200a0e9759065984391858",
@ -40,40 +47,36 @@
}, },
"cffi": { "cffi": {
"hashes": [ "hashes": [
"sha256:151b7eefd035c56b2b2e1eb9963c90c6302dc15fbd8c1c0a83a163ff2c7d7743", "sha256:0b5f895714a7a9905148fc51978c62e8a6cbcace30904d39dcd0d9e2265bb2f6",
"sha256:1553d1e99f035ace1c0544050622b7bc963374a00c467edafac50ad7bd276aef", "sha256:27cdc7ba35ee6aa443271d11583b50815c4bb52be89a909d0028e86c21961709",
"sha256:1b0493c091a1898f1136e3f4f991a784437fac3673780ff9de3bcf46c80b6b50", "sha256:2d4a38049ea93d5ce3c7659210393524c1efc3efafa151bd85d196fa98fce50a",
"sha256:2ba8a45822b7aee805ab49abfe7eec16b90587f7f26df20c71dd89e45a97076f", "sha256:3262573d0d60fc6b9d0e0e6e666db0e5045cbe8a531779aa0deb3b425ec5a282",
"sha256:3bb6bd7266598f318063e584378b8e27c67de998a43362e8fce664c54ee52d30", "sha256:358e96cfffc185ab8f6e7e425c7bb028931ed08d65402fbcf3f4e1bff6e66556",
"sha256:3c85641778460581c42924384f5e68076d724ceac0f267d66c757f7535069c93", "sha256:37c7db824b5687fbd7ea5519acfd054c905951acc53503547c86be3db0580134",
"sha256:3eb6434197633b7748cea30bf0ba9f66727cdce45117a712b29a443943733257", "sha256:39b9554dfe60f878e0c6ff8a460708db6e1b1c9cc6da2c74df2955adf83e355d",
"sha256:495c5c2d43bf6cebe0178eb3e88f9c4aa48d8934aa6e3cddb865c058da76756b", "sha256:42b96a77acf8b2d06821600fa87c208046decc13bd22a4a0e65c5c973443e0da",
"sha256:4c91af6e967c2015729d3e69c2e51d92f9898c330d6a851bf8f121236f3defd3", "sha256:5b37dde5035d3c219324cac0e69d96495970977f310b306fa2df5910e1f329a1",
"sha256:57b2533356cb2d8fac1555815929f7f5f14d68ac77b085d2326b571310f34f6e", "sha256:5d35819f5566d0dd254f273d60cf4a2dcdd3ae3003dfd412d40b3fe8ffd87509",
"sha256:770f3782b31f50b68627e22f91cb182c48c47c02eb405fd689472aa7b7aa16dc", "sha256:5df73aa465e53549bd03c819c1bc69fb85529a5e1a693b7b6cb64408dd3970d1",
"sha256:79f9b6f7c46ae1f8ded75f68cf8ad50e5729ed4d590c74840471fc2823457d04", "sha256:7075b361f7a4d0d4165439992d0b8a3cdfad1f302bf246ed9308a2e33b046bd3",
"sha256:7a33145e04d44ce95bcd71e522b478d282ad0eafaf34fe1ec5bbd73e662f22b6", "sha256:7678b5a667b0381c173abe530d7bdb0e6e3b98e062490618f04b80ca62686d96",
"sha256:857959354ae3a6fa3da6651b966d13b0a8bed6bbc87a0de7b38a549db1d2a359", "sha256:7dfd996192ff8a535458c17f22ff5eb78b83504c34d10eefac0c77b1322609e2",
"sha256:87f37fe5130574ff76c17cab61e7d2538a16f843bb7bca8ebbc4b12de3078596", "sha256:8a3be5d31d02c60f84c4fd4c98c5e3a97b49f32e16861367f67c49425f955b28",
"sha256:95d5251e4b5ca00061f9d9f3d6fe537247e145a8524ae9fd30a2f8fbce993b5b", "sha256:9812e53369c469506b123aee9dcb56d50c82fad60c5df87feb5ff59af5b5f55c",
"sha256:9d1d3e63a4afdc29bd76ce6aa9d58c771cd1599fbba8cf5057e7860b203710dd", "sha256:9b6f7ba4e78c52c1a291d0c0c0bd745d19adde1a9e1c03cb899f0c6efd6f8033",
"sha256:a36c5c154f9d42ec176e6e620cb0dd275744aa1d804786a71ac37dc3661a5e95", "sha256:a85bc1d7c3bba89b3d8c892bc0458de504f8b3bcca18892e6ed15b5f7a52ad9d",
"sha256:a6a5cb8809091ec9ac03edde9304b3ad82ad4466333432b16d78ef40e0cce0d5", "sha256:aa6b9c843ad645ebb12616de848cc4e25a40f633ccc293c3c9fe34107c02c2ea",
"sha256:ae5e35a2c189d397b91034642cb0eab0e346f776ec2eb44a49a459e6615d6e2e", "sha256:bae1aa56ee00746798beafe486daa7cfb586cd395c6ce822ba3068e48d761bc0",
"sha256:b0f7d4a3df8f06cf49f9f121bead236e328074de6449866515cea4907bbc63d6", "sha256:bae96e26510e4825d5910a196bf6b5a11a18b87d9278db6d08413be8ea799469",
"sha256:b75110fb114fa366b29a027d0c9be3709579602ae111ff61674d28c93606acca", "sha256:bd78df3b594013b227bf31d0301566dc50ba6f40df38a70ded731d5a8f2cb071",
"sha256:ba5e697569f84b13640c9e193170e89c13c6244c24400fc57e88724ef610cd31", "sha256:c2711197154f46d06f73542c539a0ff5411f1951fab391e0a4ac8359badef719",
"sha256:be2a9b390f77fd7676d80bc3cdc4f8edb940d8c198ed2d8c0be1319018c778e1", "sha256:d998c20e3deed234fca993fd6c8314cb7cbfda05fd170f1bd75bb5d7421c3c5a",
"sha256:ca1bd81f40adc59011f58159e4aa6445fc585a32bb8ac9badf7a2c1aa23822f2", "sha256:df4f840d77d9e37136f8e6b432fecc9d6b8730f18f896e90628712c793466ce6",
"sha256:d5d8555d9bfc3f02385c1c37e9f998e2011f0db4f90e250e5bc0c0a85a813085", "sha256:f5653c2581acb038319e6705d4e3593677676df14b112f13e0b5b44b6a18df1a",
"sha256:e55e22ac0a30023426564b1059b035973ec82186ddddbac867078435801c7801", "sha256:f7c7aa485a2e2250d455148470ffd0195eecc3d845122635202d7467d6f7b4cf",
"sha256:e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4", "sha256:f9e2c66a6493147de835f207f198540a56b26745ce4f272fbc7c2f2cfebeb729"
"sha256:ecbb7b01409e9b782df5ded849c178a0aa7c906cf8c5a67368047daab282b184",
"sha256:ed01918d545a38998bfa5902c7c00e0fee90e957ce036a4000a88e3fe2264917",
"sha256:edabd457cd23a02965166026fd9bfd196f4324fe6032e866d0f3bd0301cd486f",
"sha256:fdf1c1dc5bafc32bc5d08b054f94d659422b05aba244d6be4ddc1c72d9aa70fb"
], ],
"version": "==1.11.5" "version": "==1.12.1"
}, },
"chardet": { "chardet": {
"hashes": [ "hashes": [
@ -143,10 +146,10 @@
}, },
"jsonschema": { "jsonschema": {
"hashes": [ "hashes": [
"sha256:000e68abd33c972a5248544925a0cae7d1125f9bf6c58280d37546b946769a08", "sha256:acc8a90c31d11060516cfd0b414b9f8bcf4bc691b21f0f786ea57dd5255c79db",
"sha256:6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02" "sha256:dd3f8ecb1b52d94d45eedb67cb86cac57b94ded562c5d98f63719e55ce58557b"
], ],
"version": "==2.6.0" "version": "==3.0.0"
}, },
"lief": { "lief": {
"hashes": [ "hashes": [
@ -156,9 +159,9 @@
}, },
"neobolt": { "neobolt": {
"hashes": [ "hashes": [
"sha256:f70df7422568f3f92f065482237dabe3b96cd49a921c5e17feb1c9e68fdd0357" "sha256:3324f2b319e84acb82e37a81ef75f3f7ce71c149387daf900589377db48bed2a"
], ],
"version": "==1.7.3" "version": "==1.7.4"
}, },
"neotime": { "neotime": {
"hashes": [ "hashes": [
@ -166,13 +169,48 @@
], ],
"version": "==1.7.4" "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": { "prompt-toolkit": {
"hashes": [ "hashes": [
"sha256:88002cc618cacfda8760c4539e76c3b3f148ecdb7035a3d422c7ecdc90c2a3ba", "sha256:11adf3389a996a6d45cc277580d0d53e8a5afd281d0c9ec71b28e6f121463780",
"sha256:c6655a12e9b08edb8cf5aeab4815fd1e1bdea4ad73d3bbf269cf2e0c4eb75d5e", "sha256:2519ad1d8038fd5fc8e770362237ad0364d16a7650fb5724af6997ed5515e3c1",
"sha256:df5835fb8f417aa55e5cafadbaeb0cf630a1e824aad16989f9f0493e679ec010" "sha256:977c6583ae813a37dc1c2e1b715892461fcbdaa57f6fc62f33a528c4886c8f55"
], ],
"version": "==2.0.8" "version": "==2.0.9"
}, },
"py2neo": { "py2neo": {
"hashes": [ "hashes": [
@ -220,6 +258,12 @@
], ],
"version": "==19.0.0" "version": "==19.0.0"
}, },
"pyrsistent": {
"hashes": [
"sha256:3ca82748918eb65e2d89f222b702277099aca77e34843c5eb9d52451173970e2"
],
"version": "==0.14.11"
},
"python-dateutil": { "python-dateutil": {
"hashes": [ "hashes": [
"sha256:7e6584c74aeed623791615e26efd690f29817a27c73085b78e4bad02493df2fb", "sha256:7e6584c74aeed623791615e26efd690f29817a27c73085b78e4bad02493df2fb",
@ -241,6 +285,40 @@
], ],
"version": "==2018.9" "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": { "requests": {
"hashes": [ "hashes": [
"sha256:502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e", "sha256:502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e",
@ -257,10 +335,10 @@
}, },
"soupsieve": { "soupsieve": {
"hashes": [ "hashes": [
"sha256:466910df7561796a60748826781ebe9a888f7a1668a636ae86783f44d10aae73", "sha256:afa56bf14907bb09403e5d15fbed6275caa4174d36b975226e3b67a3bb6e2c4b",
"sha256:87db12ae79194f0ff9808d2b1641c4f031ae39ffa3cab6b907ea7c1e5e5ed445" "sha256:eaed742b48b1f3e2d45ba6f79401b2ed5dc33b2123dfe216adb90d4bfa0ade26"
], ],
"version": "==1.7.3" "version": "==1.8"
}, },
"urllib3": { "urllib3": {
"extras": [ "extras": [
@ -347,11 +425,11 @@
}, },
"coveralls": { "coveralls": {
"hashes": [ "hashes": [
"sha256:ab638e88d38916a6cedbf80a9cd8992d5fa55c77ab755e262e00b36792b7cd6d", "sha256:6f213e461390973f4a97fb9e9d4ebd4956af296ff0a4d868e622108145835cb7",
"sha256:b2388747e2529fa4c669fb1e3e2756e4e07b6ee56c7d9fce05f35ccccc913aa0" "sha256:a7d0078c9e9b5692c03dcd3884647e837836c265c01e98094632feadef767d36"
], ],
"index": "pypi", "index": "pypi",
"version": "==1.5.1" "version": "==1.6.0"
}, },
"docopt": { "docopt": {
"hashes": [ "hashes": [

View File

@ -4,6 +4,8 @@ README
[![Documentation Status](https://readthedocs.org/projects/pymisp/badge/?version=latest)](http://pymisp.readthedocs.io/?badge=latest) [![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) [![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) [![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 # PyMISP - Python Library to access MISP

View File

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

View File

@ -1781,7 +1781,7 @@ class PyMISP(object):
def get_roles_list(self): def get_roles_list(self):
"""Get the list of existing roles""" """Get the list of existing roles"""
url = urljoin(self.root_url, '/roles') url = urljoin(self.root_url, 'roles')
response = self._prepare_request('GET', url) response = self._prepare_request('GET', url)
return self._check_response(response) return self._check_response(response)
@ -1789,13 +1789,13 @@ class PyMISP(object):
def get_tags_list(self): def get_tags_list(self):
"""Get the list of existing tags.""" """Get the list of existing tags."""
url = urljoin(self.root_url, '/tags') url = urljoin(self.root_url, 'tags')
response = self._prepare_request('GET', url) response = self._prepare_request('GET', url)
return self._check_response(response)['Tag'] return self._check_response(response)['Tag']
def get_tag(self, tag_id): def get_tag(self, tag_id):
"""Get a tag by 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) response = self._prepare_request('GET', url)
return self._check_response(response) return self._check_response(response)
@ -1829,7 +1829,7 @@ class PyMISP(object):
old_tag = self.get_tag(tag_id) old_tag = self.get_tag(tag_id)
new_tag = self._set_tag_parameters(name, colour, exportable, hide_tag, org_id, count, user_id, new_tag = self._set_tag_parameters(name, colour, exportable, hide_tag, org_id, count, user_id,
numerical_value, attribute_count, old_tag) 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)) response = self._prepare_request('POST', url, json.dumps(new_tag))
return self._check_response(response) return self._check_response(response)
@ -1837,7 +1837,7 @@ class PyMISP(object):
"""Edit the tag using a json file.""" """Edit the tag using a json file."""
with open(json_file, 'rb') as f: with open(json_file, 'rb') as f:
jdata = json.load(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)) response = self._prepare_request('POST', url, json.dumps(jdata))
return self._check_response(response) return self._check_response(response)
@ -1855,38 +1855,38 @@ class PyMISP(object):
def get_taxonomies_list(self): def get_taxonomies_list(self):
"""Get all the taxonomies.""" """Get all the taxonomies."""
url = urljoin(self.root_url, '/taxonomies') url = urljoin(self.root_url, 'taxonomies')
response = self._prepare_request('GET', url) response = self._prepare_request('GET', url)
return self._check_response(response) return self._check_response(response)
def get_taxonomy(self, taxonomy_id): def get_taxonomy(self, taxonomy_id):
"""Get a taxonomy by 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) response = self._prepare_request('GET', url)
return self._check_response(response) return self._check_response(response)
def update_taxonomies(self): def update_taxonomies(self):
"""Update all the taxonomies.""" """Update all the taxonomies."""
url = urljoin(self.root_url, '/taxonomies/update') url = urljoin(self.root_url, 'taxonomies/update')
response = self._prepare_request('POST', url) response = self._prepare_request('POST', url)
return self._check_response(response) return self._check_response(response)
def enable_taxonomy(self, taxonomy_id): def enable_taxonomy(self, taxonomy_id):
"""Enable a taxonomy by 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) response = self._prepare_request('POST', url)
return self._check_response(response) return self._check_response(response)
def disable_taxonomy(self, taxonomy_id): def disable_taxonomy(self, taxonomy_id):
"""Disable a taxonomy by id.""" """Disable a taxonomy by id."""
self.disable_taxonomy_tags(taxonomy_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) response = self._prepare_request('POST', url)
return self._check_response(response) return self._check_response(response)
def get_taxonomy_tags_list(self, taxonomy_id): def get_taxonomy_tags_list(self, taxonomy_id):
"""Get all the tags of a taxonomy by 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) response = self._prepare_request('GET', url)
return self._check_response(response)["entries"] return self._check_response(response)["entries"]
@ -1894,13 +1894,13 @@ class PyMISP(object):
"""Enable all the tags of a taxonomy by id.""" """Enable all the tags of a taxonomy by id."""
enabled = self.get_taxonomy(taxonomy_id)['Taxonomy']['enabled'] enabled = self.get_taxonomy(taxonomy_id)['Taxonomy']['enabled']
if 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) response = self._prepare_request('POST', url)
return self._check_response(response) return self._check_response(response)
def disable_taxonomy_tags(self, taxonomy_id): def disable_taxonomy_tags(self, taxonomy_id):
"""Disable all the tags of a taxonomy by 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) response = self._prepare_request('POST', url)
return self._check_response(response) return self._check_response(response)
@ -1908,19 +1908,19 @@ class PyMISP(object):
def get_warninglists(self): def get_warninglists(self):
"""Get all the warninglists.""" """Get all the warninglists."""
url = urljoin(self.root_url, '/warninglists') url = urljoin(self.root_url, 'warninglists')
response = self._prepare_request('GET', url) response = self._prepare_request('GET', url)
return self._check_response(response) return self._check_response(response)
def get_warninglist(self, warninglist_id): def get_warninglist(self, warninglist_id):
"""Get a warninglist by 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) response = self._prepare_request('GET', url)
return self._check_response(response) return self._check_response(response)
def update_warninglists(self): def update_warninglists(self):
"""Update all the warninglists.""" """Update all the warninglists."""
url = urljoin(self.root_url, '/warninglists/update') url = urljoin(self.root_url, 'warninglists/update')
response = self._prepare_request('POST', url) response = self._prepare_request('POST', url)
return self._check_response(response) return self._check_response(response)
@ -1942,7 +1942,7 @@ class PyMISP(object):
query['name'] = warninglist_name query['name'] = warninglist_name
if force_enable is not None: if force_enable is not None:
query['enabled'] = force_enable 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)) response = self._prepare_request('POST', url, json.dumps(query))
return self._check_response(response) return self._check_response(response)
@ -1956,7 +1956,7 @@ class PyMISP(object):
def check_warninglist(self, value): def check_warninglist(self, value):
"""Check if IOC values are in warninglist""" """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)) response = self._prepare_request('POST', url, json.dumps(value))
return self._check_response(response) return self._check_response(response)
@ -1964,31 +1964,31 @@ class PyMISP(object):
def get_noticelists(self): def get_noticelists(self):
"""Get all the noticelists.""" """Get all the noticelists."""
url = urljoin(self.root_url, '/noticelists') url = urljoin(self.root_url, 'noticelists')
response = self._prepare_request('GET', url) response = self._prepare_request('GET', url)
return self._check_response(response) return self._check_response(response)
def get_noticelist(self, noticelist_id): def get_noticelist(self, noticelist_id):
"""Get a noticelist by 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) response = self._prepare_request('GET', url)
return self._check_response(response) return self._check_response(response)
def update_noticelists(self): def update_noticelists(self):
"""Update all the noticelists.""" """Update all the noticelists."""
url = urljoin(self.root_url, '/noticelists/update') url = urljoin(self.root_url, 'noticelists/update')
response = self._prepare_request('POST', url) response = self._prepare_request('POST', url)
return self._check_response(response) return self._check_response(response)
def enable_noticelist(self, noticelist_id): def enable_noticelist(self, noticelist_id):
"""Enable a noticelist by 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) response = self._prepare_request('POST', url)
return self._check_response(response) return self._check_response(response)
def disable_noticelist(self, noticelist_id): def disable_noticelist(self, noticelist_id):
"""Disable a noticelist by 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) response = self._prepare_request('POST', url)
return self._check_response(response) return self._check_response(response)
@ -1996,19 +1996,19 @@ class PyMISP(object):
def get_galaxies(self): def get_galaxies(self):
"""Get all the galaxies.""" """Get all the galaxies."""
url = urljoin(self.root_url, '/galaxies') url = urljoin(self.root_url, 'galaxies')
response = self._prepare_request('GET', url) response = self._prepare_request('GET', url)
return self._check_response(response) return self._check_response(response)
def get_galaxy(self, galaxy_id): def get_galaxy(self, galaxy_id):
"""Get a galaxy by 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) response = self._prepare_request('GET', url)
return self._check_response(response) return self._check_response(response)
def update_galaxies(self): def update_galaxies(self):
"""Update all the galaxies.""" """Update all the galaxies."""
url = urljoin(self.root_url, '/galaxies/update') url = urljoin(self.root_url, 'galaxies/update')
response = self._prepare_request('POST', url) response = self._prepare_request('POST', url)
return self._check_response(response) return self._check_response(response)
@ -2048,7 +2048,7 @@ class PyMISP(object):
if tags: if tags:
if isinstance(tags, list): if isinstance(tags, list):
tags = "&&".join(tags) 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)) event_id, with_attachments, tags, from_date, to_date))
logger.debug("Getting STIX event from %s", url) logger.debug("Getting STIX event from %s", url)
response = self._prepare_request('GET', 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 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 :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 = {} to_post = {}
if eventid: if eventid:
to_post['eventid'] = eventid to_post['eventid'] = eventid
@ -2219,7 +2219,7 @@ class PyMISP(object):
:extend: Allow the organisation to extend the group :extend: Allow the organisation to extend the group
''' '''
to_jsonify = {'sg_id': sharing_group, 'org_id': organisation, 'extend': extend} 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)) response = self._prepare_request('POST', url, json.dumps(to_jsonify))
return self._check_response(response) 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 :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} 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)) response = self._prepare_request('POST', url, json.dumps(to_jsonify))
return self._check_response(response) return self._check_response(response)
@ -2240,7 +2240,7 @@ class PyMISP(object):
:all_orgs: Add all the organisations of the server to the group :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} 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)) response = self._prepare_request('POST', url, json.dumps(to_jsonify))
return self._check_response(response) 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 :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} 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)) response = self._prepare_request('POST', url, json.dumps(to_jsonify))
return self._check_response(response) return self._check_response(response)
@ -2326,7 +2326,7 @@ class PyMISP(object):
return self._check_response(response) return self._check_response(response)
def update_object_templates(self): 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) response = self._prepare_request('POST', url)
return self._check_response(response) return self._check_response(response)

View File

@ -459,7 +459,7 @@ class MISPEvent(AbstractMISP):
if OLD_PY3 and isinstance(json_event, bytes): if OLD_PY3 and isinstance(json_event, bytes):
json_event = json_event.decode() json_event = json_event.decode()
json_event = json.loads(json_event) 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] event = json_event.get('response')[0]
else: else:
event = json_event 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', install_requires=['six', 'requests', 'python-dateutil', 'jsonschema',
'python-dateutil', 'enum34;python_version<"3.4"', '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'], extras_require={'fileobjects': ['lief>=0.8', 'python-magic'],
'neo': ['py2neo'], 'neo': ['py2neo'],
'openioc': ['beautifulsoup4'], '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