mms2r 1.1.2 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,7 +1,13 @@
1
+ == 1.1.3 / 2007-07-10 (Charles Foster Ofdensen)
2
+
3
+ * Helio support by Will Jessup
4
+ * get_subject returns nil on default carrier subjects
5
+
1
6
  == 1.1.2 / 2007-06-13 (Dethklok roadie #2)
2
7
 
3
- * placed versioned hpricot dependency in Hoe's extra_deps (an attempt to appease
4
- firebrigade gods or not cause Gem::RemoteInstallationCancelled whichever you prefer)
8
+ * placed versioned hpricot dependency in Hoe's extra_deps (an attempt to
9
+ appease firebrigade gods or not cause Gem::RemoteInstallationCancelled
10
+ whichever you prefer)
5
11
 
6
12
  == 1.1.1 / 2007-06-11 (Dethklok roadie)
7
13
 
@@ -12,7 +18,8 @@
12
18
  * get_body to return body text (Luke Francl)
13
19
  * get_subject returns "" for default subjects now
14
20
  * default subjects listed in yaml by carrier in conf directory
15
- * added granularity to Cingular, Sprint, and Verizon carrier services (Will Jessup)
21
+ * added granularity to Cingular, Sprint, and Verizon carrier services (Will
22
+ Jessup)
16
23
  * refactored Sprint instance to process all media (Will Jessup + Mike)
17
24
  * optimized text transformations (Will Jessup)
18
25
  * properly handle ISO-8859-1 and UTF-8 text (Will Jessup)
@@ -28,15 +35,18 @@
28
35
  == 1.0.7 / 2007-04-27 (Senator Stampingston)
29
36
 
30
37
  * patch submitted by Luke Francl
31
- * added a get_subject method that returns nil when any MMS has a default carrier subject
32
- * get_subject returns nil for '', 'Multimedia message', '(no subject)', 'You have new Picture Mail!'
38
+ * added a get_subject method that returns nil when any MMS has a default
39
+ carrier subject
40
+ * get_subject returns nil for '', 'Multimedia message', '(no subject)', 'You
41
+ have new Picture Mail!'
33
42
 
34
43
  == 1.0.6 / 2007-04-24 (Pickles the Drummer)
35
44
 
36
45
  * patch submitted by Luke Francl
37
46
  * added support for mms.dobson.net (Dobson aka Cellular One) (Luke)
38
47
  * DRY'd up unit tests (Luke)
39
- * added get_media instance method that returns first video or image as File (Luke)
48
+ * added get_media instance method that returns first video or image as File
49
+ (Luke)
40
50
  * File from get_media can be used by/with attachment_fu (Luke)
41
51
  * added get_text instance method that returns first non advertising text
42
52
  * File from get_text can be used by/with attachment_fu
@@ -49,7 +59,8 @@
49
59
  * updated Nextel ignore conf (Luke)
50
60
  * added additional samples and tests for T-Mobile & Verizon (Luke)
51
61
  * cleaned up MMS2R::Media documentation
52
- * added Sprint broken image test for when media goes stale on their content server
62
+ * added Sprint broken image test for when media goes stale on their content
63
+ server
53
64
  * fixed teardown typo in lots of plases
54
65
  * added tests for 4 three samples of unique variants of Sprint/Nextel text
55
66
  * 100% test coverage!
@@ -64,7 +75,8 @@
64
75
 
65
76
  == 1.0.3 / 2007-04-05 (Paper Cut)
66
77
 
67
- * Cleaned up packaging and errors in example found by Shane V. http://shanesbrain.net/
78
+ * Cleaned up packaging and errors in example found by Shane V.
79
+ http://shanesbrain.net/
68
80
 
69
81
  == 1.0.2 / 2007-03-07
70
82
 
data/Manifest.txt CHANGED
@@ -5,6 +5,7 @@ Rakefile
5
5
  conf/mms2r_cingular_me_media_subject.yml
6
6
  conf/mms2r_cingular_me_media_transform.yml
7
7
  conf/mms2r_dobson_media_ignore.yml
8
+ conf/mms2r_helio_media_ignore.yml
8
9
  conf/mms2r_media_ignore.yml
9
10
  conf/mms2r_media_subject.yml
10
11
  conf/mms2r_my_cingular_media_subject.yml
@@ -18,6 +19,7 @@ dev_tools/debug_sprint_hpricot_parsing.rb
18
19
  lib/mms2r.rb
19
20
  lib/mms2r/cingular_me_media.rb
20
21
  lib/mms2r/dobson_media.rb
22
+ lib/mms2r/helio_media.rb
21
23
  lib/mms2r/m_mode_media.rb
22
24
  lib/mms2r/media.rb
23
25
  lib/mms2r/my_cingular_media.rb
@@ -55,6 +57,7 @@ test/files/cingularme-text-01.mail
55
57
  test/files/cingularme-text-02.mail
56
58
  test/files/dobson-image-01.mail
57
59
  test/files/dot.jpg
60
+ test/files/helio-image-01.mail
58
61
  test/files/hello_world_empty_text.mail
59
62
  test/files/hello_world_mail_multipart.mail
60
63
  test/files/hello_world_mail_plain_no_content_type.mail
@@ -85,6 +88,7 @@ test/files/vtext-text-01.mail
85
88
  test/test_helper.rb
86
89
  test/test_mms2r_cingular_me_media.rb
87
90
  test/test_mms2r_dobson_media.rb
91
+ test/test_mms2r_helio_media.rb
88
92
  test/test_mms2r_m_mode_media.rb
89
93
  test/test_mms2r_media.rb
90
94
  test/test_mms2r_my_cingular_media.rb
@@ -94,5 +98,8 @@ test/test_mms2r_sprint_pcs_media.rb
94
98
  test/test_mms2r_t_mobile_media.rb
95
99
  test/test_mms2r_verizon_media.rb
96
100
  test/test_mms2r_vtext_media.rb
101
+ tinderbox/sandbox/cache/sources-0.0.1.gem
102
+ tinderbox/sandbox/gems/sources-0.0.1/lib/sources.rb
103
+ tinderbox/sandbox/specifications/sources-0.0.1.gemspec
97
104
  vendor/plugins/mms2r/lib/autotest/discover.rb
98
105
  vendor/plugins/mms2r/lib/autotest/mms2r.rb
data/README.txt CHANGED
@@ -22,6 +22,7 @@ Corpus of carriers currently processed by MMS2R:
22
22
  * Cingular => mms.mycingular.com
23
23
  * Cingular => cingularme.com
24
24
  * Dobson/Cellular One => mms.dobson.net
25
+ * Helio => mms.myhelio.com
25
26
  * Nextel => messaging.nextel.com
26
27
  * Sprint => pm.sprint.com
27
28
  * Sprint => messaging.sprintpcs.com
data/Rakefile CHANGED
@@ -18,7 +18,8 @@ Hoe.new('mms2r', MMS2R::Media::VERSION) do |p|
18
18
  p.description = p.paragraphs_of('README.txt', 2..6).join("\n\n")
19
19
  p.url = p.paragraphs_of('README.txt', 1).first.strip
20
20
  p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
21
- p.extra_deps << ['hpricot', '>= 0.5.0']
21
+ p.extra_deps << ['hpricot', '>= 0.6.0']
22
+ p.extra_deps << ['mechanize', '>= 0.6.9']
22
23
  p.clean_globs << 'coverage'
23
24
  end
24
25
 
@@ -0,0 +1,6 @@
1
+ ---
2
+ image/gif:
3
+ - top.gif
4
+ - bottom.gif
5
+ - middle_img.gif
6
+
@@ -12,3 +12,4 @@ image/gif:
12
12
  - audio.gif
13
13
  - tmobilelogo.gif
14
14
  - tmobilespace.gif
15
+
@@ -3,4 +3,3 @@ text/plain:
3
3
  ? !ruby/regexp /^(.+?)\s+This message was sent using PIX-FLIX Messaging service from Verizon Wireless!.*/m
4
4
  : \1
5
5
 
6
-
data/lib/mms2r.rb CHANGED
@@ -8,6 +8,7 @@ $:.unshift(File.dirname(__FILE__) + "/vendor/")
8
8
  require 'mms2r/media'
9
9
  require 'mms2r/cingular_me_media'
10
10
  require 'mms2r/dobson_media'
11
+ require 'mms2r/helio_media'
11
12
  require 'mms2r/m_mode_media'
12
13
  require 'mms2r/my_cingular_media'
13
14
  require 'mms2r/nextel_media'
