sapor 0.1b1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/Area Class Diagram.dia +0 -0
  3. data/Area Class Diagram.png +0 -0
  4. data/Class Diagram.dia +0 -0
  5. data/Class Diagram.png +0 -0
  6. data/Examples.md +361 -0
  7. data/LICENSE +674 -0
  8. data/README.md +70 -0
  9. data/Rakefile +18 -0
  10. data/Technical Documentation.md +14 -0
  11. data/bin/create_installation_package.sh +49 -0
  12. data/bin/install.sh +45 -0
  13. data/bin/sapor.rb +22 -0
  14. data/bin/sapor.sh +105 -0
  15. data/lib/sapor.rb +44 -0
  16. data/lib/sapor/binomials_cache.rb +45 -0
  17. data/lib/sapor/combinations_distribution.rb +180 -0
  18. data/lib/sapor/dichotomies.rb +98 -0
  19. data/lib/sapor/dichotomy.rb +138 -0
  20. data/lib/sapor/first_past_the_post.rb +78 -0
  21. data/lib/sapor/leveled_proportional.rb +64 -0
  22. data/lib/sapor/log4r_logger.rb +49 -0
  23. data/lib/sapor/log_facade.rb +40 -0
  24. data/lib/sapor/number_formatter.rb +45 -0
  25. data/lib/sapor/poll.rb +137 -0
  26. data/lib/sapor/polychotomy.rb +359 -0
  27. data/lib/sapor/proportional.rb +128 -0
  28. data/lib/sapor/pseudorandom_multirange_enumerator.rb +87 -0
  29. data/lib/sapor/regional_data/area.rb +80 -0
  30. data/lib/sapor/regional_data/catalonia-2012-2015.psv +100 -0
  31. data/lib/sapor/regional_data/catalonia-2012.psv +87 -0
  32. data/lib/sapor/regional_data/catalonia.rb +90 -0
  33. data/lib/sapor/regional_data/norway.rb +408 -0
  34. data/lib/sapor/regional_data/united_kingdom.rb +1075 -0
  35. data/lib/sapor/regional_data/utopia.rb +66 -0
  36. data/sapor.gemspec +35 -0
  37. data/spec/integration/area_spec.rb +28 -0
  38. data/spec/integration/poll_spec.rb +107 -0
  39. data/spec/integration/sample.poll +7 -0
  40. data/spec/spec_helper.rb +31 -0
  41. data/spec/unit/area_spec.rb +115 -0
  42. data/spec/unit/binomials_cache_spec.rb +34 -0
  43. data/spec/unit/catalonia_spec.rb +82 -0
  44. data/spec/unit/combinations_distribution_spec.rb +241 -0
  45. data/spec/unit/denominators_spec.rb +34 -0
  46. data/spec/unit/dichotomies_spec.rb +154 -0
  47. data/spec/unit/dichotomy_spec.rb +320 -0
  48. data/spec/unit/first_past_the_post_spec.rb +53 -0
  49. data/spec/unit/leveled_proportional_spec.rb +51 -0
  50. data/spec/unit/norway_spec.rb +47 -0
  51. data/spec/unit/number_formatter_spec.rb +173 -0
  52. data/spec/unit/poll_spec.rb +105 -0
  53. data/spec/unit/polychotomy_spec.rb +332 -0
  54. data/spec/unit/proportional_spec.rb +86 -0
  55. data/spec/unit/pseudorandom_multirange_enumerator_spec.rb +82 -0
  56. metadata +119 -0
