astrotrain 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/.gitignore +26 -0
  2. data/LICENSE +20 -0
  3. data/README +47 -0
  4. data/Rakefile +122 -0
  5. data/VERSION +1 -0
  6. data/astrotrain.gemspec +129 -0
  7. data/config/sample.rb +12 -0
  8. data/lib/astrotrain.rb +53 -0
  9. data/lib/astrotrain/api.rb +52 -0
  10. data/lib/astrotrain/logged_mail.rb +46 -0
  11. data/lib/astrotrain/mapping.rb +157 -0
  12. data/lib/astrotrain/mapping/http_post.rb +18 -0
  13. data/lib/astrotrain/mapping/jabber.rb +28 -0
  14. data/lib/astrotrain/mapping/transport.rb +55 -0
  15. data/lib/astrotrain/message.rb +330 -0
  16. data/lib/astrotrain/tmail.rb +58 -0
  17. data/lib/astrotrain/worker.rb +65 -0
  18. data/lib/vendor/rest-client/README.rdoc +104 -0
  19. data/lib/vendor/rest-client/Rakefile +84 -0
  20. data/lib/vendor/rest-client/bin/restclient +65 -0
  21. data/lib/vendor/rest-client/foo.diff +66 -0
  22. data/lib/vendor/rest-client/lib/rest_client.rb +188 -0
  23. data/lib/vendor/rest-client/lib/rest_client/net_http_ext.rb +23 -0
  24. data/lib/vendor/rest-client/lib/rest_client/payload.rb +185 -0
  25. data/lib/vendor/rest-client/lib/rest_client/request_errors.rb +75 -0
  26. data/lib/vendor/rest-client/lib/rest_client/resource.rb +103 -0
  27. data/lib/vendor/rest-client/rest-client.gemspec +18 -0
  28. data/lib/vendor/rest-client/spec/base.rb +5 -0
  29. data/lib/vendor/rest-client/spec/master_shake.jpg +0 -0
  30. data/lib/vendor/rest-client/spec/payload_spec.rb +71 -0
  31. data/lib/vendor/rest-client/spec/request_errors_spec.rb +44 -0
  32. data/lib/vendor/rest-client/spec/resource_spec.rb +52 -0
  33. data/lib/vendor/rest-client/spec/rest_client_spec.rb +219 -0
  34. data/test/api_test.rb +28 -0
  35. data/test/fixtures/apple_multipart.txt +100 -0
  36. data/test/fixtures/bad_content_type.txt +27 -0
  37. data/test/fixtures/basic.txt +14 -0
  38. data/test/fixtures/custom.txt +15 -0
  39. data/test/fixtures/fwd.txt +0 -0
  40. data/test/fixtures/gb2312_encoding.txt +16 -0
  41. data/test/fixtures/gb2312_encoding_invalid.txt +15 -0
  42. data/test/fixtures/html.txt +16 -0
  43. data/test/fixtures/iso-8859-1.txt +13 -0
  44. data/test/fixtures/mapped.txt +13 -0
  45. data/test/fixtures/multipart.txt +213 -0
  46. data/test/fixtures/multipart2.txt +213 -0
  47. data/test/fixtures/multiple.txt +13 -0
  48. data/test/fixtures/multiple_delivered_to.txt +14 -0
  49. data/test/fixtures/multiple_with_body_recipients.txt +15 -0
  50. data/test/fixtures/reply.txt +16 -0
  51. data/test/fixtures/utf-8.txt +13 -0
  52. data/test/logged_mail_test.rb +67 -0
  53. data/test/mapping_test.rb +129 -0
  54. data/test/message_test.rb +440 -0
  55. data/test/test_helper.rb +57 -0
  56. data/test/transport_test.rb +111 -0
  57. metadata +225 -0