@@ -29,6 +30,7 @@ module MMS2R
29
30
  CARRIER_CLASSES = {
30
31
  'cingularme.com' => MMS2R::CingularMeMedia,
31
32
  'mms.dobson.net' => MMS2R::DobsonMedia,
33
+ 'mms.myhelio.com' => MMS2R::HelioMedia,
32
34
  'mmode.com' => MMS2R::MModeMedia,
33
35
  'mms.mycingular.com' => MMS2R::MyCingularMedia,
34
36
  'messaging.nextel.com' => MMS2R::NextelMedia,
@@ -57,7 +59,7 @@ module MMS2R
57
59
  ##
58
60
  # MMS2R Library version
59
61
 
60
- VERSION = '1.1.2'
62
+ VERSION = '1.1.3'
61
63
 
62
64
  end
63
65
 
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+ require 'hpricot'
3
+ module MMS2R
4
+
5
+ ##
6
+ # Helio version version of MMS2R::Media
7
+ #
8
+ # Helio has a clean multipart/mixed message format. It
9
+ # includes markup that holds some branding around the media
10
+ # artifact. If text is included with the message it is located
11
+ # in the markup.
12
+
13
+ class MMS2R::HelioMedia < MMS2R::Media
14
+ def get_body
15
+ text = get_text()
16
+ d = Hpricot(text)
17
+ body = d.search("//table/tr[2]/td/table/tr/td/table/tr[6]/td").inner_html
18
+ body
19
+ end
20
+ end
21
+ end
data/lib/mms2r/media.rb CHANGED
@@ -77,6 +77,7 @@ module MMS2R
77
77
  # for a logging strategy per carrier type
78
78
 
79
79
  def initialize(mail, carrier, logger=nil)
80
+
80
81
  @mail = mail
81
82
  @carrier = carrier
82
83
  @logger = logger
@@ -106,14 +107,16 @@ module MMS2R
106
107
  end
107
108
 
108
109
  ##
109
- # Filter some common place holder subjects from MMS messages and replace
110
- # them with ""
111
-
110
+ # Filter some common place holder subjects from MMS messages and
111
+ # return nil such that default carrier subjects can be pragmatically
112
+ # ignored.
113
+
112
114
  def get_subject
113
- return @subject if @subject
115
+
116
+ return @subject if @subject # we've already done the work
114
117
 
115
118
  subject = @mail.subject
116
- return @subject ||= "" if subject.nil? || subject.strip.length == 0
119
+ return @subject ||= nil if subject.nil? || subject.strip.length == 0
117
120
 
118
121
  # subject is not already set, lets see what our defaults are
119
122
  a = Array.new
@@ -126,7 +129,7 @@ module MMS2R
126
129
  yf = File.join(self.class.conf_dir(), "#{f}")
127
130
  a = a + YAML::load_file(yf) if File::exist?(yf)
128
131
  return @subject ||= subject if a.size == 0
129
- return @subject ||= "" if a.detect{|r| r.match(subject.strip)}
132
+ return @subject ||= nil if a.detect{|r| r.match(subject.strip)}
130
133
  return @subject ||= subject
131
134
  end
132
135
 
@@ -201,14 +204,25 @@ module MMS2R
201
204
  parts = Array.new()
202
205
  parts << @mail
203
206
  end
204
- # double check for multipart/alternative, if it exists
207
+
208
+ # double check for multipart/related, if it exists
205
209
  # replace it with its children parts
210
+ parts.each do |p|
211
+ if self.class.part_type?(p).eql?('multipart/related')
212
+ part = parts.delete(p)
213
+ part.parts.each { |mp| parts << mp }
214
+ end
215
+ end
216
+
217
+ # multipart/related can have multipart/alternative as a child. if
218
+ # exists, replace with children
206
219
  parts.each do |p|
207
220
  if self.class.part_type?(p).eql?('multipart/alternative')
208
221
  part = parts.delete(p)
209
222
  part.parts.each { |mp| parts << mp }
210
223
  end
211
224
  end
225
+
212
226
  # get to work
213
227
  parts.each do |p|
214
228
  t = self.class.part_type?(p)
@@ -218,6 +232,7 @@ module MMS2R
218
232
  end
219
233
  end
220
234
 
235
+ # when process acts upon a block
221
236
  if block_given?
222
237
  media.each do |k, v|
223
238
  yield(k, v)
@@ -506,7 +521,7 @@ module MMS2R
506
521
  end
507
522
 
508
523
  ##
509
- # helper to fetch self.class.superclass quicly
524
+ # helper to fetch self.class.superclass quickly
510
525
 
511
526
  def sclz
512
527
  self.class.superclass
@@ -532,6 +547,7 @@ module MMS2R
532
547
  #get the largest file
533
548
  size = 0
534
549
  file = nil # explicitly declare the file
550
+
535
551
  files.each do |f|
536
552
  # this will safely evaluate since we wouldn't be looking at
537
553
  # media[mime_type] after the check just before this
@@ -60,7 +60,7 @@ module MMS2R
60
60
  # Digs out where Sprint hides the phone number
61
61
 
62
62
  def sprint_phone_number(doc)
63
- c = doc.search("/html/head/comment//").last
63
+ c = doc.search("/html/head/comment()").last
64
64
  t = c.content.gsub(/\s+/m," ").strip
65
65
  #@number returned in parent's get_number
66
66
  @number = / name=&quot;MDN&quot;&gt;(\d+)&lt;/.match(t)[1]
@@ -0,0 +1,620 @@
1
+ From - Sun Jul 01 15:54:57 2007
2
+ X-Account-Key: account6
3
+ X-UIDL: UID2393-1175209464
4
+ X-Mozilla-Status: 0001
5
+ X-Mozilla-Status2: 00000000
6
+ Return-path: <7608070850@mms.myhelio.com>
7
+ Envelope-to: will@willjessup.com
8
+ Delivery-date: Sun, 01 Jul 2007 17:52:46 -0500
9
+ Received: from [209.179.176.17] (helo=mms.myhelio.com)
10
+ by scratchy.cirtexhosting.com with smtp (Exim 4.63)
11
+ (envelope-from <7608070850@mms.myhelio.com>)
12
+ id 1I58Hc-0006t0-RJ
13
+ for will@willjessup.com; Sun, 01 Jul 2007 17:52:45 -0500
14
+ Message-ID: <1_nm0339723101_7608070850@mms.myhelio.com>
15
+ MIME-Version: 1.0
16
+ From: "MMS Message" <7608070850@mms.myhelio.com>
17
+ Date: Sun, 01 Jul 2007 22:52:45 GMT
18
+ To: <will@willjessup.com>
19
+ Subject: Test image
20
+ Content-Type: multipart/mixed;
21
+ boundary="-------InticubeMmsBoundary-BridgeToTheFuture_MIXED.200610"
22
+ X-Antivirus-Scanner: Clean mail though you should still use an Antivirus
23
+
24
+ Content-Transfer-Encoding: base64
25
+ ---------InticubeMmsBoundary-BridgeToTheFuture_MIXED.200610
26
+ Content-Type: multipart/related;
27
+ boundary="-------InticubeMmsBoundary-BridgeToTheFuture_RELATED.200610"
28
+ ;type="multipart/alternative"
29
+
30
+ ---------InticubeMmsBoundary-BridgeToTheFuture_RELATED.200610
31
+ Content-Type: multipart/alternative;
32
+ boundary="-------InticubeMmsBoundary-BridgeToTheFuture_ALTERNATIVE.200610"
33
+
34
+ ---------InticubeMmsBoundary-BridgeToTheFuture_ALTERNATIVE.200610
35
+ Content-Type: text/plain;
36
+ charset="utf-8"
37
+ Content-Transfer-Encoding: base64
38
+
39
+ Tm90ZToNCiBUaGlzIG1lc3NhZ2UgY29udGFpbnMgbXVsdGltZWRpYSBjb250ZW50cyBhbmQgaXMg
40
+ ZGVsaXZlcmVkIGZyb20gSGVsaW8sIExMQy4NCiBUaGlzIG1lc3NhZ2UgaXMgb3B0aW1pemVkIGZv
41
+ ciBJbnRlcm5ldCBFeHBsb3JlciB2ZXJzaW9uIDYuMA0KDQoNCgl0bzogd2lsbEB3aWxsamVzc3Vw
42
+ LmNvbQ0KCWZyb206IDc2MDgwNzA4NTANCgltZXNzYWdlOg0KVGVzdCBpbWFnZQ0K
43
+
44
+ ---------InticubeMmsBoundary-BridgeToTheFuture_ALTERNATIVE.200610
45
+ Content-Type: text/html;
46
+ charset="utf-8"
47
+ Content-Transfer-Encoding: base64
48
+
49
+ PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl
50
+ eHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPHRpdGxlPk1NUyBFbWFpbDwvdGl0bGU+Cjxz
51
+ dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CjwhLS0KYm9keSwgdGQgewoJZm9udC1mYW1pbHk6IEFyaWFs
52
+ LCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cglmb250LXNpemU6IDlwdDsKCWZvbnQtc3R5bGU6IG5v
53
+ cm1hbDsKCWxpbmUtaGVpZ2h0OiAxNXB0OwoJZm9udC13ZWlnaHQ6IGJvbGQ7Cglmb250LXZhcmlh
54
+ bnQ6IG5vcm1hbDsKCWNvbG9yOiAjNDQ0NDQ0Owp9Cg0KYTpsaW5rIHsKCWZvbnQtZmFtaWx5OiBB
55
+ cmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwoJZm9udC1zaXplOiA5cHQ7Cglmb250LXN0eWxl
56
+ OiBub3JtYWw7CglsaW5lLWhlaWdodDogMTVwdDsKCWZvbnQtd2VpZ2h0OiBib2xkOwoJZm9udC12
57
+ YXJpYW50OiBub3JtYWw7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cgljb2xvcjogIzQ0NDQ0NDsK
58
+ fQoNCmE6aG92ZXIgewoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7
59
+ Cglmb250LXNpemU6IDlwdDsKCWZvbnQtc3R5bGU6IG5vcm1hbDsKCWxpbmUtaGVpZ2h0OiAxNXB0
60
+ OwoJZm9udC13ZWlnaHQ6IGJvbGQ7Cglmb250LXZhcmlhbnQ6IG5vcm1hbDsKCXRleHQtZGVjb3Jh
61
+ dGlvbjp1bmRlcmxpbmU7Cgljb2xvcjogIzQ0NDQ0NDsKfQoNCi5ncmV5IHsKCWZvbnQtZmFtaWx5
62
+ OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwoJZm9udC1zaXplOiA4cHQ7Cglmb250LXN0
63
+ eWxlOiBub3JtYWw7CglsaW5lLWhlaWdodDogbm9ybWFsOwoJZm9udC13ZWlnaHQ6IGJvbGRlcjsK
64
+ CWZvbnQtdmFyaWFudDogbm9ybWFsOwoJdGV4dC10cmFuc2Zvcm06IG5vbmU7Cgljb2xvcjogI2Fi
65
+ YjFiOTsKfQphOmxpbmsgewp9Ci0tPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5IG1hcmdpbmhlaWdo
66
+ dD0iMCIgbWFyZ2lud2lkdGg9IjAiIHRvcG1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgYmdjb2xv
67
+ cj0iI0ZGRkZGRiI+Cjx0YWJsZSB3aWR0aD0iNjMxIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIw
68
+ IiBjZWxscGFkZGluZz0iMCI+Cjx0cj4KPHRkPjxpbWcgc3JjPSJjaWQ6dG9waW1hZ2VfNDcyc2Rp
69
+ ZmpsMjM0MDAxMmwza2pzZGsiIHdpZHRoPSI2MzEiIGhlaWdodD0iMTE4IiBpZD0idG9waW1hZ2Vf
70
+ NCI+PC90ZD4KPC90cj4KPHRyPgo8dGQgc3R5bGU9InBhZGRpbmc6NXB4OyI+PHRhYmxlIHdpZHRo
71
+ PSIxMDAlIiBib3JkZXI9IjEiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYm9yZGVy
72
+ Y29sb3I9IiNiYmJkYmYiIHN0eWxlPSJib3JkZXItY29sbGFwc2U6Y29sbGFwc2UiPgo8dHI+Cjx0
73
+ ZCBzdHlsZT0icGFkZGluZy1sZWZ0OjQ3cHg7IHBhZGRpbmctcmlnaHQ6NDdweDsgcGFkZGluZy10
74
+ b3A6MjdweDsgcGFkZGluZy1ib3R0b206MjdweDsiPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVy
75
+ PSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPgo8dHIgY2xhc3M9ImdyZXkiPgo8
76
+ dGQgaGVpZ2h0PSIyOCIgY2xhc3M9ImdyZXkiPkZST006PC90ZD4KPC90cj4KPHRyPgo8dGQ+NzYw
77
+ ODA3MDg1MDwvYT48L3RkPgo8L3RyPgo8dHIgY2xhc3M9ImdyZXkiPgo8dGQgaGVpZ2h0PSIyOCIg
78
+ Y2xhc3M9ImdyZXkiPlRPOjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxhIGhyZWY9Im1haWx0bzp3aWxs
79
+ QHdpbGxqZXNzdXAuY29tIj53aWxsQHdpbGxqZXNzdXAuY29tPC90ZD4KPC90cj4KPHRyIGNsYXNz
80
+ PSJncmV5Ij4KPHRkIGhlaWdodD0iMjgiIGNsYXNzPSJncmV5Ij5NRVNTQUdFOjwvdGQ+CjwvdHI+
81
+ Cjx0cj4KPHRkPlRlc3QgaW1hZ2U8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBoZWlnaHQ9IjI4IiBjbGFz
82
+ cz0iZ3JleSI+QVRUQUNITUVOVDwvdGQ+CjwvdHI+Cjx0cj4KPHRyPgo8dGQ+PGltZyBzcmM9ImNp
83
+ ZDowNzA2MjgxNzI5NDI3NjA4MDcwODUwMDAwMDAwMDAwMCIgd2lkdGg9IjMwMCIgaWQ9IjcwNjI4
84
+ MTcyOTQiPjxicj48YnI+PC90ZD4KPC90cj4KPHRyPgo8dGQgaGVpZ2h0PSI3OCI+Jm5ic3A7PC90
85
+ ZD4KPC90cj4KPHRyPgo8dGQ+PGltZyBzcmM9ImNpZDptaWRkbGVpbWFnZV83ODVmamwyMzQwMDEy
86
+ bDNranNkayIgd2lkdGg9IjI1MyIgaGVpZ2h0PSIxNiIgaWQ9Im1pZGRsZWltYWciPjwvdGQ+Cjwv
87
+ dHI+CjwvdGFibGU+PC90ZD4KPC90cj4KPC90YWJsZT48L3RkPgo8L3RyPgo8dHI+Cjx0ZD48aW1n
88
+ IHNyYz0iY2lkOmJvdHRvbWltYWdlXzc4NWZqbDIzNDAwMTJsM2tqc2RrIiB3aWR0aD0iNjMxIiBo
89
+ ZWlnaHQ9IjEwOSIgaWQ9ImJvdHRvbWltYWciPjwvdGQ+CjwvdHI+CjwvdGFibGU+CjwvYm9keT4K
90
+ PC9odG1sPgo=
91
+
92
+ ---------InticubeMmsBoundary-BridgeToTheFuture_ALTERNATIVE.200610--
93
+
94
+ ---------InticubeMmsBoundary-BridgeToTheFuture_RELATED.200610
95
+ Content-Type: image/gif;
96
+ name="top.gif"
97
+ Content-Transfer-Encoding: base64
98
+ Content-ID: <topimage_472sdifjl2340012l3kjsdk>
99
+ Content-Description: top.gif
100
+ Content-Disposition: INLINE;
101
+ filename="top.gif"
102
+ Content-Location: top.gif
103
+
104
+ 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
211
+
212
+ ---------InticubeMmsBoundary-BridgeToTheFuture_RELATED.200610
213
+ Content-Type: image/gif;
214
+ name="bottom.gif"
215
+ Content-Transfer-Encoding: base64
216
+ Content-ID: <bottomimage_785fjl2340012l3kjsdk>
217
+ Content-Description: bottom.gif
218
+ Content-Disposition: INLINE;
219
+ filename="bottom.gif"
220
+ Content-Location: bottom.gif
221
+
222
+ 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
282
+
283
+ ---------InticubeMmsBoundary-BridgeToTheFuture_RELATED.200610
284
+ Content-Type: image/gif;
285
+ name="middle_img.gif"
286
+ Content-Transfer-Encoding: base64
287
+ Content-ID: <middleimage_785fjl2340012l3kjsdk>
288
+ Content-Description: middle_img.gif
289
+ Content-Disposition: INLINE;
290
+ filename="middle_img.gif"
291
+ Content-Location: middle_img.gif
292
+
293
+ R0lGODlh/QAQANUAALe3t/n5+fPz86Wlpe3t7aurq+Hh4Z6enrGxsejo6Nvb29XV1cPDw6CgoL29
294
+ vebm5s7OztDQ0Pj4+Li4uPLy8ra2tuzs7MnJyfT09NTU1Pr6+tzc3KqqqqSkpKamprKystbW1uDg
295
+ 4KysrMLCwu7u7r6+vsrKyrCwsLy8vMTExP39/eLi4sjIyNra2vX19a2trbm5uaGhoc/Pz+fn55+f
296
+ n/7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAD9ABAAAAb/QJtw
297
+ SCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v8taU2wjK81MMnq4Bh/bbmPbvKaXv/BiPk9Vv+t6bERt
298
+ Kmx8Z0IUGGl3QmKHjoOSgZSARTMPBHaBkFOdjW+gcpOjcGIPKRkzQhEHNK40EXd8B2ODERCNNDOP
299
+ oqAKNBA0NhUJh5uRo2UJu7UNq0hmhclDANA2AQgHDTQfAWsQMoMzANU0564TudSzRhIlNCXQYgD1
300
+ 5ZTtNuS9E9dkw5H8IFFwYECCZLvEBCBQhAAFAgLKABSQIIANAov0SRAyY2OAGSCFENCwi6PFMgIs
301
+ 9ArAgIEAGTUmPCgDkYyFiIJqVMQ286JF/50WHUooMCNGjZIcNXQcIoDhkBkaaohx2I8Miw/GDBS4
302
+ 8DFpyBo39U2woaGnDABiQDZtaoMETmz+bETgsIIBgiEBGjxIcK2MCwuJ3GrgOCGlkBY4r9GQcHAI
303
+ RJFdH4GdwOGtxFUyaBQo8BYAjQE0FthoUGMDDc8CHDCwYYDGTw8KbCz4EC4AANC7HhQQcWBFDQcD
304
+ Bty7uNm0DWsCEAw4sKEGgg8DRqwpIDrDCwoFODQQV7KCDAIbZtSi0djGZ+UGjg9oMIJ1gQ4eDNQA
305
+ 0KFBh8Y1Csgvc+HEDIC7yCBDADCAJgM52aQgxFkLCugBaLd1IEsGD3JWDQMKzFDeDAgskP9eJBAc
306
+ 4EEBEkRwDjQzBCfccTMQUABu5g0wogABVFAADatVAJolgpREAwEBOABCNQBIIEMB5tlwwUEIyKBA
307
+ BzYw4MAQUtZwQgYCKlDARzQ8UII4FxRAwAABBKDfEAImWcwFqykwAAFdBiCLHyzchUAGJkwZwgDm
308
+ rQKAOPoMU5IYNGRAjAwGcGADBQ0Q0KENI0yQ6ELPiCHAAW/9958QXUYgwwYcfOQAhwistmAFC+Li
309
+ GjABrNABSRbYJosQEB4AqA0ETVAAAmTkRUGNCkAwQKY0YCBBsda0JIEJwxwAgnMRtFAOnAIA0F5A
310
+ SRzAF581RHDPfDAFQIMANNQAAgc0iJD/ywAhnCnSj67hwsAFl53TADcMxgRoDWkO0w+66Cj52QW9
311
+ CIHBAf9hAIBo5jFzEADrbIrwP6vgksIr5zyAcQMFyDClDfehRENsYrQ2QwNCaBuOA7c+0MABJqCJ
312
+ lg0CRoAqOTa4rPE5OA5BA7173oGBJhj8KEYIHyw4greNcEjoDBWkuIrGNTRAwXEQwLONXtZ0IsYz
313
+ 5FrkAMPH0WsAyoLGxoEsdvHZyK4o8CvDAqiSy2FsBHiIpA3u0pzLMNawbMNLBMTWmlNEIIBAOfPW
314
+ QAKfu5gJqHh93lGSgAvcIwMGHKQ3gwIKfFCDuNcUUIEGBJxQKpyDBzj3lDOMioCmC2ou/yBaODMT
315
+ Nq6riNFxDVqRkaa4TpEA0MIM3oFzn/2Mza+gQvzJwmoBDGjNEyUBUMBtgEVPAwIeoJCkCPV0MIFO
316
+ NFz7SGbpCSiAcCIMMEMGAzAwgDgDfLCZGv2y2FoJAzCBuBwAnOPA5A4LoMEGAgWc1ThABPWZnKDK
317
+ czkZUEA4BTiBDSDgAeAsIAAYRIo+lsOAV4hmM6CZgfsGgAARHKgcDrjLBsdCs9vpoxyUsxEKfjSE
318
+ BAKHOxqigQN2RQT93YYCMqAhR8pRtQcAIAGtQcA5kmRAODGAiNcTYSgeMBjWNIcIAGBABj60CgF4
319
+ yIzYOAAJBCEBaAhAAKMDQSY28pLe4f9qP2R4ow0OAqRFQeCLZtyARUxAMiEYYAAbsQEGMrAIMSjA
320
+ AGGBi04SqQ+L6DEAC8hAFwlwICFowEN9HAIFQAAB0KHKBhuwAJD0KAEQAGYh2NiJYQb3xlcypCs2
321
+ CIEM3mKpBWQkARuhwAKcYgYDxGZwDOmVJmowg4UsZAYGAAEORRKRAGTgmH2sCB8Ewo4/KUMIJEDB
322
+ WDZRh08gQhRkgMBJWFMqTpSCFKGAwhzOKYh6+oIR9GSHEo50gQPMCp5VQAMZWjAPfVJAAevkJjV4
323
+ BFCAWuIBx9TnPQthClswYptYKFgjFFpPcxIhALr8ohOOQQqBqEGg8rQnPpChUlsAomA+UvFoNFrK
324
+ jk+wtAwcDYVkdCrRcx5jnvi0g1TwsdCG0tQXMq1EPnq60qWegaUaJWkY9MlQUOxBGTvtA7bKEAQA
325
+ Ow==
326
+
327
+ ---------InticubeMmsBoundary-BridgeToTheFuture_RELATED.200610
328
+ Content-Type: image/jpeg;
329
+ name="0628070005.jpg"
330
+ Content-Transfer-Encoding: base64
331
+ Content-ID: <07062817294276080708500000000000>
332
+ Content-Description: 0628070005.jpg
333
+ Content-Disposition: attachment;
334
+ filename="0628070005.jpg"
335
+ Content-Location: 0628070005.jpg
336
+
337
+ /9j/4QIKRXhpZgAATU0AKgAAAAgACQEPAAIAAAAGAAAAegEQAAIAAAAHAAAAgAESAAMAAAABAAEA
338
+ AAEaAAUAAAABAAAAiAEbAAUAAAABAAAAkAEoAAMAAAABAAIAAAExAAIAAAARAAAAmAITAAMAAAAB
339
+ AAEAAIdpAAQAAAABAAAAqgAAAABIZWxpbwAgT2NlYW4AAAAAAEgAAAABAAAASAAAAAFEMDgxMEhF
340
+ UDAzXzIuMTYwAAAAFYgiAAMAAAABAAIAAJAAAAcAAAAEMDIyMJADAAIAAAAUAAABrJAEAAIAAAAU
341
+ AAABwJEBAAcAAAAEAQIDAJIDAAoAAAABAAAB1JIHAAMAAAABAAIAAKAAAAcAAAAEMDEwMKABAAMA
342
+ AAABAAEAAKACAAQAAAABAAABQKADAAQAAAABAAAA8KAFAAQAAAABAAAB5KMAAAcAAAABAwAAAKMB
343
+ AAcAAAABAQAAAKQBAAMAAAABAAEAAKQCAAMAAAABAAAAAKQDAAMAAAABAAAAAKQEAAUAAAABAAAB
344
+ 3KQIAAMAAAABAAAAAKQJAAMAAAABAAAAAKQKAAMAAAABAAAAAAAAAAAyMDA3OjA2OjI5IDAwOjI5
345
+ OjU2ADIwMDc6MDY6MjkgMDA6Mjk6NTYAAAAAAAAABAAAAAAAAAAAAAACAAEAAgAAAARSOTgAAAIA
346
+ BwAAAAQwMTAwAAAAAP/bAIQABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcT
347
+ FBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHgEFBQUHBgcOCAgOHhQRFB4eHh4eHh4eHh4eHh4eHh4e
348
+ Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8QBogAAAQUBAQEBAQEAAAAAAAAAAAEC
349
+ AwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR
350
+ 8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5
351
+ eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj
352
+ 5OXm5+jp6vHy8/T19vf4+foBAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKCxEAAgECBAQDBAcF
353
+ BAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygp
354
+ KjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJma
355
+ oqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/8AA
356
+ EQgA8AFAAwEiAAIRAQMRAf/aAAwDAQACEQMRAD8ArxoKk20qinhea+PkeygVamVRTVFSDioGIy5q
357
+ Pbg1LzTGPBplJkT1G/FSNVaU9eauKHcZLIcdao6jfy2tqZUCs2QBnpT7h8d6y9ZfdaAZ6uP6110a
358
+ d2h3EsfF+99skSkjg4JH+NaS+Jbb+JCPowrA+FWm2+p+P9CsbqITW9xqUEc0bdGQyKGB+ozX11rf
359
+ wc+FzRGa60eOwGceYt5JGAT9W2/pX0X1GgoLm0ucv1hxmla582xa5aSfxMPw/wAKsx6lat0mUfXi
360
+ vZrj9nzwBejdpusanEe2y4jkUf8Ajuf1rHvv2a8ZOn+LmHos1p/UP/SueWXU+kjo+uU07Sumecx3
361
+ UTH5ZFP0NS+f78V0d9+z342t8mz1bSbpewMrqx/NMfrWFe/CT4n2BJGiG4QfxQXEbfoGz+lYSy2X
362
+ Ro6IYmi/tEYl+b2qQSisa88P+O9Nz9s8N6xGo6sbVyv54xWadWvoJDHcQOj91dMGsJZfWj0N1yy2
363
+ Z1qyjNSK4Jrk4tewfnT+Yq5Dr1u3XIPsRXNLCVF0L5DowwxSisaPVrZv4yPqpqzHfwP0mTP1rmlS
364
+ kugcpqIeamTrWdFcKedwNW4ZQSKhRZMol9elKoyelLHyue1KOtRUVjOw78KQgGnKKWsGwsNAxQe9
365
+ LTqlsLDFXA96fsBGaUDNLjA4qbjGbcGmOvORUjcDJqPzEznJ/Iip5gIXGR0rJ1nToby2eGZMow/E
366
+ e9bfDZIwajljyOlNSBo8V1bTptNv2hkBypyD2YetRGNWG9R8p7ehr0zxToq6jaEIAJk5jb+ledCO
367
+ S2kkilUqQSrqexr0aVXnXmZbHSeDNVKbbGdjx/qyf5V3VswIFeSKjK4dMgjkEdq73wrqovIPLkP7
368
+ 5B8w9fes68PtAnqOUc1IFp+zvTlHFU1rqcSY0DmnYp22nY46VFh3IyKik9KnYVA4+anylpkb8LVO
369
+ bvVqWq0o4JrVIZm3YIPrWZqR/cD65/Q1qXf61l6l/qTnsD/KvQw8PeRLeho/AODzPij4e46X0bfk
370
+ c/0r66+LTY8LIP71yg/Rj/Svlf8AZwh8z4raCvpM7flG5/pX1L8XD/xT1uvrdA/+OtXu45WoW8mV
371
+ lKvmdBf3l+ZxGgaGl/o0l8ftbyLcCFUtwpP3c5wSM1Zu7DV9NmkWx1W9JSGOTYrMjqXbaEYBjtbP
372
+ 1qjYWus3eimC0t3ktBc78oBnzAuPr0NaCa1dwakI9UtBDKzQC5dkZZCI3DBiO5IH414FB0o048ya
373
+ 89T9RxLxMsRPknGSv8OjaVl3+f4DJNb8Z6YVFxcXsW5tq+dHuyfT5hVmPx74itn2XCW8jdxJCQf0
374
+ Ioh8S2dnqMktrYyPFJeG4kMku4k4YAqMDb97POe1Z/ifVoNRt7WGEOxhLEyPHtbnHH3m4/Hv0p1J
375
+ 8kW4VnddHqctPCQxE4RxGCjaW7slbTyvt5vU6uPxxrEUCz3fh5/JZQwkXeikHuCQRSv460O9Ty9S
376
+ 0eSRD1VkSUfrisyC7tP7S03UE1qCK3gtoY54Tv3ttXDLt24OeR1pHtdNvbFJoIRczR26lLbzyAu6
377
+ V8jrwQMce+a6o1KzXuTTfn1+48WtleWqX73Dta7pyVtXvfTpvsTXEPwp1PP2vw/psTHq32AI35oK
378
+ zrn4bfB/Uv8AUCO0Y94750/RyR+lao8P6XFdvA8MrxieQBdw3DFuH+8Bk8k8dOlZEfhlXtfN+0Ok
379
+ ixpM0bqgO1iBgYYt36lQDW3tcYt4p/P/ADOWOWZVNvkrThtvZrX0RnXH7P8A4RustpPiLUIz23NH
380
+ MB/3yF/nWPffs76nHk2Him3m9BPbtH/ItV/XLZLLWLy2gLbIZnRCTzgHFNt9V1S3/wBRqN3GP9mZ
381
+ h/WuOeaU4zcakNv68jvhwpiKlNVKOJumrq8f+CcvefBHx9aEmA6def8AXG42/wDoQWsqfwF8RdOP
382
+ 73w9ftj/AJ4ES/8AoJavT7bxd4jhI26nIw9JFVv5itW18fa2uBIlpN/vRkH9CKccdg57q39fM5K3
383
+ DWbQ2cJfNp/keHXk3iXSYib7TL23C9ftFsy4/MCo9H8US3l/HbNBHlmAJGRjn8a+otZvXv8A4a6n
384
+ fSIqPLplwxVeg/dtXyD4WQf8JFH/ALw/mK0xWGounzxR81CdRVZU5qzi7M9GGc0p9KcaQDNfMzO1
385
+ IbTx0o20oFZg0J3p4pMUtAhkg+Q1kqSOhxWvKPkrIXrTiRMv2fMWTyc96kccdKZY/wCq/Gp2qWUt
386
+ ilLHntXI+MtE81TfQL+8UfvAB94ev4V223LU2eHK1VObi7oJRuePQ/d8s+vBqxYzSWd2lxESCp59
387
+ /UVseLNF+wz/AGqBcQO3IH8B/wAKyIwHT0YfyrvUlJXRjqd6UpAnWo11Czf7lxEfowqdJUkPysp+
388
+ hrecDz0xoWlIqbbxSbaz5C0yuy1E61acECq796SSKuVJhxUEv3atyDNV5RWkFqVfQybkZJrM1UYt
389
+ ZD/sN/Kti6XmsnWeLKT/AHDXqYaOqJb0Os/Zgi3fFnRz/dE7f+QJK+lfi2f+JRaL6zk/+Omvnb9l
390
+ ePd8UbJv7kEx/wDIZH9a+hvi2f8AQbEf9NGP6CvWzH+F8mb5Kr5rR9TmtHvrFfDq2E72yyC6aX/S
391
+ YHdCCoAwV5B4NEc+mW9s+I9Onne9QcRuUEWznG/kDPrVfT9Tt47SG2mMoWMjnyo5B1JONw46imXP
392
+ 9nTrvF7GpZ1yn2TaVA4z8px0OffFeBGr+7STTt/Xc/SamG/fzclJKTvpdp7do+Xc30stEu0js0Nu
393
+ tut/cDzEk+cqBlBknoemcdvWql34f0yPdM7XUKpayTyQgYYFXUDG4A4O4/l3qsE0qbL7LEgjoJ3i
394
+ YdexBGar3+mD5X01lZGX5wbpGJ/lx9a1nODjd00/T/hjhpwqQqWVaUF52tt5v9C9PoNlKLVrSSeK
395
+ M2Szys6BuWYgc5AH5jp3qa30PUbGSWCzuk8x5lj3b8IymMycqQR0Hr/jWDDqOpWw8hbudVQFNhcl
396
+ QM9MdOtWF13VRJ5huizbt2WUHJ2FM9P7pxXNHEYVO7i1Ly/4c7KuEzBpxjUUo+evW/YsSaZrM1z9
397
+ sScTs6Gf7Qs4AwDtJ3EjGDgUlyPElnCUne9WLITBYsvXIHf8P0qvHrF0mn/YQIzF5TRDI5ALhz+O
398
+ RV608TTQ3st0bWNmlaEkbjgeWMfr+lJVMO3dTkmwlSxqVnThJLbT/g2WnkYWpR3f2uSS8jlWeQl3
399
+ 8xSpJJ5OKr+TIY2kCMUUgMwHAz0ya6uTxNGI3WGOaNvJlWNxsBVn29NoGMY6/pUV/rNtdaNc24dl
400
+ nkjtyxdM+Y6Ahzn15HJ9KxqYag22qtzoo47GxjGMqFtlo9teyXRHLgc1LEORTcc1LGOa86G57U5a
401
+ HpOofL8Ib/8A7BE//otq+U/Cyf8AFQIff+or6s1z5PhBf/8AYHl/WM18t+Fl/wCJ8D6f419bWX+z
402
+ /L9D8Xnrja7/ALz/ADZ3WDT1GKKcBXyk1qdontSU400msmSIcY64p3FRvTC1SBJL904rO+zzA/dz
403
+ 9DV/dkUoxSu0Jq5FaKyoQwI5qYelHSlB5pbjWiEH3qlKZpqjJqdOaEBm6hZR3EDwyqGRhgivOdW0
404
+ yXTL0xnJXOUb+8P8a9YZMjpWRruli/s2jOBIOUb0NbUqnKzOcep55qHhTV4Elc2zusTbZNsb8HOM
405
+ Z247etVvCoca1ChypXORn2r279oeCHTtGaxtjDJHPcxur8b1K5449yfz9q8g8PQ7dajx/wA8gT/3
406
+ yK+qrKLi2j57D1JS3O0xxTSOKkxxSEV5jidiZAwqB1qywwKgkI7kD60uUtMquOtV5RxVpsEZBz9K
407
+ ryjrTUbMq5m3PWsjW1/4l8p9q2rkc1la+MaXKfcCvSwy95Etnd/snJu+I6t/ds5T/If1r3n4tn9x
408
+ p4/2pP8A2WvD/wBkZd3xAuD/AHdOkP8A4/GP617b8Wjzpw9pP/Za9LM/4b9DsyJXzWj6/oziYraG
409
+ SMN9uhjbHKur/wBARSmxJYKlzavnofNAH64qe3lAgVGt5ioHUIrDkdeV+veieSzJC7GUcAloAp4+
410
+ jd6+Y9nBxuz9WlVqqbWv4P8AJfqQppl465SJX5xhXUnr6ZqJrS6UfNbygf7hqzKbAxuy7dzLwo3D
411
+ acfjmqcckkZykjIf9k4rCpGEf+HuaUqlad/1TX6sTYy/eBHGeRSirEV/eoCFu5wCoUjzD07D9agF
412
+ c0uXoapzv7yX9fIQ0GnUhqCrjGpDTzSUi0xo61LGOaYBUsXWnDcmb0PRfE3y/CG+/wCwSf1SvmLw
413
+ qv8AxOya+nPGPy/CK9/7BgH/AI6K+Z/Cg/4nBP8AnvX11df7OfjcdcVWf95/mztgKMUgpelfLTR3
414
+ jW4qNjgU9zmoXOKxZIMePWq8j89eKV34NVHfJPNTYllpZhT0fnNZ4kwak89VQszBQBkknAFSxXLJ
415
+ vI/ti2uf3jIXH0BqcPzXA2M6XPiBZPMzJ5/3weCM9jXcK/zVUoWsKMrlyM1ZhxVGNh3q7b8is9kW
416
+ iwBkZodARTo/u0/HFJMbRifF/wDe6HZyeXErPeFWZSpJK7sg4PGDxjH41xXh6H/ibr7QgH8hXoPx
417
+ qgsYtJ0gWdt5DzXCvLt3FWwvBGc+uevfpXHaJDt1dxjoMfrX3daEFD3Nj5DBvSxuGOkZPWrgj45q
418
+ KRTivLcT0UzmvGGqjSNMMiEGdztjB9fWvJdS1C/vpmkuLmRyT0zgflXffFC2la4tZQCUK7fbOa5W
419
+ LQbl7tImXh22ll5Arvw1OMIc3VmU5Sk7GZZJqkWJ7Np09CjYrrPBuoalcTTW18zvtXOXHI/+tUk1
420
+ ullFHBHwF4OVJ/lWpoqRlpSEXcFALjr9Kxq1ea6aOuFNKN7k06isfxMNujt7v/hW3N161i+MBt8P
421
+ o3rKR/6DWmF+JESZ6N+x+M+OdQP93TH/APRkVey/Fo/v9PH+w/8ANa8U/ZFvrO08Yam95d29srae
422
+ VQyyBAx8xDgZ6nivovXtE03xI8UhvzmJSF8l1YHNehjqcqkbLsdOU4ylhMwp1qr91f5M82t4LxYh
423
+ JH5RBQHBUggY+lOa9urUfOIWDcfJMT09g3HXvXYnwF5Zzba1cRen7v8AwIqGXwTqwGI9bWQf9NFP
424
+ /wBevG+q1EtN/kfd/wCsOW1Za1FbzUl+KR5/Tu1dfdeBdcZgftFlJgYGGKn/ANBqnL4K8QIflto5
425
+ P92Zf6kV59TA1r/CexTz7Lpr+NFfP/Oxzgp1bEnhfXo/vabMf93DfyNVpdG1eP7+mXij18lsfyrC
426
+ WEqreL+46o5hhanw1Yv5oo0Y4qWS3uI8+ZBIn+8pFRgHNZOjJbo6IzjLVMYRSGpCKaRU8jLTEFSI
427
+ cGnpaXTRLKtvM0bHCsEJBPpmsnW7i6ty1vbr5c4ALs6/cB6cevFXChJtaGFXEUoRbk9j1Tx6dvwg
428
+ vT/1DkH6LXzZ4S51Rz/nvXVah4k8TXGkS6Tc63NNaTRiNo3jQjaMYA4yOg6GuY8KxtFq0yOMMpwf
429
+ yNfSYmcfY8qfQ/KfYShWnN/abZ2HakNKKa3evmZI6WMY81DKakeoJDWLJZBM2FNUHk96tXB4NZNx
430
+ L8xGaLGbZK0vzVFfSB7GeNnVQyEbj0HFQNJzWb4hlP8AZUw69M/nSsmxXMCGTDPnl14Ujoa9H065
431
+ 820hkJ5KDP1xXlP2kFhtzx6Ct7wleyHVFQO+0qcjnFddai5K5Kdj0ZJMmtS0cCIsxAA6k1gQSZIr
432
+ SL/8S2fn/lm38q4OU0TNe1uYZofMjbcvPIFW0Fc14Q1C3/s1oZJogQTgFhnNdKh+X3q6lLlYRnzH
433
+ KePER4dOVXDgM+SARggYxVbRo/8Aiay+oz/M1rePI2+0abGZBKPLlZWCgd/pz+vINU9CQtqUxP8A
434
+ nrX3FVfuz5PDWSNgR8dKikjz2q7tpDC7IzAYUdWPAH41x8jeh18xyHjbTJL/AEcpAhaRGDADqazY
435
+ 7GXTGC3SGKdolZlI5zjiu8tvsnn7JyW3KQpGQoPrn2ri/FYv4dXkTUWaSUgbZT0kXoDW8abVJ8w4
436
+ SXPoY+o4w0p496m8OqHsnlByC2KbbwS3snkrsHGcscVsw2q2tssK84HJ9TXJKKOtz92xnXKgGud8
437
+ X3H+g29q8IMZdnDb+p47Y9q6W6HJrkPHTgLZoMZAdsfj/wDWrpwy98xbKWlNBG4wh/B63op4sZBl
438
+ U+oYVyelSf6bGGGcnofpXQJIhtbgsihlTjjHORXsRrOC0ZcIps2bbWb+3I+zavqEHpslYY/I1qW3
439
+ jXxZb48rxdrGPR7mQj9TXB/aPenLcc9amVWfc9OnTg1qj021+JvjuDHl+K3b/rqqN/6EprUtvjD4
440
+ +jxu1Syuf963jGf++QK8iW6P98/nTxdMe9YurL+kjpWGoveK+49ttvjf41TiTTtHnHr5bg/o/wDS
441
+ tGH48azGB9q8OWj8/wAEzJn8814LHdMP7n4qKnF8/fb+Ax/Ks/avsvuH9Qw73ij6Ftfj5E/+v8Kz
442
+ L6lLvd/NBV2P42eFpv8Aj98P6gD3xHG/82FfOCX0gPEjD2DGrcGpSgf6xj+X+FJ1I/yr8Sf7Mw61
443
+ St82fRkfxQ+G1z/rtMliJ7yWKZ/8dJqwnjD4T3P35o4iextpl/UDFfO8OpOfvYb6qKsx3yMPmhhP
444
+ /bL/AOvUPke8R/V3D4Kkl6SZ9EQ6n8MJTmDWreA+v2iRP/Qq84+I0kEHiG5OgXUWpWdxFHILhZhK
445
+ EOCu0kHr8p/SuD+025H/AB7Rn6ArWzoF/BtMCrsODhc5GPr+NROEEvdiOM6yfv1ZSXm7mbcLqLwR
446
+ u5AXPReG+taGmWclveJPKxLTLkZ6jGev5iobtZjfIQQVbjGBWxI4BtUx82Dk/Qc1xYhPlJcovUti
447
+ mSHFG44pjmvDnEdyNzUEh9Kkk6VUlbGaxaIbIbo4Vq5fVtRtrVyJZQG/ujk10F1KQp5rgfGeGKS/
448
+ xA7fwp04KUrMzkRah4kk3j7Km1R1L96w7/VLy6yJp2Zf7o4FVJX5NQM1ehCjGOyMXJl2zYYZmKgD
449
+ +9WlDdW8Y/1gJ/2WNcvcyEcZxU8Emx9veulU+ZGDl0OvttXmQgQTTr9XrtbxdUt7W1Ed5NIlzbiR
450
+ gV3DnIxXl1nL8w6V6T8Q777A2gJHJcxZ0uJm8uTAOS3auinhoSi20Y1Ksk1YqwWEqf8ALPH1Vh/O
451
+ uvtfEmoKNr29q59pMH+Zrg7LxXKvXUrpPQG2jkH55Bq8vja9hYFTbXS9/Mt9v8mqp4OlNe8ZqtUi
452
+ 9D0PxMoGoafbGII8SPv5bcdx/iB6HGKj8PRj7VIfYV1Pxa062sfGtutqoUNaRysAoAyZCOgAHQVh
453
+ +GIDLesi/wATBa9KavFHm0lyqzOj03TEe2N7dcRZIjTODIR1/AVT1iF3g3EgqvSIcBR6gVp3Eqco
454
+ n3VG1R7CqcrfM464+bHtXaqEaVO3Uz9o5SORufN2hVbC7sgeh9RUmoeXf28VteQq6oTtY9QfTNaW
455
+ oWihpHQfKJDj6VEbYSsQB94ZrzJKSO2LTPPJbeWDXjAmR5ecH+R/Kp/FOrHSIIWaDzmkyDhtoGK6
456
+ SWyjk8R/aWTG6159N5yv9KbrWhW+oWMtvcISjKDkdQR3HvWSir6m7ldHl9z4yBJ3WRH0k/8ArVnX
457
+ PiaynJM1kSfU4NZev2clhqNxaP8AM0MhTPrg4rGlbB5Ga6PY0+gRbOhu9W02W0kSG1McxHytsUY/
458
+ Gq2l3aLcr9pkcw4O4ZPpWIW/zmlWY5rSPuqyOiPc6qS401vuSkexDVF5ttni4A/GucEpPcUhlbjm
459
+ s5K3U76TR0okj7XCn8RThOykbXRq5kTnPXmnrNnqaiXN3OyDR0wvZR/Ah/Cka8kY/dA/GueWXnOa
460
+ kWf0JqNTZNG+lw/cfrVmG6IPKmudjuH/AL5q5DNJ3c/nVJvqU5I6SC7XurCtC3uIiOSR+BrmrWZy
461
+ fv13XgbQv7UL3V1n7LEQpxxvY9B/j+FdFOm5HJWqKKuQWxErBYwzn0Cmui0LTZFmMshwfLYqo55w
462
+ cfrVwWcawokMaor9Qox0P/16uInlbUYf8syAa2VJdTgnXvsc5NcHzFd1ZXHRSPfkfnW5pkVxcxTS
463
+ zggwusaAD5QSCWHueBSPZpJd+aVWRmy8bN2YDp79P5Vp6YpS2WMsxWIl8HuSwJP8qwq4eOpHtmQA
464
+ HvQ44qSeD94jKSNxx+PI/wAK0FsTcQuEX96u4qB/EFJz/KvIrYBpNxNo4hdTBlzVG4NaFwME1nXH
465
+ evInCxtczbw/Ka4bxe37lP8Af/oa7e7Iwc9K4TxnKGjQDtJ/SilH3kZyZycr/Maru/PvSzNyaqu/
466
+ 0r0+U52xLt+V/lU2/Ep71Ru35FSSOPtBX8q6aaVjGZsafLmTvivXPiVpU2pHw5PGp8kaPErMvPPP
467
+ avGrBvmzXrfxJ8QTafZeHI4P4tIiJ+vNdai/ZPl3OWXxK5x13o97DKBFbzuuOpTFUxIyFlYEEHBB
468
+ GMGrI8X3hJJRDWXLdm4nkmPBkYsQPc1zJT+0aNrofV/xMvPt/jJpgrKq2iKoYYOAS39TVfwNACb+
469
+ cj/Uwsw+pwo/nTPGDyS+Kpy7u7+Uqln6/cqz4Pz5V4g/5aKAfwYH+lezFK8Tz6qUXJJiknzvrmny
470
+ xfu1lPI5B+ncVYnt8OPzq3DGptGyPunJ+lb1b2OeBiQxiQtbvz1U/WoLQD7Rs6lSQafpkm1JbuT1
471
+ Jx7ml01OTIRz1/WuVwubqVjPu4f9JlyMeWev1NW3gGzGO1T30YVb/glt0TD6c1KVVdOYyYDpuI+h
472
+ PFYciubqWh4D8UrBbbxLqFzsUq8e4L6N8mT/AOPV55cNhG/dgHHWvSPi+SPEFwoxyq8fgp/pXm5V
473
+ mLgg9DW1vdRpBlAyvSGd8mtuPSYmALoT34qObSrXBPzj2/ya53WidUEzGe4b0FRm4+lXriwgU4/e
474
+ flVZ7SIZ+aQfhSdRM6YTZELnvinpde2aabeLdjziPqKctrHkfvx+INS5I6I1GP8AtR6jIqdLocZq
475
+ JbFT/wAvCVNHYAni4TP1H+NTzRNlVZNFcpkfNir0E6E/eqpDpjcYmjz/ALwq9babMD1jb/gQqlKH
476
+ cp1Wa2mMjSAdc173o9kul+HYNPACyKmXP/TQjd/Pj8K8g+HukrJ4lsvtJjWCNxI+4gZxyBz1ycCv
477
+ W9VvP3cxB4P9Mkfzr1MPbluebi6jk7D9Jh+2RjYMCPIkYj3PA/AD86dcp8xG3H41Z8MS50J5sfNL
478
+ IxwOvXA/lSTxOWJwNuOprplT91HCpu5ngmN1VfXuM4681as2KowY5yCCRxyf/r81G8WZVCDL5OPQ
479
+ 9amiXA2sNr9xXM4F8xes7C5vvKWFMHzBy3A6+tbloY7LUba0kwJ4ZX8w+xBP9al8JR5s0z1MnBrl
480
+ b+7li8RX7PKXkWeUAnr97H8hWFSKQ4tsj8VWf2PVJowMRsd8f+6en+H4VzlyeDXbeJ8ahpCX8fLw
481
+ MFkx2Vun5Ef+PVxFz3r5nG0uSoz0KUrxMe/J2k1594tfhR/t16Ff/dNec+LfvL/vGuagvfRUnocp
482
+ M3Jqqx5qec8mqjnmvTscxDeN05qSZv8AS259P5VWvT0ouD/pZ/DP5V0QWhlNmtYyfN17V6D8UW36
483
+ d4bkzk/2Yi4+g/8Ar15pYv8ANXtWoeOF0rwPpmiyaNbXqy2yS+c8oDJ8oGACDxxmuuHwOxyzV5I8
484
+ kDc1YjcY4z05zWle6vZS4P2BAWGTsI49jxWLExyeMVhdvdWLaSPsLxrCIPGWoRj7qEAc9vL/APr1
485
+ Z8FoMNno5I/nj9ah8btv8Z6ufSTH5ACtDwbGB5RI4DbyD7ZNek7pR+R5nc1ZLbzFJUZ9qqTFo9Nu
486
+ nT/nma3yql5FgY8MMsRy/v7Cmpplq9pPA2871YY3dc114hWVzCmzzVv+PeGFTncdzfQVt2MeFxjO
487
+ FrJ023LSqzA8evYCtyJ1Unbz24rnWx0XI7qENHeN1ZrVcD6MSf6fnVDVn3WVuo/5aMAfpjJq7Ldp
488
+ HeW8JDFpMoy/7J/+uBWdrNnMs1vFG4OxiOvbsaxaszVM8P8Ai98vii64J4QjH+6K4KEeZc7MEZ4O
489
+ a7340RSR+LZUYFSYkOeu7jr/AJ9K4fTwRfLvbPI6fUUTaSOmldnXS2IRkSNRu8sdfoKoTWij5HXD
490
+ nkj/AOvW1elWlYpIo2xr1OKxLtWl12FHk3ALz6dK8nqdSZj6jbnGRCfwFZstu2xmC8kdGH8qy7/W
491
+ 75m8xWCszkbV4AxVCTX51zuuMn2GRXQqUrFKaN1omCZxuPcDr+NIn3/9Uqj0PArCXXr4ONrAhv4u
492
+ McfhUsfie4LbQwZu2RgGj2UjVTR0UbIYPlUFfXvU8fleYN6qcjtXLL4qmDcxAEdRirsfiSTdysZk
493
+ xyu3mpdGRoqiOktliIbMffH0rRt4Y/NRRC2GH1zXJweJGICGONS3IG3k1btPFKjC7D9MU40Zle0i
494
+ ekeFLMDWLaVV4R93HbHNdPr2riQiJQQ+cYI61w3gLxHbSa9BHdOkIdWXLHGCRxmvQb6yiuSCpUv7
495
+ cfjXTDni1zGcpJo6TwHGsmlp5uGKlh077jW/eghcA8fSuH8NzahpLlADLATkqTyPpXTtq8FzHtw6
496
+ v6Fa9yFWEoLU8ucZKWxAfluQVwDg4znGa0tMgS8ZYjH5zHt0rnru+j8wCNwx9AeetW9J1SW2nVh8
497
+ 4U5GOGFclScUzeEHJHdeHtMZZLmK2uW3W+Dhj8m49h615fr9y8fiO7achmmmaT5DkcsTxXavdvZ6
498
+ fNJFfSRTXbqGZ+vPUexrKbSrEzLNLOHfuTzXBWr6XNo0fesU7ybZpcJtWmjSdCsqlvvYOeawLjoa
499
+ 6fX/ACBZW6Qtk5Y47445/wA+lc5OmRXzuJk5SO1JIw74cGvPPGKgBP8ArpXpV7H8prznxquDH/10
500
+ NZUF7yIm9DiLjgmqcmc1cufvN9TVN69MxuVL48U2Y/6Ufw/lSX2cDFLLxcFs88fyFbw2MJ7luzb5
501
+ x9K7vXdLvdW03Sp7fy9kNmiNuOOcZ9K8/tT+9JPcGuv1XVbi106wS3uGj3W67lDYzx9K3TfK0tzK
502
+ Vm9TIu9Nu7SMyTbNoODhqihfIxntSXF5NcLiVmZTTICucDPTuah3tqDsfZXi0lvFmsN0BuJB+TYr
503
+ V8P5FkpHXH9KxPEz51/U3PG66l/D5yf6VvaGMWKfQfyrtqu0YnmrqWNSu75bN/st15BVSSQikn8T
504
+ 0rg59c1hbhs6ndgg5B80jkV1nimQQ6LdO0piXbgsBzyeg+vSvNLi8E1t5i/6wHaQf51rz1J002TT
505
+ 5YzZqXHjQx/uktmXA+Z27t3OBS6R4wvGmEkzWZUkjYRtOK5C7IZD/ex2rMhlcxkSZ3qcH3oe2g76
506
+ nrL64sLW2rSWkZco5QBzwoYrnOMHo1YmpePrNnR4bXzLkOd6F8ADn+IDr+FedyXDYK7nIB+UHoo9
507
+ B+tZ0knlTmbB98Vk07PU2ha6LHxV1Iav4hN0IjD+4RWQtnBxnr+Ncbp4L3a59QOnvWv4yuVl1eWS
508
+ PJVgCuRjisnSW/05Ox3D+dY1G7HfSSsdReR4mcMTtAGOPzqnbhDrOTnYI8gkVp3v+tlwueRz6cVT
509
+ tVV9ZIaMAeV0rhRdzyTUTiybbw25vy3VkSIhRtrHcF3dsGtW+O2ONy2FBbIxndk9Ky7plMLGFPL5
510
+ G9T1P416JhcjspSrOmAVKng+wqGabeqhRgL05yaWMeXC8rdWBVB6+p/KqpPP9KLXLUi9G32hcZAm
511
+ HQ/3x/jV23EzSq0kfl7TvZm4zisu2XO53LbEGTjqeauxbTazSKrIwUAgnPcdKLFqReJdZi6xiTJD
512
+ Dbzg+lS28nkcsQZT2/u//XqkcLDE5XexTpnGAKDtSRSmdrAMM9RWkUinI6XSZkLAMTuJ6gda9D8N
513
+ +KLy1cQN++hBwoJww+hryrTpNsin0rstCDSXsSR8mRwF98mu2nTUnZmM6jWqPofTtK1IwRTbUZZU
514
+ Dld2CMjOOa0Wt/s8eJ0VGxnsa2raSNE9Ao/Ssy4kW7vgSu4H5QCOO9dFXCQt7u5hDESvqYMVubu4
515
+ J2qQOc4/wra0TR0vI1kTdHtfD5O7HpxXQaLZxRT3sUMeIvKU7TyM8+v4Vc0e3itr0iIYDnE0J6fU
516
+ Hsa45Yfl0Z0+3v8ACWm+G1rqKxXEuozMm0EDt71ws1mkTsu52we7Zr2/QpBDm0ZgyEbkOfzryjxP
517
+ EkOuX0afdW4cD6ZNeTmDlGNlsXhptzdznLlOKoSrwa07qqEwwK8GWp3NmPqCjYa8z8b/AHk/66V6
518
+ dqH3TXmHjw42Ef3zVUfjRnNnEXX3j06mqL1cuScnjrVKQ16JimU7/wC6KSdsXTD1A/lSagf3YOKa
519
+ jedJ5neuiCtEzluW7XlvfGK6XVYFm0yxkb74hAAz2rnLJS06qqlj6V1raat9pNrJ9qaNwAoTBxjH
520
+ U1tTTbsZVGrHOxQHzApO0HuaWEATEKcjnBx7Voa9Yf2Vdy2CTQ3SHZIlwqkEgrkDB6dcH3FUYFZZ
521
+ MH0NKacXZkI+vNZcSahdydczsfzJrp9HGLFP89q5G8+aSVsYy2QPzrrtNOLFPpXVX3PPjsUvFaiX
522
+ Tni8sPk9224x3zXl2oWi2oLrKjCRzkA5xjH+Nd78QLxraziVf4iTn3HT+dedXm4Jk8seTW1J/u0Z
523
+ Ne8UJgpz61nT+YhOxyR6GrkjHf2qhdsUJz+lRJ6msSu0+6QqQMquSapztuOOnNDSrvdgwJY1WkfJ
524
+ qJG0TO8YSZ1abrjoM9ao6QR/aEZ5PzD+dS+Lpd2qzH3P8zVbw+wN/ESeAwrCcfdudsJHZ3jsxkKt
525
+ 5Y3DIzgmotMYf8JBLvYOqx9RUep7WMh2sTu4K9h3qCxGy7uWRdo8g4HpXIkVc8p1H95CkQPzcsv1
526
+ 9KyRunbYQFTOXIHWtPUw2+EJndt4x9aqzgGWPZtx5g8zH97/AAr0bHPcqTzN5xSJUCoMcgHpTWWP
527
+ 7P8AaTEu8nbt7f71Q/P5vybt2eMdakTz/NaSZygAw+8dR6Y70WLTGJJGJ2UA+U42nHb3H41bRZYm
528
+ UyvuX+BV/j4piS2ucJF5bdnK7v0zWjph+zyN9plXc/KMWyCO/wBO1Fi09SqUaQtN5jLAfvjPK+2K
529
+ dDJHIWkkHTAVA2MCpb7Mlx59vKBEo2k54/LvTYHtC2NgDHo5X5fxGauKCTNK1RYjGQN5flQx6D/G
530
+ uy8Gzj+0rWRVRWhlWQA5I4Oen4Vw1v8AalZi4bhuTjIB9q6vwUc6gueymu6huYVJdj6L0jxfaXlu
531
+ 8Nx/o0xXGSfkb6Ht+Na2iTLLdh1YPgE8GvId5G0DHXnirEd1PBeP5UzxnjlWIPSuuUtTljPQ+idC
532
+ lkW9VlXKySIrkDO1cNyfTpWrfWaC63I/kzDkg8j8/Svnuy8XazYbvK1S6TKgff3Z/Op7zxbrupy4
533
+ udWu2JXaQH2gj0wMVhVXM7m0JWR9A/8ACS6ZZsPtd5Eky5DIjbj+Q5FcRrV3DfalcXdvuEU0hddw
534
+ 55NeeaPKwmi+bq4z+ddhA37vb6E14uaRXsrrudWEl+8sR3HU1Qm6VdnIOaoTnANfOM9JsytR+41e
535
+ ZePR8sZ7+ZXpmoHKGvMvHnWPn/lpV0V7xlJnDT53H61WkAqzN94896rt96vQZCRm6kMJimsBFPsR
536
+ RjAqTU+VpJ1/0jIP8I5/Ct6a0MZ7li0IMoPH510c9wkNjaKbiWMlMgIoPP5jFc3ZKfNz6g17n8J/
537
+ h5oHi3wjeajqxuxNaypHF5MoUYK55BB71tFWMpS0PJZbtJ3klmmnmmfBEjgZ/HOc+lRoA8m7dk44
538
+ AXHavZZfhLpkss0enwahcNEpYqsg4A7n5eK4bxv4ctfD+o28Ft5mXVt+9w/Ix0IHvWftYydhWfY9
539
+ +mYk/Vq7Gy/49EArii2ZkX1fH8q7O14tk+ldeId5Hnx0Ry/xGIaK2XacAlmbsBxx+NcHqDZb8K7L
540
+ 4h3W6S3swe/mP9O38q4i6PGa1o/AZy+Izps7ifSsDxDeFR5CHk9T6D0ro4YmmmWNeWdwAK5LxPbm
541
+ 31K4XnhyBnqaqKuy72KdvKenP51bt0MsiKvViBWXF83Heuj8KWzTXse7kKd34CpqaamkGcl4sP8A
542
+ xO7wcYEjfzqDwyoOoKOo3Va8TBU126Mg3DeTj15qHw1gasrBcDfwKhx/dnTCWp2MzYmljPCk85/G
543
+ q9mw+2ahOcALAxAI9qLpkluXLkgh+MU2xwf7UxkqLdgM+mDXBGJs3oeUakpURsoy5UKv9azQjW7q
544
+ zkGNjhsHOK2r1BI4RsgBQQ47VQv4sRAA7wTkt6mvRaOdMoSWsq3DNAA6np7Zol2rGtvIC2OSV52+
545
+ g96twp5igHIKdPoe3509okSUlgGOMg0mWmU1RPml8s/KBtBHU1LHBgMZ23xE5f2PtVu3VmbBXcCD
546
+ kYqSeI+Sy7NoJH+f5UIozZUljkLsyjH/ACz7bc4xTtsKMY23gA5GADkH+VXJ4nZstb+ZtGEOcf8A
547
+ 66pMrM5Zwc55rSKuKTNKFzPIJFKKdu0qxxj6V1HhFBDqESswLuTjHsK5DT48ygepxXU+GCW1USdF
548
+ jU4+mMf1rqpLVWMqktD0UH7vck0y/l23O4n+M0tipJWRvuou8isvVpdpCnqea0qSsznpq7Jbm623
549
+ Cj1PWrum3GbscnpXNX7sktux4Lc1paTJm9HPbNKMuY0krI9C0M7239o3B/Wuwt5A4Yrnk/riuO8L
550
+ Nvt7uPHzKFkB+hII/Wum0aQPYq2ecnP515GZP900dGE+NMszGqFwetWrlwD1qhcN3r5pnq3M6/Py
551
+ NXmnj3pEf+mv9K9F1BvlNeb+PnykQ4/1v9K3oL3jKTOJmPzt+NVs5NTSn52+pqtkbutd1tSUyrqY
552
+ +Qmm3HN0Bxyi/wAqdqP+qam3XF4P9xf5V0UloYzLVmfnHoAa9h+HnjseFvDUuntY3lwty6yloCoH
553
+ AwAcqa8dsv8AWc+ldNfQXb6dZSROURY+SGIGa1SV7GcmrHpkfxJkMF1OtncL/CwaYK7qxPy4A+YD
554
+ jP4Vx3ijW1128tXSya3WJSME5zn/APVXNLBcLgtICD/t5q9YI32hAT1pexgtUjP2h9EQnddxD/po
555
+ P6V20DYgT/drg7VibuDB/i/rXbI37hP92taz1OO2hxPjp1Or4H3vKAP55/wrk7k8GtrX7g3ep3Nx
556
+ /CX2p9BxWJOc8V1QVoIxerNXwVZfaNT89hlIBu/4EelcX40tt/ie9jx/qySK9V8JWotNGWRhh5zv
557
+ P07f596898SQ79e1q5x8q/KD74rGjK9Rmk1ZHC2aFpDxiu58GwbI5piPRBXJadHls4ru9JC2ujxF
558
+ sgyZfgZ/z0q63YqOx5drMFxqXiSa1s7eW4mklKoiKWZj3wBWvofg/wATWuoJJPo11GF5OV6Ae1VY
559
+ 7W6XxGk32aXHngk7DwCea2ogyrIfmPzHIA6817WDwEMRTd3axhWxMqTVkVZSv2uVcZJbJ4qGxk2L
560
+ quTw0TD9DSXEUxuDIqSgFueCKpzedEtyNpBl6V4PstdD0HPQ4u/TJXjIzzVW5iJi+VThjnOMDiuh
561
+ NpIR/qm6/wBwnNM+yFWKNC3zdAUNbtGSZztvaYidpDjcMUGwZpAFxjHFdL/Z+4f6mVu2Nh5qSDTW
562
+ Vs/ZZs44+WnYtNHO/ZJAu1R8g9e9WbeB1J6YPYDvW8+myEH/AEWTn1P9KVNOuApItX6Y6gUrFcxy
563
+ 72lyZCzJhs9TgGke3aRdrLhwOG9fY11i2F0efIbPrkUp0e5fkwc/UVSsFzl7K28sozbg2fSug8Ow
564
+ 4kkwMksq/gc/4VP/AGNd54gzjvuFavhnS54bpvOXYpxjJzXTRacjGr8J0gBjsgP4n/kKwNUBkvQg
565
+ 5A6/Supvkj2Db1xisP7DcXE8zwruwcE1NZ6k0FcwtcOZoSP7tXdI+W8QZyCOD61ZudDuZyN6SblH
566
+ BGKjjspbKeNXDexIxWdGSvY3qrS53fg+TbqYTtIjKfxFdRoymOzK5z+8b+dcb4Sb/ib2wJ6tiu0l
567
+ uIkuZIRlSrYxtOPwrhzNPksisI/fI7+BJJUl6SJna1VZyeannmHNUJ5RzzXzrWp6bZRv2+U15v48
568
+ P+rPUeb/AErvtSnARua858aTB1jAOT5uf0rooR94zkzk5fvnvyarMBv5/GppD8xx6moyea7XHUmL
569
+ 0K98P3Ln2pt2P9MH+4v8qfd/8e0nXpRdf8fg/wBxf5VtTRE3qT2SnzO/Su3acxeHLe36CZATx6Vx
570
+ tguX/Cut1EY0nTj9mE2Ijkkn5eR6VcoptGd7JkFvbB7iJPMQmQjoc4+tez6f8P8AQLExSz2lxeyf
571
+ xiWcqpPfAXBH5mvHtGllgvInihjTcdrEcnB69a+mpT1GO1GJcoJWMYJNnK6e3+mQj3rtJ5Ntm5BA
572
+ IjPPpxXA6bNm+iOeMV1WqXH/ABLbgL18s/yrWavI5XscXd4EJYfdLYX3A71nwIJrmKM9GcA/ianv
573
+ ZtwRP7q8/nUWkfPqMPs4P5c11z0RhHVnoMjxxRiNSNqjCgdhXAeNVSLT790GGlkyxrq3kz3rkPHz
574
+ 4svKGMyyAZ9sZrlw1lM2qbHH6bH8oPrXo1/bi30i2iTPmDavAznC81wdguZI9v8AfAFek6qhMUT7
575
+ lULIWJP0q5v3io7HNSWk7/M0cwHclQKpwaRIZJHiaTBOeVHFdC8rT5V/kUfw+vvTVchvlO1sdf8A
576
+ GtKWNrUk4wdrhKhCer6GMdFumRn27gOpOBVd9GkfIaEMQO5rrIHZ0w/DL1XH61HKAwPXPQDH6Vyy
577
+ qSNuVHHJojM2BHHx+NO/sVwT+7hG085UcV1tohUt5ihW6Bc9KZcW4L5H3z0H+PtU+1kWoo5f+xAQ
578
+ N0gHqQKcmgqTtLsPYda3kgZZSko+brx0+oqZkBIA4Zeh9KpSkPlRhW/htWOA7Fhn0/wqeHw1A23M
579
+ zcnBBxwa6ay8sw7ANrj73+NPnt3nhbyT25PTf7f/AF6TnMqyOe/4RyyVRgNIQeSG4qzB4f08uFMe
580
+ 4sOu4mtSEEAFgqbBg8dKv2kD7zOsfzgZxj9frS5pdx2RnDwrYQorNArA/e5Py/rXLeIYLS11h44N
581
+ scMQAyWOM9T1r0ZXYkKpLM/oa868RLH/AGzfJLyFl6eldeBcpVNX0MMVZQMPU9XTZ5VrCZGzy5GB
582
+ Xofwo8PrdeHRfXKBzNKzbio7cAD8q8vvfvFF6V7L8Ob1LPwvaWUxKhYtwP8AvHd/Wtcc2oaEYWKu
583
+ ayadpys6TQAOv3cDIauI+LmmpDp9lLEEjjMxBA9xkfy/Wu+c+eTK+UxyuP4feuO+Ksr3WjQKw5in
584
+ DNgcY2kA15lBy9rG76nZUS5Gcb4YuoLfUbeS4fEaNkmvUfDmpaddlrZXS4lB3ZjUnGT90kjBryC0
585
+ xgeleifDd1+1SxlflZehHfnn9a9TF0lOm7nBQqcs0UtWYxX9zGeCsrAj0waybmfCnmqvijXfI12/
586
+ hFuW8u4dcl+uGPtXO3mvysOLYD/gRNfNLCzlrY9nmRpahcjY3NcB4ql3FP8Af/pWhfa3cMDiJB9c
587
+ 1y+p3cszjeB1zxXbQwsou7MalRFSQkuT+NNXrmmkkk4YfQ0wM6feBFdEqLJjURJOpazuOOBikuUJ
588
+ ucj+6uPyFWbdQ+l6huGThcVaj0u/1C8WOzs7idii8RoW5xTpxSdmTUbexBpq/vR0wQf5V6RY6Pb6
589
+ joVnLK9+GiTCrbWglzn1O4YqPw18GviVqISW38KXgjYHDyMkQPH+0wr334Z/CjX9M0N4dd0Sza4w
590
+ uwSSRSEYznBBIHanVfLZohWs0zxPStB06Rtkj6hCyyAmaeJUwMHjG4969zvF27j36VqX2j+FtChS
591
+ HxLaNpt3MzG2Kwr5bhduRuAPIz7darw3Hh2+kKnVoolY8N56GtHg8TiIKoouxzPEU6cuVvU8jt75
592
+ Le5R3zgen4VqT+JoZP3axOQ3y5J9a4ue6Bl+92PemQXIe6jG4ZB3YB9OapwdyVa1zZnl3Svg1BBq
593
+ DWDLOqh25ABqsJvn69azdWulV0Tk9+Bmtqq90wpK8jel8W3Y4EUQ/A/41napf3GqwK8gwyS4bAwM
594
+ EGsF7wHgI598VNZXshWWDZgSDIJ7FeR/h+NctPSR1TimtC/E7QygjgKOPrXUaTfXN9pEc1zKZS07
595
+ bfYBV/xrirmUkKVJO8ciuu0CS3Gi20cci70dy4HbhcVrLYzRqn/U7mbaw6N/SixILlnA3enpUIMk
596
+ vzvjI6L2HvUSlg4K5z2+tc5rc05HB+bo4PB9aZbyETPvIDgfL6VXV2DEycN6Dp9aWaT5AP488Edq
597
+ mw7lx5Q0asB+87Y/z0ptuTvO7l+/vVKCTbL+8OW7EU+SYmQhD83YjtSsVc0re3bULyKzjwsrtgOx
598
+ wE9yarSo9pI9vPCySxsVkVuCGHBpdFuru0nM8O0zRMGDN0Y+/wDhXU+JLe213TE1ywGLiOMfaof4
599
+ goOMn3UjHuNp9a76FDmg2Yyq2kkci0uei7cdwauxasY1AEAIH+1VArSbOelS6aOhNFi4vmlnEvlI
600
+ COwNWYNauUztji5HcH/GqbGAx4FuQ397zKjVKhwiWma0Wp28cT3MzCGRAS7YOCPavOvEuoQ3Gr3k
601
+ tvMJRJJuBAPNdmq1zniDw2JC13p6hZOrRdj9P8K3wzjTlcyrR5kcuzK2NxIPuK9M0fxPoFpZwrKZ
602
+ pXESxkJFwABjvivMQj+Z5bKQ+cEe9d3o+kR6ZZRXc8DO+4efL1WDdnbx+B59q6a1JVErmEHybHca
603
+ Xqi6kgjs432P9xp8Icficn6io/F2jXT6Z9llt2dJQGM8IMm0578DFR6fYpcuAl0jFh8ob+L6Gtu0
604
+ t/EFnhYj58eOVLH9DWKwlNarccq09mcNa+FdAtbVXvtWjQnnDSAkj/dXn9atWq+H7XYLK/1PcucN
605
+ bx7c5/32FdHceH9HWJ5G0UfbW5zNcOy59T82azo/DtqiEskiOevkklR9NwJp1JX0bIilukZ1h4Z8
606
+ M6veN9pudYgkcljLcLEoYn1POag8QfCHUF3TaVqKXKnkRsoRj9MfL/Krd9pVzbBXsJ7uU5wUkAXA
607
+ 9c8VM11qqaZGdN1Cazvrdt6tJAjgtzx8xI/HtiudxXQ152eb6z4G8RWCO91pWpoifeYW7Mo567hx
608
+ XOXXhjUnUMlrck/7UZHWvpzQNU8RS+F7qw1+6s9RluSh3rAIiFxkqcHB5x2rkfEfheK8hIikutP5
609
+ HzW1xwPqpz+lDik7DhOP2zwGfwrrCxmRrdwoGSzAAD8TUEXh/WJJPLhgWQ9cB0J/LNej674BvVtp
610
+ Gm8QSX+0krCh3EnHBwW/lXI6dbyWdwI7i8ltGU5OU+ZOn0PfNDh2NPaUr6XKcPhbxIvC2BAPX50/
611
+ xq/B4U8Q5XdZR8nnMqj+tbc93LNpr2f26KZt3EpQbh6rwQfx56U3T7uWC3MH2+RWxlZC5kReehBG
612
+ 5fxrJproap0Wt2XdK1Lxv4N2zafe3cEXU/Z5t6D6r/8AWr0Dwz+0Tr9rtTWLGHUFHBOPKY/iP8K8
613
+ 7huNTuHw1yrIDy0b8Yq/b+D49QUyRShXH8QOMfXmsuaPNaSCpGNrxdzv/iF8T9I8eWFhBbafc2d3
614
+ bO7kSMrIVIAOCMHOQO1eaa5PGVwuBljtHt/k0mq+H9V0P/TFQXUSjBeMZIHuKwbvU1n8sopGGJNf
615
+ d5HiKX9numnqmfPY6m/bqVtLH//Z
616
+
617
+ ---------InticubeMmsBoundary-BridgeToTheFuture_RELATED.200610--
618
+
619
+ ---------InticubeMmsBoundary-BridgeToTheFuture_MIXED.200610--
620
+
@@ -0,0 +1,49 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+ require File.dirname(__FILE__) + "/test_helper"
3
+ require 'test/unit'
4
+ require 'rubygems'
5
+ require 'mms2r'
6
+ require 'mms2r/media'
7
+ require 'tmail/mail'
8
+ require 'logger'
9
+
10
+
11
+ class MMS2R::HelioMediaTest < Test::Unit::TestCase
12
+ include MMS2R::TestHelper
13
+
14
+ def setup
15
+ mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
16
+ @mms = MMS2R::Media.create(mail)
17
+ @mms.process
18
+ end
19
+
20
+ def test_instantiated_class_should_be_helio_media
21
+ assert_equal @mms.class, MMS2R::HelioMedia
22
+ end
23
+
24
+ def test_get_number_should_return_correct_number
25
+ number = @mms.get_number()
26
+ assert_equal number, 7608070850.to_s
27
+ end
28
+
29
+ def test_get_subject_should_return_correct_subject
30
+ title = @mms.get_subject()
31
+ assert_equal title, "Test image"
32
+ end
33
+
34
+ def test_get_body_should_return_correct_body
35
+ body = @mms.get_body()
36
+ assert_equal body, "Test image"
37
+ end
38
+
39
+ def test_get_attachment_should_return_jpeg
40
+ image = @mms.get_media()
41
+ assert_not_nil @mms.media['image/jpeg'][0]
42
+ assert_match(/0628070005.jpg$/, @mms.media['image/jpeg'][0])
43
+ end
44
+
45
+ def teardown
46
+ @mms.purge
47
+ end
48
+
49
+ end
@@ -20,14 +20,15 @@ class MMS2R::MediaTest < Test::Unit::TestCase
20
20
  'mms2r.media' => MMS2R::Media,
21
21
  'cingularme.com' => MMS2R::CingularMeMedia,
22
22
  'mms.dobson.net' => MMS2R::DobsonMedia,
23
+ 'mms.myhelio.com' => MMS2R::HelioMedia,
23
24
  'mmode.com' => MMS2R::MModeMedia,
24
25
  'mms.mycingular.com' => MMS2R::MyCingularMedia,
25
26
  'messaging.nextel.com' => MMS2R::NextelMedia,
26
27
  'pm.sprint.com' => MMS2R::SprintMedia,
27
28
  'messaging.sprintpcs.com' => MMS2R::SprintPcsMedia,
28
29
  'tmomail.net' => MMS2R::TMobileMedia,
29
- 'vtext.com' => MMS2R::VtextMedia,
30
- 'vzwpix.com' => MMS2R::VerizonMedia
30
+ 'vzwpix.com' => MMS2R::VerizonMedia,
31
+ 'vtext.com' => MMS2R::VtextMedia
31
32
  }