@@ -0,0 +1,1075 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Statistical Analysis of Polling Results (SAPoR)
4
+ # Copyright (C) 2014 Filip van Laenen <f.a.vanlaenen@ieee.org>
5
+ #
6
+ # This file is part of SAPoR.
7
+ #
8
+ # SAPoR is free software: you can redistribute it and/or modify it under the
9
+ # terms of the GNU General Public License as published by the Free Software
10
+ # Foundation, either version 3 of the License, or (at your option) any later
11
+ # version.
12
+ #
13
+ # SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
14
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16
+ #
17
+ # You can find a copy of the GNU General Public License in /doc/gpl.txt
18
+ #
19
+
20
+ module Sapor
21
+ #
22
+ # The regional data for the United Kingdom.
23
+ #
24
+ class UnitedKingdom
25
+ include Singleton
26
+
27
+ # Source: BBC News Election 2010 Results, retrieved on 3 April 2015.
28
+ # URL: http://news.bbc.co.uk/2/shared/election2010/results/
29
+ LAST_ELECTION_RESULT = { 'Conservative' => 10_726_614,
30
+ 'Labour' => 8_609_527,
31
+ 'Liberal Democrat' => 6_836_824,
32
+ 'Democratic Unionist Party' => 168_216,
33
+ 'Scottish National Party' => 491_386,
34
+ 'Sinn Féin' => 171_942,
35
+ 'Plaid Cymru' => 165_394,
36
+ 'Social Democratic & Labour Party' => 110_970,
37
+ 'Green' => 285_616,
38
+ 'Alliance Party' => 42_762,
39
+ 'UK Independence Party' => 919_546,
40
+ 'British National Party' => 564_331,
41
+ 'Ulster Conservatives and Unionists - New Force' => 102_361,
42
+ 'English Democrats' => 64_826,
43
+ 'Respect-Unity Coalition' => 33_251,
44
+ 'Traditional Unionist Voice' => 26_300,
45
+ 'Christian Party' => 18_623,
46
+ 'Independent Community and Health Concern' => 16_150,
47
+ 'Trade Unionist and Socialist Coalition' => 12_275,
48
+ 'Scottish Socialist Party' => 3_157,
49
+ 'Other' => 321_309 }
50
+
51
+ # Source: Electoral Calculus, Historical Data and Plots,
52
+ # 2010 (Actual) Election Result (51k, UKIP format),
53
+ # retrieved on 4 April 2015
54
+ # TODO: Results for Green are hidden in Other
55
+ # TODO: Local parties in Northern Ireland are hidden in Other
56
+ # URL: http://www.electoralcalculus.co.uk/electdata_2010uc.txt
57
+ LAST_DETAILED_ELECTION_RESULT = {
58
+ # England
59
+ 'Aldershot' => { 'Conservative' => 21_203, 'Labour' => 5489,
60
+ 'Liberal Democrat' => 15_617,
61
+ 'UK Independence Party' => 2041, 'Other' => 1034 },
62
+ 'Aldridge-Brownhills' => { 'Conservative' => 22_913, 'Labour' => 7647,
63
+ 'Liberal Democrat' => 6833, 'Other' => 1241 },
64
+ 'Altrincham and Sale West' => { 'Conservative' => 24_176,
65
+ 'Labour' => 11_073,
66
+ 'Liberal Democrat' => 12_581,
67
+ 'UK Independence Party' => 1563 },
68
+ 'Amber Valley' => { 'Conservative' => 17_746, 'Labour' => 17_210,
69
+ 'Liberal Democrat' => 6636,
70
+ 'UK Independence Party' => 906, 'Other' => 3460 },
71
+ 'Arundel and South Downs' => { 'Conservative' => 32_333,
72
+ 'Labour' => 4835,
73
+ 'Liberal Democrat' => 15_642,
74
+ 'UK Independence Party' => 3172 },
75
+ 'Ashfield' => { 'Conservative' => 10_698, 'Labour' => 16_239,
76
+ 'Liberal Democrat' => 16_047,
77
+ 'UK Independence Party' => 933, 'Other' => 4279 },
78
+ 'Ashford' => { 'Conservative' => 29_878, 'Labour' => 9204,
79
+ 'Liberal Democrat' => 12_581,
80
+ 'UK Independence Party' => 2508, 'Other' => 1014 },
81
+ 'Ashton under Lyne' => { 'Conservative' => 9510, 'Labour' => 18_604,
82
+ 'Liberal Democrat' => 5703,
83
+ 'UK Independence Party' => 1686,
84
+ 'Other' => 2929 },
85
+ 'Aylesbury' => { 'Conservative' => 27_736, 'Labour' => 6695,
86
+ 'Liberal Democrat' => 15_118,
87
+ 'UK Independence Party' => 3613 },
88
+ 'Banbury' => { 'Conservative' => 29_703, 'Labour' => 10_773,
89
+ 'Liberal Democrat' => 11_476,
90
+ 'UK Independence Party' => 2806, 'Other' => 1483 },
91
+ 'Barking' => { 'Conservative' => 8073, 'Labour' => 24_628,
92
+ 'Liberal Democrat' => 3719,
93
+ 'UK Independence Party' => 1300, 'Other' => 7623 },
94
+ 'Barnsley Central' => { 'Conservative' => 6388, 'Labour' => 17_487,
95
+ 'Liberal Democrat' => 6394,
96
+ 'UK Independence Party' => 1727,
97
+ 'Other' => 5005 },
98
+ 'Barnsley East' => { 'Conservative' => 6329, 'Labour' => 18_059,
99
+ 'Liberal Democrat' => 6969,
100
+ 'UK Independence Party' => 1731, 'Other' => 5298 },
101
+ 'Barrow and Furness' => { 'Conservative' => 16_018, 'Labour' => 21_226,
102
+ 'Liberal Democrat' => 4424,
103
+ 'UK Independence Party' => 841,
104
+ 'Other' => 1615 },
105
+ 'Basildon and Billericay' => { 'Conservative' => 21_922,
106
+ 'Labour' => 9584,
107
+ 'Liberal Democrat' => 6538,
108
+ 'UK Independence Party' => 1591,
109
+ 'Other' => 1934 },
110
+ 'Basildon South and East Thurrock' => { 'Conservative' => 19_624,
111
+ 'Labour' => 13_852,
112
+ 'Liberal Democrat' => 5977,
113
+ 'UK Independence Party' => 2639,
114
+ 'Other' => 2643 },
115
+ 'Basingstoke' => { 'Conservative' => 25_590, 'Labour' => 10_327,
116
+ 'Liberal Democrat' => 12_414,
117
+ 'UK Independence Party' => 2076, 'Other' => 247 },
118
+ 'Bassetlaw' => { 'Conservative' => 16_803, 'Labour' => 25_018,
119
+ 'Liberal Democrat' => 5570,
120
+ 'UK Independence Party' => 1779, 'Other' => 407 },
121
+ 'Bath' => { 'Conservative' => 14_768, 'Labour' => 3251,
122
+ 'Liberal Democrat' => 26_651, 'UK Independence Party' => 890,
123
+ 'Other' => 1526 },
124
+ 'Batley and Spen' => { 'Conservative' => 17_159, 'Labour' => 21_565,
125
+ 'Liberal Democrat' => 8095, 'Other' => 4290 },
126
+ 'Battersea' => { 'Conservative' => 23_103, 'Labour' => 17_126,
127
+ 'Liberal Democrat' => 7176,
128
+ 'UK Independence Party' => 505, 'Other' => 882 },
129
+ 'Beaconsfield' => { 'Conservative' => 32_053, 'Labour' => 6135,
130
+ 'Liberal Democrat' => 10_271,
131
+ 'UK Independence Party' => 2597, 'Other' => 1434 },
132
+ 'Beckenham' => { 'Conservative' => 27_597, 'Labour' => 6893,
133
+ 'Liberal Democrat' => 9813,
134
+ 'UK Independence Party' => 1551, 'Other' => 1832 },
135
+ 'Bedford' => { 'Conservative' => 17_546, 'Labour' => 16_193,
136
+ 'Liberal Democrat' => 8957,
137
+ 'UK Independence Party' => 1136, 'Other' => 1270 },
138
+ 'Bedfordshire Mid' => { 'Conservative' => 28_815, 'Labour' => 8108,
139
+ 'Liberal Democrat' => 13_663,
140
+ 'UK Independence Party' => 2826,
141
+ 'Other' => 1485 },
142
+ 'Bedfordshire North East' => { 'Conservative' => 30_989,
143
+ 'Labour' => 8957,
144
+ 'Liberal Democrat' => 12_047,
145
+ 'UK Independence Party' => 2294,
146
+ 'Other' => 1265 },
147
+ 'Bedfordshire South West' => { 'Conservative' => 26_815,
148
+ 'Labour' => 9948,
149
+ 'Liberal Democrat' => 10_166,
150
+ 'UK Independence Party' => 2142,
151
+ 'Other' => 1703 },
152
+ 'Bermondsey and Old Southwark' => { 'Conservative' => 7638,
153
+ 'Labour' => 13_060,
154
+ 'Liberal Democrat' => 21_590,
155
+ 'Other' => 2363 },
156
+ 'Berwick-upon-Tweed' => { 'Conservative' => 14_116, 'Labour' => 5061,
157
+ 'Liberal Democrat' => 16_806,
158
+ 'UK Independence Party' => 1243,
159
+ 'Other' => 1213 },
160
+ 'Bethnal Green and Bow' => { 'Conservative' => 7071, 'Labour' => 21_784,
161
+ 'Liberal Democrat' => 10_210,
162
+ 'Other' => 11_663 },
163
+ 'Beverley and Holderness' => { 'Conservative' => 25_063,
164
+ 'Labour' => 11_224,
165
+ 'Liberal Democrat' => 12_076,
166
+ 'UK Independence Party' => 1845,
167
+ 'Other' => 2991 },
168
+ 'Bexhill and Battle' => { 'Conservative' => 28_147, 'Labour' => 6524,
169
+ 'Liberal Democrat' => 15_267, 'Other' => 4649 },
170
+ 'Bexleyheath and Crayford' => { 'Conservative' => 21_794,
171
+ 'Labour' => 11_450,
172
+ 'Liberal Democrat' => 5502,
173
+ 'UK Independence Party' => 1557,
174
+ 'Other' => 2879 },
175
+ 'Birkenhead' => { 'Conservative' => 6687, 'Labour' => 22_082,
176
+ 'Liberal Democrat' => 6554 },
177
+ 'Birmingham Edgbaston' => { 'Conservative' => 15_620, 'Labour' => 16_894,
178
+ 'Liberal Democrat' => 6387,
179
+ 'UK Independence Party' => 732,
180
+ 'Other' => 1938 },
181
+ 'Birmingham Erdington' => { 'Conservative' => 11_592, 'Labour' => 14_869,
182
+ 'Liberal Democrat' => 5742,
183
+ 'UK Independence Party' => 842,
184
+ 'Other' => 2501 },
185
+ 'Birmingham Hall Green' => { 'Conservative' => 7320, 'Labour' => 16_039,
186
+ 'Liberal Democrat' => 11_988,
187
+ 'UK Independence Party' => 950,
188
+ 'Other' => 12_430 },
189
+ 'Birmingham Hodge Hill' => { 'Conservative' => 4936, 'Labour' => 22_077,
190
+ 'Liberal Democrat' => 11_775,
191
+ 'UK Independence Party' => 714,
192
+ 'Other' => 2970 },
193
+ 'Birmingham Ladywood' => { 'Conservative' => 4277, 'Labour' => 19_950,
194
+ 'Liberal Democrat' => 9845,
195
+ 'UK Independence Party' => 902,
196
+ 'Other' => 859 },
197
+ 'Birmingham Northfield' => { 'Conservative' => 14_059,
198
+ 'Labour' => 16_841,
199
+ 'Liberal Democrat' => 6550,
200
+ 'UK Independence Party' => 1363, 'Other' => 3001 },
201
+ 'Birmingham Perry Barr' => { 'Conservative' => 8960, 'Labour' => 21_142,
202
+ 'Liberal Democrat' => 9234,
203
+ 'UK Independence Party' => 1675,
204
+ 'Other' => 1034 },
205
+ 'Birmingham Selly Oak' => { 'Conservative' => 14_468, 'Labour' => 17_950,
206
+ 'Liberal Democrat' => 10_371,
207
+ 'UK Independence Party' => 1131,
208
+ 'Other' => 2643 },
209
+ 'Birmingham Yardley' => { 'Conservative' => 7836, 'Labour' => 13_160,
210
+ 'Liberal Democrat' => 16_162,
211
+ 'UK Independence Party' => 1190,
212
+ 'Other' => 2502 },
213
+ 'Bishop Auckland' => { 'Conservative' => 10_805, 'Labour' => 16_023,
214
+ 'Liberal Democrat' => 9189,
215
+ 'UK Independence Party' => 1119, 'Other' => 4000 },
216
+ 'Blackburn' => { 'Conservative' => 11_895, 'Labour' => 21_751,
217
+ 'Liberal Democrat' => 6918,
218
+ 'UK Independence Party' => 942, 'Other' => 3993 },
219
+ 'Blackley and Broughton' => { 'Conservative' => 6260, 'Labour' => 18_563,
220
+ 'Liberal Democrat' => 4861,
221
+ 'UK Independence Party' => 894,
222
+ 'Other' => 3626 },
223
+ 'Blackpool North and Cleveleys' => { 'Conservative' => 16_964,
224
+ 'Labour' => 14_814,
225
+ 'Liberal Democrat' => 5400,
226
+ 'UK Independence Party' => 1659, 'Other' => 1754 },
227
+ 'Blackpool South' => { 'Conservative' => 12_597, 'Labour' => 14_449,
228
+ 'Liberal Democrat' => 5082,
229
+ 'UK Independence Party' => 1352, 'Other' => 1712 },
230
+ 'Blaydon' => { 'Conservative' => 7159, 'Labour' => 22_297,
231
+ 'Liberal Democrat' => 13_180, 'Other' => 2277 },
232
+ 'Blyth Valley' => { 'Conservative' => 6412, 'Labour' => 17_156,
233
+ 'Liberal Democrat' => 10_488,
234
+ 'UK Independence Party' => 1665, 'Other' => 2845 },
235
+ 'Bognor Regis and Littlehampton' => { 'Conservative' => 24_087,
236
+ 'Labour' => 6580,
237
+ 'Liberal Democrat' => 11_024,
238
+ 'UK Independence Party' => 3036, 'Other' => 2125 },
239
+ 'Bolsover' => { 'Conservative' => 10_812, 'Labour' => 21_994,
240
+ 'Liberal Democrat' => 6821,
241
+ 'UK Independence Party' => 1721, 'Other' => 2640 },
242
+ 'Bolton North East' => { 'Conservative' => 15_786, 'Labour' => 19_870,
243
+ 'Liberal Democrat' => 5624,
244
+ 'UK Independence Party' => 1815,
245
+ 'Other' => 182 },
246
+ 'Bolton South East' => { 'Conservative' => 10_148, 'Labour' => 18_782,
247
+ 'Liberal Democrat' => 6289,
248
+ 'UK Independence Party' => 1564,
249
+ 'Other' => 2821 },
250
+ 'Bolton West' => { 'Conservative' => 18_235, 'Labour' => 18_327,
251
+ 'Liberal Democrat' => 8177,
252
+ 'UK Independence Party' => 1901, 'Other' => 936 },
253
+ 'Bootle' => { 'Conservative' => 3678, 'Labour' => 27_426, 'Liberal Democrat' => 6245, 'UK Independence Party' => 2514, 'Other' => 1414 },
254
+ 'Boston and Skegness' => { 'Conservative' => 21_325, 'Labour' => 8899, 'Liberal Democrat' => 6371, 'UK Independence Party' => 4081, 'Other' => 2449 },
255
+ 'Bosworth' => { 'Conservative' => 23_132, 'Labour' => 8674, 'Liberal Democrat' => 18_100, 'UK Independence Party' => 1098, 'Other' => 3270 },
256
+ 'Bournemouth East' => { 'Conservative' => 21_320, 'Labour' => 5836, 'Liberal Democrat' => 13_592, 'UK Independence Party' => 3027, 'Other' => 249 },
257
+ 'Bournemouth West' => { 'Conservative' => 18_808, 'Labour' => 6171, 'Liberal Democrat' => 13_225, 'UK Independence Party' => 2999, 'Other' => 456 },
258
+ 'Bracknell' => { 'Conservative' => 27_327, 'Labour' => 8755, 'Liberal Democrat' => 11_623, 'UK Independence Party' => 2297, 'Other' => 2134 },
259
+ 'Bradford East' => { 'Conservative' => 10_860, 'Labour' => 13_272, 'Liberal Democrat' => 13_637, 'Other' => 2688 },
260
+ 'Bradford South' => { 'Conservative' => 11_060, 'Labour' => 15_682, 'Liberal Democrat' => 6948, 'UK Independence Party' => 1339, 'Other' => 2966 },
261
+ 'Bradford West' => { 'Conservative' => 12_638, 'Labour' => 18_401, 'Liberal Democrat' => 4732, 'UK Independence Party' => 812, 'Other' => 3993 },
262
+ 'Braintree' => { 'Conservative' => 25_901, 'Labour' => 9780, 'Liberal Democrat' => 9247, 'UK Independence Party' => 2477, 'Other' => 1798 },
263
+ 'Brent Central' => { 'Conservative' => 5067, 'Labour' => 18_681, 'Liberal Democrat' => 20_026, 'Other' => 1549 },
264
+ 'Brent North' => { 'Conservative' => 16_486, 'Labour' => 24_514, 'Liberal Democrat' => 8879, 'UK Independence Party' => 380, 'Other' => 2039 },
265
+ 'Brentford and Isleworth' => { 'Conservative' => 20_022, 'Labour' => 18_064, 'Liberal Democrat' => 12_718, 'UK Independence Party' => 863, 'Other' => 2098 },
266
+ 'Brentwood and Ongar' => { 'Conservative' => 28_793, 'Labour' => 4992, 'Liberal Democrat' => 11_872, 'UK Independence Party' => 2037, 'Other' => 2898 },
267
+ 'Bridgwater and West Somerset' => { 'Conservative' => 24_675, 'Labour' => 9332, 'Liberal Democrat' => 15_426, 'UK Independence Party' => 2604, 'Other' => 2456 },
268
+ 'Brigg and Goole' => { 'Conservative' => 19_680, 'Labour' => 14_533, 'Liberal Democrat' => 6414, 'UK Independence Party' => 1749, 'Other' => 1498 },
269
+ 'Brighton Kemptown' => { 'Conservative' => 16_217, 'Labour' => 14_889, 'Liberal Democrat' => 7691, 'UK Independence Party' => 1384, 'Other' => 2524 },
270
+ 'Brighton Pavilion' => { 'Conservative' => 12_275, 'Labour' => 14_986, 'Liberal Democrat' => 7159, 'UK Independence Party' => 948, 'Other' => 16_466 },
271
+ 'Bristol East' => { 'Conservative' => 12_749, 'Labour' => 16_471, 'Liberal Democrat' => 10_993, 'UK Independence Party' => 1510, 'Other' => 3294 },
272
+ 'Bristol North West' => { 'Conservative' => 19_115, 'Labour' => 13_059, 'Liberal Democrat' => 15_841, 'UK Independence Party' => 1175, 'Other' => 1146 },
273
+ 'Bristol South' => { 'Conservative' => 11_086, 'Labour' => 18_600, 'Liberal Democrat' => 13_866, 'UK Independence Party' => 1264, 'Other' => 3561 },
274
+ 'Bristol West' => { 'Conservative' => 10_169, 'Labour' => 15_227, 'Liberal Democrat' => 26_593, 'UK Independence Party' => 655, 'Other' => 2703 },
275
+ 'Broadland' => { 'Conservative' => 24_338, 'Labour' => 7287, 'Liberal Democrat' => 17_046, 'UK Independence Party' => 2382, 'Other' => 1623 },
276
+ 'Bromley and Chislehurst' => { 'Conservative' => 23_569, 'Labour' => 7295, 'Liberal Democrat' => 9669, 'UK Independence Party' => 1451, 'Other' => 2053 },
277
+ 'Bromsgrove' => { 'Conservative' => 22_558, 'Labour' => 11_250, 'Liberal Democrat' => 10_124, 'UK Independence Party' => 2950, 'Other' => 4748 },
278
+ 'Broxbourne' => { 'Conservative' => 26_844, 'Labour' => 8040, 'Liberal Democrat' => 6107, 'UK Independence Party' => 1890, 'Other' => 2777 },
279
+ 'Broxtowe' => { 'Conservative' => 20_585, 'Labour' => 20_196, 'Liberal Democrat' => 8907, 'UK Independence Party' => 1194, 'Other' => 1845 },
280
+ 'Buckingham' => { 'Conservative' => 22_860, 'UK Independence Party' => 8401, 'Other' => 17_074 },
281
+ 'Burnley' => { 'Conservative' => 6950, 'Labour' => 13_114, 'Liberal Democrat' => 14_932, 'UK Independence Party' => 929, 'Other' => 5920 },
282
+ 'Burton' => { 'Conservative' => 22_188, 'Labour' => 15_884, 'Liberal Democrat' => 7891, 'UK Independence Party' => 1451, 'Other' => 2409 },
283
+ 'Bury North' => { 'Conservative' => 18_070, 'Labour' => 15_827, 'Liberal Democrat' => 7645, 'UK Independence Party' => 1282, 'Other' => 2137 },
284
+ 'Bury South' => { 'Conservative' => 16_216, 'Labour' => 19_508, 'Liberal Democrat' => 8796, 'UK Independence Party' => 1017, 'Other' => 2730 },
285
+ 'Bury St Edmunds' => { 'Conservative' => 27_899, 'Labour' => 9776, 'Liberal Democrat' => 15_519, 'UK Independence Party' => 3003, 'Other' => 2521 },
286
+ 'Calder Valley' => { 'Conservative' => 20_397, 'Labour' => 13_966, 'Liberal Democrat' => 13_037, 'UK Independence Party' => 1173, 'Other' => 3207 },
287
+ 'Camberwell and Peckham' => { 'Conservative' => 6080, 'Labour' => 27_619, 'Liberal Democrat' => 10_432, 'Other' => 2528 },
288
+ 'Camborne and Redruth' => { 'Conservative' => 15_969, 'Labour' => 6945, 'Liberal Democrat' => 15_903, 'UK Independence Party' => 2152, 'Other' => 1524 },
289
+ 'Cambridge' => { 'Conservative' => 12_829, 'Labour' => 12_174, 'Liberal Democrat' => 19_621, 'UK Independence Party' => 1195, 'Other' => 4311 },
290
+ 'Cambridgeshire North East' => { 'Conservative' => 26_862, 'Labour' => 9274, 'Liberal Democrat' => 10_437, 'UK Independence Party' => 2991, 'Other' => 2500 },
291
+ 'Cambridgeshire North West' => { 'Conservative' => 29_425, 'Labour' => 9877, 'Liberal Democrat' => 12_748, 'UK Independence Party' => 4826, 'Other' => 1407 },
292
+ 'Cambridgeshire South' => { 'Conservative' => 27_995, 'Labour' => 6024, 'Liberal Democrat' => 20_157, 'UK Independence Party' => 1873, 'Other' => 3007 },
293
+ 'Cambridgeshire South East' => { 'Conservative' => 27_629, 'Labour' => 4380, 'Liberal Democrat' => 21_683, 'UK Independence Party' => 2138, 'Other' => 1772 },
294
+ 'Cannock Chase' => { 'Conservative' => 18_271, 'Labour' => 15_076, 'Liberal Democrat' => 7732, 'UK Independence Party' => 1580, 'Other' => 2900 },
295
+ 'Canterbury' => { 'Conservative' => 22_050, 'Labour' => 7940, 'Liberal Democrat' => 16_002, 'UK Independence Party' => 1907, 'Other' => 1310 },
296
+ 'Carlisle' => { 'Conservative' => 16_589, 'Labour' => 15_736, 'Liberal Democrat' => 6567, 'UK Independence Party' => 969, 'Other' => 2339 },
297
+ 'Carshalton and Wallington' => { 'Conservative' => 16_920, 'Labour' => 4015, 'Liberal Democrat' => 22_180, 'UK Independence Party' => 1348, 'Other' => 1455 },
298
+ 'Castle Point' => { 'Conservative' => 19_806, 'Labour' => 6609, 'Liberal Democrat' => 4232, 'Other' => 14_379 },
299
+ 'Charnwood' => { 'Conservative' => 26_560, 'Labour' => 10_536, 'Liberal Democrat' => 11_531, 'UK Independence Party' => 1799, 'Other' => 3116 },
300
+ 'Chatham and Aylesford' => { 'Conservative' => 20_230, 'Labour' => 14_161, 'Liberal Democrat' => 5832, 'UK Independence Party' => 1314, 'Other' => 2270 },
301
+ 'Cheadle' => { 'Conservative' => 21_445, 'Labour' => 4920, 'Liberal Democrat' => 24_717, 'UK Independence Party' => 1430 },
302
+ 'Chelmsford' => { 'Conservative' => 25_207, 'Labour' => 5980, 'Liberal Democrat' => 20_097, 'UK Independence Party' => 1527, 'Other' => 1782 },
303
+ 'Chelsea and Fulham' => { 'Conservative' => 24_093, 'Labour' => 7371, 'Liberal Democrat' => 6473, 'UK Independence Party' => 478, 'Other' => 1441 },
304
+ 'Cheltenham' => { 'Conservative' => 21_739, 'Labour' => 2703, 'Liberal Democrat' => 26_659, 'UK Independence Party' => 1192, 'Other' => 493 },
305
+ 'Chesham and Amersham' => { 'Conservative' => 31_658, 'Labour' => 2942, 'Liberal Democrat' => 14_948, 'UK Independence Party' => 2129, 'Other' => 767 },
306
+ 'Chester, City of' => { 'Conservative' => 18_995, 'Labour' => 16_412, 'Liberal Democrat' => 8930, 'UK Independence Party' => 1225, 'Other' => 1228 },
307
+ 'Chesterfield' => { 'Conservative' => 7214, 'Labour' => 17_891, 'Liberal Democrat' => 17_342, 'UK Independence Party' => 1432, 'Other' => 1960 },
308
+ 'Chichester' => { 'Conservative' => 31_427, 'Labour' => 5937, 'Liberal Democrat' => 15_550, 'UK Independence Party' => 3873 },
309
+ 'Chingford and Woodford Green' => { 'Conservative' => 22_743, 'Labour' => 9780, 'Liberal Democrat' => 7242, 'UK Independence Party' => 1133, 'Other' => 2208 },
310
+ 'Chippenham' => { 'Conservative' => 21_500, 'Labour' => 3620, 'Liberal Democrat' => 23_970, 'UK Independence Party' => 1783, 'Other' => 1512 },
311
+ 'Chipping Barnet' => { 'Conservative' => 24_700, 'Labour' => 12_773, 'Liberal Democrat' => 10_202, 'UK Independence Party' => 1442, 'Other' => 1491 },
312
+ 'Chorley' => { 'Conservative' => 18_922, 'Labour' => 21_515, 'Liberal Democrat' => 6957, 'UK Independence Party' => 2021, 'Other' => 359 },
313
+ 'Christchurch' => { 'Conservative' => 27_888, 'Labour' => 4849, 'Liberal Democrat' => 12_478, 'UK Independence Party' => 4201 },
314
+ 'Cities of London and Westminster' => { 'Conservative' => 19_264, 'Labour' => 8188, 'Liberal Democrat' => 7574, 'UK Independence Party' => 664, 'Other' => 1241 },
315
+ 'Clacton' => { 'Conservative' => 22_867, 'Labour' => 10_799, 'Liberal Democrat' => 5577, 'Other' => 3880 },
316
+ 'Cleethorpes' => { 'Conservative' => 18_939, 'Labour' => 14_641, 'Liberal Democrat' => 8192, 'UK Independence Party' => 3194 },
317
+ 'Colchester' => { 'Conservative' => 15_169, 'Labour' => 5680, 'Liberal Democrat' => 22_151, 'UK Independence Party' => 1350, 'Other' => 1789 },
318
+ 'Colne Valley' => { 'Conservative' => 20_440, 'Labour' => 14_589, 'Liberal Democrat' => 15_603, 'UK Independence Party' => 1163, 'Other' => 3501 },
319
+ 'Congleton' => { 'Conservative' => 23_250, 'Labour' => 8747, 'Liberal Democrat' => 16_187, 'UK Independence Party' => 2147, 'Other' => 449 },
320
+ 'Copeland' => { 'Conservative' => 15_866, 'Labour' => 19_699, 'Liberal Democrat' => 4365, 'UK Independence Party' => 994, 'Other' => 1863 },
321
+ 'Corby' => { 'Conservative' => 22_886, 'Labour' => 20_991, 'Liberal Democrat' => 7834, 'Other' => 2525 },
322
+ 'Cornwall North' => { 'Conservative' => 19_531, 'Labour' => 1971, 'Liberal Democrat' => 22_512, 'UK Independence Party' => 2300, 'Other' => 530 },
323
+ 'Cornwall South East' => { 'Conservative' => 22_390, 'Labour' => 3507, 'Liberal Democrat' => 19_170, 'UK Independence Party' => 3083, 'Other' => 1467 },
324
+ 'Cotswolds, The' => { 'Conservative' => 29_075, 'Labour' => 5886, 'Liberal Democrat' => 16_211, 'UK Independence Party' => 2292, 'Other' => 1368 },
325
+ 'Coventry North East' => { 'Conservative' => 9609, 'Labour' => 21_384, 'Liberal Democrat' => 7210, 'UK Independence Party' => 1291, 'Other' => 3889 },
326
+ 'Coventry North West' => { 'Conservative' => 13_648, 'Labour' => 19_936, 'Liberal Democrat' => 8344, 'UK Independence Party' => 1295, 'Other' => 3337 },
327
+ 'Coventry South' => { 'Conservative' => 15_352, 'Labour' => 19_197, 'Liberal Democrat' => 8278, 'UK Independence Party' => 1767, 'Other' => 1330 },
328
+ 'Crawley' => { 'Conservative' => 21_264, 'Labour' => 15_336, 'Liberal Democrat' => 6844, 'UK Independence Party' => 1382, 'Other' => 2678 },
329
+ 'Crewe and Nantwich' => { 'Conservative' => 23_420, 'Labour' => 17_374, 'Liberal Democrat' => 7656, 'UK Independence Party' => 1414, 'Other' => 1220 },
330
+ 'Croydon Central' => { 'Conservative' => 19_657, 'Labour' => 16_688, 'Liberal Democrat' => 6553, 'UK Independence Party' => 997, 'Other' => 5862 },
331
+ 'Croydon North' => { 'Conservative' => 12_466, 'Labour' => 28_947, 'Liberal Democrat' => 7226, 'UK Independence Party' => 891, 'Other' => 2146 },
332
+ 'Croydon South' => { 'Conservative' => 28_684, 'Labour' => 11_287, 'Liberal Democrat' => 12_866, 'UK Independence Party' => 2504, 'Other' => 981 },
333
+ 'Dagenham and Rainham' => { 'Conservative' => 15_183, 'Labour' => 17_813, 'Liberal Democrat' => 3806, 'UK Independence Party' => 1569, 'Other' => 5861 },
334
+ 'Darlington' => { 'Conservative' => 13_503, 'Labour' => 16_891, 'Liberal Democrat' => 10_046, 'UK Independence Party' => 1194, 'Other' => 1262 },
335
+ 'Dartford' => { 'Conservative' => 24_428, 'Labour' => 13_800, 'Liberal Democrat' => 7361, 'UK Independence Party' => 1842, 'Other' => 2649 },
336
+ 'Daventry' => { 'Conservative' => 29_252, 'Labour' => 8168, 'Liberal Democrat' => 10_064, 'UK Independence Party' => 2333, 'Other' => 1957 },
337
+ 'Denton and Reddish' => { 'Conservative' => 9360, 'Labour' => 19_191, 'Liberal Democrat' => 6727, 'UK Independence Party' => 2060, 'Other' => 297 },
338
+ 'Derby North' => { 'Conservative' => 14_283, 'Labour' => 14_896, 'Liberal Democrat' => 12_638, 'UK Independence Party' => 829, 'Other' => 2434 },
339
+ 'Derby South' => { 'Conservative' => 11_729, 'Labour' => 17_851, 'Liberal Democrat' => 8430, 'UK Independence Party' => 1821, 'Other' => 1357 },
340
+ 'Derbyshire Dales' => { 'Conservative' => 24_378, 'Labour' => 9061, 'Liberal Democrat' => 10_512, 'UK Independence Party' => 1779, 'Other' => 1050 },
341
+ 'Derbyshire Mid' => { 'Conservative' => 22_877, 'Labour' => 11_585, 'Liberal Democrat' => 9711, 'UK Independence Party' => 1252, 'Other' => 1917 },
342
+ 'Derbyshire North East' => { 'Conservative' => 15_503, 'Labour' => 17_948, 'Liberal Democrat' => 10_947, 'UK Independence Party' => 2636 },
343
+ 'Derbyshire South' => { 'Conservative' => 22_935, 'Labour' => 15_807, 'Liberal Democrat' => 8012, 'UK Independence Party' => 1206, 'Other' => 2459 },
344
+ 'Devizes' => { 'Conservative' => 25_519, 'Labour' => 4711, 'Liberal Democrat' => 12_514, 'UK Independence Party' => 2076, 'Other' => 1520 },
345
+ 'Devon Central' => { 'Conservative' => 27_737, 'Labour' => 3715, 'Liberal Democrat' => 18_507, 'UK Independence Party' => 2870, 'Other' => 1044 },
346
+ 'Devon East' => { 'Conservative' => 25_662, 'Labour' => 5721, 'Liberal Democrat' => 16_548, 'UK Independence Party' => 4346, 'Other' => 815 },
347
+ 'Devon North' => { 'Conservative' => 18_484, 'Labour' => 2671, 'Liberal Democrat' => 24_305, 'UK Independence Party' => 3720, 'Other' => 2141 },
348
+ 'Devon South West' => { 'Conservative' => 27_908, 'Labour' => 6193, 'Liberal Democrat' => 12_034, 'UK Independence Party' => 3084, 'Other' => 641 },
349
+ 'Devon West and Torridge' => { 'Conservative' => 25_230, 'Labour' => 2917, 'Liberal Democrat' => 22_273, 'UK Independence Party' => 3021, 'Other' => 1816 },
350
+ 'Dewsbury' => { 'Conservative' => 18_898, 'Labour' => 17_372, 'Liberal Democrat' => 9150, 'Other' => 8588 },
351
+ 'Don Valley' => { 'Conservative' => 12_877, 'Labour' => 16_472, 'Liberal Democrat' => 7422, 'UK Independence Party' => 1904, 'Other' => 4755 },
352
+ 'Doncaster Central' => { 'Conservative' => 10_340, 'Labour' => 16_569, 'Liberal Democrat' => 8795, 'UK Independence Party' => 1421, 'Other' => 4620 },
353
+ 'Doncaster North' => { 'Conservative' => 8728, 'Labour' => 19_637, 'Liberal Democrat' => 6174, 'UK Independence Party' => 1797, 'Other' => 5147 },
354
+ 'Dorset Mid and Poole North' => { 'Conservative' => 20_831, 'Labour' => 2748, 'Liberal Democrat' => 21_100, 'UK Independence Party' => 2109 },
355
+ 'Dorset North' => { 'Conservative' => 27_640, 'Labour' => 2910, 'Liberal Democrat' => 20_015, 'UK Independence Party' => 2812, 'Other' => 764 },
356
+ 'Dorset South' => { 'Conservative' => 22_667, 'Labour' => 15_224, 'Liberal Democrat' => 9557, 'UK Independence Party' => 2034, 'Other' => 828 },
357
+ 'Dorset West' => { 'Conservative' => 27_287, 'Labour' => 3815, 'Liberal Democrat' => 23_364, 'UK Independence Party' => 2196, 'Other' => 675 },
358
+ 'Dover' => { 'Conservative' => 22_174, 'Labour' => 16_900, 'Liberal Democrat' => 7962, 'UK Independence Party' => 1747, 'Other' => 1602 },
359
+ 'Dudley North' => { 'Conservative' => 14_274, 'Labour' => 14_923, 'Liberal Democrat' => 4066, 'UK Independence Party' => 3267, 'Other' => 2072 },
360
+ 'Dudley South' => { 'Conservative' => 16_450, 'Labour' => 12_594, 'Liberal Democrat' => 5989, 'UK Independence Party' => 3132 },
361
+ 'Dulwich and West Norwood' => { 'Conservative' => 10_684, 'Labour' => 22_461, 'Liberal Democrat' => 13_096, 'UK Independence Party' => 707, 'Other' => 1266 },
362
+ 'Durham North' => { 'Conservative' => 8622, 'Labour' => 20_698, 'Liberal Democrat' => 8617, 'UK Independence Party' => 1344, 'Other' => 1686 },
363
+ 'Durham North West' => { 'Conservative' => 8766, 'Labour' => 18_539, 'Liberal Democrat' => 10_927, 'UK Independence Party' => 1259, 'Other' => 4324 },
364
+ 'Durham, City of' => { 'Conservative' => 6146, 'Labour' => 20_496, 'Liberal Democrat' => 17_429, 'UK Independence Party' => 856, 'Other' => 1325 },
365
+ 'Ealing Central and Acton' => { 'Conservative' => 17_944, 'Labour' => 14_228, 'Liberal Democrat' => 13_041, 'UK Independence Party' => 765, 'Other' => 1222 },
366
+ 'Ealing North' => { 'Conservative' => 14_722, 'Labour' => 24_023, 'Liberal Democrat' => 6283, 'UK Independence Party' => 685, 'Other' => 1965 },
367
+ 'Ealing Southall' => { 'Conservative' => 12_733, 'Labour' => 22_024, 'Liberal Democrat' => 6383, 'Other' => 1616 },
368
+ 'Easington' => { 'Conservative' => 4790, 'Labour' => 20_579, 'Liberal Democrat' => 5597, 'UK Independence Party' => 1631, 'Other' => 2317 },
369
+ 'East Ham' => { 'Conservative' => 7645, 'Labour' => 35_471, 'Liberal Democrat' => 5849, 'Other' => 1408 },
370
+ 'Eastbourne' => { 'Conservative' => 21_223, 'Labour' => 2497, 'Liberal Democrat' => 24_658, 'UK Independence Party' => 1305, 'Other' => 2441 },
371
+ 'Eastleigh' => { 'Conservative' => 21_102, 'Labour' => 5153, 'Liberal Democrat' => 24_966, 'UK Independence Party' => 1933, 'Other' => 496 },
372
+ 'Eddisbury' => { 'Conservative' => 23_472, 'Labour' => 9794, 'Liberal Democrat' => 10_217, 'UK Independence Party' => 1931 },
373
+ 'Edmonton' => { 'Conservative' => 12_052, 'Labour' => 21_665, 'Liberal Democrat' => 4252, 'UK Independence Party' => 1036, 'Other' => 1372 },
374
+ 'Ellesmere Port and Neston' => { 'Conservative' => 15_419, 'Labour' => 19_750, 'Liberal Democrat' => 6663, 'UK Independence Party' => 1619, 'Other' => 782 },
375
+ 'Elmet and Rothwell' => { 'Conservative' => 23_778, 'Labour' => 19_257, 'Liberal Democrat' => 9109, 'UK Independence Party' => 1593, 'Other' => 2052 },
376
+ 'Eltham' => { 'Conservative' => 15_753, 'Labour' => 17_416, 'Liberal Democrat' => 5299, 'UK Independence Party' => 1011, 'Other' => 2485 },
377
+ 'Enfield North' => { 'Conservative' => 18_804, 'Labour' => 17_112, 'Liberal Democrat' => 5403, 'UK Independence Party' => 938, 'Other' => 2196 },
378
+ 'Enfield Southgate' => { 'Conservative' => 21_928, 'Labour' => 14_302, 'Liberal Democrat' => 6124, 'UK Independence Party' => 505, 'Other' => 1493 },
379
+ 'Epping Forest' => { 'Conservative' => 25_148, 'Labour' => 6641, 'Liberal Democrat' => 10_017, 'UK Independence Party' => 1852, 'Other' => 2926 },
380
+ 'Epsom and Ewell' => { 'Conservative' => 30_868, 'Labour' => 6538, 'Liberal Democrat' => 14_734, 'UK Independence Party' => 2549, 'Other' => 266 },
381
+ 'Erewash' => { 'Conservative' => 18_805, 'Labour' => 16_304, 'Liberal Democrat' => 8343, 'UK Independence Party' => 855, 'Other' => 3335 },
382
+ 'Erith and Thamesmead' => { 'Conservative' => 13_365, 'Labour' => 19_068, 'Liberal Democrat' => 5116, 'UK Independence Party' => 1139, 'Other' => 3788 },
383
+ 'Esher and Walton' => { 'Conservative' => 32_134, 'Labour' => 5829, 'Liberal Democrat' => 13_541, 'UK Independence Party' => 1783, 'Other' => 1256 },
384
+ 'Exeter' => { 'Conservative' => 17_221, 'Labour' => 19_942, 'Liberal Democrat' => 10_581, 'UK Independence Party' => 1930, 'Other' => 2573 },
385
+ 'Fareham' => { 'Conservative' => 30_037, 'Labour' => 7719, 'Liberal Democrat' => 12_945, 'UK Independence Party' => 2235, 'Other' => 1409 },
386
+ 'Faversham and Kent Mid' => { 'Conservative' => 26_250, 'Labour' => 7748, 'Liberal Democrat' => 9162, 'UK Independence Party' => 1722, 'Other' => 1830 },
387
+ 'Feltham and Heston' => { 'Conservative' => 16_516, 'Labour' => 21_174, 'Liberal Democrat' => 6679, 'UK Independence Party' => 992, 'Other' => 3175 },
388
+ 'Filton and Bradley Stoke' => { 'Conservative' => 19_686, 'Labour' => 12_772, 'Liberal Democrat' => 12_197, 'UK Independence Party' => 1506, 'Other' => 2140 },
389
+ 'Finchley and Golders Green' => { 'Conservative' => 21_688, 'Labour' => 15_879, 'Liberal Democrat' => 8036, 'UK Independence Party' => 817, 'Other' => 737 },
390
+ 'Folkestone and Hythe' => { 'Conservative' => 26_109, 'Labour' => 5719, 'Liberal Democrat' => 15_987, 'UK Independence Party' => 2439, 'Other' => 2546 },
391
+ 'Forest of Dean' => { 'Conservative' => 22_853, 'Labour' => 11_789, 'Liberal Democrat' => 10_676, 'UK Independence Party' => 2522, 'Other' => 923 },
392
+ 'Fylde' => { 'Conservative' => 22_826, 'Labour' => 8624, 'Liberal Democrat' => 9641, 'UK Independence Party' => 1945, 'Other' => 654 },
393
+ 'Gainsborough' => { 'Conservative' => 24_266, 'Labour' => 7701, 'Liberal Democrat' => 13_707, 'UK Independence Party' => 2065, 'Other' => 1512 },
394
+ 'Garston and Halewood' => { 'Conservative' => 6908, 'Labour' => 25_493, 'Liberal Democrat' => 8616, 'UK Independence Party' => 1540, 'Other' => 268 },
395
+ 'Gateshead' => { 'Conservative' => 5716, 'Labour' => 20_712, 'Liberal Democrat' => 8163, 'UK Independence Party' => 1103, 'Other' => 2563 },
396
+ 'Gedling' => { 'Conservative' => 17_962, 'Labour' => 19_821, 'Liberal Democrat' => 7350, 'UK Independence Party' => 1459, 'Other' => 1598 },
397
+ 'Gillingham and Rainham' => { 'Conservative' => 21_624, 'Labour' => 12_944, 'Liberal Democrat' => 8484, 'UK Independence Party' => 1515, 'Other' => 2219 },
398
+ 'Gloucester' => { 'Conservative' => 20_267, 'Labour' => 17_847, 'Liberal Democrat' => 9767, 'UK Independence Party' => 1808, 'Other' => 1075 },
399
+ 'Gosport' => { 'Conservative' => 24_300, 'Labour' => 7944, 'Liberal Democrat' => 9887, 'UK Independence Party' => 1496, 'Other' => 3312 },
400
+ 'Grantham and Stamford' => { 'Conservative' => 26_552, 'Labour' => 9503, 'Liberal Democrat' => 11_726, 'UK Independence Party' => 1604, 'Other' => 3414 },
401
+ 'Gravesham' => { 'Conservative' => 22_956, 'Labour' => 13_644, 'Liberal Democrat' => 6293, 'UK Independence Party' => 2265, 'Other' => 2145 },
402
+ 'Great Grimsby' => { 'Conservative' => 10_063, 'Labour' => 10_777, 'Liberal Democrat' => 7388, 'UK Independence Party' => 2043, 'Other' => 2683 },
403
+ 'Great Yarmouth' => { 'Conservative' => 18_571, 'Labour' => 14_295, 'Liberal Democrat' => 6188, 'UK Independence Party' => 2066, 'Other' => 1937 },
404
+ 'Greenwich and Woolwich' => { 'Conservative' => 10_109, 'Labour' => 20_262, 'Liberal Democrat' => 7498, 'Other' => 3319 },
405
+ 'Guildford' => { 'Conservative' => 29_618, 'Labour' => 2812, 'Liberal Democrat' => 21_836, 'UK Independence Party' => 1021, 'Other' => 280 },
406
+ 'Hackney North and Stoke Newington' => { 'Conservative' => 6759, 'Labour' => 25_553, 'Liberal Democrat' => 11_092, 'Other' => 3084 },
407
+ 'Hackney South and Shoreditch' => { 'Conservative' => 5800, 'Labour' => 23_888, 'Liberal Democrat' => 9600, 'UK Independence Party' => 651, 'Other' => 2919 },
408
+ 'Halesowen and Rowley Regis' => { 'Conservative' => 18_115, 'Labour' => 16_092, 'Liberal Democrat' => 6515, 'UK Independence Party' => 2824, 'Other' => 433 },
409
+ 'Halifax' => { 'Conservative' => 14_806, 'Labour' => 16_278, 'Liberal Democrat' => 8335, 'UK Independence Party' => 654, 'Other' => 3482 },
410
+ 'Haltemprice and Howden' => { 'Conservative' => 24_486, 'Labour' => 7630, 'Liberal Democrat' => 12_884, 'Other' => 3737 },
411
+ 'Halton' => { 'Conservative' => 8339, 'Labour' => 23_843, 'Liberal Democrat' => 5718, 'UK Independence Party' => 1228, 'Other' => 2210 },
412
+ 'Hammersmith' => { 'Conservative' => 17_261, 'Labour' => 20_810, 'Liberal Democrat' => 7567, 'UK Independence Party' => 551, 'Other' => 1263 },
413
+ 'Hampshire East' => { 'Conservative' => 29_137, 'Labour' => 4043, 'Liberal Democrat' => 15_640, 'UK Independence Party' => 1477, 'Other' => 1020 },
414
+ 'Hampshire North East' => { 'Conservative' => 32_075, 'Labour' => 5173, 'Liberal Democrat' => 13_478, 'UK Independence Party' => 2213 },
415
+ 'Hampshire North West' => { 'Conservative' => 31_072, 'Labour' => 6980, 'Liberal Democrat' => 12_489, 'UK Independence Party' => 2751 },
416
+ 'Hampstead and Kilburn' => { 'Conservative' => 17_290, 'Labour' => 17_332, 'Liberal Democrat' => 16_491, 'UK Independence Party' => 408, 'Other' => 1301 },
417
+ 'Harborough' => { 'Conservative' => 26_894, 'Labour' => 6981, 'Liberal Democrat' => 17_097, 'UK Independence Party' => 1462, 'Other' => 2511 },
418
+ 'Harlow' => { 'Conservative' => 19_691, 'Labour' => 14_766, 'Liberal Democrat' => 5990, 'UK Independence Party' => 1591, 'Other' => 1840 },
419
+ 'Harrogate and Knaresborough' => { 'Conservative' => 24_305, 'Labour' => 3413, 'Liberal Democrat' => 23_266, 'UK Independence Party' => 1056, 'Other' => 1094 },
420
+ 'Harrow East' => { 'Conservative' => 21_435, 'Labour' => 18_032, 'Liberal Democrat' => 6850, 'UK Independence Party' => 896, 'Other' => 793 },
421
+ 'Harrow West' => { 'Conservative' => 16_968, 'Labour' => 20_111, 'Liberal Democrat' => 7458, 'UK Independence Party' => 954, 'Other' => 625 },
422
+ 'Hartlepool' => { 'Conservative' => 10_758, 'Labour' => 16_267, 'Liberal Democrat' => 6533, 'UK Independence Party' => 2682, 'Other' => 2002 },
423
+ 'Harwich and North Essex' => { 'Conservative' => 23_001, 'Labour' => 9774, 'Liberal Democrat' => 11_554, 'UK Independence Party' => 2527, 'Other' => 2144 },
424
+ 'Hastings and Rye' => { 'Conservative' => 20_468, 'Labour' => 18_475, 'Liberal Democrat' => 7825, 'UK Independence Party' => 1397, 'Other' => 1649 },
425
+ 'Havant' => { 'Conservative' => 22_433, 'Labour' => 7777, 'Liberal Democrat' => 10_273, 'UK Independence Party' => 2611, 'Other' => 809 },
426
+ 'Hayes and Harlington' => { 'Conservative' => 12_553, 'Labour' => 23_377, 'Liberal Democrat' => 3726, 'Other' => 2981 },
427
+ 'Hazel Grove' => { 'Conservative' => 14_114, 'Labour' => 5234, 'Liberal Democrat' => 20_485, 'UK Independence Party' => 2148 },
428
+ 'Hemel Hempstead' => { 'Conservative' => 24_721, 'Labour' => 10_295, 'Liberal Democrat' => 11_315, 'UK Independence Party' => 1254, 'Other' => 1886 },
429
+ 'Hemsworth' => { 'Conservative' => 10_662, 'Labour' => 20_506, 'Liberal Democrat' => 5667, 'Other' => 7005 },
430
+ 'Hendon' => { 'Conservative' => 19_635, 'Labour' => 19_529, 'Liberal Democrat' => 5734, 'UK Independence Party' => 958, 'Other' => 518 },
431
+ 'Henley' => { 'Conservative' => 30_054, 'Labour' => 5835, 'Liberal Democrat' => 13_466, 'UK Independence Party' => 1817, 'Other' => 2348 },
432
+ 'Hereford and South Herefordshire' => { 'Conservative' => 22_366, 'Labour' => 3506, 'Liberal Democrat' => 19_885, 'UK Independence Party' => 1638, 'Other' => 986 },
433
+ 'Herefordshire North' => { 'Conservative' => 24_631, 'Labour' => 3373, 'Liberal Democrat' => 14_744, 'UK Independence Party' => 2701, 'Other' => 2119 },
434
+ 'Hertford and Stortford' => { 'Conservative' => 29_810, 'Labour' => 7620, 'Liberal Democrat' => 14_373, 'UK Independence Party' => 1716, 'Other' => 1858 },
435
+ 'Hertfordshire North East' => { 'Conservative' => 26_995, 'Labour' => 8291, 'Liberal Democrat' => 11_801, 'UK Independence Party' => 2075, 'Other' => 1263 },
436
+ 'Hertfordshire South West' => { 'Conservative' => 30_773, 'Labour' => 6526, 'Liberal Democrat' => 15_853, 'UK Independence Party' => 1450, 'Other' => 2148 },
437
+ 'Hertsmere' => { 'Conservative' => 26_476, 'Labour' => 8871, 'Liberal Democrat' => 8210, 'UK Independence Party' => 1712, 'Other' => 2001 },
438
+ 'Hexham' => { 'Conservative' => 18_795, 'Labour' => 8253, 'Liberal Democrat' => 13_007, 'Other' => 3428 },
439
+ 'Heywood and Middleton' => { 'Conservative' => 12_528, 'Labour' => 18_499, 'Liberal Democrat' => 10_474, 'UK Independence Party' => 1215, 'Other' => 3409 },
440
+ 'High Peak' => { 'Conservative' => 20_587, 'Labour' => 15_910, 'Liberal Democrat' => 10_993, 'UK Independence Party' => 1690, 'Other' => 1157 },
441
+ 'Hitchin and Harpenden' => { 'Conservative' => 29_869, 'Labour' => 7413, 'Liberal Democrat' => 14_598, 'UK Independence Party' => 1663, 'Other' => 1164 },
442
+ 'Holborn and St Pancras' => { 'Conservative' => 11_134, 'Labour' => 25_198, 'Liberal Democrat' => 15_256, 'UK Independence Party' => 587, 'Other' => 2474 },
443
+ 'Hornchurch and Upminster' => { 'Conservative' => 27_469, 'Labour' => 11_098, 'Liberal Democrat' => 7426, 'UK Independence Party' => 2848, 'Other' => 4549 },
444
+ 'Hornsey and Wood Green' => { 'Conservative' => 9174, 'Labour' => 18_720, 'Liberal Democrat' => 25_595, 'Other' => 1553 },
445
+ 'Horsham' => { 'Conservative' => 29_447, 'Labour' => 4189, 'Liberal Democrat' => 17_987, 'UK Independence Party' => 2839, 'Other' => 1379 },
446
+ 'Houghton and Sunderland South' => { 'Conservative' => 8147, 'Labour' => 19_137, 'Liberal Democrat' => 5292, 'UK Independence Party' => 1022, 'Other' => 4423 },
447
+ 'Hove' => { 'Conservative' => 18_294, 'Labour' => 16_426, 'Liberal Democrat' => 11_240, 'UK Independence Party' => 1206, 'Other' => 2653 },
448
+ 'Huddersfield' => { 'Conservative' => 11_253, 'Labour' => 15_725, 'Liberal Democrat' => 10_023, 'Other' => 3523 },
449
+ 'Hull East' => { 'Conservative' => 5667, 'Labour' => 16_387, 'Liberal Democrat' => 7790, 'UK Independence Party' => 2745, 'Other' => 1595 },
450
+ 'Hull North' => { 'Conservative' => 4365, 'Labour' => 13_044, 'Liberal Democrat' => 12_403, 'UK Independence Party' => 1358, 'Other' => 2121 },
451
+ 'Hull West and Hessle' => { 'Conservative' => 6361, 'Labour' => 13_378, 'Liberal Democrat' => 7636, 'UK Independence Party' => 1688, 'Other' => 2442 },
452
+ 'Huntingdon' => { 'Conservative' => 26_516, 'Labour' => 5982, 'Liberal Democrat' => 15_697, 'UK Independence Party' => 3258, 'Other' => 2813 },
453
+ 'Hyndburn' => { 'Conservative' => 14_441, 'Labour' => 17_531, 'Liberal Democrat' => 5033, 'UK Independence Party' => 1481, 'Other' => 4186 },
454
+ 'Ilford North' => { 'Conservative' => 21_506, 'Labour' => 16_102, 'Liberal Democrat' => 5966, 'UK Independence Party' => 871, 'Other' => 2573 },
455
+ 'Ilford South' => { 'Conservative' => 14_014, 'Labour' => 25_301, 'Liberal Democrat' => 8679, 'UK Independence Party' => 1132, 'Other' => 2065 },
456
+ 'Ipswich' => { 'Conservative' => 18_371, 'Labour' => 16_292, 'Liberal Democrat' => 8556, 'UK Independence Party' => 1365, 'Other' => 2357 },
457
+ 'Isle of Wight' => { 'Conservative' => 32_810, 'Labour' => 8169, 'Liberal Democrat' => 22_283, 'UK Independence Party' => 2435, 'Other' => 4567 },
458
+ 'Islington North' => { 'Conservative' => 6339, 'Labour' => 24_276, 'Liberal Democrat' => 11_875, 'UK Independence Party' => 716, 'Other' => 1348 },
459
+ 'Islington South and Finsbury' => { 'Conservative' => 8449, 'Labour' => 18_407, 'Liberal Democrat' => 14_838, 'UK Independence Party' => 701, 'Other' => 1160 },
460
+ 'Jarrow' => { 'Conservative' => 8002, 'Labour' => 20_910, 'Liberal Democrat' => 7163, 'Other' => 2709 },
461
+ 'Keighley' => { 'Conservative' => 20_003, 'Labour' => 17_063, 'Liberal Democrat' => 7059, 'UK Independence Party' => 1470, 'Other' => 2097 },
462
+ 'Kenilworth and Southam' => { 'Conservative' => 25_945, 'Labour' => 6949, 'Liberal Democrat' => 13_393, 'UK Independence Party' => 1214, 'Other' => 930 },
463
+ 'Kensington' => { 'Conservative' => 17_595, 'Labour' => 8979, 'Liberal Democrat' => 6872, 'UK Independence Party' => 754, 'Other' => 950 },
464
+ 'Kettering' => { 'Conservative' => 23_247, 'Labour' => 14_153, 'Liberal Democrat' => 7498, 'Other' => 2430 },
465
+ 'Kingston and Surbiton' => { 'Conservative' => 20_868, 'Labour' => 5337, 'Liberal Democrat' => 28_428, 'UK Independence Party' => 1450, 'Other' => 1028 },
466
+ 'Kingswood' => { 'Conservative' => 19_362, 'Labour' => 16_917, 'Liberal Democrat' => 8072, 'UK Independence Party' => 1528, 'Other' => 2027 },
467
+ 'Knowsley' => { 'Conservative' => 4004, 'Labour' => 31_650, 'Liberal Democrat' => 5964, 'UK Independence Party' => 1145, 'Other' => 1895 },
468
+ 'Lancashire West' => { 'Conservative' => 17_540, 'Labour' => 21_883, 'Liberal Democrat' => 6573, 'UK Independence Party' => 1775, 'Other' => 702 },
469
+ 'Lancaster and Fleetwood' => { 'Conservative' => 15_404, 'Labour' => 15_071, 'Liberal Democrat' => 8167, 'UK Independence Party' => 1020, 'Other' => 3039 },
470
+ 'Leeds Central' => { 'Conservative' => 7541, 'Labour' => 18_434, 'Liberal Democrat' => 7789, 'Other' => 3630 },
471
+ 'Leeds East' => { 'Conservative' => 8763, 'Labour' => 19_056, 'Liberal Democrat' => 6618, 'Other' => 3376 },
472
+ 'Leeds North East' => { 'Conservative' => 15_742, 'Labour' => 20_287, 'Liberal Democrat' => 9310, 'UK Independence Party' => 842, 'Other' => 1354 },
473
+ 'Leeds North West' => { 'Conservative' => 11_550, 'Labour' => 9132, 'Liberal Democrat' => 20_653, 'UK Independence Party' => 600, 'Other' => 1548 },
474
+ 'Leeds West' => { 'Conservative' => 7641, 'Labour' => 16_389, 'Liberal Democrat' => 9373, 'UK Independence Party' => 1140, 'Other' => 4209 },
475
+ 'Leicester East' => { 'Conservative' => 11_722, 'Labour' => 25_804, 'Liberal Democrat' => 6817, 'UK Independence Party' => 725, 'Other' => 2927 },
476
+ 'Leicester South' => { 'Conservative' => 10_066, 'Labour' => 21_479, 'Liberal Democrat' => 12_671, 'UK Independence Party' => 720, 'Other' => 2188 },
477
+ 'Leicester West' => { 'Conservative' => 9728, 'Labour' => 13_745, 'Liberal Democrat' => 8107, 'UK Independence Party' => 883, 'Other' => 3356 },
478
+ 'Leicestershire North West' => { 'Conservative' => 23_147, 'Labour' => 15_636, 'Liberal Democrat' => 8639, 'UK Independence Party' => 1134, 'Other' => 3396 },
479
+ 'Leicestershire South' => { 'Conservative' => 27_000, 'Labour' => 11_392, 'Liberal Democrat' => 11_476, 'UK Independence Party' => 1988, 'Other' => 2721 },
480
+ 'Leigh' => { 'Conservative' => 9284, 'Labour' => 21_295, 'Liberal Democrat' => 8049, 'UK Independence Party' => 1535, 'Other' => 4169 },
481
+ 'Lewes' => { 'Conservative' => 18_401, 'Labour' => 2508, 'Liberal Democrat' => 26_048, 'UK Independence Party' => 1728, 'Other' => 1403 },
482
+ 'Lewisham Deptford' => { 'Conservative' => 5551, 'Labour' => 22_132, 'Liberal Democrat' => 9633, 'Other' => 3904 },
483
+ 'Lewisham East' => { 'Conservative' => 9850, 'Labour' => 17_966, 'Liberal Democrat' => 11_750, 'UK Independence Party' => 771, 'Other' => 1382 },
484
+ 'Lewisham West and Penge' => { 'Conservative' => 11_489, 'Labour' => 18_501, 'Liberal Democrat' => 12_673, 'UK Independence Party' => 1117, 'Other' => 1248 },
485
+ 'Leyton and Wanstead' => { 'Conservative' => 8928, 'Labour' => 17_511, 'Liberal Democrat' => 11_095, 'UK Independence Party' => 1080, 'Other' => 1545 },
486
+ 'Lichfield' => { 'Conservative' => 28_048, 'Labour' => 10_230, 'Liberal Democrat' => 10_365, 'UK Independence Party' => 2920 },
487
+ 'Lincoln' => { 'Conservative' => 17_163, 'Labour' => 16_105, 'Liberal Democrat' => 9256, 'UK Independence Party' => 1004, 'Other' => 2193 },
488
+ 'Liverpool Riverside' => { 'Conservative' => 4243, 'Labour' => 22_998, 'Liberal Democrat' => 8825, 'UK Independence Party' => 674, 'Other' => 2061 },
489
+ 'Liverpool Walton' => { 'Conservative' => 2241, 'Labour' => 24_709, 'Liberal Democrat' => 4891, 'UK Independence Party' => 898, 'Other' => 1596 },
490
+ 'Liverpool Wavertree' => { 'Conservative' => 2830, 'Labour' => 20_132, 'Liberal Democrat' => 12_965, 'UK Independence Party' => 890, 'Other' => 1097 },
491
+ 'Liverpool West Derby' => { 'Conservative' => 3311, 'Labour' => 22_953, 'Liberal Democrat' => 4486, 'UK Independence Party' => 1093, 'Other' => 3941 },
492
+ 'Loughborough' => { 'Conservative' => 21_971, 'Labour' => 18_227, 'Liberal Democrat' => 9675, 'UK Independence Party' => 925, 'Other' => 2040 },
493
+ 'Louth and Horncastle' => { 'Conservative' => 25_065, 'Labour' => 8760, 'Liberal Democrat' => 11_194, 'UK Independence Party' => 2183, 'Other' => 3292 },
494
+ 'Ludlow' => { 'Conservative' => 25_720, 'Labour' => 3272, 'Liberal Democrat' => 15_971, 'UK Independence Party' => 2127, 'Other' => 1642 },
495
+ 'Luton North' => { 'Conservative' => 13_672, 'Labour' => 21_192, 'Liberal Democrat' => 4784, 'UK Independence Party' => 1564, 'Other' => 1806 },
496
+ 'Luton South' => { 'Conservative' => 12_396, 'Labour' => 14_725, 'Liberal Democrat' => 9567, 'UK Independence Party' => 975, 'Other' => 4553 },
497
+ 'Macclesfield' => { 'Conservative' => 23_503, 'Labour' => 10_164, 'Liberal Democrat' => 11_544, 'UK Independence Party' => 1418, 'Other' => 3430 },
498
+ 'Maidenhead' => { 'Conservative' => 31_937, 'Labour' => 3795, 'Liberal Democrat' => 15_168, 'UK Independence Party' => 1243, 'Other' => 1577 },
499
+ 'Maidstone and The Weald' => { 'Conservative' => 23_491, 'Labour' => 4769, 'Liberal Democrat' => 17_602, 'UK Independence Party' => 1637, 'Other' => 1429 },
500
+ 'Makerfield' => { 'Conservative' => 8210, 'Labour' => 20_700, 'Liberal Democrat' => 7082, 'Other' => 7779 },
501
+ 'Maldon' => { 'Conservative' => 28_661, 'Labour' => 6070, 'Liberal Democrat' => 9254, 'UK Independence Party' => 2446, 'Other' => 1464 },
502
+ 'Manchester Central' => { 'Conservative' => 4704, 'Labour' => 21_059, 'Liberal Democrat' => 10_620, 'UK Independence Party' => 607, 'Other' => 2937 },
503
+ 'Manchester Gorton' => { 'Conservative' => 4224, 'Labour' => 19_211, 'Liberal Democrat' => 12_508, 'Other' => 2382 },
504
+ 'Manchester Withington' => { 'Conservative' => 5005, 'Labour' => 18_216, 'Liberal Democrat' => 20_110, 'UK Independence Party' => 698, 'Other' => 1002 },
505
+ 'Mansfield' => { 'Conservative' => 12_741, 'Labour' => 18_753, 'Liberal Democrat' => 7469, 'UK Independence Party' => 2985, 'Other' => 6447 },
506
+ 'Meon Valley' => { 'Conservative' => 28_818, 'Labour' => 3266, 'Liberal Democrat' => 16_693, 'UK Independence Party' => 1490, 'Other' => 971 },
507
+ 'Meriden' => { 'Conservative' => 26_956, 'Labour' => 10_703, 'Liberal Democrat' => 9278, 'UK Independence Party' => 1378, 'Other' => 3847 },
508
+ 'Middlesbrough' => { 'Conservative' => 6283, 'Labour' => 15_351, 'Liberal Democrat' => 6662, 'UK Independence Party' => 1236, 'Other' => 3923 },
509
+ 'Middlesbrough South and Cleveland East' => { 'Conservative' => 16_461, 'Labour' => 18_138, 'Liberal Democrat' => 7340, 'UK Independence Party' => 1881, 'Other' => 2394 },
510
+ 'Milton Keynes North' => { 'Conservative' => 23_419, 'Labour' => 14_458, 'Liberal Democrat' => 11_894, 'UK Independence Party' => 1772, 'Other' => 2345 },
511
+ 'Milton Keynes South' => { 'Conservative' => 23_034, 'Labour' => 17_833, 'Liberal Democrat' => 9787, 'UK Independence Party' => 2074, 'Other' => 2605 },
512
+ 'Mitcham and Morden' => { 'Conservative' => 11_056, 'Labour' => 24_722, 'Liberal Democrat' => 5202, 'UK Independence Party' => 857, 'Other' => 1960 },
513
+ 'Mole Valley' => { 'Conservative' => 31_263, 'Labour' => 3804, 'Liberal Democrat' => 15_610, 'UK Independence Party' => 2752, 'Other' => 895 },
514
+ 'Morecambe and Lunesdale' => { 'Conservative' => 18_035, 'Labour' => 17_169, 'Liberal Democrat' => 5791, 'UK Independence Party' => 1843, 'Other' => 598 },
515
+ 'Morley and Outwood' => { 'Conservative' => 17_264, 'Labour' => 18_365, 'Liberal Democrat' => 8186, 'UK Independence Party' => 1506, 'Other' => 3535 },
516
+ 'New Forest East' => { 'Conservative' => 26_443, 'Labour' => 4915, 'Liberal Democrat' => 15_136, 'UK Independence Party' => 2518, 'Other' => 1024 },
517
+ 'New Forest West' => { 'Conservative' => 27_980, 'Labour' => 4666, 'Liberal Democrat' => 11_084, 'UK Independence Party' => 2783, 'Other' => 1059 },
518
+ 'Newark' => { 'Conservative' => 27_590, 'Labour' => 11_438, 'Liberal Democrat' => 10_246, 'UK Independence Party' => 1954 },
519
+ 'Newbury' => { 'Conservative' => 33_057, 'Labour' => 2505, 'Liberal Democrat' => 20_809, 'UK Independence Party' => 1475, 'Other' => 743 },
520
+ 'Newcastle upon Tyne Central' => { 'Conservative' => 6611, 'Labour' => 15_694, 'Liberal Democrat' => 8228, 'UK Independence Party' => 754, 'Other' => 2870 },
521
+ 'Newcastle upon Tyne East' => { 'Conservative' => 6068, 'Labour' => 17_043, 'Liberal Democrat' => 12_590, 'Other' => 2139 },
522
+ 'Newcastle upon Tyne North' => { 'Conservative' => 7966, 'Labour' => 17_950, 'Liberal Democrat' => 14_536, 'UK Independence Party' => 1285, 'Other' => 2209 },
523
+ 'Newcastle-under-Lyme' => { 'Conservative' => 14_841, 'Labour' => 16_393, 'Liberal Democrat' => 8466, 'UK Independence Party' => 3491 },
524
+ 'Newton Abbot' => { 'Conservative' => 20_774, 'Labour' => 3387, 'Liberal Democrat' => 20_251, 'UK Independence Party' => 3088, 'Other' => 783 },
525
+ 'Norfolk Mid' => { 'Conservative' => 25_123, 'Labour' => 8857, 'Liberal Democrat' => 11_267, 'UK Independence Party' => 2800, 'Other' => 2718 },
526
+ 'Norfolk North' => { 'Conservative' => 15_928, 'Labour' => 2896, 'Liberal Democrat' => 27_554, 'UK Independence Party' => 2680, 'Other' => 603 },
527
+ 'Norfolk North West' => { 'Conservative' => 25_916, 'Labour' => 6353, 'Liberal Democrat' => 11_106, 'UK Independence Party' => 1841, 'Other' => 2584 },
528
+ 'Norfolk South' => { 'Conservative' => 27_133, 'Labour' => 7252, 'Liberal Democrat' => 16_193, 'UK Independence Party' => 2329, 'Other' => 2086 },
529
+ 'Norfolk South West' => { 'Conservative' => 23_753, 'Labour' => 9119, 'Liberal Democrat' => 10_613, 'UK Independence Party' => 3061, 'Other' => 2604 },
530
+ 'Normanton, Pontefract and Castleford' => { 'Conservative' => 11_314, 'Labour' => 22_293, 'Liberal Democrat' => 7585, 'Other' => 5047 },
531
+ 'Northampton North' => { 'Conservative' => 13_735, 'Labour' => 11_799, 'Liberal Democrat' => 11_250, 'UK Independence Party' => 1238, 'Other' => 2249 },
532
+ 'Northampton South' => { 'Conservative' => 15_917, 'Labour' => 9913, 'Liberal Democrat' => 7579, 'UK Independence Party' => 1897, 'Other' => 3672 },
533
+ 'Northamptonshire South' => { 'Conservative' => 33_081, 'Labour' => 10_380, 'Liberal Democrat' => 12_603, 'UK Independence Party' => 2406, 'Other' => 1420 },
534
+ 'Norwich North' => { 'Conservative' => 17_280, 'Labour' => 13_379, 'Liberal Democrat' => 7783, 'UK Independence Party' => 1878, 'Other' => 2253 },
535
+ 'Norwich South' => { 'Conservative' => 10_902, 'Labour' => 13_650, 'Liberal Democrat' => 13_960, 'UK Independence Party' => 1145, 'Other' => 7894 },
536
+ 'Nottingham East' => { 'Conservative' => 7846, 'Labour' => 15_022, 'Liberal Democrat' => 8053, 'UK Independence Party' => 1138, 'Other' => 1053 },
537
+ 'Nottingham North' => { 'Conservative' => 8508, 'Labour' => 16_646, 'Liberal Democrat' => 5849, 'UK Independence Party' => 1338, 'Other' => 1944 },
538
+ 'Nottingham South' => { 'Conservative' => 13_437, 'Labour' => 15_209, 'Liberal Democrat' => 9406, 'UK Independence Party' => 967, 'Other' => 1770 },
539
+ 'Nuneaton' => { 'Conservative' => 18_536, 'Labour' => 16_467, 'Liberal Democrat' => 6846, 'Other' => 2797 },
540
+ 'Old Bexley and Sidcup' => { 'Conservative' => 24_625, 'Labour' => 8768, 'Liberal Democrat' => 6996, 'UK Independence Party' => 1532, 'Other' => 3571 },
541
+ 'Oldham East and Saddleworth' => { 'Conservative' => 11_773, 'Labour' => 14_186, 'Liberal Democrat' => 14_083, 'UK Independence Party' => 1720, 'Other' => 2758 },
542
+ 'Oldham West and Royton' => { 'Conservative' => 10_151, 'Labour' => 19_503, 'Liberal Democrat' => 8193, 'UK Independence Party' => 1387, 'Other' => 3676 },
543
+ 'Orpington' => { 'Conservative' => 29_200, 'Labour' => 4400, 'Liberal Democrat' => 12_000, 'UK Independence Party' => 1360, 'Other' => 1951 },
544
+ 'Oxford East' => { 'Conservative' => 9727, 'Labour' => 21_938, 'Liberal Democrat' => 17_357, 'UK Independence Party' => 1202, 'Other' => 1427 },
545
+ 'Oxford West and Abingdon' => { 'Conservative' => 23_906, 'Labour' => 5999, 'Liberal Democrat' => 23_730, 'UK Independence Party' => 1518, 'Other' => 1327 },
546
+ 'Pendle' => { 'Conservative' => 17_512, 'Labour' => 13_927, 'Liberal Democrat' => 9095, 'UK Independence Party' => 1476, 'Other' => 3035 },
547
+ 'Penistone and Stocksbridge' => { 'Conservative' => 14_516, 'Labour' => 17_565, 'Liberal Democrat' => 9800, 'UK Independence Party' => 1936, 'Other' => 2699 },
548
+ 'Penrith and The Border' => { 'Conservative' => 24_071, 'Labour' => 5834, 'Liberal Democrat' => 12_830, 'UK Independence Party' => 1259, 'Other' => 1093 },
549
+ 'Peterborough' => { 'Conservative' => 18_133, 'Labour' => 13_272, 'Liberal Democrat' => 8816, 'UK Independence Party' => 3007, 'Other' => 1699 },
550
+ 'Plymouth Moor View' => { 'Conservative' => 13_845, 'Labour' => 15_433, 'Liberal Democrat' => 7016, 'UK Independence Party' => 3188, 'Other' => 2044 },
551
+ 'Plymouth Sutton and Devonport' => { 'Conservative' => 15_050, 'Labour' => 13_901, 'Liberal Democrat' => 10_829, 'UK Independence Party' => 2854, 'Other' => 1260 },
552
+ 'Poole' => { 'Conservative' => 22_532, 'Labour' => 6041, 'Liberal Democrat' => 14_991, 'UK Independence Party' => 2507, 'Other' => 1365 },
553
+ 'Poplar and Limehouse' => { 'Conservative' => 12_649, 'Labour' => 18_679, 'Liberal Democrat' => 5209, 'UK Independence Party' => 565, 'Other' => 9598 },
554
+ 'Portsmouth North' => { 'Conservative' => 19_533, 'Labour' => 12_244, 'Liberal Democrat' => 8874, 'UK Independence Party' => 1812, 'Other' => 1655 },
555
+ 'Portsmouth South' => { 'Conservative' => 13_721, 'Labour' => 5640, 'Liberal Democrat' => 18_921, 'UK Independence Party' => 876, 'Other' => 2106 },
556
+ 'Preston' => { 'Conservative' => 7060, 'Labour' => 15_668, 'Liberal Democrat' => 7935, 'UK Independence Party' => 1462, 'Other' => 380 },
557
+ 'Pudsey' => { 'Conservative' => 18_874, 'Labour' => 17_215, 'Liberal Democrat' => 10_224, 'UK Independence Party' => 1221, 'Other' => 1549 },
558
+ 'Putney' => { 'Conservative' => 21_223, 'Labour' => 11_170, 'Liberal Democrat' => 6907, 'UK Independence Party' => 435, 'Other' => 1050 },
559
+ 'Rayleigh and Wickford' => { 'Conservative' => 30_257, 'Labour' => 7577, 'Liberal Democrat' => 7919, 'UK Independence Party' => 2211, 'Other' => 4379 },
560
+ 'Reading East' => { 'Conservative' => 21_269, 'Labour' => 12_729, 'Liberal Democrat' => 13_664, 'UK Independence Party' => 1086, 'Other' => 1237 },
561
+ 'Reading West' => { 'Conservative' => 20_523, 'Labour' => 14_519, 'Liberal Democrat' => 9546, 'UK Independence Party' => 1508, 'Other' => 1434 },
562
+ 'Redcar' => { 'Conservative' => 5790, 'Labour' => 13_741, 'Liberal Democrat' => 18_955, 'UK Independence Party' => 1875, 'Other' => 1602 },
563
+ 'Redditch' => { 'Conservative' => 19_138, 'Labour' => 13_317, 'Liberal Democrat' => 7750, 'UK Independence Party' => 1497, 'Other' => 2316 },
564
+ 'Reigate' => { 'Conservative' => 26_688, 'Labour' => 5672, 'Liberal Democrat' => 13_097, 'UK Independence Party' => 2089, 'Other' => 2432 },
565
+ 'Ribble South' => { 'Conservative' => 23_396, 'Labour' => 17_842, 'Liberal Democrat' => 7271, 'UK Independence Party' => 1895, 'Other' => 1054 },
566
+ 'Ribble Valley' => { 'Conservative' => 26_298, 'Labour' => 11_529, 'Liberal Democrat' => 10_732, 'UK Independence Party' => 3496, 'Other' => 232 },
567
+ 'Richmond' => { 'Conservative' => 33_541, 'Labour' => 8150, 'Liberal Democrat' => 10_205, 'Other' => 1516 },
568
+ 'Richmond Park' => { 'Conservative' => 29_461, 'Labour' => 2979, 'Liberal Democrat' => 25_370, 'UK Independence Party' => 669, 'Other' => 789 },
569
+ 'Rochdale' => { 'Conservative' => 8305, 'Labour' => 16_699, 'Liberal Democrat' => 15_810, 'UK Independence Party' => 1999, 'Other' => 3094 },
570
+ 'Rochester and Strood' => { 'Conservative' => 23_604, 'Labour' => 13_651, 'Liberal Democrat' => 7800, 'Other' => 2916 },
571
+ 'Rochford and Southend East' => { 'Conservative' => 19_509, 'Labour' => 8459, 'Liberal Democrat' => 8084, 'UK Independence Party' => 2405, 'Other' => 3174 },
572
+ 'Romford' => { 'Conservative' => 26_031, 'Labour' => 9077, 'Liberal Democrat' => 5572, 'UK Independence Party' => 2050, 'Other' => 3751 },
573
+ 'Romsey and Southampton North' => { 'Conservative' => 24_345, 'Labour' => 3116, 'Liberal Democrat' => 20_189, 'UK Independence Party' => 1289 },
574
+ 'Rossendale and Darwen' => { 'Conservative' => 19_691, 'Labour' => 15_198, 'Liberal Democrat' => 8541, 'UK Independence Party' => 1617, 'Other' => 2081 },
575
+ 'Rother Valley' => { 'Conservative' => 13_281, 'Labour' => 19_147, 'Liberal Democrat' => 8111, 'UK Independence Party' => 2613, 'Other' => 3606 },
576
+ 'Rotherham' => { 'Conservative' => 6279, 'Labour' => 16_741, 'Liberal Democrat' => 5994, 'UK Independence Party' => 2220, 'Other' => 6272 },
577
+ 'Rugby' => { 'Conservative' => 20_901, 'Labour' => 14_901, 'Liberal Democrat' => 9434, 'UK Independence Party' => 406, 'Other' => 1826 },
578
+ 'Ruislip, Northwood and Pinner' => { 'Conservative' => 28_866, 'Labour' => 9806, 'Liberal Democrat' => 8345, 'UK Independence Party' => 1351, 'Other' => 1837 },
579
+ 'Runnymede and Weybridge' => { 'Conservative' => 26_915, 'Labour' => 6446, 'Liberal Democrat' => 10_406, 'UK Independence Party' => 3146, 'Other' => 1237 },
580
+ 'Rushcliffe' => { 'Conservative' => 27_470, 'Labour' => 11_128, 'Liberal Democrat' => 11_659, 'UK Independence Party' => 2179, 'Other' => 1251 },
581
+ 'Rutland and Melton' => { 'Conservative' => 28_228, 'Labour' => 7893, 'Liberal Democrat' => 14_228, 'UK Independence Party' => 2526, 'Other' => 2345 },
582
+ 'Saffron Walden' => { 'Conservative' => 30_155, 'Labour' => 5288, 'Liberal Democrat' => 14_913, 'UK Independence Party' => 2228, 'Other' => 1785 },
583
+ 'Salford and Eccles' => { 'Conservative' => 8497, 'Labour' => 16_655, 'Liberal Democrat' => 10_930, 'UK Independence Party' => 1084, 'Other' => 4367 },
584
+ 'Salisbury' => { 'Conservative' => 23_859, 'Labour' => 3690, 'Liberal Democrat' => 17_893, 'UK Independence Party' => 1392, 'Other' => 1647 },
585
+ 'Scarborough and Whitby' => { 'Conservative' => 21_108, 'Labour' => 12_978, 'Liberal Democrat' => 11_093, 'UK Independence Party' => 1484, 'Other' => 2619 },
586
+ 'Scunthorpe' => { 'Conservative' => 12_091, 'Labour' => 14_640, 'Liberal Democrat' => 6774, 'UK Independence Party' => 1686, 'Other' => 1843 },
587
+ 'Sedgefield' => { 'Conservative' => 9445, 'Labour' => 18_141, 'Liberal Democrat' => 8033, 'UK Independence Party' => 1479, 'Other' => 3124 },
588
+ 'Sefton Central' => { 'Conservative' => 16_445, 'Labour' => 20_307, 'Liberal Democrat' => 9656, 'UK Independence Party' => 2055 },
589
+ 'Selby and Ainsty' => { 'Conservative' => 25_562, 'Labour' => 13_297, 'Liberal Democrat' => 9180, 'UK Independence Party' => 1635, 'Other' => 2054 },
590
+ 'Sevenoaks' => { 'Conservative' => 28_076, 'Labour' => 6541, 'Liberal Democrat' => 10_561, 'UK Independence Party' => 1782, 'Other' => 2448 },
591
+ 'Sheffield Brightside and Hillsborough' => { 'Conservative' => 4468, 'Labour' => 21_400, 'Liberal Democrat' => 7768, 'UK Independence Party' => 1596, 'Other' => 3682 },
592
+ 'Sheffield Central' => { 'Conservative' => 4206, 'Labour' => 17_138, 'Liberal Democrat' => 16_973, 'UK Independence Party' => 652, 'Other' => 2499 },
593
+ 'Sheffield Hallam' => { 'Conservative' => 12_040, 'Labour' => 8228, 'Liberal Democrat' => 27_324, 'UK Independence Party' => 1195, 'Other' => 2348 },
594
+ 'Sheffield Heeley' => { 'Conservative' => 7081, 'Labour' => 17_409, 'Liberal Democrat' => 11_602, 'UK Independence Party' => 1530, 'Other' => 3249 },
595
+ 'Sheffield South East' => { 'Conservative' => 7202, 'Labour' => 20_169, 'Liberal Democrat' => 9664, 'UK Independence Party' => 1889, 'Other' => 2484 },
596
+ 'Sherwood' => { 'Conservative' => 19_211, 'Labour' => 18_997, 'Liberal Democrat' => 7283, 'UK Independence Party' => 1490, 'Other' => 1973 },
597
+ 'Shipley' => { 'Conservative' => 24_002, 'Labour' => 14_058, 'Liberal Democrat' => 9890, 'Other' => 1477 },
598
+ 'Shrewsbury and Atcham' => { 'Conservative' => 23_313, 'Labour' => 10_915, 'Liberal Democrat' => 15_369, 'UK Independence Party' => 1627, 'Other' => 1821 },
599
+ 'Shropshire North' => { 'Conservative' => 26_692, 'Labour' => 9406, 'Liberal Democrat' => 10_864, 'UK Independence Party' => 2432, 'Other' => 2475 },
600
+ 'Sittingbourne and Sheppey' => { 'Conservative' => 24_313, 'Labour' => 11_930, 'Liberal Democrat' => 7943, 'UK Independence Party' => 2610, 'Other' => 1782 },
601
+ 'Skipton and Ripon' => { 'Conservative' => 27_685, 'Labour' => 5498, 'Liberal Democrat' => 17_735, 'UK Independence Party' => 1909, 'Other' => 1897 },
602
+ 'Sleaford and North Hykeham' => { 'Conservative' => 30_719, 'Labour' => 10_051, 'Liberal Democrat' => 10_814, 'UK Independence Party' => 2163, 'Other' => 5783 },
603
+ 'Slough' => { 'Conservative' => 16_361, 'Labour' => 21_884, 'Liberal Democrat' => 6943, 'UK Independence Party' => 1517, 'Other' => 1037 },
604
+ 'Solihull' => { 'Conservative' => 23_460, 'Labour' => 4891, 'Liberal Democrat' => 23_635, 'UK Independence Party' => 1200, 'Other' => 1943 },
605
+ 'Somerset North' => { 'Conservative' => 28_549, 'Labour' => 6448, 'Liberal Democrat' => 20_687, 'UK Independence Party' => 2257 },
606
+ 'Somerset North East' => { 'Conservative' => 21_130, 'Labour' => 16_216, 'Liberal Democrat' => 11_433, 'UK Independence Party' => 1754, 'Other' => 670 },
607
+ 'Somerton and Frome' => { 'Conservative' => 26_976, 'Labour' => 2675, 'Liberal Democrat' => 28_793, 'UK Independence Party' => 1932, 'Other' => 236 },
608
+ 'South Holland and The Deepings' => { 'Conservative' => 29_639, 'Labour' => 7024, 'Liberal Democrat' => 7759, 'UK Independence Party' => 3246, 'Other' => 2520 },
609
+ 'South Shields' => { 'Conservative' => 7886, 'Labour' => 18_995, 'Liberal Democrat' => 5189, 'Other' => 4448 },
610
+ 'Southampton Itchen' => { 'Conservative' => 16_134, 'Labour' => 16_326, 'Liberal Democrat' => 9256, 'UK Independence Party' => 1928, 'Other' => 768 },
611
+ 'Southampton Test' => { 'Conservative' => 14_588, 'Labour' => 17_001, 'Liberal Democrat' => 9865, 'UK Independence Party' => 1726, 'Other' => 1007 },
612
+ 'Southend West' => { 'Conservative' => 20_086, 'Labour' => 5850, 'Liberal Democrat' => 12_816, 'UK Independence Party' => 1714, 'Other' => 3140 },
613
+ 'Southport' => { 'Conservative' => 15_683, 'Labour' => 4116, 'Liberal Democrat' => 21_707, 'UK Independence Party' => 2251 },
614
+ 'Spelthorne' => { 'Conservative' => 22_261, 'Labour' => 7789, 'Liberal Democrat' => 12_242, 'UK Independence Party' => 4009, 'Other' => 1003 },
615
+ 'St Albans' => { 'Conservative' => 21_533, 'Labour' => 9288, 'Liberal Democrat' => 19_228, 'UK Independence Party' => 2028, 'Other' => 758 },
616
+ 'St Austell and Newquay' => { 'Conservative' => 18_877, 'Labour' => 3386, 'Liberal Democrat' => 20_189, 'UK Independence Party' => 1757, 'Other' => 3029 },
617
+ 'St Helens North' => { 'Conservative' => 9940, 'Labour' => 23_041, 'Liberal Democrat' => 8992, 'UK Independence Party' => 2100, 'Other' => 483 },
618
+ 'St Helens South and Whiston' => { 'Conservative' => 8209, 'Labour' => 24_364, 'Liberal Democrat' => 10_242, 'UK Independence Party' => 1226, 'Other' => 2040 },
619
+ 'St Ives' => { 'Conservative' => 17_900, 'Labour' => 3751, 'Liberal Democrat' => 19_619, 'UK Independence Party' => 2560, 'Other' => 2091 },
620
+ 'Stafford' => { 'Conservative' => 22_047, 'Labour' => 16_587, 'Liberal Democrat' => 8211, 'UK Independence Party' => 1727, 'Other' => 1667 },
621
+ 'Staffordshire Moorlands' => { 'Conservative' => 19_793, 'Labour' => 13_104, 'Liberal Democrat' => 7338, 'UK Independence Party' => 3580 },
622
+ 'Staffordshire South' => { 'Conservative' => 26_834, 'Labour' => 10_244, 'Liberal Democrat' => 8427, 'UK Independence Party' => 2753, 'Other' => 2182 },
623
+ 'Stalybridge and Hyde' => { 'Conservative' => 13_445, 'Labour' => 16_189, 'Liberal Democrat' => 6965, 'UK Independence Party' => 1342, 'Other' => 2938 },
624
+ 'Stevenage' => { 'Conservative' => 18_491, 'Labour' => 14_913, 'Liberal Democrat' => 7432, 'UK Independence Party' => 2004, 'Other' => 1811 },
625
+ 'Stockport' => { 'Conservative' => 9913, 'Labour' => 16_697, 'Liberal Democrat' => 9778, 'UK Independence Party' => 862, 'Other' => 1878 },
626
+ 'Stockton North' => { 'Conservative' => 10_247, 'Labour' => 16_923, 'Liberal Democrat' => 6342, 'UK Independence Party' => 1556, 'Other' => 4430 },
627
+ 'Stockton South' => { 'Conservative' => 19_577, 'Labour' => 19_245, 'Liberal Democrat' => 7600, 'UK Independence Party' => 1471, 'Other' => 2391 },
628
+ 'Stoke-on-Trent Central' => { 'Conservative' => 6833, 'Labour' => 12_605, 'Liberal Democrat' => 7039, 'UK Independence Party' => 1402, 'Other' => 4591 },
629
+ 'Stoke-on-Trent North' => { 'Conservative' => 9580, 'Labour' => 17_815, 'Liberal Democrat' => 7120, 'UK Independence Party' => 2485, 'Other' => 3196 },
630
+ 'Stoke-on-Trent South' => { 'Conservative' => 11_316, 'Labour' => 15_446, 'Liberal Democrat' => 6323, 'UK Independence Party' => 1363, 'Other' => 5404 },
631
+ 'Stone' => { 'Conservative' => 23_890, 'Labour' => 9770, 'Liberal Democrat' => 10_598, 'UK Independence Party' => 2481, 'Other' => 490 },
632
+ 'Stourbridge' => { 'Conservative' => 20_153, 'Labour' => 14_989, 'Liberal Democrat' => 7733, 'UK Independence Party' => 2103, 'Other' => 2256 },
633
+ 'Stratford-on-Avon' => { 'Conservative' => 26_052, 'Labour' => 4809, 'Liberal Democrat' => 14_706, 'UK Independence Party' => 1846, 'Other' => 3129 },
634
+ 'Streatham' => { 'Conservative' => 8578, 'Labour' => 20_037, 'Liberal Democrat' => 16_778, 'Other' => 1444 },
635
+ 'Stretford and Urmston' => { 'Conservative' => 12_886, 'Labour' => 21_821, 'Liberal Democrat' => 7601, 'UK Independence Party' => 1508, 'Other' => 1094 },
636
+ 'Stroud' => { 'Conservative' => 23_679, 'Labour' => 22_380, 'Liberal Democrat' => 8955, 'UK Independence Party' => 1301, 'Other' => 1658 },
637
+ 'Suffolk Central and Ipswich North' => { 'Conservative' => 27_125, 'Labour' => 8636, 'Liberal Democrat' => 13_339, 'UK Independence Party' => 2361, 'Other' => 1959 },
638
+ 'Suffolk Coastal' => { 'Conservative' => 25_475, 'Labour' => 8812, 'Liberal Democrat' => 16_347, 'UK Independence Party' => 3156, 'Other' => 1103 },
639
+ 'Suffolk South' => { 'Conservative' => 24_550, 'Labour' => 7368, 'Liberal Democrat' => 15_861, 'UK Independence Party' => 3637 },
640
+ 'Suffolk West' => { 'Conservative' => 24_312, 'Labour' => 7089, 'Liberal Democrat' => 11_262, 'UK Independence Party' => 3085, 'Other' => 2341 },
641
+ 'Sunderland Central' => { 'Conservative' => 12_770, 'Labour' => 19_495, 'Liberal Democrat' => 7191, 'UK Independence Party' => 1094, 'Other' => 1913 },
642
+ 'Surrey East' => { 'Conservative' => 31_007, 'Labour' => 4925, 'Liberal Democrat' => 14_133, 'UK Independence Party' => 3770, 'Other' => 805 },
643
+ 'Surrey Heath' => { 'Conservative' => 31_326, 'Labour' => 5552, 'Liberal Democrat' => 14_037, 'UK Independence Party' => 3432 },
644
+ 'Surrey South West' => { 'Conservative' => 33_605, 'Labour' => 3419, 'Liberal Democrat' => 17_287, 'UK Independence Party' => 1486, 'Other' => 1462 },
645
+ 'Sussex Mid' => { 'Conservative' => 28_329, 'Labour' => 3689, 'Liberal Democrat' => 20_927, 'UK Independence Party' => 1423, 'Other' => 1487 },
646
+ 'Sutton and Cheam' => { 'Conservative' => 20_548, 'Labour' => 3376, 'Liberal Democrat' => 22_156, 'UK Independence Party' => 950, 'Other' => 1478 },
647
+ 'Sutton Coldfield' => { 'Conservative' => 27_303, 'Labour' => 10_298, 'Liberal Democrat' => 9117, 'UK Independence Party' => 1587, 'Other' => 2284 },
648
+ 'Swindon North' => { 'Conservative' => 22_408, 'Labour' => 15_348, 'Liberal Democrat' => 8668, 'UK Independence Party' => 1842, 'Other' => 2029 },
649
+ 'Swindon South' => { 'Conservative' => 19_687, 'Labour' => 16_143, 'Liberal Democrat' => 8305, 'UK Independence Party' => 2029, 'Other' => 955 },
650
+ 'Tamworth' => { 'Conservative' => 21_238, 'Labour' => 15_148, 'Liberal Democrat' => 7516, 'UK Independence Party' => 2253, 'Other' => 235 },
651
+ 'Tatton' => { 'Conservative' => 24_687, 'Labour' => 7803, 'Liberal Democrat' => 10_200, 'Other' => 2541 },
652
+ 'Taunton Deane' => { 'Conservative' => 24_538, 'Labour' => 2967, 'Liberal Democrat' => 28_531, 'UK Independence Party' => 2114 },
653
+ 'Telford' => { 'Conservative' => 14_996, 'Labour' => 15_974, 'Liberal Democrat' => 6399, 'UK Independence Party' => 2428, 'Other' => 1513 },
654
+ 'Tewkesbury' => { 'Conservative' => 25_472, 'Labour' => 6253, 'Liberal Democrat' => 19_162, 'UK Independence Party' => 2230, 'Other' => 844 },
655
+ 'Thanet North' => { 'Conservative' => 22_826, 'Labour' => 9298, 'Liberal Democrat' => 8400, 'UK Independence Party' => 2819 },
656
+ 'Thanet South' => { 'Conservative' => 22_043, 'Labour' => 14_426, 'Liberal Democrat' => 6935, 'UK Independence Party' => 2529 },
657
+ 'Thirsk and Malton' => { 'Conservative' => 20_167, 'Labour' => 5169, 'Liberal Democrat' => 8886, 'UK Independence Party' => 2502, 'Other' => 1418 },
658
+ 'Thornbury and Yate' => { 'Conservative' => 17_916, 'Labour' => 3385, 'Liberal Democrat' => 25_032, 'UK Independence Party' => 1709, 'Other' => 184 },
659
+ 'Thurrock' => { 'Conservative' => 16_869, 'Labour' => 16_777, 'Liberal Democrat' => 4901, 'UK Independence Party' => 3390, 'Other' => 3884 },
660
+ 'Tiverton and Honiton' => { 'Conservative' => 27_614, 'Labour' => 4907, 'Liberal Democrat' => 18_294, 'UK Independence Party' => 3277, 'Other' => 802 },
661
+ 'Tonbridge and Malling' => { 'Conservative' => 29_723, 'Labour' => 6476, 'Liberal Democrat' => 11_545, 'UK Independence Party' => 1911, 'Other' => 1659 },
662
+ 'Tooting' => { 'Conservative' => 19_514, 'Labour' => 22_038, 'Liberal Democrat' => 7509, 'UK Independence Party' => 624, 'Other' => 970 },
663
+ 'Torbay' => { 'Conservative' => 19_048, 'Labour' => 3231, 'Liberal Democrat' => 23_126, 'UK Independence Party' => 2628, 'Other' => 1177 },
664
+ 'Totnes' => { 'Conservative' => 21_940, 'Labour' => 3538, 'Liberal Democrat' => 17_013, 'UK Independence Party' => 2890, 'Other' => 2462 },
665
+ 'Tottenham' => { 'Conservative' => 6064, 'Labour' => 24_128, 'Liberal Democrat' => 7197, 'UK Independence Party' => 466, 'Other' => 2832 },
666
+ 'Truro and Falmouth' => { 'Conservative' => 20_349, 'Labour' => 4697, 'Liberal Democrat' => 19_914, 'UK Independence Party' => 1911, 'Other' => 1897 },
667
+ 'Tunbridge Wells' => { 'Conservative' => 28_302, 'Labour' => 5448, 'Liberal Democrat' => 12_726, 'UK Independence Party' => 2054, 'Other' => 1790 },
668
+ 'Twickenham' => { 'Conservative' => 20_343, 'Labour' => 4583, 'Liberal Democrat' => 32_483, 'UK Independence Party' => 868, 'Other' => 1444 },
669
+ 'Tynemouth' => { 'Conservative' => 18_121, 'Labour' => 23_860, 'Liberal Democrat' => 7845, 'UK Independence Party' => 900, 'Other' => 1942 },
670
+ 'Tyneside North' => { 'Conservative' => 8514, 'Labour' => 23_505, 'Liberal Democrat' => 10_621, 'UK Independence Party' => 1306, 'Other' => 2459 },
671
+ 'Uxbridge and South Ruislip' => { 'Conservative' => 21_758, 'Labour' => 10_542, 'Liberal Democrat' => 8995, 'UK Independence Party' => 1234, 'Other' => 2547 },
672
+ 'Vauxhall' => { 'Conservative' => 9301, 'Labour' => 21_498, 'Liberal Democrat' => 10_847, 'Other' => 1545 },
673
+ 'Wakefield' => { 'Conservative' => 15_841, 'Labour' => 17_454, 'Liberal Democrat' => 7256, 'Other' => 3893 },
674
+ 'Wallasey' => { 'Conservative' => 13_071, 'Labour' => 21_578, 'Liberal Democrat' => 5693, 'UK Independence Party' => 1205, 'Other' => 107 },
675
+ 'Walsall North' => { 'Conservative' => 12_395, 'Labour' => 13_385, 'Liberal Democrat' => 4754, 'UK Independence Party' => 1737, 'Other' => 3916 },
676
+ 'Walsall South' => { 'Conservative' => 14_456, 'Labour' => 16_211, 'Liberal Democrat' => 5880, 'UK Independence Party' => 3449, 'Other' => 886 },
677
+ 'Walthamstow' => { 'Conservative' => 5734, 'Labour' => 21_252, 'Liberal Democrat' => 11_774, 'UK Independence Party' => 823, 'Other' => 1411 },
678
+ 'Wansbeck' => { 'Conservative' => 6714, 'Labour' => 17_548, 'Liberal Democrat' => 10_517, 'UK Independence Party' => 974, 'Other' => 2520 },
679
+ 'Wantage' => { 'Conservative' => 29_284, 'Labour' => 7855, 'Liberal Democrat' => 15_737, 'UK Independence Party' => 2421, 'Other' => 1044 },
680
+ 'Warley' => { 'Conservative' => 9484, 'Labour' => 20_240, 'Liberal Democrat' => 5929, 'UK Independence Party' => 2617 },
681
+ 'Warrington North' => { 'Conservative' => 13_364, 'Labour' => 20_135, 'Liberal Democrat' => 9196, 'Other' => 1516 },
682
+ 'Warrington South' => { 'Conservative' => 19_641, 'Labour' => 18_088, 'Liberal Democrat' => 15_094, 'UK Independence Party' => 1624, 'Other' => 427 },
683
+ 'Warwick and Leamington' => { 'Conservative' => 20_876, 'Labour' => 17_363, 'Liberal Democrat' => 8977, 'UK Independence Party' => 926, 'Other' => 890 },
684
+ 'Warwickshire North' => { 'Conservative' => 18_993, 'Labour' => 18_939, 'Liberal Democrat' => 5481, 'UK Independence Party' => 1335, 'Other' => 2517 },
685
+ 'Washington and Sunderland West' => { 'Conservative' => 8157, 'Labour' => 19_615, 'Liberal Democrat' => 6382, 'UK Independence Party' => 1267, 'Other' => 1913 },
686
+ 'Watford' => { 'Conservative' => 19_291, 'Labour' => 14_750, 'Liberal Democrat' => 17_866, 'UK Independence Party' => 1199, 'Other' => 2102 },
687
+ 'Waveney' => { 'Conservative' => 20_571, 'Labour' => 19_802, 'Liberal Democrat' => 6811, 'UK Independence Party' => 2684, 'Other' => 1273 },
688
+ 'Wealden' => { 'Conservative' => 31_090, 'Labour' => 5266, 'Liberal Democrat' => 13_911, 'UK Independence Party' => 3319, 'Other' => 1383 },
689
+ 'Weaver Vale' => { 'Conservative' => 16_953, 'Labour' => 15_962, 'Liberal Democrat' => 8196, 'UK Independence Party' => 1018, 'Other' => 1861 },
690
+ 'Wellingborough' => { 'Conservative' => 24_918, 'Labour' => 13_131, 'Liberal Democrat' => 8848, 'UK Independence Party' => 1636, 'Other' => 3128 },
691
+ 'Wells' => { 'Conservative' => 23_760, 'Labour' => 4198, 'Liberal Democrat' => 24_560, 'UK Independence Party' => 1711, 'Other' => 1635 },
692
+ 'Welwyn Hatfield' => { 'Conservative' => 27_894, 'Labour' => 10_471, 'Liberal Democrat' => 8010, 'UK Independence Party' => 1643, 'Other' => 954 },
693
+ 'Wentworth and Dearne' => { 'Conservative' => 7396, 'Labour' => 21_316, 'Liberal Democrat' => 6787, 'UK Independence Party' => 3418, 'Other' => 3189 },
694
+ 'West Bromwich East' => { 'Conservative' => 10_961, 'Labour' => 17_657, 'Liberal Democrat' => 4993, 'UK Independence Party' => 984, 'Other' => 3355 },
695
+ 'West Bromwich West' => { 'Conservative' => 10_612, 'Labour' => 16_263, 'Liberal Democrat' => 4336, 'UK Independence Party' => 1566, 'Other' => 3394 },
696
+ 'West Ham' => { 'Conservative' => 6888, 'Labour' => 29_422, 'Liberal Democrat' => 5392, 'UK Independence Party' => 766, 'Other' => 4483 },
697
+ 'Westminster North' => { 'Conservative' => 15_251, 'Labour' => 17_377, 'Liberal Democrat' => 5513, 'UK Independence Party' => 315, 'Other' => 1142 },
698
+ 'Westmorland and Lonsdale' => { 'Conservative' => 18_632, 'Labour' => 1158, 'Liberal Democrat' => 30_896, 'UK Independence Party' => 801 },
699
+ 'Weston-Super-Mare' => { 'Conservative' => 23_356, 'Labour' => 5772, 'Liberal Democrat' => 20_665, 'UK Independence Party' => 1406, 'Other' => 1517 },
700
+ 'Wigan' => { 'Conservative' => 10_917, 'Labour' => 21_404, 'Liberal Democrat' => 6797, 'UK Independence Party' => 2516, 'Other' => 2506 },
701
+ 'Wiltshire North' => { 'Conservative' => 25_114, 'Labour' => 3239, 'Liberal Democrat' => 17_631, 'UK Independence Party' => 1908, 'Other' => 807 },
702
+ 'Wiltshire South West' => { 'Conservative' => 25_321, 'Labour' => 5613, 'Liberal Democrat' => 14_954, 'UK Independence Party' => 2684, 'Other' => 446 },
703
+ 'Wimbledon' => { 'Conservative' => 23_257, 'Labour' => 10_550, 'Liberal Democrat' => 11_849, 'UK Independence Party' => 914, 'Other' => 825 },
704
+ 'Winchester' => { 'Conservative' => 27_155, 'Labour' => 3051, 'Liberal Democrat' => 24_107, 'UK Independence Party' => 1139, 'Other' => 503 },
705
+ 'Windsor' => { 'Conservative' => 30_172, 'Labour' => 4910, 'Liberal Democrat' => 11_118, 'UK Independence Party' => 1612, 'Other' => 1776 },
706
+ 'Wirral South' => { 'Conservative' => 15_745, 'Labour' => 16_276, 'Liberal Democrat' => 6611, 'UK Independence Party' => 1274 },
707
+ 'Wirral West' => { 'Conservative' => 16_726, 'Labour' => 14_290, 'Liberal Democrat' => 6630, 'UK Independence Party' => 899, 'Other' => 827 },
708
+ 'Witham' => { 'Conservative' => 24_448, 'Labour' => 8656, 'Liberal Democrat' => 9252, 'UK Independence Party' => 3060, 'Other' => 1419 },
709
+ 'Witney' => { 'Conservative' => 33_973, 'Labour' => 7511, 'Liberal Democrat' => 11_233, 'UK Independence Party' => 2001, 'Other' => 3051 },
710
+ 'Woking' => { 'Conservative' => 26_551, 'Labour' => 4246, 'Liberal Democrat' => 19_744, 'UK Independence Party' => 1997, 'Other' => 248 },
711
+ 'Wokingham' => { 'Conservative' => 28_754, 'Labour' => 5516, 'Liberal Democrat' => 15_262, 'UK Independence Party' => 1664, 'Other' => 3332 },
712
+ 'Wolverhampton North East' => { 'Conservative' => 11_964, 'Labour' => 14_448, 'Liberal Democrat' => 4711, 'UK Independence Party' => 1138, 'Other' => 2633 },
713
+ 'Wolverhampton South East' => { 'Conservative' => 9912, 'Labour' => 16_505, 'Liberal Democrat' => 5277, 'UK Independence Party' => 2675, 'Other' => 338 },
714
+ 'Wolverhampton South West' => { 'Conservative' => 16_344, 'Labour' => 15_653, 'Liberal Democrat' => 6430, 'UK Independence Party' => 1487, 'Other' => 246 },
715
+ 'Worcester' => { 'Conservative' => 19_358, 'Labour' => 16_376, 'Liberal Democrat' => 9525, 'UK Independence Party' => 1360, 'Other' => 2355 },
716
+ 'Worcestershire Mid' => { 'Conservative' => 27_770, 'Labour' => 7613, 'Liberal Democrat' => 11_906, 'UK Independence Party' => 3049, 'Other' => 593 },
717
+ 'Worcestershire West' => { 'Conservative' => 27_213, 'Labour' => 3661, 'Liberal Democrat' => 20_459, 'UK Independence Party' => 2119, 'Other' => 641 },
718
+ 'Workington' => { 'Conservative' => 13_290, 'Labour' => 17_865, 'Liberal Democrat' => 5318, 'UK Independence Party' => 876, 'Other' => 1910 },
719
+ 'Worsley and Eccles South' => { 'Conservative' => 13_555, 'Labour' => 17_892, 'Liberal Democrat' => 6883, 'UK Independence Party' => 2037, 'Other' => 1334 },
720
+ 'Worthing East and Shoreham' => { 'Conservative' => 23_458, 'Labour' => 8087, 'Liberal Democrat' => 12_353, 'UK Independence Party' => 2984, 'Other' => 1515 },
721
+ 'Worthing West' => { 'Conservative' => 25_416, 'Labour' => 5800, 'Liberal Democrat' => 13_687, 'UK Independence Party' => 2924, 'Other' => 1296 },
722
+ 'Wrekin, The' => { 'Conservative' => 21_922, 'Labour' => 12_472, 'Liberal Democrat' => 8019, 'UK Independence Party' => 2050, 'Other' => 1505 },
723
+ 'Wycombe' => { 'Conservative' => 23_423, 'Labour' => 8326, 'Liberal Democrat' => 13_863, 'UK Independence Party' => 2123, 'Other' => 416 },
724
+ 'Wyre and Preston North' => { 'Conservative' => 26_877, 'Labour' => 10_932, 'Liberal Democrat' => 11_033, 'UK Independence Party' => 2466 },
725
+ 'Wyre Forest' => { 'Conservative' => 18_793, 'Labour' => 7298, 'Liberal Democrat' => 6040, 'UK Independence Party' => 1498, 'Other' => 17_270 },
726
+ 'Wythenshawe and Sale East' => { 'Conservative' => 10_412, 'Labour' => 17_987, 'Liberal Democrat' => 9107, 'UK Independence Party' => 1405, 'Other' => 1840 },
727
+ 'Yeovil' => { 'Conservative' => 18_807, 'Labour' => 2991, 'Liberal Democrat' => 31_843, 'UK Independence Party' => 2357, 'Other' => 1162 },
728
+ 'York Central' => { 'Conservative' => 12_122, 'Labour' => 18_573, 'Liberal Democrat' => 11_694, 'UK Independence Party' => 1100, 'Other' => 2994 },
729
+ 'York Outer' => { 'Conservative' => 22_912, 'Labour' => 9108, 'Liberal Democrat' => 19_224, 'UK Independence Party' => 1100, 'Other' => 956 },
730
+ 'Yorkshire East' => { 'Conservative' => 24_328, 'Labour' => 10_401, 'Liberal Democrat' => 10_842, 'UK Independence Party' => 2142, 'Other' => 3541 },
731
+ # Wales
732
+ 'Aberavon' => { 'Conservative' => 4411, 'Labour' => 16_073, 'Liberal Democrat' => 5034, 'UK Independence Party' => 489, 'Plaid Cymru' => 2198, 'Other' => 2753 },
733
+ 'Aberconwy' => { 'Conservative' => 10_734, 'Labour' => 7336, 'Liberal Democrat' => 5786, 'UK Independence Party' => 632, 'Plaid Cymru' => 5341, 'Other' => 137 },
734
+ 'Alyn and Deeside' => { 'Conservative' => 12_885, 'Labour' => 15_804, 'Liberal Democrat' => 7308, 'UK Independence Party' => 1009, 'Plaid Cymru' => 1549, 'Other' => 1368 },
735
+ 'Arfon' => { 'Conservative' => 4416, 'Labour' => 7928, 'Liberal Democrat' => 3666, 'UK Independence Party' => 685, 'Plaid Cymru' => 9383 },
736
+ 'Blaenau Gwent' => { 'Conservative' => 2265, 'Labour' => 16_974, 'Liberal Democrat' => 3285, 'UK Independence Party' => 488, 'Plaid Cymru' => 1333, 'Other' => 8050 },
737
+ 'Brecon and Radnorshire' => { 'Conservative' => 14_182, 'Labour' => 4096, 'Liberal Democrat' => 17_929, 'UK Independence Party' => 876, 'Plaid Cymru' => 989, 'Other' => 773 },
738
+ 'Bridgend' => { 'Conservative' => 11_668, 'Labour' => 13_931, 'Liberal Democrat' => 8658, 'UK Independence Party' => 801, 'Plaid Cymru' => 2269, 'Other' => 1020 },
739
+ 'Caerphilly' => { 'Conservative' => 6622, 'Labour' => 17_377, 'Liberal Democrat' => 5688, 'UK Independence Party' => 910, 'Plaid Cymru' => 6460, 'Other' => 1635 },
740
+ 'Cardiff Central' => { 'Conservative' => 7799, 'Labour' => 10_400, 'Liberal Democrat' => 14_976, 'UK Independence Party' => 765, 'Plaid Cymru' => 1246, 'Other' => 965 },
741
+ 'Cardiff North' => { 'Conservative' => 17_860, 'Labour' => 17_666, 'Liberal Democrat' => 8724, 'UK Independence Party' => 1130, 'Plaid Cymru' => 1588, 'Other' => 662 },
742
+ 'Cardiff South and Penarth' => { 'Conservative' => 12_553, 'Labour' => 17_262, 'Liberal Democrat' => 9875, 'UK Independence Party' => 1145, 'Plaid Cymru' => 1851, 'Other' => 1683 },
743
+ 'Cardiff West' => { 'Conservative' => 12_143, 'Labour' => 16_894, 'Liberal Democrat' => 7186, 'UK Independence Party' => 1117, 'Plaid Cymru' => 2868, 'Other' => 750 },
744
+ 'Carmarthen East and Dinefwr' => { 'Conservative' => 8506, 'Labour' => 10_065, 'Liberal Democrat' => 4609, 'UK Independence Party' => 1285, 'Plaid Cymru' => 13_546 },
745
+ 'Carmarthen West and Pembrokeshire South' => { 'Conservative' => 16_649, 'Labour' => 13_226, 'Liberal Democrat' => 4890, 'UK Independence Party' => 1146, 'Plaid Cymru' => 4232, 'Other' => 364 },
746
+ 'Ceredigion' => { 'Conservative' => 4421, 'Labour' => 2210, 'Liberal Democrat' => 19_139, 'UK Independence Party' => 977, 'Plaid Cymru' => 10_815, 'Other' => 696 },
747
+ 'Clwyd South' => { 'Conservative' => 10_477, 'Labour' => 13_311, 'Liberal Democrat' => 5965, 'UK Independence Party' => 819, 'Plaid Cymru' => 3009, 'Other' => 1100 },
748
+ 'Clwyd West' => { 'Conservative' => 15_833, 'Labour' => 9414, 'Liberal Democrat' => 5801, 'UK Independence Party' => 864, 'Plaid Cymru' => 5864, 'Other' => 335 },
749
+ 'Cynon Valley' => { 'Conservative' => 3010, 'Labour' => 15_681, 'Liberal Democrat' => 4120, 'UK Independence Party' => 1001, 'Plaid Cymru' => 6064 },
750
+ 'Delyn' => { 'Conservative' => 12_811, 'Labour' => 15_083, 'Liberal Democrat' => 5747, 'UK Independence Party' => 655, 'Plaid Cymru' => 1844, 'Other' => 844 },
751
+ 'Dwyfor Meirionnydd' => { 'Conservative' => 6447, 'Labour' => 4021, 'Liberal Democrat' => 3538, 'UK Independence Party' => 776, 'Plaid Cymru' => 12_814, 'Other' => 1310 },
752
+ 'Gower' => { 'Conservative' => 13_333, 'Labour' => 16_016, 'Liberal Democrat' => 7947, 'UK Independence Party' => 652, 'Plaid Cymru' => 2760, 'Other' => 963 },
753
+ 'Islwyn' => { 'Conservative' => 4854, 'Labour' => 17_069, 'Liberal Democrat' => 3597, 'UK Independence Party' => 936, 'Plaid Cymru' => 4518, 'Other' => 3716 },
754
+ 'Llanelli' => { 'Conservative' => 5381, 'Labour' => 15_916, 'Liberal Democrat' => 3902, 'UK Independence Party' => 1047, 'Plaid Cymru' => 11_215 },
755
+ 'Merthyr Tydfil and Rhymney' => { 'Conservative' => 2412, 'Labour' => 14_007, 'Liberal Democrat' => 9951, 'UK Independence Party' => 872, 'Plaid Cymru' => 1621, 'Other' => 3213 },
756
+ 'Monmouth' => { 'Conservative' => 22_466, 'Labour' => 12_041, 'Liberal Democrat' => 9026, 'UK Independence Party' => 1126, 'Plaid Cymru' => 1273, 'Other' => 587 },
757
+ 'Montgomeryshire' => { 'Conservative' => 13_976, 'Labour' => 2407, 'Liberal Democrat' => 12_792, 'UK Independence Party' => 1128, 'Plaid Cymru' => 2802, 'Other' => 708 },
758
+ 'Neath' => { 'Conservative' => 4847, 'Labour' => 17_172, 'Liberal Democrat' => 5535, 'UK Independence Party' => 829, 'Plaid Cymru' => 7397, 'Other' => 1342 },
759
+ 'Newport East' => { 'Conservative' => 7918, 'Labour' => 12_744, 'Liberal Democrat' => 11_094, 'UK Independence Party' => 677, 'Plaid Cymru' => 724, 'Other' => 1291 },
760
+ 'Newport West' => { 'Conservative' => 12_845, 'Labour' => 16_389, 'Liberal Democrat' => 6587, 'UK Independence Party' => 1144, 'Plaid Cymru' => 1122, 'Other' => 1633 },
761
+ 'Ogmore' => { 'Conservative' => 5398, 'Labour' => 18_644, 'Liberal Democrat' => 5260, 'UK Independence Party' => 780, 'Plaid Cymru' => 3326, 'Other' => 1242 },
762
+ 'Pontypridd' => { 'Conservative' => 5932, 'Labour' => 14_220, 'Liberal Democrat' => 11_435, 'UK Independence Party' => 1229, 'Plaid Cymru' => 2673, 'Other' => 1182 },
763
+ 'Preseli Pembrokeshire' => { 'Conservative' => 16_944, 'Labour' => 12_339, 'Liberal Democrat' => 5759, 'UK Independence Party' => 906, 'Plaid Cymru' => 3654 },
764
+ 'Rhondda' => { 'Conservative' => 1993, 'Labour' => 17_183, 'Liberal Democrat' => 3309, 'UK Independence Party' => 358, 'Plaid Cymru' => 5630, 'Other' => 2599 },
765
+ 'Swansea East' => { 'Conservative' => 4823, 'Labour' => 16_819, 'Liberal Democrat' => 5981, 'UK Independence Party' => 839, 'Plaid Cymru' => 2181, 'Other' => 2033 },
766
+ 'Swansea West' => { 'Conservative' => 7407, 'Labour' => 12_335, 'Liberal Democrat' => 11_831, 'UK Independence Party' => 716, 'Plaid Cymru' => 1437, 'Other' => 1867 },
767
+ 'Torfaen' => { 'Conservative' => 7541, 'Labour' => 16_847, 'Liberal Democrat' => 6264, 'UK Independence Party' => 862, 'Plaid Cymru' => 2005, 'Other' => 4121 },
768
+ 'Vale of Clwyd' => { 'Conservative' => 12_508, 'Labour' => 15_017, 'Liberal Democrat' => 4472, 'UK Independence Party' => 515, 'Plaid Cymru' => 2068, 'Other' => 954 },
769
+ 'Vale of Glamorgan' => { 'Conservative' => 20_341, 'Labour' => 16_034, 'Liberal Democrat' => 7403, 'UK Independence Party' => 1529, 'Plaid Cymru' => 2667, 'Other' => 693 },
770
+ 'Wrexham' => { 'Conservative' => 8375, 'Labour' => 12_161, 'Liberal Democrat' => 8503, 'UK Independence Party' => 774, 'Plaid Cymru' => 2029, 'Other' => 1134 },
771
+ 'Ynys Mon' => { 'Conservative' => 7744, 'Labour' => 11_490, 'Liberal Democrat' => 2592, 'UK Independence Party' => 1201, 'Plaid Cymru' => 9029, 'Other' => 2388 },
772
+ # Scotland
773
+ 'Aberdeen North' => { 'Conservative' => 4666, 'Labour' => 16_746,
774
+ 'Liberal Democrat' => 7001,
775
+ 'Scottish National Party' => 8385, 'Other' => 903 },
776
+ 'Aberdeen South' => { 'Conservative' => 8914, 'Labour' => 15_722,
777
+ 'Liberal Democrat' => 12_216,
778
+ 'Scottish National Party' => 5102,
779
+ 'Other' => 1080 },
780
+ 'Aberdeenshire West and Kincardine' => { 'Conservative' => 13_678,
781
+ 'Labour' => 6159,
782
+ 'Liberal Democrat' => 17_362,
783
+ 'UK Independence Party' => 397,
784
+ 'Scottish National Party' => 7086, 'Other' => 513 },
785
+ 'Airdrie and Shotts' => { 'Conservative' => 3133, 'Labour' => 20_849,
786
+ 'Liberal Democrat' => 2898,
787
+ 'Scottish National Party' => 8441,
788
+ 'Other' => 528 },
789
+ 'Angus' => { 'Conservative' => 11_738, 'Labour' => 6535,
790
+ 'Liberal Democrat' => 4090, 'UK Independence Party' => 577,
791
+ 'Scottish National Party' => 15_020 },
792
+ 'Argyll and Bute' => { 'Conservative' => 10_861, 'Labour' => 10_274,
793
+ 'Liberal Democrat' => 14_292,
794
+ 'Scottish National Party' => 8563,
795
+ 'Other' => 1217 },
796
+ 'Ayr Carrick and Cumnock' => { 'Conservative' => 11_721,
797
+ 'Labour' => 21_632,
798
+ 'Liberal Democrat' => 4264,
799
+ 'Scottish National Party' => 8276 },
800
+ 'Ayrshire Central' => { 'Conservative' => 8943, 'Labour' => 20_950,
801
+ 'Liberal Democrat' => 5236,
802
+ 'Scottish National Party' => 8364,
803
+ 'Other' => 422 },
804
+ 'Ayrshire North and Arran' => { 'Conservative' => 7212,
805
+ 'Labour' => 21_860,
806
+ 'Liberal Democrat' => 4630,
807
+ 'Scottish National Party' => 11_965,
808
+ 'Other' => 449 },
809
+ 'Banff and Buchan' => { 'Conservative' => 11_841, 'Labour' => 5382,
810
+ 'Liberal Democrat' => 4365,
811
+ 'Scottish National Party' => 15_868,
812
+ 'Other' => 1010 },
813
+ 'Berwickshire, Roxburgh and Selkirk' => { 'Conservative' => 16_555,
814
+ 'Labour' => 5003,
815
+ 'Liberal Democrat' => 22_230,
816
+ 'UK Independence Party' => 595,
817
+ 'Scottish National Party' => 4497, 'Other' => 134 },
818
+ 'Caithness Sutherland and Easter Ross' => { 'Conservative' => 3744,
819
+ 'Labour' => 7081,
820
+ 'Liberal Democrat' => 11_907,
821
+ 'Scottish National Party' => 5516, 'Other' => 520 },
822
+ 'Coatbridge, Chryston and Bellshill' => { 'Conservative' => 3374,
823
+ 'Labour' => 27_728,
824
+ 'Liberal Democrat' => 3519,
825
+ 'Scottish National Party' => 7014 },
826
+ 'Cumbernauld, Kilsyth and Kirkintilloch East' => { 'Conservative' => 3407,
827
+ 'Labour' => 23_549,
828
+ 'Liberal Democrat' => 3924, 'Scottish National Party' => 9794, 'Other' => 476 },
829
+ 'Dumfries and Galloway' => { 'Conservative' => 16_501,
830
+ 'Labour' => 23_950,
831
+ 'Liberal Democrat' => 4608,
832
+ 'UK Independence Party' => 695,
833
+ 'Scottish National Party' => 6419 },
834
+ 'Dumfriesshire, Clydesdale and Tweeddale' => { 'Conservative' => 17_457,
835
+ 'Labour' => 13_263,
836
+ 'Liberal Democrat' => 9080,
837
+ 'UK Independence Party' => 637, 'Scottish National Party' => 4945, 'Other' => 510 },
838
+ 'Dunbartonshire East' => { 'Conservative' => 7431, 'Labour' => 16_367,
839
+ 'Liberal Democrat' => 18_551,
840
+ 'UK Independence Party' => 545,
841
+ 'Scottish National Party' => 5054 },
842
+ 'Dunbartonshire West' => { 'Conservative' => 3242, 'Labour' => 25_905,
843
+ 'Liberal Democrat' => 3434,
844
+ 'UK Independence Party' => 683,
845
+ 'Scottish National Party' => 8497,
846
+ 'Other' => 505 },
847
+ 'Dundee East' => { 'Conservative' => 6177, 'Labour' => 13_529,
848
+ 'Liberal Democrat' => 4285,
849
+ 'UK Independence Party' => 431,
850
+ 'Scottish National Party' => 15_350, 'Other' => 796 },
851
+ 'Dundee West' => { 'Conservative' => 3461, 'Labour' => 17_994,
852
+ 'Liberal Democrat' => 4233,
853
+ 'Scottish National Party' => 10_716, 'Other' => 722 },
854
+ 'Dunfermline and West Fife' => { 'Conservative' => 3305,
855
+ 'Labour' => 22_639,
856
+ 'Liberal Democrat' => 17_169,
857
+ 'UK Independence Party' => 633,
858
+ 'Scottish National Party' => 5201 },
859
+ 'East Kilbride, Strathaven and Lesmahagow' => { 'Conservative' => 6613,
860
+ 'Labour' => 26_241,
861
+ 'Liberal Democrat' => 5052, 'Scottish National Party' => 11_738, 'Other' => 1302 },
862
+ 'East Lothian' => { 'Conservative' => 9661, 'Labour' => 21_919,
863
+ 'Liberal Democrat' => 8288,
864
+ 'UK Independence Party' => 548,
865
+ 'Scottish National Party' => 7883, 'Other' => 862 },
866
+ 'Edinburgh East' => { 'Conservative' => 4358, 'Labour' => 17_314,
867
+ 'Liberal Democrat' => 7751,
868
+ 'Scottish National Party' => 8133,
869
+ 'Other' => 2309 },
870
+ 'Edinburgh North and Leith' => { 'Conservative' => 7079,
871
+ 'Labour' => 17_740,
872
+ 'Liberal Democrat' => 16_016,
873
+ 'Scottish National Party' => 4568,
874
+ 'Other' => 1953 },
875
+ 'Edinburgh South' => { 'Conservative' => 9452, 'Labour' => 15_215,
876
+ 'Liberal Democrat' => 14_899,
877
+ 'Scottish National Party' => 3354,
878
+ 'Other' => 881 },
879
+ 'Edinburgh South West' => { 'Conservative' => 11_026, 'Labour' => 19_473,
880
+ 'Liberal Democrat' => 8194,
881
+ 'Scottish National Party' => 5530,
882
+ 'Other' => 1239 },
883
+ 'Edinburgh West' => { 'Conservative' => 10_767, 'Labour' => 12_881,
884
+ 'Liberal Democrat' => 16_684,
885
+ 'Scottish National Party' => 6115 },
886
+ 'Falkirk' => { 'Conservative' => 5698, 'Labour' => 23_207,
887
+ 'Liberal Democrat' => 5225,
888
+ 'UK Independence Party' => 1283,
889
+ 'Scottish National Party' => 15_364 },
890
+ 'Fife North East' => { 'Conservative' => 8715, 'Labour' => 6869,
891
+ 'Liberal Democrat' => 17_763,
892
+ 'UK Independence Party' => 1032,
893
+ 'Scottish National Party' => 5685 },
894
+ 'Glasgow Central' => { 'Conservative' => 2158, 'Labour' => 15_908,
895
+ 'Liberal Democrat' => 5010,
896
+ 'UK Independence Party' => 246,
897
+ 'Scottish National Party' => 5357,
898
+ 'Other' => 1901 },
899
+ 'Glasgow East' => { 'Conservative' => 1453, 'Labour' => 19_797,
900
+ 'Liberal Democrat' => 1617,
901
+ 'UK Independence Party' => 209,
902
+ 'Scottish National Party' => 7957, 'Other' => 1131 },
903
+ 'Glasgow North' => { 'Conservative' => 2089, 'Labour' => 13_181,
904
+ 'Liberal Democrat' => 9283,
905
+ 'Scottish National Party' => 3530, 'Other' => 1530 },
906
+ 'Glasgow North East' => { 'Conservative' => 1569, 'Labour' => 20_100,
907
+ 'Liberal Democrat' => 2262,
908
+ 'Scottish National Party' => 4158,
909
+ 'Other' => 1320 },
910
+ 'Glasgow North West' => { 'Conservative' => 3537, 'Labour' => 19_233,
911
+ 'Liberal Democrat' => 5622,
912
+ 'Scottish National Party' => 5430,
913
+ 'Other' => 1760 },
914
+ 'Glasgow South' => { 'Conservative' => 4592, 'Labour' => 20_736,
915
+ 'Liberal Democrat' => 4739,
916
+ 'Scottish National Party' => 8078, 'Other' => 1949 },
917
+ 'Glasgow South West' => { 'Conservative' => 2084, 'Labour' => 19_863,
918
+ 'Liberal Democrat' => 2870,
919
+ 'Scottish National Party' => 5192,
920
+ 'Other' => 1772 },
921
+ 'Glenrothes' => { 'Conservative' => 2922, 'Labour' => 25_247,
922
+ 'Liberal Democrat' => 3108,
923
+ 'UK Independence Party' => 425,
924
+ 'Scottish National Party' => 8799 },
925
+ 'Gordon' => { 'Conservative' => 9111, 'Labour' => 9811,
926
+ 'Liberal Democrat' => 17_575,
927
+ 'Scottish National Party' => 10_827, 'Other' => 1451 },
928
+ 'Inverclyde' => { 'Conservative' => 4502, 'Labour' => 20_993,
929
+ 'Liberal Democrat' => 5007,
930
+ 'UK Independence Party' => 433,
931
+ 'Scottish National Party' => 6577 },
932
+ 'Inverness Nairn Badenoch and Strathspey' => { 'Conservative' => 6278,
933
+ 'Labour' => 10_407,
934
+ 'Liberal Democrat' => 19_172, 'UK Independence Party' => 574, 'Scottish National Party' => 8803, 'Other' => 1852 },
935
+ 'Kilmarnock and Loudoun' => { 'Conservative' => 6592, 'Labour' => 24_460,
936
+ 'Liberal Democrat' => 3419,
937
+ 'Scottish National Party' => 12_082 },
938
+ 'Kirkcaldy and Cowdenbeath' => { 'Conservative' => 4258,
939
+ 'Labour' => 29_559,
940
+ 'Liberal Democrat' => 4269,
941
+ 'UK Independence Party' => 760,
942
+ 'Scottish National Party' => 6550,
943
+ 'Other' => 406 },
944
+ 'Lanark and Hamilton East' => { 'Conservative' => 6981,
945
+ 'Labour' => 23_258,
946
+ 'Liberal Democrat' => 5249,
947
+ 'UK Independence Party' => 616,
948
+ 'Scottish National Party' => 9780,
949
+ 'Other' => 670 },
950
+ 'Linlithgow and East Falkirk' => { 'Conservative' => 6146,
951
+ 'Labour' => 25_634,
952
+ 'Liberal Democrat' => 6589,
953
+ 'Scottish National Party' => 13_081 },
954
+ 'Livingston' => { 'Conservative' => 5158, 'Labour' => 23_215,
955
+ 'Liberal Democrat' => 5316,
956
+ 'UK Independence Party' => 443,
957
+ 'Scottish National Party' => 12_424, 'Other' => 1351 },
958
+ 'Midlothian' => { 'Conservative' => 4661, 'Labour' => 18_449,
959
+ 'Liberal Democrat' => 6711,
960
+ 'UK Independence Party' => 364,
961
+ 'Scottish National Party' => 8100, 'Other' => 957 },
962
+ 'Moray' => { 'Conservative' => 10_683, 'Labour' => 7007,
963
+ 'Liberal Democrat' => 5956, 'UK Independence Party' => 1085,
964
+ 'Scottish National Party' => 16_273 },
965
+ 'Motherwell and Wishaw' => { 'Conservative' => 3660, 'Labour' => 23_910,
966
+ 'Liberal Democrat' => 3840,
967
+ 'Scottish National Party' => 7104,
968
+ 'Other' => 609 },
969
+ 'Na h-Eileanan An Iar (Western Isles)' => { 'Conservative' => 647,
970
+ 'Labour' => 4838,
971
+ 'Liberal Democrat' => 1097,
972
+ 'Scottish National Party' => 6723, 'Other' => 1412 },
973
+ 'Ochil and South Perthshire' => { 'Conservative' => 10_342,
974
+ 'Labour' => 19_131,
975
+ 'Liberal Democrat' => 5754,
976
+ 'UK Independence Party' => 689,
977
+ 'Scottish National Party' => 13_944,
978
+ 'Other' => 609 },
979
+ 'Orkney and Shetland' => { 'Conservative' => 2032, 'Labour' => 2061,
980
+ 'Liberal Democrat' => 11_989,
981
+ 'UK Independence Party' => 1222,
982
+ 'Scottish National Party' => 2042 },
983
+ 'Paisley and Renfrewshire North' => { 'Conservative' => 6381,
984
+ 'Labour' => 23_613,
985
+ 'Liberal Democrat' => 4597,
986
+ 'Scottish National Party' => 8333,
987
+ 'Other' => 783 },
988
+ 'Paisley and Renfrewshire South' => { 'Conservative' => 3979,
989
+ 'Labour' => 23_842,
990
+ 'Liberal Democrat' => 3812,
991
+ 'Scottish National Party' => 7228,
992
+ 'Other' => 1137 },
993
+ 'Perth and North Perthshire' => { 'Conservative' => 14_739,
994
+ 'Labour' => 7923,
995
+ 'Liberal Democrat' => 5954,
996
+ 'Scottish National Party' => 19_118,
997
+ 'Other' => 534 },
998
+ 'Renfrewshire East' => { 'Conservative' => 15_567, 'Labour' => 25_987,
999
+ 'Liberal Democrat' => 4720,
1000
+ 'UK Independence Party' => 372,
1001
+ 'Scottish National Party' => 4535 },
1002
+ 'Ross Skye and Lochaber' => { 'Conservative' => 4260, 'Labour' => 5265,
1003
+ 'Liberal Democrat' => 18_335,
1004
+ 'UK Independence Party' => 659,
1005
+ 'Scottish National Party' => 5263,
1006
+ 'Other' => 1056 },
1007
+ 'Rutherglen and Hamilton West' => { 'Conservative' => 4540,
1008
+ 'Labour' => 28_566,
1009
+ 'Liberal Democrat' => 5636,
1010
+ 'UK Independence Party' => 675,
1011
+ 'Scottish National Party' => 7564 },
1012
+ 'Stirling' => { 'Conservative' => 11_254, 'Labour' => 19_558,
1013
+ 'Liberal Democrat' => 6797,
1014
+ 'UK Independence Party' => 395,
1015
+ 'Scottish National Party' => 8091, 'Other' => 746 },
1016
+ # Northern-Ireland
1017
+ 'Antrim East' => { 'Conservative' => 7223, 'Labour' => 2019,
1018
+ 'Liberal Democrat' => 13_993, 'Other' => 5203 },
1019
+ 'Antrim North' => { 'Conservative' => 4634, 'Labour' => 3738,
1020
+ 'Liberal Democrat' => 19_672, 'Other' => 9088 },
1021
+ 'Antrim South' => { 'Conservative' => 10_353, 'Labour' => 2955,
1022
+ 'Liberal Democrat' => 11_536, 'Other' => 4436 },
1023
+ 'Belfast East' => { 'Conservative' => 7305, 'Labour' => 365,
1024
+ 'Liberal Democrat' => 11_306, 'Other' => 14_695 },
1025
+ 'Belfast North' => { 'Conservative' => 2837, 'Labour' => 4544,
1026
+ 'Liberal Democrat' => 14_812, 'Other' => 2212 },
1027
+ 'Belfast South' => { 'Conservative' => 5910, 'Labour' => 14_026,
1028
+ 'Liberal Democrat' => 8100, 'Other' => 6150 },
1029
+ 'Belfast West' => { 'Conservative' => 1000, 'Labour' => 5261,
1030
+ 'Liberal Democrat' => 2436, 'Other' => 596 },
1031
+ 'Down North' => { 'Conservative' => 6817, 'Labour' => 680,
1032
+ 'Other' => 25_734 },
1033
+ 'Down South' => { 'Conservative' => 3093, 'Labour' => 20_648,
1034
+ 'Liberal Democrat' => 3645, 'Other' => 2967 },
1035
+ 'Fermanagh and South Tyrone' => { 'Labour' => 3574, 'Other' => 21_925 },
1036
+ 'Foyle' => { 'Conservative' => 1221, 'Labour' => 16_922,
1037
+ 'Liberal Democrat' => 4489, 'Other' => 3159 },
1038
+ 'Lagan Valley' => { 'Conservative' => 7713, 'Labour' => 1835,
1039
+ 'Liberal Democrat' => 18_199, 'Other' => 7328 },
1040
+ 'Londonderry East' => { 'Conservative' => 6218, 'Labour' => 5399,
1041
+ 'Liberal Democrat' => 12_097, 'Other' => 4494 },
1042
+ 'Newry and Armagh' => { 'Conservative' => 8558, 'Labour' => 10_526,
1043
+ 'Liberal Democrat' => 5764, 'Other' => 1201 },
1044
+ 'Strangford' => { 'Conservative' => 9050, 'Labour' => 2164,
1045
+ 'Liberal Democrat' => 14_926, 'Other' => 5204 },
1046
+ 'Tyrone West' => { 'Conservative' => 5281, 'Labour' => 5212,
1047
+ 'Liberal Democrat' => 7365, 'Other' => 1367 },
1048
+ 'Ulster Mid' => { 'Conservative' => 4509, 'Labour' => 5826,
1049
+ 'Liberal Democrat' => 5876, 'Other' => 3392 },
1050
+ 'Upper Bann' => { 'Conservative' => 10_639, 'Labour' => 5276,
1051
+ 'Liberal Democrat' => 14_000, 'Other' => 1231 }
1052
+ }
1053
+
1054
+ ELECTORAL_SYSTEM = FirstPastThePost.new(LAST_ELECTION_RESULT,
1055
+ LAST_DETAILED_ELECTION_RESULT)
1056
+
1057
+ def area_code
1058
+ 'UK'
1059
+ end
1060
+
1061
+ def population_size
1062
+ # Source: BBC News Election 2010 Results, retrieved on 3 April 2015.
1063
+ # URL: http://news.bbc.co.uk/2/shared/election2010/results/
1064
+ 29_691_380
1065
+ end
1066
+
1067
+ def no_of_seats
1068
+ LAST_DETAILED_ELECTION_RESULT.size
1069
+ end
1070
+
1071
+ def seats(simulation)
1072
+ ELECTORAL_SYSTEM.project(simulation)
1073
+ end
1074
+ end
1075
+ end