jpmobile 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. data/README.rdoc +227 -0
  2. data/Rakefile +6 -13
  3. data/lib/jpmobile/docomo_guid.rb +42 -0
  4. data/lib/jpmobile/filter.rb +1 -1
  5. data/lib/jpmobile/helpers.rb +2 -1
  6. data/lib/jpmobile/hook_action_controller.rb +12 -0
  7. data/lib/jpmobile/hook_action_view.rb +82 -72
  8. data/lib/jpmobile/{hook_abstract_request.rb → hook_request.rb} +1 -1
  9. data/lib/jpmobile/mobile/au.rb +9 -3
  10. data/lib/jpmobile/mobile/z_display_info_docomo.rb +10 -2
  11. data/lib/jpmobile/mobile/z_ip_addresses_au.rb +1 -26
  12. data/lib/jpmobile/mobile/z_ip_addresses_willcom.rb +2 -4
  13. data/lib/jpmobile/rack/auth.rb +55 -0
  14. data/lib/jpmobile/rack/combined_logger.rb +54 -0
  15. data/lib/jpmobile/rack/request.rb +7 -0
  16. data/lib/jpmobile/rack/trans_sid.rb +14 -0
  17. data/lib/jpmobile/trans_sid.rb +70 -62
  18. data/lib/jpmobile/version.rb +1 -1
  19. data/test/{au_test.rb → legacy/au_test.rb} +0 -0
  20. data/test/{autoload_test.rb → legacy/autoload_test.rb} +0 -0
  21. data/test/{docomo_test.rb → legacy/docomo_test.rb} +0 -0
  22. data/test/{emoticon_functional_test.rb → legacy/emoticon_functional_test.rb} +1 -1
  23. data/test/{emoticon_test.rb → legacy/emoticon_test.rb} +0 -0
  24. data/test/{filter_test.rb → legacy/filter_test.rb} +0 -0
  25. data/test/{helper.rb → legacy/helper.rb} +4 -5
  26. data/test/{helpers_test.rb → legacy/helpers_test.rb} +1 -1
  27. data/test/{softbank_test.rb → legacy/softbank_test.rb} +0 -0
  28. data/test/{willcom_test.rb → legacy/willcom_test.rb} +0 -0
  29. data/test/rails/overrides/app/controllers/application.rb +5 -0
  30. data/test/rails/overrides/app/controllers/docomo_guid_controller.rb +13 -0
  31. data/test/rails/overrides/app/controllers/filter_controller.rb +26 -0
  32. data/test/rails/overrides/app/controllers/mobile_spec_controller.rb +5 -0
  33. data/test/rails/overrides/app/controllers/template_path_controller.rb +6 -0
  34. data/test/rails/overrides/app/controllers/trans_sid_controller.rb +28 -0
  35. data/test/rails/overrides/app/views/filter/index.html.erb +0 -0
  36. data/test/rails/overrides/app/views/hankaku_filter/index.html.erb +0 -0
  37. data/test/rails/overrides/app/views/template_path/_partial.html.erb +1 -0
  38. data/test/rails/overrides/app/views/template_path/_partial_mobile.html.erb +1 -0
  39. data/test/rails/overrides/app/views/template_path/_partial_mobile_docomo.html.erb +1 -0
  40. data/test/rails/overrides/app/views/template_path/index.html.erb +1 -0
  41. data/test/rails/overrides/app/views/template_path/index_mobile.html.erb +1 -0
  42. data/test/rails/overrides/app/views/template_path/index_mobile_docomo.html.erb +1 -0
  43. data/test/rails/overrides/app/views/template_path/partial.html.erb +2 -0
  44. data/test/rails/overrides/lib/tasks/rspec.rake +165 -0
  45. data/test/rails/overrides/spec/controllers/docomo_guid_spec.rb +77 -0
  46. data/test/rails/overrides/spec/controllers/docomo_spec.rb +28 -0
  47. data/test/rails/overrides/spec/controllers/emobile_spec.rb +35 -0
  48. data/test/rails/overrides/spec/controllers/filter_spec.rb +157 -0
  49. data/test/rails/overrides/spec/controllers/pc_spec.rb +11 -0
  50. data/test/rails/overrides/spec/controllers/softbank_emulator_spec.rb +40 -0
  51. data/test/rails/overrides/spec/controllers/template_path_spec.rb +115 -0
  52. data/test/rails/overrides/spec/controllers/trans_sid_spec.rb +98 -0
  53. data/test/rails/overrides/spec/helpers/helpers_spec.rb +13 -0
  54. data/test/rails/overrides/spec/rcov.opts +2 -0
  55. data/test/rails/overrides/spec/rspec.rake +165 -0
  56. data/test/rails/overrides/spec/spec.opts +4 -0
  57. data/test/rails/overrides/spec/spec_helper.rb +47 -0
  58. data/test/rails/rails_root/README +256 -0
  59. data/test/rails/rails_root/Rakefile +10 -0
  60. data/test/rails/rails_root/app/controllers/application.rb +5 -0
  61. data/test/rails/rails_root/app/controllers/docomo_guid_controller.rb +13 -0
  62. data/test/rails/rails_root/app/controllers/filter_controller.rb +26 -0
  63. data/test/rails/rails_root/app/controllers/mobile_spec_controller.rb +5 -0
  64. data/test/rails/rails_root/app/controllers/template_path_controller.rb +6 -0
  65. data/test/rails/rails_root/app/controllers/trans_sid_controller.rb +26 -0
  66. data/test/rails/rails_root/app/helpers/application_helper.rb +3 -0
  67. data/test/rails/rails_root/app/views/template_path/index.html.erb +1 -0
  68. data/test/rails/rails_root/app/views/template_path/index_mobile.html.erb +1 -0
  69. data/test/rails/rails_root/app/views/template_path/index_mobile_docomo.html.erb +1 -0
  70. data/test/rails/rails_root/config/boot.rb +109 -0
  71. data/test/rails/rails_root/config/database.yml +22 -0
  72. data/test/rails/rails_root/config/environment.rb +75 -0
  73. data/test/rails/rails_root/config/environments/development.rb +17 -0
  74. data/test/rails/rails_root/config/environments/production.rb +24 -0
  75. data/test/rails/rails_root/config/environments/test.rb +22 -0
  76. data/test/rails/rails_root/config/initializers/inflections.rb +10 -0
  77. data/test/rails/rails_root/config/initializers/mime_types.rb +5 -0
  78. data/test/rails/rails_root/config/initializers/new_rails_defaults.rb +17 -0
  79. data/test/rails/rails_root/config/locales/en.yml +5 -0
  80. data/test/rails/rails_root/config/routes.rb +43 -0
  81. data/test/rails/rails_root/db/development.sqlite3 +0 -0
  82. data/test/rails/rails_root/db/schema.rb +14 -0
  83. data/test/rails/rails_root/db/test.sqlite3 +0 -0
  84. data/test/rails/rails_root/doc/README_FOR_APP +5 -0
  85. data/test/rails/rails_root/lib/tasks/rspec.rake +165 -0
  86. data/test/rails/rails_root/log/development.log +38 -0
  87. data/test/rails/rails_root/log/production.log +0 -0
  88. data/test/rails/rails_root/log/server.log +0 -0
  89. data/test/rails/rails_root/log/test.log +401 -0
  90. data/test/rails/rails_root/public/404.html +30 -0
  91. data/test/rails/rails_root/public/422.html +30 -0
  92. data/test/rails/rails_root/public/500.html +33 -0
  93. data/test/rails/rails_root/public/dispatch.cgi +10 -0
  94. data/test/rails/rails_root/public/dispatch.fcgi +24 -0
  95. data/test/rails/rails_root/public/dispatch.rb +10 -0
  96. data/test/rails/rails_root/public/favicon.ico +0 -0
  97. data/test/rails/rails_root/public/images/rails.png +0 -0
  98. data/test/rails/rails_root/public/index.html +274 -0
  99. data/test/rails/rails_root/public/javascripts/application.js +2 -0
  100. data/test/rails/rails_root/public/javascripts/controls.js +963 -0
  101. data/test/rails/rails_root/public/javascripts/dragdrop.js +973 -0
  102. data/test/rails/rails_root/public/javascripts/effects.js +1128 -0
  103. data/test/rails/rails_root/public/javascripts/prototype.js +4320 -0
  104. data/test/rails/rails_root/public/robots.txt +5 -0
  105. data/test/rails/rails_root/script/about +4 -0
  106. data/test/rails/rails_root/script/console +3 -0
  107. data/test/rails/rails_root/script/dbconsole +3 -0
  108. data/test/rails/rails_root/script/destroy +3 -0
  109. data/test/rails/rails_root/script/generate +3 -0
  110. data/test/rails/rails_root/script/performance/benchmarker +3 -0
  111. data/test/rails/rails_root/script/performance/profiler +3 -0
  112. data/test/rails/rails_root/script/performance/request +3 -0
  113. data/test/rails/rails_root/script/plugin +3 -0
  114. data/test/rails/rails_root/script/process/inspector +3 -0
  115. data/test/rails/rails_root/script/process/reaper +3 -0
  116. data/test/rails/rails_root/script/process/spawner +3 -0
  117. data/test/rails/rails_root/script/runner +3 -0
  118. data/test/rails/rails_root/script/server +3 -0
  119. data/test/rails/rails_root/spec/controllers/docomo_guid_spec.rb +77 -0
  120. data/test/rails/rails_root/spec/controllers/docomo_spec.rb +28 -0
  121. data/test/rails/rails_root/spec/controllers/emobile_spec.rb +35 -0
  122. data/test/rails/rails_root/spec/controllers/filter_spec.rb +157 -0
  123. data/test/rails/rails_root/spec/controllers/pc_spec.rb +11 -0
  124. data/test/rails/rails_root/spec/controllers/softbank_emulator_spec.rb +40 -0
  125. data/test/rails/rails_root/spec/controllers/template_path_spec.rb +85 -0
  126. data/test/rails/rails_root/spec/controllers/trans_sid_spec.rb +96 -0
  127. data/test/rails/rails_root/spec/helpers/helpers_spec.rb +13 -0
  128. data/test/rails/rails_root/spec/rcov.opts +2 -0
  129. data/test/rails/rails_root/spec/rspec.rake +165 -0
  130. data/test/rails/rails_root/spec/spec.opts +4 -0
  131. data/test/rails/rails_root/spec/spec_helper.rb +47 -0
  132. data/test/rails/rails_root/test/performance/browsing_test.rb +9 -0
  133. data/test/rails/rails_root/test/test_helper.rb +38 -0
  134. data/test/rails/rails_root/vendor/plugins/jpmobile/CHANGELOG +7 -0
  135. data/test/rails/rails_root/vendor/plugins/jpmobile/MIT-LICENSE +7 -0
  136. data/{README → test/rails/rails_root/vendor/plugins/jpmobile/README.rdoc} +15 -17
  137. data/test/rails/rails_root/vendor/plugins/jpmobile/Rakefile +116 -0
  138. data/test/rails/rails_root/vendor/plugins/jpmobile/init.rb +3 -0
  139. data/test/rails/rails_root/vendor/plugins/jpmobile/install.rb +1 -0
  140. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile.rb +42 -0
  141. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/datum_conv.rb +72 -0
  142. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/docomo_guid.rb +42 -0
  143. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/email.rb +19 -0
  144. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon.rb +123 -0
  145. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon/au.rb +1287 -0
  146. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon/conversion_table.rb +3908 -0
  147. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon/docomo.rb +255 -0
  148. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon/softbank.rb +477 -0
  149. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon/z_combine.rb +20 -0
  150. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/filter.rb +173 -0
  151. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/helpers.rb +185 -0
  152. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_action_controller.rb +11 -0
  153. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_action_view.rb +142 -0
  154. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_request.rb +13 -0
  155. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/abstract_mobile.rb +73 -0
  156. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/au.rb +97 -0
  157. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/display.rb +33 -0
  158. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/docomo.rb +97 -0
  159. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/emobile.rb +17 -0
  160. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/softbank.rb +110 -0
  161. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/willcom.rb +39 -0
  162. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/z_display_info_docomo.rb +688 -0
  163. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/z_ip_addresses_au.rb +22 -0
  164. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/z_ip_addresses_docomo.rb +12 -0
  165. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/z_ip_addresses_emobile.rb +10 -0
  166. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/z_ip_addresses_softbank.rb +17 -0
  167. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/z_ip_addresses_willcom.rb +117 -0
  168. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/position.rb +67 -0
  169. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/request_with_mobile.rb +44 -0
  170. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/trans_sid.rb +105 -0
  171. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/util.rb +21 -0
  172. data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/version.rb +9 -0
  173. data/test/rails/rails_root/vendor/plugins/jpmobile/spec/spec.opts +6 -0
  174. data/test/rails/rails_root/vendor/plugins/jpmobile/spec/spec_helper.rb +36 -0
  175. data/test/rails/rails_root/vendor/plugins/jpmobile/spec/unit/detect_by_email_spec.rb +31 -0
  176. data/test/rails/rails_root/vendor/plugins/jpmobile/spec/unit/detect_by_ua_spec.rb +42 -0
  177. data/test/rails/rails_root/vendor/plugins/jpmobile/spec/unit/is_carrier_spec.rb +93 -0
  178. data/test/rails/rails_root/vendor/plugins/jpmobile/spec/unit/spec_helper.rb +5 -0
  179. data/test/rails/rails_root/vendor/plugins/jpmobile/spec/unit/util_spec.rb +28 -0
  180. data/test/rails/rails_root/vendor/plugins/jpmobile/spec/unit/valid_ip_spec.rb +60 -0
  181. data/test/rails/rails_root/vendor/plugins/jpmobile/tasks/jpmobile_tasks.rake +59 -0
  182. data/test/rails/rails_root/vendor/plugins/jpmobile/tools/emoji/genregexp.rb +47 -0
  183. data/test/rails/rails_root/vendor/plugins/jpmobile/tools/generate_au_emoticon_table.rb +34 -0
  184. data/test/rails/rails_root/vendor/plugins/jpmobile/tools/generate_docomo_emoticon_table.rb +34 -0
  185. data/test/rails/rails_root/vendor/plugins/jpmobile/tools/generate_emoticon_conversion_table.rb +107 -0
  186. data/test/rails/rails_root/vendor/plugins/jpmobile/tools/generate_softbank_emoticon_table.rb +32 -0
  187. data/test/rails/rails_root/vendor/plugins/jpmobile/tools/list_gps_unsupported_au.rb +23 -0
  188. data/test/rails/rails_root/vendor/plugins/jpmobile/tools/update_display_info_docomo.rb +45 -0
  189. data/test/rails/rails_root/vendor/plugins/jpmobile/tools/update_ip_addresses_au.rb +29 -0
  190. data/test/rails/rails_root/vendor/plugins/jpmobile/tools/update_ip_addresses_willcom.rb +17 -0
  191. data/tools/update_ip_addresses_au.rb +15 -5
  192. metadata +188 -22
