summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorPawel Kowalski <p.kowalski2@partner.samsung.com>2019-08-28 14:31:23 +0200
committerPawel Kowalski <p.kowalski2@partner.samsung.com>2019-08-28 16:56:31 +0200
commitdee455252ad321c660b411b4ecd65aa5e08f8fc1 (patch)
treeb55f9ec039e963e42605e9e9bdc186354cf9df42 /doc
parent5c7e0aaf17a296535495e3431db6a86ad64064b3 (diff)
parent26bea900a531662c6028ecc06f4adea825658434 (diff)
downloadlibtasn1-tizen_5.5.tar.gz
libtasn1-tizen_5.5.tar.bz2
libtasn1-tizen_5.5.zip
Change-Id: I6d4b47b2072db8e7c45daa6e269e2f0cc6f54a7f
Diffstat (limited to 'doc')
-rw-r--r--doc/COPYING674
-rw-r--r--doc/COPYING.LESSER502
-rw-r--r--doc/Makefile.am3
-rw-r--r--doc/Makefile.in533
-rw-r--r--doc/TODO2
-rw-r--r--doc/asn1Coding.118
-rw-r--r--doc/asn1Decoding.118
-rw-r--r--doc/asn1Parser.118
-rw-r--r--doc/cyclo/Makefile.in524
-rw-r--r--doc/cyclo/cyclo-libtasn1.html14
-rw-r--r--doc/libtasn1.html49
-rw-r--r--doc/libtasn1.info187
-rw-r--r--doc/libtasn1.pdfbin260048 -> 260820 bytes
-rw-r--r--doc/libtasn1.ps3905
-rw-r--r--doc/libtasn1.texi2
-rw-r--r--doc/man/asn1_array2tree.32
-rw-r--r--doc/man/asn1_bit_der.32
-rw-r--r--doc/man/asn1_check_version.32
-rw-r--r--doc/man/asn1_copy_node.32
-rw-r--r--doc/man/asn1_create_element.32
-rw-r--r--doc/man/asn1_decode_simple_ber.34
-rw-r--r--doc/man/asn1_decode_simple_der.32
-rw-r--r--doc/man/asn1_delete_element.32
-rw-r--r--doc/man/asn1_delete_structure.32
-rw-r--r--doc/man/asn1_delete_structure2.32
-rw-r--r--doc/man/asn1_der_coding.32
-rw-r--r--doc/man/asn1_der_decoding.34
-rw-r--r--doc/man/asn1_der_decoding2.32
-rw-r--r--doc/man/asn1_der_decoding_element.32
-rw-r--r--doc/man/asn1_der_decoding_startEnd.32
-rw-r--r--doc/man/asn1_dup_node.32
-rw-r--r--doc/man/asn1_encode_simple_der.32
-rw-r--r--doc/man/asn1_expand_any_defined_by.32
-rw-r--r--doc/man/asn1_expand_octet_string.32
-rw-r--r--doc/man/asn1_find_node.34
-rw-r--r--doc/man/asn1_find_structure_from_oid.32
-rw-r--r--doc/man/asn1_get_bit_der.32
-rw-r--r--doc/man/asn1_get_length_ber.32
-rw-r--r--doc/man/asn1_get_length_der.32
-rw-r--r--doc/man/asn1_get_object_id_der.35
-rw-r--r--doc/man/asn1_get_octet_der.32
-rw-r--r--doc/man/asn1_get_tag_der.34
-rw-r--r--doc/man/asn1_length_der.32
-rw-r--r--doc/man/asn1_number_of_elements.32
-rw-r--r--doc/man/asn1_octet_der.32
-rw-r--r--doc/man/asn1_parser2array.34
-rw-r--r--doc/man/asn1_parser2tree.34
-rw-r--r--doc/man/asn1_perror.32
-rw-r--r--doc/man/asn1_print_structure.32
-rw-r--r--doc/man/asn1_read_node_value.32
-rw-r--r--doc/man/asn1_read_tag.32
-rw-r--r--doc/man/asn1_read_value.37
-rw-r--r--doc/man/asn1_read_value_type.37
-rw-r--r--doc/man/asn1_strerror.32
-rw-r--r--doc/man/asn1_write_value.32
-rw-r--r--doc/reference/Makefile.am66
-rw-r--r--doc/reference/Makefile.in858
-rw-r--r--doc/reference/html/api-index-1-6.html (renamed from doc/reference/html/ix03.html)22
-rw-r--r--doc/reference/html/api-index-2-0.html (renamed from doc/reference/html/ix04.html)18
-rw-r--r--doc/reference/html/api-index-full.html22
-rw-r--r--doc/reference/html/ch01.html (renamed from doc/reference/html/intro.html)16
-rw-r--r--doc/reference/html/deprecated-api-index.html (renamed from doc/reference/html/ix02.html)18
-rw-r--r--doc/reference/html/home.pngbin256 -> 256 bytes
-rw-r--r--doc/reference/html/index.html26
-rw-r--r--doc/reference/html/left-insensitive.pngbin395 -> 395 bytes
-rw-r--r--doc/reference/html/left.pngbin262 -> 262 bytes
-rw-r--r--doc/reference/html/libtasn1-libtasn1.html153
-rw-r--r--doc/reference/html/libtasn1.devhelp212
-rw-r--r--doc/reference/html/object-tree.html32
-rw-r--r--doc/reference/html/right-insensitive.pngbin373 -> 373 bytes
-rw-r--r--doc/reference/html/right.pngbin261 -> 261 bytes
-rw-r--r--doc/reference/html/style.css4
-rw-r--r--doc/reference/html/up-insensitive.pngbin374 -> 374 bytes
-rw-r--r--doc/reference/html/up.pngbin260 -> 260 bytes
-rw-r--r--doc/reference/libtasn1-docs.xml (renamed from doc/reference/libtasn1-docs.sgml)33
-rw-r--r--doc/reference/libtasn1-sections.txt89
-rw-r--r--doc/reference/tmpl/libtasn1-unused.sgml693
-rw-r--r--doc/reference/tmpl/libtasn1.sgml384
-rw-r--r--doc/reference/version.xml.in1
-rw-r--r--doc/stamp-vti8
-rw-r--r--doc/texi/ASN1.c.texi4
-rw-r--r--doc/texi/asn1_decode_simple_ber.texi2
-rw-r--r--doc/texi/asn1_der_decoding.texi2
-rw-r--r--doc/texi/asn1_find_node.texi2
-rw-r--r--doc/texi/asn1_get_object_id_der.texi3
-rw-r--r--doc/texi/asn1_get_tag_der.texi2
-rw-r--r--doc/texi/asn1_parser2array.texi2
-rw-r--r--doc/texi/asn1_parser2tree.texi2
-rw-r--r--doc/texi/asn1_read_value.texi5
-rw-r--r--doc/texi/asn1_read_value_type.texi5
-rw-r--r--doc/texi/decoding.c.texi9
-rw-r--r--doc/texi/element.c.texi10
-rw-r--r--doc/texi/parser_aux.c.texi2
-rw-r--r--doc/version.texi8
94 files changed, 3955 insertions, 5112 deletions
diff --git a/doc/COPYING b/doc/COPYING
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/doc/COPYING
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/doc/COPYING.LESSER b/doc/COPYING.LESSER
new file mode 100644
index 0000000..4362b49
--- /dev/null
+++ b/doc/COPYING.LESSER
@@ -0,0 +1,502 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/doc/Makefile.am b/doc/Makefile.am
index db246ae..5a0077b 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -21,7 +21,8 @@ if ENABLE_GTK_DOC
SUBDIRS += reference
endif
-EXTRA_DIST = gdoc TODO libtasn1.html libtasn1.ps libtasn1.pdf stamp_docs
+EXTRA_DIST = gdoc TODO libtasn1.html libtasn1.ps libtasn1.pdf stamp_docs \
+ COPYING COPYING.LESSER
info_TEXINFOS = libtasn1.texi
libtasn1_TEXINFOS = fdl-1.3.texi texinfo.css $(gdoc_TEXINFOS)
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 5d281a2..9d5e0e5 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -107,55 +107,36 @@ host_triplet = @host@
@ENABLE_GTK_DOC_TRUE@am__append_1 = reference
subdir = doc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/glm4/gnulib-comp.m4 \
- $(top_srcdir)/lib/glm4/ld-version-script.m4 \
- $(top_srcdir)/lib/glm4/minmax.m4 \
- $(top_srcdir)/lib/glm4/string_h.m4 \
- $(top_srcdir)/lib/glm4/strverscmp.m4 \
- $(top_srcdir)/lib/glm4/visibility.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/absolute-header.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 \
- $(top_srcdir)/gl/m4/clock_time.m4 \
- $(top_srcdir)/gl/m4/errno_h.m4 \
- $(top_srcdir)/gl/m4/extensions.m4 \
- $(top_srcdir)/gl/m4/extern-inline.m4 \
- $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \
- $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \
- $(top_srcdir)/gl/m4/getopt.m4 $(top_srcdir)/gl/m4/gettime.m4 \
- $(top_srcdir)/gl/m4/gettimeofday.m4 \
- $(top_srcdir)/gl/m4/gnulib-common.m4 \
- $(top_srcdir)/gl/m4/gnulib-comp.m4 \
- $(top_srcdir)/gl/m4/include_next.m4 \
- $(top_srcdir)/gl/m4/largefile.m4 \
- $(top_srcdir)/gl/m4/limits-h.m4 \
- $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
- $(top_srcdir)/gl/m4/malloc.m4 \
- $(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/msvc-inval.m4 \
- $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
- $(top_srcdir)/gl/m4/multiarch.m4 \
- $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
- $(top_srcdir)/gl/m4/read-file.m4 \
- $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
- $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
- $(top_srcdir)/gl/m4/stdlib_h.m4 \
- $(top_srcdir)/gl/m4/sys_socket_h.m4 \
- $(top_srcdir)/gl/m4/sys_stat_h.m4 \
- $(top_srcdir)/gl/m4/sys_time_h.m4 \
- $(top_srcdir)/gl/m4/sys_types_h.m4 \
- $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/timespec.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
- $(top_srcdir)/gl/m4/valgrind-tests.m4 \
- $(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warn-on-use.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
- $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/m4/update-header-version.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \
+ $(top_srcdir)/m4/ax_ac_print_to_file.m4 \
+ $(top_srcdir)/m4/ax_add_am_macro_static.m4 \
+ $(top_srcdir)/m4/ax_am_macros_static.m4 \
+ $(top_srcdir)/m4/ax_check_gnu_make.m4 \
+ $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/ax_file_escapes.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4-gl/00gnulib.m4 \
+ $(top_srcdir)/m4-gl/__inline.m4 \
+ $(top_srcdir)/m4-gl/absolute-header.m4 \
+ $(top_srcdir)/m4-gl/extensions.m4 \
+ $(top_srcdir)/m4-gl/extern-inline.m4 \
+ $(top_srcdir)/m4-gl/gnulib-common.m4 \
+ $(top_srcdir)/m4-gl/gnulib-comp.m4 \
+ $(top_srcdir)/m4-gl/include_next.m4 \
+ $(top_srcdir)/m4-gl/ld-version-script.m4 \
+ $(top_srcdir)/m4-gl/limits-h.m4 \
+ $(top_srcdir)/m4-gl/longlong.m4 $(top_srcdir)/m4-gl/minmax.m4 \
+ $(top_srcdir)/m4-gl/multiarch.m4 $(top_srcdir)/m4-gl/off_t.m4 \
+ $(top_srcdir)/m4-gl/ssize_t.m4 $(top_srcdir)/m4-gl/stddef_h.m4 \
+ $(top_srcdir)/m4-gl/stdint.m4 $(top_srcdir)/m4-gl/string_h.m4 \
+ $(top_srcdir)/m4-gl/strverscmp.m4 \
+ $(top_srcdir)/m4-gl/sys_types_h.m4 \
+ $(top_srcdir)/m4-gl/valgrind-tests.m4 \
+ $(top_srcdir)/m4-gl/visibility.m4 \
+ $(top_srcdir)/m4-gl/warn-on-use.m4 \
+ $(top_srcdir)/m4-gl/wchar_t.m4 $(top_srcdir)/m4-gl/wint_t.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
@@ -271,7 +252,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
+ distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -294,7 +275,8 @@ CTAGS = ctags
DIST_SUBDIRS = cyclo reference
am__DIST_COMMON = $(dist_man_MANS) $(libtasn1_TEXINFOS) \
$(srcdir)/Makefile.in $(top_srcdir)/build-aux/mdate-sh \
- $(top_srcdir)/build-aux/texinfo.tex TODO
+ $(top_srcdir)/build-aux/texinfo.tex COPYING COPYING.LESSER \
+ TODO
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
@@ -328,6 +310,10 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARFLAGS = @ARFLAGS@
AS = @AS@
+ASN1_VERSION_MAJOR = @ASN1_VERSION_MAJOR@
+ASN1_VERSION_MINOR = @ASN1_VERSION_MINOR@
+ASN1_VERSION_NUMBER = @ASN1_VERSION_NUMBER@
+ASN1_VERSION_PATCH = @ASN1_VERSION_PATCH@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -341,6 +327,11 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
+CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
@@ -354,86 +345,13 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETOPT_H = @GETOPT_H@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
-GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
-GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
-GNULIB_GRANTPT = @GNULIB_GRANTPT@
-GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
GNULIB_MBSCHR = @GNULIB_MBSCHR@
@@ -448,66 +366,12 @@ GNULIB_MBSSEP = @GNULIB_MBSSEP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_QSORT_R = @GNULIB_QSORT_R@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
@@ -519,196 +383,55 @@ GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_ATOLL = @HAVE_ATOLL@
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
-HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
-HAVE_CHOWN = @HAVE_CHOWN@
-HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
-HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
-HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
-HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
-HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
-HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
-HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
-HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_DUP3 = @HAVE_DUP3@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FACCESSAT = @HAVE_FACCESSAT@
-HAVE_FCHDIR = @HAVE_FCHDIR@
-HAVE_FCHMODAT = @HAVE_FCHMODAT@
-HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
-HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSTATAT = @HAVE_FSTATAT@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_FUTIMENS = @HAVE_FUTIMENS@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETGROUPS = @HAVE_GETGROUPS@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETLOGIN = @HAVE_GETLOGIN@
-HAVE_GETOPT_H = @HAVE_GETOPT_H@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GRANTPT = @HAVE_GRANTPT@
-HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDIRAT = @HAVE_MKDIRAT@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_MKFIFO = @HAVE_MKFIFO@
-HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
-HAVE_MKNOD = @HAVE_MKNOD@
-HAVE_MKNODAT = @HAVE_MKNODAT@
-HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
-HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
-HAVE_MKSTEMP = @HAVE_MKSTEMP@
-HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
-HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
-HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_PCLOSE = @HAVE_PCLOSE@
-HAVE_PIPE = @HAVE_PIPE@
-HAVE_PIPE2 = @HAVE_PIPE2@
-HAVE_POPEN = @HAVE_POPEN@
-HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
-HAVE_PREAD = @HAVE_PREAD@
-HAVE_PTSNAME = @HAVE_PTSNAME@
-HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
-HAVE_PWRITE = @HAVE_PWRITE@
-HAVE_QSORT_R = @HAVE_QSORT_R@
-HAVE_RANDOM = @HAVE_RANDOM@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALPATH = @HAVE_REALPATH@
-HAVE_RENAMEAT = @HAVE_RENAMEAT@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
-HAVE_SLEEP = @HAVE_SLEEP@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYMLINK = @HAVE_SYMLINK@
-HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_TIMEGM = @HAVE_TIMEGM@
-HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNLINKAT = @HAVE_UNLINKAT@
-HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_USLEEP = @HAVE_USLEEP@
-HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
HAVE_WCHAR_T = @HAVE_WCHAR_T@
-HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
-HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
INCLUDE_NEXT = @INCLUDE_NEXT@
@@ -718,52 +441,34 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
LD = @LD@
LDFLAGS = @LDFLAGS@
-LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
LIBTOOL = @LIBTOOL@
-LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIMITS_H = @LIMITS_H@
LIPO = @LIPO@
LN_S = @LN_S@
-LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
-NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
-NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
-NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
-NEXT_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_LIMITS_H = @NEXT_LIMITS_H@
-NEXT_STDARG_H = @NEXT_STDARG_H@
NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
-NEXT_TIME_H = @NEXT_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
@@ -779,91 +484,13 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
-PMCCABE = @PMCCABE@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
-REPLACE_CALLOC = @REPLACE_CALLOC@
-REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_DUP = @REPLACE_DUP@
-REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FDOPEN = @REPLACE_FDOPEN@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FSTAT = @REPLACE_FSTAT@
-REPLACE_FSTATAT = @REPLACE_FSTATAT@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
-REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETDELIM = @REPLACE_GETDELIM@
-REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
-REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
-REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
-REPLACE_GMTIME = @REPLACE_GMTIME@
-REPLACE_ISATTY = @REPLACE_ISATTY@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LINK = @REPLACE_LINK@
-REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
-REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
-REPLACE_MBTOWC = @REPLACE_MBTOWC@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKFIFO = @REPLACE_MKFIFO@
-REPLACE_MKNOD = @REPLACE_MKNOD@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_MKTIME = @REPLACE_MKTIME@
-REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NULL = @REPLACE_NULL@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_POPEN = @REPLACE_POPEN@
-REPLACE_PREAD = @REPLACE_PREAD@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PTSNAME = @REPLACE_PTSNAME@
-REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_PWRITE = @REPLACE_PWRITE@
-REPLACE_QSORT_R = @REPLACE_QSORT_R@
-REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
-REPLACE_READ = @REPLACE_READ@
-REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_READLINKAT = @REPLACE_READLINKAT@
-REPLACE_REALLOC = @REPLACE_REALLOC@
-REPLACE_REALPATH = @REPLACE_REALPATH@
-REPLACE_REMOVE = @REPLACE_REMOVE@
-REPLACE_RENAME = @REPLACE_RENAME@
-REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
-REPLACE_RMDIR = @REPLACE_RMDIR@
-REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SLEEP = @REPLACE_SLEEP@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STAT = @REPLACE_STAT@
-REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
@@ -875,48 +502,22 @@ REPLACE_STRNDUP = @REPLACE_STRNDUP@
REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
-REPLACE_SYMLINK = @REPLACE_SYMLINK@
-REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
-REPLACE_TIMEGM = @REPLACE_TIMEGM@
-REPLACE_TMPFILE = @REPLACE_TMPFILE@
-REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
-REPLACE_UNLINK = @REPLACE_UNLINK@
-REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
-REPLACE_UNSETENV = @REPLACE_UNSETENV@
-REPLACE_USLEEP = @REPLACE_USLEEP@
-REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCTOMB = @REPLACE_WCTOMB@
-REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDARG_H = @STDARG_H@
STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
-SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
-UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
-UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
-UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
-WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
YACC = @YACC@
YFLAGS = @YFLAGS@
@@ -955,14 +556,11 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
+ifGNUmake = @ifGNUmake@
+ifnGNUmake = @ifnGNUmake@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
-lgl_LIBOBJS = @lgl_LIBOBJS@
-lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
-lgltests_LIBOBJS = @lgltests_LIBOBJS@
-lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
-lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
@@ -984,7 +582,9 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = cyclo $(am__append_1)
-EXTRA_DIST = gdoc TODO libtasn1.html libtasn1.ps libtasn1.pdf stamp_docs
+EXTRA_DIST = gdoc TODO libtasn1.html libtasn1.ps libtasn1.pdf stamp_docs \
+ COPYING COPYING.LESSER
+
info_TEXINFOS = libtasn1.texi
libtasn1_TEXINFOS = fdl-1.3.texi texinfo.css $(gdoc_TEXINFOS)
AM_MAKEINFOFLAGS = -I $(top_builddir)/doc
@@ -1062,16 +662,16 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu doc/Makefile
+ $(AUTOMAKE) --foreign doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1435,7 +1035,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/doc/TODO b/doc/TODO
index 93c0450..ba4d0b2 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -5,7 +5,7 @@ in order to avoid having people working on the same thing.
Current list:
+ Audit the code
* Avoid the usage of any global state in array2tree or parser2tree
- functions.
+ functions.
* Allow extracting the time in a reasonable format (e.g. time_t)
* C structure generation instead of a single array
* CHOICE in CHOICE (e.g., RDN in byName in ResponderID in OCSP) cannot
diff --git a/doc/asn1Coding.1 b/doc/asn1Coding.1
index b0379dc..40affb4 100644
--- a/doc/asn1Coding.1
+++ b/doc/asn1Coding.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH ASN1CODING "1" "January 2018" "asn1Coding (libtasn1) 4.13" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.10.
+.TH ASN1CODING "1" "July 2019" "asn1Coding libtasn1 4.14" "User Commands"
.SH NAME
asn1Coding \- ASN.1 DER encoder
.SH SYNOPSIS
@@ -23,19 +23,11 @@ display this help and exit
\fB\-v\fR, \fB\-\-version\fR
output version information and exit
.SH AUTHOR
-Written by Fabio Fiorina.
+Written by Fabio Fiorina
.SH "REPORTING BUGS"
-Report bugs to: help\-libtasn1@gnu.org
-.br
-GNU Libtasn1 home page: <http://www.gnu.org/software/libtasn1/>
-.br
-General help using GNU software: <http://www.gnu.org/gethelp/>
+Report bugs to help\-libtasn1@gnu.org
.SH COPYRIGHT
-Copyright \(co 2017 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
-.br
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.
+Copyright \(co 2017\-2019 Free Software Foundation, Inc.
.SH "SEE ALSO"
The full documentation for
.B asn1Coding
diff --git a/doc/asn1Decoding.1 b/doc/asn1Decoding.1
index 36df49f..2cbed81 100644
--- a/doc/asn1Decoding.1
+++ b/doc/asn1Decoding.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH ASN1DECODING "1" "January 2018" "asn1Decoding (libtasn1) 4.13" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.10.
+.TH ASN1DECODING "1" "July 2019" "asn1Decoding libtasn1 4.14" "User Commands"
.SH NAME
asn1Decoding \- ASN.1 DER decoder
.SH SYNOPSIS
@@ -24,19 +24,11 @@ display this help and exit
\fB\-v\fR, \fB\-\-version\fR
output version information and exit
.SH AUTHOR
-Written by Fabio Fiorina.
+Written by Fabio Fiorina
.SH "REPORTING BUGS"
-Report bugs to: help\-libtasn1@gnu.org
-.br
-GNU Libtasn1 home page: <http://www.gnu.org/software/libtasn1/>
-.br
-General help using GNU software: <http://www.gnu.org/gethelp/>
+Report bugs to help\-libtasn1@gnu.org
.SH COPYRIGHT
-Copyright \(co 2017 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
-.br
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.
+Copyright \(co 2017\-2019 Free Software Foundation, Inc.
.SH "SEE ALSO"
The full documentation for
.B asn1Decoding
diff --git a/doc/asn1Parser.1 b/doc/asn1Parser.1
index 8f32e6e..8aa549e 100644
--- a/doc/asn1Parser.1
+++ b/doc/asn1Parser.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH ASN1PARSER "1" "January 2018" "asn1Parser (libtasn1) 4.13" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.10.
+.TH ASN1PARSER "1" "July 2019" "asn1Parser libtasn1 4.14" "User Commands"
.SH NAME
asn1Parser \- ASN.1 syntax tree generator for libtasn1
.SH SYNOPSIS
@@ -26,19 +26,11 @@ display this help and exit
\fB\-v\fR, \fB\-\-version\fR
output version information and exit
.SH AUTHOR
-Written by Fabio Fiorina.
+Written by Fabio Fiorina
.SH "REPORTING BUGS"
-Report bugs to: help\-libtasn1@gnu.org
-.br
-GNU Libtasn1 home page: <http://www.gnu.org/software/libtasn1/>
-.br
-General help using GNU software: <http://www.gnu.org/gethelp/>
+Report bugs to help\-libtasn1@gnu.org
.SH COPYRIGHT
-Copyright \(co 2017 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
-.br
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.
+Copyright \(co 2017\-2019 Free Software Foundation, Inc.
.SH "SEE ALSO"
The full documentation for
.B asn1Parser
diff --git a/doc/cyclo/Makefile.in b/doc/cyclo/Makefile.in
index 4e0814f..8149c60 100644
--- a/doc/cyclo/Makefile.in
+++ b/doc/cyclo/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -106,55 +106,36 @@ build_triplet = @build@
host_triplet = @host@
subdir = doc/cyclo
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/glm4/gnulib-comp.m4 \
- $(top_srcdir)/lib/glm4/ld-version-script.m4 \
- $(top_srcdir)/lib/glm4/minmax.m4 \
- $(top_srcdir)/lib/glm4/string_h.m4 \
- $(top_srcdir)/lib/glm4/strverscmp.m4 \
- $(top_srcdir)/lib/glm4/visibility.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/absolute-header.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 \
- $(top_srcdir)/gl/m4/clock_time.m4 \
- $(top_srcdir)/gl/m4/errno_h.m4 \
- $(top_srcdir)/gl/m4/extensions.m4 \
- $(top_srcdir)/gl/m4/extern-inline.m4 \
- $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \
- $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \
- $(top_srcdir)/gl/m4/getopt.m4 $(top_srcdir)/gl/m4/gettime.m4 \
- $(top_srcdir)/gl/m4/gettimeofday.m4 \
- $(top_srcdir)/gl/m4/gnulib-common.m4 \
- $(top_srcdir)/gl/m4/gnulib-comp.m4 \
- $(top_srcdir)/gl/m4/include_next.m4 \
- $(top_srcdir)/gl/m4/largefile.m4 \
- $(top_srcdir)/gl/m4/limits-h.m4 \
- $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
- $(top_srcdir)/gl/m4/malloc.m4 \
- $(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/msvc-inval.m4 \
- $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
- $(top_srcdir)/gl/m4/multiarch.m4 \
- $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
- $(top_srcdir)/gl/m4/read-file.m4 \
- $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
- $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
- $(top_srcdir)/gl/m4/stdlib_h.m4 \
- $(top_srcdir)/gl/m4/sys_socket_h.m4 \
- $(top_srcdir)/gl/m4/sys_stat_h.m4 \
- $(top_srcdir)/gl/m4/sys_time_h.m4 \
- $(top_srcdir)/gl/m4/sys_types_h.m4 \
- $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/timespec.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
- $(top_srcdir)/gl/m4/valgrind-tests.m4 \
- $(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warn-on-use.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
- $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/m4/update-header-version.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \
+ $(top_srcdir)/m4/ax_ac_print_to_file.m4 \
+ $(top_srcdir)/m4/ax_add_am_macro_static.m4 \
+ $(top_srcdir)/m4/ax_am_macros_static.m4 \
+ $(top_srcdir)/m4/ax_check_gnu_make.m4 \
+ $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/ax_file_escapes.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4-gl/00gnulib.m4 \
+ $(top_srcdir)/m4-gl/__inline.m4 \
+ $(top_srcdir)/m4-gl/absolute-header.m4 \
+ $(top_srcdir)/m4-gl/extensions.m4 \
+ $(top_srcdir)/m4-gl/extern-inline.m4 \
+ $(top_srcdir)/m4-gl/gnulib-common.m4 \
+ $(top_srcdir)/m4-gl/gnulib-comp.m4 \
+ $(top_srcdir)/m4-gl/include_next.m4 \
+ $(top_srcdir)/m4-gl/ld-version-script.m4 \
+ $(top_srcdir)/m4-gl/limits-h.m4 \
+ $(top_srcdir)/m4-gl/longlong.m4 $(top_srcdir)/m4-gl/minmax.m4 \
+ $(top_srcdir)/m4-gl/multiarch.m4 $(top_srcdir)/m4-gl/off_t.m4 \
+ $(top_srcdir)/m4-gl/ssize_t.m4 $(top_srcdir)/m4-gl/stddef_h.m4 \
+ $(top_srcdir)/m4-gl/stdint.m4 $(top_srcdir)/m4-gl/string_h.m4 \
+ $(top_srcdir)/m4-gl/strverscmp.m4 \
+ $(top_srcdir)/m4-gl/sys_types_h.m4 \
+ $(top_srcdir)/m4-gl/valgrind-tests.m4 \
+ $(top_srcdir)/m4-gl/visibility.m4 \
+ $(top_srcdir)/m4-gl/warn-on-use.m4 \
+ $(top_srcdir)/m4-gl/wchar_t.m4 $(top_srcdir)/m4-gl/wint_t.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
@@ -192,6 +173,10 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARFLAGS = @ARFLAGS@
AS = @AS@
+ASN1_VERSION_MAJOR = @ASN1_VERSION_MAJOR@
+ASN1_VERSION_MINOR = @ASN1_VERSION_MINOR@
+ASN1_VERSION_NUMBER = @ASN1_VERSION_NUMBER@
+ASN1_VERSION_PATCH = @ASN1_VERSION_PATCH@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -205,6 +190,11 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
+CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
@@ -218,86 +208,13 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETOPT_H = @GETOPT_H@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
-GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
-GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
-GNULIB_GRANTPT = @GNULIB_GRANTPT@
-GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
GNULIB_MBSCHR = @GNULIB_MBSCHR@
@@ -312,66 +229,12 @@ GNULIB_MBSSEP = @GNULIB_MBSSEP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_QSORT_R = @GNULIB_QSORT_R@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
@@ -383,196 +246,55 @@ GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_ATOLL = @HAVE_ATOLL@
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
-HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
-HAVE_CHOWN = @HAVE_CHOWN@
-HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
-HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
-HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
-HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
-HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
-HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
-HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
-HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_DUP3 = @HAVE_DUP3@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FACCESSAT = @HAVE_FACCESSAT@
-HAVE_FCHDIR = @HAVE_FCHDIR@
-HAVE_FCHMODAT = @HAVE_FCHMODAT@
-HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
-HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSTATAT = @HAVE_FSTATAT@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_FUTIMENS = @HAVE_FUTIMENS@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETGROUPS = @HAVE_GETGROUPS@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETLOGIN = @HAVE_GETLOGIN@
-HAVE_GETOPT_H = @HAVE_GETOPT_H@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GRANTPT = @HAVE_GRANTPT@
-HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDIRAT = @HAVE_MKDIRAT@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_MKFIFO = @HAVE_MKFIFO@
-HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
-HAVE_MKNOD = @HAVE_MKNOD@
-HAVE_MKNODAT = @HAVE_MKNODAT@
-HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
-HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
-HAVE_MKSTEMP = @HAVE_MKSTEMP@
-HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
-HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
-HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_PCLOSE = @HAVE_PCLOSE@
-HAVE_PIPE = @HAVE_PIPE@
-HAVE_PIPE2 = @HAVE_PIPE2@
-HAVE_POPEN = @HAVE_POPEN@
-HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
-HAVE_PREAD = @HAVE_PREAD@
-HAVE_PTSNAME = @HAVE_PTSNAME@
-HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
-HAVE_PWRITE = @HAVE_PWRITE@
-HAVE_QSORT_R = @HAVE_QSORT_R@
-HAVE_RANDOM = @HAVE_RANDOM@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALPATH = @HAVE_REALPATH@
-HAVE_RENAMEAT = @HAVE_RENAMEAT@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
-HAVE_SLEEP = @HAVE_SLEEP@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYMLINK = @HAVE_SYMLINK@
-HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_TIMEGM = @HAVE_TIMEGM@
-HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNLINKAT = @HAVE_UNLINKAT@
-HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_USLEEP = @HAVE_USLEEP@
-HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
HAVE_WCHAR_T = @HAVE_WCHAR_T@
-HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
-HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
INCLUDE_NEXT = @INCLUDE_NEXT@
@@ -582,52 +304,34 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
LD = @LD@
LDFLAGS = @LDFLAGS@
-LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
LIBTOOL = @LIBTOOL@
-LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIMITS_H = @LIMITS_H@
LIPO = @LIPO@
LN_S = @LN_S@
-LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
-NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
-NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
-NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
-NEXT_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_LIMITS_H = @NEXT_LIMITS_H@
-NEXT_STDARG_H = @NEXT_STDARG_H@
NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
-NEXT_TIME_H = @NEXT_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
@@ -643,91 +347,13 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
-PMCCABE = @PMCCABE@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
-REPLACE_CALLOC = @REPLACE_CALLOC@
-REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_DUP = @REPLACE_DUP@
-REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FDOPEN = @REPLACE_FDOPEN@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FSTAT = @REPLACE_FSTAT@
-REPLACE_FSTATAT = @REPLACE_FSTATAT@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
-REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETDELIM = @REPLACE_GETDELIM@
-REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
-REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
-REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
-REPLACE_GMTIME = @REPLACE_GMTIME@
-REPLACE_ISATTY = @REPLACE_ISATTY@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LINK = @REPLACE_LINK@
-REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
-REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
-REPLACE_MBTOWC = @REPLACE_MBTOWC@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKFIFO = @REPLACE_MKFIFO@
-REPLACE_MKNOD = @REPLACE_MKNOD@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_MKTIME = @REPLACE_MKTIME@
-REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NULL = @REPLACE_NULL@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_POPEN = @REPLACE_POPEN@
-REPLACE_PREAD = @REPLACE_PREAD@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PTSNAME = @REPLACE_PTSNAME@
-REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_PWRITE = @REPLACE_PWRITE@
-REPLACE_QSORT_R = @REPLACE_QSORT_R@
-REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
-REPLACE_READ = @REPLACE_READ@
-REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_READLINKAT = @REPLACE_READLINKAT@
-REPLACE_REALLOC = @REPLACE_REALLOC@
-REPLACE_REALPATH = @REPLACE_REALPATH@
-REPLACE_REMOVE = @REPLACE_REMOVE@
-REPLACE_RENAME = @REPLACE_RENAME@
-REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
-REPLACE_RMDIR = @REPLACE_RMDIR@
-REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SLEEP = @REPLACE_SLEEP@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STAT = @REPLACE_STAT@
-REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
@@ -739,48 +365,22 @@ REPLACE_STRNDUP = @REPLACE_STRNDUP@
REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
-REPLACE_SYMLINK = @REPLACE_SYMLINK@
-REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
-REPLACE_TIMEGM = @REPLACE_TIMEGM@
-REPLACE_TMPFILE = @REPLACE_TMPFILE@
-REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
-REPLACE_UNLINK = @REPLACE_UNLINK@
-REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
-REPLACE_UNSETENV = @REPLACE_UNSETENV@
-REPLACE_USLEEP = @REPLACE_USLEEP@
-REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCTOMB = @REPLACE_WCTOMB@
-REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDARG_H = @STDARG_H@
STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
-SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
-UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
-UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
-UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
-WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
YACC = @YACC@
YFLAGS = @YFLAGS@
@@ -819,14 +419,11 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
+ifGNUmake = @ifGNUmake@
+ifnGNUmake = @ifnGNUmake@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
-lgl_LIBOBJS = @lgl_LIBOBJS@
-lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
-lgltests_LIBOBJS = @lgltests_LIBOBJS@
-lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
-lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
@@ -861,16 +458,16 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/cyclo/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/cyclo/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu doc/cyclo/Makefile
+ $(AUTOMAKE) --foreign doc/cyclo/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -894,7 +491,10 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/doc/cyclo/cyclo-libtasn1.html b/doc/cyclo/cyclo-libtasn1.html
index 07486b3..232ffa2 100644
--- a/doc/cyclo/cyclo-libtasn1.html
+++ b/doc/cyclo/cyclo-libtasn1.html
@@ -1,11 +1,11 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Generated by gnulib's pmccabe2html at 1403805514 -->
+<!-- Generated by gnulib's pmccabe2html at 1563563397 -->
<head>
-<title>Cyclomatic Complexity report for GNU Libtasn1 4.0</title>
+<title>Cyclomatic Complexity report for GNU Libtasn1 4.14</title>
-<meta name="description" content="Cyclomatic Complexity report for GNU Libtasn1 4.0">
-<meta name="keywords" content="Cyclomatic Complexity report for GNU Libtasn1 4.0">
+<meta name="description" content="Cyclomatic Complexity report for GNU Libtasn1 4.14">
+<meta name="keywords" content="Cyclomatic Complexity report for GNU Libtasn1 4.14">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="pmccabe2html">
@@ -178,9 +178,9 @@ body {
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
-<a href="http://www.gnu.org/software/libtasn1/">Back to GNU Libtasn1 4.0 Homepage</a><br/><br/>
-<div class="page_title">GNU Libtasn1 4.0 Cyclomatic Complexity Report</div>
-<p>Report generated at: <span class="report_timestamp">Thu Jun 26 19:58:34 CEST 2014</span></p>
+<a href="http://www.gnu.org/software/libtasn1/">Back to GNU Libtasn1 4.14 Homepage</a><br/><br/>
+<div class="page_title">GNU Libtasn1 4.14 Cyclomatic Complexity Report</div>
+<p>Report generated at: <span class="report_timestamp">Fri Jul 19 21:09:57 CEST 2019</span></p>
<div class="section_title">Summary</div>
<table class="summary_table">
<tr>
diff --git a/doc/libtasn1.html b/doc/libtasn1.html
index 88b01e1..47e7509 100644
--- a/doc/libtasn1.html
+++ b/doc/libtasn1.html
@@ -1,11 +1,11 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for GNU Libtasn1
-(version 4.13, 4 April 2016),
+(version 4.14, 29 March 2019),
which is a library for Abstract Syntax Notation One (ASN.1) and
Distinguished Encoding Rules (DER) manipulation.
-Copyright (C) 2001-2015 Free Software Foundation, Inc.
+Copyright (C) 2001-2019 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -13,16 +13,16 @@ any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the section entitled "GNU Free
Documentation License". -->
-<!-- Created by GNU Texinfo 6.3, http://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>GNU Libtasn1 4.13</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>GNU Libtasn1 4.14</title>
-<meta name="description" content="GNU Libtasn1 4.13">
-<meta name="keywords" content="GNU Libtasn1 4.13">
+<meta name="description" content="GNU Libtasn1 4.14">
+<meta name="keywords" content="GNU Libtasn1 4.14">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="#Top" rel="start" title="Top">
<link href="#Concept-Index" rel="index" title="Concept Index">
<link href="#SEC_Contents" rel="contents" title="Table of Contents">
@@ -104,7 +104,7 @@ dd, li {
</head>
<body lang="en">
-<h1 class="settitle" align="center">GNU Libtasn1 4.13</h1>
+<h1 class="settitle" align="center">GNU Libtasn1 4.14</h1>
@@ -158,11 +158,11 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a
<h1 class="top">Libtasn1</h1>
<p>This manual is for GNU Libtasn1
-(version 4.13, 4 April 2016),
+(version 4.14, 29 March 2019),
which is a library for Abstract Syntax Notation One (ASN.1) and
Distinguished Encoding Rules (DER) manipulation.
</p>
-<p>Copyright &copy; 2001-2015 Free Software Foundation, Inc.
+<p>Copyright &copy; 2001-2019 Free Software Foundation, Inc.
</p>
<blockquote>
<p>Permission is granted to copy, distribute and/or modify this document
@@ -669,7 +669,7 @@ needed to manage the definitions included in <code>file</code> file.
</p>
<p><strong>Returns:</strong> <code>ASN1_SUCCESS</code> if the file has a correct syntax and every
identifier is known, <code>ASN1_ELEMENT_NOT_EMPTY</code> if <code>definitions</code> not
-<code>NULL</code> , <code>ASN1_FILE_NOT_FOUND</code> if an error occured while
+<code>NULL</code> , <code>ASN1_FILE_NOT_FOUND</code> if an error occurred while
opening <code>file</code> , <code>ASN1_SYNTAX_ERROR</code> if the syntax is not
correct, <code>ASN1_IDENTIFIER_NOT_FOUND</code> if in the file there is an
identifier that is not defined, <code>ASN1_NAME_TOO_LONG</code> if in the
@@ -700,7 +700,7 @@ included in <code>inputFileName</code> file. If <code>inputFileName</code> is
will be &quot;xx_asn1_tab&quot;.
</p>
<p><strong>Returns:</strong> <code>ASN1_SUCCESS</code> if the file has a correct syntax and every
-identifier is known, <code>ASN1_FILE_NOT_FOUND</code> if an error occured
+identifier is known, <code>ASN1_FILE_NOT_FOUND</code> if an error occurred
while opening <code>inputFileName</code> , <code>ASN1_SYNTAX_ERROR</code> if the syntax is
not correct, <code>ASN1_IDENTIFIER_NOT_FOUND</code> if in the file there is
an identifier that is not defined, <code>ASN1_NAME_TOO_LONG</code> if in the
@@ -1010,7 +1010,7 @@ pointer to memory cells already allocated (may be <code>NULL</code> ).
<p><var>len</var>: number of bytes of *value: value[0]..value[len-1]. Initialy
holds the sizeof value.
</p>
-<p>Returns the value of one element inside a structure.
+<p>Returns the value of one element inside a structure.
If an element is OPTIONAL and this returns
<code>ASN1_ELEMENT_NOT_FOUND</code> , it means that this element wasn&rsquo;t present
in the der encoding that created the structure. The first element
@@ -1064,7 +1064,8 @@ encoding of the structure actually used.
<code>ASN1_VALUE_NOT_FOUND</code> if there isn&rsquo;t any value for the element
selected, and <code>ASN1_MEM_ERROR</code> if The value vector isn&rsquo;t big enough
to store the result, and in this case <code>len</code> will contain the number of
-bytes needed.
+bytes needed. On the occasion that the stored data are of zero-length
+this function may return <code>ASN1_SUCCESS</code> even if the provided <code>len</code> is zero.
</p></dd></dl>
<a name="asn1_005fread_005fvalue_005ftype-1"></a>
@@ -1083,7 +1084,7 @@ holds the sizeof value.
</p>
<p><var>etype</var>: The type of the value read (ASN1_ETYPE)
</p>
-<p>Returns the type and value of one element inside a structure.
+<p>Returns the type and value of one element inside a structure.
If an element is OPTIONAL and this returns
<code>ASN1_ELEMENT_NOT_FOUND</code> , it means that this element wasn&rsquo;t present
in the der encoding that created the structure. The first element
@@ -1137,7 +1138,8 @@ encoding of the structure actually used.
<code>ASN1_VALUE_NOT_FOUND</code> if there isn&rsquo;t any value for the element
selected, and <code>ASN1_MEM_ERROR</code> if The value vector isn&rsquo;t big enough
to store the result, and in this case <code>len</code> will contain the number of
-bytes needed.
+bytes needed. On the occasion that the stored data are of zero-length
+this function may return <code>ASN1_SUCCESS</code> even if the provided <code>len</code> is zero.
</p></dd></dl>
<a name="asn1_005fread_005ftag-1"></a>
@@ -1330,7 +1332,7 @@ when the decoded length value plus <code>len</code> would exceed <code>der_len
</p>
<p><var>len</var>: Output variable containing the length of the DER TAG data.
</p>
-<p><var>tag</var>: Output variable containing the decoded tag.
+<p><var>tag</var>: Output variable containing the decoded tag (may be <code>NULL</code> ).
</p>
<p>Decode the class and TAG from DER code.
</p>
@@ -1394,7 +1396,8 @@ content octets.
</p>
<p><var>str_size</var>: Length of pre-allocated output buffer.
</p>
-<p>Converts a DER encoded object identifier to its textual form.
+<p>Converts a DER encoded object identifier to its textual form. This
+function expects the DER object identifier without the tag.
</p>
<p><strong>Returns:</strong> <code>ASN1_SUCCESS</code> on success, or an error.
</p></dd></dl>
@@ -1468,7 +1471,7 @@ error occurred.
</p>
<p>Fill the structure * <code>element</code> with values of a DER encoding
string. The structure must just be created with function
-<code>asn1_create_element()</code> .
+<code>asn1_create_element()</code> .
</p>
<p>Note that the * <code>element</code> variable is provided as a pointer for
historical reasons.
@@ -1626,7 +1629,7 @@ The output is a pointer inside the <code>der</code> .
</p>
<p><var>ber_len</var>: the total length occupied by BER (may be <code>NULL</code> )
</p>
-<p>Decodes a BER encoded type. The output is an allocated value
+<p>Decodes a BER encoded type. The output is an allocated value
of the data. This decodes BER STRINGS only. Other types are
decoded as DER.
</p>
@@ -1691,7 +1694,7 @@ Previous: <a href="#Error-handling-functions" accesskey="p" rel="prev">Error han
<p><var>name</var>: null terminated string with the element&rsquo;s name to find.
</p>
<p>Searches for an element called <code>name</code> starting from <code>pointer</code> . The
-name is composed by differents identifiers separated by dots. When
+name is composed by different identifiers separated by dots. When
* <code>pointer</code> has a name, the first identifier must be the name of
* <code>pointer</code> , otherwise it must be the name of one child of * <code>pointer</code> .
</p>
@@ -1752,7 +1755,7 @@ Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
</pre></div>
-<ol>
+<ol start="0">
<li> PREAMBLE
<p>The purpose of this License is to make a manual, textbook, or other
@@ -1928,7 +1931,7 @@ Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
</p>
-<ol>
+<ol type="A" start="1">
<li> Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
diff --git a/doc/libtasn1.info b/doc/libtasn1.info
index cb9ba88..8f0aa76 100644
--- a/doc/libtasn1.info
+++ b/doc/libtasn1.info
@@ -1,11 +1,11 @@
-This is libtasn1.info, produced by makeinfo version 6.3 from
+This is libtasn1.info, produced by makeinfo version 6.5 from
libtasn1.texi.
-This manual is for GNU Libtasn1 (version 4.13, 4 April 2016), which is a
-library for Abstract Syntax Notation One (ASN.1) and Distinguished
+This manual is for GNU Libtasn1 (version 4.14, 29 March 2019), which is
+a library for Abstract Syntax Notation One (ASN.1) and Distinguished
Encoding Rules (DER) manipulation.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2019 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -24,11 +24,11 @@ File: libtasn1.info, Node: Top, Next: Introduction, Up: (dir)
Libtasn1
********
-This manual is for GNU Libtasn1 (version 4.13, 4 April 2016), which is a
-library for Abstract Syntax Notation One (ASN.1) and Distinguished
+This manual is for GNU Libtasn1 (version 4.14, 29 March 2019), which is
+a library for Abstract Syntax Notation One (ASN.1) and Distinguished
Encoding Rules (DER) manipulation.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2019 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -433,10 +433,10 @@ asn1_parser2tree
*Returns:* 'ASN1_SUCCESS' if the file has a correct syntax and
every identifier is known, 'ASN1_ELEMENT_NOT_EMPTY' if
'definitions' not 'NULL' , 'ASN1_FILE_NOT_FOUND' if an error
- occured while opening 'file' , 'ASN1_SYNTAX_ERROR' if the syntax is
- not correct, 'ASN1_IDENTIFIER_NOT_FOUND' if in the file there is an
- identifier that is not defined, 'ASN1_NAME_TOO_LONG' if in the file
- there is an identifier whith more than 'ASN1_MAX_NAME_SIZE'
+ occurred while opening 'file' , 'ASN1_SYNTAX_ERROR' if the syntax
+ is not correct, 'ASN1_IDENTIFIER_NOT_FOUND' if in the file there is
+ an identifier that is not defined, 'ASN1_NAME_TOO_LONG' if in the
+ file there is an identifier whith more than 'ASN1_MAX_NAME_SIZE'
characters.
asn1_parser2array
@@ -465,7 +465,7 @@ asn1_parser2array
*Returns:* 'ASN1_SUCCESS' if the file has a correct syntax and
every identifier is known, 'ASN1_FILE_NOT_FOUND' if an error
- occured while opening 'inputFileName' , 'ASN1_SYNTAX_ERROR' if the
+ occurred while opening 'inputFileName' , 'ASN1_SYNTAX_ERROR' if the
syntax is not correct, 'ASN1_IDENTIFIER_NOT_FOUND' if in the file
there is an identifier that is not defined, 'ASN1_NAME_TOO_LONG' if
in the file there is an identifier whith more than
@@ -824,7 +824,9 @@ asn1_read_value
'ASN1_VALUE_NOT_FOUND' if there isn't any value for the element
selected, and 'ASN1_MEM_ERROR' if The value vector isn't big enough
to store the result, and in this case 'len' will contain the number
- of bytes needed.
+ of bytes needed. On the occasion that the stored data are of
+ zero-length this function may return 'ASN1_SUCCESS' even if the
+ provided 'len' is zero.
asn1_read_value_type
--------------------
@@ -898,7 +900,9 @@ asn1_read_value_type
'ASN1_VALUE_NOT_FOUND' if there isn't any value for the element
selected, and 'ASN1_MEM_ERROR' if The value vector isn't big enough
to store the result, and in this case 'len' will contain the number
- of bytes needed.
+ of bytes needed. On the occasion that the stored data are of
+ zero-length this function may return 'ASN1_SUCCESS' even if the
+ provided 'len' is zero.
asn1_read_tag
-------------
@@ -1092,7 +1096,7 @@ asn1_get_tag_der
LEN: Output variable containing the length of the DER TAG data.
- TAG: Output variable containing the decoded tag.
+ TAG: Output variable containing the decoded tag (may be 'NULL' ).
Decode the class and TAG from DER code.
@@ -1159,7 +1163,8 @@ asn1_get_object_id_der
STR_SIZE: Length of pre-allocated output buffer.
- Converts a DER encoded object identifier to its textual form.
+ Converts a DER encoded object identifier to its textual form. This
+ function expects the DER object identifier without the tag.
*Returns:* 'ASN1_SUCCESS' on success, or an error.
@@ -1461,7 +1466,7 @@ asn1_find_node
NAME: null terminated string with the element's name to find.
Searches for an element called 'name' starting from 'pointer' .
- The name is composed by differents identifiers separated by dots.
+ The name is composed by different identifiers separated by dots.
When * 'pointer' has a name, the first identifier must be the name
of * 'pointer' , otherwise it must be the name of one child of *
'pointer' .
@@ -2017,8 +2022,8 @@ Function and Data Index
(line 144)
* asn1_create_element: ASN.1 field functions.
(line 72)
-* asn1_decode_simple_ber: DER functions. (line 456)
-* asn1_decode_simple_der: DER functions. (line 435)
+* asn1_decode_simple_ber: DER functions. (line 457)
+* asn1_decode_simple_der: DER functions. (line 436)
* asn1_delete_element: ASN.1 field functions.
(line 57)
* asn1_delete_structure: ASN.1 field functions.
@@ -2026,20 +2031,20 @@ Function and Data Index
* asn1_delete_structure2: ASN.1 field functions.
(line 42)
* asn1_der_coding: DER functions. (line 102)
-* asn1_der_decoding: DER functions. (line 289)
-* asn1_der_decoding2: DER functions. (line 253)
-* asn1_der_decoding_element: DER functions. (line 316)
-* asn1_der_decoding_startEnd: DER functions. (line 349)
+* asn1_der_decoding: DER functions. (line 290)
+* asn1_der_decoding2: DER functions. (line 254)
+* asn1_der_decoding_element: DER functions. (line 317)
+* asn1_der_decoding_startEnd: DER functions. (line 350)
* asn1_dup_node: ASN.1 field functions.
(line 162)
* asn1_encode_simple_der: DER functions. (line 51)
-* asn1_expand_any_defined_by: DER functions. (line 389)
-* asn1_expand_octet_string: DER functions. (line 409)
+* asn1_expand_any_defined_by: DER functions. (line 390)
+* asn1_expand_octet_string: DER functions. (line 410)
* asn1_find_node: Auxilliary functions.
(line 9)
* asn1_find_structure_from_oid: ASN.1 field functions.
(line 129)
-* asn1_get_bit_der: DER functions. (line 231)
+* asn1_get_bit_der: DER functions. (line 232)
* asn1_get_length_ber: DER functions. (line 166)
* asn1_get_length_der: DER functions. (line 130)
* asn1_get_object_id_der: DER functions. (line 212)
@@ -2058,13 +2063,13 @@ Function and Data Index
* asn1_print_structure: ASN.1 field functions.
(line 93)
* asn1_read_node_value: ASN.1 field functions.
- (line 453)
+ (line 457)
* asn1_read_tag: ASN.1 field functions.
- (line 432)
+ (line 436)
* asn1_read_value: ASN.1 field functions.
(line 286)
* asn1_read_value_type: ASN.1 field functions.
- (line 358)
+ (line 360)
* asn1_strerror: Error handling functions.
(line 21)
* asn1_write_value: ASN.1 field functions.
@@ -2073,67 +2078,67 @@ Function and Data Index

Tag Table:
-Node: Top862
-Node: Introduction1853
-Node: ASN.1 structure handling3222
-Node: ASN.1 syntax3481
-Node: Naming5069
-Node: Simple parsing6050
-Node: Library Notes6377
-Node: Future developments7159
-Node: Utilities7458
-Node: Invoking asn1Parser7678
-Node: Invoking asn1Coding8140
-Node: Invoking asn1Decoding9877
-Node: Function reference10632
-Node: ASN.1 schema functions10916
-Ref: asn1_parser2tree11115
-Ref: asn1_parser2array12166
-Node: ASN.1 field functions13484
-Ref: asn1_array2tree13701
-Ref: asn1_delete_structure14553
-Ref: asn1_delete_structure214927
-Ref: asn1_delete_element15382
-Ref: asn1_create_element15854
-Ref: asn1_print_structure16508
-Ref: asn1_number_of_elements17137
-Ref: asn1_find_structure_from_oid17732
-Ref: asn1_copy_node18210
-Ref: asn1_dup_node18696
-Ref: asn1_write_value19056
-Ref: asn1_read_value23090
-Ref: asn1_read_value_type25880
-Ref: asn1_read_tag28745
-Ref: asn1_read_node_value29452
-Node: DER functions29798
-Ref: asn1_length_der30001
-Ref: asn1_octet_der30587
-Ref: asn1_encode_simple_der31395
-Ref: asn1_bit_der32225
-Ref: asn1_der_coding33016
-Ref: asn1_get_length_der34039
-Ref: asn1_get_tag_der34579
-Ref: asn1_get_length_ber35124
-Ref: asn1_get_octet_der35717
-Ref: asn1_get_object_id_der36576
-Ref: asn1_get_bit_der37174
-Ref: asn1_der_decoding237847
-Ref: asn1_der_decoding39245
-Ref: asn1_der_decoding_element40184
-Ref: asn1_der_decoding_startEnd41491
-Ref: asn1_expand_any_defined_by42943
-Ref: asn1_expand_octet_string43748
-Ref: asn1_decode_simple_der44749
-Ref: asn1_decode_simple_ber45391
-Node: Error handling functions46092
-Ref: asn1_perror46308
-Ref: asn1_strerror46649
-Node: Auxilliary functions47060
-Ref: asn1_find_node47252
-Ref: asn1_check_version47848
-Node: Copying Information48447
-Node: GNU Free Documentation License48700
-Node: Concept Index73815
-Node: Function and Data Index74921
+Node: Top863
+Node: Introduction1855
+Node: ASN.1 structure handling3224
+Node: ASN.1 syntax3483
+Node: Naming5071
+Node: Simple parsing6052
+Node: Library Notes6379
+Node: Future developments7161
+Node: Utilities7460
+Node: Invoking asn1Parser7680
+Node: Invoking asn1Coding8142
+Node: Invoking asn1Decoding9879
+Node: Function reference10634
+Node: ASN.1 schema functions10918
+Ref: asn1_parser2tree11117
+Ref: asn1_parser2array12169
+Node: ASN.1 field functions13488
+Ref: asn1_array2tree13705
+Ref: asn1_delete_structure14557
+Ref: asn1_delete_structure214931
+Ref: asn1_delete_element15386
+Ref: asn1_create_element15858
+Ref: asn1_print_structure16512
+Ref: asn1_number_of_elements17141
+Ref: asn1_find_structure_from_oid17736
+Ref: asn1_copy_node18214
+Ref: asn1_dup_node18700
+Ref: asn1_write_value19060
+Ref: asn1_read_value23094
+Ref: asn1_read_value_type26027
+Ref: asn1_read_tag29035
+Ref: asn1_read_node_value29742
+Node: DER functions30088
+Ref: asn1_length_der30291
+Ref: asn1_octet_der30877
+Ref: asn1_encode_simple_der31685
+Ref: asn1_bit_der32515
+Ref: asn1_der_coding33306
+Ref: asn1_get_length_der34329
+Ref: asn1_get_tag_der34869
+Ref: asn1_get_length_ber35431
+Ref: asn1_get_octet_der36024
+Ref: asn1_get_object_id_der36883
+Ref: asn1_get_bit_der37552
+Ref: asn1_der_decoding238225
+Ref: asn1_der_decoding39623
+Ref: asn1_der_decoding_element40562
+Ref: asn1_der_decoding_startEnd41869
+Ref: asn1_expand_any_defined_by43321
+Ref: asn1_expand_octet_string44126
+Ref: asn1_decode_simple_der45127
+Ref: asn1_decode_simple_ber45769
+Node: Error handling functions46470
+Ref: asn1_perror46686
+Ref: asn1_strerror47027
+Node: Auxilliary functions47438
+Ref: asn1_find_node47630
+Ref: asn1_check_version48225
+Node: Copying Information48824
+Node: GNU Free Documentation License49077
+Node: Concept Index74192
+Node: Function and Data Index75298

End Tag Table
diff --git a/doc/libtasn1.pdf b/doc/libtasn1.pdf
index d874b4f..af15f47 100644
--- a/doc/libtasn1.pdf
+++ b/doc/libtasn1.pdf
Binary files differ
diff --git a/doc/libtasn1.ps b/doc/libtasn1.ps
index 735c14c..b0c8398 100644
--- a/doc/libtasn1.ps
+++ b/doc/libtasn1.ps
@@ -1,18 +1,18 @@
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.996 Copyright 2016 Radical Eye Software
+%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
%%Title: libtasn1.dvi
-%%CreationDate: Tue Jan 16 17:47:03 2018
+%%CreationDate: Fri Jul 19 19:09:57 2019
%%Pages: 36
%%PageOrder: Ascend
-%%BoundingBox: 0 0 596 842
+%%BoundingBox: 0 0 612 792
%%DocumentFonts: CMBX12 CMR10 CMTT12 CMSY10 CMMI12 CMMI10 CMTT10 CMSS10
%%+ CMSL10 CMSLTT10 CMB10 CMTT9 CMR9 CMMI9
-%%DocumentPaperSizes: a4
+%%DocumentPaperSizes: Letter
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -q -o libtasn1.ps libtasn1.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2018.01.16:1847
+%DVIPSSource: TeX output 2019.07.19:2109
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -1360,6 +1360,7 @@ dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
+dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
@@ -1564,223 +1565,227 @@ C3C67E71D8BE2B8D5784E8A6F19A9A8929DF9833440E160945274682F435DFAC
575048CC768BB8F13AA21C6B125E6073611BE138AE06D13E62E7EDE3D0239474
E040B3E446165FFE60E20B75D2A5F9EE021B22256621C290A8F3342F0347B8EC
CFA6AD68D47C05268EE3AC8683F4840D736EAB585C6284018DC94FC103B4A882
-ADAEFB625EA966F3877B3FFEA518B809A4BD1976F150D90CA8D3F4CD9BDE66D3
-C4EDAAD03F38F51BCDE46EDE3886162BD9BB261372533ABD34FED03C561B0130
-BBF8365B2289D193B45CA39A7A738A7D573E2345E7C90BBECA11CEDAEE221757
-21D744792446A018BF566063ED4B286F03DC5B7F675B6095FCB023CF330B9941
-F4CA0142BE88BB675436D0811B54A389DAF3C6742FE17ED4B6760401356C5F45
-2BA5CDE430A38B9DBBA11B96B48FD6B91492F12108A2BD5DCFEC68DCAC37B01F
-34829D2B458E78C57342FA33F4B6C22F4B14CDF101BC10E7705E095C1D41FF88
-847F3CA10F0CE5B61C99AA12085390CDB04303DAE42C682E8D51D67BFC9EBDDE
-E875AFE2C97AA54CB9CF4CDFA10D20C35A742BD05BF2610E3AB68D03444E830B
-140637754252B2735488BD1E0ED5C20050984E08E6072690862EEA0EECC2F630
-D6CA6E30A1C8C7E69C4DAEC4C75BC4FC4FCC6FEF365C73A4B3810591CC6D443D
-E7642EA8B6141FAE0D255B164DD0487C92E379BBF2C611A0CE138D81512A748A
-2F8839DA6FCE17A54327BE9D62897840729E1D46929C96685080240A13FF3217
-C9641EC494FC47B30938935CDA0B2C44BD08847F22D693485AA6A0F05AA5B483
-70BAA7AA0C3A14A5B5343666327A003001D221D9DA18EA194DC23E1301D171B6
-7C5EC1EB8370AB77BB0356CE8F299013E1C7F5BD9C6F2CB4E6145581F78591FC
-D029F91A54F29EB0FE77BFB5C8FE378E166955B2DCE364A71C3AD33DE1E745AD
-417E727BE5D2B02EA3932545F95EA4399C4CDCCFB49709B491FD6A1EA2733568
-4FBB320505889D4C5F32D4B4F10C28D0A661471869ADE7B824DCB6753D03C393
-E76B6DE5DAD6D5834739E426F3A0C660D784E5CD386E6A5441FF6B41F9448A7D
-56B14E40F0174365321667F84977BC33B2050D532A40397BDA697361BDC535F0
-53ED23C5EFBE4F7C6794304A0FF6B67A7C8E8001D47D7733A13FC672D9AEE1B7
-FEB0DBC7355F635C86461F1AB2F7E0B9C80F61E830599F2CAE67E85468336481
-E9E6433EC7EFFC359B70B98035F5D2CCCA4743B9EF41F19EBF3B550418D0D913
-C48E9D62580733D4E210AFEAA5B764A521F387CDE8411E3EA996347642BCC3B8
-05A60E6056EF0FF34F028ECAC78C19826F1EED90B01A47DCFDD769D78458647E
-505492642104B550D057D73C986E2CBE896B52CBD67FC056D968AECB5869C712
-4D52E0A774F3681832AEE1EEACE1DAE31B779ABE6E760072522C4EAEC7D5538D
-701B0C048713FC390B5E7D9729A5078AB46EE62B1B76857F65A3959DCBE8A409
-D8297851791989780C35328D8CF730881326E2C796A9A3161CEF031A068C42DD
-7E58F4B3B788CFD4F05195B4D58CB5FDBF7E06C44280723F27C20BCD234D5E85
-3B3AF6D9A49324CCD96C1B82B4DF94E182EC62C9822AD4EE33BAF810482F3EC1
-FEC1B87CE6039C60EDB6A8D189D1715A7CF542CEE4197488CDC0433518271D4C
-53EB8238C67DD01F7DD2DF798054EA8CD5922CB9A8E3D5522F71400DBCFAC866
-A8B37C0ACAEE6E8F18241BEE610415B7D7CD0F02302404862137AE9C9F9155ED
-DA5454C584E89277F40048DB5662A9A5C6106D16A51D3A5FFB7EA197DAD29ECB
-219353620641D310BF811DCF8701967FC99B937BA3D369D0A18A98EDBB2B1EAB
-C0534B458266976D1D872DF0E2EA702AE79A273054C28425B245154BEEFF874F
-5929DC8179D2DEF24B84CD7F8FA385B17ECD04E71DFFB618611C967040EBBF31
-867A1AF98AA82ACB6FA1E65115D06A5D10701D8077C7F93343D5CB255A565738
-A3AC97905293D0B83DF381AC9C3E9FEABDB49504BA5D04043A4473665488BABC
-F9FCB4A97167DC394327F0CA3510F8439843B6812ACAE6774C523EBE7434AA5B
-0134719857865320EB40001E310370BBB0AC48E4950B2C817A48E2EC92D04524
-EAEA30188E333AB95902DEF3088B9CEA52D14078A3FB8ED012F36118F8BA671B
-6215E1CB5A619A4EF1B390CE97E99FD0453A4493EB45C3793BE85CE13AE0C199
-C388BAD3D4ACADE0086056F62708B4E3CAB3864F3E0333E615894916B7334E43
-4DDE99CB3C92155F1A07464C5D3592E89CBD25D67CEEF0C29CF2501D0F9BD6D6
-9644EBFE95F2550A15A4E8CB6AE38F6CA4B006FCB5EAC6FB4A789EB88F891A87
-1747B5A5700CA2D8E531BC372A101783207E7FA42A019992A5AE22BF55B8538D
-538ABD912CEC58C5A9C5F78687A3A777391FBC5CB37B47CB70B7F965264E78E7
-57F9C81CBAD6693CB97300FBAEA8BA041E5E9ED3CEC9FC796F71F50823F2D2B4
-7CEDD0C6562D1B0F63AC218689002D09276EFA203860CE660E5B36A02ADCE68F
-5643412C907A028843F6FE8D05B734CC8F525C9D4F2D007E12F49256AD5A6C26
-414C48438AF65FD0A116091AA59679EF655804DE72D4A032C88E70E965289014
-4AF3B45395F2762F9ADE1CBB3570E9689694F3D77E1DCB65BE20460D077CF2A0
-344D1C07DAF4616BD52353032F50D5C640805D78448DF7E49ABBD2B2025ECBB8
-57536EB7EDE67E8647434B74C4D232E9628D2175D49DDEFA99236310B466268C
-E318689AF662B44D804E96D1CE5265678629E079D749554EEBD69278A4EE8795
-ABE7495DCEA3E85E3C97C91887EFE33C90D83C267379A67F7C86D812C63B56F3
-D605D45C36A0825B1CB352FF1D016744ACCA4D55A5A58D8651D023499D14F911
-6CD4C962EE7CD9110067F99C5CA5697E539FB78027C7FCD05060A22E220BCF85
-F4E3DD7F176B4615F53025F126E9BCF5647954FEEAA6382BA7D715867638EEFF
-A393E427329612E791A950FC84CA9EBF084D4A67A24CFD7536591229E67E4410
-1FE5D2E74468416E9720ACBD535E13641F39B38376C676B01629C6C39CA1158B
-0021A3C98C921B0C5BE8EAEFB0F489FA59834981F3D70E70E2C5CC9DD905BA8E
-03A6AE3DA98F9438064838B0FABCBD83071C7D49E37DE9D6C5289AB2825A62B0
-2A761A7E1BDD75D64EA0C2800699EBBEBFC97CB7212DD3DFF3284A966415E0A6
-668C25020BBAB3D885303AA85239B69C9C083D9D6251F35A20F63AB04ED2D7E1
-AE49EFD44BD620CD0B95929C815D8D17F909E2102027910DD813F5E4F20D0FF1
-D4E4541547AC5A6143439EAC27E0F1A11A430373FFA4401F7844FCBCC0D4D0E6
-C5E52E03157831BD6CBA03C00D2BB80C6CD64D69E885AE62D4ED452D2F4A864F
-0BF0CBD86C2780AAC052423F590DE3DE4D6E39EE05A15199DFC75F1FC1EA1D1E
-04514C061C4FB7FC872E099B526FF927F6AD8BDAB25CDDACF03E15E475979B53
-1AA25A8C9F77DC958A95A5F9A3B2D4B1CD759E0257510F850F148351846AB8E3
-34AA5CCA4CDDD6520C36789CBB281BA7DA20F5976A4E731681E47765896F4108
-2859376056F823A6E40587935455C22B1AB003F4C8053D57B521F1520009744F
-091644AD51BC329FD432CEFA48C7CAE415BBD7362DAFB92D997836EFBF9DC5D8
-3AB26A0DEC90F175F0222334BB7B4E97A84AE6A01E6CF113262443AF464B24AB
-1174DD4AA1760800CEF690AE6888E7A1E82D69DCD65CFD57CEEC83A52E28F299
-1FDD8D6BACD3F9F38F92F3E98D086437F44F55B49483C9F49A776191E7F26D7D
-9FF8642E1D69C6E97640A64BC981760CD1E423269EC8DE0166FC053D1DDE7AB0
-163DBF3EDBB6F91FF217BF62CF640E673056D030303550B3BA9B9EFE3886E79C
-015F68BEA5EEA461083D72F57DE6D38BB0F91829FE9B550B0A0E8BD802591A92
-494F50C8A2E29B2D13B7F930444C5CBAE371E3A32F56CE10DF8582B697E6E7D3
-80ACDB11EC9E080B0826D6CD8E378F5A98BD4CFFF1CA77CE5825EECE282A4C9D
-60458E57C15617D16CAE6114A65FD03CD57411C143EC678290410AFB7092B483
-C9A4F08AFDF5AC048ED7C0B5F04A86DFA1760C01E1A7B5629E9DB276BF04283C
-CBE698E90E635DCF162A543EA956500D2B499B17D1581B729DEEA5C5E141C164
-E290CF3A782497CA309959CD6E79E7E0F0989EF12631C7EFB79DDC27878BA445
-828C7EF4F4647683BAA41003E67515C4FD367D6DDFF53D987D82C123CCF4E1D6
-F6C0BD859F271BCCA27373CEAAA0DFB041B5A76C333B24F69CB46EAC0C58B3DE
-F7B9F95B2A6219BFD48AFDC471789AB6563D582B1DC2B55E657ED1F2DC33C718
-ACCB45AD417E725FCCA5E848AA997A5E2ADCD2FE85EF65B51BBA20A80D9CAF2E
-CDE7A216380C44B617C3965E82784856348A9FC8F8078DC34BD883A048C3DE73
-584E75F2F924990802906A334C45D82264E3806C1618F8645D15513E014AECBA
-CB8D02A925393174E3A0744D635A630DD984B7DAE5ED8D7B48A71C8580995E24
-E743E83AC57E445DB3B914A0C7743BD608CAED5F31AFA9ABFAC4EAC3B5F7C266
-13A496E1A546227BFB3A19ACE042D13954446409E09F4631C6EC967CA2B59E69
-185301A999A28106145843A60B963FD7CB0EA0AFF4D2F850B55C88A41B9AC5A5
-4A1D67A0622146A75224331421E38ED23A3FC11351B0FA8B2512D1A93C7B909D
-A1993FFC80B3F114A1468207592BFC34F49A15D77572EB129AB1393F557092ED
-59BD1E645940FCEFB4B3E39771E4983EAA2CFA33573B7FBA761067E54E6CAB15
-678536A2FE638A0A4C508A71001BAED69F3D4C2700C9ADDDB666B1754957A8B9
-E98DF835AED0544CF272ABA25FCAE349E0A24449E36A2719F2301426FB61069D
-3F8D24DBE1A3CF15EFBE64012D5A05FE5E81A7EB841909FB8C94C8CCA1357708
-C5E8BB923F791D721920C067A0A8065691CF400414C9E90D7AA794F2C7E845FC
-08FF4F8133F9C82BCFA699368ECBF6AC497EAB207E6F60419D91E5A0D7141E1C
-AF70DF40D7723923D15F4A33742D1C0439FAE7ABF110CDB6256FFADBF296F4B2
-651182F3FDDABDF8E6CE2EE98FEDECF192A750FCCE8D91A3D7C47B6FC3DDD73B
-925386537D7A9671B9887AF57AEA9A19610AF44C14EDC4CB00505A6D51492117
-BA96923DBB4F1C078764E81780E384FCE44944D68E843C0324A93511E394F3A0
-27DEB767145F4B28B353D6559D1731E07781F21B794C346779D59AC2A269FB10
-706ADBE2DFCF7FCA0D285906DB46B0CE4F54CC0C5C9BD85A1C1E1207AB6E0E2A
-C13B4C5D3B04D50C4686051BFB8C7C583104C5C06C98ED9793D2F90CD74F3B1F
-B4844E92D260D197D6F82C9161B78B509F86D0706DDB488119034CF8CE3F8AAC
-24A0D3145ACA773AFEE463E1ED290ACD704501400832572ADA4BC8CF3B45EE50
-5D6B0BEFE762E3E46681E856F031B50206F0EEC6FC48263FEBAC451E4CD5A577
-D0E85CFCC49645790DD11C5A939D589AE552BA5D1933ECB14BD54CBC6D8F036D
-76949367532CC57FF4DE38AAEC7F324691D5BD96C1A76D976EE267F4B6414CF6
-3F5F299C162BB63B5E64D284A97878ED05B770AE864607C538E0CEDD6541CF01
-5C22B9F702C119CDADE25AD23C31E78F46D215A6D65F37652C4D74C636CBA212
-8D4C6FA5667BE5D25F59F58C4D35319896060116ADD5B27F94205AEF4DDEB648
-C3DB1A06BCA363FA4538137B051D4BBC94B34BD94D9C8E728A99A067933649E9
-F57F1A08498E24783960D546B4F53AFBDD15F401C78A8982DC42DD2FCDAC4E47
-5DADE22DFE7E013275A619AA38B3889F8D81493BBBE04FF6E4815A7B51D6C162
-58B953BECD461972DA9952AA2F44D16465F0743C602CA583F436305FFFDB6F7E
-AA4398524C2D804BA3B3DD14850CAD0FD15E2793E3903D9809802F9FF33947DC
-56D1E63A6DDF36FA836D2A70DA1914954CFEC82E645FF3B17A6C18E9D1DAF11E
-EFD529C47B5FB67EB6925BEFDCB2965CD8D43375915B2141319293CF55912FC7
-9B7D7372DCFC480C344C0755B802DD31E82F7808DC99ADD39A6F37FE8417AFDE
-F6324B415C36FF87DF66543E5E411CB83985EC6972F350236B7DCE0E24B0E59E
-8F365F01803F62EA64DF9BF8A20755E1447BAF2FE8BE7662DEDF67BF37CFD088
-1BE20797FF44B62DC3A4AFA09FD64937C95E7085489099F185F66E3CEF6F6C8D
-A1362FA13C853D172096C0FA44F257F6270D22EFA230C261791EA6062D3BAACE
-F5A1EA0DB44BCDB834D28D02AC851440D145C1885A5B1E5DBF1F8EBD076550BE
-064452220616FDC46A7B92250F07C3D0440B8ACDB87E92DE5C567AF0CAD733EF
-66C90876469C5FBCE277EA1C85E76E00BAC14B824BF743D90AB86288A3D740D9
-6E402AAF6D223C11D7F4D03C47E39FC45F5CAA282EA30C0351D580A8734346EE
-735D909A2F6D23F1E1F55C2163AFDB42E528A1FB6D22FD3ACCC12CB771FE1E7C
-F5C946D682443A26BD0396FD44DC9484C75469B7CD0207EAFCFD6BBDD0A8989A
-A9B8FAFD59F3FC57F1C35ECF26EEA7B09A6505EA01CD8ADF8FE0664BE19D1E05
-56135EC7C89F64B7426E0DDE5CD424A834E576781A6179F63B7ABF41FA9A1EBB
-45C8D93D4C172353952D961C9D3BF0FC42F7EB4D4AC32750B0BC9596A4D9F610
-428239422891286815D66116A02DB58531B25CEDE819F7B5F044A9207C264DC1
-FD02DEB67B622DD3655D2FECD7C106F0104FA05C22D5221DAA6E134D3149608F
-03FC97DF783DEEB8F0757E2116B36BAB0384D18184177D97D947983550285B17
-1DAA6BE705219CB6ED34D02CFEB76D708014181B299F69F8B4CA7D0FCBDB43DE
-8AA73403A531D81A9290AE447184735B7C2FA4F81E59C07FC8454D690EFD9F36
-0D7DB4F0FD87DDA518387F342F9CCBA1B36985D8A2EF780793B79D4521AB828B
-5F0006E8A4F41976945501F3BCD6D8064311E6471E856D89903810B298D82560
-A04B927F04D6B8E062893466A2B98EAD6FAEA3866F0C43ACEA9695FC602F712C
-1A563759D399F56A38DFDF00A69BEBF7B52ECE48E1F40001C6A94825BA48A318
-399A5C879C7C70C913DFC8F0D26070AD1FADA158039ED6140B04D4ADEB2B3605
-B5EA9F670E2DD40180886053399EBF39FBED864034C95E378789FEFA0055BFB2
-148FEC39E0B80C4793BEE6D5109FDE9B405E5C32D8480A854838E22A7723AF08
-786FBE9A4D20207BF7A2B6AC3A8B38FBAC4EFFF1E961C0BF3750B99929A891E6
-7E3F4734230D98212410DDA8665ED6EC2CB22A4210AF6E7E0511214B6B714708
-644ABFC6D303CDEA42375BB856547B0CBDF73FD732B5FE2402C3BE286E391BDD
-70594242F300906C09747A66EAC5AC8D86E3F6D9123E5DEF6520C2104DAFBF29
-3575D497CC5C01DB31D97D5CD3A07C7A5D3C0ED470CF49BD885D7E2B5D336602
-09BB1BF76513175E98977D5AB84A0534FF60C8BA59ACF3E82011603B0ED4B691
-8435CAE6D4D937B84C14E8D58F5D0DFA6193491BA4DA4BE76D8FE65F3538D019
-A615B9624780817B43BC9980C5DACE3B92927622459284E0F337C53694E745CA
-9578F28788330B93D257C911558D443764E07C81B910B7752F53A2FB665DEBF3
-454D88067569006D1D55BC6C31A7E02632FC1AD74FA56CB95B0C7679CE4E917F
-4C364FC8FA6DFF3ABFBAA8193B559760C0ECA8FEB1EF4B1A7B09A412E9825215
-A5ED693F182EF3C51337A272CB2328875C437ECD0D387C93E25E69B82144804A
-AAF142E2C3054F59459D51F0AA663C50D317553B901712880C4B3FFD95F32C14
-424AE2A1CD3913497702E2BE6049CB6334A44CE727DEC48F259F8C5A514FD25F
-62EEDFD4CF170DD2CA4CAAF4B22C9FE090B4D52C96578B30646361D5EB942CB4
-B8A8251F02A22518E94ED659C193DCF48423DBFE0F909D10A84CB8AFF593D3F0
-E6EE31800E36249E0B7992E620CFBDA4B37B3A8C9EED8F13D9FCF96D517E6F79
-95C02E77A9615730264264B9524C7F5F63DC1827D7C6EED9F602D0D94B78BC6A
-1952BC2038E3D48FDCAB72DF8CE7B034AD9557AE9A3FDFE9D904D97DA83CBFD5
-4C90B52624876E17AF64D0E24FFCDD2BCCB66D98DEA7680537C79417A4F18BCD
-DD98CB487B447A317EE2F00E28716282A514B19EFA35CABAE5314ED349A50BDA
-82A0FF68C318D5212DA2FD9D3E7E440F2E592BF08F0DB0C901F9C3F8868CF2CC
-F50832676814B2A6832C1BFE1AF637A3AA129E160FD29898244A2D0145AC8332
-7269BC07364E7367CEBDCDF7DAC0E3745BB58EDBAF00618A7619F31E5A942286
-CBC91C0B565B57F9BB8C8BEB3FF3FD10E4063B85E8874C1DFA13031310FC2826
-3E67D0EC92DDF46F23F0AA4851DC75F92CED85821B3AFDB02D416B7D463947A6
-CA8F9409621B95631862A86002FFAD9FD0098A20961AD38B234DB08E5DF61D51
-6F85988ED8B0ADCCABE7F1ECDFAAB1DD9BD40629B1E65BD089396FDFE0A17C40
-99951F668BD116E812A245936D70E294285F89170447520CB556944F8DCBE076
-C4FC87625AE3D679A0ACE7DBC73FE4A28A22937E48C950802CC71D47DC551A9A
-3B8227D72952C46FF592DAF1746D996CF17996C146CED52610176221E9CF510F
-EAAA612D1265E4E1E4AE2FFE7094A99C139A44E7255D3A6105A21435ADA34ACE
-E82F071DE99F3A6289C0C04362EFE40997E9E15CDAA5DAAA4C16411F26C01C66
-A2A6EDEB969E9440CF7A8980103DB8D94538D149FDAE75FCDEFF3F90424DF294
-0EAFF17284A5DAA1D23F4BD74B0F5B50B78E1D8697C1A3CB203B59F50837E0CA
-D8ED77940E586EC519D0AA059F4A497D49635DB8D96DED66BF8F3CFBF7C12C13
-4693C3CC69C420B19810551ACC78E060C001610E0EACFA822BC9716D3671A62D
-2AF9B525B9043C67081A9C2B8D3B703AE5C407EA1C89610E4EC92A953711D45B
-C7801F58A316500BBE4794193AA9B21AE017416D1CCC2E4C6315EA0E6E1E825B
-972DA5B331175BDE7111FBA4F41C13CB40427A97D8B9A5F1702E9A9EB0BBFC9F
-0E00B4759F346D38E8A47F2F0C63C7D284EC8DB8FFC18AF0120F081126347A60
-2883E5EE4BC0858AE21F48CC271C90B37B191CC377126A41EA064D81C6200B7D
-340924B6F50564EA4D2A92327AFCB1D5B07D6B801125E41732D4F373CDA0B495
-98106652E949972B86BD3882AF0993C5A0B9368C20DC3CE87C00B53267188A7C
-2FE7EC5E443654DF30463A83069D90E7BBF0C787B8EA11C7D7CEB456B28B1ADC
-605A8956DF1B63938C2946B06629FD12BA5AD9D627ABC73DD7C18D919AE05198
-CB7274D81862195556F92EC63E1DE68C09D2C2A6AC9E049FE7A28410201A4D93
-D569C862EAC182B1FFC5715B68E40D666F59B8AED6526D0047AFE6891183925E
-3A2EA27C741B8C4FD031537A461737709443F63EA922D2DBB2C5519A72A78832
-619F190C31767FD4DA0521343C246C874F6B7F53F444A5155984062FD7FF2E4C
-FD12638DDF777F9AEC8EFA25643B2FF85180A73292F288A13EF1593D0245A90D
-A8E50B6870075310F9D0258F9626D577D64894561FAFAA31A7627B38F81BECD9
-B322EA2901D61545B7489D3AEA31BF314D236F7994517EFB8663F38D0DDBFD7A
-A992C19863C9B3F32D21AD970A8869592BB97508F7DE9544C360D87FA95FE33B
-796D41808589C67D6B0374AE0B7F55DDA11CB34F9C287119636A642AD3A40B2A
-7F6961CAA3FACA92D3815B68184595A93A903F73840DA1A3699A420CFFF61F8E
-E38B82E30C1E0F5F3E5518A9E87C2B4C0177AE246AB345A65388104584EF11E3
-88254BB0CCBFFD36A924EEF2D21C4030AD5F3CCEE563998ED48CFFFAA24DBBCD
-8C7F885585B3A8B3FB5B8A03D307D752D5174A5C450C4C64369A371BACA1C7BB
-4A7058108DBE6065DB0C64DFD4584C7362CF17F2442ADA0FA4D89E82E10E27CC
-133162A1DB6F2AF58AE0EF27904C89297E9BCADA2017140A52E267FBD44D5704
-E61C
+ADAEFB625EA966F3877B3FFEA518B809A4BD1977BF1902EB9F06FBAE30E8932A
+D1761807C92594B57F86E1E36BE9027B7D1E0C22A83A2140A91406D0289D3833
+C3361F8882CF720E445B144B633F199BD875EF97202DF88AB3EBA034E510A6A2
+D2F464F6D5AEDC833F8BB9BA74A6679F71D843D6BC4D40FCC68B411224212236
+3B94C160C14C57E0BF68104DF3C99880C25245EC98AE48F71BE243D4278C2B17
+1CAFBE0C365E96559B77E607BFFC6634D03B8E25BDEF3FD2E3D8B66473C7B425
+45A646CF3B68A56D1C64C5456A61E5ACDE212CDF6DCDF6D589049EF6C91C30AA
+8556424F309355355EA52E8F7342A91D122FAB2DFFDEAA78506228B49385C05B
+08793E912D338712173DD0DB44C7C3281FA3D8B14CBA99A3938B147564342923
+D53A2BF18D334DE5E31659A3434EAC96A8D7B363AAEF5CA4DAE67A27890C07AC
+F31A6BA7E4A3C2AF654C025F17FCEBEC864C0A9B7B68571CA56BFA4A249896FD
+96BB19B8F250672878B67BA411BBAFE3CBBD940F005DBF32F1D682F487A1D1B0
+854922FF69C8D6600E67142D651192A911ABE2602E5126FFDC351E1845A22D02
+AFC17BAF941906E5F7A3C35D2DAC2A2F1C958E637A0EB5401B195FF1E1908B3C
+EE13700E365119C68B8A0C3471D3E7911A6734A678F43E86FC55570385E5E107
+4CD618E7430A92C695F6ABA13A68FC71C573D62F6FEAE12D6C1EEE1F1C424C6B
+CFF56BDE7FC34F88A144A62CFCE0D377F8BA416827181FBC7FF8538FA19B1ADA
+1A12DAA904DE6087D90A750CF8B76F97E3AE0BE6F65145F7E99F566C8D18F817
+532DDE4EC38F5127D404053F3B6CB4694D9973209533D99DC44948178F9F976B
+697A04799D7FCEFB13B347143472353503A3DAC56A753E96F46E1AA1D736D7CC
+55E6E80EFF0FDBA4A7728E5B5BE6A98BDB93DF5E27253D9C646B595B0507DE97
+CEE5379120D39CA5F22E3952261C0205AFC2A7AFE07F0D8352072E6455A62FFD
+3FBAFB256E0B4288E8F6B724CCB0913026D7B19435183FEB0E7FDB7DA521A9DD
+EC933881FABA422199AF4F4FBE7BBF8F89F4733A31CF7814673A4BB142CBF3B1
+987E1BA9A6E3372A3ECC943A373940E4411F69F23477CDB2638C060A96023009
+555378908A27BBB6DA89D5D556A536E38DC41FC66F35EAEC9C948AFB2A826A6A
+5E8DE93976448E0DA8C81AC71B78F76FB1B265E446C05DDA5E049298BFE6A4B2
+DE4053742E11EC7FAEB122D6E3E30D91F075B38C7A4D0BBA4BD4EDB637BCAF9C
+D2A3E27AFD24071B4CB37722D8027E8604CB80E3EAAF45F7098F730B11016E29
+29E6E8460703BFC901B4314A825C3D1783A46F5947A46CAF30BF4A66C7EA7ACB
+A63A3FD2FFD9B7DD4D72EFBD5C0314885AC7EDEC9C04244B07CAFD993B9EF84A
+E12A23548EE99CF89A77C5990687BEE34FCEC3EA658448015BC90B0786E5402F
+9F432FF356324779145310A982E269789AE091E430A0F4C9F3EF03B93C2220E7
+CB0627B8C4193154081CE3A57E64F659ACE95511BF4FC4D4D4D78A503B68613B
+4E6DE03A7EAA69B0C6EF0C08A117D3F1416D077BE519E668A3D7826C924446CE
+08FB7DAE6E73301DCEB2312BC57401DB7CB38F2ED4567735C4792DF450C91F28
+35AD53A70F762499AD712984A65BC7561CB0B0E9FFDB1F961284DDF22C42DE23
+9A734C6EF90E453F1721890BA4056EE43FEF8743407CFDC3A4BCBD0D74CFC14B
+019585A4E0055F8A79C1ECA2EB40EC0639BEB7F11F82E006C772173319ED3765
+ED20E579EAFED984C0F83C694968E8BE5000C9F9BAF72F24462164578FBE03AF
+8779FDB09149BBB336335C58575B0476E8D97D06CFE4F8842348AAE075872F22
+6CE687C9C127C17720B7AB19B734670E7F241D493F71F7F670E3348E205E1243
+18D645C5B19C1F5359CCD9D3E9B5167BDC1FDA655AF47B45A7D15552583AA514
+FFC9A9E84D5D3EAAD53C17F42F650BD3E160635F8A4502F31A8781A72D893AE4
+7E65B5C524F5292E2D6DEC4DEB56BF52D612335401568F3B260DD73FE1E92219
+0F3FCDC127A654E3E258DF662815A673845C91131CBFEB5750A3BA225892FAB5
+2BC7341D758CFFFDD768983EF8CA9082CE935FACA20ADE200C148E4C97A81E45
+BC7C49D180E7640AB9CDEE1D03851AAA9A5DCF5EE98BA5AE501AEB4DD6C188E7
+8917B66C41523220E0722168D50264F000046A23102A0302F68E3A17BB370456
+FECA547897AC46F4E91D7A82401AB537041F144284F8A7AF17B723669E9AC554
+9A0F0874E4C471E01F2D53930493C52FD6C61175A67A4E16EC362B6CC4B242A0
+8AA814B7ECB7FF829F121E9016CD0F9E4DF347D00AA7A30C148BBD5D857E8685
+00B284B3CA2F0DF0E7C5871A1F2107A2AD69517B3DD43591058DD5C628E27073
+BE2A18DF6E768E8E25003F6A06FC0173673209F1DB7794C144466AE8B5E1271D
+37E874DCA477D70AAA8100F75425DB765BF94EA131CFE379632CFC31D907DBB7
+9F1C967FF459F490EDA15522E7C6E0399E7B76642DD67B2310987936074617F4
+4750B22CC1BD7AAB80B2C764118F317852B90580C369324CCD3AEC4B62D43004
+1B51981E02DD34A98B01A8508B189DE0C4E83813721D3B34417F63D4A25F640E
+D09CAF6958C35F1E1F17F2C846A623002A91B9FC2689D944F1BC4F265F71E3DA
+8CE72ADC538ED824DFE439634392FAE73FD525F563158CFC77E0E4F73C6E2297
+D9D1559BCD92805B4C92EEC03B61F313725A14BDB45D923733EE78E33EF3F43F
+36DF9D01307833C59F0F385921086E0888A660BA2F78AD31252AF074602AA100
+E149F7EA08A1F6BDC3895AE0090CC1C43545DD9C639FB9B39D52F3AE78BBDFC2
+A25C3AE98BEA9DCA8A4ABE31096CE36CEBE9BE231D7567115FD2FCA246ED3916
+A041B7B38140B3A85C1AAD83A5E7D540F3F5EA71B7D5A60E6B278C981962297A
+CE19E330B29652E763300876007240244775D1E3D78A3CA90A2516F68BD02677
+54899B8CDA19653E67C5B7CD73E173E4234F116E85B9FE48C50544A644523FC4
+E7472344E92271838CA7C85A11B028AE10A02771D3ABDEB514123D947859EB2C
+AC95A65233B92E29C00FED999E4ABE5470C7F5661A371B7E1D65C57E7951CA42
+89B2D52283208ECB114D13C0049ED6D128750D55D3230DB53DBB5D26DB7D2A6A
+1F70AF774E25ACB2037FE312A5EEDC40694A38BAAE1821CE515197F8D950857B
+7AB5552C30B3114899951A421299894A07249015D943D128043D14AF40837B48
+14650157A807E412AF4E9009C281AA161FA8EDA7A1B59B6DC8C92056941127DB
+8697F91BEA0847DD52FE27EF171DE0B4C6A03AD86C61C8A7D60ABF434FA8C7E1
+BFF12B8B21765D09795176CBCB70BADA370A6D5A6C55DA23C09A23663AD3D4B1
+3BC46E8DD66F74B8A9AC681A443F0341CBBB9920264EA6A1591A69882A46EE26
+0557E482A086AC5AB23B027D10E4B939A109DC2DC98B6A5F9E4CC9EC8D98FD54
+FA9540F5905F03093983FF900088332721E33B06CE903E133CB8FAE79C72284E
+05005AD63DF217244278AA0CF5E02E0686857D8DE1F74EFC620F0E2A0CDCEF00
+11D89F33A7CE21672FC42089A81A427AE0806C6E5E5C954D1B5DD54E00FA4CF3
+B628A88CDEA0D61147962F5812837FFE6E7EB6043001B7DD871F4A5FE994CAB2
+3F5088B577B1A80546DCED65F01893D51D2F5BEB330E1A1F7537D07B3E1124A9
+6E8F443034498841EB49E467791ECA165990D265D6B7DCAF0518A659DF3EE073
+01EE946984292152FBF2FD33363E2EC01BD6D0C64FEDF18AF375695080B9A152
+29609B360C1E08E04D685E9FA0238FEFCB44A533B46E69F293CEDB3497A252B1
+B94952182838E0BC28D7BDD56D5285179C325E91B3483F678A6037B67229E55C
+C6DB7175994B3B968FBAE1AAD369A61DB153FBD4E85F656E5BA6F47FC3EB9ABD
+E877461DA4327359FAEF13F31648A9E2611BA9F8F92C046DB0C790C9BF7190C8
+6664A22A8DCADC378C434E63807051EA2CD0C8A068052DA3532B74BEB7523FCC
+3E46B53C228AD100C962BC17C1A6120B22BC9BA7FABCC73C8D853CEAEE0CE4BE
+61361522BFB29DAD47D8C63161DD149DB3B4A56F69CE6F06E0B8A0F5C130795C
+CC75DE509A39AB65E6E948C57ECAFEFF85E48A33A344BCAC6D2B3A9E147CF412
+44B42D1E1999749013B86A54ADE9F21BB47ED0B9B0FBE6E04862CDF0A6EC36C8
+E278993B652E248FA402C96821FE3B4AA0A36E48897A176E3D7BFB8CAE2FB727
+67F1C9F310EA97B784EE5314972D59E0FB1DFCF1CD627228CBBBB78EA9295DED
+3AAA3E0237DE3F86A76AD6814D05355B0296FA57F55855AB17CA33082FC055FF
+FD15B98195A545958A1F7695ECE82216010A3B9B9E9F7CC95DB7649D011749B3
+6B21242D5C58C7F627DA1DE432DE5DCB6701AD43BE64ED5E129D654ABE811E2E
+A8148D1C87135BCFEB584C62839A13D1C3B9E3AD1B07E8F39852E90DAF725A61
+575F6D0D884A6A362BBDA1C04CBF86CC9B38F248011F18BDF2AD86F59FB9A748
+752D1AD5D0BB7868ED11C7C5A97895502D9955AEEE1273BC97B3585BC8E0F64F
+89A91959FE49CFB9E5090AAD27F3C9D9BD15E4CA2DF2F237897CA6945BCB862C
+E353B8BE6F2B1D4E1BCF7226494A2F1FB86008FFC8F5F461176B53A7BA4E03C8
+4FA72ECCF1F8919AFD9A7A886AEA9005B14A928D52997A7FA77730B4D1E7D366
+50E80C99E8F04D78099D320F7CC45791FE45F069B794A37F2C4C8E24002D7487
+494C7A1122751CF6ED23C2F991B65861D809E0EBDB71E36408FE840959AEF3E3
+427B1C3FB3F213BCF32528BC101C0BAE5FD1B874189FC51B86E821426F37CD4F
+98726B1553178576E8CB2CB6ED773EDD4FF7821A3AA19B5F170E7E0064E2D2ED
+F6237CBE00C3B7851102D8287D23926F21977FF11935EE0C1AEACF76159FC031
+1D522D600DEAF60A76C49FAC7EA9FBB25CEAB8EC0E06B55F5502DA23DE3E429E
+EE8677FAFA080E9644BF2401599E876B7D6B534A228DD92C137DDA792F24221E
+C16A7C5CCD2AB7B9F01C77FC23EB879D0F6023BBF59822DB6AEFFA993CB02BD2
+52214DABC729DA7939DDB909EED4B834E328459CA45AF906012BF058AF847AE0
+18EDF77AA15D12BB3F01449C225613EB5D11D93882F7F05E627E42F2B799BE7D
+9249C8F9226E929AE04ED6A51A66D789319721162E127379EE9514AB7A8308E8
+B3EEBA20F0C558EA68068BA71C9CEA158F49C295D5CCB312A6952B49F93BF4BA
+0643969797744812290640085654BDAE5E5CE8A78B252ABD6E2E8ADE87DF953A
+0EDF7411E58383B6A269D928DD4D3ABB621BB4FEECDD9E84B29452859B60222F
+170639491FC6F77F39A256341FD992156CBC45213AEFB43316F2C3E446D7806D
+6F56245B738E0F7CD2E1BDF80ACB163D425D05583AE7E7373D687F079F4A28DA
+8B6EDBAF5C3C741C2BBB3D33FA4FFD71AE242E52F68B6496AFC50097EF031824
+E7E43BBB6020F93BFD437F06CECF02194A8CB87B2652E97063FECC204E4F0398
+23743A81A2EA02BD016791E99403E67EADA4ECA4490279652933F42857351217
+62118964338C51F534C68B9B9BE719C166AD3AD9ED522514A99C97E8014D5852
+380A81B5890E0A277102130BE0969E6DBC015F676BC0B3B0DE30D07901B10BF9
+45B89F18EE13A0D617FE3ECA8E6EA04652AF6CDC7F009A52B531EA70522CC31E
+A0E91B6E9D60EEC4DD7F92B9083C7B019CE01AC885F6B5857AFD4123B1B87E58
+F0A889C898732E0D079184450F12BBCADBB249FB593D81738B8F69DBB5016F60
+3048F5C1D5CA2266259DD2CE37CDE4A7E1633C4D3577E390521F8A8D8BB7F6FA
+6063AB1089F18C8E30F87727C4CF78D5C54B0464E17E55C4347AB0EFB810C049
+C2307E4F520110A137DEC343CABC1F642EDDDF233B96AB7F8416676BB32D2479
+65C48F746E7019C839414CEE81A03DC435F10717A85286BBCFEACF24C9A671BD
+4820BCBBC896A30DA3450C4F4947CE3A07E717BC789DC4EEF25CE4AD2BEC0411
+FE152A289C1D26C9508D206386B65AA1B2AAC060163819C8496F3609E291FA71
+B29E5A529994FE4956C4EC6FA95AFFDADC2DE58ECF6C6E160D3306B8FD42E398
+4F9C0900EF120203684823BF309F03E23195F2848F51E321DFFD9BC24B6E3BB2
+474C7CA890DE8C0EFDD1085D37FC800173ECC63FAFEAD51B681F964EFDB5C0B2
+7DD7E8EF6F333497B3FEB72FE035324FBBB06E7488441083CBD10F2E6024BD4C
+72A0AED77847FBBADCA8B2880D3CC8E04BD1503C70DB1D8DA1C2BE303F0C7CE1
+7673488237350657DE4B7FC9775C13B6231DB84845755755F67D4ABCE6F45658
+E17CE8FAE0CAC26733FDD493E15CF5D1AD5BEFE23D6E1EB335A3706E3A71EB22
+40BAC5D469EEAB3686691127037D50A7B2AFDB496D2B1E9FAC69DC1E83A0D833
+AB839AAEACE34AAA0F4272774E7DDDA88586A381C6133F12A41EE11FDE813E59
+B6E5C3914AFB7F786C39CFA9C5A8E73D49B3511EEE9AEBAEED94B8D559DE5CE9
+CBE6BD710215DB65F041A230740F28BDDB46A89B38AC8767F252ACD1B297EA4C
+EE114AAB6EFF10D398CA1B788AE63B672C867474220F6F20FE9F0B1AC1650B2C
+EBB80EB68D62024EC5C2124F3607DF8776928BC25867C4730808308FBC326156
+5A99B88CD042F581A389B459A6F8FC484EE8C17DE640C7928A78CFBB9C6104FE
+004009DF77FAFE4E1C092F6E5FA048D771D7F25AAC0013D0402A1AFD1E8D0515
+BFDC767DB9BE89407322857519236AEAC3A076CEEEEE7FEECB30B6751EE09E9C
+472DBDA84A3D45A6CD9B9E7A29FB31852315389E7038F57923EC9225803A6A68
+7EA2F3EF394AA6CCB8336F34F75E2B5E577A4724663A0A35338A8E95C989B9C7
+CE48B675933214EE6FA7EE94B3249ABCEB5EC75A714C30CB88E27B9752DFD3DD
+0CC44FC1E3230D92274E1F35429B377DBE57867A40F37B8B88260C3A72ACDCD2
+C8AEF714124B838C638468A9405C46CB2BE67A118A117FBE0A0CAFD9A36D2882
+516B94676566B98BFA1EF6DB6D7258F9420EF010ACB3DAA97409CB272A60AE22
+0E03F9C40889C514E3A4D1BB3A10A6DCC439EBE37D8C28472060DB405F74E855
+27BAD6D66BFC8CCCA038F5BB9EE0F5F1EECB64311A731EA3A22B52AC2AA9933B
+7909A46DC299C3D701527E734C339955325265C0D5A3E30B1506239F803847ED
+0ED27F81C1B982FC881769BB5DB178405501DDD2507EE8B038FC9F440E849736
+2CA4A7CA8F25BC2DDB645DC96DA317DE9BA8A2207329D3A722D2D15663E47E19
+13058EAFA7BE4635666070C17BFA087FEE6244495F5E5AA6CA1FF1054215E9CF
+AD6160126243C941031D3675B73AB83602B8FD765A81D49A8D7AB9A3D107BAE8
+234D9FDFD2D720C1894FE036D249B7A19165A744F8A5D1C226258F8A6ABE0B3A
+65DBB2E761542D20EB327375A1B6738F0814C9273D30863144AF710492D90C61
+6861198193A64E9A6BC1093CFBA2890C4132D1B9F0D133AE52F0B8A39197534B
+22BBCF08BCA93A492FA327E92008F42BAC0AD14AF049D2C23CD92D84C9749282
+FD4A491333DCFCE526AA22C2C68C1A85D18199782807725C5D1363A72CEF75BD
+1ACFBF1B64590C6A24F09B6D4E0C433C49DC99ABE220361E98D25C594253DD5E
+903F487B4C2553F78B70C03B8E3658405FD8427065ACE263AAE8AEF2D92ECFDE
+71DF9CB7DD61A9EC5B0AAED868F91423A410527C057D8F543B93DA02F40CE88A
+E4F29A755430068AC26CF97EF481B5650AEDE5E6BE6E03AAA2F1BB0D04507028
+26C0166B4F91FADD73BD4C557C2B3BB477B3A73921821A704F18103489109533
+3B7F59422F9FF147EED3FEF9BD2EC6EE9C4305593C5563CB6C400353EF3DF249
+0E9CAB7918B61706BC300A39AEB4650ECCF7A3E9342297E4E6AB177F6CB63BF2
+C33DC31FCA946D8B4D33788CB6C91AACCE90DDF5F1B92DC2E7B2D0E244F3C893
+F37B7E2FFE10EF0D1AD762243840BBC99232B1CAC7A321AF88D2BA62B55E305E
+ABF6323CB529D0766E0E8F4230D9EE5BB6863B605A0DF56695C01AE054CCB502
+1905489F1A486FE00B284356D1AB83D27BEEDAAEC8DB318114590D0324755C61
+18521C015B5855F0992792E644D194BB3F52E4679659FC4B8AE383F7EF29ECB9
+6EBEA201A8875DEA6410CCBF09BF050D08182DEB13264F55E0F5FFAC218370E6
+5E9C8AF9E349856AB11D393B583F4FEED6EB4EFF9727084D69977D67EB7B61FB
+A79DB726E75FD817270B6CF8C8D0A57A6F83ED03B1D3DE572324E7F4BD4D1B99
+97140FF18BF45B6198202AB9A30DEF4ED9695D5FEC15942FC363E9CDEF782F04
+486F71CE6BFA5E8D53C969065D990700E3485967EC03EFEAF0F479CFFBED405A
+2D29B98307EA5D4E2CF536DA21F66A961F9A860EBA38B51EF6A106E009DCF099
+B0A2DB3D768850526B90ACE82FB6589D3459351DF1CD37F9CFA174D2F9597A50
+C1033304D971EC0C2314B2AF3E665DF1B53F751E913CB5D4808501B507059879
+769E3ADCC2D8E3875C7D6EF7E7CB48DD07E2F0B415E869D196B6D0B8B80023C5
+7501F75710AF487BD35DBC56BEA988EFB72A60D37DDB34A3E16E4C3302041FED
+F67725B1E85AA62C438D812902CD301CD6B0711356956B3EE81244634ACFE99B
+695465D6249EA7D73F0530B7A5C6C321E52608C33699498800E0B496288D2C91
+F85FE65F17A7127E7B24B965CA8901ACBADEEAC73A7DE07B53966F0A5D857486
+674B6BD44831C3DA3914E72DB66AC7F1F7553DD8F8125779348ACB28B313A5EC
+BFD42000EC537ECF0A191364CEE8F7557697852610AF5C00EC2E23DF58BDC5B4
+D7238CF054E0019259CFF06D29A7045757429F71ED61743C71A6CD09D0CC9DA9
+289B1C880D8E07C79E66FFB61682EB3162821C9DD3161EEB998269A42D64A160
+9E07F3D060E6D9055636B786218A103F8ECEE20933D1233FBFF0ECF9F01BAF09
+560441BB6A0B6931192496CF3485BEC03F10581B3C8936A6C3BB0C3D4AF346BB
+0FF8AC37DDAE5D82561F31DEA6107119F89EC25056E7FD5984EA349407EBE597
+BD71E2EE4E8034690BF158D2EECE68EA603FAD5E0258CE2084F898D7C7CE7625
+3D8990CAAAF8A87C730FCF7D9DA3E5991545CF680CE9CFF96FF99F2660E2164E
+44AF04EF697F3F3FC8940BCA00A526D8AB419FF20FE6A0A007301F9AEA8324FB
+5B069EDB2AAC535F5489F723BA457401417A63CC98BBC70C26FCE973F4AFF4DD
+B3F3CF7AAD27AACB8C23D7E421D512A82259212FBA5D6DE572A40D04BB05D470
+EDB61AE5E4358F11D3FE840D24AC2D9CE4F91B3B9A357CBC8DFAFC8A0776DF14
+32A016B0D5F8226A7F3FE390001BC336024657D1F7151DF5098030553D71F87B
+6A5C46D286D0AA3E946538ECD82EDAAF2C6B608041945232E52E27DE9928875F
+D2406BA32126FCC92FCA719DCFFA13CDF0367E294AE6A4DAE01CC1D70E59AFBF
+EAC961C6B3F63F3696FE3105F7980D24AD4F14BF7F35F84674AD400A94BE2A02
+9F243BE2AEDB5AA8BDC1A3FD5371E265149C110754A70412B068828C611EA981
+2907E87A12DEE88636F904F865C6CA994C0D139AAEEC147A2ED1955F527A7230
+51D5266D8C7CD0A1C1A9EA24CF1E65BCE6EBE21E04D7C94B0FF6DCE002F05BCE
+1FDFF4F6BB1C72A49CE1A78A2916382D3DFD5A8A9E6D27C170D1626B702231BB
+9921646CD185E87A367BDDB9DDC2F2239F3CBFAA9B73DDBFB2E5A6EBDCB0902E
+CD432D6171B96245102B362BB07BC33B677CD115B309E98C35E02A515BF3B651
+99789B6B3C8E81C983D1AC9B9E53F4B3BB0AF40D3861C206272B07433C091734
+8123BF670D0BD74E04131F26C7BE882288C3700D0C3E804C23843BBB689CEE18
+40BF8DE4C4A90327099E286377892C3BF307240D0012C3BF05551B1D66F57F6E
+D5409CF3C82F5AFFD40FD83C998626CBB46EB5B53317DB98C7D4C08F230DC51B
+393211EB6B
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -3751,13 +3756,12 @@ dup 12 /fi put
dup 40 /parenleft put
dup 41 /parenright put
dup 46 /period put
-dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
-dup 55 /seven put
+dup 56 /eight put
dup 58 /colon put
dup 65 /A put
dup 67 /C put
@@ -3993,295 +3997,291 @@ BBCFFB1ED92299DB0291CAB10A84529B7FE279C62628A24A2FC36B01976E13A9
C528A198B8EC8654AD69CCB5C209964A2B25D6DA9BA0FFB366D19D8C69701D7E
8ECBEA88569601C80E19A4165AC73F32D0ED08C8FD0D0407325DFF60D69BC8FB
95D27536CFD07285E9FA0E957BD98B45C2E7A24AA33635C6683B801BC89AF92B
-57BDBD4C4FA2979D6344AC3198440DB1709FAF1D9DBD7EF56D61664EC7BC0921
-2A51FE14DE1E2F1297F9DFD716BC08D5EED44C02A449C5F2F57D79D8806114F7
-A29CF906ABE31DD46AAB5562977194ECD03E78CBB9B405F3E2C4288D963F1B0A
-CF60D94F28A813767BC40D2BF2B7808804D86B70DBF94654C66BA1C9ACE1D8C0
-DDC96E86F83000882EB43B827B54D499205F00CD9ABA1488A5ACF8A1C67DA1A7
-319BC9466FAAD8DC6178411A7665B719C8A2C9C08752199137D18C07F050F920
-D99A80697D9906F17C34D9F7002E243231D0605A10BA62A5BE24BA9370D67895
-2974D9AC107A45FC80B6CE4737F49921FB1F14CCEA0968E7ADE73F081A24938D
-E19CC21EB81FE8100D478C6584A25876B1E2F4DC29C866CA5E854FE495F46B38
-311FE43A7E8FE3F9646507D23259F2D4970ADF7AF7E4ADBA8A1A5A8A7C621F0E
-F2A1A4E4D5FE16E7B0E897D1896F4ED012A454FCE7AB1ADEF996780956884795
-90DBD63C5828FB8BB6702048EE10A62CDE24D71D6B901128F9C6CDB76BC5C7FC
-E39362BBCDDB4318EF08C9B3CF7A0DC30E5D92AE4F93E4C3F6C8684395BF4DEA
-AD736D39569007E8D020D26FECDE65B054B2A8B33442200B6E61DD0CFCAA50F6
-BD827C0BBDCD78C5867AB1E712C372FDDD5DD3ADA48BF40A5442876A53E5E34D
-9EEA9A4DDEA7B00004FE8B5A2F74A65266BD4E6D81FC5B2DE06AD5405A353CE7
-999ECC2189BBF0E02581E4FD6B08F3709D92053B91F58AAAEF526449B3994159
-9C32F9D5C58EF1C8643359280E2712A42083D51AA7E2C7E3AFFBECA3ABF7E65B
-40D29A06619AA6CCBC3DD8C650EAF46E7A4205D0AC073D975AE628F88935027B
-36CCA945C0CB9CEF075D30897740E4696E90C5AEEB567EF45D8BEAAE811D5394
-5C56EF1060A048B764AEF895642899A64D1B43DDCC7F000B38C6F9E8F8E18B33
-E52241A7028A30C0E7A3E923C145B66ADD817E1142B09ACC1794F733CD09C893
-E7CAF8B9EAAA17FE2D99FE9414B0044735ED4697F40919329E03BDCD4B7D2126
-D51080F01C44F0C6B20E7A82AA5DF30B585AEC9F950BB82101C19895ADCD7668
-F8FFDBD6D559C40F27872C9DB1640EC248F8C1E2B852F244DA57F46F8F36E34F
-672F649DF741D281A5D92B77D14A35BD71E1BD18E1009BD5852D099AB6C6DFD9
-81363038ECC5CD2F6C9EFBBE0556CF468290624E7A9FA0A119596C2CC05901AD
-0FB432FCF9B79098D2501C46875F44CA438EE63670527EAB66AB620EE152ADFF
-F63309400BC9BB2C93DA80BAEFF91CA0059965B743C7658ED2999CCAD0B6CB30
-7E549BE6CC5A3320A9321924DAB511B9D1F871218787070B7706F5DA180E567C
-30B036869F297BE6F67C4519947BA83D9C24FED8DE0D02B7B9CAE1A03F82AB51
-75F707A65DBBA797653C1CBB3E5A0DF49D94CFCFC68BCB9ECAFBAAF03673ABA3
-B8321A0458EB3C91CC6DD69EE0941D9429C9C5092693B607A67E0AEAE55053F4
-D74CC02F87B891CC50BD8634543845BB44585404ECF2E512AD455D80EA2820A5
-0A853919C11791C0BB81303C5532623A1CE3AE964361AA2F2E241AC8C731056A
-89727610875875A1D03A09E6F54E5606C808973770064E6C9CACA9F195512163
-BF99DEE1A715907E2772BC68D16508BC1DB50D7BC9198D23527C9581FDA43BF1
-D40A0DBBD96D65CF2D23360390E61E4C05CF743CFB31E58B1EA9DF7B80DA8141
-D26D09B3B3864B45C0495C56BCA163C00B6C77C747037AA8A1C0AB5FA2B8EDB7
-E7F305ED235246237A265F52A3223AA6F478533F4634CB6FB6DE6E81910265AE
-83A4C384EC4897CD9A044A892079834755212800BCA31BFF1F67C31C975C8FDB
-767C1D80DF27485468D48FB0B16F0D3C191705EAE8DA6B41A570A2D5DDE994CB
-0ABF11EB4B4E420A5DD8725E870EE3958DF71590FD2317896FAA4C6F3F1558A1
-D829D5B8BA4C59364363D3C20A3F778A72914EB3707E562F244CF96FC90F506C
-26349EE971AD5C91723922EECCA11B8D23E94EC119C5F3BAD9018342AF2E1934
-69E49E93524360C250A02544FA58E92E6E39B760E740DAF416938E412B1AF7F6
-D9FA3C9DC7835DE730C93344DD7B02848A4578C8810FF104F2E2A2EF38F52598
-5ABCE06308B024EA70486182FD2BCD88B02EB78420A3145F3E310DB94BBB9889
-F52EB14E39BAA497BBD563E39EBAADA2AF1320341F0D0B865F91EAF2CA91956E
-B288D71F0FD38FC462D866082E9A6515AE23D63460EFFF2E3EFC4BC51F799CA0
-4DE2E555C64F9CD1375ACA5698A8EFBCE478F1C9BD344ECC534D83E6E233E709
-C8DF1AC21329965344A747067B03B791AE5C1ED0106412447291FED0A19ADB9C
-7D3ABF0E596CADDF5021DF61A98BB2BEB3C7DE70C95407772D070407F28142AD
-DB62C727D13483746DAC3CF262BC68B833AD874166B4D0EC10C7E2A4DB5ADDAC
-5F248B8CD6ECB789AC03CA093B86700490CFA49D063DCB2A694A52886F2D256A
-A59047BA8AA6F15CB5DA0466A857B66FC9E437678BD7EC602903337BF4700C71
-621A7813F120A934EBF5303EC5C0DC42780F3CAE043BF763B542309CFF3F2B87
-2AA14CADBD8D000A67298EE5AE4DFC4ACBC2CD873C4D9098086BD2B2F597E9AB
-32E22A86E43A7A2D127C8E50112CA4A224FD28A1F26FD75A3440F0C7CD685414
-A0A738EBD355A62FEA6D46E4F82663AC49A6E91C1BF1D6337DCEDF19AE5C685B
-C1224DC47603225DAB9072D54E49C0D51AA35777F1ACB4BF32AC7D01168C3976
-FD5257A7CD8CBAF17DCC98CD31C79839043A8EBD0E54EABE20AB3E113B751578
-C43C2030F99159D7709B6CCEEF4EA02ADFAB59DE70F6BB276EAB521E4E1BD371
-0C665CF7081813BC8A3714A403E2E7989FF396D9196C6A5DBAE6BE6CDB40DD7C
-193F91A2911D7D791B8494E2CAFA72079842FF6F84D637C211E2BABE7DE62D11
-E41B8D400AEB3C3272C71CE684F478633151831716B99F52336D731F5BDC09E0
-9F392C58157236596F053A9A9A6AFB440C2C900A539E16E4C37289DD58E94DBE
-8BE05D1547265F64C0F65AE960376C074791233175642B9F566C110FD4564480
-4751A13E9EDCBEFCAC10C90CBDF49C8C9D0B5F187F0FA7F3EED161CB038A278F
-F08AAB6B033F38D4232D8E1C0543CD85F1ACFE35DA7153385490CD97DD3EE416
-BF37FAC61FFF85D4716A0AFDC45E922791977AD32AD61399565060C26C41F706
-7AAD2D27C3F54986284D3F6E0192DD8EC20BB4DCA8431E4B09CAA7E9C0186A48
-68D3D61DEBBD627AB139868AB0141630559387C58ADF13FD021B323AEC6002BE
-51D85A9EB90FC8B47274B02BCE13269FDA90944FDAA40C74B988B23A575A6FF7
-596819BA5F075A6F488F69F7B9C80C4DB4A73CC57EE4C2D4FE07ACD2F163B87C
-F7F9BC47308FE26F51C5F52BE9C2C5B2598936B349F8FAA3F1541EE2A0DF756A
-EBF16D3C35E97CAD5A9C3AE9F62119B46D2EA30C07C679624297A0B6DF4C9BA2
-810BAFF711FD7D503AA68811A1FAE8F172EFC53F585A278E9C954BB1B4E219E8
-34944BE31B6AE71DC217D7DE08EFD59CDB71BD35D8F229BF4F6B36555BCEFAD2
-92E2B687A353BB608372817B5A598323650137C16CB01F02275F688262C57A3D
-ADA0853699372E36A5E94EA76D7F577793EFF2693C13EDF5CAA5D85642408B3B
-E12FE05B17CAE8A3F532EF0AEDFBCC352765C4B2DC50D7300721BB2D503152CE
-A8BB4A5170E59C049F458666446E52CAFAFCCDDF01067869262E3BB799B06D1B
-D44D76A284614D0D02D3A2BC46DCD9F629E9B825A3794802BEF28AF223A3EBEB
-E824030274263BA0A9FD91FAA31C1E4A339DE586E37CCBEF60B5571A4831B438
-80C9E24B4D257683B785FF7256367EB2FAB5E79A4BB42901EF4FABB6D3762131
-8FBBBE115F69EFFBFCFE246D7714BE509BE8642954FC6D2DD2B0DEBE1AB9DF80
-DEF7DC1DC786247DE28B62D9630F2C451252D7B60622ED4F0185FC1F8B4BA312
-FF5127B7E2AB7756EA9B3054E9F354635E08267F1D3721061A7119B47B4EE5FD
-45E883C73FF64BD9C0F57051D88D3F6F549F6E94E6F69F580B6B297DA0249681
-E02ED4F7B1B84E51F4ACA217D400DAF584A1D0C0997BBE90279B27C97C584964
-482E961EC31C364324011DF04FC850083D6FE0180E31FF62ED4EB02228FB69D1
-2894BCAF37AD240FE874AB293A55EF453E4C0744D2AAA5C5F2910BC281E3D8EF
-E706D713A8E074B77EC010AA500506DC82F105C0613FD4E35F06D7C0FEF73B7F
-B1F74490EAC3AB9A4F61BA95B02A714987623952E754B225B3E21A18BDE46B20
-0D06B7F1751F9BFF9B30D6C4C20622BA7AF0C43017447BA5630F28A6B2126EC9
-DB901B662FDF6C1A6C8A81AEBC1504531FF542017FF3D54327FA743B21C9021F
-36DB6FC504221B93F838C3D7D5731E892F75DF1FFEC5344E867B174052CEDF30
-BE1372B054E3A3A346CC67DE6E608BFFD09BC8B9B8F881C020D74BCA542B85F6
-41E7282E7AA1FB5CFBF4A60530572FBF36F156F6A31F9AE6D026A033D6D78ED6
-441463B179BBEAEDF9ABD9BAFE7CA0CC98B342DB21D0A902F21C5F505DA85FFF
-174D2A13DDA547936B84DD7692DC1EEBE9CD9CDAD94E7A0485F17D82B65E3954
-53565E1D6440C3F327E58864AF3284563C013FA1AD1EDED9A38E6283DFF88C5B
-E552D23477B453C25E9D9680ED01A27D9F502293D3A40A0BF1E738BDA066314F
-771D56EFAB5D2C7EDD5BABEC11C79465A972D8436BB8D5D25CF62CDC741903FF
-42757B15F41DBAA2B8BB6958FCAAE52C2DE8B2D5F3B26391B7619F25580934A9
-E7ED5375476EF1DF4764FFF07BAAEF3C0D4DED9CA0E7AC9A82AAB196CDC7AA04
-CFE43427BA049BC17FB567E836DF6E0EC22D7A58D6BB428BF42814C0B071F652
-16EBC9D7FEECCA6DAA2217AAF7564F55FD51261A8E33AE11585A0CED9FAA0890
-5BB9F2EB0504A2F800940FF58FE7F620B719BDD197C65418AAE51310BF8EA272
-4F2C6F732C9F16DE4906291305FC250EEC2F143038F5B919BD79CF0420EAE0BD
-E30AB5E9DF473BEC21AD9CD2E78FD2074C435B1B50B7030DFB9B8F2AAA94A19A
-BBE3874753A1BAD35782CA78AFF1B7E38AF95674DEEB8464029E146AD48C3319
-0AB788299303914F00FDCE64076CB051C5C0548CDCD55F5E131E02F07A94F146
-0CBA373C6F0FEEF8716D6CDAAB4ACA93B865DB7CC050C3C11A1D1DCCE06F5766
-3E7892BEAF800D4282448477DA3CDE8940A61A561F720960031D0CBB4BA6DB83
-5E098AD2DD4D6C25CF4FFDD5D3E13ED47EE3E7736757C49D650CAE11BF5CF5CC
-741EE453447EF37174294A56D503B6551B85C67FDFEF4D2932F8181928713793
-88C22E9036B61F4035DB35544B09D1AE8161AF16A5CA02EBFA117430B2BD5BFA
-D7750BDC3ACDB2B466A0FB813820FF6C560650DE37527E4BE4A12E1F6957FDBF
-0AC8C8AF75982D4739C752F00E5A23379C572DE45C396A2E657E06E6E04C56FE
-4C61BEB991479C1584C31778F604BB8222AA77C7C0F9160ECBCAA3449AF2ED8F
-856A66F1039B8B67AB8DFDC4A76BE89F30FC78CB48880B116A602C309BA0D67A
-14CF4BC34D81AED5D28A204558443DE85FFA073992162DE80B9F389E6E49B0C7
-231EE73075A3161B7E9A0D7591C96EF8B297935C3D9DEC1F9D7CF2DD6EEC2FF8
-54438D57DE87CEFC9499CC06A39B20498E9FB17358333790E4B0159B8FA20B0B
-9E29AE280757001669B4E33EABF675B94F362095CE6A43A1ECDB0E9C952B13EA
-CD1AA7A6EF2323D14AA7DF03052F415CE0F712ED4166D40714520ACB06E4D56A
-E4CE3E0E1C3C17CA1844AA0DCC2933DDB0C7798C2BFD71E9F520158DA3F8D2AC
-D17EB82566E5FDD1075270136A2AC0183E490ABBEF3F94E1D6D59A81687F4FB1
-80C00A63891F0485BA87B5EB29B41070785A8A6EFED488064A4B76DF948465BE
-EB0656C214E842EE09DC7E14B9604E5A050394571DC09C7AE76DE6B184A01DE4
-4E24AABE28C1E1B7CF56B3279976224B16C342D130D2A7265315A52BE20BB652
-4DC16E8CD1FC19FC77C94D864385D5AFE19114297AD7E9D74DF5528CC892F1E7
-A57AB51BFD096E2C8F4B30CCE769A0C375AC95F5E8F4217ECD10F65CE78BDEA1
-F157399AFC01B0E3305FCD9E4DD24D51314C0A8F07A10574DE0B62CC86551BB5
-E4CDE434EB44785CBECBD233E81AF34678AECA3912D73AC18D34E9331689E686
-BC2C087B8C091E6CBE80E514E6E0B309E763832EF6A8D653DFF1C988C86C8AC7
-9CECC6FF0F0CCD586FEC597D333C79941FF24B26895FDAE930C76C3DB747087D
-16979EB594DE9FF9443ADC35EFE957E5ADCF1F26687E2FDF81D7A205BD7F5A00
-5FFC16CF7ADA9C4228CF55AD85FDB8898C34501F9CCE90E3BC27D13581C0F553
-20628A3E31056757A13134C0E89907CDED524E832DCDE52FB4E0DBFB10E6BFDA
-863DF6751767B63BF33166E17070D83E94791D4639CE3AD4B41BF09B41BA96DE
-FE756072626D1835234D7B831ACFB832C80244AEB0AB1427C2F3E97B76BBBD67
-9257C8D3864E135B16D933B8DCC2B25D9019F2C5CD0AB7343D39BC3B4E14A957
-123D6F7A6D1BB2B4BC74866666C70A891A5E3AB15941D899F3C5BEC36C0F85E1
-F86F0DC872E66C9B323954C9D7B6F0AA25ABB694D39D5361B2874B193FE93453
-88DE1ADEBB5904C51DE77F623CECA4FC2F14C79AA521E45019D491EADEC7369C
-8B569CC8F94553D64BF9D63E0CBCDBF8EA4EA95F951280F6482D36A5D84995F1
-7D6D5C5C853E1D8B9E44EDD50395B56A25D0A256D8046F1AC3D575C2591BFCBB
-141C4CFC0433A5DA4BF1125FB31B4E465D67EFED81236FA8AFD8F1F1C8DFB0EB
-B3711D9FA6660DAC7DB14A4CB99381BF1FC1F033525B61322513681E4B6DF2B8
-79BD0057573347EECB82EA0144DABB181D9DB4169E934FD7AE90682839FBB17D
-20351F9485C49DE403EEA86E791A381FF672442A6600864AB854A23497C928F3
-9DA080BB70DBEDC5F97E7660D4FEFD49790C6AB4512EF0942A095927327BE557
-000723101B1936D7CAD4CEDB9BBA459C29A82878A02EB2B250F486B9E57AFAC9
-611551C0DC60E6654BB5ED253D7D18C386D2E5899ADF6FE07D2632889A2BEF0A
-B7E16E04B97E8F290AE461B6A59C194211DBE87FEDF37800CE2EDA3108D9E169
-F1CF3DBE028C2AFAF04094C696AEC52D74BB6747FB3916166D211C8690C478F3
-C1997DBC5EC873170CF61AD6BDD708DE2C1BB428E230C1111AEDDB0A89934966
-A446BB8D7A7646A316071469F314E5499793BF004473DF012EDACF0E3B872C30
-05AE996DE5B7064CB88EA8ACD37B3EB7A3E2D533EFFF9834009FE92329EF76B7
-1BBC9E32659888D5520D5D3B0D7498AC89DE03B975B0BBFA621B34805BA4D999
-ED8BF2877E08E69971D08922D1A7AC0B61FE258BB33509B4780A2163EBA6A39E
-644E96E348B00B13A6818EDDB568F6F70D9E530B43F6EC1BCB801D0F2E3EFFC0
-F4F36E528A2AC4C9A961BE96E6CFEDE623DBFC2AEF1D7C5DB9243CFEA4CFD360
-3D9554F129AF3905AB774C6F335A17F6B15A40BE518324C5F7232530C1430372
-E170BB98B7882DCFBBD415E4B826575650418BEB0D6689C86F2DB01A44EA9D1A
-748AC9B5C71113BABF43E556F578D4CD562A711FF8CFAE0DB27A6F7522818A5C
-CCDAFF81F25BA563A43DC10D995FD0A8CC2C02FBDE62ABDC2A8F48046ADE94A5
-EF141B54D71F0586D2DBA09CF06295CF354F1896B6218326FEAE271BBD922C0C
-2A065C71B9CBBFF433C6D32E1191EDC9D68CEA7E9466BC398B444E39CAA07879
-43FA87AF9DB2D129966EAC73400558EE4287A1DD4AC364CC4080803673025078
-028452B925CD6951B3807803804A88345426BD6E59FB1DDF4CB843710BA96300
-18D336294A6BC4E45BAAB2DE0D9A778D88A17FF2588F7AF8B03B5C6BBA17A89E
-8B929F83F9B3463F5592A8E710B677C0142FAE8F892CE79FC857A51A8D59DE97
-413DBE7D67C82C0F4E3EF5E26FE61DB3346CCAF36A307E5474B3FE81FA20A925
-58AE61EF420F47B8CC372EE0333A40CCE66817530B3235D9A936FDE388A76AC3
-30EC98D33C16E4BF9188702D5EBCE85192B39811148B08E7E630CCEA8559790E
-B89577821CD6428F3FB6F680CA00FE07F1F06C94D5419E2E54AF8A194DA645FD
-FE45207B2819C5F178F08E3A08C672AD5C8B3FD0D98DF452A7C633F5B87A0D01
-6B3AC6E85BDE9BAC172EA888A5C86FAF2D4731EC390DE13AD65AF950951B0B1B
-3E93836F683BC12AA1F1B6DC371A7E66F0604A43503562B63DF3F45B493A6ED9
-5D9BE9B0B8F5F7BEE60756CF79BBE7A47028CACFEAB637015E4E00BE7F2C9C1F
-B3EEB5AC0C9AE3054EED9CCD146B12B56FE435AAB2D92FA4404E44D2E8EACBB9
-C1E21C4DF10F316BAE384E31175CE82C195A79F9B3A3B74123E6A2DAAF54045A
-7425E9038AE77B9D1E5AB33F8AAF91D314623BE41A21F1D5F8206AD4A32E5237
-519A42641F18408BEBB6CAC319A74B941D8D3D728ED8D8A0BB3515323315CA1F
-23295FB8973BFD3A9D8E66A0FAC8CE431E8E377697F5CD56CB80CC88AF851C60
-DA9DE2711B63B86857AD083838F3936A9E881D96FB03DCEE804C3D6D0CB3AB3C
-DB03743E634D80F16E36237BFC44E40C560943924DD7516BD43AC60055C9D7F5
-50484CCB471E014E49C923200CD10390CE92A5B200D5C86ABBCBD6A2C57ED393
-81C45736399B9EAF73B052B5543F8433622DB6C0D36CDF714DC88AB68009BCB4
-2C9219ED28C4ACE9B1ACDA70C35FC07D71C381BCF27A436CC278BE98E28F94D3
-6A41910C08A2AC5E389ADCA56DB69661497EB1ADE463AACC817BDDAB170E578F
-8051D01C889ED8F24BA57A7C217DCE931C115321737991FFD542F2E80EC7C91A
-1EB513844C9738ED7BC1A280D0AE34D03A77B7AA84CD78DA561B1AAD225F8921
-A3F0374CCA3883CF1CE01B4F993816C2E713D20AC4EB63D3EDAAC9C0FE3D7AA6
-93FAE755A8FC98C9CA35325DDEC153313E2567FC9FDE6400AD44AE31B73010D2
-768A7D2B5D48969ECA35BE603D54FF0CB95CEF1BA064E71CEC8D4D264337F91C
-BCB94CE6DCDF2B05E1CD21EA9EC218FDDCD99A461FB5C1076D9B800A86014064
-AA534A2AF51264E34BA27AA23B8314C97230B40C3D05A82A59B19624C9335D39
-EDBE2F2AE3E504ACF475AED646D079C86AB811262E9932D158388AD5A36FA7FD
-6B35ECFFA820632720C56761535E504EC4BAE46B5A070FA29816A3B0BF298BD5
-833007A6BAC43BF4971553A69196A166630A96474C338759A03E7E89DA5D2CA4
-98848D52AA5F996ADA1799C4630D27255FC8FA440EE1D6F5886A7540A383167C
-C88140B9B3EC4A2927C8442FE853D54EF8C5B076271C7245D979E515C58BDC1F
-B927A7ECDADF60CC9353489290155DCF4EA4BD49D8FAA20AE573C1CEA1EEFB4E
-2304A568B84CF539A9F01B9566D25A65EBB942AC4E6CDAEC9398D2833C4A3D60
-FD1AED5B25BF4DBBD34D8AF23C0CCB0C4C3A4C56D825689D816F670516D08E6F
-788DF52162C2A52A3AA85688E9867E35302BC9323A94881D6FE922928DC71FD2
-ADD02130A509D5E0933BCB3B59849EB0D8B09AB24C7176BBB42479FD8D8581D3
-BE7CE3FA1B6749D977148AF2C06711861A46B57339D8B3D241E300D87E3241AB
-1B0AE5918B4F1545BD096C05F50E5C5C6BD8C644BA96940C5DE5EBA2FA47D172
-4F19C22D36B1E2F90D568DA2CDBE55BEFC76257FD6D4D0B2FF4D7E16EED9620B
-BF5B043689C355CCC2ED4401C7ADABC3F0370EB1ADE5082581789102D0ED304B
-270EFEB8E109CF0F09D1B524C2EB4249820DF8F29FC128F48704596F119766DE
-4A790984CA3D87F680CB931EA21666186B7B9FAA695176C83E970A6918EC8292
-41BF38DD48D7C8B449E0C925E2B932D09B9509163C9008812FBFAC8A72E97976
-A78369E181799E338BED92B6A8B03C3B8CABFA98B7DF98E34FE324C52251E0F2
-AAAF32D038C855994C4F45B57DBA59028B1AE0A5BF522C3556875DD84936C7A9
-38B8FD6CCD7250E321C884A6AD0CEB7505D378F96A3F7F76D05D154758605715
-20086DE04410EB8CAFA719879A2DED0E52018A6D9EA748AF20E2C7DF717603AD
-09EBE3B8AA7B55131315B98AA4FDD2F83755249EB7E3E7E438FF59C008ED7BD8
-B6825B78B8D441F223B66A797488C24C549DCC355D90964847B598FE681A1986
-F3AAB186EB4A7F340E75CBE6F4B2F0D072696BABBB4617C84E016ED6C33B3EBF
-B1EDD2191641AC285CF5E49A8BBEB678547A30EE0DAFCED16F68B2FEFB93342C
-1825FE06E871AC15ABCEB0E263C83EB19AFAB1BBF4F38CE080984C9AA22EB892
-4E2A7A8B42B08D51D6C55CBE511A7BCC34674F8947A1512B03BA9A7FCB517702
-81C5D37A5F4A3A9419B0409A75DF568C0FD33A0D7F3F4FBB41E0192876F32186
-B22FD853B181570C16A5B614428FC38F54B7E3779BEEE365360358B63955F774
-38145829FD05B48BE957FA98C435573B918E2883982CAAFF408D5DB3AE15BFCE
-7038796F5F0F1E98314C578497C1151AA044212C90D00FE6FD43EE858D362BC2
-18E962635CBC13FC5CA1E3D4C5125C97B37A1F5322C2E4463F7EB92713544EB1
-0D06FE4D23BDE0820440F126F67D4E305C5793D7B3B0C04C1612702FBBC3EDEE
-B82F047462AB0E38CB7933FB7A2B939F43976832C7FB90507AD55C5DB6711BB6
-01622290982CD086D6A42FD506A460E7C1DB7CFE3BC9E4307AAD5EC874F5A517
-DE217DC82BE40CFCFDDC44787F71D921C7FDA4679DEC9DACBF17A3142ABF5DCD
-F9E640BCFC011B9CB38E0093AA5432E3D468FAF915DDFE924076DA6FE19A81D1
-158F7E756C483015DDEF6F2AF2FE5BC82EFFCA4B4E6CAF441154B6AEC5AF4B5D
-C61B919957D886979D0CB320F23AE98258C4FD861FA69BA8FD39E4E8C6171CB9
-D4D1095C65BD5B653B91C5A15DCD3096BD715216456114260530E483ECA9A8CA
-F587FA9AD60FF1DDBBAE43BB0BAC1C39367DA374182C74F2937B1C6FD1B7BEDE
-95DF3A267C40C160F845E3E98421E2EBCFFB030A26BD0D5750B05FAA8C5A72CA
-448A3213463DD4316768C4DE0AFA9B47DC2D9D10C52B9FC14AA5ACA08B83AA8F
-09EAD993ECAAA2D31B66B165A0EA8A204B03EEFE675FA0085EDA5FBBEAEF8690
-54643C7B2A345DA3E366AE0B7A7969471AE1384E868238A95158631F86133C63
-B4A70244B216403AEE0600F77D3142CE0BBED4FA9A4BF6D956A86F180606B9C9
-025F7B30E29634708280E7BC03A0FA51BB17BE5CB94D257F1DB542F13E0970CE
-42DFFB1307E6F5F7EBCD9292D03850748AB0D22D7F5314E3654D5EFCADBF68FC
-751559760FDEF4F078E57F2CCBC3F99F64681648B38E9F26E5B0BF98BD0E7DD5
-6CB55D07A202A2C9A2817E4240E4B00DC0E60C26D4338C7E7C2907FF1CD34127
-5E048B5F55AD11F69843856459750DEA7D7EF76DB9A50F487F6BA4788F3680AF
-29621BDA707B3C138F9ABE2F5B7E5D7C3119A5F535FE575E82F65E97AE078020
-36FD51A751CDDB98147074CD6481A96145FCF656DE28FC3A00573FBE06FC429F
-E06F918AB3AA095DD3B9DBCDBEBDE69DB459600C46B50D49A563DDCE26A1A5AC
-504E07BBC2A48D858B51F51B7A06D56695F8BAFC0518AD8B21E7DCF5C2047EB9
-FC8995D139FB37794ABD9A7387DAC9FD9F2F3E80578928E3F1AB70A50F16591A
-034E29CD0C6AC1BD531CFF53478828A1F9A0BE3DFFEEEFAA0C7EF53750427ACE
-2BC4A5591FCFF121A9A62CA0EB1069ADB7E51CFFDC8902361575E0E71700DC8C
-86B43E1D697A8847C210C5FBB66E2B4E306AF90E0CB97D7FA008F76B1E6B489A
-4CABB68EDBB9AFF604E3B355730436FC1A25F72C1FC4DCF6B1C40EA52D3AD46C
-BB47EE3098E12CB98015F18B45AF2DF2712CD1187661F4EA24106FA51DD90262
-4FE3EB0D95B3EA446502A33091F2004D1C8F001DBAA7AE9FCAC74B0704D04902
-F832B25C7FBB9304D834A18F22259B81A0C400FE9CC0D811E58F8C3E1D107129
-D1CA233FD481FC6C03BAE7D00AAB2AAED4CEC3A7C8ECB087DF77065D1328A4EB
-912CA8AFE5C7DEF3C5A3F42E40E6E60FB241F3FB6A11B5ACF4E6005471881DE6
-156BAE8ED4C75CE8FAC9C3A9B3DA52B07F09C28FF67BAF5767EAF202B3D5FDB8
-1EFAA98B59BF281BCFD45CDEC7707ED4167491F716322CB08248A65BED4FF628
-44AE351D9657BD03E41625E2D855D06444D441CF01330EF8FEEA0D42E0A054B9
-A05A5ADB518607299CECE64A59D52B2902DAB10F37A9F6DA24D95619860A69DE
-D9915F414A8B63F8931099AC051C8671F6891F2563FBF902D30734C23E647D7B
-A3FBAF4CEFA1F860B1EA1F2633E0E77665767CCB3332C311B8798E35557D3751
-919B770BD244FAC769980699F76C8E1B2D5BC85CC1DFE11017F0FD3878C60F4D
-5A33D97AFB822CE4CF8BB50E0B89D73560D05A9053053011E49084204D551707
-2D4356FE5ACE352BDF99638AA07603979AF946D33A96266D7646B724994305AA
-C231BCBF8B6D80A47464C242960127160C70E49121A04E986B4845402326C24A
-1D5394D26028FE87EB6A6374CB0D0242212E6F7D939487220BD6347FBDB68F34
-415C7438F92D016F3B1EA7429A18B31FA26FCD33B7E60255522272740E31E5A7
-EBFD72F9FE0B6D85C50D9B868E1052FB2197A68EF52B4E59D8439286C96E832F
-E01E2DA3EBF151FBABE3D39581D564BF8554C9FA2F3303BD5D0EEE6B2A739838
-37E67D38EBCDBDA0E5A784F4A7C165CB6ABBC00286AE34433766C3FFC6574B3B
-BE4B8D36DE246BAB3FA365A33697AB07DEFA881A347470C89951B92D2D820487
-8A6935CFD404E696C61B0BE3D16FB91D5316DED8A003FE55AAD565FBBA8D5928
-D973BA86AF7B9F1BE4C5F157053504D6695DEEE925FA8041E3F76CA7A3C37B3A
-B95C181C32E1466EC738C817369C6DB8364920C6F3FBA3BEE10E87B1AF334043
-200A789BD86697F54B344F11D528620B602AD2840C4755B32C4869DDB2DFBBC1
-F6863C0A4FB43835FA8620A2387E58E9CC430FC75162992E6FFB30A72B7686BA
-3392399A5F79492531EA995BC1BAD1344E5D1AA70C11E6
+57BDBD4C4FA2979D6344AC3198440DB1709FAF1D9DBD7EF56D6161464803216E
+9866C68434A3533C4372DB3C1CFA11ED5321C3F4CE7CF78E392506AAF7257AFC
+7C9AD27EB8EB637A93384B54EAC3BD084571DDF97EB5E82C643FAC667BC3DD3F
+D981A9E0DDB7320B07F23CCFFC4D74C034EC6C36DD66D907A4D34CB94409D362
+04EC03D1FB2A58E607C6ED3FDE67E97D9446876F6C685938EAC48CFE4A228E83
+FF5AEB1A4FE7EC29B33D17293570D43B501DA206F7CB0C5AF321C58E21F739B3
+49C19AEA6529CC550471E98E84DADA143F571A340759AC0809A695A56EBE8BF7
+6074197773630952FC57B9A3EE95B0E63CC4474A6ADB4D9E7FDD3B2B35294CC9
+D9F6B1C2786D00FD841BA8007988D6B4DA71736F63B1BA028230C46B0AD6A6AC
+8126FAA43863ADCE0DF29E8B4C9EF15CF7D80AF346C45A9C347273FBE528E1D5
+389D396B339BD8129B462513B063D931CCDF8F346959483BAB970A4428B9EFBB
+0773F9B2DFA2D6566AA2963DA654DC21F8F11EE928A083406353DEF3829EA553
+EB6EB0DAD22A4245AC88B5C509DF6C290D93AAE1E5BE9ED6BDA7D04AB0B0998C
+A1264CE0025B1B2E2463A5CDC5CF0F60AA49AAD32391A5F97E27115223C6D1B8
+CA9346C5E650DB86749EE83275610023D41A47D0E5425E74D16A6EB98EC38C6E
+00DFCE06B41D2FEAA761F5102718086A15E02717309F7D3B6140293E4B1A46D8
+6E8FEBBBAD104DFD4DE26B87E61A3C0043AC2C2DA283E1167D0E07DD24C80C94
+CBDDC86A09F86E651BAF3E059217118A0408612BAE85E4253C83E3AA5066CC08
+7E6528CCBDBDB5A63297B0BA85E9753B1C968783835EC4006D89F51C3E7D5DD3
+31C9CBC83D175E7832A643AA617DC3B38D8BDC98B7E806BA0F224E8AB73100C8
+A7ACE961DF33A8D97D6F86D5321B57EB2055525ABC17B676585E0DF57FD4E591
+1E6E9C8FB7991EFD37827EF2620B4BC0FDE501354F8ABD9997B508EA7731FFB3
+305944D9A5D4241F0A617F28587E7AE09F73C60B4D1FA1C37CB23B10A8E3FBAD
+A2E067B24AE9AC5715F62BD011EF14B6DEA21DA0F2E8BD27C918683CD1484950
+2C5DF9BEEE20A2F79E60B803E8E3D47DCB19F8F24AA44524361B5A8DE4017ED1
+0A04EE08C9E9724268FDF318A6D037F8344FB9DD23441CF3ADBE7EE059E00D4F
+B093E7216014B26A490F3779DC5E0D60635537BC8B0B681A20BC3106D4904947
+B6E8F68EC6B10B0B8D1304273BAE5D764FCB8A1C33CB55CA860258773A3C4A67
+794668D72813A662BA507A1EDB1316165E5148822ADAF61F31C8B4788D720A8B
+6437E764CCCDDFB1206E7B84AF01BFCA1A695B75D96C47DE7C62670DF0FF4C29
+D0340782B68BFB6CE59C43F54C83C645138BD08492A5D8DA321703B4FDBE8313
+A4C6A13B04618755B5DA2C506CA059B87DF17085F1181FE5A23359C2EC1B27CA
+E60567F112BAF14E9DAE8B749D28BF8263866E9019A963884A2DBF7F1F0B4A4E
+B7C7A0E084F4A8F76EF5B001E3052DF0CF80C56DD85057073E7A1C1FE182A81C
+B72098679C11A375F715270D5D834E94EA4F222F7D3DBAB1AB1AF1EAB16E7675
+42C5985A38613C54FF89DAD80417B054A826D5B6F47CC25FE6C5E831447674F6
+E7D0637D9E729D1F288075BAD89588DF7AEC9EFAB07A2B73D8245A4990A7DD94
+11A1D63F6E1F9934A807BE37EC1A897EFBA4DF6998C910DD75658BF6F133196F
+438C818B549AC11198008DEF1548AA8DB6CBBC8980C96513E790F19CC3A3C151
+1B12A9B524F6026F3551632A3BA2C9FF376AEFA6BAE9D99A990D6B5714C06D3D
+8F68CA21B985E93B0FCDCFB8A39F8DF7B996310B2C1C32FAE1189D6826363B69
+AE6B1B7231D8545A0863B20340CDD552B304B98236927CCBA7BABDE112C25380
+2D08885E8AD17C915908BBC9786D595A0C33A4E7EC1EB66825AE036892DFCB32
+F0576B232F99D99AF3E45D1F26FA0DAB711852AAE2523C6795478BA47E4883FC
+92A1223B740DF537FFCAEA617CE3E01DB8518D1B4F60633820F0583187D99EA5
+72E4CECAC883823E5F7EFB04E211AB3D3362FE18F9EBC87470E3C62AB782B5AD
+518B69458817EC3A7B8B026E624AE303D18E9E18768F3D3CC978DA4DA6926738
+678E2F96F751AC5F55FA5069B815AF3E06071937F0D013EB7791E718899D92E0
+F13260F6A4F8D6B0BA5405523919E543AE935DD6E1121D4F2DB2C46224CB23BC
+39D8537A61DE02008507809DC8906549846FE92F4A835E2217E45CB52E41C696
+98171C24A8F4EF4539F8FBD56355DC995E6E2033E6CC70686CBFA59C19E29A08
+3FB507DB7262FF4520CC3B9194EF5BEAD93EDD5CBBF775A894EEC324676DCF96
+24AEB7824D5B0A506A5838F4E8651795D1611577E86A55393644B2A13E5B075A
+FDB70F8619D12A0554476531F69011ACBEE38895BB29439BFB469759E13B9595
+AD5712F767893E2DA66E73C9A88BF9C131C2E1494B2BD04697CD7655966A2D7F
+4591E4FE21C817D5337856B6A17F4C2AB207CE750692DB20A25A13EDE487B3BC
+0AB2A5C821DB76C4E9100B0D7C4AAF737495DF622216064C01698126F8F237B6
+6016C1FCA6322E7733F0CA0EB83459B143C970CC26EFB1FBA673DE3043FE2489
+2B06DF11D30E1984F7B57DE00892890F36C445E0004DD0492D0BFC40D8DFA970
+4C18FE162CDA7DD31D69714E55E455399C3DEDE5A9A23151ACE7F23D34E70F98
+0F1AF32C7984263F920CDAED21D94CF9DDD72E8EA7AAA7EDDE944F167E318A43
+FAEAC3F77026C771C81017AB544FC6F81009D861402817ACA88FA41C36798168
+29E7204C78F0A89166C1F27B1151988825CB4330693F33B30E0B006352966677
+7FB5E5D522018FA4C7AEB791E84315D67D114481E4427F0D219BDDE0E10AC009
+677247624ACA604F41D4074B24DE54B57E9FBCFD202A40EDB497690935AFDE21
+0FAC4108BCEB82440D51DD0A0D0D61E3F21204E61AC15BD51061DD72EC27A4F4
+7EB24BB58BD6B081C68645E555F9EE3F5B71615BC98F03CE9F059BDE71F3C3B8
+C0283919A815DEFC70CD1C8C450C6E9CF1001371EEB6651EAE42C1848C0F271D
+0466DFB548B0DBAE1A0F79CC7F9CF5D113CAFA86A04048E0F6A0F6A0E0D42E29
+866D8AF62A565F302609905808DD338460BF75A75DDDDE4B38A569149B2EB856
+8AC05433CE5DF29CB9F653BAC71270C8BBFDDC4794FBBBD407134C1A2F4D22F3
+3D18EC493CAC8BC6EF887B78762B179B038D83C1C96A8F6D2C507AC5DF3E3003
+22E63A4F67DC02E2D59A44E5DFE529ACCE3A4CEE2567FBB6FD1CA178DBD1399D
+2CE138F853D68514F186EAAD924D9952D551504D7C95449248C979181BA3DF5A
+8925BCB229E63DA811716D82B56365629960DE392076FE533516CCE02E341137
+EC32EECBC9ECACF92B03BAA83859FBA0584EEA52B3904B69C1ACD8B56CD320B2
+3DEC1D1DA1B66741F1C32CB8F4DA6FC6C8C64C5C3D0A0BCED43C5CB88E5E2B84
+6C5E062278DF5F323E2BB59CBD5B1F41F43BB3C7AD92A69B048758C90E0D3A52
+6FB41FA9EB8BFC592793F45FDD2157DC92B4A910312DC2067C6C5179BC170DC2
+1E445045E7E5720410DB949BF761C9EA5830D2C474FAA17431B0B69D504C8F49
+52911906240AA7A6E649577251FBA1B694F34F6D382E8FDA76708690341646BB
+E4C8FC130D1EB7214C56A203983C0AAE490726E24D6CC83F06E29E117DDED606
+5ECDBDED5D5DF2F48F642A19F9E59B3A0C39D11050DC4895956B4ED5F71CB7CD
+806D50CD68C66C797BBC187FD3313474361A2EC0C30B98A7EAC314BE1049D354
+72F2C754771C49A3B8DE3BDD7D332D5FF160D2C128C7B4524B3C2191372AAA1A
+0A6BA0D4B8D440B4CB17098A59622AA62423C4F7CDCB2DCD45F7553E61FBD272
+EB86A952B821C8A360C531B77C49CE62BD37550DC26DBC8F1060D6710AED5646
+FB43A9845023ECE6444B084AC06E83393370C505874C1260117CFAECC1AEB626
+B9076582EB7F4BF3F5938AA89A3903E8FC147D4E3B89B06D7B51672391BB7F98
+003B1AF7980E84302BB8ED67B4456B6F45BD1F2155ECD5B60C9D8633D2BBA367
+2F503192AD0C9F3A204AA41B8AE03DD9D8A8E7FEAAA29F0AE5F18892E64A050F
+A44185D62296B9CADDBDAF78E769051D212D294B14265D37FD248C2F8370BACA
+D33E7785D00C79714D6F4C11D512033798826B3B711B7BF306133C9F536E18B0
+AC2169060D5B42FE9D70FE52C3CF104F2E28B872AADCB33422A5106EEDC941DC
+29FEE0EC5020582C0784556A74E3697EC5BBBFE08B7E878C06A13660F164C740
+2B6E26475AB9E4944EDBA4169A9D36B43D2D88948B53B1B9C8ACB8CE7880000B
+4226719FB522758866ED95E18B0965FA0BB633FBB79D67F12DC20AF71FEF1A5C
+7C895EA14CD857C5C79B5CD31B7A831905E7178E26657AA3026FB65E2FC0E201
+5489E6B9B60F361CE78514DA8A89FC3CC7C434EF6AA0E60C215DA385A8910697
+4C1B9562FC0016794C2A124E27FCA078404500FB9B3475B7A599F87CE00DD4D2
+745292C279F8907DD01EE660B88B41AC46524297065681BD24AA1979E00978D2
+7C33725AD1953F5BA713C8ABE20D350B00929A29FC28C5081D9745773108F37B
+D7064CF53AC0788B5F3445808E1A7FFA9064D1614EEC7D193F137D8BC89D4E4D
+7224D2C322B0C35A641ECF98048CF8A750C6CFB4E1EED164C354EF8DEFD02829
+0F91E7C1B1F3E98F9EF0C84FFE10197F116278A5EE0330DD552329B1177CC4F7
+C6A79F8D96C4392F22815A222BE811B4B81FF99E729F2D74BB86E59144C42092
+B2EC7CD29E91788DFFFEB6FC9E777B7638C3CFD777DCCDDF2EE14388482D89EA
+9413310C2834290131D8154DA17FD72260D811DE1C82B9761BD0FE86C799A163
+99AE61D5A271B610410346F4B9894AD72E9E6F6C63678C1FD1706B118BA4C60E
+69236F15FF65459E08D6942250D0A568DA1CCA3F85A0924C4CAEA475467D5D54
+B674EABB35604C4337382F8FB16194681FA11EC85677E57DCFCE6B7CF780FBE6
+1E8C9FACA71FAF605C03FA5880514AAA760C91C85F2B2190BEC2EAEA4E46EA02
+5172F34E607A0846126675E96859B1C657DCCDBB3A64CD8315BA8C88E833D217
+D352BF66F5FA87940EE2A1777C9E1E867D8D2DCB33B242C491763629311B1E84
+38EF9B80554E5F8DA022BE06F57838FB5327592B97853E6DA510BB5FD2142DF8
+E602A1635AA59CAEE7FAE408B381CC505ED188354A7D56707B3B5B7F2A83DE3D
+9D3C34B160DE3BBB0602C0102F8BF5D17D739F2FAD17C5E403A0C6E9D3EBB864
+39A015CBE7ADADE67C60414A78DC6856AD0EA0998F51352485E48B1539F42531
+2E10B6E3FB27E60D445C9755DEF5BFF503573B06FE971C769B0026A866389FD6
+6FB25812D7C06D5799BC6A271F1F9B0FB41C0E3F466EB109C8D0DCE23D3D2B6B
+3566329ECE6951E6C5AF424C7C7ED0C1F3B1BB7B212BF4A5FC7859465FFB90BB
+57BA658CD542A24049F2E6897A812AADE9B1642AA573B6AB80277DEC2A869787
+070B4F72EF11D1DE9C79A34858997DB1A7789D7590FEEAC1E6150E01BACE5334
+7CFB81CCC5D42E3A395807AC19177AC8667B9C71AC0CA9D048989DE54E6BE675
+BAF3F13BC331E3AF75F6AB2B14E234CFC3EC303A22AA64A2A3B21DD02996460A
+0BBB2431B58D0667D8EAA51D3E03C27C1CD779FB914D02BEE1E544EC44A0A4AD
+936713AB7729B634FE216181F4D5508B680893A2F28EA451EF35701091195A25
+2D5C727A723D589EAB2DB1AA45B271FC9AE17C0B387C627510EE80DB03FE64AD
+A453C9CAEBAB4BDF449FE9A0E00911C10ECDD8A9CE2FF49BB9FD2F92660B31C5
+9811ACC24162DBE7992660A880B5493D03F4B7B0FC512B22A33A1E3AB3BABC0F
+4B3648E710959103A0D5F6E6E9A86BF3F4EAC6BEF1AFAD3038AA48D0A38B4C90
+B0B7005D8D3725C8563FD71DAD5F59E7F14C2E2327BADD45EE4854E4790F8D3E
+8F2CF554208DA4789A198489AA1D0FA3B358FB2E8245D6A6E2B449B9F91F2241
+E79504B052E33581DC98F440ABB4B48AFDDFF1939DC3F52EB07DB9FA636F5F7C
+6A0076210981C77D0126260CE1D224519469AD53E5ECB0FF473F960463A8C353
+18033ADC1CECF34BE3D751F59EF711AF0B00188ADC2D215C2BEFD52B63E0478B
+553B3BAFF351AF373F3C94B2C279A9E0964FA918719657D270B4DF14CEDF43C0
+230F467F10B3B814C7472E7B0301298E67F518DCAE3DD02F34661896828145AD
+9CDF4D547747DCC70E1A43ED757B6FBA6BD2D2229F2EE00D5D6DCDDE1A5765C9
+532A98A6BA32238AD2767BFDCFD271F009B778D152DFFC5F7B3E93FB30B479D0
+95CB3DA664F7037FE20B286C7C21BD14D1C11537097674E4774AE403915DCD42
+4BF85C7A06F5C721CD92EFEE90DC0ECDF37F8C4723CAC2ECE44271954B67C721
+89634E05E351C4B3F360356B2C02727A46F2A0721CDC42D5FBAD1968DA46B729
+E72BE77930740652E4E56CE02DF5A881B61968166F07E36088B5451EB870C14A
+D9A07E34EF0D7C92156DCEA851F625F933E61F36DA3320F7A4535289FAEC6883
+42955C50434FDB86A1830D48FFC598774D502584D6CC867FC50238EC24D2B58A
+6CF0AF823822CEFC74F874B84658F4CD54370AFBCAEEBBE60AA457AA5DA1A06C
+C8F92A48460E94E7CC3E28791F2885E28544FA5ACB0F4125DE6F8D532DDF420B
+7283A6591659F5B56E61504B5322B4B1CC80A0463DCD00B6821F56446E43F029
+E56E69F8C28B3112EDA3AA5E69046FBA5E57ECF686979BE5B243819BC34CA308
+FE1258B6A1127E701593AE44C88715CF4D3547DC6C66E85F8C14494AF4F07F9F
+22723D40A8D483B725246DF4757706783AF56C1A953DD68BC97285C5315CCD5A
+4350D8742CF7FA13D1A46042ABFA25CC6120EDA9948D262FBB66055C464C14A0
+B8977B5BB2DAD142F46CFEB4A36B7EC51D55E728883F50672F3E1D4FFE41E5CF
+30571C3EE09101C213AECAF90EE8698B740FA5717FF2198C005568E9DB201600
+833437B707AF68F52E9B68EFC36D73E9D4582AB0F135EA890D939FB1BE866144
+67CC07007B66C9CE3F7B204E75369E22D09B4F88E6DF4F7918A79AF5819C7A77
+3DDA23B3F1242BC2A61545E112255DFD97B86E859EA508CC77577BD9404AC9C6
+7A998CC511760C3CBFCD9F6F53A7B1F7B5EB6ECCC074A05E533A67FCA3CA63B0
+552D00C4D31149B29173A8667D9713756D64911540A9D4F3D071C90A76E8B9B4
+B0066037E9359AB21FF5855ED9E71BD1E9848D6A663694BE34FCC171305B2826
+BE177DDDC9B1B97BBC79E45EFC7E70FB11AF79699F373E700CE4D171086461DE
+D8E061B240997646FFBD6D273FA9604861DBBF3A50DA307E28AE218C3D0818C1
+4331CF7C0F448650AD20A77AB23CC5F40C48CCD602D0B32D4C7CD7B4B607E262
+D07B5214069C6856D31F40B0D50A63B079D065F79C3ACFA853C2C8A3DC2572D0
+B5DD285BB0ADD7596FDED62DF7C68EFF979DB5E0182FD061DF55362EDE0B03CB
+70A15526CBE98186701557FFD27556E64DF68EB38234AA13770C733477CE8A39
+0B65A272D1DB66EBA12234F1AD36E0F2B0289820CEDCBDD4CC852F53207BED97
+CB93E853456D631D7DC397ED5A6ADF59E8D04756921A319E8A85DEE2FD175D86
+A5094BFFE6FF5BA43715E2E2941741E63570CF3489C7DDF94AE79A0021F76384
+6E76CA3C1AC552EE4B66DFD560EBDA38EF5E93DDA803BD06E2EE8003E2276790
+896D51B88E4FA90061EE472BECF58A133B35920E47BBA565727DFBEF612ED98E
+895C8936833C52C5703B5F79F58F4C3171F2071040881EEABBD9D4313F246856
+AFCCF15AA4A087A9483BD95C260BF5B59485B74E1E3E98F92505B0D27F46F832
+CD562D0649886F2CAD709585334B034F3C4B93692C0082EACFFBFF259ADAA6D1
+9F863393DC0C772B2A9230FDB5FF02E8F0B5C059DBAC8D8F75BE0B3650AFA3E4
+4292F1CF0A4AF45D9BD8856FF82D93AD77ECD217024A8F619A5B8667D286FA94
+587224B5CF48327FBA64FDEB58FEE11560EA78252F6F3E3520319090EDF0B565
+EECA2CB5FEAD5B42A95B19D4CF41BAC211CEE425FE833DC7F67146FA46AEEAFA
+2AC315DD3D7017B652AB372D6941E9AE38D8BF6F48F5032CC938C7F8AAC3ADA8
+ABAEDC939E982B4C92C666CB24A5242D5504A788338BC5663222F502094EBEC4
+007B13BB67213B30783987029BF3458DD1714F59421AAAD0C298519EA2A4F4E5
+38703C5CFFD13C621EB988C6EDEE218B5D5315164FBF0C41F32B5A48E50FF7F4
+B60B005B69ACA39396DA5969BFD468B28BEA77413E80A3F7027A31A81FCAC929
+108189FD78D3D3B6B22529ACDC418F7D8050A4DA3275FD84E7F2822325CD1E5B
+B0CD6685FA050D53B892CDD028FBE94BA9E2F1C61BD56DEFD7789C2BAAF164B4
+F8FBBF983001B91D0A667F94EE096CC9695C0F84B3BA9BCA6B50787EF1DDC483
+C5DEC8B12C00B19F9D1C680BBC3751E3F9C964F3302B4B9CECB9F6DBA34BEAA3
+CA2F39CC530488640FC1A7CC894E4AED03A08176F3AC15C3FA26FE85C9D9BAFB
+9F4CC02255074CCB951B7E878D7AB997737417BC010499D7F91610D5E2A67AC6
+F8D95510738B83B43DFF22C451A3096F758616FF223882017663DA7AB0AA0D87
+4CE2C31640489CB32EA91176D5C39531746330ADC7925AAEB086075BBFD5E9E2
+4D8967A73090B20310432A8D7FB3D0A756F6D73B36020F040E710792561FA99E
+3307619D6B65F1AE55F0B053FA8DE24D54619AA5ED9F0C1A7157AD8B9D97A142
+386DB15AC36D6CCF453C2EFA6A4615935D388250A11B296307A45B90D7E76BDA
+609198C8FA31C6E5CE1A1AEDD544CBE2D7C6FCEF1CA63BA2D57D2744578956FE
+D463214CEE5C154966E10F0A64E25DF25BE8538F9CDF5D480BD8004082070F38
+C88473561C641E815A6D94820D0CDE56829F0AAE4BE1315D360DEB4CB25B4FBF
+791999D4FA7206256B177D8450D50A32A7F806D89471EE96CC7E85356D2C1E35
+288B7FBC0036792A4E7DE77DEB347F2168B3BD9AFD31177AB5E4990957869944
+243087BC9F048C218368BD6C738832CEC99D7F31159A33026442ED4D27771E12
+BF02554203415B1877941037C72CB762B51471C79365C018D506AAD55464A248
+7EB6E55D9B0527CAC8A915BA84F4DAE556B427F48E3120142AED5705789C2708
+AE94395B1F7B875EFF7F19B9AB8AF28737FC304E32C8633625DAE96D1D732E29
+59879BACFBB15ABFE8A6EE1150AEB29713B428FFAFB619206D71FC382B1215EE
+759318C5CFEA9C0E5E8E3B7F47DE607B6F93C19AF28467568A3F373AEDC78AC0
+CE99A407D97154FD68220CA66F7D3EA77B323A7015FA9D9E8AC5927D0E7F4A4F
+1FC871BFA999EC749E09FE2AEB8220705B0AC8CB4DBBC409CEA6B47F98B67CED
+DED64869A1F9B3BCA0A85D66B1C27301DE7542FDEEAB005F2FB76CA066664B94
+968C3E637E055EFB165093574FB6EA732B959FE708C52FFEF012CC1117C85EF6
+56B97BA4B30322F7B3F1F95233A3C897E5316BB86E8C331FF1A858429E0D98FC
+DA67AA525C035606A8ABDBE35B742B53183CE047EA2CDE1C08EDF08E5355F694
+1C34925DB0D5314CC0B205F40775A500B76491789B90D4604D3545E2D7DAC1EA
+400B2CF72EADCE9C7409900ADD1C6057DBBD97D332F6435C0B91B14D081EBE01
+EC9230E6D12B6455E401CB100C7B3590D23CE094C79BE8266F1F24937448FEA7
+C74CE914AE8DFE853F3E068433A6DA96F156A0014C457040587BAE7DB4CAE2C0
+EC1FF60747BAFB376D5F87DB5CE2A8512453088742214C38F5B6E0D7644A0C1A
+F67087FA502BB43C27B32931D8315CB8A425341ABC3E7656588AB563E9CC456C
+E46CC1E57DD4B2A83CEE5FD154001568DB6AFBCEBE8FAA4458AFA35BF37E4C71
+1D112063753E5B66C8B4E801A5E46F6053C8B55A95086615D6601924A6633C4A
+C4D8EB0B7A5C8AA7E49FCFDC8182EEA53DB300AADBCA3836FC88A140A155C726
+54CA5DDD926DDD0C1555C26E30AAE25D1CA4A2478D0FDE0EC996A1399D5C0F69
+C349AAA9206B2554D7D6C68DA845053641E22B965314B6F28D69628FE8D5C243
+E978E6B81B3F916E722DBAF355B18812021267A9E3C324B3D9F6BCF7B5B50CC2
+D5B72D9DE9D485E103F25E1F42FF7BF040B3B6B5DFBB36BCD8E8B6379CA3198A
+7AEC551899A044FEE3CAAD9A2C3D839DD370C97C194D5A4F2815785E413A0597
+C61887CC4842988FBB321DCF73FB977402DA1E3D9EFAA176230295ABFD079DD9
+9B2D187B82BD7FCAFF1EA271FF74ED0210D616BCBB443800C9FCA4F467A19717
+DD0D36AD7CD6CBA51AEB15755E68789368851FAE22F39F3CBA9CA1DEFC304E17
+33BF87828DE7758DADAF45CB27CB0A64DEB8F4CCE7FF05CEB0E4E016B9675CA4
+E7E001E16FB153610F077EDE525873CE46E0A3997EF7F73D8DF38B916A8AF808
+93C2463BF8B9C5875B76FD983F00311BE872F5CDB5B1647508F422FBF2A56986
+6358FA3C232E7E6063C82F74823036BB7AF8F8D545D12D82B2195DCEC5969DF2
+0EE8CE3123CB3010FBEF3FCCD7F1920ACC42FFB593697B786E6A6F52E10C1A15
+208783D4280FC31CC679F9E4A00E684B74EF11900CCBF5554CFCE34B65A9A999
+68AB22E0A438B4DC1CBFC32755F7DC8FE58A7956C1BBBD29983200DDDAA59C5B
+4CE550F5E0AB048E98DA80BDEBA63ADD9DB6C7DC3A3F6E25C1FB6B638120925D
+C897B2C05C4179A0E48740439BEA3FFCD35C71B21ADFD7C8412706D3868C4BDE
+30F6B8CAE82D86AF842CFEDCAB3CF67BDF0AF7FCE6A0E7AD2D247446C38B2CF3
+26CD3D7E09F5CE2535283C43D04C9391C7A1CDFA6F2571F786A1F0189B9BAFCB
+AB1CDDF8190D7CE364F8FF8EBCBBD5F646C095CF27A34B7235566BFE8B012E01
+CC721A7B3FFD795A0EBAF81A8A0A7820B99E98166C1AF177B87446927CC0C239
+54BBAE855E9FBD704DE67917FABE3034A953930949AFCF79A59AD8A387CA1FA4
+58131723EB2935C02EBBE6F9554BDDBEA5EA55E3FD6BCF25DA52765D65054BB8
+4A5C2AD1312892297E1C45570F0622D145BE35C8758391F28C04B3AC4282D1AE
+084E080892C76C1B9C9F738760879908EC5B3A90DAB7A6538080A484E54B9FF0
+1C2885E93F1F16E52E0A3C9F6802E6345BBC5DBC5E7C57C85104427CA3182C7A
+54E95B22D149BFBA403CC8A960EC62EDABA1881F31B92C54DD21C96298A7703E
+E9D2DBA4B91A23C4E5F3D225A38C07818DA8C2F261D950FC8AB6042023248E37
+6BA0AE50B9A85F04EB48523143AE40695F127E34E070331620415B95A5ECB24F
+C46696AC6F75020F6322DFD03B42788C535DB541FEA6F846380E8F5800B7E060
+51A387FC9AAF598C88CEF209FA38E008D8707A34245EFB722BB373D7E6B1E6CF
+BDF2DBCE22FD2C85F78C4C4FC31F3C2F6B553C4295A1E26665BD166FFB7DF6BE
+A6E9D18FB735F2DA53138A4A4352B36A08B662528FE0237FF37FFF218D88F2EC
+50741BC5E98E856B17D8015869044657657BDB90D69A0FD5D5D0CF4A6A091E56
+938D444D0618D7B45C22F65E18B034282849355ACE83A188D164FA36367AE6C3
+35C775F72A89A4017A4071EAE1118B88C58CB1DE4E20EE1955BE0BFE8646CCF7
+05322E5566D14B5318A2328648CE7C1AC36B077D1A8AF17AC827E500B09FF496
+69CF7446403EF7B00C4F1832F1F6692B5FBACFA7FF9A719E5DDC8F25A798CEE9
+F4F114E522F00B7A415AFBCE48D09958DE98CAAF427FFDFD635A7ED5DCFD5F7B
+6D7AF2B5E78F4446753C8CE59F923D4728ACE448F35BF3FBBC8B2ABCF49432D3
+AA49924191FC8AFDAD01863EE8716B6D76A6512B40BDE9C18C7D321646539DB5
+A09047ACE1815F462E82DC593548CF68B78D52049AED0E44627779613BC02BCD
+2B5BDC8D2091271D44BA1362DE0E44E46CAA9D966D429848FA422A73061A12F2
+B1BE7A81533D810479F91C9656D3AB7F00B9332AB851743C0F25E32F37E943FA
+370B4EB25781068D8DFAAEC50CF86028610CDB59CEEC4AB547EB3908897AF9ED
+CA74EA35D2CA70A70BC83B0AC2E4A5E558098AE2B12EB42397CFCA0F9C9E15BC
+9431FB2F10224F22F0E191291110FC5E1313A99EA12B3E3318263AAD516BCF66
+C71C825091984E21010B29025E3FBDC518E8960AABEAE236F03611CAB6F87D03
+EF0DA8DAC4D2C58A9ABD40E592B2756FB21E4D7D2F2D3259F51CEB6BCBB1B4E2
+33BC3B474D779565D69F0FF19113A20553F85DFDB4FF9E175606240A7562B12D
+4B8B8F938AFDCFDAD721A64972573F6251D363FA971FDC41F2E02F7DF28C0AED
+EAD3A9CBBED541FA7E6AD7BEA83945118B83564782FBCEC5B466B96DA7809BFD
+A86907AA67FCC568533218DDB3D201301379A1B9EA8A32DE36B1F7F93F99F0BB
+FA3F4D002793063ADB685A8935EA4A5E549767853A6488C6DFC2E70B3A455D0A
+29E8F6FD949E810C0EC0F6F835DDD975EF68B4DA83F23A14945195248F667B32
+EF2F958253C7F5FD49AD7E545911E963D76006C57322D2CE2FF3F1DD1256152B
+3226C0CA03B72F409C91151FF59EC80C2B7431C656E94E19904AB842D63BC797
+1C6552AB4B265ABC2AA8B66096AEC22E778232043288EE0F60D6ABB319B9D2BD
+0FBF6F0BFFF5DEDC3A39AECD6821EDE1B213F7A2E6A7BA475389D647F663642D
+E4C5C3F0DE1C0030EE381006CB01B5E5947AE6E837DD2ADBFC967557A0182EDD
+16B10FE9BDD490CA0A3C351B025FC63A08D1415163EBD31ECEFC3F50586142BB
+205E41E1ECEC46CD2209D760D75E743AD13AF1E761A8B7F996ABCAEA43645546
+F42C87F6909258CC74419B96A39D6DA3233834894CC60B03F867B6ADAA2C18F6
+0040A9D8E70BAB12221217095DFC57117CDEB536FDA09E11787D4F7B448F88
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -6062,7 +6062,7 @@ D05087746F3EF6595180C4480008CFEF2F0AB926519BA31392E3A84A07F2C0B8
cleartomark
{restore}if
%%EndFont
-TeXDict begin 39158280 55380996 1000 600 600 (libtasn1.dvi)
+TeXDict begin 40258431 52099146 1000 600 600 (libtasn1.dvi)
@start /Fa 197[21 58[{}1 74.7198 /CMMI9 rf /Fb 134[41
2[41 43 30 30 30 1[43 38 43 64 21 2[21 43 38 23 34 43
34 43 38 11[58 1[43 2[52 1[58 70 48 3[58 60 50 1[59 55
@@ -6070,78 +6070,80 @@ TeXDict begin 39158280 55380996 1000 600 600 (libtasn1.dvi)
12[{}45 74.7198 /CMR9 rf /Fc 134[39 3[39 39 39 39 2[39
39 39 39 2[39 39 2[39 3[39 97[{}13 74.7198 /CMSLTT10
rf /Fd 134[39 39 39 39 39 39 39 39 1[39 39 39 39 39 39
-1[39 39 39 39 39 39 39 39 39 39 39 8[39 39 39 39 2[39
+39 39 39 39 39 39 39 39 39 39 39 39 8[39 39 39 39 2[39
1[39 1[39 2[39 1[39 39 39 39 39 39 39 5[39 7[39 39 39
-1[39 39 39 39 2[39 39 39 39[{}51 74.7198 /CMTT9 rf /Fe
+1[39 39 39 39 2[39 39 39 39[{}52 74.7198 /CMTT9 rf /Fe
133[40 4[51 35 36 39 3[51 76 25 2[25 1[45 1[42 51 40
1[44 7[69 3[70 63 51 69 2[68 71 86 55 2[36 71 71 1[60
-70 66 65 69 6[25 58[{}32 90.9091 /CMB10 rf /Ff 133[52
-52 52 1[52 52 52 52 52 52 52 52 52 52 52 1[52 52 1[52
-52 52 52 52 52 52 1[52 8[52 7[52 7[52 52 52 68[{}29 99.6264
-/CMSLTT10 rf /Fg 133[40 48 48 1[48 51 35 36 36 48 51
-45 51 76 25 1[28 25 51 45 28 40 51 40 51 45 10[68 7[68
-1[57 2[33 2[59 62 69 18[45 4[25 1[45 28[51 51 12[{}36
-90.9091 /CMSL10 rf /Fh 214[35 35 40[{}2 90.9091 /CMSS10
-rf /Fi 134[52 52 52 52 52 52 52 52 1[52 52 52 52 52 52
-52 52 52 52 52 52 52 52 52 52 1[52 25[52 18[52 52 6[52
-42[{}29 99.6264 /CMTT10 rf /Fj 134[65 65 89 65 68 48
-48 50 1[68 61 68 102 34 65 37 34 68 61 37 56 68 55 68
-60 27[81 18[61 61 36[68 12[{}28 109.091 /CMBX12 rf /Fk
-130[48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 1[48 1[48 48 48 48
+70 66 65 69 6[25 58[{}32 90.9091 /CMB10 rf /Ff 133[40
+48 48 1[48 51 35 36 36 48 51 45 51 76 25 1[28 25 1[45
+28 40 51 40 51 45 10[68 7[68 7[59 62 69 54[51 51 12[{}30
+90.9091 /CMSL10 rf /Fg 133[52 52 52 1[52 52 52 52 52
+52 52 52 52 52 52 1[52 52 1[52 52 52 52 52 52 52 1[52
+8[52 7[52 7[52 52 52 68[{}29 99.6264 /CMSLTT10 rf /Fh
+137[53 55 39 39 39 2[50 55 1[28 2[28 55 50 1[44 55 44
+1[50 20[62 2[36 2[65 68 19[50 4[28 1[50 42[{}22 99.6264
+/CMSL10 rf /Fi 214[35 35 40[{}2 90.9091 /CMSS10 rf /Fj
+134[52 52 52 52 52 52 52 52 1[52 52 52 52 52 52 52 52
+52 52 52 52 52 52 52 52 1[52 25[52 18[52 52 6[52 42[{}29
+99.6264 /CMTT10 rf /Fk 134[65 65 89 65 68 48 48 50 1[68
+61 68 102 34 65 37 34 68 61 37 56 68 55 68 60 27[81 18[61
+61 36[68 12[{}28 109.091 /CMBX12 rf /Fl 130[48 1[48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 1[48 1[48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 1[48 48 48 48 48 48 1[48 48 48 48
-48 48 48 48 1[48 48 48 48 48 48 48 48 48 2[48 1[48 34[{}83
-90.9091 /CMTT10 rf /Fl 197[25 58[{}1 90.9091 /CMMI10
-rf /Fm 197[33 58[{}1 119.552 /CMMI12 rf /Fn 134[85 85
-2[90 63 64 66 1[90 81 90 134 45 2[45 90 81 49 74 90 72
-90 78 11[124 112 90 4[126 4[60 2[101 1[124 117 1[122
-12[81 81 81 81 2[45 46[{}34 143.462 /CMBX12 rf /Fo 240[45
-1[91 13[{}2 90.9091 /CMSY10 rf /Fp 138[62 62 62 62 1[62
-62 62 1[62 2[62 62 62 1[62 2[62 62 32[62 14[62 2[62 62
-45[{}18 119.552 /CMTT12 rf /Fq 134[71 71 97 71 75 52
-53 55 1[75 67 75 112 37 71 1[37 75 67 41 61 75 60 75
-65 11[103 94 75 100 1[92 1[105 128 81 1[69 50 105 106
-85 88 103 97 1[102 6[37 2[67 1[67 67 67 67 67 67 1[37
-4[52 52 27[75 12[{}52 119.552 /CMBX12 rf /Fr 131[91 1[40
-48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51
-45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93 68 68
-66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62 69 66
-64 68 1[43 1[71 1[25 25 45 45 45 45 45 45 45 45 45 45
-45 25 30 25 1[45 35 35 25 2[45 1[45 25 19[51 51 53 11[{}85
-90.9091 /CMR10 rf /Fs 139[75 76 4[108 4[54 6[108 94 20[116
-26[97 49[{}8 172.154 /CMBX12 rf end
+48 48 1[48 48 48 48 48 48 1[48 48 48 48 48 48 48 48 1[48
+48 48 48 48 48 48 48 48 2[48 1[48 34[{}83 90.9091 /CMTT10
+rf /Fm 197[25 58[{}1 90.9091 /CMMI10 rf /Fn 197[33 58[{}1
+119.552 /CMMI12 rf /Fo 134[85 85 2[90 63 64 66 1[90 81
+90 134 45 2[45 90 81 49 74 90 72 90 78 11[124 112 90
+4[126 4[60 2[101 1[124 117 1[122 12[81 81 81 81 2[45
+46[{}34 143.462 /CMBX12 rf /Fp 240[45 1[91 13[{}2 90.9091
+/CMSY10 rf /Fq 138[62 62 62 62 1[62 62 62 1[62 2[62 62
+62 1[62 2[62 62 32[62 14[62 2[62 62 45[{}18 119.552 /CMTT12
+rf /Fr 134[71 71 97 71 75 52 53 55 1[75 67 75 112 37
+71 1[37 75 67 41 61 75 60 75 65 11[103 94 75 100 1[92
+1[105 128 81 1[69 50 105 106 85 88 103 97 1[102 6[37
+1[67 2[67 67 67 67 67 2[37 4[52 52 27[75 12[{}51 119.552
+/CMBX12 rf /Fs 131[91 1[40 48 48 66 48 51 35 36 36 48
+51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25
+45 25 56 68 68 93 68 68 66 51 67 71 62 71 68 83 57 71
+47 33 68 71 59 62 69 66 64 68 1[43 1[71 1[25 25 45 45
+45 45 45 45 45 45 45 45 45 25 30 25 1[45 35 35 25 2[45
+1[45 25 19[51 51 53 11[{}85 90.9091 /CMR10 rf /Ft 139[75
+76 4[108 4[54 6[108 94 20[116 26[97 49[{}8 172.154 /CMBX12
+rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
-%%BeginPaperSize: a4
+%%BeginPaperSize: Letter
/setpagedevice where
-{ pop << /PageSize [595 842] >> setpagedevice }
-{ /a4 where { pop a4 } if }
+{ pop << /PageSize [612 792] >> setpagedevice }
+{ /letter where { pop letter } if }
ifelse
%%EndPaperSize
end
%%EndSetup
%%Page: 1 1
-TeXDict begin 1 0 bop 150 1318 a Fs(Libtasn1)p 150 1385
-3600 34 v 1035 1486 a Fr(Abstract)31 b(Syn)m(tax)f(Notation)j(One)d
-(\(ASN.1\))h(library)f(for)g(the)h(GNU)g(system)2592
-1594 y(for)f(v)m(ersion)h(4.13,)h(4)f(April)f(2016)150
-4795 y Fq(F)-11 b(abio)45 b(Fiorina)150 4928 y(Simon)g(Josefsson)150
-5061 y(Nik)l(os)h(Ma)l(vrogiannop)t(oulos)g(\()p Fp(help-libtasn1@)o
-(gn)o(u.o)o(rg)o Fq(\))p 150 5141 3600 17 v eop end
+TeXDict begin 1 0 bop 150 1318 a Ft(Libtasn1)p 150 1385
+3600 34 v 1035 1486 a Fs(Abstract)31 b(Syn)m(tax)f(Notation)j(One)d
+(\(ASN.1\))h(library)f(for)g(the)h(GNU)g(system)2499
+1594 y(for)f(v)m(ersion)h(4.14,)h(29)f(Marc)m(h)g(2019)150
+4779 y Fr(F)-11 b(abio)45 b(Fiorina)150 4920 y(Simon)g(Josefsson)150
+5061 y(Nik)l(os)h(Ma)l(vrogiannop)t(oulos)g(\()p Fq(help-libtasn1@)o
+(gn)o(u.o)o(rg)o Fr(\))p 150 5141 3600 17 v eop end
%%Page: 2 2
-TeXDict begin 2 1 bop 150 4523 a Fr(This)21 b(man)m(ual)i(is)f(for)g
-(GNU)h(Libtasn1)g(\(v)m(ersion)g(4.13,)j(4)c(April)g(2016\),)k(whic)m
-(h)c(is)h(a)f(library)g(for)g(Abstract)150 4633 y(Syn)m(tax)31
-b(Notation)h(One)e(\(ASN.1\))h(and)f(Distinguished)h(Enco)s(ding)e
-(Rules)i(\(DER\))g(manipulation.)150 4767 y(Cop)m(yrigh)m(t)602
-4764 y(c)577 4767 y Fo(\015)f Fr(2001-2015)k(F)-8 b(ree)32
-b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(Inc.)390 4902
-y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
-b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
-(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
+TeXDict begin 2 1 bop 150 4413 a Fs(This)40 b(man)m(ual)h(is)f(for)g
+(GNU)i(Libtasn1)e(\(v)m(ersion)i(4.14,)i(29)e(Marc)m(h)f(2019\),)k
+(whic)m(h)c(is)f(a)h(library)f(for)150 4523 y(Abstract)32
+b(Syn)m(tax)f(Notation)j(One)d(\(ASN.1\))h(and)f(Distinguished)g(Enco)s
+(ding)g(Rules)g(\(DER\))h(manip-)150 4633 y(ulation.)150
+4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767 y Fp(\015)e
+Fs(2001-2019)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8
+b(oundation,)32 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h
+(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s
+(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
@@ -6152,98 +6154,99 @@ b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390
5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8
b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end
%%Page: -1 3
-TeXDict begin -1 2 bop 3725 -116 a Fr(i)150 299 y Fn(T)-13
-b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fq(1)135 b(In)l(tro)t
-(duction)13 b Fm(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)57 b Fq(1)150 911 y(2)135 b(ASN.1)45
-b(structure)g(handling)16 b Fm(:)j(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)61 b Fq(2)275
-1048 y Fr(2.1)92 b(ASN.1)30 b(syn)m(tax)20 b Fl(:)c(:)g(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)50 b Fr(2)275 1157
-y(2.2)92 b(Naming)18 b Fl(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)48 b Fr(3)275
-1267 y(2.3)92 b(Simple)30 b(parsing)21 b Fl(:)15 b(:)g(:)h(:)f(:)g(:)h
+TeXDict begin -1 2 bop 3725 -116 a Fs(i)150 299 y Fo(T)-13
+b(able)53 b(of)h(Con)l(ten)l(ts)150 649 y Fr(1)135 b(In)l(tro)t
+(duction)31 b Fn(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)h(:)f(:)g(:)44 b Fr(1)150 927 y(2)135 b(ASN.1)45
+b(structure)g(handling)34 b Fn(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)47
+b Fr(2)275 1064 y Fs(2.1)92 b(ASN.1)30 b(syn)m(tax)8
+b Fm(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)22
+b Fs(2)275 1174 y(2.2)92 b(Naming)26 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)40
+b Fs(3)275 1284 y(2.3)92 b(Simple)30 b(parsing)9 b Fm(:)15
+b(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b Fr(4)275 1377 y(2.4)92
-b(Library)29 b(Notes)18 b Fl(:)f(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)48 b Fr(4)275 1486 y(2.5)92 b(F)-8 b(uture)30
-b(dev)m(elopmen)m(ts)22 b Fl(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)23
+b Fs(4)275 1393 y(2.4)92 b(Library)29 b(Notes)f Fm(:)15
+b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)40
+b Fs(4)275 1503 y(2.5)92 b(F)-8 b(uture)30 b(dev)m(elopmen)m(ts)10
+b Fm(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)23 b Fs(4)150
+1753 y Fr(3)135 b(Utilities)36 b Fn(:)20 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)47
+b Fr(5)275 1890 y Fs(3.1)92 b(In)m(v)m(oking)31 b(asn1P)m(arser)24
+b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)52
-b Fr(4)150 1729 y Fq(3)135 b(Utilities)16 b Fm(:)22 b(:)d(:)h(:)f(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
-(:)h(:)60 b Fq(5)275 1866 y Fr(3.1)92 b(In)m(v)m(oking)31
-b(asn1P)m(arser)15 b Fl(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)45
-b Fr(5)275 1975 y(3.2)92 b(In)m(v)m(oking)31 b(asn1Co)s(ding)19
-b Fl(:)c(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b Fr(5)275 2085
-y(3.3)92 b(In)m(v)m(oking)31 b(asn1Deco)s(ding)17 b Fl(:)f(:)g(:)f(:)g
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)37 b Fs(5)275
+2000 y(3.2)92 b(In)m(v)m(oking)31 b(asn1Co)s(ding)26
+b Fm(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b Fs(5)275 2110
+y(3.3)92 b(In)m(v)m(oking)31 b(asn1Deco)s(ding)26 b Fm(:)16
+b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)47 b Fr(6)150 2327 y Fq(4)135 b(F)-11 b(unction)44
-b(reference)21 b Fm(:)g(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)66
-b Fq(7)275 2464 y Fr(4.1)92 b(ASN.1)30 b(sc)m(hema)i(functions)13
-b Fl(:)i(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)44 b Fr(7)275 2574 y(4.2)92 b(ASN.1)30
-b(\014eld)g(functions)12 b Fl(:)k(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
+h(:)f(:)h(:)f(:)g(:)39 b Fs(6)150 2360 y Fr(4)135 b(F)-11
+b(unction)44 b(reference)13 b Fn(:)20 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)h(:)f(:)26 b Fr(8)275 2497 y Fs(4.1)92 b(ASN.1)30
+b(sc)m(hema)i(functions)22 b Fm(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)35
+b Fs(8)275 2607 y(4.2)92 b(ASN.1)30 b(\014eld)g(functions)21
+b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)34 b Fs(8)275 2716
+y(4.3)92 b(DER)30 b(functions)25 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)38 b Fs(15)275 2826 y(4.4)92 b(Error)29
+b(handling)h(functions)12 b Fm(:)j(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)43
-b Fr(7)275 2683 y(4.3)92 b(DER)30 b(functions)17 b Fl(:)e(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)46 b Fr(14)275 2793
-y(4.4)92 b(Error)29 b(handling)h(functions)23 b Fl(:)16
-b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)54 b Fr(20)275 2902 y(4.5)92 b(Auxilliary)31
-b(functions)19 b Fl(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)48
-b Fr(21)150 3145 y Fq(App)t(endix)c(A)160 b(Cop)l(ying)45
-b(Information)25 b Fm(:)c(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
-(:)70 b Fq(22)275 3282 y Fr(A.1)91 b(GNU)31 b(F)-8 b(ree)32
-b(Do)s(cumen)m(tation)g(License)21 b Fl(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)51 b Fr(22)150 3524 y Fq(Concept)45 b(Index)18
-b Fm(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)63 b Fq(30)150 3794 y(F)-11 b(unction)44 b(and)h(Data)h
-(Index)24 b Fm(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)69 b Fq(31)p
-eop end
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)25 b Fs(22)275
+2936 y(4.5)92 b(Auxilliary)31 b(functions)26 b Fm(:)16
+b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)40 b Fs(23)150 3186 y Fr(App)t(endix)k(A)
+119 b(Cop)l(ying)46 b(Information)11 b Fn(:)20 b(:)g(:)f(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)24 b Fr(24)275 3323 y
+Fs(A.1)91 b(GNU)31 b(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)10
+b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)23
+b Fs(24)150 3574 y Fr(Concept)45 b(Index)36 b Fn(:)19
+b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
+h(:)49 b Fr(32)150 3852 y(F)-11 b(unction)44 b(and)h(Data)h(Index)16
+b Fn(:)j(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)29 b Fr(33)p eop
+end
%%Page: 1 4
-TeXDict begin 1 3 bop 150 -116 a Fr(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(1)150 299 y Fn(1)80 b(In)l(tro)t(duction)
-150 533 y Fr(This)27 b(do)s(cumen)m(t)h(describ)s(es)g(the)g(Libtasn1)g
-(library)g(that)h(pro)m(vides)f(Abstract)h(Syn)m(tax)f(Notation)i(One)
-150 643 y(\(ASN.1,)42 b(as)c(sp)s(eci\014ed)g(b)m(y)h(the)f(X.680)i
-(ITU-T)f(recommendation\))g(parsing)f(and)g(structures)g(man-)150
-752 y(agemen)m(t,)g(and)c(Distinguished)h(Enco)s(ding)f(Rules)h(\(DER,)
-g(as)g(p)s(er)f(X.690\))j(enco)s(ding)e(and)f(deco)s(ding)150
-862 y(functions.)275 996 y(The)29 b(main)i(features)f(of)h(this)f
-(library)g(are:)225 1131 y Fo(\017)60 b Fr(On-line)30
+TeXDict begin 1 3 bop 3705 -116 a Fs(1)150 299 y Fo(1)80
+b(In)l(tro)t(duction)150 533 y Fs(This)27 b(do)s(cumen)m(t)h(describ)s
+(es)g(the)g(Libtasn1)g(library)g(that)h(pro)m(vides)f(Abstract)h(Syn)m
+(tax)f(Notation)i(One)150 643 y(\(ASN.1,)42 b(as)c(sp)s(eci\014ed)g(b)m
+(y)h(the)f(X.680)i(ITU-T)f(recommendation\))g(parsing)f(and)g
+(structures)g(man-)150 752 y(agemen)m(t,)g(and)c(Distinguished)h(Enco)s
+(ding)f(Rules)h(\(DER,)g(as)g(p)s(er)f(X.690\))j(enco)s(ding)e(and)f
+(deco)s(ding)150 862 y(functions.)275 996 y(The)29 b(main)i(features)f
+(of)h(this)f(library)g(are:)225 1131 y Fp(\017)60 b Fs(On-line)30
b(ASN.1)h(structure)f(managemen)m(t)i(that)f(do)s(esn't)f(require)g(an)
-m(y)h(C)f(co)s(de)g(\014le)h(generation.)225 1265 y Fo(\017)60
-b Fr(O\013-line)30 b(ASN.1)f(structure)g(managemen)m(t)h(with)f(C)g(co)
+m(y)h(C)f(co)s(de)g(\014le)h(generation.)225 1265 y Fp(\017)60
+b Fs(O\013-line)30 b(ASN.1)f(structure)g(managemen)m(t)h(with)f(C)g(co)
s(de)g(\014le)h(generation)g(con)m(taining)h(an)e(arra)m(y)-8
-b(.)225 1400 y Fo(\017)60 b Fr(Distinguished)30 b(Enco)s(ding)g(Rules)g
-(\(DER\))i(enco)s(ding)e(supp)s(ort.)225 1534 y Fo(\017)60
-b Fr(No)31 b(limits)g(for)f(INTEGER)g(and)g(ENUMERA)-8
-b(TED)31 b(v)-5 b(alues.)225 1669 y Fo(\017)60 b Fr(It's)36
+b(.)225 1400 y Fp(\017)60 b Fs(Distinguished)30 b(Enco)s(ding)g(Rules)g
+(\(DER\))i(enco)s(ding)e(supp)s(ort.)225 1534 y Fp(\017)60
+b Fs(No)31 b(limits)g(for)f(INTEGER)g(and)g(ENUMERA)-8
+b(TED)31 b(v)-5 b(alues.)225 1669 y Fp(\017)60 b Fs(It's)36
b(F)-8 b(ree)38 b(Soft)m(w)m(are.)59 b(An)m(yb)s(o)s(dy)35
b(can)h(use,)i(mo)s(dify)-8 b(,)38 b(and)d(redistribute)h(the)g
(library)g(under)f(the)330 1778 y(terms)g(of)f(the)h(GNU)h(Lesser)e
@@ -6251,188 +6254,186 @@ b(can)h(use,)i(mo)s(dify)-8 b(,)38 b(and)d(redistribute)h(the)g
b(The)34 b(command)330 1888 y(line)23 b(to)s(ols,)j(self-tests)e(and)e
(build)g(infrastructure)f(are)j(licensed)f(under)e(the)i(GNU)h(General)
f(Public)330 1998 y(License)31 b(v)m(ersion)g(3.0)g(or)g(later.)225
-2132 y Fo(\017)60 b Fr(Thread-safet)m(y)-8 b(.)56 b(No)36
+2132 y Fp(\017)60 b Fs(Thread-safet)m(y)-8 b(.)56 b(No)36
b(global)g(v)-5 b(ariables)36 b(are)f(used)g(and)f(m)m(ultiple)i
(library)f(handles)f(and)h(session)330 2242 y(handles)30
-b(ma)m(y)h(b)s(e)e(used)h(in)g(parallel.)225 2376 y Fo(\017)60
-b Fr(P)m(ortabilit)m(y)-8 b(.)54 b(The)33 b(co)s(de)h(should)f(w)m(ork)
+b(ma)m(y)h(b)s(e)e(used)h(in)g(parallel.)225 2376 y Fp(\017)60
+b Fs(P)m(ortabilit)m(y)-8 b(.)54 b(The)33 b(co)s(de)h(should)f(w)m(ork)
h(on)g(all)g(Unix)g(lik)m(e)h(op)s(erating)f(systems,)h(and)f(Windo)m
(ws.)330 2486 y(The)c(library)g(itself)h(should)e(b)s(e)h(p)s(ortable)h
(to)g(an)m(y)f(C89)h(system,)g(not)g(ev)m(en)g(POSIX)e(is)h(required.)p
eop end
%%Page: 2 5
-TeXDict begin 2 4 bop 150 -116 a Fr(Chapter)30 b(2:)41
-b(ASN.1)31 b(structure)f(handling)2068 b(2)150 299 y
-Fn(2)80 b(ASN.1)53 b(structure)f(handling)150 632 y Fq(2.1)68
-b(ASN.1)45 b(syn)l(tax)150 792 y Fr(The)30 b(parser)f(is)h(case)h
+TeXDict begin 2 4 bop 3705 -116 a Fs(2)150 299 y Fo(2)80
+b(ASN.1)53 b(structure)f(handling)150 639 y Fr(2.1)68
+b(ASN.1)45 b(syn)l(tax)150 798 y Fs(The)30 b(parser)f(is)h(case)h
(sensitiv)m(e.)42 b(The)30 b(commen)m(ts)h(b)s(egin)e(with)h
-Fk(--)g Fr(and)f(end)h(either)g(with)g(another)g Fk(--)p
-Fr(,)150 901 y(or)35 b(at)h(the)g(end)f(of)g(the)h(resp)s(ectiv)m(e)g
+Fl(--)g Fs(and)f(end)h(either)g(with)g(another)g Fl(--)p
+Fs(,)150 908 y(or)35 b(at)h(the)g(end)f(of)g(the)h(resp)s(ectiv)m(e)g
(line,)h(whic)m(hev)m(er)f(comes)h(\014rst.)55 b(The)34
-b(C-st)m(yle)j Fk(/*)p Fr(,)f Fk(*/)f Fr(commen)m(ts)150
-1011 y(are)c(not)f(supp)s(orted.)275 1146 y(F)-8 b(or)31
+b(C-st)m(yle)j Fl(/*)p Fs(,)f Fl(*/)f Fs(commen)m(ts)150
+1018 y(are)c(not)f(supp)s(orted.)275 1152 y(F)-8 b(or)31
b(an)f(example)h(of)g(the)f(syn)m(tax,)h(c)m(hec)m(k)h(the)f
-Fk(pkix.asn)d Fr(\014le)i(distributed)g(with)g(the)g(library)-8
-b(.)275 1280 y(ASN.1)30 b(de\014nitions)g(m)m(ust)h(follo)m(w)g(the)g
-(syn)m(tax)g(b)s(elo)m(w:)436 1415 y Fk(definitions_name)44
-b({<object)h(definition>})436 1634 y(DEFINITIONS)g(<EXPLICIT)g(or)j
-(IMPLICIT>)d(TAGS)h(::=)436 1854 y(BEGIN)436 2073 y(<type)h(and)g
-(constants)e(definitions>)436 2292 y(END)275 2427 y Fr(The)39
-b Fk(::=)g Fr(tok)m(en)i(m)m(ust)f(b)s(e)f(separate)i(from)f(other)g
+Fl(pkix.asn)d Fs(\014le)i(distributed)g(with)g(the)g(library)-8
+b(.)275 1286 y(ASN.1)30 b(de\014nitions)g(m)m(ust)h(follo)m(w)g(the)g
+(syn)m(tax)g(b)s(elo)m(w:)436 1421 y Fl(definitions_name)44
+b({<object)h(definition>})436 1640 y(DEFINITIONS)g(<EXPLICIT)g(or)j
+(IMPLICIT>)d(TAGS)h(::=)436 1859 y(BEGIN)436 2078 y(<type)h(and)g
+(constants)e(definitions>)436 2298 y(END)275 2432 y Fs(The)39
+b Fl(::=)g Fs(tok)m(en)i(m)m(ust)f(b)s(e)f(separate)i(from)f(other)g
(elemen)m(ts,)k(so)c(the)g(follo)m(wing)h(declaration)h(is)150
-2536 y(in)m(v)-5 b(alid:)533 2671 y Fk(--)47 b(INCORRECT)533
-2781 y(Version)f(::=INTEGER)275 2916 y Fr(The)29 b(correct)j(form)e
-(is:)533 3050 y Fk(Version)46 b(::=)h(INTEGER)275 3185
-y Fr(Here)30 b(is)h(the)f(list)h(of)g(t)m(yp)s(es)f(that)h(the)g
-(parser)f(can)g(manage:)225 3320 y Fo(\017)60 b Fk(INTEGER)p
-Fr(;)225 3455 y Fo(\017)g Fk(ENUMERATED)p Fr(;)225 3589
-y Fo(\017)g Fk(BOOLEAN)p Fr(;)225 3724 y Fo(\017)g Fk(OBJECT)29
-b(IDENTIFIER)p Fr(;)225 3859 y Fo(\017)60 b Fk(NULL)p
-Fr(;)225 3993 y Fo(\017)g Fk(BIT)29 b(STRING)p Fr(;)225
-4128 y Fo(\017)60 b Fk(OCTET)29 b(STRING)p Fr(;)225 4263
-y Fo(\017)60 b Fk(UTCTime)p Fr(;)225 4397 y Fo(\017)g
-Fk(GeneralizedTime)p Fr(;)225 4532 y Fo(\017)g Fk(GeneralString)p
-Fr(;)225 4667 y Fo(\017)g Fk(NumericString)p Fr(;)225
-4801 y Fo(\017)g Fk(IA5String)p Fr(;)225 4936 y Fo(\017)g
-Fk(TeletexString)p Fr(;)225 5071 y Fo(\017)g Fk(PrintableString)p
-Fr(;)225 5205 y Fo(\017)g Fk(UniversalString)p Fr(;)225
-5340 y Fo(\017)g Fk(BMPString)p Fr(;)p eop end
+2542 y(in)m(v)-5 b(alid:)533 2676 y Fl(--)47 b(INCORRECT)533
+2786 y(Version)f(::=INTEGER)275 2920 y Fs(The)29 b(correct)j(form)e
+(is:)533 3054 y Fl(Version)46 b(::=)h(INTEGER)275 3189
+y Fs(Here)30 b(is)h(the)f(list)h(of)g(t)m(yp)s(es)f(that)h(the)g
+(parser)f(can)g(manage:)225 3323 y Fp(\017)60 b Fl(INTEGER)p
+Fs(;)225 3458 y Fp(\017)g Fl(ENUMERATED)p Fs(;)225 3592
+y Fp(\017)g Fl(BOOLEAN)p Fs(;)225 3727 y Fp(\017)g Fl(OBJECT)29
+b(IDENTIFIER)p Fs(;)225 3861 y Fp(\017)60 b Fl(NULL)p
+Fs(;)225 3996 y Fp(\017)g Fl(BIT)29 b(STRING)p Fs(;)225
+4130 y Fp(\017)60 b Fl(OCTET)29 b(STRING)p Fs(;)225 4264
+y Fp(\017)60 b Fl(UTCTime)p Fs(;)225 4399 y Fp(\017)g
+Fl(GeneralizedTime)p Fs(;)225 4533 y Fp(\017)g Fl(GeneralString)p
+Fs(;)225 4668 y Fp(\017)g Fl(NumericString)p Fs(;)225
+4802 y Fp(\017)g Fl(IA5String)p Fs(;)225 4937 y Fp(\017)g
+Fl(TeletexString)p Fs(;)225 5071 y Fp(\017)g Fl(PrintableString)p
+Fs(;)225 5206 y Fp(\017)g Fl(UniversalString)p Fs(;)225
+5340 y Fp(\017)g Fl(BMPString)p Fs(;)p eop end
%%Page: 3 6
-TeXDict begin 3 5 bop 150 -116 a Fr(Chapter)30 b(2:)41
+TeXDict begin 3 5 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(ASN.1)31 b(structure)f(handling)2068 b(3)225 299 y
-Fo(\017)60 b Fk(UTF8String)p Fr(;)225 437 y Fo(\017)g
-Fk(VisibleString)p Fr(;)225 576 y Fo(\017)g Fk(SEQUENCE)p
-Fr(;)225 714 y Fo(\017)g Fk(SEQUENCE)28 b(OF)p Fr(;)225
-853 y Fo(\017)60 b Fk(SET)p Fr(;)225 992 y Fo(\017)g
-Fk(SET)29 b(OF)p Fr(;)225 1130 y Fo(\017)60 b Fk(CHOICE)p
-Fr(;)225 1269 y Fo(\017)g Fk(ANY)p Fr(;)225 1407 y Fo(\017)g
-Fk(ANY)29 b(DEFINED)g(BY)p Fr(.)275 1579 y(This)42 b(v)m(ersion)j(do)s
-(esn't)e(handle)g(the)h Fk(REAL)f Fr(t)m(yp)s(e.)81 b(It)44
-b(do)s(esn't)f(supp)s(ort)f(the)i Fk(AUTOMATIC)28 b(TAGS)150
-1688 y Fr(option,)j(and)f(the)g Fk(EXPORT)f Fr(and)h
-Fk(IMPORT)f Fr(sections,)i(either.)275 1831 y(The)e Fk(SIZE)h
-Fr(constrain)m(ts)h(are)g(allo)m(w)m(ed,)h(but)e(no)g(c)m(hec)m(k)i(is)
-f(done)f(on)g(them.)150 2075 y Fq(2.2)68 b(Naming)150
-2235 y Fr(Consider)30 b(this)g(de\014nition:)436 2377
-y Fk(Example)46 b({)i(1)f(2)h(3)f(4)g(})436 2597 y(DEFINITIONS)e
-(EXPLICIT)h(TAGS)g(::=)436 2816 y(BEGIN)436 3035 y(Group)h(::=)g
-(SEQUENCE)e({)580 3145 y(id)142 b(OBJECT)46 b(IDENTIFIER,)580
-3254 y(value)94 b(Value)436 3364 y(})436 3583 y(Value)47
-b(::=)g(SEQUENCE)e({)580 3692 y(value1)93 b(INTEGER,)580
-3802 y(value2)g(BOOLEAN)436 3912 y(})436 4131 y(END)275
-4273 y Fr(The)68 b(notation)j(to)f(access)g(the)g(`)p
-Fk(Group)p Fr(')e(t)m(yp)s(e)i(of)f(the)h(`)p Fk(Example)p
-Fr(')d(de\014nition)i(ab)s(o)m(v)m(e)i(is)150 4383 y(`)p
-Fk(Example.Group)p Fr(')40 b(\(as)j(a)g(NUL-terminated)h(string.\))78
+Fp(\017)60 b Fl(UTF8String)p Fs(;)225 437 y Fp(\017)g
+Fl(VisibleString)p Fs(;)225 575 y Fp(\017)g Fl(SEQUENCE)p
+Fs(;)225 714 y Fp(\017)g Fl(SEQUENCE)28 b(OF)p Fs(;)225
+852 y Fp(\017)60 b Fl(SET)p Fs(;)225 990 y Fp(\017)g
+Fl(SET)29 b(OF)p Fs(;)225 1128 y Fp(\017)60 b Fl(CHOICE)p
+Fs(;)225 1267 y Fp(\017)g Fl(ANY)p Fs(;)225 1405 y Fp(\017)g
+Fl(ANY)29 b(DEFINED)g(BY)p Fs(.)275 1576 y(This)42 b(v)m(ersion)j(do)s
+(esn't)e(handle)g(the)h Fl(REAL)f Fs(t)m(yp)s(e.)81 b(It)44
+b(do)s(esn't)f(supp)s(ort)f(the)i Fl(AUTOMATIC)28 b(TAGS)150
+1685 y Fs(option,)j(and)f(the)g Fl(EXPORT)f Fs(and)h
+Fl(IMPORT)f Fs(sections,)i(either.)275 1827 y(The)e Fl(SIZE)h
+Fs(constrain)m(ts)h(are)g(allo)m(w)m(ed,)h(but)e(no)g(c)m(hec)m(k)i(is)
+f(done)f(on)g(them.)150 2079 y Fr(2.2)68 b(Naming)150
+2239 y Fs(Consider)30 b(this)g(de\014nition:)436 2381
+y Fl(Example)46 b({)i(1)f(2)h(3)f(4)g(})436 2600 y(DEFINITIONS)e
+(EXPLICIT)h(TAGS)g(::=)436 2819 y(BEGIN)436 3038 y(Group)h(::=)g
+(SEQUENCE)e({)580 3148 y(id)142 b(OBJECT)46 b(IDENTIFIER,)580
+3257 y(value)94 b(Value)436 3367 y(})436 3586 y(Value)47
+b(::=)g(SEQUENCE)e({)580 3696 y(value1)93 b(INTEGER,)580
+3805 y(value2)g(BOOLEAN)436 3915 y(})436 4134 y(END)275
+4276 y Fs(The)68 b(notation)j(to)f(access)g(the)g(`)p
+Fl(Group)p Fs(')e(t)m(yp)s(e)i(of)f(the)h(`)p Fl(Example)p
+Fs(')d(de\014nition)i(ab)s(o)m(v)m(e)i(is)150 4386 y(`)p
+Fl(Example.Group)p Fs(')40 b(\(as)j(a)g(NUL-terminated)h(string.\))78
b(Suc)m(h)42 b(strings)h(are)g(used)f(in)g(the)h(functions)150
-4493 y(describ)s(ed)29 b(b)s(elo)m(w.)275 4635 y(Others)g(examples:)225
-4778 y Fo(\017)60 b Fr(\014eld)30 b(`)p Fk(id)p Fr(')g(of)h(the)f(`)p
-Fk(Group)p Fr(')g(t)m(yp)s(e:)41 b(`)p Fk(Example.Group.id)p
-Fr(';)225 4916 y Fo(\017)60 b Fr(\014eld)24 b(`)p Fk(value1)p
-Fr(')f(of)i(the)f(`)p Fk(value)p Fr(')g(\014eld)g(of)g(the)h(`)p
-Fk(Group)p Fr(')e(t)m(yp)s(e:)38 b(`)p Fk(Example.Group.value.value1)o
-Fr('.)275 5088 y(Elemen)m(ts)26 b(of)f(structured)g(t)m(yp)s(es)g
+4495 y(describ)s(ed)29 b(b)s(elo)m(w.)275 4637 y(Others)g(examples:)225
+4779 y Fp(\017)60 b Fs(\014eld)30 b(`)p Fl(id)p Fs(')g(of)h(the)f(`)p
+Fl(Group)p Fs(')g(t)m(yp)s(e:)41 b(`)p Fl(Example.Group.id)p
+Fs(';)225 4918 y Fp(\017)60 b Fs(\014eld)24 b(`)p Fl(value1)p
+Fs(')f(of)i(the)f(`)p Fl(value)p Fs(')g(\014eld)g(of)g(the)h(`)p
+Fl(Group)p Fs(')e(t)m(yp)s(e:)38 b(`)p Fl(Example.Group.value.value1)o
+Fs('.)275 5088 y(Elemen)m(ts)26 b(of)f(structured)g(t)m(yp)s(es)g
(unnamed)f(b)m(y)i(the)f(resp)s(ectiv)m(e)i(de\014nition)e(receiv)m(e)i
-(the)f(names)f Fk(?1)p Fr(,)150 5197 y Fk(?2)p Fr(,)30
-b(and)g(so)g(on.)275 5340 y(The)f Fk(?LAST)g Fr(name)i(indicates)g(the)
-g(last)g(elemen)m(t)h(of)e(a)h Fk(SET)e(OF)h Fr(or)h
-Fk(SEQUENCE)d(OF)p Fr(.)p eop end
+(the)f(names)f Fl(?1)p Fs(,)150 5198 y Fl(?2)p Fs(,)30
+b(and)g(so)g(on.)275 5340 y(The)f Fl(?LAST)g Fs(name)i(indicates)g(the)
+g(last)g(elemen)m(t)h(of)e(a)h Fl(SET)e(OF)h Fs(or)h
+Fl(SEQUENCE)d(OF)p Fs(.)p eop end
%%Page: 4 7
-TeXDict begin 4 6 bop 150 -116 a Fr(Chapter)30 b(2:)41
+TeXDict begin 4 6 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(ASN.1)31 b(structure)f(handling)2068 b(4)150 299 y
-Fq(2.3)68 b(Simple)46 b(parsing)150 458 y Fr(F)-8 b(or)32
-b(simple)f(t)m(yp)s(es)h(lik)m(e)g Fk(OCTET)d(STRING)h
-Fr(the)h(simple)g(parsing)g(functions)g(listed)h(b)s(elo)m(w)f(ma)m(y)h
-(b)s(e)f(used)150 568 y(instead.)225 702 y Fo(\017)60
-b Fr([asn1)p 538 702 28 4 v 41 w(deco)s(de)p 849 702
-V 40 w(simple)p 1142 702 V 40 w(der],)30 b(page)h(20)225
-837 y Fo(\017)60 b Fr([asn1)p 538 837 V 41 w(enco)s(de)p
-849 837 V 40 w(simple)p 1142 837 V 40 w(der],)30 b(page)h(15)150
-1069 y Fq(2.4)68 b(Library)45 b(Notes)150 1229 y Fr(The)30
-b(header)g(\014le)h(of)f(this)g(library)g(is)h Fk(libtasn1.h)p
-Fr(.)275 1363 y(The)d(main)g(t)m(yp)s(e)h(used)f(in)h(it)g(is)g
-Fk(asn1_node)p Fr(,)e(and)h(it's)h(used)f(to)i(store)f(the)g(ASN.1)g
-(de\014nitions)g(and)150 1473 y(structures)h(\(instances\).)275
-1607 y(The)f Fk(NULL)h Fr(constan)m(t)h(can)g(b)s(e)f(used)f(for)h(the)
+Fr(2.3)68 b(Simple)46 b(parsing)150 458 y Fs(F)-8 b(or)32
+b(simple)f(t)m(yp)s(es)h(lik)m(e)g Fl(OCTET)d(STRING)h
+Fs(the)h(simple)g(parsing)g(functions)g(listed)h(b)s(elo)m(w)f(ma)m(y)h
+(b)s(e)f(used)150 568 y(instead.)225 702 y Fp(\017)60
+b Fs([asn1)p 538 702 28 4 v 41 w(deco)s(de)p 849 702
+V 40 w(simple)p 1142 702 V 40 w(der],)30 b(page)h(21,)225
+837 y Fp(\017)60 b Fs([asn1)p 538 837 V 41 w(enco)s(de)p
+849 837 V 40 w(simple)p 1142 837 V 40 w(der],)30 b(page)h(16,)150
+1078 y Fr(2.4)68 b(Library)45 b(Notes)150 1237 y Fs(The)30
+b(header)g(\014le)h(of)f(this)g(library)g(is)h Fl(libtasn1.h)p
+Fs(.)275 1372 y(The)d(main)g(t)m(yp)s(e)h(used)f(in)h(it)g(is)g
+Fl(asn1_node)p Fs(,)e(and)h(it's)h(used)f(to)i(store)f(the)g(ASN.1)g
+(de\014nitions)g(and)150 1481 y(structures)h(\(instances\).)275
+1616 y(The)f Fl(NULL)h Fs(constan)m(t)h(can)g(b)s(e)f(used)f(for)h(the)
h(v)-5 b(ariable)31 b(initialization.)44 b(F)-8 b(or)31
-b(example:)438 1742 y Fk(asn1_node)45 b(definitions)g(=)i(NULL;)275
-1876 y Fr(Some)35 b(functions)h(require)f(an)h Fk(errorDescription)31
-b Fr(argumen)m(t)36 b(of)g(t)m(yp)s(e)g Fk(char)29 b(*)p
-Fr(,)37 b(p)s(oin)m(ting)f(to)h(a)150 1986 y(pre-allo)s(cated)f
-(bu\013er)c(of)i(at)h(least)g Fk(ASN1_MAX_ERROR_DESCRIPT)o(ION_)o(SIZ)o
-(E)28 b Fr(b)m(ytes)34 b(size)h(\(e.g.,)h(as)e(in)150
-2095 y(`)p Fk(char)29 b(description[ASN1_MAX_ERROR)o(_DES)o(CRI)o(PTIO)
-o(N_SI)o(ZE])o(;)p Fr('\).)275 2230 y Fk(ASN1_MAX_NAME_SIZE)22
-b Fr(is)28 b(the)h(maxim)m(um)e(n)m(um)m(b)s(er)g(of)h(c)m(haracters)h
-(allo)m(w)m(ed)h(for)e(an)g(ASN.1)g(iden-)150 2340 y(ti\014er.)150
-2572 y Fq(2.5)68 b(F)-11 b(uture)44 b(dev)l(elopmen)l(ts)225
-2731 y Fo(\017)60 b Fr(Add)27 b(functions)g(for)h(a)g(C)g(co)s(de)g
+b(example:)438 1750 y Fl(asn1_node)45 b(definitions)g(=)i(NULL;)275
+1885 y Fs(Some)35 b(functions)h(require)f(an)h Fl(errorDescription)31
+b Fs(argumen)m(t)36 b(of)g(t)m(yp)s(e)g Fl(char)29 b(*)p
+Fs(,)37 b(p)s(oin)m(ting)f(to)h(a)150 1994 y(pre-allo)s(cated)f
+(bu\013er)c(of)i(at)h(least)g Fl(ASN1_MAX_ERROR_DESCRIPT)o(ION_)o(SIZ)o
+(E)28 b Fs(b)m(ytes)34 b(size)h(\(e.g.,)h(as)e(in)150
+2104 y(`)p Fl(char)29 b(description[ASN1_MAX_ERROR)o(_DES)o(CRI)o(PTIO)
+o(N_SI)o(ZE])o(;)p Fs('\).)275 2238 y Fl(ASN1_MAX_NAME_SIZE)22
+b Fs(is)28 b(the)h(maxim)m(um)e(n)m(um)m(b)s(er)g(of)h(c)m(haracters)h
+(allo)m(w)m(ed)h(for)e(an)g(ASN.1)g(iden-)150 2348 y(ti\014er.)150
+2589 y Fr(2.5)68 b(F)-11 b(uture)44 b(dev)l(elopmen)l(ts)225
+2748 y Fp(\017)60 b Fs(Add)27 b(functions)g(for)h(a)g(C)g(co)s(de)g
(\014le)g(generation)h(con)m(taining)h(equiv)-5 b(alen)m(t)29
-b(data)g(structures)e(\(not)i(a)330 2841 y(single)i(arra)m(y)g(lik)m(e)
-h(no)m(w\).)225 2976 y Fo(\017)60 b Fr(The)30 b Fk(REAL)f
-Fr(t)m(yp)s(e.)p eop end
+b(data)g(structures)e(\(not)i(a)330 2858 y(single)i(arra)m(y)g(lik)m(e)
+h(no)m(w\).)225 2992 y Fp(\017)60 b Fs(The)30 b Fl(REAL)f
+Fs(t)m(yp)s(e.)p eop end
%%Page: 5 8
-TeXDict begin 5 7 bop 150 -116 a Fr(Chapter)30 b(3:)41
-b(Utilities)2776 b(5)150 299 y Fn(3)80 b(Utilities)150
-635 y Fq(3.1)68 b(In)l(v)l(oking)46 b(asn1P)l(arser)150
-794 y Fk(asn1Parser)27 b Fr(reads)j(a)g(single)h(\014le)f(with)f(ASN.1)
+TeXDict begin 5 7 bop 3705 -116 a Fs(5)150 299 y Fo(3)80
+b(Utilities)150 638 y Fr(3.1)68 b(In)l(v)l(oking)46 b(asn1P)l(arser)150
+797 y Fl(asn1Parser)27 b Fs(reads)j(a)g(single)h(\014le)f(with)f(ASN.1)
i(de\014nitions)e(and)h(generates)h(a)f(\014le)g(with)g(an)g(arra)m(y)g
-(to)150 904 y(use)g(with)g(libtasn1)h(functions.)150
-1039 y Fk(Usage:)94 b(asn1Parser)45 b([options])g(file)150
-1258 y(Options:)198 1368 y(-h)i(:)g(shows)g(the)g(help)f(message.)198
-1477 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198
-1587 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 1697
-y(-o)h(file)g(:)g(output)f(file.)198 1806 y(-n)h(name)g(:)g(array)f
-(name.)150 2040 y Fq(3.2)68 b(In)l(v)l(oking)46 b(asn1Co)t(ding)150
-2200 y Fk(asn1Coding)27 b Fr(generates)k(a)e(DER)h(enco)s(ding)f(from)g
+(to)150 907 y(use)g(with)g(libtasn1)h(functions.)150
+1041 y Fl(Usage:)94 b(asn1Parser)45 b([options])g(file)150
+1260 y(Options:)198 1370 y(-h)i(:)g(shows)g(the)g(help)f(message.)198
+1480 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198
+1589 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 1699
+y(-o)h(file)g(:)g(output)f(file.)198 1808 y(-n)h(name)g(:)g(array)f
+(name.)150 2049 y Fr(3.2)68 b(In)l(v)l(oking)46 b(asn1Co)t(ding)150
+2208 y Fl(asn1Coding)27 b Fs(generates)k(a)e(DER)h(enco)s(ding)f(from)g
(a)h(\014le)g(with)f(ASN.1)h(de\014nitions)f(and)g(another)h(one)150
-2309 y(with)g(assignmen)m(ts.)275 2445 y(The)f(\014le)i(with)f
+2318 y(with)g(assignmen)m(ts.)275 2452 y(The)f(\014le)i(with)f
(assignmen)m(ts)h(m)m(ust)f(ha)m(v)m(e)i(this)e(syn)m(tax:)150
-2580 y Fk(InstanceName)92 b(Asn1Definition)150 2799 y(nameString)h
-(value)150 3019 y(nameString)g(value)150 3128 y(...)275
-3264 y Fr(T)-8 b(o)35 b(sp)s(ecify)f(the)h(\014eld)f(of)h(a)g
-Fk(CHOICE)d Fr(to)k(b)s(e)e(used,)h(sp)s(ecify)f(its)h(name)g(as)f(a)h
-(v)-5 b(alue)36 b(to)f(the)g Fk(CHOICE)150 3373 y Fr(elemen)m(t)d
-(itself.)41 b(Use)31 b Fk('')f Fr(to)h(denote)g(the)g(ro)s(ot)f(elemen)
+2586 y Fl(InstanceName)92 b(Asn1Definition)150 2806 y(nameString)h
+(value)150 3025 y(nameString)g(value)150 3134 y(...)275
+3269 y Fs(T)-8 b(o)35 b(sp)s(ecify)f(the)h(\014eld)f(of)h(a)g
+Fl(CHOICE)d Fs(to)k(b)s(e)e(used,)h(sp)s(ecify)f(its)h(name)g(as)f(a)h
+(v)-5 b(alue)36 b(to)f(the)g Fl(CHOICE)150 3378 y Fs(elemen)m(t)d
+(itself.)41 b(Use)31 b Fl('')f Fs(to)h(denote)g(the)g(ro)s(ot)f(elemen)
m(t)i(itself.)42 b(\(as)31 b(in)f(the)g(example)h(b)s(elo)m(w.\))275
-3509 y(The)e(output)h(\014le)h(is)f(a)h(binary)f(\014le)g(with)g(the)h
-(DER)f(enco)s(ding.)150 3644 y Fk(Usage:)94 b(asn1Coding)45
-b([options])g(file1)h(file2)198 3754 y(file1)g(:)i(file)e(with)h(ASN1)f
-(definitions.)198 3863 y(file2)g(:)i(file)e(with)h(assignments.)150
-3973 y(Options:)198 4083 y(-h)g(:)g(shows)g(the)g(help)f(message.)198
-4192 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198
-4302 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 4411
-y(-o)h(file)g(:)g(output)f(file.)275 4547 y Fr(F)-8 b(or)31
+3512 y(The)e(output)h(\014le)h(is)f(a)h(binary)f(\014le)g(with)g(the)h
+(DER)f(enco)s(ding.)150 3647 y Fl(Usage:)94 b(asn1Coding)45
+b([options])g(file1)h(file2)198 3756 y(file1)g(:)i(file)e(with)h(ASN1)f
+(definitions.)198 3866 y(file2)g(:)i(file)e(with)h(assignments.)150
+3976 y(Options:)198 4085 y(-h)g(:)g(shows)g(the)g(help)f(message.)198
+4195 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198
+4304 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 4414
+y(-o)h(file)g(:)g(output)f(file.)275 4548 y Fs(F)-8 b(or)31
b(example,)g(consider)f(an)h(ASN.1)f(de\014nitions)g(\014le)h(as)f
-(follo)m(ws:)150 4682 y Fk(MYPKIX1)46 b({)h(})150 4902
+(follo)m(ws:)150 4682 y Fl(MYPKIX1)46 b({)h(})150 4902
y(DEFINITIONS)e(IMPLICIT)g(TAGS)i(::=)150 5121 y(BEGIN)150
5340 y(OtherStruct)e(:=)i(SEQUENCE)e({)p eop end
%%Page: 6 9
-TeXDict begin 6 8 bop 150 -116 a Fr(Chapter)30 b(3:)41
-b(Utilities)2776 b(6)389 299 y Fk(x)333 b(INTEGER,)389
+TeXDict begin 6 8 bop 150 -116 a Fs(Chapter)30 b(3:)41
+b(Utilities)2776 b(6)389 299 y Fl(x)333 b(INTEGER,)389
408 y(y)g(CHOICE)47 b({)580 518 y(y1)g(INTEGER,)580 628
y(y2)g(OCTET)f(STRING)g(},)150 737 y(})150 956 y(Dss-Sig-Value)e(::=)j
(SEQUENCE)f({)389 1066 y(r)333 b(INTEGER,)389 1176 y(s)g(INTEGER,)389
1285 y(other)141 b(OtherStruct)389 1395 y(z)333 b(INTEGER)46
-b(OPTIONAL,)150 1504 y(})150 1724 y(END)275 1869 y Fr(And)29
+b(OPTIONAL,)150 1504 y(})150 1724 y(END)275 1868 y Fs(And)29
b(a)i(assignmen)m(ts)g(\014le)f(as)h(follo)m(ws:)150
-2014 y Fk(dp)47 b(MYPKIX1.Dss-Sig-Value)150 2233 y(r)g(42)150
-2343 y(s)g(47)150 2452 y(other.x)f(66)150 2562 y(other.y)g(y1)150
-2672 y(other.y.y1)f(15)150 2781 y(z)i(\(NULL\))275 2926
-y Fr(Running)32 b(the)h(command)h(b)s(elo)m(w)f(will)h(generate)h(a)f
-Fk(assign.out)d Fr(\014le,)j(con)m(taining)h(the)f(DER)g(en-)150
-3036 y(co)s(ding)c(of)h Fk(PKIX1.Dss-Sig-Value)p Fr(.)150
-3181 y Fk($)47 b(asn1Coding)e(pkix.asn)h(assign.asn1)275
-3326 y Fr(If)38 b(the)h(ro)s(ot)h(elemen)m(t)g(is)f(of)h(the)f
-Fk(CHOICE)e Fr(t)m(yp)s(e,)42 b(the)d(assignmen)m(t)h(\014le)f(ma)m(y)h
-(b)s(e)e(lik)m(e)j(\(using)e(the)150 3436 y(t)m(yp)s(es)30
-b(de\014ned)g(in)g Fk(pkix.asn)p Fr(\):)150 3581 y Fk(elt)47
-b(PKIX1Implicit88.GeneralN)o(ame)150 3800 y('')286 b(dNSName)150
-3910 y(dNSName)46 b(example.org)150 4159 y Fq(3.3)68
-b(In)l(v)l(oking)46 b(asn1Deco)t(ding)150 4318 y Fk(asn1Decoding)20
-b Fr(generates)25 b(an)f(ASN.1)g(structure)g(from)f(a)h(\014le)g(with)f
-(ASN.1)h(de\014nitions)f(and)h(a)g(binary)150 4428 y(\014le)30
-b(with)h(a)f(DER)h(enco)s(ding.)150 4573 y Fk(Usage:)94
+2012 y Fl(dp)47 b(MYPKIX1.Dss-Sig-Value)150 2231 y(r)g(42)150
+2341 y(s)g(47)150 2450 y(other.x)f(66)150 2560 y(other.y)g(y1)150
+2670 y(other.y.y1)f(15)150 2779 y(z)i(\(NULL\))275 2923
+y Fs(Running)32 b(the)h(command)h(b)s(elo)m(w)f(will)h(generate)h(a)f
+Fl(assign.out)d Fs(\014le,)j(con)m(taining)h(the)f(DER)g(en-)150
+3033 y(co)s(ding)c(of)h Fl(PKIX1.Dss-Sig-Value)p Fs(.)150
+3177 y Fl($)47 b(asn1Coding)e(pkix.asn)h(assign.asn1)275
+3322 y Fs(If)38 b(the)h(ro)s(ot)h(elemen)m(t)g(is)f(of)h(the)f
+Fl(CHOICE)e Fs(t)m(yp)s(e,)42 b(the)d(assignmen)m(t)h(\014le)f(ma)m(y)h
+(b)s(e)e(lik)m(e)j(\(using)e(the)150 3431 y(t)m(yp)s(es)30
+b(de\014ned)g(in)g Fl(pkix.asn)p Fs(\):)150 3575 y Fl(elt)47
+b(PKIX1Implicit88.GeneralN)o(ame)150 3795 y('')286 b(dNSName)150
+3904 y(dNSName)46 b(example.org)150 4160 y Fr(3.3)68
+b(In)l(v)l(oking)46 b(asn1Deco)t(ding)150 4319 y Fl(asn1Decoding)20
+b Fs(generates)25 b(an)f(ASN.1)g(structure)g(from)f(a)h(\014le)g(with)f
+(ASN.1)h(de\014nitions)f(and)h(a)g(binary)150 4429 y(\014le)30
+b(with)h(a)f(DER)h(enco)s(ding.)150 4573 y Fl(Usage:)94
b(asn1Decoding)44 b([options])i(file1)g(file2)g(type)198
4682 y(file1)g(:)i(file)e(with)h(ASN1)f(definitions.)198
4792 y(file2)g(:)i(binary)e(file)g(with)h(a)g(DER)g(encoding.)198
@@ -6441,271 +6442,270 @@ y(Options:)198 5121 y(-h)i(:)g(shows)g(the)g(help)f(message.)198
5230 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198
5340 y(-o)g(file)g(:)g(output)f(file.)p eop end
%%Page: 7 10
-TeXDict begin 7 9 bop 150 -116 a Fr(Chapter)30 b(3:)41
-b(Utilities)2776 b(7)275 299 y(F)-8 b(or)47 b(example,)52
-b(after)47 b(generating)h(the)f Fk(assign.out)d Fr(\014le)j(from)f(the)
-h(example)g(section)h(of)f(the)150 408 y Fk(asn1Coding)28
-b Fr(command)i(ab)s(o)m(v)m(e,)i(the)e(follo)m(wing)i(in)m(v)m(o)s
-(cation)g(will)f(deco)s(de)g(the)f(DER)h(data.)150 543
-y Fk($)47 b(asn1Decoding)e(pkix.asn)g(assign.out)g(PKIX1.Dss-Sig-Value)
-p eop end
+TeXDict begin 7 9 bop 3705 -116 a Fs(7)275 299 y(F)-8
+b(or)47 b(example,)52 b(after)47 b(generating)h(the)f
+Fl(assign.out)d Fs(\014le)j(from)f(the)h(example)g(section)h(of)f(the)
+150 408 y Fl(asn1Coding)28 b Fs(command)i(ab)s(o)m(v)m(e,)i(the)e
+(follo)m(wing)i(in)m(v)m(o)s(cation)g(will)f(deco)s(de)g(the)f(DER)h
+(data.)150 543 y Fl($)47 b(asn1Decoding)e(pkix.asn)g(assign.out)g
+(PKIX1.Dss-Sig-Value)p eop end
%%Page: 8 11
-TeXDict begin 8 10 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2359 b(8)150 299 y Fn(4)80
-b(F)-13 b(unction)52 b(reference)150 682 y Fq(4.1)68
-b(ASN.1)45 b(sc)l(hema)g(functions)150 906 y Fj(asn1)p
-396 906 37 5 v 55 w(parser2tree)3350 1117 y Fr([F)-8
-b(unction])-3599 b Fi(int)53 b(asn1_parser2tree)e Fh(\()p
-Fg(const)31 b(c)m(har)g(*)f Ff(file)p Fg(,)i(asn1)p 2238
-1117 28 4 v 40 w(no)s(de)e(*)h Ff(definitions)p Fg(,)565
-1227 y(c)m(har)g(*)g Ff(error_desc)p Fh(\))390 1336 y
-Fg(\014le)5 b Fr(:)41 b(sp)s(ecify)30 b(the)g(path)h(and)e(the)i(name)f
+TeXDict begin 8 10 bop 3705 -116 a Fs(8)150 299 y Fo(4)80
+b(F)-13 b(unction)52 b(reference)150 686 y Fr(4.1)68
+b(ASN.1)45 b(sc)l(hema)g(functions)150 911 y Fk(asn1)p
+396 911 37 5 v 55 w(parser2tree)3350 1121 y Fs([F)-8
+b(unction])-3599 b Fj(int)53 b(asn1_parser2tree)e Fi(\()p
+Fh(const)34 b(c)m(har)f(*)g Fg(file)p Fh(,)i(asn1)p 2311
+1121 30 5 v 44 w(no)s(de)e(*)565 1230 y Fg(definitions)p
+Fh(,)j(c)m(har)e(*)f Fg(error_desc)p Fi(\))390 1340 y
+Ff(\014le)5 b Fs(:)41 b(sp)s(ecify)30 b(the)g(path)h(and)e(the)i(name)f
(of)h(\014le)f(that)h(con)m(tains)h(ASN.1)f(declarations.)390
-1485 y Fg(de\014nitions)t Fr(:)36 b(return)21 b(the)h(p)s(oin)m(ter)g
-(to)g(the)g(structure)g(created)h(from)e Fk(")p Fr(\014le)p
-Fk(")h Fr(ASN.1)g(declarations.)390 1634 y Fg(error)p
-589 1634 V 40 w(desc)6 b Fr(:)40 b(return)29 b(the)i(error)f
+1488 y Ff(de\014nitions)t Fs(:)36 b(return)21 b(the)h(p)s(oin)m(ter)g
+(to)g(the)g(structure)g(created)h(from)e Fl(")p Fs(\014le)p
+Fl(")h Fs(ASN.1)g(declarations.)390 1636 y Ff(error)p
+589 1636 28 4 v 40 w(desc)6 b Fs(:)40 b(return)29 b(the)i(error)f
(description)g(or)h(an)f(empt)m(y)h(string)f(if)g(success.)390
1784 y(F)-8 b(unction)28 b(used)f(to)i(start)f(the)g(parse)g
(algorithm.)41 b(Creates)28 b(the)g(structures)f(needed)g(to)i(manage)
-390 1893 y(the)i(de\014nitions)e(included)h(in)g Fk(file)f
-Fr(\014le.)390 2042 y Fe(Returns:)39 b Fk(ASN1_SUCCESS)26
-b Fr(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m(tax)h(and)e(ev)m
-(ery)h(iden)m(ti\014er)g(is)f(kno)m(wn,)390 2152 y Fk
-(ASN1_ELEMENT_NOT_EMPTY)35 b Fr(if)41 b Fk(definitions)c
-Fr(not)k Fk(NULL)f Fr(,)k Fk(ASN1_FILE_NOT_FOUND)35 b
-Fr(if)41 b(an)390 2261 y(error)32 b(o)s(ccured)g(while)g(op)s(ening)g
-Fk(file)f Fr(,)h Fk(ASN1_SYNTAX_ERROR)c Fr(if)k(the)g(syn)m(tax)h(is)f
-(not)h(correct,)390 2371 y Fk(ASN1_IDENTIFIER_NOT_FOUN)o(D)c
-Fr(if)35 b(in)f(the)h(\014le)g(there)h(is)f(an)f(iden)m(ti\014er)h
-(that)h(is)f(not)g(de\014ned,)390 2480 y Fk(ASN1_NAME_TOO_LONG)27
-b Fr(if)32 b(in)g(the)g(\014le)g(there)g(is)g(an)g(iden)m(ti\014er)g
-(whith)g(more)g(than)f Fk(ASN1_MAX_)390 2590 y(NAME_SIZE)d
-Fr(c)m(haracters.)150 2804 y Fj(asn1)p 396 2804 37 5
-v 55 w(parser2arra)m(y)3350 3015 y Fr([F)-8 b(unction])-3599
-b Fi(int)53 b(asn1_parser2array)e Fh(\()p Fg(const)31
-b(c)m(har)g(*)g Ff(inputFileName)p Fg(,)j(const)d(c)m(har)g(*)565
-3125 y Ff(outputFileName)p Fg(,)k(const)c(c)m(har)g(*)f
-Ff(vectorName)p Fg(,)k(c)m(har)d(*)f Ff(error_desc)p
-Fh(\))390 3234 y Fg(inputFileName)5 b Fr(:)49 b(sp)s(ecify)34
+390 1894 y(the)i(de\014nitions)e(included)h(in)g Fl(file)f
+Fs(\014le.)390 2042 y Fe(Returns:)39 b Fl(ASN1_SUCCESS)26
+b Fs(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m(tax)h(and)e(ev)m
+(ery)h(iden)m(ti\014er)g(is)f(kno)m(wn,)390 2151 y Fl
+(ASN1_ELEMENT_NOT_EMPTY)35 b Fs(if)41 b Fl(definitions)c
+Fs(not)k Fl(NULL)f Fs(,)k Fl(ASN1_FILE_NOT_FOUND)35 b
+Fs(if)41 b(an)390 2261 y(error)29 b(o)s(ccurred)f(while)i(op)s(ening)e
+Fl(file)g Fs(,)i Fl(ASN1_SYNTAX_ERROR)24 b Fs(if)30 b(the)f(syn)m(tax)h
+(is)f(not)h(correct,)390 2370 y Fl(ASN1_IDENTIFIER_NOT_FOUN)o(D)f
+Fs(if)35 b(in)f(the)h(\014le)g(there)h(is)f(an)f(iden)m(ti\014er)h
+(that)h(is)f(not)g(de\014ned,)390 2480 y Fl(ASN1_NAME_TOO_LONG)27
+b Fs(if)32 b(in)g(the)g(\014le)g(there)g(is)g(an)g(iden)m(ti\014er)g
+(whith)g(more)g(than)f Fl(ASN1_MAX_)390 2590 y(NAME_SIZE)d
+Fs(c)m(haracters.)150 2802 y Fk(asn1)p 396 2802 37 5
+v 55 w(parser2arra)m(y)3350 3013 y Fs([F)-8 b(unction])-3599
+b Fj(int)53 b(asn1_parser2array)e Fi(\()p Fh(const)34
+b(c)m(har)g(*)f Fg(inputFileName)p Fh(,)k(const)c(c)m(har)h(*)565
+3122 y Fg(outputFileName)p Fh(,)j(const)d(c)m(har)g(*)f
+Fg(vectorName)p Fh(,)j(c)m(har)e(*)f Fg(error_desc)p
+Fi(\))390 3232 y Ff(inputFileName)5 b Fs(:)49 b(sp)s(ecify)34
b(the)g(path)g(and)f(the)h(name)g(of)g(\014le)g(that)h(con)m(tains)g
-(ASN.1)g(declara-)390 3344 y(tions.)390 3493 y Fg(outputFileName)5
-b Fr(:)41 b(sp)s(ecify)27 b(the)h(path)f(and)g(the)h(name)f(of)h
+(ASN.1)g(declara-)390 3341 y(tions.)390 3489 y Ff(outputFileName)5
+b Fs(:)41 b(sp)s(ecify)27 b(the)h(path)f(and)g(the)h(name)f(of)h
(\014le)g(that)g(will)g(con)m(tain)h(the)e(C)g(v)m(ector)390
-3603 y(de\014nition.)390 3752 y Fg(v)m(ectorName)5 b
-Fr(:)43 b(sp)s(ecify)30 b(the)h(name)f(of)h(the)f(C)g(v)m(ector.)390
-3901 y Fg(error)p 589 3901 28 4 v 40 w(desc)6 b Fr(:)40
+3599 y(de\014nition.)390 3747 y Ff(v)m(ectorName)5 b
+Fs(:)43 b(sp)s(ecify)30 b(the)h(name)f(of)h(the)f(C)g(v)m(ector.)390
+3895 y Ff(error)p 589 3895 28 4 v 40 w(desc)6 b Fs(:)40
b(return)29 b(the)i(error)f(description)g(or)h(an)f(empt)m(y)h(string)f
-(if)g(success.)390 4050 y(F)-8 b(unction)42 b(that)g(generates)h(a)e(C)
+(if)g(success.)390 4043 y(F)-8 b(unction)42 b(that)g(generates)h(a)e(C)
g(structure)g(from)g(an)g(ASN1)h(\014le.)73 b(Creates)42
-b(a)g(\014le)f(con)m(tain-)390 4159 y(ing)k(a)h(C)f(v)m(ector)i(to)e
+b(a)g(\014le)f(con)m(tain-)390 4152 y(ing)k(a)h(C)f(v)m(ector)i(to)e
(use)g(to)h(manage)g(the)g(de\014nitions)f(included)f(in)h
-Fk(inputFileName)d Fr(\014le.)390 4269 y(If)i Fk(inputFileName)e
-Fr(is)i Fk(")p Fr(/aa/bb/xx.yy)p Fk(")i Fr(and)e Fk(outputFileName)d
-Fr(is)k Fk(NULL)f Fr(,)k(the)d(\014le)g(cre-)390 4378
-y(ated)g(is)f Fk(")p Fr(/aa/bb/xx)p 1188 4378 V 41 w(asn1)p
-1406 4378 V 40 w(tab.c)p Fk(")p Fr(.)83 b(If)43 b Fk(vectorName)f
-Fr(is)i Fk(NULL)f Fr(the)h(v)m(ector)i(name)e(will)h(b)s(e)390
-4488 y Fk(")p Fr(xx)p 540 4488 V 40 w(asn1)p 757 4488
-V 40 w(tab)p Fk(")p Fr(.)390 4637 y Fe(Returns:)39 b
-Fk(ASN1_SUCCESS)26 b Fr(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m
+Fl(inputFileName)d Fs(\014le.)390 4262 y(If)i Fl(inputFileName)e
+Fs(is)i Fl(")p Fs(/aa/bb/xx.yy)p Fl(")i Fs(and)e Fl(outputFileName)d
+Fs(is)k Fl(NULL)f Fs(,)k(the)d(\014le)g(cre-)390 4372
+y(ated)g(is)f Fl(")p Fs(/aa/bb/xx)p 1188 4372 V 41 w(asn1)p
+1406 4372 V 40 w(tab.c)p Fl(")p Fs(.)83 b(If)43 b Fl(vectorName)f
+Fs(is)i Fl(NULL)f Fs(the)h(v)m(ector)i(name)e(will)h(b)s(e)390
+4481 y Fl(")p Fs(xx)p 540 4481 V 40 w(asn1)p 757 4481
+V 40 w(tab)p Fl(")p Fs(.)390 4629 y Fe(Returns:)39 b
+Fl(ASN1_SUCCESS)26 b Fs(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m
(tax)h(and)e(ev)m(ery)h(iden)m(ti\014er)g(is)f(kno)m(wn,)390
-4747 y Fk(ASN1_FILE_NOT_FOUND)39 b Fr(if)45 b(an)f(error)g(o)s(ccured)h
-(while)f(op)s(ening)g Fk(inputFileName)d Fr(,)48 b Fk(ASN1_)390
-4856 y(SYNTAX_ERROR)23 b Fr(if)k(the)f(syn)m(tax)i(is)e(not)h(correct,)
-i Fk(ASN1_IDENTIFIER_NOT_FOU)o(ND)20 b Fr(if)27 b(in)f(the)h(\014le)390
-4966 y(there)35 b(is)g(an)g(iden)m(ti\014er)g(that)g(is)g(not)g
-(de\014ned,)g Fk(ASN1_NAME_TOO_LONG)30 b Fr(if)35 b(in)g(the)g(\014le)g
-(there)g(is)390 5075 y(an)30 b(iden)m(ti\014er)h(whith)e(more)i(than)f
-Fk(ASN1_MAX_NAME_SIZE)25 b Fr(c)m(haracters.)150 5330
-y Fq(4.2)68 b(ASN.1)45 b(\014eld)g(functions)p eop end
+4739 y Fl(ASN1_FILE_NOT_FOUND)35 b Fs(if)41 b(an)g(error)f(o)s(ccurred)
+g(while)h(op)s(ening)f Fl(inputFileName)d Fs(,)43 b Fl(ASN1_)390
+4848 y(SYNTAX_ERROR)23 b Fs(if)k(the)f(syn)m(tax)i(is)e(not)h(correct,)
+i Fl(ASN1_IDENTIFIER_NOT_FOU)o(ND)20 b Fs(if)27 b(in)f(the)h(\014le)390
+4958 y(there)35 b(is)g(an)g(iden)m(ti\014er)g(that)g(is)g(not)g
+(de\014ned,)g Fl(ASN1_NAME_TOO_LONG)30 b Fs(if)35 b(in)g(the)g(\014le)g
+(there)g(is)390 5068 y(an)30 b(iden)m(ti\014er)h(whith)e(more)i(than)f
+Fl(ASN1_MAX_NAME_SIZE)25 b Fs(c)m(haracters.)150 5329
+y Fr(4.2)68 b(ASN.1)45 b(\014eld)g(functions)p eop end
%%Page: 9 12
-TeXDict begin 9 11 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2359 b(9)150 299 y Fj(asn1)p
-396 299 37 5 v 55 w(arra)m(y2tree)3350 517 y Fr([F)-8
-b(unction])-3599 b Fi(int)53 b(asn1_array2tree)d Fh(\()p
-Fg(const)31 b(asn1)p 1645 517 28 4 v 41 w(static)p 1902
-517 V 41 w(no)s(de)f(*)h Ff(array)p Fg(,)h(asn1)p 2733
-517 V 40 w(no)s(de)e(*)565 626 y Ff(definitions)p Fg(,)k(c)m(har)d(*)g
-Ff(errorDescription)p Fh(\))390 736 y Fg(arra)m(y)8 b
-Fr(:)41 b(sp)s(ecify)30 b(the)h(arra)m(y)f(that)h(con)m(tains)h(ASN.1)f
-(declarations)390 891 y Fg(de\014nitions)t Fr(:)44 b(return)31
+TeXDict begin 9 11 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2359 b(9)150 299 y Fk(asn1)p
+396 299 37 5 v 55 w(arra)m(y2tree)3350 517 y Fs([F)-8
+b(unction])-3599 b Fj(int)53 b(asn1_array2tree)d Fi(\()p
+Fh(const)34 b(asn1)p 1686 517 30 5 v 44 w(static)p 1969
+517 V 44 w(no)s(de)g(*)f Fg(array)p Fh(,)h(asn1)p 2853
+517 V 44 w(no)s(de)g(*)565 626 y Fg(definitions)p Fh(,)i(c)m(har)e(*)f
+Fg(errorDescription)p Fi(\))390 736 y Ff(arra)m(y)8 b
+Fs(:)41 b(sp)s(ecify)30 b(the)h(arra)m(y)f(that)h(con)m(tains)h(ASN.1)f
+(declarations)390 891 y Ff(de\014nitions)t Fs(:)44 b(return)31
b(the)h(p)s(oin)m(ter)h(to)g(the)f(structure)g(created)h(b)m(y)f(*ARRA)
-8 b(Y)34 b(ASN.1)f(declara-)390 1001 y(tions)390 1156
-y Fg(errorDescription)p Fr(:)41 b(return)30 b(the)g(error)g
+y Ff(errorDescription)p Fs(:)41 b(return)30 b(the)g(error)g
(description.)390 1312 y(Creates)38 b(the)g(structures)f(needed)h(to)g
-(manage)h(the)f(ASN.1)g(de\014nitions.)62 b Fk(array)36
-b Fr(is)i(a)g(v)m(ector)390 1421 y(created)31 b(b)m(y)g
-Fk(asn1_parser2array\(\))25 b Fr(.)390 1577 y Fe(Returns:)37
-b Fk(ASN1_SUCCESS)20 b Fr(if)k(structure)f(w)m(as)h(created)h
-(correctly)-8 b(,)27 b Fk(ASN1_ELEMENT_NOT_EMPTY)390
-1686 y Fr(if)34 b(*)g Fk(definitions)d Fr(not)j(NULL,)g
-Fk(ASN1_IDENTIFIER_NOT_FOUND)27 b Fr(if)34 b(in)g(the)g(\014le)g(there)
+(manage)h(the)f(ASN.1)g(de\014nitions.)62 b Fl(array)36
+b Fs(is)i(a)g(v)m(ector)390 1421 y(created)31 b(b)m(y)g
+Fl(asn1_parser2array\(\))25 b Fs(.)390 1577 y Fe(Returns:)37
+b Fl(ASN1_SUCCESS)20 b Fs(if)k(structure)f(w)m(as)h(created)h
+(correctly)-8 b(,)27 b Fl(ASN1_ELEMENT_NOT_EMPTY)390
+1686 y Fs(if)34 b(*)g Fl(definitions)d Fs(not)j(NULL,)g
+Fl(ASN1_IDENTIFIER_NOT_FOUND)27 b Fs(if)34 b(in)g(the)g(\014le)g(there)
g(is)g(an)390 1796 y(iden)m(ti\014er)k(that)h(is)f(not)h(de\014ned)e
-(\(see)i Fk(errorDescription)34 b Fr(for)k(more)g(information\),)j
-Fk(ASN1_)390 1906 y(ARRAY_ERROR)27 b Fr(if)k(the)f(arra)m(y)h(p)s(oin)m
-(ted)f(b)m(y)h Fk(array)e Fr(is)h(wrong.)150 2126 y Fj(asn1)p
+(\(see)i Fl(errorDescription)34 b Fs(for)k(more)g(information\),)j
+Fl(ASN1_)390 1906 y(ARRAY_ERROR)27 b Fs(if)k(the)f(arra)m(y)h(p)s(oin)m
+(ted)f(b)m(y)h Fl(array)e Fs(is)h(wrong.)150 2126 y Fk(asn1)p
396 2126 37 5 v 55 w(delete)p 769 2126 V 54 w(structure)3350
-2344 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_delete_structure)f
-Fh(\()p Fg(asn1)p 1721 2344 28 4 v 41 w(no)s(de)29 b(*)i
-Ff(structure)p Fh(\))390 2453 y Fg(structure)5 b Fr(:)40
+2344 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_delete_structure)f
+Fi(\()p Fh(asn1)p 1739 2344 30 5 v 45 w(no)s(de)33 b(*)g
+Fg(structure)p Fi(\))390 2453 y Ff(structure)5 b Fs(:)40
b(p)s(oin)m(ter)31 b(to)g(the)f(structure)g(that)h(y)m(ou)g(w)m(an)m(t)
g(to)g(delete.)390 2609 y(Deletes)h(the)f(structure)f(*)h
-Fk(structure)c Fr(.)41 b(A)m(t)31 b(the)g(end,)f(*)h
-Fk(structure)d Fr(is)i(set)h(to)g(NULL.)390 2764 y Fe(Returns:)41
-b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful,)g Fk(ASN1_ELEMENT_NOT_FOUND)
-25 b Fr(if)30 b(*)h Fk(structure)e Fr(w)m(as)390 2874
-y(NULL.)150 3094 y Fj(asn1)p 396 3094 37 5 v 55 w(delete)p
-769 3094 V 54 w(structure2)3350 3312 y Fr([F)-8 b(unction])-3599
-b Fi(int)53 b(asn1_delete_structure)q(2)e Fh(\()p Fg(asn1)p
-1773 3312 28 4 v 41 w(no)s(de)30 b(*)g Ff(structure)p
-Fg(,)k(unsigned)29 b(in)m(t)565 3421 y Ff(flags)p Fh(\))390
-3531 y Fg(structure)5 b Fr(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f
+Fl(structure)c Fs(.)41 b(A)m(t)31 b(the)g(end,)f(*)h
+Fl(structure)d Fs(is)i(set)h(to)g(NULL.)390 2764 y Fe(Returns:)41
+b Fl(ASN1_SUCCESS)27 b Fs(if)k(successful,)g Fl(ASN1_ELEMENT_NOT_FOUND)
+25 b Fs(if)30 b(*)h Fl(structure)e Fs(w)m(as)390 2874
+y(NULL.)150 3094 y Fk(asn1)p 396 3094 37 5 v 55 w(delete)p
+769 3094 V 54 w(structure2)3350 3312 y Fs([F)-8 b(unction])-3599
+b Fj(int)53 b(asn1_delete_structure)q(2)e Fi(\()p Fh(asn1)p
+1791 3312 30 5 v 45 w(no)s(de)34 b(*)f Fg(structure)p
+Fh(,)i(unsigned)565 3421 y(in)m(t)e Fg(flags)p Fi(\))390
+3531 y Ff(structure)5 b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f
(structure)g(that)h(y)m(ou)g(w)m(an)m(t)g(to)g(delete.)390
-3686 y Fg(\015ags)t Fr(:)41 b(additional)31 b(\015ags)g(\(see)g
-Fk(ASN1_DELETE_FLAG)26 b Fr(\))390 3842 y(Deletes)32
-b(the)f(structure)f(*)h Fk(structure)c Fr(.)41 b(A)m(t)31
-b(the)g(end,)f(*)h Fk(structure)d Fr(is)i(set)h(to)g(NULL.)390
-3997 y Fe(Returns:)41 b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful,)g
-Fk(ASN1_ELEMENT_NOT_FOUND)25 b Fr(if)30 b(*)h Fk(structure)e
-Fr(w)m(as)390 4107 y(NULL.)150 4327 y Fj(asn1)p 396 4327
+3686 y Ff(\015ags)t Fs(:)41 b(additional)31 b(\015ags)g(\(see)g
+Fl(ASN1_DELETE_FLAG)26 b Fs(\))390 3842 y(Deletes)32
+b(the)f(structure)f(*)h Fl(structure)c Fs(.)41 b(A)m(t)31
+b(the)g(end,)f(*)h Fl(structure)d Fs(is)i(set)h(to)g(NULL.)390
+3997 y Fe(Returns:)41 b Fl(ASN1_SUCCESS)27 b Fs(if)k(successful,)g
+Fl(ASN1_ELEMENT_NOT_FOUND)25 b Fs(if)30 b(*)h Fl(structure)e
+Fs(w)m(as)390 4107 y(NULL.)150 4327 y Fk(asn1)p 396 4327
37 5 v 55 w(delete)p 769 4327 V 54 w(elemen)m(t)3350
-4545 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_delete_element)e
-Fh(\()p Fg(asn1)p 1616 4545 28 4 v 41 w(no)s(de)30 b
-Ff(structure)p Fg(,)j(const)e(c)m(har)g(*)565 4654 y
-Ff(element_name)p Fh(\))390 4764 y Fg(structure)5 b Fr(:)40
+4545 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_delete_element)e
+Fi(\()p Fh(asn1)p 1634 4545 30 5 v 45 w(no)s(de)34 b
+Fg(structure)p Fh(,)h(const)f(c)m(har)g(*)565 4654 y
+Fg(element_name)p Fi(\))390 4764 y Ff(structure)5 b Fs(:)40
b(p)s(oin)m(ter)31 b(to)g(the)f(structure)g(that)h(con)m(tains)h(the)e
(elemen)m(t)i(y)m(ou)f(w)m(an)m(t)g(to)g(delete.)390
-4919 y Fg(elemen)m(t)p 700 4919 V 42 w(name)5 b Fr(:)40
-b(elemen)m(t's)32 b(name)f(y)m(ou)g(w)m(an)m(t)g(to)g(delete.)390
-5075 y(Deletes)h(the)f(elemen)m(t)h(named)e(*)h Fk(element_name)c
-Fr(inside)j(*)g Fk(structure)e Fr(.)390 5230 y Fe(Returns:)37
-b Fk(ASN1_SUCCESS)19 b Fr(if)k(successful,)i Fk(ASN1_ELEMENT_NOT_FOUND)
-17 b Fr(if)23 b(the)g Fk(element_name)390 5340 y Fr(w)m(as)31
+4919 y Ff(elemen)m(t)p 700 4919 28 4 v 42 w(name)5 b
+Fs(:)40 b(elemen)m(t's)32 b(name)f(y)m(ou)g(w)m(an)m(t)g(to)g(delete.)
+390 5075 y(Deletes)h(the)f(elemen)m(t)h(named)e(*)h Fl(element_name)c
+Fs(inside)j(*)g Fl(structure)e Fs(.)390 5230 y Fe(Returns:)37
+b Fl(ASN1_SUCCESS)19 b Fs(if)k(successful,)i Fl(ASN1_ELEMENT_NOT_FOUND)
+17 b Fs(if)23 b(the)g Fl(element_name)390 5340 y Fs(w)m(as)31
b(not)f(found.)p eop end
%%Page: 10 13
-TeXDict begin 10 12 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(10)150 299 y Fj(asn1)p
+TeXDict begin 10 12 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(10)150 299 y Fk(asn1)p
396 299 37 5 v 55 w(create)p 776 299 V 53 w(elemen)m(t)3350
-492 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_create_element)e
-Fh(\()p Fg(asn1)p 1616 492 28 4 v 41 w(no)s(de)30 b Ff(definitions)p
-Fg(,)k(const)d(c)m(har)f(*)565 602 y Ff(source_name)p
-Fg(,)k(asn1)p 1379 602 V 40 w(no)s(de)c(*)h Ff(element)p
-Fh(\))390 712 y Fg(de\014nitions)t Fr(:)40 b(p)s(oin)m(ter)30
-b(to)h(the)g(structure)f(returned)f(b)m(y)h Fk(")p Fr(parser)p
-2633 712 V 40 w(asn1)p Fk(")g Fr(function)390 845 y Fg(source)p
-644 845 V 40 w(name)5 b Fr(:)39 b(the)25 b(name)g(of)g(the)h(t)m(yp)s
-(e)f(of)h(the)f(new)g(structure)f(\(m)m(ust)i(b)s(e)e(inside)h(p)p
-3296 845 V 40 w(structure\).)390 977 y Fg(elemen)m(t)r
-Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f(structure)g(created.)390
-1110 y(Creates)h(a)g(structure)f(of)g(t)m(yp)s(e)h Fk(source_name)c
-Fr(.)41 b(Example)30 b(using)g Fk(")p Fr(pkix.asn)p Fk(")p
-Fr(:)390 1243 y(rc)g(=)g(asn1)p 780 1243 V 41 w(create)p
-1057 1243 V 41 w(elemen)m(t\(cert)p 1588 1243 V 43 w(def,)g
-Fk(")p Fr(PKIX1.Certi\014cate)p Fk(")p Fr(,)i(certptr\);)390
-1376 y Fe(Returns:)53 b Fk(ASN1_SUCCESS)34 b Fr(if)i(creation)i(OK,)f
-Fk(ASN1_ELEMENT_NOT_FOUND)30 b Fr(if)37 b Fk(source_name)390
-1486 y Fr(is)30 b(not)h(kno)m(wn.)150 1682 y Fj(asn1)p
+492 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_create_element)e
+Fi(\()p Fh(asn1)p 1634 492 30 5 v 45 w(no)s(de)34 b Fg(definitions)p
+Fh(,)i(const)e(c)m(har)f(*)565 602 y Fg(source_name)p
+Fh(,)j(asn1)p 1402 602 V 44 w(no)s(de)e(*)f Fg(element)p
+Fi(\))390 712 y Ff(de\014nitions)t Fs(:)40 b(p)s(oin)m(ter)30
+b(to)h(the)g(structure)f(returned)f(b)m(y)h Fl(")p Fs(parser)p
+2633 712 28 4 v 40 w(asn1)p Fl(")g Fs(function)390 845
+y Ff(source)p 644 845 V 40 w(name)5 b Fs(:)39 b(the)25
+b(name)g(of)g(the)h(t)m(yp)s(e)f(of)h(the)f(new)g(structure)f(\(m)m
+(ust)i(b)s(e)e(inside)h(p)p 3296 845 V 40 w(structure\).)390
+977 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f
+(structure)g(created.)390 1110 y(Creates)h(a)g(structure)f(of)g(t)m(yp)
+s(e)h Fl(source_name)c Fs(.)41 b(Example)30 b(using)g
+Fl(")p Fs(pkix.asn)p Fl(")p Fs(:)390 1243 y(rc)g(=)g(asn1)p
+780 1243 V 41 w(create)p 1057 1243 V 41 w(elemen)m(t\(cert)p
+1588 1243 V 43 w(def,)g Fl(")p Fs(PKIX1.Certi\014cate)p
+Fl(")p Fs(,)i(certptr\);)390 1376 y Fe(Returns:)53 b
+Fl(ASN1_SUCCESS)34 b Fs(if)i(creation)i(OK,)f Fl
+(ASN1_ELEMENT_NOT_FOUND)30 b Fs(if)37 b Fl(source_name)390
+1486 y Fs(is)30 b(not)h(kno)m(wn.)150 1682 y Fk(asn1)p
396 1682 37 5 v 55 w(prin)m(t)p 716 1682 V 54 w(structure)3350
-1875 y Fr([F)-8 b(unction])-3599 b Fi(void)54 b(asn1_print_structure)d
-Fh(\()p Fg(FILE)31 b(*)f Ff(out)p Fg(,)i(asn1)p 2251
-1875 28 4 v 40 w(no)s(de)e Ff(structure)p Fg(,)565 1985
-y(const)h(c)m(har)g(*)f Ff(name)p Fg(,)i(in)m(t)f Ff(mode)p
-Fh(\))390 2095 y Fg(out)r Fr(:)41 b(p)s(oin)m(ter)30
+1875 y Fs([F)-8 b(unction])-3599 b Fj(void)54 b(asn1_print_structure)d
+Fi(\()p Fh(FILE)34 b(*)f Fg(out)p Fh(,)g(asn1)p 2304
+1875 30 5 v 45 w(no)s(de)g Fg(structure)p Fh(,)565 1985
+y(const)h(c)m(har)g(*)f Fg(name)p Fh(,)h(in)m(t)f Fg(mode)p
+Fi(\))390 2095 y Ff(out)r Fs(:)41 b(p)s(oin)m(ter)30
b(to)h(the)g(output)f(\014le)g(\(e.g.)43 b(stdout\).)390
-2228 y Fg(structure)5 b Fr(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f
+2228 y Ff(structure)5 b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f
(structure)g(that)h(y)m(ou)g(w)m(an)m(t)g(to)g(visit.)390
-2360 y Fg(name)5 b Fr(:)41 b(an)30 b(elemen)m(t)i(of)f(the)f(structure)
-390 2493 y Fg(mo)s(de)5 b Fr(:)40 b(sp)s(ecify)30 b(ho)m(w)h(m)m(uc)m
+2360 y Ff(name)5 b Fs(:)41 b(an)30 b(elemen)m(t)i(of)f(the)f(structure)
+390 2493 y Ff(mo)s(de)5 b Fs(:)40 b(sp)s(ecify)30 b(ho)m(w)h(m)m(uc)m
(h)f(of)h(the)f(structure)g(to)h(prin)m(t,)f(can)h(b)s(e)f
-Fk(ASN1_PRINT_NAME)c Fr(,)k Fk(ASN1_)390 2603 y(PRINT_NAME_TYPE)c
-Fr(,)31 b Fk(ASN1_PRINT_NAME_TYPE_VA)o(LUE)24 b Fr(,)31
-b(or)f Fk(ASN1_PRINT_ALL)c Fr(.)390 2736 y(Prin)m(ts)33
-b(on)g(the)g Fk(out)f Fr(\014le)h(descriptor)f(the)h(structure's)g
-(tree)h(starting)f(from)g(the)g Fk(name)e Fr(elemen)m(t)390
-2845 y(inside)f(the)h(structure)f Fk(structure)d Fr(.)150
-3042 y Fj(asn1)p 396 3042 37 5 v 55 w(n)m(um)m(b)s(er)p
+Fl(ASN1_PRINT_NAME)c Fs(,)k Fl(ASN1_)390 2603 y(PRINT_NAME_TYPE)c
+Fs(,)31 b Fl(ASN1_PRINT_NAME_TYPE_VA)o(LUE)24 b Fs(,)31
+b(or)f Fl(ASN1_PRINT_ALL)c Fs(.)390 2736 y(Prin)m(ts)33
+b(on)g(the)g Fl(out)f Fs(\014le)h(descriptor)f(the)h(structure's)g
+(tree)h(starting)f(from)g(the)g Fl(name)e Fs(elemen)m(t)390
+2845 y(inside)f(the)h(structure)f Fl(structure)d Fs(.)150
+3042 y Fk(asn1)p 396 3042 37 5 v 55 w(n)m(um)m(b)s(er)p
860 3042 V 54 w(of)p 1012 3042 V 55 w(elemen)m(ts)3350
-3235 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_number_of_elemen)q
-(ts)f Fh(\()p Fg(asn1)p 1826 3235 28 4 v 40 w(no)s(de)30
-b Ff(element)p Fg(,)j(const)e(c)m(har)f(*)565 3345 y
-Ff(name)p Fg(,)i(in)m(t)f(*)g Ff(num)p Fh(\))390 3454
-y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f(ro)s(ot)h(of)
-f(an)h(ASN1)f(structure.)390 3587 y Fg(name)5 b Fr(:)41
+3235 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_number_of_elemen)q
+(ts)f Fi(\()p Fh(asn1)p 1844 3235 30 5 v 44 w(no)s(de)34
+b Fg(element)p Fh(,)h(const)f(c)m(har)f(*)565 3345 y
+Fg(name)p Fh(,)h(in)m(t)f(*)g Fg(num)p Fi(\))390 3454
+y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f(ro)s(ot)h(of)
+f(an)h(ASN1)f(structure.)390 3587 y Ff(name)5 b Fs(:)41
b(the)30 b(name)h(of)f(a)h(sub-structure)e(of)i(R)m(OOT.)390
-3720 y Fg(n)m(um)p Fr(:)40 b(p)s(oin)m(ter)30 b(to)h(an)g(in)m(teger)g
+3720 y Ff(n)m(um)p Fs(:)40 b(p)s(oin)m(ter)30 b(to)h(an)g(in)m(teger)g
(where)f(the)h(result)f(will)h(b)s(e)f(stored)390 3853
y(Coun)m(ts)e(the)h(n)m(um)m(b)s(er)e(of)h(elemen)m(ts)i(of)f(a)f
(sub-structure)f(called)j(NAME)f(with)f(names)g(equal)h(to)390
-3963 y Fk(")p Fr(?1)p Fk(")p Fr(,)p Fk(")p Fr(?2)p Fk(")p
-Fr(,)h(...)390 4096 y Fe(Returns:)36 b Fk(ASN1_SUCCESS)18
-b Fr(if)k(successful,)h Fk(ASN1_ELEMENT_NOT_FOUND)15
-b Fr(if)22 b Fk(name)e Fr(is)h(not)h(kno)m(wn,)390 4205
-y Fk(ASN1_GENERIC_ERROR)j Fr(if)31 b(p)s(oin)m(ter)f
-Fk(num)g Fr(is)g Fk(NULL)f Fr(.)150 4401 y Fj(asn1)p
+3963 y Fl(")p Fs(?1)p Fl(")p Fs(,)p Fl(")p Fs(?2)p Fl(")p
+Fs(,)h(...)390 4096 y Fe(Returns:)36 b Fl(ASN1_SUCCESS)18
+b Fs(if)k(successful,)h Fl(ASN1_ELEMENT_NOT_FOUND)15
+b Fs(if)22 b Fl(name)e Fs(is)h(not)h(kno)m(wn,)390 4205
+y Fl(ASN1_GENERIC_ERROR)j Fs(if)31 b(p)s(oin)m(ter)f
+Fl(num)g Fs(is)g Fl(NULL)f Fs(.)150 4401 y Fk(asn1)p
396 4401 37 5 v 55 w(\014nd)p 655 4401 V 54 w(structure)p
1200 4401 V 54 w(from)p 1504 4401 V 55 w(oid)3350 4595
-y Fr([F)-8 b(unction])-3599 b Fi(const)54 b(char)f(*)g
-(asn1_find_structure_fr)q(om_)q(oid)f Fh(\()p Fg(asn1)p
-2558 4595 28 4 v 41 w(no)s(de)565 4704 y Ff(definitions)p
-Fg(,)34 b(const)d(c)m(har)g(*)f Ff(oidValue)p Fh(\))390
-4814 y Fg(de\014nitions)t Fr(:)40 b(ASN1)31 b(de\014nitions)390
-4947 y Fg(oidV)-8 b(alue)5 b Fr(:)42 b(v)-5 b(alue)31
-b(of)g(the)f(OID)g(to)i(searc)m(h)f(\(e.g.)42 b Fk(")p
-Fr(1.2.3.4)p Fk(")p Fr(\).)390 5080 y(Searc)m(h)31 b(the)f(structure)g
+y Fs([F)-8 b(unction])-3599 b Fj(const)54 b(char)f(*)g
+(asn1_find_structure_fr)q(om_)q(oid)f Fi(\()p Fh(asn1)p
+2576 4595 30 5 v 44 w(no)s(de)565 4704 y Fg(definitions)p
+Fh(,)36 b(const)e(c)m(har)g(*)f Fg(oidValue)p Fi(\))390
+4814 y Ff(de\014nitions)t Fs(:)40 b(ASN1)31 b(de\014nitions)390
+4947 y Ff(oidV)-8 b(alue)5 b Fs(:)42 b(v)-5 b(alue)31
+b(of)g(the)f(OID)g(to)i(searc)m(h)f(\(e.g.)42 b Fl(")p
+Fs(1.2.3.4)p Fl(")p Fs(\).)390 5080 y(Searc)m(h)31 b(the)f(structure)g
(that)h(is)g(de\014ned)e(just)g(after)i(an)g(OID)f(de\014nition.)390
-5213 y Fe(Returns:)41 b Fk(NULL)29 b Fr(when)h Fk(oidValue)e
-Fr(not)j(found,)e(otherwise)i(the)g(p)s(oin)m(ter)g(to)g(a)g(constan)m
+5213 y Fe(Returns:)41 b Fl(NULL)29 b Fs(when)h Fl(oidValue)e
+Fs(not)j(found,)e(otherwise)i(the)g(p)s(oin)m(ter)g(to)g(a)g(constan)m
(t)h(string)390 5322 y(that)f(con)m(tains)h(the)e(elemen)m(t)i(name)e
(de\014ned)g(just)f(after)i(the)g(OID.)p eop end
%%Page: 11 14
-TeXDict begin 11 13 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(11)150 299 y Fj(asn1)p
+TeXDict begin 11 13 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(11)150 299 y Fk(asn1)p
396 299 37 5 v 55 w(cop)m(y)p 697 299 V 53 w(no)s(de)3350
-493 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_copy_node)d
-Fh(\()p Fg(asn1)p 1355 493 28 4 v 41 w(no)s(de)29 b Ff(dst)p
-Fg(,)j(const)f(c)m(har)f(*)h Ff(dst_name)p Fg(,)565 603
-y(asn1)p 748 603 V 40 w(no)s(de)f Ff(src)p Fg(,)i(const)e(c)m(har)h(*)g
-Ff(src_name)p Fh(\))390 712 y Fg(dst)r Fr(:)40 b(Destination)32
-b(asn1)f(no)s(de.)390 845 y Fg(dst)p 518 845 V 40 w(name)5
-b Fr(:)41 b(Field)31 b(name)f(in)g(destination)h(no)s(de.)390
-979 y Fg(src)6 b Fr(:)40 b(Source)30 b(asn1)h(no)s(de.)390
-1112 y Fg(src)p 508 1112 V 40 w(name)5 b Fr(:)41 b(Field)31
+493 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_copy_node)d
+Fi(\()p Fh(asn1)p 1373 493 30 5 v 44 w(no)s(de)34 b Fg(dst)p
+Fh(,)g(const)g(c)m(har)g(*)f Fg(dst_name)p Fh(,)565 603
+y(asn1)p 766 603 V 44 w(no)s(de)h Fg(src)p Fh(,)g(const)f(c)m(har)h(*)f
+Fg(src_name)p Fi(\))390 712 y Ff(dst)r Fs(:)40 b(Destination)32
+b(asn1)f(no)s(de.)390 845 y Ff(dst)p 518 845 28 4 v 40
+w(name)5 b Fs(:)41 b(Field)31 b(name)f(in)g(destination)h(no)s(de.)390
+979 y Ff(src)6 b Fs(:)40 b(Source)30 b(asn1)h(no)s(de.)390
+1112 y Ff(src)p 508 1112 V 40 w(name)5 b Fs(:)41 b(Field)31
b(name)f(in)g(source)h(no)s(de.)390 1245 y(Create)39
b(a)f(deep)g(cop)m(y)h(of)f(a)g(asn1)p 1591 1245 V 40
w(no)s(de)g(v)-5 b(ariable.)64 b(That)38 b(function)g(requires)f
-Fk(dst)g Fr(to)i(b)s(e)e(ex-)390 1355 y(panded)29 b(using)h
-Fk(asn1_create_element\(\))25 b Fr(.)390 1488 y Fe(Returns:)40
-b Fr(Return)30 b Fk(ASN1_SUCCESS)d Fr(on)j(success.)150
-1685 y Fj(asn1)p 396 1685 37 5 v 55 w(dup)p 655 1685
-V 54 w(no)s(de)3350 1879 y Fr([F)-8 b(unction])-3599
-b Fi(asn1_node)55 b(asn1_dup_node)49 b Fh(\()p Fg(asn1)p
-1616 1879 28 4 v 41 w(no)s(de)30 b Ff(src)p Fg(,)h(const)g(c)m(har)g(*)
-g Ff(src_name)p Fh(\))390 1988 y Fg(src)6 b Fr(:)40 b(Source)30
-b(asn1)h(no)s(de.)390 2122 y Fg(src)p 508 2122 V 40 w(name)5
-b Fr(:)41 b(Field)31 b(name)f(in)g(source)h(no)s(de.)390
+Fl(dst)g Fs(to)i(b)s(e)e(ex-)390 1355 y(panded)29 b(using)h
+Fl(asn1_create_element\(\))25 b Fs(.)390 1488 y Fe(Returns:)40
+b Fs(Return)30 b Fl(ASN1_SUCCESS)d Fs(on)j(success.)150
+1685 y Fk(asn1)p 396 1685 37 5 v 55 w(dup)p 655 1685
+V 54 w(no)s(de)3350 1879 y Fs([F)-8 b(unction])-3599
+b Fj(asn1_node)55 b(asn1_dup_node)49 b Fi(\()p Fh(asn1)p
+1634 1879 30 5 v 45 w(no)s(de)34 b Fg(src)p Fh(,)f(const)h(c)m(har)g(*)
+f Fg(src_name)p Fi(\))390 1988 y Ff(src)6 b Fs(:)40 b(Source)30
+b(asn1)h(no)s(de.)390 2122 y Ff(src)p 508 2122 28 4 v
+40 w(name)5 b Fs(:)41 b(Field)31 b(name)f(in)g(source)h(no)s(de.)390
2255 y(Create)h(a)f(deep)g(cop)m(y)h(of)g(a)f(asn1)p
1550 2255 V 40 w(no)s(de)g(v)-5 b(ariable.)44 b(This)30
b(function)h(will)g(return)f(an)i(exact)g(cop)m(y)390
2364 y(of)f(the)f(pro)m(vided)g(structure.)390 2498 y
-Fe(Returns:)40 b Fr(Return)30 b Fk(NULL)f Fr(on)h(failure.)150
-2694 y Fj(asn1)p 396 2694 37 5 v 55 w(write)p 728 2694
-V 53 w(v)-7 b(alue)3350 2888 y Fr([F)f(unction])-3599
-b Fi(int)53 b(asn1_write_value)e Fh(\()p Fg(asn1)p 1460
-2888 28 4 v 40 w(no)s(de)30 b Ff(node_root)p Fg(,)j(const)e(c)m(har)g
-(*)g Ff(name)p Fg(,)565 2998 y(const)g(v)m(oid)g(*)g
-Ff(ivalue)p Fg(,)h(in)m(t)f Ff(len)p Fh(\))390 3108 y
-Fg(no)s(de)p 586 3108 V 39 w(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)31
-b(to)g(a)g(structure)390 3241 y Fg(name)5 b Fr(:)41 b(the)30
+Fe(Returns:)40 b Fs(Return)30 b Fl(NULL)f Fs(on)h(failure.)150
+2694 y Fk(asn1)p 396 2694 37 5 v 55 w(write)p 728 2694
+V 53 w(v)-7 b(alue)3350 2888 y Fs([F)f(unction])-3599
+b Fj(int)53 b(asn1_write_value)e Fi(\()p Fh(asn1)p 1478
+2888 30 5 v 44 w(no)s(de)34 b Fg(node_root)p Fh(,)h(const)f(c)m(har)g
+(*)f Fg(name)p Fh(,)565 2998 y(const)h(v)m(oid)f(*)g
+Fg(ivalue)p Fh(,)h(in)m(t)g Fg(len)p Fi(\))390 3108 y
+Ff(no)s(de)p 586 3108 28 4 v 39 w(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)31
+b(to)g(a)g(structure)390 3241 y Ff(name)5 b Fs(:)41 b(the)30
b(name)h(of)f(the)h(elemen)m(t)h(inside)e(the)g(structure)g(that)h(y)m
-(ou)g(w)m(an)m(t)g(to)g(set.)390 3374 y Fg(iv)-5 b(alue)5
-b Fr(:)45 b(v)m(ector)34 b(used)e(to)h(sp)s(ecify)f(the)g(v)-5
-b(alue)33 b(to)g(set.)47 b(If)32 b(len)g(is)h Fk(>)p
-Fr(0,)g(V)-10 b(ALUE)32 b(m)m(ust)g(b)s(e)g(a)g(t)m(w)m(o's)390
+(ou)g(w)m(an)m(t)g(to)g(set.)390 3374 y Ff(iv)-5 b(alue)5
+b Fs(:)45 b(v)m(ector)34 b(used)e(to)h(sp)s(ecify)f(the)g(v)-5
+b(alue)33 b(to)g(set.)47 b(If)32 b(len)g(is)h Fl(>)p
+Fs(0,)g(V)-10 b(ALUE)32 b(m)m(ust)g(b)s(e)g(a)g(t)m(w)m(o's)390
3484 y(complemen)m(t)k(form)e(in)m(teger.)56 b(if)35
b(len=0)g(*V)-10 b(ALUE)35 b(m)m(ust)g(b)s(e)f(a)h(n)m(ull)g
(terminated)g(string)g(with)390 3593 y(an)30 b(in)m(teger)i(v)-5
-b(alue.)390 3726 y Fg(len)p Fr(:)53 b(n)m(um)m(b)s(er)35
+b(alue.)390 3726 y Ff(len)p Fs(:)53 b(n)m(um)m(b)s(er)35
b(of)i(b)m(ytes)g(of)g(*v)-5 b(alue)38 b(to)f(use)f(to)h(set)h(the)e(v)
-5 b(alue:)54 b(v)-5 b(alue[0]..v)g(alue[len-1])40 b(or)d(0)g(if)390
3836 y(v)-5 b(alue)31 b(is)f(a)h(n)m(ull)f(terminated)h(string)390
@@ -6713,937 +6713,949 @@ b(of)i(b)m(ytes)g(of)g(*v)-5 b(alue)38 b(to)f(use)f(to)h(set)h(the)e(v)
h(structure.)390 4102 y(If)23 b(an)g(elemen)m(t)i(is)e(OPTIONAL)f(and)g
(y)m(ou)i(w)m(an)m(t)g(to)g(delete)g(it,)i(y)m(ou)d(m)m(ust)g(use)g
(the)h(v)-5 b(alue=NULL)390 4212 y(and)30 b(len=0.)41
-b(Using)30 b Fk(")p Fr(pkix.asn)p Fk(")p Fr(:)390 4345
+b(Using)30 b Fl(")p Fs(pkix.asn)p Fl(")p Fs(:)390 4345
y(result=asn1)p 867 4345 V 40 w(write)p 1109 4345 V 40
-w(v)-5 b(alue\(cert,)32 b Fk(")p Fr(tbsCerti\014cate.issuerUniqueID)p
-Fk(")p Fr(,)f(NULL,)g(0\);)390 4478 y(Description)g(for)f(eac)m(h)i(t)m
-(yp)s(e:)390 4612 y Fe(INTEGER:)f Fr(V)-10 b(ALUE)30
+w(v)-5 b(alue\(cert,)32 b Fl(")p Fs(tbsCerti\014cate.issuerUniqueID)p
+Fl(")p Fs(,)f(NULL,)g(0\);)390 4478 y(Description)g(for)f(eac)m(h)i(t)m
+(yp)s(e:)390 4612 y Fe(INTEGER:)f Fs(V)-10 b(ALUE)30
b(m)m(ust)g(con)m(tain)i(a)f(t)m(w)m(o's)h(complemen)m(t)f(form)f(in)m
(teger.)390 4745 y(v)-5 b(alue[0]=0xFF)52 b(,)e(len=1)g(-)p
-Fk(>)g Fr(in)m(teger=-1.)101 b(v)-5 b(alue[0]=0xFF)52
-b(v)-5 b(alue[1]=0xFF)52 b(,)e(len=2)g(-)p Fk(>)390 4854
-y Fr(in)m(teger=-1.)85 b(v)-5 b(alue[0]=0x01)46 b(,)i(len=1)d(-)p
-Fk(>)f Fr(in)m(teger=)i(1.)83 b(v)-5 b(alue[0]=0x00)47
+Fl(>)g Fs(in)m(teger=-1.)101 b(v)-5 b(alue[0]=0xFF)52
+b(v)-5 b(alue[1]=0xFF)52 b(,)e(len=2)g(-)p Fl(>)390 4854
+y Fs(in)m(teger=-1.)85 b(v)-5 b(alue[0]=0x01)46 b(,)i(len=1)d(-)p
+Fl(>)f Fs(in)m(teger=)i(1.)83 b(v)-5 b(alue[0]=0x00)47
b(v)-5 b(alue[1]=0x01)47 b(,)390 4964 y(len=2)31 b(-)p
-Fk(>)f Fr(in)m(teger=)h(1.)42 b(v)-5 b(alue=)p Fk(")p
-Fr(123)p Fk(")31 b Fr(,)f(len=0)h(-)p Fk(>)f Fr(in)m(teger=)i(123.)390
-5097 y Fe(ENUMERA)-8 b(TED:)30 b Fr(As)g(INTEGER)g(\(but)g(only)h(with)
+Fl(>)f Fs(in)m(teger=)h(1.)42 b(v)-5 b(alue=)p Fl(")p
+Fs(123)p Fl(")31 b Fs(,)f(len=0)h(-)p Fl(>)f Fs(in)m(teger=)i(123.)390
+5097 y Fe(ENUMERA)-8 b(TED:)30 b Fs(As)g(INTEGER)g(\(but)g(only)h(with)
f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 5230 y
-Fe(BOOLEAN:)g Fr(V)-10 b(ALUE)35 b(m)m(ust)f(b)s(e)f(the)i(n)m(ull)f
-(terminated)g(string)h Fk(")p Fr(TR)m(UE)p Fk(")e Fr(or)h
-Fk(")p Fr(F)-10 b(ALSE)p Fk(")34 b Fr(and)390 5340 y(LEN)c(!=)g(0.)p
+Fe(BOOLEAN:)g Fs(V)-10 b(ALUE)35 b(m)m(ust)f(b)s(e)f(the)i(n)m(ull)f
+(terminated)g(string)h Fl(")p Fs(TR)m(UE)p Fl(")e Fs(or)h
+Fl(")p Fs(F)-10 b(ALSE)p Fl(")34 b Fs(and)390 5340 y(LEN)c(!=)g(0.)p
eop end
%%Page: 12 15
-TeXDict begin 12 14 bop 150 -116 a Fr(Chapter)30 b(4:)41
+TeXDict begin 12 14 bop 150 -116 a Fs(Chapter)30 b(4:)41
b(F)-8 b(unction)31 b(reference)2313 b(12)390 299 y(v)-5
-b(alue=)p Fk(")p Fr(TR)m(UE)p Fk(")88 b Fr(,)103 b(len=1)89
-b(-)p Fk(>)g Fr(b)s(o)s(olean=TR)m(UE.)f(v)-5 b(alue=)p
-Fk(")p Fr(F)-10 b(ALSE)p Fk(")88 b Fr(,)103 b(len=1)89
-b(-)p Fk(>)390 408 y Fr(b)s(o)s(olean=F)-10 b(ALSE.)390
+b(alue=)p Fl(")p Fs(TR)m(UE)p Fl(")88 b Fs(,)103 b(len=1)89
+b(-)p Fl(>)g Fs(b)s(o)s(olean=TR)m(UE.)f(v)-5 b(alue=)p
+Fl(")p Fs(F)-10 b(ALSE)p Fl(")88 b Fs(,)103 b(len=1)89
+b(-)p Fl(>)390 408 y Fs(b)s(o)s(olean=F)-10 b(ALSE.)390
538 y(OBJECT)26 b(IDENTIFIER:)h(V)-10 b(ALUE)27 b(m)m(ust)g(b)s(e)g(a)g
(n)m(ull)g(terminated)h(string)f(with)g(eac)m(h)h(n)m(um)m(b)s(er)390
-648 y(separated)j(b)m(y)f(a)h(dot)f(\(e.g.)43 b Fk(")p
-Fr(1.2.3.543.1)p Fk(")p Fr(\).)h(LEN)30 b(!=)h(0.)390
-777 y(v)-5 b(alue=)p Fk(")p Fr(1)31 b(2)f(840)i(10040)h(4)d(3)p
-Fk(")h Fr(,)g(len=1)f(-)p Fk(>)g Fr(OID=dsa-with-sha.)390
-907 y Fe(UTCTime:)84 b Fr(V)-10 b(ALUE)53 b(m)m(ust)f(b)s(e)f(a)i(n)m
+648 y(separated)j(b)m(y)f(a)h(dot)f(\(e.g.)43 b Fl(")p
+Fs(1.2.3.543.1)p Fl(")p Fs(\).)h(LEN)30 b(!=)h(0.)390
+777 y(v)-5 b(alue=)p Fl(")p Fs(1)31 b(2)f(840)i(10040)h(4)d(3)p
+Fl(")h Fs(,)g(len=1)f(-)p Fl(>)g Fs(OID=dsa-with-sha.)390
+907 y Fe(UTCTime:)84 b Fs(V)-10 b(ALUE)53 b(m)m(ust)f(b)s(e)f(a)i(n)m
(ull)f(terminated)g(string)g(in)g(one)h(of)f(these)g(formats:)390
-1017 y Fk(")p Fr(YYMMDDhhmmssZ)p Fk(")p Fr(,)118 b Fk(")p
-Fr(YYMMDDhhmmssZ)p Fk(")p Fr(,)g Fk(")p Fr(YYMMDDhhmmss)p
-Fk(+)p Fr(hh'mm')p Fk(")p Fr(,)390 1126 y Fk(")p Fr
-(YYMMDDhhmmss-hh'mm')p Fk(")p Fr(,)40 b Fk(")p Fr(YYMMDDhhmm)p
-Fk(+)p Fr(hh'mm')p Fk(")p Fr(,)g(or)f Fk(")p Fr(YYMMDDhhmm-)390
-1236 y(hh'mm')p Fk(")p Fr(.)g(LEN)31 b(!=)f(0.)390 1365
-y(v)-5 b(alue=)p Fk(")p Fr(9801011200Z)p Fk(")43 b Fr(,)f(len=1)e(-)p
-Fk(>)f Fr(time=Jann)m(uary)g(1st,)k(1998)e(at)f(12h)g(00m)g(Green)m
+1017 y Fl(")p Fs(YYMMDDhhmmssZ)p Fl(")p Fs(,)118 b Fl(")p
+Fs(YYMMDDhhmmssZ)p Fl(")p Fs(,)g Fl(")p Fs(YYMMDDhhmmss)p
+Fl(+)p Fs(hh'mm')p Fl(")p Fs(,)390 1126 y Fl(")p Fs
+(YYMMDDhhmmss-hh'mm')p Fl(")p Fs(,)40 b Fl(")p Fs(YYMMDDhhmm)p
+Fl(+)p Fs(hh'mm')p Fl(")p Fs(,)g(or)f Fl(")p Fs(YYMMDDhhmm-)390
+1236 y(hh'mm')p Fl(")p Fs(.)g(LEN)31 b(!=)f(0.)390 1365
+y(v)-5 b(alue=)p Fl(")p Fs(9801011200Z)p Fl(")43 b Fs(,)f(len=1)e(-)p
+Fl(>)f Fs(time=Jann)m(uary)g(1st,)k(1998)e(at)f(12h)g(00m)g(Green)m
(wic)m(h)390 1475 y(Mean)31 b(Time)390 1605 y Fe(GeneralizedTime:)94
-b Fr(V)-10 b(ALUE)56 b(m)m(ust)f(b)s(e)h(in)f(one)h(of)g(this)g
-(format:)92 b Fk(")p Fr(YYYYMMDDhh-)390 1714 y(mmss.sZ)p
-Fk(")p Fr(,)185 b Fk(")p Fr(YYYYMMDDhhmmss.sZ)p Fk(")p
-Fr(,)h Fk(")p Fr(YYYYMMDDhhmmss.s)p Fk(+)p Fr(hh'mm')p
-Fk(")p Fr(,)390 1824 y Fk(")p Fr(YYYYMMDDhhmmss.s-hh'mm')p
-Fk(")p Fr(,)279 b Fk(")p Fr(YYYYMMDDhhmm)p Fk(+)p Fr(hh'mm')p
-Fk(")p Fr(,)g(or)390 1933 y Fk(")p Fr(YYYYMMDDhhmm-hh'mm')p
-Fk(")36 b Fr(where)h(ss.s)f(indicates)i(the)f(seconds)f(with)h(an)m(y)g
-(precision)390 2043 y(lik)m(e)32 b Fk(")p Fr(10.1)p Fk(")f
-Fr(or)f Fk(")p Fr(01.02)p Fk(")p Fr(.)43 b(LEN)30 b(!=)g(0)390
-2172 y(v)-5 b(alue=)p Fk(")p Fr(2001010112001.1)q(2-0)q(70)q(0)p
-Fk(")50 b Fr(,)e(len=1)c(-)p Fk(>)h Fr(time=Jann)m(uary)e(1st,)49
+b Fs(V)-10 b(ALUE)56 b(m)m(ust)f(b)s(e)h(in)f(one)h(of)g(this)g
+(format:)92 b Fl(")p Fs(YYYYMMDDhh-)390 1714 y(mmss.sZ)p
+Fl(")p Fs(,)185 b Fl(")p Fs(YYYYMMDDhhmmss.sZ)p Fl(")p
+Fs(,)h Fl(")p Fs(YYYYMMDDhhmmss.s)p Fl(+)p Fs(hh'mm')p
+Fl(")p Fs(,)390 1824 y Fl(")p Fs(YYYYMMDDhhmmss.s-hh'mm')p
+Fl(")p Fs(,)279 b Fl(")p Fs(YYYYMMDDhhmm)p Fl(+)p Fs(hh'mm')p
+Fl(")p Fs(,)g(or)390 1933 y Fl(")p Fs(YYYYMMDDhhmm-hh'mm')p
+Fl(")36 b Fs(where)h(ss.s)f(indicates)i(the)f(seconds)f(with)h(an)m(y)g
+(precision)390 2043 y(lik)m(e)32 b Fl(")p Fs(10.1)p Fl(")f
+Fs(or)f Fl(")p Fs(01.02)p Fl(")p Fs(.)43 b(LEN)30 b(!=)g(0)390
+2172 y(v)-5 b(alue=)p Fl(")p Fs(2001010112001.1)q(2-0)q(70)q(0)p
+Fl(")50 b Fs(,)e(len=1)c(-)p Fl(>)h Fs(time=Jann)m(uary)e(1st,)49
b(2001)d(at)f(12h)f(00m)390 2282 y(01.12s)32 b(P)m(aci\014c)g(Da)m
(yligh)m(t)h(Time)390 2412 y(OCTET)22 b(STRING:)h(V)-10
b(ALUE)23 b(con)m(tains)h(the)g(o)s(ctet)g(string)g(and)e(LEN)h(is)h
(the)f(n)m(um)m(b)s(er)f(of)h(o)s(ctets.)390 2541 y(v)-5
-b(alue=)p Fk(")p Fr($)p Fk(\\)p Fr(bac)m(kslash$x01$)p
-Fk(\\)p Fr(bac)m(kslash$x02$)p Fk(\\)p Fr(bac)m(kslash$x03)q
-Fk(")62 b Fr(,)g(len=3)57 b(-)p Fk(>)f Fr(three)g(b)m(ytes)390
+b(alue=)p Fl(")p Fs($)p Fl(\\)p Fs(bac)m(kslash$x01$)p
+Fl(\\)p Fs(bac)m(kslash$x02$)p Fl(\\)p Fs(bac)m(kslash$x03)q
+Fl(")62 b Fs(,)g(len=3)57 b(-)p Fl(>)f Fs(three)g(b)m(ytes)390
2651 y(o)s(ctet)32 b(string)390 2781 y Fe(GeneralString:)42
-b Fr(V)-10 b(ALUE)30 b(con)m(tains)h(the)g(generalstring)g(and)f(LEN)g
+b Fs(V)-10 b(ALUE)30 b(con)m(tains)h(the)g(generalstring)g(and)f(LEN)g
(is)g(the)g(n)m(um)m(b)s(er)f(of)h(o)s(ctets.)390 2910
-y(v)-5 b(alue=)p Fk(")p Fr($)p Fk(\\)p Fr(bac)m(kslash$x01$)p
-Fk(\\)p Fr(bac)m(kslash$x02$)p Fk(\\)p Fr(bac)m(kslash$x03)q
-Fk(")62 b Fr(,)g(len=3)57 b(-)p Fk(>)f Fr(three)g(b)m(ytes)390
+y(v)-5 b(alue=)p Fl(")p Fs($)p Fl(\\)p Fs(bac)m(kslash$x01$)p
+Fl(\\)p Fs(bac)m(kslash$x02$)p Fl(\\)p Fs(bac)m(kslash$x03)q
+Fl(")62 b Fs(,)g(len=3)57 b(-)p Fl(>)f Fs(three)g(b)m(ytes)390
3020 y(generalstring)390 3149 y(BIT)39 b(STRING:)g(V)-10
b(ALUE)39 b(con)m(tains)h(the)g(bit)f(string)g(organized)h(b)m(y)f(b)m
(ytes)h(and)f(LEN)g(is)g(the)390 3259 y(n)m(um)m(b)s(er)29
-b(of)i(bits.)390 3389 y(v)-5 b(alue=)p Fk(")p Fr($)p
-Fk(\\)p Fr(bac)m(kslash$xCF)p Fk(")31 b Fr(,)g(len=6)g(-)p
-Fk(>)f Fr(bit)g(string=)p Fk(")p Fr(110011)p Fk(")j Fr(\(six)d(bits\))
-390 3518 y Fe(CHOICE:)f Fr(if)g(NAME)g(indicates)h(a)g(c)m(hoice)g(t)m
+b(of)i(bits.)390 3389 y(v)-5 b(alue=)p Fl(")p Fs($)p
+Fl(\\)p Fs(bac)m(kslash$xCF)p Fl(")31 b Fs(,)g(len=6)g(-)p
+Fl(>)f Fs(bit)g(string=)p Fl(")p Fs(110011)p Fl(")j Fs(\(six)d(bits\))
+390 3518 y Fe(CHOICE:)f Fs(if)g(NAME)g(indicates)h(a)g(c)m(hoice)g(t)m
(yp)s(e,)g(V)-10 b(ALUE)29 b(m)m(ust)g(sp)s(ecify)g(one)g(of)g(the)h
(alterna-)390 3628 y(tiv)m(es)i(with)e(a)g(n)m(ull)h(terminated)g
-(string.)40 b(LEN)31 b(!=)f(0.)41 b(Using)30 b Fk(")p
-Fr(pkix.asn)p Fk("\\)p Fr(:)390 3757 y(result=asn1)p
+(string.)40 b(LEN)31 b(!=)f(0.)41 b(Using)30 b Fl(")p
+Fs(pkix.asn)p Fl("\\)p Fs(:)390 3757 y(result=asn1)p
867 3757 28 4 v 40 w(write)p 1109 3757 V 40 w(v)-5 b(alue\(cert,)74
-b Fk(")p Fr(certi\014cate1.tbsCerti\014cate.sub)5 b(ject)p
-Fk(")p Fr(,)76 b Fk(")p Fr(rdnSequence)p Fk(")p Fr(,)390
-3867 y(1\);)390 3997 y Fe(ANY:)30 b Fr(V)-10 b(ALUE)31
+b Fl(")p Fs(certi\014cate1.tbsCerti\014cate.sub)5 b(ject)p
+Fl(")p Fs(,)76 b Fl(")p Fs(rdnSequence)p Fl(")p Fs(,)390
+3867 y(1\);)390 3997 y Fe(ANY:)30 b Fs(V)-10 b(ALUE)31
b(indicates)g(the)f(der)g(enco)s(ding)h(of)f(a)h(structure.)40
b(LEN)30 b(!=)h(0.)390 4126 y(SEQUENCE)i(OF:)h(V)-10
b(ALUE)34 b(m)m(ust)g(b)s(e)g(the)g(n)m(ull)g(terminated)h(string)f
-Fk(")p Fr(NEW)p Fk(")g Fr(and)f(LEN)h(!=)390 4236 y(0.)46
+Fl(")p Fs(NEW)p Fl(")g Fs(and)f(LEN)h(!=)390 4236 y(0.)46
b(With)32 b(this)g(instruction)g(another)g(elemen)m(t)i(is)e(app)s
(ended)e(in)h(the)i(sequence.)45 b(The)32 b(name)g(of)390
-4345 y(this)e(elemen)m(t)i(will)f(b)s(e)f Fk(")p Fr(?1)p
-Fk(")g Fr(if)g(it's)h(the)g(\014rst)e(one,)i Fk(")p Fr(?2)p
-Fk(")f Fr(for)g(the)h(second)f(and)g(so)h(on.)390 4475
-y(Using)g Fk(")p Fr(pkix.asn)p Fk("\\)p Fr(:)390 4605
+4345 y(this)e(elemen)m(t)i(will)f(b)s(e)f Fl(")p Fs(?1)p
+Fl(")g Fs(if)g(it's)h(the)g(\014rst)e(one,)i Fl(")p Fs(?2)p
+Fl(")f Fs(for)g(the)h(second)f(and)g(so)h(on.)390 4475
+y(Using)g Fl(")p Fs(pkix.asn)p Fl("\\)p Fs(:)390 4605
y(result=asn1)p 867 4605 V 40 w(write)p 1109 4605 V 40
-w(v)-5 b(alue\(cert,)241 b Fk(")p Fr
+w(v)-5 b(alue\(cert,)241 b Fl(")p Fs
(certi\014cate1.tbsCerti\014cate.sub)5 b(ject.rdnSequence)p
-Fk(")p Fr(,)390 4714 y Fk(")p Fr(NEW)p Fk(")p Fr(,)30
+Fl(")p Fs(,)390 4714 y Fl(")p Fs(NEW)p Fl(")p Fs(,)30
b(1\);)390 4844 y(SET)f(OF:)i(the)g(same)f(as)h(SEQUENCE)e(OF.)i(Using)
-f Fk(")p Fr(pkix.asn)p Fk(")p Fr(:)390 4973 y(result=asn1)p
+f Fl(")p Fs(pkix.asn)p Fl(")p Fs(:)390 4973 y(result=asn1)p
867 4973 V 40 w(write)p 1109 4973 V 40 w(v)-5 b(alue\(cert,)25
-b Fk(")p Fr(tbsCerti\014cate.sub)5 b(ject.rdnSequence.?LAST)p
-Fk(")p Fr(,)22 b Fk(")p Fr(NEW)p Fk(")p Fr(,)390 5083
-y(1\);)390 5213 y Fe(Returns:)38 b Fk(ASN1_SUCCESS)21
-b Fr(if)k(the)g(v)-5 b(alue)26 b(w)m(as)f(set,)i Fk
-(ASN1_ELEMENT_NOT_FOUND)19 b Fr(if)25 b Fk(name)f Fr(is)h(not)390
-5322 y(a)31 b(v)-5 b(alid)30 b(elemen)m(t,)j(and)c Fk
-(ASN1_VALUE_NOT_VALID)c Fr(if)31 b Fk(ivalue)d Fr(has)i(a)h(wrong)f
+b Fl(")p Fs(tbsCerti\014cate.sub)5 b(ject.rdnSequence.?LAST)p
+Fl(")p Fs(,)22 b Fl(")p Fs(NEW)p Fl(")p Fs(,)390 5083
+y(1\);)390 5213 y Fe(Returns:)38 b Fl(ASN1_SUCCESS)21
+b Fs(if)k(the)g(v)-5 b(alue)26 b(w)m(as)f(set,)i Fl
+(ASN1_ELEMENT_NOT_FOUND)19 b Fs(if)25 b Fl(name)f Fs(is)h(not)390
+5322 y(a)31 b(v)-5 b(alid)30 b(elemen)m(t,)j(and)c Fl
+(ASN1_VALUE_NOT_VALID)c Fs(if)31 b Fl(ivalue)d Fs(has)i(a)h(wrong)f
(format.)p eop end
%%Page: 13 16
-TeXDict begin 13 15 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(13)150 299 y Fj(asn1)p
+TeXDict begin 13 15 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(13)150 299 y Fk(asn1)p
396 299 37 5 v 55 w(read)p 685 299 V 54 w(v)-7 b(alue)3350
-493 y Fr([F)f(unction])-3599 b Fi(int)53 b(asn1_read_value)d
-Fh(\()p Fg(asn1)p 1407 493 28 4 v 41 w(no)s(de)30 b Ff(root)p
-Fg(,)h(const)g(c)m(har)g(*)g Ff(name)p Fg(,)g(v)m(oid)g(*)565
-602 y Ff(ivalue)p Fg(,)h(in)m(t)f(*)g Ff(len)p Fh(\))390
-712 y Fg(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)30 b(to)i(a)e(structure.)390
-845 y Fg(name)5 b Fr(:)41 b(the)30 b(name)h(of)f(the)h(elemen)m(t)h
+494 y Fs([F)f(unction])-3599 b Fj(int)53 b(asn1_read_value)d
+Fi(\()p Fh(asn1)p 1425 494 30 5 v 45 w(no)s(de)33 b Fg(root)p
+Fh(,)i(const)e(c)m(har)h(*)f Fg(name)p Fh(,)h(v)m(oid)f(*)565
+604 y Fg(ivalue)p Fh(,)i(in)m(t)e(*)g Fg(len)p Fi(\))390
+714 y Ff(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)30 b(to)i(a)e(structure.)390
+848 y Ff(name)5 b Fs(:)41 b(the)30 b(name)h(of)f(the)h(elemen)m(t)h
(inside)e(a)h(structure)f(that)h(y)m(ou)f(w)m(an)m(t)h(to)h(read.)390
-978 y Fg(iv)-5 b(alue)5 b Fr(:)45 b(v)m(ector)34 b(that)e(will)h(con)m
+981 y Ff(iv)-5 b(alue)5 b Fs(:)45 b(v)m(ector)34 b(that)e(will)h(con)m
(tain)g(the)g(elemen)m(t's)g(con)m(ten)m(t,)i(m)m(ust)d(b)s(e)g(a)g(p)s
-(oin)m(ter)g(to)h(memory)390 1088 y(cells)e(already)g(allo)s(cated)i
-(\(ma)m(y)e(b)s(e)f Fk(NULL)f Fr(\).)390 1221 y Fg(len)p
-Fr(:)41 b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*v)-5
+(oin)m(ter)g(to)h(memory)390 1091 y(cells)e(already)g(allo)s(cated)i
+(\(ma)m(y)e(b)s(e)f Fl(NULL)f Fs(\).)390 1225 y Ff(len)p
+Fs(:)41 b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*v)-5
b(alue:)41 b(v)-5 b(alue[0]..v)g(alue[len-1].)45 b(Initialy)31
-b(holds)f(the)h(sizeof)g(v)-5 b(alue.)390 1354 y(Returns)25
+b(holds)f(the)h(sizeof)g(v)-5 b(alue.)390 1359 y(Returns)25
b(the)h(v)-5 b(alue)27 b(of)f(one)g(elemen)m(t)i(inside)d(a)i
(structure.)39 b(If)25 b(an)h(elemen)m(t)i(is)e(OPTIONAL)f(and)390
-1463 y(this)j(returns)f Fk(ASN1_ELEMENT_NOT_FOUND)22
-b Fr(,)29 b(it)f(means)g(that)h(this)f(elemen)m(t)i(w)m(asn't)e(presen)
-m(t)g(in)390 1573 y(the)j(der)e(enco)s(ding)i(that)g(created)g(the)f
+1468 y(this)j(returns)f Fl(ASN1_ELEMENT_NOT_FOUND)22
+b Fs(,)29 b(it)f(means)g(that)h(this)f(elemen)m(t)i(w)m(asn't)e(presen)
+m(t)g(in)390 1578 y(the)j(der)e(enco)s(ding)i(that)g(created)g(the)f
(structure.)41 b(The)29 b(\014rst)h(elemen)m(t)i(of)e(a)h(SEQUENCE)p
-3587 1573 V 39 w(OF)390 1683 y(or)c(SET)p 683 1683 V
-39 w(OF)g(is)g(named)f Fk(")p Fr(?1)p Fk(")p Fr(.)40
-b(The)26 b(second)h(one)g Fk(")p Fr(?2)p Fk(")g Fr(and)f(so)h(on.)40
-b(If)26 b(the)h Fk(root)f Fr(pro)m(vided)h(is)g(a)390
-1792 y(no)s(de)c(to)i(sp)s(eci\014c)f(sequence)h(elemen)m(t,)i(then)d
-(the)g(k)m(eyw)m(ord)h Fk(")p Fr(?CURRENT)p Fk(")e Fr(is)h(also)h
-(acceptable)390 1902 y(and)30 b(indicates)h(the)g(curren)m(t)f
-(sequence)h(elemen)m(t)g(of)g(this)f(no)s(de.)390 2035
+3587 1578 28 4 v 39 w(OF)390 1688 y(or)c(SET)p 683 1688
+V 39 w(OF)g(is)g(named)f Fl(")p Fs(?1)p Fl(")p Fs(.)40
+b(The)26 b(second)h(one)g Fl(")p Fs(?2)p Fl(")g Fs(and)f(so)h(on.)40
+b(If)26 b(the)h Fl(root)f Fs(pro)m(vided)h(is)g(a)390
+1797 y(no)s(de)c(to)i(sp)s(eci\014c)f(sequence)h(elemen)m(t,)i(then)d
+(the)g(k)m(eyw)m(ord)h Fl(")p Fs(?CURRENT)p Fl(")e Fs(is)h(also)h
+(acceptable)390 1907 y(and)30 b(indicates)h(the)g(curren)m(t)f
+(sequence)h(elemen)m(t)g(of)g(this)f(no)s(de.)390 2041
y(Note)i(that)f(there)g(can)g(b)s(e)f(v)-5 b(alid)31
b(v)-5 b(alues)31 b(with)f(length)h(zero.)42 b(In)30
-b(these)h(case)h(this)e(function)h(will)390 2144 y(succeed)g(and)f
-Fk(len)f Fr(will)i(b)s(e)e(zero.)390 2277 y Fe(INTEGER:)i
-Fr(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m
-(t)g(form)e(in)m(teger.)390 2410 y(in)m(teger=-1)i(-)p
-Fk(>)f Fr(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32
-b(-)p Fk(>)e Fr(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390
-2544 y Fe(ENUMERA)-8 b(TED:)30 b Fr(As)g(INTEGER)g(\(but)g(only)h(with)
-f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 2677 y
-Fe(BOOLEAN:)38 b Fr(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g
-(terminated)h(string)f Fk(")p Fr(TR)m(UE)p Fk(")f Fr(or)h
-Fk(")p Fr(F)-10 b(ALSE)p Fk(")39 b Fr(and)390 2786 y(LEN=5)30
-b(or)h(LEN=6.)390 2919 y(OBJECT)g(IDENTIFIER:)h(V)-10
+b(these)h(case)h(this)e(function)h(will)390 2150 y(succeed)g(and)f
+Fl(len)f Fs(will)i(b)s(e)e(zero.)390 2284 y Fe(INTEGER:)i
+Fs(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m
+(t)g(form)e(in)m(teger.)390 2418 y(in)m(teger=-1)i(-)p
+Fl(>)f Fs(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32
+b(-)p Fl(>)e Fs(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390
+2552 y Fe(ENUMERA)-8 b(TED:)30 b Fs(As)g(INTEGER)g(\(but)g(only)h(with)
+f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 2686 y
+Fe(BOOLEAN:)38 b Fs(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g
+(terminated)h(string)f Fl(")p Fs(TR)m(UE)p Fl(")f Fs(or)h
+Fl(")p Fs(F)-10 b(ALSE)p Fl(")39 b Fs(and)390 2795 y(LEN=5)30
+b(or)h(LEN=6.)390 2929 y(OBJECT)g(IDENTIFIER:)h(V)-10
b(ALUE)32 b(will)g(b)s(e)g(a)g(n)m(ull)g(terminated)g(string)g(with)g
-(eac)m(h)h(n)m(um)m(b)s(er)390 3029 y(separated)e(b)m(y)f(a)h(dot)f
-(\(i.e.)42 b Fk(")p Fr(1.2.3.543.1)p Fk(")p Fr(\).)390
-3162 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1)390
-3295 y Fe(UTCTime:)41 b Fr(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m
+(eac)m(h)h(n)m(um)m(b)s(er)390 3039 y(separated)e(b)m(y)f(a)h(dot)f
+(\(i.e.)42 b Fl(")p Fs(1.2.3.543.1)p Fl(")p Fs(\).)390
+3173 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1)390
+3307 y Fe(UTCTime:)41 b Fs(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m
(ull)f(terminated)h(string)f(in)g(one)g(of)h(these)f(formats:)41
-b Fk(")p Fr(YYM-)390 3405 y(MDDhhmmss)p Fk(+)p Fr(hh'mm')p
-Fk(")28 b Fr(or)j Fk(")p Fr(YYMMDDhhmmss-hh'mm')p Fk(")p
-Fr(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1.)390
-3538 y Fe(GeneralizedTime:)48 b Fr(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g
+b Fl(")p Fs(YYM-)390 3416 y(MDDhhmmss)p Fl(+)p Fs(hh'mm')p
+Fl(")28 b Fs(or)j Fl(")p Fs(YYMMDDhhmmss-hh'mm')p Fl(")p
+Fs(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1.)390
+3550 y Fe(GeneralizedTime:)48 b Fs(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g
(n)m(ull)g(terminated)g(string)g(in)g(the)g(same)g(format)h(used)390
-3647 y(to)d(set)g(the)g(v)-5 b(alue.)390 3780 y(OCTET)26
+3660 y(to)d(set)g(the)g(v)-5 b(alue.)390 3794 y(OCTET)26
b(STRING:)h(V)-10 b(ALUE)27 b(will)h(con)m(tain)h(the)f(o)s(ctet)h
(string)e(and)g(LEN)g(will)h(b)s(e)f(the)g(n)m(um)m(b)s(er)390
-3890 y(of)k(o)s(ctets.)390 4023 y Fe(GeneralString:)51
-b Fr(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g
-(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4133
-y(of)c(o)s(ctets.)390 4266 y(BIT)j(STRING:)h(V)-10 b(ALUE)34
+3903 y(of)k(o)s(ctets.)390 4037 y Fe(GeneralString:)51
+b Fs(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g
+(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4147
+y(of)c(o)s(ctets.)390 4281 y(BIT)j(STRING:)h(V)-10 b(ALUE)34
b(will)h(con)m(tain)h(the)f(bit)g(string)f(organized)i(b)m(y)e(b)m
-(ytes)h(and)f(LEN)h(will)390 4375 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f
-(of)i(bits.)390 4508 y Fe(CHOICE:)j Fr(If)f(NAME)i(indicates)g(a)g(c)m
+(ytes)h(and)f(LEN)h(will)390 4390 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f
+(of)i(bits.)390 4524 y Fe(CHOICE:)j Fs(If)f(NAME)i(indicates)g(a)g(c)m
(hoice)h(t)m(yp)s(e,)f(V)-10 b(ALUE)34 b(will)h(sp)s(ecify)f(the)g
-(alternativ)m(e)i(se-)390 4618 y(lected.)390 4751 y Fe(ANY:)h
-Fr(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10
+(alternativ)m(e)i(se-)390 4634 y(lected.)390 4768 y Fe(ANY:)h
+Fs(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10
b(ALUE)37 b(will)g(indicate)h(the)g(DER)f(enco)s(ding)g(of)390
-4860 y(the)31 b(structure)e(actually)j(used.)390 4994
-y Fe(Returns:)64 b Fk(ASN1_SUCCESS)38 b Fr(if)k(v)-5
-b(alue)42 b(is)g(returned,)i Fk(ASN1_ELEMENT_NOT_FOUND)36
-b Fr(if)42 b Fk(name)f Fr(is)390 5103 y(not)33 b(a)g(v)-5
-b(alid)34 b(elemen)m(t,)h Fk(ASN1_VALUE_NOT_FOUND)27
-b Fr(if)33 b(there)g(isn't)g(an)m(y)g(v)-5 b(alue)34
-b(for)e(the)h(elemen)m(t)390 5213 y(selected,)28 b(and)d
-Fk(ASN1_MEM_ERROR)c Fr(if)26 b(The)f(v)-5 b(alue)26 b(v)m(ector)h
+4877 y(the)31 b(structure)e(actually)j(used.)390 5011
+y Fe(Returns:)64 b Fl(ASN1_SUCCESS)38 b Fs(if)k(v)-5
+b(alue)42 b(is)g(returned,)i Fl(ASN1_ELEMENT_NOT_FOUND)36
+b Fs(if)42 b Fl(name)f Fs(is)390 5121 y(not)33 b(a)g(v)-5
+b(alid)34 b(elemen)m(t,)h Fl(ASN1_VALUE_NOT_FOUND)27
+b Fs(if)33 b(there)g(isn't)g(an)m(y)g(v)-5 b(alue)34
+b(for)e(the)h(elemen)m(t)390 5230 y(selected,)28 b(and)d
+Fl(ASN1_MEM_ERROR)c Fs(if)26 b(The)f(v)-5 b(alue)26 b(v)m(ector)h
(isn't)e(big)h(enough)f(to)h(store)g(the)g(result,)390
-5322 y(and)k(in)g(this)g(case)i Fk(len)d Fr(will)i(con)m(tain)g(the)g
-(n)m(um)m(b)s(er)e(of)i(b)m(ytes)f(needed.)p eop end
+5340 y(and)32 b(in)g(this)h(case)g Fl(len)f Fs(will)h(con)m(tain)h(the)
+f(n)m(um)m(b)s(er)e(of)i(b)m(ytes)g(needed.)47 b(On)32
+b(the)g(o)s(ccasion)i(that)p eop end
%%Page: 14 17
-TeXDict begin 14 16 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(14)150 299 y Fj(asn1)p
-396 299 37 5 v 55 w(read)p 685 299 V 54 w(v)-7 b(alue)p
-1015 299 V 53 w(t)m(yp)s(e)3350 481 y Fr([F)f(unction])-3599
-b Fi(int)53 b(asn1_read_value_type)f Fh(\()p Fg(asn1)p
-1669 481 28 4 v 40 w(no)s(de)29 b Ff(root)p Fg(,)i(const)e(c)m(har)h(*)
-f Ff(name)p Fg(,)i(v)m(oid)f(*)565 590 y Ff(ivalue)p
-Fg(,)i(in)m(t)f(*)g Ff(len)p Fg(,)h(unsigned)d(in)m(t)i(*)g
-Ff(etype)p Fh(\))390 700 y Fg(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)30
-b(to)i(a)e(structure.)390 827 y Fg(name)5 b Fr(:)41 b(the)30
-b(name)h(of)f(the)h(elemen)m(t)h(inside)e(a)h(structure)f(that)h(y)m
-(ou)f(w)m(an)m(t)h(to)h(read.)390 954 y Fg(iv)-5 b(alue)5
-b Fr(:)45 b(v)m(ector)34 b(that)e(will)h(con)m(tain)g(the)g(elemen)m
-(t's)g(con)m(ten)m(t,)i(m)m(ust)d(b)s(e)g(a)g(p)s(oin)m(ter)g(to)h
-(memory)390 1063 y(cells)e(already)g(allo)s(cated)i(\(ma)m(y)e(b)s(e)f
-Fk(NULL)f Fr(\).)390 1190 y Fg(len)p Fr(:)41 b(n)m(um)m(b)s(er)29
+TeXDict begin 14 16 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(14)390 299 y(the)28
+b(stored)g(data)h(are)f(of)h(zero-length)g(this)f(function)g(ma)m(y)g
+(return)f Fl(ASN1_SUCCESS)e Fs(ev)m(en)k(if)f(the)390
+408 y(pro)m(vided)i Fl(len)f Fs(is)i(zero.)150 608 y
+Fk(asn1)p 396 608 37 5 v 55 w(read)p 685 608 V 54 w(v)-7
+b(alue)p 1015 608 V 53 w(t)m(yp)s(e)3350 805 y Fs([F)f(unction])-3599
+b Fj(int)53 b(asn1_read_value_type)f Fi(\()p Fh(asn1)p
+1687 805 30 5 v 44 w(no)s(de)34 b Fg(root)p Fh(,)g(const)g(c)m(har)g(*)
+f Fg(name)p Fh(,)565 915 y(v)m(oid)g(*)g Fg(ivalue)p
+Fh(,)i(in)m(t)e(*)g Fg(len)p Fh(,)h(unsigned)g(in)m(t)g(*)f
+Fg(etype)p Fi(\))390 1024 y Ff(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)30
+b(to)i(a)e(structure.)390 1159 y Ff(name)5 b Fs(:)41
+b(the)30 b(name)h(of)f(the)h(elemen)m(t)h(inside)e(a)h(structure)f
+(that)h(y)m(ou)f(w)m(an)m(t)h(to)h(read.)390 1294 y Ff(iv)-5
+b(alue)5 b Fs(:)45 b(v)m(ector)34 b(that)e(will)h(con)m(tain)g(the)g
+(elemen)m(t's)g(con)m(ten)m(t,)i(m)m(ust)d(b)s(e)g(a)g(p)s(oin)m(ter)g
+(to)h(memory)390 1404 y(cells)e(already)g(allo)s(cated)i(\(ma)m(y)e(b)s
+(e)f Fl(NULL)f Fs(\).)390 1539 y Ff(len)p Fs(:)41 b(n)m(um)m(b)s(er)29
b(of)h(b)m(ytes)h(of)g(*v)-5 b(alue:)41 b(v)-5 b(alue[0]..v)g
(alue[len-1].)45 b(Initialy)31 b(holds)f(the)h(sizeof)g(v)-5
-b(alue.)390 1317 y Fg(et)m(yp)s(e)5 b Fr(:)41 b(The)30
+b(alue.)390 1673 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30
b(t)m(yp)s(e)h(of)f(the)h(v)-5 b(alue)31 b(read)f(\(ASN1)p
-2037 1317 V 41 w(ETYPE\))390 1445 y(Returns)k(the)g(t)m(yp)s(e)h(and)f
-(v)-5 b(alue)35 b(of)f(one)h(elemen)m(t)h(inside)e(a)h(structure.)52
-b(If)34 b(an)h(elemen)m(t)h(is)e(OP-)390 1554 y(TIONAL)41
-b(and)g(this)g(returns)f Fk(ASN1_ELEMENT_NOT_FOUND)c
-Fr(,)44 b(it)e(means)g(that)g(this)f(elemen)m(t)390 1664
+2037 1673 28 4 v 41 w(ETYPE\))390 1808 y(Returns)k(the)g(t)m(yp)s(e)h
+(and)f(v)-5 b(alue)35 b(of)f(one)h(elemen)m(t)h(inside)e(a)h
+(structure.)52 b(If)34 b(an)h(elemen)m(t)h(is)e(OP-)390
+1918 y(TIONAL)41 b(and)g(this)g(returns)f Fl(ASN1_ELEMENT_NOT_FOUND)c
+Fs(,)44 b(it)e(means)g(that)g(this)f(elemen)m(t)390 2027
y(w)m(asn't)36 b(presen)m(t)f(in)h(the)f(der)g(enco)s(ding)g(that)i
(created)f(the)g(structure.)55 b(The)35 b(\014rst)g(elemen)m(t)i(of)390
-1773 y(a)e(SEQUENCE)p 986 1773 V 39 w(OF)g(or)g(SET)p
-1485 1773 V 39 w(OF)f(is)h(named)g Fk(")p Fr(?1)p Fk(")p
-Fr(.)53 b(The)35 b(second)g(one)g Fk(")p Fr(?2)p Fk(")f
-Fr(and)g(so)h(on.)54 b(If)390 1883 y(the)31 b Fk(root)g
-Fr(pro)m(vided)f(is)i(a)f(no)s(de)g(to)h(sp)s(eci\014c)f(sequence)h
-(elemen)m(t,)h(then)e(the)h(k)m(eyw)m(ord)f Fk(")p Fr(?CUR-)390
-1992 y(RENT)p Fk(")f Fr(is)g(also)h(acceptable)i(and)d(indicates)h(the)
+2137 y(a)e(SEQUENCE)p 986 2137 V 39 w(OF)g(or)g(SET)p
+1485 2137 V 39 w(OF)f(is)h(named)g Fl(")p Fs(?1)p Fl(")p
+Fs(.)53 b(The)35 b(second)g(one)g Fl(")p Fs(?2)p Fl(")f
+Fs(and)g(so)h(on.)54 b(If)390 2247 y(the)31 b Fl(root)g
+Fs(pro)m(vided)f(is)i(a)f(no)s(de)g(to)h(sp)s(eci\014c)f(sequence)h
+(elemen)m(t,)h(then)e(the)h(k)m(eyw)m(ord)f Fl(")p Fs(?CUR-)390
+2356 y(RENT)p Fl(")f Fs(is)g(also)h(acceptable)i(and)d(indicates)h(the)
f(curren)m(t)h(sequence)f(elemen)m(t)i(of)f(this)f(no)s(de.)390
-2119 y(Note)i(that)f(there)g(can)g(b)s(e)f(v)-5 b(alid)31
+2491 y(Note)i(that)f(there)g(can)g(b)s(e)f(v)-5 b(alid)31
b(v)-5 b(alues)31 b(with)f(length)h(zero.)42 b(In)30
-b(these)h(case)h(this)e(function)h(will)390 2229 y(succeed)g(and)f
-Fk(len)f Fr(will)i(b)s(e)e(zero.)390 2356 y Fe(INTEGER:)i
-Fr(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m
-(t)g(form)e(in)m(teger.)390 2483 y(in)m(teger=-1)i(-)p
-Fk(>)f Fr(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32
-b(-)p Fk(>)e Fr(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390
-2610 y Fe(ENUMERA)-8 b(TED:)30 b Fr(As)g(INTEGER)g(\(but)g(only)h(with)
-f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 2737 y
-Fe(BOOLEAN:)38 b Fr(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g
-(terminated)h(string)f Fk(")p Fr(TR)m(UE)p Fk(")f Fr(or)h
-Fk(")p Fr(F)-10 b(ALSE)p Fk(")39 b Fr(and)390 2847 y(LEN=5)30
-b(or)h(LEN=6.)390 2974 y(OBJECT)g(IDENTIFIER:)h(V)-10
+b(these)h(case)h(this)e(function)h(will)390 2601 y(succeed)g(and)f
+Fl(len)f Fs(will)i(b)s(e)e(zero.)390 2735 y Fe(INTEGER:)i
+Fs(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m
+(t)g(form)e(in)m(teger.)390 2870 y(in)m(teger=-1)i(-)p
+Fl(>)f Fs(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32
+b(-)p Fl(>)e Fs(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390
+3005 y Fe(ENUMERA)-8 b(TED:)30 b Fs(As)g(INTEGER)g(\(but)g(only)h(with)
+f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 3140 y
+Fe(BOOLEAN:)38 b Fs(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g
+(terminated)h(string)f Fl(")p Fs(TR)m(UE)p Fl(")f Fs(or)h
+Fl(")p Fs(F)-10 b(ALSE)p Fl(")39 b Fs(and)390 3250 y(LEN=5)30
+b(or)h(LEN=6.)390 3384 y(OBJECT)g(IDENTIFIER:)h(V)-10
b(ALUE)32 b(will)g(b)s(e)g(a)g(n)m(ull)g(terminated)g(string)g(with)g
-(eac)m(h)h(n)m(um)m(b)s(er)390 3083 y(separated)e(b)m(y)f(a)h(dot)f
-(\(i.e.)42 b Fk(")p Fr(1.2.3.543.1)p Fk(")p Fr(\).)390
-3210 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1)390
-3337 y Fe(UTCTime:)41 b Fr(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m
+(eac)m(h)h(n)m(um)m(b)s(er)390 3494 y(separated)e(b)m(y)f(a)h(dot)f
+(\(i.e.)42 b Fl(")p Fs(1.2.3.543.1)p Fl(")p Fs(\).)390
+3629 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1)390
+3764 y Fe(UTCTime:)41 b Fs(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m
(ull)f(terminated)h(string)f(in)g(one)g(of)h(these)f(formats:)41
-b Fk(")p Fr(YYM-)390 3447 y(MDDhhmmss)p Fk(+)p Fr(hh'mm')p
-Fk(")28 b Fr(or)j Fk(")p Fr(YYMMDDhhmmss-hh'mm')p Fk(")p
-Fr(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1.)390
-3574 y Fe(GeneralizedTime:)48 b Fr(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g
+b Fl(")p Fs(YYM-)390 3873 y(MDDhhmmss)p Fl(+)p Fs(hh'mm')p
+Fl(")28 b Fs(or)j Fl(")p Fs(YYMMDDhhmmss-hh'mm')p Fl(")p
+Fs(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1.)390
+4008 y Fe(GeneralizedTime:)48 b Fs(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g
(n)m(ull)g(terminated)g(string)g(in)g(the)g(same)g(format)h(used)390
-3684 y(to)d(set)g(the)g(v)-5 b(alue.)390 3811 y(OCTET)26
+4118 y(to)d(set)g(the)g(v)-5 b(alue.)390 4253 y(OCTET)26
b(STRING:)h(V)-10 b(ALUE)27 b(will)h(con)m(tain)h(the)f(o)s(ctet)h
(string)e(and)g(LEN)g(will)h(b)s(e)f(the)g(n)m(um)m(b)s(er)390
-3920 y(of)k(o)s(ctets.)390 4047 y Fe(GeneralString:)51
-b Fr(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g
-(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4157
-y(of)c(o)s(ctets.)390 4284 y(BIT)j(STRING:)h(V)-10 b(ALUE)34
+4362 y(of)k(o)s(ctets.)390 4497 y Fe(GeneralString:)51
+b Fs(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g
+(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4607
+y(of)c(o)s(ctets.)390 4742 y(BIT)j(STRING:)h(V)-10 b(ALUE)34
b(will)h(con)m(tain)h(the)f(bit)g(string)f(organized)i(b)m(y)e(b)m
-(ytes)h(and)f(LEN)h(will)390 4393 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f
-(of)i(bits.)390 4520 y Fe(CHOICE:)j Fr(If)f(NAME)i(indicates)g(a)g(c)m
+(ytes)h(and)f(LEN)h(will)390 4851 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f
+(of)i(bits.)390 4986 y Fe(CHOICE:)j Fs(If)f(NAME)i(indicates)g(a)g(c)m
(hoice)h(t)m(yp)s(e,)f(V)-10 b(ALUE)34 b(will)h(sp)s(ecify)f(the)g
-(alternativ)m(e)i(se-)390 4630 y(lected.)390 4757 y Fe(ANY:)h
-Fr(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10
+(alternativ)m(e)i(se-)390 5096 y(lected.)390 5230 y Fe(ANY:)h
+Fs(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10
b(ALUE)37 b(will)g(indicate)h(the)g(DER)f(enco)s(ding)g(of)390
-4867 y(the)31 b(structure)e(actually)j(used.)390 4994
-y Fe(Returns:)64 b Fk(ASN1_SUCCESS)38 b Fr(if)k(v)-5
-b(alue)42 b(is)g(returned,)i Fk(ASN1_ELEMENT_NOT_FOUND)36
-b Fr(if)42 b Fk(name)f Fr(is)390 5103 y(not)33 b(a)g(v)-5
-b(alid)34 b(elemen)m(t,)h Fk(ASN1_VALUE_NOT_FOUND)27
-b Fr(if)33 b(there)g(isn't)g(an)m(y)g(v)-5 b(alue)34
-b(for)e(the)h(elemen)m(t)390 5213 y(selected,)28 b(and)d
-Fk(ASN1_MEM_ERROR)c Fr(if)26 b(The)f(v)-5 b(alue)26 b(v)m(ector)h
-(isn't)e(big)h(enough)f(to)h(store)g(the)g(result,)390
-5322 y(and)k(in)g(this)g(case)i Fk(len)d Fr(will)i(con)m(tain)g(the)g
-(n)m(um)m(b)s(er)e(of)i(b)m(ytes)f(needed.)p eop end
+5340 y(the)31 b(structure)e(actually)j(used.)p eop end
%%Page: 15 18
-TeXDict begin 15 17 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(15)150 299 y Fj(asn1)p
-396 299 37 5 v 55 w(read)p 685 299 V 54 w(tag)3350 494
-y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_read_tag)d
-Fh(\()p Fg(asn1)p 1303 494 28 4 v 40 w(no)s(de)30 b Ff(root)p
-Fg(,)i(const)f(c)m(har)f(*)h Ff(name)p Fg(,)h(in)m(t)f(*)565
-604 y Ff(tagValue)p Fg(,)i(in)m(t)e(*)g Ff(classValue)p
-Fh(\))390 714 y Fg(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)30
-b(to)i(a)e(structure)390 847 y Fg(name)5 b Fr(:)41 b(the)30
-b(name)h(of)f(the)h(elemen)m(t)h(inside)e(a)h(structure.)390
-981 y Fg(tagV)-8 b(alue)5 b Fr(:)43 b(v)-5 b(ariable)31
-b(that)g(will)g(con)m(tain)h(the)e(T)-8 b(A)m(G)32 b(v)-5
-b(alue.)390 1115 y Fg(classV)d(alue)5 b Fr(:)43 b(v)-5
-b(ariable)31 b(that)g(will)g(sp)s(ecify)f(the)g(T)-8
-b(A)m(G)32 b(t)m(yp)s(e.)390 1249 y(Returns)40 b(the)h(T)-8
+TeXDict begin 15 17 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(15)390 299 y Fe(Returns:)64
+b Fl(ASN1_SUCCESS)38 b Fs(if)k(v)-5 b(alue)42 b(is)g(returned,)i
+Fl(ASN1_ELEMENT_NOT_FOUND)36 b Fs(if)42 b Fl(name)f Fs(is)390
+408 y(not)33 b(a)g(v)-5 b(alid)34 b(elemen)m(t,)h Fl
+(ASN1_VALUE_NOT_FOUND)27 b Fs(if)33 b(there)g(isn't)g(an)m(y)g(v)-5
+b(alue)34 b(for)e(the)h(elemen)m(t)390 518 y(selected,)28
+b(and)d Fl(ASN1_MEM_ERROR)c Fs(if)26 b(The)f(v)-5 b(alue)26
+b(v)m(ector)h(isn't)e(big)h(enough)f(to)h(store)g(the)g(result,)390
+628 y(and)32 b(in)g(this)h(case)g Fl(len)f Fs(will)h(con)m(tain)h(the)f
+(n)m(um)m(b)s(er)e(of)i(b)m(ytes)g(needed.)47 b(On)32
+b(the)g(o)s(ccasion)i(that)390 737 y(the)28 b(stored)g(data)h(are)f(of)
+h(zero-length)g(this)f(function)g(ma)m(y)g(return)f Fl(ASN1_SUCCESS)e
+Fs(ev)m(en)k(if)f(the)390 847 y(pro)m(vided)i Fl(len)f
+Fs(is)i(zero.)150 1051 y Fk(asn1)p 396 1051 37 5 v 55
+w(read)p 685 1051 V 54 w(tag)3350 1253 y Fs([F)-8 b(unction])-3599
+b Fj(int)53 b(asn1_read_tag)d Fi(\()p Fh(asn1)p 1321
+1253 30 5 v 44 w(no)s(de)34 b Fg(root)p Fh(,)g(const)g(c)m(har)g(*)f
+Fg(name)p Fh(,)h(in)m(t)f(*)565 1362 y Fg(tagValue)p
+Fh(,)i(in)m(t)f(*)f Fg(classValue)p Fi(\))390 1472 y
+Ff(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)30 b(to)i(a)e(structure)390
+1612 y Ff(name)5 b Fs(:)41 b(the)30 b(name)h(of)f(the)h(elemen)m(t)h
+(inside)e(a)h(structure.)390 1751 y Ff(tagV)-8 b(alue)5
+b Fs(:)43 b(v)-5 b(ariable)31 b(that)g(will)g(con)m(tain)h(the)e(T)-8
+b(A)m(G)32 b(v)-5 b(alue.)390 1891 y Ff(classV)d(alue)5
+b Fs(:)43 b(v)-5 b(ariable)31 b(that)g(will)g(sp)s(ecify)f(the)g(T)-8
+b(A)m(G)32 b(t)m(yp)s(e.)390 2030 y(Returns)40 b(the)h(T)-8
b(A)m(G)41 b(and)f(the)h(CLASS)e(of)i(one)g(elemen)m(t)h(inside)e(a)h
-(structure.)71 b(CLASS)40 b(can)390 1359 y(ha)m(v)m(e)e(one)g(of)f
-(these)h(constan)m(ts:)56 b Fk(ASN1_CLASS_APPLICATION)31
-b Fr(,)39 b Fk(ASN1_CLASS_UNIVERSAL)32 b Fr(,)390 1468
-y Fk(ASN1_CLASS_PRIVATE)25 b Fr(or)31 b Fk(ASN1_CLASS_CONTEXT_SPEC)o
-(IFIC)24 b Fr(.)390 1602 y Fe(Returns:)37 b Fk(ASN1_SUCCESS)21
-b Fr(if)k(successful,)g Fk(ASN1_ELEMENT_NOT_FOUND)18
-b Fr(if)25 b Fk(name)e Fr(is)h(not)h(a)g(v)-5 b(alid)390
-1712 y(elemen)m(t.)150 1910 y Fj(asn1)p 396 1910 37 5
-v 55 w(read)p 685 1910 V 54 w(no)s(de)p 995 1910 V 55
-w(v)e(alue)3350 2105 y Fr([F)f(unction])-3599 b Fi(int)53
-b(asn1_read_node_value)f Fh(\()p Fg(asn1)p 1669 2105
-28 4 v 40 w(no)s(de)30 b Ff(node)p Fg(,)i(asn1)p 2371
-2105 V 40 w(data)p 2587 2105 V 41 w(no)s(de)p 2818 2105
-V 39 w(st)f(*)565 2215 y Ff(data)p Fh(\))390 2324 y Fg(no)s(de)5
-b Fr(:)40 b(p)s(oin)m(ter)31 b(to)g(a)f(no)s(de.)390
-2458 y Fg(data)p Fr(:)41 b(a)31 b(p)s(oin)m(t)g(to)g(a)f(asn1)p
-1315 2458 V 41 w(data)p 1532 2458 V 40 w(no)s(de)p 1762
-2458 V 40 w(st)390 2592 y(Returns)22 b(the)g(v)-5 b(alue)23
-b(a)g(data)h(no)s(de)d(inside)i(a)g(asn1)p 2084 2592
-V 40 w(no)s(de)f(structure.)37 b(The)22 b(data)i(returned)d(should)390
-2702 y(b)s(e)30 b(handled)f(as)i(constan)m(t)g(v)-5 b(alues.)390
-2836 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27 b Fr(if)k(the)f(no)s(de)g
-(exists.)150 3067 y Fq(4.3)68 b(DER)46 b(functions)150
-3290 y Fj(asn1)p 396 3290 37 5 v 55 w(length)p 786 3290
-V 54 w(der)3350 3486 y Fr([F)-8 b(unction])-3599 b Fi(void)54
-b(asn1_length_der)c Fh(\()p Fg(unsigned)29 b(long)i(in)m(t)g
-Ff(len)p Fg(,)g(unsigned)f(c)m(har)h(*)f Ff(der)p Fg(,)i(in)m(t)565
-3595 y(*)f Ff(der_len)p Fh(\))390 3705 y Fg(len)p Fr(:)41
-b(v)-5 b(alue)31 b(to)g(con)m(v)m(ert.)390 3839 y Fg(der)7
-b Fr(:)40 b(bu\013er)29 b(to)i(hold)f(the)h(returned)e(enco)s(ding)h
-(\(ma)m(y)i(b)s(e)d Fk(NULL)h Fr(\).)390 3973 y Fg(der)p
-523 3973 28 4 v 40 w(len)p Fr(:)40 b(n)m(um)m(b)s(er)29
-b(of)i(meaningful)f(b)m(ytes)h(of)g(ANS)f(\(der[0]..der[der)p
-2791 3973 V 40 w(len-1]\).)390 4107 y(Creates)35 b(the)f(DER)h(enco)s
-(ding)f(of)g(the)g(pro)m(vided)g(length)h(v)-5 b(alue.)52
-b(The)34 b Fk(der)f Fr(bu\013er)h(m)m(ust)g(ha)m(v)m(e)390
-4216 y(enough)27 b(ro)s(om)f(for)h(the)g(output.)40 b(The)26
-b(maxim)m(um)h(length)g(this)g(function)g(will)g(enco)s(de)g(is)g
-Fk(ASN1_)390 4326 y(MAX_LENGTH_SIZE)f Fr(.)390 4460 y(T)-8
-b(o)31 b(kno)m(w)f(the)h(size)g(of)g(the)f(DER)h(enco)s(ding)f(use)g(a)
-h Fk(NULL)e Fr(v)-5 b(alue)31 b(for)f Fk(der)f Fr(.)150
-4658 y Fj(asn1)p 396 4658 37 5 v 55 w(o)s(ctet)p 722
-4658 V 53 w(der)3350 4853 y Fr([F)-8 b(unction])-3599
-b Fi(void)54 b(asn1_octet_der)49 b Fh(\()p Fg(const)31
-b(unsigned)f(c)m(har)g(*)h Ff(str)p Fg(,)h(in)m(t)f Ff(str_len)p
-Fg(,)565 4963 y(unsigned)e(c)m(har)i(*)g Ff(der)p Fg(,)g(in)m(t)g(*)g
-Ff(der_len)p Fh(\))390 5072 y Fg(str)7 b Fr(:)40 b(the)31
-b(input)e(data.)390 5206 y Fg(str)p 503 5206 28 4 v 40
-w(len)p Fr(:)41 b(STR)29 b(length)i(\(str[0]..str[*str)p
-1787 5206 V 42 w(len-1]\).)390 5340 y Fg(der)7 b Fr(:)40
-b(enco)s(ded)30 b(string)g(returned.)p eop end
+(structure.)71 b(CLASS)40 b(can)390 2140 y(ha)m(v)m(e)e(one)g(of)f
+(these)h(constan)m(ts:)56 b Fl(ASN1_CLASS_APPLICATION)31
+b Fs(,)39 b Fl(ASN1_CLASS_UNIVERSAL)32 b Fs(,)390 2249
+y Fl(ASN1_CLASS_PRIVATE)25 b Fs(or)31 b Fl(ASN1_CLASS_CONTEXT_SPEC)o
+(IFIC)24 b Fs(.)390 2389 y Fe(Returns:)37 b Fl(ASN1_SUCCESS)21
+b Fs(if)k(successful,)g Fl(ASN1_ELEMENT_NOT_FOUND)18
+b Fs(if)25 b Fl(name)e Fs(is)h(not)h(a)g(v)-5 b(alid)390
+2498 y(elemen)m(t.)150 2703 y Fk(asn1)p 396 2703 37 5
+v 55 w(read)p 685 2703 V 54 w(no)s(de)p 995 2703 V 55
+w(v)e(alue)3350 2904 y Fs([F)f(unction])-3599 b Fj(int)53
+b(asn1_read_node_value)f Fi(\()p Fh(asn1)p 1687 2904
+30 5 v 44 w(no)s(de)34 b Fg(node)p Fh(,)g(asn1)p 2436
+2904 V 44 w(data)p 2674 2904 V 44 w(no)s(de)p 2925 2904
+V 44 w(st)f(*)565 3014 y Fg(data)p Fi(\))390 3124 y Ff(no)s(de)5
+b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(a)f(no)s(de.)390
+3263 y Ff(data)p Fs(:)41 b(a)31 b(p)s(oin)m(t)g(to)g(a)f(asn1)p
+1315 3263 28 4 v 41 w(data)p 1532 3263 V 40 w(no)s(de)p
+1762 3263 V 40 w(st)390 3403 y(Returns)22 b(the)g(v)-5
+b(alue)23 b(a)g(data)h(no)s(de)d(inside)i(a)g(asn1)p
+2084 3403 V 40 w(no)s(de)f(structure.)37 b(The)22 b(data)i(returned)d
+(should)390 3512 y(b)s(e)30 b(handled)f(as)i(constan)m(t)g(v)-5
+b(alues.)390 3652 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27
+b Fs(if)k(the)f(no)s(de)g(exists.)150 3900 y Fr(4.3)68
+b(DER)46 b(functions)150 4124 y Fk(asn1)p 396 4124 37
+5 v 55 w(length)p 786 4124 V 54 w(der)3350 4326 y Fs([F)-8
+b(unction])-3599 b Fj(void)54 b(asn1_length_der)c Fi(\()p
+Fh(unsigned)35 b(long)d(in)m(t)i Fg(len)p Fh(,)f(unsigned)i(c)m(har)f
+(*)f Fg(der)p Fh(,)565 4435 y(in)m(t)g(*)g Fg(der_len)p
+Fi(\))390 4545 y Ff(len)p Fs(:)41 b(v)-5 b(alue)31 b(to)g(con)m(v)m
+(ert.)390 4685 y Ff(der)7 b Fs(:)40 b(bu\013er)29 b(to)i(hold)f(the)h
+(returned)e(enco)s(ding)h(\(ma)m(y)i(b)s(e)d Fl(NULL)h
+Fs(\).)390 4824 y Ff(der)p 523 4824 28 4 v 40 w(len)p
+Fs(:)40 b(n)m(um)m(b)s(er)29 b(of)i(meaningful)f(b)m(ytes)h(of)g(ANS)f
+(\(der[0]..der[der)p 2791 4824 V 40 w(len-1]\).)390 4964
+y(Creates)35 b(the)f(DER)h(enco)s(ding)f(of)g(the)g(pro)m(vided)g
+(length)h(v)-5 b(alue.)52 b(The)34 b Fl(der)f Fs(bu\013er)h(m)m(ust)g
+(ha)m(v)m(e)390 5073 y(enough)27 b(ro)s(om)f(for)h(the)g(output.)40
+b(The)26 b(maxim)m(um)h(length)g(this)g(function)g(will)g(enco)s(de)g
+(is)g Fl(ASN1_)390 5183 y(MAX_LENGTH_SIZE)f Fs(.)390
+5322 y(T)-8 b(o)31 b(kno)m(w)f(the)h(size)g(of)g(the)f(DER)h(enco)s
+(ding)f(use)g(a)h Fl(NULL)e Fs(v)-5 b(alue)31 b(for)f
+Fl(der)f Fs(.)p eop end
%%Page: 16 19
-TeXDict begin 16 18 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(16)390 299 y Fg(der)p
-523 299 28 4 v 40 w(len)p Fr(:)40 b(n)m(um)m(b)s(er)29
+TeXDict begin 16 18 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(16)150 299 y Fk(asn1)p
+396 299 37 5 v 55 w(o)s(ctet)p 722 299 V 53 w(der)3350
+500 y Fs([F)-8 b(unction])-3599 b Fj(void)54 b(asn1_octet_der)49
+b Fi(\()p Fh(const)34 b(unsigned)h(c)m(har)f(*)f Fg(str)p
+Fh(,)h(in)m(t)f Fg(str_len)p Fh(,)565 609 y(unsigned)i(c)m(har)f(*)f
+Fg(der)p Fh(,)g(in)m(t)h(*)f Fg(der_len)p Fi(\))390 719
+y Ff(str)7 b Fs(:)40 b(the)31 b(input)e(data.)390 858
+y Ff(str)p 503 858 28 4 v 40 w(len)p Fs(:)41 b(STR)29
+b(length)i(\(str[0]..str[*str)p 1787 858 V 42 w(len-1]\).)390
+996 y Ff(der)7 b Fs(:)40 b(enco)s(ded)30 b(string)g(returned.)390
+1135 y Ff(der)p 523 1135 V 40 w(len)p Fs(:)40 b(n)m(um)m(b)s(er)29
b(of)i(meaningful)f(b)m(ytes)h(of)g(DER)f(\(der[0]..der[der)p
-2802 299 V 41 w(len-1]\).)390 436 y(Creates)j(a)f(length-v)-5
+2802 1135 V 41 w(len-1]\).)390 1274 y(Creates)j(a)f(length-v)-5
b(alue)34 b(DER)e(enco)s(ding)g(for)g(the)g(input)f(data.)47
-b(The)31 b(DER)h(enco)s(ding)g(of)h(the)390 546 y(input)c(data)i(will)g
-(b)s(e)f(placed)h(in)f(the)g Fk(der)g Fr(v)-5 b(ariable.)390
-683 y(Note)32 b(that)f(the)f(OCTET)f(STRING)h(tag)h(is)g(not)f
-(included)g(in)g(the)h(output.)390 820 y(This)41 b(function)g(do)s(es)g
-(not)h(return)e(an)m(y)i(v)-5 b(alue)42 b(b)s(ecause)f(it)i(is)e(exp)s
-(ected)h(that)g Fk(der_len)e Fr(will)390 929 y(con)m(tain)30
+b(The)31 b(DER)h(enco)s(ding)g(of)h(the)390 1384 y(input)c(data)i(will)
+g(b)s(e)f(placed)h(in)f(the)g Fl(der)g Fs(v)-5 b(ariable.)390
+1522 y(Note)32 b(that)f(the)f(OCTET)f(STRING)h(tag)h(is)g(not)f
+(included)g(in)g(the)h(output.)390 1661 y(This)41 b(function)g(do)s(es)
+g(not)h(return)e(an)m(y)i(v)-5 b(alue)42 b(b)s(ecause)f(it)i(is)e(exp)s
+(ected)h(that)g Fl(der_len)e Fs(will)390 1771 y(con)m(tain)30
b(enough)e(b)m(ytes)i(to)f(store)g(the)g(string)g(plus)e(the)i(DER)g
-(enco)s(ding.)40 b(The)28 b(DER)h(enco)s(ding)390 1039
-y(size)i(can)g(b)s(e)f(obtained)g(using)g Fk(asn1_length_der\(\))c
-Fr(.)150 1241 y Fj(asn1)p 396 1241 37 5 v 55 w(enco)s(de)p
-818 1241 V 54 w(simple)p 1214 1241 V 55 w(der)3350 1440
-y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_encode_simple_de)q(r)e
-Fh(\()p Fg(unsigned)30 b(in)m(t)h Ff(etype)p Fg(,)h(const)f(unsigned)
-565 1550 y(c)m(har)g(*)f Ff(str)p Fg(,)i(unsigned)d(in)m(t)i
-Ff(str_len)p Fg(,)h(unsigned)e(c)m(har)g(*)h Ff(tl)p
-Fg(,)g(unsigned)e(in)m(t)i(*)g Ff(tl_len)p Fh(\))390
-1659 y Fg(et)m(yp)s(e)5 b Fr(:)41 b(The)30 b(t)m(yp)s(e)h(of)f(the)h
-(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p 2444 1659
-28 4 v 41 w(ETYPE)p 2805 1659 V 39 w(\))390 1796 y Fg(str)7
-b Fr(:)40 b(the)31 b(string)f(data.)390 1934 y Fg(str)p
-503 1934 V 40 w(len)p Fr(:)41 b(the)30 b(string)h(length)390
-2071 y Fg(tl)t Fr(:)41 b(the)30 b(enco)s(ded)g(tag)i(and)e(length)390
-2208 y Fg(tl)p 456 2208 V 41 w(len)p Fr(:)40 b(the)31
-b(b)m(ytes)g(of)f(the)h Fk(tl)f Fr(\014eld)390 2345 y(Creates)j(the)g
+(enco)s(ding.)40 b(The)28 b(DER)h(enco)s(ding)390 1880
+y(size)i(can)g(b)s(e)f(obtained)g(using)g Fl(asn1_length_der\(\))c
+Fs(.)150 2084 y Fk(asn1)p 396 2084 37 5 v 55 w(enco)s(de)p
+818 2084 V 54 w(simple)p 1214 2084 V 55 w(der)3350 2285
+y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_encode_simple_de)q(r)e
+Fi(\()p Fh(unsigned)35 b(in)m(t)f Fg(etype)p Fh(,)g(const)g(unsigned)
+565 2394 y(c)m(har)g(*)f Fg(str)p Fh(,)h(unsigned)g(in)m(t)g
+Fg(str_len)p Fh(,)h(unsigned)f(c)m(har)g(*)f Fg(tl)p
+Fh(,)h(unsigned)g(in)m(t)g(*)565 2504 y Fg(tl_len)p Fi(\))390
+2613 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30 b(t)m(yp)s(e)h(of)f(the)h
+(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p 2444 2613
+28 4 v 41 w(ETYPE)p 2805 2613 V 39 w(\))390 2752 y Ff(str)7
+b Fs(:)40 b(the)31 b(string)f(data.)390 2891 y Ff(str)p
+503 2891 V 40 w(len)p Fs(:)41 b(the)30 b(string)h(length)390
+3030 y Ff(tl)t Fs(:)41 b(the)30 b(enco)s(ded)g(tag)i(and)e(length)390
+3168 y Ff(tl)p 456 3168 V 41 w(len)p Fs(:)40 b(the)31
+b(b)m(ytes)g(of)f(the)h Fl(tl)f Fs(\014eld)390 3307 y(Creates)j(the)g
(DER)g(enco)s(ding)f(for)h(v)-5 b(arious)32 b(simple)h(ASN.1)g(t)m(yp)s
(es)f(lik)m(e)i(strings)e(etc.)49 b(It)32 b(stores)390
-2454 y(the)k(tag)h(and)e(length)h(in)g Fk(tl)f Fr(,)i(whic)m(h)f
-(should)f(ha)m(v)m(e)i(space)f(for)g(at)g(least)h Fk(ASN1_MAX_TL_SIZE)
-390 2564 y Fr(b)m(ytes.)k(Initially)32 b Fk(tl_len)c
-Fr(should)i(con)m(tain)h(the)g(size)g(of)g Fk(tl)e Fr(.)390
-2701 y(The)39 b(complete)i(DER)f(enco)s(ding)g(should)e(consist)i(of)g
-(the)g(v)-5 b(alue)40 b(in)g Fk(tl)f Fr(app)s(ended)e(with)j(the)390
-2811 y(pro)m(vided)30 b Fk(str)f Fr(.)390 2948 y Fe(Returns:)40
-b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful)f(or)g(an)g(error)g(v)-5
-b(alue.)150 3150 y Fj(asn1)p 396 3150 37 5 v 55 w(bit)p
-601 3150 V 54 w(der)3350 3349 y Fr([F)d(unction])-3599
-b Fi(void)54 b(asn1_bit_der)49 b Fh(\()p Fg(const)31
-b(unsigned)e(c)m(har)i(*)g Ff(str)p Fg(,)g(in)m(t)g Ff(bit_len)p
-Fg(,)i(unsigned)565 3459 y(c)m(har)e(*)g Ff(der)p Fg(,)g(in)m(t)g(*)g
-Ff(der_len)p Fh(\))390 3568 y Fg(str)7 b Fr(:)40 b(BIT)30
-b(string.)390 3705 y Fg(bit)p 507 3705 28 4 v 40 w(len)p
-Fr(:)41 b(n)m(um)m(b)s(er)29 b(of)i(meaningful)f(bits)g(in)g(STR.)390
-3842 y Fg(der)7 b Fr(:)40 b(string)30 b(returned.)390
-3980 y Fg(der)p 523 3980 V 40 w(len)p Fr(:)40 b(n)m(um)m(b)s(er)29
+3417 y(the)k(tag)h(and)e(length)h(in)g Fl(tl)f Fs(,)i(whic)m(h)f
+(should)f(ha)m(v)m(e)i(space)f(for)g(at)g(least)h Fl(ASN1_MAX_TL_SIZE)
+390 3526 y Fs(b)m(ytes.)k(Initially)32 b Fl(tl_len)c
+Fs(should)i(con)m(tain)h(the)g(size)g(of)g Fl(tl)e Fs(.)390
+3665 y(The)39 b(complete)i(DER)f(enco)s(ding)g(should)e(consist)i(of)g
+(the)g(v)-5 b(alue)40 b(in)g Fl(tl)f Fs(app)s(ended)e(with)j(the)390
+3774 y(pro)m(vided)30 b Fl(str)f Fs(.)390 3913 y Fe(Returns:)40
+b Fl(ASN1_SUCCESS)27 b Fs(if)k(successful)f(or)g(an)g(error)g(v)-5
+b(alue.)150 4117 y Fk(asn1)p 396 4117 37 5 v 55 w(bit)p
+601 4117 V 54 w(der)3350 4318 y Fs([F)d(unction])-3599
+b Fj(void)54 b(asn1_bit_der)49 b Fi(\()p Fh(const)34
+b(unsigned)g(c)m(har)g(*)f Fg(str)p Fh(,)h(in)m(t)f Fg(bit_len)p
+Fh(,)565 4427 y(unsigned)i(c)m(har)f(*)f Fg(der)p Fh(,)g(in)m(t)h(*)f
+Fg(der_len)p Fi(\))390 4537 y Ff(str)7 b Fs(:)40 b(BIT)30
+b(string.)390 4676 y Ff(bit)p 507 4676 28 4 v 40 w(len)p
+Fs(:)41 b(n)m(um)m(b)s(er)29 b(of)i(meaningful)f(bits)g(in)g(STR.)390
+4814 y Ff(der)7 b Fs(:)40 b(string)30 b(returned.)390
+4953 y Ff(der)p 523 4953 V 40 w(len)p Fs(:)40 b(n)m(um)m(b)s(er)29
b(of)i(meaningful)f(b)m(ytes)h(of)g(DER)f(\(der[0]..der[ans)p
-2807 3980 V 41 w(len-1]\).)390 4117 y(Creates)i(a)f(length-v)-5
+2807 4953 V 41 w(len-1]\).)390 5092 y(Creates)i(a)f(length-v)-5
b(alue)33 b(DER)e(enco)s(ding)g(for)g(the)g(input)f(data)i(as)f(it)h(w)
-m(ould)f(ha)m(v)m(e)h(b)s(een)f(for)g(a)390 4226 y(BIT)f(STRING.)g(The)
+m(ould)f(ha)m(v)m(e)h(b)s(een)f(for)g(a)390 5201 y(BIT)f(STRING.)g(The)
g(DER)h(enco)s(ded)f(data)h(will)f(b)s(e)g(copied)h(in)f
-Fk(der)f Fr(.)390 4363 y(Note)j(that)f(the)f(BIT)g(STRING)g(tag)i(is)e
-(not)h(included)e(in)h(the)h(output.)390 4500 y(This)41
-b(function)g(do)s(es)g(not)h(return)e(an)m(y)i(v)-5 b(alue)42
-b(b)s(ecause)f(it)i(is)e(exp)s(ected)h(that)g Fk(der_len)e
-Fr(will)390 4610 y(con)m(tain)30 b(enough)e(b)m(ytes)i(to)f(store)g
-(the)g(string)g(plus)e(the)i(DER)g(enco)s(ding.)40 b(The)28
-b(DER)h(enco)s(ding)390 4720 y(size)i(can)g(b)s(e)f(obtained)g(using)g
-Fk(asn1_length_der\(\))c Fr(.)150 4921 y Fj(asn1)p 396
-4921 37 5 v 55 w(der)p 625 4921 V 54 w(co)s(ding)3350
-5121 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_coding)d
-Fh(\()p Fg(asn1)p 1407 5121 28 4 v 41 w(no)s(de)30 b
-Ff(element)p Fg(,)i(const)f(c)m(har)g(*)g Ff(name)p Fg(,)g(v)m(oid)g(*)
-565 5230 y Ff(ider)p Fg(,)h(in)m(t)f(*)g Ff(len)p Fg(,)g(c)m(har)g(*)f
-Ff(ErrorDescription)p Fh(\))390 5340 y Fg(elemen)m(t)r
-Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(elemen)m(t)p
-eop end
+Fl(der)f Fs(.)390 5340 y(Note)j(that)f(the)f(BIT)g(STRING)g(tag)i(is)e
+(not)h(included)e(in)h(the)h(output.)p eop end
%%Page: 17 20
-TeXDict begin 17 19 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(17)390 299 y Fg(name)5
-b Fr(:)39 b(the)27 b(name)h(of)f(the)g(structure)g(y)m(ou)g(w)m(an)m(t)
-h(to)g(enco)s(de)f(\(it)h(m)m(ust)f(b)s(e)f(inside)h(*POINTER\).)390
-440 y Fg(ider)7 b Fr(:)39 b(v)m(ector)30 b(that)f(will)f(con)m(tain)i
-(the)e(DER)h(enco)s(ding.)40 b(DER)28 b(m)m(ust)g(b)s(e)g(a)h(p)s(oin)m
-(ter)f(to)h(memory)390 549 y(cells)i(already)g(allo)s(cated.)390
-690 y Fg(len)p Fr(:)49 b(n)m(um)m(b)s(er)33 b(of)h(b)m(ytes)h(of)g(*)g
-Fk(ider)e Fr(:)48 b Fk(ider)34 b Fr([0]..)54 b Fk(ider)33
-b Fr([len-1],)k(Initialy)e(holds)f(the)g(sizeof)i(of)390
-799 y(der)30 b(v)m(ector.)390 940 y Fg(ErrorDescription)p
-Fr(:)41 b(return)29 b(the)i(error)f(description)g(or)g(an)h(empt)m(y)f
-(string)h(if)f(success.)390 1081 y(Creates)h(the)g(DER)f(enco)s(ding)g
+TeXDict begin 17 19 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(17)390 299 y(This)41
+b(function)g(do)s(es)g(not)h(return)e(an)m(y)i(v)-5 b(alue)42
+b(b)s(ecause)f(it)i(is)e(exp)s(ected)h(that)g Fl(der_len)e
+Fs(will)390 408 y(con)m(tain)30 b(enough)e(b)m(ytes)i(to)f(store)g(the)
+g(string)g(plus)e(the)i(DER)g(enco)s(ding.)40 b(The)28
+b(DER)h(enco)s(ding)390 518 y(size)i(can)g(b)s(e)f(obtained)g(using)g
+Fl(asn1_length_der\(\))c Fs(.)150 719 y Fk(asn1)p 396
+719 37 5 v 55 w(der)p 625 719 V 54 w(co)s(ding)3350 918
+y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_coding)d
+Fi(\()p Fh(asn1)p 1425 918 30 5 v 45 w(no)s(de)33 b Fg(element)p
+Fh(,)i(const)f(c)m(har)g(*)f Fg(name)p Fh(,)h(v)m(oid)565
+1027 y(*)f Fg(ider)p Fh(,)h(in)m(t)f(*)g Fg(len)p Fh(,)h(c)m(har)g(*)f
+Fg(ErrorDescription)p Fi(\))390 1137 y Ff(elemen)m(t)r
+Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(elemen)m(t)390
+1273 y Ff(name)5 b Fs(:)39 b(the)27 b(name)h(of)f(the)g(structure)g(y)m
+(ou)g(w)m(an)m(t)h(to)g(enco)s(de)f(\(it)h(m)m(ust)f(b)s(e)f(inside)h
+(*POINTER\).)390 1409 y Ff(ider)7 b Fs(:)39 b(v)m(ector)30
+b(that)f(will)f(con)m(tain)i(the)e(DER)h(enco)s(ding.)40
+b(DER)28 b(m)m(ust)g(b)s(e)g(a)h(p)s(oin)m(ter)f(to)h(memory)390
+1519 y(cells)i(already)g(allo)s(cated.)390 1655 y Ff(len)p
+Fs(:)49 b(n)m(um)m(b)s(er)33 b(of)h(b)m(ytes)h(of)g(*)g
+Fl(ider)e Fs(:)48 b Fl(ider)34 b Fs([0]..)54 b Fl(ider)33
+b Fs([len-1],)k(Initialy)e(holds)f(the)g(sizeof)i(of)390
+1765 y(der)30 b(v)m(ector.)390 1901 y Ff(ErrorDescription)p
+Fs(:)41 b(return)29 b(the)i(error)f(description)g(or)g(an)h(empt)m(y)f
+(string)h(if)f(success.)390 2038 y(Creates)h(the)g(DER)f(enco)s(ding)g
(for)h(the)f(NAME)h(structure)f(\(inside)g(*POINTER)g(structure\).)390
-1221 y Fe(Returns:)47 b Fk(ASN1_SUCCESS)30 b Fr(if)k(DER)g(enco)s(ding)
-f(OK,)g Fk(ASN1_ELEMENT_NOT_FOUND)28 b Fr(if)33 b Fk(name)g
-Fr(is)390 1331 y(not)h(a)g(v)-5 b(alid)35 b(elemen)m(t,)h
-Fk(ASN1_VALUE_NOT_FOUND)29 b Fr(if)34 b(there)g(is)g(an)g(elemen)m(t)h
-(without)f(a)g(v)-5 b(alue,)390 1441 y Fk(ASN1_MEM_ERROR)24
-b Fr(if)29 b(the)f Fk(ider)g Fr(v)m(ector)i(isn't)e(big)h(enough)f(and)
-g(in)g(this)g(case)h Fk(len)f Fr(will)h(con)m(tain)390
-1550 y(the)i(length)f(needed.)150 1756 y Fj(asn1)p 396
-1756 37 5 v 55 w(get)p 616 1756 V 54 w(length)p 1005
-1756 V 54 w(der)3350 1959 y Fr([F)-8 b(unction])-3599
-b Fi(long)54 b(asn1_get_length_der)d Fh(\()p Fg(const)31
-b(unsigned)e(c)m(har)i(*)g Ff(der)p Fg(,)g(in)m(t)g Ff(der_len)p
-Fg(,)565 2068 y(in)m(t)g(*)g Ff(len)p Fh(\))390 2178
-y Fg(der)7 b Fr(:)40 b(DER)30 b(data)h(to)g(deco)s(de.)390
-2318 y Fg(der)p 523 2318 28 4 v 40 w(len)p Fr(:)40 b(Length)31
-b(of)f(DER)h(data)g(to)g(deco)s(de.)390 2459 y Fg(len)p
-Fr(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length)
-f(of)h(the)g(DER)f(length)h(\014eld.)390 2600 y(Extract)g(a)g(length)g
-(\014eld)f(from)g(DER)g(data.)390 2740 y Fe(Returns:)40
-b Fr(Return)29 b(the)h(deco)s(ded)f(length)h(v)-5 b(alue,)30
+2174 y Fe(Returns:)47 b Fl(ASN1_SUCCESS)30 b Fs(if)k(DER)g(enco)s(ding)
+f(OK,)g Fl(ASN1_ELEMENT_NOT_FOUND)28 b Fs(if)33 b Fl(name)g
+Fs(is)390 2283 y(not)h(a)g(v)-5 b(alid)35 b(elemen)m(t,)h
+Fl(ASN1_VALUE_NOT_FOUND)29 b Fs(if)34 b(there)g(is)g(an)g(elemen)m(t)h
+(without)f(a)g(v)-5 b(alue,)390 2393 y Fl(ASN1_MEM_ERROR)24
+b Fs(if)29 b(the)f Fl(ider)g Fs(v)m(ector)i(isn't)e(big)h(enough)f(and)
+g(in)g(this)g(case)h Fl(len)f Fs(will)h(con)m(tain)390
+2503 y(the)i(length)f(needed.)150 2704 y Fk(asn1)p 396
+2704 37 5 v 55 w(get)p 616 2704 V 54 w(length)p 1005
+2704 V 54 w(der)3350 2902 y Fs([F)-8 b(unction])-3599
+b Fj(long)54 b(asn1_get_length_der)d Fi(\()p Fh(const)34
+b(unsigned)g(c)m(har)g(*)f Fg(der)p Fh(,)h(in)m(t)565
+3012 y Fg(der_len)p Fh(,)h(in)m(t)e(*)g Fg(len)p Fi(\))390
+3121 y Ff(der)7 b Fs(:)40 b(DER)30 b(data)h(to)g(deco)s(de.)390
+3258 y Ff(der)p 523 3258 28 4 v 40 w(len)p Fs(:)40 b(Length)31
+b(of)f(DER)h(data)g(to)g(deco)s(de.)390 3394 y Ff(len)p
+Fs(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length)
+f(of)h(the)g(DER)f(length)h(\014eld.)390 3530 y(Extract)g(a)g(length)g
+(\014eld)f(from)g(DER)g(data.)390 3667 y Fe(Returns:)40
+b Fs(Return)29 b(the)h(deco)s(ded)f(length)h(v)-5 b(alue,)30
b(or)g(-1)g(on)g(inde\014nite)f(length,)h(or)g(-2)g(when)f(the)390
-2850 y(v)-5 b(alue)30 b(w)m(as)h(to)s(o)f(big)g(to)h(\014t)e(in)h(a)g
+3776 y(v)-5 b(alue)30 b(w)m(as)h(to)s(o)f(big)g(to)h(\014t)e(in)h(a)g
(in)m(t,)h(or)f(-4)g(when)f(the)h(deco)s(ded)g(length)g(v)-5
-b(alue)30 b(plus)f Fk(len)g Fr(w)m(ould)390 2960 y(exceed)i
-Fk(der_len)e Fr(.)150 3165 y Fj(asn1)p 396 3165 37 5
-v 55 w(get)p 616 3165 V 54 w(tag)p 839 3165 V 53 w(der)3350
-3368 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_get_tag_der)e
-Fh(\()p Fg(const)31 b(unsigned)e(c)m(har)i(*)g Ff(der)p
-Fg(,)g(in)m(t)g Ff(der_len)p Fg(,)565 3478 y(unsigned)e(c)m(har)i(*)g
-Ff(cls)p Fg(,)g(in)m(t)g(*)g Ff(len)p Fg(,)g(unsigned)f(long)h(*)g
-Ff(tag)p Fh(\))390 3587 y Fg(der)7 b Fr(:)40 b(DER)30
-b(data)h(to)g(deco)s(de.)390 3728 y Fg(der)p 523 3728
-28 4 v 40 w(len)p Fr(:)40 b(Length)31 b(of)f(DER)h(data)g(to)g(deco)s
-(de.)390 3868 y Fg(cls)t Fr(:)41 b(Output)29 b(v)-5 b(ariable)31
-b(con)m(taining)h(deco)s(ded)e(class.)390 4009 y Fg(len)p
-Fr(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length)
-f(of)h(the)g(DER)f(T)-8 b(A)m(G)31 b(data.)390 4150 y
-Fg(tag)8 b Fr(:)42 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h
-(the)f(deco)s(ded)f(tag.)390 4290 y(Deco)s(de)h(the)g(class)g(and)f(T)
--8 b(A)m(G)31 b(from)f(DER)h(co)s(de.)390 4431 y Fe(Returns:)40
-b Fr(Returns)30 b Fk(ASN1_SUCCESS)d Fr(on)j(success,)h(or)f(an)h
-(error.)150 4637 y Fj(asn1)p 396 4637 37 5 v 55 w(get)p
-616 4637 V 54 w(length)p 1005 4637 V 54 w(b)s(er)3350
-4839 y Fr([F)-8 b(unction])-3599 b Fi(long)54 b(asn1_get_length_ber)d
-Fh(\()p Fg(const)31 b(unsigned)e(c)m(har)i(*)g Ff(ber)p
-Fg(,)g(in)m(t)g Ff(ber_len)p Fg(,)565 4949 y(in)m(t)g(*)g
-Ff(len)p Fh(\))390 5059 y Fg(b)s(er)7 b Fr(:)39 b(BER)31
-b(data)g(to)g(deco)s(de.)390 5199 y Fg(b)s(er)p 526 5199
-28 4 v 39 w(len)p Fr(:)41 b(Length)30 b(of)h(BER)f(data)h(to)g(deco)s
-(de.)390 5340 y Fg(len)p Fr(:)41 b(Output)29 b(v)-5 b(ariable)31
-b(con)m(taining)h(the)f(length)f(of)h(the)g(BER)f(length)h(\014eld.)p
-eop end
+b(alue)30 b(plus)f Fl(len)g Fs(w)m(ould)390 3886 y(exceed)i
+Fl(der_len)e Fs(.)150 4087 y Fk(asn1)p 396 4087 37 5
+v 55 w(get)p 616 4087 V 54 w(tag)p 839 4087 V 53 w(der)3350
+4285 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_get_tag_der)e
+Fi(\()p Fh(const)34 b(unsigned)g(c)m(har)g(*)f Fg(der)p
+Fh(,)h(in)m(t)f Fg(der_len)p Fh(,)565 4395 y(unsigned)i(c)m(har)f(*)f
+Fg(cls)p Fh(,)g(in)m(t)h(*)f Fg(len)p Fh(,)h(unsigned)g(long)f(*)g
+Fg(tag)p Fi(\))390 4505 y Ff(der)7 b Fs(:)40 b(DER)30
+b(data)h(to)g(deco)s(de.)390 4641 y Ff(der)p 523 4641
+28 4 v 40 w(len)p Fs(:)40 b(Length)31 b(of)f(DER)h(data)g(to)g(deco)s
+(de.)390 4777 y Ff(cls)t Fs(:)41 b(Output)29 b(v)-5 b(ariable)31
+b(con)m(taining)h(deco)s(ded)e(class.)390 4913 y Ff(len)p
+Fs(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length)
+f(of)h(the)g(DER)f(T)-8 b(A)m(G)31 b(data.)390 5050 y
+Ff(tag)8 b Fs(:)42 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h
+(the)f(deco)s(ded)f(tag)h(\(ma)m(y)g(b)s(e)f Fl(NULL)f
+Fs(\).)390 5186 y(Deco)s(de)i(the)g(class)g(and)f(T)-8
+b(A)m(G)31 b(from)f(DER)h(co)s(de.)390 5322 y Fe(Returns:)40
+b Fs(Returns)30 b Fl(ASN1_SUCCESS)d Fs(on)j(success,)h(or)f(an)h
+(error.)p eop end
%%Page: 18 21
-TeXDict begin 18 20 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(18)390 299 y(Extract)31
-b(a)g(length)f(\014eld)g(from)g(BER)g(data.)41 b(The)30
-b(di\013erence)h(to)g Fk(asn1_get_length_der\(\))24 b
-Fr(is)390 408 y(that)31 b(this)f(function)g(will)h(return)e(a)i(length)
-g(ev)m(en)g(if)f(the)h(v)-5 b(alue)31 b(has)f(inde\014nite)g(enco)s
-(ding.)390 537 y Fe(Returns:)40 b Fr(Return)27 b(the)i(deco)s(ded)g
-(length)g(v)-5 b(alue,)30 b(or)e(negativ)m(e)j(v)-5 b(alue)29
-b(when)f(the)h(v)-5 b(alue)29 b(w)m(as)g(to)s(o)390 646
-y(big.)390 774 y Fe(Since:)41 b Fr(2.0)150 960 y Fj(asn1)p
-396 960 37 5 v 55 w(get)p 616 960 V 54 w(o)s(ctet)p 941
-960 V 53 w(der)3350 1144 y Fr([F)-8 b(unction])-3599
-b Fi(int)53 b(asn1_get_octet_der)e Fh(\()p Fg(const)31
-b(unsigned)f(c)m(har)g(*)h Ff(der)p Fg(,)h(in)m(t)f Ff(der_len)p
-Fg(,)h(in)m(t)565 1254 y(*)f Ff(ret_len)p Fg(,)i(unsigned)c(c)m(har)i
-(*)f Ff(str)p Fg(,)i(in)m(t)f Ff(str_size)p Fg(,)i(in)m(t)e(*)f
-Ff(str_len)p Fh(\))390 1364 y Fg(der)7 b Fr(:)40 b(DER)30
-b(data)h(to)g(deco)s(de)g(con)m(taining)h(the)e(OCTET)f(SEQUENCE.)390
-1492 y Fg(der)p 523 1492 28 4 v 40 w(len)p Fr(:)40 b(The)30
-b(length)h(of)g(the)f Fk(der)g Fr(data)h(to)g(deco)s(de.)390
-1620 y Fg(ret)p 507 1620 V 40 w(len)p Fr(:)41 b(Output)29
-b(v)-5 b(ariable)32 b(con)m(taining)f(the)g(enco)s(ded)f(length)h(of)f
-(the)h(DER)f(data.)390 1748 y Fg(str)7 b Fr(:)40 b(Pre-allo)s(cated)33
-b(output)d(bu\013er)f(to)i(put)f(deco)s(ded)g(OCTET)f(SEQUENCE)g(in.)
-390 1876 y Fg(str)p 503 1876 V 40 w(size)5 b Fr(:)41
-b(Length)31 b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390
-2004 y Fg(str)p 503 2004 V 40 w(len)p Fr(:)57 b(Output)38
+TeXDict begin 18 20 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(18)150 299 y Fk(asn1)p
+396 299 37 5 v 55 w(get)p 616 299 V 54 w(length)p 1005
+299 V 54 w(b)s(er)3350 513 y Fs([F)-8 b(unction])-3599
+b Fj(long)54 b(asn1_get_length_ber)d Fi(\()p Fh(const)34
+b(unsigned)g(c)m(har)g(*)f Fg(ber)p Fh(,)h(in)m(t)565
+623 y Fg(ber_len)p Fh(,)h(in)m(t)e(*)g Fg(len)p Fi(\))390
+733 y Ff(b)s(er)7 b Fs(:)39 b(BER)31 b(data)g(to)g(deco)s(de.)390
+885 y Ff(b)s(er)p 526 885 28 4 v 39 w(len)p Fs(:)41 b(Length)30
+b(of)h(BER)f(data)h(to)g(deco)s(de.)390 1037 y Ff(len)p
+Fs(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length)
+f(of)h(the)g(BER)f(length)h(\014eld.)390 1189 y(Extract)g(a)g(length)f
+(\014eld)g(from)g(BER)g(data.)41 b(The)30 b(di\013erence)h(to)g
+Fl(asn1_get_length_der\(\))24 b Fs(is)390 1299 y(that)31
+b(this)f(function)g(will)h(return)e(a)i(length)g(ev)m(en)g(if)f(the)h
+(v)-5 b(alue)31 b(has)f(inde\014nite)g(enco)s(ding.)390
+1451 y Fe(Returns:)40 b Fs(Return)27 b(the)i(deco)s(ded)g(length)g(v)-5
+b(alue,)30 b(or)e(negativ)m(e)j(v)-5 b(alue)29 b(when)f(the)h(v)-5
+b(alue)29 b(w)m(as)g(to)s(o)390 1561 y(big.)390 1713
+y Fe(Since:)41 b Fs(2.0)150 1930 y Fk(asn1)p 396 1930
+37 5 v 55 w(get)p 616 1930 V 54 w(o)s(ctet)p 941 1930
+V 53 w(der)3350 2144 y Fs([F)-8 b(unction])-3599 b Fj(int)53
+b(asn1_get_octet_der)e Fi(\()p Fh(const)34 b(unsigned)h(c)m(har)f(*)f
+Fg(der)p Fh(,)h(in)m(t)f Fg(der_len)p Fh(,)565 2254 y(in)m(t)g(*)g
+Fg(ret_len)p Fh(,)i(unsigned)g(c)m(har)f(*)f Fg(str)p
+Fh(,)h(in)m(t)f Fg(str_size)p Fh(,)i(in)m(t)e(*)g Fg(str_len)p
+Fi(\))390 2364 y Ff(der)7 b Fs(:)40 b(DER)30 b(data)h(to)g(deco)s(de)g
+(con)m(taining)h(the)e(OCTET)f(SEQUENCE.)390 2516 y Ff(der)p
+523 2516 28 4 v 40 w(len)p Fs(:)40 b(The)30 b(length)h(of)g(the)f
+Fl(der)g Fs(data)h(to)g(deco)s(de.)390 2668 y Ff(ret)p
+507 2668 V 40 w(len)p Fs(:)41 b(Output)29 b(v)-5 b(ariable)32
+b(con)m(taining)f(the)g(enco)s(ded)f(length)h(of)f(the)h(DER)f(data.)
+390 2820 y Ff(str)7 b Fs(:)40 b(Pre-allo)s(cated)33 b(output)d
+(bu\013er)f(to)i(put)f(deco)s(ded)g(OCTET)f(SEQUENCE)g(in.)390
+2973 y Ff(str)p 503 2973 V 40 w(size)5 b Fs(:)41 b(Length)31
+b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 3125
+y Ff(str)p 503 3125 V 40 w(len)p Fs(:)57 b(Output)38
b(v)-5 b(ariable)40 b(con)m(taining)g(the)f(length)g(of)g(the)g(con)m
-(ten)m(ts)h(of)f(the)g(OCTET)e(SE-)390 2113 y(QUENCE.)390
-2241 y(Extract)g(an)f(OCTET)e(SEQUENCE)h(from)h(DER)g(data.)58
-b(Note)37 b(that)g(this)f(function)g(exp)s(ects)390 2351
+(ten)m(ts)h(of)f(the)g(OCTET)e(SE-)390 3234 y(QUENCE.)390
+3387 y(Extract)g(an)f(OCTET)e(SEQUENCE)h(from)h(DER)g(data.)58
+b(Note)37 b(that)g(this)f(function)g(exp)s(ects)390 3496
y(the)31 b(DER)f(data)h(past)g(the)f(tag)i(\014eld,)e(i.e.,)i(the)e
-(length)h(and)f(con)m(ten)m(t)i(o)s(ctets.)390 2479 y
-Fe(Returns:)40 b Fr(Returns)30 b Fk(ASN1_SUCCESS)d Fr(on)j(success,)h
-(or)f(an)h(error.)150 2665 y Fj(asn1)p 396 2665 37 5
-v 55 w(get)p 616 2665 V 54 w(ob)7 b(ject)p 1002 2665
-V 54 w(id)p 1158 2665 V 54 w(der)3350 2849 y Fr([F)-8
-b(unction])-3599 b Fi(int)53 b(asn1_get_object_id_de)q(r)e
-Fh(\()p Fg(const)32 b(unsigned)d(c)m(har)i(*)f Ff(der)p
-Fg(,)i(in)m(t)565 2959 y Ff(der_len)p Fg(,)h(in)m(t)e(*)f
-Ff(ret_len)p Fg(,)j(c)m(har)e(*)g Ff(str)p Fg(,)g(in)m(t)g
-Ff(str_size)p Fh(\))390 3068 y Fg(der)7 b Fr(:)40 b(DER)30
+(length)h(and)f(con)m(ten)m(t)i(o)s(ctets.)390 3649 y
+Fe(Returns:)40 b Fs(Returns)30 b Fl(ASN1_SUCCESS)d Fs(on)j(success,)h
+(or)f(an)h(error.)150 3866 y Fk(asn1)p 396 3866 37 5
+v 55 w(get)p 616 3866 V 54 w(ob)7 b(ject)p 1002 3866
+V 54 w(id)p 1158 3866 V 54 w(der)3350 4080 y Fs([F)-8
+b(unction])-3599 b Fj(int)53 b(asn1_get_object_id_de)q(r)e
+Fi(\()p Fh(const)34 b(unsigned)h(c)m(har)f(*)f Fg(der)p
+Fh(,)h(in)m(t)565 4190 y Fg(der_len)p Fh(,)h(in)m(t)e(*)g
+Fg(ret_len)p Fh(,)i(c)m(har)f(*)f Fg(str)p Fh(,)h(in)m(t)f
+Fg(str_size)p Fi(\))390 4299 y Ff(der)7 b Fs(:)40 b(DER)30
b(data)h(to)g(deco)s(de)g(con)m(taining)h(the)e(OBJECT)g(IDENTIFIER)390
-3196 y Fg(der)p 523 3196 28 4 v 40 w(len)p Fr(:)40 b(Length)31
-b(of)f(DER)h(data)g(to)g(deco)s(de.)390 3324 y Fg(ret)p
-507 3324 V 40 w(len)p Fr(:)41 b(Output)29 b(v)-5 b(ariable)32
+4451 y Ff(der)p 523 4451 28 4 v 40 w(len)p Fs(:)40 b(Length)31
+b(of)f(DER)h(data)g(to)g(deco)s(de.)390 4604 y Ff(ret)p
+507 4604 V 40 w(len)p Fs(:)41 b(Output)29 b(v)-5 b(ariable)32
b(con)m(taining)f(the)g(length)g(of)f(the)h(DER)f(data.)390
-3452 y Fg(str)7 b Fr(:)40 b(Pre-allo)s(cated)33 b(output)d(bu\013er)f
+4756 y Ff(str)7 b Fs(:)40 b(Pre-allo)s(cated)33 b(output)d(bu\013er)f
(to)i(put)f(the)g(textual)i(ob)5 b(ject)31 b(id)f(in.)390
-3581 y Fg(str)p 503 3581 V 40 w(size)5 b Fr(:)41 b(Length)31
-b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 3709
-y(Con)m(v)m(erts)h(a)g(DER)f(enco)s(ded)g(ob)5 b(ject)32
-b(iden)m(ti\014er)e(to)h(its)g(textual)h(form.)390 3837
-y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27 b Fr(on)k(success,)g(or)f(an)g
-(error.)150 4023 y Fj(asn1)p 396 4023 37 5 v 55 w(get)p
-616 4023 V 54 w(bit)p 820 4023 V 54 w(der)3350 4207 y
-Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_get_bit_der)e
-Fh(\()p Fg(const)31 b(unsigned)e(c)m(har)i(*)g Ff(der)p
-Fg(,)g(in)m(t)g Ff(der_len)p Fg(,)i(in)m(t)d(*)565 4316
-y Ff(ret_len)p Fg(,)j(unsigned)c(c)m(har)i(*)g Ff(str)p
-Fg(,)g(in)m(t)g Ff(str_size)p Fg(,)i(in)m(t)e(*)g Ff(bit_len)p
-Fh(\))390 4426 y Fg(der)7 b Fr(:)40 b(DER)30 b(data)h(to)g(deco)s(de)g
-(con)m(taining)h(the)e(BIT)h(SEQUENCE.)390 4554 y Fg(der)p
-523 4554 28 4 v 40 w(len)p Fr(:)40 b(Length)31 b(of)f(DER)h(data)g(to)g
-(deco)s(de.)390 4682 y Fg(ret)p 507 4682 V 40 w(len)p
-Fr(:)41 b(Output)29 b(v)-5 b(ariable)32 b(con)m(taining)f(the)g(length)
-g(of)f(the)h(DER)f(data.)390 4810 y Fg(str)7 b Fr(:)40
-b(Pre-allo)s(cated)33 b(output)d(bu\013er)f(to)i(put)f(deco)s(ded)g
-(BIT)g(SEQUENCE)f(in.)390 4938 y Fg(str)p 503 4938 V
-40 w(size)5 b Fr(:)41 b(Length)31 b(of)f(pre-allo)s(cated)j(output)d
-(bu\013er.)390 5066 y Fg(bit)p 507 5066 V 40 w(len)p
-Fr(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(size)g
-(of)g(the)f(BIT)g(SEQUENCE.)390 5194 y(Extract)h(a)g(BIT)f(SEQUENCE)f
-(from)h(DER)h(data.)390 5322 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27
-b Fr(on)k(success,)g(or)f(an)g(error.)p eop end
+4908 y Ff(str)p 503 4908 V 40 w(size)5 b Fs(:)41 b(Length)31
+b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 5060
+y(Con)m(v)m(erts)i(a)f(DER)h(enco)s(ded)e(ob)5 b(ject)32
+b(iden)m(ti\014er)f(to)h(its)g(textual)g(form.)42 b(This)31
+b(function)g(exp)s(ects)390 5170 y(the)g(DER)f(ob)5 b(ject)31
+b(iden)m(ti\014er)g(without)f(the)h(tag.)390 5322 y Fe(Returns:)40
+b Fl(ASN1_SUCCESS)27 b Fs(on)k(success,)g(or)f(an)g(error.)p
+eop end
%%Page: 19 22
-TeXDict begin 19 21 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(19)150 299 y Fj(asn1)p
-396 299 37 5 v 55 w(der)p 625 299 V 54 w(deco)s(ding2)3350
-497 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_decoding2)e
-Fh(\()p Fg(asn1)p 1564 497 28 4 v 41 w(no)s(de)29 b(*)i
-Ff(element)p Fg(,)i(const)e(v)m(oid)g(*)f Ff(ider)p Fg(,)i(in)m(t)565
-607 y(*)f Ff(max_ider_len)p Fg(,)j(unsigned)29 b(in)m(t)i
-Ff(flags)p Fg(,)h(c)m(har)f(*)g Ff(errorDescription)p
-Fh(\))390 717 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31
-b(to)g(an)f(ASN1)h(structure.)390 853 y Fg(ider)7 b Fr(:)40
-b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)390
-989 y Fg(max)p 565 989 V 40 w(ider)p 757 989 V 40 w(len)p
-Fr(:)37 b(p)s(oin)m(ter)22 b(to)i(an)e(in)m(teger)i(giving)f(the)g
-(information)g(ab)s(out)f(the)h(maximal)g(n)m(um)m(b)s(er)390
-1099 y(of)29 b(b)m(ytes)g(o)s(ccupied)f(b)m(y)h(*)g Fk(ider)e
-Fr(.)41 b(The)28 b(real)h(size)g(of)g(the)g(DER)g(enco)s(ding)f(is)h
-(returned)f(through)390 1208 y(this)i(p)s(oin)m(ter.)390
-1345 y Fg(\015ags)t Fr(:)41 b(\015ags)30 b(con)m(trolling)j(the)d(b)s
-(eha)m(viour)g(of)h(the)f(function.)390 1481 y Fg(errorDescription)p
-Fr(:)41 b(n)m(ull-terminated)32 b(string)e(con)m(tains)h(details)h
-(when)d(an)h(error)g(o)s(ccurred.)390 1617 y(Fill)38
-b(the)f(structure)g(*)h Fk(element)d Fr(with)h(v)-5 b(alues)38
+TeXDict begin 19 21 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(19)150 299 y Fk(asn1)p
+396 299 37 5 v 55 w(get)p 616 299 V 54 w(bit)p 820 299
+V 54 w(der)3350 500 y Fs([F)-8 b(unction])-3599 b Fj(int)53
+b(asn1_get_bit_der)e Fi(\()p Fh(const)34 b(unsigned)g(c)m(har)g(*)f
+Fg(der)p Fh(,)h(in)m(t)f Fg(der_len)p Fh(,)i(in)m(t)565
+609 y(*)e Fg(ret_len)p Fh(,)i(unsigned)g(c)m(har)f(*)f
+Fg(str)p Fh(,)h(in)m(t)f Fg(str_size)p Fh(,)i(in)m(t)e(*)g
+Fg(bit_len)p Fi(\))390 719 y Ff(der)7 b Fs(:)40 b(DER)30
+b(data)h(to)g(deco)s(de)g(con)m(taining)h(the)e(BIT)h(SEQUENCE.)390
+858 y Ff(der)p 523 858 28 4 v 40 w(len)p Fs(:)40 b(Length)31
+b(of)f(DER)h(data)g(to)g(deco)s(de.)390 996 y Ff(ret)p
+507 996 V 40 w(len)p Fs(:)41 b(Output)29 b(v)-5 b(ariable)32
+b(con)m(taining)f(the)g(length)g(of)f(the)h(DER)f(data.)390
+1135 y Ff(str)7 b Fs(:)40 b(Pre-allo)s(cated)33 b(output)d(bu\013er)f
+(to)i(put)f(deco)s(ded)g(BIT)g(SEQUENCE)f(in.)390 1274
+y Ff(str)p 503 1274 V 40 w(size)5 b Fs(:)41 b(Length)31
+b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 1413
+y Ff(bit)p 507 1413 V 40 w(len)p Fs(:)41 b(Output)29
+b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(size)g(of)g(the)f(BIT)g
+(SEQUENCE.)390 1551 y(Extract)h(a)g(BIT)f(SEQUENCE)f(from)h(DER)h
+(data.)390 1690 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27
+b Fs(on)k(success,)g(or)f(an)g(error.)150 1894 y Fk(asn1)p
+396 1894 37 5 v 55 w(der)p 625 1894 V 54 w(deco)s(ding2)3350
+2095 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_decoding2)e
+Fi(\()p Fh(asn1)p 1582 2095 30 5 v 45 w(no)s(de)33 b(*)g
+Fg(element)p Fh(,)i(const)f(v)m(oid)f(*)g Fg(ider)p Fh(,)565
+2204 y(in)m(t)g(*)g Fg(max_ider_len)p Fh(,)k(unsigned)e(in)m(t)e
+Fg(flags)p Fh(,)h(c)m(har)g(*)f Fg(errorDescription)p
+Fi(\))390 2314 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31
+b(to)g(an)f(ASN1)h(structure.)390 2452 y Ff(ider)7 b
+Fs(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)
+390 2591 y Ff(max)p 565 2591 28 4 v 40 w(ider)p 757 2591
+V 40 w(len)p Fs(:)37 b(p)s(oin)m(ter)22 b(to)i(an)e(in)m(teger)i
+(giving)f(the)g(information)g(ab)s(out)f(the)h(maximal)g(n)m(um)m(b)s
+(er)390 2701 y(of)29 b(b)m(ytes)g(o)s(ccupied)f(b)m(y)h(*)g
+Fl(ider)e Fs(.)41 b(The)28 b(real)h(size)g(of)g(the)g(DER)g(enco)s
+(ding)f(is)h(returned)f(through)390 2810 y(this)i(p)s(oin)m(ter.)390
+2949 y Ff(\015ags)t Fs(:)41 b(\015ags)30 b(con)m(trolling)j(the)d(b)s
+(eha)m(viour)g(of)h(the)f(function.)390 3088 y Ff(errorDescription)p
+Fs(:)41 b(n)m(ull-terminated)32 b(string)e(con)m(tains)h(details)h
+(when)d(an)h(error)g(o)s(ccurred.)390 3226 y(Fill)38
+b(the)f(structure)g(*)h Fl(element)d Fs(with)h(v)-5 b(alues)38
b(of)f(a)h(DER)f(enco)s(ding)g(string.)61 b(The)36 b(structure)390
-1727 y(m)m(ust)30 b(just)g(b)s(e)g(created)h(with)f(function)g
-Fk(asn1_create_element\(\))25 b Fr(.)390 1863 y(If)d
-Fk(ASN1_DECODE_FLAG_ALLOW_P)o(ADD)o(ING)16 b Fr(\015ag)23
+3336 y(m)m(ust)30 b(just)g(b)s(e)g(created)h(with)f(function)g
+Fl(asn1_create_element\(\))25 b Fs(.)390 3475 y(If)d
+Fl(ASN1_DECODE_FLAG_ALLOW_P)o(ADD)o(ING)16 b Fs(\015ag)23
b(is)f(set)h(then)f(the)g(function)g(will)h(ignore)g(padding)390
-1973 y(after)31 b(the)h(deco)s(ded)e(DER)h(data.)43 b(Up)s(on)30
+3584 y(after)31 b(the)h(deco)s(ded)e(DER)h(data.)43 b(Up)s(on)30
b(a)i(successful)e(return)g(the)h(v)-5 b(alue)32 b(of)f(*)g
-Fk(max_ider_len)390 2082 y Fr(will)g(b)s(e)e(set)i(to)g(the)g(n)m(um)m
-(b)s(er)e(of)i(b)m(ytes)g(deco)s(ded.)390 2218 y(If)j
-Fk(ASN1_DECODE_FLAG_STRICT_DE)o(R)29 b Fr(\015ag)35 b(is)g(set)h(then)e
+Fl(max_ider_len)390 3694 y Fs(will)g(b)s(e)e(set)i(to)g(the)g(n)m(um)m
+(b)s(er)e(of)i(b)m(ytes)g(deco)s(ded.)390 3833 y(If)j
+Fl(ASN1_DECODE_FLAG_STRICT_DE)o(R)29 b Fs(\015ag)35 b(is)g(set)h(then)e
(the)h(function)g(will)g(not)h(deco)s(de)f(an)m(y)390
-2328 y(BER-enco)s(ded)30 b(elemen)m(ts.)390 2464 y Fe(Returns:)39
-b Fk(ASN1_SUCCESS)25 b Fr(if)i(DER)h(enco)s(ding)g(OK,)f
-Fk(ASN1_ELEMENT_NOT_FOUND)22 b Fr(if)28 b Fk(ELEMENT)390
-2574 y Fr(is)g Fk(NULL)e Fr(,)i(and)g Fk(ASN1_TAG_ERROR)23
-b Fr(or)28 b Fk(ASN1_DER_ERROR)c Fr(if)j(the)h(der)f(enco)s(ding)h(do)s
-(esn't)f(matc)m(h)390 2684 y(the)k(structure)e(name)i(\(*)g
-Fk(ELEMENT)d Fr(deleted\).)150 2885 y Fj(asn1)p 396 2885
-37 5 v 55 w(der)p 625 2885 V 54 w(deco)s(ding)3350 3083
-y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_decoding)e
-Fh(\()p Fg(asn1)p 1512 3083 28 4 v 40 w(no)s(de)30 b(*)h
-Ff(element)p Fg(,)i(const)d(v)m(oid)h(*)g Ff(ider)p Fg(,)h(in)m(t)565
-3193 y Ff(ider_len)p Fg(,)h(c)m(har)e(*)g Ff(errorDescription)p
-Fh(\))390 3302 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31
-b(to)g(an)f(ASN1)h(structure.)390 3439 y Fg(ider)7 b
-Fr(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)
-390 3575 y Fg(ider)p 548 3575 V 40 w(len)p Fr(:)41 b(n)m(um)m(b)s(er)29
-b(of)h(b)m(ytes)h(of)g(*)f Fk(ider)g Fr(:)40 b Fk(ider)29
-b Fr([0]..)42 b Fk(ider)30 b Fr([len-1].)390 3711 y Fg
-(errorDescription)p Fr(:)41 b(n)m(ull-terminated)32 b(string)e(con)m
-(tains)h(details)h(when)d(an)h(error)g(o)s(ccurred.)390
-3847 y(Fill)38 b(the)f(structure)g(*)h Fk(element)d Fr(with)h(v)-5
-b(alues)38 b(of)f(a)h(DER)f(enco)s(ding)g(string.)61
-b(The)36 b(structure)390 3957 y(m)m(ust)30 b(just)g(b)s(e)g(created)h
-(with)f(function)g Fk(asn1_create_element\(\))25 b Fr(.)390
-4093 y(Note)32 b(that)f(the)f(*)h Fk(element)d Fr(v)-5
-b(ariable)32 b(is)e(pro)m(vided)g(as)h(a)f(p)s(oin)m(ter)h(for)f
-(historical)i(reasons.)390 4229 y Fe(Returns:)39 b Fk(ASN1_SUCCESS)25
-b Fr(if)i(DER)h(enco)s(ding)g(OK,)f Fk(ASN1_ELEMENT_NOT_FOUND)22
-b Fr(if)28 b Fk(ELEMENT)390 4339 y Fr(is)g Fk(NULL)e
-Fr(,)i(and)g Fk(ASN1_TAG_ERROR)23 b Fr(or)28 b Fk(ASN1_DER_ERROR)c
-Fr(if)j(the)h(der)f(enco)s(ding)h(do)s(esn't)f(matc)m(h)390
-4449 y(the)k(structure)e(name)i(\(*)g Fk(ELEMENT)d Fr(deleted\).)150
-4650 y Fj(asn1)p 396 4650 37 5 v 55 w(der)p 625 4650
-V 54 w(deco)s(ding)p 1153 4650 V 55 w(elemen)m(t)3350
-4848 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_decoding_ele)q
-(ment)f Fh(\()p Fg(asn1)p 1930 4848 28 4 v 41 w(no)s(de)30
-b(*)g Ff(structure)p Fg(,)k(const)d(c)m(har)565 4958
-y(*)g Ff(elementName)p Fg(,)j(const)d(v)m(oid)g(*)f Ff(ider)p
-Fg(,)i(in)m(t)f Ff(len)p Fg(,)g(c)m(har)g(*)g Ff(errorDescription)p
-Fh(\))390 5067 y Fg(structure)5 b Fr(:)40 b(p)s(oin)m(ter)31
-b(to)g(an)f(ASN1)h(structure)390 5204 y Fg(elemen)m(tName)5
-b Fr(:)43 b(name)31 b(of)f(the)h(elemen)m(t)g(to)h(\014ll)390
-5340 y Fg(ider)7 b Fr(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g
-(DER)g(enco)s(ding)f(of)g(the)h(whole)g(structure.)p
+3942 y(BER-enco)s(ded)30 b(elemen)m(ts.)390 4081 y Fe(Returns:)39
+b Fl(ASN1_SUCCESS)25 b Fs(if)i(DER)h(enco)s(ding)g(OK,)f
+Fl(ASN1_ELEMENT_NOT_FOUND)22 b Fs(if)28 b Fl(ELEMENT)390
+4191 y Fs(is)g Fl(NULL)e Fs(,)i(and)g Fl(ASN1_TAG_ERROR)23
+b Fs(or)28 b Fl(ASN1_DER_ERROR)c Fs(if)j(the)h(der)f(enco)s(ding)h(do)s
+(esn't)f(matc)m(h)390 4300 y(the)k(structure)e(name)i(\(*)g
+Fl(ELEMENT)d Fs(deleted\).)150 4504 y Fk(asn1)p 396 4504
+37 5 v 55 w(der)p 625 4504 V 54 w(deco)s(ding)3350 4705
+y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_decoding)e
+Fi(\()p Fh(asn1)p 1530 4705 30 5 v 44 w(no)s(de)34 b(*)f
+Fg(element)p Fh(,)i(const)f(v)m(oid)f(*)g Fg(ider)p Fh(,)565
+4814 y(in)m(t)g Fg(ider_len)p Fh(,)j(c)m(har)e(*)f Fg(errorDescription)
+p Fi(\))390 4924 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31
+b(to)g(an)f(ASN1)h(structure.)390 5063 y Ff(ider)7 b
+Fs(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)
+390 5201 y Ff(ider)p 548 5201 28 4 v 40 w(len)p Fs(:)41
+b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*)f Fl(ider)g
+Fs(:)40 b Fl(ider)29 b Fs([0]..)42 b Fl(ider)30 b Fs([len-1].)390
+5340 y Ff(errorDescription)p Fs(:)41 b(n)m(ull-terminated)32
+b(string)e(con)m(tains)h(details)h(when)d(an)h(error)g(o)s(ccurred.)p
eop end
%%Page: 20 23
-TeXDict begin 20 22 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(20)390 299 y Fg(len)p
-Fr(:)41 b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*der:)40
-b(der[0]..der[len-1])390 435 y Fg(errorDescription)p
-Fr(:)h(n)m(ull-terminated)32 b(string)e(con)m(tains)h(details)h(when)d
-(an)h(error)g(o)s(ccurred.)390 572 y(Fill)41 b(the)g(elemen)m(t)g
-(named)f Fk(ELEMENTNAME)d Fr(with)j(v)-5 b(alues)40 b(of)h(a)f(DER)g
-(enco)s(ding)g(string.)70 b(The)390 682 y(structure)36
-b(m)m(ust)h(just)f(b)s(e)g(created)i(with)e(function)h
-Fk(asn1_create_element\(\))31 b Fr(.)60 b(The)36 b(DER)390
-791 y(v)m(ector)d(m)m(ust)e(con)m(tain)h(the)f(enco)s(ding)g(string)g
-(of)g(the)h(whole)f Fk(STRUCTURE)d Fr(.)43 b(If)31 b(an)g(error)f(o)s
-(ccurs)390 901 y(during)f(the)i(deco)s(ding)f(pro)s(cedure,)f(the)i(*)g
-Fk(STRUCTURE)d Fr(is)i(deleted)h(and)f(set)h(equal)g(to)g
-Fk(NULL)e Fr(.)390 1037 y(This)h(function)h(is)h(deprecated)f(and)g(ma)
-m(y)h(just)f(b)s(e)f(an)h(alias)i(to)f(asn1)p 2820 1037
-28 4 v 40 w(der)p 2987 1037 V 40 w(deco)s(ding)f(in)g(future)390
-1147 y(v)m(ersions.)41 b(Use)31 b Fk(asn1_der_decoding\(\))25
-b Fr(instead.)390 1284 y Fe(Returns:)63 b Fk(ASN1_SUCCESS)39
-b Fr(if)j(DER)g(enco)s(ding)g(OK,)f Fk(ASN1_ELEMENT_NOT_FOUND)36
-b Fr(if)42 b(ELE-)390 1393 y(MENT)24 b(is)h Fk(NULL)e
-Fr(or)h Fk(elementName)d Fr(==)j(NULL,)g(and)g Fk(ASN1_TAG_ERROR)d
-Fr(or)j Fk(ASN1_DER_ERROR)390 1503 y Fr(if)30 b(the)h(der)f(enco)s
-(ding)g(do)s(esn't)g(matc)m(h)h(the)g(structure)f Fk(structure)e
-Fr(\(*ELEMENT)i(deleted\).)150 1704 y Fj(asn1)p 396 1704
-37 5 v 55 w(der)p 625 1704 V 54 w(deco)s(ding)p 1153
-1704 V 55 w(startEnd)3350 1903 y Fr([F)-8 b(unction])-3599
-b Fi(int)53 b(asn1_der_decoding_sta)q(rtEn)q(d)f Fh(\()p
-Fg(asn1)p 1983 1903 28 4 v 40 w(no)s(de)30 b Ff(element)p
-Fg(,)j(const)d(v)m(oid)h(*)565 2013 y Ff(ider)p Fg(,)h(in)m(t)f
-Ff(ider_len)p Fg(,)i(const)e(c)m(har)f(*)h Ff(name_element)p
-Fg(,)j(in)m(t)d(*)g Ff(start)p Fg(,)h(in)m(t)f(*)g Ff(end)p
-Fh(\))390 2122 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31
-b(to)g(an)f(ASN1)h(elemen)m(t)390 2259 y Fg(ider)7 b
-Fr(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)
-390 2395 y Fg(ider)p 548 2395 V 40 w(len)p Fr(:)41 b(n)m(um)m(b)s(er)29
-b(of)h(b)m(ytes)h(of)g(*)f Fk(ider)g Fr(:)40 b Fk(ider)29
-b Fr([0]..)42 b Fk(ider)30 b Fr([len-1])390 2532 y Fg(name)p
-608 2532 V 40 w(elemen)m(t)r Fr(:)42 b(an)31 b(elemen)m(t)g(of)g(NAME)g
-(structure.)390 2669 y Fg(start)r Fr(:)41 b(the)31 b(p)s(osition)f(of)h
-(the)f(\014rst)g(b)m(yte)h(of)g(NAME)p 2189 2669 V 40
-w(ELEMENT)f(deco)s(ding)g(\()h Fk(ider)e Fr([*start]\))390
-2805 y Fg(end)t Fr(:)40 b(the)30 b(p)s(osition)h(of)f(the)h(last)g(b)m
-(yte)g(of)g(NAME)p 2129 2805 V 40 w(ELEMENT)f(deco)s(ding)g(\()h
-Fk(ider)e Fr([*end]\))390 2942 y(Find)45 b(the)h(start)g(and)f(end)g(p)
-s(oin)m(t)g(of)h(an)f(elemen)m(t)i(in)e(a)h(DER)g(enco)s(ding)f
-(string.)87 b(I)45 b(mean)390 3051 y(that)35 b(if)f(y)m(ou)h(ha)m(v)m
-(e)h(a)e(der)g(enco)s(ding)g(and)g(y)m(ou)h(ha)m(v)m(e)g(already)g
-(used)f(the)g(function)g Fk(asn1_der_)390 3161 y(decoding\(\))22
-b Fr(to)j(\014ll)g(a)g(structure,)h(it)f(ma)m(y)h(happ)s(en)d(that)i(y)
-m(ou)g(w)m(an)m(t)h(to)f(\014nd)e(the)i(piece)h(of)f(string)390
-3270 y(concerning)31 b(an)f(elemen)m(t)i(of)e(the)h(structure.)390
-3407 y(One)f(example)h(is)f(the)h(sequence)g Fk(")p Fr
-(tbsCerti\014cate)p Fk(")g Fr(inside)f(an)g(X509)i(certi\014cate.)390
-3544 y(Note)38 b(that)g(since)f(libtasn1)g(3.7)h(the)f
-Fk(ider)f Fr(and)g Fk(ider_len)f Fr(parameters)i(can)g(b)s(e)f
-(omitted,)k(if)390 3653 y(the)31 b(elemen)m(t)g(is)g(already)g(deco)s
-(ded)f(using)g Fk(asn1_der_decoding\(\))25 b Fr(.)390
-3790 y Fe(Returns:)63 b Fk(ASN1_SUCCESS)39 b Fr(if)j(DER)g(enco)s(ding)
-g(OK,)f Fk(ASN1_ELEMENT_NOT_FOUND)36 b Fr(if)42 b(ELE-)390
-3899 y(MENT)37 b(is)g Fk(asn1_node)e Fr(EMPTY)h(or)h
-Fk(name_element)d Fr(is)j(not)g(a)h(v)-5 b(alid)37 b(elemen)m(t,)j
-Fk(ASN1_TAG_)390 4009 y(ERROR)j Fr(or)h Fk(ASN1_DER_ERROR)d
-Fr(if)j(the)h(der)f(enco)s(ding)g(do)s(esn't)g(matc)m(h)i(the)e
-(structure)g(ELE-)390 4119 y(MENT.)150 4320 y Fj(asn1)p
-396 4320 37 5 v 55 w(expand)p 836 4320 V 54 w(an)m(y)p
-1080 4320 V 53 w(de\014ned)p 1517 4320 V 55 w(b)m(y)3350
-4519 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_expand_any_defin)q
-(ed_b)q(y)f Fh(\()p Fg(asn1)p 1983 4519 28 4 v 40 w(no)s(de)30
-b Ff(definitions)p Fg(,)565 4628 y(asn1)p 748 4628 V
-40 w(no)s(de)g(*)h Ff(element)p Fh(\))390 4738 y Fg(de\014nitions)t
-Fr(:)40 b(ASN1)31 b(de\014nitions)390 4875 y Fg(elemen)m(t)r
-Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(structure)390
-5011 y(Expands)36 b(ev)m(ery)j Fk(")p Fr(ANY)f(DEFINED)g(BY)p
-Fk(")g Fr(elemen)m(t)h(of)f(a)g(structure)g(created)g(from)g(a)g(DER)
-390 5121 y(deco)s(ding)c(pro)s(cess)g(\(asn1)p 1314 5121
-V 41 w(der)p 1482 5121 V 40 w(deco)s(ding)g(function\).)53
-b(The)34 b(elemen)m(t)i(ANY)f(m)m(ust)f(b)s(e)g(de\014ned)390
-5230 y(b)m(y)26 b(an)f(OBJECT)g(IDENTIFIER.)h(The)f(t)m(yp)s(e)h(used)f
-(to)i(expand)e(the)h(elemen)m(t)h(ANY)g(is)f(the)g(\014rst)390
-5340 y(one)31 b(follo)m(wing)h(the)e(de\014nition)g(of)h(the)f(actual)i
-(v)-5 b(alue)31 b(of)f(the)h(OBJECT)e(IDENTIFIER.)p eop
+TeXDict begin 20 22 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(20)390 299 y(Fill)38
+b(the)f(structure)g(*)h Fl(element)d Fs(with)h(v)-5 b(alues)38
+b(of)f(a)h(DER)f(enco)s(ding)g(string.)61 b(The)36 b(structure)390
+408 y(m)m(ust)30 b(just)g(b)s(e)g(created)h(with)f(function)g
+Fl(asn1_create_element\(\))25 b Fs(.)390 543 y(Note)32
+b(that)f(the)f(*)h Fl(element)d Fs(v)-5 b(ariable)32
+b(is)e(pro)m(vided)g(as)h(a)f(p)s(oin)m(ter)h(for)f(historical)i
+(reasons.)390 677 y Fe(Returns:)39 b Fl(ASN1_SUCCESS)25
+b Fs(if)i(DER)h(enco)s(ding)g(OK,)f Fl(ASN1_ELEMENT_NOT_FOUND)22
+b Fs(if)28 b Fl(ELEMENT)390 786 y Fs(is)g Fl(NULL)e Fs(,)i(and)g
+Fl(ASN1_TAG_ERROR)23 b Fs(or)28 b Fl(ASN1_DER_ERROR)c
+Fs(if)j(the)h(der)f(enco)s(ding)h(do)s(esn't)f(matc)m(h)390
+896 y(the)k(structure)e(name)i(\(*)g Fl(ELEMENT)d Fs(deleted\).)150
+1094 y Fk(asn1)p 396 1094 37 5 v 55 w(der)p 625 1094
+V 54 w(deco)s(ding)p 1153 1094 V 55 w(elemen)m(t)3350
+1290 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_decoding_ele)q
+(ment)f Fi(\()p Fh(asn1)p 1948 1290 30 5 v 45 w(no)s(de)33
+b(*)h Fg(structure)p Fh(,)h(const)565 1400 y(c)m(har)f(*)f
+Fg(elementName)p Fh(,)j(const)e(v)m(oid)f(*)g Fg(ider)p
+Fh(,)h(in)m(t)f Fg(len)p Fh(,)h(c)m(har)g(*)565 1509
+y Fg(errorDescription)p Fi(\))390 1619 y Ff(structure)5
+b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(structure)390
+1753 y Ff(elemen)m(tName)5 b Fs(:)43 b(name)31 b(of)f(the)h(elemen)m(t)
+g(to)h(\014ll)390 1887 y Ff(ider)7 b Fs(:)40 b(v)m(ector)32
+b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding)f(of)g(the)h(whole)g
+(structure.)390 2021 y Ff(len)p Fs(:)41 b(n)m(um)m(b)s(er)29
+b(of)h(b)m(ytes)h(of)g(*der:)40 b(der[0]..der[len-1])390
+2155 y Ff(errorDescription)p Fs(:)h(n)m(ull-terminated)32
+b(string)e(con)m(tains)h(details)h(when)d(an)h(error)g(o)s(ccurred.)390
+2290 y(Fill)41 b(the)g(elemen)m(t)g(named)f Fl(ELEMENTNAME)d
+Fs(with)j(v)-5 b(alues)40 b(of)h(a)f(DER)g(enco)s(ding)g(string.)70
+b(The)390 2399 y(structure)36 b(m)m(ust)h(just)f(b)s(e)g(created)i
+(with)e(function)h Fl(asn1_create_element\(\))31 b Fs(.)60
+b(The)36 b(DER)390 2509 y(v)m(ector)d(m)m(ust)e(con)m(tain)h(the)f
+(enco)s(ding)g(string)g(of)g(the)h(whole)f Fl(STRUCTURE)d
+Fs(.)43 b(If)31 b(an)g(error)f(o)s(ccurs)390 2618 y(during)f(the)i
+(deco)s(ding)f(pro)s(cedure,)f(the)i(*)g Fl(STRUCTURE)d
+Fs(is)i(deleted)h(and)f(set)h(equal)g(to)g Fl(NULL)e
+Fs(.)390 2752 y(This)h(function)h(is)h(deprecated)f(and)g(ma)m(y)h
+(just)f(b)s(e)f(an)h(alias)i(to)f(asn1)p 2820 2752 28
+4 v 40 w(der)p 2987 2752 V 40 w(deco)s(ding)f(in)g(future)390
+2862 y(v)m(ersions.)41 b(Use)31 b Fl(asn1_der_decoding\(\))25
+b Fs(instead.)390 2996 y Fe(Returns:)63 b Fl(ASN1_SUCCESS)39
+b Fs(if)j(DER)g(enco)s(ding)g(OK,)f Fl(ASN1_ELEMENT_NOT_FOUND)36
+b Fs(if)42 b(ELE-)390 3106 y(MENT)24 b(is)h Fl(NULL)e
+Fs(or)h Fl(elementName)d Fs(==)j(NULL,)g(and)g Fl(ASN1_TAG_ERROR)d
+Fs(or)j Fl(ASN1_DER_ERROR)390 3215 y Fs(if)30 b(the)h(der)f(enco)s
+(ding)g(do)s(esn't)g(matc)m(h)h(the)g(structure)f Fl(structure)e
+Fs(\(*ELEMENT)i(deleted\).)150 3414 y Fk(asn1)p 396 3414
+37 5 v 55 w(der)p 625 3414 V 54 w(deco)s(ding)p 1153
+3414 V 55 w(startEnd)3350 3610 y Fs([F)-8 b(unction])-3599
+b Fj(int)53 b(asn1_der_decoding_sta)q(rtEn)q(d)f Fi(\()p
+Fh(asn1)p 2001 3610 30 5 v 44 w(no)s(de)34 b Fg(element)p
+Fh(,)h(const)e(v)m(oid)565 3719 y(*)d Fg(ider)p Fh(,)i(in)m(t)e
+Fg(ider_len)p Fh(,)j(const)e(c)m(har)g(*)f Fg(name_element)p
+Fh(,)k(in)m(t)c(*)g Fg(start)p Fh(,)i(in)m(t)f(*)f Fg(end)p
+Fi(\))390 3829 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31
+b(to)g(an)f(ASN1)h(elemen)m(t)390 3963 y Ff(ider)7 b
+Fs(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)
+390 4097 y Ff(ider)p 548 4097 28 4 v 40 w(len)p Fs(:)41
+b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*)f Fl(ider)g
+Fs(:)40 b Fl(ider)29 b Fs([0]..)42 b Fl(ider)30 b Fs([len-1])390
+4231 y Ff(name)p 608 4231 V 40 w(elemen)m(t)r Fs(:)42
+b(an)31 b(elemen)m(t)g(of)g(NAME)g(structure.)390 4365
+y Ff(start)r Fs(:)41 b(the)31 b(p)s(osition)f(of)h(the)f(\014rst)g(b)m
+(yte)h(of)g(NAME)p 2189 4365 V 40 w(ELEMENT)f(deco)s(ding)g(\()h
+Fl(ider)e Fs([*start]\))390 4499 y Ff(end)t Fs(:)40 b(the)30
+b(p)s(osition)h(of)f(the)h(last)g(b)m(yte)g(of)g(NAME)p
+2129 4499 V 40 w(ELEMENT)f(deco)s(ding)g(\()h Fl(ider)e
+Fs([*end]\))390 4633 y(Find)45 b(the)h(start)g(and)f(end)g(p)s(oin)m(t)
+g(of)h(an)f(elemen)m(t)i(in)e(a)h(DER)g(enco)s(ding)f(string.)87
+b(I)45 b(mean)390 4743 y(that)35 b(if)f(y)m(ou)h(ha)m(v)m(e)h(a)e(der)g
+(enco)s(ding)g(and)g(y)m(ou)h(ha)m(v)m(e)g(already)g(used)f(the)g
+(function)g Fl(asn1_der_)390 4853 y(decoding\(\))22 b
+Fs(to)j(\014ll)g(a)g(structure,)h(it)f(ma)m(y)h(happ)s(en)d(that)i(y)m
+(ou)g(w)m(an)m(t)h(to)f(\014nd)e(the)i(piece)h(of)f(string)390
+4962 y(concerning)31 b(an)f(elemen)m(t)i(of)e(the)h(structure.)390
+5096 y(One)f(example)h(is)f(the)h(sequence)g Fl(")p Fs
+(tbsCerti\014cate)p Fl(")g Fs(inside)f(an)g(X509)i(certi\014cate.)390
+5230 y(Note)38 b(that)g(since)f(libtasn1)g(3.7)h(the)f
+Fl(ider)f Fs(and)g Fl(ider_len)f Fs(parameters)i(can)g(b)s(e)f
+(omitted,)k(if)390 5340 y(the)31 b(elemen)m(t)g(is)g(already)g(deco)s
+(ded)f(using)g Fl(asn1_der_decoding\(\))25 b Fs(.)p eop
end
%%Page: 21 24
-TeXDict begin 21 23 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(21)390 299 y Fe(Returns:)55
-b Fk(ASN1_SUCCESS)35 b Fr(if)j(Substitution)f(OK,)g Fk
-(ASN1_ERROR_TYPE_ANY)c Fr(if)k(some)i Fk(")p Fr(ANY)390
-408 y(DEFINED)34 b(BY)p Fk(")f Fr(elemen)m(t)i(couldn't)e(b)s(e)g
-(expanded)f(due)g(to)i(a)f(problem)g(in)g(OBJECT)p 3504
-408 28 4 v 39 w(ID)g(-)p Fk(>)390 518 y Fr(TYPE)d(asso)s(ciation,)i(or)
-f(other)f(error)g(co)s(des)h(dep)s(ending)e(on)h(DER)g(deco)s(ding.)150
-715 y Fj(asn1)p 396 715 37 5 v 55 w(expand)p 836 715
-V 54 w(o)s(ctet)p 1161 715 V 53 w(string)3350 910 y Fr([F)-8
-b(unction])-3599 b Fi(int)53 b(asn1_expand_octet_str)q(ing)f
-Fh(\()p Fg(asn1)p 1878 910 28 4 v 41 w(no)s(de)29 b Ff(definitions)p
-Fg(,)34 b(asn1)p 2946 910 V 40 w(no)s(de)565 1020 y(*)d
-Ff(element)p Fg(,)i(const)d(c)m(har)h(*)g Ff(octetName)p
-Fg(,)i(const)e(c)m(har)g(*)g Ff(objectName)p Fh(\))390
-1129 y Fg(de\014nitions)t Fr(:)40 b(ASN1)31 b(de\014nitions)390
-1263 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h
-(structure)390 1396 y Fg(o)s(ctetName)5 b Fr(:)43 b(name)30
-b(of)h(the)g(OCTECT)d(STRING)i(\014eld)g(to)h(expand.)390
-1530 y Fg(ob)5 b(jectName)g Fr(:)45 b(name)31 b(of)h(the)g(OBJECT)e
-(IDENTIFIER)h(\014eld)g(to)i(use)e(to)h(de\014ne)f(the)g(t)m(yp)s(e)h
-(for)390 1639 y(expansion.)390 1773 y(Expands)23 b(an)h
-Fk(")p Fr(OCTET)e(STRING)p Fk(")i Fr(elemen)m(t)h(of)g(a)f(structure)g
-(created)h(from)f(a)h(DER)f(deco)s(ding)390 1882 y(pro)s(cess)39
-b(\(the)h Fk(asn1_der_decoding\(\))34 b Fr(function\).)68
-b(The)39 b(t)m(yp)s(e)h(used)f(for)g(expansion)g(is)h(the)390
-1992 y(\014rst)c(one)h(follo)m(wing)h(the)f(de\014nition)g(of)f(the)h
-(actual)i(v)-5 b(alue)37 b(of)g(the)g(OBJECT)e(IDENTIFIER)390
-2101 y(indicated)c(b)m(y)f(OBJECTNAME.)390 2235 y Fe(Returns:)36
-b Fk(ASN1_SUCCESS)18 b Fr(if)j(substitution)g(OK,)g Fk
-(ASN1_ELEMENT_NOT_FOUND)15 b Fr(if)22 b Fk(objectName)390
-2345 y Fr(or)j Fk(octetName)e Fr(are)j(not)f(correct,)j
-Fk(ASN1_VALUE_NOT_VALID)20 b Fr(if)25 b(it)h(w)m(asn't)g(p)s(ossible)f
-(to)h(\014nd)e(the)390 2454 y(t)m(yp)s(e)31 b(to)g(use)f(for)g
+TeXDict begin 21 23 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(21)390 299 y Fe(Returns:)63
+b Fl(ASN1_SUCCESS)39 b Fs(if)j(DER)g(enco)s(ding)g(OK,)f
+Fl(ASN1_ELEMENT_NOT_FOUND)36 b Fs(if)42 b(ELE-)390 408
+y(MENT)37 b(is)g Fl(asn1_node)e Fs(EMPTY)h(or)h Fl(name_element)d
+Fs(is)j(not)g(a)h(v)-5 b(alid)37 b(elemen)m(t,)j Fl(ASN1_TAG_)390
+518 y(ERROR)j Fs(or)h Fl(ASN1_DER_ERROR)d Fs(if)j(the)h(der)f(enco)s
+(ding)g(do)s(esn't)g(matc)m(h)i(the)e(structure)g(ELE-)390
+628 y(MENT.)150 831 y Fk(asn1)p 396 831 37 5 v 55 w(expand)p
+836 831 V 54 w(an)m(y)p 1080 831 V 53 w(de\014ned)p 1517
+831 V 55 w(b)m(y)3350 1032 y Fs([F)-8 b(unction])-3599
+b Fj(int)53 b(asn1_expand_any_defin)q(ed_b)q(y)f Fi(\()p
+Fh(asn1)p 2001 1032 30 5 v 44 w(no)s(de)34 b Fg(definitions)p
+Fh(,)565 1142 y(asn1)p 766 1142 V 44 w(no)s(de)g(*)f
+Fg(element)p Fi(\))390 1251 y Ff(de\014nitions)t Fs(:)40
+b(ASN1)31 b(de\014nitions)390 1390 y Ff(elemen)m(t)r
+Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(structure)390
+1529 y(Expands)36 b(ev)m(ery)j Fl(")p Fs(ANY)f(DEFINED)g(BY)p
+Fl(")g Fs(elemen)m(t)h(of)f(a)g(structure)g(created)g(from)g(a)g(DER)
+390 1638 y(deco)s(ding)c(pro)s(cess)g(\(asn1)p 1314 1638
+28 4 v 41 w(der)p 1482 1638 V 40 w(deco)s(ding)g(function\).)53
+b(The)34 b(elemen)m(t)i(ANY)f(m)m(ust)f(b)s(e)g(de\014ned)390
+1748 y(b)m(y)26 b(an)f(OBJECT)g(IDENTIFIER.)h(The)f(t)m(yp)s(e)h(used)f
+(to)i(expand)e(the)h(elemen)m(t)h(ANY)g(is)f(the)g(\014rst)390
+1858 y(one)31 b(follo)m(wing)h(the)e(de\014nition)g(of)h(the)f(actual)i
+(v)-5 b(alue)31 b(of)f(the)h(OBJECT)e(IDENTIFIER.)390
+1996 y Fe(Returns:)55 b Fl(ASN1_SUCCESS)35 b Fs(if)j(Substitution)f
+(OK,)g Fl(ASN1_ERROR_TYPE_ANY)c Fs(if)k(some)i Fl(")p
+Fs(ANY)390 2106 y(DEFINED)34 b(BY)p Fl(")f Fs(elemen)m(t)i(couldn't)e
+(b)s(e)g(expanded)f(due)g(to)i(a)f(problem)g(in)g(OBJECT)p
+3504 2106 V 39 w(ID)g(-)p Fl(>)390 2216 y Fs(TYPE)d(asso)s(ciation,)i
+(or)f(other)f(error)g(co)s(des)h(dep)s(ending)e(on)h(DER)g(deco)s
+(ding.)150 2419 y Fk(asn1)p 396 2419 37 5 v 55 w(expand)p
+836 2419 V 54 w(o)s(ctet)p 1161 2419 V 53 w(string)3350
+2620 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_expand_octet_str)q
+(ing)f Fi(\()p Fh(asn1)p 1896 2620 30 5 v 44 w(no)s(de)34
+b Fg(definitions)p Fh(,)565 2730 y(asn1)p 766 2730 V
+44 w(no)s(de)e(*)f Fg(element)p Fh(,)i(const)f(c)m(har)g(*)f
+Fg(octetName)p Fh(,)j(const)e(c)m(har)g(*)f Fg(objectName)p
+Fi(\))390 2839 y Ff(de\014nitions)t Fs(:)40 b(ASN1)31
+b(de\014nitions)390 2978 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31
+b(to)g(an)f(ASN1)h(structure)390 3117 y Ff(o)s(ctetName)5
+b Fs(:)43 b(name)30 b(of)h(the)g(OCTECT)d(STRING)i(\014eld)g(to)h
+(expand.)390 3255 y Ff(ob)5 b(jectName)g Fs(:)45 b(name)31
+b(of)h(the)g(OBJECT)e(IDENTIFIER)h(\014eld)g(to)i(use)e(to)h(de\014ne)f
+(the)g(t)m(yp)s(e)h(for)390 3365 y(expansion.)390 3504
+y(Expands)23 b(an)h Fl(")p Fs(OCTET)e(STRING)p Fl(")i
+Fs(elemen)m(t)h(of)g(a)f(structure)g(created)h(from)f(a)h(DER)f(deco)s
+(ding)390 3613 y(pro)s(cess)39 b(\(the)h Fl(asn1_der_decoding\(\))34
+b Fs(function\).)68 b(The)39 b(t)m(yp)s(e)h(used)f(for)g(expansion)g
+(is)h(the)390 3723 y(\014rst)c(one)h(follo)m(wing)h(the)f(de\014nition)
+g(of)f(the)h(actual)i(v)-5 b(alue)37 b(of)g(the)g(OBJECT)e(IDENTIFIER)
+390 3833 y(indicated)c(b)m(y)f(OBJECTNAME.)390 3971 y
+Fe(Returns:)36 b Fl(ASN1_SUCCESS)18 b Fs(if)j(substitution)g(OK,)g
+Fl(ASN1_ELEMENT_NOT_FOUND)15 b Fs(if)22 b Fl(objectName)390
+4081 y Fs(or)j Fl(octetName)e Fs(are)j(not)f(correct,)j
+Fl(ASN1_VALUE_NOT_VALID)20 b Fs(if)25 b(it)h(w)m(asn't)g(p)s(ossible)f
+(to)h(\014nd)e(the)390 4190 y(t)m(yp)s(e)31 b(to)g(use)f(for)g
(expansion,)g(or)h(other)f(errors)g(dep)s(ending)f(on)h(DER)h(deco)s
-(ding.)150 2651 y Fj(asn1)p 396 2651 37 5 v 55 w(deco)s(de)p
-818 2651 V 54 w(simple)p 1214 2651 V 55 w(der)3350 2846
-y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_decode_simple_de)q(r)e
-Fh(\()p Fg(unsigned)30 b(in)m(t)h Ff(etype)p Fg(,)h(const)f(unsigned)
-565 2956 y(c)m(har)f(*)g Ff(der)p Fg(,)h(unsigned)d(in)m(t)j
-Ff(_der_len)p Fg(,)h(const)e(unsigned)f(c)m(har)h(**)g
-Ff(str)p Fg(,)h(unsigned)d(in)m(t)j(*)565 3065 y Ff(str_len)p
-Fh(\))390 3175 y Fg(et)m(yp)s(e)5 b Fr(:)41 b(The)30
+(ding.)150 4394 y Fk(asn1)p 396 4394 37 5 v 55 w(deco)s(de)p
+818 4394 V 54 w(simple)p 1214 4394 V 55 w(der)3350 4595
+y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_decode_simple_de)q(r)e
+Fi(\()p Fh(unsigned)35 b(in)m(t)f Fg(etype)p Fh(,)g(const)g(unsigned)
+565 4705 y(c)m(har)f(*)f Fg(der)p Fh(,)h(unsigned)h(in)m(t)e
+Fg(_der_len)p Fh(,)i(const)f(unsigned)h(c)m(har)f(**)f
+Fg(str)p Fh(,)h(unsigned)565 4814 y(in)m(t)g(*)g Fg(str_len)p
+Fi(\))390 4924 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30
b(t)m(yp)s(e)h(of)f(the)h(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p
-2444 3175 28 4 v 41 w(ETYPE)p 2805 3175 V 39 w(\))390
-3308 y Fg(der)7 b Fr(:)40 b(the)30 b(enco)s(ded)g(string)p
-396 3442 V 430 3442 a Fg(der)p 563 3442 V 40 w(len)p
-Fr(:)40 b(the)31 b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390
-3575 y Fg(str)7 b Fr(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)390
-3709 y Fg(str)p 503 3709 V 40 w(len)p Fr(:)41 b(the)30
-b(length)h(of)g(the)f(data)390 3842 y(Deco)s(des)35 b(a)f(simple)g(DER)
-g(enco)s(ded)f(t)m(yp)s(e)h(\(e.g.)52 b(a)35 b(string,)f(whic)m(h)g(is)
-g(not)g(constructed\).)51 b(The)390 3952 y(output)30
-b(is)g(a)h(p)s(oin)m(ter)g(inside)f(the)g Fk(der)g Fr(.)390
-4085 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful)f(or)g
-(an)g(error)g(v)-5 b(alue.)150 4283 y Fj(asn1)p 396 4283
-37 5 v 55 w(deco)s(de)p 818 4283 V 54 w(simple)p 1214
-4283 V 55 w(b)s(er)3350 4477 y Fr([F)d(unction])-3599
-b Fi(int)53 b(asn1_decode_simple_be)q(r)e Fh(\()p Fg(unsigned)30
-b(in)m(t)h Ff(etype)p Fg(,)h(const)f(unsigned)565 4587
-y(c)m(har)g(*)g Ff(der)p Fg(,)g(unsigned)e(in)m(t)i Ff(_der_len)p
-Fg(,)i(unsigned)d(c)m(har)g(**)h Ff(str)p Fg(,)h(unsigned)d(in)m(t)i(*)
-565 4696 y Ff(str_len)p Fg(,)i(unsigned)c(in)m(t)i(*)g
-Ff(ber_len)p Fh(\))390 4806 y Fg(et)m(yp)s(e)5 b Fr(:)41
-b(The)30 b(t)m(yp)s(e)h(of)f(the)h(string)f(to)h(b)s(e)f(enco)s(ded)g
-(\(ASN1)p 2444 4806 28 4 v 41 w(ETYPE)p 2805 4806 V 39
-w(\))390 4940 y Fg(der)7 b Fr(:)40 b(the)30 b(enco)s(ded)g(string)p
-396 5073 V 430 5073 a Fg(der)p 563 5073 V 40 w(len)p
-Fr(:)40 b(the)31 b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390
-5206 y Fg(str)7 b Fr(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)390
-5340 y Fg(str)p 503 5340 V 40 w(len)p Fr(:)41 b(the)30
-b(length)h(of)g(the)f(data)p eop end
+2444 4924 28 4 v 41 w(ETYPE)p 2805 4924 V 39 w(\))390
+5062 y Ff(der)7 b Fs(:)40 b(the)30 b(enco)s(ded)g(string)p
+396 5201 V 430 5201 a Ff(der)p 563 5201 V 40 w(len)p
+Fs(:)40 b(the)31 b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390
+5340 y Ff(str)7 b Fs(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)p
+eop end
%%Page: 22 25
-TeXDict begin 22 24 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(22)390 299 y Fg(b)s(er)p
-526 299 28 4 v 39 w(len)p Fr(:)41 b(the)30 b(total)j(length)d(o)s
-(ccupied)h(b)m(y)f(BER)g(\(ma)m(y)i(b)s(e)d Fk(NULL)h
-Fr(\))390 435 y(Deco)s(des)37 b(a)g(BER)g(enco)s(ded)f(t)m(yp)s(e.)60
+TeXDict begin 22 24 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(22)390 299 y Ff(str)p
+503 299 28 4 v 40 w(len)p Fs(:)41 b(the)30 b(length)h(of)g(the)f(data)
+390 463 y(Deco)s(des)35 b(a)f(simple)g(DER)g(enco)s(ded)f(t)m(yp)s(e)h
+(\(e.g.)52 b(a)35 b(string,)f(whic)m(h)g(is)g(not)g(constructed\).)51
+b(The)390 573 y(output)30 b(is)g(a)h(p)s(oin)m(ter)g(inside)f(the)g
+Fl(der)g Fs(.)390 737 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27
+b Fs(if)k(successful)f(or)g(an)g(error)g(v)-5 b(alue.)150
+966 y Fk(asn1)p 396 966 37 5 v 55 w(deco)s(de)p 818 966
+V 54 w(simple)p 1214 966 V 55 w(b)s(er)3350 1192 y Fs([F)d(unction])
+-3599 b Fj(int)53 b(asn1_decode_simple_be)q(r)e Fi(\()p
+Fh(unsigned)35 b(in)m(t)f Fg(etype)p Fh(,)g(const)g(unsigned)565
+1302 y(c)m(har)g(*)f Fg(der)p Fh(,)h(unsigned)g(in)m(t)g
+Fg(_der_len)p Fh(,)h(unsigned)g(c)m(har)f(**)e Fg(str)p
+Fh(,)i(unsigned)h(in)m(t)e(*)565 1411 y Fg(str_len)p
+Fh(,)i(unsigned)g(in)m(t)e(*)g Fg(ber_len)p Fi(\))390
+1521 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30 b(t)m(yp)s(e)h(of)f(the)h
+(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p 2444 1521
+28 4 v 41 w(ETYPE)p 2805 1521 V 39 w(\))390 1685 y Ff(der)7
+b Fs(:)40 b(the)30 b(enco)s(ded)g(string)p 396 1849 V
+430 1849 a Ff(der)p 563 1849 V 40 w(len)p Fs(:)40 b(the)31
+b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390 2014
+y Ff(str)7 b Fs(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)390
+2178 y Ff(str)p 503 2178 V 40 w(len)p Fs(:)41 b(the)30
+b(length)h(of)g(the)f(data)390 2342 y Ff(b)s(er)p 526
+2342 V 39 w(len)p Fs(:)41 b(the)30 b(total)j(length)d(o)s(ccupied)h(b)m
+(y)f(BER)g(\(ma)m(y)i(b)s(e)d Fl(NULL)h Fs(\))390 2506
+y(Deco)s(des)37 b(a)g(BER)g(enco)s(ded)f(t)m(yp)s(e.)60
b(The)36 b(output)g(is)g(an)h(allo)s(cated)h(v)-5 b(alue)37
-b(of)g(the)g(data.)60 b(This)390 545 y(deco)s(des)30
+b(of)g(the)g(data.)60 b(This)390 2616 y(deco)s(des)30
b(BER)h(STRINGS)e(only)-8 b(.)41 b(Other)30 b(t)m(yp)s(es)h(are)f(deco)
-s(ded)g(as)h(DER.)390 681 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27
-b Fr(if)k(successful)f(or)g(an)g(error)g(v)-5 b(alue.)150
-917 y Fq(4.4)68 b(Error)45 b(handling)g(functions)150
-1141 y Fj(asn1)p 396 1141 37 5 v 55 w(p)s(error)3350
-1339 y Fr([F)-8 b(unction])-3599 b Fi(void)54 b(asn1_perror)48
-b Fh(\()p Fg(in)m(t)32 b Ff(error)p Fh(\))390 1449 y
-Fg(error)7 b Fr(:)40 b(is)30 b(an)h(error)f(returned)f(b)m(y)h(a)h
-(libtasn1)g(function.)390 1585 y(Prin)m(ts)26 b(a)g(string)h(to)f
+s(ded)g(as)h(DER.)390 2780 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27
+b Fs(if)k(successful)f(or)g(an)g(error)g(v)-5 b(alue.)150
+3065 y Fr(4.4)68 b(Error)45 b(handling)g(functions)150
+3289 y Fk(asn1)p 396 3289 37 5 v 55 w(p)s(error)3350
+3516 y Fs([F)-8 b(unction])-3599 b Fj(void)54 b(asn1_perror)48
+b Fi(\()p Fh(in)m(t)34 b Fg(error)p Fi(\))390 3625 y
+Ff(error)7 b Fs(:)40 b(is)30 b(an)h(error)f(returned)f(b)m(y)h(a)h
+(libtasn1)g(function.)390 3790 y(Prin)m(ts)26 b(a)g(string)h(to)f
(stderr)g(with)g(a)g(description)g(of)h(an)f(error.)38
-b(This)26 b(function)g(is)g(lik)m(e)h Fk(perror\(\))390
-1695 y Fr(.)41 b(The)30 b(only)g(di\013erence)h(is)f(that)h(it)g
+b(This)26 b(function)g(is)g(lik)m(e)h Fl(perror\(\))390
+3899 y Fs(.)41 b(The)30 b(only)g(di\013erence)h(is)f(that)h(it)g
(accepts)h(an)e(error)g(returned)f(b)m(y)i(a)f(libtasn1)h(function.)390
-1831 y Fe(Since:)41 b Fr(1.6)150 2033 y Fj(asn1)p 396
-2033 V 55 w(strerror)3350 2231 y Fr([F)-8 b(unction])-3599
-b Fi(const)54 b(char)f(*)g(asn1_strerror)c Fh(\()p Fg(in)m(t)32
-b Ff(error)p Fh(\))390 2341 y Fg(error)7 b Fr(:)40 b(is)30
+4063 y Fe(Since:)41 b Fs(1.6)150 4292 y Fk(asn1)p 396
+4292 V 55 w(strerror)3350 4519 y Fs([F)-8 b(unction])-3599
+b Fj(const)54 b(char)f(*)g(asn1_strerror)c Fi(\()p Fh(in)m(t)34
+b Fg(error)p Fi(\))390 4628 y Ff(error)7 b Fs(:)40 b(is)30
b(an)h(error)f(returned)f(b)m(y)h(a)h(libtasn1)g(function.)390
-2477 y(Returns)i(a)h(string)g(with)f(a)h(description)g(of)g(an)g
+4792 y(Returns)i(a)h(string)g(with)f(a)h(description)g(of)g(an)g
(error.)50 b(This)33 b(function)h(is)g(similar)g(to)g(strerror.)390
-2587 y(The)c(only)h(di\013erence)g(is)g(that)g(it)g(accepts)h(an)e
+4902 y(The)c(only)h(di\013erence)g(is)g(that)g(it)g(accepts)h(an)e
(error)g(\(n)m(um)m(b)s(er\))g(returned)g(b)m(y)g(a)h(libtasn1)h(func-)
-390 2696 y(tion.)390 2833 y Fe(Returns:)40 b Fr(P)m(oin)m(ter)32
+390 5012 y(tion.)390 5176 y Fe(Returns:)40 b Fs(P)m(oin)m(ter)32
b(to)f(static)h(zero-terminated)g(string)f(describing)f(error)g(co)s
-(de.)390 2969 y Fe(Since:)41 b Fr(1.6)150 3205 y Fq(4.5)68
-b(Auxilliary)46 b(functions)150 3429 y Fj(asn1)p 396
-3429 V 55 w(\014nd)p 655 3429 V 54 w(no)s(de)3350 3627
-y Fr([F)-8 b(unction])-3599 b Fi(asn1_node)55 b(asn1_find_node)50
-b Fh(\()p Fg(asn1)p 1669 3627 28 4 v 40 w(no)s(de)30
-b Ff(pointer)p Fg(,)j(const)e(c)m(har)f(*)h Ff(name)p
-Fh(\))390 3737 y Fg(p)s(oin)m(ter)7 b Fr(:)40 b(NODE)p
-1021 3737 V 40 w(ASN)31 b(elemen)m(t)g(p)s(oin)m(ter.)390
-3873 y Fg(name)5 b Fr(:)41 b(n)m(ull)30 b(terminated)h(string)f(with)g
-(the)h(elemen)m(t's)h(name)e(to)i(\014nd.)390 4010 y(Searc)m(hes)g(for)
-g(an)g(elemen)m(t)h(called)g Fk(name)e Fr(starting)h(from)f
-Fk(pointer)f Fr(.)45 b(The)31 b(name)h(is)g(comp)s(osed)390
-4119 y(b)m(y)39 b(di\013eren)m(ts)g(iden)m(ti\014ers)g(separated)g(b)m
-(y)f(dots.)66 b(When)39 b(*)g Fk(pointer)e Fr(has)h(a)i(name,)h(the)e
-(\014rst)390 4229 y(iden)m(ti\014er)26 b(m)m(ust)g(b)s(e)g(the)g(name)g
-(of)g(*)h Fk(pointer)d Fr(,)j(otherwise)g(it)f(m)m(ust)g(b)s(e)g(the)g
-(name)g(of)g(one)h(c)m(hild)390 4339 y(of)k(*)f Fk(pointer)f
-Fr(.)390 4475 y Fe(Returns:)40 b Fr(the)31 b(searc)m(h)g(result,)f(or)h
-Fk(NULL)e Fr(if)h(not)h(found.)150 4676 y Fj(asn1)p 396
-4676 37 5 v 55 w(c)m(hec)m(k)p 744 4676 V 52 w(v)m(ersion)3350
-4875 y Fr([F)-8 b(unction])-3599 b Fi(const)54 b(char)f(*)g
-(asn1_check_version)e Fh(\()p Fg(const)31 b(c)m(har)g(*)g
-Ff(req_version)p Fh(\))390 4984 y Fg(req)p 520 4984 28
-4 v 40 w(v)m(ersion)p Fr(:)41 b(Required)30 b(v)m(ersion)h(n)m(um)m(b)s
-(er,)e(or)i Fk(NULL)e Fr(.)390 5121 y(Chec)m(k)e(that)h(the)f(v)m
-(ersion)g(of)g(the)g(library)g(is)g(at)g(minim)m(um)g(the)g(requested)f
-(one)i(and)e(return)g(the)390 5230 y(v)m(ersion)j(string;)g(return)d
-Fk(NULL)h Fr(if)h(the)h(condition)f(is)g(not)h(satis\014ed.)40
-b(If)27 b(a)i Fk(NULL)e Fr(is)h(passed)f(to)i(this)390
-5340 y(function,)h(no)h(c)m(hec)m(k)h(is)e(done,)g(but)g(the)h(v)m
-(ersion)f(string)h(is)f(simply)g(returned.)p eop end
+(de.)390 5340 y Fe(Since:)41 b Fs(1.6)p eop end
%%Page: 23 26
-TeXDict begin 23 25 bop 150 -116 a Fr(Chapter)30 b(4:)41
-b(F)-8 b(unction)31 b(reference)2313 b(23)390 299 y(See)31
-b Fk(ASN1_VERSION)c Fr(for)j(a)h(suitable)f Fk(req_version)e
-Fr(string.)390 433 y Fe(Returns:)43 b Fr(V)-8 b(ersion)32
-b(string)g(of)g(run-time)f(library)-8 b(,)33 b(or)e Fk(NULL)g
-Fr(if)h(the)g(run-time)f(library)g(do)s(es)h(not)390
-543 y(meet)f(the)g(required)e(v)m(ersion)i(n)m(um)m(b)s(er.)p
+TeXDict begin 23 25 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(F)-8 b(unction)31 b(reference)2313 b(23)150 299 y Fr(4.5)68
+b(Auxilliary)46 b(functions)150 523 y Fk(asn1)p 396 523
+37 5 v 55 w(\014nd)p 655 523 V 54 w(no)s(de)3350 720
+y Fs([F)-8 b(unction])-3599 b Fj(asn1_node)55 b(asn1_find_node)50
+b Fi(\()p Fh(asn1)p 1687 720 30 5 v 44 w(no)s(de)34 b
+Fg(pointer)p Fh(,)h(const)f(c)m(har)g(*)f Fg(name)p Fi(\))390
+829 y Ff(p)s(oin)m(ter)7 b Fs(:)40 b(NODE)p 1021 829
+28 4 v 40 w(ASN)31 b(elemen)m(t)g(p)s(oin)m(ter.)390
+964 y Ff(name)5 b Fs(:)41 b(n)m(ull)30 b(terminated)h(string)f(with)g
+(the)h(elemen)m(t's)h(name)e(to)i(\014nd.)390 1098 y(Searc)m(hes)g(for)
+g(an)g(elemen)m(t)h(called)g Fl(name)e Fs(starting)h(from)f
+Fl(pointer)f Fs(.)45 b(The)31 b(name)h(is)g(comp)s(osed)390
+1208 y(b)m(y)41 b(di\013eren)m(t)h(iden)m(ti\014ers)f(separated)g(b)m
+(y)g(dots.)73 b(When)41 b(*)h Fl(pointer)d Fs(has)i(a)g(name,)j(the)e
+(\014rst)390 1318 y(iden)m(ti\014er)26 b(m)m(ust)g(b)s(e)g(the)g(name)g
+(of)g(*)h Fl(pointer)d Fs(,)j(otherwise)g(it)f(m)m(ust)g(b)s(e)g(the)g
+(name)g(of)g(one)h(c)m(hild)390 1427 y(of)k(*)f Fl(pointer)f
+Fs(.)390 1562 y Fe(Returns:)40 b Fs(the)31 b(searc)m(h)g(result,)f(or)h
+Fl(NULL)e Fs(if)h(not)h(found.)150 1761 y Fk(asn1)p 396
+1761 37 5 v 55 w(c)m(hec)m(k)p 744 1761 V 52 w(v)m(ersion)3350
+1958 y Fs([F)-8 b(unction])-3599 b Fj(const)54 b(char)f(*)g
+(asn1_check_version)e Fi(\()p Fh(const)34 b(c)m(har)g(*)f
+Fg(req_version)p Fi(\))390 2067 y Ff(req)p 520 2067 28
+4 v 40 w(v)m(ersion)p Fs(:)41 b(Required)30 b(v)m(ersion)h(n)m(um)m(b)s
+(er,)e(or)i Fl(NULL)e Fs(.)390 2202 y(Chec)m(k)e(that)h(the)f(v)m
+(ersion)g(of)g(the)g(library)g(is)g(at)g(minim)m(um)g(the)g(requested)f
+(one)i(and)e(return)g(the)390 2311 y(v)m(ersion)j(string;)g(return)d
+Fl(NULL)h Fs(if)h(the)h(condition)f(is)g(not)h(satis\014ed.)40
+b(If)27 b(a)i Fl(NULL)e Fs(is)h(passed)f(to)i(this)390
+2421 y(function,)h(no)h(c)m(hec)m(k)h(is)e(done,)g(but)g(the)h(v)m
+(ersion)f(string)h(is)f(simply)g(returned.)390 2555 y(See)h
+Fl(ASN1_VERSION)c Fs(for)j(a)h(suitable)f Fl(req_version)e
+Fs(string.)390 2690 y Fe(Returns:)43 b Fs(V)-8 b(ersion)32
+b(string)g(of)g(run-time)f(library)-8 b(,)33 b(or)e Fl(NULL)g
+Fs(if)h(the)g(run-time)f(library)g(do)s(es)h(not)390
+2800 y(meet)f(the)g(required)e(v)m(ersion)i(n)m(um)m(b)s(er.)p
eop end
%%Page: 24 27
-TeXDict begin 24 26 bop 150 -116 a Fr(App)s(endix)29
-b(A:)h(Cop)m(ying)h(Information)2140 b(24)150 299 y Fn(App)t(endix)52
-b(A)81 b(Cop)l(ying)52 b(Information)150 608 y Fq(A.1)67
+TeXDict begin 24 26 bop 3659 -116 a Fs(24)150 299 y Fo(App)t(endix)52
+b(A)81 b(Cop)l(ying)52 b(Information)150 613 y Fr(A.1)67
b(GNU)45 b(F)-11 b(ree)45 b(Do)t(cumen)l(tation)h(License)1359
-767 y Fr(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
-898 y(Cop)m(yrigh)m(t)842 895 y(c)817 898 y Fo(\015)e
-Fr(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31
-b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 1007
-y Fk(http://fsf.org/)390 1227 y Fr(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f
+772 y Fs(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
+902 y(Cop)m(yrigh)m(t)842 899 y(c)817 902 y Fp(\015)e
+Fs(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31
+b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 1012
+y Fl(http://fsf.org/)390 1231 y Fs(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f
(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390
-1336 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
-(is)f(not)h(allo)m(w)m(ed.)199 1467 y(0.)61 b(PREAMBLE)330
-1597 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g
+1341 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
+(is)f(not)h(allo)m(w)m(ed.)199 1471 y(0.)61 b(PREAMBLE)330
+1601 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g
(a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
-1707 y(useful)29 b(do)s(cumen)m(t)h Fg(free)36 b Fr(in)29
+1710 y(useful)29 b(do)s(cumen)m(t)h Ff(free)36 b Fs(in)29
b(the)i(sense)f(of)g(freedom:)41 b(to)31 b(assure)e(ev)m(ery)m(one)j
-(the)e(e\013ectiv)m(e)j(freedom)330 1817 y(to)f(cop)m(y)g(and)f
+(the)e(e\013ectiv)m(e)j(freedom)330 1820 y(to)f(cop)m(y)g(and)f
(redistribute)g(it,)h(with)g(or)f(without)g(mo)s(difying)g(it,)i
-(either)f(commercially)h(or)e(non-)330 1926 y(commercially)-8
+(either)f(commercially)h(or)e(non-)330 1929 y(commercially)-8
b(.)56 b(Secondarily)-8 b(,)36 b(this)f(License)g(preserv)m(es)g(for)f
-(the)h(author)f(and)g(publisher)f(a)i(w)m(a)m(y)330 2036
+(the)h(author)f(and)g(publisher)f(a)i(w)m(a)m(y)330 2039
y(to)i(get)g(credit)g(for)f(their)g(w)m(ork,)i(while)e(not)g(b)s(eing)g
(considered)g(resp)s(onsible)f(for)h(mo)s(di\014cations)330
-2145 y(made)30 b(b)m(y)h(others.)330 2276 y(This)22 b(License)i(is)f(a)
+2149 y(made)30 b(b)m(y)h(others.)330 2279 y(This)22 b(License)i(is)f(a)
h(kind)e(of)i(\\cop)m(yleft",)j(whic)m(h)c(means)g(that)h(deriv)-5
b(ativ)m(e)24 b(w)m(orks)f(of)h(the)f(do)s(cumen)m(t)330
-2385 y(m)m(ust)34 b(themselv)m(es)h(b)s(e)e(free)h(in)g(the)g(same)g
+2388 y(m)m(ust)34 b(themselv)m(es)h(b)s(e)e(free)h(in)g(the)g(same)g
(sense.)51 b(It)34 b(complemen)m(ts)h(the)f(GNU)g(General)h(Public)330
-2495 y(License,)c(whic)m(h)f(is)h(a)f(cop)m(yleft)i(license)g(designed)
-e(for)g(free)h(soft)m(w)m(are.)330 2626 y(W)-8 b(e)31
+2498 y(License,)c(whic)m(h)f(is)h(a)f(cop)m(yleft)i(license)g(designed)
+e(for)g(free)h(soft)m(w)m(are.)330 2628 y(W)-8 b(e)31
b(ha)m(v)m(e)f(designed)g(this)f(License)h(in)f(order)g(to)i(use)e(it)h
(for)f(man)m(uals)h(for)f(free)h(soft)m(w)m(are,)h(b)s(ecause)330
-2735 y(free)42 b(soft)m(w)m(are)i(needs)e(free)g(do)s(cumen)m(tation:)
+2738 y(free)42 b(soft)m(w)m(are)i(needs)e(free)g(do)s(cumen)m(tation:)
65 b(a)42 b(free)h(program)f(should)f(come)i(with)f(man)m(uals)330
-2845 y(pro)m(viding)29 b(the)g(same)g(freedoms)f(that)i(the)f(soft)m(w)
+2847 y(pro)m(viding)29 b(the)g(same)g(freedoms)f(that)i(the)f(soft)m(w)
m(are)h(do)s(es.)40 b(But)29 b(this)f(License)i(is)f(not)g(limited)g
-(to)330 2954 y(soft)m(w)m(are)j(man)m(uals;)f(it)g(can)g(b)s(e)f(used)g
+(to)330 2957 y(soft)m(w)m(are)j(man)m(uals;)f(it)g(can)g(b)s(e)f(used)g
(for)g(an)m(y)h(textual)h(w)m(ork,)f(regardless)g(of)g(sub)5
-b(ject)30 b(matter)i(or)330 3064 y(whether)f(it)h(is)f(published)f(as)i
+b(ject)30 b(matter)i(or)330 3066 y(whether)f(it)h(is)f(published)f(as)i
(a)f(prin)m(ted)g(b)s(o)s(ok.)44 b(W)-8 b(e)32 b(recommend)f(this)h
-(License)g(principally)f(for)330 3174 y(w)m(orks)f(whose)h(purp)s(ose)d
-(is)j(instruction)f(or)g(reference.)199 3304 y(1.)61
-b(APPLICABILITY)29 b(AND)j(DEFINITIONS)330 3435 y(This)39
+(License)g(principally)f(for)330 3176 y(w)m(orks)f(whose)h(purp)s(ose)d
+(is)j(instruction)f(or)g(reference.)199 3306 y(1.)61
+b(APPLICABILITY)29 b(AND)j(DEFINITIONS)330 3436 y(This)39
b(License)i(applies)f(to)g(an)m(y)h(man)m(ual)f(or)g(other)g(w)m(ork,)i
-(in)e(an)m(y)g(medium,)i(that)e(con)m(tains)i(a)330 3544
+(in)e(an)m(y)g(medium,)i(that)e(con)m(tains)i(a)330 3546
y(notice)h(placed)f(b)m(y)f(the)h(cop)m(yrigh)m(t)h(holder)e(sa)m(ying)
h(it)g(can)g(b)s(e)f(distributed)f(under)g(the)i(terms)330
-3654 y(of)c(this)f(License.)62 b(Suc)m(h)37 b(a)h(notice)h(gran)m(ts)f
+3655 y(of)c(this)f(License.)62 b(Suc)m(h)37 b(a)h(notice)h(gran)m(ts)f
(a)g(w)m(orld-wide,)h(ro)m(y)m(alt)m(y-free)i(license,)f(unlimited)d
-(in)330 3764 y(duration,)49 b(to)d(use)f(that)g(w)m(ork)h(under)d(the)j
+(in)330 3765 y(duration,)49 b(to)d(use)f(that)g(w)m(ork)h(under)d(the)j
(conditions)f(stated)h(herein.)85 b(The)45 b(\\Do)s(cumen)m(t",)330
-3873 y(b)s(elo)m(w,)29 b(refers)f(to)h(an)m(y)g(suc)m(h)f(man)m(ual)h
+3874 y(b)s(elo)m(w,)29 b(refers)f(to)h(an)m(y)g(suc)m(h)f(man)m(ual)h
(or)f(w)m(ork.)40 b(An)m(y)29 b(mem)m(b)s(er)e(of)i(the)f(public)g(is)g
-(a)h(licensee,)i(and)330 3983 y(is)25 b(addressed)f(as)h(\\y)m(ou".)40
+(a)h(licensee,)i(and)330 3984 y(is)25 b(addressed)f(as)h(\\y)m(ou".)40
b(Y)-8 b(ou)26 b(accept)g(the)f(license)h(if)f(y)m(ou)h(cop)m(y)-8
b(,)27 b(mo)s(dify)d(or)h(distribute)g(the)g(w)m(ork)330
-4092 y(in)30 b(a)h(w)m(a)m(y)g(requiring)f(p)s(ermission)f(under)g(cop)
-m(yrigh)m(t)j(la)m(w.)330 4223 y(A)i(\\Mo)s(di\014ed)f(V)-8
+4094 y(in)30 b(a)h(w)m(a)m(y)g(requiring)f(p)s(ermission)f(under)g(cop)
+m(yrigh)m(t)j(la)m(w.)330 4224 y(A)i(\\Mo)s(di\014ed)f(V)-8
b(ersion")35 b(of)f(the)g(Do)s(cumen)m(t)g(means)g(an)m(y)g(w)m(ork)f
(con)m(taining)j(the)e(Do)s(cumen)m(t)g(or)330 4333 y(a)k(p)s(ortion)f
(of)h(it,)i(either)e(copied)g(v)m(erbatim,)i(or)d(with)h(mo)s
-(di\014cations)f(and/or)h(translated)g(in)m(to)330 4442
+(di\014cations)f(and/or)h(translated)g(in)m(to)330 4443
y(another)31 b(language.)330 4573 y(A)26 b(\\Secondary)g(Section")h(is)
f(a)h(named)e(app)s(endix)f(or)i(a)h(fron)m(t-matter)g(section)g(of)f
(the)g(Do)s(cumen)m(t)330 4682 y(that)c(deals)g(exclusiv)m(ely)h(with)e
@@ -7661,7 +7673,7 @@ b(or)g(with)g(related)330 5230 y(matters,)38 b(or)d(of)h(legal,)i
(commercial,)h(philosophical,)f(ethical)f(or)e(p)s(olitical)i(p)s
(osition)f(regarding)330 5340 y(them.)p eop end
%%Page: 25 28
-TeXDict begin 25 27 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 25 27 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(25)330 299 y(The)25
b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g
(Sections)g(whose)f(titles)i(are)f(designated,)i(as)330
@@ -7757,7 +7769,7 @@ b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330
5340 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)p
eop end
%%Page: 26 29
-TeXDict begin 26 28 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 26 28 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(26)199 299 y(2.)61
b(VERBA)-8 b(TIM)31 b(COPYING)330 445 y(Y)-8 b(ou)39
b(ma)m(y)f(cop)m(y)h(and)e(distribute)h(the)g(Do)s(cumen)m(t)h(in)f(an)
@@ -7846,7 +7858,7 @@ b(\014lling)f(the)g(role)h(of)f(the)g(Do)s(cumen)m(t,)h(th)m(us)f
b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s
(di\014ed)e(V)-8 b(ersion:)p eop end
%%Page: 27 30
-TeXDict begin 27 29 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 27 29 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(27)357 299 y(A.)60
b(Use)33 b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m
(ers,)i(if)e(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the)
@@ -7929,7 +7941,7 @@ b(arran)m(t)m(y)32 b(Disclaimers.)330 5230 y(If)h(the)g(Mo)s(di\014ed)g
(Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h
(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)p eop end
%%Page: 28 31
-TeXDict begin 28 30 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 28 30 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(28)330 299 y(y)m(our)32
b(option)h(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e
(in)m(v)-5 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)330
@@ -8019,7 +8031,7 @@ b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
5340 y(that)d(do)s(cumen)m(t.)p eop end
%%Page: 29 32
-TeXDict begin 29 31 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 29 31 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(29)199 299 y(7.)61
b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330
441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5
@@ -8107,7 +8119,7 @@ b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
%%Page: 30 33
-TeXDict begin 30 32 bop 150 -116 a Fr(App)s(endix)29
+TeXDict begin 30 32 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(Cop)m(ying)h(Information)2140 b(30)154 299 y(10.)61
b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 433
y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43
@@ -8116,8 +8128,8 @@ b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g(the)g(GNU)g(F)
g(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h
(in)g(spirit)330 653 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)m
(y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i
-(concerns.)330 762 y(See)c Fk(http://www.gnu.org/copy)o(left)o(/)p
-Fr(.)330 897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
+(concerns.)330 762 y(See)c Fl(http://www.gnu.org/copy)o(left)o(/)p
+Fs(.)330 897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
(en)g(a)g(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39
b(If)29 b(the)g(Do)s(cumen)m(t)330 1006 y(sp)s(eci\014es)45
b(that)h(a)g(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g
@@ -8173,10 +8185,10 @@ g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
330 4005 y(eligible)h(for)e(relicensing.)p eop end
%%Page: 31 34
-TeXDict begin 31 33 bop 150 -116 a Fr(App)s(endix)29
-b(A:)h(Cop)m(ying)h(Information)2140 b(31)150 299 y Fq(ADDENDUM:)45
+TeXDict begin 31 33 bop 150 -116 a Fs(App)s(endix)29
+b(A:)h(Cop)m(ying)h(Information)2140 b(31)150 299 y Fr(ADDENDUM:)45
b(Ho)l(w)h(to)f(use)g(this)h(License)f(for)g(y)l(our)g(do)t(cumen)l(ts)
-150 458 y Fr(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m
+150 458 y Fs(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m
(t)g(y)m(ou)f(ha)m(v)m(e)i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)
f(License)h(in)g(the)150 568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g
(follo)m(wing)i(cop)m(yrigh)m(t)g(and)e(license)h(notices)g(just)f
@@ -8190,7 +8202,7 @@ y(Permission)i(is)e(granted)g(to)g(copy,)h(distribute)g(and/or)g
(no)f(Front-Cover)h(Texts,)g(and)f(no)f(Back-Cover)468
1116 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f(license)i(is)f(included)h
(in)f(the)g(section)g(entitled)h(``GNU)468 1203 y(Free)g(Documentation)
-h(License''.)275 1337 y Fr(If)d(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5
+h(License''.)275 1337 y Fs(If)d(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5
b(arian)m(t)41 b(Sections,)i(F)-8 b(ron)m(t-Co)m(v)m(er)42
b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts,)43
b(replace)e(the)150 1447 y(\\with)6 b(.)22 b(.)g(.)12
@@ -8198,7 +8210,7 @@ b(T)-8 b(exts.")31 b(line)g(with)f(this:)547 1559 y Fd(with)40
b(the)g(Invariant)h(Sections)g(being)g Fc(list)f(their)g(titles)p
Fd(,)h(with)547 1646 y(the)f(Front-Cover)i(Texts)e(being)g
Fc(list)p Fd(,)h(and)f(with)g(the)g(Back-Cover)h(Texts)547
-1733 y(being)f Fc(list)p Fd(.)275 1868 y Fr(If)34 b(y)m(ou)i(ha)m(v)m
+1733 y(being)f Fc(list)p Fd(.)275 1868 y Fs(If)34 b(y)m(ou)i(ha)m(v)m
(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f(Co)m(v)m(er)h(T)-8
b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150
1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g(alternativ)m(es)i(to)e
@@ -8210,135 +8222,140 @@ b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150
b(Public)f(License,)i(to)f(p)s(ermit)e(their)i(use)f(in)g(free)g(soft)m
(w)m(are.)p eop end
%%Page: 32 35
-TeXDict begin 32 34 bop 150 -116 a Fr(Concept)31 b(Index)2927
-b(32)150 299 y Fn(Concept)52 b(Index)150 638 y Fq(A)150
-757 y Fb(ASN.1)25 b(sc)n(hema)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(2)150 846 y(asn1Co)r(ding)27
-b(program)10 b Fa(:)k(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37
-b Fb(5)150 935 y(asn1Deco)r(ding)27 b(program)8 b Fa(:)14
-b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(6)150 1023 y(asn1P)n(arser)27
-b(program)7 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33
-b Fb(5)150 1281 y Fq(F)150 1400 y Fb(FDL,)26 b(GNU)f(F)-6
-b(ree)25 b(Do)r(cumen)n(tation)h(License)20 b Fa(:)13
-b(:)g(:)g(:)g(:)h(:)f(:)45 b Fb(22)150 1489 y(F)-6 b(uture)25
-b(dev)n(elopmen)n(ts)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fb(4)150 1746 y Fq(H)150 1866 y Fb(Header)26 b(\014le)f(libtasn1.h)18
-b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)45 b Fb(4)2025
-638 y Fq(M)2025 760 y Fb(Main)26 b(t)n(yp)r(e)f(asn1)p
-2550 760 24 4 v 34 w(no)r(de)19 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)46 b Fb(4)2025 1023 y Fq(P)2025 1145 y Fb(P)n(orting)12
-b Fa(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(1)2025 1408 y Fq(S)2025
-1530 y Fb(Supp)r(orted)24 b(ASN.1)h(t)n(yp)r(es,)h(list)g(of)14
-b Fa(:)g(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)41 b Fb(2)2025 1793 y Fq(T)2025 1915 y Fb(threads)13
-b Fa(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(1)p eop end
+TeXDict begin 32 34 bop 3659 -116 a Fs(32)150 299 y Fo(Concept)52
+b(Index)146 638 y Fr(A)150 759 y Fb(asn1Co)r(ding)27
+b(program)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)31
+b Fb(5)150 848 y(asn1Deco)r(ding)c(program)14 b Fa(:)g(:)f(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)29 b Fb(6)150 936 y(asn1P)n(arser)e(program)13
+b Fa(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b
+Fb(5)150 1025 y(ASN.1)e(sc)n(hema)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(2)146 1293
+y Fr(F)150 1414 y Fb(FDL,)26 b(GNU)f(F)-6 b(ree)25 b(Do)r(cumen)n
+(tation)h(License)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)22
+b Fb(24)150 1503 y(F)-6 b(uture)25 b(dev)n(elopmen)n(ts)15
+b Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(4)146
+1785 y Fr(H)150 1906 y Fb(Header)c(\014le)f(libtasn1.h)7
+b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)22 b Fb(4)2021
+638 y Fr(M)2025 756 y Fb(Main)k(t)n(yp)r(e)f(asn1)p 2550
+756 24 4 v 34 w(no)r(de)7 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)23 b Fb(4)2021 1021 y Fr(P)2025 1140 y Fb(P)n(orting)18
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(1)2021 1405 y Fr(S)2025
+1523 y Fb(Supp)r(orted)24 b(ASN.1)h(t)n(yp)r(es,)h(list)g(of)21
+b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)35 b Fb(2)2021 1788 y Fr(T)2025 1906 y Fb(threads)19
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(1)p eop end
%%Page: 33 36
-TeXDict begin 33 35 bop 150 -116 a Fr(F)-8 b(unction)31
-b(and)f(Data)i(Index)2503 b(33)150 299 y Fn(F)-13 b(unction)52
-b(and)h(Data)i(Index)150 610 y Fd(asn1_array2tree)13
-b Fa(:)k(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fb(8)150 697 y Fd(asn1_bit_der)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(15)150 785 y
-Fd(asn1_check_version)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47
-b Fb(21)150 872 y Fd(asn1_copy_node)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g
+TeXDict begin 33 35 bop 3659 -116 a Fs(33)150 299 y Fo(F)-13
+b(unction)52 b(and)h(Data)i(Index)150 610 y Fd(asn1_array2tree)23
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34
+b Fb(9)150 697 y Fd(asn1_bit_der)8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(16)150 785
+y Fd(asn1_check_version)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(10)150 959 y Fd(asn1_create_element)25
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(9)150
-1046 y Fd(asn1_decode_simple_der)10 b Fa(:)19 b(:)13
+24 b Fb(23)150 872 y Fd(asn1_copy_node)f Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(11)150 959 y Fd
+(asn1_create_element)7 b Fa(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21
+b Fb(10)150 1046 y Fd(asn1_decode_simple_ber)16 b Fa(:)j(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)31 b Fb(22)150 1133 y Fd(asn1_decode_simple_der)16
+b Fa(:)j(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)31 b Fb(21)150 1220 y Fd(asn1_delete_element)9
+b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)24 b Fb(9)150
+1308 y Fd(asn1_delete_structure)i Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
+b Fb(9)150 1395 y Fd(asn1_delete_structure2)24 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)37 b Fb(20)150 1133 y Fd(asn1_delete_element)25
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(8)150
-1220 y Fd(asn1_delete_structure)15 b Fa(:)j(:)13 b(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42
-b Fb(8)150 1308 y Fd(asn1_delete_structure2)13 b Fa(:)18
-b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)40 b Fb(8)150 1395 y Fd(asn1_der_coding)11
-b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Fb(15)150 1482 y Fd(asn1_der_decoding)6 b Fa(:)17 b(:)c(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)32 b Fb(18)150 1569 y Fd(asn1_der_decoding_element)
-26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)46 b Fb(18)150 1656 y Fd(asn1_der_decoding_startEnd)18
-b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-44 b Fb(19)150 1743 y Fd(asn1_der_decoding2)25 b Fa(:)13
-b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(17)150 1831 y
-Fd(asn1_dup_node)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)43 b Fb(10)150 1918 y Fd(asn1_encode_simple_der)10
-b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(15)150 2005 y Fd
-(asn1_expand_any_defined_by)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(19)150 2092 y
-Fd(asn1_expand_octet_string)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(19)150
-2179 y Fd(asn1_find_node)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)40 b Fb(21)2025 610 y Fd(asn1_find_structure_from_oid)15
-b Fa(:)k(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-42 b Fb(9)2025 697 y Fd(asn1_get_bit_der)9 b Fa(:)16
-b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(17)2025
-785 y Fd(asn1_get_length_ber)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
-b Fb(16)2025 872 y Fd(asn1_get_length_der)18 b Fa(:)f(:)c(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)34 b Fb(9)150 1482 y Fd(asn1_der_coding)17
+b Fa(:)g(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32
+b Fb(17)150 1569 y Fd(asn1_der_decoding)12 b Fa(:)17
+b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(19)150
+1656 y Fd(asn1_der_decoding_element)9 b Fa(:)19 b(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23
+b Fb(20)150 1743 y Fd(asn1_der_decoding_startEnd)7 b
+Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)21 b Fb(20)150 1831 y Fd(asn1_der_decoding2)10
+b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(19)150
+1918 y Fd(asn1_dup_node)h Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)37 b Fb(11)150 2005 y Fd(asn1_encode_simple_der)16
+b Fa(:)j(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)31 b Fb(16)150 2092 y Fd
+(asn1_expand_any_defined_by)7 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(21)150
+2179 y Fd(asn1_expand_octet_string)11 b Fa(:)19 b(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)26 b Fb(21)150 2267 y Fd(asn1_find_node)d Fa(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
+b Fb(23)2025 610 y Fd(asn1_find_structure_from_oid)19
+b Fa(:)f(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33
+b Fb(10)2025 697 y Fd(asn1_get_bit_der)15 b Fa(:)h(:)d(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)45 b Fb(16)2025 959 y Fd(asn1_get_octet_der)25
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(17)2025
-1046 y Fd(asn1_get_tag_der)9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)35 b Fb(16)2025 1133 y Fd(asn1_length_der)11
+g(:)g(:)g(:)h(:)f(:)29 b Fb(19)2025 785 y Fd(asn1_get_length_ber)7
+b Fa(:)17 b(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(18)2025
+872 y Fd(asn1_get_length_der)7 b Fa(:)17 b(:)c(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+22 b Fb(17)2025 959 y Fd(asn1_get_object_id_der)16 b
+Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(18)2025 1046 y Fd(asn1_get_octet_der)10
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fb(14)2025 1220 y Fd(asn1_number_of_elements)10 b Fa(:)18
-b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)37 b Fb(9)2025 1308 y Fd(asn1_octet_der)14
-b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fb(14)2025 1395 y Fd(asn1_parser2array)8 b Fa(:)17
-b(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fb(7)2025
-1482 y Fd(asn1_parser2tree)11 b Fa(:)16 b(:)d(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)38 b Fb(7)2025 1569 y Fd(asn1_perror)24
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-48 b Fb(20)2025 1656 y Fd(asn1_print_structure)18 b Fa(:)f(:)c(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)45 b Fb(9)2025 1743 y Fd(asn1_read_node_value)16
-b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(14)2025 1831 y Fd(asn1_read_tag)16
-b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
-b Fb(14)2025 1918 y Fd(asn1_read_value)11 b Fa(:)17 b(:)c(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fb(12)2025 2005 y Fd
-(asn1_read_value_type)16 b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42
-b Fb(13)2025 2092 y Fd(asn1_strerror)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(20)2025 2179 y
-Fd(asn1_write_value)9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)35 b Fb(10)p eop end
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(18)2025
+1133 y Fd(asn1_get_tag_der)15 b Fa(:)h(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)29 b Fb(17)2025 1220 y Fd(asn1_length_der)17
+b Fa(:)g(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32
+b Fb(15)2025 1308 y Fd(asn1_number_of_elements)14 b Fa(:)k(:)13
+b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)28 b Fb(10)2025 1395 y Fd(asn1_octet_der)23 b
+Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34
+b Fb(16)2025 1482 y Fd(asn1_parser2array)14 b Fa(:)j(:)c(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)29 b Fb(8)2025 1569 y Fd(asn1_parser2tree)17
+b Fa(:)f(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)32
+b Fb(8)2025 1656 y Fd(asn1_perror)10 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(22)2025
+1743 y Fd(asn1_print_structure)h Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
+b Fb(10)2025 1831 y Fd(asn1_read_node_value)26 b Fa(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(15)2025 1918 y Fd(asn1_read_tag)25
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
+b Fb(15)2025 2005 y Fd(asn1_read_value)17 b Fa(:)g(:)c(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(13)2025 2092 y Fd(asn1_read_value_type)
+26 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(14)2025 2179
+y Fd(asn1_strerror)25 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)37 b Fb(22)2025 2267 y Fd(asn1_write_value)15
+b Fa(:)h(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)29 b
+Fb(11)p eop end
%%Trailer
userdict /end-hook known{end-hook}if
diff --git a/doc/libtasn1.texi b/doc/libtasn1.texi
index 7fabd21..6f86f0a 100644
--- a/doc/libtasn1.texi
+++ b/doc/libtasn1.texi
@@ -15,7 +15,7 @@ This manual is for GNU Libtasn1
which is a library for Abstract Syntax Notation One (ASN.1) and
Distinguished Encoding Rules (DER) manipulation.
-Copyright @copyright{} 2001-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 2001-2019 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
diff --git a/doc/man/asn1_array2tree.3 b/doc/man/asn1_array2tree.3
index 90120e0..e85cfca 100644
--- a/doc/man/asn1_array2tree.3
+++ b/doc/man/asn1_array2tree.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_array2tree" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_array2tree" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_array2tree \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_bit_der.3 b/doc/man/asn1_bit_der.3
index 9f1553f..9309c75 100644
--- a/doc/man/asn1_bit_der.3
+++ b/doc/man/asn1_bit_der.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_bit_der" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_bit_der" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_bit_der \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_check_version.3 b/doc/man/asn1_check_version.3
index 4d567af..5d348ec 100644
--- a/doc/man/asn1_check_version.3
+++ b/doc/man/asn1_check_version.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_check_version" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_check_version" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_check_version \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_copy_node.3 b/doc/man/asn1_copy_node.3
index 45dbb94..0f3e560 100644
--- a/doc/man/asn1_copy_node.3
+++ b/doc/man/asn1_copy_node.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_copy_node" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_copy_node" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_copy_node \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_create_element.3 b/doc/man/asn1_create_element.3
index 31ec7d6..75f090e 100644
--- a/doc/man/asn1_create_element.3
+++ b/doc/man/asn1_create_element.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_create_element" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_create_element" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_create_element \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_decode_simple_ber.3 b/doc/man/asn1_decode_simple_ber.3
index ee34c13..f4e9545 100644
--- a/doc/man/asn1_decode_simple_ber.3
+++ b/doc/man/asn1_decode_simple_ber.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_decode_simple_ber" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_decode_simple_ber" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_decode_simple_ber \- API function
.SH SYNOPSIS
@@ -20,7 +20,7 @@ the length of the data
.IP "unsigned int * ber_len" 12
the total length occupied by BER (may be \fBNULL\fP)
.SH "DESCRIPTION"
-Decodes a BER encoded type. The output is an allocated value
+Decodes a BER encoded type. The output is an allocated value
of the data. This decodes BER STRINGS only. Other types are
decoded as DER.
.SH "RETURNS"
diff --git a/doc/man/asn1_decode_simple_der.3 b/doc/man/asn1_decode_simple_der.3
index 4b2a831..63afecb 100644
--- a/doc/man/asn1_decode_simple_der.3
+++ b/doc/man/asn1_decode_simple_der.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_decode_simple_der" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_decode_simple_der" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_decode_simple_der \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_delete_element.3 b/doc/man/asn1_delete_element.3
index 7925087..9f20521 100644
--- a/doc/man/asn1_delete_element.3
+++ b/doc/man/asn1_delete_element.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_delete_element" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_delete_element" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_delete_element \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_delete_structure.3 b/doc/man/asn1_delete_structure.3
index 7b15c2a..da4d69e 100644
--- a/doc/man/asn1_delete_structure.3
+++ b/doc/man/asn1_delete_structure.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_delete_structure" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_delete_structure" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_delete_structure \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_delete_structure2.3 b/doc/man/asn1_delete_structure2.3
index c1e1b26..c92f32f 100644
--- a/doc/man/asn1_delete_structure2.3
+++ b/doc/man/asn1_delete_structure2.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_delete_structure2" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_delete_structure2" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_delete_structure2 \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_der_coding.3 b/doc/man/asn1_der_coding.3
index 7880f70..2e7d196 100644
--- a/doc/man/asn1_der_coding.3
+++ b/doc/man/asn1_der_coding.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_der_coding" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_der_coding" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_der_coding \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_der_decoding.3 b/doc/man/asn1_der_decoding.3
index 84cd185..ca5db75 100644
--- a/doc/man/asn1_der_decoding.3
+++ b/doc/man/asn1_der_decoding.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_der_decoding" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_der_decoding" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_der_decoding \- API function
.SH SYNOPSIS
@@ -19,7 +19,7 @@ error occurred.
.SH "DESCRIPTION"
Fill the structure * \fIelement\fP with values of a DER encoding
string. The structure must just be created with function
-\fBasn1_create_element()\fP.
+\fBasn1_create_element()\fP.
Note that the * \fIelement\fP variable is provided as a pointer for
historical reasons.
diff --git a/doc/man/asn1_der_decoding2.3 b/doc/man/asn1_der_decoding2.3
index d88bc21..6468b15 100644
--- a/doc/man/asn1_der_decoding2.3
+++ b/doc/man/asn1_der_decoding2.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_der_decoding2" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_der_decoding2" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_der_decoding2 \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_der_decoding_element.3 b/doc/man/asn1_der_decoding_element.3
index 7c020de..08f007d 100644
--- a/doc/man/asn1_der_decoding_element.3
+++ b/doc/man/asn1_der_decoding_element.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_der_decoding_element" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_der_decoding_element" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_der_decoding_element \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_der_decoding_startEnd.3 b/doc/man/asn1_der_decoding_startEnd.3
index 1974fa4..7cbf616 100644
--- a/doc/man/asn1_der_decoding_startEnd.3
+++ b/doc/man/asn1_der_decoding_startEnd.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_der_decoding_startEnd" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_der_decoding_startEnd" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_der_decoding_startEnd \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_dup_node.3 b/doc/man/asn1_dup_node.3
index 5a86b2e..d0d67b2 100644
--- a/doc/man/asn1_dup_node.3
+++ b/doc/man/asn1_dup_node.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_dup_node" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_dup_node" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_dup_node \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_encode_simple_der.3 b/doc/man/asn1_encode_simple_der.3
index 62c2a25..0af0904 100644
--- a/doc/man/asn1_encode_simple_der.3
+++ b/doc/man/asn1_encode_simple_der.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_encode_simple_der" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_encode_simple_der" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_encode_simple_der \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_expand_any_defined_by.3 b/doc/man/asn1_expand_any_defined_by.3
index aa0e79e..df13a21 100644
--- a/doc/man/asn1_expand_any_defined_by.3
+++ b/doc/man/asn1_expand_any_defined_by.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_expand_any_defined_by" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_expand_any_defined_by" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_expand_any_defined_by \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_expand_octet_string.3 b/doc/man/asn1_expand_octet_string.3
index 8cc34a7..173645c 100644
--- a/doc/man/asn1_expand_octet_string.3
+++ b/doc/man/asn1_expand_octet_string.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_expand_octet_string" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_expand_octet_string" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_expand_octet_string \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_find_node.3 b/doc/man/asn1_find_node.3
index eb61677..8ef20e0 100644
--- a/doc/man/asn1_find_node.3
+++ b/doc/man/asn1_find_node.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_find_node" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_find_node" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_find_node \- API function
.SH SYNOPSIS
@@ -13,7 +13,7 @@ NODE_ASN element pointer.
null terminated string with the element's name to find.
.SH "DESCRIPTION"
Searches for an element called \fIname\fP starting from \fIpointer\fP . The
-name is composed by differents identifiers separated by dots. When
+name is composed by different identifiers separated by dots. When
* \fIpointer\fP has a name, the first identifier must be the name of
* \fIpointer\fP , otherwise it must be the name of one child of * \fIpointer\fP .
.SH "RETURNS"
diff --git a/doc/man/asn1_find_structure_from_oid.3 b/doc/man/asn1_find_structure_from_oid.3
index 0e71339..d850500 100644
--- a/doc/man/asn1_find_structure_from_oid.3
+++ b/doc/man/asn1_find_structure_from_oid.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_find_structure_from_oid" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_find_structure_from_oid" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_find_structure_from_oid \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_get_bit_der.3 b/doc/man/asn1_get_bit_der.3
index 9e60ea8..8b40416 100644
--- a/doc/man/asn1_get_bit_der.3
+++ b/doc/man/asn1_get_bit_der.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_get_bit_der" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_get_bit_der" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_get_bit_der \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_get_length_ber.3 b/doc/man/asn1_get_length_ber.3
index 289ae44..ba2d0ba 100644
--- a/doc/man/asn1_get_length_ber.3
+++ b/doc/man/asn1_get_length_ber.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_get_length_ber" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_get_length_ber" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_get_length_ber \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_get_length_der.3 b/doc/man/asn1_get_length_der.3
index b2157af..7a396ab 100644
--- a/doc/man/asn1_get_length_der.3
+++ b/doc/man/asn1_get_length_der.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_get_length_der" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_get_length_der" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_get_length_der \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_get_object_id_der.3 b/doc/man/asn1_get_object_id_der.3
index fdef87a..35dd4b6 100644
--- a/doc/man/asn1_get_object_id_der.3
+++ b/doc/man/asn1_get_object_id_der.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_get_object_id_der" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_get_object_id_der" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_get_object_id_der \- API function
.SH SYNOPSIS
@@ -18,7 +18,8 @@ Pre\-allocated output buffer to put the textual object id in.
.IP "int str_size" 12
Length of pre\-allocated output buffer.
.SH "DESCRIPTION"
-Converts a DER encoded object identifier to its textual form.
+Converts a DER encoded object identifier to its textual form. This
+function expects the DER object identifier without the tag.
.SH "RETURNS"
\fBASN1_SUCCESS\fP on success, or an error.
.SH COPYRIGHT
diff --git a/doc/man/asn1_get_octet_der.3 b/doc/man/asn1_get_octet_der.3
index 22fe3d8..8180a42 100644
--- a/doc/man/asn1_get_octet_der.3
+++ b/doc/man/asn1_get_octet_der.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_get_octet_der" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_get_octet_der" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_get_octet_der \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_get_tag_der.3 b/doc/man/asn1_get_tag_der.3
index c39ca94..88c882c 100644
--- a/doc/man/asn1_get_tag_der.3
+++ b/doc/man/asn1_get_tag_der.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_get_tag_der" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_get_tag_der" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_get_tag_der \- API function
.SH SYNOPSIS
@@ -16,7 +16,7 @@ Output variable containing decoded class.
.IP "int * len" 12
Output variable containing the length of the DER TAG data.
.IP "unsigned long * tag" 12
-Output variable containing the decoded tag.
+Output variable containing the decoded tag (may be \fBNULL\fP).
.SH "DESCRIPTION"
Decode the class and TAG from DER code.
.SH "RETURNS"
diff --git a/doc/man/asn1_length_der.3 b/doc/man/asn1_length_der.3
index 6bae394..b8646b1 100644
--- a/doc/man/asn1_length_der.3
+++ b/doc/man/asn1_length_der.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_length_der" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_length_der" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_length_der \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_number_of_elements.3 b/doc/man/asn1_number_of_elements.3
index 414d293..86fe2d1 100644
--- a/doc/man/asn1_number_of_elements.3
+++ b/doc/man/asn1_number_of_elements.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_number_of_elements" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_number_of_elements" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_number_of_elements \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_octet_der.3 b/doc/man/asn1_octet_der.3
index 1f40633..6f0233d 100644
--- a/doc/man/asn1_octet_der.3
+++ b/doc/man/asn1_octet_der.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_octet_der" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_octet_der" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_octet_der \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_parser2array.3 b/doc/man/asn1_parser2array.3
index 38929fc..0b718b6 100644
--- a/doc/man/asn1_parser2array.3
+++ b/doc/man/asn1_parser2array.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_parser2array" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_parser2array" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_parser2array \- API function
.SH SYNOPSIS
@@ -27,7 +27,7 @@ included in \fIinputFileName\fP file. If \fIinputFileName\fP is
will be "xx_asn1_tab".
.SH "RETURNS"
\fBASN1_SUCCESS\fP if the file has a correct syntax and every
-identifier is known, \fBASN1_FILE_NOT_FOUND\fP if an error occured
+identifier is known, \fBASN1_FILE_NOT_FOUND\fP if an error occurred
while opening \fIinputFileName\fP , \fBASN1_SYNTAX_ERROR\fP if the syntax is
not correct, \fBASN1_IDENTIFIER_NOT_FOUND\fP if in the file there is
an identifier that is not defined, \fBASN1_NAME_TOO_LONG\fP if in the
diff --git a/doc/man/asn1_parser2tree.3 b/doc/man/asn1_parser2tree.3
index c29b411..361db5c 100644
--- a/doc/man/asn1_parser2tree.3
+++ b/doc/man/asn1_parser2tree.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_parser2tree" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_parser2tree" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_parser2tree \- API function
.SH SYNOPSIS
@@ -22,7 +22,7 @@ needed to manage the definitions included in \fIfile\fP file.
.SH "RETURNS"
\fBASN1_SUCCESS\fP if the file has a correct syntax and every
identifier is known, \fBASN1_ELEMENT_NOT_EMPTY\fP if \fIdefinitions\fP not
-\fBNULL\fP, \fBASN1_FILE_NOT_FOUND\fP if an error occured while
+\fBNULL\fP, \fBASN1_FILE_NOT_FOUND\fP if an error occurred while
opening \fIfile\fP , \fBASN1_SYNTAX_ERROR\fP if the syntax is not
correct, \fBASN1_IDENTIFIER_NOT_FOUND\fP if in the file there is an
identifier that is not defined, \fBASN1_NAME_TOO_LONG\fP if in the
diff --git a/doc/man/asn1_perror.3 b/doc/man/asn1_perror.3
index 7dd11ba..12b47f6 100644
--- a/doc/man/asn1_perror.3
+++ b/doc/man/asn1_perror.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_perror" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_perror" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_perror \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_print_structure.3 b/doc/man/asn1_print_structure.3
index f259828..32cb706 100644
--- a/doc/man/asn1_print_structure.3
+++ b/doc/man/asn1_print_structure.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_print_structure" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_print_structure" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_print_structure \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_read_node_value.3 b/doc/man/asn1_read_node_value.3
index 590d1ac..5ba1925 100644
--- a/doc/man/asn1_read_node_value.3
+++ b/doc/man/asn1_read_node_value.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_read_node_value" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_read_node_value" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_read_node_value \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_read_tag.3 b/doc/man/asn1_read_tag.3
index c9c967d..2ab97cd 100644
--- a/doc/man/asn1_read_tag.3
+++ b/doc/man/asn1_read_tag.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_read_tag" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_read_tag" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_read_tag \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_read_value.3 b/doc/man/asn1_read_value.3
index 49f8ce4..62ebe39 100644
--- a/doc/man/asn1_read_value.3
+++ b/doc/man/asn1_read_value.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_read_value" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_read_value" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_read_value \- API function
.SH SYNOPSIS
@@ -18,7 +18,7 @@ pointer to memory cells already allocated (may be \fBNULL\fP).
number of bytes of *value: value[0]..value[len\-1]. Initialy
holds the sizeof value.
.SH "DESCRIPTION"
-Returns the value of one element inside a structure.
+Returns the value of one element inside a structure.
If an element is OPTIONAL and this returns
\fBASN1_ELEMENT_NOT_FOUND\fP, it means that this element wasn't present
in the der encoding that created the structure. The first element
@@ -72,7 +72,8 @@ encoding of the structure actually used.
\fBASN1_VALUE_NOT_FOUND\fP if there isn't any value for the element
selected, and \fBASN1_MEM_ERROR\fP if The value vector isn't big enough
to store the result, and in this case \fIlen\fP will contain the number of
-bytes needed.
+bytes needed. On the occasion that the stored data are of zero\-length
+this function may return \fBASN1_SUCCESS\fP even if the provided \fIlen\fP is zero.
.SH COPYRIGHT
Copyright \(co 2006-2015 Free Software Foundation, Inc..
.br
diff --git a/doc/man/asn1_read_value_type.3 b/doc/man/asn1_read_value_type.3
index 8cb2ec9..e147c85 100644
--- a/doc/man/asn1_read_value_type.3
+++ b/doc/man/asn1_read_value_type.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_read_value_type" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_read_value_type" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_read_value_type \- API function
.SH SYNOPSIS
@@ -20,7 +20,7 @@ holds the sizeof value.
.IP "unsigned int * etype" 12
The type of the value read (ASN1_ETYPE)
.SH "DESCRIPTION"
-Returns the type and value of one element inside a structure.
+Returns the type and value of one element inside a structure.
If an element is OPTIONAL and this returns
\fBASN1_ELEMENT_NOT_FOUND\fP, it means that this element wasn't present
in the der encoding that created the structure. The first element
@@ -74,7 +74,8 @@ encoding of the structure actually used.
\fBASN1_VALUE_NOT_FOUND\fP if there isn't any value for the element
selected, and \fBASN1_MEM_ERROR\fP if The value vector isn't big enough
to store the result, and in this case \fIlen\fP will contain the number of
-bytes needed.
+bytes needed. On the occasion that the stored data are of zero\-length
+this function may return \fBASN1_SUCCESS\fP even if the provided \fIlen\fP is zero.
.SH COPYRIGHT
Copyright \(co 2006-2015 Free Software Foundation, Inc..
.br
diff --git a/doc/man/asn1_strerror.3 b/doc/man/asn1_strerror.3
index 9c33edd..4d1840e 100644
--- a/doc/man/asn1_strerror.3
+++ b/doc/man/asn1_strerror.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_strerror" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_strerror" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_strerror \- API function
.SH SYNOPSIS
diff --git a/doc/man/asn1_write_value.3 b/doc/man/asn1_write_value.3
index bd35336..f560ef1 100644
--- a/doc/man/asn1_write_value.3
+++ b/doc/man/asn1_write_value.3
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "asn1_write_value" 3 "4.8" "libtasn1" "libtasn1"
+.TH "asn1_write_value" 3 "4.13" "libtasn1" "libtasn1"
.SH NAME
asn1_write_value \- API function
.SH SYNOPSIS
diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
index c3a1def..ef6bf98 100644
--- a/doc/reference/Makefile.am
+++ b/doc/reference/Makefile.am
@@ -1,7 +1,28 @@
-## Process this file with automake to produce Makefile.in
-
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
+# -*- mode: makefile -*-
+#
+# Makefile.am - template makefile for gtk-doc module
+# Copyright (C) 2007-2017 Stefan Sauer
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception, the above copyright owner gives unlimited
+# permission to copy, distribute and modify this Makefile.am template.
+# You need not follow the terms of the GNU General Public License when
+# using or distributing such Makefile.am files, even though portions of
+# the text of the Makefile.am appear in them. The GNU General Public
+# License (GPL) does govern all other use of the material that constitutes
+# the Makefile.am template.
# This is a blank Makefile.am for using gtk-doc.
# Copy this to your project's API docs directory and modify the variables to
@@ -14,9 +35,8 @@ DOC_MODULE=$(PACKAGE)
# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
#DOC_MODULE_VERSION=2
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+# The top-level XML file.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
# Directories containing the source code.
# gtk-doc will search all .c and .h files beneath these paths
@@ -24,25 +44,21 @@ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
DOC_SOURCE_DIR=$(top_srcdir)/lib
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+# Extra options to pass to gtkdoc-scangobj. Normally not needed.
SCANGOBJ_OPTIONS=
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
SCAN_OPTIONS=--ignore-decorators=ASN1_API
-# Extra options to supply to gtkdoc-mkdb.
+# Extra options to supply to gtkdoc-mkdb
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
MKDB_OPTIONS=--xml-mode --output-format=xml
-# Extra options to supply to gtkdoc-mktmpl
-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
-MKTMPL_OPTIONS=
-
# Extra options to supply to gtkdoc-mkhtml
MKHTML_OPTIONS=
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# Extra options to supply to gtkdoc-fixref. Normally not needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
FIXXREF_OPTIONS=
@@ -64,13 +80,12 @@ IGNORE_HFILES=element.h gstr.h int.h parser_aux.h structure.h gllib
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
HTML_IMAGES=
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+# Extra files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.xml building.xml changes-2.0.xml
content_files=
-# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
+# Files where gtk-doc abbrevations (#GtkWidget) are expanded
+# e.g. expand_content_files=running.xml
expand_content_files=
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
@@ -84,19 +99,10 @@ GTKDOC_LIBS=
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST +=
-
-# Files not to distribute
-# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
-# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
-#DISTCLEANFILES +=
-
-# Comment this out if you want 'make check' to test you doc status
+# Comment this out if you don't want 'make check' to test you doc status
# and run some sanity checks
if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = cd $(srcdir) && \
+TESTS_ENVIRONMENT = \
DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
#TESTS = $(GTKDOC_CHECK)
diff --git a/doc/reference/Makefile.in b/doc/reference/Makefile.in
index cac282f..4bdd9b2 100644
--- a/doc/reference/Makefile.in
+++ b/doc/reference/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,6 +15,55 @@
@SET_MAKE@
# -*- mode: makefile -*-
+#
+# Makefile.am - template makefile for gtk-doc module
+# Copyright (C) 2007-2017 Stefan Sauer
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception, the above copyright owner gives unlimited
+# permission to copy, distribute and modify this Makefile.am template.
+# You need not follow the terms of the GNU General Public License when
+# using or distributing such Makefile.am files, even though portions of
+# the text of the Makefile.am appear in them. The GNU General Public
+# License (GPL) does govern all other use of the material that constitutes
+# the Makefile.am template.
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# -*- mode: makefile -*-
+#
+# gtk-doc.make - make rules for gtk-doc
+# Copyright (C) 2003 James Henstridge
+# 2004-2007 Damon Chaplin
+# 2007-2017 Stefan Sauer
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
####################################
# Everything below here is generic #
@@ -95,62 +144,43 @@ build_triplet = @build@
host_triplet = @host@
subdir = doc/reference
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/glm4/gnulib-comp.m4 \
- $(top_srcdir)/lib/glm4/ld-version-script.m4 \
- $(top_srcdir)/lib/glm4/minmax.m4 \
- $(top_srcdir)/lib/glm4/string_h.m4 \
- $(top_srcdir)/lib/glm4/strverscmp.m4 \
- $(top_srcdir)/lib/glm4/visibility.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/absolute-header.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 \
- $(top_srcdir)/gl/m4/clock_time.m4 \
- $(top_srcdir)/gl/m4/errno_h.m4 \
- $(top_srcdir)/gl/m4/extensions.m4 \
- $(top_srcdir)/gl/m4/extern-inline.m4 \
- $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \
- $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \
- $(top_srcdir)/gl/m4/getopt.m4 $(top_srcdir)/gl/m4/gettime.m4 \
- $(top_srcdir)/gl/m4/gettimeofday.m4 \
- $(top_srcdir)/gl/m4/gnulib-common.m4 \
- $(top_srcdir)/gl/m4/gnulib-comp.m4 \
- $(top_srcdir)/gl/m4/include_next.m4 \
- $(top_srcdir)/gl/m4/largefile.m4 \
- $(top_srcdir)/gl/m4/limits-h.m4 \
- $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
- $(top_srcdir)/gl/m4/malloc.m4 \
- $(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/msvc-inval.m4 \
- $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
- $(top_srcdir)/gl/m4/multiarch.m4 \
- $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
- $(top_srcdir)/gl/m4/read-file.m4 \
- $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
- $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
- $(top_srcdir)/gl/m4/stdlib_h.m4 \
- $(top_srcdir)/gl/m4/sys_socket_h.m4 \
- $(top_srcdir)/gl/m4/sys_stat_h.m4 \
- $(top_srcdir)/gl/m4/sys_time_h.m4 \
- $(top_srcdir)/gl/m4/sys_types_h.m4 \
- $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/timespec.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
- $(top_srcdir)/gl/m4/valgrind-tests.m4 \
- $(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warn-on-use.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
- $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/m4/update-header-version.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \
+ $(top_srcdir)/m4/ax_ac_print_to_file.m4 \
+ $(top_srcdir)/m4/ax_add_am_macro_static.m4 \
+ $(top_srcdir)/m4/ax_am_macros_static.m4 \
+ $(top_srcdir)/m4/ax_check_gnu_make.m4 \
+ $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/ax_file_escapes.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4-gl/00gnulib.m4 \
+ $(top_srcdir)/m4-gl/__inline.m4 \
+ $(top_srcdir)/m4-gl/absolute-header.m4 \
+ $(top_srcdir)/m4-gl/extensions.m4 \
+ $(top_srcdir)/m4-gl/extern-inline.m4 \
+ $(top_srcdir)/m4-gl/gnulib-common.m4 \
+ $(top_srcdir)/m4-gl/gnulib-comp.m4 \
+ $(top_srcdir)/m4-gl/include_next.m4 \
+ $(top_srcdir)/m4-gl/ld-version-script.m4 \
+ $(top_srcdir)/m4-gl/limits-h.m4 \
+ $(top_srcdir)/m4-gl/longlong.m4 $(top_srcdir)/m4-gl/minmax.m4 \
+ $(top_srcdir)/m4-gl/multiarch.m4 $(top_srcdir)/m4-gl/off_t.m4 \
+ $(top_srcdir)/m4-gl/ssize_t.m4 $(top_srcdir)/m4-gl/stddef_h.m4 \
+ $(top_srcdir)/m4-gl/stdint.m4 $(top_srcdir)/m4-gl/string_h.m4 \
+ $(top_srcdir)/m4-gl/strverscmp.m4 \
+ $(top_srcdir)/m4-gl/sys_types_h.m4 \
+ $(top_srcdir)/m4-gl/valgrind-tests.m4 \
+ $(top_srcdir)/m4-gl/visibility.m4 \
+ $(top_srcdir)/m4-gl/warn-on-use.m4 \
+ $(top_srcdir)/m4-gl/wchar_t.m4 $(top_srcdir)/m4-gl/wint_t.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = version.xml
+CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -172,8 +202,7 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/version.xml.in \
- $(top_srcdir)/gtk-doc.make
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/gtk-doc.make
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -182,6 +211,10 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARFLAGS = @ARFLAGS@
AS = @AS@
+ASN1_VERSION_MAJOR = @ASN1_VERSION_MAJOR@
+ASN1_VERSION_MINOR = @ASN1_VERSION_MINOR@
+ASN1_VERSION_NUMBER = @ASN1_VERSION_NUMBER@
+ASN1_VERSION_PATCH = @ASN1_VERSION_PATCH@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -195,6 +228,11 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
+CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
@@ -208,86 +246,13 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETOPT_H = @GETOPT_H@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
-GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
-GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
-GNULIB_GRANTPT = @GNULIB_GRANTPT@
-GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
GNULIB_MBSCHR = @GNULIB_MBSCHR@
@@ -302,66 +267,12 @@ GNULIB_MBSSEP = @GNULIB_MBSSEP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_QSORT_R = @GNULIB_QSORT_R@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
@@ -373,196 +284,55 @@ GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_ATOLL = @HAVE_ATOLL@
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
-HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
-HAVE_CHOWN = @HAVE_CHOWN@
-HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
-HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
-HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
-HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
-HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
-HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
-HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
-HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_DUP3 = @HAVE_DUP3@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FACCESSAT = @HAVE_FACCESSAT@
-HAVE_FCHDIR = @HAVE_FCHDIR@
-HAVE_FCHMODAT = @HAVE_FCHMODAT@
-HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
-HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSTATAT = @HAVE_FSTATAT@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_FUTIMENS = @HAVE_FUTIMENS@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETGROUPS = @HAVE_GETGROUPS@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETLOGIN = @HAVE_GETLOGIN@
-HAVE_GETOPT_H = @HAVE_GETOPT_H@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GRANTPT = @HAVE_GRANTPT@
-HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDIRAT = @HAVE_MKDIRAT@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_MKFIFO = @HAVE_MKFIFO@
-HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
-HAVE_MKNOD = @HAVE_MKNOD@
-HAVE_MKNODAT = @HAVE_MKNODAT@
-HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
-HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
-HAVE_MKSTEMP = @HAVE_MKSTEMP@
-HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
-HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
-HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_PCLOSE = @HAVE_PCLOSE@
-HAVE_PIPE = @HAVE_PIPE@
-HAVE_PIPE2 = @HAVE_PIPE2@
-HAVE_POPEN = @HAVE_POPEN@
-HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
-HAVE_PREAD = @HAVE_PREAD@
-HAVE_PTSNAME = @HAVE_PTSNAME@
-HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
-HAVE_PWRITE = @HAVE_PWRITE@
-HAVE_QSORT_R = @HAVE_QSORT_R@
-HAVE_RANDOM = @HAVE_RANDOM@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALPATH = @HAVE_REALPATH@
-HAVE_RENAMEAT = @HAVE_RENAMEAT@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
-HAVE_SLEEP = @HAVE_SLEEP@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYMLINK = @HAVE_SYMLINK@
-HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_TIMEGM = @HAVE_TIMEGM@
-HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNLINKAT = @HAVE_UNLINKAT@
-HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_USLEEP = @HAVE_USLEEP@
-HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
HAVE_WCHAR_T = @HAVE_WCHAR_T@
-HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
-HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
INCLUDE_NEXT = @INCLUDE_NEXT@
@@ -572,52 +342,34 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
LD = @LD@
LDFLAGS = @LDFLAGS@
-LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
LIBTOOL = @LIBTOOL@
-LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIMITS_H = @LIMITS_H@
LIPO = @LIPO@
LN_S = @LN_S@
-LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
-NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
-NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
-NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
-NEXT_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_LIMITS_H = @NEXT_LIMITS_H@
-NEXT_STDARG_H = @NEXT_STDARG_H@
NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
-NEXT_TIME_H = @NEXT_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
@@ -633,91 +385,13 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
-PMCCABE = @PMCCABE@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
-REPLACE_CALLOC = @REPLACE_CALLOC@
-REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_DUP = @REPLACE_DUP@
-REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FDOPEN = @REPLACE_FDOPEN@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FSTAT = @REPLACE_FSTAT@
-REPLACE_FSTATAT = @REPLACE_FSTATAT@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
-REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETDELIM = @REPLACE_GETDELIM@
-REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
-REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
-REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
-REPLACE_GMTIME = @REPLACE_GMTIME@
-REPLACE_ISATTY = @REPLACE_ISATTY@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LINK = @REPLACE_LINK@
-REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
-REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
-REPLACE_MBTOWC = @REPLACE_MBTOWC@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKFIFO = @REPLACE_MKFIFO@
-REPLACE_MKNOD = @REPLACE_MKNOD@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_MKTIME = @REPLACE_MKTIME@
-REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NULL = @REPLACE_NULL@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_POPEN = @REPLACE_POPEN@
-REPLACE_PREAD = @REPLACE_PREAD@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PTSNAME = @REPLACE_PTSNAME@
-REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_PWRITE = @REPLACE_PWRITE@
-REPLACE_QSORT_R = @REPLACE_QSORT_R@
-REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
-REPLACE_READ = @REPLACE_READ@
-REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_READLINKAT = @REPLACE_READLINKAT@
-REPLACE_REALLOC = @REPLACE_REALLOC@
-REPLACE_REALPATH = @REPLACE_REALPATH@
-REPLACE_REMOVE = @REPLACE_REMOVE@
-REPLACE_RENAME = @REPLACE_RENAME@
-REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
-REPLACE_RMDIR = @REPLACE_RMDIR@
-REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SLEEP = @REPLACE_SLEEP@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STAT = @REPLACE_STAT@
-REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
@@ -729,48 +403,22 @@ REPLACE_STRNDUP = @REPLACE_STRNDUP@
REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
-REPLACE_SYMLINK = @REPLACE_SYMLINK@
-REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
-REPLACE_TIMEGM = @REPLACE_TIMEGM@
-REPLACE_TMPFILE = @REPLACE_TMPFILE@
-REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
-REPLACE_UNLINK = @REPLACE_UNLINK@
-REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
-REPLACE_UNSETENV = @REPLACE_UNSETENV@
-REPLACE_USLEEP = @REPLACE_USLEEP@
-REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCTOMB = @REPLACE_WCTOMB@
-REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDARG_H = @STDARG_H@
STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
-SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
-UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
-UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
-UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
-WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
YACC = @YACC@
YFLAGS = @YFLAGS@
@@ -809,14 +457,11 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
+ifGNUmake = @ifGNUmake@
+ifnGNUmake = @ifnGNUmake@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
-lgl_LIBOBJS = @lgl_LIBOBJS@
-lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
-lgltests_LIBOBJS = @lgltests_LIBOBJS@
-lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
-lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
@@ -838,22 +483,14 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# This is a blank Makefile.am for using gtk-doc.
-# Copy this to your project's API docs directory and modify the variables to
-# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
-# of using the various options.
-
# The name of the module, e.g. 'glib'.
DOC_MODULE = $(PACKAGE)
# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
#DOC_MODULE_VERSION=2
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml
+# The top-level XML file.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
# Directories containing the source code.
# gtk-doc will search all .c and .h files beneath these paths
@@ -861,25 +498,21 @@ DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml
# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
DOC_SOURCE_DIR = $(top_srcdir)/lib
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+# Extra options to pass to gtkdoc-scangobj. Normally not needed.
SCANGOBJ_OPTIONS =
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
SCAN_OPTIONS = --ignore-decorators=ASN1_API
-# Extra options to supply to gtkdoc-mkdb.
+# Extra options to supply to gtkdoc-mkdb
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
MKDB_OPTIONS = --xml-mode --output-format=xml
-# Extra options to supply to gtkdoc-mktmpl
-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
-MKTMPL_OPTIONS =
-
# Extra options to supply to gtkdoc-mkhtml
MKHTML_OPTIONS =
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# Extra options to supply to gtkdoc-fixref. Normally not needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
FIXXREF_OPTIONS =
@@ -901,13 +534,12 @@ IGNORE_HFILES = element.h gstr.h int.h parser_aux.h structure.h gllib
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
HTML_IMAGES =
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+# Extra files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.xml building.xml changes-2.0.xml
content_files =
-# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
+# Files where gtk-doc abbrevations (#GtkWidget) are expanded
+# e.g. expand_content_files=running.xml
expand_content_files =
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
@@ -933,19 +565,18 @@ GPATH = $(srcdir)
TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
SETUP_FILES = \
$(content_files) \
+ $(expand_content_files) \
$(DOC_MAIN_SGML_FILE) \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
+EXTRA_DIST = \
+ $(HTML_IMAGES) \
+ $(SETUP_FILES)
-# This includes the standard gtk-doc make rules, copied by gtkdocize.
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
-DOC_STAMPS = setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
+DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
html-build.stamp pdf-build.stamp \
- tmpl.stamp sgml.stamp html.stamp pdf.stamp
+ sgml.stamp html.stamp pdf.stamp
SCANOBJ_FILES = \
$(DOC_MODULE).args \
@@ -959,20 +590,48 @@ REPORT_FILES = \
$(DOC_MODULE)-undeclared.txt \
$(DOC_MODULE)-unused.txt
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
+@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
+@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
+@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
+@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
-# Files not to distribute
-# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
-# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
-#DISTCLEANFILES +=
+#### setup ####
+GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_@AM_V@)
+GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_@AM_DEFAULT_V@)
+GTK_DOC_V_SETUP_0 = @echo " DOC Preparing build";
+
+#### scan ####
+GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_@AM_V@)
+GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_@AM_DEFAULT_V@)
+GTK_DOC_V_SCAN_0 = @echo " DOC Scanning header files";
+GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_@AM_V@)
+GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_@AM_DEFAULT_V@)
+GTK_DOC_V_INTROSPECT_0 = @echo " DOC Introspecting gobjects";
+
+#### xml ####
+GTK_DOC_V_XML = $(GTK_DOC_V_XML_@AM_V@)
+GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_@AM_DEFAULT_V@)
+GTK_DOC_V_XML_0 = @echo " DOC Building XML";
+
+#### html ####
+GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_@AM_V@)
+GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_@AM_DEFAULT_V@)
+GTK_DOC_V_HTML_0 = @echo " DOC Building HTML";
+GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_@AM_V@)
+GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_@AM_DEFAULT_V@)
+GTK_DOC_V_XREF_0 = @echo " DOC Fixing cross-references";
-# Comment this out if you want 'make check' to test you doc status
+#### pdf ####
+GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_@AM_V@)
+GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_@AM_DEFAULT_V@)
+GTK_DOC_V_PDF_0 = @echo " DOC Building PDF";
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+
+# Comment this out if you don't want 'make check' to test you doc status
# and run some sanity checks
-@ENABLE_GTK_DOC_TRUE@TESTS_ENVIRONMENT = cd $(srcdir) && \
+@ENABLE_GTK_DOC_TRUE@TESTS_ENVIRONMENT = \
@ENABLE_GTK_DOC_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
@ENABLE_GTK_DOC_TRUE@ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
@@ -988,16 +647,16 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__c
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/reference/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/reference/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu doc/reference/Makefile
+ $(AUTOMAKE) --foreign doc/reference/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_srcdir)/gtk-doc.make $(am__empty):
@@ -1009,8 +668,6 @@ $(top_srcdir)/configure: $(am__configure_deps)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
-rm -f *.lo
@@ -1024,7 +681,10 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -1059,6 +719,7 @@ distdir: $(DISTFILES)
dist-hook
check-am: all-am
check: check-am
+@ENABLE_GTK_DOC_FALSE@all-local:
all-am: Makefile all-local
installdirs:
install: install-am
@@ -1178,133 +839,113 @@ uninstall-am: uninstall-local
.PRECIOUS: Makefile
-@ENABLE_GTK_DOC_TRUE@all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-@ENABLE_GTK_DOC_FALSE@all-local:
+gtkdoc-check.test: Makefile
+ $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
+ echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
+ chmod +x $@
+
+all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+.PHONY: all-gtk-doc
+
+@ENABLE_GTK_DOC_TRUE@all-local: all-gtk-doc
docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
$(REPORT_FILES): sgml-build.stamp
-#### setup ####
-
setup-build.stamp:
- -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- echo ' DOC Preparing build'; \
- files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- test -f $(abs_srcdir)/$$file && \
- cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
- done; \
- fi; \
- test -d $(abs_srcdir)/tmpl && \
- { cp -rp $(abs_srcdir)/tmpl $(abs_builddir)/; \
- chmod -R u+w $(abs_builddir)/tmpl; } \
+ -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ destdir=`dirname $(abs_builddir)/$$file`; \
+ test -d "$$destdir" || mkdir -p "$$destdir"; \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+ done; \
+ fi; \
fi
- @touch setup-build.stamp
-
-#### scan ####
+ $(AM_V_at)touch setup-build.stamp
-scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
- @echo ' DOC Scanning header files'
- @_source_dir='' ; \
+scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
+ $(GTK_DOC_V_SCAN)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
done ; \
gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
- @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- echo " DOC Introspecting gobjects"; \
- scanobj_options=""; \
- gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$(?)" = "0"; then \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
+ $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$$?" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
fi; \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
fi
- @touch scan-build.stamp
+ $(AM_V_at)touch scan-build.stamp
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
@true
-#### templates ####
-
-tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
- @echo ' DOC Rebuilding template files'
- @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- if test -w $(abs_srcdir) ; then \
- cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
- fi \
- fi
- @touch tmpl-build.stamp
-
-tmpl.stamp: tmpl-build.stamp
- @true
-
-$(srcdir)/tmpl/*.sgml:
- @true
-
-#### xml ####
-
-sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
- @echo ' DOC Building XML'
- @-chmod -R u+w $(srcdir)
- @_source_dir='' ; \
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
+ $(GTK_DOC_V_XML)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
done ; \
gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
- @touch sgml-build.stamp
+ $(AM_V_at)touch sgml-build.stamp
sgml.stamp: sgml-build.stamp
@true
-#### html ####
+$(DOC_MAIN_SGML_FILE): sgml-build.stamp
+ @true
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @echo ' DOC Building HTML'
- @rm -rf html
- @mkdir html
- @mkhtml_options=""; \
+xml/gtkdocentities.ent: Makefile
+ $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
+ echo "<!ENTITY package \"$(PACKAGE)\">"; \
+ echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
+ echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
+ echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
+ echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
+ echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
+ echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
+ ) > $@
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+ $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
+ mkhtml_options=""; \
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$(?)" = "0"; then \
+ if test "$$?" = "0"; then \
if test "x$(V)" = "x1"; then \
mkhtml_options="$$mkhtml_options --verbose"; \
fi; \
fi; \
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
- if test "$(?)" = "0"; then \
+ if test "$$?" = "0"; then \
mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
fi; \
cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
-@test "x$(HTML_IMAGES)" = "x" || \
for file in $(HTML_IMAGES) ; do \
- if test -f $(abs_srcdir)/$$file ; then \
- cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- fi; \
- if test -f $(abs_builddir)/$$file ; then \
- cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- fi; \
+ test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ test -f $$file && cp $$file $(abs_builddir)/html; \
done;
- @echo ' DOC Fixing cross-references'
- @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
- @touch html-build.stamp
-
-#### pdf ####
+ $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ $(AM_V_at)touch html-build.stamp
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @echo ' DOC Building PDF'
- @rm -f $(DOC_MODULE).pdf
- @mkpdf_options=""; \
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+ $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
+ mkpdf_options=""; \
gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$(?)" = "0"; then \
+ if test "$$?" = "0"; then \
if test "x$(V)" = "x1"; then \
mkpdf_options="$$mkpdf_options --verbose"; \
fi; \
@@ -1319,23 +960,28 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
done; \
fi; \
gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
- @touch pdf-build.stamp
+ $(AM_V_at)touch pdf-build.stamp
##############
clean-local:
@rm -f *~ *.bak
@rm -rf .libs
+ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
+ rm -f $(DOC_MODULE).types; \
+ fi
+ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
+ rm -f $(DOC_MODULE)-sections.txt; \
+ fi
distclean-local:
@rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
$(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
- rm -rf tmpl; \
+ rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
fi
-maintainer-clean-local: clean
+maintainer-clean-local:
@rm -rf xml html
install-data-local:
@@ -1371,15 +1017,15 @@ uninstall-local:
#
# Require gtk-doc when making dist
#
-@ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc:
-@ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc:
-@ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist"
-@ENABLE_GTK_DOC_FALSE@ @false
-
-dist-hook: dist-check-gtkdoc dist-hook-local
- @mkdir $(distdir)/tmpl
+@HAVE_GTK_DOC_TRUE@dist-check-gtkdoc: docs
+@HAVE_GTK_DOC_FALSE@dist-check-gtkdoc:
+@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc is needed to run 'make dist'. ***"
+@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc was not found when 'configure' ran. ***"
+@HAVE_GTK_DOC_FALSE@ @echo "*** please install gtk-doc and rerun 'configure'. ***"
+@HAVE_GTK_DOC_FALSE@ @false
+
+dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
@mkdir $(distdir)/html
- @-cp ./tmpl/*.sgml $(distdir)/tmpl
@cp ./html/* $(distdir)/html
@-cp ./$(DOC_MODULE).pdf $(distdir)/
@-cp ./$(DOC_MODULE).types $(distdir)/
diff --git a/doc/reference/html/ix03.html b/doc/reference/html/api-index-1-6.html
index ffd51d7..f91ff0d 100644
--- a/doc/reference/html/ix03.html
+++ b/doc/reference/html/api-index-1-6.html
@@ -2,13 +2,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.6: GNU Libtasn1 API Reference Manual</title>
+<title>Index of new API in 1.6: GNU Libtasn1 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="up" href="index.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="prev" href="ix02.html" title="Index of deprecated symbols">
-<link rel="next" href="ix04.html" title="Index of new symbols in 2.0">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="prev" href="deprecated-api-index.html" title="Index of deprecated API">
+<link rel="next" href="api-index-2-0.html" title="Index of new API in 2.0">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -16,15 +16,15 @@
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="ix02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="ix04.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="deprecated-api-index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-2-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
-<a name="id-1.5"></a>Index of new symbols in 1.6</h1></div></div></div>
-<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"></div>
+<a name="api-index-1-6"></a>Index of new API in 1.6</h1></div></div></div>
+<a name="idx"></a>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.28</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/ix04.html b/doc/reference/html/api-index-2-0.html
index 316a9f9..961c1bb 100644
--- a/doc/reference/html/ix04.html
+++ b/doc/reference/html/api-index-2-0.html
@@ -2,12 +2,12 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 2.0: GNU Libtasn1 API Reference Manual</title>
+<title>Index of new API in 2.0: GNU Libtasn1 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="up" href="index.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="prev" href="ix03.html" title="Index of new symbols in 1.6">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="prev" href="api-index-1-6.html" title="Index of new API in 1.6">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -15,15 +15,15 @@
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="ix03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="api-index-1-6.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
-<a name="id-1.6"></a>Index of new symbols in 2.0</h1></div></div></div>
-<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"></div>
+<a name="api-index-2-0"></a>Index of new API in 2.0</h1></div></div></div>
+<a name="idx"></a>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.28</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/api-index-full.html b/doc/reference/html/api-index-full.html
index 066e19e..8f25b51 100644
--- a/doc/reference/html/api-index-full.html
+++ b/doc/reference/html/api-index-full.html
@@ -2,13 +2,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>API Index: GNU Libtasn1 API Reference Manual</title>
+<title>API Index: GNU Libtasn1 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="up" href="index.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="prev" href="libtasn1-libtasn1.html" title="libtasn1">
-<link rel="next" href="ix02.html" title="Index of deprecated symbols">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="prev" href="object-tree.html" title="Object Hierarchy">
+<link rel="next" href="deprecated-api-index.html" title="Index of deprecated API">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -40,8 +40,8 @@
<a class="shortcut" href="#idxV">V</a></span></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="libtasn1-libtasn1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="ix02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="object-tree.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="deprecated-api-index.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
@@ -254,6 +254,10 @@
<a class="link" href="libtasn1-libtasn1.html#ASN1-TAG-VISIBLE-STRING:CAPS" title="ASN1_TAG_VISIBLE_STRING">ASN1_TAG_VISIBLE_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-TIME-ENCODING-ERROR:CAPS" title="ASN1_TIME_ENCODING_ERROR">ASN1_TIME_ENCODING_ERROR</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
<a name="idxV"></a><h3 class="title">V</h3>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-VALUE-NOT-FOUND:CAPS" title="ASN1_VALUE_NOT_FOUND">ASN1_VALUE_NOT_FOUND</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
@@ -269,6 +273,6 @@
<dd></dd>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.28</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/intro.html b/doc/reference/html/ch01.html
index aadd9b2..130512e 100644
--- a/doc/reference/html/intro.html
+++ b/doc/reference/html/ch01.html
@@ -2,13 +2,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GNU Libtasn1 API Reference Manual: GNU Libtasn1 API Reference Manual</title>
+<title>GNU Libtasn1 API Reference Manual: GNU Libtasn1 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="up" href="index.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="prev" href="index.html" title="GNU Libtasn1 API Reference Manual">
+<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="prev" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="next" href="libtasn1-libtasn1.html" title="libtasn1">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -21,9 +21,9 @@
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h1 class="title">
-<a name="intro"></a>GNU Libtasn1 API Reference Manual</h1></div></div></div>
+<a name="id-1.2"></a>GNU Libtasn1 API Reference Manual</h1></div></div></div>
<div class="toc"><dl class="toc"><dt>
-<span class="refentrytitle"><a href="libtasn1-libtasn1.html">libtasn1</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libtasn1-libtasn1.html">libtasn1</a></span><span class="refpurpose"> — GNU ASN.1 library</span>
</dt></dl></div>
<p>
This document describes the GNU Libtasn1 library developed for
@@ -37,6 +37,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.28</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/ix02.html b/doc/reference/html/deprecated-api-index.html
index dc6a585..de6e230 100644
--- a/doc/reference/html/ix02.html
+++ b/doc/reference/html/deprecated-api-index.html
@@ -2,13 +2,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of deprecated symbols: GNU Libtasn1 API Reference Manual</title>
+<title>Index of deprecated API: GNU Libtasn1 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="up" href="index.html" title="GNU Libtasn1 API Reference Manual">
+<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="prev" href="api-index-full.html" title="API Index">
-<link rel="next" href="ix03.html" title="Index of new symbols in 1.6">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="next" href="api-index-1-6.html" title="Index of new API in 1.6">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -17,14 +17,14 @@
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="ix03.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="api-index-1-6.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
-<a name="id-1.4"></a>Index of deprecated symbols</h1></div></div></div>
-<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"></div>
+<a name="deprecated-api-index"></a>Index of deprecated API</h1></div></div></div>
+<a name="idx"></a>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.28</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/home.png b/doc/reference/html/home.png
index c989d46..e80e202 100644
--- a/doc/reference/html/home.png
+++ b/doc/reference/html/home.png
Binary files differ
diff --git a/doc/reference/html/index.html b/doc/reference/html/index.html
index a799e43..e91eeb4 100644
--- a/doc/reference/html/index.html
+++ b/doc/reference/html/index.html
@@ -2,21 +2,20 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GNU Libtasn1 API Reference Manual: GNU Libtasn1 API Reference Manual</title>
+<title>GNU Libtasn1 Reference Manual: GNU Libtasn1 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="next" href="intro.html" title="GNU Libtasn1 API Reference Manual">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="next" href="ch01.html" title="GNU Libtasn1 API Reference Manual">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="book">
<div class="titlepage">
<div>
-<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GNU Libtasn1 API Reference Manual</p></th></tr></table></div>
+<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GNU Libtasn1 Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GNU Libtasn1 4.10
-.
+ for GNU Libtasn1 4.14.
The latest version of this documentation can be found on-line at
<a class="ulink" href="https://www.gnu.org/software/libtasn1/reference/" target="_top">https://www.gnu.org/software/libtasn1/reference/</a>.
</p></div>
@@ -24,17 +23,18 @@
<hr>
</div>
<div class="toc"><dl class="toc">
-<dt><span class="chapter"><a href="intro.html">GNU Libtasn1 API Reference Manual</a></span></dt>
+<dt><span class="chapter"><a href="ch01.html">GNU Libtasn1 API Reference Manual</a></span></dt>
<dd><dl><dt>
-<span class="refentrytitle"><a href="libtasn1-libtasn1.html">libtasn1</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libtasn1-libtasn1.html">libtasn1</a></span><span class="refpurpose"> — GNU ASN.1 library</span>
</dt></dl></dd>
+<dt><span class="chapter"><a href="object-tree.html">Object Hierarchy</a></span></dt>
<dt><span class="index"><a href="api-index-full.html">API Index</a></span></dt>
-<dt><span class="index"><a href="ix02.html">Index of deprecated symbols</a></span></dt>
-<dt><span class="index"><a href="ix03.html">Index of new symbols in 1.6</a></span></dt>
-<dt><span class="index"><a href="ix04.html">Index of new symbols in 2.0</a></span></dt>
+<dt><span class="index"><a href="deprecated-api-index.html">Index of deprecated API</a></span></dt>
+<dt><span class="index"><a href="api-index-1-6.html">Index of new API in 1.6</a></span></dt>
+<dt><span class="index"><a href="api-index-2-0.html">Index of new API in 2.0</a></span></dt>
</dl></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.28</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/left-insensitive.png b/doc/reference/html/left-insensitive.png
index b1148fb..fea007e 100644
--- a/doc/reference/html/left-insensitive.png
+++ b/doc/reference/html/left-insensitive.png
Binary files differ
diff --git a/doc/reference/html/left.png b/doc/reference/html/left.png
index c164913..193905f 100644
--- a/doc/reference/html/left.png
+++ b/doc/reference/html/left.png
Binary files differ
diff --git a/doc/reference/html/libtasn1-libtasn1.html b/doc/reference/html/libtasn1-libtasn1.html
index 6ae8d41..f0ae073 100644
--- a/doc/reference/html/libtasn1-libtasn1.html
+++ b/doc/reference/html/libtasn1-libtasn1.html
@@ -2,13 +2,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>libtasn1: GNU Libtasn1 API Reference Manual</title>
+<title>libtasn1: GNU Libtasn1 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="up" href="intro.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="prev" href="intro.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="next" href="api-index-full.html" title="API Index">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="up" href="ch01.html" title="GNU Libtasn1 API Reference Manual">
+<link rel="prev" href="ch01.html" title="GNU Libtasn1 API Reference Manual">
+<link rel="next" href="object-tree.html" title="Object Hierarchy">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -18,16 +18,16 @@
<a href="#libtasn1-libtasn1.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="intro.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="object-tree.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="libtasn1-libtasn1"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libtasn1-libtasn1.top_of_page"></a>libtasn1</span></h2>
-<p>libtasn1</p>
+<p>libtasn1 — GNU ASN.1 library</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
@@ -121,6 +121,10 @@
</tr>
<tr>
<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-TIME-ENCODING-ERROR:CAPS" title="ASN1_TIME_ENCODING_ERROR">ASN1_TIME_ENCODING_ERROR</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-PRINT-NAME:CAPS" title="ASN1_PRINT_NAME">ASN1_PRINT_NAME</a></td>
</tr>
<tr>
@@ -252,8 +256,10 @@
</div>
<div class="refsect1">
<a name="libtasn1-libtasn1.description"></a><h2>Description</h2>
-<p>
-</p>
+<p>The Libtasn1 library provides Abstract Syntax Notation One (ASN.1, as
+specified by the X.680 ITU-T recommendation) parsing and structures
+management, and Distinguished Encoding Rules (DER, as per X.690)
+encoding and decoding functions.</p>
</div>
<div class="refsect1">
<a name="libtasn1-libtasn1.functions_details"></a><h2>Functions</h2>
@@ -265,420 +271,327 @@
<a name="ASN1-API:CAPS"></a><h3>ASN1_API</h3>
<pre class="programlisting">#define ASN1_API __attribute__((__visibility__("default")))
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-VERSION:CAPS"></a><h3>ASN1_VERSION</h3>
-<pre class="programlisting">#define ASN1_VERSION "4.10"
+<pre class="programlisting">#define ASN1_VERSION "4.14"
</pre>
-<p>
-</p>
+<p>Version of the library as a string.</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-SUCCESS:CAPS"></a><h3>ASN1_SUCCESS</h3>
<pre class="programlisting">#define ASN1_SUCCESS 0
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-FILE-NOT-FOUND:CAPS"></a><h3>ASN1_FILE_NOT_FOUND</h3>
<pre class="programlisting">#define ASN1_FILE_NOT_FOUND 1
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-ELEMENT-NOT-FOUND:CAPS"></a><h3>ASN1_ELEMENT_NOT_FOUND</h3>
<pre class="programlisting">#define ASN1_ELEMENT_NOT_FOUND 2
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-IDENTIFIER-NOT-FOUND:CAPS"></a><h3>ASN1_IDENTIFIER_NOT_FOUND</h3>
<pre class="programlisting">#define ASN1_IDENTIFIER_NOT_FOUND 3
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-DER-ERROR:CAPS"></a><h3>ASN1_DER_ERROR</h3>
<pre class="programlisting">#define ASN1_DER_ERROR 4
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-VALUE-NOT-FOUND:CAPS"></a><h3>ASN1_VALUE_NOT_FOUND</h3>
<pre class="programlisting">#define ASN1_VALUE_NOT_FOUND 5
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-GENERIC-ERROR:CAPS"></a><h3>ASN1_GENERIC_ERROR</h3>
<pre class="programlisting">#define ASN1_GENERIC_ERROR 6
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-VALUE-NOT-VALID:CAPS"></a><h3>ASN1_VALUE_NOT_VALID</h3>
<pre class="programlisting">#define ASN1_VALUE_NOT_VALID 7
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-ERROR:CAPS"></a><h3>ASN1_TAG_ERROR</h3>
<pre class="programlisting">#define ASN1_TAG_ERROR 8
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-IMPLICIT:CAPS"></a><h3>ASN1_TAG_IMPLICIT</h3>
<pre class="programlisting">#define ASN1_TAG_IMPLICIT 9
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-ERROR-TYPE-ANY:CAPS"></a><h3>ASN1_ERROR_TYPE_ANY</h3>
<pre class="programlisting">#define ASN1_ERROR_TYPE_ANY 10
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-SYNTAX-ERROR:CAPS"></a><h3>ASN1_SYNTAX_ERROR</h3>
<pre class="programlisting">#define ASN1_SYNTAX_ERROR 11
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-MEM-ERROR:CAPS"></a><h3>ASN1_MEM_ERROR</h3>
<pre class="programlisting">#define ASN1_MEM_ERROR 12
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-MEM-ALLOC-ERROR:CAPS"></a><h3>ASN1_MEM_ALLOC_ERROR</h3>
<pre class="programlisting">#define ASN1_MEM_ALLOC_ERROR 13
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-DER-OVERFLOW:CAPS"></a><h3>ASN1_DER_OVERFLOW</h3>
<pre class="programlisting">#define ASN1_DER_OVERFLOW 14
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-NAME-TOO-LONG:CAPS"></a><h3>ASN1_NAME_TOO_LONG</h3>
<pre class="programlisting">#define ASN1_NAME_TOO_LONG 15
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-ARRAY-ERROR:CAPS"></a><h3>ASN1_ARRAY_ERROR</h3>
<pre class="programlisting">#define ASN1_ARRAY_ERROR 16
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-ELEMENT-NOT-EMPTY:CAPS"></a><h3>ASN1_ELEMENT_NOT_EMPTY</h3>
<pre class="programlisting">#define ASN1_ELEMENT_NOT_EMPTY 17
</pre>
-<p>
-</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-TIME-ENCODING-ERROR:CAPS"></a><h3>ASN1_TIME_ENCODING_ERROR</h3>
+<pre class="programlisting">#define ASN1_TIME_ENCODING_ERROR 18
+</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-PRINT-NAME:CAPS"></a><h3>ASN1_PRINT_NAME</h3>
<pre class="programlisting">#define ASN1_PRINT_NAME 1
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-PRINT-NAME-TYPE:CAPS"></a><h3>ASN1_PRINT_NAME_TYPE</h3>
<pre class="programlisting">#define ASN1_PRINT_NAME_TYPE 2
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-PRINT-NAME-TYPE-VALUE:CAPS"></a><h3>ASN1_PRINT_NAME_TYPE_VALUE</h3>
<pre class="programlisting">#define ASN1_PRINT_NAME_TYPE_VALUE 3
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-PRINT-ALL:CAPS"></a><h3>ASN1_PRINT_ALL</h3>
<pre class="programlisting">#define ASN1_PRINT_ALL 4
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-CLASS-UNIVERSAL:CAPS"></a><h3>ASN1_CLASS_UNIVERSAL</h3>
<pre class="programlisting">#define ASN1_CLASS_UNIVERSAL 0x00 /* old: 1 */
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-CLASS-APPLICATION:CAPS"></a><h3>ASN1_CLASS_APPLICATION</h3>
<pre class="programlisting">#define ASN1_CLASS_APPLICATION 0x40 /* old: 2 */
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-CLASS-CONTEXT-SPECIFIC:CAPS"></a><h3>ASN1_CLASS_CONTEXT_SPECIFIC</h3>
<pre class="programlisting">#define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 /* old: 3 */
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-CLASS-PRIVATE:CAPS"></a><h3>ASN1_CLASS_PRIVATE</h3>
<pre class="programlisting">#define ASN1_CLASS_PRIVATE 0xC0 /* old: 4 */
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-CLASS-STRUCTURED:CAPS"></a><h3>ASN1_CLASS_STRUCTURED</h3>
<pre class="programlisting">#define ASN1_CLASS_STRUCTURED 0x20
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-BOOLEAN:CAPS"></a><h3>ASN1_TAG_BOOLEAN</h3>
<pre class="programlisting">#define ASN1_TAG_BOOLEAN 0x01
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-INTEGER:CAPS"></a><h3>ASN1_TAG_INTEGER</h3>
<pre class="programlisting">#define ASN1_TAG_INTEGER 0x02
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-SEQUENCE:CAPS"></a><h3>ASN1_TAG_SEQUENCE</h3>
<pre class="programlisting">#define ASN1_TAG_SEQUENCE 0x10
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-SET:CAPS"></a><h3>ASN1_TAG_SET</h3>
<pre class="programlisting">#define ASN1_TAG_SET 0x11
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-OCTET-STRING:CAPS"></a><h3>ASN1_TAG_OCTET_STRING</h3>
<pre class="programlisting">#define ASN1_TAG_OCTET_STRING 0x04
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-BIT-STRING:CAPS"></a><h3>ASN1_TAG_BIT_STRING</h3>
<pre class="programlisting">#define ASN1_TAG_BIT_STRING 0x03
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-UTCTime"></a><h3>ASN1_TAG_UTCTime</h3>
<pre class="programlisting">#define ASN1_TAG_UTCTime 0x17
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-GENERALIZEDTime"></a><h3>ASN1_TAG_GENERALIZEDTime</h3>
<pre class="programlisting">#define ASN1_TAG_GENERALIZEDTime 0x18
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-OBJECT-ID:CAPS"></a><h3>ASN1_TAG_OBJECT_ID</h3>
<pre class="programlisting">#define ASN1_TAG_OBJECT_ID 0x06
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-ENUMERATED:CAPS"></a><h3>ASN1_TAG_ENUMERATED</h3>
<pre class="programlisting">#define ASN1_TAG_ENUMERATED 0x0A
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-NULL:CAPS"></a><h3>ASN1_TAG_NULL</h3>
<pre class="programlisting">#define ASN1_TAG_NULL 0x05
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-GENERALSTRING:CAPS"></a><h3>ASN1_TAG_GENERALSTRING</h3>
<pre class="programlisting">#define ASN1_TAG_GENERALSTRING 0x1B
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-NUMERIC-STRING:CAPS"></a><h3>ASN1_TAG_NUMERIC_STRING</h3>
<pre class="programlisting">#define ASN1_TAG_NUMERIC_STRING 0x12
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-IA5-STRING:CAPS"></a><h3>ASN1_TAG_IA5_STRING</h3>
<pre class="programlisting">#define ASN1_TAG_IA5_STRING 0x16
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-TELETEX-STRING:CAPS"></a><h3>ASN1_TAG_TELETEX_STRING</h3>
<pre class="programlisting">#define ASN1_TAG_TELETEX_STRING 0x14
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-PRINTABLE-STRING:CAPS"></a><h3>ASN1_TAG_PRINTABLE_STRING</h3>
<pre class="programlisting">#define ASN1_TAG_PRINTABLE_STRING 0x13
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-UNIVERSAL-STRING:CAPS"></a><h3>ASN1_TAG_UNIVERSAL_STRING</h3>
<pre class="programlisting">#define ASN1_TAG_UNIVERSAL_STRING 0x1C
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-BMP-STRING:CAPS"></a><h3>ASN1_TAG_BMP_STRING</h3>
<pre class="programlisting">#define ASN1_TAG_BMP_STRING 0x1E
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-UTF8-STRING:CAPS"></a><h3>ASN1_TAG_UTF8_STRING</h3>
<pre class="programlisting">#define ASN1_TAG_UTF8_STRING 0x0C
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-VISIBLE-STRING:CAPS"></a><h3>ASN1_TAG_VISIBLE_STRING</h3>
<pre class="programlisting">#define ASN1_TAG_VISIBLE_STRING 0x1A
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="asn1-node-st"></a><h3>asn1_node_st</h3>
-<pre class="programlisting"> typedef struct asn1_node_st asn1_node_st;
+<pre class="programlisting">typedef struct asn1_node_st asn1_node_st;
</pre>
-<p>
-</p>
</div>
<hr>
<div class="refsect2">
<a name="asn1-node"></a><h3>asn1_node</h3>
-<pre class="programlisting"> typedef asn1_node_st *asn1_node;
+<pre class="programlisting">typedef asn1_node_st *asn1_node;
</pre>
-<p>
-</p>
+<p>Structure definition used for the node of the tree
+that represents an ASN.1 DEFINITION.</p>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-MAX-NAME-SIZE:CAPS"></a><h3>ASN1_MAX_NAME_SIZE</h3>
<pre class="programlisting">#define ASN1_MAX_NAME_SIZE 64
</pre>
-<p>
-</p>
+<p>Maximum number of characters of a name
+inside a file with ASN1 definitions.</p>
</div>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.28</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/libtasn1.devhelp2 b/doc/reference/html/libtasn1.devhelp2
index dcb8a42..53e56c1 100644
--- a/doc/reference/html/libtasn1.devhelp2
+++ b/doc/reference/html/libtasn1.devhelp2
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<book xmlns="http://www.devhelp.net/book" title="GNU Libtasn1 API Reference Manual" link="index.html" author="" name="libtasn1" version="2" language="c" online="https://www.gnu.org/software/libtasn1/reference/">
+<book xmlns="http://www.devhelp.net/book" title="GNU Libtasn1 Reference Manual" link="index.html" author="" name="libtasn1" version="2" language="c" online="https://www.gnu.org/software/libtasn1/reference/">
<chapters>
- <sub name="GNU Libtasn1 API Reference Manual" link="intro.html">
+ <sub name="GNU Libtasn1 API Reference Manual" link="ch01.html">
<sub name="libtasn1" link="libtasn1-libtasn1.html"/>
</sub>
+ <sub name="Object Hierarchy" link="object-tree.html"/>
<sub name="API Index" link="api-index-full.html"/>
- <sub name="Index of deprecated symbols" link="ix02.html"/>
- <sub name="Index of new symbols in 1.6" link="ix03.html"/>
- <sub name="Index of new symbols in 2.0" link="ix04.html"/>
+ <sub name="Index of deprecated API" link="deprecated-api-index.html"/>
+ <sub name="Index of new API in 1.6" link="api-index-1-6.html"/>
+ <sub name="Index of new API in 2.0" link="api-index-2-0.html"/>
</chapters>
<functions>
<keyword type="macro" name="ASN1_API" link="libtasn1-libtasn1.html#ASN1-API:CAPS"/>
@@ -30,6 +31,7 @@
<keyword type="macro" name="ASN1_NAME_TOO_LONG" link="libtasn1-libtasn1.html#ASN1-NAME-TOO-LONG:CAPS"/>
<keyword type="macro" name="ASN1_ARRAY_ERROR" link="libtasn1-libtasn1.html#ASN1-ARRAY-ERROR:CAPS"/>
<keyword type="macro" name="ASN1_ELEMENT_NOT_EMPTY" link="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-EMPTY:CAPS"/>
+ <keyword type="macro" name="ASN1_TIME_ENCODING_ERROR" link="libtasn1-libtasn1.html#ASN1-TIME-ENCODING-ERROR:CAPS"/>
<keyword type="macro" name="ASN1_PRINT_NAME" link="libtasn1-libtasn1.html#ASN1-PRINT-NAME:CAPS"/>
<keyword type="macro" name="ASN1_PRINT_NAME_TYPE" link="libtasn1-libtasn1.html#ASN1-PRINT-NAME-TYPE:CAPS"/>
<keyword type="macro" name="ASN1_PRINT_NAME_TYPE_VALUE" link="libtasn1-libtasn1.html#ASN1-PRINT-NAME-TYPE-VALUE:CAPS"/>
diff --git a/doc/reference/html/object-tree.html b/doc/reference/html/object-tree.html
new file mode 100644
index 0000000..cc68dfa
--- /dev/null
+++ b/doc/reference/html/object-tree.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Object Hierarchy: GNU Libtasn1 Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
+<link rel="prev" href="libtasn1-libtasn1.html" title="libtasn1">
+<link rel="next" href="api-index-full.html" title="API Index">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="libtasn1-libtasn1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="object-tree"></a>Object Hierarchy</h1></div></div></div>
+<pre class="screen">
+
+</pre>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.28</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/right-insensitive.png b/doc/reference/html/right-insensitive.png
index c1efa27..ef7d866 100644
--- a/doc/reference/html/right-insensitive.png
+++ b/doc/reference/html/right-insensitive.png
Binary files differ
diff --git a/doc/reference/html/right.png b/doc/reference/html/right.png
index 83361a6..07fefed 100644
--- a/doc/reference/html/right.png
+++ b/doc/reference/html/right.png
Binary files differ
diff --git a/doc/reference/html/style.css b/doc/reference/html/style.css
index 3675420..4be4ede 100644
--- a/doc/reference/html/style.css
+++ b/doc/reference/html/style.css
@@ -30,6 +30,10 @@ body
vertical-align: top;
}
+span.nowrap {
+ white-space: nowrap;
+}
+
div.gallery-float
{
float: left;
diff --git a/doc/reference/html/up-insensitive.png b/doc/reference/html/up-insensitive.png
index 13e1a4f..99528f8 100644
--- a/doc/reference/html/up-insensitive.png
+++ b/doc/reference/html/up-insensitive.png
Binary files differ
diff --git a/doc/reference/html/up.png b/doc/reference/html/up.png
index 67a9054..aa6a2ae 100644
--- a/doc/reference/html/up.png
+++ b/doc/reference/html/up.png
Binary files differ
diff --git a/doc/reference/libtasn1-docs.sgml b/doc/reference/libtasn1-docs.xml
index 3a7f351..accdb85 100644
--- a/doc/reference/libtasn1-docs.sgml
+++ b/doc/reference/libtasn1-docs.xml
@@ -3,19 +3,20 @@
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY version SYSTEM "version.xml">
+ <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
+ %gtkdocentities;
]>
<book id="index">
<bookinfo>
- <title>GNU Libtasn1 API Reference Manual</title>
+ <title>&package_name; Reference Manual</title>
<releaseinfo>
- for GNU Libtasn1 &version;.
+ for &package_string;.
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="https://www.gnu.org/software/libtasn1/reference/">https://www.gnu.org/software/libtasn1/reference/</ulink>.
</releaseinfo>
</bookinfo>
- <chapter id="intro">
+ <chapter>
<title>GNU Libtasn1 API Reference Manual</title>
<para>
@@ -30,20 +31,30 @@
https://www.gnu.org/software/libtasn1/</ulink>.
</para>
- <xi:include href="xml/libtasn1.xml"/>
+ <xi:include href="xml/libtasn1.xml"/>
</chapter>
+ <chapter id="object-tree">
+ <title>Object Hierarchy</title>
+ <xi:include href="xml/tree_index.sgml"/>
+ </chapter>
<index id="api-index-full">
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
- <index role="deprecated">
- <title>Index of deprecated symbols</title>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
- <index role="1.6">
- <title>Index of new symbols in 1.6</title>
+ <index id="api-index-1-6" role="1.6">
+ <title>Index of new API in 1.6</title>
+ <xi:include href="xml/api-index-1.6.xml"><xi:fallback /></xi:include>
</index>
- <index role="2.0">
- <title>Index of new symbols in 2.0</title>
+ <index id="api-index-2-0" role="2.0">
+ <title>Index of new API in 2.0</title>
+ <xi:include href="xml/api-index-2.0.xml"><xi:fallback /></xi:include>
</index>
+ <!-- enable this when you use gobject introspection annotations
+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+ -->
</book>
diff --git a/doc/reference/libtasn1-sections.txt b/doc/reference/libtasn1-sections.txt
index 6708469..c9acb7b 100644
--- a/doc/reference/libtasn1-sections.txt
+++ b/doc/reference/libtasn1-sections.txt
@@ -20,6 +20,7 @@ ASN1_DER_OVERFLOW
ASN1_NAME_TOO_LONG
ASN1_ARRAY_ERROR
ASN1_ELEMENT_NOT_EMPTY
+ASN1_TIME_ENCODING_ERROR
ASN1_PRINT_NAME
ASN1_PRINT_NAME_TYPE
ASN1_PRINT_NAME_TYPE_VALUE
@@ -52,93 +53,5 @@ ASN1_TAG_VISIBLE_STRING
asn1_node_st
asn1_node
ASN1_MAX_NAME_SIZE
-asn1_static_node
-ASN1_ETYPE_INVALID
-ASN1_ETYPE_CONSTANT
-ASN1_ETYPE_IDENTIFIER
-ASN1_ETYPE_INTEGER
-ASN1_ETYPE_BOOLEAN
-ASN1_ETYPE_SEQUENCE
-ASN1_ETYPE_BIT_STRING
-ASN1_ETYPE_OCTET_STRING
-ASN1_ETYPE_TAG
-ASN1_ETYPE_DEFAULT
-ASN1_ETYPE_SIZE
-ASN1_ETYPE_SEQUENCE_OF
-ASN1_ETYPE_OBJECT_ID
-ASN1_ETYPE_ANY
-ASN1_ETYPE_SET
-ASN1_ETYPE_SET_OF
-ASN1_ETYPE_DEFINITIONS
-ASN1_ETYPE_CHOICE
-ASN1_ETYPE_IMPORTS
-ASN1_ETYPE_NULL
-ASN1_ETYPE_ENUMERATED
-ASN1_ETYPE_GENERALSTRING
-ASN1_ETYPE_NUMERIC_STRING
-ASN1_ETYPE_IA5_STRING
-ASN1_ETYPE_TELETEX_STRING
-ASN1_ETYPE_PRINTABLE_STRING
-ASN1_ETYPE_UNIVERSAL_STRING
-ASN1_ETYPE_BMP_STRING
-ASN1_ETYPE_UTF8_STRING
-ASN1_ETYPE_VISIBLE_STRING
-ASN1_ETYPE_UTC_TIME
-ASN1_ETYPE_GENERALIZED_TIME
-ASN1_DELETE_FLAG_ZEROIZE
-ASN1_DECODE_FLAG_ALLOW_PADDING
-asn1_data_node_st
-ASN1_MAX_ERROR_DESCRIPTION_SIZE
-asn1_parser2tree
-asn1_parser2array
-asn1_array2tree
-asn1_print_structure
-asn1_create_element
-asn1_delete_structure
-asn1_delete_structure2
-asn1_delete_element
-asn1_write_value
-asn1_read_value
-asn1_read_value_type
-asn1_read_node_value
-asn1_number_of_elements
-asn1_der_coding
-asn1_der_decoding2
-asn1_der_decoding
-asn1_der_decoding_element
-asn1_der_decoding_startEnd
-asn1_expand_any_defined_by
-asn1_expand_octet_string
-asn1_read_tag
-asn1_find_structure_from_oid
-asn1_check_version
-asn1_strerror
-asn1_perror
-ASN1_MAX_TAG_SIZE
-ASN1_MAX_LENGTH_SIZE
-ASN1_MAX_TL_SIZE
-asn1_get_length_der
-asn1_get_length_ber
-asn1_length_der
-asn1_decode_simple_der
-asn1_encode_simple_der
-asn1_find_node
-asn1_copy_node
-asn1_dup_node
-asn1_get_tag_der
-asn1_octet_der
-asn1_get_octet_der
-asn1_bit_der
-asn1_get_bit_der
-asn1_retCode
-node_asn_struct
-node_asn
-ASN1_TYPE
-ASN1_TYPE_EMPTY
-static_struct_asn
-ASN1_ARRAY_TYPE
-asn1_static_node_t
-node_data_struct
-ASN1_DATA_NODE
</SECTION>
diff --git a/doc/reference/tmpl/libtasn1-unused.sgml b/doc/reference/tmpl/libtasn1-unused.sgml
deleted file mode 100644
index 5f0881f..0000000
--- a/doc/reference/tmpl/libtasn1-unused.sgml
+++ /dev/null
@@ -1,693 +0,0 @@
-<!-- ##### MACRO ASN1_ARRAY_TYPE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_DATA_NODE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_DECODE_FLAG_ALLOW_PADDING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_DELETE_FLAG_ZEROIZE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_ANY ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_BIT_STRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_BMP_STRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_BOOLEAN ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_CHOICE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_CONSTANT ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_DEFAULT ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_DEFINITIONS ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_ENUMERATED ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_GENERALIZED_TIME ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_GENERALSTRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_IA5_STRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_IDENTIFIER ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_IMPORTS ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_INTEGER ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_INVALID ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_NULL ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_NUMERIC_STRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_OBJECT_ID ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_OCTET_STRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_PRINTABLE_STRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_SEQUENCE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_SEQUENCE_OF ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_SET ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_SET_OF ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_SIZE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_TAG ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_TELETEX_STRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_UNIVERSAL_STRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_UTC_TIME ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_UTF8_STRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_ETYPE_VISIBLE_STRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_MAX_ERROR_DESCRIPTION_SIZE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_MAX_LENGTH_SIZE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_MAX_TAG_SIZE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_MAX_TL_SIZE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_TYPE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_TYPE_EMPTY ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION asn1_array2tree ##### -->
-<para>
-
-</para>
-
-@array:
-@definitions:
-@errorDescription:
-@Returns:
-
-<!-- ##### FUNCTION asn1_bit_der ##### -->
-<para>
-
-</para>
-
-@str:
-@bit_len:
-@der:
-@der_len:
-
-<!-- ##### FUNCTION asn1_check_version ##### -->
-<para>
-
-</para>
-
-@req_version:
-@Returns:
-
-<!-- ##### FUNCTION asn1_copy_node ##### -->
-<para>
-
-</para>
-
-@dst:
-@dst_name:
-@src:
-@src_name:
-@Returns:
-
-<!-- ##### FUNCTION asn1_create_element ##### -->
-<para>
-
-</para>
-
-@definitions:
-@source_name:
-@element:
-@Returns:
-
-<!-- ##### TYPEDEF asn1_data_node_st ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION asn1_decode_simple_der ##### -->
-<para>
-
-</para>
-
-@etype:
-@der:
-@der_len:
-@str:
-@str_len:
-@Returns:
-
-<!-- ##### FUNCTION asn1_delete_element ##### -->
-<para>
-
-</para>
-
-@structure:
-@element_name:
-@Returns:
-
-<!-- ##### FUNCTION asn1_delete_structure ##### -->
-<para>
-
-</para>
-
-@structure:
-@Returns:
-
-<!-- ##### FUNCTION asn1_delete_structure2 ##### -->
-<para>
-
-</para>
-
-@structure:
-@flags:
-@Returns:
-
-<!-- ##### FUNCTION asn1_der_coding ##### -->
-<para>
-
-</para>
-
-@element:
-@name:
-@ider:
-@len:
-@ErrorDescription:
-@Returns:
-
-<!-- ##### FUNCTION asn1_der_decoding ##### -->
-<para>
-
-</para>
-
-@element:
-@ider:
-@len:
-@errorDescription:
-@Returns:
-
-<!-- ##### FUNCTION asn1_der_decoding2 ##### -->
-<para>
-
-</para>
-
-@element:
-@ider:
-@max_ider_len:
-@flags:
-@errorDescription:
-@Returns:
-
-<!-- ##### FUNCTION asn1_der_decoding_element ##### -->
-<para>
-
-</para>
-
-@structure:
-@elementName:
-@ider:
-@len:
-@errorDescription:
-@Returns:
-
-<!-- ##### FUNCTION asn1_der_decoding_startEnd ##### -->
-<para>
-
-</para>
-
-@element:
-@ider:
-@len:
-@name_element:
-@start:
-@end:
-@Returns:
-
-<!-- ##### FUNCTION asn1_dup_node ##### -->
-<para>
-
-</para>
-
-@src:
-@src_name:
-@Returns:
-
-<!-- ##### FUNCTION asn1_encode_simple_der ##### -->
-<para>
-
-</para>
-
-@etype:
-@str:
-@str_len:
-@tl:
-@tl_len:
-@Returns:
-
-<!-- ##### FUNCTION asn1_expand_any_defined_by ##### -->
-<para>
-
-</para>
-
-@definitions:
-@element:
-@Returns:
-
-<!-- ##### FUNCTION asn1_expand_octet_string ##### -->
-<para>
-
-</para>
-
-@definitions:
-@element:
-@octetName:
-@objectName:
-@Returns:
-
-<!-- ##### FUNCTION asn1_find_node ##### -->
-<para>
-
-</para>
-
-@pointer:
-@name:
-@Returns:
-
-<!-- ##### FUNCTION asn1_find_structure_from_oid ##### -->
-<para>
-
-</para>
-
-@definitions:
-@oidValue:
-@Returns:
-
-<!-- ##### FUNCTION asn1_get_bit_der ##### -->
-<para>
-
-</para>
-
-@der:
-@der_len:
-@ret_len:
-@str:
-@str_size:
-@bit_len:
-@Returns:
-
-<!-- ##### FUNCTION asn1_get_length_ber ##### -->
-<para>
-
-</para>
-
-@ber:
-@ber_len:
-@len:
-@Returns:
-
-<!-- ##### FUNCTION asn1_get_length_der ##### -->
-<para>
-
-</para>
-
-@der:
-@der_len:
-@len:
-@Returns:
-
-<!-- ##### FUNCTION asn1_get_octet_der ##### -->
-<para>
-
-</para>
-
-@der:
-@der_len:
-@ret_len:
-@str:
-@str_size:
-@str_len:
-@Returns:
-
-<!-- ##### FUNCTION asn1_get_tag_der ##### -->
-<para>
-
-</para>
-
-@der:
-@der_len:
-@cls:
-@len:
-@tag:
-@Returns:
-
-<!-- ##### FUNCTION asn1_length_der ##### -->
-<para>
-
-</para>
-
-@len:
-@der:
-@der_len:
-
-<!-- ##### FUNCTION asn1_number_of_elements ##### -->
-<para>
-
-</para>
-
-@element:
-@name:
-@num:
-@Returns:
-
-<!-- ##### FUNCTION asn1_octet_der ##### -->
-<para>
-
-</para>
-
-@str:
-@str_len:
-@der:
-@der_len:
-
-<!-- ##### FUNCTION asn1_parser2array ##### -->
-<para>
-
-</para>
-
-@inputFileName:
-@outputFileName:
-@vectorName:
-@error_desc:
-@Returns:
-
-<!-- ##### FUNCTION asn1_parser2tree ##### -->
-<para>
-
-</para>
-
-@file:
-@definitions:
-@error_desc:
-@Returns:
-
-<!-- ##### FUNCTION asn1_perror ##### -->
-<para>
-
-</para>
-
-@error:
-
-<!-- ##### FUNCTION asn1_print_structure ##### -->
-<para>
-
-</para>
-
-@out:
-@structure:
-@name:
-@mode:
-
-<!-- ##### FUNCTION asn1_read_node_value ##### -->
-<para>
-
-</para>
-
-@node:
-@data:
-@Returns:
-
-<!-- ##### FUNCTION asn1_read_tag ##### -->
-<para>
-
-</para>
-
-@root:
-@name:
-@tagValue:
-@classValue:
-@Returns:
-
-<!-- ##### FUNCTION asn1_read_value ##### -->
-<para>
-
-</para>
-
-@root:
-@name:
-@ivalue:
-@len:
-@Returns:
-
-<!-- ##### FUNCTION asn1_read_value_type ##### -->
-<para>
-
-</para>
-
-@root:
-@name:
-@ivalue:
-@len:
-@etype:
-@Returns:
-
-<!-- ##### TYPEDEF asn1_retCode ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### TYPEDEF asn1_static_node ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO asn1_static_node_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION asn1_strerror ##### -->
-<para>
-
-</para>
-
-@error:
-@Returns:
-
-<!-- ##### FUNCTION asn1_write_value ##### -->
-<para>
-
-</para>
-
-@node_root:
-@name:
-@ivalue:
-@len:
-@Returns:
-
-<!-- ##### MACRO node_asn ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO node_asn_struct ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO node_data_struct ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO static_struct_asn ##### -->
-<para>
-
-</para>
-
-
diff --git a/doc/reference/tmpl/libtasn1.sgml b/doc/reference/tmpl/libtasn1.sgml
deleted file mode 100644
index d8edbe4..0000000
--- a/doc/reference/tmpl/libtasn1.sgml
+++ /dev/null
@@ -1,384 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-libtasn1
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO ASN1_API ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_VERSION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_SUCCESS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_FILE_NOT_FOUND ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_ELEMENT_NOT_FOUND ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_IDENTIFIER_NOT_FOUND ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_DER_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_VALUE_NOT_FOUND ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_GENERIC_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_VALUE_NOT_VALID ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_IMPLICIT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_ERROR_TYPE_ANY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_SYNTAX_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_MEM_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_MEM_ALLOC_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_DER_OVERFLOW ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_NAME_TOO_LONG ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_ARRAY_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_ELEMENT_NOT_EMPTY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_PRINT_NAME ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_PRINT_NAME_TYPE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_PRINT_NAME_TYPE_VALUE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_PRINT_ALL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_CLASS_UNIVERSAL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_CLASS_APPLICATION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_CLASS_CONTEXT_SPECIFIC ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_CLASS_PRIVATE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_CLASS_STRUCTURED ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_BOOLEAN ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_INTEGER ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_SEQUENCE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_SET ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_OCTET_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_BIT_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_UTCTime ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_GENERALIZEDTime ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_OBJECT_ID ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_ENUMERATED ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_NULL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_GENERALSTRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_NUMERIC_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_IA5_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_TELETEX_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_PRINTABLE_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_UNIVERSAL_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_BMP_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_UTF8_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO ASN1_TAG_VISIBLE_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### TYPEDEF asn1_node_st ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### TYPEDEF asn1_node ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ASN1_MAX_NAME_SIZE ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/doc/reference/version.xml.in b/doc/reference/version.xml.in
deleted file mode 100644
index d78bda9..0000000
--- a/doc/reference/version.xml.in
+++ /dev/null
@@ -1 +0,0 @@
-@VERSION@
diff --git a/doc/stamp-vti b/doc/stamp-vti
index d8ea4a0..68715d6 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,4 +1,4 @@
-@set UPDATED 4 April 2016
-@set UPDATED-MONTH April 2016
-@set EDITION 4.13
-@set VERSION 4.13
+@set UPDATED 29 March 2019
+@set UPDATED-MONTH March 2019
+@set EDITION 4.14
+@set VERSION 4.14
diff --git a/doc/texi/ASN1.c.texi b/doc/texi/ASN1.c.texi
index 5b6b08a..6c2dc1d 100644
--- a/doc/texi/ASN1.c.texi
+++ b/doc/texi/ASN1.c.texi
@@ -15,7 +15,7 @@ needed to manage the definitions included in @code{file} file.
@strong{Returns:} @code{ASN1_SUCCESS} if the file has a correct syntax and every
identifier is known, @code{ASN1_ELEMENT_NOT_EMPTY} if @code{definitions} not
-@code{NULL} , @code{ASN1_FILE_NOT_FOUND} if an error occured while
+@code{NULL} , @code{ASN1_FILE_NOT_FOUND} if an error occurred while
opening @code{file} , @code{ASN1_SYNTAX_ERROR} if the syntax is not
correct, @code{ASN1_IDENTIFIER_NOT_FOUND} if in the file there is an
identifier that is not defined, @code{ASN1_NAME_TOO_LONG} if in the
@@ -45,7 +45,7 @@ included in @code{inputFileName} file. If @code{inputFileName} is
will be "xx_asn1_tab".
@strong{Returns:} @code{ASN1_SUCCESS} if the file has a correct syntax and every
-identifier is known, @code{ASN1_FILE_NOT_FOUND} if an error occured
+identifier is known, @code{ASN1_FILE_NOT_FOUND} if an error occurred
while opening @code{inputFileName} , @code{ASN1_SYNTAX_ERROR} if the syntax is
not correct, @code{ASN1_IDENTIFIER_NOT_FOUND} if in the file there is
an identifier that is not defined, @code{ASN1_NAME_TOO_LONG} if in the
diff --git a/doc/texi/asn1_decode_simple_ber.texi b/doc/texi/asn1_decode_simple_ber.texi
index c992986..3163a16 100644
--- a/doc/texi/asn1_decode_simple_ber.texi
+++ b/doc/texi/asn1_decode_simple_ber.texi
@@ -13,7 +13,7 @@
@var{ber_len}: the total length occupied by BER (may be @code{NULL} )
-Decodes a BER encoded type. The output is an allocated value
+Decodes a BER encoded type. The output is an allocated value
of the data. This decodes BER STRINGS only. Other types are
decoded as DER.
diff --git a/doc/texi/asn1_der_decoding.texi b/doc/texi/asn1_der_decoding.texi
index ff3574d..ec83535 100644
--- a/doc/texi/asn1_der_decoding.texi
+++ b/doc/texi/asn1_der_decoding.texi
@@ -12,7 +12,7 @@ error occurred.
Fill the structure * @code{element} with values of a DER encoding
string. The structure must just be created with function
-@code{asn1_create_element()} .
+@code{asn1_create_element()} .
Note that the * @code{element} variable is provided as a pointer for
historical reasons.
diff --git a/doc/texi/asn1_find_node.texi b/doc/texi/asn1_find_node.texi
index e5be7c4..9ff06f1 100644
--- a/doc/texi/asn1_find_node.texi
+++ b/doc/texi/asn1_find_node.texi
@@ -6,7 +6,7 @@
@var{name}: null terminated string with the element's name to find.
Searches for an element called @code{name} starting from @code{pointer} . The
-name is composed by differents identifiers separated by dots. When
+name is composed by different identifiers separated by dots. When
* @code{pointer} has a name, the first identifier must be the name of
* @code{pointer} , otherwise it must be the name of one child of * @code{pointer} .
diff --git a/doc/texi/asn1_get_object_id_der.texi b/doc/texi/asn1_get_object_id_der.texi
index a9ef147..8f541e8 100644
--- a/doc/texi/asn1_get_object_id_der.texi
+++ b/doc/texi/asn1_get_object_id_der.texi
@@ -11,7 +11,8 @@
@var{str_size}: Length of pre-allocated output buffer.
-Converts a DER encoded object identifier to its textual form.
+Converts a DER encoded object identifier to its textual form. This
+function expects the DER object identifier without the tag.
@strong{Returns:} @code{ASN1_SUCCESS} on success, or an error.
@end deftypefun
diff --git a/doc/texi/asn1_get_tag_der.texi b/doc/texi/asn1_get_tag_der.texi
index a63ad3b..34fcd54 100644
--- a/doc/texi/asn1_get_tag_der.texi
+++ b/doc/texi/asn1_get_tag_der.texi
@@ -9,7 +9,7 @@
@var{len}: Output variable containing the length of the DER TAG data.
-@var{tag}: Output variable containing the decoded tag.
+@var{tag}: Output variable containing the decoded tag (may be @code{NULL} ).
Decode the class and TAG from DER code.
diff --git a/doc/texi/asn1_parser2array.texi b/doc/texi/asn1_parser2array.texi
index d345e73..84c9012 100644
--- a/doc/texi/asn1_parser2array.texi
+++ b/doc/texi/asn1_parser2array.texi
@@ -20,7 +20,7 @@ included in @code{inputFileName} file. If @code{inputFileName} is
will be "xx_asn1_tab".
@strong{Returns:} @code{ASN1_SUCCESS} if the file has a correct syntax and every
-identifier is known, @code{ASN1_FILE_NOT_FOUND} if an error occured
+identifier is known, @code{ASN1_FILE_NOT_FOUND} if an error occurred
while opening @code{inputFileName} , @code{ASN1_SYNTAX_ERROR} if the syntax is
not correct, @code{ASN1_IDENTIFIER_NOT_FOUND} if in the file there is
an identifier that is not defined, @code{ASN1_NAME_TOO_LONG} if in the
diff --git a/doc/texi/asn1_parser2tree.texi b/doc/texi/asn1_parser2tree.texi
index c545fe6..5087cd2 100644
--- a/doc/texi/asn1_parser2tree.texi
+++ b/doc/texi/asn1_parser2tree.texi
@@ -15,7 +15,7 @@ needed to manage the definitions included in @code{file} file.
@strong{Returns:} @code{ASN1_SUCCESS} if the file has a correct syntax and every
identifier is known, @code{ASN1_ELEMENT_NOT_EMPTY} if @code{definitions} not
-@code{NULL} , @code{ASN1_FILE_NOT_FOUND} if an error occured while
+@code{NULL} , @code{ASN1_FILE_NOT_FOUND} if an error occurred while
opening @code{file} , @code{ASN1_SYNTAX_ERROR} if the syntax is not
correct, @code{ASN1_IDENTIFIER_NOT_FOUND} if in the file there is an
identifier that is not defined, @code{ASN1_NAME_TOO_LONG} if in the
diff --git a/doc/texi/asn1_read_value.texi b/doc/texi/asn1_read_value.texi
index b6bb18c..f1ea8b6 100644
--- a/doc/texi/asn1_read_value.texi
+++ b/doc/texi/asn1_read_value.texi
@@ -11,7 +11,7 @@ pointer to memory cells already allocated (may be @code{NULL} ).
@var{len}: number of bytes of *value: value[0]..value[len-1]. Initialy
holds the sizeof value.
-Returns the value of one element inside a structure.
+Returns the value of one element inside a structure.
If an element is OPTIONAL and this returns
@code{ASN1_ELEMENT_NOT_FOUND} , it means that this element wasn't present
in the der encoding that created the structure. The first element
@@ -65,6 +65,7 @@ encoding of the structure actually used.
@code{ASN1_VALUE_NOT_FOUND} if there isn't any value for the element
selected, and @code{ASN1_MEM_ERROR} if The value vector isn't big enough
to store the result, and in this case @code{len} will contain the number of
-bytes needed.
+bytes needed. On the occasion that the stored data are of zero-length
+this function may return @code{ASN1_SUCCESS} even if the provided @code{len} is zero.
@end deftypefun
diff --git a/doc/texi/asn1_read_value_type.texi b/doc/texi/asn1_read_value_type.texi
index 8f50f4e..9393761 100644
--- a/doc/texi/asn1_read_value_type.texi
+++ b/doc/texi/asn1_read_value_type.texi
@@ -13,7 +13,7 @@ holds the sizeof value.
@var{etype}: The type of the value read (ASN1_ETYPE)
-Returns the type and value of one element inside a structure.
+Returns the type and value of one element inside a structure.
If an element is OPTIONAL and this returns
@code{ASN1_ELEMENT_NOT_FOUND} , it means that this element wasn't present
in the der encoding that created the structure. The first element
@@ -67,6 +67,7 @@ encoding of the structure actually used.
@code{ASN1_VALUE_NOT_FOUND} if there isn't any value for the element
selected, and @code{ASN1_MEM_ERROR} if The value vector isn't big enough
to store the result, and in this case @code{len} will contain the number of
-bytes needed.
+bytes needed. On the occasion that the stored data are of zero-length
+this function may return @code{ASN1_SUCCESS} even if the provided @code{len} is zero.
@end deftypefun
diff --git a/doc/texi/decoding.c.texi b/doc/texi/decoding.c.texi
index b9a3003..2eacc3d 100644
--- a/doc/texi/decoding.c.texi
+++ b/doc/texi/decoding.c.texi
@@ -25,7 +25,7 @@ when the decoded length value plus @code{len} would exceed @code{der_len} .
@var{len}: Output variable containing the length of the DER TAG data.
-@var{tag}: Output variable containing the decoded tag.
+@var{tag}: Output variable containing the decoded tag (may be @code{NULL} ).
Decode the class and TAG from DER code.
@@ -86,7 +86,8 @@ content octets.
@var{str_size}: Length of pre-allocated output buffer.
-Converts a DER encoded object identifier to its textual form.
+Converts a DER encoded object identifier to its textual form. This
+function expects the DER object identifier without the tag.
@strong{Returns:} @code{ASN1_SUCCESS} on success, or an error.
@end deftypefun
@@ -157,7 +158,7 @@ error occurred.
Fill the structure * @code{element} with values of a DER encoding
string. The structure must just be created with function
-@code{asn1_create_element()} .
+@code{asn1_create_element()} .
Note that the * @code{element} variable is provided as a pointer for
historical reasons.
@@ -309,7 +310,7 @@ The output is a pointer inside the @code{der} .
@var{ber_len}: the total length occupied by BER (may be @code{NULL} )
-Decodes a BER encoded type. The output is an allocated value
+Decodes a BER encoded type. The output is an allocated value
of the data. This decodes BER STRINGS only. Other types are
decoded as DER.
diff --git a/doc/texi/element.c.texi b/doc/texi/element.c.texi
index 6e40405..9f793e5 100644
--- a/doc/texi/element.c.texi
+++ b/doc/texi/element.c.texi
@@ -122,7 +122,7 @@ pointer to memory cells already allocated (may be @code{NULL} ).
@var{len}: number of bytes of *value: value[0]..value[len-1]. Initialy
holds the sizeof value.
-Returns the value of one element inside a structure.
+Returns the value of one element inside a structure.
If an element is OPTIONAL and this returns
@code{ASN1_ELEMENT_NOT_FOUND} , it means that this element wasn't present
in the der encoding that created the structure. The first element
@@ -176,7 +176,8 @@ encoding of the structure actually used.
@code{ASN1_VALUE_NOT_FOUND} if there isn't any value for the element
selected, and @code{ASN1_MEM_ERROR} if The value vector isn't big enough
to store the result, and in this case @code{len} will contain the number of
-bytes needed.
+bytes needed. On the occasion that the stored data are of zero-length
+this function may return @code{ASN1_SUCCESS} even if the provided @code{len} is zero.
@end deftypefun
@subheading asn1_read_value_type
@@ -194,7 +195,7 @@ holds the sizeof value.
@var{etype}: The type of the value read (ASN1_ETYPE)
-Returns the type and value of one element inside a structure.
+Returns the type and value of one element inside a structure.
If an element is OPTIONAL and this returns
@code{ASN1_ELEMENT_NOT_FOUND} , it means that this element wasn't present
in the der encoding that created the structure. The first element
@@ -248,7 +249,8 @@ encoding of the structure actually used.
@code{ASN1_VALUE_NOT_FOUND} if there isn't any value for the element
selected, and @code{ASN1_MEM_ERROR} if The value vector isn't big enough
to store the result, and in this case @code{len} will contain the number of
-bytes needed.
+bytes needed. On the occasion that the stored data are of zero-length
+this function may return @code{ASN1_SUCCESS} even if the provided @code{len} is zero.
@end deftypefun
@subheading asn1_read_tag
diff --git a/doc/texi/parser_aux.c.texi b/doc/texi/parser_aux.c.texi
index e5be7c4..9ff06f1 100644
--- a/doc/texi/parser_aux.c.texi
+++ b/doc/texi/parser_aux.c.texi
@@ -6,7 +6,7 @@
@var{name}: null terminated string with the element's name to find.
Searches for an element called @code{name} starting from @code{pointer} . The
-name is composed by differents identifiers separated by dots. When
+name is composed by different identifiers separated by dots. When
* @code{pointer} has a name, the first identifier must be the name of
* @code{pointer} , otherwise it must be the name of one child of * @code{pointer} .
diff --git a/doc/version.texi b/doc/version.texi
index d8ea4a0..68715d6 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 4 April 2016
-@set UPDATED-MONTH April 2016
-@set EDITION 4.13
-@set VERSION 4.13
+@set UPDATED 29 March 2019
+@set UPDATED-MONTH March 2019
+@set EDITION 4.14
+@set VERSION 4.14