diff --git a/Makefile.am b/Makefile.am index bff1ba7cc0..de0a8cfb20 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,19 +26,20 @@ include build_support/catalog/catalog.am EXTRA_DIST = \ build_support/msw/gambit.wxs.in \ + build_support/msw/banner.bmp \ + build_support/msw/dialog.bmp \ build_support/osx/Info.plist.in \ build_support/osx/gambit.icns \ + build_support/osx/dmg_background.tiff \ + build_support/osx/make-dmg.sh \ src/gui/bitmaps/calc.xpm \ - src/gui/bitmaps/efg.ico \ src/gui/bitmaps/gambitbig.xpm \ - src/gui/bitmaps/gambit.bmp \ src/gui/bitmaps/gambit.ico \ src/gui/bitmaps/gambit.xpm \ src/gui/bitmaps/move.xpm \ src/gui/bitmaps/newtable.xpm \ src/gui/bitmaps/newtree.xpm \ src/gui/bitmaps/next.xpm \ - src/gui/bitmaps/nfg.ico \ src/gui/bitmaps/open.xpm \ src/gui/bitmaps/prev.xpm \ src/gui/bitmaps/profiles.xpm \ @@ -518,12 +519,17 @@ gambit_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CXXFLAGS) gambit_LDADD_LIBS = libbimatrix.a libliap.a liblogit.a libgtracer.a \ libsimpdiv.a libenumpoly.a libgames.a libcore.a +gambit_DEPENDENCIES = $(RC_OBJECT_PATH) $(gambit_LDADD_LIBS) + if IS_WIN32 gambit_LDADD = $(RC_OBJECT_PATH) $(gambit_LDADD_LIBS) $(WX_LIBS_STATIC) -ldeflate -lzstd -llerc -lWebP else gambit_LDADD = $(RC_OBJECT_PATH) $(gambit_LDADD_LIBS) $(WX_LIBS) endif +src/gui/bitmaps/gambitrc.o: src/gui/bitmaps/gambitrc.rc + $(WINDRES) $(WX_CXXFLAGS) -I$(srcdir)/src/gui/bitmaps -o $@ $< + osx-bundle: make all -rm -rf Gambit.app @@ -538,11 +544,7 @@ osx-bundle: cp ${bin_PROGRAMS} Gambit.app/Contents/MacOS osx-dmg: osx-bundle - -rm -rf .dmg - -mkdir .dmg - cp -r Gambit.app .dmg - hdiutil create Gambit.dmg -volname Gambit -srcfolder .dmg -format UDZO -imagekey zlib-level=9 - rm -rf .dmg + ${top_srcdir}/build_support/osx/make-dmg.sh Gambit.app Gambit.dmg msw-msi: -mkdir installer diff --git a/build_support/msw/banner.bmp b/build_support/msw/banner.bmp new file mode 100644 index 0000000000..c7a3ba3cbf Binary files /dev/null and b/build_support/msw/banner.bmp differ diff --git a/build_support/msw/dialog.bmp b/build_support/msw/dialog.bmp new file mode 100644 index 0000000000..ed05e09715 Binary files /dev/null and b/build_support/msw/dialog.bmp differ diff --git a/build_support/msw/gambit.wxs.in b/build_support/msw/gambit.wxs.in index 1c2d7c8a24..a891d4ada2 100644 --- a/build_support/msw/gambit.wxs.in +++ b/build_support/msw/gambit.wxs.in @@ -6,9 +6,64 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + "1"]]> + + 1 + + NOT Installed + Installed AND PATCH + + 1 + 1 + NOT WIXUI_DONTVALIDATEPATH + "1"]]> + WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1" + 1 + 1 + + NOT Installed + Installed AND NOT PATCH + Installed AND PATCH + + 1 + + 1 + 1 + 1 + + @@ -51,6 +106,9 @@ + + + @@ -64,7 +122,8 @@ Name="Uninstall Gambit @GAMBIT_MSI_MAJOR@" Description="Uninstalls Gambit" Target="[System64Folder]msiexec.exe" - Arguments="/x [ProductCode]"/> + Arguments="/x [ProductCode]" + Icon="Gambit.ico"/> @@ -80,6 +139,7 @@ + diff --git a/build_support/msw/license.rtf b/build_support/msw/license.rtf deleted file mode 100644 index a3b01ff970..0000000000 --- a/build_support/msw/license.rtf +++ /dev/null @@ -1,497 +0,0 @@ -{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi31507\deflang2057\deflangfe2052\themelang2057\themelangfe2052\themelangcs1025{\fonttbl{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} -{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt \'cb\'ce\'cc\'e5};}{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;} -{\f39\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}{\f40\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}@SimSun;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbmajor\f31501\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt \'cb\'ce\'cc\'e5};}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;} -{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbminor\f31505\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt \'cb\'ce\'cc\'e5};}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} -{\fbiminor\f31507\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}{\f61\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f62\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f64\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;} -{\f65\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f66\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f67\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f68\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;} -{\f69\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f173\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt \'cb\'ce\'cc\'e5};}{\f431\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f432\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;} -{\f434\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}{\f435\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f438\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f439\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);} -{\f443\fbidi \fnil\fcharset0\fprq2 @SimSun Western;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\fdbmajor\f31520\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt \'cb\'ce\'cc\'e5};}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;} -{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;} -{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} -{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31560\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt \'cb\'ce\'cc\'e5};} -{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} -{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \fswiss\fcharset238\fprq2 Arial CE;} -{\fbiminor\f31579\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\fbiminor\f31581\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\fbiminor\f31582\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\fbiminor\f31583\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);} -{\fbiminor\f31584\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\fbiminor\f31585\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\fbiminor\f31586\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);} -{\f41\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f42\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f44\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f45\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\f46\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f47\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f48\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\f49\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0; -\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp -\fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang2057\langfe2052\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp2057\langfenp2052 \snext0 \sqformat \spriority0 Normal;} -{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* -\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang2057\langfe2052\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp2057\langfenp2052 \snext11 \ssemihidden \sunhideused -Normal Table;}{\s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs21\alang1025 \ltrch\fcs0 \fs21\lang2057\langfe2052\loch\f39\hich\af39\dbch\af31505\cgrid\langnp2057\langfenp2052 -\sbasedon0 \snext15 \slink16 \sunhideused \styrsid1727615 Plain Text;}{\*\cs16 \additive \rtlch\fcs1 \af0\afs21 \ltrch\fcs0 \f39\fs21 \sbasedon10 \slink15 \slocked \styrsid1727615 Plain Text Char;}}{\*\rsidtbl \rsid1727615\rsid12978437\rsid13243775} -{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author xqu10hqu}{\operator xqu10hqu}{\creatim\yr2013\mo6\dy6\hr16\min39}{\revtim\yr2013\mo6\dy6\hr16\min39}{\version2} -{\edmins1}{\nofpages9}{\nofwords2735}{\nofchars15596}{\*\company University of East Anglia}{\nofcharsws18295}{\vern49275}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} -\paperw11906\paperh16838\margl1334\margr1335\margt1440\margb1440\gutter0\ltrsect -\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen -\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1334\dgvorigin1440\dghshow1\dgvshow1 -\jexpand\viewkind1\viewscale70\viewzk1\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel -\wrppunct\asianbrkrule\rsidroot12978437\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0 -{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid1727615\sftnbj {\*\pnseclvl1\pnucrm\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}} -{\*\pnseclvl2\pnucltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnqc\pnstart1\pnindent720\pnhang -{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (} -{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1727615 \rtlch\fcs1 \af31507\afs21\alang1025 -\ltrch\fcs0 \fs21\lang2057\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14221796\charrsid1727615 \tab \tab \hich\af2\dbch\af31505\loch\f2 GNU GENERAL PUBLIC LICENSE -\par \tab \tab \hich\af2\dbch\af31505\loch\f2 Version 2, June 1991 -\par -\par \hich\af2\dbch\af31505\loch\f2 Copyright (C) 1989, 1991 Free Software Foundation, Inc. -\par \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1036\langfe2052\langnp1036\insrsid14221796\charrsid13243775 \hich\af2\dbch\af31505\loch\f2 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -\par \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14221796\charrsid1727615 \hich\af2\dbch\af31505\loch\f2 Everyone is permitted to copy and distribute verbatim copies -\par \hich\af2\dbch\af31505\loch\f2 of th\hich\af2\dbch\af31505\loch\f2 is license document, but changing it is not allowed. -\par -\par \tab \tab \tab \hich\af2\dbch\af31505\loch\f2 Preamble -\par -\par \hich\af2\dbch\af31505\loch\f2 The licenses for most software are designed to take away your -\par \hich\af2\dbch\af31505\loch\f2 freedom to share and change it. By contrast, the GNU General Public -\par \hich\af2\dbch\af31505\loch\f2 License is intended to guarantee your freedom \hich\af2\dbch\af31505\loch\f2 to share and change free -\par \hich\af2\dbch\af31505\loch\f2 software--to make sure the software is free for all its users. This -\par \hich\af2\dbch\af31505\loch\f2 General Public License applies to most of the Free Software -\par \hich\af2\dbch\af31505\loch\f2 Foundation's software and to any other program whose authors commit to -\par \hich\af2\dbch\af31505\loch\f2 using it. (Some other Free\hich\af2\dbch\af31505\loch\f2 Software Foundation software is covered by -\par \hich\af2\dbch\af31505\loch\f2 the GNU Library General Public License instead.) You can apply it to -\par \hich\af2\dbch\af31505\loch\f2 your programs, too. -\par -\par \hich\af2\dbch\af31505\loch\f2 When we speak of free software, we are referring to freedom, not -\par \hich\af2\dbch\af31505\loch\f2 price. Our General Public Licenses are designed \hich\af2\dbch\af31505\loch\f2 to make sure that you -\par \hich\af2\dbch\af31505\loch\f2 have the freedom to distribute copies of free software (and charge for -\par \hich\af2\dbch\af31505\loch\f2 this service if you wish), that you receive source code or can get it -\par \hich\af2\dbch\af31505\loch\f2 if you want it, that you can change the software or use pieces of it -\par \hich\af2\dbch\af31505\loch\f2 in new free programs\hich\af2\dbch\af31505\loch\f2 ; and that you know you can do these things. -\par -\par \hich\af2\dbch\af31505\loch\f2 To protect your rights, we need to make restrictions that forbid -\par \hich\af2\dbch\af31505\loch\f2 anyone to deny you these rights or to ask you to surrender the rights. -\par \hich\af2\dbch\af31505\loch\f2 These restrictions translate to certain responsibilities for you if \hich\af2\dbch\af31505\loch\f2 you -\par \hich\af2\dbch\af31505\loch\f2 distribute copies of the software, or if you modify it. -\par -\par \hich\af2\dbch\af31505\loch\f2 For example, if you distribute copies of such a program, whether -\par \hich\af2\dbch\af31505\loch\f2 gratis or for a fee, you must give the recipients all the rights that -\par \hich\af2\dbch\af31505\loch\f2 you have. You must make sure that they, too, receive\hich\af2\dbch\af31505\loch\f2 or can get the -\par \hich\af2\dbch\af31505\loch\f2 source code. And you must show them these terms so they know their -\par \hich\af2\dbch\af31505\loch\f2 rights. -\par -\par \hich\af2\dbch\af31505\loch\f2 We protect your rights with two steps: (1) copyright the software, and -\par \hich\af2\dbch\af31505\loch\f2 (2) offer you this license which gives you legal permission to copy, -\par \hich\af2\dbch\af31505\loch\f2 distribute and/\hich\af2\dbch\af31505\loch\f2 or modify the software. -\par -\par \hich\af2\dbch\af31505\loch\f2 Also, for each author's protection and ours, we want to make certain -\par \hich\af2\dbch\af31505\loch\f2 that everyone understands that there is no warranty for this free -\par \hich\af2\dbch\af31505\loch\f2 software. If the software is modified by someone else and passed on, we -\par \hich\af2\dbch\af31505\loch\f2 want its recipie\hich\af2\dbch\af31505\loch\f2 nts to know that what they have is not the original, so -\par \hich\af2\dbch\af31505\loch\f2 that any problems introduced by others will not reflect on the original -\par \hich\af2\dbch\af31505\loch\f2 authors' reputations. -\par -\par \hich\af2\dbch\af31505\loch\f2 Finally, any free program is threatened constantly by software -\par \hich\af2\dbch\af31505\loch\f2 patents. We wish to avoid the dang\hich\af2\dbch\af31505\loch\f2 er that redistributors of a free -\par \hich\af2\dbch\af31505\loch\f2 program will individually obtain patent licenses, in effect making the -\par \hich\af2\dbch\af31505\loch\f2 program proprietary. To prevent this, we have made it clear that any -\par \hich\af2\dbch\af31505\loch\f2 patent must be licensed for everyone's free use or not licensed at all. -\par -\par \hich\af2\dbch\af31505\loch\f2 Th\hich\af2\dbch\af31505\loch\f2 e precise terms and conditions for copying, distribution and -\par \hich\af2\dbch\af31505\loch\f2 modification follow. -\par \page -\par \tab \tab \hich\af2\dbch\af31505\loch\f2 GNU GENERAL PUBLIC LICENSE -\par \hich\af2\dbch\af31505\loch\f2 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -\par -\par \hich\af2\dbch\af31505\loch\f2 0. This License applies to any program or other work which cont\hich\af2\dbch\af31505\loch\f2 ains -\par \hich\af2\dbch\af31505\loch\f2 a notice placed by the copyright holder saying it may be distributed -\par \hich\af2\dbch\af31505\loch\f2 under the terms of this General Public License. The "Program", below, -\par \hich\af2\dbch\af31505\loch\f2 refers to any such program or work, and a "work based on the Program" -\par \hich\af2\dbch\af31505\loch\f2 means either the Program or any deriv\hich\af2\dbch\af31505\loch\f2 ative work under copyright law: -\par \hich\af2\dbch\af31505\loch\f2 that is to say, a work containing the Program or a portion of it, -\par \hich\af2\dbch\af31505\loch\f2 either verbatim or with modifications and/or translated into another -\par \hich\af2\dbch\af31505\loch\f2 language. (Hereinafter, translation is included without limitation in -\par \hich\af2\dbch\af31505\loch\f2 the term "modi\hich\af2\dbch\af31505\loch\f2 fication".) Each licensee is addressed as "you". -\par -\par \hich\af2\dbch\af31505\loch\f2 Activities other than copying, distribution and modification are not -\par \hich\af2\dbch\af31505\loch\f2 covered by this License; they are outside its scope. The act of -\par \hich\af2\dbch\af31505\loch\f2 running the Program is not restricted, and the output from the Prog\hich\af2\dbch\af31505\loch\f2 ram -\par \hich\af2\dbch\af31505\loch\f2 is covered only if its contents constitute a work based on the -\par \hich\af2\dbch\af31505\loch\f2 Program (independent of having been made by running the Program). -\par \hich\af2\dbch\af31505\loch\f2 Whether that is true depends on what the Program does. -\par -\par \hich\af2\dbch\af31505\loch\f2 1. You may copy and distribute verbatim copies of the Progra\hich\af2\dbch\af31505\loch\f2 m's -\par \hich\af2\dbch\af31505\loch\f2 source code as you receive it, in any medium, provided that you -\par \hich\af2\dbch\af31505\loch\f2 conspicuously and appropriately publish on each copy an appropriate -\par \hich\af2\dbch\af31505\loch\f2 copyright notice and disclaimer of warranty; keep intact all the -\par \hich\af2\dbch\af31505\loch\f2 notices that refer to this License and to the absen\hich\af2\dbch\af31505\loch\f2 ce of any warranty; -\par \hich\af2\dbch\af31505\loch\f2 and give any other recipients of the Program a copy of this License -\par \hich\af2\dbch\af31505\loch\f2 along with the Program. -\par -\par \hich\af2\dbch\af31505\loch\f2 You may charge a fee for the physical act of transferring a copy, and -\par \hich\af2\dbch\af31505\loch\f2 you may at your option offer warranty protection in exchange for a f\hich\af2\dbch\af31505\loch\f2 ee. -\par -\par \hich\af2\dbch\af31505\loch\f2 2. You may modify your copy or copies of the Program or any portion -\par \hich\af2\dbch\af31505\loch\f2 of it, thus forming a work based on the Program, and copy and -\par \hich\af2\dbch\af31505\loch\f2 distribute such modifications or work under the terms of Section 1 -\par \hich\af2\dbch\af31505\loch\f2 above, provided that you also meet all of these\hich\af2\dbch\af31505\loch\f2 conditions: -\par -\par \hich\af2\dbch\af31505\loch\f2 a) You must cause the modified files to carry prominent notices -\par \hich\af2\dbch\af31505\loch\f2 stating that you changed the files and the date of any change. -\par -\par \hich\af2\dbch\af31505\loch\f2 b) You must cause any work that you distribute or publish, that in -\par \hich\af2\dbch\af31505\loch\f2 whole or in part contains\hich\af2\dbch\af31505\loch\f2 or is derived from the Program or any -\par \hich\af2\dbch\af31505\loch\f2 part thereof, to be licensed as a whole at no charge to all third -\par \hich\af2\dbch\af31505\loch\f2 parties under the terms of this License. -\par -\par \hich\af2\dbch\af31505\loch\f2 c) If the modified program normally reads commands interactively -\par \hich\af2\dbch\af31505\loch\f2 when run, you must caus\hich\af2\dbch\af31505\loch\f2 e it, when started running for such -\par \hich\af2\dbch\af31505\loch\f2 interactive use in the most ordinary way, to print or display an -\par \hich\af2\dbch\af31505\loch\f2 announcement including an appropriate copyright notice and a -\par \hich\af2\dbch\af31505\loch\f2 notice that there is no warranty (or else, saying that you provide -\par \hich\af2\dbch\af31505\loch\f2 a warra\hich\af2\dbch\af31505\loch\f2 nty) and that users may redistribute the program under -\par \hich\af2\dbch\af31505\loch\f2 these conditions, and telling the user how to view a copy of this -\par \hich\af2\dbch\af31505\loch\f2 License. (Exception: if the Program itself is interactive but -\par \hich\af2\dbch\af31505\loch\f2 does not normally print such an announcement, your work b\hich\af2\dbch\af31505\loch\f2 ased on -\par \hich\af2\dbch\af31505\loch\f2 the Program is not required to print an announcement.) -\par \page -\par \hich\af2\dbch\af31505\loch\f2 These requirements apply to the modified work as a whole. If -\par \hich\af2\dbch\af31505\loch\f2 identifiable sections of that work are not derived from the Program, -\par \hich\af2\dbch\af31505\loch\f2 and can be reasonably considered independent and se\hich\af2\dbch\af31505\loch\f2 parate works in -\par \hich\af2\dbch\af31505\loch\f2 themselves, then this License, and its terms, do not apply to those -\par \hich\af2\dbch\af31505\loch\f2 sections when you distribute them as separate works. But when you -\par \hich\af2\dbch\af31505\loch\f2 distribute the same sections as part of a whole which is a work based -\par \hich\af2\dbch\af31505\loch\f2 on the Program, the distributio\hich\af2\dbch\af31505\loch\f2 n of the whole must be on the terms of -\par \hich\af2\dbch\af31505\loch\f2 this License, whose permissions for other licensees extend to the -\par \hich\af2\dbch\af31505\loch\f2 entire whole, and thus to each and every part regardless of who wrote it. -\par -\par \hich\af2\dbch\af31505\loch\f2 Thus, it is not the intent of this section to claim rights or contest -\par \hich\af2\dbch\af31505\loch\f2 y\hich\af2\dbch\af31505\loch\f2 our rights to work written entirely by you; rather, the intent is to -\par \hich\af2\dbch\af31505\loch\f2 exercise the right to control the distribution of derivative or -\par \hich\af2\dbch\af31505\loch\f2 collective works based on the Program. -\par -\par \hich\af2\dbch\af31505\loch\f2 In addition, mere aggregation of another work not based on the Program -\par \hich\af2\dbch\af31505\loch\f2 with th\hich\af2\dbch\af31505\loch\f2 e Program (or with a work based on the Program) on a volume of -\par \hich\af2\dbch\af31505\loch\f2 a storage or distribution medium does not bring the other work under -\par \hich\af2\dbch\af31505\loch\f2 the scope of this License. -\par -\par \hich\af2\dbch\af31505\loch\f2 3. You may copy and distribute the Program (or a work based on it, -\par \hich\af2\dbch\af31505\loch\f2 under Section 2) in ob\hich\af2\dbch\af31505\loch\f2 ject code or executable form under the terms of -\par \hich\af2\dbch\af31505\loch\f2 Sections 1 and 2 above provided that you also do one of the following: -\par -\par \hich\af2\dbch\af31505\loch\f2 a) Accompany it with the complete corresponding machine-readable -\par \hich\af2\dbch\af31505\loch\f2 source code, which must be distributed under the terms of S\hich\af2\dbch\af31505\loch\f2 ections -\par \hich\af2\dbch\af31505\loch\f2 1 and 2 above on a medium customarily used for software interchange; or, -\par -\par \hich\af2\dbch\af31505\loch\f2 b) Accompany it with a written offer, valid for at least three -\par \hich\af2\dbch\af31505\loch\f2 years, to give any third party, for a charge no more than your -\par \hich\af2\dbch\af31505\loch\f2 cost of physically performi\hich\af2\dbch\af31505\loch\f2 ng source distribution, a complete -\par \hich\af2\dbch\af31505\loch\f2 machine-readable copy of the corresponding source code, to be -\par \hich\af2\dbch\af31505\loch\f2 distributed under the terms of Sections 1 and 2 above on a medium -\par \hich\af2\dbch\af31505\loch\f2 customarily used for software interchange; or, -\par -\par \hich\af2\dbch\af31505\loch\f2 c) Accompany it with the\hich\af2\dbch\af31505\loch\f2 information you received as to the offer -\par \hich\af2\dbch\af31505\loch\f2 to distribute corresponding source code. (This alternative is -\par \hich\af2\dbch\af31505\loch\f2 allowed only for noncommercial distribution and only if you -\par \hich\af2\dbch\af31505\loch\f2 received the program in object code or executable form with such -\par \hich\af2\dbch\af31505\loch\f2 an off\hich\af2\dbch\af31505\loch\f2 er, in accord with Subsection b above.) -\par -\par \hich\af2\dbch\af31505\loch\f2 The source code for a work means the preferred form of the work for -\par \hich\af2\dbch\af31505\loch\f2 making modifications to it. For an executable work, complete source -\par \hich\af2\dbch\af31505\loch\f2 code means all the source code for all modules it contains, plus any -\par \hich\af2\dbch\af31505\loch\f2 asso\hich\af2\dbch\af31505\loch\f2 ciated interface definition files, plus the scripts used to -\par \hich\af2\dbch\af31505\loch\f2 control compilation and installation of the executable. However, as a -\par \hich\af2\dbch\af31505\loch\f2 special exception, the source code distributed need not include -\par \hich\af2\dbch\af31505\loch\f2 anything that is normally distributed (in either source or\hich\af2\dbch\af31505\loch\f2 binary -\par \hich\af2\dbch\af31505\loch\f2 form) with the major components (compiler, kernel, and so on) of the -\par \hich\af2\dbch\af31505\loch\f2 operating system on which the executable runs, unless that component -\par \hich\af2\dbch\af31505\loch\f2 itself accompanies the executable. -\par -\par \hich\af2\dbch\af31505\loch\f2 If distribution of executable or object code is made by offering -\par \hich\af2\dbch\af31505\loch\f2 acc\hich\af2\dbch\af31505\loch\f2 ess to copy from a designated place, then offering equivalent -\par \hich\af2\dbch\af31505\loch\f2 access to copy the source code from the same place counts as -\par \hich\af2\dbch\af31505\loch\f2 distribution of the source code, even though third parties are not -\par \hich\af2\dbch\af31505\loch\f2 compelled to copy the source along with the object code. -\par \page -\par \hich\af2\dbch\af31505\loch\f2 \hich\af2\dbch\af31505\loch\f2 4. You may not copy, modify, sublicense, or distribute the Program -\par \hich\af2\dbch\af31505\loch\f2 except as expressly provided under this License. Any attempt -\par \hich\af2\dbch\af31505\loch\f2 otherwise to copy, modify, sublicense or distribute the Program is -\par \hich\af2\dbch\af31505\loch\f2 void, and will automatically terminate your rights under \hich\af2\dbch\af31505\loch\f2 this License. -\par \hich\af2\dbch\af31505\loch\f2 However, parties who have received copies, or rights, from you under -\par \hich\af2\dbch\af31505\loch\f2 this License will not have their licenses terminated so long as such -\par \hich\af2\dbch\af31505\loch\f2 parties remain in full compliance. -\par -\par \hich\af2\dbch\af31505\loch\f2 5. You are not required to accept this License, since you hav\hich\af2\dbch\af31505\loch\f2 e not -\par \hich\af2\dbch\af31505\loch\f2 signed it. However, nothing else grants you permission to modify or -\par \hich\af2\dbch\af31505\loch\f2 distribute the Program or its derivative works. These actions are -\par \hich\af2\dbch\af31505\loch\f2 prohibited by law if you do not accept this License. Therefore, by -\par \hich\af2\dbch\af31505\loch\f2 modifying or distributing the Program (or \hich\af2\dbch\af31505\loch\f2 any work based on the -\par \hich\af2\dbch\af31505\loch\f2 Program), you indicate your acceptance of this License to do so, and -\par \hich\af2\dbch\af31505\loch\f2 all its terms and conditions for copying, distributing or modifying -\par \hich\af2\dbch\af31505\loch\f2 the Program or works based on it. -\par -\par \hich\af2\dbch\af31505\loch\f2 6. Each time you redistribute the Program (or any work \hich\af2\dbch\af31505\loch\f2 based on the -\par \hich\af2\dbch\af31505\loch\f2 Program), the recipient automatically receives a license from the -\par \hich\af2\dbch\af31505\loch\f2 original licensor to copy, distribute or modify the Program subject to -\par \hich\af2\dbch\af31505\loch\f2 these terms and conditions. You may not impose any further -\par \hich\af2\dbch\af31505\loch\f2 restrictions on the recipients' exercise o\hich\af2\dbch\af31505\loch\f2 f the rights granted herein. -\par \hich\af2\dbch\af31505\loch\f2 You are not responsible for enforcing compliance by third parties to -\par \hich\af2\dbch\af31505\loch\f2 this License. -\par -\par \hich\af2\dbch\af31505\loch\f2 7. If, as a consequence of a court judgment or allegation of patent -\par \hich\af2\dbch\af31505\loch\f2 infringement or for any other reason (not limited to patent issues), -\par \hich\af2\dbch\af31505\loch\f2 conditions are imposed on you (whether by court order, agreement or -\par \hich\af2\dbch\af31505\loch\f2 otherwise) that contradict the conditions of this License, they do not -\par \hich\af2\dbch\af31505\loch\f2 excuse you from the conditions of this License. If you cannot -\par \hich\af2\dbch\af31505\loch\f2 distribute so as to satisfy simultaneously your o\hich\af2\dbch\af31505\loch\f2 bligations under this -\par \hich\af2\dbch\af31505\loch\f2 License and any other pertinent obligations, then as a consequence you -\par \hich\af2\dbch\af31505\loch\f2 may not distribute the Program at all. For example, if a patent -\par \hich\af2\dbch\af31505\loch\f2 license would not permit royalty-free redistribution of the Program by -\par \hich\af2\dbch\af31505\loch\f2 all those who receive c\hich\af2\dbch\af31505\loch\f2 opies directly or indirectly through you, then -\par \hich\af2\dbch\af31505\loch\f2 the only way you could satisfy both it and this License would be to -\par \hich\af2\dbch\af31505\loch\f2 refrain entirely from distribution of the Program. -\par -\par \hich\af2\dbch\af31505\loch\f2 If any portion of this section is held invalid or unenforceable under -\par \hich\af2\dbch\af31505\loch\f2 any particular\hich\af2\dbch\af31505\loch\f2 circumstance, the balance of the section is intended to -\par \hich\af2\dbch\af31505\loch\f2 apply and the section as a whole is intended to apply in other -\par \hich\af2\dbch\af31505\loch\f2 circumstances. -\par -\par \hich\af2\dbch\af31505\loch\f2 It is not the purpose of this section to induce you to infringe any -\par \hich\af2\dbch\af31505\loch\f2 patents or other property right claims or to co\hich\af2\dbch\af31505\loch\f2 ntest validity of any -\par \hich\af2\dbch\af31505\loch\f2 such claims; this section has the sole purpose of protecting the -\par \hich\af2\dbch\af31505\loch\f2 integrity of the free software distribution system, which is -\par \hich\af2\dbch\af31505\loch\f2 implemented by public license practices. Many people have made -\par \hich\af2\dbch\af31505\loch\f2 generous contributions to the wide range\hich\af2\dbch\af31505\loch\f2 of software distributed -\par \hich\af2\dbch\af31505\loch\f2 through that system in reliance on consistent application of that -\par \hich\af2\dbch\af31505\loch\f2 system; it is up to the author/donor to decide if he or she is willing -\par \hich\af2\dbch\af31505\loch\f2 to distribute software through any other system and a licensee cannot -\par \hich\af2\dbch\af31505\loch\f2 impose that choice. -\par -\par \hich\af2\dbch\af31505\loch\f2 This section is intended to make thoroughly clear what is believed to -\par \hich\af2\dbch\af31505\loch\f2 be a consequence of the rest of this License. -\par \page -\par \hich\af2\dbch\af31505\loch\f2 8. If the distribution and/or use of the Program is restricted in -\par \hich\af2\dbch\af31505\loch\f2 certain countries either by patents or by copyrighted interface\hich\af2\dbch\af31505\loch\f2 s, the -\par \hich\af2\dbch\af31505\loch\f2 original copyright holder who places the Program under this License -\par \hich\af2\dbch\af31505\loch\f2 may add an explicit geographical distribution limitation excluding -\par \hich\af2\dbch\af31505\loch\f2 those countries, so that distribution is permitted only in or among -\par \hich\af2\dbch\af31505\loch\f2 countries not thus excluded. In such case\hich\af2\dbch\af31505\loch\f2 , this License incorporates -\par \hich\af2\dbch\af31505\loch\f2 the limitation as if written in the body of this License. -\par -\par \hich\af2\dbch\af31505\loch\f2 9. The Free Software Foundation may publish revised and/or new versions -\par \hich\af2\dbch\af31505\loch\f2 of the General Public License from time to time. Such new versions will -\par \hich\af2\dbch\af31505\loch\f2 be similar in spi\hich\af2\dbch\af31505\loch\f2 rit to the present version, but may differ in detail to -\par \hich\af2\dbch\af31505\loch\f2 address new problems or concerns. -\par -\par \hich\af2\dbch\af31505\loch\f2 Each version is given a distinguishing version number. If the Program -\par \hich\af2\dbch\af31505\loch\f2 specifies a version number of this License which applies to it and "any -\par \hich\af2\dbch\af31505\loch\f2 later version", y\hich\af2\dbch\af31505\loch\f2 ou have the option of following the terms and conditions -\par \hich\af2\dbch\af31505\loch\f2 either of that version or of any later version published by the Free -\par \hich\af2\dbch\af31505\loch\f2 Software Foundation. If the Program does not specify a version number of -\par \hich\af2\dbch\af31505\loch\f2 this License, you may choose any version ever publish\hich\af2\dbch\af31505\loch\f2 ed by the Free Software -\par \hich\af2\dbch\af31505\loch\f2 Foundation. -\par -\par \hich\af2\dbch\af31505\loch\f2 10. If you wish to incorporate parts of the Program into other free -\par \hich\af2\dbch\af31505\loch\f2 programs whose distribution conditions are different, write to the author -\par \hich\af2\dbch\af31505\loch\f2 to ask for permission. For software which is copyrighted by the Free -\par \hich\af2\dbch\af31505\loch\f2 Software Foundation, write to the Free Software Foundation; we sometimes -\par \hich\af2\dbch\af31505\loch\f2 make exceptions for this. Our decision will be guided by the two goals -\par \hich\af2\dbch\af31505\loch\f2 of preserving the free status of all derivatives of our free software and -\par \hich\af2\dbch\af31505\loch\f2 of promoting the sharing and reus\hich\af2\dbch\af31505\loch\f2 e of software generally. -\par -\par \tab \tab \tab \hich\af2\dbch\af31505\loch\f2 NO WARRANTY -\par -\par \hich\af2\dbch\af31505\loch\f2 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -\par \hich\af2\dbch\af31505\loch\f2 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -\par \hich\af2\dbch\af31505\loch\f2 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR\hich\af2\dbch\af31505\loch\f2 OTHER PARTIES -\par \hich\af2\dbch\af31505\loch\f2 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -\par \hich\af2\dbch\af31505\loch\f2 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -\par \hich\af2\dbch\af31505\loch\f2 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -\par \hich\af2\dbch\af31505\loch\f2 TO THE QUALITY AND \hich\af2\dbch\af31505\loch\f2 PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -\par \hich\af2\dbch\af31505\loch\f2 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -\par \hich\af2\dbch\af31505\loch\f2 REPAIR OR CORRECTION. -\par -\par \hich\af2\dbch\af31505\loch\f2 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -\par \hich\af2\dbch\af31505\loch\f2 WILL ANY COPYRIGHT HOLDER, \hich\af2\dbch\af31505\loch\f2 OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -\par \hich\af2\dbch\af31505\loch\f2 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -\par \hich\af2\dbch\af31505\loch\f2 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -\par \hich\af2\dbch\af31505\loch\f2 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT\hich\af2\dbch\af31505\loch\f2 NOT LIMITED -\par \hich\af2\dbch\af31505\loch\f2 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -\par \hich\af2\dbch\af31505\loch\f2 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -\par \hich\af2\dbch\af31505\loch\f2 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -\par \hich\af2\dbch\af31505\loch\f2 POSSIBILITY OF SUCH D\hich\af2\dbch\af31505\loch\f2 AMAGES. -\par -\par \tab \tab \hich\af2\dbch\af31505\loch\f2 END OF TERMS AND CONDITIONS -\par \page -\par \tab \hich\af2\dbch\af31505\loch\f2 How to Apply These Terms to Your New Programs -\par -\par \hich\af2\dbch\af31505\loch\f2 If you develop a new program, and you want it to be of the greatest -\par \hich\af2\dbch\af31505\loch\f2 possible use to the public, the best way to achieve this is to make it -\par \hich\af2\dbch\af31505\loch\f2 free soft\hich\af2\dbch\af31505\loch\f2 ware which everyone can redistribute and change under these terms. -\par -\par \hich\af2\dbch\af31505\loch\f2 To do so, attach the following notices to the program. It is safest -\par \hich\af2\dbch\af31505\loch\f2 to attach them to the start of each source file to most effectively -\par \hich\af2\dbch\af31505\loch\f2 convey the exclusion of warranty; and each fi\hich\af2\dbch\af31505\loch\f2 le should have at least -\par \hich\af2\dbch\af31505\loch\f2 the "copyright" line and a pointer to where the full notice is found. -\par -\par \hich\af2\dbch\af31505\loch\f2 -\par \hich\af2\dbch\af31505\loch\f2 Copyright (C) -\par -\par \hich\af2\dbch\af31505\loch\f2 This program is free software; \hich\af2\dbch\af31505\loch\f2 you can redistribute it and/or modify -\par \hich\af2\dbch\af31505\loch\f2 it under the terms of the GNU General Public License as published by -\par \hich\af2\dbch\af31505\loch\f2 the Free Software Foundation; either version 2 of the License, or -\par \hich\af2\dbch\af31505\loch\f2 (at your option) any later version. -\par -\par \hich\af2\dbch\af31505\loch\f2 This program is distribut\hich\af2\dbch\af31505\loch\f2 ed in the hope that it will be useful, -\par \hich\af2\dbch\af31505\loch\f2 but WITHOUT ANY WARRANTY; without even the implied warranty of -\par \hich\af2\dbch\af31505\loch\f2 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -\par \hich\af2\dbch\af31505\loch\f2 GNU General Public License for more details. -\par -\par \hich\af2\dbch\af31505\loch\f2 You should have received \hich\af2\dbch\af31505\loch\f2 a copy of the GNU General Public License -\par \hich\af2\dbch\af31505\loch\f2 along with this program; if not, write to the Free Software -\par \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1036\langfe2052\langnp1036\insrsid14221796\charrsid13243775 \hich\af2\dbch\af31505\loch\f2 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -\par -\par -\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14221796\charrsid1727615 \hich\af2\dbch\af31505\loch\f2 Also add information on how to contact you by electronic and paper\hich\af2\dbch\af31505\loch\f2 mail. -\par -\par \hich\af2\dbch\af31505\loch\f2 If the program is interactive, make it output a short notice like this -\par \hich\af2\dbch\af31505\loch\f2 when it starts in an interactive mode: -\par -\par \hich\af2\dbch\af31505\loch\f2 Gnomovision version 69, Copyright (C) year name of author -\par \hich\af2\dbch\af31505\loch\f2 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type \hich\af2\dbch\af31505\loch\f2 `show w'. -\par \hich\af2\dbch\af31505\loch\f2 This is free software, and you are welcome to redistribute it -\par \hich\af2\dbch\af31505\loch\f2 under certain conditions; type `show c' for details. -\par -\par \hich\af2\dbch\af31505\loch\f2 The hypothetical commands `show w' and `show c' should show the appropriate -\par \hich\af2\dbch\af31505\loch\f2 parts of the General Public License. Of \hich\af2\dbch\af31505\loch\f2 course, the commands you use may -\par \hich\af2\dbch\af31505\loch\f2 be called something other than `show w' and `show c'; they could even be -\par \hich\af2\dbch\af31505\loch\f2 mouse-clicks or menu items--whatever suits your program. -\par -\par \hich\af2\dbch\af31505\loch\f2 You should also get your employer (if you work as a programmer) or your -\par \hich\af2\dbch\af31505\loch\f2 school, if any,\hich\af2\dbch\af31505\loch\f2 to sign a "copyright disclaimer" for the program, if -\par \hich\af2\dbch\af31505\loch\f2 necessary. Here is a sample; alter the names: -\par -\par \hich\af2\dbch\af31505\loch\f2 Yoyodyne, Inc., hereby disclaims all copyright interest in the program -\par \hich\af2\dbch\af31505\loch\f2 `Gnomovision' (which makes passes at compilers) written by James Hacker. -\par -\par \hich\af2\dbch\af31505\loch\f2 , 1 April 1989 -\par \hich\af2\dbch\af31505\loch\f2 Ty Coon, President of Vice -\par -\par \hich\af2\dbch\af31505\loch\f2 This General Public License does not permit incorporating your program into -\par \hich\af2\dbch\af31505\loch\f2 proprietary programs. If your program is a subroutine library, you may -\par \hich\af2\dbch\af31505\loch\f2 consider it more useful to permit\hich\af2\dbch\af31505\loch\f2 linking proprietary applications with the -\par \hich\af2\dbch\af31505\loch\f2 library. If this is what you want to do, use the GNU Library General -\par \hich\af2\dbch\af31505\loch\f2 Public License instead of this License.}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid1727615 -\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a -9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad -5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 -b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 -0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 -a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f -c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 -0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 -a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 -6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b -4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b -4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210030dd4329a8060000a41b0000160000007468656d652f7468656d652f -7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87 -615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad -79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b -5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab -999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9 -699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586 -8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6 -0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f -9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be -15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979 -3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d -32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a -f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86 -e877f0034e16bafb0e258ebb4faf06b769e888340b103d331115bebc4eb813bf83291b63624a0d1475a756c734f9bbc2cd28546ecbe1e20a3794ca175f3fae90 -fb6d2dd99bb07b55e5ccf68942bd0877b23c77b908e8db5f9db7f024d9239010f35bd4bbe2fcae387bfff9e2bc289f2fbe24cfaa301468dd8bd846dbb4ddf1c2 -ae7b4c191ba8292337a469bc25ec3d411f06f53a73e224c5292c8de0516732307070a1c0660d125c7d44553488700a4d7bddd3444299910e254ab984c3a219ae -a4adf1d0f82b7bd46cea4388ad1c12ab5d1ed8e1153d9c9f350a3246aad01c6873462b9ac05999ad5cc988826eafc3acae853a33b7ba11cd1445875ba1b236b1 -399483c90bd560b0b0263435085a21b0f22a9cf9356b38ec6046026d77eba3dc2dc60b17e92219e180643ed27acffba86e9c94c7ca9c225a0f1b0cfae0788ad5 -4adc5a9aec1b703b8b93caec1a0bd8e5de7b132fe5113cf312503b998e2c2927274bd051db6b35979b1ef271daf6c6704e86c73805af4bdd476216c26593af84 -0dfb5393d964f9cc9bad5c313709ea70f561ed3ea7b053075221d51696910d0d339585004b34272bff7213cc7a510a5454a3b349b1b206c1f0af490176745d4b -c663e2abb2b34b23da76f6352ba57ca2881844c1111ab189d8c7e07e1daaa04f40255c77988aa05fe06e4e5bdb4cb9c5394bbaf28d98c1d971ccd20867e556a7 -689ec9166e0a522183792b8907ba55ca6e943bbf2a26e52f48957218ffcf54d1fb09dc3eac04da033e5c0d0b8c74a6b43d2e54c4a10aa511f5fb021a07533b20 -5ae07e17a621a8e082dafc17e450ffb739676998b48643a4daa7211214f623150942f6a02c99e83b85583ddbbb2c4996113211551257a656ec1139246ca86be0 -aadedb3d1441a89b6a929501833b197fee7b9641a3503739e57c732a59b1f7da1cf8a73b1f9bcca0945b874d4393dbbf10b1680f66bbaa5d6f96e77b6f59113d -316bb31a795600b3d256d0cad2fe354538e7566b2bd69cc6cbcd5c38f0e2bcc63058344429dc2121fd07f63f2a7c66bf76e80d75c8f7a1b622f878a18941d840 -545fb28d07d205d20e8ea071b283369834296bdaac75d256cb37eb0bee740bbe278cad253b8bbfcf69eca23973d939b97891c6ce2cecd8da8e2d343578f6648a -c2d0383fc818c798cf64e52f597c740f1cbd05df0c264c49134cf09d4a60e8a107260f20f92d47b374e32f000000ffff0300504b030414000600080000002100 -0dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f7 -8277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89 -d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd500 -1996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0f -bfff0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6 -a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a -0000001c00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d00140006000800000021 -0030dd4329a8060000a41b00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d001400060008 -00000021000dd1909fb60000001b0100002700000000000000000000000000b20900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000ad0a00000000} -{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d -617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 -6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 -656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} -{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4; -\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9; -\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7; -\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000 -4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 -d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000d054 -9bfacb62ce01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000105000000000000}} diff --git a/build_support/osx/dmg_background.tiff b/build_support/osx/dmg_background.tiff new file mode 100644 index 0000000000..27fe5280f2 Binary files /dev/null and b/build_support/osx/dmg_background.tiff differ diff --git a/build_support/osx/make-dmg.sh b/build_support/osx/make-dmg.sh new file mode 100755 index 0000000000..a9ca9628e9 --- /dev/null +++ b/build_support/osx/make-dmg.sh @@ -0,0 +1,91 @@ +#!/bin/sh +# +# Build a branded, "drag to Applications" disk image from an already-built +# Gambit.app bundle. +# +# Usage: build_support/osx/make-dmg.sh + +set -e + +APP_BUNDLE="$1" +OUTPUT_DMG="$2" +HERE="$(cd "$(dirname "$0")" && pwd)" + +if [ -z "$APP_BUNDLE" ] || [ -z "$OUTPUT_DMG" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +STAGING_DIR="$(mktemp -d /tmp/gambit-dmg-staging.XXXXXX)" +RW_DMG="$(mktemp /tmp/gambit-dmg-rw.XXXXXX)-rw.dmg" +VOLNAME="Gambit" +MOUNT_POINT="$(mktemp -d /tmp/gambit-dmg-mount.XXXXXX)" + +cleanup() { + hdiutil detach "$MOUNT_POINT" -quiet -force >/dev/null 2>&1 || true + rm -rf "$STAGING_DIR" "$RW_DMG" +} +trap cleanup EXIT + +rm -f "$OUTPUT_DMG" + +mkdir -p "$STAGING_DIR/.background" +cp -r "$APP_BUNDLE" "$STAGING_DIR/Gambit.app" +ln -s /Applications "$STAGING_DIR/Applications" +cp "$HERE/dmg_background.tiff" "$STAGING_DIR/.background/background.tiff" + +SIZE_MB=$(($(du -sm "$STAGING_DIR" | cut -f1) + 20)) +hdiutil create -srcfolder "$STAGING_DIR" -volname "$VOLNAME" -fs HFS+ \ + -format UDRW -size "${SIZE_MB}m" "$RW_DMG" -quiet + +hdiutil attach "$RW_DMG" -mountpoint "$MOUNT_POINT" -quiet -nobrowse + +# When mounted at a custom path with -nobrowse, Finder addresses the disk +# object (via AppleScript) by the mount point's directory name, not by the +# volume's own HFS label -- so that is what we must use here, even though +# the label (and what end users see once the finished dmg ships) is "Gambit". +DISK_ID="$(basename "$MOUNT_POINT")" + +# Finder also registers a freshly attached volume asynchronously, so +# addressing it by name via AppleScript immediately after attach is racy. +i=0 +while [ $i -lt 20 ]; do + if [ "$(osascript -e "tell application \"Finder\" to exists disk \"$DISK_ID\"" 2>/dev/null)" = "true" ]; then + break + fi + i=$((i + 1)) + sleep 0.5 +done +if [ $i -eq 20 ]; then + echo "error: Finder never saw the mounted volume after mounting" >&2 + exit 1 +fi + +osascript < - gambit_icn ICON "gambit.ico" -efg_icn ICON "efg.ico" -nfg_icn ICON "nfg.ico" -gambit BITMAP "gambit.bmp" diff --git a/src/gui/bitmaps/nfg.ico b/src/gui/bitmaps/nfg.ico deleted file mode 100644 index 86945986d6..0000000000 Binary files a/src/gui/bitmaps/nfg.ico and /dev/null differ diff --git a/src/gui/dlabout.cc b/src/gui/dlabout.cc index 67324ebdff..27ce30fe0a 100644 --- a/src/gui/dlabout.cc +++ b/src/gui/dlabout.cc @@ -118,8 +118,8 @@ AboutDialog::AboutDialog(wxWindow *p_parent) { auto *copyRow = new wxBoxSizer(wxHORIZONTAL); - copyRow->Add(new wxStaticText(panel, wxID_ANY, _("Copyright © 1994–2026 ")), 0, - wxALIGN_CENTER_VERTICAL); + copyRow->Add(new wxStaticText(panel, wxID_ANY, wxString::FromUTF8("Copyright © 1994–2026 ")), + 0, wxALIGN_CENTER_VERTICAL); copyRow->Add(new wxHyperlinkCtrl(panel, wxID_ANY, _("The Gambit Project"), "https://www.gambit-project.org"), diff --git a/src/gui/gameframe.cc b/src/gui/gameframe.cc index 38507710bb..d6ba2ac5b6 100644 --- a/src/gui/gameframe.cc +++ b/src/gui/gameframe.cc @@ -255,7 +255,7 @@ GameFrame::GameFrame(wxWindow *p_parent, const std::shared_ptr &p_ Centre(); #if defined(__WXMSW__) - SetIcon(wxIcon(wxT("efg_icn"))); + SetIcon(wxIcon(wxT("gambit_icn"))); #else #include "bitmaps/gambit.xpm" SetIcon(wxIcon(gambit_xpm));