238:, etc.). The other is "First phrase", which takes whatever the first characters before any punctuation in the reference text are. The extraction of years works in a similar way. If a date is available in COinS, the greatest integer in it is treated as the year. In case it's not, you may opt in to use any first-occurring four-digit number in the reference text. To avoid collisions, autogenerated names are compared against each other and against the existing ref names within the source. If a name is already taken, a number is appended. You can then manually edit the generated ref names in the table. Clicking Continue opens the editing page with the modified source and diff preloaded.
495:
905:
446:
506:
472:
461:
66:
31:
916:
You may create a translated version of this script with the following code. Note though that the script is built on the assumption that COinS metadata is usually available, which may not be the case on your wiki, and that your wiki may have other needs or conventions in ref names the script does not
136:
Installing it adds the link "RefRenamer" to the Tools section of the sidebar on pages related to existing wikipages, which opens a dialog. If it's opened while editing, the source in the edit box will be parsed (slower); otherwise the latest version of the page will be analyzed.
545:
Opens the editing page with the modified source and diff preloaded. Saves the options to your browser's local storage so they will be loaded the next time you open the dialog. Gives you an error instead if there are invalid or duplicate names or if no names have been
597:
While the script has checks in place for invalid or duplicate names, there might be unforeseen cases where it removes or replaces something it shouldn't. Please use it at your own risk (as you must any script) and make sure the result is correct before/after saving.
250:
Here you can choose which properties to look for and reorder the priority by dragging the items. If no properties specified here are available in a reference, the textbox in the table will be left blank (which means the name will not be replaced unless input
202:
When the dialog is opened, only references with autogenerated names (":0", "auto1", etc.) are eligible for being renamed. Other named references are listed in the other tab, and you can make them eligible by clicking "+" or "Add all".
576:
are not detected and will not be replaced. The script may warn you if it detects such a template is likely using one of the ref names that may be renamed, but the detection is not perfect so always check the result before/after
617:
in your common.js. For example, this code renames references with an author last name, a year, and a page number to "Chen 2017 p. 1", "Chen 2017 pp. 2-3", etc., depending on the value of the page number.
368:
If a year is found and the name is already used, append a lowercase Latin letter (e.g. "Jones-2023a") instead of a number. Regardless of the choice in "Collision resolution", the first item will have "a".
441:
Here you can see and change the new name generated based on the options above. Leave it empty to keep the original name. Hitting Enter here has the same effect as clicking the
Continue button.
319:
If no COinS metadata is available, "Domain" is taken from the first link in the reference. "First phrase" takes whatever the first characters before any punctuation in the reference text are.
467:
List of properties RefRenamer found in COinS metadata or reference text. Clicking on an item inserts the value into the textbox. Property keys are shown alongside the values for reference.
899:
after the callback runs, RefRenamer will use the string as the new name for the reference. The automatic collision resolution will still take place.
350:
If this is checked and a COinS date is not availabe, any first-occurring four-digit number in the reference text will be appended to the string.
456:
options (even if they have been changed since "Apply" was last clicked)βexcept "Remove unreused names" so it won't uncheck the checkbox.
390:
If this is checked, the delimiters will be inserted only if the preceding character is a numeral (e.g. "Lee2015" instead of "Lee-2015").
334:
These affect the main string found through the fallback stack. You can remove spaces by leaving the "Replace space with" textbox blank.
613:
You may generate ref names in more complex ways than the script's GUI allows, by adding a callback to the MediaWiki front-end hook
130:
1818:
129:
tags with something descriptive like "Smith-2015". It was developed with focus on names like ":0", ":1" and so on, which are
588:(which is technically allowed), both references are ignored because the script can't match up the names and the references.
1603:'The following names have been ignored because it could not be determined which references correspond to them:'
181:
42:
1824:
539:
Adds all references with autogenerated names to "References to rename", and all others to "Other named references".
512:
Moves the reference from "Other named references" to "References to rename" and generates a new name based on the
190:
1827:β Warns when you try to use "Preview page with this template" with a page that doesn't transclude the template.
1749:
529:
Adds all references in "Other named references" to "References to rename" and generates new names based on the
114:
1651:'//en.wikipedia.org/search/?title=User:Nardog/RefRenamer.js&action=raw&ctype=text/javascript'
580:
If two references have names that differ only in the number of underscores or in space vs. underscore, as in
172:'//en.wikipedia.org/search/?title=User:Nardog/RefRenamer.js&action=raw&ctype=text/javascript'
1682:
1676:
904:
1806:
1790:
362:"), convert it to ASCII Western Arabic numerals ("2015"). Shown only if a non-ASCII year has been found.
1846:
1812:
881:β an object consisting of keyβvalue pairs of properties obtained from COinS metadata and reference text
868:
is an object containing information about each reference. It comes with two properties and one method:
1800:
1755:
1698:
255:
109:
47:
1708:
410:
Regenerates the new names using the above options. Any changes made in the table will be discarded.
146:
133:, so by default it only renames them, but you can rename other names found in the source as well.
1803:β Autofills "Preview page with this template" with the most relevant /testcases page that exists.
1714:
1692:
1726:
602:
215:
211:
478:
If a checkbox appears inside the textbox, it means the reference is used only once (i.e. no
1761:
1743:
8:
1730:
1720:
186:
1777:
1695:β Adds links to diffs of consecutive edits by the same user on watchlist, history, etc.
1711:β Adds a button to copy the unencoded page title or section path next to each heading.
1809:β Links "diff" and "hist" for category additions/removals on Watchlist/RecentChanges.
232:
222:
494:
1765:
207:
1729:β Makes links and template calls in diffs clickable (supports red links, avoids
445:
1780:β Converts each piped link to a non-piped one if both lead to the same article.
505:
1686:
452:
Discards any changes made in the textbox and regenerates a new name using the
1840:
1774:β Replaces reference names like ":0" with descriptive ones like "Smith-2015".
570:
1658:
501:
Moves the reference from "References to rename" to "Other named references".
471:
460:
1567:'The following names are invalid as they consist only of numerals:'
76:
Replaces reference names like ":0" with descriptive ones like "Smith-2015"
416:
Restores the script's default options. Does not regenerate new names yet.
17:
533:
options (even if they have been changed since "Apply" was last clicked).
516:
options (even if they have been changed since "Apply" was last clicked).
65:
1797:
as you edit so only the modified section will be linked in the summary.
1579:'The following names are already used or input more than once:'
560:
206:
The script relies on two main sources for generating new names. One is
1815:β Upload an image to Commons from anywhere on the site by pasting it.
1591:'Ref names in the following templates will not be replaced:'
429:
Original name of the reference. The references are sorted by this.
1689:, e.g. changing the color theme and enabling live autocompletion.
1821:β Sorts the list of local accounts on CentralAuth by edit count.
1758:β Insert any character by searching in the entire Unicode chart.
37:
Warning: You take full responsibility for any action you perform
384:
String to be inserted before a year or increment. May be empty.
95:
1679:β Lists recent category additions/removals on a category page.
1764:β Type in IPA symbols by directly looking at an IPA key like
1746:β Adds an undo button to each line on the diff while editing.
1723:β Hides specified users' edits on Watchlist/RecentChanges.
1543:'The source does not contain ref names to rename.'
1701:β Adds a button to copy the content of each code block (
46:
and use this tool within these policies, or risk being
125:
This is a script for replacing the name attributes of
908:
under "New name" for what properties are available.
356:
If the year uses language-specific numerals (e.g. "
340:If this is checked, the greatest integer in COinS
194:and click "Install" in the infobox on this page.
1838:
887:β returns an HTML element for the reference text
1717:β Lists the past moves a page has gone through.
1291:'Insert delimiters only after numerals'
601:Excessive use of this script may be considered
254:Properties correspond to COinS as follows (see
1663:
357:
396:If the reference is used only once (i.e. no
1231:'Append Latin letters on collision'
608:
486:part entirely rather than replace the name.
404:part entirely rather than replace the name.
1447:'Remove from references to rename'
378:What to do in case a name is already used.
64:
1207:'Fall back on any 4-digit number'
14:
1839:
1555:'No names have been modified.'
1662:
1507:'Add to references to rename'
387:Insert delimiters only after numerals
1627:'Renamed references using ]'
480:<ref name="..." />
398:<ref name="..." />
39:using RefRenamer. You must read and
25:
358:
23:
24:
1858:
1399:'Reapply current options'
365:Append Latin letters on collision
1459:'Other named references'
1411:'View/insert properties'
903:
556:Ref names inside templates like
504:
498:Remove from references to rename
493:
470:
459:
444:
344:will be appended to the string.
29:
1303:'Remove unreused names'
1243:'Collision resolution:'
967:'Loading the source...'
955:'Loading RefRenamer...'
911:
347:Fall back on any 4-digit number
140:
1351:'References to rename'
1027:'Main fallback stack:'
550:
115:User:Nardog/RefRenamer-core.js
13:
1:
1183:'Replace space with:'
1003:'Opening the diff...'
991:'Parsing wikitext...'
435:Output text of the reference.
210:metadata, which is output by
86: (13 months ago)
1768:and clicking on the symbols.
1615:'Replaced ] using ]'
1171:'Remove punctuation'
1075:'Periodical/website'
891:If a string is added to the
482:). Uncheck it to remove the
7:
1423:'Uncheck to remove'
1159:'Remove diacritics'
635:'refrenamer.rename'
509:Add to references to rename
10:
1863:
1819:SortCentralAuthByEditCount
1219:'Convert to ASCII'
592:
241:
1685:β Allows customizing the
1669:
1531:'Reset selection'
979:'Loading HTML...'
875:β original reference name
420:
256:Module:Citation/CS1/COinS
131:generated by VisualEditor
110:User:Nardog/RefRenamer.js
102:
90:
80:
72:
63:
919:
620:
609:Advanced name generation
520:
197:
151:
1752:β Expands contractions.
449:Reapply current options
311:Domain: Extracted from
94:Chrome, Firefox, etc. (
1793:β Adds or refines the
1471:'(not reused)'
1135:'First phrase'
464:View/insert properties
180:Or you may enable the
1267:'$ 1, $ 2...'
393:Remove unreused names
145:Add the following to
1825:TemplatePreviewGuard
1279:'Delimiter:'
1051:'First name'
943:'RefRenamer'
375:Collision resolution
279:Periodical/website:
49:blocked from editing
1672:Extra functionality
1363:'Reference'
1147:'Lowercase'
1087:'Publisher'
1039:'Last name'
895:object as property
247:Main fallback stack
60:
1795:/* section link */
1750:ExpandContractions
1738:Editing assistance
1495:'Collapse'
1435:'(Remove)'
1375:'New name'
1285:delimitConditional
1015:'Continue'
928:refrenamerMessages
331:Replace space with
328:Remove punctuation
58:
43:Knowledge policies
1847:Knowledge scripts
1834:
1833:
1519:'Add all'
1453:otherTableCaption
1261:incrementExamples
1255:'Example'
1099:'Article'
615:refrenamer.rename
475:Uncheck to remove
325:Remove diacritics
123:
122:
56:
55:
1854:
1796:
1766:Help:IPA/English
1704:
1683:CodeEditorAssist
1677:CatChangesViewer
1664:Nardog's scripts
1660:
1659:
1655:
1652:
1649:
1646:
1643:
1640:
1637:
1634:
1631:
1628:
1625:
1622:
1619:
1616:
1613:
1610:
1607:
1604:
1601:
1598:
1595:
1592:
1589:
1586:
1583:
1580:
1577:
1574:
1571:
1568:
1565:
1562:
1559:
1556:
1553:
1550:
1547:
1544:
1541:
1538:
1535:
1532:
1529:
1526:
1523:
1520:
1517:
1514:
1511:
1508:
1505:
1502:
1499:
1496:
1493:
1490:
1487:
1484:
1483:'Expand'
1481:
1478:
1475:
1472:
1469:
1466:
1463:
1460:
1457:
1454:
1451:
1448:
1445:
1442:
1439:
1436:
1433:
1430:
1427:
1424:
1421:
1418:
1415:
1412:
1409:
1406:
1403:
1400:
1397:
1394:
1391:
1388:
1385:
1382:
1379:
1376:
1373:
1370:
1367:
1364:
1361:
1358:
1355:
1352:
1349:
1346:
1343:
1340:
1337:
1334:
1331:
1328:
1325:
1322:
1319:
1316:
1313:
1310:
1307:
1304:
1301:
1298:
1295:
1292:
1289:
1286:
1283:
1280:
1277:
1274:
1271:
1268:
1265:
1262:
1259:
1256:
1253:
1250:
1249:incrementExample
1247:
1244:
1241:
1238:
1235:
1232:
1229:
1226:
1223:
1220:
1217:
1214:
1211:
1208:
1205:
1202:
1199:
1196:
1193:
1190:
1187:
1184:
1181:
1178:
1175:
1172:
1169:
1166:
1163:
1160:
1157:
1154:
1151:
1148:
1145:
1142:
1139:
1136:
1133:
1130:
1127:
1124:
1123:'Domain'
1121:
1118:
1115:
1112:
1109:
1106:
1103:
1100:
1097:
1094:
1091:
1088:
1085:
1082:
1079:
1076:
1073:
1070:
1067:
1064:
1063:'Author'
1061:
1058:
1055:
1052:
1049:
1046:
1043:
1040:
1037:
1034:
1031:
1028:
1025:
1022:
1019:
1016:
1013:
1010:
1007:
1004:
1001:
998:
995:
992:
989:
986:
983:
980:
977:
974:
971:
968:
965:
962:
959:
956:
953:
950:
947:
944:
941:
938:
935:
932:
929:
926:
923:
907:
898:
894:
886:
880:
874:
867:
861:
858:
855:
852:
849:
846:
843:
840:
837:
834:
831:
828:
825:
822:
819:
816:
813:
810:
807:
804:
801:
798:
795:
792:
789:
786:
783:
780:
777:
774:
771:
768:
765:
762:
759:
756:
753:
750:
747:
744:
741:
738:
735:
732:
729:
726:
723:
720:
717:
714:
711:
708:
705:
702:
699:
696:
693:
690:
687:
684:
681:
678:
675:
672:
669:
666:
663:
660:
657:
654:
651:
648:
645:
642:
639:
636:
633:
630:
627:
624:
616:
587:
583:
575:
569:
565:
559:
508:
497:
485:
484: name="..."
481:
474:
463:
448:
403:
402: name="..."
399:
361:
360:
353:Convert to ASCII
343:
314:
308:
302:
298:
292:
288:
282:
276:
270:
264:
258:for the logic):
237:
231:
227:
221:
193:
182:script installer
176:
173:
170:
167:
164:
161:
158:
155:
128:
68:
61:
57:
33:
32:
26:
1862:
1861:
1857:
1856:
1855:
1853:
1852:
1851:
1837:
1836:
1835:
1830:
1807:CatChangeLinker
1794:
1791:AutoSectionLink
1785:Itch scratchers
1702:
1665:
1657:
1656:
1653:
1650:
1647:
1644:
1641:
1638:
1635:
1632:
1629:
1626:
1623:
1620:
1617:
1614:
1611:
1608:
1605:
1602:
1599:
1596:
1593:
1590:
1587:
1584:
1581:
1578:
1575:
1573:duplicatesError
1572:
1569:
1566:
1563:
1560:
1557:
1554:
1551:
1548:
1545:
1542:
1539:
1536:
1533:
1530:
1527:
1524:
1521:
1518:
1515:
1512:
1509:
1506:
1503:
1500:
1497:
1494:
1491:
1488:
1485:
1482:
1479:
1476:
1473:
1470:
1467:
1464:
1461:
1458:
1455:
1452:
1449:
1446:
1443:
1440:
1437:
1434:
1431:
1428:
1425:
1422:
1419:
1416:
1413:
1410:
1407:
1404:
1401:
1398:
1395:
1392:
1389:
1386:
1383:
1380:
1377:
1374:
1371:
1368:
1365:
1362:
1359:
1356:
1353:
1350:
1347:
1344:
1341:
1338:
1335:
1332:
1329:
1327:'Reset'
1326:
1323:
1320:
1317:
1315:'Apply'
1314:
1311:
1308:
1305:
1302:
1299:
1296:
1293:
1290:
1287:
1284:
1281:
1278:
1275:
1272:
1269:
1266:
1263:
1260:
1257:
1254:
1251:
1248:
1245:
1242:
1239:
1236:
1233:
1230:
1227:
1224:
1221:
1218:
1215:
1212:
1209:
1206:
1203:
1200:
1197:
1194:
1191:
1188:
1185:
1182:
1179:
1176:
1173:
1170:
1167:
1164:
1161:
1158:
1155:
1152:
1149:
1146:
1143:
1140:
1137:
1134:
1131:
1128:
1125:
1122:
1119:
1116:
1113:
1110:
1107:
1104:
1101:
1098:
1095:
1092:
1089:
1086:
1083:
1080:
1077:
1074:
1071:
1068:
1065:
1062:
1059:
1056:
1053:
1050:
1047:
1044:
1041:
1038:
1035:
1032:
1029:
1026:
1023:
1020:
1017:
1014:
1011:
1008:
1005:
1002:
999:
996:
993:
990:
987:
984:
981:
978:
975:
972:
969:
966:
963:
960:
957:
954:
951:
948:
945:
942:
939:
936:
933:
930:
927:
924:
921:
914:
896:
892:
884:
878:
872:
865:
863:
862:
859:
856:
853:
850:
847:
844:
841:
838:
835:
832:
829:
826:
823:
820:
817:
814:
811:
808:
805:
802:
799:
796:
793:
790:
787:
784:
781:
778:
775:
772:
769:
767:' pp. '
766:
763:
760:
757:
754:
751:
748:
745:
742:
739:
736:
733:
730:
727:
724:
721:
718:
715:
712:
709:
706:
703:
700:
697:
694:
691:
688:
685:
682:
679:
676:
673:
670:
667:
664:
661:
658:
655:
652:
649:
646:
643:
640:
637:
634:
631:
628:
625:
622:
614:
611:
595:
585:
581:
573:
567:
563:
557:
553:
536:Reset selection
523:
483:
479:
423:
401:
397:
341:
312:
306:
300:
296:
290:
286:
280:
274:
268:
262:
244:
235:
229:
225:
219:
200:
185:
178:
177:
174:
171:
168:
165:
162:
159:
156:
153:
143:
126:
119:
85:
84:August 13, 2023
30:
22:
21:
20:
12:
11:
5:
1860:
1850:
1849:
1832:
1831:
1829:
1828:
1822:
1816:
1813:PasteToCommons
1810:
1804:
1798:
1782:
1781:
1775:
1769:
1759:
1753:
1747:
1735:
1734:
1724:
1718:
1712:
1706:
1696:
1690:
1680:
1670:
1667:
1666:
1621:genericSummary
1549:noChangesError
1525:resetSelection
1393:reapplyTooltip
1381:tableAddRemove
1339:'Name'
1297:removeUnreused
1225:latinIncrement
1195:'Year'
1111:'Book'
920:
913:
910:
889:
888:
882:
876:
773:' p. '
621:
610:
607:
603:WP:COSMETICBOT
594:
591:
590:
589:
578:
552:
549:
548:
547:
543:
540:
537:
534:
527:
522:
519:
518:
517:
510:
502:
499:
490:
489:
488:
487:
476:
468:
465:
457:
450:
439:
436:
433:
430:
427:
422:
419:
418:
417:
414:
411:
408:
405:
400:), remove the
394:
391:
388:
385:
382:
379:
376:
372:
371:
370:
369:
366:
363:
354:
351:
348:
338:
335:
332:
329:
326:
323:
320:
317:
316:
315:
309:
303:
293:
283:
277:
271:
265:
252:
248:
243:
240:
199:
196:
152:
147:your common.js
142:
139:
121:
120:
118:
117:
112:
106:
104:
100:
99:
92:
88:
87:
82:
78:
77:
74:
70:
69:
54:
53:
34:
15:
9:
6:
4:
3:
2:
1859:
1848:
1845:
1844:
1842:
1826:
1823:
1820:
1817:
1814:
1811:
1808:
1805:
1802:
1801:AutoTestcases
1799:
1792:
1789:
1788:
1787:
1786:
1779:
1776:
1773:
1770:
1767:
1763:
1760:
1757:
1756:InsertAnyChar
1754:
1751:
1748:
1745:
1742:
1741:
1740:
1739:
1732:
1728:
1725:
1722:
1719:
1716:
1713:
1710:
1707:
1700:
1699:CopyCodeBlock
1697:
1694:
1691:
1688:
1684:
1681:
1678:
1675:
1674:
1673:
1668:
1661:
1585:templatesWarn
1441:removeTooltip
961:loadingSource
918:
909:
906:
900:
883:
877:
871:
870:
869:
619:
606:
604:
599:
579:
572:
562:
555:
554:
544:
541:
538:
535:
532:
528:
525:
524:
515:
511:
507:
503:
500:
496:
492:
491:
477:
473:
469:
466:
462:
458:
455:
451:
447:
443:
442:
440:
437:
434:
431:
428:
425:
424:
415:
412:
409:
406:
395:
392:
389:
386:
383:
380:
377:
374:
373:
367:
364:
355:
352:
349:
346:
345:
339:
336:
333:
330:
327:
324:
321:
318:
310:
304:
294:
284:
278:
272:
266:
260:
259:
257:
253:
249:
246:
245:
239:
234:
224:
217:
213:
209:
204:
195:
192:
188:
183:
150:
148:
138:
134:
132:
116:
113:
111:
108:
107:
105:
101:
97:
93:
89:
83:
79:
75:
71:
67:
62:
51:
50:
45:
44:
38:
35:
28:
27:
19:
1784:
1783:
1771:
1737:
1736:
1731:WP:SEAOFBLUE
1709:CopySectLink
1671:
1561:numericError
1537:noNamesAlert
1405:propsTooltip
1369:tableNewName
1345:tableCaption
1201:yearFallback
1177:replaceSpace
915:
912:Localization
901:
890:
885:getElement()
864:
612:
600:
596:
574:}}
568:{{
564:}}
558:{{
530:
513:
453:
267:First name:
236:}}
230:{{
226:}}
220:{{
205:
201:
179:
144:
141:Installation
135:
124:
48:
40:
36:
1715:MoveHistory
1703:<pre>
1693:Consecudiff
1687:code editor
1597:invalidWarn
1429:tableRemove
1417:keepTooltip
1387:'Β±'
1213:yearConvert
1165:removePunct
1129:firstPhrase
973:loadingHtml
809:' '
551:Limitations
285:Publisher:
269:rft.aufirst
261:Last name:
218:templates (
187:Preferences
127:<ref>
73:Description
41:understand
18:User:Nardog
1772:RefRenamer
1501:addTooltip
1069:periodical
701:&&
683:&&
307:rft.btitle
297:rft.atitle
281:rft.jtitle
263:rft.aulast
251:manually).
59:RefRenamer
1727:SmartDiff
1465:notReused
1333:tableName
1273:delimiter
1237:increment
1153:removeDia
1141:lowercase
1081:publisher
1045:firstName
917:support.
833:separator
728:separator
546:modified.
432:Reference
381:Delimiter
322:Lowercase
301:rft.title
295:Article:
98:+ needed)
1841:Category
1762:IPAInput
1744:DiffUndo
1489:collapse
1357:tableRef
1033:lastName
1009:continue
647:function
542:Continue
438:New name
342:rft.date
291:rft.inst
273:Author:
233:citation
223:cite web
189: β
91:Browsers
1721:RCMuter
1609:summary
1093:article
997:opening
985:parsing
949:loading
937:portlet
897:newName
785:newName
593:Caveats
577:saving.
531:current
526:Add all
514:current
454:current
287:rft.pub
242:Options
191:Gadgets
81:Updated
1778:Unpipe
1639:loader
1513:addAll
1477:expand
1117:domain
1057:author
922:window
902:Click
803:aulast
680:aulast
421:Tables
313:rft_id
305:Book:
275:rft.au
160:loader
103:Source
96:ES2019
1321:reset
1309:apply
879:props
851:pages
845:props
821:props
797:props
758:pages
752:props
716:pages
710:props
692:props
674:props
521:Other
413:Reset
407:Apply
208:COinS
198:Usage
16:<
1645:load
1189:year
1105:book
1021:main
873:name
827:year
740:test
698:year
629:hook
584:and
571:refn
566:and
426:Name
359:Ϋ²Ϋ°Ϋ±Ϋ΅
337:Year
166:load
893:ref
866:ref
860:});
839:ref
815:ref
791:ref
779:ref
746:ref
725:var
704:ref
686:ref
668:ref
653:ref
641:add
586:a_b
582:a b
216:CS2
212:CS1
184:in
1843::
1733:).
1705:).
1654:);
1633:mw
1630:};
734://
662:if
638:).
623:mw
605:.
299:,
289:,
228:,
175:);
154:mw
149::
1648:(
1642:.
1636:.
1624::
1618:,
1612::
1606:,
1600::
1594:,
1588::
1582:,
1576::
1570:,
1564::
1558:,
1552::
1546:,
1540::
1534:,
1528::
1522:,
1516::
1510:,
1504::
1498:,
1492::
1486:,
1480::
1474:,
1468::
1462:,
1456::
1450:,
1444::
1438:,
1432::
1426:,
1420::
1414:,
1408::
1402:,
1396::
1390:,
1384::
1378:,
1372::
1366:,
1360::
1354:,
1348::
1342:,
1336::
1330:,
1324::
1318:,
1312::
1306:,
1300::
1294:,
1288::
1282:,
1276::
1270:,
1264::
1258:,
1252::
1246:,
1240::
1234:,
1228::
1222:,
1216::
1210:,
1204::
1198:,
1192::
1186:,
1180::
1174:,
1168::
1162:,
1156::
1150:,
1144::
1138:,
1132::
1126:,
1120::
1114:,
1108::
1102:,
1096::
1090:,
1084::
1078:,
1072::
1066:,
1060::
1054:,
1048::
1042:,
1036::
1030:,
1024::
1018:,
1012::
1006:,
1000::
994:,
988::
982:,
976::
970:,
964::
958:,
952::
946:,
940::
934:{
931:=
925:.
857:}
854:;
848:.
842:.
836:+
830:+
824:.
818:.
812:+
806:+
800:.
794:.
788:=
782:.
776:;
770::
764:?
761:)
755:.
749:.
743:(
737:.
731:=
722:{
719:)
713:.
707:.
695:.
689:.
677:.
671:.
665:(
659:{
656:)
650:(
644:(
632:(
626:.
561:r
214:/
169:(
163:.
157:.
52:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.