32
33
 
33
34
  def use_temp_dirs
@@ -368,7 +369,7 @@ class MMS2R::MediaTest < Test::Unit::TestCase
368
369
  mail.subject = s
369
370
  mms = MMS2R::Media.create(mail)
370
371
  mms.process
371
- assert_equal '', mms.get_subject, "Default subject not scrubbed."
372
+ assert_equal nil, mms.get_subject, "Default subject not scrubbed."
372
373
  mms.purge
373
374
  }
374
375
 
@@ -21,7 +21,7 @@ class MMS2R::MyCingularMediaTest < Test::Unit::TestCase
21
21
  assert_not_nil mms.media['image/jpeg'][0]
22
22
  assert_match(/04-18-07_1723.jpg$/, mms.media['image/jpeg'][0])
23
23
 
24
- assert_equal "", mms.get_subject, "Default Cingular subject not stripped"
24
+ assert_equal nil, mms.get_subject, "Default Cingular subject not stripped"
25
25
  assert_file_size mms.media['image/jpeg'][0], 337
26
26
 
27
27
  assert_equal "Water", IO.readlines(mms.get_text.path).join
@@ -157,7 +157,7 @@ class MMS2R::SprintMediaTest < Test::Unit::TestCase
157
157
 
158
158
  assert_file_size mms.media['video/quicktime'][0], 49063
159
159
 
160
- assert_equal "", mms.get_subject, "Default Sprint subject not scrubbed."
160
+ assert_equal nil, mms.get_subject, "Default Sprint subject not scrubbed."
161
161
 
162
162
  mms.purge
163
163
  end
@@ -175,7 +175,7 @@ class MMS2R::SprintMediaTest < Test::Unit::TestCase
175
175
 
176
176
  assert_file_size mms.media['image/jpeg'][0], 337
177
177
 
178
- assert_equal "", mms.get_subject, "Default Sprint subject not scrubbed"
178
+ assert_equal nil, mms.get_subject, "Default Sprint subject not scrubbed"
179
179
 
180
180
  mms.purge
181
181
  end
@@ -197,7 +197,7 @@ class MMS2R::SprintMediaTest < Test::Unit::TestCase
197
197
  assert_file_size mms.media['image/jpeg'][0], 337
198
198
  assert_file_size mms.media['image/jpeg'][1], 337
199
199
 
200
- assert_equal "", mms.get_subject, "Default Sprint subject not scrubbed"
200
+ assert_equal nil, mms.get_subject, "Default Sprint subject not scrubbed"
201
201
 
202
202
  mms.purge
203
203
  end
@@ -0,0 +1,6 @@
1
+ module Gem
2
+ @sources = ["http://gems.rubyforge.org"]
3
+ def self.sources
4
+ @sources
5
+ end
6
+ end
@@ -0,0 +1,8 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = %q{sources}
3
+ s.version = "0.0.1"
4
+ s.date = %q{2007-06-10}
5
+ s.summary = %q{This package provides download sources for remote gem installation}
6
+ s.autorequire = %q{sources}
7
+ s.files = ["lib/sources.rb"]
8
+ end
metadata CHANGED
@@ -3,15 +3,15 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: mms2r
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.1.2
7
- date: 2007-06-13 00:00:00 -07:00
6
+ version: 1.1.3
7
+ date: 2007-07-10 00:00:00 -07:00
8
8
  summary: Extract user media from MMS (and not carrier cruft)
