summaryrefslogtreecommitdiff
path: root/watcom
diff options
context:
space:
mode:
Diffstat (limited to 'watcom')
-rw-r--r--watcom/config.h444
-rw-r--r--watcom/makefile228
-rw-r--r--watcom/readme.wat72
3 files changed, 382 insertions, 362 deletions
diff --git a/watcom/config.h b/watcom/config.h
index 2cb83c72b..93c030774 100644
--- a/watcom/config.h
+++ b/watcom/config.h
@@ -1,222 +1,222 @@
-/*
- * "$Id: config.h,v 1.1.2.1 2004/11/20 03:19:59 easysw Exp $"
- *
- * Configuration file for the Fast Light Tool Kit (FLTK) for Watcom C++ 1.3
- *
- * Copyright 1998-2004 by Bill Spitzak and others.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA.
- *
- * Please report all bugs and problems to "fltk-bugs@fltk.org".
- */
-
-/*
- * Where to find the documentation files...
- */
-
-#define FLTK_DATADIR "C:/FLTK"
-#define FLTK_DOCDIR "C:/FLTK/DOC"
-
-
-/*
- * BORDER_WIDTH:
- *
- * Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are
- * supported. 3 is the historic FLTK look. 2 looks more like Microsoft
- * Windows, KDE, and Qt, and is the default when building for Windows.
- * 1 is a plausible future evolution... Note that this may be simulated
- * at runtime by redefining the boxtypes using Fl::set_boxtype().
- */
-
-#define BORDER_WIDTH 2
-
-/*
- * HAVE_GL:
- *
- * Do you have OpenGL? Set this to 0 if you don't have or plan to use
- * OpenGL, and FLTK will be smaller.
- */
-
-#define HAVE_GL 1
-
-/*
- * HAVE_GL_GLU_H:
- *
- * Do you have the OpenGL Utility Library header file?
- * (many broken Mesa RPMs do not...)
- */
-
-#define HAVE_GL_GLU_H 1
-
-/*
- * USE_COLORMAP:
- *
- * Setting this to zero will save a good deal of code (especially for
- * fl_draw_image), but FLTK will only work on TrueColor visuals.
- */
-
-#define USE_COLORMAP 1
-
-/*
- * USE_XFT
- *
- * Use the new Xft library to draw anti-aliased text.
- */
-
-#define USE_XFT 0
-
-/*
- * HAVE_XDBE:
- *
- * Do we have the X double-buffer extension?
- */
-
-#define HAVE_XDBE 0
-
-/*
- * USE_XDBE:
- *
- * Actually try to use the double-buffer extension? Set this to zero
- * disable use of XDBE without breaking the list_visuals program.
- */
-
-#define USE_XDBE HAVE_XDBE
-
-/*
- * HAVE_OVERLAY:
- *
- * Use the X overlay extension? FLTK will try to use an overlay
- * visual for Fl_Overlay_Window, the Gl_Window overlay, and for the
- * menus. Setting this to zero will remove a substantial amount of
- * code from FLTK. Overlays have only been tested on SGI servers!
- */
-
-#define HAVE_OVERLAY 0
-
-/*
- * HAVE_GL_OVERLAY:
- *
- * It is possible your GL has an overlay even if X does not. If so,
- * set this to 1.
- */
-
-#define HAVE_GL_OVERLAY 1
-
-/*
- * WORDS_BIGENDIAN:
- *
- * Byte order of your machine: 1 = big-endian, 0 = little-endian.
- */
-
-#define WORDS_BIGENDIAN 0
-
-/*
- * U16, U32, U64:
- *
- * Types used by fl_draw_image. One of U32 or U64 must be defined.
- * U16 is optional but FLTK will work better with it!
- */
-
-#define U16 unsigned short
-#define U32 unsigned
-/* #undef U64 */
-
-/*
- * HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, HAVE_SCANDIR:
- *
- * Where is <dirent.h> (used only by fl_file_chooser and scandir).
- */
-
-#define HAVE_DIRENT_H 1
-/* #undef HAVE_SYS_NDIR_H */
-/* #undef HAVE_SYS_DIR_H */
-/* #undef HAVE_NDIR_H */
-/* #undef HAVE_SCANDIR */
-
-/*
- * Possibly missing sprintf-style functions:
- */
-
-#define HAVE_VSNPRINTF 1
-#define HAVE_SNPRINTF 1
-
-/*
- * String functions and headers...
- */
-
-/* #undef HAVE_STRINGS_H */
-#define HAVE_STRCASECMP 1
-/* #undef HAVE_STRLCAT */
-/* #undef HAVE_STRLCPY */
-
-/*
- * HAVE_SYS_SELECT_H:
- *
- * Whether or not select() call has its own header file.
- */
-
-/* #undef HAVE_SYS_SELECT_H */
-
-/*
- * HAVE_SYS_STDTYPES_H:
- *
- * Whether or not we have the <sys/stdtypes.h> header file.
- */
-
-/* #undef HAVE_SYS_STDTYPES_H */
-
-/*
- * HAVE_POLL:
- *
- * Use poll() if we don't have select().
- */
-
-#define HAVE_POLL 0
-
-/*
- * Do we have various image libraries?
- */
-
-/* #undef HAVE_LIBPNG */
-/* #undef HAVE_LIBZ */
-/* #undef HAVE_LIBJPEG */
-
-/*
- * Which header file do we include for libpng?
- */
-
-/* #undef HAVE_PNG_H */
-/* #undef HAVE_LIBPNG_PNG_H */
-
-/*
- * Do we have the png_xyz() functions?
- */
-
-/* #undef HAVE_PNG_GET_VALID */
-/* #undef HAVE_PNG_SET_TRNS_TO_ALPHA */
-/* #undef HAVE_PNG_READ_DESTROY */
-
-/*
- * Do we have POSIX threading?
- */
-
-/* #undef HAVE_PTHREAD */
-/* #undef HAVE_PTHREAD_H */
-
-
-/*
- * End of "$Id: config.h,v 1.1.2.1 2004/11/20 03:19:59 easysw Exp $".
- */
+/*
+ * "$Id: config.h,v 1.1.2.2 2004/11/23 18:48:10 easysw Exp $"
+ *
+ * Configuration file for the Fast Light Tool Kit (FLTK) for Watcom C++ 1.3
+ *
+ * Copyright 1998-2004 by Bill Spitzak and others.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA.
+ *
+ * Please report all bugs and problems to "fltk-bugs@fltk.org".
+ */
+
+/*
+ * Where to find the documentation files...
+ */
+
+#define FLTK_DATADIR "C:/FLTK"
+#define FLTK_DOCDIR "C:/FLTK/DOC"
+
+
+/*
+ * BORDER_WIDTH:
+ *
+ * Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are
+ * supported. 3 is the historic FLTK look. 2 looks more like Microsoft
+ * Windows, KDE, and Qt, and is the default when building for Windows.
+ * 1 is a plausible future evolution... Note that this may be simulated
+ * at runtime by redefining the boxtypes using Fl::set_boxtype().
+ */
+
+#define BORDER_WIDTH 2
+
+/*
+ * HAVE_GL:
+ *
+ * Do you have OpenGL? Set this to 0 if you don't have or plan to use
+ * OpenGL, and FLTK will be smaller.
+ */
+
+#define HAVE_GL 1
+
+/*
+ * HAVE_GL_GLU_H:
+ *
+ * Do you have the OpenGL Utility Library header file?
+ * (many broken Mesa RPMs do not...)
+ */
+
+#define HAVE_GL_GLU_H 1
+
+/*
+ * USE_COLORMAP:
+ *
+ * Setting this to zero will save a good deal of code (especially for
+ * fl_draw_image), but FLTK will only work on TrueColor visuals.
+ */
+
+#define USE_COLORMAP 1
+
+/*
+ * USE_XFT
+ *
+ * Use the new Xft library to draw anti-aliased text.
+ */
+
+#define USE_XFT 0
+
+/*
+ * HAVE_XDBE:
+ *
+ * Do we have the X double-buffer extension?
+ */
+
+#define HAVE_XDBE 0
+
+/*
+ * USE_XDBE:
+ *
+ * Actually try to use the double-buffer extension? Set this to zero
+ * disable use of XDBE without breaking the list_visuals program.
+ */
+
+#define USE_XDBE HAVE_XDBE
+
+/*
+ * HAVE_OVERLAY:
+ *
+ * Use the X overlay extension? FLTK will try to use an overlay
+ * visual for Fl_Overlay_Window, the Gl_Window overlay, and for the
+ * menus. Setting this to zero will remove a substantial amount of
+ * code from FLTK. Overlays have only been tested on SGI servers!
+ */
+
+#define HAVE_OVERLAY 0
+
+/*
+ * HAVE_GL_OVERLAY:
+ *
+ * It is possible your GL has an overlay even if X does not. If so,
+ * set this to 1.
+ */
+
+#define HAVE_GL_OVERLAY 1
+
+/*
+ * WORDS_BIGENDIAN:
+ *
+ * Byte order of your machine: 1 = big-endian, 0 = little-endian.
+ */
+
+#define WORDS_BIGENDIAN 0
+
+/*
+ * U16, U32, U64:
+ *
+ * Types used by fl_draw_image. One of U32 or U64 must be defined.
+ * U16 is optional but FLTK will work better with it!
+ */
+
+#define U16 unsigned short
+#define U32 unsigned
+/* #undef U64 */
+
+/*
+ * HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, HAVE_SCANDIR:
+ *
+ * Where is <dirent.h> (used only by fl_file_chooser and scandir).
+ */
+
+#define HAVE_DIRENT_H 1
+/* #undef HAVE_SYS_NDIR_H */
+/* #undef HAVE_SYS_DIR_H */
+/* #undef HAVE_NDIR_H */
+/* #undef HAVE_SCANDIR */
+
+/*
+ * Possibly missing sprintf-style functions:
+ */
+
+#define HAVE_VSNPRINTF 1
+#define HAVE_SNPRINTF 1
+
+/*
+ * String functions and headers...
+ */
+
+/* #undef HAVE_STRINGS_H */
+#define HAVE_STRCASECMP 1
+/* #undef HAVE_STRLCAT */
+/* #undef HAVE_STRLCPY */
+
+/*
+ * HAVE_SYS_SELECT_H:
+ *
+ * Whether or not select() call has its own header file.
+ */
+
+/* #undef HAVE_SYS_SELECT_H */
+
+/*
+ * HAVE_SYS_STDTYPES_H:
+ *
+ * Whether or not we have the <sys/stdtypes.h> header file.
+ */
+
+/* #undef HAVE_SYS_STDTYPES_H */
+
+/*
+ * HAVE_POLL:
+ *
+ * Use poll() if we don't have select().
+ */
+
+#define HAVE_POLL 0
+
+/*
+ * Do we have various image libraries?
+ */
+
+/* #undef HAVE_LIBPNG */
+/* #undef HAVE_LIBZ */
+/* #undef HAVE_LIBJPEG */
+
+/*
+ * Which header file do we include for libpng?
+ */
+
+/* #undef HAVE_PNG_H */
+/* #undef HAVE_LIBPNG_PNG_H */
+
+/*
+ * Do we have the png_xyz() functions?
+ */
+
+/* #undef HAVE_PNG_GET_VALID */
+/* #undef HAVE_PNG_SET_TRNS_TO_ALPHA */
+/* #undef HAVE_PNG_READ_DESTROY */
+
+/*
+ * Do we have POSIX threading?
+ */
+
+/* #undef HAVE_PTHREAD */
+/* #undef HAVE_PTHREAD_H */
+
+
+/*
+ * End of "$Id: config.h,v 1.1.2.2 2004/11/23 18:48:10 easysw Exp $".
+ */
diff --git a/watcom/makefile b/watcom/makefile
index 75dd9e45a..a163dd43a 100644
--- a/watcom/makefile
+++ b/watcom/makefile
@@ -1,114 +1,114 @@
-#
-# Name : Watcom makefile for FLTK, multiplatform
-#
-# Author : M. Nieuwenhoven
-#
-# The makefile has multiple targets:
-# - clean : Cleans all directories from files built during make
-# - all : Builds all targets for both debug and release
-# - xy : where x = D|R, Y = D|O|W|L, where only W (Win32) is
-# currently supported by the source for Watcom.
-#
-
-
-!ifndef %FLTK
-ERROR_MSG = Environment variable FLTK must have been set!
-!endif
-
-.BEFORE
-!ifdef ERROR_MSG
- @echo .
- @echo $(ERROR_MSG)
- @echo .
- @%abort
-!endif
-
-ROOT=$(%FLTK)
-PROJ=fltk
-
-#
-# This builds all library targets and the main programs
-#
-ALL : .SYMBOLIC
- set Clean=
- wmake -h dw
- wmake -h rw
-# wmake -h do
-# wmake -h ro
-# wmake -h dl
-# wmake -h rl
-
-#
-# Clean all directories. Call each target with a 'clean' target. Proper
-# knowledge about cleaning can only be at the places where also the
-# builds is done.
-#
-clean : .SYMBOLIC
- @echo Cleaning up.
- set Clean=CLEAN
- wmake -h dw
- wmake -h rw
-# wmake -h do
-# wmake -h ro
-# wmake -h dl
-# wmake -h rl
-
-#
-# Win32 Debug and Release targets
-#
-DW : .SYMBOLIC
- @set OPTIONS=D=d O=w ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
- %make BuildOne
-
-RW : .SYMBOLIC
- @set OPTIONS=D=r O=w ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
- %make BuildOne
-
-#
-# OS/2 Debug and Release targets. Builds only jpeg, zlib and png libs for now.
-#
-DO : .SYMBOLIC
- @set OPTIONS=D=d O=o ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
- %make BuildOne
-
-RO : .SYMBOLIC
- @set OPTIONS=D=r O=o ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
- %make BuildOne
-
-#
-# Linux Debug and Release targets. Environment variable XLIB must point to a directory
-# which has a subdirectory X11 with X include files. Builds only jpeg, zlib and png libs for now.
-#
-DL : .SYMBOLIC
- @set OPTIONS=D=d O=l ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT);$(%XLIB)
- %make BuildOne
-
-RL : .SYMBOLIC
- @set OPTIONS=D=r O=l ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT);$(%XLIB)
- %make BuildOne
-
-# Internal target to build the individual modules. The following macros must
-# have been set: D (value D or R), O (D,O,W,L)
-
-BuildOne : .SYMBOLIC
-
- @echo "=== making jpeg library ==="
- @cd $(ROOT)\jpeg
- @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
- @echo "=== making zlib library ==="
- @cd $(ROOT)\zlib
- @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
- @echo "=== making png library ==="
- @cd $(ROOT)\png
- @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
- @echo "=== making fltk libraries ==="
- @cd $(ROOT)\src
- @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
- @echo "=== making fluid ==="
- @cd $(ROOT)\fluid
- @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
- @echo "=== making test ==="
- @cd $(ROOT)\test
- @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
-
-
+#
+# Name : Watcom makefile for FLTK, multiplatform
+#
+# Author : M. Nieuwenhoven
+#
+# The makefile has multiple targets:
+# - clean : Cleans all directories from files built during make
+# - all : Builds all targets for both debug and release
+# - xy : where x = D|R, Y = D|O|W|L, where only W (Win32) is
+# currently supported by the source for Watcom.
+#
+
+
+!ifndef %FLTK
+ERROR_MSG = Environment variable FLTK must have been set!
+!endif
+
+.BEFORE
+!ifdef ERROR_MSG
+ @echo .
+ @echo $(ERROR_MSG)
+ @echo .
+ @%abort
+!endif
+
+ROOT=$(%FLTK)
+PROJ=fltk
+
+#
+# This builds all library targets and the main programs
+#
+ALL : .SYMBOLIC
+ set Clean=
+ wmake -h dw
+ wmake -h rw
+# wmake -h do
+# wmake -h ro
+# wmake -h dl
+# wmake -h rl
+
+#
+# Clean all directories. Call each target with a 'clean' target. Proper
+# knowledge about cleaning can only be at the places where also the
+# builds is done.
+#
+clean : .SYMBOLIC
+ @echo Cleaning up.
+ set Clean=CLEAN
+ wmake -h dw
+ wmake -h rw
+# wmake -h do
+# wmake -h ro
+# wmake -h dl
+# wmake -h rl
+
+#
+# Win32 Debug and Release targets
+#
+DW : .SYMBOLIC
+ @set OPTIONS=D=d O=w ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
+ %make BuildOne
+
+RW : .SYMBOLIC
+ @set OPTIONS=D=r O=w ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
+ %make BuildOne
+
+#
+# OS/2 Debug and Release targets. Builds only jpeg, zlib and png libs for now.
+#
+DO : .SYMBOLIC
+ @set OPTIONS=D=d O=o ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
+ %make BuildOne
+
+RO : .SYMBOLIC
+ @set OPTIONS=D=r O=o ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
+ %make BuildOne
+
+#
+# Linux Debug and Release targets. Environment variable XLIB must point to a directory
+# which has a subdirectory X11 with X include files. Builds only jpeg, zlib and png libs for now.
+#
+DL : .SYMBOLIC
+ @set OPTIONS=D=d O=l ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT);$(%XLIB)
+ %make BuildOne
+
+RL : .SYMBOLIC
+ @set OPTIONS=D=r O=l ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT);$(%XLIB)
+ %make BuildOne
+
+# Internal target to build the individual modules. The following macros must
+# have been set: D (value D or R), O (D,O,W,L)
+
+BuildOne : .SYMBOLIC
+
+ @echo "=== making jpeg library ==="
+ @cd $(ROOT)\jpeg
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+ @echo "=== making zlib library ==="
+ @cd $(ROOT)\zlib
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+ @echo "=== making png library ==="
+ @cd $(ROOT)\png
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+ @echo "=== making fltk libraries ==="
+ @cd $(ROOT)\src
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+ @echo "=== making fluid ==="
+ @cd $(ROOT)\fluid
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+ @echo "=== making test ==="
+ @cd $(ROOT)\test
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+
+
diff --git a/watcom/readme.wat b/watcom/readme.wat
index 59443594f..251ec196f 100644
--- a/watcom/readme.wat
+++ b/watcom/readme.wat
@@ -1,26 +1,46 @@
-
-Using Watcom to build and use FLTK 1.1.5
-
-Supported targets: Win32 only, static builds (no DLLs). Can be used from any Watcom
- supported host (DOS, OS/2, Windows).
-
-1. Unzip the include file in the root of the fltk 1.1.5 directory. It will create a
- new directory called watcom, put a makefile.wat in source directories, and update
- two sources files which need to be different from the 1.1.5 versions (STR updated),
- and put a watcom.mif file in the fltk root directory.
-
-2. To build: set the environment variable fltk to the root directory of fltk, go
- to the Watcom directory, run wmake. Both debug and release versions of all libs,
- test programs and FLUID will be built.
-
-3. To create you own programs: use the supplied watcom.mif file. If you use fluid,
- move the two fluid rules from test/makefile.wat into the watcom.mif
- file. Look in test/makefile.wat also for rules about building a non-fluid program
- with one object (source) file, or with multiple. if you use FLUID, take care in
- the order of object files specified (see tes/makefile.wat keyboard.exe).
-
-Questions about the watcom port please to the fltk.general newsgroup.
-
-Mat Nieuwenhoven, Hilversum, 2004-10-28
-
-
+
+Using Watcom to build and use FLTK 1.1.5
+
+Supported targets: Win32 only, static builds (no DLLs). Can be used from any Watcom
+ supported host (DOS, OS/2, Windows).
+
+1. To build fltk itself:
+ - set the environment variable fltk to the root directory of fltk
+ - go to the Watcom directory, run wmake.
+ Both debug and release versions of all libs, test programs and FLUID will be built.
+
+2. To create you own programs using fluid:
+ - set the environment variable fltk to the root directory of fltk
+ - make a directory where you want to create the source of your program.
+ - from fltk's watcom directory, copy file "makefile.example" to "makefile" in your
+ directory.
+ - Start fluid, and create your program.
+ - You can either put in fluid's menu shell->execute command:
+ "cmd /k "wmake && hello && exit || pause && exit"
+ to compile and run the program (if you are running under Windows only),
+ - Or in Fluid do shift-Ctrl-C to create C+= code, and then in a cmd prompt
+ in your directory enter 'wmake", and then run the program.
+ I have been able to do most of the Fluid Flash tutorial (no time to do all,
+ but no error at all for the ones I did do.
+
+3. Known errors:
+ - Fluid aborts when exiting.
+
+ Probably a lot more :-( . I cannot test/debug under NT or later, so I must
+ rely on the help of others to find and fix :-) Watcom-related bugs.
+
+
+Questions about the OpenWatcom port please to the fltk.general newsgroup.
+Questions related to Openwatcom itself please to the c/c++ users group at
+new.openwatcom.org.
+
+
+Mat Nieuwenhoven, Hilversum, 2004-11-22
+
+
+
+
+
+
+
+