Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Generate r2.data files

Language names and count of translated strings are
now pulled from r2.po files
  • Loading branch information...
commit f2214d6079ab240aac856967cdd0a0927f123e53 1 parent b3df8a4
Keith Mitchell authored December 05, 2011

Showing 52 changed files with 112 additions and 64,508 deletions. Show diff stats Hide diff stats

  1. 1  .gitignore
  2. 8  Makefile
  3. 0  __init__.py
  4. 59  gendata.py
  5. 2,794  reddit_i18n/ar/LC_MESSAGES/r2.data
  6. 2  reddit_i18n/ar/LC_MESSAGES/r2.po
  7. 2,337  reddit_i18n/be/LC_MESSAGES/r2.data
  8. 2  reddit_i18n/be/LC_MESSAGES/r2.po
  9. 2,780  reddit_i18n/bg/LC_MESSAGES/r2.data
  10. 2  reddit_i18n/bg/LC_MESSAGES/r2.po
  11. 2,701  reddit_i18n/ca/LC_MESSAGES/r2.data
  12. 2  reddit_i18n/ca/LC_MESSAGES/r2.po
  13. 2,251  reddit_i18n/cs/LC_MESSAGES/r2.data
  14. 2  reddit_i18n/cs/LC_MESSAGES/r2.po
  15. 2,792  reddit_i18n/da/LC_MESSAGES/r2.data
  16. 2  reddit_i18n/da/LC_MESSAGES/r2.po
  17. 2,786  reddit_i18n/de/LC_MESSAGES/r2.data
  18. 2  reddit_i18n/de/LC_MESSAGES/r2.po
  19. 2,703  reddit_i18n/el/LC_MESSAGES/r2.data
  20. 2  reddit_i18n/el/LC_MESSAGES/r2.po
  21. 2,642  reddit_i18n/en-au/LC_MESSAGES/r2.data
  22. 2  reddit_i18n/en-au/LC_MESSAGES/r2.po
  23. 2,697  reddit_i18n/en-ca/LC_MESSAGES/r2.data
  24. 2  reddit_i18n/en-ca/LC_MESSAGES/r2.po
  25. 2,792  reddit_i18n/en-gb/LC_MESSAGES/r2.data
  26. 2  reddit_i18n/en-gb/LC_MESSAGES/r2.po
  27. 2,786  reddit_i18n/en-us/LC_MESSAGES/r2.data
  28. 2,784  reddit_i18n/en/LC_MESSAGES/r2.data
  29. 2  reddit_i18n/en/LC_MESSAGES/r2.po
  30. 2,792  reddit_i18n/eo/LC_MESSAGES/r2.data
  31. 2  reddit_i18n/eo/LC_MESSAGES/r2.po
  32. 2,344  reddit_i18n/es-ar/LC_MESSAGES/r2.data
  33. 2  reddit_i18n/es-ar/LC_MESSAGES/r2.po
  34. 2,792  reddit_i18n/es/LC_MESSAGES/r2.data
  35. 2  reddit_i18n/es/LC_MESSAGES/r2.po
  36. 2,786  reddit_i18n/et/LC_MESSAGES/r2.data
  37. 2  reddit_i18n/et/LC_MESSAGES/r2.po
  38. 2,701  reddit_i18n/fa/LC_MESSAGES/r2.data
  39. 2  reddit_i18n/fa/LC_MESSAGES/r2.po
  40. 2,701  reddit_i18n/fi/LC_MESSAGES/r2.data
  41. 2  reddit_i18n/fi/LC_MESSAGES/r2.po
  42. 2,798  reddit_i18n/fr/LC_MESSAGES/r2.data
  43. 2  reddit_i18n/fr/LC_MESSAGES/r2.po
  44. 2,703  reddit_i18n/he/LC_MESSAGES/r2.data
  45. 2  reddit_i18n/he/LC_MESSAGES/r2.po
  46. 2,703  reddit_i18n/hr/LC_MESSAGES/r2.data
  47. 2  reddit_i18n/hr/LC_MESSAGES/r2.po
  48. 2,642  reddit_i18n/hu/LC_MESSAGES/r2.data
  49. 2  reddit_i18n/hu/LC_MESSAGES/r2.po
  50. 2,699  reddit_i18n/hy/LC_MESSAGES/r2.data
  51. 2  reddit_i18n/hy/LC_MESSAGES/r2.po
1  .gitignore
@@ -24,3 +24,4 @@ r2/myproduction.ini
24 24
 .DS_Store
25 25
 *.egg-info/**
26 26
 build/
  27
+r2.data
8  Makefile
@@ -23,8 +23,12 @@
23 23
 PO_FILES = $(wildcard reddit_i18n/*/LC_MESSAGES/r2.po)
24 24
 MO_FILES = $(PO_FILES:.po=.mo)
25 25
 ZO_FILES = $(PO_FILES:.po=.zo)
  26
+DATA_FILES = $(PO_FILES:.po=.data)
26 27
 
27  
-all: $(MO_FILES)
  28
+all: $(DATA_FILES) $(MO_FILES)
  29
+
  30
+$(DATA_FILES): reddit_i18n/%/LC_MESSAGES/r2.data: reddit_i18n/%/LC_MESSAGES/r2.mo
  31
+	python gendata.py $@
28 32
 
29 33
 $(MO_FILES): %.mo : %.po
30 34
 	msgfmt $< -o $@
@@ -36,6 +40,6 @@ $(ZO_FILES): %.zo : %.po
36 40
 update: $(ZO_FILES)
37 41
 
38 42
 clean:
