comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/doc/libasprintf/autosprintf_all.html @ 68:5028fdace37b

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 16:23:26 -0400
parents
children
comparison
equal deleted inserted replaced
67:0e9998148a16 68:5028fdace37b
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
2 <html>
3 <!-- Created on September, 11 2022 by texi2html 1.78a -->
4 <!--
5 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
6 Karl Berry <karl@freefriends.org>
7 Olaf Bachmann <obachman@mathematik.uni-kl.de>
8 and many others.
9 Maintained by: Many creative people.
10 Send bugs and suggestions to <texi2html-bug@nongnu.org>
11
12 -->
13 <head>
14 <title>GNU autosprintf</title>
15
16 <meta name="description" content="GNU autosprintf">
17 <meta name="keywords" content="GNU autosprintf">
18 <meta name="resource-type" content="document">
19 <meta name="distribution" content="global">
20 <meta name="Generator" content="texi2html 1.78a">
21 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
22 <style type="text/css">
23 <!--
24 a.summary-letter {text-decoration: none}
25 pre.display {font-family: serif}
26 pre.format {font-family: serif}
27 pre.menu-comment {font-family: serif}
28 pre.menu-preformatted {font-family: serif}
29 pre.smalldisplay {font-family: serif; font-size: smaller}
30 pre.smallexample {font-size: smaller}
31 pre.smallformat {font-family: serif; font-size: smaller}
32 pre.smalllisp {font-size: smaller}
33 span.roman {font-family:serif; font-weight:normal;}
34 span.sansserif {font-family:sans-serif; font-weight:normal;}
35 ul.toc {list-style: none}
36 -->
37 </style>
38
39
40 </head>
41
42 <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
43
44 <h1 class="settitle">GNU autosprintf</h1>
45 <a name="SEC_Contents"></a>
46 <h1>Table of Contents</h1>
47 <div class="contents">
48
49 <ul class="toc">
50 <li><a name="TOC1" href="#SEC1">1. Introduction</a></li>
51 <li><a name="TOC2" href="#SEC2">2. The <code>autosprintf</code> class</a></li>
52 <li><a name="TOC3" href="#SEC3">3. Using <code>autosprintf</code> in own programs</a></li>
53 <li><a name="TOC4" href="#SEC4">A. Licenses</a>
54 <ul class="toc">
55 <li><a name="TOC5" href="#SEC5">A.1 GNU LESSER GENERAL PUBLIC LICENSE</a></li>
56 <li><a name="TOC6" href="#SEC10">A.2 GNU GENERAL PUBLIC LICENSE</a></li>
57 <li><a name="TOC7" href="#SEC14">A.3 GNU Free Documentation License</a></li>
58 </ul>
59 </li>
60 </ul>
61 </div>
62
63 <a name="Top"></a>
64 <a name="SEC_Top"></a>
65
66 <p>This manual documents the GNU autosprintf class, version 1.0.
67 </p>
68
69
70 <hr size="1">
71 <a name="Introduction"></a>
72 <a name="SEC1"></a>
73 <h1 class="chapter"> <a href="#TOC1">1. Introduction</a> </h1>
74
75 <p>This package makes the C formatted output routines (<code>fprintf</code> et al.)
76 usable in C++ programs, for use with the <code>&lt;string&gt;</code> strings and the
77 <code>&lt;iostream&gt;</code> streams.
78 </p>
79 <p>It allows to write code like
80 </p>
81 <table><tr><td>&nbsp;</td><td><pre class="smallexample">cerr &lt;&lt; autosprintf (&quot;syntax error in %s:%d: %s&quot;, filename, line, errstring);
82 </pre></td></tr></table>
83
84 <p>instead of
85 </p>
86 <table><tr><td>&nbsp;</td><td><pre class="smallexample">cerr &lt;&lt; &quot;syntax error in &quot; &lt;&lt; filename &lt;&lt; &quot;:&quot; &lt;&lt; line &lt;&lt; &quot;: &quot; &lt;&lt; errstring;
87 </pre></td></tr></table>
88
89 <p>The benefits of the autosprintf syntax are:
90 </p>
91 <ul>
92 <li>
93 It reuses the standard POSIX printf facility. Easy migration from C to C++.
94
95 </li><li>
96 English sentences are kept together.
97
98 </li><li>
99 It makes internationalization possible. Internationalization requires format
100 strings, because in some cases the translator needs to change the order of a
101 sentence, and more generally it is easier for the translator to work with a
102 single string for a sentence than with multiple string pieces.
103
104 </li><li>
105 It reduces the risk of programming errors due to forgotten state in the
106 output stream (e.g. <code>cout &lt;&lt; hex;</code> not followed by <code>cout &lt;&lt; dec;</code>).
107 </li></ul>
108
109
110 <a name="Class-autosprintf"></a>
111 <a name="SEC2"></a>
112 <h1 class="chapter"> <a href="#TOC2">2. The <code>autosprintf</code> class</a> </h1>
113
114 <p>An instance of class <code>autosprintf</code> just contains a string with the
115 formatted output result. Such an instance is usually allocated as an
116 automatic storage variable, i.e. on the stack, not with <code>new</code> on the
117 heap.
118 </p>
119 <p>The constructor <code>autosprintf (const char *format, ...)</code> takes a format
120 string and additional arguments, like the C function <code>printf</code>.
121 </p>
122 <p>Conversions to <code>char *</code> and <code>std::string</code> are defined that return
123 the encapsulated string. The conversion to <code>char *</code> returns a freshly
124 allocated copy of the encapsulated string; it needs to be freed using
125 <code>delete[]</code>. The conversion to <code>std::string</code> returns a copy of
126 the encapsulated string, with automatic memory management.
127 </p>
128 <p>The destructor <code>~autosprintf ()</code> destroys the encapsulated string.
129 </p>
130 <p>An <code>operator &lt;&lt;</code> is provided that outputs the encapsulated string to the
131 given <code>ostream</code>.
132 </p>
133
134 <a name="Using-autosprintf"></a>
135 <a name="SEC3"></a>
136 <h1 class="chapter"> <a href="#TOC3">3. Using <code>autosprintf</code> in own programs</a> </h1>
137
138 <p>To use the <code>autosprintf</code> class in your programs, you need to add
139 </p>
140 <table><tr><td>&nbsp;</td><td><pre class="smallexample">#include &quot;autosprintf.h&quot;
141 using gnu::autosprintf;
142 </pre></td></tr></table>
143
144 <p>to your source code.
145 The include file defines the class <code>autosprintf</code>, in a namespace called
146 <code>gnu</code>. The &lsquo;<samp>using</samp>&rsquo; statement makes it possible to use the class
147 without the (otherwise natural) <code>gnu::</code> prefix.
148 </p>
149 <p>When linking your program, you need to link with <code>libasprintf</code>, because
150 that's where the class is defined. In projects using GNU <code>autoconf</code>,
151 this means adding &lsquo;<samp>AC_LIB_LINKFLAGS([asprintf])</samp>&rsquo; to <code>configure.in</code>
152 or <code>configure.ac</code>, and using the @LIBASPRINTF@ Makefile variable that
153 it provides.
154 </p>
155
156 <a name="Licenses"></a>
157 <a name="SEC4"></a>
158 <h1 class="appendix"> <a href="#TOC4">A. Licenses</a> </h1>
159
160 <p>The files of this package are covered by the licenses indicated in each
161 particular file or directory. Here is a summary:
162 </p>
163 <ul>
164 <li>
165 The <code>libasprintf</code> library is covered by the
166 GNU Lesser General Public License (LGPL), either version 2.1 of the
167 License, or (at your option) any later version published by the
168 Free Software Foundation (FSF).
169 A copy of the license is included in <a href="#SEC5">GNU LESSER GENERAL PUBLIC LICENSE</a>.
170
171 </li><li>
172 This manual is free documentation. It is dually licensed under the
173 GNU FDL and the GNU GPL. This means that you can redistribute this
174 manual under either of these two licenses, at your choice.
175 <br>
176 This manual is covered by the GNU FDL. Permission is granted to copy,
177 distribute and/or modify this document under the terms of the
178 GNU Free Documentation License (FDL), either version 1.2 of the
179 License, or (at your option) any later version published by the
180 Free Software Foundation (FSF); with no Invariant Sections, with no
181 Front-Cover Text, and with no Back-Cover Texts.
182 A copy of the license is included in <a href="#SEC14">GNU Free Documentation License</a>.
183 <br>
184 This manual is covered by the GNU GPL. You can redistribute it and/or
185 modify it under the terms of the GNU General Public License (GPL), either
186 version 2 of the License, or (at your option) any later version published
187 by the Free Software Foundation (FSF).
188 A copy of the license is included in <a href="#SEC10">GNU GENERAL PUBLIC LICENSE</a>.
189 </li></ul>
190
191
192
193
194 <a name="GNU-LGPL"></a>
195 <a name="SEC5"></a>
196 <h2 class="appendixsec"> <a href="#TOC5">A.1 GNU LESSER GENERAL PUBLIC LICENSE</a> </h2>
197 <p align="center"> Version 2.1, February 1999
198 </p>
199
200 <table><tr><td>&nbsp;</td><td><pre class="display">Copyright &copy; 1991, 1999 Free Software Foundation, Inc.
201 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
202
203 Everyone is permitted to copy and distribute verbatim copies
204 of this license document, but changing it is not allowed.
205
206 [This is the first released version of the Lesser GPL. It also counts
207 as the successor of the GNU Library Public License, version 2, hence the
208 version number 2.1.]
209 </pre></td></tr></table>
210
211 <a name="SEC6"></a>
212 <h3 class="subheading"> Preamble </h3>
213
214 <p> The licenses for most software are designed to take away your
215 freedom to share and change it. By contrast, the GNU General Public
216 Licenses are intended to guarantee your freedom to share and change
217 free software&mdash;to make sure the software is free for all its users.
218 </p>
219 <p> This license, the Lesser General Public License, applies to some
220 specially designated software&mdash;typically libraries&mdash;of the Free
221 Software Foundation and other authors who decide to use it. You can use
222 it too, but we suggest you first think carefully about whether this
223 license or the ordinary General Public License is the better strategy to
224 use in any particular case, based on the explanations below.
225 </p>
226 <p> When we speak of free software, we are referring to freedom of use,
227 not price. Our General Public Licenses are designed to make sure that
228 you have the freedom to distribute copies of free software (and charge
229 for this service if you wish); that you receive source code or can get
230 it if you want it; that you can change the software and use pieces of it
231 in new free programs; and that you are informed that you can do these
232 things.
233 </p>
234 <p> To protect your rights, we need to make restrictions that forbid
235 distributors to deny you these rights or to ask you to surrender these
236 rights. These restrictions translate to certain responsibilities for
237 you if you distribute copies of the library or if you modify it.
238 </p>
239 <p> For example, if you distribute copies of the library, whether gratis
240 or for a fee, you must give the recipients all the rights that we gave
241 you. You must make sure that they, too, receive or can get the source
242 code. If you link other code with the library, you must provide
243 complete object files to the recipients, so that they can relink them
244 with the library after making changes to the library and recompiling
245 it. And you must show them these terms so they know their rights.
246 </p>
247 <p> We protect your rights with a two-step method: (1) we copyright the
248 library, and (2) we offer you this license, which gives you legal
249 permission to copy, distribute and/or modify the library.
250 </p>
251 <p> To protect each distributor, we want to make it very clear that
252 there is no warranty for the free library. Also, if the library is
253 modified by someone else and passed on, the recipients should know
254 that what they have is not the original version, so that the original
255 author's reputation will not be affected by problems that might be
256 introduced by others.
257 </p>
258 <p> Finally, software patents pose a constant threat to the existence of
259 any free program. We wish to make sure that a company cannot
260 effectively restrict the users of a free program by obtaining a
261 restrictive license from a patent holder. Therefore, we insist that
262 any patent license obtained for a version of the library must be
263 consistent with the full freedom of use specified in this license.
264 </p>
265 <p> Most GNU software, including some libraries, is covered by the
266 ordinary GNU General Public License. This license, the GNU Lesser
267 General Public License, applies to certain designated libraries, and
268 is quite different from the ordinary General Public License. We use
269 this license for certain libraries in order to permit linking those
270 libraries into non-free programs.
271 </p>
272 <p> When a program is linked with a library, whether statically or using
273 a shared library, the combination of the two is legally speaking a
274 combined work, a derivative of the original library. The ordinary
275 General Public License therefore permits such linking only if the
276 entire combination fits its criteria of freedom. The Lesser General
277 Public License permits more lax criteria for linking other code with
278 the library.
279 </p>
280 <p> We call this license the <em>Lesser</em> General Public License because it
281 does <em>Less</em> to protect the user's freedom than the ordinary General
282 Public License. It also provides other free software developers Less
283 of an advantage over competing non-free programs. These disadvantages
284 are the reason we use the ordinary General Public License for many
285 libraries. However, the Lesser license provides advantages in certain
286 special circumstances.
287 </p>
288 <p> For example, on rare occasions, there may be a special need to
289 encourage the widest possible use of a certain library, so that it becomes
290 a de-facto standard. To achieve this, non-free programs must be
291 allowed to use the library. A more frequent case is that a free
292 library does the same job as widely used non-free libraries. In this
293 case, there is little to gain by limiting the free library to free
294 software only, so we use the Lesser General Public License.
295 </p>
296 <p> In other cases, permission to use a particular library in non-free
297 programs enables a greater number of people to use a large body of
298 free software. For example, permission to use the GNU C Library in
299 non-free programs enables many more people to use the whole GNU
300 operating system, as well as its variant, the GNU/Linux operating
301 system.
302 </p>
303 <p> Although the Lesser General Public License is Less protective of the
304 users' freedom, it does ensure that the user of a program that is
305 linked with the Library has the freedom and the wherewithal to run
306 that program using a modified version of the Library.
307 </p>
308 <p> The precise terms and conditions for copying, distribution and
309 modification follow. Pay close attention to the difference between a
310 &ldquo;work based on the library&rdquo; and a &ldquo;work that uses the library&rdquo;. The
311 former contains code derived from the library, whereas the latter must
312 be combined with the library in order to run.
313 </p>
314 <a name="SEC7"></a>
315 <h3 class="subheading"> TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION </h3>
316
317 <ol>
318 <li>
319 This License Agreement applies to any software library or other program
320 which contains a notice placed by the copyright holder or other
321 authorized party saying it may be distributed under the terms of this
322 Lesser General Public License (also called &ldquo;this License&rdquo;). Each
323 licensee is addressed as &ldquo;you&rdquo;.
324
325 <p> A &ldquo;library&rdquo; means a collection of software functions and/or data
326 prepared so as to be conveniently linked with application programs
327 (which use some of those functions and data) to form executables.
328 </p>
329 <p> The &ldquo;Library&rdquo;, below, refers to any such software library or work
330 which has been distributed under these terms. A &ldquo;work based on the
331 Library&rdquo; means either the Library or any derivative work under
332 copyright law: that is to say, a work containing the Library or a
333 portion of it, either verbatim or with modifications and/or translated
334 straightforwardly into another language. (Hereinafter, translation is
335 included without limitation in the term &ldquo;modification&rdquo;.)
336 </p>
337 <p> &ldquo;Source code&rdquo; for a work means the preferred form of the work for
338 making modifications to it. For a library, complete source code means
339 all the source code for all modules it contains, plus any associated
340 interface definition files, plus the scripts used to control compilation
341 and installation of the library.
342 </p>
343 <p> Activities other than copying, distribution and modification are not
344 covered by this License; they are outside its scope. The act of
345 running a program using the Library is not restricted, and output from
346 such a program is covered only if its contents constitute a work based
347 on the Library (independent of the use of the Library in a tool for
348 writing it). Whether that is true depends on what the Library does
349 and what the program that uses the Library does.
350 </p>
351 </li><li>
352 You may copy and distribute verbatim copies of the Library's
353 complete source code as you receive it, in any medium, provided that
354 you conspicuously and appropriately publish on each copy an
355 appropriate copyright notice and disclaimer of warranty; keep intact
356 all the notices that refer to this License and to the absence of any
357 warranty; and distribute a copy of this License along with the
358 Library.
359
360 <p> You may charge a fee for the physical act of transferring a copy,
361 and you may at your option offer warranty protection in exchange for a
362 fee.
363 </p>
364 </li><li>
365 You may modify your copy or copies of the Library or any portion
366 of it, thus forming a work based on the Library, and copy and
367 distribute such modifications or work under the terms of Section 1
368 above, provided that you also meet all of these conditions:
369
370 <ol>
371 <li>
372 The modified work must itself be a software library.
373
374 </li><li>
375 You must cause the files modified to carry prominent notices
376 stating that you changed the files and the date of any change.
377
378 </li><li>
379 You must cause the whole of the work to be licensed at no
380 charge to all third parties under the terms of this License.
381
382 </li><li>
383 If a facility in the modified Library refers to a function or a
384 table of data to be supplied by an application program that uses
385 the facility, other than as an argument passed when the facility
386 is invoked, then you must make a good faith effort to ensure that,
387 in the event an application does not supply such function or
388 table, the facility still operates, and performs whatever part of
389 its purpose remains meaningful.
390
391 <p>(For example, a function in a library to compute square roots has
392 a purpose that is entirely well-defined independent of the
393 application. Therefore, Subsection 2d requires that any
394 application-supplied function or table used by this function must
395 be optional: if the application does not supply it, the square
396 root function must still compute square roots.)
397 </p></li></ol>
398
399 <p>These requirements apply to the modified work as a whole. If
400 identifiable sections of that work are not derived from the Library,
401 and can be reasonably considered independent and separate works in
402 themselves, then this License, and its terms, do not apply to those
403 sections when you distribute them as separate works. But when you
404 distribute the same sections as part of a whole which is a work based
405 on the Library, the distribution of the whole must be on the terms of
406 this License, whose permissions for other licensees extend to the
407 entire whole, and thus to each and every part regardless of who wrote
408 it.
409 </p>
410 <p>Thus, it is not the intent of this section to claim rights or contest
411 your rights to work written entirely by you; rather, the intent is to
412 exercise the right to control the distribution of derivative or
413 collective works based on the Library.
414 </p>
415 <p>In addition, mere aggregation of another work not based on the Library
416 with the Library (or with a work based on the Library) on a volume of
417 a storage or distribution medium does not bring the other work under
418 the scope of this License.
419 </p>
420 </li><li>
421 You may opt to apply the terms of the ordinary GNU General Public
422 License instead of this License to a given copy of the Library. To do
423 this, you must alter all the notices that refer to this License, so
424 that they refer to the ordinary GNU General Public License, version 2,
425 instead of to this License. (If a newer version than version 2 of the
426 ordinary GNU General Public License has appeared, then you can specify
427 that version instead if you wish.) Do not make any other change in
428 these notices.
429
430 <p> Once this change is made in a given copy, it is irreversible for
431 that copy, so the ordinary GNU General Public License applies to all
432 subsequent copies and derivative works made from that copy.
433 </p>
434 <p> This option is useful when you wish to copy part of the code of
435 the Library into a program that is not a library.
436 </p>
437 </li><li>
438 You may copy and distribute the Library (or a portion or
439 derivative of it, under Section 2) in object code or executable form
440 under the terms of Sections 1 and 2 above provided that you accompany
441 it with the complete corresponding machine-readable source code, which
442 must be distributed under the terms of Sections 1 and 2 above on a
443 medium customarily used for software interchange.
444
445 <p> If distribution of object code is made by offering access to copy
446 from a designated place, then offering equivalent access to copy the
447 source code from the same place satisfies the requirement to
448 distribute the source code, even though third parties are not
449 compelled to copy the source along with the object code.
450 </p>
451 </li><li>
452 A program that contains no derivative of any portion of the
453 Library, but is designed to work with the Library by being compiled or
454 linked with it, is called a &ldquo;work that uses the Library&rdquo;. Such a
455 work, in isolation, is not a derivative work of the Library, and
456 therefore falls outside the scope of this License.
457
458 <p> However, linking a &ldquo;work that uses the Library&rdquo; with the Library
459 creates an executable that is a derivative of the Library (because it
460 contains portions of the Library), rather than a &ldquo;work that uses the
461 library&rdquo;. The executable is therefore covered by this License.
462 Section 6 states terms for distribution of such executables.
463 </p>
464 <p> When a &ldquo;work that uses the Library&rdquo; uses material from a header file
465 that is part of the Library, the object code for the work may be a
466 derivative work of the Library even though the source code is not.
467 Whether this is true is especially significant if the work can be
468 linked without the Library, or if the work is itself a library. The
469 threshold for this to be true is not precisely defined by law.
470 </p>
471 <p> If such an object file uses only numerical parameters, data
472 structure layouts and accessors, and small macros and small inline
473 functions (ten lines or less in length), then the use of the object
474 file is unrestricted, regardless of whether it is legally a derivative
475 work. (Executables containing this object code plus portions of the
476 Library will still fall under Section 6.)
477 </p>
478 <p> Otherwise, if the work is a derivative of the Library, you may
479 distribute the object code for the work under the terms of Section 6.
480 Any executables containing that work also fall under Section 6,
481 whether or not they are linked directly with the Library itself.
482 </p>
483 </li><li>
484 As an exception to the Sections above, you may also combine or
485 link a &ldquo;work that uses the Library&rdquo; with the Library to produce a
486 work containing portions of the Library, and distribute that work
487 under terms of your choice, provided that the terms permit
488 modification of the work for the customer's own use and reverse
489 engineering for debugging such modifications.
490
491 <p> You must give prominent notice with each copy of the work that the
492 Library is used in it and that the Library and its use are covered by
493 this License. You must supply a copy of this License. If the work
494 during execution displays copyright notices, you must include the
495 copyright notice for the Library among them, as well as a reference
496 directing the user to the copy of this License. Also, you must do one
497 of these things:
498 </p>
499 <ol>
500 <li>
501 Accompany the work with the complete corresponding
502 machine-readable source code for the Library including whatever
503 changes were used in the work (which must be distributed under
504 Sections 1 and 2 above); and, if the work is an executable linked
505 with the Library, with the complete machine-readable &ldquo;work that
506 uses the Library&rdquo;, as object code and/or source code, so that the
507 user can modify the Library and then relink to produce a modified
508 executable containing the modified Library. (It is understood
509 that the user who changes the contents of definitions files in the
510 Library will not necessarily be able to recompile the application
511 to use the modified definitions.)
512
513 </li><li>
514 Use a suitable shared library mechanism for linking with the Library. A
515 suitable mechanism is one that (1) uses at run time a copy of the
516 library already present on the user's computer system, rather than
517 copying library functions into the executable, and (2) will operate
518 properly with a modified version of the library, if the user installs
519 one, as long as the modified version is interface-compatible with the
520 version that the work was made with.
521
522 </li><li>
523 Accompany the work with a written offer, valid for at
524 least three years, to give the same user the materials
525 specified in Subsection 6a, above, for a charge no more
526 than the cost of performing this distribution.
527
528 </li><li>
529 If distribution of the work is made by offering access to copy
530 from a designated place, offer equivalent access to copy the above
531 specified materials from the same place.
532
533 </li><li>
534 Verify that the user has already received a copy of these
535 materials or that you have already sent this user a copy.
536 </li></ol>
537
538 <p> For an executable, the required form of the &ldquo;work that uses the
539 Library&rdquo; must include any data and utility programs needed for
540 reproducing the executable from it. However, as a special exception,
541 the materials to be distributed need not include anything that is
542 normally distributed (in either source or binary form) with the major
543 components (compiler, kernel, and so on) of the operating system on
544 which the executable runs, unless that component itself accompanies the
545 executable.
546 </p>
547 <p> It may happen that this requirement contradicts the license
548 restrictions of other proprietary libraries that do not normally
549 accompany the operating system. Such a contradiction means you cannot
550 use both them and the Library together in an executable that you
551 distribute.
552 </p>
553 </li><li>
554 You may place library facilities that are a work based on the
555 Library side-by-side in a single library together with other library
556 facilities not covered by this License, and distribute such a combined
557 library, provided that the separate distribution of the work based on
558 the Library and of the other library facilities is otherwise
559 permitted, and provided that you do these two things:
560
561 <ol>
562 <li>
563 Accompany the combined library with a copy of the same work
564 based on the Library, uncombined with any other library
565 facilities. This must be distributed under the terms of the
566 Sections above.
567
568 </li><li>
569 Give prominent notice with the combined library of the fact
570 that part of it is a work based on the Library, and explaining
571 where to find the accompanying uncombined form of the same work.
572 </li></ol>
573
574 </li><li>
575 You may not copy, modify, sublicense, link with, or distribute
576 the Library except as expressly provided under this License. Any
577 attempt otherwise to copy, modify, sublicense, link with, or
578 distribute the Library is void, and will automatically terminate your
579 rights under this License. However, parties who have received copies,
580 or rights, from you under this License will not have their licenses
581 terminated so long as such parties remain in full compliance.
582
583 </li><li>
584 You are not required to accept this License, since you have not
585 signed it. However, nothing else grants you permission to modify or
586 distribute the Library or its derivative works. These actions are
587 prohibited by law if you do not accept this License. Therefore, by
588 modifying or distributing the Library (or any work based on the
589 Library), you indicate your acceptance of this License to do so, and
590 all its terms and conditions for copying, distributing or modifying
591 the Library or works based on it.
592
593 </li><li>
594 Each time you redistribute the Library (or any work based on the
595 Library), the recipient automatically receives a license from the
596 original licensor to copy, distribute, link with or modify the Library
597 subject to these terms and conditions. You may not impose any further
598 restrictions on the recipients' exercise of the rights granted herein.
599 You are not responsible for enforcing compliance by third parties with
600 this License.
601
602 </li><li>
603 If, as a consequence of a court judgment or allegation of patent
604 infringement or for any other reason (not limited to patent issues),
605 conditions are imposed on you (whether by court order, agreement or
606 otherwise) that contradict the conditions of this License, they do not
607 excuse you from the conditions of this License. If you cannot
608 distribute so as to satisfy simultaneously your obligations under this
609 License and any other pertinent obligations, then as a consequence you
610 may not distribute the Library at all. For example, if a patent
611 license would not permit royalty-free redistribution of the Library by
612 all those who receive copies directly or indirectly through you, then
613 the only way you could satisfy both it and this License would be to
614 refrain entirely from distribution of the Library.
615
616 <p>If any portion of this section is held invalid or unenforceable under any
617 particular circumstance, the balance of the section is intended to apply,
618 and the section as a whole is intended to apply in other circumstances.
619 </p>
620 <p>It is not the purpose of this section to induce you to infringe any
621 patents or other property right claims or to contest validity of any
622 such claims; this section has the sole purpose of protecting the
623 integrity of the free software distribution system which is
624 implemented by public license practices. Many people have made
625 generous contributions to the wide range of software distributed
626 through that system in reliance on consistent application of that
627 system; it is up to the author/donor to decide if he or she is willing
628 to distribute software through any other system and a licensee cannot
629 impose that choice.
630 </p>
631 <p>This section is intended to make thoroughly clear what is believed to
632 be a consequence of the rest of this License.
633 </p>
634 </li><li>
635 If the distribution and/or use of the Library is restricted in
636 certain countries either by patents or by copyrighted interfaces, the
637 original copyright holder who places the Library under this License may add
638 an explicit geographical distribution limitation excluding those countries,
639 so that distribution is permitted only in or among countries not thus
640 excluded. In such case, this License incorporates the limitation as if
641 written in the body of this License.
642
643 </li><li>
644 The Free Software Foundation may publish revised and/or new
645 versions of the Lesser General Public License from time to time.
646 Such new versions will be similar in spirit to the present version,
647 but may differ in detail to address new problems or concerns.
648
649 <p>Each version is given a distinguishing version number. If the Library
650 specifies a version number of this License which applies to it and
651 &ldquo;any later version&rdquo;, you have the option of following the terms and
652 conditions either of that version or of any later version published by
653 the Free Software Foundation. If the Library does not specify a
654 license version number, you may choose any version ever published by
655 the Free Software Foundation.
656 </p>
657 </li><li>
658 If you wish to incorporate parts of the Library into other free
659 programs whose distribution conditions are incompatible with these,
660 write to the author to ask for permission. For software which is
661 copyrighted by the Free Software Foundation, write to the Free
662 Software Foundation; we sometimes make exceptions for this. Our
663 decision will be guided by the two goals of preserving the free status
664 of all derivatives of our free software and of promoting the sharing
665 and reuse of software generally.
666
667 <p align="center"> <b>NO WARRANTY</b>
668 </p>
669 </li><li>
670 BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
671 WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
672 EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
673 OTHER PARTIES PROVIDE THE LIBRARY &ldquo;AS IS&rdquo; WITHOUT WARRANTY OF ANY
674 KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
675 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
676 PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
677 LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
678 THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
679
680 </li><li>
681 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
682 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
683 AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
684 FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
685 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
686 LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
687 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
688 FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
689 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
690 DAMAGES.
691 </li></ol>
692
693 <a name="SEC8"></a>
694 <h3 class="subheading"> END OF TERMS AND CONDITIONS </h3>
695
696
697 <a name="SEC9"></a>
698 <h3 class="subheading"> How to Apply These Terms to Your New Libraries </h3>
699
700 <p> If you develop a new library, and you want it to be of the greatest
701 possible use to the public, we recommend making it free software that
702 everyone can redistribute and change. You can do so by permitting
703 redistribution under these terms (or, alternatively, under the terms of the
704 ordinary General Public License).
705 </p>
706 <p> To apply these terms, attach the following notices to the library. It is
707 safest to attach them to the start of each source file to most effectively
708 convey the exclusion of warranty; and each file should have at least the
709 &ldquo;copyright&rdquo; line and a pointer to where the full notice is found.
710 </p>
711 <table><tr><td>&nbsp;</td><td><pre class="smallexample"><var>one line to give the library's name and an idea of what it does.</var>
712 Copyright (C) <var>year</var> <var>name of author</var>
713
714 This library is free software; you can redistribute it and/or modify it
715 under the terms of the GNU Lesser General Public License as published by
716 the Free Software Foundation; either version 2.1 of the License, or (at
717 your option) any later version.
718
719 This library is distributed in the hope that it will be useful, but
720 WITHOUT ANY WARRANTY; without even the implied warranty of
721 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
722 Lesser General Public License for more details.
723
724 You should have received a copy of the GNU Lesser General Public
725 License along with this library; if not, write to the Free Software
726 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
727 USA.
728 </pre></td></tr></table>
729
730 <p>Also add information on how to contact you by electronic and paper mail.
731 </p>
732 <p>You should also get your employer (if you work as a programmer) or your
733 school, if any, to sign a &ldquo;copyright disclaimer&rdquo; for the library, if
734 necessary. Here is a sample; alter the names:
735 </p>
736 <table><tr><td>&nbsp;</td><td><pre class="smallexample">Yoyodyne, Inc., hereby disclaims all copyright interest in the library
737 `Frob' (a library for tweaking knobs) written by James Random Hacker.
738
739 <var>signature of Ty Coon</var>, 1 April 1990
740 Ty Coon, President of Vice
741 </pre></td></tr></table>
742
743 <p>That's all there is to it!
744
745 </p>
746 <a name="GNU-GPL"></a>
747 <a name="SEC10"></a>
748 <h2 class="appendixsec"> <a href="#TOC6">A.2 GNU GENERAL PUBLIC LICENSE</a> </h2>
749 <p align="center"> Version 2, June 1991
750 </p>
751
752 <table><tr><td>&nbsp;</td><td><pre class="display">Copyright &copy; 1989, 1991 Free Software Foundation, Inc.
753 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
754
755 Everyone is permitted to copy and distribute verbatim copies
756 of this license document, but changing it is not allowed.
757 </pre></td></tr></table>
758
759 <a name="SEC11"></a>
760 <h2 class="heading"> Preamble </h2>
761
762 <p> The licenses for most software are designed to take away your
763 freedom to share and change it. By contrast, the GNU General Public
764 License is intended to guarantee your freedom to share and change free
765 software&mdash;to make sure the software is free for all its users. This
766 General Public License applies to most of the Free Software
767 Foundation's software and to any other program whose authors commit to
768 using it. (Some other Free Software Foundation software is covered by
769 the GNU Lesser General Public License instead.) You can apply it to
770 your programs, too.
771 </p>
772 <p> When we speak of free software, we are referring to freedom, not
773 price. Our General Public Licenses are designed to make sure that you
774 have the freedom to distribute copies of free software (and charge for
775 this service if you wish), that you receive source code or can get it
776 if you want it, that you can change the software or use pieces of it
777 in new free programs; and that you know you can do these things.
778 </p>
779 <p> To protect your rights, we need to make restrictions that forbid
780 anyone to deny you these rights or to ask you to surrender the rights.
781 These restrictions translate to certain responsibilities for you if you
782 distribute copies of the software, or if you modify it.
783 </p>
784 <p> For example, if you distribute copies of such a program, whether
785 gratis or for a fee, you must give the recipients all the rights that
786 you have. You must make sure that they, too, receive or can get the
787 source code. And you must show them these terms so they know their
788 rights.
789 </p>
790 <p> We protect your rights with two steps: (1) copyright the software, and
791 (2) offer you this license which gives you legal permission to copy,
792 distribute and/or modify the software.
793 </p>
794 <p> Also, for each author's protection and ours, we want to make certain
795 that everyone understands that there is no warranty for this free
796 software. If the software is modified by someone else and passed on, we
797 want its recipients to know that what they have is not the original, so
798 that any problems introduced by others will not reflect on the original
799 authors' reputations.
800 </p>
801 <p> Finally, any free program is threatened constantly by software
802 patents. We wish to avoid the danger that redistributors of a free
803 program will individually obtain patent licenses, in effect making the
804 program proprietary. To prevent this, we have made it clear that any
805 patent must be licensed for everyone's free use or not licensed at all.
806 </p>
807 <p> The precise terms and conditions for copying, distribution and
808 modification follow.
809 </p>
810 <a name="SEC12"></a>
811 <h2 class="heading"> TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION </h2>
812
813 <ol>
814 <li>
815 This License applies to any program or other work which contains
816 a notice placed by the copyright holder saying it may be distributed
817 under the terms of this General Public License. The &ldquo;Program&rdquo;, below,
818 refers to any such program or work, and a &ldquo;work based on the Program&rdquo;
819 means either the Program or any derivative work under copyright law:
820 that is to say, a work containing the Program or a portion of it,
821 either verbatim or with modifications and/or translated into another
822 language. (Hereinafter, translation is included without limitation in
823 the term &ldquo;modification&rdquo;.) Each licensee is addressed as &ldquo;you&rdquo;.
824
825 <p>Activities other than copying, distribution and modification are not
826 covered by this License; they are outside its scope. The act of
827 running the Program is not restricted, and the output from the Program
828 is covered only if its contents constitute a work based on the
829 Program (independent of having been made by running the Program).
830 Whether that is true depends on what the Program does.
831 </p>
832 </li><li>
833 You may copy and distribute verbatim copies of the Program's
834 source code as you receive it, in any medium, provided that you
835 conspicuously and appropriately publish on each copy an appropriate
836 copyright notice and disclaimer of warranty; keep intact all the
837 notices that refer to this License and to the absence of any warranty;
838 and give any other recipients of the Program a copy of this License
839 along with the Program.
840
841 <p>You may charge a fee for the physical act of transferring a copy, and
842 you may at your option offer warranty protection in exchange for a fee.
843 </p>
844 </li><li>
845 You may modify your copy or copies of the Program or any portion
846 of it, thus forming a work based on the Program, and copy and
847 distribute such modifications or work under the terms of Section 1
848 above, provided that you also meet all of these conditions:
849
850 <ol>
851 <li>
852 You must cause the modified files to carry prominent notices
853 stating that you changed the files and the date of any change.
854
855 </li><li>
856 You must cause any work that you distribute or publish, that in
857 whole or in part contains or is derived from the Program or any
858 part thereof, to be licensed as a whole at no charge to all third
859 parties under the terms of this License.
860
861 </li><li>
862 If the modified program normally reads commands interactively
863 when run, you must cause it, when started running for such
864 interactive use in the most ordinary way, to print or display an
865 announcement including an appropriate copyright notice and a
866 notice that there is no warranty (or else, saying that you provide
867 a warranty) and that users may redistribute the program under
868 these conditions, and telling the user how to view a copy of this
869 License. (Exception: if the Program itself is interactive but
870 does not normally print such an announcement, your work based on
871 the Program is not required to print an announcement.)
872 </li></ol>
873
874 <p>These requirements apply to the modified work as a whole. If
875 identifiable sections of that work are not derived from the Program,
876 and can be reasonably considered independent and separate works in
877 themselves, then this License, and its terms, do not apply to those
878 sections when you distribute them as separate works. But when you
879 distribute the same sections as part of a whole which is a work based
880 on the Program, the distribution of the whole must be on the terms of
881 this License, whose permissions for other licensees extend to the
882 entire whole, and thus to each and every part regardless of who wrote it.
883 </p>
884 <p>Thus, it is not the intent of this section to claim rights or contest
885 your rights to work written entirely by you; rather, the intent is to
886 exercise the right to control the distribution of derivative or
887 collective works based on the Program.
888 </p>
889 <p>In addition, mere aggregation of another work not based on the Program
890 with the Program (or with a work based on the Program) on a volume of
891 a storage or distribution medium does not bring the other work under
892 the scope of this License.
893 </p>
894 </li><li>
895 You may copy and distribute the Program (or a work based on it,
896 under Section 2) in object code or executable form under the terms of
897 Sections 1 and 2 above provided that you also do one of the following:
898
899 <ol>
900 <li>
901 Accompany it with the complete corresponding machine-readable
902 source code, which must be distributed under the terms of Sections
903 1 and 2 above on a medium customarily used for software interchange; or,
904
905 </li><li>
906 Accompany it with a written offer, valid for at least three
907 years, to give any third party, for a charge no more than your
908 cost of physically performing source distribution, a complete
909 machine-readable copy of the corresponding source code, to be
910 distributed under the terms of Sections 1 and 2 above on a medium
911 customarily used for software interchange; or,
912
913 </li><li>
914 Accompany it with the information you received as to the offer
915 to distribute corresponding source code. (This alternative is
916 allowed only for noncommercial distribution and only if you
917 received the program in object code or executable form with such
918 an offer, in accord with Subsection b above.)
919 </li></ol>
920
921 <p>The source code for a work means the preferred form of the work for
922 making modifications to it. For an executable work, complete source
923 code means all the source code for all modules it contains, plus any
924 associated interface definition files, plus the scripts used to
925 control compilation and installation of the executable. However, as a
926 special exception, the source code distributed need not include
927 anything that is normally distributed (in either source or binary
928 form) with the major components (compiler, kernel, and so on) of the
929 operating system on which the executable runs, unless that component
930 itself accompanies the executable.
931 </p>
932 <p>If distribution of executable or object code is made by offering
933 access to copy from a designated place, then offering equivalent
934 access to copy the source code from the same place counts as
935 distribution of the source code, even though third parties are not
936 compelled to copy the source along with the object code.
937 </p>
938 </li><li>
939 You may not copy, modify, sublicense, or distribute the Program
940 except as expressly provided under this License. Any attempt
941 otherwise to copy, modify, sublicense or distribute the Program is
942 void, and will automatically terminate your rights under this License.
943 However, parties who have received copies, or rights, from you under
944 this License will not have their licenses terminated so long as such
945 parties remain in full compliance.
946
947 </li><li>
948 You are not required to accept this License, since you have not
949 signed it. However, nothing else grants you permission to modify or
950 distribute the Program or its derivative works. These actions are
951 prohibited by law if you do not accept this License. Therefore, by
952 modifying or distributing the Program (or any work based on the
953 Program), you indicate your acceptance of this License to do so, and
954 all its terms and conditions for copying, distributing or modifying
955 the Program or works based on it.
956
957 </li><li>
958 Each time you redistribute the Program (or any work based on the
959 Program), the recipient automatically receives a license from the
960 original licensor to copy, distribute or modify the Program subject to
961 these terms and conditions. You may not impose any further
962 restrictions on the recipients' exercise of the rights granted herein.
963 You are not responsible for enforcing compliance by third parties to
964 this License.
965
966 </li><li>
967 If, as a consequence of a court judgment or allegation of patent
968 infringement or for any other reason (not limited to patent issues),
969 conditions are imposed on you (whether by court order, agreement or
970 otherwise) that contradict the conditions of this License, they do not
971 excuse you from the conditions of this License. If you cannot
972 distribute so as to satisfy simultaneously your obligations under this
973 License and any other pertinent obligations, then as a consequence you
974 may not distribute the Program at all. For example, if a patent
975 license would not permit royalty-free redistribution of the Program by
976 all those who receive copies directly or indirectly through you, then
977 the only way you could satisfy both it and this License would be to
978 refrain entirely from distribution of the Program.
979
980 <p>If any portion of this section is held invalid or unenforceable under
981 any particular circumstance, the balance of the section is intended to
982 apply and the section as a whole is intended to apply in other
983 circumstances.
984 </p>
985 <p>It is not the purpose of this section to induce you to infringe any
986 patents or other property right claims or to contest validity of any
987 such claims; this section has the sole purpose of protecting the
988 integrity of the free software distribution system, which is
989 implemented by public license practices. Many people have made
990 generous contributions to the wide range of software distributed
991 through that system in reliance on consistent application of that
992 system; it is up to the author/donor to decide if he or she is willing
993 to distribute software through any other system and a licensee cannot
994 impose that choice.
995 </p>
996 <p>This section is intended to make thoroughly clear what is believed to
997 be a consequence of the rest of this License.
998 </p>
999 </li><li>
1000 If the distribution and/or use of the Program is restricted in
1001 certain countries either by patents or by copyrighted interfaces, the
1002 original copyright holder who places the Program under this License
1003 may add an explicit geographical distribution limitation excluding
1004 those countries, so that distribution is permitted only in or among
1005 countries not thus excluded. In such case, this License incorporates
1006 the limitation as if written in the body of this License.
1007
1008 </li><li>
1009 The Free Software Foundation may publish revised and/or new versions
1010 of the General Public License from time to time. Such new versions will
1011 be similar in spirit to the present version, but may differ in detail to
1012 address new problems or concerns.
1013
1014 <p>Each version is given a distinguishing version number. If the Program
1015 specifies a version number of this License which applies to it and &ldquo;any
1016 later version&rdquo;, you have the option of following the terms and conditions
1017 either of that version or of any later version published by the Free
1018 Software Foundation. If the Program does not specify a version number of
1019 this License, you may choose any version ever published by the Free Software
1020 Foundation.
1021 </p>
1022 </li><li>
1023 If you wish to incorporate parts of the Program into other free
1024 programs whose distribution conditions are different, write to the author
1025 to ask for permission. For software which is copyrighted by the Free
1026 Software Foundation, write to the Free Software Foundation; we sometimes
1027 make exceptions for this. Our decision will be guided by the two goals
1028 of preserving the free status of all derivatives of our free software and
1029 of promoting the sharing and reuse of software generally.
1030
1031
1032 </li><li>
1033 BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
1034 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
1035 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
1036 PROVIDE THE PROGRAM &ldquo;AS IS&rdquo; WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
1037 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
1038 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
1039 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
1040 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
1041 REPAIR OR CORRECTION.
1042
1043 </li><li>
1044 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
1045 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
1046 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
1047 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
1048 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
1049 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
1050 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
1051 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
1052 POSSIBILITY OF SUCH DAMAGES.
1053 </li></ol>
1054
1055
1056
1057 <a name="SEC13"></a>
1058 <h2 class="heading"> Appendix: How to Apply These Terms to Your New Programs </h2>
1059
1060 <p> If you develop a new program, and you want it to be of the greatest
1061 possible use to the public, the best way to achieve this is to make it
1062 free software which everyone can redistribute and change under these terms.
1063 </p>
1064 <p> To do so, attach the following notices to the program. It is safest
1065 to attach them to the start of each source file to most effectively
1066 convey the exclusion of warranty; and each file should have at least
1067 the &ldquo;copyright&rdquo; line and a pointer to where the full notice is found.
1068 </p>
1069 <table><tr><td>&nbsp;</td><td><pre class="smallexample"><var>one line to give the program's name and a brief idea of what it does.</var>
1070 Copyright (C) <var>yyyy</var> <var>name of author</var>
1071
1072 This program is free software; you can redistribute it and/or modify
1073 it under the terms of the GNU General Public License as published by
1074 the Free Software Foundation; either version 2 of the License, or
1075 (at your option) any later version.
1076
1077 This program is distributed in the hope that it will be useful,
1078 but WITHOUT ANY WARRANTY; without even the implied warranty of
1079 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1080 GNU General Public License for more details.
1081
1082 You should have received a copy of the GNU General Public License
1083 along with this program; if not, write to the Free Software
1084 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
1085 </pre></td></tr></table>
1086
1087 <p>Also add information on how to contact you by electronic and paper mail.
1088 </p>
1089 <p>If the program is interactive, make it output a short notice like this
1090 when it starts in an interactive mode:
1091 </p>
1092 <table><tr><td>&nbsp;</td><td><pre class="smallexample">Gnomovision version 69, Copyright (C) <var>year</var> <var>name of author</var>
1093 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
1094 This is free software, and you are welcome to redistribute it
1095 under certain conditions; type `show c' for details.
1096 </pre></td></tr></table>
1097
1098 <p>The hypothetical commands &lsquo;<samp>show w</samp>&rsquo; and &lsquo;<samp>show c</samp>&rsquo; should show
1099 the appropriate parts of the General Public License. Of course, the
1100 commands you use may be called something other than &lsquo;<samp>show w</samp>&rsquo; and
1101 &lsquo;<samp>show c</samp>&rsquo;; they could even be mouse-clicks or menu items&mdash;whatever
1102 suits your program.
1103 </p>
1104 <p>You should also get your employer (if you work as a programmer) or your
1105 school, if any, to sign a &ldquo;copyright disclaimer&rdquo; for the program, if
1106 necessary. Here is a sample; alter the names:
1107 </p>
1108 <table><tr><td>&nbsp;</td><td><pre class="example">Yoyodyne, Inc., hereby disclaims all copyright interest in the program
1109 `Gnomovision' (which makes passes at compilers) written by James Hacker.
1110
1111 <var>signature of Ty Coon</var>, 1 April 1989
1112 Ty Coon, President of Vice
1113 </pre></td></tr></table>
1114
1115 <p>This General Public License does not permit incorporating your program into
1116 proprietary programs. If your program is a subroutine library, you may
1117 consider it more useful to permit linking proprietary applications with the
1118 library. If this is what you want to do, use the GNU Lesser General
1119 Public License instead of this License.
1120
1121 </p>
1122 <a name="GNU-FDL"></a>
1123 <a name="SEC14"></a>
1124 <h2 class="appendixsec"> <a href="#TOC7">A.3 GNU Free Documentation License</a> </h2>
1125 <p align="center"> Version 1.2, November 2002
1126 </p>
1127
1128 <table><tr><td>&nbsp;</td><td><pre class="display">Copyright &copy; 2000,2001,2002 Free Software Foundation, Inc.
1129 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
1130
1131 Everyone is permitted to copy and distribute verbatim copies
1132 of this license document, but changing it is not allowed.
1133 </pre></td></tr></table>
1134
1135 <ol>
1136 <li>
1137 PREAMBLE
1138
1139 <p>The purpose of this License is to make a manual, textbook, or other
1140 functional and useful document <em>free</em> in the sense of freedom: to
1141 assure everyone the effective freedom to copy and redistribute it,
1142 with or without modifying it, either commercially or noncommercially.
1143 Secondarily, this License preserves for the author and publisher a way
1144 to get credit for their work, while not being considered responsible
1145 for modifications made by others.
1146 </p>
1147 <p>This License is a kind of &ldquo;copyleft&rdquo;, which means that derivative
1148 works of the document must themselves be free in the same sense. It
1149 complements the GNU General Public License, which is a copyleft
1150 license designed for free software.
1151 </p>
1152 <p>We have designed this License in order to use it for manuals for free
1153 software, because free software needs free documentation: a free
1154 program should come with manuals providing the same freedoms that the
1155 software does. But this License is not limited to software manuals;
1156 it can be used for any textual work, regardless of subject matter or
1157 whether it is published as a printed book. We recommend this License
1158 principally for works whose purpose is instruction or reference.
1159 </p>
1160 </li><li>
1161 APPLICABILITY AND DEFINITIONS
1162
1163 <p>This License applies to any manual or other work, in any medium, that
1164 contains a notice placed by the copyright holder saying it can be
1165 distributed under the terms of this License. Such a notice grants a
1166 world-wide, royalty-free license, unlimited in duration, to use that
1167 work under the conditions stated herein. The &ldquo;Document&rdquo;, below,
1168 refers to any such manual or work. Any member of the public is a
1169 licensee, and is addressed as &ldquo;you&rdquo;. You accept the license if you
1170 copy, modify or distribute the work in a way requiring permission
1171 under copyright law.
1172 </p>
1173 <p>A &ldquo;Modified Version&rdquo; of the Document means any work containing the
1174 Document or a portion of it, either copied verbatim, or with
1175 modifications and/or translated into another language.
1176 </p>
1177 <p>A &ldquo;Secondary Section&rdquo; is a named appendix or a front-matter section
1178 of the Document that deals exclusively with the relationship of the
1179 publishers or authors of the Document to the Document's overall
1180 subject (or to related matters) and contains nothing that could fall
1181 directly within that overall subject. (Thus, if the Document is in
1182 part a textbook of mathematics, a Secondary Section may not explain
1183 any mathematics.) The relationship could be a matter of historical
1184 connection with the subject or with related matters, or of legal,
1185 commercial, philosophical, ethical or political position regarding
1186 them.
1187 </p>
1188 <p>The &ldquo;Invariant Sections&rdquo; are certain Secondary Sections whose titles
1189 are designated, as being those of Invariant Sections, in the notice
1190 that says that the Document is released under this License. If a
1191 section does not fit the above definition of Secondary then it is not
1192 allowed to be designated as Invariant. The Document may contain zero
1193 Invariant Sections. If the Document does not identify any Invariant
1194 Sections then there are none.
1195 </p>
1196 <p>The &ldquo;Cover Texts&rdquo; are certain short passages of text that are listed,
1197 as Front-Cover Texts or Back-Cover Texts, in the notice that says that
1198 the Document is released under this License. A Front-Cover Text may
1199 be at most 5 words, and a Back-Cover Text may be at most 25 words.
1200 </p>
1201 <p>A &ldquo;Transparent&rdquo; copy of the Document means a machine-readable copy,
1202 represented in a format whose specification is available to the
1203 general public, that is suitable for revising the document
1204 straightforwardly with generic text editors or (for images composed of
1205 pixels) generic paint programs or (for drawings) some widely available
1206 drawing editor, and that is suitable for input to text formatters or
1207 for automatic translation to a variety of formats suitable for input
1208 to text formatters. A copy made in an otherwise Transparent file
1209 format whose markup, or absence of markup, has been arranged to thwart
1210 or discourage subsequent modification by readers is not Transparent.
1211 An image format is not Transparent if used for any substantial amount
1212 of text. A copy that is not &ldquo;Transparent&rdquo; is called &ldquo;Opaque&rdquo;.
1213 </p>
1214 <p>Examples of suitable formats for Transparent copies include plain
1215 <small>ASCII</small> without markup, Texinfo input format, LaTeX input
1216 format, <acronym>SGML</acronym> or <acronym>XML</acronym> using a publicly available
1217 <acronym>DTD</acronym>, and standard-conforming simple <acronym>HTML</acronym>,
1218 PostScript or <acronym>PDF</acronym> designed for human modification. Examples
1219 of transparent image formats include <acronym>PNG</acronym>, <acronym>XCF</acronym> and
1220 <acronym>JPG</acronym>. Opaque formats include proprietary formats that can be
1221 read and edited only by proprietary word processors, <acronym>SGML</acronym> or
1222 <acronym>XML</acronym> for which the <acronym>DTD</acronym> and/or processing tools are
1223 not generally available, and the machine-generated <acronym>HTML</acronym>,
1224 PostScript or <acronym>PDF</acronym> produced by some word processors for
1225 output purposes only.
1226 </p>
1227 <p>The &ldquo;Title Page&rdquo; means, for a printed book, the title page itself,
1228 plus such following pages as are needed to hold, legibly, the material
1229 this License requires to appear in the title page. For works in
1230 formats which do not have any title page as such, &ldquo;Title Page&rdquo; means
1231 the text near the most prominent appearance of the work's title,
1232 preceding the beginning of the body of the text.
1233 </p>
1234 <p>A section &ldquo;Entitled XYZ&rdquo; means a named subunit of the Document whose
1235 title either is precisely XYZ or contains XYZ in parentheses following
1236 text that translates XYZ in another language. (Here XYZ stands for a
1237 specific section name mentioned below, such as &ldquo;Acknowledgements&rdquo;,
1238 &ldquo;Dedications&rdquo;, &ldquo;Endorsements&rdquo;, or &ldquo;History&rdquo;.) To &ldquo;Preserve the Title&rdquo;
1239 of such a section when you modify the Document means that it remains a
1240 section &ldquo;Entitled XYZ&rdquo; according to this definition.
1241 </p>
1242 <p>The Document may include Warranty Disclaimers next to the notice which
1243 states that this License applies to the Document. These Warranty
1244 Disclaimers are considered to be included by reference in this
1245 License, but only as regards disclaiming warranties: any other
1246 implication that these Warranty Disclaimers may have is void and has
1247 no effect on the meaning of this License.
1248 </p>
1249 </li><li>
1250 VERBATIM COPYING
1251
1252 <p>You may copy and distribute the Document in any medium, either
1253 commercially or noncommercially, provided that this License, the
1254 copyright notices, and the license notice saying this License applies
1255 to the Document are reproduced in all copies, and that you add no other
1256 conditions whatsoever to those of this License. You may not use
1257 technical measures to obstruct or control the reading or further
1258 copying of the copies you make or distribute. However, you may accept
1259 compensation in exchange for copies. If you distribute a large enough
1260 number of copies you must also follow the conditions in section 3.
1261 </p>
1262 <p>You may also lend copies, under the same conditions stated above, and
1263 you may publicly display copies.
1264 </p>
1265 </li><li>
1266 COPYING IN QUANTITY
1267
1268 <p>If you publish printed copies (or copies in media that commonly have
1269 printed covers) of the Document, numbering more than 100, and the
1270 Document's license notice requires Cover Texts, you must enclose the
1271 copies in covers that carry, clearly and legibly, all these Cover
1272 Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
1273 the back cover. Both covers must also clearly and legibly identify
1274 you as the publisher of these copies. The front cover must present
1275 the full title with all words of the title equally prominent and
1276 visible. You may add other material on the covers in addition.
1277 Copying with changes limited to the covers, as long as they preserve
1278 the title of the Document and satisfy these conditions, can be treated
1279 as verbatim copying in other respects.
1280 </p>
1281 <p>If the required texts for either cover are too voluminous to fit
1282 legibly, you should put the first ones listed (as many as fit
1283 reasonably) on the actual cover, and continue the rest onto adjacent
1284 pages.
1285 </p>
1286 <p>If you publish or distribute Opaque copies of the Document numbering
1287 more than 100, you must either include a machine-readable Transparent
1288 copy along with each Opaque copy, or state in or with each Opaque copy
1289 a computer-network location from which the general network-using
1290 public has access to download using public-standard network protocols
1291 a complete Transparent copy of the Document, free of added material.
1292 If you use the latter option, you must take reasonably prudent steps,
1293 when you begin distribution of Opaque copies in quantity, to ensure
1294 that this Transparent copy will remain thus accessible at the stated
1295 location until at least one year after the last time you distribute an
1296 Opaque copy (directly or through your agents or retailers) of that
1297 edition to the public.
1298 </p>
1299 <p>It is requested, but not required, that you contact the authors of the
1300 Document well before redistributing any large number of copies, to give
1301 them a chance to provide you with an updated version of the Document.
1302 </p>
1303 </li><li>
1304 MODIFICATIONS
1305
1306 <p>You may copy and distribute a Modified Version of the Document under
1307 the conditions of sections 2 and 3 above, provided that you release
1308 the Modified Version under precisely this License, with the Modified
1309 Version filling the role of the Document, thus licensing distribution
1310 and modification of the Modified Version to whoever possesses a copy
1311 of it. In addition, you must do these things in the Modified Version:
1312 </p>
1313 <ol>
1314 <li>
1315 Use in the Title Page (and on the covers, if any) a title distinct
1316 from that of the Document, and from those of previous versions
1317 (which should, if there were any, be listed in the History section
1318 of the Document). You may use the same title as a previous version
1319 if the original publisher of that version gives permission.
1320
1321 </li><li>
1322 List on the Title Page, as authors, one or more persons or entities
1323 responsible for authorship of the modifications in the Modified
1324 Version, together with at least five of the principal authors of the
1325 Document (all of its principal authors, if it has fewer than five),
1326 unless they release you from this requirement.
1327
1328 </li><li>
1329 State on the Title page the name of the publisher of the
1330 Modified Version, as the publisher.
1331
1332 </li><li>
1333 Preserve all the copyright notices of the Document.
1334
1335 </li><li>
1336 Add an appropriate copyright notice for your modifications
1337 adjacent to the other copyright notices.
1338
1339 </li><li>
1340 Include, immediately after the copyright notices, a license notice
1341 giving the public permission to use the Modified Version under the
1342 terms of this License, in the form shown in the Addendum below.
1343
1344 </li><li>
1345 Preserve in that license notice the full lists of Invariant Sections
1346 and required Cover Texts given in the Document's license notice.
1347
1348 </li><li>
1349 Include an unaltered copy of this License.
1350
1351 </li><li>
1352 Preserve the section Entitled &ldquo;History&rdquo;, Preserve its Title, and add
1353 to it an item stating at least the title, year, new authors, and
1354 publisher of the Modified Version as given on the Title Page. If
1355 there is no section Entitled &ldquo;History&rdquo; in the Document, create one
1356 stating the title, year, authors, and publisher of the Document as
1357 given on its Title Page, then add an item describing the Modified
1358 Version as stated in the previous sentence.
1359
1360 </li><li>
1361 Preserve the network location, if any, given in the Document for
1362 public access to a Transparent copy of the Document, and likewise
1363 the network locations given in the Document for previous versions
1364 it was based on. These may be placed in the &ldquo;History&rdquo; section.
1365 You may omit a network location for a work that was published at
1366 least four years before the Document itself, or if the original
1367 publisher of the version it refers to gives permission.
1368
1369 </li><li>
1370 For any section Entitled &ldquo;Acknowledgements&rdquo; or &ldquo;Dedications&rdquo;, Preserve
1371 the Title of the section, and preserve in the section all the
1372 substance and tone of each of the contributor acknowledgements and/or
1373 dedications given therein.
1374
1375 </li><li>
1376 Preserve all the Invariant Sections of the Document,
1377 unaltered in their text and in their titles. Section numbers
1378 or the equivalent are not considered part of the section titles.
1379
1380 </li><li>
1381 Delete any section Entitled &ldquo;Endorsements&rdquo;. Such a section
1382 may not be included in the Modified Version.
1383
1384 </li><li>
1385 Do not retitle any existing section to be Entitled &ldquo;Endorsements&rdquo; or
1386 to conflict in title with any Invariant Section.
1387
1388 </li><li>
1389 Preserve any Warranty Disclaimers.
1390 </li></ol>
1391
1392 <p>If the Modified Version includes new front-matter sections or
1393 appendices that qualify as Secondary Sections and contain no material
1394 copied from the Document, you may at your option designate some or all
1395 of these sections as invariant. To do this, add their titles to the
1396 list of Invariant Sections in the Modified Version's license notice.
1397 These titles must be distinct from any other section titles.
1398 </p>
1399 <p>You may add a section Entitled &ldquo;Endorsements&rdquo;, provided it contains
1400 nothing but endorsements of your Modified Version by various
1401 parties&mdash;for example, statements of peer review or that the text has
1402 been approved by an organization as the authoritative definition of a
1403 standard.
1404 </p>
1405 <p>You may add a passage of up to five words as a Front-Cover Text, and a
1406 passage of up to 25 words as a Back-Cover Text, to the end of the list
1407 of Cover Texts in the Modified Version. Only one passage of
1408 Front-Cover Text and one of Back-Cover Text may be added by (or
1409 through arrangements made by) any one entity. If the Document already
1410 includes a cover text for the same cover, previously added by you or
1411 by arrangement made by the same entity you are acting on behalf of,
1412 you may not add another; but you may replace the old one, on explicit
1413 permission from the previous publisher that added the old one.
1414 </p>
1415 <p>The author(s) and publisher(s) of the Document do not by this License
1416 give permission to use their names for publicity for or to assert or
1417 imply endorsement of any Modified Version.
1418 </p>
1419 </li><li>
1420 COMBINING DOCUMENTS
1421
1422 <p>You may combine the Document with other documents released under this
1423 License, under the terms defined in section 4 above for modified
1424 versions, provided that you include in the combination all of the
1425 Invariant Sections of all of the original documents, unmodified, and
1426 list them all as Invariant Sections of your combined work in its
1427 license notice, and that you preserve all their Warranty Disclaimers.
1428 </p>
1429 <p>The combined work need only contain one copy of this License, and
1430 multiple identical Invariant Sections may be replaced with a single
1431 copy. If there are multiple Invariant Sections with the same name but
1432 different contents, make the title of each such section unique by
1433 adding at the end of it, in parentheses, the name of the original
1434 author or publisher of that section if known, or else a unique number.
1435 Make the same adjustment to the section titles in the list of
1436 Invariant Sections in the license notice of the combined work.
1437 </p>
1438 <p>In the combination, you must combine any sections Entitled &ldquo;History&rdquo;
1439 in the various original documents, forming one section Entitled
1440 &ldquo;History&rdquo;; likewise combine any sections Entitled &ldquo;Acknowledgements&rdquo;,
1441 and any sections Entitled &ldquo;Dedications&rdquo;. You must delete all
1442 sections Entitled &ldquo;Endorsements.&rdquo;
1443 </p>
1444 </li><li>
1445 COLLECTIONS OF DOCUMENTS
1446
1447 <p>You may make a collection consisting of the Document and other documents
1448 released under this License, and replace the individual copies of this
1449 License in the various documents with a single copy that is included in
1450 the collection, provided that you follow the rules of this License for
1451 verbatim copying of each of the documents in all other respects.
1452 </p>
1453 <p>You may extract a single document from such a collection, and distribute
1454 it individually under this License, provided you insert a copy of this
1455 License into the extracted document, and follow this License in all
1456 other respects regarding verbatim copying of that document.
1457 </p>
1458 </li><li>
1459 AGGREGATION WITH INDEPENDENT WORKS
1460
1461 <p>A compilation of the Document or its derivatives with other separate
1462 and independent documents or works, in or on a volume of a storage or
1463 distribution medium, is called an &ldquo;aggregate&rdquo; if the copyright
1464 resulting from the compilation is not used to limit the legal rights
1465 of the compilation's users beyond what the individual works permit.
1466 When the Document is included in an aggregate, this License does not
1467 apply to the other works in the aggregate which are not themselves
1468 derivative works of the Document.
1469 </p>
1470 <p>If the Cover Text requirement of section 3 is applicable to these
1471 copies of the Document, then if the Document is less than one half of
1472 the entire aggregate, the Document's Cover Texts may be placed on
1473 covers that bracket the Document within the aggregate, or the
1474 electronic equivalent of covers if the Document is in electronic form.
1475 Otherwise they must appear on printed covers that bracket the whole
1476 aggregate.
1477 </p>
1478 </li><li>
1479 TRANSLATION
1480
1481 <p>Translation is considered a kind of modification, so you may
1482 distribute translations of the Document under the terms of section 4.
1483 Replacing Invariant Sections with translations requires special
1484 permission from their copyright holders, but you may include
1485 translations of some or all Invariant Sections in addition to the
1486 original versions of these Invariant Sections. You may include a
1487 translation of this License, and all the license notices in the
1488 Document, and any Warranty Disclaimers, provided that you also include
1489 the original English version of this License and the original versions
1490 of those notices and disclaimers. In case of a disagreement between
1491 the translation and the original version of this License or a notice
1492 or disclaimer, the original version will prevail.
1493 </p>
1494 <p>If a section in the Document is Entitled &ldquo;Acknowledgements&rdquo;,
1495 &ldquo;Dedications&rdquo;, or &ldquo;History&rdquo;, the requirement (section 4) to Preserve
1496 its Title (section 1) will typically require changing the actual
1497 title.
1498 </p>
1499 </li><li>
1500 TERMINATION
1501
1502 <p>You may not copy, modify, sublicense, or distribute the Document except
1503 as expressly provided for under this License. Any other attempt to
1504 copy, modify, sublicense or distribute the Document is void, and will
1505 automatically terminate your rights under this License. However,
1506 parties who have received copies, or rights, from you under this
1507 License will not have their licenses terminated so long as such
1508 parties remain in full compliance.
1509 </p>
1510 </li><li>
1511 FUTURE REVISIONS OF THIS LICENSE
1512
1513 <p>The Free Software Foundation may publish new, revised versions
1514 of the GNU Free Documentation License from time to time. Such new
1515 versions will be similar in spirit to the present version, but may
1516 differ in detail to address new problems or concerns. See
1517 <a href="https://www.gnu.org/copyleft/">https://www.gnu.org/copyleft/</a>.
1518 </p>
1519 <p>Each version of the License is given a distinguishing version number.
1520 If the Document specifies that a particular numbered version of this
1521 License &ldquo;or any later version&rdquo; applies to it, you have the option of
1522 following the terms and conditions either of that specified version or
1523 of any later version that has been published (not as a draft) by the
1524 Free Software Foundation. If the Document does not specify a version
1525 number of this License, you may choose any version ever published (not
1526 as a draft) by the Free Software Foundation.
1527 </p></li></ol>
1528
1529
1530 <a name="SEC15"></a>
1531 <h2 class="heading"> ADDENDUM: How to use this License for your documents </h2>
1532
1533 <p>To use this License in a document you have written, include a copy of
1534 the License in the document and put the following copyright and
1535 license notices just after the title page:
1536 </p>
1537 <table><tr><td>&nbsp;</td><td><pre class="smallexample"> Copyright (C) <var>year</var> <var>your name</var>.
1538 Permission is granted to copy, distribute and/or modify this document
1539 under the terms of the GNU Free Documentation License, Version 1.2
1540 or any later version published by the Free Software Foundation;
1541 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
1542 Texts. A copy of the license is included in the section entitled ``GNU
1543 Free Documentation License''.
1544 </pre></td></tr></table>
1545
1546 <p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
1547 replace the &ldquo;with&hellip;Texts.&rdquo; line with this:
1548 </p>
1549 <table><tr><td>&nbsp;</td><td><pre class="smallexample"> with the Invariant Sections being <var>list their titles</var>, with
1550 the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts
1551 being <var>list</var>.
1552 </pre></td></tr></table>
1553
1554 <p>If you have Invariant Sections without Cover Texts, or some other
1555 combination of the three, merge those two alternatives to suit the
1556 situation.
1557 </p>
1558 <p>If your document contains nontrivial examples of program code, we
1559 recommend releasing these examples in parallel under your choice of
1560 free software license, such as the GNU General Public License,
1561 to permit their use in free software.
1562 </p>
1563
1564
1565 <p>
1566 <font size="-1">
1567 This document was generated by <em>Bruno Haible</em> on <em>September, 11 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
1568 </font>
1569 <br>
1570
1571 </p>
1572 </body>
1573 </html>