9
9
  require_paths:
10
10
  - lib
11
11
  email: mikemondragon@gmail.com
12
12
  homepage: http://mms2r.rubyforge.org/
13
13
  rubyforge_project: mms2r
14
- description: "== DESCRIPTION: MMS2R is a library that decodes the parts of an MMS message to disk while stripping out advertising injected by the cellphone carriers. MMS messages are multipart email and the carriers often inject branding into these messages. Use MMS2R if you want to get at the real user generated content from a MMS without having to deal with the cruft from the carriers. If MMS2R is not aware of a particular carrier no extra processing is done to the MMS other than decoding and consolidating its media. Contact the author to add additional carriers to be processed by the library. Suggestions and patches appreciated and welcomed! Corpus of carriers currently processed by MMS2R: * AT&T/Cingular => mmode.com * Cingular => mms.mycingular.com * Cingular => cingularme.com * Dobson/Cellular One => mms.dobson.net * Nextel => messaging.nextel.com * Sprint => pm.sprint.com * Sprint => messaging.sprintpcs.com * T-Mobile => tmomail.net * Verizon => vzwpix.com * Verizon => vtext.com"
14
+ description: "== DESCRIPTION: MMS2R is a library that decodes the parts of an MMS message to disk while stripping out advertising injected by the cellphone carriers. MMS messages are multipart email and the carriers often inject branding into these messages. Use MMS2R if you want to get at the real user generated content from a MMS without having to deal with the cruft from the carriers. If MMS2R is not aware of a particular carrier no extra processing is done to the MMS other than decoding and consolidating its media. Contact the author to add additional carriers to be processed by the library. Suggestions and patches appreciated and welcomed! Corpus of carriers currently processed by MMS2R: * AT&T/Cingular => mmode.com * Cingular => mms.mycingular.com * Cingular => cingularme.com * Dobson/Cellular One => mms.dobson.net * Helio => mms.myhelio.com * Nextel => messaging.nextel.com * Sprint => pm.sprint.com * Sprint => messaging.sprintpcs.com * T-Mobile => tmomail.net * Verizon => vzwpix.com * Verizon => vtext.com"
15
15
  autorequire:
16
16
  default_executable:
17
17
  bindir: bin
@@ -36,6 +36,7 @@ files:
36
36
  - conf/mms2r_cingular_me_media_subject.yml
37
37
  - conf/mms2r_cingular_me_media_transform.yml
38
38
  - conf/mms2r_dobson_media_ignore.yml
39
+ - conf/mms2r_helio_media_ignore.yml
39
40
  - conf/mms2r_media_ignore.yml
40
41
  - conf/mms2r_media_subject.yml
41
42
  - conf/mms2r_my_cingular_media_subject.yml
@@ -49,6 +50,7 @@ files:
49
50
  - lib/mms2r.rb
50
51
  - lib/mms2r/cingular_me_media.rb
51
52
  - lib/mms2r/dobson_media.rb
53
+ - lib/mms2r/helio_media.rb
52
54
  - lib/mms2r/m_mode_media.rb
53
55
  - lib/mms2r/media.rb
54
56
  - lib/mms2r/my_cingular_media.rb
@@ -86,6 +88,7 @@ files:
86
88
  - test/files/cingularme-text-02.mail
87
89
  - test/files/dobson-image-01.mail
88
90
  - test/files/dot.jpg
91
+ - test/files/helio-image-01.mail
89
92
  - test/files/hello_world_empty_text.mail