@@ -0,0 +1,28 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/test_helper')
2
+
3
+ class Astrotrain::ApiTest < Astrotrain::ApiTestCase
4
+ before :all do
5
+ @filename1 = Astrotrain::Message.queue("boo!")
6
+ @filename2 = Astrotrain::Message.queue("foo!")
7
+ end
8
+
9
+ it "counts queue" do
10
+ assert_equal '2', get("/queue_size").body
11
+ end
12
+
13
+ it "lists queue files" do
14
+ files = get("/queue").body.split("\n")
15
+ assert_equal 2, files.size
16
+ assert files.include?(File.basename(@filename1))
17
+ assert files.include?(File.basename(@filename2))
18
+ end
19
+
20
+ it "reads queue file" do
21
+ assert_equal 'boo!', get("/queue/#{File.basename(@filename1)}").body
22
+ end
23
+
24
+ it "does not read missing file" do
25
+ assert_equal "\"etc/passwd\" was not found.", get("/queue//etc/passwd").body
26
+ end
27
+ end
28
+
@@ -0,0 +1,100 @@
1
+ Message-Id: <4520EF24-6DA2-4011-8DF7-E7ACB4115848@entp.com>
2
+ From: bar@example.com
3
+ To: foo@example.com
4
+ In-Reply-To: <49920fc1c2ba0_91815ba96b4a6fc12194d@xc88-s00059.tmail>
5
+ Content-Type: multipart/mixed;
6
+ boundary=Apple-Mail-7-451386929
7
+ X-Smtp-Server: smtp.att.yahoo.com:foo@bar.net
8
+ Mime-Version: 1.0 (Apple Message framework v930.3)
9
+ Subject: Re: Email attachments and file upload [Suggestions]
10
+ Date: Tue, 10 Feb 2009 15:39:00 -0800
11
+ References: <49920fc1c2ba0_91815ba96b4a6fc12194d@xc88-s00059.tmail>
12
+
13
+
14
+ --Apple-Mail-7-451386929
15
+ Content-Type: text/plain;
16
+ charset=US-ASCII;
17
+ format=flowed
18
+ Content-Transfer-Encoding: 7bit
19
+
20
+ Let's have a test here:
21
+
22
+
23
+ --Apple-Mail-7-451386929
24
+ Content-Disposition: inline;
25
+ filename=logo.gif
26
+ Content-Type: image/gif;
27
+ x-mac-creator=3842494D;
28
+ x-unix-mode=0644;
29
+ x-mac-type=47494666;
30
+ name="logo.gif"
31
+ Content-Transfer-Encoding: base64
32
+
33
+ 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
73
+ QwgCADs=
74
+
75
+ --Apple-Mail-7-451386929
76
+ Content-Type: text/plain;
77
+ charset=US-ASCII;
78
+ format=flowed;
79
+ delsp=yes
80
+ Content-Transfer-Encoding: 7bit
81
+
82
+ Yum
83
+
84
+
85
+ On Feb 10, 2009, at 3:37 PM, Tender Support wrote:
86
+
87
+ > // Add your reply above here
88
+ > ==================================================
89
+ > From: Tyler Durden
90
+ > Subject: Email attachments and file upload
91
+ >
92
+ > not at the moment ... let me test
93
+ >
94
+ > View this Discussion online: http://foobar.com
95
+ > .
96
+
97
+
98
+
99
+
100
+ --Apple-Mail-7-451386929--
@@ -0,0 +1,27 @@
1
+ Delivered-To: "Processor" <processor@astrotrain.com>
2
+ Message-ID: <a16be7390810161014n52b603e9k1aa6bb803c6735aa@mail.gmail.com>
3
+ Date: Thu, 16 Oct 2008 10:14:18 -0700
4
+ From: Bob <user@example.com>
5
+ To: Processor <processor@astrotrain.com>
6
+ Subject: Fwd: blah blah
7
+ MIME-Version: 1.0
8
+ X-Custom: reply
9
+ Content-Type: multipart/mixed; boundary="====boundary===="
10
+ Content-Transfer-Encoding: 7bit
11
+ Content-Disposition: inline
12
+
13
+ --====boundary====
14
+ Content-Type: text/plain; charset="us-ascii"
15
+
16
+ This message is being generated automatically to notify you
17
+ that PowerMTA has crashed on mtasv.net.
18
+
19
+ As the information below is likely to be essential for debugging
20
+ the problem, please forward this message to <support@port25.com>.
21
+ Thank you.
22
+
23
+ --====boundary====
24
+ Content-Type: text/plain; charset="us-ascii"
25
+
26
+ Yo
27
+ --====boundary====--
@@ -0,0 +1,14 @@
1
+ Delivered-To: "Processor" <processor@astrotrain.com>
2
+ Message-ID: <a16be7390810161014n52b603e9k1aa6bb803c6735aa@mail.gmail.com>
3
+ Date: Thu, 16 Oct 2008 10:14:18 -0700
4
+ From: Bob <user@example.com>
5
+ To: Processor <processor@astrotrain.com>
6
+ Subject: Fwd: blah blah
7
+ MIME-Version: 1.0
8
+ X-Custom: reply
9
+ Content-Type: text/plain; charset=ISO-8859-1
10
+ Content-Transfer-Encoding: 7bit
11
+ Content-Disposition: inline
12
+
13
+ ---------- Forwarded message ----------
14
+ blah blah
@@ -0,0 +1,15 @@
1
+ X-Original-To: processor-reply-57@custom.com
2
+ Delivered-To: processor-delivered@astrotrain.com
3
+ Message-ID: <a16be7390810161014n52b603e9k1aa6bb803c6735aa@mail.gmail.com>
4
+ Date: Thu, 16 Oct 2008 10:14:18 -0700
5
+ Reply-To: reply-to-me@example.com
6
+ From: user@example.com, boss@example.com
7
+ To: processor@astrotrain.com
8
+ Subject: Fwd: blah blah
9
+ MIME-Version: 1.0
10
+ Content-Type: text/plain; charset=ISO-8859-1
11
+ Content-Transfer-Encoding: 7bit
12
+ Content-Disposition: inline
13
+
14
+ ---------- Forwarded message ----------
15
+ blah blah
File without changes
@@ -0,0 +1,16 @@
1
+ Sender: sender@example.com
2
+ Message-ID: <20090702215301207766@188.com>
3
+ From: "2009-07-02 21:53:01" <sender@example.com>
4
+ To: <info@example.com>
5
+ Subject: spam
6
+ Date: Thu, 2 Jul 2009 21:52:54 +0800
7
+ MIME-Version: 1.0
8
+ charset="gb2312"
9
+ Content-Type: text/plain; charset="gb2312"
10
+ Content-Transfer-Encoding: base64
11
+
12
+ RGVhciBTaXJzLCANCldlIGFyZSBnaXZlbiB0byB1bmRlcnN0YW5kIHRoYXQg
13
+ eW91IGFyZSAgTWFudWZhY3R1cmVyIG9mICBwbHN0aWMgIEJvdHRsZXMNCkFk
14
+ ZKO6IGJsYWggQ2hpbmE=
15
+
16
+
@@ -0,0 +1,15 @@
1
+ Sender: sender@example.com
2
+ Message-ID: <20090702215301207766@188.com>
3
+ From: "2009-07-02 21:53:01" <sender@example.com>
4
+ To: <info@example.com>
5
+ Subject: spam
6
+ Date: Thu, 2 Jul 2009 21:52:54 +0800
7
+ MIME-Version: 1.0
8
+ charset="gb2312"
9
+ Content-Transfer-Encoding: base64
10
+
11
+ RGVhciBTaXJzLCANCldlIGFyZSBnaXZlbiB0byB1bmRlcnN0YW5kIHRoYXQg
12
+ eW91IGFyZSAgTWFudWZhY3R1cmVyIG9mICBwbHN0aWMgIEJvdHRsZXMNCkFk
13
+ ZKO6IGJsYWggQ2hpbmE=
14
+
15
+
@@ -0,0 +1,16 @@
1
+ Delivered-To:
2
+ From: abc@astrotrain.com
3
+ To: xyz@astrotrain.com
4
+ Message-ID: <11644553.1741252281981737.JavaMail.root@astrotrain>
5
+ Subject: ABC DEF
6
+ MIME-Version: 1.0
7
+ Content-Type: multipart/mixed;
8
+ boundary="----=_Part_1695_189596019.1252281981305"
9
+ X-Mailer: Railo Mail
10
+
11
+ ------=_Part_1695_189596019.1252281981305
12
+ Content-Type: text/html; charset=UTF-8
13
+ Content-Transfer-Encoding: quoted-printable
14
+
15
+ <p>ABC</p>
16
+ ------=_Part_1695_189596019.1252281981305--
@@ -0,0 +1,13 @@
1
+ Delivered-To: "Processor" <processor@astrotrain.com>
2
+ Message-ID: <a16be7390810161014n52b603e9k1aa6bb803c6735aa@mail.gmail.com>
3
+ Date: Thu, 16 Oct 2008 10:14:18 -0700
4
+ From: =?ISO-8859-1?Q?Matth=E9w?= <user@example.com>
5
+ To: Processor <processor@astrotrain.com>
6
+ Subject: Fwd: blah blah
7
+ MIME-Version: 1.0
8
+ Content-Type: text/plain; charset=ISO-8859-1
9
+ Content-Transfer-Encoding: 7bit
10
+ Content-Disposition: inline
11
+
12
+ ---------- Forwarded message ----------
13
+ blah blah
@@ -0,0 +1,13 @@
1
+ Delivered-To: xyz@astrotrain.com
2
+ Message-ID: <a16be7390810161014n52b603e9k1aa6bb803c6735aa@mail.gmail.com>
3
+ Date: Thu, 16 Oct 2008 10:14:18 -0700
4
+ From: user@example.com
5
+ To: processor@astrotrain.com
6
+ Subject: Fwd: blah blah
7
+ MIME-Version: 1.0
8
+ Content-Type: text/plain; charset=ISO-8859-1
9
+ Content-Transfer-Encoding: 7bit
10
+ Content-Disposition: inline
11
+
12
+ ---------- Forwarded message ----------
13
+ blah blah
@@ -0,0 +1,213 @@
1
+ Delivered-To: foo@example.com
2
+ Received: by ewy14 with SMTP id 14so339326ewy.0
3
+ for <foo@example.com>; Tue, 09 Dec 2008 15:03:18 -0800 (PST)
4
+ Message-ID: <ddf0a08f0812091503x4696425eid0fa5910ad39bce1@mail.examle.com>
5
+ Date: Tue, 9 Dec 2008 15:03:18 -0800
6
+ From: "Rick Olson" <rick@example.com>
7
+ To: foo@example.com
8
+ Subject: testing
9
+ MIME-Version: 1.0
10
+ Content-Type: multipart/mixed;
11
+ boundary="----=_Part_98510_7267541.1228863798546"
12
+
13
+ ------=_Part_98510_7267541.1228863798546
14
+ Content-Type: multipart/alternative;
15
+ boundary="----=_Part_98511_30821043.1228863798546"
16
+
17
+ ------=_Part_98511_30821043.1228863798546
18
+ Content-Type: text/plain; charset=ISO-8859-1
19
+ Content-Transfer-Encoding: 7bit
20
+ Content-Disposition: inline
21
+
22
+ Testing out rich emails with attachments!
23
+ This one has a name property on Content-Type.
24
+ [state:hold responsible:rick]
25
+
26
+ ------=_Part_98511_30821043.1228863798546
27
+ Content-Type: text/html; charset=ISO-8859-1
28
+ Content-Transfer-Encoding: 7bit
29
+ Content-Disposition: inline
30
+
31
+ Testing out <span class="Apple-style-span" style="font-weight: bold;">rich</span> emails with attachments!<div><br></div><div>[state:hold responsible:rick]</div>
32
+
33
+ ------=_Part_98511_30821043.1228863798546--
34
+
35
+ ------=_Part_98510_7267541.1228863798546
36
+ Content-Type: image/jpeg; name=bandit.jpg
37
+ Content-Transfer-Encoding: base64
38
+ X-Attachment-Id: f_foj5r58f0
39
+ Content-Disposition: attachment; filename=bandit.jpg
40
+
41
+ /9j/4AAQSkZJRgABAQAAAQABAAD/4hEsSUNDX1BST0ZJTEUAAQEAABEcYXBwbAIAAABtbnRyUkdC
42
+ IFhZWiAH2AAKAB4ADgAsABlhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAA
43
+ AADTLWFwcGzyFHiLXl6eOdbNyU72rSSJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5y
44
+ WFlaAAABLAAAABRnWFlaAAABQAAAABRiWFlaAAABVAAAABR3dHB0AAABaAAAABRjaGFkAAABfAAA
45
+ ACxyVFJDAAABqAAAAA5nVFJDAAABuAAAAA5iVFJDAAAByAAAAA52Y2d0AAAB2AAABhJuZGluAAAH
46
+ 7AAABj5kZXNjAAAOLAAAAGRkc2NtAAAOkAAAAj5tbW9kAAAQ0AAAAChjcHJ0AAAQ+AAAACRYWVog
47
+ AAAAAAAAX3kAADZCAAAG6VhZWiAAAAAAAABvXQAAswsAABt5WFlaIAAAAAAAACgAAAAWzQAAsMNY
48
+ WVogAAAAAAAA81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAA
49
+ A9wAAMBsY3VydgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNn
50
+ dAAAAAAAAAAAAAMBAAACAAAAEQA6AHkAygEfAWsBwwInApgDFgOpBEkE+AW7BokHZwhTCUoKVAtu
51
+ DJANtQ7ZEAQRNBJnE6EU3RYfF2wYuRoLG2EcwB4dH38g5iJFI7wlOSayKC8ppysgLJQuBy92MOMy
52
+ TTOwNQ42aTe+ORI6YjutPPU+OT+JQNxCLEN1RL1F/0dASHpJtUroTBVNQU5oT4pQqlHHUuJT/VUV
53
+ Vi1XQ1haWXFagluXXKlduV7JX9dg5GHzYv5kCGUTZiBnKmg2aT5qRWsybBRs823VbrpvoHCGcXBy
54
+ XnNPdD91MnYndx54FXkOegl7BHv+fPR94X7Nf7qApYGPgneDYIRLhTOGG4cDh+uI1Im8iqWLjox2
55
+ jV+OVY92kOKSTZOwlRCWbJe7mP2aOpttnJidtZ7Jn9ig3aHgotyj06TKpcOm1KfsqQaqH6s3rE2t
56
+ Ya5wr3+wjrGXsp+zpbSrtay2r7exuKy5rLqlu4u8a71Mvi6/D7/twMzBr8KRw3PEWMU/xifHEsgA
57
+ yPDJ4crVy8nMss2KzmDPNNAG0NjRpdJw0zvUB9TU1Z/WbNc62ArY3tmy2ojbYdwi3MTdSt3L3lHe
58
+ 2d9p3/rgkuEt4cribeMT47zkZuUT5cDmbOcY58Xoa+kM6aLqNurI61vr7uyK7Svt1e6P71jwNfEv
59
+ 8k7zmfUY9vb5if0Q//8AAAALACYAUACGAMgBFAFlAcACKQKkAy8DzQR7BTkGBAbiB88IxQnICtcL
60
+ 6gz9DhUPMRBQEXISnRPLFPsWNxd0GLIZ+RtHHJId4x82IIkh6SNVJLwmJieMKPIqVSu1LRYuby/I
61
+ MRwyazO1NPo2Pzd+OLo58TspPGs9sD7wQC5BZ0KcQ85E/0YtR1JIdEmTSq9LxUzZTetO+1ALURhS
62
+ JFMuVDdVQVZIV1JYWFldWmVbaVxsXXRedl93YHxhgmKDY4hkiGWIZnNnU2gwaQ9p8mrWa7tso22O
63
+ bnxvaXBZcUtyP3MzdCp1InYadxF4BXj0eeJ60Xu+fKp9lH5+f2yAVoE+giaDD4P5hOGFyYayh5qI
64
+ golxioiL4I00joCPzJESkk+ThJS1lduW+5gTmSSaMJs3nDqdOZ41nzCgNaFOonSjn6TEpeynEKgx
65
+ qU2qaauFrJutsK7Br9Kw4bHwsv20B7UStiG3NrhMuWO6e7uRvKO9tb7Kv9rA5sH0wv3EBcUKxg/H
66
+ EsgTyRHKDcsBy+rMz82xzpHPbtBH0R/R9dLJ06DUdNVJ1iDW99fV2LDZj9pw20/cJtz53cremd9p
67
+ 4DrhC+Hc4q3jfuRP5SLl9ubL56Hod+lO6ibq/+vV7J7tXu4Z7srvefAn8NPxg/I38vHzt/SM9XP2
68
+ cveQ+Nb6YPwz/mP//wAAAAoAJABLAH0AuwEDATkBdQG4AgECWwK8AyYDnwQgBLAFSAXoBpYHTQgJ
69
+ CMQJgwpFCwkLzwyaDWkOOw8TD+0QyBGoEo0TcxRbFUUWLRclGCUZIBohGxwcGR0RHgwfBR/5IPAh
70
+ 4SLQI70kpyWQJnYnWyg+KR4qDisBK/Es4C3MLrcvnzCGMWwyUDMvNA006DXCNpo3cjhHOR458TrD
71
+ O5Q8ZT02PgU+1j+mQHVBRUIUQuNDskSARUxGGUbnR7NIf0lJShJK0EuJTEBM+U21TnJPL0/vULJR
72
+ d1I6Uv9TxlSNVVRWHVblV61YdVk9Wgda01uhXG5dOl4FXtFfnmBrYTViAGLMY5hkYmUtZfhmwmeM
73
+ aFhpH2njaqZrZ2wqbOxtrG5obyNv3HCScUJx73KZcz5z4HSAdRt1tnZUdw531XijeXJ6Rnsbe/B8
74
+ x32ifoB/XYA7gRuB+4Lbg7yEnYV4hliHQohHiVSKYYtzjIKNjo6ej7GQw5HVkuqT/5UVliyXRJhe
75
+ mXeakJupnLmdvJ69n76gvaG9orujt6S4pbmmwKfHqNKp5Kr3rBGtLq5Or3SwmbHAsum0FLU/tm63
76
+ n7jVugy7RryCvb6/AMBEwYrCz8QYxV3GpsfvyULKpcwCzVTOpc/00VDSttQq1a/XVtkj2xXdRN+/
77
+ 4pnl6Ooa75j33P//AABuZGluAAAAAAAABjYAAJh/AABX2wAAVCwAAJANAAAoXwAAFWAAAFANAABU
78
+ OQAB+uEAAePXAAEeuAADAQAAAgAAAC8AdwC8APsBOAFyAawB5AIdAlQCigLAAvcDMANrA6YD4gQf
79
+ BF0EmwTbBRsFWgWbBd0GHwZiBqQG6ActB3IHuAf+CEgIjgjUCRoJYgmrCfQKPwqLCtgLJwt3C8gM
80
+ GwxvDMUNHA12DdEOLw6ODvAPUw+4EB8QiBD0EWER0RI+EqsTGROKE/4UchTqFWUV4BZgFt8XYxfr
81
+ GHYZAhmSGiYavBtVG/Ecjh0uHdEedR8cH8QgbSEcIckieiMuI+QkmyVXJhIm0CeSKFYpGinfKqgr
82
+ cSw/LQ8t/C71L/Ew6THiMt0z1jTNNcI2ujexOKg5nzqYO488hz2CPn8/iECbQatCwEPYRPZGE0cw
83
+ SFRJekqhS8lM9U4hT09QgFGyUtJTwlSGVU1WF1bnV7hYi1liWkFbKFwUXQVd/17/YAthImI+Y2dk
84
+ lGXKZwpoTGmRarlr22z6bhxvQHBmcZByvnP0dSh2X3efeOF6J3tvfL5+DH9dgLmCEYNzhPiGhogT
85
+ iaGLOYzQjmOP+pGRkySUt5ZIl9SZXprnnG+d95+UoVajHqTspsCooaqIrHGuWrBIsjO0HrX/t+O5
86
+ wbucvh3BSMRQxzDJ78yXzynRrNQo1qHZIduj3knhM+Q25znqE+y27xXxN/MV9Lv2L/d9+K35p/qa
87
+ +1P8Dfyo/Sf9pv4l/sH/YP//AAAARwCVANoBGQFVAZAByQIBAjoCcgKqAuQDIANdA5sD2gQbBFwE
88
+ nQTgBSQFZwWrBfEGNwZ9BsMHCwdUB50H5wgzCH4IyAkRCV0JqQn2CkUKlQrmCzkLjgvjDDoMlAzu
89
+ DUsNqg4LDm4O1A88D6UQERB/EPARYxHXEkkSuhMuE6UUHRSYFRYVlhYZFp0XJBewGD8Y0RllGf4a
90
+ mhs5G9scfx0kHc4eeh8oH9kgiyFBIfYisCNsJCgk6CWrJmwnMyf9KMYpjypeKysr/yzRLbsusy+x
91
+ MK0xpzKkM6A0mjWSNo03hziBOXs6djtwPGs9aT5pP3BAgEGOQqBDtUTQRexHBkgnSUxKckuZTMNN
92
+ 8E8eUE9Rg1KuU61Uf1VUVixXC1foWMpZsVqfW5Ncil2LXpFfn2C2YdNi+GQkZVNmjGfIaQVqMWtH
93
+ bFltaG5/b5NwrXHJcut0EnU5dmJ3k3jGef57N3x2fbV+9oA+gYeC0IQQhU6GkIfQiRCKVouijO2O
94
+ N4+IkOCSNZOUlPSWWpfCmS2anpwTnY2fEaCuolWkA6W5p3epQasPrOSut7CSsmi0QrYPt+G5rrt1
95
+ vVC/P8E0wzDFKcclySPLI80nzyjRKNMn1SfXJtkn2yTdK99c4a7kKOax6Ujrze438H7ykPRv9iD3
96
+ o/j++i77PPw3/Qf9zf7K//8AAABMAMEBKAGGAd4CNQKIAtwDNAOOA+sESgSqBQwFbgXSBjgGngcF
97
+ B28H2QhICLIJGgmHCfMKZArWC00LxAw/DL4NPg3EDk0O2g9rEAAQmBE1EdYSbhMHE6QURRTpFZIW
98
+ PhbtF6EYWxkYGdsaohttHD0dDh3mHsIfoSCDIWoiUSM+JCwlHiYTJwsoCSkIKgorECwcLS0uVi+I
99
+ MLgx5zMZNEc1czakN9Q5BTo5O2w8pD3fPx1AWkGUQtJEFEVbRqBH6Uk5SopL200zTotP6FFJUqhU
100
+ FFWIVwVYf1oAW45dIl7CYHViN2QQZfpn+2n3a5ZtIm6tcDBxs3M4dLh2M3eyeS96rXwtfa1/L4C9
101
+ gkaDuYUBhk2HmYjhii6LgIzPjhqPaZC6kgeTV5SnlfeXSJiXmeebOZyMneGfP6Czoiyjp6UlpqSo
102
+ KKmwqzKst64zr7GxLLKdtBG1e7bjuEq5rbsKvGy9zb8swIrB6sNIxKLF/cdUyKvKAMtUzKnN/c9N
103
+ 0JzR69M51IrV1tcn2HrZydsa3Gjdp97d4B7haeK35AblWeah5+PpH+pT637sou207rnvsfCe8Yjy
104
+ XvMv8+/0pfVY9fn2mvc09734RvjP+T75rPoa+on64fs2+4v74Pw1/H38tPzr/SL9Wf2R/cj9//43
105
+ /nD+qf7i/xv/VP+N/8b//wAAZGVzYwAAAAAAAAAKQ29sb3IgTENEAAAAAAAAAAAAAAAAAAAAAAAA
106
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
107
+ AAAAAG1sdWMAAAAAAAAAEgAAAAxuYk5PAAAAEgAAAOhwdFBUAAAAFgAAAPpzdlNFAAAAEAAAARBm
108
+ aUZJAAAAEAAAASBkYURLAAAAHAAAATB6aENOAAAADAAAAUxmckZSAAAAEgAAAVhqYUpQAAAADgAA
109
+ AWplblVTAAAAEgAAAXhwbFBMAAAAEgAAAYpwdEJSAAAAGAAAAZxlc0VTAAAAEgAAAbR6aFRXAAAA
110
+ DgAAAcZydVJVAAAAJAAAAdRrb0tSAAAADAAAAfhkZURFAAAAEAAAAgRubE5MAAAAFgAAAhRpdElU
111
+ AAAAFAAAAioARgBhAHIAZwBlAC0ATABDAEQATABDAEQAIABhACAAQwBvAHIAZQBzAEYA5AByAGcA
112
+ LQBMAEMARABWAOQAcgBpAC0ATABDAEQATABDAEQALQBmAGEAcgB2AGUAcwBrAOYAcgBtX2mCcgAg
113
+ AEwAQwBEAMkAYwByAGEAbgAgAEwAQwBEMKsw6TD8ACAATABDAEQAQwBvAGwAbwByACAATABDAEQA
114
+ SwBvAGwAbwByACAATABDAEQATABDAEQAIABDAG8AbABvAHIAaQBkAG8ATABDAEQAIABjAG8AbABv
115
+ AHJfaYJybbJmdphveTpWaAQmBDIENQRCBD0EPgQ5ACAEFgQaAC0ENAQ4BEEEPwQ7BDUEOc7st+wA
116
+ IABMAEMARABGAGEAcgBiAC0ATABDAEQASwBsAGUAdQByAGUAbgAtAEwAQwBEAEwAQwBEACAAYwBv
117
+ AGwAbwByAGkAAG1tb2QAAAAAAAAGEAAAnIUAAAAAxHyvAAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAA
118
+ AENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAAB
119
+ AAAAGgAAAAAAAqACAAQAAAABAAAAS6ADAAQAAAABAAAASwAAAAD/2wBDAAIBAQEBAQIBAQECAgIC
120
+ AgQDAgICAgUDBAMEBgUGBgYFBQUGBwkIBgcIBwUFCAsICAkJCgoKBgcLDAsKDAkKCgr/2wBDAQIC
121
+ AgICAgUDAwUKBgUGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
122
+ CgoKCgr/wAARCABLAEsDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL
123
+ /8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2Jy
124
+ ggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG
125
+ h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo
126
+ 6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQD
127
+ BAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRom
128
+ JygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaX
129
+ mJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6
130
+ /9oADAMBAAIRAxEAPwBf2p/+Dhn4o/tYfs5+NP2btc/Yr0vw3ZeN/D1xo9/q0Pjv+1mtIZRh3SIw
131
+ xhzjgDcuOua+Q/2RIZbb4ja6zH5l8KWMWVXhsXEq5/SvXdS/Zk/Z/XP2bwTMNvRRrV1gf+RKZ4X+
132
+ FfgT4c3F1f8Agzw1JbTXkaJPO9xNcM0aklVy7HaASThfWvxXOuK45xg3Skne2miXVPXV9j++uAfC
133
+ SjwTmscTh5e42nK8m3opJW91L7Xc253Ynd0/2agaVXORgt60y4kmjHzQuPm7oVrT8CfD34rfFnVb
134
+ /RPhP8M9U8QS6VCkmrT2zwWtrZbsmNJrmd0jSRgCQmWfHJABBr4qjhataVoK7P37G53l2VYX2+Lq
135
+ xhT2u3bV9PXy3MxpMZPeqev+I9G8K6VJrPiHUorO1QqrTTPgFmOFVfUkkAAckmuz1D9kH9uK51aS
136
+ aL4eeFvBul6Vbx3d5rPxB8SWpsLkbj5sTtayPJHtjXeJAvU87QOanxk/4Jw+PPH/AIW8OfEr4ZeI
137
+ PBfj3UrXTvtJfw34mnsTdXssgKy2lxM72/2aBVHlphSSm9zISFHq0clkmp15JQfZq/pvZfM/PMx8
138
+ W8ojipYXARdSa+201Bd3om5W7JavS63MrT7/AEPVvBUNxJpGoWOrvduXiuWXZ9n/AICyj7jHrjPH
139
+ fmoobdp7qCwjwbi6mEVvETgyueiAdz7V5x4H8Mftdal4buPAnj/4ZeNtN8RaPG5mvIPCl1cSatEJ
140
+ tvnW6xwA/J9wgAbvlcMU69B8L/CXhC18KWHjfwb4mm8RrGZNniTULo3F8j+Yd6yFwGgYMpQqAgGz
141
+ BBqsyyWWWUFWqzjaTslF36XV+1+ier100Ozh7xFyvPsX9SwTbmlzN1LLVtJpJXvZ+i7N3udbfafe
142
+ 6VfyabqkDwXELFZYnPMbjsaaGQjPH5VXmvLi7na6u7iSWWQ5eR33E+7N3NLub/npXgON9j9JpSk6
143
+ a5mubrba5S+JXjHXtI8JXt/4b0bUdRv1Cpa2Oj2IurqUlwCIYCQJZNrMQnT5ea+RvgZ8ZPjh+2/4
144
+ vk+D3wS/Yy8P6hqhuXmvPFSeINWtbyG2z8smoX73nlq3y43KiK5+VI+i19e+C/Ht/wCAfjH4E8ZW
145
+ zwiCx8WwreGdiAiywTQRuNvQrLLDj3KntXqPwg8cfDL4dXGur8L9D0mxefW7m51+DSII4XF40rmT
146
+ 7QIxlWzvVQfujpX2mV5lQynLJtUVUqTe/a3R2187Jo/mPxGyTNOJeKKMKeMdChRj8P8AM23qk9Nl
147
+ a7TtbQ9a/Z5/YW/Z+h+DWgS/FX4CtofiyTSgPEWn6X4+1S9hSf50O2V7p8hhtfhuGOMnbmu8+Gf7
148
+ If7MnwYhey+FHwpi0qGbUm1CaJtXvLtZrogDzZVmmcSH5V++D0HpXnnhv9pFmiRb2WD57lHPnSFk
149
+ B3jGP7pxtx716t4V+Kml+I4nKM0TI+P3mMP8ucj27fVTXkPNqlWUteRvf+up4+M4bxlGjCNVupCO
150
+ 19bei6X62PPP2/P2ffjL+0v8KbX4WfDO80A2eoa1bTeKbfxFqU9ql1YQOJjbI0MbktNIiK+du1M9
151
+ ckV5V+zx8IfHv7EOqanrfxPudEi0u90aGz8O+EfCCfaLrWdWRzvuorGCGOGF3TEbiMYchZH2bS1f
152
+ TvjXxH4pm8J6g3gG+tI9YFpK+m/bLfzonkCEojLkdTtGd3GarfDP4kw/EP4f6V41msbvT7m6ttt/
153
+ p1/EIrizuoyY7i3lUEhWSZJUOCw46sK6KeMawbg1enfVX69H+G9jx54Wt9a0bVS2jsttml1trqr9
154
+ TyD/AIKVftD/ABI/Zs/Z/wBL+Lnw08d6h4f1CHxXptm/+iQXts8dxJ86XdvLwwxHs3q6smWIzXNf
155
+ 8FBvhjrng2y8P/Hr9nn4ZWF35d5cad4y8NaPZQ2Tana3g8yO7DrhPPhmiwC6nf5+zuK2f+CkHiTw
156
+ Zqn7JHjrQvEVk11GugS3UCR53x3MR3QuGAONsm3PHQt/DmvXfhN4ym8Q+DLTUrx41uPIQXaI+5Q+
157
+ BkL7Z6VH17D/AFSnGUOdc0k+zVo6d9Lu3bdHRTyfMMPjamKp1HCVoOLW6d5a22s+VJ9+p8CeG/Eu
158
+ meKdIi1nTXl8qUnCXFu0EiMrYKPGwDIQ3YgGtDzv9gVu/tOx+FrD9rTx1P4Wadftq6Zfa1DIylP7
159
+ SktmWR4/4gHhht8j+/k9zXJi5U/8tq4cTQpxq2p7aP70mf0rw7nFXNMnp18TaE3e66XTs7eTtfyO
160
+ V8f6Vd+K/B+o6FYPCt1Pbn7C1wSI0uEYSRSMRzgSIh4/u1x2u+MPhTd/FGG18dfArVPBF5PlrDxp
161
+ 4S1d0mE2S88t0YP+WZkWV0effuTLEDaRXctdNt+Z+KxNW8Kax8UvEOl+BPC3hC78SX7aojLo1uVt
162
+ 7b7REhmV769kxHbQwIsk0m8/LGpdgVXB+iyupUjL2MYtxd9m01pv26ddPQ/LeOcHl9XD/Xq1VU5R
163
+ sryScXrdJ3V927crvfo9j0fwbP4zsfD8Gp6F8SdO8X6dI++21PVZRa3MsZONv2iAeVLtZcA7Bnoa
164
+ 7rwf8UPGmjavLp+paLcWaIN8Fz9pSeKUZxjcvIfvgjo3Wvjf9rcXH7FHw/g1Pwl8QtfOq6/D59vY
165
+ WUqHQpI5wBb/AOiXCOzZijluCXwzpNab0UyMF6D9k34qah8e/h9eapf+JNQ8D+JppY7G3tbfVd9v
166
+ dE23mxSwWFzuwuzediYUqCQ3A29mN4clLCPFNJxvva1vW2nzSZ+eZPx3ha+YrLYc3tIq9m7qS12c
167
+ tbvs2n6n3DqX7TV34R0GTxBfvi3tE8y5d85CD+5hWy+/YAP9rrUlh+0B5GixWmi2sdrAU83yISuE
168
+ aQmR9237xYuST3LNXhukeCY/CsF1cWGqahJc36RreSXmpPPEHRAPMSKTeke3bkADHCg+tZ/h3wx4
169
+ zi8WLq/hDxrajR2b/SvD+o6dscENK0ih0GY282WP5uQF4w2Qa+anltKdNqnUtbvfX8/67H2qr+yx
170
+ EZ1aF79rO2u93a62ulqvMv8A7W3xa1/xB8OvHGgaX4hDXMfgW4f+yg4jdzISHlZz1CQ8hFx97nOR
171
+ X1H8AfE0MXgVpTd7sJEdzfLu/dJzXxD8Z/B/izwJ8BfiL458W6mNW17WtJZJxapm3s4sfZ1WHIUo
172
+ ojl3vnuG69/bLH4mweAfA8l9e6j9nt7XTVe8lZ8bIo4wWP5A08fg4U8BRhR1fM1p1do3/wCARhK3
173
+ 1jGYh1/cXLF2fRc07ejtuee69dQeP/2kvi9e2104u7G+0oiF0Zo5kTTwX2t2Zd44+7jB71SF57/p
174
+ XnfwF+NQl+GGr/FmbQ7mW/8AGE1/rPinU1l88aRaJOkSRJbqm/yo7eWzkkk+bYk6ueFfZ2ljqC39
175
+ ol5prpcQSDMU0MgkVx6hhwa0xeBxmGxEozTjFWin35YpP5XV1fX5M+g4G4gwGYZY/ZVFLWUrX1Sl
176
+ JtX+Tt2vc1/gD8HPGH7SHxM0rwboyXej+FrvT21PWfGuEQR6eszW/wDxLw4PmzSzK8cUjDyg0cz5
177
+ fy8HpvHX7Q3h/wAK6heaJ4I8KaXpHwev7WPSPDs2mHdc6boImla7uZpX5nl1mfTbhJ5GDSFDaAv/
178
+ AABnxM/av8cL8FvH/inQ/B2uWev+Ihd3F0+n6bvGg2gj+x6fbNbxgSWdvbWyxIjywpHlnO/mvDvg
179
+ 1N4X/aJ/aT/4Z88S6kkfhvxZ8KrnwpplxG25Le5Qi8srlSPlzHPYK24e6/xV9nhKEaUZWVqaWr6u
180
+ 2rf+XT7z8MznHY/iBRxWImpVItWgtFHmdlG2+yd29ddGfP8A+0/431D4s/F7wl8Zvjwl7d+FtQ8X
181
+ 3N34kaEM9vaeZceXHaoB91UtbKJAg+bZGe9eyfsZ6JD8QfH/AMQPGPir4g6Pq99pWo2Nzoms6EyN
182
+ aafE9vPBEItwAjCRBU8rtsXOa4WHWtU8HeG9S8L+NNDgTVfDp1N9Sspm2L/aQvJbIw/9dEF1M4HV
183
+ QYn6EV7j/wAE2/g0PBXhzU1vNKi0lvEVjBqNl4YF/wDbWFm7ki7m+8q7tywx78OUid8cnHtZxmMK
184
+ HD06FraqzXa+qt2sfNcHZVLE8Z06ifNB3lK99+Vxi2/XVX1TvY91uLNZY3hmhBjcFGT7wweMUzSb
185
+ KXTdYkt7PRVS2ltoXe6EmTJIn7vYyNzkIqfP36HpXat4JuuG2Z/vUreF5SgXyiSvTjmvytYqnY/p
186
+ Z4S7T7Hi37W1xZ2XwU1nV9d0fdZ2NxbJIu9pVltnuIN5ZF65+4A+7B2mvh/48/tSftEftAf2P8B9
187
+ O8LWOnT+Mra1meHTZHMsyyuxEbncRGnCsR12Abjywr9LfEHgm3utSMGoNeXhvtPdINKMO+2leLeT
188
+ uVvk3kSj5HK7/LXHKV+dXi+W51f9ozxb4su/D9rpGsaRo886W9hOWayuYY4rvdCHUGFXmhvCUPzx
189
+ q7xscFa+04WnhazcZwUpQ95N9HotvVfgfi/ifHMMMoOjWdOFb3JRW8krt3duzsl2et0et/sk+LvC
190
+ f7N2m618Lkdr5fCGuReJIpZORqNvB51jrNjKPutG9jOZNvQgjulfWGsfAj4UJqUrWX7Gdv4ztpSJ
191
+ bPxPY61eWC38DgPEzxQSLH5oRkWRwoMkiu55Y18MfDLTfFXxT+K8Wg+Av7OF7e3sOqzz32RY2Ony
192
+ 2ks99dXz87LWO3vt0nzcny0XkitDTPG/h7XrJLvwt8fvEGlaXAWs9NtbvV5xM9vbsYI55FNyux5l
193
+ iWZkACqZCq/KBXpY7C1Kld1E7N2v/V0+j8rtnzuU16GHwVOnThzaO1mlZX6trV6pW3SS7jf2Yr/9
194
+ rf8AZp13TdN/aX+KnhjwjpukK1zo83iX4h2lnr+jNgfvLBYTPdBW2qGt5ImhmQMhT5s1618VV8Kr
195
+ 4mtf2tvhvZaZ/wAJX4bs7XWNei8GeHbvTNM1qzkjYter9tEEcAML3EgaBH3ujRkfNuH50fDbwb4b
196
+ 1/wZqWs6vp3nXNuW8mTznXbx6KQP0r7G/wCCfeq3/wATPht8Lfh94+n/ALV0a68V+J9EubG7QMsu
197
+ nW+lR6jBbOcZaOO7keZQTwWI+6cV7Ga4GNG9aNr7SSVk1rfS/VL77M+K4ZzzE12sPNuyV4NtSktk
198
+ k5NLRej0uranvnxOn+Hf7SPguNLee3fSvilPb6roN2rCAWHjGyiVlcPjETX9qhTLfxxy5Br1T9iv
199
+ /hENJ+G+jeBLu7tG16Oz+zyXr2qWkusfZyYvmRvn+0W3+olgf543TgFHRz8dfsn6jfaz+z18aNC1
200
+ O7kltNGtrnU9JiLY+x3cCJPDNERyjJIoYEEdWHRmB9q1OQ3H7T3gfw1cqsth478Brrvim0lQOl5q
201
+ kEghivVBH7i4EYCmWHYzBV3E4FfJZjgFisPLDczSjdr5JP8AJ/evmv1TKc0eX4iGY04LmnaLXlJt
202
+ fhJO3k/I+1v7Ftol2yLg+h+WsrXvC2kajYXGmXAcR3ULxSmGYxOFYEHa45Q89VORXxR+2v8AGP4u
203
+ fs66fp138IPij4i0xpw/mJca1PqMZw3GI7lpFH4AVyHg79t/9qTWfhte6rqfxVlluY4MpMdKswyn
204
+ n0hr5SXDeLjRjVhONm/NP8n+Z9zT49y/6y8PVpS5kr6crW3m1+R9peN/F/h74WafJc+JtbklS5bZ
205
+ plkkSvcyKkI3onPzgbXd5HwiBmLuAM18jePfgna/E3xl4q+PHj2C8uta+IunHSvhx4P8LXD2tzeq
206
+ bTyvtc0zf6yFI1OJGCRsPMkOY9m7o/Clsnj746/DPw944mn1iz8UeAL/AFrxDFqdw9z/AGhdW0m6
207
+ BZmcktAjBW+zE+QWVWMZIBB4R8UeIdY8AfEv406pq80/ik+Nb7QU1qRsyxabFbxTJaxdoozId7BA
208
+ u8hd+7aMfQZVgJZYnOMrzkld+V7WXq1q97HzecZsuJ3GE6aVOE7RT197l+J97J6La/oZ2r6Z8Jf2
209
+ fPhXefs3eHrbT9Z8ZfEcww/ES80G5ktXubCJY1OlaW+ySURblhgTKsZC7yP22buk/Gz9lj4UaXbf
210
+ DzxloXw08O6rpcCRX+hXdlourTWMpAYxS3TadmV13fMTnDZGTjJ+evhjeXel+GW+NlldSL4qm/Zz
211
+ 1fxIdbdzJMmqrrNxYpdR7siN1tv3ahAqr1ADc18MS3l5qE8l9fXcs000rPLLJIWZ2JJJJPUk96+y
212
+ wuW1K8pc1R6bvq3+SSSSR+SZxxDl+X06UqeHvzLRXslFemrbbbetl5n/2Q==
213
+ ------=_Part_98510_7267541.1228863798546--