Name
gv - a PostScript and PDF previewer
Synopsis
gv [ filename ]
[-monochrome] [-grayscale] [-color]
[-[no]safer] [-[no]quiet] [-arguments <arguments>]
[-page <label>] [-[no]center]
[-media <media>]
[-portrait] [-landscape] [-upsidedown] [-seascape]
[-scale <n>] [-scalebase <n>]
[-swap] [-noswap]
[-antialias] [-noantialias]
[-dsc] [-nodsc]
[-eof] [-noeof]
[-pixmap] [-nopixmap]
[-watch] [-nowatch]
[-?] [-h] [-help] [-v]
[-resize] [-noresize]
[-geometry [<width>][x<height>][{+-}<xoffset>{+-}<yoffset>]
[-ad <resource file>]
[-style <resource file>]
[-spartan]
[<other toolkit options>]
Description
gv allows to view and navigate through PostScript and PDF
documents on an X display by providing a user interface for
the ghostscript interpreter.
Please note that gv is derived from Tim Theisen's ghostview
1.5.
Options
filename
The name of the file to be displayed. The file ending
".ps" may be omitted. "filename" may point to a
compressed file (gzipped, zipped or compressed). View-
ing PDF files requires at least ghostscript version
4.x.
-ad <resource file>
Read and use additional resources from the file
<resource file>. These resources have higher priority
than those provided in the context of the -style
<resource file> option.
-antialias, -noantialias
Whether to use antialiasing.
-arguments <arguments>
Start ghostscript with additional options as specified
by the string <arguments>.
-center, -nocenter
Whether the page should be centered automatically.
-dsc, -nodsc
Determines if document structuring convention (DSC)
comments should be respected or ignored. If -nodsc is
used gv will not attempt to examine the structure of
the document but will pass the file to the ghostscript
interpreter as a whole. In this case no page numbers
are shown and freely moving around in the document is
not possible. This option may help when viewing files
not conforming to the document structuring conventions.
-eof, -noeof
Defines the behaviour of the postscript scanner used to
examine the structure of the document. If -noeof is
used the scanner will ignore end of file (EOF) com-
ments. This may help when viewing documents which
import other documents without enclosing them within
the proper "BeginDocument" and "EndDocument" comments.
If -eof is used, the scanner treats an EOF comment as
marking the end of the file.
-pixmap, -nopixmap
If -pixmap is used gv tries to maintain off-screen
regions of the displayed page by allocating a suffi-
ciently large pixmap. If -nopixmap is used the X
Server is responsible for maintaining obscured portions
of the displayed page (see also the "useBackingPixmap"
resource).
-v Print the version number of gv to standard output and
exit.
-h, -?
Display a short help message and exit.
-help
Display a more explicit help message and exit.
-scale <n>
Selects the scale entry <n> relative to the scale 1.0.
<n> must be an integer.
-scalebase <n>
Selects the scale base <n>.
-monochrome, -grayscale, -color
Sets the color palette to be used.
-media <media>
Selects the paper size to be used. Valid values are
names of paper sizes that appear in the list of page
medias as given by the medias resource.
-page <label>
Display the page with label <label> first.
-portrait, -landscape, -seascape, -upsidedown
Sets the orientation.
-quiet, -noquiet
Whether to start ghostscript with the -dQUIET option.
-resize, -noresize
Whether gv is allowed to automatically fit the size of
its window to the size of the displayed page.
-safer, -nosafer
Whether to start ghostscript with the -dSAFER option.
-spartan
This is a shortcut for "-style gv_spartan.dat".
-style <resource file>
Read and use additional resources from the file
<resource file>. These resources have lower priority
than those provided in the context of the -ad <resource
file> option.
-swap, -noswap
Whether to interchange the meaning of the orientations
landscape and seascape.
-watch, -nowatch
The -watch option causes gv to check the document
periodically. If changes are detected gv will automati-
cally display the newer version of the file. The docu-
ment is by default checked once every second. This can
be changed via the watchFileFrequency resource. Note
that sending gv the SIGHUP signal also causes an update
of the displayed document. This method may be used by
document creators to trigger gv remotely.
Resources
Resource files
In general gv does not depend on any external resource
files. However, when starting gv, preferences are read from
o a system specific resource file. The name of this file
is as described by the "XFILESEARCHPATH" environment
variable, or, if this variable is not defined, imple-
mentation dependant. In most cases it is
"/usr/X11/lib/X11/app-defaults/GV". Administrators may
want to modify this file in order to set up gv accord-
ing to the local needs of their system.
o a user specific resource file. The name of this file
is either "~/.gv" or as described by the "XUSER-
FILESEARCHPATH" environment variable.
The files "gv_user.ad" and "gv_system.ad" (located in the
library directory of gv, which is most probably either
"/usr/local/lib/gv/" or "/usr/lib/gv/" may serve as a basis
for constructing the user and system specific resource
files.
Note that the user and system specific resource files are
not the only sources of preferences taken into account when
gv is started. However, in practice these are the most
important.
Resources of gv
The following describes some of the resources of gv. The
precise syntax of some of the resource values may be
inferred from the appended default system specific resource
file.
antialias
Whether antialiasing should be used. Valid values are
"True" and "False".
autoCenter
Whether the displayed page should automatically be cen-
tered (for instance when opening a new file). Valid
values are "True" and "False".
autoResize
Whether gv is allowed to resize the main window accord-
ing to the size of the current page. Valid values are
"True" and "False".
confirmPrint
Whether printing requires an extra confirmation. Valid
values are "True" and "False".
confirmQuit
Whether leaving gv requires extra confirmation. Valid
values are "0" (Never), "1" (When processing) and "2"
(Always). The default value is "1", which causes a
confirmation request when trying to leave gv in the
presence of pending PDF to Postscript conversions.
scrollingEyeGuide
If this resource is "True" scrolling via the keyboard
causes a temporary border to be drawn around the previ-
ously visible area of the page. Allowed values are
"True" and "False".
ignoreEOF
Defines the behaviour of the postscript scanner as
described in the Options section. Valid values are
"True" and "False".
respectDSC
Determines whether gv should attempt to respect docu-
ment structuring comments. Valid values are "True" and
"False".
reverseScrolling
Defines the interpretation of directions when scrolling
with the mouse. Valid values are "True" and "False".
swapLandscape
Whether the meaning of "landscape" and "seacape" should
be interchanged. Valid values are "True" and "False".
scratchDir
Specifies a directory used to store temporary data.
defaultSaveDir
Specifies the default destination directory for files
to be saved.
useBackingPixmap
If the value of this resource is "False" the X Server
is advised that saving off-screen pixels of the
displayed page would be beneficial (maintaining backing
store). In this case gv does not actively maintain the
contents of the page but relies on the X Server. The
server is, however, always free to stop maintaining
backing backing store. If the value of this resource
is "True" the X Server is advised that maintaining
backing store is not useful. In this case gv attempts
to allocate a sufficiently large pixmap to store the
contents of the displayed page.
watchFile
Whether the document should be checked periodically and
updated automatically if changes are detected. Valid
values are "True" and "False".
watchFileFrequency
Defines the time in milliseconds elapsing between suc-
cessive checks of the document when watchFile is set to
"True". Allowed values must be larger than 500.
printCommand
The command used for printing a file. The command may
contain multiple '%s' wildcards which will be replaced
by the name of the file to be printed.
gsInterpreter
The command used to start the ghostscript interpreter.
gsCmdScanPDF
The command used to extract document structuring com-
ments from a PDF file.
gsCmdConvPDF
The command used to convert a PDF file to PostScript.
gsX11Device
The ghostscript command line option which activates the
"X11" device.
gsX11AlphaDevice
The ghostscript command line option which activates the
"X11" device with antialiasing enabled.
gsSafer
Determines whether ghostscript should be started with
the "-dSAFER" command line option.
gsQuiet
Determines whether ghostscript should be started with
the "-dQUIET" command line option.
gsArguments
May be used to provide additional command line options
for the ghostscript interpreter. Starting gv with the
"-arguments <arguments>" option will override this
resource setting.
magMenu
Describes the menu that pops up when preparing to to
zoom an area of the displayed page.
dirs Defines a list of directories accessible via the Direc-
tories menu in the file selection window. The special
value "Home" corresponds to the users home directory,
the value "Tmp" corresponds to the scratch directory as
defined by the scratchDir resource.
filter
Defines the default filter to be used when displaying a
directory contents in the file selection window. A
filter is specified according to the syntax
<filter> := [<filespecs>] [no <filespecs>]
<filespecs> := <filespec> [<filespecs>]
<filespec> := filename possibly including wildcards '*'
which match any character.
Example: The filter
GV*filter: *.ps *.pdf no .*
screens out all files with names starting with a dot
and keeps of the remaining ones only those which end on
".ps" or ".pdf".
filters
Defines a list of filters offered in the Filters menu
of the file selection window. The filter "None" has a
special meaning causing all files to be displayed when
the corresponding menu entry is selected.
miscMenuEntries
Describes the menu that pops up when clicking with the
third mouse button on the displayed page. The value of
this resource is a list of menu entries. Allowed
entries are "update", "redisplay", "toggle_current",
"toggle_even", "toggle_odd", "unmark", "stop",
"print_all", "print_marked", "save_all", "save_marked"
and "line".
showTitle
Whether the name of the displayed document should be
shown in the title bar of the window. The name of gv's
icon will also change accordingly if this resource is
set to "True".
maximumWidth, maximumHeight
When resizing gv will not attempt to exceed the size
specified by these resources. These resources may be
specified as a positive integer or as "screen", option-
ally combined with a positive or negative offset. The
default values listed above provide examples for this
syntax. "screen" will automatically be replaced by the
size of the screen.
minimumWidth, minimumHeight
Defines a minimum size for the main window. Valid
values for both resources are positive integers larger
than 200.
scale
Sets the initial scale. The value of this resource is
the offset of the scale to be selected relative to the
scale 1.0 in the the "Scale" menu.
scaleBase
Selects the initial scale base. The value of this
resource should be a positive integer.
scales
Defines the available scales bases and scales in the
"Scale" menu.
orientation
Sets the initial orientation. Valid values are "por-
trait", "landscape","seascape", "upside-down" and
"automatic". "automatic" causes gv to attempt to
derive the correct orientation from document structur-
ing comments.
fallbackOrientation
Defines the paper-size to be used when automatic orien-
tation detetction fails. Valid values are "portrait",
"landscape","seascape" and "upside-down".
medias
A list describing the page medias known to gv. List
entries starting with "!" or "#" will not appear in the
"Media" menu but will still be used for automatic paper
size detection.
pagemedia
Sets the paper size. Allowd values are as given in the
above list of paper-sizes. Specifying "automatic"
causes gv to attempt to derive the correct paper-size
from document structuring comments.
fallbackPageMedia
Defines the paper-size to be used when automatic
paper-size detetction fails. Valid values are as given
in the above list of paper-sizes.
The default user and system specific resource file
GV.pageMedia: automatic
GV.orientation: automatic
GV.fallbackOrientation: portrait
GV.swapLandscape: False
GV.autoCenter: True
GV.antialias: False
GV.respectDSC: True
GV.ignoreEOF: True
GV.confirmPrint: True
GV.reverseScrolling: False
GV.scrollingEyeGuide: True
GV.autoResize: True
GV.maximumWidth: screen-20
GV.maximumHeight: screen-44
GV.minimumWidth: 400
GV.minimumHeight: 430
GV.confirmQuit: 1
GV.watchFile: False
GV.watchFileFrequency: 1000
GV.showTitle: True
GV.miscMenuEntries: redisplay \n\
# update \n\
stop \n\
line \n\
toggle_current \n\
toggle_even \n\
toggle_odd \n\
unmark \n\
line \n\
print_all \n\
print_marked \n\
save_all \n\
save_marked
GV.scale: 0
GV.scaleBase: 1
GV.scales: Natural size, 1.000, screen \n\
Pixel based, 1.000, pixel \n\
0.100, 0.100 \n\
0.125, 0.125 \n\
0.250, 0.250 \n\
0.500, 0.500 \n\
0.707, 0.707 \n\
1.000, 1.000 \n\
1.414, 1.414 \n\
2.000, 2.000 \n\
4.000, 4.000 \n\
8.000, 8.000 \n\
10.00, 10.00
GV.medias: Letter, 612 792 \n\
# LetterSmall, 612 792 \n\
Legal, 612 1008 \n\
Statement, 396 612 \n\
Tabloid, 792 1224 \n\
Ledger, 1224 792 \n\
Folio, 612 936 \n\
Quarto, 610 780 \n\
# 7x9, 504 648 \n\
# 9x11, 648 792 \n\
# 9x12, 648 864 \n\
# 10x13, 720 936 \n\
10x14, 720 1008 \n\
Executive, 540 720 \n\
# A0, 2384 3370 \n\
# A1, 1684 2384 \n\
# A2, 1191 1684 \n\
A3, 842 1191 \n\
A4, 595 842 \n\
# A4Small, 595 842 \n\
A5, 420 595 \n\
# A6, 297 420 \n\
# A7, 210 297 \n\
# A8, 148 210 \n\
# A9, 105 148 \n\
# A10, 73 105 \n\
# B0, 2920 4127 \n\
# B1, 2064 2920 \n\
# B2, 1460 2064 \n\
# B3, 1032 1460 \n\
B4, 729 1032 \n\
B5, 516 729 \n\
# B6, 363 516 \n\
# B7, 258 363 \n\
# B8, 181 258 \n\
# B9, 127 181 \n\
# B10, 91 127 \n\
# ISOB0, 2835 4008 \n\
# ISOB1, 2004 2835 \n\
# ISOB2, 1417 2004 \n\
# ISOB3, 1001 1417 \n\
# ISOB4, 709 1001 \n\
# ISOB5, 499 709 \n\
# ISOB6, 354 499 \n\
# ISOB7, 249 354 \n\
# ISOB8, 176 249 \n\
# ISOB9, 125 176 \n\
# ISOB10, 88 125 \n\
# C0, 2599 3676 \n\
# C1, 1837 2599 \n\
# C2, 1298 1837 \n\
# C3, 918 1296 \n\
# C4, 649 918 \n\
# C5, 459 649 \n\
# C6, 323 459 \n\
# C7, 230 323 \n\
# DL, 312 624
GV.magMenu: 2, 2 \n\
4, 4 \n\
8, 8 \n\
16, 16 \n\
32, 32 \n\
64, 64
GV*Ghostview.background: white
GV*Ghostview.foreground: black
GV.gsInterpreter: gs
GV.gsCmdScanPDF: gs -dNODISPLAY -dQUIET -sPDFname=%s -sDSCname=%s pdf2dsc.ps -c quit
GV.gsCmdConvPDF: gs -dNODISPLAY -dQUIET -dNOPAUSE -sPSFile=%s %s -c quit
GV.gsX11Device: -sDEVICE=x11
GV.gsX11AlphaDevice: -dNOPLATFONTS -sDEVICE=x11alpha
GV.gsSafer: True
GV.gsQuiet: True
GV.gsArguments:
GV.uncompressCommand: gzip -d -c %s > %s
GV.printCommand: lpr
GV.scratchDir: ~/
GV.defaultSaveDir: ~/
GV.fallbackPageMedia: a4
GV.useBackingPixmap: True
GV*dirs: Home\n\
Tmp\n\
/usr/doc\n\
/usr/local/doc
GV*filter: no .*
GV*filters: None\n\
*.*ps* *.pdf* no .*\n\
*.*ps* no .*\n\
*.pdf* no .*\n\
no .*
Mouse and key bindings
Mouse bindings in the Main and the Zoom window
The following mouse events are defined when the mouse
pointer is either on the displayed page or on a zoomed
area:
- press button 1, move mouse, release button 1
Scrolls the displayed page 'proportionally'.
- press button 3, move mouse, release button 3
Scrolls the displayed page 'absolutely'.
- double-click with button 1
In the main window this displays the previous/next
page if the double-click occured in the left/right
half of the window. In a zoom window it does
nothing.
- press button 2, release button 2
Pops up a small menu which allows to choose a mag-
nification for a certain area around the current
mouse position. After selecting a magnification a
zoom window pops up displaying the area at the
chosen scale.
- press button 2, move mouse, release button 2
This draws and thereby defines a rectangular
region which can be displayed in a zoom window.
The magnification for the area can be selected by
means of a popup menu which appears after releas-
ing button 2.
- press button 1, press button 2
Redisplays the current page. This event sequence
works only in the main window.
- press button 3, release button 3
Pops up a small menu which offers a few standard
actions like 'Redisplay', 'Mark Page', etc.
Mouse bindings in the File Selection popup
The following mouse events are defined when the mouse
pointer is in the window of either a file or a direc-
tory list:
- press button 1, move mouse, release button 1
Scrolls a file or directory list 'proportionally'.
- press button 2, move mouse, release button 2
Scrolls a file or directory list 'absolutely'.
- press button 2, release button 2
Scrolls a file or directory list one page up/down
if the button was pressed in the upper/lower half
of the list.
- double-click with button 1 on a filename
Selects the file and closes the File Selection
popup.
- click with button 1 on a directory name
Causes the contents of this directory to be
displayed.
Mouse bindings in the Table of Contents
The following mouse events are defined when the mouse
pointer is in the window showing a list of page numbers
of the current file (table of contents):
- press button 1, move mouse, release button 1
Scrolls the table of contents.
- press button 1 on a page number
Go to this page.
- press button 2 on a page number
Mark this page if it is unmarked, but unmark it if
it is marked.
- press button 2, move mouse, release button 2
Marks/unmarks all unmarked/marked pages in the
region crossed by the mouse pointer during the
movement.
Mouse bindings in the Panner widget
The Panner widget is the rectangular region located
close to the left edge of the main window. It indicates
the size and the position of the visible area of the
current page relative to the total page.
The following mouse events are defined when the mouse
pointer is in this region:
- press button 1, move mouse
Scrolls the displayed page.
- press button 2
Display the previous page.
- press button 3
Display the next page.
" .nr )I >>"n
Mouse bindings in the
The ">>" and "<<" buttons are used to move to another
page. The following mouse events are defined:
- press button 1
Move 1 page forward/backwards.
- press button 2
Move 5 pages forward/backwards.
- press button 3
Move 10 pages forward/backwards.
Key Bindings
The following key events are defined in the main win-
dow. Those bindings scrolling the page are also defined
in zoom popups.
=== Notation:
s-X means press "Shift" and key "X"
c-X means press "Ctrl" and key "X"
sc-X means press "Shift" or "Ctrl" and key "X"
=== Miscellaneous keys:
A Toggle antialiasing on and off
O Open a new file
Q Quit gv
R Toggle gv's resizing behaviour
I Respect/Ignore document structuring
W Watch file / Don't watch file
S Save the marked pages
sc-S Save the current file
P Print the marked pages
sc-P Print the current file
c-L Redisplay the current page
. Redisplay the current page
sc-. Reopen the current file
M Mark the current page
N Unmark the current page
=== Orientation:
7 Orientation portrait
8 Orientation landscape
9 Orientation upside-down
0 Orientation seascape
=== Magnification:
sc-6 Select the scale entry -6 relative to the scale 1.0
sc-5 Select the scale entry -5 relative to the scale 1.0
sc-4 Select the scale entry -4 relative to the scale 1.0
sc-3 Select the scale entry -3 relative to the scale 1.0
sc-2 Select the scale entry -2 relative to the scale 1.0
sc-1 Select the scale entry -1 relative to the scale 1.0
^ Select the scale 1.0 (for german keyboard layout)
` Select the scale 1.0
1 Select the scale entry 1 relative to the scale 1.0
2 Select the scale entry 2 relative to the scale 1.0
3 Select the scale entry 3 relative to the scale 1.0
4 Select the scale entry 4 relative to the scale 1.0
5 Select the scale entry 5 relative to the scale 1.0
6 Select the scale entry 6 relative to the scale 1.0
+ Select the next scale entry
= Select the next scale entry
- Select the previous scale entry
=== Navigating:
Arrow Scroll in the direction of the arrow
s-Up Scroll columns up or jump -1 pages
s-Down Scroll columns down or jump 1 pages
s-Left Scroll rows left or jump -1 pages
s-Right Scroll rows right or jump 1 pages
c-Up Jump -1 pages (to top/left corner)
c-Down Jump 1 pages (to top/left corner)
c-Left Jump -5 pages (to top/left corner)
c-Right Jump 5 pages (to top/left corner)
D,X,Z,Y,C Identical to arrow up,down,left,left,right
V Center the page
sc-Space Scroll columns up or jump -1 pages
Space Scroll columns down or jump 1 pages
BackSpace Scroll columns up or jump -1 pages
Insert Jump -5 pages
Delete Jump 5 pages
Home Go to the first page
End Go to the last page
Prior Jump -1 pages
Next Jump 1 pages
Keypad 0-9 Highlight a page number
Keypad - Highlight previous page number
Keypad + Highlight next page number
Keypad Enter Jump to the highlighted page
c-Enter Jump -1 pages
s-Enter Jump -1 pages
Enter Jump 1 pages
B Jump -1 pages
F Jump 1 pages
Comments about the user interface
Scales
The "Scale" menu which allows to view the document at
different sizes is divided into two parts. The first
part shows a list of available scale bases, the second
part, separated by a line, lists the relative scales
which are applied with respect to the selected scale
base.
By default two scales bases are available, the "Natural
size" and the "Pixel based" base. When choosing the
"Pixel based" scale base a relative scale of 1.0 causes
one postscript point to correspond to one pixel on the
screen.
When viewing a document at a relative scale of 1.0
using the "Natural size" base the page should appear in
its real size, as if printed on paper. For the
"Natural size" base to work properly gv has to know the
correct size of the root window. Automatic detection of
this size unfortunately only provides approximate
results, therefore it is best if it is provided by the
user. To do so the resource
GV.screenSize: <width> x <height>
should be added to the "SCREEN_RESOURCES" property of
the screen the document is viewed on, with <width> and
<height> describing the width and height of the root
window in units of millimeters. For instance by using
the command
echo "GV.screenSize: 396 x 291" | xrdb -override -screen
a width of 346 mm and a height of 291 mm will be used
for the "Natural size" scale base. Alternatively the
resource
GV.screenSize_<machine>_<disp>_<scr>: <width> x <height>
may be added to a resource file read by gv. Here
<machine> ,<disp> and ANGLED) describe the display on
which gv displays the document. For instance, if the
display is set to "tic.tac.toe.wo:0.1" the resource
should be specified as
GV.screenSize_tic_0_1: 396 x 291
Note that this method doesn't work on VMS. As a last
alternative the resource
GV.screenSize: <width> x <height>
may be added to one of the resource files. However, for
obvious reasons this method should be used only on sin-
gle user machines.
Scrolling
It is probably a de facto standard for user interfaces
that windows are supposed to be scrolled by means of
scrollbars attached to their sides. However, for vari-
ous reasons the use of scrollbars has been minimized in
gv.
Instead, in all windows with obscured data, scrolling
may be performed by pressing button1, moving the mouse,
then releasing button1 directly in the window. This
includes the displayed page, zoom popups, the table of
contents and the file and directory lists displayed in
the file selection popup.
Displaying new versions of a document
During document creation it is usually desirable to
always display the newest version of the document in
work.
Instead of explicitly loading it via the file selection
popup the most recent version can be displayed by
pressing the "Redisplay" button in the main window (VMS
users should use the "Update File" entry in the "File"
menu). Choosing the "Redisplay" entry in the menu that
pops up when clicking with the third mouse button any-
where on the displayed page certainly has the same
effect.
More comfortable is the "Watch File" feature which may
be switched on by selecting the corresponding entry in
the "State" menu. If activated gv will check every now
and then if a new version of the displayed file exists.
If so it will be displayed automatically. By default
the file is checked about once every second.
Finally it may also be left to the document creating
program to trigger gv to update its display. To do so
the program should send the SIGHUP signal to gv. For
instance at the end of a shell script generating a
postscript file from latex sources the line
kill -SIGHUP <gv_pid>
may be added (here <gv_pid> is the process id of gv).
Executing the script and thereby creating a new version
of the document will then also cause the result to be
displayed instantaneously. Please note that this
feature is available only on X11 R6 based systems.
Availability
The source code of the most recent version of gv may be
obtained from the following sources:
World Wide Web:
http://wwwthep.physik.uni-mainz.de/~plass/gv/
Anonymous ftp:
ftp://thep.physik.uni-mainz.de/pub/gv/
Authors
Johannes Plass [email protected]
Department of Physics
Johannes Gutenberg University
Mainz, Germany
gv is derived from GhostView 1.5, created by
Tim Theisen Systems Programmer
Internet: [email protected] Department of Computer Sciences
UUCP: uwvax!tim University of Wisconsin-Madison
Phone: (608)262-0438 1210 West Dayton Street
FAX: (608)262-9777 Madison, WI 53706
Suggestions and bug reports
Please send suggestions or bug reports to
[email protected].
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |