1 /* vi:set ts=8 sts=4 sw=4 noet:
2 *
3 * VIM - Vi IMproved by Bram Moolenaar
4 *
5 * Do ":help uganda" in Vim to read copying and usage conditions.
6 * Do ":help credits" in Vim to see a list of people who contributed.
7 * See README.txt for an overview of the Vim source code.
8 */
9
10 #include "vim.h"
11
12 /*
13 * Vim originated from Stevie version 3.6 (Fish disk 217) by GRWalter (Fred)
14 * It has been changed beyond recognition since then.
15 *
16 * Differences between version 7.4 and 8.x can be found with ":help version8".
17 * Differences between version 6.4 and 7.x can be found with ":help version7".
18 * Differences between version 5.8 and 6.x can be found with ":help version6".
19 * Differences between version 4.x and 5.x can be found with ":help version5".
20 * Differences between version 3.0 and 4.x can be found with ":help version4".
21 * All the remarks about older versions have been removed, they are not very
22 * interesting.
23 */
24
25 #include "version.h"
26
27 char *Version = VIM_VERSION_SHORT;
28 static char *mediumVersion = VIM_VERSION_MEDIUM;
29
30 #if defined(HAVE_DATE_TIME) || defined(PROTO)
31 # if (defined(VMS) && defined(VAXC)) || defined(PROTO)
32 char longVersion[sizeof(VIM_VERSION_LONG_DATE) + sizeof(__DATE__)
33 + sizeof(__TIME__) + 3];
34
35 void
init_longVersion(void)36 init_longVersion(void)
37 {
38 /*
39 * Construct the long version string. Necessary because
40 * VAX C can't concatenate strings in the preprocessor.
41 */
42 strcpy(longVersion, VIM_VERSION_LONG_DATE);
43 #ifdef BUILD_DATE
44 strcat(longVersion, BUILD_DATE);
45 #else
46 strcat(longVersion, __DATE__);
47 strcat(longVersion, " ");
48 strcat(longVersion, __TIME__);
49 #endif
50 strcat(longVersion, ")");
51 }
52
53 # else
54 char *longVersion = NULL;
55
56 void
init_longVersion(void)57 init_longVersion(void)
58 {
59 if (longVersion == NULL)
60 {
61 #ifdef BUILD_DATE
62 char *date_time = BUILD_DATE;
63 #else
64 char *date_time = __DATE__ " " __TIME__;
65 #endif
66 char *msg = _("%s (%s, compiled %s)");
67 size_t len = strlen(msg)
68 + strlen(VIM_VERSION_LONG_ONLY)
69 + strlen(VIM_VERSION_DATE_ONLY)
70 + strlen(date_time);
71
72 longVersion = alloc(len);
73 if (longVersion == NULL)
74 longVersion = VIM_VERSION_LONG;
75 else
76 vim_snprintf(longVersion, len, msg,
77 VIM_VERSION_LONG_ONLY, VIM_VERSION_DATE_ONLY, date_time);
78 }
79 }
80 # endif
81 #else
82 char *longVersion = VIM_VERSION_LONG;
83
84 void
init_longVersion(void)85 init_longVersion(void)
86 {
87 // nothing to do
88 }
89 #endif
90
91 static char *(features[]) =
92 {
93 #ifdef HAVE_ACL
94 "+acl",
95 #else
96 "-acl",
97 #endif
98 #ifdef AMIGA // only for Amiga systems
99 # ifdef FEAT_ARP
100 "+ARP",
101 # else
102 "-ARP",
103 # endif
104 #endif
105 #ifdef FEAT_ARABIC
106 "+arabic",
107 #else
108 "-arabic",
109 #endif
110 "+autocmd",
111 #ifdef FEAT_AUTOCHDIR
112 "+autochdir",
113 #else
114 "-autochdir",
115 #endif
116 #ifdef FEAT_AUTOSERVERNAME
117 "+autoservername",
118 #else
119 "-autoservername",
120 #endif
121 #ifdef FEAT_BEVAL_GUI
122 "+balloon_eval",
123 #else
124 "-balloon_eval",
125 #endif
126 #ifdef FEAT_BEVAL_TERM
127 "+balloon_eval_term",
128 #else
129 "-balloon_eval_term",
130 #endif
131 #ifdef FEAT_BROWSE
132 "+browse",
133 #else
134 "-browse",
135 #endif
136 #ifdef NO_BUILTIN_TCAPS
137 "-builtin_terms",
138 #endif
139 #ifdef SOME_BUILTIN_TCAPS
140 "+builtin_terms",
141 #endif
142 #ifdef ALL_BUILTIN_TCAPS
143 "++builtin_terms",
144 #endif
145 #ifdef FEAT_BYTEOFF
146 "+byte_offset",
147 #else
148 "-byte_offset",
149 #endif
150 #ifdef FEAT_JOB_CHANNEL
151 "+channel",
152 #else
153 "-channel",
154 #endif
155 #ifdef FEAT_CINDENT
156 "+cindent",
157 #else
158 "-cindent",
159 #endif
160 #ifdef FEAT_CLIENTSERVER
161 "+clientserver",
162 #else
163 "-clientserver",
164 #endif
165 #ifdef FEAT_CLIPBOARD
166 "+clipboard",
167 #else
168 "-clipboard",
169 #endif
170 "+cmdline_compl",
171 "+cmdline_hist",
172 #ifdef FEAT_CMDL_INFO
173 "+cmdline_info",
174 #else
175 "-cmdline_info",
176 #endif
177 "+comments",
178 #ifdef FEAT_CONCEAL
179 "+conceal",
180 #else
181 "-conceal",
182 #endif
183 #ifdef FEAT_CRYPT
184 "+cryptv",
185 #else
186 "-cryptv",
187 #endif
188 #ifdef FEAT_CSCOPE
189 "+cscope",
190 #else
191 "-cscope",
192 #endif
193 "+cursorbind",
194 #ifdef CURSOR_SHAPE
195 "+cursorshape",
196 #else
197 "-cursorshape",
198 #endif
199 #if defined(FEAT_CON_DIALOG) && defined(FEAT_GUI_DIALOG)
200 "+dialog_con_gui",
201 #else
202 # if defined(FEAT_CON_DIALOG)
203 "+dialog_con",
204 # else
205 # if defined(FEAT_GUI_DIALOG)
206 "+dialog_gui",
207 # else
208 "-dialog",
209 # endif
210 # endif
211 #endif
212 #ifdef FEAT_DIFF
213 "+diff",
214 #else
215 "-diff",
216 #endif
217 #ifdef FEAT_DIGRAPHS
218 "+digraphs",
219 #else
220 "-digraphs",
221 #endif
222 #ifdef FEAT_GUI_MSWIN
223 # ifdef FEAT_DIRECTX
224 "+directx",
225 # else
226 "-directx",
227 # endif
228 #endif
229 #ifdef FEAT_DND
230 "+dnd",
231 #else
232 "-dnd",
233 #endif
234 #ifdef EBCDIC
235 "+ebcdic",
236 #else
237 "-ebcdic",
238 #endif
239 #ifdef FEAT_EMACS_TAGS
240 "+emacs_tags",
241 #else
242 "-emacs_tags",
243 #endif
244 #ifdef FEAT_EVAL
245 "+eval",
246 #else
247 "-eval",
248 #endif
249 "+ex_extra",
250 #ifdef FEAT_SEARCH_EXTRA
251 "+extra_search",
252 #else
253 "-extra_search",
254 #endif
255 "-farsi",
256 #ifdef FEAT_SEARCHPATH
257 "+file_in_path",
258 #else
259 "-file_in_path",
260 #endif
261 #ifdef FEAT_FIND_ID
262 "+find_in_path",
263 #else
264 "-find_in_path",
265 #endif
266 #ifdef FEAT_FLOAT
267 "+float",
268 #else
269 "-float",
270 #endif
271 #ifdef FEAT_FOLDING
272 "+folding",
273 #else
274 "-folding",
275 #endif
276 #ifdef FEAT_FOOTER
277 "+footer",
278 #else
279 "-footer",
280 #endif
281 // only interesting on Unix systems
282 #if !defined(USE_SYSTEM) && defined(UNIX)
283 "+fork()",
284 #endif
285 #ifdef FEAT_GETTEXT
286 # ifdef DYNAMIC_GETTEXT
287 "+gettext/dyn",
288 # else
289 "+gettext",
290 # endif
291 #else
292 "-gettext",
293 #endif
294 "-hangul_input",
295 #if (defined(HAVE_ICONV_H) && defined(USE_ICONV)) || defined(DYNAMIC_ICONV)
296 # ifdef DYNAMIC_ICONV
297 "+iconv/dyn",
298 # else
299 "+iconv",
300 # endif
301 #else
302 "-iconv",
303 #endif
304 "+insert_expand",
305 #ifdef FEAT_IPV6
306 "+ipv6",
307 #else
308 "-ipv6",
309 #endif
310 #ifdef FEAT_JOB_CHANNEL
311 "+job",
312 #else
313 "-job",
314 #endif
315 #ifdef FEAT_JUMPLIST
316 "+jumplist",
317 #else
318 "-jumplist",
319 #endif
320 #ifdef FEAT_KEYMAP
321 "+keymap",
322 #else
323 "-keymap",
324 #endif
325 #ifdef FEAT_EVAL
326 "+lambda",
327 #else
328 "-lambda",
329 #endif
330 #ifdef FEAT_LANGMAP
331 "+langmap",
332 #else
333 "-langmap",
334 #endif
335 #ifdef FEAT_LIBCALL
336 "+libcall",
337 #else
338 "-libcall",
339 #endif
340 #ifdef FEAT_LINEBREAK
341 "+linebreak",
342 #else
343 "-linebreak",
344 #endif
345 #ifdef FEAT_LISP
346 "+lispindent",
347 #else
348 "-lispindent",
349 #endif
350 "+listcmds",
351 "+localmap",
352 #ifdef FEAT_LUA
353 # ifdef DYNAMIC_LUA
354 "+lua/dyn",
355 # else
356 "+lua",
357 # endif
358 #else
359 "-lua",
360 #endif
361 #ifdef FEAT_MENU
362 "+menu",
363 #else
364 "-menu",
365 #endif
366 #ifdef FEAT_SESSION
367 "+mksession",
368 #else
369 "-mksession",
370 #endif
371 "+modify_fname",
372 "+mouse",
373 #ifdef FEAT_MOUSESHAPE
374 "+mouseshape",
375 #else
376 "-mouseshape",
377 #endif
378
379 #if defined(UNIX) || defined(VMS)
380 # ifdef FEAT_MOUSE_DEC
381 "+mouse_dec",
382 # else
383 "-mouse_dec",
384 # endif
385 # ifdef FEAT_MOUSE_GPM
386 "+mouse_gpm",
387 # else
388 "-mouse_gpm",
389 # endif
390 # ifdef FEAT_MOUSE_JSB
391 "+mouse_jsbterm",
392 # else
393 "-mouse_jsbterm",
394 # endif
395 # ifdef FEAT_MOUSE_NET
396 "+mouse_netterm",
397 # else
398 "-mouse_netterm",
399 # endif
400 #endif
401
402 #ifdef __QNX__
403 # ifdef FEAT_MOUSE_PTERM
404 "+mouse_pterm",
405 # else
406 "-mouse_pterm",
407 # endif
408 #endif
409
410 #if defined(UNIX) || defined(VMS)
411 "+mouse_sgr",
412 # ifdef FEAT_SYSMOUSE
413 "+mouse_sysmouse",
414 # else
415 "-mouse_sysmouse",
416 # endif
417 # ifdef FEAT_MOUSE_URXVT
418 "+mouse_urxvt",
419 # else
420 "-mouse_urxvt",
421 # endif
422 "+mouse_xterm",
423 #endif
424
425 #ifdef FEAT_MBYTE_IME
426 # ifdef DYNAMIC_IME
427 "+multi_byte_ime/dyn",
428 # else
429 "+multi_byte_ime",
430 # endif
431 #else
432 "+multi_byte",
433 #endif
434 #ifdef FEAT_MULTI_LANG
435 "+multi_lang",
436 #else
437 "-multi_lang",
438 #endif
439 #ifdef FEAT_MZSCHEME
440 # ifdef DYNAMIC_MZSCHEME
441 "+mzscheme/dyn",
442 # else
443 "+mzscheme",
444 # endif
445 #else
446 "-mzscheme",
447 #endif
448 #ifdef FEAT_NETBEANS_INTG
449 "+netbeans_intg",
450 #else
451 "-netbeans_intg",
452 #endif
453 "+num64",
454 #ifdef FEAT_GUI_MSWIN
455 # ifdef FEAT_OLE
456 "+ole",
457 # else
458 "-ole",
459 # endif
460 #endif
461 #ifdef FEAT_EVAL
462 "+packages",
463 #else
464 "-packages",
465 #endif
466 #ifdef FEAT_PATH_EXTRA
467 "+path_extra",
468 #else
469 "-path_extra",
470 #endif
471 #ifdef FEAT_PERL
472 # ifdef DYNAMIC_PERL
473 "+perl/dyn",
474 # else
475 "+perl",
476 # endif
477 #else
478 "-perl",
479 #endif
480 #ifdef FEAT_PERSISTENT_UNDO
481 "+persistent_undo",
482 #else
483 "-persistent_undo",
484 #endif
485 #ifdef FEAT_PROP_POPUP
486 "+popupwin",
487 #else
488 "-popupwin",
489 #endif
490 #ifdef FEAT_PRINTER
491 # ifdef FEAT_POSTSCRIPT
492 "+postscript",
493 # else
494 "-postscript",
495 # endif
496 "+printer",
497 #else
498 "-printer",
499 #endif
500 #ifdef FEAT_PROFILE
501 "+profile",
502 #else
503 "-profile",
504 #endif
505 #ifdef FEAT_PYTHON
506 # ifdef DYNAMIC_PYTHON
507 "+python/dyn",
508 # else
509 "+python",
510 # endif
511 #else
512 "-python",
513 #endif
514 #ifdef FEAT_PYTHON3
515 # ifdef DYNAMIC_PYTHON3
516 "+python3/dyn",
517 # else
518 "+python3",
519 # endif
520 #else
521 "-python3",
522 #endif
523 #ifdef FEAT_QUICKFIX
524 "+quickfix",
525 #else
526 "-quickfix",
527 #endif
528 #ifdef FEAT_RELTIME
529 "+reltime",
530 #else
531 "-reltime",
532 #endif
533 #ifdef FEAT_RIGHTLEFT
534 "+rightleft",
535 #else
536 "-rightleft",
537 #endif
538 #ifdef FEAT_RUBY
539 # ifdef DYNAMIC_RUBY
540 "+ruby/dyn",
541 # else
542 "+ruby",
543 # endif
544 #else
545 "-ruby",
546 #endif
547 "+scrollbind",
548 #ifdef FEAT_SIGNS
549 "+signs",
550 #else
551 "-signs",
552 #endif
553 #ifdef FEAT_SMARTINDENT
554 "+smartindent",
555 #else
556 "-smartindent",
557 #endif
558 #ifdef FEAT_SODIUM
559 "+sodium",
560 #else
561 "-sodium",
562 #endif
563 #ifdef FEAT_SOUND
564 "+sound",
565 #else
566 "-sound",
567 #endif
568 #ifdef FEAT_SPELL
569 "+spell",
570 #else
571 "-spell",
572 #endif
573 #ifdef STARTUPTIME
574 "+startuptime",
575 #else
576 "-startuptime",
577 #endif
578 #ifdef FEAT_STL_OPT
579 "+statusline",
580 #else
581 "-statusline",
582 #endif
583 "-sun_workshop",
584 #ifdef FEAT_SYN_HL
585 "+syntax",
586 #else
587 "-syntax",
588 #endif
589 // only interesting on Unix systems
590 #if defined(USE_SYSTEM) && defined(UNIX)
591 "+system()",
592 #endif
593 #ifdef FEAT_TAG_BINS
594 "+tag_binary",
595 #else
596 "-tag_binary",
597 #endif
598 "-tag_old_static",
599 "-tag_any_white",
600 #ifdef FEAT_TCL
601 # ifdef DYNAMIC_TCL
602 "+tcl/dyn",
603 # else
604 "+tcl",
605 # endif
606 #else
607 "-tcl",
608 #endif
609 #ifdef FEAT_TERMGUICOLORS
610 "+termguicolors",
611 #else
612 "-termguicolors",
613 #endif
614 #ifdef FEAT_TERMINAL
615 "+terminal",
616 #else
617 "-terminal",
618 #endif
619 #if defined(UNIX)
620 // only Unix can have terminfo instead of termcap
621 # ifdef TERMINFO
622 "+terminfo",
623 # else
624 "-terminfo",
625 # endif
626 #endif
627 #ifdef FEAT_TERMRESPONSE
628 "+termresponse",
629 #else
630 "-termresponse",
631 #endif
632 #ifdef FEAT_TEXTOBJ
633 "+textobjects",
634 #else
635 "-textobjects",
636 #endif
637 #ifdef FEAT_PROP_POPUP
638 "+textprop",
639 #else
640 "-textprop",
641 #endif
642 #if !defined(UNIX)
643 // unix always includes termcap support
644 # ifdef HAVE_TGETENT
645 "+tgetent",
646 # else
647 "-tgetent",
648 # endif
649 #endif
650 #ifdef FEAT_TIMERS
651 "+timers",
652 #else
653 "-timers",
654 #endif
655 #ifdef FEAT_TITLE
656 "+title",
657 #else
658 "-title",
659 #endif
660 #ifdef FEAT_TOOLBAR
661 "+toolbar",
662 #else
663 "-toolbar",
664 #endif
665 "+user_commands",
666 #ifdef FEAT_VARTABS
667 "+vartabs",
668 #else
669 "-vartabs",
670 #endif
671 "+vertsplit",
672 "+virtualedit",
673 "+visual",
674 "+visualextra",
675 #ifdef FEAT_VIMINFO
676 "+viminfo",
677 #else
678 "-viminfo",
679 #endif
680 "+vreplace",
681 #ifdef MSWIN
682 # ifdef FEAT_VTP
683 "+vtp",
684 # else
685 "-vtp",
686 # endif
687 #endif
688 #ifdef FEAT_WILDIGN
689 "+wildignore",
690 #else
691 "-wildignore",
692 #endif
693 #ifdef FEAT_WILDMENU
694 "+wildmenu",
695 #else
696 "-wildmenu",
697 #endif
698 "+windows",
699 #ifdef FEAT_WRITEBACKUP
700 "+writebackup",
701 #else
702 "-writebackup",
703 #endif
704 #if defined(UNIX) || defined(VMS)
705 # ifdef FEAT_X11
706 "+X11",
707 # else
708 "-X11",
709 # endif
710 #endif
711 #ifdef FEAT_XFONTSET
712 "+xfontset",
713 #else
714 "-xfontset",
715 #endif
716 #ifdef FEAT_XIM
717 "+xim",
718 #else
719 "-xim",
720 #endif
721 #ifdef MSWIN
722 # ifdef FEAT_XPM_W32
723 "+xpm_w32",
724 # else
725 "-xpm_w32",
726 # endif
727 #else
728 # ifdef HAVE_XPM
729 "+xpm",
730 # else
731 "-xpm",
732 # endif
733 #endif
734 #if defined(UNIX) || defined(VMS)
735 # ifdef USE_XSMP_INTERACT
736 "+xsmp_interact",
737 # else
738 # ifdef USE_XSMP
739 "+xsmp",
740 # else
741 "-xsmp",
742 # endif
743 # endif
744 # ifdef FEAT_XCLIPBOARD
745 "+xterm_clipboard",
746 # else
747 "-xterm_clipboard",
748 # endif
749 #endif
750 #ifdef FEAT_XTERM_SAVE
751 "+xterm_save",
752 #else
753 "-xterm_save",
754 #endif
755 NULL
756 };
757
758 static int included_patches[] =
759 { /* Add new patch number below this line */
760 /**/
761 3635,
762 /**/
763 3634,
764 /**/
765 3633,
766 /**/
767 3632,
768 /**/
769 3631,
770 /**/
771 3630,
772 /**/
773 3629,
774 /**/
775 3628,
776 /**/
777 3627,
778 /**/
779 3626,
780 /**/
781 3625,
782 /**/
783 3624,
784 /**/
785 3623,
786 /**/
787 3622,
788 /**/
789 3621,
790 /**/
791 3620,
792 /**/
793 3619,
794 /**/
795 3618,
796 /**/
797 3617,
798 /**/
799 3616,
800 /**/
801 3615,
802 /**/
803 3614,
804 /**/
805 3613,
806 /**/
807 3612,
808 /**/
809 3611,
810 /**/
811 3610,
812 /**/
813 3609,
814 /**/
815 3608,
816 /**/
817 3607,
818 /**/
819 3606,
820 /**/
821 3605,
822 /**/
823 3604,
824 /**/
825 3603,
826 /**/
827 3602,
828 /**/
829 3601,
830 /**/
831 3600,
832 /**/
833 3599,
834 /**/
835 3598,
836 /**/
837 3597,
838 /**/
839 3596,
840 /**/
841 3595,
842 /**/
843 3594,
844 /**/
845 3593,
846 /**/
847 3592,
848 /**/
849 3591,
850 /**/
851 3590,
852 /**/
853 3589,
854 /**/
855 3588,
856 /**/
857 3587,
858 /**/
859 3586,
860 /**/
861 3585,
862 /**/
863 3584,
864 /**/
865 3583,
866 /**/
867 3582,
868 /**/
869 3581,
870 /**/
871 3580,
872 /**/
873 3579,
874 /**/
875 3578,
876 /**/
877 3577,
878 /**/
879 3576,
880 /**/
881 3575,
882 /**/
883 3574,
884 /**/
885 3573,
886 /**/
887 3572,
888 /**/
889 3571,
890 /**/
891 3570,
892 /**/
893 3569,
894 /**/
895 3568,
896 /**/
897 3567,
898 /**/
899 3566,
900 /**/
901 3565,
902 /**/
903 3564,
904 /**/
905 3563,
906 /**/
907 3562,
908 /**/
909 3561,
910 /**/
911 3560,
912 /**/
913 3559,
914 /**/
915 3558,
916 /**/
917 3557,
918 /**/
919 3556,
920 /**/
921 3555,
922 /**/
923 3554,
924 /**/
925 3553,
926 /**/
927 3552,
928 /**/
929 3551,
930 /**/
931 3550,
932 /**/
933 3549,
934 /**/
935 3548,
936 /**/
937 3547,
938 /**/
939 3546,
940 /**/
941 3545,
942 /**/
943 3544,
944 /**/
945 3543,
946 /**/
947 3542,
948 /**/
949 3541,
950 /**/
951 3540,
952 /**/
953 3539,
954 /**/
955 3538,
956 /**/
957 3537,
958 /**/
959 3536,
960 /**/
961 3535,
962 /**/
963 3534,
964 /**/
965 3533,
966 /**/
967 3532,
968 /**/
969 3531,
970 /**/
971 3530,
972 /**/
973 3529,
974 /**/
975 3528,
976 /**/
977 3527,
978 /**/
979 3526,
980 /**/
981 3525,
982 /**/
983 3524,
984 /**/
985 3523,
986 /**/
987 3522,
988 /**/
989 3521,
990 /**/
991 3520,
992 /**/
993 3519,
994 /**/
995 3518,
996 /**/
997 3517,
998 /**/
999 3516,
1000 /**/
1001 3515,
1002 /**/
1003 3514,
1004 /**/
1005 3513,
1006 /**/
1007 3512,
1008 /**/
1009 3511,
1010 /**/
1011 3510,
1012 /**/
1013 3509,
1014 /**/
1015 3508,
1016 /**/
1017 3507,
1018 /**/
1019 3506,
1020 /**/
1021 3505,
1022 /**/
1023 3504,
1024 /**/
1025 3503,
1026 /**/
1027 3502,
1028 /**/
1029 3501,
1030 /**/
1031 3500,
1032 /**/
1033 3499,
1034 /**/
1035 3498,
1036 /**/
1037 3497,
1038 /**/
1039 3496,
1040 /**/
1041 3495,
1042 /**/
1043 3494,
1044 /**/
1045 3493,
1046 /**/
1047 3492,
1048 /**/
1049 3491,
1050 /**/
1051 3490,
1052 /**/
1053 3489,
1054 /**/
1055 3488,
1056 /**/
1057 3487,
1058 /**/
1059 3486,
1060 /**/
1061 3485,
1062 /**/
1063 3484,
1064 /**/
1065 3483,
1066 /**/
1067 3482,
1068 /**/
1069 3481,
1070 /**/
1071 3480,
1072 /**/
1073 3479,
1074 /**/
1075 3478,
1076 /**/
1077 3477,
1078 /**/
1079 3476,
1080 /**/
1081 3475,
1082 /**/
1083 3474,
1084 /**/
1085 3473,
1086 /**/
1087 3472,
1088 /**/
1089 3471,
1090 /**/
1091 3470,
1092 /**/
1093 3469,
1094 /**/
1095 3468,
1096 /**/
1097 3467,
1098 /**/
1099 3466,
1100 /**/
1101 3465,
1102 /**/
1103 3464,
1104 /**/
1105 3463,
1106 /**/
1107 3462,
1108 /**/
1109 3461,
1110 /**/
1111 3460,
1112 /**/
1113 3459,
1114 /**/
1115 3458,
1116 /**/
1117 3457,
1118 /**/
1119 3456,
1120 /**/
1121 3455,
1122 /**/
1123 3454,
1124 /**/
1125 3453,
1126 /**/
1127 3452,
1128 /**/
1129 3451,
1130 /**/
1131 3450,
1132 /**/
1133 3449,
1134 /**/
1135 3448,
1136 /**/
1137 3447,
1138 /**/
1139 3446,
1140 /**/
1141 3445,
1142 /**/
1143 3444,
1144 /**/
1145 3443,
1146 /**/
1147 3442,
1148 /**/
1149 3441,
1150 /**/
1151 3440,
1152 /**/
1153 3439,
1154 /**/
1155 3438,
1156 /**/
1157 3437,
1158 /**/
1159 3436,
1160 /**/
1161 3435,
1162 /**/
1163 3434,
1164 /**/
1165 3433,
1166 /**/
1167 3432,
1168 /**/
1169 3431,
1170 /**/
1171 3430,
1172 /**/
1173 3429,
1174 /**/
1175 3428,
1176 /**/
1177 3427,
1178 /**/
1179 3426,
1180 /**/
1181 3425,
1182 /**/
1183 3424,
1184 /**/
1185 3423,
1186 /**/
1187 3422,
1188 /**/
1189 3421,
1190 /**/
1191 3420,
1192 /**/
1193 3419,
1194 /**/
1195 3418,
1196 /**/
1197 3417,
1198 /**/
1199 3416,
1200 /**/
1201 3415,
1202 /**/
1203 3414,
1204 /**/
1205 3413,
1206 /**/
1207 3412,
1208 /**/
1209 3411,
1210 /**/
1211 3410,
1212 /**/
1213 3409,
1214 /**/
1215 3408,
1216 /**/
1217 3407,
1218 /**/
1219 3406,
1220 /**/
1221 3405,
1222 /**/
1223 3404,
1224 /**/
1225 3403,
1226 /**/
1227 3402,
1228 /**/
1229 3401,
1230 /**/
1231 3400,
1232 /**/
1233 3399,
1234 /**/
1235 3398,
1236 /**/
1237 3397,
1238 /**/
1239 3396,
1240 /**/
1241 3395,
1242 /**/
1243 3394,
1244 /**/
1245 3393,
1246 /**/
1247 3392,
1248 /**/
1249 3391,
1250 /**/
1251 3390,
1252 /**/
1253 3389,
1254 /**/
1255 3388,
1256 /**/
1257 3387,
1258 /**/
1259 3386,
1260 /**/
1261 3385,
1262 /**/
1263 3384,
1264 /**/
1265 3383,
1266 /**/
1267 3382,
1268 /**/
1269 3381,
1270 /**/
1271 3380,
1272 /**/
1273 3379,
1274 /**/
1275 3378,
1276 /**/
1277 3377,
1278 /**/
1279 3376,
1280 /**/
1281 3375,
1282 /**/
1283 3374,
1284 /**/
1285 3373,
1286 /**/
1287 3372,
1288 /**/
1289 3371,
1290 /**/
1291 3370,
1292 /**/
1293 3369,
1294 /**/
1295 3368,
1296 /**/
1297 3367,
1298 /**/
1299 3366,
1300 /**/
1301 3365,
1302 /**/
1303 3364,
1304 /**/
1305 3363,
1306 /**/
1307 3362,
1308 /**/
1309 3361,
1310 /**/
1311 3360,
1312 /**/
1313 3359,
1314 /**/
1315 3358,
1316 /**/
1317 3357,
1318 /**/
1319 3356,
1320 /**/
1321 3355,
1322 /**/
1323 3354,
1324 /**/
1325 3353,
1326 /**/
1327 3352,
1328 /**/
1329 3351,
1330 /**/
1331 3350,
1332 /**/
1333 3349,
1334 /**/
1335 3348,
1336 /**/
1337 3347,
1338 /**/
1339 3346,
1340 /**/
1341 3345,
1342 /**/
1343 3344,
1344 /**/
1345 3343,
1346 /**/
1347 3342,
1348 /**/
1349 3341,
1350 /**/
1351 3340,
1352 /**/
1353 3339,
1354 /**/
1355 3338,
1356 /**/
1357 3337,
1358 /**/
1359 3336,
1360 /**/
1361 3335,
1362 /**/
1363 3334,
1364 /**/
1365 3333,
1366 /**/
1367 3332,
1368 /**/
1369 3331,
1370 /**/
1371 3330,
1372 /**/
1373 3329,
1374 /**/
1375 3328,
1376 /**/
1377 3327,
1378 /**/
1379 3326,
1380 /**/
1381 3325,
1382 /**/
1383 3324,
1384 /**/
1385 3323,
1386 /**/
1387 3322,
1388 /**/
1389 3321,
1390 /**/
1391 3320,
1392 /**/
1393 3319,
1394 /**/
1395 3318,
1396 /**/
1397 3317,
1398 /**/
1399 3316,
1400 /**/
1401 3315,
1402 /**/
1403 3314,
1404 /**/
1405 3313,
1406 /**/
1407 3312,
1408 /**/
1409 3311,
1410 /**/
1411 3310,
1412 /**/
1413 3309,
1414 /**/
1415 3308,
1416 /**/
1417 3307,
1418 /**/
1419 3306,
1420 /**/
1421 3305,
1422 /**/
1423 3304,
1424 /**/
1425 3303,
1426 /**/
1427 3302,
1428 /**/
1429 3301,
1430 /**/
1431 3300,
1432 /**/
1433 3299,
1434 /**/
1435 3298,
1436 /**/
1437 3297,
1438 /**/
1439 3296,
1440 /**/
1441 3295,
1442 /**/
1443 3294,
1444 /**/
1445 3293,
1446 /**/
1447 3292,
1448 /**/
1449 3291,
1450 /**/
1451 3290,
1452 /**/
1453 3289,
1454 /**/
1455 3288,
1456 /**/
1457 3287,
1458 /**/
1459 3286,
1460 /**/
1461 3285,
1462 /**/
1463 3284,
1464 /**/
1465 3283,
1466 /**/
1467 3282,
1468 /**/
1469 3281,
1470 /**/
1471 3280,
1472 /**/
1473 3279,
1474 /**/
1475 3278,
1476 /**/
1477 3277,
1478 /**/
1479 3276,
1480 /**/
1481 3275,
1482 /**/
1483 3274,
1484 /**/
1485 3273,
1486 /**/
1487 3272,
1488 /**/
1489 3271,
1490 /**/
1491 3270,
1492 /**/
1493 3269,
1494 /**/
1495 3268,
1496 /**/
1497 3267,
1498 /**/
1499 3266,
1500 /**/
1501 3265,
1502 /**/
1503 3264,
1504 /**/
1505 3263,
1506 /**/
1507 3262,
1508 /**/
1509 3261,
1510 /**/
1511 3260,
1512 /**/
1513 3259,
1514 /**/
1515 3258,
1516 /**/
1517 3257,
1518 /**/
1519 3256,
1520 /**/
1521 3255,
1522 /**/
1523 3254,
1524 /**/
1525 3253,
1526 /**/
1527 3252,
1528 /**/
1529 3251,
1530 /**/
1531 3250,
1532 /**/
1533 3249,
1534 /**/
1535 3248,
1536 /**/
1537 3247,
1538 /**/
1539 3246,
1540 /**/
1541 3245,
1542 /**/
1543 3244,
1544 /**/
1545 3243,
1546 /**/
1547 3242,
1548 /**/
1549 3241,
1550 /**/
1551 3240,
1552 /**/
1553 3239,
1554 /**/
1555 3238,
1556 /**/
1557 3237,
1558 /**/
1559 3236,
1560 /**/
1561 3235,
1562 /**/
1563 3234,
1564 /**/
1565 3233,
1566 /**/
1567 3232,
1568 /**/
1569 3231,
1570 /**/
1571 3230,
1572 /**/
1573 3229,
1574 /**/
1575 3228,
1576 /**/
1577 3227,
1578 /**/
1579 3226,
1580 /**/
1581 3225,
1582 /**/
1583 3224,
1584 /**/
1585 3223,
1586 /**/
1587 3222,
1588 /**/
1589 3221,
1590 /**/
1591 3220,
1592 /**/
1593 3219,
1594 /**/
1595 3218,
1596 /**/
1597 3217,
1598 /**/
1599 3216,
1600 /**/
1601 3215,
1602 /**/
1603 3214,
1604 /**/
1605 3213,
1606 /**/
1607 3212,
1608 /**/
1609 3211,
1610 /**/
1611 3210,
1612 /**/
1613 3209,
1614 /**/
1615 3208,
1616 /**/
1617 3207,
1618 /**/
1619 3206,
1620 /**/
1621 3205,
1622 /**/
1623 3204,
1624 /**/
1625 3203,
1626 /**/
1627 3202,
1628 /**/
1629 3201,
1630 /**/
1631 3200,
1632 /**/
1633 3199,
1634 /**/
1635 3198,
1636 /**/
1637 3197,
1638 /**/
1639 3196,
1640 /**/
1641 3195,
1642 /**/
1643 3194,
1644 /**/
1645 3193,
1646 /**/
1647 3192,
1648 /**/
1649 3191,
1650 /**/
1651 3190,
1652 /**/
1653 3189,
1654 /**/
1655 3188,
1656 /**/
1657 3187,
1658 /**/
1659 3186,
1660 /**/
1661 3185,
1662 /**/
1663 3184,
1664 /**/
1665 3183,
1666 /**/
1667 3182,
1668 /**/
1669 3181,
1670 /**/
1671 3180,
1672 /**/
1673 3179,
1674 /**/
1675 3178,
1676 /**/
1677 3177,
1678 /**/
1679 3176,
1680 /**/
1681 3175,
1682 /**/
1683 3174,
1684 /**/
1685 3173,
1686 /**/
1687 3172,
1688 /**/
1689 3171,
1690 /**/
1691 3170,
1692 /**/
1693 3169,
1694 /**/
1695 3168,
1696 /**/
1697 3167,
1698 /**/
1699 3166,
1700 /**/
1701 3165,
1702 /**/
1703 3164,
1704 /**/
1705 3163,
1706 /**/
1707 3162,
1708 /**/
1709 3161,
1710 /**/
1711 3160,
1712 /**/
1713 3159,
1714 /**/
1715 3158,
1716 /**/
1717 3157,
1718 /**/
1719 3156,
1720 /**/
1721 3155,
1722 /**/
1723 3154,
1724 /**/
1725 3153,
1726 /**/
1727 3152,
1728 /**/
1729 3151,
1730 /**/
1731 3150,
1732 /**/
1733 3149,
1734 /**/
1735 3148,
1736 /**/
1737 3147,
1738 /**/
1739 3146,
1740 /**/
1741 3145,
1742 /**/
1743 3144,
1744 /**/
1745 3143,
1746 /**/
1747 3142,
1748 /**/
1749 3141,
1750 /**/
1751 3140,
1752 /**/
1753 3139,
1754 /**/
1755 3138,
1756 /**/
1757 3137,
1758 /**/
1759 3136,
1760 /**/
1761 3135,
1762 /**/
1763 3134,
1764 /**/
1765 3133,
1766 /**/
1767 3132,
1768 /**/
1769 3131,
1770 /**/
1771 3130,
1772 /**/
1773 3129,
1774 /**/
1775 3128,
1776 /**/
1777 3127,
1778 /**/
1779 3126,
1780 /**/
1781 3125,
1782 /**/
1783 3124,
1784 /**/
1785 3123,
1786 /**/
1787 3122,
1788 /**/
1789 3121,
1790 /**/
1791 3120,
1792 /**/
1793 3119,
1794 /**/
1795 3118,
1796 /**/
1797 3117,
1798 /**/
1799 3116,
1800 /**/
1801 3115,
1802 /**/
1803 3114,
1804 /**/
1805 3113,
1806 /**/
1807 3112,
1808 /**/
1809 3111,
1810 /**/
1811 3110,
1812 /**/
1813 3109,
1814 /**/
1815 3108,
1816 /**/
1817 3107,
1818 /**/
1819 3106,
1820 /**/
1821 3105,
1822 /**/
1823 3104,
1824 /**/
1825 3103,
1826 /**/
1827 3102,
1828 /**/
1829 3101,
1830 /**/
1831 3100,
1832 /**/
1833 3099,
1834 /**/
1835 3098,
1836 /**/
1837 3097,
1838 /**/
1839 3096,
1840 /**/
1841 3095,
1842 /**/
1843 3094,
1844 /**/
1845 3093,
1846 /**/
1847 3092,
1848 /**/
1849 3091,
1850 /**/
1851 3090,
1852 /**/
1853 3089,
1854 /**/
1855 3088,
1856 /**/
1857 3087,
1858 /**/
1859 3086,
1860 /**/
1861 3085,
1862 /**/
1863 3084,
1864 /**/
1865 3083,
1866 /**/
1867 3082,
1868 /**/
1869 3081,
1870 /**/
1871 3080,
1872 /**/
1873 3079,
1874 /**/
1875 3078,
1876 /**/
1877 3077,
1878 /**/
1879 3076,
1880 /**/
1881 3075,
1882 /**/
1883 3074,
1884 /**/
1885 3073,
1886 /**/
1887 3072,
1888 /**/
1889 3071,
1890 /**/
1891 3070,
1892 /**/
1893 3069,
1894 /**/
1895 3068,
1896 /**/
1897 3067,
1898 /**/
1899 3066,
1900 /**/
1901 3065,
1902 /**/
1903 3064,
1904 /**/
1905 3063,
1906 /**/
1907 3062,
1908 /**/
1909 3061,
1910 /**/
1911 3060,
1912 /**/
1913 3059,
1914 /**/
1915 3058,
1916 /**/
1917 3057,
1918 /**/
1919 3056,
1920 /**/
1921 3055,
1922 /**/
1923 3054,
1924 /**/
1925 3053,
1926 /**/
1927 3052,
1928 /**/
1929 3051,
1930 /**/
1931 3050,
1932 /**/
1933 3049,
1934 /**/
1935 3048,
1936 /**/
1937 3047,
1938 /**/
1939 3046,
1940 /**/
1941 3045,
1942 /**/
1943 3044,
1944 /**/
1945 3043,
1946 /**/
1947 3042,
1948 /**/
1949 3041,
1950 /**/
1951 3040,
1952 /**/
1953 3039,
1954 /**/
1955 3038,
1956 /**/
1957 3037,
1958 /**/
1959 3036,
1960 /**/
1961 3035,
1962 /**/
1963 3034,
1964 /**/
1965 3033,
1966 /**/
1967 3032,
1968 /**/
1969 3031,
1970 /**/
1971 3030,
1972 /**/
1973 3029,
1974 /**/
1975 3028,
1976 /**/
1977 3027,
1978 /**/
1979 3026,
1980 /**/
1981 3025,
1982 /**/
1983 3024,
1984 /**/
1985 3023,
1986 /**/
1987 3022,
1988 /**/
1989 3021,
1990 /**/
1991 3020,
1992 /**/
1993 3019,
1994 /**/
1995 3018,
1996 /**/
1997 3017,
1998 /**/
1999 3016,
2000 /**/
2001 3015,
2002 /**/
2003 3014,
2004 /**/
2005 3013,
2006 /**/
2007 3012,
2008 /**/
2009 3011,
2010 /**/
2011 3010,
2012 /**/
2013 3009,
2014 /**/
2015 3008,
2016 /**/
2017 3007,
2018 /**/
2019 3006,
2020 /**/
2021 3005,
2022 /**/
2023 3004,
2024 /**/
2025 3003,
2026 /**/
2027 3002,
2028 /**/
2029 3001,
2030 /**/
2031 3000,
2032 /**/
2033 2999,
2034 /**/
2035 2998,
2036 /**/
2037 2997,
2038 /**/
2039 2996,
2040 /**/
2041 2995,
2042 /**/
2043 2994,
2044 /**/
2045 2993,
2046 /**/
2047 2992,
2048 /**/
2049 2991,
2050 /**/
2051 2990,
2052 /**/
2053 2989,
2054 /**/
2055 2988,
2056 /**/
2057 2987,
2058 /**/
2059 2986,
2060 /**/
2061 2985,
2062 /**/
2063 2984,
2064 /**/
2065 2983,
2066 /**/
2067 2982,
2068 /**/
2069 2981,
2070 /**/
2071 2980,
2072 /**/
2073 2979,
2074 /**/
2075 2978,
2076 /**/
2077 2977,
2078 /**/
2079 2976,
2080 /**/
2081 2975,
2082 /**/
2083 2974,
2084 /**/
2085 2973,
2086 /**/
2087 2972,
2088 /**/
2089 2971,
2090 /**/
2091 2970,
2092 /**/
2093 2969,
2094 /**/
2095 2968,
2096 /**/
2097 2967,
2098 /**/
2099 2966,
2100 /**/
2101 2965,
2102 /**/
2103 2964,
2104 /**/
2105 2963,
2106 /**/
2107 2962,
2108 /**/
2109 2961,
2110 /**/
2111 2960,
2112 /**/
2113 2959,
2114 /**/
2115 2958,
2116 /**/
2117 2957,
2118 /**/
2119 2956,
2120 /**/
2121 2955,
2122 /**/
2123 2954,
2124 /**/
2125 2953,
2126 /**/
2127 2952,
2128 /**/
2129 2951,
2130 /**/
2131 2950,
2132 /**/
2133 2949,
2134 /**/
2135 2948,
2136 /**/
2137 2947,
2138 /**/
2139 2946,
2140 /**/
2141 2945,
2142 /**/
2143 2944,
2144 /**/
2145 2943,
2146 /**/
2147 2942,
2148 /**/
2149 2941,
2150 /**/
2151 2940,
2152 /**/
2153 2939,
2154 /**/
2155 2938,
2156 /**/
2157 2937,
2158 /**/
2159 2936,
2160 /**/
2161 2935,
2162 /**/
2163 2934,
2164 /**/
2165 2933,
2166 /**/
2167 2932,
2168 /**/
2169 2931,
2170 /**/
2171 2930,
2172 /**/
2173 2929,
2174 /**/
2175 2928,
2176 /**/
2177 2927,
2178 /**/
2179 2926,
2180 /**/
2181 2925,
2182 /**/
2183 2924,
2184 /**/
2185 2923,
2186 /**/
2187 2922,
2188 /**/
2189 2921,
2190 /**/
2191 2920,
2192 /**/
2193 2919,
2194 /**/
2195 2918,
2196 /**/
2197 2917,
2198 /**/
2199 2916,
2200 /**/
2201 2915,
2202 /**/
2203 2914,
2204 /**/
2205 2913,
2206 /**/
2207 2912,
2208 /**/
2209 2911,
2210 /**/
2211 2910,
2212 /**/
2213 2909,
2214 /**/
2215 2908,
2216 /**/
2217 2907,
2218 /**/
2219 2906,
2220 /**/
2221 2905,
2222 /**/
2223 2904,
2224 /**/
2225 2903,
2226 /**/
2227 2902,
2228 /**/
2229 2901,
2230 /**/
2231 2900,
2232 /**/
2233 2899,
2234 /**/
2235 2898,
2236 /**/
2237 2897,
2238 /**/
2239 2896,
2240 /**/
2241 2895,
2242 /**/
2243 2894,
2244 /**/
2245 2893,
2246 /**/
2247 2892,
2248 /**/
2249 2891,
2250 /**/
2251 2890,
2252 /**/
2253 2889,
2254 /**/
2255 2888,
2256 /**/
2257 2887,
2258 /**/
2259 2886,
2260 /**/
2261 2885,
2262 /**/
2263 2884,
2264 /**/
2265 2883,
2266 /**/
2267 2882,
2268 /**/
2269 2881,
2270 /**/
2271 2880,
2272 /**/
2273 2879,
2274 /**/
2275 2878,
2276 /**/
2277 2877,
2278 /**/
2279 2876,
2280 /**/
2281 2875,
2282 /**/
2283 2874,
2284 /**/
2285 2873,
2286 /**/
2287 2872,
2288 /**/
2289 2871,
2290 /**/
2291 2870,
2292 /**/
2293 2869,
2294 /**/
2295 2868,
2296 /**/
2297 2867,
2298 /**/
2299 2866,
2300 /**/
2301 2865,
2302 /**/
2303 2864,
2304 /**/
2305 2863,
2306 /**/
2307 2862,
2308 /**/
2309 2861,
2310 /**/
2311 2860,
2312 /**/
2313 2859,
2314 /**/
2315 2858,
2316 /**/
2317 2857,
2318 /**/
2319 2856,
2320 /**/
2321 2855,
2322 /**/
2323 2854,
2324 /**/
2325 2853,
2326 /**/
2327 2852,
2328 /**/
2329 2851,
2330 /**/
2331 2850,
2332 /**/
2333 2849,
2334 /**/
2335 2848,
2336 /**/
2337 2847,
2338 /**/
2339 2846,
2340 /**/
2341 2845,
2342 /**/
2343 2844,
2344 /**/
2345 2843,
2346 /**/
2347 2842,
2348 /**/
2349 2841,
2350 /**/
2351 2840,
2352 /**/
2353 2839,
2354 /**/
2355 2838,
2356 /**/
2357 2837,
2358 /**/
2359 2836,
2360 /**/
2361 2835,
2362 /**/
2363 2834,
2364 /**/
2365 2833,
2366 /**/
2367 2832,
2368 /**/
2369 2831,
2370 /**/
2371 2830,
2372 /**/
2373 2829,
2374 /**/
2375 2828,
2376 /**/
2377 2827,
2378 /**/
2379 2826,
2380 /**/
2381 2825,
2382 /**/
2383 2824,
2384 /**/
2385 2823,
2386 /**/
2387 2822,
2388 /**/
2389 2821,
2390 /**/
2391 2820,
2392 /**/
2393 2819,
2394 /**/
2395 2818,
2396 /**/
2397 2817,
2398 /**/
2399 2816,
2400 /**/
2401 2815,
2402 /**/
2403 2814,
2404 /**/
2405 2813,
2406 /**/
2407 2812,
2408 /**/
2409 2811,
2410 /**/
2411 2810,
2412 /**/
2413 2809,
2414 /**/
2415 2808,
2416 /**/
2417 2807,
2418 /**/
2419 2806,
2420 /**/
2421 2805,
2422 /**/
2423 2804,
2424 /**/
2425 2803,
2426 /**/
2427 2802,
2428 /**/
2429 2801,
2430 /**/
2431 2800,
2432 /**/
2433 2799,
2434 /**/
2435 2798,
2436 /**/
2437 2797,
2438 /**/
2439 2796,
2440 /**/
2441 2795,
2442 /**/
2443 2794,
2444 /**/
2445 2793,
2446 /**/
2447 2792,
2448 /**/
2449 2791,
2450 /**/
2451 2790,
2452 /**/
2453 2789,
2454 /**/
2455 2788,
2456 /**/
2457 2787,
2458 /**/
2459 2786,
2460 /**/
2461 2785,
2462 /**/
2463 2784,
2464 /**/
2465 2783,
2466 /**/
2467 2782,
2468 /**/
2469 2781,
2470 /**/
2471 2780,
2472 /**/
2473 2779,
2474 /**/
2475 2778,
2476 /**/
2477 2777,
2478 /**/
2479 2776,
2480 /**/
2481 2775,
2482 /**/
2483 2774,
2484 /**/
2485 2773,
2486 /**/
2487 2772,
2488 /**/
2489 2771,
2490 /**/
2491 2770,
2492 /**/
2493 2769,
2494 /**/
2495 2768,
2496 /**/
2497 2767,
2498 /**/
2499 2766,
2500 /**/
2501 2765,
2502 /**/
2503 2764,
2504 /**/
2505 2763,
2506 /**/
2507 2762,
2508 /**/
2509 2761,
2510 /**/
2511 2760,
2512 /**/
2513 2759,
2514 /**/
2515 2758,
2516 /**/
2517 2757,
2518 /**/
2519 2756,
2520 /**/
2521 2755,
2522 /**/
2523 2754,
2524 /**/
2525 2753,
2526 /**/
2527 2752,
2528 /**/
2529 2751,
2530 /**/
2531 2750,
2532 /**/
2533 2749,
2534 /**/
2535 2748,
2536 /**/
2537 2747,
2538 /**/
2539 2746,
2540 /**/
2541 2745,
2542 /**/
2543 2744,
2544 /**/
2545 2743,
2546 /**/
2547 2742,
2548 /**/
2549 2741,
2550 /**/
2551 2740,
2552 /**/
2553 2739,
2554 /**/
2555 2738,
2556 /**/
2557 2737,
2558 /**/
2559 2736,
2560 /**/
2561 2735,
2562 /**/
2563 2734,
2564 /**/
2565 2733,
2566 /**/
2567 2732,
2568 /**/
2569 2731,
2570 /**/
2571 2730,
2572 /**/
2573 2729,
2574 /**/
2575 2728,
2576 /**/
2577 2727,
2578 /**/
2579 2726,
2580 /**/
2581 2725,
2582 /**/
2583 2724,
2584 /**/
2585 2723,
2586 /**/
2587 2722,
2588 /**/
2589 2721,
2590 /**/
2591 2720,
2592 /**/
2593 2719,
2594 /**/
2595 2718,
2596 /**/
2597 2717,
2598 /**/
2599 2716,
2600 /**/
2601 2715,
2602 /**/
2603 2714,
2604 /**/
2605 2713,
2606 /**/
2607 2712,
2608 /**/
2609 2711,
2610 /**/
2611 2710,
2612 /**/
2613 2709,
2614 /**/
2615 2708,
2616 /**/
2617 2707,
2618 /**/
2619 2706,
2620 /**/
2621 2705,
2622 /**/
2623 2704,
2624 /**/
2625 2703,
2626 /**/
2627 2702,
2628 /**/
2629 2701,
2630 /**/
2631 2700,
2632 /**/
2633 2699,
2634 /**/
2635 2698,
2636 /**/
2637 2697,
2638 /**/
2639 2696,
2640 /**/
2641 2695,
2642 /**/
2643 2694,
2644 /**/
2645 2693,
2646 /**/
2647 2692,
2648 /**/
2649 2691,
2650 /**/
2651 2690,
2652 /**/
2653 2689,
2654 /**/
2655 2688,
2656 /**/
2657 2687,
2658 /**/
2659 2686,
2660 /**/
2661 2685,
2662 /**/
2663 2684,
2664 /**/
2665 2683,
2666 /**/
2667 2682,
2668 /**/
2669 2681,
2670 /**/
2671 2680,
2672 /**/
2673 2679,
2674 /**/
2675 2678,
2676 /**/
2677 2677,
2678 /**/
2679 2676,
2680 /**/
2681 2675,
2682 /**/
2683 2674,
2684 /**/
2685 2673,
2686 /**/
2687 2672,
2688 /**/
2689 2671,
2690 /**/
2691 2670,
2692 /**/
2693 2669,
2694 /**/
2695 2668,
2696 /**/
2697 2667,
2698 /**/
2699 2666,
2700 /**/
2701 2665,
2702 /**/
2703 2664,
2704 /**/
2705 2663,
2706 /**/
2707 2662,
2708 /**/
2709 2661,
2710 /**/
2711 2660,
2712 /**/
2713 2659,
2714 /**/
2715 2658,
2716 /**/
2717 2657,
2718 /**/
2719 2656,
2720 /**/
2721 2655,
2722 /**/
2723 2654,
2724 /**/
2725 2653,
2726 /**/
2727 2652,
2728 /**/
2729 2651,
2730 /**/
2731 2650,
2732 /**/
2733 2649,
2734 /**/
2735 2648,
2736 /**/
2737 2647,
2738 /**/
2739 2646,
2740 /**/
2741 2645,
2742 /**/
2743 2644,
2744 /**/
2745 2643,
2746 /**/
2747 2642,
2748 /**/
2749 2641,
2750 /**/
2751 2640,
2752 /**/
2753 2639,
2754 /**/
2755 2638,
2756 /**/
2757 2637,
2758 /**/
2759 2636,
2760 /**/
2761 2635,
2762 /**/
2763 2634,
2764 /**/
2765 2633,
2766 /**/
2767 2632,
2768 /**/
2769 2631,
2770 /**/
2771 2630,
2772 /**/
2773 2629,
2774 /**/
2775 2628,
2776 /**/
2777 2627,
2778 /**/
2779 2626,
2780 /**/
2781 2625,
2782 /**/
2783 2624,
2784 /**/
2785 2623,
2786 /**/
2787 2622,
2788 /**/
2789 2621,
2790 /**/
2791 2620,
2792 /**/
2793 2619,
2794 /**/
2795 2618,
2796 /**/
2797 2617,
2798 /**/
2799 2616,
2800 /**/
2801 2615,
2802 /**/
2803 2614,
2804 /**/
2805 2613,
2806 /**/
2807 2612,
2808 /**/
2809 2611,
2810 /**/
2811 2610,
2812 /**/
2813 2609,
2814 /**/
2815 2608,
2816 /**/
2817 2607,
2818 /**/
2819 2606,
2820 /**/
2821 2605,
2822 /**/
2823 2604,
2824 /**/
2825 2603,
2826 /**/
2827 2602,
2828 /**/
2829 2601,
2830 /**/
2831 2600,
2832 /**/
2833 2599,
2834 /**/
2835 2598,
2836 /**/
2837 2597,
2838 /**/
2839 2596,
2840 /**/
2841 2595,
2842 /**/
2843 2594,
2844 /**/
2845 2593,
2846 /**/
2847 2592,
2848 /**/
2849 2591,
2850 /**/
2851 2590,
2852 /**/
2853 2589,
2854 /**/
2855 2588,
2856 /**/
2857 2587,
2858 /**/
2859 2586,
2860 /**/
2861 2585,
2862 /**/
2863 2584,
2864 /**/
2865 2583,
2866 /**/
2867 2582,
2868 /**/
2869 2581,
2870 /**/
2871 2580,
2872 /**/
2873 2579,
2874 /**/
2875 2578,
2876 /**/
2877 2577,
2878 /**/
2879 2576,
2880 /**/
2881 2575,
2882 /**/
2883 2574,
2884 /**/
2885 2573,
2886 /**/
2887 2572,
2888 /**/
2889 2571,
2890 /**/
2891 2570,
2892 /**/
2893 2569,
2894 /**/
2895 2568,
2896 /**/
2897 2567,
2898 /**/
2899 2566,
2900 /**/
2901 2565,
2902 /**/
2903 2564,
2904 /**/
2905 2563,
2906 /**/
2907 2562,
2908 /**/
2909 2561,
2910 /**/
2911 2560,
2912 /**/
2913 2559,
2914 /**/
2915 2558,
2916 /**/
2917 2557,
2918 /**/
2919 2556,
2920 /**/
2921 2555,
2922 /**/
2923 2554,
2924 /**/
2925 2553,
2926 /**/
2927 2552,
2928 /**/
2929 2551,
2930 /**/
2931 2550,
2932 /**/
2933 2549,
2934 /**/
2935 2548,
2936 /**/
2937 2547,
2938 /**/
2939 2546,
2940 /**/
2941 2545,
2942 /**/
2943 2544,
2944 /**/
2945 2543,
2946 /**/
2947 2542,
2948 /**/
2949 2541,
2950 /**/
2951 2540,
2952 /**/
2953 2539,
2954 /**/
2955 2538,
2956 /**/
2957 2537,
2958 /**/
2959 2536,
2960 /**/
2961 2535,
2962 /**/
2963 2534,
2964 /**/
2965 2533,
2966 /**/
2967 2532,
2968 /**/
2969 2531,
2970 /**/
2971 2530,
2972 /**/
2973 2529,
2974 /**/
2975 2528,
2976 /**/
2977 2527,
2978 /**/
2979 2526,
2980 /**/
2981 2525,
2982 /**/
2983 2524,
2984 /**/
2985 2523,
2986 /**/
2987 2522,
2988 /**/
2989 2521,
2990 /**/
2991 2520,
2992 /**/
2993 2519,
2994 /**/
2995 2518,
2996 /**/
2997 2517,
2998 /**/
2999 2516,
3000 /**/
3001 2515,
3002 /**/
3003 2514,
3004 /**/
3005 2513,
3006 /**/
3007 2512,
3008 /**/
3009 2511,
3010 /**/
3011 2510,
3012 /**/
3013 2509,
3014 /**/
3015 2508,
3016 /**/
3017 2507,
3018 /**/
3019 2506,
3020 /**/
3021 2505,
3022 /**/
3023 2504,
3024 /**/
3025 2503,
3026 /**/
3027 2502,
3028 /**/
3029 2501,
3030 /**/
3031 2500,
3032 /**/
3033 2499,
3034 /**/
3035 2498,
3036 /**/
3037 2497,
3038 /**/
3039 2496,
3040 /**/
3041 2495,
3042 /**/
3043 2494,
3044 /**/
3045 2493,
3046 /**/
3047 2492,
3048 /**/
3049 2491,
3050 /**/
3051 2490,
3052 /**/
3053 2489,
3054 /**/
3055 2488,
3056 /**/
3057 2487,
3058 /**/
3059 2486,
3060 /**/
3061 2485,
3062 /**/
3063 2484,
3064 /**/
3065 2483,
3066 /**/
3067 2482,
3068 /**/
3069 2481,
3070 /**/
3071 2480,
3072 /**/
3073 2479,
3074 /**/
3075 2478,
3076 /**/
3077 2477,
3078 /**/
3079 2476,
3080 /**/
3081 2475,
3082 /**/
3083 2474,
3084 /**/
3085 2473,
3086 /**/
3087 2472,
3088 /**/
3089 2471,
3090 /**/
3091 2470,
3092 /**/
3093 2469,
3094 /**/
3095 2468,
3096 /**/
3097 2467,
3098 /**/
3099 2466,
3100 /**/
3101 2465,
3102 /**/
3103 2464,
3104 /**/
3105 2463,
3106 /**/
3107 2462,
3108 /**/
3109 2461,
3110 /**/
3111 2460,
3112 /**/
3113 2459,
3114 /**/
3115 2458,
3116 /**/
3117 2457,
3118 /**/
3119 2456,
3120 /**/
3121 2455,
3122 /**/
3123 2454,
3124 /**/
3125 2453,
3126 /**/
3127 2452,
3128 /**/
3129 2451,
3130 /**/
3131 2450,
3132 /**/
3133 2449,
3134 /**/
3135 2448,
3136 /**/
3137 2447,
3138 /**/
3139 2446,
3140 /**/
3141 2445,
3142 /**/
3143 2444,
3144 /**/
3145 2443,
3146 /**/
3147 2442,
3148 /**/
3149 2441,
3150 /**/
3151 2440,
3152 /**/
3153 2439,
3154 /**/
3155 2438,
3156 /**/
3157 2437,
3158 /**/
3159 2436,
3160 /**/
3161 2435,
3162 /**/
3163 2434,
3164 /**/
3165 2433,
3166 /**/
3167 2432,
3168 /**/
3169 2431,
3170 /**/
3171 2430,
3172 /**/
3173 2429,
3174 /**/
3175 2428,
3176 /**/
3177 2427,
3178 /**/
3179 2426,
3180 /**/
3181 2425,
3182 /**/
3183 2424,
3184 /**/
3185 2423,
3186 /**/
3187 2422,
3188 /**/
3189 2421,
3190 /**/
3191 2420,
3192 /**/
3193 2419,
3194 /**/
3195 2418,
3196 /**/
3197 2417,
3198 /**/
3199 2416,
3200 /**/
3201 2415,
3202 /**/
3203 2414,
3204 /**/
3205 2413,
3206 /**/
3207 2412,
3208 /**/
3209 2411,
3210 /**/
3211 2410,
3212 /**/
3213 2409,
3214 /**/
3215 2408,
3216 /**/
3217 2407,
3218 /**/
3219 2406,
3220 /**/
3221 2405,
3222 /**/
3223 2404,
3224 /**/
3225 2403,
3226 /**/
3227 2402,
3228 /**/
3229 2401,
3230 /**/
3231 2400,
3232 /**/
3233 2399,
3234 /**/
3235 2398,
3236 /**/
3237 2397,
3238 /**/
3239 2396,
3240 /**/
3241 2395,
3242 /**/
3243 2394,
3244 /**/
3245 2393,
3246 /**/
3247 2392,
3248 /**/
3249 2391,
3250 /**/
3251 2390,
3252 /**/
3253 2389,
3254 /**/
3255 2388,
3256 /**/
3257 2387,
3258 /**/
3259 2386,
3260 /**/
3261 2385,
3262 /**/
3263 2384,
3264 /**/
3265 2383,
3266 /**/
3267 2382,
3268 /**/
3269 2381,
3270 /**/
3271 2380,
3272 /**/
3273 2379,
3274 /**/
3275 2378,
3276 /**/
3277 2377,
3278 /**/
3279 2376,
3280 /**/
3281 2375,
3282 /**/
3283 2374,
3284 /**/
3285 2373,
3286 /**/
3287 2372,
3288 /**/
3289 2371,
3290 /**/
3291 2370,
3292 /**/
3293 2369,
3294 /**/
3295 2368,
3296 /**/
3297 2367,
3298 /**/
3299 2366,
3300 /**/
3301 2365,
3302 /**/
3303 2364,
3304 /**/
3305 2363,
3306 /**/
3307 2362,
3308 /**/
3309 2361,
3310 /**/
3311 2360,
3312 /**/
3313 2359,
3314 /**/
3315 2358,
3316 /**/
3317 2357,
3318 /**/
3319 2356,
3320 /**/
3321 2355,
3322 /**/
3323 2354,
3324 /**/
3325 2353,
3326 /**/
3327 2352,
3328 /**/
3329 2351,
3330 /**/
3331 2350,
3332 /**/
3333 2349,
3334 /**/
3335 2348,
3336 /**/
3337 2347,
3338 /**/
3339 2346,
3340 /**/
3341 2345,
3342 /**/
3343 2344,
3344 /**/
3345 2343,
3346 /**/
3347 2342,
3348 /**/
3349 2341,
3350 /**/
3351 2340,
3352 /**/
3353 2339,
3354 /**/
3355 2338,
3356 /**/
3357 2337,
3358 /**/
3359 2336,
3360 /**/
3361 2335,
3362 /**/
3363 2334,
3364 /**/
3365 2333,
3366 /**/
3367 2332,
3368 /**/
3369 2331,
3370 /**/
3371 2330,
3372 /**/
3373 2329,
3374 /**/
3375 2328,
3376 /**/
3377 2327,
3378 /**/
3379 2326,
3380 /**/
3381 2325,
3382 /**/
3383 2324,
3384 /**/
3385 2323,
3386 /**/
3387 2322,
3388 /**/
3389 2321,
3390 /**/
3391 2320,
3392 /**/
3393 2319,
3394 /**/
3395 2318,
3396 /**/
3397 2317,
3398 /**/
3399 2316,
3400 /**/
3401 2315,
3402 /**/
3403 2314,
3404 /**/
3405 2313,
3406 /**/
3407 2312,
3408 /**/
3409 2311,
3410 /**/
3411 2310,
3412 /**/
3413 2309,
3414 /**/
3415 2308,
3416 /**/
3417 2307,
3418 /**/
3419 2306,
3420 /**/
3421 2305,
3422 /**/
3423 2304,
3424 /**/
3425 2303,
3426 /**/
3427 2302,
3428 /**/
3429 2301,
3430 /**/
3431 2300,
3432 /**/
3433 2299,
3434 /**/
3435 2298,
3436 /**/
3437 2297,
3438 /**/
3439 2296,
3440 /**/
3441 2295,
3442 /**/
3443 2294,
3444 /**/
3445 2293,
3446 /**/
3447 2292,
3448 /**/
3449 2291,
3450 /**/
3451 2290,
3452 /**/
3453 2289,
3454 /**/
3455 2288,
3456 /**/
3457 2287,
3458 /**/
3459 2286,
3460 /**/
3461 2285,
3462 /**/
3463 2284,
3464 /**/
3465 2283,
3466 /**/
3467 2282,
3468 /**/
3469 2281,
3470 /**/
3471 2280,
3472 /**/
3473 2279,
3474 /**/
3475 2278,
3476 /**/
3477 2277,
3478 /**/
3479 2276,
3480 /**/
3481 2275,
3482 /**/
3483 2274,
3484 /**/
3485 2273,
3486 /**/
3487 2272,
3488 /**/
3489 2271,
3490 /**/
3491 2270,
3492 /**/
3493 2269,
3494 /**/
3495 2268,
3496 /**/
3497 2267,
3498 /**/
3499 2266,
3500 /**/
3501 2265,
3502 /**/
3503 2264,
3504 /**/
3505 2263,
3506 /**/
3507 2262,
3508 /**/
3509 2261,
3510 /**/
3511 2260,
3512 /**/
3513 2259,
3514 /**/
3515 2258,
3516 /**/
3517 2257,
3518 /**/
3519 2256,
3520 /**/
3521 2255,
3522 /**/
3523 2254,
3524 /**/
3525 2253,
3526 /**/
3527 2252,
3528 /**/
3529 2251,
3530 /**/
3531 2250,
3532 /**/
3533 2249,
3534 /**/
3535 2248,
3536 /**/
3537 2247,
3538 /**/
3539 2246,
3540 /**/
3541 2245,
3542 /**/
3543 2244,
3544 /**/
3545 2243,
3546 /**/
3547 2242,
3548 /**/
3549 2241,
3550 /**/
3551 2240,
3552 /**/
3553 2239,
3554 /**/
3555 2238,
3556 /**/
3557 2237,
3558 /**/
3559 2236,
3560 /**/
3561 2235,
3562 /**/
3563 2234,
3564 /**/
3565 2233,
3566 /**/
3567 2232,
3568 /**/
3569 2231,
3570 /**/
3571 2230,
3572 /**/
3573 2229,
3574 /**/
3575 2228,
3576 /**/
3577 2227,
3578 /**/
3579 2226,
3580 /**/
3581 2225,
3582 /**/
3583 2224,
3584 /**/
3585 2223,
3586 /**/
3587 2222,
3588 /**/
3589 2221,
3590 /**/
3591 2220,
3592 /**/
3593 2219,
3594 /**/
3595 2218,
3596 /**/
3597 2217,
3598 /**/
3599 2216,
3600 /**/
3601 2215,
3602 /**/
3603 2214,
3604 /**/
3605 2213,
3606 /**/
3607 2212,
3608 /**/
3609 2211,
3610 /**/
3611 2210,
3612 /**/
3613 2209,
3614 /**/
3615 2208,
3616 /**/
3617 2207,
3618 /**/
3619 2206,
3620 /**/
3621 2205,
3622 /**/
3623 2204,
3624 /**/
3625 2203,
3626 /**/
3627 2202,
3628 /**/
3629 2201,
3630 /**/
3631 2200,
3632 /**/
3633 2199,
3634 /**/
3635 2198,
3636 /**/
3637 2197,
3638 /**/
3639 2196,
3640 /**/
3641 2195,
3642 /**/
3643 2194,
3644 /**/
3645 2193,
3646 /**/
3647 2192,
3648 /**/
3649 2191,
3650 /**/
3651 2190,
3652 /**/
3653 2189,
3654 /**/
3655 2188,
3656 /**/
3657 2187,
3658 /**/
3659 2186,
3660 /**/
3661 2185,
3662 /**/
3663 2184,
3664 /**/
3665 2183,
3666 /**/
3667 2182,
3668 /**/
3669 2181,
3670 /**/
3671 2180,
3672 /**/
3673 2179,
3674 /**/
3675 2178,
3676 /**/
3677 2177,
3678 /**/
3679 2176,
3680 /**/
3681 2175,
3682 /**/
3683 2174,
3684 /**/
3685 2173,
3686 /**/
3687 2172,
3688 /**/
3689 2171,
3690 /**/
3691 2170,
3692 /**/
3693 2169,
3694 /**/
3695 2168,
3696 /**/
3697 2167,
3698 /**/
3699 2166,
3700 /**/
3701 2165,
3702 /**/
3703 2164,
3704 /**/
3705 2163,
3706 /**/
3707 2162,
3708 /**/
3709 2161,
3710 /**/
3711 2160,
3712 /**/
3713 2159,
3714 /**/
3715 2158,
3716 /**/
3717 2157,
3718 /**/
3719 2156,
3720 /**/
3721 2155,
3722 /**/
3723 2154,
3724 /**/
3725 2153,
3726 /**/
3727 2152,
3728 /**/
3729 2151,
3730 /**/
3731 2150,
3732 /**/
3733 2149,
3734 /**/
3735 2148,
3736 /**/
3737 2147,
3738 /**/
3739 2146,
3740 /**/
3741 2145,
3742 /**/
3743 2144,
3744 /**/
3745 2143,
3746 /**/
3747 2142,
3748 /**/
3749 2141,
3750 /**/
3751 2140,
3752 /**/
3753 2139,
3754 /**/
3755 2138,
3756 /**/
3757 2137,
3758 /**/
3759 2136,
3760 /**/
3761 2135,
3762 /**/
3763 2134,
3764 /**/
3765 2133,
3766 /**/
3767 2132,
3768 /**/
3769 2131,
3770 /**/
3771 2130,
3772 /**/
3773 2129,
3774 /**/
3775 2128,
3776 /**/
3777 2127,
3778 /**/
3779 2126,
3780 /**/
3781 2125,
3782 /**/
3783 2124,
3784 /**/
3785 2123,
3786 /**/
3787 2122,
3788 /**/
3789 2121,
3790 /**/
3791 2120,
3792 /**/
3793 2119,
3794 /**/
3795 2118,
3796 /**/
3797 2117,
3798 /**/
3799 2116,
3800 /**/
3801 2115,
3802 /**/
3803 2114,
3804 /**/
3805 2113,
3806 /**/
3807 2112,
3808 /**/
3809 2111,
3810 /**/
3811 2110,
3812 /**/
3813 2109,
3814 /**/
3815 2108,
3816 /**/
3817 2107,
3818 /**/
3819 2106,
3820 /**/
3821 2105,
3822 /**/
3823 2104,
3824 /**/
3825 2103,
3826 /**/
3827 2102,
3828 /**/
3829 2101,
3830 /**/
3831 2100,
3832 /**/
3833 2099,
3834 /**/
3835 2098,
3836 /**/
3837 2097,
3838 /**/
3839 2096,
3840 /**/
3841 2095,
3842 /**/
3843 2094,
3844 /**/
3845 2093,
3846 /**/
3847 2092,
3848 /**/
3849 2091,
3850 /**/
3851 2090,
3852 /**/
3853 2089,
3854 /**/
3855 2088,
3856 /**/
3857 2087,
3858 /**/
3859 2086,
3860 /**/
3861 2085,
3862 /**/
3863 2084,
3864 /**/
3865 2083,
3866 /**/
3867 2082,
3868 /**/
3869 2081,
3870 /**/
3871 2080,
3872 /**/
3873 2079,
3874 /**/
3875 2078,
3876 /**/
3877 2077,
3878 /**/
3879 2076,
3880 /**/
3881 2075,
3882 /**/
3883 2074,
3884 /**/
3885 2073,
3886 /**/
3887 2072,
3888 /**/
3889 2071,
3890 /**/
3891 2070,
3892 /**/
3893 2069,
3894 /**/
3895 2068,
3896 /**/
3897 2067,
3898 /**/
3899 2066,
3900 /**/
3901 2065,
3902 /**/
3903 2064,
3904 /**/
3905 2063,
3906 /**/
3907 2062,
3908 /**/
3909 2061,
3910 /**/
3911 2060,
3912 /**/
3913 2059,
3914 /**/
3915 2058,
3916 /**/
3917 2057,
3918 /**/
3919 2056,
3920 /**/
3921 2055,
3922 /**/
3923 2054,
3924 /**/
3925 2053,
3926 /**/
3927 2052,
3928 /**/
3929 2051,
3930 /**/
3931 2050,
3932 /**/
3933 2049,
3934 /**/
3935 2048,
3936 /**/
3937 2047,
3938 /**/
3939 2046,
3940 /**/
3941 2045,
3942 /**/
3943 2044,
3944 /**/
3945 2043,
3946 /**/
3947 2042,
3948 /**/
3949 2041,
3950 /**/
3951 2040,
3952 /**/
3953 2039,
3954 /**/
3955 2038,
3956 /**/
3957 2037,
3958 /**/
3959 2036,
3960 /**/
3961 2035,
3962 /**/
3963 2034,
3964 /**/
3965 2033,
3966 /**/
3967 2032,
3968 /**/
3969 2031,
3970 /**/
3971 2030,
3972 /**/
3973 2029,
3974 /**/
3975 2028,
3976 /**/
3977 2027,
3978 /**/
3979 2026,
3980 /**/
3981 2025,
3982 /**/
3983 2024,
3984 /**/
3985 2023,
3986 /**/
3987 2022,
3988 /**/
3989 2021,
3990 /**/
3991 2020,
3992 /**/
3993 2019,
3994 /**/
3995 2018,
3996 /**/
3997 2017,
3998 /**/
3999 2016,
4000 /**/
4001 2015,
4002 /**/
4003 2014,
4004 /**/
4005 2013,
4006 /**/
4007 2012,
4008 /**/
4009 2011,
4010 /**/
4011 2010,
4012 /**/
4013 2009,
4014 /**/
4015 2008,
4016 /**/
4017 2007,
4018 /**/
4019 2006,
4020 /**/
4021 2005,
4022 /**/
4023 2004,
4024 /**/
4025 2003,
4026 /**/
4027 2002,
4028 /**/
4029 2001,
4030 /**/
4031 2000,
4032 /**/
4033 1999,
4034 /**/
4035 1998,
4036 /**/
4037 1997,
4038 /**/
4039 1996,
4040 /**/
4041 1995,
4042 /**/
4043 1994,
4044 /**/
4045 1993,
4046 /**/
4047 1992,
4048 /**/
4049 1991,
4050 /**/
4051 1990,
4052 /**/
4053 1989,
4054 /**/
4055 1988,
4056 /**/
4057 1987,
4058 /**/
4059 1986,
4060 /**/
4061 1985,
4062 /**/
4063 1984,
4064 /**/
4065 1983,
4066 /**/
4067 1982,
4068 /**/
4069 1981,
4070 /**/
4071 1980,
4072 /**/
4073 1979,
4074 /**/
4075 1978,
4076 /**/
4077 1977,
4078 /**/
4079 1976,
4080 /**/
4081 1975,
4082 /**/
4083 1974,
4084 /**/
4085 1973,
4086 /**/
4087 1972,
4088 /**/
4089 1971,
4090 /**/
4091 1970,
4092 /**/
4093 1969,
4094 /**/
4095 1968,
4096 /**/
4097 1967,
4098 /**/
4099 1966,
4100 /**/
4101 1965,
4102 /**/
4103 1964,
4104 /**/
4105 1963,
4106 /**/
4107 1962,
4108 /**/
4109 1961,
4110 /**/
4111 1960,
4112 /**/
4113 1959,
4114 /**/
4115 1958,
4116 /**/
4117 1957,
4118 /**/
4119 1956,
4120 /**/
4121 1955,
4122 /**/
4123 1954,
4124 /**/
4125 1953,
4126 /**/
4127 1952,
4128 /**/
4129 1951,
4130 /**/
4131 1950,
4132 /**/
4133 1949,
4134 /**/
4135 1948,
4136 /**/
4137 1947,
4138 /**/
4139 1946,
4140 /**/
4141 1945,
4142 /**/
4143 1944,
4144 /**/
4145 1943,
4146 /**/
4147 1942,
4148 /**/
4149 1941,
4150 /**/
4151 1940,
4152 /**/
4153 1939,
4154 /**/
4155 1938,
4156 /**/
4157 1937,
4158 /**/
4159 1936,
4160 /**/
4161 1935,
4162 /**/
4163 1934,
4164 /**/
4165 1933,
4166 /**/
4167 1932,
4168 /**/
4169 1931,
4170 /**/
4171 1930,
4172 /**/
4173 1929,
4174 /**/
4175 1928,
4176 /**/
4177 1927,
4178 /**/
4179 1926,
4180 /**/
4181 1925,
4182 /**/
4183 1924,
4184 /**/
4185 1923,
4186 /**/
4187 1922,
4188 /**/
4189 1921,
4190 /**/
4191 1920,
4192 /**/
4193 1919,
4194 /**/
4195 1918,
4196 /**/
4197 1917,
4198 /**/
4199 1916,
4200 /**/
4201 1915,
4202 /**/
4203 1914,
4204 /**/
4205 1913,
4206 /**/
4207 1912,
4208 /**/
4209 1911,
4210 /**/
4211 1910,
4212 /**/
4213 1909,
4214 /**/
4215 1908,
4216 /**/
4217 1907,
4218 /**/
4219 1906,
4220 /**/
4221 1905,
4222 /**/
4223 1904,
4224 /**/
4225 1903,
4226 /**/
4227 1902,
4228 /**/
4229 1901,
4230 /**/
4231 1900,
4232 /**/
4233 1899,
4234 /**/
4235 1898,
4236 /**/
4237 1897,
4238 /**/
4239 1896,
4240 /**/
4241 1895,
4242 /**/
4243 1894,
4244 /**/
4245 1893,
4246 /**/
4247 1892,
4248 /**/
4249 1891,
4250 /**/
4251 1890,
4252 /**/
4253 1889,
4254 /**/
4255 1888,
4256 /**/
4257 1887,
4258 /**/
4259 1886,
4260 /**/
4261 1885,
4262 /**/
4263 1884,
4264 /**/
4265 1883,
4266 /**/
4267 1882,
4268 /**/
4269 1881,
4270 /**/
4271 1880,
4272 /**/
4273 1879,
4274 /**/
4275 1878,
4276 /**/
4277 1877,
4278 /**/
4279 1876,
4280 /**/
4281 1875,
4282 /**/
4283 1874,
4284 /**/
4285 1873,
4286 /**/
4287 1872,
4288 /**/
4289 1871,
4290 /**/
4291 1870,
4292 /**/
4293 1869,
4294 /**/
4295 1868,
4296 /**/
4297 1867,
4298 /**/
4299 1866,
4300 /**/
4301 1865,
4302 /**/
4303 1864,
4304 /**/
4305 1863,
4306 /**/
4307 1862,
4308 /**/
4309 1861,
4310 /**/
4311 1860,
4312 /**/
4313 1859,
4314 /**/
4315 1858,
4316 /**/
4317 1857,
4318 /**/
4319 1856,
4320 /**/
4321 1855,
4322 /**/
4323 1854,
4324 /**/
4325 1853,
4326 /**/
4327 1852,
4328 /**/
4329 1851,
4330 /**/
4331 1850,
4332 /**/
4333 1849,
4334 /**/
4335 1848,
4336 /**/
4337 1847,
4338 /**/
4339 1846,
4340 /**/
4341 1845,
4342 /**/
4343 1844,
4344 /**/
4345 1843,
4346 /**/
4347 1842,
4348 /**/
4349 1841,
4350 /**/
4351 1840,
4352 /**/
4353 1839,
4354 /**/
4355 1838,
4356 /**/
4357 1837,
4358 /**/
4359 1836,
4360 /**/
4361 1835,
4362 /**/
4363 1834,
4364 /**/
4365 1833,
4366 /**/
4367 1832,
4368 /**/
4369 1831,
4370 /**/
4371 1830,
4372 /**/
4373 1829,
4374 /**/
4375 1828,
4376 /**/
4377 1827,
4378 /**/
4379 1826,
4380 /**/
4381 1825,
4382 /**/
4383 1824,
4384 /**/
4385 1823,
4386 /**/
4387 1822,
4388 /**/
4389 1821,
4390 /**/
4391 1820,
4392 /**/
4393 1819,
4394 /**/
4395 1818,
4396 /**/
4397 1817,
4398 /**/
4399 1816,
4400 /**/
4401 1815,
4402 /**/
4403 1814,
4404 /**/
4405 1813,
4406 /**/
4407 1812,
4408 /**/
4409 1811,
4410 /**/
4411 1810,
4412 /**/
4413 1809,
4414 /**/
4415 1808,
4416 /**/
4417 1807,
4418 /**/
4419 1806,
4420 /**/
4421 1805,
4422 /**/
4423 1804,
4424 /**/
4425 1803,
4426 /**/
4427 1802,
4428 /**/
4429 1801,
4430 /**/
4431 1800,
4432 /**/
4433 1799,
4434 /**/
4435 1798,
4436 /**/
4437 1797,
4438 /**/
4439 1796,
4440 /**/
4441 1795,
4442 /**/
4443 1794,
4444 /**/
4445 1793,
4446 /**/
4447 1792,
4448 /**/
4449 1791,
4450 /**/
4451 1790,
4452 /**/
4453 1789,
4454 /**/
4455 1788,
4456 /**/
4457 1787,
4458 /**/
4459 1786,
4460 /**/
4461 1785,
4462 /**/
4463 1784,
4464 /**/
4465 1783,
4466 /**/
4467 1782,
4468 /**/
4469 1781,
4470 /**/
4471 1780,
4472 /**/
4473 1779,
4474 /**/
4475 1778,
4476 /**/
4477 1777,
4478 /**/
4479 1776,
4480 /**/
4481 1775,
4482 /**/
4483 1774,
4484 /**/
4485 1773,
4486 /**/
4487 1772,
4488 /**/
4489 1771,
4490 /**/
4491 1770,
4492 /**/
4493 1769,
4494 /**/
4495 1768,
4496 /**/
4497 1767,
4498 /**/
4499 1766,
4500 /**/
4501 1765,
4502 /**/
4503 1764,
4504 /**/
4505 1763,
4506 /**/
4507 1762,
4508 /**/
4509 1761,
4510 /**/
4511 1760,
4512 /**/
4513 1759,
4514 /**/
4515 1758,
4516 /**/
4517 1757,
4518 /**/
4519 1756,
4520 /**/
4521 1755,
4522 /**/
4523 1754,
4524 /**/
4525 1753,
4526 /**/
4527 1752,
4528 /**/
4529 1751,
4530 /**/
4531 1750,
4532 /**/
4533 1749,
4534 /**/
4535 1748,
4536 /**/
4537 1747,
4538 /**/
4539 1746,
4540 /**/
4541 1745,
4542 /**/
4543 1744,
4544 /**/
4545 1743,
4546 /**/
4547 1742,
4548 /**/
4549 1741,
4550 /**/
4551 1740,
4552 /**/
4553 1739,
4554 /**/
4555 1738,
4556 /**/
4557 1737,
4558 /**/
4559 1736,
4560 /**/
4561 1735,
4562 /**/
4563 1734,
4564 /**/
4565 1733,
4566 /**/
4567 1732,
4568 /**/
4569 1731,
4570 /**/
4571 1730,
4572 /**/
4573 1729,
4574 /**/
4575 1728,
4576 /**/
4577 1727,
4578 /**/
4579 1726,
4580 /**/
4581 1725,
4582 /**/
4583 1724,
4584 /**/
4585 1723,
4586 /**/
4587 1722,
4588 /**/
4589 1721,
4590 /**/
4591 1720,
4592 /**/
4593 1719,
4594 /**/
4595 1718,
4596 /**/
4597 1717,
4598 /**/
4599 1716,
4600 /**/
4601 1715,
4602 /**/
4603 1714,
4604 /**/
4605 1713,
4606 /**/
4607 1712,
4608 /**/
4609 1711,
4610 /**/
4611 1710,
4612 /**/
4613 1709,
4614 /**/
4615 1708,
4616 /**/
4617 1707,
4618 /**/
4619 1706,
4620 /**/
4621 1705,
4622 /**/
4623 1704,
4624 /**/
4625 1703,
4626 /**/
4627 1702,
4628 /**/
4629 1701,
4630 /**/
4631 1700,
4632 /**/
4633 1699,
4634 /**/
4635 1698,
4636 /**/
4637 1697,
4638 /**/
4639 1696,
4640 /**/
4641 1695,
4642 /**/
4643 1694,
4644 /**/
4645 1693,
4646 /**/
4647 1692,
4648 /**/
4649 1691,
4650 /**/
4651 1690,
4652 /**/
4653 1689,
4654 /**/
4655 1688,
4656 /**/
4657 1687,
4658 /**/
4659 1686,
4660 /**/
4661 1685,
4662 /**/
4663 1684,
4664 /**/
4665 1683,
4666 /**/
4667 1682,
4668 /**/
4669 1681,
4670 /**/
4671 1680,
4672 /**/
4673 1679,
4674 /**/
4675 1678,
4676 /**/
4677 1677,
4678 /**/
4679 1676,
4680 /**/
4681 1675,
4682 /**/
4683 1674,
4684 /**/
4685 1673,
4686 /**/
4687 1672,
4688 /**/
4689 1671,
4690 /**/
4691 1670,
4692 /**/
4693 1669,
4694 /**/
4695 1668,
4696 /**/
4697 1667,
4698 /**/
4699 1666,
4700 /**/
4701 1665,
4702 /**/
4703 1664,
4704 /**/
4705 1663,
4706 /**/
4707 1662,
4708 /**/
4709 1661,
4710 /**/
4711 1660,
4712 /**/
4713 1659,
4714 /**/
4715 1658,
4716 /**/
4717 1657,
4718 /**/
4719 1656,
4720 /**/
4721 1655,
4722 /**/
4723 1654,
4724 /**/
4725 1653,
4726 /**/
4727 1652,
4728 /**/
4729 1651,
4730 /**/
4731 1650,
4732 /**/
4733 1649,
4734 /**/
4735 1648,
4736 /**/
4737 1647,
4738 /**/
4739 1646,
4740 /**/
4741 1645,
4742 /**/
4743 1644,
4744 /**/
4745 1643,
4746 /**/
4747 1642,
4748 /**/
4749 1641,
4750 /**/
4751 1640,
4752 /**/
4753 1639,
4754 /**/
4755 1638,
4756 /**/
4757 1637,
4758 /**/
4759 1636,
4760 /**/
4761 1635,
4762 /**/
4763 1634,
4764 /**/
4765 1633,
4766 /**/
4767 1632,
4768 /**/
4769 1631,
4770 /**/
4771 1630,
4772 /**/
4773 1629,
4774 /**/
4775 1628,
4776 /**/
4777 1627,
4778 /**/
4779 1626,
4780 /**/
4781 1625,
4782 /**/
4783 1624,
4784 /**/
4785 1623,
4786 /**/
4787 1622,
4788 /**/
4789 1621,
4790 /**/
4791 1620,
4792 /**/
4793 1619,
4794 /**/
4795 1618,
4796 /**/
4797 1617,
4798 /**/
4799 1616,
4800 /**/
4801 1615,
4802 /**/
4803 1614,
4804 /**/
4805 1613,
4806 /**/
4807 1612,
4808 /**/
4809 1611,
4810 /**/
4811 1610,
4812 /**/
4813 1609,
4814 /**/
4815 1608,
4816 /**/
4817 1607,
4818 /**/
4819 1606,
4820 /**/
4821 1605,
4822 /**/
4823 1604,
4824 /**/
4825 1603,
4826 /**/
4827 1602,
4828 /**/
4829 1601,
4830 /**/
4831 1600,
4832 /**/
4833 1599,
4834 /**/
4835 1598,
4836 /**/
4837 1597,
4838 /**/
4839 1596,
4840 /**/
4841 1595,
4842 /**/
4843 1594,
4844 /**/
4845 1593,
4846 /**/
4847 1592,
4848 /**/
4849 1591,
4850 /**/
4851 1590,
4852 /**/
4853 1589,
4854 /**/
4855 1588,
4856 /**/
4857 1587,
4858 /**/
4859 1586,
4860 /**/
4861 1585,
4862 /**/
4863 1584,
4864 /**/
4865 1583,
4866 /**/
4867 1582,
4868 /**/
4869 1581,
4870 /**/
4871 1580,
4872 /**/
4873 1579,
4874 /**/
4875 1578,
4876 /**/
4877 1577,
4878 /**/
4879 1576,
4880 /**/
4881 1575,
4882 /**/
4883 1574,
4884 /**/
4885 1573,
4886 /**/
4887 1572,
4888 /**/
4889 1571,
4890 /**/
4891 1570,
4892 /**/
4893 1569,
4894 /**/
4895 1568,
4896 /**/
4897 1567,
4898 /**/
4899 1566,
4900 /**/
4901 1565,
4902 /**/
4903 1564,
4904 /**/
4905 1563,
4906 /**/
4907 1562,
4908 /**/
4909 1561,
4910 /**/
4911 1560,
4912 /**/
4913 1559,
4914 /**/
4915 1558,
4916 /**/
4917 1557,
4918 /**/
4919 1556,
4920 /**/
4921 1555,
4922 /**/
4923 1554,
4924 /**/
4925 1553,
4926 /**/
4927 1552,
4928 /**/
4929 1551,
4930 /**/
4931 1550,
4932 /**/
4933 1549,
4934 /**/
4935 1548,
4936 /**/
4937 1547,
4938 /**/
4939 1546,
4940 /**/
4941 1545,
4942 /**/
4943 1544,
4944 /**/
4945 1543,
4946 /**/
4947 1542,
4948 /**/
4949 1541,
4950 /**/
4951 1540,
4952 /**/
4953 1539,
4954 /**/
4955 1538,
4956 /**/
4957 1537,
4958 /**/
4959 1536,
4960 /**/
4961 1535,
4962 /**/
4963 1534,
4964 /**/
4965 1533,
4966 /**/
4967 1532,
4968 /**/
4969 1531,
4970 /**/
4971 1530,
4972 /**/
4973 1529,
4974 /**/
4975 1528,
4976 /**/
4977 1527,
4978 /**/
4979 1526,
4980 /**/
4981 1525,
4982 /**/
4983 1524,
4984 /**/
4985 1523,
4986 /**/
4987 1522,
4988 /**/
4989 1521,
4990 /**/
4991 1520,
4992 /**/
4993 1519,
4994 /**/
4995 1518,
4996 /**/
4997 1517,
4998 /**/
4999 1516,
5000 /**/
5001 1515,
5002 /**/
5003 1514,
5004 /**/
5005 1513,
5006 /**/
5007 1512,
5008 /**/
5009 1511,
5010 /**/
5011 1510,
5012 /**/
5013 1509,
5014 /**/
5015 1508,
5016 /**/
5017 1507,
5018 /**/
5019 1506,
5020 /**/
5021 1505,
5022 /**/
5023 1504,
5024 /**/
5025 1503,
5026 /**/
5027 1502,
5028 /**/
5029 1501,
5030 /**/
5031 1500,
5032 /**/
5033 1499,
5034 /**/
5035 1498,
5036 /**/
5037 1497,
5038 /**/
5039 1496,
5040 /**/
5041 1495,
5042 /**/
5043 1494,
5044 /**/
5045 1493,
5046 /**/
5047 1492,
5048 /**/
5049 1491,
5050 /**/
5051 1490,
5052 /**/
5053 1489,
5054 /**/
5055 1488,
5056 /**/
5057 1487,
5058 /**/
5059 1486,
5060 /**/
5061 1485,
5062 /**/
5063 1484,
5064 /**/
5065 1483,
5066 /**/
5067 1482,
5068 /**/
5069 1481,
5070 /**/
5071 1480,
5072 /**/
5073 1479,
5074 /**/
5075 1478,
5076 /**/
5077 1477,
5078 /**/
5079 1476,
5080 /**/
5081 1475,
5082 /**/
5083 1474,
5084 /**/
5085 1473,
5086 /**/
5087 1472,
5088 /**/
5089 1471,
5090 /**/
5091 1470,
5092 /**/
5093 1469,
5094 /**/
5095 1468,
5096 /**/
5097 1467,
5098 /**/
5099 1466,
5100 /**/
5101 1465,
5102 /**/
5103 1464,
5104 /**/
5105 1463,
5106 /**/
5107 1462,
5108 /**/
5109 1461,
5110 /**/
5111 1460,
5112 /**/
5113 1459,
5114 /**/
5115 1458,
5116 /**/
5117 1457,
5118 /**/
5119 1456,
5120 /**/
5121 1455,
5122 /**/
5123 1454,
5124 /**/
5125 1453,
5126 /**/
5127 1452,
5128 /**/
5129 1451,
5130 /**/
5131 1450,
5132 /**/
5133 1449,
5134 /**/
5135 1448,
5136 /**/
5137 1447,
5138 /**/
5139 1446,
5140 /**/
5141 1445,
5142 /**/
5143 1444,
5144 /**/
5145 1443,
5146 /**/
5147 1442,
5148 /**/
5149 1441,
5150 /**/
5151 1440,
5152 /**/
5153 1439,
5154 /**/
5155 1438,
5156 /**/
5157 1437,
5158 /**/
5159 1436,
5160 /**/
5161 1435,
5162 /**/
5163 1434,
5164 /**/
5165 1433,
5166 /**/
5167 1432,
5168 /**/
5169 1431,
5170 /**/
5171 1430,
5172 /**/
5173 1429,
5174 /**/
5175 1428,
5176 /**/
5177 1427,
5178 /**/
5179 1426,
5180 /**/
5181 1425,
5182 /**/
5183 1424,
5184 /**/
5185 1423,
5186 /**/
5187 1422,
5188 /**/
5189 1421,
5190 /**/
5191 1420,
5192 /**/
5193 1419,
5194 /**/
5195 1418,
5196 /**/
5197 1417,
5198 /**/
5199 1416,
5200 /**/
5201 1415,
5202 /**/
5203 1414,
5204 /**/
5205 1413,
5206 /**/
5207 1412,
5208 /**/
5209 1411,
5210 /**/
5211 1410,
5212 /**/
5213 1409,
5214 /**/
5215 1408,
5216 /**/
5217 1407,
5218 /**/
5219 1406,
5220 /**/
5221 1405,
5222 /**/
5223 1404,
5224 /**/
5225 1403,
5226 /**/
5227 1402,
5228 /**/
5229 1401,
5230 /**/
5231 1400,
5232 /**/
5233 1399,
5234 /**/
5235 1398,
5236 /**/
5237 1397,
5238 /**/
5239 1396,
5240 /**/
5241 1395,
5242 /**/
5243 1394,
5244 /**/
5245 1393,
5246 /**/
5247 1392,
5248 /**/
5249 1391,
5250 /**/
5251 1390,
5252 /**/
5253 1389,
5254 /**/
5255 1388,
5256 /**/
5257 1387,
5258 /**/
5259 1386,
5260 /**/
5261 1385,
5262 /**/
5263 1384,
5264 /**/
5265 1383,
5266 /**/
5267 1382,
5268 /**/
5269 1381,
5270 /**/
5271 1380,
5272 /**/
5273 1379,
5274 /**/
5275 1378,
5276 /**/
5277 1377,
5278 /**/
5279 1376,
5280 /**/
5281 1375,
5282 /**/
5283 1374,
5284 /**/
5285 1373,
5286 /**/
5287 1372,
5288 /**/
5289 1371,
5290 /**/
5291 1370,
5292 /**/
5293 1369,
5294 /**/
5295 1368,
5296 /**/
5297 1367,
5298 /**/
5299 1366,
5300 /**/
5301 1365,
5302 /**/
5303 1364,
5304 /**/
5305 1363,
5306 /**/
5307 1362,
5308 /**/
5309 1361,
5310 /**/
5311 1360,
5312 /**/
5313 1359,
5314 /**/
5315 1358,
5316 /**/
5317 1357,
5318 /**/
5319 1356,
5320 /**/
5321 1355,
5322 /**/
5323 1354,
5324 /**/
5325 1353,
5326 /**/
5327 1352,
5328 /**/
5329 1351,
5330 /**/
5331 1350,
5332 /**/
5333 1349,
5334 /**/
5335 1348,
5336 /**/
5337 1347,
5338 /**/
5339 1346,
5340 /**/
5341 1345,
5342 /**/
5343 1344,
5344 /**/
5345 1343,
5346 /**/
5347 1342,
5348 /**/
5349 1341,
5350 /**/
5351 1340,
5352 /**/
5353 1339,
5354 /**/
5355 1338,
5356 /**/
5357 1337,
5358 /**/
5359 1336,
5360 /**/
5361 1335,
5362 /**/
5363 1334,
5364 /**/
5365 1333,
5366 /**/
5367 1332,
5368 /**/
5369 1331,
5370 /**/
5371 1330,
5372 /**/
5373 1329,
5374 /**/
5375 1328,
5376 /**/
5377 1327,
5378 /**/
5379 1326,
5380 /**/
5381 1325,
5382 /**/
5383 1324,
5384 /**/
5385 1323,
5386 /**/
5387 1322,
5388 /**/
5389 1321,
5390 /**/
5391 1320,
5392 /**/
5393 1319,
5394 /**/
5395 1318,
5396 /**/
5397 1317,
5398 /**/
5399 1316,
5400 /**/
5401 1315,
5402 /**/
5403 1314,
5404 /**/
5405 1313,
5406 /**/
5407 1312,
5408 /**/
5409 1311,
5410 /**/
5411 1310,
5412 /**/
5413 1309,
5414 /**/
5415 1308,
5416 /**/
5417 1307,
5418 /**/
5419 1306,
5420 /**/
5421 1305,
5422 /**/
5423 1304,
5424 /**/
5425 1303,
5426 /**/
5427 1302,
5428 /**/
5429 1301,
5430 /**/
5431 1300,
5432 /**/
5433 1299,
5434 /**/
5435 1298,
5436 /**/
5437 1297,
5438 /**/
5439 1296,
5440 /**/
5441 1295,
5442 /**/
5443 1294,
5444 /**/
5445 1293,
5446 /**/
5447 1292,
5448 /**/
5449 1291,
5450 /**/
5451 1290,
5452 /**/
5453 1289,
5454 /**/
5455 1288,
5456 /**/
5457 1287,
5458 /**/
5459 1286,
5460 /**/
5461 1285,
5462 /**/
5463 1284,
5464 /**/
5465 1283,
5466 /**/
5467 1282,
5468 /**/
5469 1281,
5470 /**/
5471 1280,
5472 /**/
5473 1279,
5474 /**/
5475 1278,
5476 /**/
5477 1277,
5478 /**/
5479 1276,
5480 /**/
5481 1275,
5482 /**/
5483 1274,
5484 /**/
5485 1273,
5486 /**/
5487 1272,
5488 /**/
5489 1271,
5490 /**/
5491 1270,
5492 /**/
5493 1269,
5494 /**/
5495 1268,
5496 /**/
5497 1267,
5498 /**/
5499 1266,
5500 /**/
5501 1265,
5502 /**/
5503 1264,
5504 /**/
5505 1263,
5506 /**/
5507 1262,
5508 /**/
5509 1261,
5510 /**/
5511 1260,
5512 /**/
5513 1259,
5514 /**/
5515 1258,
5516 /**/
5517 1257,
5518 /**/
5519 1256,
5520 /**/
5521 1255,
5522 /**/
5523 1254,
5524 /**/
5525 1253,
5526 /**/
5527 1252,
5528 /**/
5529 1251,
5530 /**/
5531 1250,
5532 /**/
5533 1249,
5534 /**/
5535 1248,
5536 /**/
5537 1247,
5538 /**/
5539 1246,
5540 /**/
5541 1245,
5542 /**/
5543 1244,
5544 /**/
5545 1243,
5546 /**/
5547 1242,
5548 /**/
5549 1241,
5550 /**/
5551 1240,
5552 /**/
5553 1239,
5554 /**/
5555 1238,
5556 /**/
5557 1237,
5558 /**/
5559 1236,
5560 /**/
5561 1235,
5562 /**/
5563 1234,
5564 /**/
5565 1233,
5566 /**/
5567 1232,
5568 /**/
5569 1231,
5570 /**/
5571 1230,
5572 /**/
5573 1229,
5574 /**/
5575 1228,
5576 /**/
5577 1227,
5578 /**/
5579 1226,
5580 /**/
5581 1225,
5582 /**/
5583 1224,
5584 /**/
5585 1223,
5586 /**/
5587 1222,
5588 /**/
5589 1221,
5590 /**/
5591 1220,
5592 /**/
5593 1219,
5594 /**/
5595 1218,
5596 /**/
5597 1217,
5598 /**/
5599 1216,
5600 /**/
5601 1215,
5602 /**/
5603 1214,
5604 /**/
5605 1213,
5606 /**/
5607 1212,
5608 /**/
5609 1211,
5610 /**/
5611 1210,
5612 /**/
5613 1209,
5614 /**/
5615 1208,
5616 /**/
5617 1207,
5618 /**/
5619 1206,
5620 /**/
5621 1205,
5622 /**/
5623 1204,
5624 /**/
5625 1203,
5626 /**/
5627 1202,
5628 /**/
5629 1201,
5630 /**/
5631 1200,
5632 /**/
5633 1199,
5634 /**/
5635 1198,
5636 /**/
5637 1197,
5638 /**/
5639 1196,
5640 /**/
5641 1195,
5642 /**/
5643 1194,
5644 /**/
5645 1193,
5646 /**/
5647 1192,
5648 /**/
5649 1191,
5650 /**/
5651 1190,
5652 /**/
5653 1189,
5654 /**/
5655 1188,
5656 /**/
5657 1187,
5658 /**/
5659 1186,
5660 /**/
5661 1185,
5662 /**/
5663 1184,
5664 /**/
5665 1183,
5666 /**/
5667 1182,
5668 /**/
5669 1181,
5670 /**/
5671 1180,
5672 /**/
5673 1179,
5674 /**/
5675 1178,
5676 /**/
5677 1177,
5678 /**/
5679 1176,
5680 /**/
5681 1175,
5682 /**/
5683 1174,
5684 /**/
5685 1173,
5686 /**/
5687 1172,
5688 /**/
5689 1171,
5690 /**/
5691 1170,
5692 /**/
5693 1169,
5694 /**/
5695 1168,
5696 /**/
5697 1167,
5698 /**/
5699 1166,
5700 /**/
5701 1165,
5702 /**/
5703 1164,
5704 /**/
5705 1163,
5706 /**/
5707 1162,
5708 /**/
5709 1161,
5710 /**/
5711 1160,
5712 /**/
5713 1159,
5714 /**/
5715 1158,
5716 /**/
5717 1157,
5718 /**/
5719 1156,
5720 /**/
5721 1155,
5722 /**/
5723 1154,
5724 /**/
5725 1153,
5726 /**/
5727 1152,
5728 /**/
5729 1151,
5730 /**/
5731 1150,
5732 /**/
5733 1149,
5734 /**/
5735 1148,
5736 /**/
5737 1147,
5738 /**/
5739 1146,
5740 /**/
5741 1145,
5742 /**/
5743 1144,
5744 /**/
5745 1143,
5746 /**/
5747 1142,
5748 /**/
5749 1141,
5750 /**/
5751 1140,
5752 /**/
5753 1139,
5754 /**/
5755 1138,
5756 /**/
5757 1137,
5758 /**/
5759 1136,
5760 /**/
5761 1135,
5762 /**/
5763 1134,
5764 /**/
5765 1133,
5766 /**/
5767 1132,
5768 /**/
5769 1131,
5770 /**/
5771 1130,
5772 /**/
5773 1129,
5774 /**/
5775 1128,
5776 /**/
5777 1127,
5778 /**/
5779 1126,
5780 /**/
5781 1125,
5782 /**/
5783 1124,
5784 /**/
5785 1123,
5786 /**/
5787 1122,
5788 /**/
5789 1121,
5790 /**/
5791 1120,
5792 /**/
5793 1119,
5794 /**/
5795 1118,
5796 /**/
5797 1117,
5798 /**/
5799 1116,
5800 /**/
5801 1115,
5802 /**/
5803 1114,
5804 /**/
5805 1113,
5806 /**/
5807 1112,
5808 /**/
5809 1111,
5810 /**/
5811 1110,
5812 /**/
5813 1109,
5814 /**/
5815 1108,
5816 /**/
5817 1107,
5818 /**/
5819 1106,
5820 /**/
5821 1105,
5822 /**/
5823 1104,
5824 /**/
5825 1103,
5826 /**/
5827 1102,
5828 /**/
5829 1101,
5830 /**/
5831 1100,
5832 /**/
5833 1099,
5834 /**/
5835 1098,
5836 /**/
5837 1097,
5838 /**/
5839 1096,
5840 /**/
5841 1095,
5842 /**/
5843 1094,
5844 /**/
5845 1093,
5846 /**/
5847 1092,
5848 /**/
5849 1091,
5850 /**/
5851 1090,
5852 /**/
5853 1089,
5854 /**/
5855 1088,
5856 /**/
5857 1087,
5858 /**/
5859 1086,
5860 /**/
5861 1085,
5862 /**/
5863 1084,
5864 /**/
5865 1083,
5866 /**/
5867 1082,
5868 /**/
5869 1081,
5870 /**/
5871 1080,
5872 /**/
5873 1079,
5874 /**/
5875 1078,
5876 /**/
5877 1077,
5878 /**/
5879 1076,
5880 /**/
5881 1075,
5882 /**/
5883 1074,
5884 /**/
5885 1073,
5886 /**/
5887 1072,
5888 /**/
5889 1071,
5890 /**/
5891 1070,
5892 /**/
5893 1069,
5894 /**/
5895 1068,
5896 /**/
5897 1067,
5898 /**/
5899 1066,
5900 /**/
5901 1065,
5902 /**/
5903 1064,
5904 /**/
5905 1063,
5906 /**/
5907 1062,
5908 /**/
5909 1061,
5910 /**/
5911 1060,
5912 /**/
5913 1059,
5914 /**/
5915 1058,
5916 /**/
5917 1057,
5918 /**/
5919 1056,
5920 /**/
5921 1055,
5922 /**/
5923 1054,
5924 /**/
5925 1053,
5926 /**/
5927 1052,
5928 /**/
5929 1051,
5930 /**/
5931 1050,
5932 /**/
5933 1049,
5934 /**/
5935 1048,
5936 /**/
5937 1047,
5938 /**/
5939 1046,
5940 /**/
5941 1045,
5942 /**/
5943 1044,
5944 /**/
5945 1043,
5946 /**/
5947 1042,
5948 /**/
5949 1041,
5950 /**/
5951 1040,
5952 /**/
5953 1039,
5954 /**/
5955 1038,
5956 /**/
5957 1037,
5958 /**/
5959 1036,
5960 /**/
5961 1035,
5962 /**/
5963 1034,
5964 /**/
5965 1033,
5966 /**/
5967 1032,
5968 /**/
5969 1031,
5970 /**/
5971 1030,
5972 /**/
5973 1029,
5974 /**/
5975 1028,
5976 /**/
5977 1027,
5978 /**/
5979 1026,
5980 /**/
5981 1025,
5982 /**/
5983 1024,
5984 /**/
5985 1023,
5986 /**/
5987 1022,
5988 /**/
5989 1021,
5990 /**/
5991 1020,
5992 /**/
5993 1019,
5994 /**/
5995 1018,
5996 /**/
5997 1017,
5998 /**/
5999 1016,
6000 /**/
6001 1015,
6002 /**/
6003 1014,
6004 /**/
6005 1013,
6006 /**/
6007 1012,
6008 /**/
6009 1011,
6010 /**/
6011 1010,
6012 /**/
6013 1009,
6014 /**/
6015 1008,
6016 /**/
6017 1007,
6018 /**/
6019 1006,
6020 /**/
6021 1005,
6022 /**/
6023 1004,
6024 /**/
6025 1003,
6026 /**/
6027 1002,
6028 /**/
6029 1001,
6030 /**/
6031 1000,
6032 /**/
6033 999,
6034 /**/
6035 998,
6036 /**/
6037 997,
6038 /**/
6039 996,
6040 /**/
6041 995,
6042 /**/
6043 994,
6044 /**/
6045 993,
6046 /**/
6047 992,
6048 /**/
6049 991,
6050 /**/
6051 990,
6052 /**/
6053 989,
6054 /**/
6055 988,
6056 /**/
6057 987,
6058 /**/
6059 986,
6060 /**/
6061 985,
6062 /**/
6063 984,
6064 /**/
6065 983,
6066 /**/
6067 982,
6068 /**/
6069 981,
6070 /**/
6071 980,
6072 /**/
6073 979,
6074 /**/
6075 978,
6076 /**/
6077 977,
6078 /**/
6079 976,
6080 /**/
6081 975,
6082 /**/
6083 974,
6084 /**/
6085 973,
6086 /**/
6087 972,
6088 /**/
6089 971,
6090 /**/
6091 970,
6092 /**/
6093 969,
6094 /**/
6095 968,
6096 /**/
6097 967,
6098 /**/
6099 966,
6100 /**/
6101 965,
6102 /**/
6103 964,
6104 /**/
6105 963,
6106 /**/
6107 962,
6108 /**/
6109 961,
6110 /**/
6111 960,
6112 /**/
6113 959,
6114 /**/
6115 958,
6116 /**/
6117 957,
6118 /**/
6119 956,
6120 /**/
6121 955,
6122 /**/
6123 954,
6124 /**/
6125 953,
6126 /**/
6127 952,
6128 /**/
6129 951,
6130 /**/
6131 950,
6132 /**/
6133 949,
6134 /**/
6135 948,
6136 /**/
6137 947,
6138 /**/
6139 946,
6140 /**/
6141 945,
6142 /**/
6143 944,
6144 /**/
6145 943,
6146 /**/
6147 942,
6148 /**/
6149 941,
6150 /**/
6151 940,
6152 /**/
6153 939,
6154 /**/
6155 938,
6156 /**/
6157 937,
6158 /**/
6159 936,
6160 /**/
6161 935,
6162 /**/
6163 934,
6164 /**/
6165 933,
6166 /**/
6167 932,
6168 /**/
6169 931,
6170 /**/
6171 930,
6172 /**/
6173 929,
6174 /**/
6175 928,
6176 /**/
6177 927,
6178 /**/
6179 926,
6180 /**/
6181 925,
6182 /**/
6183 924,
6184 /**/
6185 923,
6186 /**/
6187 922,
6188 /**/
6189 921,
6190 /**/
6191 920,
6192 /**/
6193 919,
6194 /**/
6195 918,
6196 /**/
6197 917,
6198 /**/
6199 916,
6200 /**/
6201 915,
6202 /**/
6203 914,
6204 /**/
6205 913,
6206 /**/
6207 912,
6208 /**/
6209 911,
6210 /**/
6211 910,
6212 /**/
6213 909,
6214 /**/
6215 908,
6216 /**/
6217 907,
6218 /**/
6219 906,
6220 /**/
6221 905,
6222 /**/
6223 904,
6224 /**/
6225 903,
6226 /**/
6227 902,
6228 /**/
6229 901,
6230 /**/
6231 900,
6232 /**/
6233 899,
6234 /**/
6235 898,
6236 /**/
6237 897,
6238 /**/
6239 896,
6240 /**/
6241 895,
6242 /**/
6243 894,
6244 /**/
6245 893,
6246 /**/
6247 892,
6248 /**/
6249 891,
6250 /**/
6251 890,
6252 /**/
6253 889,
6254 /**/
6255 888,
6256 /**/
6257 887,
6258 /**/
6259 886,
6260 /**/
6261 885,
6262 /**/
6263 884,
6264 /**/
6265 883,
6266 /**/
6267 882,
6268 /**/
6269 881,
6270 /**/
6271 880,
6272 /**/
6273 879,
6274 /**/
6275 878,
6276 /**/
6277 877,
6278 /**/
6279 876,
6280 /**/
6281 875,
6282 /**/
6283 874,
6284 /**/
6285 873,
6286 /**/
6287 872,
6288 /**/
6289 871,
6290 /**/
6291 870,
6292 /**/
6293 869,
6294 /**/
6295 868,
6296 /**/
6297 867,
6298 /**/
6299 866,
6300 /**/
6301 865,
6302 /**/
6303 864,
6304 /**/
6305 863,
6306 /**/
6307 862,
6308 /**/
6309 861,
6310 /**/
6311 860,
6312 /**/
6313 859,
6314 /**/
6315 858,
6316 /**/
6317 857,
6318 /**/
6319 856,
6320 /**/
6321 855,
6322 /**/
6323 854,
6324 /**/
6325 853,
6326 /**/
6327 852,
6328 /**/
6329 851,
6330 /**/
6331 850,
6332 /**/
6333 849,
6334 /**/
6335 848,
6336 /**/
6337 847,
6338 /**/
6339 846,
6340 /**/
6341 845,
6342 /**/
6343 844,
6344 /**/
6345 843,
6346 /**/
6347 842,
6348 /**/
6349 841,
6350 /**/
6351 840,
6352 /**/
6353 839,
6354 /**/
6355 838,
6356 /**/
6357 837,
6358 /**/
6359 836,
6360 /**/
6361 835,
6362 /**/
6363 834,
6364 /**/
6365 833,
6366 /**/
6367 832,
6368 /**/
6369 831,
6370 /**/
6371 830,
6372 /**/
6373 829,
6374 /**/
6375 828,
6376 /**/
6377 827,
6378 /**/
6379 826,
6380 /**/
6381 825,
6382 /**/
6383 824,
6384 /**/
6385 823,
6386 /**/
6387 822,
6388 /**/
6389 821,
6390 /**/
6391 820,
6392 /**/
6393 819,
6394 /**/
6395 818,
6396 /**/
6397 817,
6398 /**/
6399 816,
6400 /**/
6401 815,
6402 /**/
6403 814,
6404 /**/
6405 813,
6406 /**/
6407 812,
6408 /**/
6409 811,
6410 /**/
6411 810,
6412 /**/
6413 809,
6414 /**/
6415 808,
6416 /**/
6417 807,
6418 /**/
6419 806,
6420 /**/
6421 805,
6422 /**/
6423 804,
6424 /**/
6425 803,
6426 /**/
6427 802,
6428 /**/
6429 801,
6430 /**/
6431 800,
6432 /**/
6433 799,
6434 /**/
6435 798,
6436 /**/
6437 797,
6438 /**/
6439 796,
6440 /**/
6441 795,
6442 /**/
6443 794,
6444 /**/
6445 793,
6446 /**/
6447 792,
6448 /**/
6449 791,
6450 /**/
6451 790,
6452 /**/
6453 789,
6454 /**/
6455 788,
6456 /**/
6457 787,
6458 /**/
6459 786,
6460 /**/
6461 785,
6462 /**/
6463 784,
6464 /**/
6465 783,
6466 /**/
6467 782,
6468 /**/
6469 781,
6470 /**/
6471 780,
6472 /**/
6473 779,
6474 /**/
6475 778,
6476 /**/
6477 777,
6478 /**/
6479 776,
6480 /**/
6481 775,
6482 /**/
6483 774,
6484 /**/
6485 773,
6486 /**/
6487 772,
6488 /**/
6489 771,
6490 /**/
6491 770,
6492 /**/
6493 769,
6494 /**/
6495 768,
6496 /**/
6497 767,
6498 /**/
6499 766,
6500 /**/
6501 765,
6502 /**/
6503 764,
6504 /**/
6505 763,
6506 /**/
6507 762,
6508 /**/
6509 761,
6510 /**/
6511 760,
6512 /**/
6513 759,
6514 /**/
6515 758,
6516 /**/
6517 757,
6518 /**/
6519 756,
6520 /**/
6521 755,
6522 /**/
6523 754,
6524 /**/
6525 753,
6526 /**/
6527 752,
6528 /**/
6529 751,
6530 /**/
6531 750,
6532 /**/
6533 749,
6534 /**/
6535 748,
6536 /**/
6537 747,
6538 /**/
6539 746,
6540 /**/
6541 745,
6542 /**/
6543 744,
6544 /**/
6545 743,
6546 /**/
6547 742,
6548 /**/
6549 741,
6550 /**/
6551 740,
6552 /**/
6553 739,
6554 /**/
6555 738,
6556 /**/
6557 737,
6558 /**/
6559 736,
6560 /**/
6561 735,
6562 /**/
6563 734,
6564 /**/
6565 733,
6566 /**/
6567 732,
6568 /**/
6569 731,
6570 /**/
6571 730,
6572 /**/
6573 729,
6574 /**/
6575 728,
6576 /**/
6577 727,
6578 /**/
6579 726,
6580 /**/
6581 725,
6582 /**/
6583 724,
6584 /**/
6585 723,
6586 /**/
6587 722,
6588 /**/
6589 721,
6590 /**/
6591 720,
6592 /**/
6593 719,
6594 /**/
6595 718,
6596 /**/
6597 717,
6598 /**/
6599 716,
6600 /**/
6601 715,
6602 /**/
6603 714,
6604 /**/
6605 713,
6606 /**/
6607 712,
6608 /**/
6609 711,
6610 /**/
6611 710,
6612 /**/
6613 709,
6614 /**/
6615 708,
6616 /**/
6617 707,
6618 /**/
6619 706,
6620 /**/
6621 705,
6622 /**/
6623 704,
6624 /**/
6625 703,
6626 /**/
6627 702,
6628 /**/
6629 701,
6630 /**/
6631 700,
6632 /**/
6633 699,
6634 /**/
6635 698,
6636 /**/
6637 697,
6638 /**/
6639 696,
6640 /**/
6641 695,
6642 /**/
6643 694,
6644 /**/
6645 693,
6646 /**/
6647 692,
6648 /**/
6649 691,
6650 /**/
6651 690,
6652 /**/
6653 689,
6654 /**/
6655 688,
6656 /**/
6657 687,
6658 /**/
6659 686,
6660 /**/
6661 685,
6662 /**/
6663 684,
6664 /**/
6665 683,
6666 /**/
6667 682,
6668 /**/
6669 681,
6670 /**/
6671 680,
6672 /**/
6673 679,
6674 /**/
6675 678,
6676 /**/
6677 677,
6678 /**/
6679 676,
6680 /**/
6681 675,
6682 /**/
6683 674,
6684 /**/
6685 673,
6686 /**/
6687 672,
6688 /**/
6689 671,
6690 /**/
6691 670,
6692 /**/
6693 669,
6694 /**/
6695 668,
6696 /**/
6697 667,
6698 /**/
6699 666,
6700 /**/
6701 665,
6702 /**/
6703 664,
6704 /**/
6705 663,
6706 /**/
6707 662,
6708 /**/
6709 661,
6710 /**/
6711 660,
6712 /**/
6713 659,
6714 /**/
6715 658,
6716 /**/
6717 657,
6718 /**/
6719 656,
6720 /**/
6721 655,
6722 /**/
6723 654,
6724 /**/
6725 653,
6726 /**/
6727 652,
6728 /**/
6729 651,
6730 /**/
6731 650,
6732 /**/
6733 649,
6734 /**/
6735 648,
6736 /**/
6737 647,
6738 /**/
6739 646,
6740 /**/
6741 645,
6742 /**/
6743 644,
6744 /**/
6745 643,
6746 /**/
6747 642,
6748 /**/
6749 641,
6750 /**/
6751 640,
6752 /**/
6753 639,
6754 /**/
6755 638,
6756 /**/
6757 637,
6758 /**/
6759 636,
6760 /**/
6761 635,
6762 /**/
6763 634,
6764 /**/
6765 633,
6766 /**/
6767 632,
6768 /**/
6769 631,
6770 /**/
6771 630,
6772 /**/
6773 629,
6774 /**/
6775 628,
6776 /**/
6777 627,
6778 /**/
6779 626,
6780 /**/
6781 625,
6782 /**/
6783 624,
6784 /**/
6785 623,
6786 /**/
6787 622,
6788 /**/
6789 621,
6790 /**/
6791 620,
6792 /**/
6793 619,
6794 /**/
6795 618,
6796 /**/
6797 617,
6798 /**/
6799 616,
6800 /**/
6801 615,
6802 /**/
6803 614,
6804 /**/
6805 613,
6806 /**/
6807 612,
6808 /**/
6809 611,
6810 /**/
6811 610,
6812 /**/
6813 609,
6814 /**/
6815 608,
6816 /**/
6817 607,
6818 /**/
6819 606,
6820 /**/
6821 605,
6822 /**/
6823 604,
6824 /**/
6825 603,
6826 /**/
6827 602,
6828 /**/
6829 601,
6830 /**/
6831 600,
6832 /**/
6833 599,
6834 /**/
6835 598,
6836 /**/
6837 597,
6838 /**/
6839 596,
6840 /**/
6841 595,
6842 /**/
6843 594,
6844 /**/
6845 593,
6846 /**/
6847 592,
6848 /**/
6849 591,
6850 /**/
6851 590,
6852 /**/
6853 589,
6854 /**/
6855 588,
6856 /**/
6857 587,
6858 /**/
6859 586,
6860 /**/
6861 585,
6862 /**/
6863 584,
6864 /**/
6865 583,
6866 /**/
6867 582,
6868 /**/
6869 581,
6870 /**/
6871 580,
6872 /**/
6873 579,
6874 /**/
6875 578,
6876 /**/
6877 577,
6878 /**/
6879 576,
6880 /**/
6881 575,
6882 /**/
6883 574,
6884 /**/
6885 573,
6886 /**/
6887 572,
6888 /**/
6889 571,
6890 /**/
6891 570,
6892 /**/
6893 569,
6894 /**/
6895 568,
6896 /**/
6897 567,
6898 /**/
6899 566,
6900 /**/
6901 565,
6902 /**/
6903 564,
6904 /**/
6905 563,
6906 /**/
6907 562,
6908 /**/
6909 561,
6910 /**/
6911 560,
6912 /**/
6913 559,
6914 /**/
6915 558,
6916 /**/
6917 557,
6918 /**/
6919 556,
6920 /**/
6921 555,
6922 /**/
6923 554,
6924 /**/
6925 553,
6926 /**/
6927 552,
6928 /**/
6929 551,
6930 /**/
6931 550,
6932 /**/
6933 549,
6934 /**/
6935 548,
6936 /**/
6937 547,
6938 /**/
6939 546,
6940 /**/
6941 545,
6942 /**/
6943 544,
6944 /**/
6945 543,
6946 /**/
6947 542,
6948 /**/
6949 541,
6950 /**/
6951 540,
6952 /**/
6953 539,
6954 /**/
6955 538,
6956 /**/
6957 537,
6958 /**/
6959 536,
6960 /**/
6961 535,
6962 /**/
6963 534,
6964 /**/
6965 533,
6966 /**/
6967 532,
6968 /**/
6969 531,
6970 /**/
6971 530,
6972 /**/
6973 529,
6974 /**/
6975 528,
6976 /**/
6977 527,
6978 /**/
6979 526,
6980 /**/
6981 525,
6982 /**/
6983 524,
6984 /**/
6985 523,
6986 /**/
6987 522,
6988 /**/
6989 521,
6990 /**/
6991 520,
6992 /**/
6993 519,
6994 /**/
6995 518,
6996 /**/
6997 517,
6998 /**/
6999 516,
7000 /**/
7001 515,
7002 /**/
7003 514,
7004 /**/
7005 513,
7006 /**/
7007 512,
7008 /**/
7009 511,
7010 /**/
7011 510,
7012 /**/
7013 509,
7014 /**/
7015 508,
7016 /**/
7017 507,
7018 /**/
7019 506,
7020 /**/
7021 505,
7022 /**/
7023 504,
7024 /**/
7025 503,
7026 /**/
7027 502,
7028 /**/
7029 501,
7030 /**/
7031 500,
7032 /**/
7033 499,
7034 /**/
7035 498,
7036 /**/
7037 497,
7038 /**/
7039 496,
7040 /**/
7041 495,
7042 /**/
7043 494,
7044 /**/
7045 493,
7046 /**/
7047 492,
7048 /**/
7049 491,
7050 /**/
7051 490,
7052 /**/
7053 489,
7054 /**/
7055 488,
7056 /**/
7057 487,
7058 /**/
7059 486,
7060 /**/
7061 485,
7062 /**/
7063 484,
7064 /**/
7065 483,
7066 /**/
7067 482,
7068 /**/
7069 481,
7070 /**/
7071 480,
7072 /**/
7073 479,
7074 /**/
7075 478,
7076 /**/
7077 477,
7078 /**/
7079 476,
7080 /**/
7081 475,
7082 /**/
7083 474,
7084 /**/
7085 473,
7086 /**/
7087 472,
7088 /**/
7089 471,
7090 /**/
7091 470,
7092 /**/
7093 469,
7094 /**/
7095 468,
7096 /**/
7097 467,
7098 /**/
7099 466,
7100 /**/
7101 465,
7102 /**/
7103 464,
7104 /**/
7105 463,
7106 /**/
7107 462,
7108 /**/
7109 461,
7110 /**/
7111 460,
7112 /**/
7113 459,
7114 /**/
7115 458,
7116 /**/
7117 457,
7118 /**/
7119 456,
7120 /**/
7121 455,
7122 /**/
7123 454,
7124 /**/
7125 453,
7126 /**/
7127 452,
7128 /**/
7129 451,
7130 /**/
7131 450,
7132 /**/
7133 449,
7134 /**/
7135 448,
7136 /**/
7137 447,
7138 /**/
7139 446,
7140 /**/
7141 445,
7142 /**/
7143 444,
7144 /**/
7145 443,
7146 /**/
7147 442,
7148 /**/
7149 441,
7150 /**/
7151 440,
7152 /**/
7153 439,
7154 /**/
7155 438,
7156 /**/
7157 437,
7158 /**/
7159 436,
7160 /**/
7161 435,
7162 /**/
7163 434,
7164 /**/
7165 433,
7166 /**/
7167 432,
7168 /**/
7169 431,
7170 /**/
7171 430,
7172 /**/
7173 429,
7174 /**/
7175 428,
7176 /**/
7177 427,
7178 /**/
7179 426,
7180 /**/
7181 425,
7182 /**/
7183 424,
7184 /**/
7185 423,
7186 /**/
7187 422,
7188 /**/
7189 421,
7190 /**/
7191 420,
7192 /**/
7193 419,
7194 /**/
7195 418,
7196 /**/
7197 417,
7198 /**/
7199 416,
7200 /**/
7201 415,
7202 /**/
7203 414,
7204 /**/
7205 413,
7206 /**/
7207 412,
7208 /**/
7209 411,
7210 /**/
7211 410,
7212 /**/
7213 409,
7214 /**/
7215 408,
7216 /**/
7217 407,
7218 /**/
7219 406,
7220 /**/
7221 405,
7222 /**/
7223 404,
7224 /**/
7225 403,
7226 /**/
7227 402,
7228 /**/
7229 401,
7230 /**/
7231 400,
7232 /**/
7233 399,
7234 /**/
7235 398,
7236 /**/
7237 397,
7238 /**/
7239 396,
7240 /**/
7241 395,
7242 /**/
7243 394,
7244 /**/
7245 393,
7246 /**/
7247 392,
7248 /**/
7249 391,
7250 /**/
7251 390,
7252 /**/
7253 389,
7254 /**/
7255 388,
7256 /**/
7257 387,
7258 /**/
7259 386,
7260 /**/
7261 385,
7262 /**/
7263 384,
7264 /**/
7265 383,
7266 /**/
7267 382,
7268 /**/
7269 381,
7270 /**/
7271 380,
7272 /**/
7273 379,
7274 /**/
7275 378,
7276 /**/
7277 377,
7278 /**/
7279 376,
7280 /**/
7281 375,
7282 /**/
7283 374,
7284 /**/
7285 373,
7286 /**/
7287 372,
7288 /**/
7289 371,
7290 /**/
7291 370,
7292 /**/
7293 369,
7294 /**/
7295 368,
7296 /**/
7297 367,
7298 /**/
7299 366,
7300 /**/
7301 365,
7302 /**/
7303 364,
7304 /**/
7305 363,
7306 /**/
7307 362,
7308 /**/
7309 361,
7310 /**/
7311 360,
7312 /**/
7313 359,
7314 /**/
7315 358,
7316 /**/
7317 357,
7318 /**/
7319 356,
7320 /**/
7321 355,
7322 /**/
7323 354,
7324 /**/
7325 353,
7326 /**/
7327 352,
7328 /**/
7329 351,
7330 /**/
7331 350,
7332 /**/
7333 349,
7334 /**/
7335 348,
7336 /**/
7337 347,
7338 /**/
7339 346,
7340 /**/
7341 345,
7342 /**/
7343 344,
7344 /**/
7345 343,
7346 /**/
7347 342,
7348 /**/
7349 341,
7350 /**/
7351 340,
7352 /**/
7353 339,
7354 /**/
7355 338,
7356 /**/
7357 337,
7358 /**/
7359 336,
7360 /**/
7361 335,
7362 /**/
7363 334,
7364 /**/
7365 333,
7366 /**/
7367 332,
7368 /**/
7369 331,
7370 /**/
7371 330,
7372 /**/
7373 329,
7374 /**/
7375 328,
7376 /**/
7377 327,
7378 /**/
7379 326,
7380 /**/
7381 325,
7382 /**/
7383 324,
7384 /**/
7385 323,
7386 /**/
7387 322,
7388 /**/
7389 321,
7390 /**/
7391 320,
7392 /**/
7393 319,
7394 /**/
7395 318,
7396 /**/
7397 317,
7398 /**/
7399 316,
7400 /**/
7401 315,
7402 /**/
7403 314,
7404 /**/
7405 313,
7406 /**/
7407 312,
7408 /**/
7409 311,
7410 /**/
7411 310,
7412 /**/
7413 309,
7414 /**/
7415 308,
7416 /**/
7417 307,
7418 /**/
7419 306,
7420 /**/
7421 305,
7422 /**/
7423 304,
7424 /**/
7425 303,
7426 /**/
7427 302,
7428 /**/
7429 301,
7430 /**/
7431 300,
7432 /**/
7433 299,
7434 /**/
7435 298,
7436 /**/
7437 297,
7438 /**/
7439 296,
7440 /**/
7441 295,
7442 /**/
7443 294,
7444 /**/
7445 293,
7446 /**/
7447 292,
7448 /**/
7449 291,
7450 /**/
7451 290,
7452 /**/
7453 289,
7454 /**/
7455 288,
7456 /**/
7457 287,
7458 /**/
7459 286,
7460 /**/
7461 285,
7462 /**/
7463 284,
7464 /**/
7465 283,
7466 /**/
7467 282,
7468 /**/
7469 281,
7470 /**/
7471 280,
7472 /**/
7473 279,
7474 /**/
7475 278,
7476 /**/
7477 277,
7478 /**/
7479 276,
7480 /**/
7481 275,
7482 /**/
7483 274,
7484 /**/
7485 273,
7486 /**/
7487 272,
7488 /**/
7489 271,
7490 /**/
7491 270,
7492 /**/
7493 269,
7494 /**/
7495 268,
7496 /**/
7497 267,
7498 /**/
7499 266,
7500 /**/
7501 265,
7502 /**/
7503 264,
7504 /**/
7505 263,
7506 /**/
7507 262,
7508 /**/
7509 261,
7510 /**/
7511 260,
7512 /**/
7513 259,
7514 /**/
7515 258,
7516 /**/
7517 257,
7518 /**/
7519 256,
7520 /**/
7521 255,
7522 /**/
7523 254,
7524 /**/
7525 253,
7526 /**/
7527 252,
7528 /**/
7529 251,
7530 /**/
7531 250,
7532 /**/
7533 249,
7534 /**/
7535 248,
7536 /**/
7537 247,
7538 /**/
7539 246,
7540 /**/
7541 245,
7542 /**/
7543 244,
7544 /**/
7545 243,
7546 /**/
7547 242,
7548 /**/
7549 241,
7550 /**/
7551 240,
7552 /**/
7553 239,
7554 /**/
7555 238,
7556 /**/
7557 237,
7558 /**/
7559 236,
7560 /**/
7561 235,
7562 /**/
7563 234,
7564 /**/
7565 233,
7566 /**/
7567 232,
7568 /**/
7569 231,
7570 /**/
7571 230,
7572 /**/
7573 229,
7574 /**/
7575 228,
7576 /**/
7577 227,
7578 /**/
7579 226,
7580 /**/
7581 225,
7582 /**/
7583 224,
7584 /**/
7585 223,
7586 /**/
7587 222,
7588 /**/
7589 221,
7590 /**/
7591 220,
7592 /**/
7593 219,
7594 /**/
7595 218,
7596 /**/
7597 217,
7598 /**/
7599 216,
7600 /**/
7601 215,
7602 /**/
7603 214,
7604 /**/
7605 213,
7606 /**/
7607 212,
7608 /**/
7609 211,
7610 /**/
7611 210,
7612 /**/
7613 209,
7614 /**/
7615 208,
7616 /**/
7617 207,
7618 /**/
7619 206,
7620 /**/
7621 205,
7622 /**/
7623 204,
7624 /**/
7625 203,
7626 /**/
7627 202,
7628 /**/
7629 201,
7630 /**/
7631 200,
7632 /**/
7633 199,
7634 /**/
7635 198,
7636 /**/
7637 197,
7638 /**/
7639 196,
7640 /**/
7641 195,
7642 /**/
7643 194,
7644 /**/
7645 193,
7646 /**/
7647 192,
7648 /**/
7649 191,
7650 /**/
7651 190,
7652 /**/
7653 189,
7654 /**/
7655 188,
7656 /**/
7657 187,
7658 /**/
7659 186,
7660 /**/
7661 185,
7662 /**/
7663 184,
7664 /**/
7665 183,
7666 /**/
7667 182,
7668 /**/
7669 181,
7670 /**/
7671 180,
7672 /**/
7673 179,
7674 /**/
7675 178,
7676 /**/
7677 177,
7678 /**/
7679 176,
7680 /**/
7681 175,
7682 /**/
7683 174,
7684 /**/
7685 173,
7686 /**/
7687 172,
7688 /**/
7689 171,
7690 /**/
7691 170,
7692 /**/
7693 169,
7694 /**/
7695 168,
7696 /**/
7697 167,
7698 /**/
7699 166,
7700 /**/
7701 165,
7702 /**/
7703 164,
7704 /**/
7705 163,
7706 /**/
7707 162,
7708 /**/
7709 161,
7710 /**/
7711 160,
7712 /**/
7713 159,
7714 /**/
7715 158,
7716 /**/
7717 157,
7718 /**/
7719 156,
7720 /**/
7721 155,
7722 /**/
7723 154,
7724 /**/
7725 153,
7726 /**/
7727 152,
7728 /**/
7729 151,
7730 /**/
7731 150,
7732 /**/
7733 149,
7734 /**/
7735 148,
7736 /**/
7737 147,
7738 /**/
7739 146,
7740 /**/
7741 145,
7742 /**/
7743 144,
7744 /**/
7745 143,
7746 /**/
7747 142,
7748 /**/
7749 141,
7750 /**/
7751 140,
7752 /**/
7753 139,
7754 /**/
7755 138,
7756 /**/
7757 137,
7758 /**/
7759 136,
7760 /**/
7761 135,
7762 /**/
7763 134,
7764 /**/
7765 133,
7766 /**/
7767 132,
7768 /**/
7769 131,
7770 /**/
7771 130,
7772 /**/
7773 129,
7774 /**/
7775 128,
7776 /**/
7777 127,
7778 /**/
7779 126,
7780 /**/
7781 125,
7782 /**/
7783 124,
7784 /**/
7785 123,
7786 /**/
7787 122,
7788 /**/
7789 121,
7790 /**/
7791 120,
7792 /**/
7793 119,
7794 /**/
7795 118,
7796 /**/
7797 117,
7798 /**/
7799 116,
7800 /**/
7801 115,
7802 /**/
7803 114,
7804 /**/
7805 113,
7806 /**/
7807 112,
7808 /**/
7809 111,
7810 /**/
7811 110,
7812 /**/
7813 109,
7814 /**/
7815 108,
7816 /**/
7817 107,
7818 /**/
7819 106,
7820 /**/
7821 105,
7822 /**/
7823 104,
7824 /**/
7825 103,
7826 /**/
7827 102,
7828 /**/
7829 101,
7830 /**/
7831 100,
7832 /**/
7833 99,
7834 /**/
7835 98,
7836 /**/
7837 97,
7838 /**/
7839 96,
7840 /**/
7841 95,
7842 /**/
7843 94,
7844 /**/
7845 93,
7846 /**/
7847 92,
7848 /**/
7849 91,
7850 /**/
7851 90,
7852 /**/
7853 89,
7854 /**/
7855 88,
7856 /**/
7857 87,
7858 /**/
7859 86,
7860 /**/
7861 85,
7862 /**/
7863 84,
7864 /**/
7865 83,
7866 /**/
7867 82,
7868 /**/
7869 81,
7870 /**/
7871 80,
7872 /**/
7873 79,
7874 /**/
7875 78,
7876 /**/
7877 77,
7878 /**/
7879 76,
7880 /**/
7881 75,
7882 /**/
7883 74,
7884 /**/
7885 73,
7886 /**/
7887 72,
7888 /**/
7889 71,
7890 /**/
7891 70,
7892 /**/
7893 69,
7894 /**/
7895 68,
7896 /**/
7897 67,
7898 /**/
7899 66,
7900 /**/
7901 65,
7902 /**/
7903 64,
7904 /**/
7905 63,
7906 /**/
7907 62,
7908 /**/
7909 61,
7910 /**/
7911 60,
7912 /**/
7913 59,
7914 /**/
7915 58,
7916 /**/
7917 57,
7918 /**/
7919 56,
7920 /**/
7921 55,
7922 /**/
7923 54,
7924 /**/
7925 53,
7926 /**/
7927 52,
7928 /**/
7929 51,
7930 /**/
7931 50,
7932 /**/
7933 49,
7934 /**/
7935 48,
7936 /**/
7937 47,
7938 /**/
7939 46,
7940 /**/
7941 45,
7942 /**/
7943 44,
7944 /**/
7945 43,
7946 /**/
7947 42,
7948 /**/
7949 41,
7950 /**/
7951 40,
7952 /**/
7953 39,
7954 /**/
7955 38,
7956 /**/
7957 37,
7958 /**/
7959 36,
7960 /**/
7961 35,
7962 /**/
7963 34,
7964 /**/
7965 33,
7966 /**/
7967 32,
7968 /**/
7969 31,
7970 /**/
7971 30,
7972 /**/
7973 29,
7974 /**/
7975 28,
7976 /**/
7977 27,
7978 /**/
7979 26,
7980 /**/
7981 25,
7982 /**/
7983 24,
7984 /**/
7985 23,
7986 /**/
7987 22,
7988 /**/
7989 21,
7990 /**/
7991 20,
7992 /**/
7993 19,
7994 /**/
7995 18,
7996 /**/
7997 17,
7998 /**/
7999 16,
8000 /**/
8001 15,
8002 /**/
8003 14,
8004 /**/
8005 13,
8006 /**/
8007 12,
8008 /**/
8009 11,
8010 /**/
8011 10,
8012 /**/
8013 9,
8014 /**/
8015 8,
8016 /**/
8017 7,
8018 /**/
8019 6,
8020 /**/
8021 5,
8022 /**/
8023 4,
8024 /**/
8025 3,
8026 /**/
8027 2,
8028 /**/
8029 1,
8030 /**/
8031 0
8032 };
8033
8034 /*
8035 * Place to put a short description when adding a feature with a patch.
8036 * Keep it short, e.g.,: "relative numbers", "persistent undo".
8037 * Also add a comment marker to separate the lines.
8038 * See the official Vim patches for the diff format: It must use a context of
8039 * one line only. Create it by hand or use "diff -C2" and edit the patch.
8040 */
8041 static char *(extra_patches[]) =
8042 { /* Add your patch description below this line */
8043 /**/
8044 NULL
8045 };
8046
8047 int
highest_patch(void)8048 highest_patch(void)
8049 {
8050 // this relies on the highest patch number to be the first entry
8051 return included_patches[0];
8052 }
8053
8054 #if defined(FEAT_EVAL) || defined(PROTO)
8055 /*
8056 * Return TRUE if patch "n" has been included.
8057 */
8058 int
has_patch(int n)8059 has_patch(int n)
8060 {
8061 int h, m, l;
8062
8063 // Perform a binary search.
8064 l = 0;
8065 h = (int)ARRAY_LENGTH(included_patches) - 1;
8066 while (l < h)
8067 {
8068 m = (l + h) / 2;
8069 if (included_patches[m] == n)
8070 return TRUE;
8071 if (included_patches[m] < n)
8072 h = m;
8073 else
8074 l = m + 1;
8075 }
8076 return FALSE;
8077 }
8078 #endif
8079
8080 void
ex_version(exarg_T * eap)8081 ex_version(exarg_T *eap)
8082 {
8083 /*
8084 * Ignore a ":version 9.99" command.
8085 */
8086 if (*eap->arg == NUL)
8087 {
8088 msg_putchar('\n');
8089 list_version();
8090 }
8091 }
8092
8093 /*
8094 * Output a string for the version message. If it's going to wrap, output a
8095 * newline, unless the message is too long to fit on the screen anyway.
8096 * When "wrap" is TRUE wrap the string in [].
8097 */
8098 static void
version_msg_wrap(char_u * s,int wrap)8099 version_msg_wrap(char_u *s, int wrap)
8100 {
8101 int len = vim_strsize(s) + (wrap ? 2 : 0);
8102
8103 if (!got_int && len < (int)Columns && msg_col + len >= (int)Columns
8104 && *s != '\n')
8105 msg_putchar('\n');
8106 if (!got_int)
8107 {
8108 if (wrap)
8109 msg_puts("[");
8110 msg_puts((char *)s);
8111 if (wrap)
8112 msg_puts("]");
8113 }
8114 }
8115
8116 static void
version_msg(char * s)8117 version_msg(char *s)
8118 {
8119 version_msg_wrap((char_u *)s, FALSE);
8120 }
8121
8122 /*
8123 * List all features aligned in columns, dictionary style.
8124 */
8125 static void
list_features(void)8126 list_features(void)
8127 {
8128 list_in_columns((char_u **)features, -1, -1);
8129 }
8130
8131 /*
8132 * List string items nicely aligned in columns.
8133 * When "size" is < 0 then the last entry is marked with NULL.
8134 * The entry with index "current" is inclosed in [].
8135 */
8136 void
list_in_columns(char_u ** items,int size,int current)8137 list_in_columns(char_u **items, int size, int current)
8138 {
8139 int i;
8140 int ncol;
8141 int nrow;
8142 int cur_row = 1;
8143 int item_count = 0;
8144 int width = 0;
8145 #ifdef FEAT_SYN_HL
8146 int use_highlight = (items == (char_u **)features);
8147 #endif
8148
8149 // Find the length of the longest item, use that + 1 as the column
8150 // width.
8151 for (i = 0; size < 0 ? items[i] != NULL : i < size; ++i)
8152 {
8153 int l = vim_strsize(items[i]) + (i == current ? 2 : 0);
8154
8155 if (l > width)
8156 width = l;
8157 ++item_count;
8158 }
8159 width += 1;
8160
8161 if (Columns < width)
8162 {
8163 // Not enough screen columns - show one per line
8164 for (i = 0; i < item_count; ++i)
8165 {
8166 version_msg_wrap(items[i], i == current);
8167 if (msg_col > 0 && i < item_count - 1)
8168 msg_putchar('\n');
8169 }
8170 return;
8171 }
8172
8173 // The rightmost column doesn't need a separator.
8174 // Sacrifice it to fit in one more column if possible.
8175 ncol = (int) (Columns + 1) / width;
8176 nrow = item_count / ncol + (item_count % ncol ? 1 : 0);
8177
8178 // "i" counts columns then rows. "idx" counts rows then columns.
8179 for (i = 0; !got_int && i < nrow * ncol; ++i)
8180 {
8181 int idx = (i / ncol) + (i % ncol) * nrow;
8182
8183 if (idx < item_count)
8184 {
8185 int last_col = (i + 1) % ncol == 0;
8186
8187 if (idx == current)
8188 msg_putchar('[');
8189 #ifdef FEAT_SYN_HL
8190 if (use_highlight && items[idx][0] == '-')
8191 msg_puts_attr((char *)items[idx], HL_ATTR(HLF_W));
8192 else
8193 #endif
8194 msg_puts((char *)items[idx]);
8195 if (idx == current)
8196 msg_putchar(']');
8197 if (last_col)
8198 {
8199 if (msg_col > 0 && cur_row < nrow)
8200 msg_putchar('\n');
8201 ++cur_row;
8202 }
8203 else
8204 {
8205 while (msg_col % width)
8206 msg_putchar(' ');
8207 }
8208 }
8209 else
8210 {
8211 // this row is out of items, thus at the end of the row
8212 if (msg_col > 0)
8213 {
8214 if (cur_row < nrow)
8215 msg_putchar('\n');
8216 ++cur_row;
8217 }
8218 }
8219 }
8220 }
8221
8222 void
list_version(void)8223 list_version(void)
8224 {
8225 int i;
8226 int first;
8227 char *s = "";
8228
8229 /*
8230 * When adding features here, don't forget to update the list of
8231 * internal variables in eval.c!
8232 */
8233 init_longVersion();
8234 msg(longVersion);
8235 #ifdef MSWIN
8236 # ifdef FEAT_GUI_MSWIN
8237 # ifdef VIMDLL
8238 # ifdef _WIN64
8239 msg_puts(_("\nMS-Windows 64-bit GUI/console version"));
8240 # else
8241 msg_puts(_("\nMS-Windows 32-bit GUI/console version"));
8242 # endif
8243 # else
8244 # ifdef _WIN64
8245 msg_puts(_("\nMS-Windows 64-bit GUI version"));
8246 # else
8247 msg_puts(_("\nMS-Windows 32-bit GUI version"));
8248 # endif
8249 # endif
8250 # ifdef FEAT_OLE
8251 msg_puts(_(" with OLE support"));
8252 # endif
8253 # else
8254 # ifdef _WIN64
8255 msg_puts(_("\nMS-Windows 64-bit console version"));
8256 # else
8257 msg_puts(_("\nMS-Windows 32-bit console version"));
8258 # endif
8259 # endif
8260 #endif
8261 #if defined(MACOS_X)
8262 # if defined(MACOS_X_DARWIN)
8263 msg_puts(_("\nmacOS version"));
8264 # else
8265 msg_puts(_("\nmacOS version w/o darwin feat."));
8266 # endif
8267 # if defined(__arm64__)
8268 msg_puts(" - arm64");
8269 # elif defined(__x86_64__)
8270 msg_puts(" - x86_64");
8271 # endif
8272 #endif
8273
8274 #ifdef VMS
8275 msg_puts(_("\nOpenVMS version"));
8276 # ifdef HAVE_PATHDEF
8277 if (*compiled_arch != NUL)
8278 {
8279 msg_puts(" - ");
8280 msg_puts((char *)compiled_arch);
8281 }
8282 # endif
8283
8284 #endif
8285
8286 // Print the list of patch numbers if there is at least one.
8287 // Print a range when patches are consecutive: "1-10, 12, 15-40, 42-45"
8288 if (included_patches[0] != 0)
8289 {
8290 msg_puts(_("\nIncluded patches: "));
8291 first = -1;
8292 i = (int)ARRAY_LENGTH(included_patches) - 1;
8293 while (--i >= 0)
8294 {
8295 if (first < 0)
8296 first = included_patches[i];
8297 if (i == 0 || included_patches[i - 1] != included_patches[i] + 1)
8298 {
8299 msg_puts(s);
8300 s = ", ";
8301 msg_outnum((long)first);
8302 if (first != included_patches[i])
8303 {
8304 msg_puts("-");
8305 msg_outnum((long)included_patches[i]);
8306 }
8307 first = -1;
8308 }
8309 }
8310 }
8311
8312 // Print the list of extra patch descriptions if there is at least one.
8313 if (extra_patches[0] != NULL)
8314 {
8315 msg_puts(_("\nExtra patches: "));
8316 s = "";
8317 for (i = 0; extra_patches[i] != NULL; ++i)
8318 {
8319 msg_puts(s);
8320 s = ", ";
8321 msg_puts(extra_patches[i]);
8322 }
8323 }
8324
8325 #ifdef MODIFIED_BY
8326 msg_puts("\n");
8327 msg_puts(_("Modified by "));
8328 msg_puts(MODIFIED_BY);
8329 #endif
8330
8331 #ifdef HAVE_PATHDEF
8332 if (*compiled_user != NUL || *compiled_sys != NUL)
8333 {
8334 msg_puts(_("\nCompiled "));
8335 if (*compiled_user != NUL)
8336 {
8337 msg_puts(_("by "));
8338 msg_puts((char *)compiled_user);
8339 }
8340 if (*compiled_sys != NUL)
8341 {
8342 msg_puts("@");
8343 msg_puts((char *)compiled_sys);
8344 }
8345 }
8346 #endif
8347
8348 #ifdef FEAT_HUGE
8349 msg_puts(_("\nHuge version "));
8350 #else
8351 # ifdef FEAT_BIG
8352 msg_puts(_("\nBig version "));
8353 # else
8354 # ifdef FEAT_NORMAL
8355 msg_puts(_("\nNormal version "));
8356 # else
8357 # ifdef FEAT_SMALL
8358 msg_puts(_("\nSmall version "));
8359 # else
8360 msg_puts(_("\nTiny version "));
8361 # endif
8362 # endif
8363 # endif
8364 #endif
8365 #ifndef FEAT_GUI
8366 msg_puts(_("without GUI."));
8367 #else
8368 # ifdef FEAT_GUI_GTK
8369 # ifdef USE_GTK3
8370 msg_puts(_("with GTK3 GUI."));
8371 # else
8372 # ifdef FEAT_GUI_GNOME
8373 msg_puts(_("with GTK2-GNOME GUI."));
8374 # else
8375 msg_puts(_("with GTK2 GUI."));
8376 # endif
8377 # endif
8378 # else
8379 # ifdef FEAT_GUI_MOTIF
8380 msg_puts(_("with X11-Motif GUI."));
8381 # else
8382 # ifdef FEAT_GUI_ATHENA
8383 # ifdef FEAT_GUI_NEXTAW
8384 msg_puts(_("with X11-neXtaw GUI."));
8385 # else
8386 msg_puts(_("with X11-Athena GUI."));
8387 # endif
8388 # else
8389 # ifdef FEAT_GUI_HAIKU
8390 msg_puts(_("with Haiku GUI."));
8391 # else
8392 # ifdef FEAT_GUI_PHOTON
8393 msg_puts(_("with Photon GUI."));
8394 # else
8395 # if defined(MSWIN)
8396 msg_puts(_("with GUI."));
8397 # endif
8398 # endif
8399 # endif
8400 # endif
8401 # endif
8402 # endif
8403 #endif
8404 version_msg(_(" Features included (+) or not (-):\n"));
8405
8406 list_features();
8407 if (msg_col > 0)
8408 msg_putchar('\n');
8409
8410 #ifdef SYS_VIMRC_FILE
8411 version_msg(_(" system vimrc file: \""));
8412 version_msg(SYS_VIMRC_FILE);
8413 version_msg("\"\n");
8414 #endif
8415 #ifdef USR_VIMRC_FILE
8416 version_msg(_(" user vimrc file: \""));
8417 version_msg(USR_VIMRC_FILE);
8418 version_msg("\"\n");
8419 #endif
8420 #ifdef USR_VIMRC_FILE2
8421 version_msg(_(" 2nd user vimrc file: \""));
8422 version_msg(USR_VIMRC_FILE2);
8423 version_msg("\"\n");
8424 #endif
8425 #ifdef USR_VIMRC_FILE3
8426 version_msg(_(" 3rd user vimrc file: \""));
8427 version_msg(USR_VIMRC_FILE3);
8428 version_msg("\"\n");
8429 #endif
8430 #ifdef USR_EXRC_FILE
8431 version_msg(_(" user exrc file: \""));
8432 version_msg(USR_EXRC_FILE);
8433 version_msg("\"\n");
8434 #endif
8435 #ifdef USR_EXRC_FILE2
8436 version_msg(_(" 2nd user exrc file: \""));
8437 version_msg(USR_EXRC_FILE2);
8438 version_msg("\"\n");
8439 #endif
8440 #ifdef FEAT_GUI
8441 # ifdef SYS_GVIMRC_FILE
8442 version_msg(_(" system gvimrc file: \""));
8443 version_msg(SYS_GVIMRC_FILE);
8444 version_msg("\"\n");
8445 # endif
8446 version_msg(_(" user gvimrc file: \""));
8447 version_msg(USR_GVIMRC_FILE);
8448 version_msg("\"\n");
8449 # ifdef USR_GVIMRC_FILE2
8450 version_msg(_("2nd user gvimrc file: \""));
8451 version_msg(USR_GVIMRC_FILE2);
8452 version_msg("\"\n");
8453 # endif
8454 # ifdef USR_GVIMRC_FILE3
8455 version_msg(_("3rd user gvimrc file: \""));
8456 version_msg(USR_GVIMRC_FILE3);
8457 version_msg("\"\n");
8458 # endif
8459 #endif
8460 version_msg(_(" defaults file: \""));
8461 version_msg(VIM_DEFAULTS_FILE);
8462 version_msg("\"\n");
8463 #ifdef FEAT_GUI
8464 # ifdef SYS_MENU_FILE
8465 version_msg(_(" system menu file: \""));
8466 version_msg(SYS_MENU_FILE);
8467 version_msg("\"\n");
8468 # endif
8469 #endif
8470 #ifdef HAVE_PATHDEF
8471 if (*default_vim_dir != NUL)
8472 {
8473 version_msg(_(" fall-back for $VIM: \""));
8474 version_msg((char *)default_vim_dir);
8475 version_msg("\"\n");
8476 }
8477 if (*default_vimruntime_dir != NUL)
8478 {
8479 version_msg(_(" f-b for $VIMRUNTIME: \""));
8480 version_msg((char *)default_vimruntime_dir);
8481 version_msg("\"\n");
8482 }
8483 version_msg(_("Compilation: "));
8484 version_msg((char *)all_cflags);
8485 version_msg("\n");
8486 #ifdef VMS
8487 if (*compiler_version != NUL)
8488 {
8489 version_msg(_("Compiler: "));
8490 version_msg((char *)compiler_version);
8491 version_msg("\n");
8492 }
8493 #endif
8494 version_msg(_("Linking: "));
8495 version_msg((char *)all_lflags);
8496 #endif
8497 #ifdef DEBUG
8498 version_msg("\n");
8499 version_msg(_(" DEBUG BUILD"));
8500 #endif
8501 }
8502
8503 static void do_intro_line(int row, char_u *mesg, int add_version, int attr);
8504 static void intro_message(int colon);
8505
8506 /*
8507 * Show the intro message when not editing a file.
8508 */
8509 void
maybe_intro_message(void)8510 maybe_intro_message(void)
8511 {
8512 if (BUFEMPTY()
8513 && curbuf->b_fname == NULL
8514 && firstwin->w_next == NULL
8515 && vim_strchr(p_shm, SHM_INTRO) == NULL)
8516 intro_message(FALSE);
8517 }
8518
8519 /*
8520 * Give an introductory message about Vim.
8521 * Only used when starting Vim on an empty file, without a file name.
8522 * Or with the ":intro" command (for Sven :-).
8523 */
8524 static void
intro_message(int colon)8525 intro_message(
8526 int colon) // TRUE for ":intro"
8527 {
8528 int i;
8529 int row;
8530 int blanklines;
8531 int sponsor;
8532 char *p;
8533 static char *(lines[]) =
8534 {
8535 N_("VIM - Vi IMproved"),
8536 "",
8537 N_("version "),
8538 N_("by Bram Moolenaar et al."),
8539 #ifdef MODIFIED_BY
8540 " ",
8541 #endif
8542 N_("Vim is open source and freely distributable"),
8543 "",
8544 N_("Help poor children in Uganda!"),
8545 N_("type :help iccf<Enter> for information "),
8546 "",
8547 N_("type :q<Enter> to exit "),
8548 N_("type :help<Enter> or <F1> for on-line help"),
8549 N_("type :help version8<Enter> for version info"),
8550 NULL,
8551 "",
8552 N_("Running in Vi compatible mode"),
8553 N_("type :set nocp<Enter> for Vim defaults"),
8554 N_("type :help cp-default<Enter> for info on this"),
8555 };
8556 #ifdef FEAT_GUI
8557 static char *(gui_lines[]) =
8558 {
8559 NULL,
8560 NULL,
8561 NULL,
8562 NULL,
8563 #ifdef MODIFIED_BY
8564 NULL,
8565 #endif
8566 NULL,
8567 NULL,
8568 NULL,
8569 N_("menu Help->Orphans for information "),
8570 NULL,
8571 N_("Running modeless, typed text is inserted"),
8572 N_("menu Edit->Global Settings->Toggle Insert Mode "),
8573 N_(" for two modes "),
8574 NULL,
8575 NULL,
8576 NULL,
8577 N_("menu Edit->Global Settings->Toggle Vi Compatible"),
8578 N_(" for Vim defaults "),
8579 };
8580 #endif
8581
8582 // blanklines = screen height - # message lines
8583 blanklines = (int)Rows - (ARRAY_LENGTH(lines) - 1);
8584 if (!p_cp)
8585 blanklines += 4; // add 4 for not showing "Vi compatible" message
8586
8587 // Don't overwrite a statusline. Depends on 'cmdheight'.
8588 if (p_ls > 1)
8589 blanklines -= Rows - topframe->fr_height;
8590 if (blanklines < 0)
8591 blanklines = 0;
8592
8593 // Show the sponsor and register message one out of four times, the Uganda
8594 // message two out of four times.
8595 sponsor = (int)time(NULL);
8596 sponsor = ((sponsor & 2) == 0) - ((sponsor & 4) == 0);
8597
8598 // start displaying the message lines after half of the blank lines
8599 row = blanklines / 2;
8600 if ((row >= 2 && Columns >= 50) || colon)
8601 {
8602 for (i = 0; i < (int)ARRAY_LENGTH(lines); ++i)
8603 {
8604 p = lines[i];
8605 #ifdef FEAT_GUI
8606 if (p_im && gui.in_use && gui_lines[i] != NULL)
8607 p = gui_lines[i];
8608 #endif
8609 if (p == NULL)
8610 {
8611 if (!p_cp)
8612 break;
8613 continue;
8614 }
8615 if (sponsor != 0)
8616 {
8617 if (strstr(p, "children") != NULL)
8618 p = sponsor < 0
8619 ? N_("Sponsor Vim development!")
8620 : N_("Become a registered Vim user!");
8621 else if (strstr(p, "iccf") != NULL)
8622 p = sponsor < 0
8623 ? N_("type :help sponsor<Enter> for information ")
8624 : N_("type :help register<Enter> for information ");
8625 else if (strstr(p, "Orphans") != NULL)
8626 p = N_("menu Help->Sponsor/Register for information ");
8627 }
8628 if (*p != NUL)
8629 do_intro_line(row, (char_u *)_(p), i == 2, 0);
8630 ++row;
8631 }
8632 }
8633
8634 // Make the wait-return message appear just below the text.
8635 if (colon)
8636 msg_row = row;
8637 }
8638
8639 static void
do_intro_line(int row,char_u * mesg,int add_version,int attr)8640 do_intro_line(
8641 int row,
8642 char_u *mesg,
8643 int add_version,
8644 int attr)
8645 {
8646 char_u vers[20];
8647 int col;
8648 char_u *p;
8649 int l;
8650 int clen;
8651 #ifdef MODIFIED_BY
8652 # define MODBY_LEN 150
8653 char_u modby[MODBY_LEN];
8654
8655 if (*mesg == ' ')
8656 {
8657 vim_strncpy(modby, (char_u *)_("Modified by "), MODBY_LEN - 1);
8658 l = (int)STRLEN(modby);
8659 vim_strncpy(modby + l, (char_u *)MODIFIED_BY, MODBY_LEN - l - 1);
8660 mesg = modby;
8661 }
8662 #endif
8663
8664 // Center the message horizontally.
8665 col = vim_strsize(mesg);
8666 if (add_version)
8667 {
8668 STRCPY(vers, mediumVersion);
8669 if (highest_patch())
8670 {
8671 // Check for 9.9x or 9.9xx, alpha/beta version
8672 if (isalpha((int)vers[3]))
8673 {
8674 int len = (isalpha((int)vers[4])) ? 5 : 4;
8675 sprintf((char *)vers + len, ".%d%s", highest_patch(),
8676 mediumVersion + len);
8677 }
8678 else
8679 sprintf((char *)vers + 3, ".%d", highest_patch());
8680 }
8681 col += (int)STRLEN(vers);
8682 }
8683 col = (Columns - col) / 2;
8684 if (col < 0)
8685 col = 0;
8686
8687 // Split up in parts to highlight <> items differently.
8688 for (p = mesg; *p != NUL; p += l)
8689 {
8690 clen = 0;
8691 for (l = 0; p[l] != NUL
8692 && (l == 0 || (p[l] != '<' && p[l - 1] != '>')); ++l)
8693 {
8694 if (has_mbyte)
8695 {
8696 clen += ptr2cells(p + l);
8697 l += (*mb_ptr2len)(p + l) - 1;
8698 }
8699 else
8700 clen += byte2cells(p[l]);
8701 }
8702 screen_puts_len(p, l, row, col, *p == '<' ? HL_ATTR(HLF_8) : attr);
8703 col += clen;
8704 }
8705
8706 // Add the version number to the version line.
8707 if (add_version)
8708 screen_puts(vers, row, col, 0);
8709 }
8710
8711 /*
8712 * ":intro": clear screen, display intro screen and wait for return.
8713 */
8714 void
ex_intro(exarg_T * eap UNUSED)8715 ex_intro(exarg_T *eap UNUSED)
8716 {
8717 screenclear();
8718 intro_message(TRUE);
8719 wait_return(TRUE);
8720 }
8721