39  
-	rm -f $(MO_FILES)
  43
+	rm -f $(MO_FILES) $(DATA_FILES)
40 44
 
41 45
 .PHONY: all clean update $(ZO_FILES)
0  __init__.py
No changes.
59  gendata.py
... ...
@@ -0,0 +1,59 @@
  1
+#!/usr/bin/env python
  2
+import gettext
  3
+import json
  4
+import os
  5
+import cPickle as pickle
  6
+import subprocess
  7
+import sys
  8
+
  9
+
  10
+def completion_info(pofile):
  11
+    '''Given a path to a pofile, return a tuple of:
  12
+    (number of strings with translations, total number of strings)
  13
+    
  14
+    '''
  15
+    cmd = "msgattrib  %s --no-obsolete --no-wrap %s | grep '^msgid' | wc -l"
  16
+    translated = subprocess.check_output(cmd % ("--translated", pofile), shell=True)
  17
+    untranslated = subprocess.check_output(cmd % ("--untranslated", pofile), shell=True)
  18
+    translated = int(translated.strip())
  19
+    untranslated = int(untranslated.strip())
  20
+    return translated, translated + untranslated
  21
+
  22
+
  23
+def build_data(datafilename):
  24
+    '''Create an r2.data file for a given language. r2.data is JSON formatted
  25
+    metadata about the translation, with the display name, english name,
  26
+    info on number of translated/untranslated strings, and whether
  27
+    or not the language is currently enabled
  28
+    
  29
+    '''
  30
+    prefix = datafilename[:-4]
  31
+    pofile = prefix + "po"
  32
+    lang_dir = os.path.dirname(os.path.dirname(datafilename))
  33
+    lang = os.path.basename(lang_dir)
  34
+    directory = os.path.dirname(lang_dir)
  35
+    translator = gettext.translation("r2", directory, [lang])
  36
+    lang_info = translator.info()
  37
+    num_completed, num_total = completion_info(pofile)
  38
+    completion = float(num_completed) / float(num_total) * 100.0
  39
+    print "%s: appears %i%% complete" % (lang, completion)
  40
+    
  41
+    en_name = lang_info['display-name-en']
  42
+    if not en_name:
  43
+        raise ValueError("display-name-en not set for " + lang)
  44
+    disp_name = lang_info['display-name']
  45
+    if not disp_name:
  46
+        raise ValueError("display-name not set for " + lang)
  47
+    
  48
+    data = {'en_name': en_name,
  49
+            'name': disp_name,
  50
+            'num_completed': num_completed or 0,
  51
+            'num_total': num_total or 1,
  52
+            '_is_enabled': lang_info.get("enabled", True),
  53
+            }
  54
+    with open(datafilename, "w") as datafile:
  55
+        json.dump(data, datafile)
  56
+
  57
+
  58
+if __name__ == '__main__':
  59