90
93
  - test/files/hello_world_mail_multipart.mail
91
94
  - test/files/hello_world_mail_plain_no_content_type.mail
@@ -116,6 +119,7 @@ files:
116
119
  - test/test_helper.rb
117
120
  - test/test_mms2r_cingular_me_media.rb
118
121
  - test/test_mms2r_dobson_media.rb
122
+ - test/test_mms2r_helio_media.rb
119
123
  - test/test_mms2r_m_mode_media.rb
120
124
  - test/test_mms2r_media.rb
121
125
  - test/test_mms2r_my_cingular_media.rb
@@ -125,10 +129,14 @@ files:
125
129
  - test/test_mms2r_t_mobile_media.rb
126
130
  - test/test_mms2r_verizon_media.rb
127
131
  - test/test_mms2r_vtext_media.rb
132
+ - tinderbox/sandbox/cache/sources-0.0.1.gem
133
+ - tinderbox/sandbox/gems/sources-0.0.1/lib/sources.rb
134
+ - tinderbox/sandbox/specifications/sources-0.0.1.gemspec
128
135
  - vendor/plugins/mms2r/lib/autotest/discover.rb
129
136
  - vendor/plugins/mms2r/lib/autotest/mms2r.rb
130
137
  test_files:
131
138
  - test/test_mms2r_cingular_me_media.rb
139
+ - test/test_mms2r_helio_media.rb
132
140
  - test/test_mms2r_sprint_pcs_media.rb
133
141
  - test/test_mms2r_media.rb
134
142
  - test/test_mms2r_my_cingular_media.rb
@@ -161,7 +169,16 @@ dependencies:
161
169
  requirements:
162
170
  - - ">="
163
171
  - !ruby/object:Gem::Version
164
- version: 0.5.0
172
+ version: 0.6.0
173
+ version:
174
+ - !ruby/object:Gem::Dependency
175
+ name: mechanize
176
+ version_requirement:
177
+ version_requirements: !ruby/object:Gem::Version::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: 0.6.9
165
182
  version:
166
183
  - !ruby/object:Gem::Dependency
167
184
  name: hoe