@@ -0,0 +1,39 @@
1
+ # =Willcom携帯電話
2
+ # DDI-POCKETを含む。
3
+
4
+ module Jpmobile::Mobile
5
+ # ==Willcom携帯電話
6
+ # Ddipocketのスーパクラス。
7
+ class Willcom < AbstractMobile
8
+ autoload :IP_ADDRESSES, 'jpmobile/mobile/z_ip_addresses_willcom'
9
+
10
+ # 対応するUser-Agentの正規表現
11
+ USER_AGENT_REGEXP = /^Mozilla\/3.0\(WILLCOM/
12
+ # 対応するメールアドレスの正規表現
13
+ MAIL_ADDRESS_REGEXP = /^.+@(.+\.)?pdx\.ne\.jp$/
14
+
15
+ # 位置情報があれば Position のインスタンスを返す。無ければ +nil+ を返す。
16
+ def position
17
+ return @__position if defined? @__position
18
+ return @__position = nil if ( params["pos"].nil? || params['pos'] == '' )
19
+ raise "unsupported format" unless params["pos"] =~ /^N(\d\d)\.(\d\d)\.(\d\d\.\d\d\d)E(\d\d\d)\.(\d\d)\.(\d\d\.\d\d\d)$/
20
+ pos = Jpmobile::Position.new
21
+ pos.lat = Jpmobile::Position.dms2deg($1,$2,$3)
22
+ pos.lon = Jpmobile::Position.dms2deg($4,$5,$6)
23
+ pos.tokyo2wgs84!
24
+ return @__position = pos
25
+ end
26
+ # cookieに対応しているか?
27
+ def supports_cookie?
28
+ true
29
+ end
30
+ end
31
+ # ==DDI-POCKET
32
+ # スーパクラスはWillcom。
33
+ class Ddipocket < Willcom
34
+ # 対応するUser-Agentの正規表現
35
+ USER_AGENT_REGEXP = /^Mozilla\/3.0\(DDIPOCKET/
36
+
37
+ MAIL_ADDRESS_REGEXP = nil # DdipocketはEmail判定だとWillcomと判定させたい
38
+ end
39
+ end
@@ -0,0 +1,688 @@
1
+ Jpmobile::Mobile::Docomo::DISPLAY_INFO =
2
+ {"SO905i"=>
3
+ {:color_p=>true,
4
+ :colors=>16777216,
5
+ :browser_width=>240,
6
+ :browser_height=>368},
7
+ "N504iS"=>
8
+ {:color_p=>true, :colors=>65536, :browser_width=>160, :browser_height=>180},
9
+ "P900iV"=>
10
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>266},
11
+ "P703imyu"=>
12
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
13
+ "F02A"=>
14
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>352},
15
+ "F503iS"=>
16
+ {:color_p=>true, :colors=>4096, :browser_width=>120, :browser_height=>130},
17
+ "P851i"=>
18
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
19
+ "F883i"=>
20
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>256},
21
+ "SH700i"=>
22
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>252},
23
+ "D851iWM"=>
24
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>320},
25
+ "F501i"=>
26
+ {:color_p=>false, :colors=>2, :browser_width=>112, :browser_height=>84},
27
+ "N705imyu"=>
28
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
29
+ "F704i"=>
30
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
31
+ "F902i"=>
32
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
33
+ "P702iD"=>
34
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
35
+ "SH903i"=>
36
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
37
+ "F700iS"=>
38
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
39
+ "SH252i"=>
40
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>252},
41
+ "N501i"=>
42
+ {:color_p=>false, :colors=>2, :browser_width=>118, :browser_height=>128},
43
+ "NM850iG"=>
44
+ {:color_p=>true, :colors=>65536, :browser_width=>176, :browser_height=>144},
45
+ "F882iES"=>
46
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>256},
47
+ "N902i"=>
48
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
49
+ "D902iS"=>
50
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>320},
51
+ "SO213iWR"=>
52
+ {:color_p=>true, :colors=>65536, :browser_width=>120, :browser_height=>112},
53
+ "L705i"=>
54
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>280},
55
+ "N700i"=>
56
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
57
+ "P211i"=>
58
+ {:color_p=>true, :colors=>65536, :browser_width=>120, :browser_height=>130},
59
+ "N2001"=>
60
+ {:color_p=>true, :colors=>4096, :browser_width=>118, :browser_height=>128},
61
+ "SH01A"=>
62
+ {:color_p=>true,
63
+ :colors=>16777216,
64
+ :browser_width=>240,
65
+ :browser_height=>320},
66
+ "SH906i"=>
67
+ {:color_p=>true,
68
+ :colors=>16777216,
69
+ :browser_width=>240,
70
+ :browser_height=>320},
71
+ "SH905iTV"=>
72
+ {:color_p=>true,
73
+ :colors=>16777216,
74
+ :browser_width=>240,
75
+ :browser_height=>320},
76
+ "N905iBiz"=>
77
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
78
+ "F05A"=>
79
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>352},
80
+ "SH706ie"=>
81
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
82
+ "SH703i"=>
83
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>240},
84
+ "N900iS"=>
85
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>269},
86
+ "F901iC"=>
87
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
88
+ "N2002"=>
89
+ {:color_p=>true, :colors=>65536, :browser_width=>118, :browser_height=>128},
90
+ "F504i"=>
91
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>136},
92
+ "N706ie"=>
93
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
94
+ "F905i"=>
95
+ {:color_p=>true,
96
+ :colors=>16777216,
97
+ :browser_width=>240,
98
+ :browser_height=>352},
99
+ "N209i"=>
100
+ {:color_p=>false, :colors=>4, :browser_width=>108, :browser_height=>82},
101
+ "P209iS"=>
102
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>87},
103
+ "N504i"=>
104
+ {:color_p=>true, :colors=>65536, :browser_width=>160, :browser_height=>180},
105
+ "F671i"=>
106
+ {:color_p=>true, :colors=>256, :browser_width=>120, :browser_height=>126},
107
+ "D210i"=>
108
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>91},
109
+ "N252i"=>
110
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>140},
111
+ "N905i"=>
112
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
113
+ "F883iES"=>
114
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>256},
115
+ "N704imyu"=>
116
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
117
+ "P903iX"=>
118
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
119
+ "NM502i"=>
120
+ {:color_p=>false, :colors=>2, :browser_width=>111, :browser_height=>106},
121
+ "P900i"=>
122
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>266},
123
+ "N2102V"=>
124
+ {:color_p=>true, :colors=>65536, :browser_width=>176, :browser_height=>198},
125
+ "N906iL"=>
126
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
127
+ "D705imyu"=>
128
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>240},
129
+ "SO903iTV"=>
130
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>368},
131
+ "SH903iTV"=>
132
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
133
+ "KO209i"=>
134
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>96},
135
+ "F903iX"=>
136
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
137
+ "SH702iD"=>
138
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>240},
139
+ "SH04A"=>
140
+ {:color_p=>true,
141
+ :colors=>16777216,
142
+ :browser_width=>240,
143
+ :browser_height=>320},
144
+ "SH706i"=>
145
+ {:color_p=>true,
146
+ :colors=>16777216,
147
+ :browser_width=>240,
148
+ :browser_height=>320},
149
+ "N211iS"=>
150
+ {:color_p=>true, :colors=>4096, :browser_width=>118, :browser_height=>128},
151
+ "F881iES"=>
152
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>256},
153
+ "P502i"=>
154
+ {:color_p=>false, :colors=>4, :browser_width=>96, :browser_height=>117},
155
+ "P700i"=>
156
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
157
+ "P903i"=>
158
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
159
+ "N702iD"=>
160
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
161
+ "N706i"=>
162
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
163
+ "F502it"=>
164
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>91},
165
+ "SH901iC"=>
166
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>252},
167
+ "P2002"=>
168
+ {:color_p=>true, :colors=>65536, :browser_width=>118, :browser_height=>128},
169
+ "P252i"=>
170
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>144},
171
+ "P209i"=>
172
+ {:color_p=>false, :colors=>4, :browser_width=>96, :browser_height=>87},
173
+ "P703i"=>
174
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
175
+ "P505i"=>
176
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>266},
177
+ "F211i"=>
178
+ {:color_p=>true, :colors=>4096, :browser_width=>96, :browser_height=>113},
179
+ "L602i"=>
180
+ {:color_p=>true, :colors=>65536, :browser_width=>170, :browser_height=>189},
181
+ "N901iC"=>
182
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
183
+ "P906i"=>
184
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
185
+ "D251i"=>
186
+ {:color_p=>true, :colors=>262144, :browser_width=>132, :browser_height=>144},
187
+ "N506iSII"=>
188
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>295},
189
+ "SO212i"=>
190
+ {:color_p=>true, :colors=>65536, :browser_width=>120, :browser_height=>112},
191
+ "D251iS"=>
192
+ {:color_p=>true, :colors=>262144, :browser_width=>132, :browser_height=>144},
193
+ "P252iS"=>
194
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>144},
195
+ "P03A"=>
196
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
197
+ "F671iS"=>
198
+ {:color_p=>true, :colors=>65536, :browser_width=>160, :browser_height=>120},
199
+ "NM706i"=>
200
+ {:color_p=>true,
201
+ :colors=>16777216,
202
+ :browser_width=>231,
203
+ :browser_height=>235},
204
+ "P2102V"=>
205
+ {:color_p=>true, :colors=>262144, :browser_width=>176, :browser_height=>198},
206
+ "D702i"=>
207
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
208
+ "P505iS"=>
209
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>266},
210
+ "SO702i"=>
211
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>256},
212
+ "D900i"=>
213
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
214
+ "F905iBiz"=>
215
+ {:color_p=>true,
216
+ :colors=>16777216,
217
+ :browser_width=>240,
218
+ :browser_height=>352},
219
+ "N600i"=>
220
+ {:color_p=>true, :colors=>65536, :browser_width=>176, :browser_height=>180},
221
+ "N03A"=>
222
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
223
+ "SO905iCS"=>
224
+ {:color_p=>true,
225
+ :colors=>16777216,
226
+ :browser_width=>240,
227
+ :browser_height=>368},
228
+ "P06A"=>
229
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
230
+ "P211iS"=>
231
+ {:color_p=>true, :colors=>65536, :browser_width=>120, :browser_height=>130},
232
+ "F700i"=>
233
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
234
+ "N210i"=>
235
+ {:color_p=>true, :colors=>256, :browser_width=>118, :browser_height=>113},
236
+ "SO705i"=>
237
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
238
+ "D705i"=>
239
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
240
+ "D503i"=>
241
+ {:color_p=>true, :colors=>4096, :browser_width=>132, :browser_height=>126},
242
+ "SA800i"=>
243
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>252},
244
+ "SO503i"=>
245
+ {:color_p=>true, :colors=>65536, :browser_width=>120, :browser_height=>113},
246
+ "KO210i"=>
247
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>96},
248
+ "D903i"=>
249
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>320},
250
+ "P901iS"=>
251
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
252
+ "SH821i"=>
253
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>78},
254
+ "F901iS"=>
255
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
256
+ "F01A"=>
257
+ {:color_p=>true,
258
+ :colors=>16777216,
259
+ :browser_width=>240,
260
+ :browser_height=>352},
261
+ "N906imyu"=>
262
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
263
+ "F209i"=>
264
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>91},
265
+ "SH706iw"=>
266
+ {:color_p=>true,
267
+ :colors=>16777216,
268
+ :browser_width=>240,
269
+ :browser_height=>320},
270
+ "P706imyu"=>
271
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
272
+ "F703i"=>
273
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
274
+ "SH902i"=>
275
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>240},
276
+ "SH505iS"=>
277
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>252},
278
+ "F880iES"=>
279
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>256},
280
+ "SH705iII"=>
281
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
282
+ "SO506i"=>
283
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>256},
284
+ "P506iC"=>
285
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>266},
286
+ "SH702iS"=>
287
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>240},
288
+ "SH251i"=>
289
+ {:color_p=>true, :colors=>65536, :browser_width=>120, :browser_height=>130},
290
+ "N505iS"=>
291
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
292
+ "D903iTV"=>
293
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>320},
294
+ "R692i"=>
295
+ {:color_p=>true, :colors=>4096, :browser_width=>96, :browser_height=>98},
296
+ "D506i"=>
297
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
298
+ "L704i"=>
299
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>280},
300
+ "F504iS"=>
301
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>136},
302
+ "N702iS"=>
303
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
304
+ "P210i"=>
305
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>91},
306
+ "F04A"=>
307
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>352},
308
+ "F503i"=>
309
+ {:color_p=>true, :colors=>256, :browser_width=>120, :browser_height=>130},
310
+ "L705iX"=>
311
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>280},
312
+ "F251i"=>
313
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>140},
314
+ "SH851i"=>
315
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>252},
316
+ "F706i"=>
317
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>352},
318
+ "N905imyu"=>
319
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
320
+ "SH905i"=>
321
+ {:color_p=>true,
322
+ :colors=>16777216,
323
+ :browser_width=>240,
324
+ :browser_height=>320},
325
+ "F904i"=>
326
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>352},
327
+ "SO213iS"=>
328
+ {:color_p=>true, :colors=>65536, :browser_width=>120, :browser_height=>112},
329
+ "N251i"=>
330
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>140},
331
+ "T2101V"=>
332
+ {:color_p=>true, :colors=>262144, :browser_width=>176, :browser_height=>144},
333
+ "SO902iWP+"=>
334
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>256},
335
+ "N503i"=>
336
+ {:color_p=>true, :colors=>4096, :browser_width=>118, :browser_height=>128},
337
+ "N904i"=>
338
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>352},
339
+ "SH901iS"=>
340
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>252},
341
+ "D702iF"=>
342
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
343
+ "N901iS"=>
344
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
345
+ "P213i"=>
346
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>144},
347
+ "SH03A"=>
348
+ {:color_p=>true,
349
+ :colors=>16777216,
350
+ :browser_width=>240,
351
+ :browser_height=>320},
352
+ "F07A"=>
353
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>256},
354
+ "SH705i"=>
355
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
356
+ "D701iWM"=>
357
+ {:color_p=>true, :colors=>65536, :browser_width=>230, :browser_height=>240},
358
+ "F506i"=>
359
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>268},
360
+ "SH902iSL"=>
361
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>240},
362
+ "P902i"=>
363
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
364
+ "SO502iWM"=>
365
+ {:color_p=>true, :colors=>256, :browser_width=>120, :browser_height=>113},
366
+ "SH506iC"=>
367
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>252},
368
+ "N506i"=>
369
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>295},
370
+ "P501i"=>
371
+ {:color_p=>false, :colors=>2, :browser_width=>96, :browser_height=>120},
372
+ "N705i"=>
373
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
374
+ "F2102V"=>
375
+ {:color_p=>true, :colors=>65536, :browser_width=>176, :browser_height=>182},
376
+ "R211i"=>
377
+ {:color_p=>true, :colors=>4096, :browser_width=>96, :browser_height=>98},
378
+ "N2051"=>
379
+ {:color_p=>true, :colors=>65536, :browser_width=>176, :browser_height=>198},
380
+ "N703iD"=>
381
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
382
+ "L601i"=>
383
+ {:color_p=>true, :colors=>65536, :browser_width=>170, :browser_height=>189},
384
+ "D800iDS"=>
385
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
386
+ "F210i"=>
387
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>113},
388
+ "P905i"=>
389
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
390
+ "F505iGPS"=>
391
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>268},
392
+ "F702iD"=>
393
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
394
+ "P503iS"=>
395
+ {:color_p=>true, :colors=>256, :browser_width=>120, :browser_height=>130},
396
+ "P504i"=>
397
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>144},
398
+ "SO211i"=>
399
+ {:color_p=>true, :colors=>4096, :browser_width=>120, :browser_height=>112},
400
+ "L01A"=>
401
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
402
+ "N821i"=>
403
+ {:color_p=>false, :colors=>4, :browser_width=>118, :browser_height=>128},
404
+ "P702i"=>
405
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
406
+ "P02A"=>
407
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
408
+ "P506iCII"=>
409
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>266},
410
+ "N701iECO"=>
411
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
412
+ "NM705i"=>
413
+ {:color_p=>true,
414
+ :colors=>16777216,
415
+ :browser_width=>231,
416
+ :browser_height=>235},
417
+ "P2101V"=>
418
+ {:color_p=>true, :colors=>262144, :browser_width=>163, :browser_height=>182},
419
+ "D701i"=>
420
+ {:color_p=>true, :colors=>65536, :browser_width=>230, :browser_height=>240},
421
+ "P705i"=>
422
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
423
+ "P253iS"=>
424
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>144},
425
+ "SO505iS"=>
426
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>256},
427
+ "N2701"=>
428
+ {:color_p=>true, :colors=>65536, :browser_width=>176, :browser_height=>198},
429
+ "N02A"=>
430
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
431
+ "SA700iS"=>
432
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>252},
433
+ "D253i"=>
434
+ {:color_p=>true, :colors=>262144, :browser_width=>176, :browser_height=>198},
435
+ "SH505i"=>
436
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>252},
437
+ "P05A"=>
438
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
439
+ "P705imyu"=>
440
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
441
+ "D704i"=>
442
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
443
+ "SO704i"=>
444
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>368},
445
+ "D502i"=>
446
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>90},
447
+ "SA702i"=>
448
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>252},
449
+ "SO502i"=>
450
+ {:color_p=>false, :colors=>4, :browser_width=>120, :browser_height=>120},
451
+ "D505iS"=>
452
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
453
+ "R209i"=>
454
+ {:color_p=>false, :colors=>4, :browser_width=>96, :browser_height=>72},
455
+ "P901iTV"=>
456
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
457
+ "D902i"=>
458
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>320},
459
+ "M702iG"=>
460
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>267},
461
+ "SO903i"=>
462
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>368},
463
+ "N05A"=>
464
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
465
+ "F883iESS"=>
466
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>256},
467
+ "SH700iS"=>
468
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>252},
469
+ "N503iS"=>
470
+ {:color_p=>true, :colors=>4096, :browser_width=>118, :browser_height=>128},
471
+ "F900i"=>
472
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
473
+ "P651ps"=>
474
+ {:color_p=>false, :colors=>4, :browser_width=>96, :browser_height=>87},
475
+ "D905i"=>
476
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>352},
477
+ "P701iD"=>
478
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
479
+ "R691i"=>
480
+ {:color_p=>false, :colors=>4, :browser_width=>96, :browser_height=>72},
481
+ "D505i"=>
482
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
483
+ "N900i"=>
484
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>269},
485
+ "SO505i"=>
486
+ {:color_p=>true, :colors=>262144, :browser_width=>256, :browser_height=>240},
487
+ "F902iS"=>
488
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
489
+ "SO506iC"=>
490
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>256},
491
+ "P902iS"=>
492
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
493
+ "SO906i"=>
494
+ {:color_p=>true,
495
+ :colors=>16777216,
496
+ :browser_width=>240,
497
+ :browser_height=>368},
498
+ "N902iL"=>
499
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
500
+ "D901iS"=>
501
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
502
+ "F03A"=>
503
+ {:color_p=>true,
504
+ :colors=>16777216,
505
+ :browser_width=>240,
506
+ :browser_height=>352},
507
+ "F884i"=>
508
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>364},
509
+ "F502i"=>
510
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>91},
511
+ "N706iII"=>
512
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
513
+ "F705i"=>
514
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>352},
515
+ "SH904i"=>
516
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
517
+ "F903i"=>
518
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
519
+ "N506iS"=>
520
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>295},
521
+ "ER209i"=>
522
+ {:color_p=>false, :colors=>2, :browser_width=>120, :browser_height=>72},
523
+ "F900iC"=>
524
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
525
+ "F2051"=>
526
+ {:color_p=>true, :colors=>65536, :browser_width=>176, :browser_height=>182},
527
+ "N903i"=>
528
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
529
+ "F661i"=>
530
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>136},
531
+ "N502i"=>
532
+ {:color_p=>false, :colors=>4, :browser_width=>118, :browser_height=>128},
533
+ "N701i"=>
534
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
535
+ "SH02A"=>
536
+ {:color_p=>true,
537
+ :colors=>16777216,
538
+ :browser_width=>240,
539
+ :browser_height=>320},
540
+ "F06A"=>
541
+ {:color_p=>true,
542
+ :colors=>16777216,
543
+ :browser_width=>240,
544
+ :browser_height=>352},
545
+ "SH704i"=>
546
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
547
+ "F505i"=>
548
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>268},
549
+ "F906i"=>
550
+ {:color_p=>true,
551
+ :colors=>16777216,
552
+ :browser_width=>240,
553
+ :browser_height=>352},
554
+ "F801i"=>
555
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>352},
556
+ "D211i"=>
557
+ {:color_p=>true, :colors=>4096, :browser_width=>100, :browser_height=>91},
558
+ "N253i"=>
559
+ {:color_p=>true, :colors=>65536, :browser_width=>160, :browser_height=>180},
560
+ "P901i"=>
561
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
562
+ "SH902iS"=>
563
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>240},
564
+ "N505i"=>
565
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
566
+ "F672i"=>
567
+ {:color_p=>true, :colors=>65536, :browser_width=>160, :browser_height=>120},
568
+ "N906i"=>
569
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
570
+ "N502it"=>
571
+ {:color_p=>true, :colors=>256, :browser_width=>118, :browser_height=>128},
572
+ "N902iS"=>
573
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
574
+ "M702iS"=>
575
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>267},
576
+ "L600i"=>
577
+ {:color_p=>true, :colors=>65536, :browser_width=>170, :browser_height=>189},
578
+ "P905iTV"=>
579
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
580
+ "P904i"=>
581
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
582
+ "SO210i"=>
583
+ {:color_p=>true, :colors=>256, :browser_width=>120, :browser_height=>113},
584
+ "P503i"=>
585
+ {:color_p=>true, :colors=>256, :browser_width=>120, :browser_height=>130},
586
+ "P01A"=>
587
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
588
+ "P251iS"=>
589
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>144},
590
+ "SO503iS"=>
591
+ {:color_p=>true, :colors=>65536, :browser_width=>120, :browser_height=>113},
592
+ "L852i"=>
593
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>298},
594
+ "P253i"=>
595
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>144},
596
+ "N902iX"=>
597
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
598
+ "SH906iTV"=>
599
+ {:color_p=>true,
600
+ :colors=>16777216,
601
+ :browser_width=>240,
602
+ :browser_height=>320},
603
+ "P704i"=>
604
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
605
+ "F903iBSC"=>
606
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
607
+ "P504iS"=>
608
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>144},
609
+ "F212i"=>
610
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>136},
611
+ "D503iS"=>
612
+ {:color_p=>true, :colors=>4096, :browser_width=>132, :browser_height=>126},
613
+ "N01A"=>
614
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
615
+ "P705iCL"=>
616
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
617
+ "L03A"=>
618
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>280},
619
+ "N900iG"=>
620
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>269},
621
+ "D252i"=>
622
+ {:color_p=>true, :colors=>262144, :browser_width=>176, :browser_height=>198},
623
+ "SH2101V"=>
624
+ {:color_p=>true, :colors=>65536, :browser_width=>800, :browser_height=>600},
625
+ "SO213i"=>
626
+ {:color_p=>true, :colors=>65536, :browser_width=>120, :browser_height=>112},
627
+ "P04A"=>
628
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
629
+ "F884iES"=>
630
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>282},
631
+ "D2101V"=>
632
+ {:color_p=>true, :colors=>262144, :browser_width=>120, :browser_height=>130},
633
+ "D209i"=>
634
+ {:color_p=>true, :colors=>256, :browser_width=>96, :browser_height=>90},
635
+ "SO703i"=>
636
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>368},
637
+ "D703i"=>
638
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
639
+ "SO506iS"=>
640
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>256},
641
+ "D901i"=>
642
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
643
+ "D702iBCL"=>
644
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
645
+ "F883iS"=>
646
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>256},
647
+ "P704imyu"=>
648
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
649
+ "D501i"=>
650
+ {:color_p=>false, :colors=>2, :browser_width=>96, :browser_height=>72},
651
+ "N703imyu"=>
652
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>270},
653
+ "P821i"=>
654
+ {:color_p=>false, :colors=>4, :browser_width=>118, :browser_height=>128},
655
+ "SO902i"=>
656
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>256},
657
+ "N601i"=>
658
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>270},
659
+ "N04A"=>
660
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
661
+ "L706ie"=>
662
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>280},
663
+ "SH251iS"=>
664
+ {:color_p=>true, :colors=>65536, :browser_width=>176, :browser_height=>187},
665
+ "P706ie"=>
666
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
667
+ "N900iL"=>
668
+ {:color_p=>true, :colors=>65536, :browser_width=>240, :browser_height=>269},
669
+ "N211i"=>
670
+ {:color_p=>true, :colors=>4096, :browser_width=>118, :browser_height=>128},
671
+ "P903iTV"=>
672
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>350},
673
+ "F900iT"=>
674
+ {:color_p=>true, :colors=>262144, :browser_width=>230, :browser_height=>240},
675
+ "N251iS"=>
676
+ {:color_p=>true, :colors=>65536, :browser_width=>132, :browser_height=>140},
677
+ "SH900i"=>
678
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>252},
679
+ "SO706i"=>
680
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
681
+ "D904i"=>
682
+ {:color_p=>true, :colors=>262144, :browser_width=>240, :browser_height=>320},
683
+ "D253iWM"=>
684
+ {:color_p=>true, :colors=>262144, :browser_width=>220, :browser_height=>144},
685
+ "D504i"=>
686
+ {:color_p=>true, :colors=>262144, :browser_width=>132, :browser_height=>144},
687
+ "SO504i"=>
688
+ {:color_p=>true, :colors=>65536, :browser_width=>120, :browser_height=>112}}