+    build_data(sys.argv[1])
2,794  reddit_i18n/ar/LC_MESSAGES/r2.data
... ...
@@ -1,2794 +0,0 @@
1  
-(dp1
2  
-S'en_name'
3  
-p2
4  
-VArabic
5  
-p3
6  
-sS'num_completed'
7  
-p4
8  
-I248
9  
-sS'name'
10  
-p5
11  
-V\u0627\u0644\u0639\u0631\u0628\u064A\u0629
12  
-p6
13  
-sS'plural_names'
14  
-p7
15  
-(lp8
16  
-Vzero case
17  
-p9
18  
-aVsingular
19  
-p10
20  
-aVdual
21  
-p11
22  
-aVn % 100 >=3 && n % 100 <=10
23  
-p12
24  
-aVn % 100 >=11 && n % 100 <=99) || (n % 100==1
25  
-p13
26  
-aVotherwise
27  
-p14
28  
-asS'source_trans'
29  
-p15
30  
-(dp16
31  
-S'r2/templates/searchbar.html'
32  
-p17
33  
-VAdvanced Search Page
34  
-p18
35  
-sS'r2/templates/buttondemopanel.html'
36  
-p19
37  
-Vbutton page
38  
-p20
39  
-sS'r2/templates/organiclisting.html'
40  
-p21
41  
-Vorganic help
42  
-p22
43  
-sS'r2/templates/admin_sidebar.html'
44  
-p23
45  
-V
46  
-sS'r2/lib/strings.py'
47  
-p24
48  
-VNumber labels and message strings.
49  
-p25
50  
-sS'r2/templates/login.html'
51  
-p26
52  
-Vlogin page
53  
-p27
54  
-sS'r2/templates/createsubreddit.html'
55  
-p28
56  
-Vcreate a reddit
57  
-p29
58  
-sS'r2/templates/page.html'
59  
-p30
60  
-VJavaScript status messages
61  
-p31
62  
-sS'r2/templates/redditpane.html'
63  
-p32
64  
-VFooter
65  
-p33
66  
-sS'r2/templates/base.htmllite'
67  
-p34
68  
-V
69  
-sS'r2/templates/linkcompressed.html'
70  
-p35
71  
-Vcompressed links
72  
-p36
73  
-sS'r2/templates/comment.htmllite'
74  
-p37
75  
-V
76  
-sS'r2/templates/adminpane.html'
77  
-p38
78  
-V
79  
-sS'r2/templates/prefdelete.html'
80  
-p39
81  
-VDelete account
82  
-p40
83  
-sS'r2/templates/prefoptions.html'
84  
-p41
85  
-VOptions pref panel
86  
-p42
87  
-sS'r2/templates/listing.html'
88  
-p43
89  
-VListings
90  
-p44
91  
-sS'r2/templates/prefupdate.html'
92  
-p45
93  
-VPassword update pref page
94  
-p46
95  
-sS'r2/templates/over18.html'
96  
-p47
97  
-V
98  
-sS'r2/templates/printable.html'
99  
-p48
100  
-VListing item template
101  
-p49
102  
-sS'r2/templates/frametoolbar.html'
103  
-p50
104  
-Vthe frame
105  
-p51
106  
-sS'r2/templates/usertableitem.html'
107  
-p52
108  
-V
109  
-sS'r2/templates/subreddit.html'
110  
-p53
111  
-VSubreddit Template
112  
-p54
113  
-sS'r2/templates/morerecursion.html'
114  
-p55
115  
-V
116  
-sS'r2/templates/commentreplybox.html'
117  
-p56
118  
-VComment replying
119  
-p57
120  
-sS'r2/controllers/post.py'
121  
-p58
122  
-VLegal stuff (use the equivalent of 18 for the country ;)
123  
-p59
124  
-sS'r2/templates/link.html'
125  
-p60
126  
-VLink templates
127  
-p61
128  
-sS'r2/controllers/error.py'
129  
-p62
130  
-V
131  
-sS'r2/controllers/front.py'
132  
-p63
133  
-Vvery common strings
134  
-p64
135  
-sS'r2/controllers/api.py'
136  
-p65
137  
-Vupdate messages
138  
-p66
139  
-sS'r2/templates/newlink.html'
140  
-p67
141  
-VSubmit page
142  
-p68
143  
-sS'r2/templates/cornerbar.html'
144  
-p69
145  
-Vcorner buttons
146  
-p70
147  
-sS'r2/templates/widgetdemopanel.html'
148  
-p71
149  
-VWidget Page
150  
-p72
151  
-sS'r2/templates/preffriends.html'
152  
-p73
153  
-VFriends pref panel
154  
-p74
155  
-sS'r2/templates/maintopbar.html'
156  
-p75
157  
-VSearch Button
158  
-p76
159  
-sS'r2/templates/unfoundpage.html'
160  
-p77
161  
-V
162  
-sS'r2/templates/adminadmins.html'
163  
-p78
164  
-V
165  
-sS'r2/templates/base.html'
166  
-p79
167  
-VPoint related
168  
-p80
169  
-sS'r2/templates/feedback.html'
170  
-p81
171  
-Vfeedback page
172  
-p82
173  
-sS'r2/controllers/admin.py'
174  
-p83
175  
-V
176  
-sS'r2/templates/bookmarklets.html'
177  
-p84
178  
-VBookmarklets
179  
-p85
180  
-sS'r2/templates/redditfooter.html'
181  
-p86
182  
-V
183  
-sS'r2/templates/loginformwide.html'
184  
-p87
185  
-V
186  
-sS'r2/templates/userstats.html'
187  
-p88
188  
-VStats Page
189  
-p89
190  
-sS'r2/controllers/feedback.py'
191  
-p90
192  
-VFeedback
193  
-p91
194  
-sS'r2/controllers/errors.py'
195  
-p92
196  
-Verror messages
197  
-p93
198  
-sS'r2/controllers/buttons.py'
199  
-p94
200  
-VButtons
201  
-p95
202  
-sS'r2/templates/comment.html'
203  
-p96
204  
-Vcomments
205  
-p97
206  
-sS'r2/templates/admintranslations.html'
207  
-p98
208  
-V
209  
-sS'r2/templates/redditheader.html'
210  
-p99
211  
-V
212  
-sS'r2/templates/morechildren.html'
213  
-p100
214  
-V
215  
-sS'r2/templates/messagecompose.html'
216  
-p101
217  
-V
218  
-sS'r2/templates/utils.html'
219  
-p102
220  
-V
221  
-sS'r2/lib/translation.py'
222  
-p103
223  
-V
224  
-sS'r2/templates/subredditbox.html'
225  
-p104
226  
-V
227  
-sS'r2/templates/admin.html'
228  
-p105
229  
-V
230  
-sS'r2/templates/base.xml'
231  
-p106
232  
-V
233  
-sS'r2/templates/subredditinfobar.html'
234  
-p107
235  
-V
236  
-sS'r2/templates/profilebar.html'
237  
-p108
238  
-VUser profile page
239  
-p109
240  
-sS'r2/models/subreddit.py'
241  
-p110
242  
-V
243  
-sS'r2/templates/searchform.html'
244  
-p111
245  
-V
246  
-sS'r2/lib/pages.py'
247  
-p112
248  
-Vthe most commonly used strings
249  
-p113
250  
-sS'r2/controllers/listingcontroller.py'
251  
-p114
252  
-VListings
253  
-p115
254  
-sS'r2/templates/loginpanel.html'
255  
-p116
256  
-V
257  
-sS'r2/controllers/validator.py'
258  
-p117
259  
-Vsorting
260  
-p118
261  
-sS'r2/templates/reddit.html'
262  
-p119
263  
-V
264  
-sS'r2/controllers/embed.py'
265  
-p120
266  
-V
267  
-sS'r2/templates/userlist.html'
268  
-p121
269  
-V
270  
-sS'r2/templates/comment.xml'
271  
-p122
272  
-V
273  
-sS'r2/templates/captcha.html'
274  
-p123
275  
-Vcaptcha
276  
-p124
277  
-sS'r2/templates/password.html'
278  
-p125
279  
-VPassword resetting
280  
-p126
281  
-sS'r2/lib/utils.py'
282  
-p127
283  
-Vtime related labels
284  
-p128
285  
-sS'r2/templates/help.html'
286  
-p129
287  
-Vwhat's this?
288  
-p130
289  
-sS'r2/templates/details.html'
290  
-p131
291  
-VDetails page
292  
-p132
293  
-sS'r2/templates/permalinkmessage.html'
294  
-p133
295  
-VPermalink page
296  
-p134
297  
-sS'r2/templates/message.html'
298  
-p135
299  
-VMessaging page
300  
-p136
301  
-sS'r2/templates/linkinfobar.html'
302  
-p137
303  
-V
304  
-sS'r2/lib/menus.py'
305  
-p138
306  
-Vnavigation labels
307  
-p139
308  
-ssS'_is_enabled'
309  
-p140
310  
-I01
311  
-sS'author'
312  
-p141
313  
-c__builtin__
314  
-set
315  
-p142
316  
-((lp143
317  
-S'alwagait'
318  
-p144
319  
-aS'KeyserSosa'
320  
-p145
321  
-atRp146
322  
-sS'enabled'
323  
-p147
324  
-(dp148
325  
-S'657f8b8da628ef83cf69101b6817150a'
326  
-p149
327  
-I01
328  
-sS'5b20d8b07fa333ca0eca4a072d54ccbc'
329  
-p150
330  
-I01
331  
-sS'6ee4249e7dc2bf9c4df6cb32a7fdeeec'
332  
-p151
333  
-I01
334  
-sS'8ce7644e463e3009ef2883e2b143dada'
335  
-p152
336  
-I01
337  
-sS'4d21dd863f26ddf6e2486547d0b9f57f'
338  
-p153
339  
-I01
340  
-sS'0ff381b4e60af45eb98df0d957cf705b'
341  
-p154
342  
-I01
343  
-sS'37b40a4be45ab4f602ca511989a9d953'
344  
-p155
345  
-I01
346  
-sS'b07286ebbb5bc7aa91cc3eaa8bc19711'
347  
-p156
348  
-I01
349  
-sS'070f97dc7f663267e027a60031193f2e'
350  
-p157
351  
-I01
352  
-sS'8a8e023e7f4812250d141c97915511a4'
353  
-p158
354  
-I01
355  
-sS'02daea7cb2cd563f428009c264e870d6'
356  
-p159
357  
-I01
358  
-sS'4236a440a662cc8253d7536e5aa17942'
359  
-p160
360  
-I01
361  
-sS'14c4b06b824ec593239362517f538b29'
362  
-p161
363  
-I01
364  
-sS'3692c2dab02e9fef7a0bcc98eff2dbed'
365  
-p162
366  
-I01
367  
-sS'27792947ed5d5da7c0d1f43327ed9dab'
368  
-p163
369  
-I01
370  
-sS'312db69f5bf4447dfe3c58983083b54f'
371  
-p164
372  
-I01
373  
-sS'425584844eeaa92f8b3d28402995cc7c'
374  
-p165
375  
-I01
376  
-sS'93ed06eed2b3a2333b148de5d26c53fa'
377  
-p166
378  
-I01
379  
-sS'149603e6c03516362a8da23f624db945'
380  
-p167
381  
-I01
382  
-sS'ef4c44fb734fe697d8a7e5da66baea2e'
383  
-p168
384  
-I01
385  
-sS'd5cea23ea7e0e7fc01d2e6e041f15888'
386  
-p169
387  
-I01
388  
-sS'6f02968923de896662662a1192200406'
389  
-p170
390  
-I01
391  
-sS'df76164cabd773fbf684b79dc912fe69'
392  
-p171
393  
-I01
394  
-sS'f7a42fe7211f98ac7a60a285ac3a9e87'
395  
-p172
396  
-I01
397  
-sS'd2971e9e006ed660afaf7dc78ba82785'
398  
-p173
399  
-I01
400  
-sS'69c4b2b92388abf82968497d4a3f1d05'
401  
-p174
402  
-I01
403  
-sS'ba4c9f925df063e91a459492ea6d55ce'
404  
-p175
405  
-I01
406  
-sS'268eddf86b4b0de949f0fa2a93c796ac'
407  
-p176
408  
-I01
409  
-sS'ac6e41bcf39b583d32cb7ee1cccbf58c'
410  
-p177
411  
-I01
412  
-sS'c926deef5f92967c1936d751999f0a1a'
413  
-p178
414  
-I01
415  
-sS'7c116ff7719dad10be0a5263590108e4'
416  
-p179
417  
-I01
418  
-sS'9de4a97425678c5b1288aa70c1669a64'
419  
-p180
420  
-I01
421  
-sS'574c45d8914e9811500d6f59f5412015'
422  
-p181
423  
-I01
424  
-sS'336d5ebc5436534e61d16e63ddfca327'
425  
-p182
426  
-I01
427  
-sS'b00da849b825c883bcb05dc0d8f5d39f'
428  
-p183
429  
-I01
430  
-sS'cd6143f52e65e296f8ee273a0a10e663'
431  
-p184
432  
-I01
433  
-sS'c755df4d4e452104c8ef3e8f75ca0e08'
434  
-p185
435  
-I01
436  
-sS'2afcd03f91c40c484873e27f504b2ea3'
437  
-p186
438  
-I01
439  
-sS'76ea0bebb3c22822b4f0dd9c9fd021c5'
440  
-p187
441  
-I01
442  
-sS'3f1cb4fff3939a925dfd4816b8ac48e4'
443  
-p188
444  
-I01
445  
-sS'792f21aa4d0e8c45a871a8fc7c2a1466'
446  
-p189
447  
-I01
448  
-sS'b1fc80d66cca092a285154884255dfcc'
449  
-p190
450  
-I01
451  
-sS'df43a8a2c40c626c4865cd816d4578fe'
452  
-p191
453  
-I01
454  
-sS'0f9e208182109d3f6507df5cb1ff17cf'
455  
-p192
456  
-I01
457  
-sS'd5b804bafa178039e1d980868e7f9781'
458  
-p193
459  
-I01
460  
-sS'5d9acb81f92c5a26dc83c2d52c09fd3f'
461  
-p194
462  
-I01
463  
-sS'e09f6a7593f8ae3994ea57e1117f67ec'
464  
-p195
465  
-I01
466  
-sS'f0a7d671dede11cc3f72baf1cbbe4682'
467  
-p196
468  
-I01
469  
-sS'b15e0e1a317de01cb07b83cc32f9e644'
470  
-p197
471  
-I01
472  
-sS'2c17c6393771ee3048ae34d6b380c5ec'
473  
-p198
474  
-I01
475  
-sS'4dde6fb5c53f88b1667a862df5da5bf8'
476  
-p199
477  
-I01
478  
-sS'462c59cc6b5a4e86fbea3068de5ae3c3'
479  
-p200
480  
-I01
481  
-sS'8489aa999f4981f3255a66b4b94ddc96'
482  
-p201
483  
-I01
484  
-sS'27f2a7ae376d247fcd7afe9c8869e636'
485  
-p202
486  
-I01
487  
-sS'f53d1cd25e03173ba9eaa4e493636769'
488  
-p203
489  
-I01
490  
-sS'd9a726e6080480da3347b7ec40738d38'
491  
-p204
492  
-I01
493  
-sS'1fe57d6202c7cfbb0ee344b1e0a6fb37'
494  
-p205
495  
-I01
496  
-sS'0efaed8203201850bcaf5215157926b7'
497  
-p206
498  
-I01
499  
-sS'8e5083fc93d4eefeb53f93acbc3438dd'
500  
-p207
501  
-I01
502  
-sS'1a9cf2a35566aa0d0928311c31da9c4b'
503  
-p208
504  
-I01
505  
-sS'e99e6b710e4f01ad6d8f044e8ef5d9d0'
506  
-p209
507  
-I01
508  
-sS'ab7e16d80913e3e4f0b1d3a61cbf6749'
509  
-p210
510  
-I01
511  
-sS'011ea467c0fca8314c36fe93eec76f9f'
512  
-p211
513  
-I01
514  
-sS'9de27b3f61051445520a406b45e996e9'
515  
-p212
516  
-I01
517  
-sS'50a34b4cf3d7a526dcfadf01c0f282e7'
518  
-p213
519  
-I01
520  
-sS'f5ebc4996f23125ce7224d2fca606f4d'
521  
-p214
522  
-I01
523  
-sS'7ddd9f72101f56a8d47d473692e3ccae'
524  
-p215
525  
-I01
526  
-sS'2691bf993a61225f99bc1266796a545c'
527  
-p216
528  
-I01
529  
-sS'f57b88a2aa16c30e79b5f7aa5e9e41f5'
530  
-p217
531  
-I01
532  
-sS'447b7147e84be512208dcc0995d67ebc'
533  
-p218
534  
-I01
535  
-sS'80a21f7e349dcaf8eddcda4abdb990d5'
536  
-p219
537  
-I01
538  
-sS'6de9f7a09559b2da22acdf258313c88c'
539  
-p220
540  
-I01
541  
-sS'a30740cc750b5d46bad023c6cc5f7f8f'
542  
-p221
543  
-I01
544  
-sS'79faee22b4c1a721f942da3c2d0537e3'
545  
-p222
546  
-I01
547  
-sS'aacd1813af51133a1289a5e1a08cb857'
548  
-p223
549  
-I01
550  
-sS'84f1c3bbac83f5c983f1927730d83688'
551  
-p224
552  
-I01
553  
-sS'a2e836e9a0993c52e1deabc7ec104afa'
554  
-p225
555  
-I01
556  
-sS'aca862914626433406721ae9b87d7136'
557  
-p226
558  
-I01
559  
-sS'b0790944abc320cca4a8511c94f844e1'
560  
-p227
561  
-I01
562  
-sS'8765c4c4fa2abbf1a11c01f99f8aff0c'
563  
-p228
564  
-I01
565  
-sS'bc4563775fea610372a6e17ff4e72ce6'
566  
-p229
567  
-I01
568  
-sS'a95d51d858b26d6405c2fafa213ea318'
569  
-p230
570  
-I01
571  
-sS'8b1f43cde0957f4d91060c60d788f04d'
572  
-p231
573  
-I01
574  
-sS'54e03c3ed1f796105f0062b9f689449f'
575  
-p232
576  
-I01
577  
-sS'18b6e287f32292eb6fbc210dc61c305d'
578  
-p233
579  
-I01
580  
-sS'915342f564941c1b9def4b6442e60690'
581  
-p234
582  
-I01
583  
-sS'ef382b2ddbbb9daeb680fc5b55a4dcc5'
584  
-p235
585  
-I01
586  
-sS'd1cf021ae8908663e481500fdf20dde1'
587  
-p236
588  
-I01
589  
-sS'1b5c872c6db42428c4833c8bd93b60c1'
590  
-p237
591  
-I01
592  
-sS'3af8f5f056350feddce84b541afe02ff'
593  
-p238
594  
-I01
595  
-sS'6b8f3ee52c3e6074bd7ab968bd83cc40'
596  
-p239
597  
-I01
598  
-sS'681ea07192a85ae352d6a5b4d42114b1'
599  
-p240
600  
-I01
601  
-sS'd41d8cd98f00b204e9800998ecf8427e'
602  
-p241
603  
-I00
604  
-sS'5fa3852b08951fcdc4d2e60f89a85bfe'
605  
-p242
606  
-I01
607  
-sS'80a054169e9a5309294d65e6d5daea40'
608  
-p243
609  
-I01
610  
-sS'ae9778bc5612180e801f9f0c0198a74a'
611  
-p244
612  
-I01
613  
-sS'89abbed391cb1123178204142d0faad8'
614  
-p245
615  
-I01
616  
-sS'146aa95794031ad602a9c55ef90fe9a9'
617  
-p246
618  
-I01
619  
-sS'bbfba9ae31d3dbcb45551077d15adc59'
620  
-p247
621  
-I01
622  
-sS'cab194cb7d7e3d6746d44fb63306301f'
623  
-p248
624  
-I01
625  
-sS'662f707d5491e9bce8238a6c0be92190'
626  
-p249
627  
-I01
628  
-sS'595a70c9ae8c462b2fb8917b67119310'
629  
-p250
630  
-I01
631  
-sS'd2b4ac54d2fc7be0e7e071afbfd2a8bc'
632  
-p251
633  
-I01
634  
-sS'bacbe7374a20d4834341de97b97afb9f'
635  
-p252
636  
-I01
637  
-sS'd3f8db4e6cf15210920edaac718edce0'
638  
-p253
639  
-I01
640  
-sS'5ff900f4cee65b18842dc5bcbea5f4b3'
641  
-p254
642  
-I01
643  
-sS'ad8dc1c36379e16af0c0bcff71503abc'
644  
-p255
645  
-I01
646  
-sS'973fe54a97d8c75dd873a9bc80465c01'
647  
-p256
648  
-I01
649  
-sS'902d431def41988d0d5dcb8b07db56e7'
650  
-p257
651  
-I01
652  
-sS'b3e4d8d61f99bac80e6aa1774d73445b'
653  
-p258
654  
-I01
655  
-sS'ed2b5c0139cec8ad2873829dc1117d50'
656  
-p259
657  
-I01
658  
-sS'9020afdd42b8c105513df7eae7f321b0'
659  
-p260
660  
-I01
661  
-sS'6dd21cc47eb664e50778fce825332e3b'
662  
-p261
663  
-I01
664  
-sS'1fe917b01f9a3f87fa2d7d3b7643fac1'
665  
-p262
666  
-I01
667  
-sS'e909768087cc439379b6511ad847dca6'
668  
-p263
669  
-I01
670  
-sS'85e47ac07ac9d6416168a97e33fa969a'
671  
-p264
672  
-I01
673  
-sS'4eb7ea6f2cd02d5bab56c409a6515032'
674  
-p265
675  
-I01
676  
-sS'2e1c7419d51335739a72fb7a8f4f455e'
677  
-p266
678  
-I01
679  
-sS'532c28d5412dd75bf975fb951c740a30'
680  
-p267
681  
-I01
682  
-sS'859389be31aea0ff41abb8c7bc0f9226'
683  
-p268
684  
-I01
685  
-sS'e4716c323200096ddf06510e85ca0b21'
686  
-p269
687  
-I01
688  
-sS'25179e94768a9d658bda4d20ac6715f7'
689  
-p270
690  
-I01
691  
-sS'05859813c4cc760b54413c65dd2f579f'
692  
-p271
693  
-I01
694  
-sS'a6b4363509387463177ea2c7f4b5dee5'
695  
-p272
696  
-I01
697  
-sS'27a508d1f4f63e2958d2bb4f052c58d6'
698  
-p273
699  
-I01
700  
-sS'530e3eddc459ddda92cb881175c410de'
701  
-p274
702  
-I01
703  
-sS'a181a603769c1f98ad927e7367c7aa51'
704  
-p275
705  
-I01
706  
-sS'3b02f1443f51f9ead12463d3c98bc878'
707  
-p276
708  
-I01
709  
-sS'5f5f57e5f7333f37f31e2b4a78b9dc85'
710  
-p277
711  
-I01
712  
-sS'13b3f3e76ed018a105bdeac77aa8967e'
713  
-p278
714  
-I01
715  
-sS'5e2f3f2fb09a9bef701513ac01883da7'
716  
-p279
717  
-I01
718  
-sS'4ebb3844d13651e0987c4fb9b118af14'
719  
-p280
720  
-I01
721  
-sS'072d32bf5255d211b1b5d58167bde2fb'
722  
-p281
723  
-I01
724  
-sS'cfc1d84ecac79bb8e786a359aeaf052f'
725  
-p282
726  
-I01
727  
-sS'e8dc3756054333e79a86263a49edd614'
728  
-p283
729  
-I01
730  
-sS'30eb917adf3bcfc20b3e3051fac45ce2'
731  
-p284
732  
-I01
733  
-sS'5ae7f1b320db21428d73f720f80ff591'
734  
-p285
735  
-I01
736  
-sS'0f6969d7052da9261e31ddb6e88c136e'
737  
-p286
738  
-I01
739  
-sS'7ddf32e17a6ac5ce04a8ecbf782ca509'
740  
-p287
741  
-I01
742  
-sS'940718ee8e911f911b77b4f7cd640023'
743  
-p288
744  
-I01
745  
-sS'edcb113b02dd5bfd51dde3f5b7d24604'
746  
-p289
747  
-I01
748  
-sS'73bdbd7a022fe5fb89f57495a1a8e387'
749  
-p290
750  
-I01
751  
-sS'bf397da9dfdd34d9e18e61e936365b86'
752  
-p291
753  
-I01
754  
-sS'45a4774f221f48d555f246d93347690c'
755  
-p292
756  
-I01
757  
-sS'2d4816592b9bd677f8991d46d26d5d45'
758  
-p293
759  
-I01
760  
-sS'f4df307983310aced97bb1d732d63cc0'
761  
-p294
762  
-I01
763  
-sS'530e957234407481e5bf41b3bad73af2'
764  
-p295
765  
-I01
766  
-sS'e08950ad9973dbdf322c38d13a3e4870'
767  
-p296
768  
-I01
769  
-sS'630519ffc7180eee23334565cc396de9'
770  
-p297
771  
-I01
772  
-sS'691ce9be79afb532d99b698d5f35e226'
773  
-p298
774  
-I01
775  
-sS'fc5480448da8bea315f816bc1c2ca492'
776  
-p299
777  
-I01
778  
-sS'2dc6a2b95cf5dc05a8962b8c7720d8ef'
779  
-p300
780  
-I01
781  
-sS'26ed75b13a63f003eb3286c1bfc91f71'
782  
-p301
783  
-I01
784  
-sS'cafcb05cdaf7695595c4589701a4824d'
785  
-p302
786  
-I01
787  
-sS'9ff9e000b837f91d6b0f89d0f0a8242b'
788  
-p303
789  
-I01
790  
-sS'46b3931b9959c927df4fc65fdee94b07'
791  
-p304
792  
-I01
793  
-sS'dd8a05818a3d548cd70f28e05190c527'
794  
-p305
795  
-I01
796  
-sS'a489d02fc4285c69089be49148a85192'
797  
-p306
798  
-I01
799  
-sS'65b5ad6c2885d6faa2b1df1d7c05579c'
800  
-p307
801  
-I01
802  
-sS'45ac45596799690b02a7f47702a69466'
803  
-p308
804  
-I01
805  
-sS'2655b1d07384ba7c23491888bbd8b4ba'
806  
-p309
807  
-I01
808  
-sS'ed29cb8126810c52ab901cf1730d17d3'
809  
-p310
810  
-I01
811  
-sS'3af00c6cad11f7ab5db4467b66ce503e'
812  
-p311
813  
-I01
814  
-sS'18fbba3531446a22610b732823014df1'
815  
-p312
816  
-I01
817  
-sS'a44f8048f45c2cee8680464289352f61'
818  
-p313
819  
-I01
820  
-sS'd44828c2dcf632d5aa722eca860e7a7c'
821  
-p314
822  
-I01
823  
-sS'6a1fccefbc7f074b5017884743cde766'
824  
-p315
825  
-I01
826  
-sS'ff06c4cc8234c6b85e77a7ca5e715303'
827  
-p316
828  
-I01
829  
-sS'c421e33b717d2ff7e47cd6f63f79a721'
830  
-p317
831  
-I01
832  
-sS'cb7ae2b15f668a4716931b9b35804604'
833  
-p318
834  
-I01
835  
-sS'09286af346951f520509c5702db7625e'
836  
-p319
837  
-I01
838  
-sS'c46c4f7aaf7bb0ac4d7efdee9230bdef'
839  
-p320
840  
-I01
841  
-sS'a8445719836f2d5e8b51986410e14728'
842  
-p321
843  
-I01
844  
-sS'85ee476dae32dc64558cb160a48248a8'
845  
-p322
846  
-I01
847  
-sS'43781db5c40ecc39fd718685594f0956'
848  
-p323
849  
-I01
850  
-sS'922032c9e7b5bac18c0987cbfc4eeeb4'
851  
-p324
852  
-I01
853  
-sS'a8dd55fbeebea0f13d5bddd3b484574a'
854  
-p325
855  
-I01
856  
-sS'710d55c01db50444843cd014d6f7cb98'
857  
-p326
858  
-I01
859  
-sS'eec6aca33c6b1ffbf3b3acaac73b523d'
860  
-p327
861  
-I01
862  
-sS'93c731f1c3a84ef05cd54d044c379eaa'
863  
-p328
864  
-I01
865  
-sS'a77fd95735ddac03710178bed92b4441'
866  
-p329
867  
-I01
868  
-sS'8f25eb2ace3a8046b7b5502b4af654b1'
869  
-p330
870  
-I01
871  
-sS'0876018b57b20cdce47c9c2c5a6ecee2'
872  
-p331
873  
-I01
874  
-sS'6eca37e6ee995a6c24553a27b250a8fe'
875  
-p332
876  
-I01
877  
-sS'666daf70d41c240ec1a1593e554acfdb'
878  
-p333
879  
-I01
880  
-sS'95d2bb361dca13adfe231559c238c5b8'
881  
-p334
882  
-I01
883  
-sS'97dd570c118931e51d3461e984f30e55'
884  
-p335
885  
-I01
886  
-sS'd374a61c1bc4e7281c59d57ecc69c5c2'
887  
-p336
888  
-I01
889  
-sS'b336b687b17dce8e1eb3f5efe31a1ed6'
890  
-p337
891  
-I01
892  
-sS'a6652f46c0a7c4d694460fcba7687851'
893  
-p338
894  
-I01
895  
-sS'5f4dcc3b5aa765d61d8327deb882cf99'
896  
-p339
897  
-I01
898  
-sS'789183b7e98646c11d5f0544c8f3c4c9'
899  
-p340
900  
-I01
901  
-sS'0d040a8419311029c82f6b1253e2fd6e'
902  
-p341
903  
-I01
904  
-sS'799a34b4e37a2bc24b60bb669b312466'
905  
-p342
906  
-I01
907  
-sS'e6a6832cd382f51b51bc99dfe6b50a2d'
908  
-p343
909  
-I01
910  
-sS'6f7704ea3472cc2c5b08f73489d12e58'
911  
-p344
912  
-I01
913  
-sS'aff4284aa2e23f2462462ac0c43bccb9'
914  
-p345
915  
-I01
916  
-sS'fe4a81372fb0ac53732e5b563bb251cf'
917  
-p346
918  
-I01
919  
-sS'd13ed64a21d39998b7c2f7720558c05f'
920  
-p347
921  
-I01
922  
-sS'e2015682eb017890a400a7ae11453320'
923  
-p348
924  
-I01
925  
-sS'946b508bf419856e7bcd38906e10dbea'
926  
-p349
927  
-I01
928  
-sS'43a61528c7da53d7abf279963ff98a74'
929  
-p350
930  
-I01
931  
-sS'5727f74aa1e762116f4d7152f7c3fef7'
932  
-p351
933  
-I01
934  
-sS'a9857bd23caafbe1ddacdb7a7c2cdbf7'
935  
-p352
936  
-I01
937  
-sS'38332dc0c3ca19f4fc3fc46728002c03'
938  
-p353
939  
-I01
940  
-sS'2977b5fd9bf5171bcf88111a9a421c7d'
941  
-p354
942  
-I01
943  
-sS'e1dc20c714677c7fc6797848e9dc91b3'
944  
-p355
945  
-I01
946  
-sS'93aab54210dc87a64f14c15127774d4a'
947  
-p356
948  
-I01
949  
-sS'29091003a66c5788f15bb119da7cf8f7'
950  
-p357
951  
-I01
952  
-sS'c85695ae7d0599cac4e766fcd1cda49d'
953  
-p358
954  
-I01
955  
-sS'd448efd52265e9c5121dd81cf16dc783'
956  
-p359
957  
-I01
958  
-sS'8d0db523cc4a7b22dc202645a6f397df'
959  
-p360
960  
-I01
961  
-sS'4932a9f06aadb0aad1d34df5f2c3672a'
962  
-p361
963  
-I01
964  
-sS'67f1992d5f13c9470492565b82bfaa4d'
965  
-p362
966  
-I01
967  
-sS'ef7ec22c52151d544232216556b0eb2c'
968  
-p363
969  
-I01
970  
-sS'0d44925a2157057160fe14d36f97bcee'
971  
-p364
972  
-I01
973  
-sS'66a459a8d8d5c21600064e75f77b73a2'
974  
-p365
975  
-I01
976  
-sS'9e3cf38b084ca0c8d935604b3eb63ff6'
977  
-p366
978  
-I01
979  
-sS'4ae00aba2bfb97e2e17f204962868904'
980  
-p367
981  
-I01
982  
-sS'443afd6772fcbcf1aebebfc0af8c116e'
983  
-p368
984  
-I01
985  
-sS'9366282e11c151558bdfaab4a264aa1b'
986  
-p369
987  
-I01
988  
-sS'f340c730159aedc50965cfff3522b6a2'
989  
-p370
990  
-I01
991  
-sS'cef12abc591d646c686d52921e49002f'
992  
-p371
993  
-I01
994  
-sS'13e5144ecd8eeb94b186fc946219af01'
995  
-p372
996  
-I01
997  
-sS'e633f9928f1dc1bb7e8fe928d04ab35a'
998  
-p373
999  
-I01
1000  
-sS'd5aaeb0ea0aa14259a644cf9b625bb9e'
1001  
-p374
1002  
-I01
1003  
-sS'9d2b1ad5bbc16c44d49116dc213c53f2'
1004  
-p375
1005  
-I01
1006  
-sS'3fff2268963004598965ca75aaf7b564'
1007  
-p376
1008  
-I01
1009  
-sS'd0d9617c0dd378cbd14d23d22e516291'
1010  
-p377
1011  
-I01
1012  
-sS'3ee2672910e18c6a2d41eb15750de8ca'
1013  
-p378
1014  
-I01
1015  
-sS'8f665cfe6b4ab19a2696de21e6f35f0c'
1016  
-p379
1017  
-I01
1018  
-sS'1274303f27a658c430f1db7b797a2304'
1019  
-p380
1020  
-I01
1021  
-sS'a10311459433adf322f2590a4987c423'
1022  
-p381
1023  
-I01
1024  
-sS'06f8f13cbf3a59f35fceed801b954bff'
1025  
-p382
1026  
-I01
1027  
-sS'6d325f3293b99bb8d9d4974f773d2ad8'
1028  
-p383
1029  
-I01
1030  
-sS'1876a0ede272bc1bd21883da0a81aaa5'
1031  
-p384
1032  
-I01
1033  
-sS'44fc59e619cca54ecf91ae34ab4bd270'
1034  
-p385
1035  
-I01
1036  
-sS'b836edadd68a1028fc608b7e21963016'
1037  
-p386
1038  
-I01
1039  
-sS'2a379d2a3e23dffda57db55dcfae529e'
1040  
-p387
1041  
-I01
1042  
-sS'59656f21f99da4bb415b6e272b80e077'
1043  
-p388
1044  
-I01
1045  
-sS'4d58f81ea04fb2ef8161b4155ad70771'
1046  
-p389
1047  
-I01
1048